From 2d483d86252ac6294072e39d2b7ee0edb2cb370f Mon Sep 17 00:00:00 2001 From: Sil Date: Sun, 11 Oct 2026 01:23:50 +0200 Subject: [PATCH 1/3] Restore the original docs URLs and make React a shadcn/ui extension The Astro docs are back at /docs/, /components/ and /blocks/ as real pages, with the original home page, navigation, pagination, llms.txt and registry docs links. The short-lived /astro/ addresses redirect back to them. The React registry now holds only the 13 Fulldev extras and the 82 blocks. Standard components are plain registry dependencies that install from the official shadcn/ui registry; base, init, form, the standard component and hook copies and the example items are gone, and the docs link to shadcn/ui for standard components. The gallery keeps unchanged official sources only as private preview fixtures. Co-Authored-By: Claude Opus 5.5 --- .changeset/react-extension-urls.md | 9 + README.md | 2 +- astro.config.ts | 11 - eslint.config.js | 21 - html-validate.config.mjs | 22 +- knip.jsonc | 9 +- netlify.toml | 20 +- pnpm-lock.yaml | 877 +- pnpm-workspace.yaml | 7 + public/_redirects | 137 + public/r/accordion-examples.json | 2 +- public/r/accordion.json | 2 +- public/r/alert-dialog-examples.json | 2 +- public/r/alert-dialog.json | 2 +- public/r/alert-examples.json | 2 +- public/r/alert.json | 2 +- public/r/article-1.json | 2 +- public/r/article-2.json | 2 +- public/r/articles-1.json | 2 +- public/r/articles-2.json | 2 +- public/r/articles-3.json | 2 +- public/r/articles-4.json | 2 +- public/r/aspect-ratio-examples.json | 2 +- public/r/aspect-ratio.json | 2 +- public/r/attachment-examples.json | 2 +- public/r/attachment.json | 2 +- public/r/avatar-examples.json | 2 +- public/r/avatar.json | 2 +- public/r/badge-examples.json | 2 +- public/r/badge.json | 2 +- public/r/banner-1.json | 2 +- public/r/banner-2.json | 2 +- public/r/banner.json | 2 +- public/r/base.json | 2 +- public/r/blocks-1.json | 2 +- public/r/blocks.json | 2 +- public/r/breadcrumb-examples.json | 2 +- public/r/breadcrumb.json | 2 +- public/r/button-examples.json | 2 +- public/r/button-group-examples.json | 2 +- public/r/button-group.json | 2 +- public/r/button.json | 2 +- public/r/card-examples.json | 2 +- public/r/card.json | 2 +- public/r/carousel-examples.json | 2 +- public/r/carousel.json | 2 +- public/r/checkbox-examples.json | 2 +- public/r/checkbox.json | 2 +- public/r/collapsible-examples.json | 2 +- public/r/collapsible.json | 2 +- public/r/combobox-examples.json | 2 +- public/r/combobox.json | 2 +- public/r/command-examples.json | 2 +- public/r/command.json | 2 +- public/r/components.json | 2 +- public/r/contact-1.json | 2 +- public/r/contact-2.json | 2 +- public/r/contact-3.json | 2 +- public/r/content-1.json | 2 +- public/r/content-2.json | 2 +- public/r/content-3.json | 2 +- public/r/content-4.json | 2 +- public/r/cta-1.json | 2 +- public/r/cta-2.json | 2 +- public/r/cta-3.json | 2 +- public/r/cta-4.json | 2 +- public/r/cta-5.json | 2 +- public/r/cta-6.json | 2 +- public/r/cta-7.json | 2 +- public/r/cta-8.json | 2 +- public/r/dialog-examples.json | 2 +- public/r/dialog.json | 2 +- public/r/doc-1.json | 2 +- public/r/drawer-examples.json | 2 +- public/r/drawer.json | 2 +- public/r/dropdown-menu-examples.json | 2 +- public/r/dropdown-menu.json | 2 +- public/r/empty-examples.json | 2 +- public/r/empty.json | 2 +- public/r/faqs-1.json | 2 +- public/r/faqs-2.json | 2 +- public/r/faqs-3.json | 2 +- public/r/faqs-4.json | 2 +- public/r/features-1.json | 2 +- public/r/features-2.json | 2 +- public/r/features-3.json | 2 +- public/r/features-4.json | 2 +- public/r/features-5.json | 2 +- public/r/features-6.json | 2 +- public/r/field-examples.json | 2 +- public/r/field.json | 2 +- public/r/footer-1.json | 2 +- public/r/footer-2.json | 2 +- public/r/footer-3.json | 2 +- public/r/form.json | 2 +- public/r/header-1.json | 2 +- public/r/header-2.json | 2 +- public/r/header-3.json | 2 +- public/r/header-4.json | 2 +- public/r/header-5.json | 2 +- public/r/header.json | 2 +- public/r/hero-1.json | 2 +- public/r/hero-10.json | 2 +- public/r/hero-11.json | 2 +- public/r/hero-12.json | 2 +- public/r/hero-13.json | 2 +- public/r/hero-2.json | 2 +- public/r/hero-3.json | 2 +- public/r/hero-4.json | 2 +- public/r/hero-5.json | 2 +- public/r/hero-6.json | 2 +- public/r/hero-7.json | 2 +- public/r/hero-8.json | 2 +- public/r/hero-9.json | 2 +- public/r/hover-card-examples.json | 2 +- public/r/hover-card.json | 2 +- public/r/icon.json | 2 +- public/r/init.json | 2 +- public/r/input-examples.json | 2 +- public/r/input-group-examples.json | 2 +- public/r/input-group.json | 2 +- public/r/input.json | 2 +- public/r/item-examples.json | 2 +- public/r/item.json | 2 +- public/r/kbd-examples.json | 2 +- public/r/kbd.json | 2 +- public/r/label-examples.json | 2 +- public/r/label.json | 2 +- public/r/layout.json | 2 +- public/r/links-2.json | 2 +- public/r/logo.json | 2 +- public/r/logos-1.json | 2 +- public/r/logos-2.json | 2 +- public/r/logos-3.json | 2 +- public/r/marquee.json | 2 +- public/r/native-select-examples.json | 2 +- public/r/native-select.json | 2 +- public/r/navigation-menu-examples.json | 2 +- public/r/navigation-menu.json | 2 +- public/r/pagination-examples.json | 2 +- public/r/pagination.json | 2 +- public/r/popover-examples.json | 2 +- public/r/popover.json | 2 +- public/r/price.json | 2 +- public/r/pricing-1.json | 2 +- public/r/pricing-2.json | 2 +- public/r/pricing-3.json | 2 +- public/r/product-1.json | 2 +- public/r/products-1.json | 2 +- public/r/products-2.json | 2 +- public/r/products-3.json | 2 +- public/r/products-4.json | 2 +- public/r/products-5.json | 2 +- public/r/radio-group-examples.json | 2 +- public/r/radio-group.json | 2 +- public/r/rating.json | 2 +- .../styles/base-luma/accordion-examples.json | 58 - .../r/react/styles/base-luma/accordion.json | 23 - .../base-luma/alert-dialog-examples.json | 59 - .../react/styles/base-luma/alert-dialog.json | 25 - .../styles/base-luma/alert-examples.json | 54 - public/r/react/styles/base-luma/alert.json | 22 - .../r/react/styles/base-luma/article-1.json | 2 +- .../r/react/styles/base-luma/article-2.json | 2 +- .../r/react/styles/base-luma/articles-1.json | 2 +- .../r/react/styles/base-luma/articles-2.json | 4 +- .../r/react/styles/base-luma/articles-3.json | 2 +- .../r/react/styles/base-luma/articles-4.json | 2 +- .../base-luma/aspect-ratio-examples.json | 42 - .../react/styles/base-luma/aspect-ratio.json | 21 - .../styles/base-luma/attachment-examples.json | 48 - .../r/react/styles/base-luma/attachment.json | 26 - .../styles/base-luma/avatar-examples.json | 75 - public/r/react/styles/base-luma/avatar.json | 22 - .../styles/base-luma/badge-examples.json | 59 - public/r/react/styles/base-luma/badge.json | 23 - public/r/react/styles/base-luma/banner-2.json | 4 +- public/r/react/styles/base-luma/base.json | 143 - public/r/react/styles/base-luma/blocks-1.json | 4 +- .../styles/base-luma/breadcrumb-examples.json | 60 - .../r/react/styles/base-luma/breadcrumb.json | 23 - .../styles/base-luma/bubble-examples.json | 74 - public/r/react/styles/base-luma/bubble.json | 23 - .../styles/base-luma/button-examples.json | 95 - .../base-luma/button-group-examples.json | 92 - .../react/styles/base-luma/button-group.json | 26 - public/r/react/styles/base-luma/button.json | 23 - .../styles/base-luma/calendar-examples.json | 86 - public/r/react/styles/base-luma/calendar.json | 26 - .../react/styles/base-luma/card-examples.json | 58 - public/r/react/styles/base-luma/card.json | 21 - .../styles/base-luma/carousel-examples.json | 59 - public/r/react/styles/base-luma/carousel.json | 26 - .../styles/base-luma/chart-examples.json | 64 - public/r/react/styles/base-luma/chart.json | 22 - .../styles/base-luma/checkbox-examples.json | 65 - public/r/react/styles/base-luma/checkbox.json | 23 - .../base-luma/collapsible-examples.json | 53 - .../r/react/styles/base-luma/collapsible.json | 21 - .../styles/base-luma/combobox-examples.json | 87 - public/r/react/styles/base-luma/combobox.json | 27 - .../styles/base-luma/command-examples.json | 54 - public/r/react/styles/base-luma/command.json | 27 - .../r/react/styles/base-luma/components.json | 67 +- .../r/react/styles/base-luma/contact-1.json | 2 +- .../r/react/styles/base-luma/contact-2.json | 2 +- .../r/react/styles/base-luma/contact-3.json | 2 +- .../r/react/styles/base-luma/content-1.json | 2 +- .../r/react/styles/base-luma/content-2.json | 2 +- .../r/react/styles/base-luma/content-3.json | 2 +- .../r/react/styles/base-luma/content-4.json | 2 +- .../base-luma/context-menu-examples.json | 78 - .../react/styles/base-luma/context-menu.json | 23 - public/r/react/styles/base-luma/cta-1.json | 4 +- public/r/react/styles/base-luma/cta-2.json | 4 +- public/r/react/styles/base-luma/cta-3.json | 4 +- public/r/react/styles/base-luma/cta-4.json | 4 +- public/r/react/styles/base-luma/cta-5.json | 2 +- public/r/react/styles/base-luma/cta-6.json | 4 +- public/r/react/styles/base-luma/cta-7.json | 4 +- public/r/react/styles/base-luma/cta-8.json | 2 +- .../styles/base-luma/data-table-examples.json | 38 - .../base-luma/date-picker-examples.json | 71 - .../styles/base-luma/dialog-examples.json | 56 - public/r/react/styles/base-luma/dialog.json | 26 - .../r/react/styles/base-luma/direction.json | 21 - public/r/react/styles/base-luma/doc-1.json | 6 +- .../styles/base-luma/drawer-examples.json | 65 - public/r/react/styles/base-luma/drawer.json | 22 - .../base-luma/dropdown-menu-examples.json | 90 - .../react/styles/base-luma/dropdown-menu.json | 23 - .../styles/base-luma/empty-examples.json | 63 - public/r/react/styles/base-luma/empty.json | 22 - public/r/react/styles/base-luma/faqs-1.json | 4 +- public/r/react/styles/base-luma/faqs-2.json | 4 +- public/r/react/styles/base-luma/faqs-3.json | 4 +- public/r/react/styles/base-luma/faqs-4.json | 2 +- .../r/react/styles/base-luma/features-1.json | 2 +- .../r/react/styles/base-luma/features-4.json | 2 +- .../r/react/styles/base-luma/features-6.json | 6 +- .../styles/base-luma/field-examples.json | 94 - public/r/react/styles/base-luma/field.json | 26 - public/r/react/styles/base-luma/footer-1.json | 4 +- public/r/react/styles/base-luma/footer-2.json | 4 +- public/r/react/styles/base-luma/footer-3.json | 4 +- public/r/react/styles/base-luma/form.json | 21 - public/r/react/styles/base-luma/header-1.json | 8 +- public/r/react/styles/base-luma/header-2.json | 8 +- public/r/react/styles/base-luma/header-3.json | 10 +- public/r/react/styles/base-luma/header-4.json | 8 +- public/r/react/styles/base-luma/header-5.json | 10 +- public/r/react/styles/base-luma/hero-1.json | 4 +- public/r/react/styles/base-luma/hero-10.json | 4 +- public/r/react/styles/base-luma/hero-11.json | 4 +- public/r/react/styles/base-luma/hero-12.json | 2 +- public/r/react/styles/base-luma/hero-13.json | 2 +- public/r/react/styles/base-luma/hero-2.json | 4 +- public/r/react/styles/base-luma/hero-3.json | 2 +- public/r/react/styles/base-luma/hero-4.json | 2 +- public/r/react/styles/base-luma/hero-5.json | 4 +- public/r/react/styles/base-luma/hero-6.json | 4 +- public/r/react/styles/base-luma/hero-7.json | 4 +- public/r/react/styles/base-luma/hero-8.json | 2 +- public/r/react/styles/base-luma/hero-9.json | 4 +- .../styles/base-luma/hover-card-examples.json | 39 - .../r/react/styles/base-luma/hover-card.json | 22 - public/r/react/styles/base-luma/init.json | 44 - .../styles/base-luma/input-examples.json | 103 - .../base-luma/input-group-examples.json | 105 - .../r/react/styles/base-luma/input-group.json | 27 - .../styles/base-luma/input-otp-examples.json | 77 - .../r/react/styles/base-luma/input-otp.json | 23 - public/r/react/styles/base-luma/input.json | 22 - .../react/styles/base-luma/item-examples.json | 81 - public/r/react/styles/base-luma/item.json | 26 - .../react/styles/base-luma/kbd-examples.json | 57 - public/r/react/styles/base-luma/kbd.json | 21 - .../styles/base-luma/label-examples.json | 33 - public/r/react/styles/base-luma/label.json | 21 - .../styles/base-luma/marker-examples.json | 58 - public/r/react/styles/base-luma/marker.json | 23 - public/r/react/styles/base-luma/marquee.json | 2 +- .../styles/base-luma/menubar-examples.json | 53 - public/r/react/styles/base-luma/menubar.json | 26 - .../styles/base-luma/message-examples.json | 51 - .../base-luma/message-scroller-examples.json | 105 - .../styles/base-luma/message-scroller.json | 26 - public/r/react/styles/base-luma/message.json | 21 - .../base-luma/native-select-examples.json | 47 - .../react/styles/base-luma/native-select.json | 22 - .../base-luma/navigation-menu-examples.json | 33 - .../styles/base-luma/navigation-menu.json | 24 - .../styles/base-luma/pagination-examples.json | 43 - .../r/react/styles/base-luma/pagination.json | 25 - .../styles/base-luma/popover-examples.json | 51 - public/r/react/styles/base-luma/popover.json | 22 - .../r/react/styles/base-luma/pricing-1.json | 10 +- .../r/react/styles/base-luma/pricing-2.json | 8 +- .../r/react/styles/base-luma/pricing-3.json | 10 +- .../r/react/styles/base-luma/product-1.json | 4 +- .../r/react/styles/base-luma/products-1.json | 4 +- .../r/react/styles/base-luma/products-2.json | 6 +- .../r/react/styles/base-luma/products-3.json | 4 +- .../r/react/styles/base-luma/products-4.json | 4 +- .../r/react/styles/base-luma/products-5.json | 6 +- .../styles/base-luma/progress-examples.json | 43 - public/r/react/styles/base-luma/progress.json | 22 - .../base-luma/questionnaire-examples.json | 92 - .../react/styles/base-luma/questionnaire.json | 26 - .../base-luma/radio-group-examples.json | 59 - .../r/react/styles/base-luma/radio-group.json | 22 - public/r/react/styles/base-luma/registry.json | 7096 +++-------------- .../styles/base-luma/resizable-examples.json | 42 - .../r/react/styles/base-luma/resizable.json | 22 - .../r/react/styles/base-luma/reviews-1.json | 4 +- .../r/react/styles/base-luma/reviews-2.json | 6 +- .../r/react/styles/base-luma/reviews-3.json | 4 +- .../r/react/styles/base-luma/reviews-4.json | 4 +- .../r/react/styles/base-luma/reviews-5.json | 2 +- .../base-luma/scroll-area-examples.json | 38 - .../r/react/styles/base-luma/scroll-area.json | 22 - .../styles/base-luma/select-examples.json | 59 - public/r/react/styles/base-luma/select.json | 23 - .../styles/base-luma/separator-examples.json | 47 - .../r/react/styles/base-luma/separator.json | 22 - .../r/react/styles/base-luma/services-1.json | 4 +- .../r/react/styles/base-luma/services-2.json | 4 +- .../r/react/styles/base-luma/services-3.json | 4 +- .../r/react/styles/base-luma/services-4.json | 2 +- .../r/react/styles/base-luma/services-5.json | 2 +- .../r/react/styles/base-luma/services-6.json | 4 +- .../r/react/styles/base-luma/services-7.json | 4 +- .../styles/base-luma/sheet-examples.json | 46 - public/r/react/styles/base-luma/sheet.json | 26 - .../r/react/styles/base-luma/sidebar-1.json | 16 +- .../styles/base-luma/sidebar-examples.json | 24 - public/r/react/styles/base-luma/sidebar.json | 33 - .../styles/base-luma/skeleton-examples.json | 58 - public/r/react/styles/base-luma/skeleton.json | 21 - .../styles/base-luma/slider-examples.json | 58 - public/r/react/styles/base-luma/slider.json | 22 - public/r/react/styles/base-luma/sonner.json | 23 - .../styles/base-luma/spinner-examples.json | 68 - public/r/react/styles/base-luma/spinner.json | 22 - .../styles/base-luma/switch-examples.json | 59 - public/r/react/styles/base-luma/switch.json | 22 - .../styles/base-luma/table-examples.json | 45 - public/r/react/styles/base-luma/table.json | 21 - .../react/styles/base-luma/tabs-examples.json | 54 - public/r/react/styles/base-luma/tabs.json | 23 - .../styles/base-luma/textarea-examples.json | 54 - public/r/react/styles/base-luma/textarea.json | 21 - .../react/styles/base-luma/theme-toggle.json | 2 +- .../styles/base-luma/toast-examples.json | 29 - public/r/react/styles/base-luma/toast.json | 26 - .../styles/base-luma/toggle-examples.json | 53 - .../base-luma/toggle-group-examples.json | 64 - .../react/styles/base-luma/toggle-group.json | 26 - public/r/react/styles/base-luma/toggle.json | 23 - .../styles/base-luma/tooltip-examples.json | 50 - public/r/react/styles/base-luma/tooltip.json | 22 - .../r/react/styles/base-luma/use-mobile.json | 14 - .../styles/base-lyra/accordion-examples.json | 58 - .../r/react/styles/base-lyra/accordion.json | 23 - .../base-lyra/alert-dialog-examples.json | 59 - .../react/styles/base-lyra/alert-dialog.json | 25 - .../styles/base-lyra/alert-examples.json | 54 - public/r/react/styles/base-lyra/alert.json | 22 - .../r/react/styles/base-lyra/article-1.json | 2 +- .../r/react/styles/base-lyra/article-2.json | 2 +- .../r/react/styles/base-lyra/articles-1.json | 2 +- .../r/react/styles/base-lyra/articles-2.json | 4 +- .../r/react/styles/base-lyra/articles-3.json | 2 +- .../r/react/styles/base-lyra/articles-4.json | 2 +- .../base-lyra/aspect-ratio-examples.json | 42 - .../react/styles/base-lyra/aspect-ratio.json | 21 - .../styles/base-lyra/attachment-examples.json | 48 - .../r/react/styles/base-lyra/attachment.json | 26 - .../styles/base-lyra/avatar-examples.json | 75 - public/r/react/styles/base-lyra/avatar.json | 22 - .../styles/base-lyra/badge-examples.json | 59 - public/r/react/styles/base-lyra/badge.json | 23 - public/r/react/styles/base-lyra/banner-2.json | 4 +- public/r/react/styles/base-lyra/base.json | 143 - public/r/react/styles/base-lyra/blocks-1.json | 4 +- .../styles/base-lyra/breadcrumb-examples.json | 60 - .../r/react/styles/base-lyra/breadcrumb.json | 23 - .../styles/base-lyra/bubble-examples.json | 74 - public/r/react/styles/base-lyra/bubble.json | 23 - .../styles/base-lyra/button-examples.json | 95 - .../base-lyra/button-group-examples.json | 92 - .../react/styles/base-lyra/button-group.json | 26 - public/r/react/styles/base-lyra/button.json | 23 - .../styles/base-lyra/calendar-examples.json | 86 - public/r/react/styles/base-lyra/calendar.json | 26 - .../react/styles/base-lyra/card-examples.json | 58 - public/r/react/styles/base-lyra/card.json | 21 - .../styles/base-lyra/carousel-examples.json | 59 - public/r/react/styles/base-lyra/carousel.json | 26 - .../styles/base-lyra/chart-examples.json | 64 - public/r/react/styles/base-lyra/chart.json | 22 - .../styles/base-lyra/checkbox-examples.json | 65 - public/r/react/styles/base-lyra/checkbox.json | 23 - .../base-lyra/collapsible-examples.json | 53 - .../r/react/styles/base-lyra/collapsible.json | 21 - .../styles/base-lyra/combobox-examples.json | 87 - public/r/react/styles/base-lyra/combobox.json | 27 - .../styles/base-lyra/command-examples.json | 54 - public/r/react/styles/base-lyra/command.json | 27 - .../r/react/styles/base-lyra/components.json | 67 +- .../r/react/styles/base-lyra/contact-1.json | 2 +- .../r/react/styles/base-lyra/contact-2.json | 2 +- .../r/react/styles/base-lyra/contact-3.json | 2 +- .../r/react/styles/base-lyra/content-1.json | 2 +- .../r/react/styles/base-lyra/content-2.json | 2 +- .../r/react/styles/base-lyra/content-3.json | 2 +- .../r/react/styles/base-lyra/content-4.json | 2 +- .../base-lyra/context-menu-examples.json | 78 - .../react/styles/base-lyra/context-menu.json | 23 - public/r/react/styles/base-lyra/cta-1.json | 4 +- public/r/react/styles/base-lyra/cta-2.json | 4 +- public/r/react/styles/base-lyra/cta-3.json | 4 +- public/r/react/styles/base-lyra/cta-4.json | 4 +- public/r/react/styles/base-lyra/cta-5.json | 2 +- public/r/react/styles/base-lyra/cta-6.json | 4 +- public/r/react/styles/base-lyra/cta-7.json | 4 +- public/r/react/styles/base-lyra/cta-8.json | 2 +- .../styles/base-lyra/data-table-examples.json | 38 - .../base-lyra/date-picker-examples.json | 71 - .../styles/base-lyra/dialog-examples.json | 56 - public/r/react/styles/base-lyra/dialog.json | 26 - .../r/react/styles/base-lyra/direction.json | 21 - public/r/react/styles/base-lyra/doc-1.json | 6 +- .../styles/base-lyra/drawer-examples.json | 65 - public/r/react/styles/base-lyra/drawer.json | 22 - .../base-lyra/dropdown-menu-examples.json | 90 - .../react/styles/base-lyra/dropdown-menu.json | 23 - .../styles/base-lyra/empty-examples.json | 63 - public/r/react/styles/base-lyra/empty.json | 22 - public/r/react/styles/base-lyra/faqs-1.json | 4 +- public/r/react/styles/base-lyra/faqs-2.json | 4 +- public/r/react/styles/base-lyra/faqs-3.json | 4 +- public/r/react/styles/base-lyra/faqs-4.json | 2 +- .../r/react/styles/base-lyra/features-1.json | 2 +- .../r/react/styles/base-lyra/features-4.json | 2 +- .../r/react/styles/base-lyra/features-6.json | 6 +- .../styles/base-lyra/field-examples.json | 94 - public/r/react/styles/base-lyra/field.json | 26 - public/r/react/styles/base-lyra/footer-1.json | 4 +- public/r/react/styles/base-lyra/footer-2.json | 4 +- public/r/react/styles/base-lyra/footer-3.json | 4 +- public/r/react/styles/base-lyra/form.json | 21 - public/r/react/styles/base-lyra/header-1.json | 8 +- public/r/react/styles/base-lyra/header-2.json | 8 +- public/r/react/styles/base-lyra/header-3.json | 10 +- public/r/react/styles/base-lyra/header-4.json | 8 +- public/r/react/styles/base-lyra/header-5.json | 10 +- public/r/react/styles/base-lyra/hero-1.json | 4 +- public/r/react/styles/base-lyra/hero-10.json | 4 +- public/r/react/styles/base-lyra/hero-11.json | 4 +- public/r/react/styles/base-lyra/hero-12.json | 2 +- public/r/react/styles/base-lyra/hero-13.json | 2 +- public/r/react/styles/base-lyra/hero-2.json | 4 +- public/r/react/styles/base-lyra/hero-3.json | 2 +- public/r/react/styles/base-lyra/hero-4.json | 2 +- public/r/react/styles/base-lyra/hero-5.json | 4 +- public/r/react/styles/base-lyra/hero-6.json | 4 +- public/r/react/styles/base-lyra/hero-7.json | 4 +- public/r/react/styles/base-lyra/hero-8.json | 2 +- public/r/react/styles/base-lyra/hero-9.json | 4 +- .../styles/base-lyra/hover-card-examples.json | 39 - .../r/react/styles/base-lyra/hover-card.json | 22 - public/r/react/styles/base-lyra/init.json | 44 - .../styles/base-lyra/input-examples.json | 103 - .../base-lyra/input-group-examples.json | 105 - .../r/react/styles/base-lyra/input-group.json | 27 - .../styles/base-lyra/input-otp-examples.json | 77 - .../r/react/styles/base-lyra/input-otp.json | 23 - public/r/react/styles/base-lyra/input.json | 22 - .../react/styles/base-lyra/item-examples.json | 81 - public/r/react/styles/base-lyra/item.json | 26 - .../react/styles/base-lyra/kbd-examples.json | 57 - public/r/react/styles/base-lyra/kbd.json | 21 - .../styles/base-lyra/label-examples.json | 33 - public/r/react/styles/base-lyra/label.json | 21 - .../styles/base-lyra/marker-examples.json | 58 - public/r/react/styles/base-lyra/marker.json | 23 - public/r/react/styles/base-lyra/marquee.json | 2 +- .../styles/base-lyra/menubar-examples.json | 53 - public/r/react/styles/base-lyra/menubar.json | 26 - .../styles/base-lyra/message-examples.json | 51 - .../base-lyra/message-scroller-examples.json | 105 - .../styles/base-lyra/message-scroller.json | 26 - public/r/react/styles/base-lyra/message.json | 21 - .../base-lyra/native-select-examples.json | 47 - .../react/styles/base-lyra/native-select.json | 22 - .../base-lyra/navigation-menu-examples.json | 33 - .../styles/base-lyra/navigation-menu.json | 24 - .../styles/base-lyra/pagination-examples.json | 43 - .../r/react/styles/base-lyra/pagination.json | 25 - .../styles/base-lyra/popover-examples.json | 51 - public/r/react/styles/base-lyra/popover.json | 22 - .../r/react/styles/base-lyra/pricing-1.json | 10 +- .../r/react/styles/base-lyra/pricing-2.json | 8 +- .../r/react/styles/base-lyra/pricing-3.json | 10 +- .../r/react/styles/base-lyra/product-1.json | 4 +- .../r/react/styles/base-lyra/products-1.json | 4 +- .../r/react/styles/base-lyra/products-2.json | 6 +- .../r/react/styles/base-lyra/products-3.json | 4 +- .../r/react/styles/base-lyra/products-4.json | 4 +- .../r/react/styles/base-lyra/products-5.json | 6 +- .../styles/base-lyra/progress-examples.json | 43 - public/r/react/styles/base-lyra/progress.json | 22 - .../base-lyra/questionnaire-examples.json | 92 - .../react/styles/base-lyra/questionnaire.json | 26 - .../base-lyra/radio-group-examples.json | 59 - .../r/react/styles/base-lyra/radio-group.json | 22 - public/r/react/styles/base-lyra/registry.json | 7096 +++-------------- .../styles/base-lyra/resizable-examples.json | 42 - .../r/react/styles/base-lyra/resizable.json | 22 - .../r/react/styles/base-lyra/reviews-1.json | 4 +- .../r/react/styles/base-lyra/reviews-2.json | 6 +- .../r/react/styles/base-lyra/reviews-3.json | 4 +- .../r/react/styles/base-lyra/reviews-4.json | 4 +- .../r/react/styles/base-lyra/reviews-5.json | 2 +- .../base-lyra/scroll-area-examples.json | 38 - .../r/react/styles/base-lyra/scroll-area.json | 22 - .../styles/base-lyra/select-examples.json | 59 - public/r/react/styles/base-lyra/select.json | 23 - .../styles/base-lyra/separator-examples.json | 47 - .../r/react/styles/base-lyra/separator.json | 22 - .../r/react/styles/base-lyra/services-1.json | 4 +- .../r/react/styles/base-lyra/services-2.json | 4 +- .../r/react/styles/base-lyra/services-3.json | 4 +- .../r/react/styles/base-lyra/services-4.json | 2 +- .../r/react/styles/base-lyra/services-5.json | 2 +- .../r/react/styles/base-lyra/services-6.json | 4 +- .../r/react/styles/base-lyra/services-7.json | 4 +- .../styles/base-lyra/sheet-examples.json | 46 - public/r/react/styles/base-lyra/sheet.json | 26 - .../r/react/styles/base-lyra/sidebar-1.json | 16 +- .../styles/base-lyra/sidebar-examples.json | 24 - public/r/react/styles/base-lyra/sidebar.json | 33 - .../styles/base-lyra/skeleton-examples.json | 58 - public/r/react/styles/base-lyra/skeleton.json | 21 - .../styles/base-lyra/slider-examples.json | 58 - public/r/react/styles/base-lyra/slider.json | 22 - public/r/react/styles/base-lyra/sonner.json | 23 - .../styles/base-lyra/spinner-examples.json | 68 - public/r/react/styles/base-lyra/spinner.json | 22 - .../styles/base-lyra/switch-examples.json | 59 - public/r/react/styles/base-lyra/switch.json | 22 - .../styles/base-lyra/table-examples.json | 45 - public/r/react/styles/base-lyra/table.json | 21 - .../react/styles/base-lyra/tabs-examples.json | 54 - public/r/react/styles/base-lyra/tabs.json | 23 - .../styles/base-lyra/textarea-examples.json | 54 - public/r/react/styles/base-lyra/textarea.json | 21 - .../react/styles/base-lyra/theme-toggle.json | 2 +- .../styles/base-lyra/toast-examples.json | 29 - public/r/react/styles/base-lyra/toast.json | 26 - .../styles/base-lyra/toggle-examples.json | 53 - .../base-lyra/toggle-group-examples.json | 64 - .../react/styles/base-lyra/toggle-group.json | 26 - public/r/react/styles/base-lyra/toggle.json | 23 - .../styles/base-lyra/tooltip-examples.json | 50 - public/r/react/styles/base-lyra/tooltip.json | 22 - .../r/react/styles/base-lyra/use-mobile.json | 14 - .../styles/base-maia/accordion-examples.json | 58 - .../r/react/styles/base-maia/accordion.json | 23 - .../base-maia/alert-dialog-examples.json | 59 - .../react/styles/base-maia/alert-dialog.json | 25 - .../styles/base-maia/alert-examples.json | 54 - public/r/react/styles/base-maia/alert.json | 22 - .../r/react/styles/base-maia/article-1.json | 2 +- .../r/react/styles/base-maia/article-2.json | 2 +- .../r/react/styles/base-maia/articles-1.json | 2 +- .../r/react/styles/base-maia/articles-2.json | 4 +- .../r/react/styles/base-maia/articles-3.json | 2 +- .../r/react/styles/base-maia/articles-4.json | 2 +- .../base-maia/aspect-ratio-examples.json | 42 - .../react/styles/base-maia/aspect-ratio.json | 21 - .../styles/base-maia/attachment-examples.json | 48 - .../r/react/styles/base-maia/attachment.json | 26 - .../styles/base-maia/avatar-examples.json | 75 - public/r/react/styles/base-maia/avatar.json | 22 - .../styles/base-maia/badge-examples.json | 59 - public/r/react/styles/base-maia/badge.json | 23 - public/r/react/styles/base-maia/banner-2.json | 4 +- public/r/react/styles/base-maia/base.json | 143 - public/r/react/styles/base-maia/blocks-1.json | 4 +- .../styles/base-maia/breadcrumb-examples.json | 60 - .../r/react/styles/base-maia/breadcrumb.json | 23 - .../styles/base-maia/bubble-examples.json | 74 - public/r/react/styles/base-maia/bubble.json | 23 - .../styles/base-maia/button-examples.json | 95 - .../base-maia/button-group-examples.json | 92 - .../react/styles/base-maia/button-group.json | 26 - public/r/react/styles/base-maia/button.json | 23 - .../styles/base-maia/calendar-examples.json | 86 - public/r/react/styles/base-maia/calendar.json | 26 - .../react/styles/base-maia/card-examples.json | 58 - public/r/react/styles/base-maia/card.json | 21 - .../styles/base-maia/carousel-examples.json | 59 - public/r/react/styles/base-maia/carousel.json | 26 - .../styles/base-maia/chart-examples.json | 64 - public/r/react/styles/base-maia/chart.json | 22 - .../styles/base-maia/checkbox-examples.json | 65 - public/r/react/styles/base-maia/checkbox.json | 23 - .../base-maia/collapsible-examples.json | 53 - .../r/react/styles/base-maia/collapsible.json | 21 - .../styles/base-maia/combobox-examples.json | 87 - public/r/react/styles/base-maia/combobox.json | 27 - .../styles/base-maia/command-examples.json | 54 - public/r/react/styles/base-maia/command.json | 27 - .../r/react/styles/base-maia/components.json | 67 +- .../r/react/styles/base-maia/contact-1.json | 2 +- .../r/react/styles/base-maia/contact-2.json | 2 +- .../r/react/styles/base-maia/contact-3.json | 2 +- .../r/react/styles/base-maia/content-1.json | 2 +- .../r/react/styles/base-maia/content-2.json | 2 +- .../r/react/styles/base-maia/content-3.json | 2 +- .../r/react/styles/base-maia/content-4.json | 2 +- .../base-maia/context-menu-examples.json | 78 - .../react/styles/base-maia/context-menu.json | 23 - public/r/react/styles/base-maia/cta-1.json | 4 +- public/r/react/styles/base-maia/cta-2.json | 4 +- public/r/react/styles/base-maia/cta-3.json | 4 +- public/r/react/styles/base-maia/cta-4.json | 4 +- public/r/react/styles/base-maia/cta-5.json | 2 +- public/r/react/styles/base-maia/cta-6.json | 4 +- public/r/react/styles/base-maia/cta-7.json | 4 +- public/r/react/styles/base-maia/cta-8.json | 2 +- .../styles/base-maia/data-table-examples.json | 38 - .../base-maia/date-picker-examples.json | 71 - .../styles/base-maia/dialog-examples.json | 56 - public/r/react/styles/base-maia/dialog.json | 26 - .../r/react/styles/base-maia/direction.json | 21 - public/r/react/styles/base-maia/doc-1.json | 6 +- .../styles/base-maia/drawer-examples.json | 65 - public/r/react/styles/base-maia/drawer.json | 22 - .../base-maia/dropdown-menu-examples.json | 90 - .../react/styles/base-maia/dropdown-menu.json | 23 - .../styles/base-maia/empty-examples.json | 63 - public/r/react/styles/base-maia/empty.json | 22 - public/r/react/styles/base-maia/faqs-1.json | 4 +- public/r/react/styles/base-maia/faqs-2.json | 4 +- public/r/react/styles/base-maia/faqs-3.json | 4 +- public/r/react/styles/base-maia/faqs-4.json | 2 +- .../r/react/styles/base-maia/features-1.json | 2 +- .../r/react/styles/base-maia/features-4.json | 2 +- .../r/react/styles/base-maia/features-6.json | 6 +- .../styles/base-maia/field-examples.json | 94 - public/r/react/styles/base-maia/field.json | 26 - public/r/react/styles/base-maia/footer-1.json | 4 +- public/r/react/styles/base-maia/footer-2.json | 4 +- public/r/react/styles/base-maia/footer-3.json | 4 +- public/r/react/styles/base-maia/form.json | 21 - public/r/react/styles/base-maia/header-1.json | 8 +- public/r/react/styles/base-maia/header-2.json | 8 +- public/r/react/styles/base-maia/header-3.json | 10 +- public/r/react/styles/base-maia/header-4.json | 8 +- public/r/react/styles/base-maia/header-5.json | 10 +- public/r/react/styles/base-maia/hero-1.json | 4 +- public/r/react/styles/base-maia/hero-10.json | 4 +- public/r/react/styles/base-maia/hero-11.json | 4 +- public/r/react/styles/base-maia/hero-12.json | 2 +- public/r/react/styles/base-maia/hero-13.json | 2 +- public/r/react/styles/base-maia/hero-2.json | 4 +- public/r/react/styles/base-maia/hero-3.json | 2 +- public/r/react/styles/base-maia/hero-4.json | 2 +- public/r/react/styles/base-maia/hero-5.json | 4 +- public/r/react/styles/base-maia/hero-6.json | 4 +- public/r/react/styles/base-maia/hero-7.json | 4 +- public/r/react/styles/base-maia/hero-8.json | 2 +- public/r/react/styles/base-maia/hero-9.json | 4 +- .../styles/base-maia/hover-card-examples.json | 39 - .../r/react/styles/base-maia/hover-card.json | 22 - public/r/react/styles/base-maia/init.json | 44 - .../styles/base-maia/input-examples.json | 103 - .../base-maia/input-group-examples.json | 105 - .../r/react/styles/base-maia/input-group.json | 27 - .../styles/base-maia/input-otp-examples.json | 77 - .../r/react/styles/base-maia/input-otp.json | 23 - public/r/react/styles/base-maia/input.json | 22 - .../react/styles/base-maia/item-examples.json | 81 - public/r/react/styles/base-maia/item.json | 26 - .../react/styles/base-maia/kbd-examples.json | 57 - public/r/react/styles/base-maia/kbd.json | 21 - .../styles/base-maia/label-examples.json | 33 - public/r/react/styles/base-maia/label.json | 21 - .../styles/base-maia/marker-examples.json | 58 - public/r/react/styles/base-maia/marker.json | 23 - public/r/react/styles/base-maia/marquee.json | 2 +- .../styles/base-maia/menubar-examples.json | 53 - public/r/react/styles/base-maia/menubar.json | 26 - .../styles/base-maia/message-examples.json | 51 - .../base-maia/message-scroller-examples.json | 105 - .../styles/base-maia/message-scroller.json | 26 - public/r/react/styles/base-maia/message.json | 21 - .../base-maia/native-select-examples.json | 47 - .../react/styles/base-maia/native-select.json | 22 - .../base-maia/navigation-menu-examples.json | 33 - .../styles/base-maia/navigation-menu.json | 24 - .../styles/base-maia/pagination-examples.json | 43 - .../r/react/styles/base-maia/pagination.json | 25 - .../styles/base-maia/popover-examples.json | 51 - public/r/react/styles/base-maia/popover.json | 22 - .../r/react/styles/base-maia/pricing-1.json | 10 +- .../r/react/styles/base-maia/pricing-2.json | 8 +- .../r/react/styles/base-maia/pricing-3.json | 10 +- .../r/react/styles/base-maia/product-1.json | 4 +- .../r/react/styles/base-maia/products-1.json | 4 +- .../r/react/styles/base-maia/products-2.json | 6 +- .../r/react/styles/base-maia/products-3.json | 4 +- .../r/react/styles/base-maia/products-4.json | 4 +- .../r/react/styles/base-maia/products-5.json | 6 +- .../styles/base-maia/progress-examples.json | 43 - public/r/react/styles/base-maia/progress.json | 22 - .../base-maia/questionnaire-examples.json | 92 - .../react/styles/base-maia/questionnaire.json | 26 - .../base-maia/radio-group-examples.json | 59 - .../r/react/styles/base-maia/radio-group.json | 22 - public/r/react/styles/base-maia/registry.json | 7096 +++-------------- .../styles/base-maia/resizable-examples.json | 42 - .../r/react/styles/base-maia/resizable.json | 22 - .../r/react/styles/base-maia/reviews-1.json | 4 +- .../r/react/styles/base-maia/reviews-2.json | 6 +- .../r/react/styles/base-maia/reviews-3.json | 4 +- .../r/react/styles/base-maia/reviews-4.json | 4 +- .../r/react/styles/base-maia/reviews-5.json | 2 +- .../base-maia/scroll-area-examples.json | 38 - .../r/react/styles/base-maia/scroll-area.json | 22 - .../styles/base-maia/select-examples.json | 59 - public/r/react/styles/base-maia/select.json | 23 - .../styles/base-maia/separator-examples.json | 47 - .../r/react/styles/base-maia/separator.json | 22 - .../r/react/styles/base-maia/services-1.json | 4 +- .../r/react/styles/base-maia/services-2.json | 4 +- .../r/react/styles/base-maia/services-3.json | 4 +- .../r/react/styles/base-maia/services-4.json | 2 +- .../r/react/styles/base-maia/services-5.json | 2 +- .../r/react/styles/base-maia/services-6.json | 4 +- .../r/react/styles/base-maia/services-7.json | 4 +- .../styles/base-maia/sheet-examples.json | 46 - public/r/react/styles/base-maia/sheet.json | 26 - .../r/react/styles/base-maia/sidebar-1.json | 16 +- .../styles/base-maia/sidebar-examples.json | 24 - public/r/react/styles/base-maia/sidebar.json | 33 - .../styles/base-maia/skeleton-examples.json | 58 - public/r/react/styles/base-maia/skeleton.json | 21 - .../styles/base-maia/slider-examples.json | 58 - public/r/react/styles/base-maia/slider.json | 22 - public/r/react/styles/base-maia/sonner.json | 23 - .../styles/base-maia/spinner-examples.json | 68 - public/r/react/styles/base-maia/spinner.json | 22 - .../styles/base-maia/switch-examples.json | 59 - public/r/react/styles/base-maia/switch.json | 22 - .../styles/base-maia/table-examples.json | 45 - public/r/react/styles/base-maia/table.json | 21 - .../react/styles/base-maia/tabs-examples.json | 54 - public/r/react/styles/base-maia/tabs.json | 23 - .../styles/base-maia/textarea-examples.json | 54 - public/r/react/styles/base-maia/textarea.json | 21 - .../react/styles/base-maia/theme-toggle.json | 2 +- .../styles/base-maia/toast-examples.json | 29 - public/r/react/styles/base-maia/toast.json | 26 - .../styles/base-maia/toggle-examples.json | 53 - .../base-maia/toggle-group-examples.json | 64 - .../react/styles/base-maia/toggle-group.json | 26 - public/r/react/styles/base-maia/toggle.json | 23 - .../styles/base-maia/tooltip-examples.json | 50 - public/r/react/styles/base-maia/tooltip.json | 22 - .../r/react/styles/base-maia/use-mobile.json | 14 - .../styles/base-mira/accordion-examples.json | 58 - .../r/react/styles/base-mira/accordion.json | 23 - .../base-mira/alert-dialog-examples.json | 59 - .../react/styles/base-mira/alert-dialog.json | 25 - .../styles/base-mira/alert-examples.json | 54 - public/r/react/styles/base-mira/alert.json | 22 - .../r/react/styles/base-mira/article-1.json | 2 +- .../r/react/styles/base-mira/article-2.json | 2 +- .../r/react/styles/base-mira/articles-1.json | 2 +- .../r/react/styles/base-mira/articles-2.json | 4 +- .../r/react/styles/base-mira/articles-3.json | 2 +- .../r/react/styles/base-mira/articles-4.json | 2 +- .../base-mira/aspect-ratio-examples.json | 42 - .../react/styles/base-mira/aspect-ratio.json | 21 - .../styles/base-mira/attachment-examples.json | 48 - .../r/react/styles/base-mira/attachment.json | 26 - .../styles/base-mira/avatar-examples.json | 75 - public/r/react/styles/base-mira/avatar.json | 22 - .../styles/base-mira/badge-examples.json | 59 - public/r/react/styles/base-mira/badge.json | 23 - public/r/react/styles/base-mira/banner-2.json | 4 +- public/r/react/styles/base-mira/base.json | 143 - public/r/react/styles/base-mira/blocks-1.json | 4 +- .../styles/base-mira/breadcrumb-examples.json | 60 - .../r/react/styles/base-mira/breadcrumb.json | 23 - .../styles/base-mira/bubble-examples.json | 74 - public/r/react/styles/base-mira/bubble.json | 23 - .../styles/base-mira/button-examples.json | 95 - .../base-mira/button-group-examples.json | 92 - .../react/styles/base-mira/button-group.json | 26 - public/r/react/styles/base-mira/button.json | 23 - .../styles/base-mira/calendar-examples.json | 86 - public/r/react/styles/base-mira/calendar.json | 26 - .../react/styles/base-mira/card-examples.json | 58 - public/r/react/styles/base-mira/card.json | 21 - .../styles/base-mira/carousel-examples.json | 59 - public/r/react/styles/base-mira/carousel.json | 26 - .../styles/base-mira/chart-examples.json | 64 - public/r/react/styles/base-mira/chart.json | 22 - .../styles/base-mira/checkbox-examples.json | 65 - public/r/react/styles/base-mira/checkbox.json | 23 - .../base-mira/collapsible-examples.json | 53 - .../r/react/styles/base-mira/collapsible.json | 21 - .../styles/base-mira/combobox-examples.json | 87 - public/r/react/styles/base-mira/combobox.json | 27 - .../styles/base-mira/command-examples.json | 54 - public/r/react/styles/base-mira/command.json | 27 - .../r/react/styles/base-mira/components.json | 67 +- .../r/react/styles/base-mira/contact-1.json | 2 +- .../r/react/styles/base-mira/contact-2.json | 2 +- .../r/react/styles/base-mira/contact-3.json | 2 +- .../r/react/styles/base-mira/content-1.json | 2 +- .../r/react/styles/base-mira/content-2.json | 2 +- .../r/react/styles/base-mira/content-3.json | 2 +- .../r/react/styles/base-mira/content-4.json | 2 +- .../base-mira/context-menu-examples.json | 78 - .../react/styles/base-mira/context-menu.json | 23 - public/r/react/styles/base-mira/cta-1.json | 4 +- public/r/react/styles/base-mira/cta-2.json | 4 +- public/r/react/styles/base-mira/cta-3.json | 4 +- public/r/react/styles/base-mira/cta-4.json | 4 +- public/r/react/styles/base-mira/cta-5.json | 2 +- public/r/react/styles/base-mira/cta-6.json | 4 +- public/r/react/styles/base-mira/cta-7.json | 4 +- public/r/react/styles/base-mira/cta-8.json | 2 +- .../styles/base-mira/data-table-examples.json | 38 - .../base-mira/date-picker-examples.json | 71 - .../styles/base-mira/dialog-examples.json | 56 - public/r/react/styles/base-mira/dialog.json | 26 - .../r/react/styles/base-mira/direction.json | 21 - public/r/react/styles/base-mira/doc-1.json | 6 +- .../styles/base-mira/drawer-examples.json | 65 - public/r/react/styles/base-mira/drawer.json | 22 - .../base-mira/dropdown-menu-examples.json | 90 - .../react/styles/base-mira/dropdown-menu.json | 23 - .../styles/base-mira/empty-examples.json | 63 - public/r/react/styles/base-mira/empty.json | 22 - public/r/react/styles/base-mira/faqs-1.json | 4 +- public/r/react/styles/base-mira/faqs-2.json | 4 +- public/r/react/styles/base-mira/faqs-3.json | 4 +- public/r/react/styles/base-mira/faqs-4.json | 2 +- .../r/react/styles/base-mira/features-1.json | 2 +- .../r/react/styles/base-mira/features-4.json | 2 +- .../r/react/styles/base-mira/features-6.json | 6 +- .../styles/base-mira/field-examples.json | 94 - public/r/react/styles/base-mira/field.json | 26 - public/r/react/styles/base-mira/footer-1.json | 4 +- public/r/react/styles/base-mira/footer-2.json | 4 +- public/r/react/styles/base-mira/footer-3.json | 4 +- public/r/react/styles/base-mira/form.json | 21 - public/r/react/styles/base-mira/header-1.json | 8 +- public/r/react/styles/base-mira/header-2.json | 8 +- public/r/react/styles/base-mira/header-3.json | 10 +- public/r/react/styles/base-mira/header-4.json | 8 +- public/r/react/styles/base-mira/header-5.json | 10 +- public/r/react/styles/base-mira/hero-1.json | 4 +- public/r/react/styles/base-mira/hero-10.json | 4 +- public/r/react/styles/base-mira/hero-11.json | 4 +- public/r/react/styles/base-mira/hero-12.json | 2 +- public/r/react/styles/base-mira/hero-13.json | 2 +- public/r/react/styles/base-mira/hero-2.json | 4 +- public/r/react/styles/base-mira/hero-3.json | 2 +- public/r/react/styles/base-mira/hero-4.json | 2 +- public/r/react/styles/base-mira/hero-5.json | 4 +- public/r/react/styles/base-mira/hero-6.json | 4 +- public/r/react/styles/base-mira/hero-7.json | 4 +- public/r/react/styles/base-mira/hero-8.json | 2 +- public/r/react/styles/base-mira/hero-9.json | 4 +- .../styles/base-mira/hover-card-examples.json | 39 - .../r/react/styles/base-mira/hover-card.json | 22 - public/r/react/styles/base-mira/init.json | 44 - .../styles/base-mira/input-examples.json | 103 - .../base-mira/input-group-examples.json | 105 - .../r/react/styles/base-mira/input-group.json | 27 - .../styles/base-mira/input-otp-examples.json | 77 - .../r/react/styles/base-mira/input-otp.json | 23 - public/r/react/styles/base-mira/input.json | 22 - .../react/styles/base-mira/item-examples.json | 81 - public/r/react/styles/base-mira/item.json | 26 - .../react/styles/base-mira/kbd-examples.json | 57 - public/r/react/styles/base-mira/kbd.json | 21 - .../styles/base-mira/label-examples.json | 33 - public/r/react/styles/base-mira/label.json | 21 - .../styles/base-mira/marker-examples.json | 58 - public/r/react/styles/base-mira/marker.json | 23 - public/r/react/styles/base-mira/marquee.json | 2 +- .../styles/base-mira/menubar-examples.json | 53 - public/r/react/styles/base-mira/menubar.json | 26 - .../styles/base-mira/message-examples.json | 51 - .../base-mira/message-scroller-examples.json | 105 - .../styles/base-mira/message-scroller.json | 26 - public/r/react/styles/base-mira/message.json | 21 - .../base-mira/native-select-examples.json | 47 - .../react/styles/base-mira/native-select.json | 22 - .../base-mira/navigation-menu-examples.json | 33 - .../styles/base-mira/navigation-menu.json | 24 - .../styles/base-mira/pagination-examples.json | 43 - .../r/react/styles/base-mira/pagination.json | 25 - .../styles/base-mira/popover-examples.json | 51 - public/r/react/styles/base-mira/popover.json | 22 - .../r/react/styles/base-mira/pricing-1.json | 10 +- .../r/react/styles/base-mira/pricing-2.json | 8 +- .../r/react/styles/base-mira/pricing-3.json | 10 +- .../r/react/styles/base-mira/product-1.json | 4 +- .../r/react/styles/base-mira/products-1.json | 4 +- .../r/react/styles/base-mira/products-2.json | 6 +- .../r/react/styles/base-mira/products-3.json | 4 +- .../r/react/styles/base-mira/products-4.json | 4 +- .../r/react/styles/base-mira/products-5.json | 6 +- .../styles/base-mira/progress-examples.json | 43 - public/r/react/styles/base-mira/progress.json | 22 - .../base-mira/questionnaire-examples.json | 92 - .../react/styles/base-mira/questionnaire.json | 26 - .../base-mira/radio-group-examples.json | 59 - .../r/react/styles/base-mira/radio-group.json | 22 - public/r/react/styles/base-mira/registry.json | 7096 +++-------------- .../styles/base-mira/resizable-examples.json | 42 - .../r/react/styles/base-mira/resizable.json | 22 - .../r/react/styles/base-mira/reviews-1.json | 4 +- .../r/react/styles/base-mira/reviews-2.json | 6 +- .../r/react/styles/base-mira/reviews-3.json | 4 +- .../r/react/styles/base-mira/reviews-4.json | 4 +- .../r/react/styles/base-mira/reviews-5.json | 2 +- .../base-mira/scroll-area-examples.json | 38 - .../r/react/styles/base-mira/scroll-area.json | 22 - .../styles/base-mira/select-examples.json | 59 - public/r/react/styles/base-mira/select.json | 23 - .../styles/base-mira/separator-examples.json | 47 - .../r/react/styles/base-mira/separator.json | 22 - .../r/react/styles/base-mira/services-1.json | 4 +- .../r/react/styles/base-mira/services-2.json | 4 +- .../r/react/styles/base-mira/services-3.json | 4 +- .../r/react/styles/base-mira/services-4.json | 2 +- .../r/react/styles/base-mira/services-5.json | 2 +- .../r/react/styles/base-mira/services-6.json | 4 +- .../r/react/styles/base-mira/services-7.json | 4 +- .../styles/base-mira/sheet-examples.json | 46 - public/r/react/styles/base-mira/sheet.json | 26 - .../r/react/styles/base-mira/sidebar-1.json | 16 +- .../styles/base-mira/sidebar-examples.json | 24 - public/r/react/styles/base-mira/sidebar.json | 33 - .../styles/base-mira/skeleton-examples.json | 58 - public/r/react/styles/base-mira/skeleton.json | 21 - .../styles/base-mira/slider-examples.json | 58 - public/r/react/styles/base-mira/slider.json | 22 - public/r/react/styles/base-mira/sonner.json | 23 - .../styles/base-mira/spinner-examples.json | 68 - public/r/react/styles/base-mira/spinner.json | 22 - .../styles/base-mira/switch-examples.json | 59 - public/r/react/styles/base-mira/switch.json | 22 - .../styles/base-mira/table-examples.json | 45 - public/r/react/styles/base-mira/table.json | 21 - .../react/styles/base-mira/tabs-examples.json | 54 - public/r/react/styles/base-mira/tabs.json | 23 - .../styles/base-mira/textarea-examples.json | 54 - public/r/react/styles/base-mira/textarea.json | 21 - .../react/styles/base-mira/theme-toggle.json | 2 +- .../styles/base-mira/toast-examples.json | 29 - public/r/react/styles/base-mira/toast.json | 26 - .../styles/base-mira/toggle-examples.json | 53 - .../base-mira/toggle-group-examples.json | 64 - .../react/styles/base-mira/toggle-group.json | 26 - public/r/react/styles/base-mira/toggle.json | 23 - .../styles/base-mira/tooltip-examples.json | 50 - public/r/react/styles/base-mira/tooltip.json | 22 - .../r/react/styles/base-mira/use-mobile.json | 14 - .../styles/base-nova/accordion-examples.json | 58 - .../r/react/styles/base-nova/accordion.json | 23 - .../base-nova/alert-dialog-examples.json | 59 - .../react/styles/base-nova/alert-dialog.json | 25 - .../styles/base-nova/alert-examples.json | 54 - public/r/react/styles/base-nova/alert.json | 22 - .../r/react/styles/base-nova/article-1.json | 2 +- .../r/react/styles/base-nova/article-2.json | 2 +- .../r/react/styles/base-nova/articles-1.json | 2 +- .../r/react/styles/base-nova/articles-2.json | 4 +- .../r/react/styles/base-nova/articles-3.json | 2 +- .../r/react/styles/base-nova/articles-4.json | 2 +- .../base-nova/aspect-ratio-examples.json | 42 - .../react/styles/base-nova/aspect-ratio.json | 21 - .../styles/base-nova/attachment-examples.json | 48 - .../r/react/styles/base-nova/attachment.json | 26 - .../styles/base-nova/avatar-examples.json | 75 - public/r/react/styles/base-nova/avatar.json | 22 - .../styles/base-nova/badge-examples.json | 59 - public/r/react/styles/base-nova/badge.json | 23 - public/r/react/styles/base-nova/banner-2.json | 4 +- public/r/react/styles/base-nova/base.json | 143 - public/r/react/styles/base-nova/blocks-1.json | 4 +- .../styles/base-nova/breadcrumb-examples.json | 60 - .../r/react/styles/base-nova/breadcrumb.json | 23 - .../styles/base-nova/bubble-examples.json | 74 - public/r/react/styles/base-nova/bubble.json | 23 - .../styles/base-nova/button-examples.json | 95 - .../base-nova/button-group-examples.json | 92 - .../react/styles/base-nova/button-group.json | 26 - public/r/react/styles/base-nova/button.json | 23 - .../styles/base-nova/calendar-examples.json | 86 - public/r/react/styles/base-nova/calendar.json | 26 - .../react/styles/base-nova/card-examples.json | 58 - public/r/react/styles/base-nova/card.json | 21 - .../styles/base-nova/carousel-examples.json | 59 - public/r/react/styles/base-nova/carousel.json | 26 - .../styles/base-nova/chart-examples.json | 64 - public/r/react/styles/base-nova/chart.json | 22 - .../styles/base-nova/checkbox-examples.json | 65 - public/r/react/styles/base-nova/checkbox.json | 23 - .../base-nova/collapsible-examples.json | 53 - .../r/react/styles/base-nova/collapsible.json | 21 - .../styles/base-nova/combobox-examples.json | 87 - public/r/react/styles/base-nova/combobox.json | 27 - .../styles/base-nova/command-examples.json | 54 - public/r/react/styles/base-nova/command.json | 27 - .../r/react/styles/base-nova/components.json | 67 +- .../r/react/styles/base-nova/contact-1.json | 2 +- .../r/react/styles/base-nova/contact-2.json | 2 +- .../r/react/styles/base-nova/contact-3.json | 2 +- .../r/react/styles/base-nova/content-1.json | 2 +- .../r/react/styles/base-nova/content-2.json | 2 +- .../r/react/styles/base-nova/content-3.json | 2 +- .../r/react/styles/base-nova/content-4.json | 2 +- .../base-nova/context-menu-examples.json | 78 - .../react/styles/base-nova/context-menu.json | 23 - public/r/react/styles/base-nova/cta-1.json | 4 +- public/r/react/styles/base-nova/cta-2.json | 4 +- public/r/react/styles/base-nova/cta-3.json | 4 +- public/r/react/styles/base-nova/cta-4.json | 4 +- public/r/react/styles/base-nova/cta-5.json | 2 +- public/r/react/styles/base-nova/cta-6.json | 4 +- public/r/react/styles/base-nova/cta-7.json | 4 +- public/r/react/styles/base-nova/cta-8.json | 2 +- .../styles/base-nova/data-table-examples.json | 38 - .../base-nova/date-picker-examples.json | 71 - .../styles/base-nova/dialog-examples.json | 56 - public/r/react/styles/base-nova/dialog.json | 26 - .../r/react/styles/base-nova/direction.json | 21 - public/r/react/styles/base-nova/doc-1.json | 6 +- .../styles/base-nova/drawer-examples.json | 65 - public/r/react/styles/base-nova/drawer.json | 22 - .../base-nova/dropdown-menu-examples.json | 90 - .../react/styles/base-nova/dropdown-menu.json | 23 - .../styles/base-nova/empty-examples.json | 63 - public/r/react/styles/base-nova/empty.json | 22 - public/r/react/styles/base-nova/faqs-1.json | 4 +- public/r/react/styles/base-nova/faqs-2.json | 4 +- public/r/react/styles/base-nova/faqs-3.json | 4 +- public/r/react/styles/base-nova/faqs-4.json | 2 +- .../r/react/styles/base-nova/features-1.json | 2 +- .../r/react/styles/base-nova/features-4.json | 2 +- .../r/react/styles/base-nova/features-6.json | 6 +- .../styles/base-nova/field-examples.json | 94 - public/r/react/styles/base-nova/field.json | 26 - public/r/react/styles/base-nova/footer-1.json | 4 +- public/r/react/styles/base-nova/footer-2.json | 4 +- public/r/react/styles/base-nova/footer-3.json | 4 +- public/r/react/styles/base-nova/form.json | 21 - public/r/react/styles/base-nova/header-1.json | 8 +- public/r/react/styles/base-nova/header-2.json | 8 +- public/r/react/styles/base-nova/header-3.json | 10 +- public/r/react/styles/base-nova/header-4.json | 8 +- public/r/react/styles/base-nova/header-5.json | 10 +- public/r/react/styles/base-nova/hero-1.json | 4 +- public/r/react/styles/base-nova/hero-10.json | 4 +- public/r/react/styles/base-nova/hero-11.json | 4 +- public/r/react/styles/base-nova/hero-12.json | 2 +- public/r/react/styles/base-nova/hero-13.json | 2 +- public/r/react/styles/base-nova/hero-2.json | 4 +- public/r/react/styles/base-nova/hero-3.json | 2 +- public/r/react/styles/base-nova/hero-4.json | 2 +- public/r/react/styles/base-nova/hero-5.json | 4 +- public/r/react/styles/base-nova/hero-6.json | 4 +- public/r/react/styles/base-nova/hero-7.json | 4 +- public/r/react/styles/base-nova/hero-8.json | 2 +- public/r/react/styles/base-nova/hero-9.json | 4 +- .../styles/base-nova/hover-card-examples.json | 39 - .../r/react/styles/base-nova/hover-card.json | 22 - public/r/react/styles/base-nova/init.json | 44 - .../styles/base-nova/input-examples.json | 103 - .../base-nova/input-group-examples.json | 105 - .../r/react/styles/base-nova/input-group.json | 27 - .../styles/base-nova/input-otp-examples.json | 77 - .../r/react/styles/base-nova/input-otp.json | 23 - public/r/react/styles/base-nova/input.json | 22 - .../react/styles/base-nova/item-examples.json | 81 - public/r/react/styles/base-nova/item.json | 26 - .../react/styles/base-nova/kbd-examples.json | 57 - public/r/react/styles/base-nova/kbd.json | 21 - .../styles/base-nova/label-examples.json | 33 - public/r/react/styles/base-nova/label.json | 21 - .../styles/base-nova/marker-examples.json | 58 - public/r/react/styles/base-nova/marker.json | 23 - public/r/react/styles/base-nova/marquee.json | 2 +- .../styles/base-nova/menubar-examples.json | 53 - public/r/react/styles/base-nova/menubar.json | 26 - .../styles/base-nova/message-examples.json | 51 - .../base-nova/message-scroller-examples.json | 105 - .../styles/base-nova/message-scroller.json | 26 - public/r/react/styles/base-nova/message.json | 21 - .../base-nova/native-select-examples.json | 47 - .../react/styles/base-nova/native-select.json | 22 - .../base-nova/navigation-menu-examples.json | 33 - .../styles/base-nova/navigation-menu.json | 24 - .../styles/base-nova/pagination-examples.json | 43 - .../r/react/styles/base-nova/pagination.json | 25 - .../styles/base-nova/popover-examples.json | 51 - public/r/react/styles/base-nova/popover.json | 22 - .../r/react/styles/base-nova/pricing-1.json | 10 +- .../r/react/styles/base-nova/pricing-2.json | 8 +- .../r/react/styles/base-nova/pricing-3.json | 10 +- .../r/react/styles/base-nova/product-1.json | 4 +- .../r/react/styles/base-nova/products-1.json | 4 +- .../r/react/styles/base-nova/products-2.json | 6 +- .../r/react/styles/base-nova/products-3.json | 4 +- .../r/react/styles/base-nova/products-4.json | 4 +- .../r/react/styles/base-nova/products-5.json | 6 +- .../styles/base-nova/progress-examples.json | 43 - public/r/react/styles/base-nova/progress.json | 22 - .../base-nova/questionnaire-examples.json | 92 - .../react/styles/base-nova/questionnaire.json | 26 - .../base-nova/radio-group-examples.json | 59 - .../r/react/styles/base-nova/radio-group.json | 22 - public/r/react/styles/base-nova/registry.json | 7096 +++-------------- .../styles/base-nova/resizable-examples.json | 42 - .../r/react/styles/base-nova/resizable.json | 22 - .../r/react/styles/base-nova/reviews-1.json | 4 +- .../r/react/styles/base-nova/reviews-2.json | 6 +- .../r/react/styles/base-nova/reviews-3.json | 4 +- .../r/react/styles/base-nova/reviews-4.json | 4 +- .../r/react/styles/base-nova/reviews-5.json | 2 +- .../base-nova/scroll-area-examples.json | 38 - .../r/react/styles/base-nova/scroll-area.json | 22 - .../styles/base-nova/select-examples.json | 59 - public/r/react/styles/base-nova/select.json | 23 - .../styles/base-nova/separator-examples.json | 47 - .../r/react/styles/base-nova/separator.json | 22 - .../r/react/styles/base-nova/services-1.json | 4 +- .../r/react/styles/base-nova/services-2.json | 4 +- .../r/react/styles/base-nova/services-3.json | 4 +- .../r/react/styles/base-nova/services-4.json | 2 +- .../r/react/styles/base-nova/services-5.json | 2 +- .../r/react/styles/base-nova/services-6.json | 4 +- .../r/react/styles/base-nova/services-7.json | 4 +- .../styles/base-nova/sheet-examples.json | 46 - public/r/react/styles/base-nova/sheet.json | 26 - .../r/react/styles/base-nova/sidebar-1.json | 16 +- .../styles/base-nova/sidebar-examples.json | 24 - public/r/react/styles/base-nova/sidebar.json | 33 - .../styles/base-nova/skeleton-examples.json | 58 - public/r/react/styles/base-nova/skeleton.json | 21 - .../styles/base-nova/slider-examples.json | 58 - public/r/react/styles/base-nova/slider.json | 22 - public/r/react/styles/base-nova/sonner.json | 23 - .../styles/base-nova/spinner-examples.json | 68 - public/r/react/styles/base-nova/spinner.json | 22 - .../styles/base-nova/switch-examples.json | 59 - public/r/react/styles/base-nova/switch.json | 22 - .../styles/base-nova/table-examples.json | 45 - public/r/react/styles/base-nova/table.json | 21 - .../react/styles/base-nova/tabs-examples.json | 54 - public/r/react/styles/base-nova/tabs.json | 23 - .../styles/base-nova/textarea-examples.json | 54 - public/r/react/styles/base-nova/textarea.json | 21 - .../react/styles/base-nova/theme-toggle.json | 2 +- .../styles/base-nova/toast-examples.json | 29 - public/r/react/styles/base-nova/toast.json | 26 - .../styles/base-nova/toggle-examples.json | 53 - .../base-nova/toggle-group-examples.json | 64 - .../react/styles/base-nova/toggle-group.json | 26 - public/r/react/styles/base-nova/toggle.json | 23 - .../styles/base-nova/tooltip-examples.json | 50 - public/r/react/styles/base-nova/tooltip.json | 22 - .../r/react/styles/base-nova/use-mobile.json | 14 - .../styles/base-rhea/accordion-examples.json | 58 - .../r/react/styles/base-rhea/accordion.json | 23 - .../base-rhea/alert-dialog-examples.json | 59 - .../react/styles/base-rhea/alert-dialog.json | 25 - .../styles/base-rhea/alert-examples.json | 54 - public/r/react/styles/base-rhea/alert.json | 22 - .../r/react/styles/base-rhea/article-1.json | 2 +- .../r/react/styles/base-rhea/article-2.json | 2 +- .../r/react/styles/base-rhea/articles-1.json | 2 +- .../r/react/styles/base-rhea/articles-2.json | 4 +- .../r/react/styles/base-rhea/articles-3.json | 2 +- .../r/react/styles/base-rhea/articles-4.json | 2 +- .../base-rhea/aspect-ratio-examples.json | 42 - .../react/styles/base-rhea/aspect-ratio.json | 21 - .../styles/base-rhea/attachment-examples.json | 48 - .../r/react/styles/base-rhea/attachment.json | 26 - .../styles/base-rhea/avatar-examples.json | 75 - public/r/react/styles/base-rhea/avatar.json | 22 - .../styles/base-rhea/badge-examples.json | 59 - public/r/react/styles/base-rhea/badge.json | 23 - public/r/react/styles/base-rhea/banner-2.json | 4 +- public/r/react/styles/base-rhea/base.json | 143 - public/r/react/styles/base-rhea/blocks-1.json | 4 +- .../styles/base-rhea/breadcrumb-examples.json | 60 - .../r/react/styles/base-rhea/breadcrumb.json | 23 - .../styles/base-rhea/bubble-examples.json | 74 - public/r/react/styles/base-rhea/bubble.json | 23 - .../styles/base-rhea/button-examples.json | 95 - .../base-rhea/button-group-examples.json | 92 - .../react/styles/base-rhea/button-group.json | 26 - public/r/react/styles/base-rhea/button.json | 23 - .../styles/base-rhea/calendar-examples.json | 86 - public/r/react/styles/base-rhea/calendar.json | 26 - .../react/styles/base-rhea/card-examples.json | 58 - public/r/react/styles/base-rhea/card.json | 21 - .../styles/base-rhea/carousel-examples.json | 59 - public/r/react/styles/base-rhea/carousel.json | 26 - .../styles/base-rhea/chart-examples.json | 64 - public/r/react/styles/base-rhea/chart.json | 22 - .../styles/base-rhea/checkbox-examples.json | 65 - public/r/react/styles/base-rhea/checkbox.json | 23 - .../base-rhea/collapsible-examples.json | 53 - .../r/react/styles/base-rhea/collapsible.json | 21 - .../styles/base-rhea/combobox-examples.json | 87 - public/r/react/styles/base-rhea/combobox.json | 27 - .../styles/base-rhea/command-examples.json | 54 - public/r/react/styles/base-rhea/command.json | 27 - .../r/react/styles/base-rhea/components.json | 67 +- .../r/react/styles/base-rhea/contact-1.json | 2 +- .../r/react/styles/base-rhea/contact-2.json | 2 +- .../r/react/styles/base-rhea/contact-3.json | 2 +- .../r/react/styles/base-rhea/content-1.json | 2 +- .../r/react/styles/base-rhea/content-2.json | 2 +- .../r/react/styles/base-rhea/content-3.json | 2 +- .../r/react/styles/base-rhea/content-4.json | 2 +- .../base-rhea/context-menu-examples.json | 78 - .../react/styles/base-rhea/context-menu.json | 23 - public/r/react/styles/base-rhea/cta-1.json | 4 +- public/r/react/styles/base-rhea/cta-2.json | 4 +- public/r/react/styles/base-rhea/cta-3.json | 4 +- public/r/react/styles/base-rhea/cta-4.json | 4 +- public/r/react/styles/base-rhea/cta-5.json | 2 +- public/r/react/styles/base-rhea/cta-6.json | 4 +- public/r/react/styles/base-rhea/cta-7.json | 4 +- public/r/react/styles/base-rhea/cta-8.json | 2 +- .../styles/base-rhea/data-table-examples.json | 38 - .../base-rhea/date-picker-examples.json | 71 - .../styles/base-rhea/dialog-examples.json | 56 - public/r/react/styles/base-rhea/dialog.json | 26 - .../r/react/styles/base-rhea/direction.json | 21 - public/r/react/styles/base-rhea/doc-1.json | 6 +- .../styles/base-rhea/drawer-examples.json | 65 - public/r/react/styles/base-rhea/drawer.json | 22 - .../base-rhea/dropdown-menu-examples.json | 90 - .../react/styles/base-rhea/dropdown-menu.json | 23 - .../styles/base-rhea/empty-examples.json | 63 - public/r/react/styles/base-rhea/empty.json | 22 - public/r/react/styles/base-rhea/faqs-1.json | 4 +- public/r/react/styles/base-rhea/faqs-2.json | 4 +- public/r/react/styles/base-rhea/faqs-3.json | 4 +- public/r/react/styles/base-rhea/faqs-4.json | 2 +- .../r/react/styles/base-rhea/features-1.json | 2 +- .../r/react/styles/base-rhea/features-4.json | 2 +- .../r/react/styles/base-rhea/features-6.json | 6 +- .../styles/base-rhea/field-examples.json | 94 - public/r/react/styles/base-rhea/field.json | 26 - public/r/react/styles/base-rhea/footer-1.json | 4 +- public/r/react/styles/base-rhea/footer-2.json | 4 +- public/r/react/styles/base-rhea/footer-3.json | 4 +- public/r/react/styles/base-rhea/form.json | 21 - public/r/react/styles/base-rhea/header-1.json | 8 +- public/r/react/styles/base-rhea/header-2.json | 8 +- public/r/react/styles/base-rhea/header-3.json | 10 +- public/r/react/styles/base-rhea/header-4.json | 8 +- public/r/react/styles/base-rhea/header-5.json | 10 +- public/r/react/styles/base-rhea/hero-1.json | 4 +- public/r/react/styles/base-rhea/hero-10.json | 4 +- public/r/react/styles/base-rhea/hero-11.json | 4 +- public/r/react/styles/base-rhea/hero-12.json | 2 +- public/r/react/styles/base-rhea/hero-13.json | 2 +- public/r/react/styles/base-rhea/hero-2.json | 4 +- public/r/react/styles/base-rhea/hero-3.json | 2 +- public/r/react/styles/base-rhea/hero-4.json | 2 +- public/r/react/styles/base-rhea/hero-5.json | 4 +- public/r/react/styles/base-rhea/hero-6.json | 4 +- public/r/react/styles/base-rhea/hero-7.json | 4 +- public/r/react/styles/base-rhea/hero-8.json | 2 +- public/r/react/styles/base-rhea/hero-9.json | 4 +- .../styles/base-rhea/hover-card-examples.json | 39 - .../r/react/styles/base-rhea/hover-card.json | 22 - public/r/react/styles/base-rhea/init.json | 44 - .../styles/base-rhea/input-examples.json | 103 - .../base-rhea/input-group-examples.json | 105 - .../r/react/styles/base-rhea/input-group.json | 27 - .../styles/base-rhea/input-otp-examples.json | 77 - .../r/react/styles/base-rhea/input-otp.json | 23 - public/r/react/styles/base-rhea/input.json | 22 - .../react/styles/base-rhea/item-examples.json | 81 - public/r/react/styles/base-rhea/item.json | 26 - .../react/styles/base-rhea/kbd-examples.json | 57 - public/r/react/styles/base-rhea/kbd.json | 21 - .../styles/base-rhea/label-examples.json | 33 - public/r/react/styles/base-rhea/label.json | 21 - .../styles/base-rhea/marker-examples.json | 58 - public/r/react/styles/base-rhea/marker.json | 23 - public/r/react/styles/base-rhea/marquee.json | 2 +- .../styles/base-rhea/menubar-examples.json | 53 - public/r/react/styles/base-rhea/menubar.json | 26 - .../styles/base-rhea/message-examples.json | 51 - .../base-rhea/message-scroller-examples.json | 105 - .../styles/base-rhea/message-scroller.json | 26 - public/r/react/styles/base-rhea/message.json | 21 - .../base-rhea/native-select-examples.json | 47 - .../react/styles/base-rhea/native-select.json | 22 - .../base-rhea/navigation-menu-examples.json | 33 - .../styles/base-rhea/navigation-menu.json | 24 - .../styles/base-rhea/pagination-examples.json | 43 - .../r/react/styles/base-rhea/pagination.json | 25 - .../styles/base-rhea/popover-examples.json | 51 - public/r/react/styles/base-rhea/popover.json | 22 - .../r/react/styles/base-rhea/pricing-1.json | 10 +- .../r/react/styles/base-rhea/pricing-2.json | 8 +- .../r/react/styles/base-rhea/pricing-3.json | 10 +- .../r/react/styles/base-rhea/product-1.json | 4 +- .../r/react/styles/base-rhea/products-1.json | 4 +- .../r/react/styles/base-rhea/products-2.json | 6 +- .../r/react/styles/base-rhea/products-3.json | 4 +- .../r/react/styles/base-rhea/products-4.json | 4 +- .../r/react/styles/base-rhea/products-5.json | 6 +- .../styles/base-rhea/progress-examples.json | 43 - public/r/react/styles/base-rhea/progress.json | 22 - .../base-rhea/questionnaire-examples.json | 92 - .../react/styles/base-rhea/questionnaire.json | 26 - .../base-rhea/radio-group-examples.json | 59 - .../r/react/styles/base-rhea/radio-group.json | 22 - public/r/react/styles/base-rhea/registry.json | 7096 +++-------------- .../styles/base-rhea/resizable-examples.json | 42 - .../r/react/styles/base-rhea/resizable.json | 22 - .../r/react/styles/base-rhea/reviews-1.json | 4 +- .../r/react/styles/base-rhea/reviews-2.json | 6 +- .../r/react/styles/base-rhea/reviews-3.json | 4 +- .../r/react/styles/base-rhea/reviews-4.json | 4 +- .../r/react/styles/base-rhea/reviews-5.json | 2 +- .../base-rhea/scroll-area-examples.json | 38 - .../r/react/styles/base-rhea/scroll-area.json | 22 - .../styles/base-rhea/select-examples.json | 59 - public/r/react/styles/base-rhea/select.json | 23 - .../styles/base-rhea/separator-examples.json | 47 - .../r/react/styles/base-rhea/separator.json | 22 - .../r/react/styles/base-rhea/services-1.json | 4 +- .../r/react/styles/base-rhea/services-2.json | 4 +- .../r/react/styles/base-rhea/services-3.json | 4 +- .../r/react/styles/base-rhea/services-4.json | 2 +- .../r/react/styles/base-rhea/services-5.json | 2 +- .../r/react/styles/base-rhea/services-6.json | 4 +- .../r/react/styles/base-rhea/services-7.json | 4 +- .../styles/base-rhea/sheet-examples.json | 46 - public/r/react/styles/base-rhea/sheet.json | 26 - .../r/react/styles/base-rhea/sidebar-1.json | 16 +- .../styles/base-rhea/sidebar-examples.json | 24 - public/r/react/styles/base-rhea/sidebar.json | 33 - .../styles/base-rhea/skeleton-examples.json | 58 - public/r/react/styles/base-rhea/skeleton.json | 21 - .../styles/base-rhea/slider-examples.json | 58 - public/r/react/styles/base-rhea/slider.json | 22 - public/r/react/styles/base-rhea/sonner.json | 23 - .../styles/base-rhea/spinner-examples.json | 68 - public/r/react/styles/base-rhea/spinner.json | 22 - .../styles/base-rhea/switch-examples.json | 59 - public/r/react/styles/base-rhea/switch.json | 22 - .../styles/base-rhea/table-examples.json | 45 - public/r/react/styles/base-rhea/table.json | 21 - .../react/styles/base-rhea/tabs-examples.json | 54 - public/r/react/styles/base-rhea/tabs.json | 23 - .../styles/base-rhea/textarea-examples.json | 54 - public/r/react/styles/base-rhea/textarea.json | 21 - .../react/styles/base-rhea/theme-toggle.json | 2 +- .../styles/base-rhea/toast-examples.json | 29 - public/r/react/styles/base-rhea/toast.json | 26 - .../styles/base-rhea/toggle-examples.json | 53 - .../base-rhea/toggle-group-examples.json | 64 - .../react/styles/base-rhea/toggle-group.json | 26 - public/r/react/styles/base-rhea/toggle.json | 23 - .../styles/base-rhea/tooltip-examples.json | 50 - public/r/react/styles/base-rhea/tooltip.json | 22 - .../r/react/styles/base-rhea/use-mobile.json | 14 - .../styles/base-sera/accordion-examples.json | 58 - .../r/react/styles/base-sera/accordion.json | 23 - .../base-sera/alert-dialog-examples.json | 59 - .../react/styles/base-sera/alert-dialog.json | 25 - .../styles/base-sera/alert-examples.json | 54 - public/r/react/styles/base-sera/alert.json | 22 - .../r/react/styles/base-sera/article-1.json | 2 +- .../r/react/styles/base-sera/article-2.json | 2 +- .../r/react/styles/base-sera/articles-1.json | 2 +- .../r/react/styles/base-sera/articles-2.json | 4 +- .../r/react/styles/base-sera/articles-3.json | 2 +- .../r/react/styles/base-sera/articles-4.json | 2 +- .../base-sera/aspect-ratio-examples.json | 42 - .../react/styles/base-sera/aspect-ratio.json | 21 - .../styles/base-sera/attachment-examples.json | 48 - .../r/react/styles/base-sera/attachment.json | 26 - .../styles/base-sera/avatar-examples.json | 75 - public/r/react/styles/base-sera/avatar.json | 22 - .../styles/base-sera/badge-examples.json | 59 - public/r/react/styles/base-sera/badge.json | 23 - public/r/react/styles/base-sera/banner-2.json | 4 +- public/r/react/styles/base-sera/base.json | 143 - public/r/react/styles/base-sera/blocks-1.json | 4 +- .../styles/base-sera/breadcrumb-examples.json | 60 - .../r/react/styles/base-sera/breadcrumb.json | 23 - .../styles/base-sera/bubble-examples.json | 74 - public/r/react/styles/base-sera/bubble.json | 23 - .../styles/base-sera/button-examples.json | 95 - .../base-sera/button-group-examples.json | 92 - .../react/styles/base-sera/button-group.json | 26 - public/r/react/styles/base-sera/button.json | 23 - .../styles/base-sera/calendar-examples.json | 86 - public/r/react/styles/base-sera/calendar.json | 26 - .../react/styles/base-sera/card-examples.json | 58 - public/r/react/styles/base-sera/card.json | 21 - .../styles/base-sera/carousel-examples.json | 59 - public/r/react/styles/base-sera/carousel.json | 26 - .../styles/base-sera/chart-examples.json | 64 - public/r/react/styles/base-sera/chart.json | 22 - .../styles/base-sera/checkbox-examples.json | 65 - public/r/react/styles/base-sera/checkbox.json | 23 - .../base-sera/collapsible-examples.json | 53 - .../r/react/styles/base-sera/collapsible.json | 21 - .../styles/base-sera/combobox-examples.json | 87 - public/r/react/styles/base-sera/combobox.json | 27 - .../styles/base-sera/command-examples.json | 54 - public/r/react/styles/base-sera/command.json | 27 - .../r/react/styles/base-sera/components.json | 67 +- .../r/react/styles/base-sera/contact-1.json | 2 +- .../r/react/styles/base-sera/contact-2.json | 2 +- .../r/react/styles/base-sera/contact-3.json | 2 +- .../r/react/styles/base-sera/content-1.json | 2 +- .../r/react/styles/base-sera/content-2.json | 2 +- .../r/react/styles/base-sera/content-3.json | 2 +- .../r/react/styles/base-sera/content-4.json | 2 +- .../base-sera/context-menu-examples.json | 78 - .../react/styles/base-sera/context-menu.json | 23 - public/r/react/styles/base-sera/cta-1.json | 4 +- public/r/react/styles/base-sera/cta-2.json | 4 +- public/r/react/styles/base-sera/cta-3.json | 4 +- public/r/react/styles/base-sera/cta-4.json | 4 +- public/r/react/styles/base-sera/cta-5.json | 2 +- public/r/react/styles/base-sera/cta-6.json | 4 +- public/r/react/styles/base-sera/cta-7.json | 4 +- public/r/react/styles/base-sera/cta-8.json | 2 +- .../styles/base-sera/data-table-examples.json | 38 - .../base-sera/date-picker-examples.json | 71 - .../styles/base-sera/dialog-examples.json | 56 - public/r/react/styles/base-sera/dialog.json | 26 - .../r/react/styles/base-sera/direction.json | 21 - public/r/react/styles/base-sera/doc-1.json | 6 +- .../styles/base-sera/drawer-examples.json | 65 - public/r/react/styles/base-sera/drawer.json | 22 - .../base-sera/dropdown-menu-examples.json | 90 - .../react/styles/base-sera/dropdown-menu.json | 23 - .../styles/base-sera/empty-examples.json | 63 - public/r/react/styles/base-sera/empty.json | 22 - public/r/react/styles/base-sera/faqs-1.json | 4 +- public/r/react/styles/base-sera/faqs-2.json | 4 +- public/r/react/styles/base-sera/faqs-3.json | 4 +- public/r/react/styles/base-sera/faqs-4.json | 2 +- .../r/react/styles/base-sera/features-1.json | 2 +- .../r/react/styles/base-sera/features-4.json | 2 +- .../r/react/styles/base-sera/features-6.json | 6 +- .../styles/base-sera/field-examples.json | 94 - public/r/react/styles/base-sera/field.json | 26 - public/r/react/styles/base-sera/footer-1.json | 4 +- public/r/react/styles/base-sera/footer-2.json | 4 +- public/r/react/styles/base-sera/footer-3.json | 4 +- public/r/react/styles/base-sera/form.json | 21 - public/r/react/styles/base-sera/header-1.json | 8 +- public/r/react/styles/base-sera/header-2.json | 8 +- public/r/react/styles/base-sera/header-3.json | 10 +- public/r/react/styles/base-sera/header-4.json | 8 +- public/r/react/styles/base-sera/header-5.json | 10 +- public/r/react/styles/base-sera/hero-1.json | 4 +- public/r/react/styles/base-sera/hero-10.json | 4 +- public/r/react/styles/base-sera/hero-11.json | 4 +- public/r/react/styles/base-sera/hero-12.json | 2 +- public/r/react/styles/base-sera/hero-13.json | 2 +- public/r/react/styles/base-sera/hero-2.json | 4 +- public/r/react/styles/base-sera/hero-3.json | 2 +- public/r/react/styles/base-sera/hero-4.json | 2 +- public/r/react/styles/base-sera/hero-5.json | 4 +- public/r/react/styles/base-sera/hero-6.json | 4 +- public/r/react/styles/base-sera/hero-7.json | 4 +- public/r/react/styles/base-sera/hero-8.json | 2 +- public/r/react/styles/base-sera/hero-9.json | 4 +- .../styles/base-sera/hover-card-examples.json | 39 - .../r/react/styles/base-sera/hover-card.json | 22 - public/r/react/styles/base-sera/init.json | 44 - .../styles/base-sera/input-examples.json | 103 - .../base-sera/input-group-examples.json | 105 - .../r/react/styles/base-sera/input-group.json | 27 - .../styles/base-sera/input-otp-examples.json | 77 - .../r/react/styles/base-sera/input-otp.json | 23 - public/r/react/styles/base-sera/input.json | 22 - .../react/styles/base-sera/item-examples.json | 81 - public/r/react/styles/base-sera/item.json | 26 - .../react/styles/base-sera/kbd-examples.json | 57 - public/r/react/styles/base-sera/kbd.json | 21 - .../styles/base-sera/label-examples.json | 33 - public/r/react/styles/base-sera/label.json | 21 - .../styles/base-sera/marker-examples.json | 58 - public/r/react/styles/base-sera/marker.json | 23 - public/r/react/styles/base-sera/marquee.json | 2 +- .../styles/base-sera/menubar-examples.json | 53 - public/r/react/styles/base-sera/menubar.json | 26 - .../styles/base-sera/message-examples.json | 51 - .../base-sera/message-scroller-examples.json | 105 - .../styles/base-sera/message-scroller.json | 26 - public/r/react/styles/base-sera/message.json | 21 - .../base-sera/native-select-examples.json | 47 - .../react/styles/base-sera/native-select.json | 22 - .../base-sera/navigation-menu-examples.json | 33 - .../styles/base-sera/navigation-menu.json | 24 - .../styles/base-sera/pagination-examples.json | 43 - .../r/react/styles/base-sera/pagination.json | 25 - .../styles/base-sera/popover-examples.json | 51 - public/r/react/styles/base-sera/popover.json | 22 - .../r/react/styles/base-sera/pricing-1.json | 10 +- .../r/react/styles/base-sera/pricing-2.json | 8 +- .../r/react/styles/base-sera/pricing-3.json | 10 +- .../r/react/styles/base-sera/product-1.json | 4 +- .../r/react/styles/base-sera/products-1.json | 4 +- .../r/react/styles/base-sera/products-2.json | 6 +- .../r/react/styles/base-sera/products-3.json | 4 +- .../r/react/styles/base-sera/products-4.json | 4 +- .../r/react/styles/base-sera/products-5.json | 6 +- .../styles/base-sera/progress-examples.json | 43 - public/r/react/styles/base-sera/progress.json | 22 - .../base-sera/questionnaire-examples.json | 92 - .../react/styles/base-sera/questionnaire.json | 26 - .../base-sera/radio-group-examples.json | 59 - .../r/react/styles/base-sera/radio-group.json | 22 - public/r/react/styles/base-sera/registry.json | 7096 +++-------------- .../styles/base-sera/resizable-examples.json | 42 - .../r/react/styles/base-sera/resizable.json | 22 - .../r/react/styles/base-sera/reviews-1.json | 4 +- .../r/react/styles/base-sera/reviews-2.json | 6 +- .../r/react/styles/base-sera/reviews-3.json | 4 +- .../r/react/styles/base-sera/reviews-4.json | 4 +- .../r/react/styles/base-sera/reviews-5.json | 2 +- .../base-sera/scroll-area-examples.json | 38 - .../r/react/styles/base-sera/scroll-area.json | 22 - .../styles/base-sera/select-examples.json | 59 - public/r/react/styles/base-sera/select.json | 23 - .../styles/base-sera/separator-examples.json | 47 - .../r/react/styles/base-sera/separator.json | 22 - .../r/react/styles/base-sera/services-1.json | 4 +- .../r/react/styles/base-sera/services-2.json | 4 +- .../r/react/styles/base-sera/services-3.json | 4 +- .../r/react/styles/base-sera/services-4.json | 2 +- .../r/react/styles/base-sera/services-5.json | 2 +- .../r/react/styles/base-sera/services-6.json | 4 +- .../r/react/styles/base-sera/services-7.json | 4 +- .../styles/base-sera/sheet-examples.json | 46 - public/r/react/styles/base-sera/sheet.json | 26 - .../r/react/styles/base-sera/sidebar-1.json | 16 +- .../styles/base-sera/sidebar-examples.json | 24 - public/r/react/styles/base-sera/sidebar.json | 33 - .../styles/base-sera/skeleton-examples.json | 58 - public/r/react/styles/base-sera/skeleton.json | 21 - .../styles/base-sera/slider-examples.json | 58 - public/r/react/styles/base-sera/slider.json | 22 - public/r/react/styles/base-sera/sonner.json | 23 - .../styles/base-sera/spinner-examples.json | 68 - public/r/react/styles/base-sera/spinner.json | 22 - .../styles/base-sera/switch-examples.json | 59 - public/r/react/styles/base-sera/switch.json | 22 - .../styles/base-sera/table-examples.json | 45 - public/r/react/styles/base-sera/table.json | 21 - .../react/styles/base-sera/tabs-examples.json | 54 - public/r/react/styles/base-sera/tabs.json | 23 - .../styles/base-sera/textarea-examples.json | 54 - public/r/react/styles/base-sera/textarea.json | 21 - .../react/styles/base-sera/theme-toggle.json | 2 +- .../styles/base-sera/toast-examples.json | 29 - public/r/react/styles/base-sera/toast.json | 26 - .../styles/base-sera/toggle-examples.json | 53 - .../base-sera/toggle-group-examples.json | 64 - .../react/styles/base-sera/toggle-group.json | 26 - public/r/react/styles/base-sera/toggle.json | 23 - .../styles/base-sera/tooltip-examples.json | 50 - public/r/react/styles/base-sera/tooltip.json | 22 - .../r/react/styles/base-sera/use-mobile.json | 14 - .../styles/base-vega/accordion-examples.json | 58 - .../r/react/styles/base-vega/accordion.json | 23 - .../base-vega/alert-dialog-examples.json | 59 - .../react/styles/base-vega/alert-dialog.json | 25 - .../styles/base-vega/alert-examples.json | 54 - public/r/react/styles/base-vega/alert.json | 22 - .../r/react/styles/base-vega/article-1.json | 2 +- .../r/react/styles/base-vega/article-2.json | 2 +- .../r/react/styles/base-vega/articles-1.json | 2 +- .../r/react/styles/base-vega/articles-2.json | 4 +- .../r/react/styles/base-vega/articles-3.json | 2 +- .../r/react/styles/base-vega/articles-4.json | 2 +- .../base-vega/aspect-ratio-examples.json | 42 - .../react/styles/base-vega/aspect-ratio.json | 21 - .../styles/base-vega/attachment-examples.json | 48 - .../r/react/styles/base-vega/attachment.json | 26 - .../styles/base-vega/avatar-examples.json | 75 - public/r/react/styles/base-vega/avatar.json | 22 - .../styles/base-vega/badge-examples.json | 59 - public/r/react/styles/base-vega/badge.json | 23 - public/r/react/styles/base-vega/banner-2.json | 4 +- public/r/react/styles/base-vega/base.json | 143 - public/r/react/styles/base-vega/blocks-1.json | 4 +- .../styles/base-vega/breadcrumb-examples.json | 60 - .../r/react/styles/base-vega/breadcrumb.json | 23 - .../styles/base-vega/bubble-examples.json | 74 - public/r/react/styles/base-vega/bubble.json | 23 - .../styles/base-vega/button-examples.json | 95 - .../base-vega/button-group-examples.json | 92 - .../react/styles/base-vega/button-group.json | 26 - public/r/react/styles/base-vega/button.json | 23 - .../styles/base-vega/calendar-examples.json | 86 - public/r/react/styles/base-vega/calendar.json | 26 - .../react/styles/base-vega/card-examples.json | 58 - public/r/react/styles/base-vega/card.json | 21 - .../styles/base-vega/carousel-examples.json | 59 - public/r/react/styles/base-vega/carousel.json | 26 - .../styles/base-vega/chart-examples.json | 64 - public/r/react/styles/base-vega/chart.json | 22 - .../styles/base-vega/checkbox-examples.json | 65 - public/r/react/styles/base-vega/checkbox.json | 23 - .../base-vega/collapsible-examples.json | 53 - .../r/react/styles/base-vega/collapsible.json | 21 - .../styles/base-vega/combobox-examples.json | 87 - public/r/react/styles/base-vega/combobox.json | 27 - .../styles/base-vega/command-examples.json | 54 - public/r/react/styles/base-vega/command.json | 27 - .../r/react/styles/base-vega/components.json | 67 +- .../r/react/styles/base-vega/contact-1.json | 2 +- .../r/react/styles/base-vega/contact-2.json | 2 +- .../r/react/styles/base-vega/contact-3.json | 2 +- .../r/react/styles/base-vega/content-1.json | 2 +- .../r/react/styles/base-vega/content-2.json | 2 +- .../r/react/styles/base-vega/content-3.json | 2 +- .../r/react/styles/base-vega/content-4.json | 2 +- .../base-vega/context-menu-examples.json | 78 - .../react/styles/base-vega/context-menu.json | 23 - public/r/react/styles/base-vega/cta-1.json | 4 +- public/r/react/styles/base-vega/cta-2.json | 4 +- public/r/react/styles/base-vega/cta-3.json | 4 +- public/r/react/styles/base-vega/cta-4.json | 4 +- public/r/react/styles/base-vega/cta-5.json | 2 +- public/r/react/styles/base-vega/cta-6.json | 4 +- public/r/react/styles/base-vega/cta-7.json | 4 +- public/r/react/styles/base-vega/cta-8.json | 2 +- .../styles/base-vega/data-table-examples.json | 38 - .../base-vega/date-picker-examples.json | 71 - .../styles/base-vega/dialog-examples.json | 56 - public/r/react/styles/base-vega/dialog.json | 26 - .../r/react/styles/base-vega/direction.json | 21 - public/r/react/styles/base-vega/doc-1.json | 6 +- .../styles/base-vega/drawer-examples.json | 65 - public/r/react/styles/base-vega/drawer.json | 22 - .../base-vega/dropdown-menu-examples.json | 90 - .../react/styles/base-vega/dropdown-menu.json | 23 - .../styles/base-vega/empty-examples.json | 63 - public/r/react/styles/base-vega/empty.json | 22 - public/r/react/styles/base-vega/faqs-1.json | 4 +- public/r/react/styles/base-vega/faqs-2.json | 4 +- public/r/react/styles/base-vega/faqs-3.json | 4 +- public/r/react/styles/base-vega/faqs-4.json | 2 +- .../r/react/styles/base-vega/features-1.json | 2 +- .../r/react/styles/base-vega/features-4.json | 2 +- .../r/react/styles/base-vega/features-6.json | 6 +- .../styles/base-vega/field-examples.json | 94 - public/r/react/styles/base-vega/field.json | 26 - public/r/react/styles/base-vega/footer-1.json | 4 +- public/r/react/styles/base-vega/footer-2.json | 4 +- public/r/react/styles/base-vega/footer-3.json | 4 +- public/r/react/styles/base-vega/form.json | 21 - public/r/react/styles/base-vega/header-1.json | 8 +- public/r/react/styles/base-vega/header-2.json | 8 +- public/r/react/styles/base-vega/header-3.json | 10 +- public/r/react/styles/base-vega/header-4.json | 8 +- public/r/react/styles/base-vega/header-5.json | 10 +- public/r/react/styles/base-vega/hero-1.json | 4 +- public/r/react/styles/base-vega/hero-10.json | 4 +- public/r/react/styles/base-vega/hero-11.json | 4 +- public/r/react/styles/base-vega/hero-12.json | 2 +- public/r/react/styles/base-vega/hero-13.json | 2 +- public/r/react/styles/base-vega/hero-2.json | 4 +- public/r/react/styles/base-vega/hero-3.json | 2 +- public/r/react/styles/base-vega/hero-4.json | 2 +- public/r/react/styles/base-vega/hero-5.json | 4 +- public/r/react/styles/base-vega/hero-6.json | 4 +- public/r/react/styles/base-vega/hero-7.json | 4 +- public/r/react/styles/base-vega/hero-8.json | 2 +- public/r/react/styles/base-vega/hero-9.json | 4 +- .../styles/base-vega/hover-card-examples.json | 39 - .../r/react/styles/base-vega/hover-card.json | 22 - public/r/react/styles/base-vega/init.json | 44 - .../styles/base-vega/input-examples.json | 103 - .../base-vega/input-group-examples.json | 105 - .../r/react/styles/base-vega/input-group.json | 27 - .../styles/base-vega/input-otp-examples.json | 77 - .../r/react/styles/base-vega/input-otp.json | 23 - public/r/react/styles/base-vega/input.json | 22 - .../react/styles/base-vega/item-examples.json | 81 - public/r/react/styles/base-vega/item.json | 26 - .../react/styles/base-vega/kbd-examples.json | 57 - public/r/react/styles/base-vega/kbd.json | 21 - .../styles/base-vega/label-examples.json | 33 - public/r/react/styles/base-vega/label.json | 21 - .../styles/base-vega/marker-examples.json | 58 - public/r/react/styles/base-vega/marker.json | 23 - public/r/react/styles/base-vega/marquee.json | 2 +- .../styles/base-vega/menubar-examples.json | 53 - public/r/react/styles/base-vega/menubar.json | 26 - .../styles/base-vega/message-examples.json | 51 - .../base-vega/message-scroller-examples.json | 105 - .../styles/base-vega/message-scroller.json | 26 - public/r/react/styles/base-vega/message.json | 21 - .../base-vega/native-select-examples.json | 47 - .../react/styles/base-vega/native-select.json | 22 - .../base-vega/navigation-menu-examples.json | 33 - .../styles/base-vega/navigation-menu.json | 24 - .../styles/base-vega/pagination-examples.json | 43 - .../r/react/styles/base-vega/pagination.json | 25 - .../styles/base-vega/popover-examples.json | 51 - public/r/react/styles/base-vega/popover.json | 22 - .../r/react/styles/base-vega/pricing-1.json | 10 +- .../r/react/styles/base-vega/pricing-2.json | 8 +- .../r/react/styles/base-vega/pricing-3.json | 10 +- .../r/react/styles/base-vega/product-1.json | 4 +- .../r/react/styles/base-vega/products-1.json | 4 +- .../r/react/styles/base-vega/products-2.json | 6 +- .../r/react/styles/base-vega/products-3.json | 4 +- .../r/react/styles/base-vega/products-4.json | 4 +- .../r/react/styles/base-vega/products-5.json | 6 +- .../styles/base-vega/progress-examples.json | 43 - public/r/react/styles/base-vega/progress.json | 22 - .../base-vega/questionnaire-examples.json | 92 - .../react/styles/base-vega/questionnaire.json | 26 - .../base-vega/radio-group-examples.json | 59 - .../r/react/styles/base-vega/radio-group.json | 22 - public/r/react/styles/base-vega/registry.json | 7096 +++-------------- .../styles/base-vega/resizable-examples.json | 42 - .../r/react/styles/base-vega/resizable.json | 22 - .../r/react/styles/base-vega/reviews-1.json | 4 +- .../r/react/styles/base-vega/reviews-2.json | 6 +- .../r/react/styles/base-vega/reviews-3.json | 4 +- .../r/react/styles/base-vega/reviews-4.json | 4 +- .../r/react/styles/base-vega/reviews-5.json | 2 +- .../base-vega/scroll-area-examples.json | 38 - .../r/react/styles/base-vega/scroll-area.json | 22 - .../styles/base-vega/select-examples.json | 59 - public/r/react/styles/base-vega/select.json | 23 - .../styles/base-vega/separator-examples.json | 47 - .../r/react/styles/base-vega/separator.json | 22 - .../r/react/styles/base-vega/services-1.json | 4 +- .../r/react/styles/base-vega/services-2.json | 4 +- .../r/react/styles/base-vega/services-3.json | 4 +- .../r/react/styles/base-vega/services-4.json | 2 +- .../r/react/styles/base-vega/services-5.json | 2 +- .../r/react/styles/base-vega/services-6.json | 4 +- .../r/react/styles/base-vega/services-7.json | 4 +- .../styles/base-vega/sheet-examples.json | 46 - public/r/react/styles/base-vega/sheet.json | 26 - .../r/react/styles/base-vega/sidebar-1.json | 16 +- .../styles/base-vega/sidebar-examples.json | 24 - public/r/react/styles/base-vega/sidebar.json | 33 - .../styles/base-vega/skeleton-examples.json | 58 - public/r/react/styles/base-vega/skeleton.json | 21 - .../styles/base-vega/slider-examples.json | 58 - public/r/react/styles/base-vega/slider.json | 22 - public/r/react/styles/base-vega/sonner.json | 23 - .../styles/base-vega/spinner-examples.json | 68 - public/r/react/styles/base-vega/spinner.json | 22 - .../styles/base-vega/switch-examples.json | 59 - public/r/react/styles/base-vega/switch.json | 22 - .../styles/base-vega/table-examples.json | 45 - public/r/react/styles/base-vega/table.json | 21 - .../react/styles/base-vega/tabs-examples.json | 54 - public/r/react/styles/base-vega/tabs.json | 23 - .../styles/base-vega/textarea-examples.json | 54 - public/r/react/styles/base-vega/textarea.json | 21 - .../react/styles/base-vega/theme-toggle.json | 2 +- .../styles/base-vega/toast-examples.json | 29 - public/r/react/styles/base-vega/toast.json | 26 - .../styles/base-vega/toggle-examples.json | 53 - .../base-vega/toggle-group-examples.json | 64 - .../react/styles/base-vega/toggle-group.json | 26 - public/r/react/styles/base-vega/toggle.json | 23 - .../styles/base-vega/tooltip-examples.json | 50 - public/r/react/styles/base-vega/tooltip.json | 22 - .../r/react/styles/base-vega/use-mobile.json | 14 - public/r/registry.json | 392 +- public/r/resizable-examples.json | 2 +- public/r/resizable.json | 2 +- public/r/reviews-1.json | 2 +- public/r/reviews-2.json | 2 +- public/r/reviews-3.json | 2 +- public/r/reviews-4.json | 2 +- public/r/reviews-5.json | 2 +- public/r/section.json | 2 +- public/r/select-examples.json | 2 +- public/r/select.json | 2 +- public/r/separator-examples.json | 2 +- public/r/separator.json | 2 +- public/r/services-1.json | 2 +- public/r/services-2.json | 2 +- public/r/services-3.json | 2 +- public/r/services-4.json | 2 +- public/r/services-5.json | 2 +- public/r/services-6.json | 2 +- public/r/services-7.json | 2 +- public/r/sheet-examples.json | 2 +- public/r/sheet.json | 2 +- public/r/sidebar-1.json | 2 +- public/r/sidebar-examples.json | 2 +- public/r/sidebar.json | 2 +- public/r/skeleton-examples.json | 2 +- public/r/skeleton.json | 2 +- public/r/slider-examples.json | 2 +- public/r/slider.json | 2 +- public/r/spinner-examples.json | 2 +- public/r/spinner.json | 2 +- .../styles/base-luma/accordion-examples.json | 2 +- public/r/styles/base-luma/accordion.json | 2 +- .../base-luma/alert-dialog-examples.json | 2 +- public/r/styles/base-luma/alert-dialog.json | 2 +- public/r/styles/base-luma/alert-examples.json | 2 +- public/r/styles/base-luma/alert.json | 2 +- public/r/styles/base-luma/article-1.json | 2 +- public/r/styles/base-luma/article-2.json | 2 +- public/r/styles/base-luma/articles-1.json | 2 +- public/r/styles/base-luma/articles-2.json | 2 +- public/r/styles/base-luma/articles-3.json | 2 +- public/r/styles/base-luma/articles-4.json | 2 +- .../base-luma/aspect-ratio-examples.json | 2 +- public/r/styles/base-luma/aspect-ratio.json | 2 +- .../styles/base-luma/attachment-examples.json | 2 +- public/r/styles/base-luma/attachment.json | 2 +- .../r/styles/base-luma/avatar-examples.json | 2 +- public/r/styles/base-luma/avatar.json | 2 +- public/r/styles/base-luma/badge-examples.json | 2 +- public/r/styles/base-luma/badge.json | 2 +- public/r/styles/base-luma/banner-1.json | 2 +- public/r/styles/base-luma/banner-2.json | 2 +- public/r/styles/base-luma/banner.json | 2 +- public/r/styles/base-luma/base.json | 2 +- public/r/styles/base-luma/blocks-1.json | 2 +- public/r/styles/base-luma/blocks.json | 2 +- .../styles/base-luma/breadcrumb-examples.json | 2 +- public/r/styles/base-luma/breadcrumb.json | 2 +- .../r/styles/base-luma/button-examples.json | 2 +- .../base-luma/button-group-examples.json | 2 +- public/r/styles/base-luma/button-group.json | 2 +- public/r/styles/base-luma/button.json | 2 +- public/r/styles/base-luma/card-examples.json | 2 +- public/r/styles/base-luma/card.json | 2 +- .../r/styles/base-luma/carousel-examples.json | 2 +- public/r/styles/base-luma/carousel.json | 2 +- .../r/styles/base-luma/checkbox-examples.json | 2 +- public/r/styles/base-luma/checkbox.json | 2 +- .../base-luma/collapsible-examples.json | 2 +- public/r/styles/base-luma/collapsible.json | 2 +- .../r/styles/base-luma/combobox-examples.json | 2 +- public/r/styles/base-luma/combobox.json | 2 +- .../r/styles/base-luma/command-examples.json | 2 +- public/r/styles/base-luma/command.json | 2 +- public/r/styles/base-luma/components.json | 2 +- public/r/styles/base-luma/contact-1.json | 2 +- public/r/styles/base-luma/contact-2.json | 2 +- public/r/styles/base-luma/contact-3.json | 2 +- public/r/styles/base-luma/content-1.json | 2 +- public/r/styles/base-luma/content-2.json | 2 +- public/r/styles/base-luma/content-3.json | 2 +- public/r/styles/base-luma/content-4.json | 2 +- public/r/styles/base-luma/cta-1.json | 2 +- public/r/styles/base-luma/cta-2.json | 2 +- public/r/styles/base-luma/cta-3.json | 2 +- public/r/styles/base-luma/cta-4.json | 2 +- public/r/styles/base-luma/cta-5.json | 2 +- public/r/styles/base-luma/cta-6.json | 2 +- public/r/styles/base-luma/cta-7.json | 2 +- public/r/styles/base-luma/cta-8.json | 2 +- .../r/styles/base-luma/dialog-examples.json | 2 +- public/r/styles/base-luma/dialog.json | 2 +- public/r/styles/base-luma/doc-1.json | 2 +- .../r/styles/base-luma/drawer-examples.json | 2 +- public/r/styles/base-luma/drawer.json | 2 +- .../base-luma/dropdown-menu-examples.json | 2 +- public/r/styles/base-luma/dropdown-menu.json | 2 +- public/r/styles/base-luma/empty-examples.json | 2 +- public/r/styles/base-luma/empty.json | 2 +- public/r/styles/base-luma/faqs-1.json | 2 +- public/r/styles/base-luma/faqs-2.json | 2 +- public/r/styles/base-luma/faqs-3.json | 2 +- public/r/styles/base-luma/faqs-4.json | 2 +- public/r/styles/base-luma/features-1.json | 2 +- public/r/styles/base-luma/features-2.json | 2 +- public/r/styles/base-luma/features-3.json | 2 +- public/r/styles/base-luma/features-4.json | 2 +- public/r/styles/base-luma/features-5.json | 2 +- public/r/styles/base-luma/features-6.json | 2 +- public/r/styles/base-luma/field-examples.json | 2 +- public/r/styles/base-luma/field.json | 2 +- public/r/styles/base-luma/footer-1.json | 2 +- public/r/styles/base-luma/footer-2.json | 2 +- public/r/styles/base-luma/footer-3.json | 2 +- public/r/styles/base-luma/form.json | 2 +- public/r/styles/base-luma/header-1.json | 2 +- public/r/styles/base-luma/header-2.json | 2 +- public/r/styles/base-luma/header-3.json | 2 +- public/r/styles/base-luma/header-4.json | 2 +- public/r/styles/base-luma/header-5.json | 2 +- public/r/styles/base-luma/header.json | 2 +- public/r/styles/base-luma/hero-1.json | 2 +- public/r/styles/base-luma/hero-10.json | 2 +- public/r/styles/base-luma/hero-11.json | 2 +- public/r/styles/base-luma/hero-12.json | 2 +- public/r/styles/base-luma/hero-13.json | 2 +- public/r/styles/base-luma/hero-2.json | 2 +- public/r/styles/base-luma/hero-3.json | 2 +- public/r/styles/base-luma/hero-4.json | 2 +- public/r/styles/base-luma/hero-5.json | 2 +- public/r/styles/base-luma/hero-6.json | 2 +- public/r/styles/base-luma/hero-7.json | 2 +- public/r/styles/base-luma/hero-8.json | 2 +- public/r/styles/base-luma/hero-9.json | 2 +- .../styles/base-luma/hover-card-examples.json | 2 +- public/r/styles/base-luma/hover-card.json | 2 +- public/r/styles/base-luma/icon.json | 2 +- public/r/styles/base-luma/init.json | 2 +- public/r/styles/base-luma/input-examples.json | 2 +- .../base-luma/input-group-examples.json | 2 +- public/r/styles/base-luma/input-group.json | 2 +- public/r/styles/base-luma/input.json | 2 +- public/r/styles/base-luma/item-examples.json | 2 +- public/r/styles/base-luma/item.json | 2 +- public/r/styles/base-luma/kbd-examples.json | 2 +- public/r/styles/base-luma/kbd.json | 2 +- public/r/styles/base-luma/label-examples.json | 2 +- public/r/styles/base-luma/label.json | 2 +- public/r/styles/base-luma/layout.json | 2 +- public/r/styles/base-luma/links-2.json | 2 +- public/r/styles/base-luma/logo.json | 2 +- public/r/styles/base-luma/logos-1.json | 2 +- public/r/styles/base-luma/logos-2.json | 2 +- public/r/styles/base-luma/logos-3.json | 2 +- public/r/styles/base-luma/marquee.json | 2 +- .../base-luma/native-select-examples.json | 2 +- public/r/styles/base-luma/native-select.json | 2 +- .../base-luma/navigation-menu-examples.json | 2 +- .../r/styles/base-luma/navigation-menu.json | 2 +- .../styles/base-luma/pagination-examples.json | 2 +- public/r/styles/base-luma/pagination.json | 2 +- .../r/styles/base-luma/popover-examples.json | 2 +- public/r/styles/base-luma/popover.json | 2 +- public/r/styles/base-luma/price.json | 2 +- public/r/styles/base-luma/pricing-1.json | 2 +- public/r/styles/base-luma/pricing-2.json | 2 +- public/r/styles/base-luma/pricing-3.json | 2 +- public/r/styles/base-luma/product-1.json | 2 +- public/r/styles/base-luma/products-1.json | 2 +- public/r/styles/base-luma/products-2.json | 2 +- public/r/styles/base-luma/products-3.json | 2 +- public/r/styles/base-luma/products-4.json | 2 +- public/r/styles/base-luma/products-5.json | 2 +- .../base-luma/radio-group-examples.json | 2 +- public/r/styles/base-luma/radio-group.json | 2 +- public/r/styles/base-luma/rating.json | 2 +- public/r/styles/base-luma/registry.json | 392 +- .../styles/base-luma/resizable-examples.json | 2 +- public/r/styles/base-luma/resizable.json | 2 +- public/r/styles/base-luma/reviews-1.json | 2 +- public/r/styles/base-luma/reviews-2.json | 2 +- public/r/styles/base-luma/reviews-3.json | 2 +- public/r/styles/base-luma/reviews-4.json | 2 +- public/r/styles/base-luma/reviews-5.json | 2 +- public/r/styles/base-luma/section.json | 2 +- .../r/styles/base-luma/select-examples.json | 2 +- public/r/styles/base-luma/select.json | 2 +- .../styles/base-luma/separator-examples.json | 2 +- public/r/styles/base-luma/separator.json | 2 +- public/r/styles/base-luma/services-1.json | 2 +- public/r/styles/base-luma/services-2.json | 2 +- public/r/styles/base-luma/services-3.json | 2 +- public/r/styles/base-luma/services-4.json | 2 +- public/r/styles/base-luma/services-5.json | 2 +- public/r/styles/base-luma/services-6.json | 2 +- public/r/styles/base-luma/services-7.json | 2 +- public/r/styles/base-luma/sheet-examples.json | 2 +- public/r/styles/base-luma/sheet.json | 2 +- public/r/styles/base-luma/sidebar-1.json | 2 +- .../r/styles/base-luma/sidebar-examples.json | 2 +- public/r/styles/base-luma/sidebar.json | 2 +- .../r/styles/base-luma/skeleton-examples.json | 2 +- public/r/styles/base-luma/skeleton.json | 2 +- .../r/styles/base-luma/slider-examples.json | 2 +- public/r/styles/base-luma/slider.json | 2 +- .../r/styles/base-luma/spinner-examples.json | 2 +- public/r/styles/base-luma/spinner.json | 2 +- .../r/styles/base-luma/switch-examples.json | 2 +- public/r/styles/base-luma/switch.json | 2 +- public/r/styles/base-luma/table-examples.json | 2 +- public/r/styles/base-luma/table.json | 2 +- public/r/styles/base-luma/tabs-examples.json | 2 +- public/r/styles/base-luma/tabs.json | 2 +- .../r/styles/base-luma/textarea-examples.json | 2 +- public/r/styles/base-luma/textarea.json | 2 +- public/r/styles/base-luma/theme-toggle.json | 2 +- public/r/styles/base-luma/toast-examples.json | 2 +- public/r/styles/base-luma/toast.json | 2 +- public/r/styles/base-luma/toc.json | 2 +- .../r/styles/base-luma/toggle-examples.json | 2 +- .../base-luma/toggle-group-examples.json | 2 +- public/r/styles/base-luma/toggle-group.json | 2 +- public/r/styles/base-luma/toggle.json | 2 +- .../r/styles/base-luma/tooltip-examples.json | 2 +- public/r/styles/base-luma/tooltip.json | 2 +- public/r/styles/base-luma/typography.json | 2 +- public/r/styles/base-luma/video.json | 2 +- .../styles/base-lyra/accordion-examples.json | 2 +- public/r/styles/base-lyra/accordion.json | 2 +- .../base-lyra/alert-dialog-examples.json | 2 +- public/r/styles/base-lyra/alert-dialog.json | 2 +- public/r/styles/base-lyra/alert-examples.json | 2 +- public/r/styles/base-lyra/alert.json | 2 +- public/r/styles/base-lyra/article-1.json | 2 +- public/r/styles/base-lyra/article-2.json | 2 +- public/r/styles/base-lyra/articles-1.json | 2 +- public/r/styles/base-lyra/articles-2.json | 2 +- public/r/styles/base-lyra/articles-3.json | 2 +- public/r/styles/base-lyra/articles-4.json | 2 +- .../base-lyra/aspect-ratio-examples.json | 2 +- public/r/styles/base-lyra/aspect-ratio.json | 2 +- .../styles/base-lyra/attachment-examples.json | 2 +- public/r/styles/base-lyra/attachment.json | 2 +- .../r/styles/base-lyra/avatar-examples.json | 2 +- public/r/styles/base-lyra/avatar.json | 2 +- public/r/styles/base-lyra/badge-examples.json | 2 +- public/r/styles/base-lyra/badge.json | 2 +- public/r/styles/base-lyra/banner-1.json | 2 +- public/r/styles/base-lyra/banner-2.json | 2 +- public/r/styles/base-lyra/banner.json | 2 +- public/r/styles/base-lyra/base.json | 2 +- public/r/styles/base-lyra/blocks-1.json | 2 +- public/r/styles/base-lyra/blocks.json | 2 +- .../styles/base-lyra/breadcrumb-examples.json | 2 +- public/r/styles/base-lyra/breadcrumb.json | 2 +- .../r/styles/base-lyra/button-examples.json | 2 +- .../base-lyra/button-group-examples.json | 2 +- public/r/styles/base-lyra/button-group.json | 2 +- public/r/styles/base-lyra/button.json | 2 +- public/r/styles/base-lyra/card-examples.json | 2 +- public/r/styles/base-lyra/card.json | 2 +- .../r/styles/base-lyra/carousel-examples.json | 2 +- public/r/styles/base-lyra/carousel.json | 2 +- .../r/styles/base-lyra/checkbox-examples.json | 2 +- public/r/styles/base-lyra/checkbox.json | 2 +- .../base-lyra/collapsible-examples.json | 2 +- public/r/styles/base-lyra/collapsible.json | 2 +- .../r/styles/base-lyra/combobox-examples.json | 2 +- public/r/styles/base-lyra/combobox.json | 2 +- .../r/styles/base-lyra/command-examples.json | 2 +- public/r/styles/base-lyra/command.json | 2 +- public/r/styles/base-lyra/components.json | 2 +- public/r/styles/base-lyra/contact-1.json | 2 +- public/r/styles/base-lyra/contact-2.json | 2 +- public/r/styles/base-lyra/contact-3.json | 2 +- public/r/styles/base-lyra/content-1.json | 2 +- public/r/styles/base-lyra/content-2.json | 2 +- public/r/styles/base-lyra/content-3.json | 2 +- public/r/styles/base-lyra/content-4.json | 2 +- public/r/styles/base-lyra/cta-1.json | 2 +- public/r/styles/base-lyra/cta-2.json | 2 +- public/r/styles/base-lyra/cta-3.json | 2 +- public/r/styles/base-lyra/cta-4.json | 2 +- public/r/styles/base-lyra/cta-5.json | 2 +- public/r/styles/base-lyra/cta-6.json | 2 +- public/r/styles/base-lyra/cta-7.json | 2 +- public/r/styles/base-lyra/cta-8.json | 2 +- .../r/styles/base-lyra/dialog-examples.json | 2 +- public/r/styles/base-lyra/dialog.json | 2 +- public/r/styles/base-lyra/doc-1.json | 2 +- .../r/styles/base-lyra/drawer-examples.json | 2 +- public/r/styles/base-lyra/drawer.json | 2 +- .../base-lyra/dropdown-menu-examples.json | 2 +- public/r/styles/base-lyra/dropdown-menu.json | 2 +- public/r/styles/base-lyra/empty-examples.json | 2 +- public/r/styles/base-lyra/empty.json | 2 +- public/r/styles/base-lyra/faqs-1.json | 2 +- public/r/styles/base-lyra/faqs-2.json | 2 +- public/r/styles/base-lyra/faqs-3.json | 2 +- public/r/styles/base-lyra/faqs-4.json | 2 +- public/r/styles/base-lyra/features-1.json | 2 +- public/r/styles/base-lyra/features-2.json | 2 +- public/r/styles/base-lyra/features-3.json | 2 +- public/r/styles/base-lyra/features-4.json | 2 +- public/r/styles/base-lyra/features-5.json | 2 +- public/r/styles/base-lyra/features-6.json | 2 +- public/r/styles/base-lyra/field-examples.json | 2 +- public/r/styles/base-lyra/field.json | 2 +- public/r/styles/base-lyra/footer-1.json | 2 +- public/r/styles/base-lyra/footer-2.json | 2 +- public/r/styles/base-lyra/footer-3.json | 2 +- public/r/styles/base-lyra/form.json | 2 +- public/r/styles/base-lyra/header-1.json | 2 +- public/r/styles/base-lyra/header-2.json | 2 +- public/r/styles/base-lyra/header-3.json | 2 +- public/r/styles/base-lyra/header-4.json | 2 +- public/r/styles/base-lyra/header-5.json | 2 +- public/r/styles/base-lyra/header.json | 2 +- public/r/styles/base-lyra/hero-1.json | 2 +- public/r/styles/base-lyra/hero-10.json | 2 +- public/r/styles/base-lyra/hero-11.json | 2 +- public/r/styles/base-lyra/hero-12.json | 2 +- public/r/styles/base-lyra/hero-13.json | 2 +- public/r/styles/base-lyra/hero-2.json | 2 +- public/r/styles/base-lyra/hero-3.json | 2 +- public/r/styles/base-lyra/hero-4.json | 2 +- public/r/styles/base-lyra/hero-5.json | 2 +- public/r/styles/base-lyra/hero-6.json | 2 +- public/r/styles/base-lyra/hero-7.json | 2 +- public/r/styles/base-lyra/hero-8.json | 2 +- public/r/styles/base-lyra/hero-9.json | 2 +- .../styles/base-lyra/hover-card-examples.json | 2 +- public/r/styles/base-lyra/hover-card.json | 2 +- public/r/styles/base-lyra/icon.json | 2 +- public/r/styles/base-lyra/init.json | 2 +- public/r/styles/base-lyra/input-examples.json | 2 +- .../base-lyra/input-group-examples.json | 2 +- public/r/styles/base-lyra/input-group.json | 2 +- public/r/styles/base-lyra/input.json | 2 +- public/r/styles/base-lyra/item-examples.json | 2 +- public/r/styles/base-lyra/item.json | 2 +- public/r/styles/base-lyra/kbd-examples.json | 2 +- public/r/styles/base-lyra/kbd.json | 2 +- public/r/styles/base-lyra/label-examples.json | 2 +- public/r/styles/base-lyra/label.json | 2 +- public/r/styles/base-lyra/layout.json | 2 +- public/r/styles/base-lyra/links-2.json | 2 +- public/r/styles/base-lyra/logo.json | 2 +- public/r/styles/base-lyra/logos-1.json | 2 +- public/r/styles/base-lyra/logos-2.json | 2 +- public/r/styles/base-lyra/logos-3.json | 2 +- public/r/styles/base-lyra/marquee.json | 2 +- .../base-lyra/native-select-examples.json | 2 +- public/r/styles/base-lyra/native-select.json | 2 +- .../base-lyra/navigation-menu-examples.json | 2 +- .../r/styles/base-lyra/navigation-menu.json | 2 +- .../styles/base-lyra/pagination-examples.json | 2 +- public/r/styles/base-lyra/pagination.json | 2 +- .../r/styles/base-lyra/popover-examples.json | 2 +- public/r/styles/base-lyra/popover.json | 2 +- public/r/styles/base-lyra/price.json | 2 +- public/r/styles/base-lyra/pricing-1.json | 2 +- public/r/styles/base-lyra/pricing-2.json | 2 +- public/r/styles/base-lyra/pricing-3.json | 2 +- public/r/styles/base-lyra/product-1.json | 2 +- public/r/styles/base-lyra/products-1.json | 2 +- public/r/styles/base-lyra/products-2.json | 2 +- public/r/styles/base-lyra/products-3.json | 2 +- public/r/styles/base-lyra/products-4.json | 2 +- public/r/styles/base-lyra/products-5.json | 2 +- .../base-lyra/radio-group-examples.json | 2 +- public/r/styles/base-lyra/radio-group.json | 2 +- public/r/styles/base-lyra/rating.json | 2 +- public/r/styles/base-lyra/registry.json | 392 +- .../styles/base-lyra/resizable-examples.json | 2 +- public/r/styles/base-lyra/resizable.json | 2 +- public/r/styles/base-lyra/reviews-1.json | 2 +- public/r/styles/base-lyra/reviews-2.json | 2 +- public/r/styles/base-lyra/reviews-3.json | 2 +- public/r/styles/base-lyra/reviews-4.json | 2 +- public/r/styles/base-lyra/reviews-5.json | 2 +- public/r/styles/base-lyra/section.json | 2 +- .../r/styles/base-lyra/select-examples.json | 2 +- public/r/styles/base-lyra/select.json | 2 +- .../styles/base-lyra/separator-examples.json | 2 +- public/r/styles/base-lyra/separator.json | 2 +- public/r/styles/base-lyra/services-1.json | 2 +- public/r/styles/base-lyra/services-2.json | 2 +- public/r/styles/base-lyra/services-3.json | 2 +- public/r/styles/base-lyra/services-4.json | 2 +- public/r/styles/base-lyra/services-5.json | 2 +- public/r/styles/base-lyra/services-6.json | 2 +- public/r/styles/base-lyra/services-7.json | 2 +- public/r/styles/base-lyra/sheet-examples.json | 2 +- public/r/styles/base-lyra/sheet.json | 2 +- public/r/styles/base-lyra/sidebar-1.json | 2 +- .../r/styles/base-lyra/sidebar-examples.json | 2 +- public/r/styles/base-lyra/sidebar.json | 2 +- .../r/styles/base-lyra/skeleton-examples.json | 2 +- public/r/styles/base-lyra/skeleton.json | 2 +- .../r/styles/base-lyra/slider-examples.json | 2 +- public/r/styles/base-lyra/slider.json | 2 +- .../r/styles/base-lyra/spinner-examples.json | 2 +- public/r/styles/base-lyra/spinner.json | 2 +- .../r/styles/base-lyra/switch-examples.json | 2 +- public/r/styles/base-lyra/switch.json | 2 +- public/r/styles/base-lyra/table-examples.json | 2 +- public/r/styles/base-lyra/table.json | 2 +- public/r/styles/base-lyra/tabs-examples.json | 2 +- public/r/styles/base-lyra/tabs.json | 2 +- .../r/styles/base-lyra/textarea-examples.json | 2 +- public/r/styles/base-lyra/textarea.json | 2 +- public/r/styles/base-lyra/theme-toggle.json | 2 +- public/r/styles/base-lyra/toast-examples.json | 2 +- public/r/styles/base-lyra/toast.json | 2 +- public/r/styles/base-lyra/toc.json | 2 +- .../r/styles/base-lyra/toggle-examples.json | 2 +- .../base-lyra/toggle-group-examples.json | 2 +- public/r/styles/base-lyra/toggle-group.json | 2 +- public/r/styles/base-lyra/toggle.json | 2 +- .../r/styles/base-lyra/tooltip-examples.json | 2 +- public/r/styles/base-lyra/tooltip.json | 2 +- public/r/styles/base-lyra/typography.json | 2 +- public/r/styles/base-lyra/video.json | 2 +- .../styles/base-maia/accordion-examples.json | 2 +- public/r/styles/base-maia/accordion.json | 2 +- .../base-maia/alert-dialog-examples.json | 2 +- public/r/styles/base-maia/alert-dialog.json | 2 +- public/r/styles/base-maia/alert-examples.json | 2 +- public/r/styles/base-maia/alert.json | 2 +- public/r/styles/base-maia/article-1.json | 2 +- public/r/styles/base-maia/article-2.json | 2 +- public/r/styles/base-maia/articles-1.json | 2 +- public/r/styles/base-maia/articles-2.json | 2 +- public/r/styles/base-maia/articles-3.json | 2 +- public/r/styles/base-maia/articles-4.json | 2 +- .../base-maia/aspect-ratio-examples.json | 2 +- public/r/styles/base-maia/aspect-ratio.json | 2 +- .../styles/base-maia/attachment-examples.json | 2 +- public/r/styles/base-maia/attachment.json | 2 +- .../r/styles/base-maia/avatar-examples.json | 2 +- public/r/styles/base-maia/avatar.json | 2 +- public/r/styles/base-maia/badge-examples.json | 2 +- public/r/styles/base-maia/badge.json | 2 +- public/r/styles/base-maia/banner-1.json | 2 +- public/r/styles/base-maia/banner-2.json | 2 +- public/r/styles/base-maia/banner.json | 2 +- public/r/styles/base-maia/base.json | 2 +- public/r/styles/base-maia/blocks-1.json | 2 +- public/r/styles/base-maia/blocks.json | 2 +- .../styles/base-maia/breadcrumb-examples.json | 2 +- public/r/styles/base-maia/breadcrumb.json | 2 +- .../r/styles/base-maia/button-examples.json | 2 +- .../base-maia/button-group-examples.json | 2 +- public/r/styles/base-maia/button-group.json | 2 +- public/r/styles/base-maia/button.json | 2 +- public/r/styles/base-maia/card-examples.json | 2 +- public/r/styles/base-maia/card.json | 2 +- .../r/styles/base-maia/carousel-examples.json | 2 +- public/r/styles/base-maia/carousel.json | 2 +- .../r/styles/base-maia/checkbox-examples.json | 2 +- public/r/styles/base-maia/checkbox.json | 2 +- .../base-maia/collapsible-examples.json | 2 +- public/r/styles/base-maia/collapsible.json | 2 +- .../r/styles/base-maia/combobox-examples.json | 2 +- public/r/styles/base-maia/combobox.json | 2 +- .../r/styles/base-maia/command-examples.json | 2 +- public/r/styles/base-maia/command.json | 2 +- public/r/styles/base-maia/components.json | 2 +- public/r/styles/base-maia/contact-1.json | 2 +- public/r/styles/base-maia/contact-2.json | 2 +- public/r/styles/base-maia/contact-3.json | 2 +- public/r/styles/base-maia/content-1.json | 2 +- public/r/styles/base-maia/content-2.json | 2 +- public/r/styles/base-maia/content-3.json | 2 +- public/r/styles/base-maia/content-4.json | 2 +- public/r/styles/base-maia/cta-1.json | 2 +- public/r/styles/base-maia/cta-2.json | 2 +- public/r/styles/base-maia/cta-3.json | 2 +- public/r/styles/base-maia/cta-4.json | 2 +- public/r/styles/base-maia/cta-5.json | 2 +- public/r/styles/base-maia/cta-6.json | 2 +- public/r/styles/base-maia/cta-7.json | 2 +- public/r/styles/base-maia/cta-8.json | 2 +- .../r/styles/base-maia/dialog-examples.json | 2 +- public/r/styles/base-maia/dialog.json | 2 +- public/r/styles/base-maia/doc-1.json | 2 +- .../r/styles/base-maia/drawer-examples.json | 2 +- public/r/styles/base-maia/drawer.json | 2 +- .../base-maia/dropdown-menu-examples.json | 2 +- public/r/styles/base-maia/dropdown-menu.json | 2 +- public/r/styles/base-maia/empty-examples.json | 2 +- public/r/styles/base-maia/empty.json | 2 +- public/r/styles/base-maia/faqs-1.json | 2 +- public/r/styles/base-maia/faqs-2.json | 2 +- public/r/styles/base-maia/faqs-3.json | 2 +- public/r/styles/base-maia/faqs-4.json | 2 +- public/r/styles/base-maia/features-1.json | 2 +- public/r/styles/base-maia/features-2.json | 2 +- public/r/styles/base-maia/features-3.json | 2 +- public/r/styles/base-maia/features-4.json | 2 +- public/r/styles/base-maia/features-5.json | 2 +- public/r/styles/base-maia/features-6.json | 2 +- public/r/styles/base-maia/field-examples.json | 2 +- public/r/styles/base-maia/field.json | 2 +- public/r/styles/base-maia/footer-1.json | 2 +- public/r/styles/base-maia/footer-2.json | 2 +- public/r/styles/base-maia/footer-3.json | 2 +- public/r/styles/base-maia/form.json | 2 +- public/r/styles/base-maia/header-1.json | 2 +- public/r/styles/base-maia/header-2.json | 2 +- public/r/styles/base-maia/header-3.json | 2 +- public/r/styles/base-maia/header-4.json | 2 +- public/r/styles/base-maia/header-5.json | 2 +- public/r/styles/base-maia/header.json | 2 +- public/r/styles/base-maia/hero-1.json | 2 +- public/r/styles/base-maia/hero-10.json | 2 +- public/r/styles/base-maia/hero-11.json | 2 +- public/r/styles/base-maia/hero-12.json | 2 +- public/r/styles/base-maia/hero-13.json | 2 +- public/r/styles/base-maia/hero-2.json | 2 +- public/r/styles/base-maia/hero-3.json | 2 +- public/r/styles/base-maia/hero-4.json | 2 +- public/r/styles/base-maia/hero-5.json | 2 +- public/r/styles/base-maia/hero-6.json | 2 +- public/r/styles/base-maia/hero-7.json | 2 +- public/r/styles/base-maia/hero-8.json | 2 +- public/r/styles/base-maia/hero-9.json | 2 +- .../styles/base-maia/hover-card-examples.json | 2 +- public/r/styles/base-maia/hover-card.json | 2 +- public/r/styles/base-maia/icon.json | 2 +- public/r/styles/base-maia/init.json | 2 +- public/r/styles/base-maia/input-examples.json | 2 +- .../base-maia/input-group-examples.json | 2 +- public/r/styles/base-maia/input-group.json | 2 +- public/r/styles/base-maia/input.json | 2 +- public/r/styles/base-maia/item-examples.json | 2 +- public/r/styles/base-maia/item.json | 2 +- public/r/styles/base-maia/kbd-examples.json | 2 +- public/r/styles/base-maia/kbd.json | 2 +- public/r/styles/base-maia/label-examples.json | 2 +- public/r/styles/base-maia/label.json | 2 +- public/r/styles/base-maia/layout.json | 2 +- public/r/styles/base-maia/links-2.json | 2 +- public/r/styles/base-maia/logo.json | 2 +- public/r/styles/base-maia/logos-1.json | 2 +- public/r/styles/base-maia/logos-2.json | 2 +- public/r/styles/base-maia/logos-3.json | 2 +- public/r/styles/base-maia/marquee.json | 2 +- .../base-maia/native-select-examples.json | 2 +- public/r/styles/base-maia/native-select.json | 2 +- .../base-maia/navigation-menu-examples.json | 2 +- .../r/styles/base-maia/navigation-menu.json | 2 +- .../styles/base-maia/pagination-examples.json | 2 +- public/r/styles/base-maia/pagination.json | 2 +- .../r/styles/base-maia/popover-examples.json | 2 +- public/r/styles/base-maia/popover.json | 2 +- public/r/styles/base-maia/price.json | 2 +- public/r/styles/base-maia/pricing-1.json | 2 +- public/r/styles/base-maia/pricing-2.json | 2 +- public/r/styles/base-maia/pricing-3.json | 2 +- public/r/styles/base-maia/product-1.json | 2 +- public/r/styles/base-maia/products-1.json | 2 +- public/r/styles/base-maia/products-2.json | 2 +- public/r/styles/base-maia/products-3.json | 2 +- public/r/styles/base-maia/products-4.json | 2 +- public/r/styles/base-maia/products-5.json | 2 +- .../base-maia/radio-group-examples.json | 2 +- public/r/styles/base-maia/radio-group.json | 2 +- public/r/styles/base-maia/rating.json | 2 +- public/r/styles/base-maia/registry.json | 392 +- .../styles/base-maia/resizable-examples.json | 2 +- public/r/styles/base-maia/resizable.json | 2 +- public/r/styles/base-maia/reviews-1.json | 2 +- public/r/styles/base-maia/reviews-2.json | 2 +- public/r/styles/base-maia/reviews-3.json | 2 +- public/r/styles/base-maia/reviews-4.json | 2 +- public/r/styles/base-maia/reviews-5.json | 2 +- public/r/styles/base-maia/section.json | 2 +- .../r/styles/base-maia/select-examples.json | 2 +- public/r/styles/base-maia/select.json | 2 +- .../styles/base-maia/separator-examples.json | 2 +- public/r/styles/base-maia/separator.json | 2 +- public/r/styles/base-maia/services-1.json | 2 +- public/r/styles/base-maia/services-2.json | 2 +- public/r/styles/base-maia/services-3.json | 2 +- public/r/styles/base-maia/services-4.json | 2 +- public/r/styles/base-maia/services-5.json | 2 +- public/r/styles/base-maia/services-6.json | 2 +- public/r/styles/base-maia/services-7.json | 2 +- public/r/styles/base-maia/sheet-examples.json | 2 +- public/r/styles/base-maia/sheet.json | 2 +- public/r/styles/base-maia/sidebar-1.json | 2 +- .../r/styles/base-maia/sidebar-examples.json | 2 +- public/r/styles/base-maia/sidebar.json | 2 +- .../r/styles/base-maia/skeleton-examples.json | 2 +- public/r/styles/base-maia/skeleton.json | 2 +- .../r/styles/base-maia/slider-examples.json | 2 +- public/r/styles/base-maia/slider.json | 2 +- .../r/styles/base-maia/spinner-examples.json | 2 +- public/r/styles/base-maia/spinner.json | 2 +- .../r/styles/base-maia/switch-examples.json | 2 +- public/r/styles/base-maia/switch.json | 2 +- public/r/styles/base-maia/table-examples.json | 2 +- public/r/styles/base-maia/table.json | 2 +- public/r/styles/base-maia/tabs-examples.json | 2 +- public/r/styles/base-maia/tabs.json | 2 +- .../r/styles/base-maia/textarea-examples.json | 2 +- public/r/styles/base-maia/textarea.json | 2 +- public/r/styles/base-maia/theme-toggle.json | 2 +- public/r/styles/base-maia/toast-examples.json | 2 +- public/r/styles/base-maia/toast.json | 2 +- public/r/styles/base-maia/toc.json | 2 +- .../r/styles/base-maia/toggle-examples.json | 2 +- .../base-maia/toggle-group-examples.json | 2 +- public/r/styles/base-maia/toggle-group.json | 2 +- public/r/styles/base-maia/toggle.json | 2 +- .../r/styles/base-maia/tooltip-examples.json | 2 +- public/r/styles/base-maia/tooltip.json | 2 +- public/r/styles/base-maia/typography.json | 2 +- public/r/styles/base-maia/video.json | 2 +- .../styles/base-mira/accordion-examples.json | 2 +- public/r/styles/base-mira/accordion.json | 2 +- .../base-mira/alert-dialog-examples.json | 2 +- public/r/styles/base-mira/alert-dialog.json | 2 +- public/r/styles/base-mira/alert-examples.json | 2 +- public/r/styles/base-mira/alert.json | 2 +- public/r/styles/base-mira/article-1.json | 2 +- public/r/styles/base-mira/article-2.json | 2 +- public/r/styles/base-mira/articles-1.json | 2 +- public/r/styles/base-mira/articles-2.json | 2 +- public/r/styles/base-mira/articles-3.json | 2 +- public/r/styles/base-mira/articles-4.json | 2 +- .../base-mira/aspect-ratio-examples.json | 2 +- public/r/styles/base-mira/aspect-ratio.json | 2 +- .../styles/base-mira/attachment-examples.json | 2 +- public/r/styles/base-mira/attachment.json | 2 +- .../r/styles/base-mira/avatar-examples.json | 2 +- public/r/styles/base-mira/avatar.json | 2 +- public/r/styles/base-mira/badge-examples.json | 2 +- public/r/styles/base-mira/badge.json | 2 +- public/r/styles/base-mira/banner-1.json | 2 +- public/r/styles/base-mira/banner-2.json | 2 +- public/r/styles/base-mira/banner.json | 2 +- public/r/styles/base-mira/base.json | 2 +- public/r/styles/base-mira/blocks-1.json | 2 +- public/r/styles/base-mira/blocks.json | 2 +- .../styles/base-mira/breadcrumb-examples.json | 2 +- public/r/styles/base-mira/breadcrumb.json | 2 +- .../r/styles/base-mira/button-examples.json | 2 +- .../base-mira/button-group-examples.json | 2 +- public/r/styles/base-mira/button-group.json | 2 +- public/r/styles/base-mira/button.json | 2 +- public/r/styles/base-mira/card-examples.json | 2 +- public/r/styles/base-mira/card.json | 2 +- .../r/styles/base-mira/carousel-examples.json | 2 +- public/r/styles/base-mira/carousel.json | 2 +- .../r/styles/base-mira/checkbox-examples.json | 2 +- public/r/styles/base-mira/checkbox.json | 2 +- .../base-mira/collapsible-examples.json | 2 +- public/r/styles/base-mira/collapsible.json | 2 +- .../r/styles/base-mira/combobox-examples.json | 2 +- public/r/styles/base-mira/combobox.json | 2 +- .../r/styles/base-mira/command-examples.json | 2 +- public/r/styles/base-mira/command.json | 2 +- public/r/styles/base-mira/components.json | 2 +- public/r/styles/base-mira/contact-1.json | 2 +- public/r/styles/base-mira/contact-2.json | 2 +- public/r/styles/base-mira/contact-3.json | 2 +- public/r/styles/base-mira/content-1.json | 2 +- public/r/styles/base-mira/content-2.json | 2 +- public/r/styles/base-mira/content-3.json | 2 +- public/r/styles/base-mira/content-4.json | 2 +- public/r/styles/base-mira/cta-1.json | 2 +- public/r/styles/base-mira/cta-2.json | 2 +- public/r/styles/base-mira/cta-3.json | 2 +- public/r/styles/base-mira/cta-4.json | 2 +- public/r/styles/base-mira/cta-5.json | 2 +- public/r/styles/base-mira/cta-6.json | 2 +- public/r/styles/base-mira/cta-7.json | 2 +- public/r/styles/base-mira/cta-8.json | 2 +- .../r/styles/base-mira/dialog-examples.json | 2 +- public/r/styles/base-mira/dialog.json | 2 +- public/r/styles/base-mira/doc-1.json | 2 +- .../r/styles/base-mira/drawer-examples.json | 2 +- public/r/styles/base-mira/drawer.json | 2 +- .../base-mira/dropdown-menu-examples.json | 2 +- public/r/styles/base-mira/dropdown-menu.json | 2 +- public/r/styles/base-mira/empty-examples.json | 2 +- public/r/styles/base-mira/empty.json | 2 +- public/r/styles/base-mira/faqs-1.json | 2 +- public/r/styles/base-mira/faqs-2.json | 2 +- public/r/styles/base-mira/faqs-3.json | 2 +- public/r/styles/base-mira/faqs-4.json | 2 +- public/r/styles/base-mira/features-1.json | 2 +- public/r/styles/base-mira/features-2.json | 2 +- public/r/styles/base-mira/features-3.json | 2 +- public/r/styles/base-mira/features-4.json | 2 +- public/r/styles/base-mira/features-5.json | 2 +- public/r/styles/base-mira/features-6.json | 2 +- public/r/styles/base-mira/field-examples.json | 2 +- public/r/styles/base-mira/field.json | 2 +- public/r/styles/base-mira/footer-1.json | 2 +- public/r/styles/base-mira/footer-2.json | 2 +- public/r/styles/base-mira/footer-3.json | 2 +- public/r/styles/base-mira/form.json | 2 +- public/r/styles/base-mira/header-1.json | 2 +- public/r/styles/base-mira/header-2.json | 2 +- public/r/styles/base-mira/header-3.json | 2 +- public/r/styles/base-mira/header-4.json | 2 +- public/r/styles/base-mira/header-5.json | 2 +- public/r/styles/base-mira/header.json | 2 +- public/r/styles/base-mira/hero-1.json | 2 +- public/r/styles/base-mira/hero-10.json | 2 +- public/r/styles/base-mira/hero-11.json | 2 +- public/r/styles/base-mira/hero-12.json | 2 +- public/r/styles/base-mira/hero-13.json | 2 +- public/r/styles/base-mira/hero-2.json | 2 +- public/r/styles/base-mira/hero-3.json | 2 +- public/r/styles/base-mira/hero-4.json | 2 +- public/r/styles/base-mira/hero-5.json | 2 +- public/r/styles/base-mira/hero-6.json | 2 +- public/r/styles/base-mira/hero-7.json | 2 +- public/r/styles/base-mira/hero-8.json | 2 +- public/r/styles/base-mira/hero-9.json | 2 +- .../styles/base-mira/hover-card-examples.json | 2 +- public/r/styles/base-mira/hover-card.json | 2 +- public/r/styles/base-mira/icon.json | 2 +- public/r/styles/base-mira/init.json | 2 +- public/r/styles/base-mira/input-examples.json | 2 +- .../base-mira/input-group-examples.json | 2 +- public/r/styles/base-mira/input-group.json | 2 +- public/r/styles/base-mira/input.json | 2 +- public/r/styles/base-mira/item-examples.json | 2 +- public/r/styles/base-mira/item.json | 2 +- public/r/styles/base-mira/kbd-examples.json | 2 +- public/r/styles/base-mira/kbd.json | 2 +- public/r/styles/base-mira/label-examples.json | 2 +- public/r/styles/base-mira/label.json | 2 +- public/r/styles/base-mira/layout.json | 2 +- public/r/styles/base-mira/links-2.json | 2 +- public/r/styles/base-mira/logo.json | 2 +- public/r/styles/base-mira/logos-1.json | 2 +- public/r/styles/base-mira/logos-2.json | 2 +- public/r/styles/base-mira/logos-3.json | 2 +- public/r/styles/base-mira/marquee.json | 2 +- .../base-mira/native-select-examples.json | 2 +- public/r/styles/base-mira/native-select.json | 2 +- .../base-mira/navigation-menu-examples.json | 2 +- .../r/styles/base-mira/navigation-menu.json | 2 +- .../styles/base-mira/pagination-examples.json | 2 +- public/r/styles/base-mira/pagination.json | 2 +- .../r/styles/base-mira/popover-examples.json | 2 +- public/r/styles/base-mira/popover.json | 2 +- public/r/styles/base-mira/price.json | 2 +- public/r/styles/base-mira/pricing-1.json | 2 +- public/r/styles/base-mira/pricing-2.json | 2 +- public/r/styles/base-mira/pricing-3.json | 2 +- public/r/styles/base-mira/product-1.json | 2 +- public/r/styles/base-mira/products-1.json | 2 +- public/r/styles/base-mira/products-2.json | 2 +- public/r/styles/base-mira/products-3.json | 2 +- public/r/styles/base-mira/products-4.json | 2 +- public/r/styles/base-mira/products-5.json | 2 +- .../base-mira/radio-group-examples.json | 2 +- public/r/styles/base-mira/radio-group.json | 2 +- public/r/styles/base-mira/rating.json | 2 +- public/r/styles/base-mira/registry.json | 392 +- .../styles/base-mira/resizable-examples.json | 2 +- public/r/styles/base-mira/resizable.json | 2 +- public/r/styles/base-mira/reviews-1.json | 2 +- public/r/styles/base-mira/reviews-2.json | 2 +- public/r/styles/base-mira/reviews-3.json | 2 +- public/r/styles/base-mira/reviews-4.json | 2 +- public/r/styles/base-mira/reviews-5.json | 2 +- public/r/styles/base-mira/section.json | 2 +- .../r/styles/base-mira/select-examples.json | 2 +- public/r/styles/base-mira/select.json | 2 +- .../styles/base-mira/separator-examples.json | 2 +- public/r/styles/base-mira/separator.json | 2 +- public/r/styles/base-mira/services-1.json | 2 +- public/r/styles/base-mira/services-2.json | 2 +- public/r/styles/base-mira/services-3.json | 2 +- public/r/styles/base-mira/services-4.json | 2 +- public/r/styles/base-mira/services-5.json | 2 +- public/r/styles/base-mira/services-6.json | 2 +- public/r/styles/base-mira/services-7.json | 2 +- public/r/styles/base-mira/sheet-examples.json | 2 +- public/r/styles/base-mira/sheet.json | 2 +- public/r/styles/base-mira/sidebar-1.json | 2 +- .../r/styles/base-mira/sidebar-examples.json | 2 +- public/r/styles/base-mira/sidebar.json | 2 +- .../r/styles/base-mira/skeleton-examples.json | 2 +- public/r/styles/base-mira/skeleton.json | 2 +- .../r/styles/base-mira/slider-examples.json | 2 +- public/r/styles/base-mira/slider.json | 2 +- .../r/styles/base-mira/spinner-examples.json | 2 +- public/r/styles/base-mira/spinner.json | 2 +- .../r/styles/base-mira/switch-examples.json | 2 +- public/r/styles/base-mira/switch.json | 2 +- public/r/styles/base-mira/table-examples.json | 2 +- public/r/styles/base-mira/table.json | 2 +- public/r/styles/base-mira/tabs-examples.json | 2 +- public/r/styles/base-mira/tabs.json | 2 +- .../r/styles/base-mira/textarea-examples.json | 2 +- public/r/styles/base-mira/textarea.json | 2 +- public/r/styles/base-mira/theme-toggle.json | 2 +- public/r/styles/base-mira/toast-examples.json | 2 +- public/r/styles/base-mira/toast.json | 2 +- public/r/styles/base-mira/toc.json | 2 +- .../r/styles/base-mira/toggle-examples.json | 2 +- .../base-mira/toggle-group-examples.json | 2 +- public/r/styles/base-mira/toggle-group.json | 2 +- public/r/styles/base-mira/toggle.json | 2 +- .../r/styles/base-mira/tooltip-examples.json | 2 +- public/r/styles/base-mira/tooltip.json | 2 +- public/r/styles/base-mira/typography.json | 2 +- public/r/styles/base-mira/video.json | 2 +- .../styles/base-nova/accordion-examples.json | 2 +- public/r/styles/base-nova/accordion.json | 2 +- .../base-nova/alert-dialog-examples.json | 2 +- public/r/styles/base-nova/alert-dialog.json | 2 +- public/r/styles/base-nova/alert-examples.json | 2 +- public/r/styles/base-nova/alert.json | 2 +- public/r/styles/base-nova/article-1.json | 2 +- public/r/styles/base-nova/article-2.json | 2 +- public/r/styles/base-nova/articles-1.json | 2 +- public/r/styles/base-nova/articles-2.json | 2 +- public/r/styles/base-nova/articles-3.json | 2 +- public/r/styles/base-nova/articles-4.json | 2 +- .../base-nova/aspect-ratio-examples.json | 2 +- public/r/styles/base-nova/aspect-ratio.json | 2 +- .../styles/base-nova/attachment-examples.json | 2 +- public/r/styles/base-nova/attachment.json | 2 +- .../r/styles/base-nova/avatar-examples.json | 2 +- public/r/styles/base-nova/avatar.json | 2 +- public/r/styles/base-nova/badge-examples.json | 2 +- public/r/styles/base-nova/badge.json | 2 +- public/r/styles/base-nova/banner-1.json | 2 +- public/r/styles/base-nova/banner-2.json | 2 +- public/r/styles/base-nova/banner.json | 2 +- public/r/styles/base-nova/base.json | 2 +- public/r/styles/base-nova/blocks-1.json | 2 +- public/r/styles/base-nova/blocks.json | 2 +- .../styles/base-nova/breadcrumb-examples.json | 2 +- public/r/styles/base-nova/breadcrumb.json | 2 +- .../r/styles/base-nova/button-examples.json | 2 +- .../base-nova/button-group-examples.json | 2 +- public/r/styles/base-nova/button-group.json | 2 +- public/r/styles/base-nova/button.json | 2 +- public/r/styles/base-nova/card-examples.json | 2 +- public/r/styles/base-nova/card.json | 2 +- .../r/styles/base-nova/carousel-examples.json | 2 +- public/r/styles/base-nova/carousel.json | 2 +- .../r/styles/base-nova/checkbox-examples.json | 2 +- public/r/styles/base-nova/checkbox.json | 2 +- .../base-nova/collapsible-examples.json | 2 +- public/r/styles/base-nova/collapsible.json | 2 +- .../r/styles/base-nova/combobox-examples.json | 2 +- public/r/styles/base-nova/combobox.json | 2 +- .../r/styles/base-nova/command-examples.json | 2 +- public/r/styles/base-nova/command.json | 2 +- public/r/styles/base-nova/components.json | 2 +- public/r/styles/base-nova/contact-1.json | 2 +- public/r/styles/base-nova/contact-2.json | 2 +- public/r/styles/base-nova/contact-3.json | 2 +- public/r/styles/base-nova/content-1.json | 2 +- public/r/styles/base-nova/content-2.json | 2 +- public/r/styles/base-nova/content-3.json | 2 +- public/r/styles/base-nova/content-4.json | 2 +- public/r/styles/base-nova/cta-1.json | 2 +- public/r/styles/base-nova/cta-2.json | 2 +- public/r/styles/base-nova/cta-3.json | 2 +- public/r/styles/base-nova/cta-4.json | 2 +- public/r/styles/base-nova/cta-5.json | 2 +- public/r/styles/base-nova/cta-6.json | 2 +- public/r/styles/base-nova/cta-7.json | 2 +- public/r/styles/base-nova/cta-8.json | 2 +- .../r/styles/base-nova/dialog-examples.json | 2 +- public/r/styles/base-nova/dialog.json | 2 +- public/r/styles/base-nova/doc-1.json | 2 +- .../r/styles/base-nova/drawer-examples.json | 2 +- public/r/styles/base-nova/drawer.json | 2 +- .../base-nova/dropdown-menu-examples.json | 2 +- public/r/styles/base-nova/dropdown-menu.json | 2 +- public/r/styles/base-nova/empty-examples.json | 2 +- public/r/styles/base-nova/empty.json | 2 +- public/r/styles/base-nova/faqs-1.json | 2 +- public/r/styles/base-nova/faqs-2.json | 2 +- public/r/styles/base-nova/faqs-3.json | 2 +- public/r/styles/base-nova/faqs-4.json | 2 +- public/r/styles/base-nova/features-1.json | 2 +- public/r/styles/base-nova/features-2.json | 2 +- public/r/styles/base-nova/features-3.json | 2 +- public/r/styles/base-nova/features-4.json | 2 +- public/r/styles/base-nova/features-5.json | 2 +- public/r/styles/base-nova/features-6.json | 2 +- public/r/styles/base-nova/field-examples.json | 2 +- public/r/styles/base-nova/field.json | 2 +- public/r/styles/base-nova/footer-1.json | 2 +- public/r/styles/base-nova/footer-2.json | 2 +- public/r/styles/base-nova/footer-3.json | 2 +- public/r/styles/base-nova/form.json | 2 +- public/r/styles/base-nova/header-1.json | 2 +- public/r/styles/base-nova/header-2.json | 2 +- public/r/styles/base-nova/header-3.json | 2 +- public/r/styles/base-nova/header-4.json | 2 +- public/r/styles/base-nova/header-5.json | 2 +- public/r/styles/base-nova/header.json | 2 +- public/r/styles/base-nova/hero-1.json | 2 +- public/r/styles/base-nova/hero-10.json | 2 +- public/r/styles/base-nova/hero-11.json | 2 +- public/r/styles/base-nova/hero-12.json | 2 +- public/r/styles/base-nova/hero-13.json | 2 +- public/r/styles/base-nova/hero-2.json | 2 +- public/r/styles/base-nova/hero-3.json | 2 +- public/r/styles/base-nova/hero-4.json | 2 +- public/r/styles/base-nova/hero-5.json | 2 +- public/r/styles/base-nova/hero-6.json | 2 +- public/r/styles/base-nova/hero-7.json | 2 +- public/r/styles/base-nova/hero-8.json | 2 +- public/r/styles/base-nova/hero-9.json | 2 +- .../styles/base-nova/hover-card-examples.json | 2 +- public/r/styles/base-nova/hover-card.json | 2 +- public/r/styles/base-nova/icon.json | 2 +- public/r/styles/base-nova/init.json | 2 +- public/r/styles/base-nova/input-examples.json | 2 +- .../base-nova/input-group-examples.json | 2 +- public/r/styles/base-nova/input-group.json | 2 +- public/r/styles/base-nova/input.json | 2 +- public/r/styles/base-nova/item-examples.json | 2 +- public/r/styles/base-nova/item.json | 2 +- public/r/styles/base-nova/kbd-examples.json | 2 +- public/r/styles/base-nova/kbd.json | 2 +- public/r/styles/base-nova/label-examples.json | 2 +- public/r/styles/base-nova/label.json | 2 +- public/r/styles/base-nova/layout.json | 2 +- public/r/styles/base-nova/links-2.json | 2 +- public/r/styles/base-nova/logo.json | 2 +- public/r/styles/base-nova/logos-1.json | 2 +- public/r/styles/base-nova/logos-2.json | 2 +- public/r/styles/base-nova/logos-3.json | 2 +- public/r/styles/base-nova/marquee.json | 2 +- .../base-nova/native-select-examples.json | 2 +- public/r/styles/base-nova/native-select.json | 2 +- .../base-nova/navigation-menu-examples.json | 2 +- .../r/styles/base-nova/navigation-menu.json | 2 +- .../styles/base-nova/pagination-examples.json | 2 +- public/r/styles/base-nova/pagination.json | 2 +- .../r/styles/base-nova/popover-examples.json | 2 +- public/r/styles/base-nova/popover.json | 2 +- public/r/styles/base-nova/price.json | 2 +- public/r/styles/base-nova/pricing-1.json | 2 +- public/r/styles/base-nova/pricing-2.json | 2 +- public/r/styles/base-nova/pricing-3.json | 2 +- public/r/styles/base-nova/product-1.json | 2 +- public/r/styles/base-nova/products-1.json | 2 +- public/r/styles/base-nova/products-2.json | 2 +- public/r/styles/base-nova/products-3.json | 2 +- public/r/styles/base-nova/products-4.json | 2 +- public/r/styles/base-nova/products-5.json | 2 +- .../base-nova/radio-group-examples.json | 2 +- public/r/styles/base-nova/radio-group.json | 2 +- public/r/styles/base-nova/rating.json | 2 +- public/r/styles/base-nova/registry.json | 392 +- .../styles/base-nova/resizable-examples.json | 2 +- public/r/styles/base-nova/resizable.json | 2 +- public/r/styles/base-nova/reviews-1.json | 2 +- public/r/styles/base-nova/reviews-2.json | 2 +- public/r/styles/base-nova/reviews-3.json | 2 +- public/r/styles/base-nova/reviews-4.json | 2 +- public/r/styles/base-nova/reviews-5.json | 2 +- public/r/styles/base-nova/section.json | 2 +- .../r/styles/base-nova/select-examples.json | 2 +- public/r/styles/base-nova/select.json | 2 +- .../styles/base-nova/separator-examples.json | 2 +- public/r/styles/base-nova/separator.json | 2 +- public/r/styles/base-nova/services-1.json | 2 +- public/r/styles/base-nova/services-2.json | 2 +- public/r/styles/base-nova/services-3.json | 2 +- public/r/styles/base-nova/services-4.json | 2 +- public/r/styles/base-nova/services-5.json | 2 +- public/r/styles/base-nova/services-6.json | 2 +- public/r/styles/base-nova/services-7.json | 2 +- public/r/styles/base-nova/sheet-examples.json | 2 +- public/r/styles/base-nova/sheet.json | 2 +- public/r/styles/base-nova/sidebar-1.json | 2 +- .../r/styles/base-nova/sidebar-examples.json | 2 +- public/r/styles/base-nova/sidebar.json | 2 +- .../r/styles/base-nova/skeleton-examples.json | 2 +- public/r/styles/base-nova/skeleton.json | 2 +- .../r/styles/base-nova/slider-examples.json | 2 +- public/r/styles/base-nova/slider.json | 2 +- .../r/styles/base-nova/spinner-examples.json | 2 +- public/r/styles/base-nova/spinner.json | 2 +- .../r/styles/base-nova/switch-examples.json | 2 +- public/r/styles/base-nova/switch.json | 2 +- public/r/styles/base-nova/table-examples.json | 2 +- public/r/styles/base-nova/table.json | 2 +- public/r/styles/base-nova/tabs-examples.json | 2 +- public/r/styles/base-nova/tabs.json | 2 +- .../r/styles/base-nova/textarea-examples.json | 2 +- public/r/styles/base-nova/textarea.json | 2 +- public/r/styles/base-nova/theme-toggle.json | 2 +- public/r/styles/base-nova/toast-examples.json | 2 +- public/r/styles/base-nova/toast.json | 2 +- public/r/styles/base-nova/toc.json | 2 +- .../r/styles/base-nova/toggle-examples.json | 2 +- .../base-nova/toggle-group-examples.json | 2 +- public/r/styles/base-nova/toggle-group.json | 2 +- public/r/styles/base-nova/toggle.json | 2 +- .../r/styles/base-nova/tooltip-examples.json | 2 +- public/r/styles/base-nova/tooltip.json | 2 +- public/r/styles/base-nova/typography.json | 2 +- public/r/styles/base-nova/video.json | 2 +- .../styles/base-rhea/accordion-examples.json | 2 +- public/r/styles/base-rhea/accordion.json | 2 +- .../base-rhea/alert-dialog-examples.json | 2 +- public/r/styles/base-rhea/alert-dialog.json | 2 +- public/r/styles/base-rhea/alert-examples.json | 2 +- public/r/styles/base-rhea/alert.json | 2 +- public/r/styles/base-rhea/article-1.json | 2 +- public/r/styles/base-rhea/article-2.json | 2 +- public/r/styles/base-rhea/articles-1.json | 2 +- public/r/styles/base-rhea/articles-2.json | 2 +- public/r/styles/base-rhea/articles-3.json | 2 +- public/r/styles/base-rhea/articles-4.json | 2 +- .../base-rhea/aspect-ratio-examples.json | 2 +- public/r/styles/base-rhea/aspect-ratio.json | 2 +- .../styles/base-rhea/attachment-examples.json | 2 +- public/r/styles/base-rhea/attachment.json | 2 +- .../r/styles/base-rhea/avatar-examples.json | 2 +- public/r/styles/base-rhea/avatar.json | 2 +- public/r/styles/base-rhea/badge-examples.json | 2 +- public/r/styles/base-rhea/badge.json | 2 +- public/r/styles/base-rhea/banner-1.json | 2 +- public/r/styles/base-rhea/banner-2.json | 2 +- public/r/styles/base-rhea/banner.json | 2 +- public/r/styles/base-rhea/base.json | 2 +- public/r/styles/base-rhea/blocks-1.json | 2 +- public/r/styles/base-rhea/blocks.json | 2 +- .../styles/base-rhea/breadcrumb-examples.json | 2 +- public/r/styles/base-rhea/breadcrumb.json | 2 +- .../r/styles/base-rhea/button-examples.json | 2 +- .../base-rhea/button-group-examples.json | 2 +- public/r/styles/base-rhea/button-group.json | 2 +- public/r/styles/base-rhea/button.json | 2 +- public/r/styles/base-rhea/card-examples.json | 2 +- public/r/styles/base-rhea/card.json | 2 +- .../r/styles/base-rhea/carousel-examples.json | 2 +- public/r/styles/base-rhea/carousel.json | 2 +- .../r/styles/base-rhea/checkbox-examples.json | 2 +- public/r/styles/base-rhea/checkbox.json | 2 +- .../base-rhea/collapsible-examples.json | 2 +- public/r/styles/base-rhea/collapsible.json | 2 +- .../r/styles/base-rhea/combobox-examples.json | 2 +- public/r/styles/base-rhea/combobox.json | 2 +- .../r/styles/base-rhea/command-examples.json | 2 +- public/r/styles/base-rhea/command.json | 2 +- public/r/styles/base-rhea/components.json | 2 +- public/r/styles/base-rhea/contact-1.json | 2 +- public/r/styles/base-rhea/contact-2.json | 2 +- public/r/styles/base-rhea/contact-3.json | 2 +- public/r/styles/base-rhea/content-1.json | 2 +- public/r/styles/base-rhea/content-2.json | 2 +- public/r/styles/base-rhea/content-3.json | 2 +- public/r/styles/base-rhea/content-4.json | 2 +- public/r/styles/base-rhea/cta-1.json | 2 +- public/r/styles/base-rhea/cta-2.json | 2 +- public/r/styles/base-rhea/cta-3.json | 2 +- public/r/styles/base-rhea/cta-4.json | 2 +- public/r/styles/base-rhea/cta-5.json | 2 +- public/r/styles/base-rhea/cta-6.json | 2 +- public/r/styles/base-rhea/cta-7.json | 2 +- public/r/styles/base-rhea/cta-8.json | 2 +- .../r/styles/base-rhea/dialog-examples.json | 2 +- public/r/styles/base-rhea/dialog.json | 2 +- public/r/styles/base-rhea/doc-1.json | 2 +- .../r/styles/base-rhea/drawer-examples.json | 2 +- public/r/styles/base-rhea/drawer.json | 2 +- .../base-rhea/dropdown-menu-examples.json | 2 +- public/r/styles/base-rhea/dropdown-menu.json | 2 +- public/r/styles/base-rhea/empty-examples.json | 2 +- public/r/styles/base-rhea/empty.json | 2 +- public/r/styles/base-rhea/faqs-1.json | 2 +- public/r/styles/base-rhea/faqs-2.json | 2 +- public/r/styles/base-rhea/faqs-3.json | 2 +- public/r/styles/base-rhea/faqs-4.json | 2 +- public/r/styles/base-rhea/features-1.json | 2 +- public/r/styles/base-rhea/features-2.json | 2 +- public/r/styles/base-rhea/features-3.json | 2 +- public/r/styles/base-rhea/features-4.json | 2 +- public/r/styles/base-rhea/features-5.json | 2 +- public/r/styles/base-rhea/features-6.json | 2 +- public/r/styles/base-rhea/field-examples.json | 2 +- public/r/styles/base-rhea/field.json | 2 +- public/r/styles/base-rhea/footer-1.json | 2 +- public/r/styles/base-rhea/footer-2.json | 2 +- public/r/styles/base-rhea/footer-3.json | 2 +- public/r/styles/base-rhea/form.json | 2 +- public/r/styles/base-rhea/header-1.json | 2 +- public/r/styles/base-rhea/header-2.json | 2 +- public/r/styles/base-rhea/header-3.json | 2 +- public/r/styles/base-rhea/header-4.json | 2 +- public/r/styles/base-rhea/header-5.json | 2 +- public/r/styles/base-rhea/header.json | 2 +- public/r/styles/base-rhea/hero-1.json | 2 +- public/r/styles/base-rhea/hero-10.json | 2 +- public/r/styles/base-rhea/hero-11.json | 2 +- public/r/styles/base-rhea/hero-12.json | 2 +- public/r/styles/base-rhea/hero-13.json | 2 +- public/r/styles/base-rhea/hero-2.json | 2 +- public/r/styles/base-rhea/hero-3.json | 2 +- public/r/styles/base-rhea/hero-4.json | 2 +- public/r/styles/base-rhea/hero-5.json | 2 +- public/r/styles/base-rhea/hero-6.json | 2 +- public/r/styles/base-rhea/hero-7.json | 2 +- public/r/styles/base-rhea/hero-8.json | 2 +- public/r/styles/base-rhea/hero-9.json | 2 +- .../styles/base-rhea/hover-card-examples.json | 2 +- public/r/styles/base-rhea/hover-card.json | 2 +- public/r/styles/base-rhea/icon.json | 2 +- public/r/styles/base-rhea/init.json | 2 +- public/r/styles/base-rhea/input-examples.json | 2 +- .../base-rhea/input-group-examples.json | 2 +- public/r/styles/base-rhea/input-group.json | 2 +- public/r/styles/base-rhea/input.json | 2 +- public/r/styles/base-rhea/item-examples.json | 2 +- public/r/styles/base-rhea/item.json | 2 +- public/r/styles/base-rhea/kbd-examples.json | 2 +- public/r/styles/base-rhea/kbd.json | 2 +- public/r/styles/base-rhea/label-examples.json | 2 +- public/r/styles/base-rhea/label.json | 2 +- public/r/styles/base-rhea/layout.json | 2 +- public/r/styles/base-rhea/links-2.json | 2 +- public/r/styles/base-rhea/logo.json | 2 +- public/r/styles/base-rhea/logos-1.json | 2 +- public/r/styles/base-rhea/logos-2.json | 2 +- public/r/styles/base-rhea/logos-3.json | 2 +- public/r/styles/base-rhea/marquee.json | 2 +- .../base-rhea/native-select-examples.json | 2 +- public/r/styles/base-rhea/native-select.json | 2 +- .../base-rhea/navigation-menu-examples.json | 2 +- .../r/styles/base-rhea/navigation-menu.json | 2 +- .../styles/base-rhea/pagination-examples.json | 2 +- public/r/styles/base-rhea/pagination.json | 2 +- .../r/styles/base-rhea/popover-examples.json | 2 +- public/r/styles/base-rhea/popover.json | 2 +- public/r/styles/base-rhea/price.json | 2 +- public/r/styles/base-rhea/pricing-1.json | 2 +- public/r/styles/base-rhea/pricing-2.json | 2 +- public/r/styles/base-rhea/pricing-3.json | 2 +- public/r/styles/base-rhea/product-1.json | 2 +- public/r/styles/base-rhea/products-1.json | 2 +- public/r/styles/base-rhea/products-2.json | 2 +- public/r/styles/base-rhea/products-3.json | 2 +- public/r/styles/base-rhea/products-4.json | 2 +- public/r/styles/base-rhea/products-5.json | 2 +- .../base-rhea/radio-group-examples.json | 2 +- public/r/styles/base-rhea/radio-group.json | 2 +- public/r/styles/base-rhea/rating.json | 2 +- public/r/styles/base-rhea/registry.json | 392 +- .../styles/base-rhea/resizable-examples.json | 2 +- public/r/styles/base-rhea/resizable.json | 2 +- public/r/styles/base-rhea/reviews-1.json | 2 +- public/r/styles/base-rhea/reviews-2.json | 2 +- public/r/styles/base-rhea/reviews-3.json | 2 +- public/r/styles/base-rhea/reviews-4.json | 2 +- public/r/styles/base-rhea/reviews-5.json | 2 +- public/r/styles/base-rhea/section.json | 2 +- .../r/styles/base-rhea/select-examples.json | 2 +- public/r/styles/base-rhea/select.json | 2 +- .../styles/base-rhea/separator-examples.json | 2 +- public/r/styles/base-rhea/separator.json | 2 +- public/r/styles/base-rhea/services-1.json | 2 +- public/r/styles/base-rhea/services-2.json | 2 +- public/r/styles/base-rhea/services-3.json | 2 +- public/r/styles/base-rhea/services-4.json | 2 +- public/r/styles/base-rhea/services-5.json | 2 +- public/r/styles/base-rhea/services-6.json | 2 +- public/r/styles/base-rhea/services-7.json | 2 +- public/r/styles/base-rhea/sheet-examples.json | 2 +- public/r/styles/base-rhea/sheet.json | 2 +- public/r/styles/base-rhea/sidebar-1.json | 2 +- .../r/styles/base-rhea/sidebar-examples.json | 2 +- public/r/styles/base-rhea/sidebar.json | 2 +- .../r/styles/base-rhea/skeleton-examples.json | 2 +- public/r/styles/base-rhea/skeleton.json | 2 +- .../r/styles/base-rhea/slider-examples.json | 2 +- public/r/styles/base-rhea/slider.json | 2 +- .../r/styles/base-rhea/spinner-examples.json | 2 +- public/r/styles/base-rhea/spinner.json | 2 +- .../r/styles/base-rhea/switch-examples.json | 2 +- public/r/styles/base-rhea/switch.json | 2 +- public/r/styles/base-rhea/table-examples.json | 2 +- public/r/styles/base-rhea/table.json | 2 +- public/r/styles/base-rhea/tabs-examples.json | 2 +- public/r/styles/base-rhea/tabs.json | 2 +- .../r/styles/base-rhea/textarea-examples.json | 2 +- public/r/styles/base-rhea/textarea.json | 2 +- public/r/styles/base-rhea/theme-toggle.json | 2 +- public/r/styles/base-rhea/toast-examples.json | 2 +- public/r/styles/base-rhea/toast.json | 2 +- public/r/styles/base-rhea/toc.json | 2 +- .../r/styles/base-rhea/toggle-examples.json | 2 +- .../base-rhea/toggle-group-examples.json | 2 +- public/r/styles/base-rhea/toggle-group.json | 2 +- public/r/styles/base-rhea/toggle.json | 2 +- .../r/styles/base-rhea/tooltip-examples.json | 2 +- public/r/styles/base-rhea/tooltip.json | 2 +- public/r/styles/base-rhea/typography.json | 2 +- public/r/styles/base-rhea/video.json | 2 +- .../styles/base-sera/accordion-examples.json | 2 +- public/r/styles/base-sera/accordion.json | 2 +- .../base-sera/alert-dialog-examples.json | 2 +- public/r/styles/base-sera/alert-dialog.json | 2 +- public/r/styles/base-sera/alert-examples.json | 2 +- public/r/styles/base-sera/alert.json | 2 +- public/r/styles/base-sera/article-1.json | 2 +- public/r/styles/base-sera/article-2.json | 2 +- public/r/styles/base-sera/articles-1.json | 2 +- public/r/styles/base-sera/articles-2.json | 2 +- public/r/styles/base-sera/articles-3.json | 2 +- public/r/styles/base-sera/articles-4.json | 2 +- .../base-sera/aspect-ratio-examples.json | 2 +- public/r/styles/base-sera/aspect-ratio.json | 2 +- .../styles/base-sera/attachment-examples.json | 2 +- public/r/styles/base-sera/attachment.json | 2 +- .../r/styles/base-sera/avatar-examples.json | 2 +- public/r/styles/base-sera/avatar.json | 2 +- public/r/styles/base-sera/badge-examples.json | 2 +- public/r/styles/base-sera/badge.json | 2 +- public/r/styles/base-sera/banner-1.json | 2 +- public/r/styles/base-sera/banner-2.json | 2 +- public/r/styles/base-sera/banner.json | 2 +- public/r/styles/base-sera/base.json | 2 +- public/r/styles/base-sera/blocks-1.json | 2 +- public/r/styles/base-sera/blocks.json | 2 +- .../styles/base-sera/breadcrumb-examples.json | 2 +- public/r/styles/base-sera/breadcrumb.json | 2 +- .../r/styles/base-sera/button-examples.json | 2 +- .../base-sera/button-group-examples.json | 2 +- public/r/styles/base-sera/button-group.json | 2 +- public/r/styles/base-sera/button.json | 2 +- public/r/styles/base-sera/card-examples.json | 2 +- public/r/styles/base-sera/card.json | 2 +- .../r/styles/base-sera/carousel-examples.json | 2 +- public/r/styles/base-sera/carousel.json | 2 +- .../r/styles/base-sera/checkbox-examples.json | 2 +- public/r/styles/base-sera/checkbox.json | 2 +- .../base-sera/collapsible-examples.json | 2 +- public/r/styles/base-sera/collapsible.json | 2 +- .../r/styles/base-sera/combobox-examples.json | 2 +- public/r/styles/base-sera/combobox.json | 2 +- .../r/styles/base-sera/command-examples.json | 2 +- public/r/styles/base-sera/command.json | 2 +- public/r/styles/base-sera/components.json | 2 +- public/r/styles/base-sera/contact-1.json | 2 +- public/r/styles/base-sera/contact-2.json | 2 +- public/r/styles/base-sera/contact-3.json | 2 +- public/r/styles/base-sera/content-1.json | 2 +- public/r/styles/base-sera/content-2.json | 2 +- public/r/styles/base-sera/content-3.json | 2 +- public/r/styles/base-sera/content-4.json | 2 +- public/r/styles/base-sera/cta-1.json | 2 +- public/r/styles/base-sera/cta-2.json | 2 +- public/r/styles/base-sera/cta-3.json | 2 +- public/r/styles/base-sera/cta-4.json | 2 +- public/r/styles/base-sera/cta-5.json | 2 +- public/r/styles/base-sera/cta-6.json | 2 +- public/r/styles/base-sera/cta-7.json | 2 +- public/r/styles/base-sera/cta-8.json | 2 +- .../r/styles/base-sera/dialog-examples.json | 2 +- public/r/styles/base-sera/dialog.json | 2 +- public/r/styles/base-sera/doc-1.json | 2 +- .../r/styles/base-sera/drawer-examples.json | 2 +- public/r/styles/base-sera/drawer.json | 2 +- .../base-sera/dropdown-menu-examples.json | 2 +- public/r/styles/base-sera/dropdown-menu.json | 2 +- public/r/styles/base-sera/empty-examples.json | 2 +- public/r/styles/base-sera/empty.json | 2 +- public/r/styles/base-sera/faqs-1.json | 2 +- public/r/styles/base-sera/faqs-2.json | 2 +- public/r/styles/base-sera/faqs-3.json | 2 +- public/r/styles/base-sera/faqs-4.json | 2 +- public/r/styles/base-sera/features-1.json | 2 +- public/r/styles/base-sera/features-2.json | 2 +- public/r/styles/base-sera/features-3.json | 2 +- public/r/styles/base-sera/features-4.json | 2 +- public/r/styles/base-sera/features-5.json | 2 +- public/r/styles/base-sera/features-6.json | 2 +- public/r/styles/base-sera/field-examples.json | 2 +- public/r/styles/base-sera/field.json | 2 +- public/r/styles/base-sera/footer-1.json | 2 +- public/r/styles/base-sera/footer-2.json | 2 +- public/r/styles/base-sera/footer-3.json | 2 +- public/r/styles/base-sera/form.json | 2 +- public/r/styles/base-sera/header-1.json | 2 +- public/r/styles/base-sera/header-2.json | 2 +- public/r/styles/base-sera/header-3.json | 2 +- public/r/styles/base-sera/header-4.json | 2 +- public/r/styles/base-sera/header-5.json | 2 +- public/r/styles/base-sera/header.json | 2 +- public/r/styles/base-sera/hero-1.json | 2 +- public/r/styles/base-sera/hero-10.json | 2 +- public/r/styles/base-sera/hero-11.json | 2 +- public/r/styles/base-sera/hero-12.json | 2 +- public/r/styles/base-sera/hero-13.json | 2 +- public/r/styles/base-sera/hero-2.json | 2 +- public/r/styles/base-sera/hero-3.json | 2 +- public/r/styles/base-sera/hero-4.json | 2 +- public/r/styles/base-sera/hero-5.json | 2 +- public/r/styles/base-sera/hero-6.json | 2 +- public/r/styles/base-sera/hero-7.json | 2 +- public/r/styles/base-sera/hero-8.json | 2 +- public/r/styles/base-sera/hero-9.json | 2 +- .../styles/base-sera/hover-card-examples.json | 2 +- public/r/styles/base-sera/hover-card.json | 2 +- public/r/styles/base-sera/icon.json | 2 +- public/r/styles/base-sera/init.json | 2 +- public/r/styles/base-sera/input-examples.json | 2 +- .../base-sera/input-group-examples.json | 2 +- public/r/styles/base-sera/input-group.json | 2 +- public/r/styles/base-sera/input.json | 2 +- public/r/styles/base-sera/item-examples.json | 2 +- public/r/styles/base-sera/item.json | 2 +- public/r/styles/base-sera/kbd-examples.json | 2 +- public/r/styles/base-sera/kbd.json | 2 +- public/r/styles/base-sera/label-examples.json | 2 +- public/r/styles/base-sera/label.json | 2 +- public/r/styles/base-sera/layout.json | 2 +- public/r/styles/base-sera/links-2.json | 2 +- public/r/styles/base-sera/logo.json | 2 +- public/r/styles/base-sera/logos-1.json | 2 +- public/r/styles/base-sera/logos-2.json | 2 +- public/r/styles/base-sera/logos-3.json | 2 +- public/r/styles/base-sera/marquee.json | 2 +- .../base-sera/native-select-examples.json | 2 +- public/r/styles/base-sera/native-select.json | 2 +- .../base-sera/navigation-menu-examples.json | 2 +- .../r/styles/base-sera/navigation-menu.json | 2 +- .../styles/base-sera/pagination-examples.json | 2 +- public/r/styles/base-sera/pagination.json | 2 +- .../r/styles/base-sera/popover-examples.json | 2 +- public/r/styles/base-sera/popover.json | 2 +- public/r/styles/base-sera/price.json | 2 +- public/r/styles/base-sera/pricing-1.json | 2 +- public/r/styles/base-sera/pricing-2.json | 2 +- public/r/styles/base-sera/pricing-3.json | 2 +- public/r/styles/base-sera/product-1.json | 2 +- public/r/styles/base-sera/products-1.json | 2 +- public/r/styles/base-sera/products-2.json | 2 +- public/r/styles/base-sera/products-3.json | 2 +- public/r/styles/base-sera/products-4.json | 2 +- public/r/styles/base-sera/products-5.json | 2 +- .../base-sera/radio-group-examples.json | 2 +- public/r/styles/base-sera/radio-group.json | 2 +- public/r/styles/base-sera/rating.json | 2 +- public/r/styles/base-sera/registry.json | 392 +- .../styles/base-sera/resizable-examples.json | 2 +- public/r/styles/base-sera/resizable.json | 2 +- public/r/styles/base-sera/reviews-1.json | 2 +- public/r/styles/base-sera/reviews-2.json | 2 +- public/r/styles/base-sera/reviews-3.json | 2 +- public/r/styles/base-sera/reviews-4.json | 2 +- public/r/styles/base-sera/reviews-5.json | 2 +- public/r/styles/base-sera/section.json | 2 +- .../r/styles/base-sera/select-examples.json | 2 +- public/r/styles/base-sera/select.json | 2 +- .../styles/base-sera/separator-examples.json | 2 +- public/r/styles/base-sera/separator.json | 2 +- public/r/styles/base-sera/services-1.json | 2 +- public/r/styles/base-sera/services-2.json | 2 +- public/r/styles/base-sera/services-3.json | 2 +- public/r/styles/base-sera/services-4.json | 2 +- public/r/styles/base-sera/services-5.json | 2 +- public/r/styles/base-sera/services-6.json | 2 +- public/r/styles/base-sera/services-7.json | 2 +- public/r/styles/base-sera/sheet-examples.json | 2 +- public/r/styles/base-sera/sheet.json | 2 +- public/r/styles/base-sera/sidebar-1.json | 2 +- .../r/styles/base-sera/sidebar-examples.json | 2 +- public/r/styles/base-sera/sidebar.json | 2 +- .../r/styles/base-sera/skeleton-examples.json | 2 +- public/r/styles/base-sera/skeleton.json | 2 +- .../r/styles/base-sera/slider-examples.json | 2 +- public/r/styles/base-sera/slider.json | 2 +- .../r/styles/base-sera/spinner-examples.json | 2 +- public/r/styles/base-sera/spinner.json | 2 +- .../r/styles/base-sera/switch-examples.json | 2 +- public/r/styles/base-sera/switch.json | 2 +- public/r/styles/base-sera/table-examples.json | 2 +- public/r/styles/base-sera/table.json | 2 +- public/r/styles/base-sera/tabs-examples.json | 2 +- public/r/styles/base-sera/tabs.json | 2 +- .../r/styles/base-sera/textarea-examples.json | 2 +- public/r/styles/base-sera/textarea.json | 2 +- public/r/styles/base-sera/theme-toggle.json | 2 +- public/r/styles/base-sera/toast-examples.json | 2 +- public/r/styles/base-sera/toast.json | 2 +- public/r/styles/base-sera/toc.json | 2 +- .../r/styles/base-sera/toggle-examples.json | 2 +- .../base-sera/toggle-group-examples.json | 2 +- public/r/styles/base-sera/toggle-group.json | 2 +- public/r/styles/base-sera/toggle.json | 2 +- .../r/styles/base-sera/tooltip-examples.json | 2 +- public/r/styles/base-sera/tooltip.json | 2 +- public/r/styles/base-sera/typography.json | 2 +- public/r/styles/base-sera/video.json | 2 +- .../styles/base-vega/accordion-examples.json | 2 +- public/r/styles/base-vega/accordion.json | 2 +- .../base-vega/alert-dialog-examples.json | 2 +- public/r/styles/base-vega/alert-dialog.json | 2 +- public/r/styles/base-vega/alert-examples.json | 2 +- public/r/styles/base-vega/alert.json | 2 +- public/r/styles/base-vega/article-1.json | 2 +- public/r/styles/base-vega/article-2.json | 2 +- public/r/styles/base-vega/articles-1.json | 2 +- public/r/styles/base-vega/articles-2.json | 2 +- public/r/styles/base-vega/articles-3.json | 2 +- public/r/styles/base-vega/articles-4.json | 2 +- .../base-vega/aspect-ratio-examples.json | 2 +- public/r/styles/base-vega/aspect-ratio.json | 2 +- .../styles/base-vega/attachment-examples.json | 2 +- public/r/styles/base-vega/attachment.json | 2 +- .../r/styles/base-vega/avatar-examples.json | 2 +- public/r/styles/base-vega/avatar.json | 2 +- public/r/styles/base-vega/badge-examples.json | 2 +- public/r/styles/base-vega/badge.json | 2 +- public/r/styles/base-vega/banner-1.json | 2 +- public/r/styles/base-vega/banner-2.json | 2 +- public/r/styles/base-vega/banner.json | 2 +- public/r/styles/base-vega/base.json | 2 +- public/r/styles/base-vega/blocks-1.json | 2 +- public/r/styles/base-vega/blocks.json | 2 +- .../styles/base-vega/breadcrumb-examples.json | 2 +- public/r/styles/base-vega/breadcrumb.json | 2 +- .../r/styles/base-vega/button-examples.json | 2 +- .../base-vega/button-group-examples.json | 2 +- public/r/styles/base-vega/button-group.json | 2 +- public/r/styles/base-vega/button.json | 2 +- public/r/styles/base-vega/card-examples.json | 2 +- public/r/styles/base-vega/card.json | 2 +- .../r/styles/base-vega/carousel-examples.json | 2 +- public/r/styles/base-vega/carousel.json | 2 +- .../r/styles/base-vega/checkbox-examples.json | 2 +- public/r/styles/base-vega/checkbox.json | 2 +- .../base-vega/collapsible-examples.json | 2 +- public/r/styles/base-vega/collapsible.json | 2 +- .../r/styles/base-vega/combobox-examples.json | 2 +- public/r/styles/base-vega/combobox.json | 2 +- .../r/styles/base-vega/command-examples.json | 2 +- public/r/styles/base-vega/command.json | 2 +- public/r/styles/base-vega/components.json | 2 +- public/r/styles/base-vega/contact-1.json | 2 +- public/r/styles/base-vega/contact-2.json | 2 +- public/r/styles/base-vega/contact-3.json | 2 +- public/r/styles/base-vega/content-1.json | 2 +- public/r/styles/base-vega/content-2.json | 2 +- public/r/styles/base-vega/content-3.json | 2 +- public/r/styles/base-vega/content-4.json | 2 +- public/r/styles/base-vega/cta-1.json | 2 +- public/r/styles/base-vega/cta-2.json | 2 +- public/r/styles/base-vega/cta-3.json | 2 +- public/r/styles/base-vega/cta-4.json | 2 +- public/r/styles/base-vega/cta-5.json | 2 +- public/r/styles/base-vega/cta-6.json | 2 +- public/r/styles/base-vega/cta-7.json | 2 +- public/r/styles/base-vega/cta-8.json | 2 +- .../r/styles/base-vega/dialog-examples.json | 2 +- public/r/styles/base-vega/dialog.json | 2 +- public/r/styles/base-vega/doc-1.json | 2 +- .../r/styles/base-vega/drawer-examples.json | 2 +- public/r/styles/base-vega/drawer.json | 2 +- .../base-vega/dropdown-menu-examples.json | 2 +- public/r/styles/base-vega/dropdown-menu.json | 2 +- public/r/styles/base-vega/empty-examples.json | 2 +- public/r/styles/base-vega/empty.json | 2 +- public/r/styles/base-vega/faqs-1.json | 2 +- public/r/styles/base-vega/faqs-2.json | 2 +- public/r/styles/base-vega/faqs-3.json | 2 +- public/r/styles/base-vega/faqs-4.json | 2 +- public/r/styles/base-vega/features-1.json | 2 +- public/r/styles/base-vega/features-2.json | 2 +- public/r/styles/base-vega/features-3.json | 2 +- public/r/styles/base-vega/features-4.json | 2 +- public/r/styles/base-vega/features-5.json | 2 +- public/r/styles/base-vega/features-6.json | 2 +- public/r/styles/base-vega/field-examples.json | 2 +- public/r/styles/base-vega/field.json | 2 +- public/r/styles/base-vega/footer-1.json | 2 +- public/r/styles/base-vega/footer-2.json | 2 +- public/r/styles/base-vega/footer-3.json | 2 +- public/r/styles/base-vega/form.json | 2 +- public/r/styles/base-vega/header-1.json | 2 +- public/r/styles/base-vega/header-2.json | 2 +- public/r/styles/base-vega/header-3.json | 2 +- public/r/styles/base-vega/header-4.json | 2 +- public/r/styles/base-vega/header-5.json | 2 +- public/r/styles/base-vega/header.json | 2 +- public/r/styles/base-vega/hero-1.json | 2 +- public/r/styles/base-vega/hero-10.json | 2 +- public/r/styles/base-vega/hero-11.json | 2 +- public/r/styles/base-vega/hero-12.json | 2 +- public/r/styles/base-vega/hero-13.json | 2 +- public/r/styles/base-vega/hero-2.json | 2 +- public/r/styles/base-vega/hero-3.json | 2 +- public/r/styles/base-vega/hero-4.json | 2 +- public/r/styles/base-vega/hero-5.json | 2 +- public/r/styles/base-vega/hero-6.json | 2 +- public/r/styles/base-vega/hero-7.json | 2 +- public/r/styles/base-vega/hero-8.json | 2 +- public/r/styles/base-vega/hero-9.json | 2 +- .../styles/base-vega/hover-card-examples.json | 2 +- public/r/styles/base-vega/hover-card.json | 2 +- public/r/styles/base-vega/icon.json | 2 +- public/r/styles/base-vega/init.json | 2 +- public/r/styles/base-vega/input-examples.json | 2 +- .../base-vega/input-group-examples.json | 2 +- public/r/styles/base-vega/input-group.json | 2 +- public/r/styles/base-vega/input.json | 2 +- public/r/styles/base-vega/item-examples.json | 2 +- public/r/styles/base-vega/item.json | 2 +- public/r/styles/base-vega/kbd-examples.json | 2 +- public/r/styles/base-vega/kbd.json | 2 +- public/r/styles/base-vega/label-examples.json | 2 +- public/r/styles/base-vega/label.json | 2 +- public/r/styles/base-vega/layout.json | 2 +- public/r/styles/base-vega/links-2.json | 2 +- public/r/styles/base-vega/logo.json | 2 +- public/r/styles/base-vega/logos-1.json | 2 +- public/r/styles/base-vega/logos-2.json | 2 +- public/r/styles/base-vega/logos-3.json | 2 +- public/r/styles/base-vega/marquee.json | 2 +- .../base-vega/native-select-examples.json | 2 +- public/r/styles/base-vega/native-select.json | 2 +- .../base-vega/navigation-menu-examples.json | 2 +- .../r/styles/base-vega/navigation-menu.json | 2 +- .../styles/base-vega/pagination-examples.json | 2 +- public/r/styles/base-vega/pagination.json | 2 +- .../r/styles/base-vega/popover-examples.json | 2 +- public/r/styles/base-vega/popover.json | 2 +- public/r/styles/base-vega/price.json | 2 +- public/r/styles/base-vega/pricing-1.json | 2 +- public/r/styles/base-vega/pricing-2.json | 2 +- public/r/styles/base-vega/pricing-3.json | 2 +- public/r/styles/base-vega/product-1.json | 2 +- public/r/styles/base-vega/products-1.json | 2 +- public/r/styles/base-vega/products-2.json | 2 +- public/r/styles/base-vega/products-3.json | 2 +- public/r/styles/base-vega/products-4.json | 2 +- public/r/styles/base-vega/products-5.json | 2 +- .../base-vega/radio-group-examples.json | 2 +- public/r/styles/base-vega/radio-group.json | 2 +- public/r/styles/base-vega/rating.json | 2 +- public/r/styles/base-vega/registry.json | 392 +- .../styles/base-vega/resizable-examples.json | 2 +- public/r/styles/base-vega/resizable.json | 2 +- public/r/styles/base-vega/reviews-1.json | 2 +- public/r/styles/base-vega/reviews-2.json | 2 +- public/r/styles/base-vega/reviews-3.json | 2 +- public/r/styles/base-vega/reviews-4.json | 2 +- public/r/styles/base-vega/reviews-5.json | 2 +- public/r/styles/base-vega/section.json | 2 +- .../r/styles/base-vega/select-examples.json | 2 +- public/r/styles/base-vega/select.json | 2 +- .../styles/base-vega/separator-examples.json | 2 +- public/r/styles/base-vega/separator.json | 2 +- public/r/styles/base-vega/services-1.json | 2 +- public/r/styles/base-vega/services-2.json | 2 +- public/r/styles/base-vega/services-3.json | 2 +- public/r/styles/base-vega/services-4.json | 2 +- public/r/styles/base-vega/services-5.json | 2 +- public/r/styles/base-vega/services-6.json | 2 +- public/r/styles/base-vega/services-7.json | 2 +- public/r/styles/base-vega/sheet-examples.json | 2 +- public/r/styles/base-vega/sheet.json | 2 +- public/r/styles/base-vega/sidebar-1.json | 2 +- .../r/styles/base-vega/sidebar-examples.json | 2 +- public/r/styles/base-vega/sidebar.json | 2 +- .../r/styles/base-vega/skeleton-examples.json | 2 +- public/r/styles/base-vega/skeleton.json | 2 +- .../r/styles/base-vega/slider-examples.json | 2 +- public/r/styles/base-vega/slider.json | 2 +- .../r/styles/base-vega/spinner-examples.json | 2 +- public/r/styles/base-vega/spinner.json | 2 +- .../r/styles/base-vega/switch-examples.json | 2 +- public/r/styles/base-vega/switch.json | 2 +- public/r/styles/base-vega/table-examples.json | 2 +- public/r/styles/base-vega/table.json | 2 +- public/r/styles/base-vega/tabs-examples.json | 2 +- public/r/styles/base-vega/tabs.json | 2 +- .../r/styles/base-vega/textarea-examples.json | 2 +- public/r/styles/base-vega/textarea.json | 2 +- public/r/styles/base-vega/theme-toggle.json | 2 +- public/r/styles/base-vega/toast-examples.json | 2 +- public/r/styles/base-vega/toast.json | 2 +- public/r/styles/base-vega/toc.json | 2 +- .../r/styles/base-vega/toggle-examples.json | 2 +- .../base-vega/toggle-group-examples.json | 2 +- public/r/styles/base-vega/toggle-group.json | 2 +- public/r/styles/base-vega/toggle.json | 2 +- .../r/styles/base-vega/tooltip-examples.json | 2 +- public/r/styles/base-vega/tooltip.json | 2 +- public/r/styles/base-vega/typography.json | 2 +- public/r/styles/base-vega/video.json | 2 +- public/r/switch-examples.json | 2 +- public/r/switch.json | 2 +- public/r/table-examples.json | 2 +- public/r/table.json | 2 +- public/r/tabs-examples.json | 2 +- public/r/tabs.json | 2 +- public/r/textarea-examples.json | 2 +- public/r/textarea.json | 2 +- public/r/theme-toggle.json | 2 +- public/r/toast-examples.json | 2 +- public/r/toast.json | 2 +- public/r/toc.json | 2 +- public/r/toggle-examples.json | 2 +- public/r/toggle-group-examples.json | 2 +- public/r/toggle-group.json | 2 +- public/r/toggle.json | 2 +- public/r/tooltip-examples.json | 2 +- public/r/tooltip.json | 2 +- public/r/typography.json | 2 +- public/r/video.json | 2 +- react/README.md | 38 +- react/gallery/app.tsx | 42 +- react/gallery/blocks/contact-1.tsx | 5 +- react/gallery/blocks/contact-2.tsx | 5 +- react/gallery/blocks/contact-3.tsx | 5 +- react/gallery/blocks/sidebar-1.tsx | 2 - react/gallery/ui/direction.tsx | 94 - react/gallery/ui/form.tsx | 66 - react/gallery/ui/sidebar.tsx | 253 - react/gallery/ui/sonner.tsx | 95 - react/gallery/ui/toast.tsx | 166 - react/package.json | 23 +- react/registry.json | 6479 +++------------ react/src/components/blocks/sidebar-1.tsx | 4 - .../examples/accordion/accordion-basic.tsx | 40 - .../examples/accordion/accordion-borders.tsx | 47 - .../examples/accordion/accordion-card.tsx | 58 - .../examples/accordion/accordion-demo.tsx | 34 - .../examples/accordion/accordion-disabled.tsx | 36 - .../examples/accordion/accordion-multiple.tsx | 40 - .../examples/accordion/accordion-rtl.tsx | 91 - .../alert-dialog/alert-dialog-basic.tsx | 35 - .../alert-dialog/alert-dialog-demo.tsx | 35 - .../alert-dialog/alert-dialog-destructive.tsx | 41 - .../alert-dialog/alert-dialog-media.tsx | 40 - .../alert-dialog/alert-dialog-rtl.tsx | 124 - .../alert-dialog/alert-dialog-small-media.tsx | 41 - .../alert-dialog/alert-dialog-small.tsx | 34 - .../examples/alert/alert-action.tsx | 23 - .../components/examples/alert/alert-basic.tsx | 16 - .../examples/alert/alert-colors.tsx | 16 - .../components/examples/alert/alert-demo.tsx | 26 - .../examples/alert/alert-destructive.tsx | 16 - .../components/examples/alert/alert-rtl.tsx | 78 - .../aspect-ratio/aspect-ratio-demo.tsx | 14 - .../aspect-ratio/aspect-ratio-portrait.tsx | 17 - .../aspect-ratio/aspect-ratio-rtl.tsx | 50 - .../aspect-ratio/aspect-ratio-square.tsx | 17 - .../examples/attachment/attachment-demo.tsx | 82 - .../examples/attachment/attachment-group.tsx | 71 - .../examples/attachment/attachment-image.tsx | 69 - .../examples/attachment/attachment-sizes.tsx | 42 - .../examples/attachment/attachment-states.tsx | 101 - .../attachment/attachment-trigger.tsx | 60 - .../examples/avatar/avatar-badge-icon.tsx | 20 - .../examples/avatar/avatar-badge.tsx | 16 - .../examples/avatar/avatar-basic.tsx | 14 - .../examples/avatar/avatar-demo.tsx | 52 - .../examples/avatar/avatar-dropdown.tsx | 38 - .../avatar/avatar-group-count-icon.tsx | 34 - .../examples/avatar/avatar-group-count.tsx | 30 - .../examples/avatar/avatar-group.tsx | 28 - .../components/examples/avatar/avatar-rtl.tsx | 86 - .../examples/avatar/avatar-size.tsx | 20 - .../examples/badge/badge-colors.tsx | 23 - .../components/examples/badge/badge-demo.tsx | 12 - .../components/examples/badge/badge-icon.tsx | 18 - .../components/examples/badge/badge-link.tsx | 11 - .../components/examples/badge/badge-rtl.tsx | 67 - .../examples/badge/badge-spinner.tsx | 17 - .../examples/badge/badge-variants.tsx | 13 - .../examples/breadcrumb/breadcrumb-basic.tsx | 28 - .../examples/breadcrumb/breadcrumb-demo.tsx | 55 - .../breadcrumb/breadcrumb-dropdown.tsx | 55 - .../breadcrumb/breadcrumb-ellipsis.tsx | 37 - .../examples/breadcrumb/breadcrumb-link.tsx | 32 - .../examples/breadcrumb/breadcrumb-rtl.tsx | 103 - .../breadcrumb/breadcrumb-separator.tsx | 36 - .../examples/bubble/bubble-alignment.tsx | 18 - .../examples/bubble/bubble-collapsible.tsx | 56 - .../examples/bubble/bubble-demo.tsx | 48 - .../examples/bubble/bubble-group-demo.tsx | 36 - .../examples/bubble/bubble-link-button.tsx | 50 - .../examples/bubble/bubble-popover.tsx | 51 - .../examples/bubble/bubble-reactions.tsx | 66 - .../examples/bubble/bubble-tooltip.tsx | 30 - .../examples/bubble/bubble-variants.tsx | 48 - .../button-group/button-group-demo.tsx | 116 - .../button-group/button-group-dropdown.tsx | 73 - .../button-group/button-group-input-group.tsx | 60 - .../button-group/button-group-input.tsx | 16 - .../button-group/button-group-nested.tsx | 38 - .../button-group/button-group-orientation.tsx | 21 - .../button-group/button-group-popover.tsx | 54 - .../button-group/button-group-rtl.tsx | 186 - .../button-group/button-group-select.tsx | 55 - .../button-group/button-group-separator.tsx | 16 - .../button-group/button-group-size.tsx | 47 - .../button-group/button-group-split.tsx | 16 - .../examples/button/button-default.tsx | 5 - .../examples/button/button-demo.tsx | 14 - .../examples/button/button-destructive.tsx | 5 - .../examples/button/button-ghost.tsx | 5 - .../examples/button/button-icon.tsx | 11 - .../examples/button/button-link.tsx | 5 - .../examples/button/button-outline.tsx | 5 - .../examples/button/button-render.tsx | 12 - .../examples/button/button-rounded.tsx | 14 - .../components/examples/button/button-rtl.tsx | 61 - .../examples/button/button-secondary.tsx | 5 - .../examples/button/button-size.tsx | 40 - .../examples/button/button-spinner.tsx | 17 - .../examples/button/button-with-icon.tsx | 17 - .../examples/calendar/calendar-basic.tsx | 7 - .../calendar/calendar-booked-dates.tsx | 36 - .../examples/calendar/calendar-caption.tsx | 13 - .../calendar/calendar-custom-days.tsx | 51 - .../examples/calendar/calendar-demo.tsx | 19 - .../examples/calendar/calendar-hijri.tsx | 233 - .../examples/calendar/calendar-presets.tsx | 58 - .../examples/calendar/calendar-range.tsx | 26 - .../examples/calendar/calendar-rtl.tsx | 49 - .../examples/calendar/calendar-time.tsx | 66 - .../calendar/calendar-week-numbers.tsx | 26 - .../components/examples/card/card-demo.tsx | 63 - .../examples/card/card-edge-to-edge.tsx | 47 - .../components/examples/card/card-image.tsx | 36 - .../src/components/examples/card/card-rtl.tsx | 116 - .../components/examples/card/card-small.tsx | 50 - .../components/examples/card/card-spacing.tsx | 115 - .../examples/carousel/carousel-api.tsx | 55 - .../examples/carousel/carousel-demo.tsx | 32 - .../carousel/carousel-orientation.tsx | 38 - .../examples/carousel/carousel-plugin.tsx | 44 - .../examples/carousel/carousel-rtl.tsx | 79 - .../examples/carousel/carousel-size.tsx | 37 - .../examples/carousel/carousel-spacing.tsx | 32 - .../components/examples/chart/chart-demo.tsx | 160 - .../examples/chart/chart-example-axis.tsx | 44 - .../examples/chart/chart-example-grid.tsx | 37 - .../examples/chart/chart-example-legend.tsx | 53 - .../examples/chart/chart-example-tooltip.tsx | 50 - .../examples/chart/chart-example.tsx | 36 - .../components/examples/chart/chart-rtl.tsx | 114 - .../examples/chart/chart-tooltip.tsx | 213 - .../examples/checkbox/checkbox-basic.tsx | 15 - .../examples/checkbox/checkbox-demo.tsx | 53 - .../checkbox/checkbox-description.tsx | 30 - .../examples/checkbox/checkbox-disabled.tsx | 19 - .../examples/checkbox/checkbox-group.tsx | 74 - .../examples/checkbox/checkbox-invalid.tsx | 19 - .../examples/checkbox/checkbox-rtl.tsx | 96 - .../examples/checkbox/checkbox-table.tsx | 108 - .../collapsible/collapsible-basic.tsx | 33 - .../examples/collapsible/collapsible-demo.tsx | 47 - .../collapsible/collapsible-file-tree.tsx | 122 - .../examples/collapsible/collapsible-rtl.tsx | 92 - .../collapsible/collapsible-settings.tsx | 72 - .../combobox/combobox-auto-highlight.tsx | 36 - .../examples/combobox/combobox-basic.tsx | 36 - .../examples/combobox/combobox-clear.tsx | 36 - .../examples/combobox/combobox-custom.tsx | 99 - .../examples/combobox/combobox-demo.tsx | 36 - .../examples/combobox/combobox-disabled.tsx | 36 - .../examples/combobox/combobox-groups.tsx | 76 - .../combobox/combobox-input-group.tsx | 81 - .../examples/combobox/combobox-invalid.tsx | 36 - .../examples/combobox/combobox-multiple.tsx | 60 - .../examples/combobox/combobox-popup.tsx | 96 - .../examples/combobox/combobox-rtl.tsx | 133 - .../examples/command/command-basic.tsx | 39 - .../examples/command/command-demo.tsx | 62 - .../examples/command/command-groups.tsx | 76 - .../examples/command/command-rtl.tsx | 116 - .../examples/command/command-scrollable.tsx | 182 - .../examples/command/command-shortcuts.tsx | 53 - .../context-menu/context-menu-basic.tsx | 29 - .../context-menu/context-menu-checkboxes.tsx | 33 - .../context-menu/context-menu-demo.tsx | 82 - .../context-menu/context-menu-destructive.tsx | 44 - .../context-menu/context-menu-groups.tsx | 76 - .../context-menu/context-menu-icons.tsx | 53 - .../context-menu/context-menu-radio.tsx | 52 - .../context-menu/context-menu-rtl.tsx | 183 - .../context-menu/context-menu-shortcuts.tsx | 51 - .../context-menu/context-menu-sides.tsx | 82 - .../context-menu/context-menu-submenu.tsx | 57 - .../examples/data-table/data-table-demo.tsx | 331 - .../examples/data-table/data-table-rtl.tsx | 443 - .../date-picker/date-picker-basic.tsx | 44 - .../examples/date-picker/date-picker-demo.tsx | 42 - .../examples/date-picker/date-picker-dob.tsx | 48 - .../date-picker/date-picker-input.tsx | 108 - .../date-picker-natural-language.tsx | 103 - .../date-picker/date-picker-range.tsx | 62 - .../examples/date-picker/date-picker-rtl.tsx | 99 - .../examples/date-picker/date-picker-time.tsx | 64 - .../examples/dialog/dialog-close-button.tsx | 44 - .../examples/dialog/dialog-demo.tsx | 51 - .../dialog/dialog-no-close-button.tsx | 30 - .../components/examples/dialog/dialog-rtl.tsx | 101 - .../dialog/dialog-scrollable-content.tsx | 40 - .../examples/dialog/dialog-sticky-footer.tsx | 46 - .../examples/drawer/drawer-demo.tsx | 132 - .../examples/drawer/drawer-dialog.tsx | 85 - .../examples/drawer/drawer-nested.tsx | 111 - .../examples/drawer/drawer-non-modal.tsx | 31 - .../examples/drawer/drawer-sides.tsx | 33 - .../examples/drawer/drawer-snap-points.tsx | 40 - .../examples/drawer/drawer-swipe-handle.tsx | 35 - .../dropdown-menu/dropdown-menu-avatar.tsx | 55 - .../dropdown-menu/dropdown-menu-basic.tsx | 34 - .../dropdown-menu-checkboxes-icons.tsx | 62 - .../dropdown-menu-checkboxes.tsx | 51 - .../dropdown-menu/dropdown-menu-complex.tsx | 289 - .../dropdown-menu/dropdown-menu-demo.tsx | 76 - .../dropdown-menu-destructive.tsx | 42 - .../dropdown-menu/dropdown-menu-icons.tsx | 46 - .../dropdown-menu-radio-group.tsx | 36 - .../dropdown-menu-radio-icons.tsx | 49 - .../dropdown-menu/dropdown-menu-rtl.tsx | 246 - .../dropdown-menu/dropdown-menu-shortcuts.tsx | 45 - .../dropdown-menu/dropdown-menu-submenu.tsx | 57 - .../examples/empty/empty-avatar-group.tsx | 53 - .../examples/empty/empty-avatar.tsx | 36 - .../examples/empty/empty-background.tsx | 34 - .../components/examples/empty/empty-demo.tsx | 42 - .../examples/empty/empty-input-group.tsx | 43 - .../examples/empty/empty-outline.tsx | 32 - .../components/examples/empty/empty-rtl.tsx | 84 - .../examples/field/field-checkbox.tsx | 78 - .../examples/field/field-choice-card.tsx | 48 - .../components/examples/field/field-demo.tsx | 174 - .../examples/field/field-fieldset.tsx | 36 - .../components/examples/field/field-group.tsx | 53 - .../components/examples/field/field-input.tsx | 31 - .../components/examples/field/field-radio.tsx | 39 - .../examples/field/field-responsive.tsx | 41 - .../components/examples/field/field-rtl.tsx | 289 - .../examples/field/field-select.tsx | 46 - .../examples/field/field-slider.tsx | 30 - .../examples/field/field-switch.tsx | 11 - .../examples/field/field-textarea.tsx | 28 - .../examples/hover-card/hover-card-demo.tsx | 28 - .../examples/hover-card/hover-card-rtl.tsx | 111 - .../examples/hover-card/hover-card-sides.tsx | 32 - .../input-group/input-group-block-end.tsx | 49 - .../input-group/input-group-block-start.tsx | 57 - .../input-group/input-group-button.tsx | 84 - .../input-group/input-group-custom.tsx | 28 - .../examples/input-group/input-group-demo.tsx | 19 - .../input-group/input-group-dropdown.tsx | 70 - .../examples/input-group/input-group-icon.tsx | 49 - .../input-group/input-group-inline-end.tsx | 27 - .../input-group/input-group-inline-start.tsx | 23 - .../examples/input-group/input-group-kbd.tsx | 22 - .../examples/input-group/input-group-rtl.tsx | 119 - .../input-group/input-group-spinner.tsx | 46 - .../examples/input-group/input-group-text.tsx | 46 - .../input-group/input-group-textarea.tsx | 46 - .../input-otp/input-otp-alphanumeric.tsx | 28 - .../input-otp/input-otp-controlled.tsx | 39 - .../examples/input-otp/input-otp-demo.tsx | 20 - .../examples/input-otp/input-otp-disabled.tsx | 25 - .../examples/input-otp/input-otp-form.tsx | 77 - .../input-otp/input-otp-four-digits.tsx | 22 - .../examples/input-otp/input-otp-invalid.tsx | 33 - .../examples/input-otp/input-otp-pattern.tsx | 28 - .../examples/input-otp/input-otp-rtl.tsx | 60 - .../input-otp/input-otp-separator.tsx | 27 - .../components/examples/input/input-badge.tsx | 21 - .../components/examples/input/input-basic.tsx | 5 - .../examples/input/input-button-group.tsx | 16 - .../components/examples/input/input-demo.tsx | 14 - .../examples/input/input-disabled.tsx | 17 - .../components/examples/input/input-field.tsx | 18 - .../examples/input/input-fieldgroup.tsx | 36 - .../components/examples/input/input-file.tsx | 12 - .../components/examples/input/input-form.tsx | 79 - .../components/examples/input/input-grid.tsx | 17 - .../examples/input/input-inline.tsx | 12 - .../examples/input/input-input-group.tsx | 26 - .../examples/input/input-invalid.tsx | 14 - .../examples/input/input-required.tsx | 18 - .../components/examples/input/input-rtl.tsx | 54 - .../components/examples/item/item-avatar.tsx | 76 - .../components/examples/item/item-demo.tsx | 42 - .../examples/item/item-dropdown.tsx | 70 - .../components/examples/item/item-group.tsx | 59 - .../components/examples/item/item-header.tsx | 58 - .../components/examples/item/item-icon.tsx | 34 - .../components/examples/item/item-image.tsx | 66 - .../components/examples/item/item-link.tsx | 41 - .../src/components/examples/item/item-rtl.tsx | 79 - .../components/examples/item/item-size.tsx | 45 - .../components/examples/item/item-variant.tsx | 49 - .../components/examples/kbd/kbd-button.tsx | 13 - .../src/components/examples/kbd/kbd-demo.tsx | 19 - .../src/components/examples/kbd/kbd-group.tsx | 16 - .../examples/kbd/kbd-input-group.tsx | 25 - react/src/components/examples/kbd/kbd-rtl.tsx | 44 - .../components/examples/kbd/kbd-tooltip.tsx | 37 - .../components/examples/label/label-demo.tsx | 11 - .../components/examples/label/label-rtl.tsx | 44 - .../examples/marker/marker-border.tsx | 28 - .../examples/marker/marker-demo.tsx | 32 - .../examples/marker/marker-icon.tsx | 28 - .../examples/marker/marker-link-button.tsx | 33 - .../examples/marker/marker-separator.tsx | 17 - .../examples/marker/marker-shimmer.tsx | 14 - .../examples/marker/marker-status.tsx | 21 - .../examples/marker/marker-variants.tsx | 17 - .../examples/menubar/menubar-checkbox.tsx | 41 - .../examples/menubar/menubar-demo.tsx | 136 - .../examples/menubar/menubar-icons.tsx | 64 - .../examples/menubar/menubar-radio.tsx | 47 - .../examples/menubar/menubar-rtl.tsx | 283 - .../examples/menubar/menubar-submenu.tsx | 60 - .../message-scroller-anchoring.tsx | 191 - .../message-scroller-animation.tsx | 182 - .../message-scroller-commands.tsx | 168 - .../message-scroller-demo.tsx | 244 - .../message-scroller-group-chat.tsx | 231 - .../message-scroller-load-history.tsx | 171 - .../message-scroller-opening-position.tsx | 190 - .../message-scroller-previous-context.tsx | 257 - .../message-scroller-scrollable.tsx | 103 - .../message-scroller-streaming.tsx | 245 - .../message-scroller-visibility.tsx | 185 - .../examples/message/message-actions.tsx | 60 - .../examples/message/message-attachment.tsx | 76 - .../examples/message/message-avatar.tsx | 68 - .../examples/message/message-demo.tsx | 95 - .../examples/message/message-group.tsx | 43 - .../message/message-header-footer.tsx | 36 - .../native-select/native-select-demo.tsx | 13 - .../native-select/native-select-disabled.tsx | 12 - .../native-select/native-select-groups.tsx | 38 - .../native-select/native-select-invalid.tsx | 12 - .../native-select/native-select-rtl.tsx | 58 - .../navigation-menu/navigation-menu-demo.tsx | 159 - .../navigation-menu/navigation-menu-rtl.tsx | 276 - .../examples/pagination/pagination-demo.tsx | 38 - .../pagination/pagination-icons-only.tsx | 49 - .../examples/pagination/pagination-rtl.tsx | 88 - .../examples/pagination/pagination-simple.tsx | 32 - .../examples/popover/popover-alignments.tsx | 39 - .../examples/popover/popover-basic.tsx | 29 - .../examples/popover/popover-demo.tsx | 62 - .../examples/popover/popover-form.tsx | 45 - .../examples/popover/popover-rtl.tsx | 99 - .../examples/progress/progress-controlled.tsx | 23 - .../examples/progress/progress-demo.tsx | 16 - .../examples/progress/progress-label.tsx | 14 - .../examples/progress/progress-rtl.tsx | 67 - .../questionnaire/questionnaire-animated.tsx | 118 - .../questionnaire/questionnaire-card.tsx | 136 - .../questionnaire-conditional.tsx | 122 - .../questionnaire-controlled.tsx | 127 - .../questionnaire/questionnaire-demo.tsx | 142 - .../questionnaire/questionnaire-dialog.tsx | 124 - .../questionnaire/questionnaire-freeform.tsx | 79 - .../questionnaire/questionnaire-multiple.tsx | 78 - .../questionnaire-navigation-state.tsx | 119 - .../questionnaire/questionnaire-progress.tsx | 139 - .../questionnaire/questionnaire-resume.tsx | 115 - .../questionnaire/questionnaire-shortcuts.tsx | 93 - .../questionnaire/questionnaire-skip.tsx | 132 - .../questionnaire-validation.tsx | 203 - .../radio-group/radio-group-choice-card.tsx | 46 - .../examples/radio-group/radio-group-demo.tsx | 21 - .../radio-group/radio-group-description.tsx | 39 - .../radio-group/radio-group-disabled.tsx | 27 - .../radio-group/radio-group-fieldset.tsx | 39 - .../radio-group/radio-group-invalid.tsx | 39 - .../examples/radio-group/radio-group-rtl.tsx | 89 - .../examples/resizable/resizable-demo.tsx | 36 - .../examples/resizable/resizable-handle.tsx | 26 - .../examples/resizable/resizable-rtl.tsx | 74 - .../examples/resizable/resizable-vertical.tsx | 26 - .../examples/scroll-area/scroll-area-demo.tsx | 24 - .../scroll-area-horizontal-demo.tsx | 52 - .../examples/scroll-area/scroll-area-rtl.tsx | 53 - .../examples/select/select-align-item.tsx | 68 - .../examples/select/select-demo.tsx | 38 - .../examples/select/select-disabled.tsx | 39 - .../examples/select/select-groups.tsx | 54 - .../examples/select/select-invalid.tsx | 39 - .../components/examples/select/select-rtl.tsx | 126 - .../examples/select/select-scrollable.tsx | 112 - .../examples/separator/separator-demo.tsx | 19 - .../examples/separator/separator-list.tsx | 22 - .../examples/separator/separator-menu.tsx | 26 - .../examples/separator/separator-rtl.tsx | 54 - .../examples/separator/separator-vertical.tsx | 13 - .../components/examples/sheet/sheet-demo.tsx | 43 - .../examples/sheet/sheet-no-close-button.tsx | 28 - .../components/examples/sheet/sheet-rtl.tsx | 98 - .../components/examples/sheet/sheet-side.tsx | 61 - .../examples/sidebar/sidebar-demo.tsx | 499 -- .../examples/skeleton/skeleton-avatar.tsx | 13 - .../examples/skeleton/skeleton-card.tsx | 16 - .../examples/skeleton/skeleton-demo.tsx | 13 - .../examples/skeleton/skeleton-form.tsx | 17 - .../examples/skeleton/skeleton-rtl.tsx | 38 - .../examples/skeleton/skeleton-table.tsx | 15 - .../examples/skeleton/skeleton-text.tsx | 11 - .../examples/slider/slider-controlled.tsx | 29 - .../examples/slider/slider-demo.tsx | 12 - .../examples/slider/slider-disabled.tsx | 13 - .../examples/slider/slider-multiple.tsx | 12 - .../examples/slider/slider-range.tsx | 12 - .../components/examples/slider/slider-rtl.tsx | 38 - .../examples/slider/slider-vertical.tsx | 22 - .../examples/spinner/spinner-badge.tsx | 21 - .../examples/spinner/spinner-button.tsx | 21 - .../examples/spinner/spinner-custom.tsx | 21 - .../examples/spinner/spinner-demo.tsx | 20 - .../examples/spinner/spinner-empty.tsx | 31 - .../examples/spinner/spinner-input-group.tsx | 33 - .../examples/spinner/spinner-rtl.tsx | 57 - .../examples/spinner/spinner-size.tsx | 12 - .../examples/switch/switch-choice-card.tsx | 39 - .../examples/switch/switch-demo.tsx | 11 - .../examples/switch/switch-description.tsx | 23 - .../examples/switch/switch-disabled.tsx | 11 - .../examples/switch/switch-invalid.tsx | 23 - .../components/examples/switch/switch-rtl.tsx | 57 - .../examples/switch/switch-sizes.tsx | 17 - .../examples/table/table-actions.tsx | 106 - .../components/examples/table/table-demo.tsx | 87 - .../examples/table/table-footer.tsx | 87 - .../components/examples/table/table-rtl.tsx | 151 - .../components/examples/tabs/tabs-demo.tsx | 77 - .../examples/tabs/tabs-disabled.tsx | 14 - .../components/examples/tabs/tabs-icons.tsx | 20 - .../components/examples/tabs/tabs-line.tsx | 13 - .../src/components/examples/tabs/tabs-rtl.tsx | 153 - .../examples/tabs/tabs-vertical.tsx | 13 - .../examples/textarea/textarea-button.tsx | 11 - .../examples/textarea/textarea-demo.tsx | 5 - .../examples/textarea/textarea-disabled.tsx | 15 - .../examples/textarea/textarea-field.tsx | 12 - .../examples/textarea/textarea-invalid.tsx | 16 - .../examples/textarea/textarea-rtl.tsx | 51 - .../components/examples/toast/toast-demo.tsx | 25 - .../examples/toast/toast-promise.tsx | 25 - .../components/examples/toast/toast-types.tsx | 62 - .../toggle-group/toggle-group-demo.tsx | 19 - .../toggle-group/toggle-group-disabled.tsx | 19 - .../toggle-group-font-weight-selector.tsx | 62 - .../toggle-group/toggle-group-outline.tsx | 14 - .../toggle-group/toggle-group-rtl.tsx | 54 - .../toggle-group/toggle-group-sizes.tsx | 36 - .../toggle-group/toggle-group-spacing.tsx | 20 - .../toggle-group/toggle-group-vertical.tsx | 24 - .../examples/toggle/toggle-demo.tsx | 12 - .../examples/toggle/toggle-disabled.tsx | 14 - .../examples/toggle/toggle-outline.tsx | 18 - .../components/examples/toggle/toggle-rtl.tsx | 42 - .../examples/toggle/toggle-sizes.tsx | 17 - .../examples/toggle/toggle-text.tsx | 12 - .../examples/tooltip/tooltip-demo.tsx | 19 - .../examples/tooltip/tooltip-disabled.tsx | 23 - .../examples/tooltip/tooltip-keyboard.tsx | 22 - .../examples/tooltip/tooltip-rtl.tsx | 87 - .../examples/tooltip/tooltip-sides.tsx | 25 - react/src/components/language-selector.tsx | 125 - react/src/components/markdown.tsx | 27 - react/src/components/message-animated.tsx | 186 - react/src/components/ui/alert-dialog.tsx | 175 - react/src/components/ui/alert.tsx | 71 - react/src/components/ui/aspect-ratio.tsx | 22 - react/src/components/ui/attachment.tsx | 209 - react/src/components/ui/bubble.tsx | 120 - react/src/components/ui/button-group.tsx | 87 - react/src/components/ui/calendar.tsx | 231 - react/src/components/ui/chart.tsx | 369 - react/src/components/ui/checkbox.tsx | 27 - react/src/components/ui/collapsible.tsx | 21 - react/src/components/ui/combobox.tsx | 292 - react/src/components/ui/context-menu.tsx | 265 - react/src/components/ui/direction.tsx | 6 - react/src/components/ui/drawer.tsx | 283 - react/src/components/ui/empty.tsx | 103 - react/src/components/ui/form.tsx | 14 - react/src/components/ui/hover-card.tsx | 50 - react/src/components/ui/input-otp.tsx | 82 - react/src/components/ui/item.tsx | 200 - react/src/components/ui/marker.tsx | 63 - react/src/components/ui/menubar.tsx | 269 - react/src/components/ui/message-scroller.tsx | 133 - react/src/components/ui/message.tsx | 91 - react/src/components/ui/native-select.tsx | 64 - react/src/components/ui/pagination.tsx | 133 - react/src/components/ui/popover.tsx | 89 - react/src/components/ui/progress.tsx | 79 - react/src/components/ui/questionnaire.tsx | 330 - react/src/components/ui/radio-group.tsx | 37 - react/src/components/ui/resizable.tsx | 49 - react/src/components/ui/scroll-area.tsx | 54 - react/src/components/ui/select.tsx | 193 - react/src/components/ui/sidebar.tsx | 9 +- react/src/components/ui/slider.tsx | 51 - react/src/components/ui/sonner.tsx | 45 - react/src/components/ui/spinner.tsx | 16 - react/src/components/ui/switch.tsx | 31 - react/src/components/ui/table.tsx | 100 - react/src/components/ui/tabs.tsx | 81 - react/src/components/ui/toast.tsx | 229 - react/src/components/ui/toggle-group.tsx | 89 - react/src/components/ui/toggle.tsx | 43 - react/src/hooks/use-copy-to-clipboard.ts | 80 - react/src/hooks/use-media-query.tsx | 19 - react/src/lib/ai.ts | 14 - react/src/lib/message-animations.ts | 137 - react/src/lib/utils.ts | 1 - react/src/styles/globals.css | 4 +- react/vite.config.ts | 6 +- registry.json | 392 +- scripts/registry-meta.mjs | 61 +- scripts/registry-validate.mjs | 32 +- src/components/framework-select.astro | 13 +- src/content/globals/en.yaml | 195 + src/content/pages/astro/index.mdx | 5 - .../pages/{astro => }/blocks/article.mdx | 0 .../pages/{astro => }/blocks/articles.mdx | 0 .../pages/{astro => }/blocks/banner.mdx | 0 .../pages/{astro => }/blocks/contact.mdx | 0 .../pages/{astro => }/blocks/content.mdx | 0 src/content/pages/{astro => }/blocks/cta.mdx | 0 src/content/pages/{astro => }/blocks/doc.mdx | 0 src/content/pages/{astro => }/blocks/faqs.mdx | 0 .../pages/{astro => }/blocks/features.mdx | 0 .../pages/{astro => }/blocks/footer.mdx | 0 .../pages/{astro => }/blocks/header.mdx | 0 src/content/pages/{astro => }/blocks/hero.mdx | 0 .../pages/{astro => }/blocks/index.mdx | 0 .../pages/{astro => }/blocks/links.mdx | 0 .../pages/{astro => }/blocks/logos.mdx | 0 .../pages/{astro => }/blocks/pricing.mdx | 0 .../pages/{astro => }/blocks/product.mdx | 0 .../pages/{astro => }/blocks/products.mdx | 0 .../pages/{astro => }/blocks/reviews.mdx | 0 .../pages/{astro => }/blocks/services.mdx | 0 .../{astro => }/components/accordion.mdx | 0 .../{astro => }/components/alert-dialog.mdx | 0 .../pages/{astro => }/components/alert.mdx | 2 +- .../{astro => }/components/aspect-ratio.mdx | 0 .../{astro => }/components/attachment.mdx | 0 .../pages/{astro => }/components/avatar.mdx | 2 +- .../pages/{astro => }/components/badge.mdx | 0 .../pages/{astro => }/components/banner.mdx | 0 .../{astro => }/components/breadcrumb.mdx | 0 .../{astro => }/components/button-group.mdx | 6 +- .../pages/{astro => }/components/button.mdx | 2 +- .../pages/{astro => }/components/card.mdx | 0 .../pages/{astro => }/components/carousel.mdx | 0 .../pages/{astro => }/components/checkbox.mdx | 0 .../{astro => }/components/collapsible.mdx | 2 +- .../pages/{astro => }/components/combobox.mdx | 2 +- .../pages/{astro => }/components/command.mdx | 0 .../pages/{astro => }/components/dialog.mdx | 0 .../pages/{astro => }/components/drawer.mdx | 2 +- .../{astro => }/components/dropdown-menu.mdx | 2 +- .../pages/{astro => }/components/empty.mdx | 0 .../pages/{astro => }/components/field.mdx | 0 .../pages/{astro => }/components/form.mdx | 0 .../pages/{astro => }/components/header.mdx | 0 .../{astro => }/components/hover-card.mdx | 0 .../pages/{astro => }/components/icon.mdx | 0 .../pages/{astro => }/components/index.mdx | 0 .../{astro => }/components/input-group.mdx | 0 .../pages/{astro => }/components/input.mdx | 6 +- .../pages/{astro => }/components/item.mdx | 0 .../pages/{astro => }/components/kbd.mdx | 0 .../pages/{astro => }/components/label.mdx | 2 +- .../pages/{astro => }/components/layout.mdx | 0 .../pages/{astro => }/components/logo.mdx | 0 .../pages/{astro => }/components/marquee.mdx | 0 .../{astro => }/components/native-select.mdx | 0 .../components/navigation-menu.mdx | 0 .../{astro => }/components/pagination.mdx | 0 .../pages/{astro => }/components/popover.mdx | 0 .../pages/{astro => }/components/price.mdx | 0 .../{astro => }/components/radio-group.mdx | 0 .../pages/{astro => }/components/rating.mdx | 0 .../{astro => }/components/resizable.mdx | 0 .../pages/{astro => }/components/section.mdx | 2 +- .../pages/{astro => }/components/select.mdx | 0 .../{astro => }/components/separator.mdx | 0 .../pages/{astro => }/components/sheet.mdx | 0 .../pages/{astro => }/components/sidebar.mdx | 0 .../pages/{astro => }/components/skeleton.mdx | 2 +- .../pages/{astro => }/components/slider.mdx | 2 +- .../pages/{astro => }/components/spinner.mdx | 0 .../pages/{astro => }/components/switch.mdx | 0 .../pages/{astro => }/components/table.mdx | 2 +- .../pages/{astro => }/components/tabs.mdx | 0 .../pages/{astro => }/components/textarea.mdx | 0 .../{astro => }/components/theme-toggle.mdx | 0 .../pages/{astro => }/components/toast.mdx | 0 .../pages/{astro => }/components/toc.mdx | 0 .../{astro => }/components/toggle-group.mdx | 0 .../pages/{astro => }/components/toggle.mdx | 0 .../pages/{astro => }/components/tooltip.mdx | 0 .../{astro => }/components/typography.mdx | 0 .../pages/{astro => }/components/video.mdx | 0 src/content/pages/create.mdx | 2 +- src/content/pages/{astro => }/docs/index.mdx | 0 .../pages/{astro => }/docs/installation.mdx | 6 +- .../pages/{astro => }/docs/introduction.mdx | 4 +- .../pages/{astro => }/docs/presets.mdx | 0 .../pages/{astro => }/docs/theming.mdx | 2 +- src/content/pages/index.mdx | 295 +- .../pages/react/components/accordion.mdx | 91 - .../pages/react/components/alert-dialog.mdx | 115 - src/content/pages/react/components/alert.mdx | 115 - .../pages/react/components/aspect-ratio.mdx | 64 - .../pages/react/components/attachment.mdx | 228 - src/content/pages/react/components/avatar.mdx | 167 - src/content/pages/react/components/badge.mdx | 72 - .../pages/react/components/breadcrumb.mdx | 172 - src/content/pages/react/components/bubble.mdx | 214 - .../pages/react/components/button-group.mdx | 195 - src/content/pages/react/components/button.mdx | 119 - .../pages/react/components/calendar.mdx | 157 - src/content/pages/react/components/card.mdx | 144 - .../pages/react/components/carousel.mdx | 263 - src/content/pages/react/components/chart.mdx | 319 - .../pages/react/components/checkbox.mdx | 83 - .../pages/react/components/collapsible.mdx | 92 - .../pages/react/components/combobox.mdx | 280 - .../pages/react/components/command.mdx | 101 - .../pages/react/components/context-menu.mdx | 145 - .../pages/react/components/data-table.mdx | 23 - .../pages/react/components/date-picker.mdx | 113 - src/content/pages/react/components/dialog.mdx | 91 - .../pages/react/components/direction.mdx | 46 - src/content/pages/react/components/drawer.mdx | 118 - .../pages/react/components/dropdown-menu.mdx | 158 - src/content/pages/react/components/empty.mdx | 187 - src/content/pages/react/components/field.mdx | 340 - src/content/pages/react/components/form.mdx | 23 - .../pages/react/components/hover-card.mdx | 88 - src/content/pages/react/components/index.mdx | 2 +- .../pages/react/components/input-group.mdx | 207 - .../pages/react/components/input-otp.mdx | 127 - src/content/pages/react/components/input.mdx | 109 - src/content/pages/react/components/item.mdx | 251 - src/content/pages/react/components/kbd.mdx | 95 - src/content/pages/react/components/label.mdx | 48 - src/content/pages/react/components/marker.mdx | 193 - .../pages/react/components/menubar.mdx | 123 - .../react/components/message-scroller.mdx | 258 - .../pages/react/components/message.mdx | 178 - .../pages/react/components/native-select.mdx | 129 - .../react/components/navigation-menu.mdx | 99 - .../pages/react/components/pagination.mdx | 117 - .../pages/react/components/popover.mdx | 80 - .../pages/react/components/progress.mdx | 74 - .../pages/react/components/questionnaire.mdx | 231 - .../pages/react/components/radio-group.mdx | 85 - .../pages/react/components/resizable.mdx | 66 - .../pages/react/components/scroll-area.mdx | 54 - src/content/pages/react/components/select.mdx | 118 - .../pages/react/components/separator.mdx | 53 - src/content/pages/react/components/sheet.mdx | 78 - .../pages/react/components/sidebar.mdx | 387 - .../pages/react/components/skeleton.mdx | 53 - src/content/pages/react/components/slider.mdx | 63 - src/content/pages/react/components/sonner.mdx | 53 - .../pages/react/components/spinner.mdx | 83 - src/content/pages/react/components/switch.mdx | 63 - src/content/pages/react/components/table.mdx | 102 - src/content/pages/react/components/tabs.mdx | 75 - .../pages/react/components/textarea.mdx | 57 - src/content/pages/react/components/toast.mdx | 83 - .../pages/react/components/toggle-group.mdx | 83 - src/content/pages/react/components/toggle.mdx | 55 - .../pages/react/components/tooltip.mdx | 70 - .../pages/react/components/typography.mdx | 7 + src/content/pages/react/docs/index.mdx | 2 +- src/content/pages/react/docs/installation.mdx | 48 +- src/content/pages/react/docs/introduction.mdx | 33 +- src/content/pages/react/index.mdx | 2 +- src/layouts/base.astro | 9 +- src/layouts/block.astro | 2 +- src/layouts/doc.astro | 36 +- src/layouts/overview.astro | 114 +- src/lib/examples.ts | 13 +- src/lib/llms.ts | 83 +- src/lib/markdown.ts | 19 +- src/lib/pages.ts | 106 +- src/pages/[edition]/llms-full.txt.ts | 15 - src/pages/[edition]/llms.txt.ts | 14 - src/pages/llms-full.txt.ts | 2 +- src/pages/llms.txt.ts | 2 +- src/pages/react/llms-full.txt.ts | 10 + src/pages/react/llms.txt.ts | 10 + src/schemas/global.ts | 6 + tests/extension.test.mjs | 136 + 4123 files changed, 16343 insertions(+), 143629 deletions(-) create mode 100644 .changeset/react-extension-urls.md create mode 100644 public/_redirects delete mode 100644 public/r/react/styles/base-luma/accordion-examples.json delete mode 100644 public/r/react/styles/base-luma/accordion.json delete mode 100644 public/r/react/styles/base-luma/alert-dialog-examples.json delete mode 100644 public/r/react/styles/base-luma/alert-dialog.json delete mode 100644 public/r/react/styles/base-luma/alert-examples.json delete mode 100644 public/r/react/styles/base-luma/alert.json delete mode 100644 public/r/react/styles/base-luma/aspect-ratio-examples.json delete mode 100644 public/r/react/styles/base-luma/aspect-ratio.json delete mode 100644 public/r/react/styles/base-luma/attachment-examples.json delete mode 100644 public/r/react/styles/base-luma/attachment.json delete mode 100644 public/r/react/styles/base-luma/avatar-examples.json delete mode 100644 public/r/react/styles/base-luma/avatar.json delete mode 100644 public/r/react/styles/base-luma/badge-examples.json delete mode 100644 public/r/react/styles/base-luma/badge.json delete mode 100644 public/r/react/styles/base-luma/base.json delete mode 100644 public/r/react/styles/base-luma/breadcrumb-examples.json delete mode 100644 public/r/react/styles/base-luma/breadcrumb.json delete mode 100644 public/r/react/styles/base-luma/bubble-examples.json delete mode 100644 public/r/react/styles/base-luma/bubble.json delete mode 100644 public/r/react/styles/base-luma/button-examples.json delete mode 100644 public/r/react/styles/base-luma/button-group-examples.json delete mode 100644 public/r/react/styles/base-luma/button-group.json delete mode 100644 public/r/react/styles/base-luma/button.json delete mode 100644 public/r/react/styles/base-luma/calendar-examples.json delete mode 100644 public/r/react/styles/base-luma/calendar.json delete mode 100644 public/r/react/styles/base-luma/card-examples.json delete mode 100644 public/r/react/styles/base-luma/card.json delete mode 100644 public/r/react/styles/base-luma/carousel-examples.json delete mode 100644 public/r/react/styles/base-luma/carousel.json delete mode 100644 public/r/react/styles/base-luma/chart-examples.json delete mode 100644 public/r/react/styles/base-luma/chart.json delete mode 100644 public/r/react/styles/base-luma/checkbox-examples.json delete mode 100644 public/r/react/styles/base-luma/checkbox.json delete mode 100644 public/r/react/styles/base-luma/collapsible-examples.json delete mode 100644 public/r/react/styles/base-luma/collapsible.json delete mode 100644 public/r/react/styles/base-luma/combobox-examples.json delete mode 100644 public/r/react/styles/base-luma/combobox.json delete mode 100644 public/r/react/styles/base-luma/command-examples.json delete mode 100644 public/r/react/styles/base-luma/command.json delete mode 100644 public/r/react/styles/base-luma/context-menu-examples.json delete mode 100644 public/r/react/styles/base-luma/context-menu.json delete mode 100644 public/r/react/styles/base-luma/data-table-examples.json delete mode 100644 public/r/react/styles/base-luma/date-picker-examples.json delete mode 100644 public/r/react/styles/base-luma/dialog-examples.json delete mode 100644 public/r/react/styles/base-luma/dialog.json delete mode 100644 public/r/react/styles/base-luma/direction.json delete mode 100644 public/r/react/styles/base-luma/drawer-examples.json delete mode 100644 public/r/react/styles/base-luma/drawer.json delete mode 100644 public/r/react/styles/base-luma/dropdown-menu-examples.json delete mode 100644 public/r/react/styles/base-luma/dropdown-menu.json delete mode 100644 public/r/react/styles/base-luma/empty-examples.json delete mode 100644 public/r/react/styles/base-luma/empty.json delete mode 100644 public/r/react/styles/base-luma/field-examples.json delete mode 100644 public/r/react/styles/base-luma/field.json delete mode 100644 public/r/react/styles/base-luma/form.json delete mode 100644 public/r/react/styles/base-luma/hover-card-examples.json delete mode 100644 public/r/react/styles/base-luma/hover-card.json delete mode 100644 public/r/react/styles/base-luma/init.json delete mode 100644 public/r/react/styles/base-luma/input-examples.json delete mode 100644 public/r/react/styles/base-luma/input-group-examples.json delete mode 100644 public/r/react/styles/base-luma/input-group.json delete mode 100644 public/r/react/styles/base-luma/input-otp-examples.json delete mode 100644 public/r/react/styles/base-luma/input-otp.json delete mode 100644 public/r/react/styles/base-luma/input.json delete mode 100644 public/r/react/styles/base-luma/item-examples.json delete mode 100644 public/r/react/styles/base-luma/item.json delete mode 100644 public/r/react/styles/base-luma/kbd-examples.json delete mode 100644 public/r/react/styles/base-luma/kbd.json delete mode 100644 public/r/react/styles/base-luma/label-examples.json delete mode 100644 public/r/react/styles/base-luma/label.json delete mode 100644 public/r/react/styles/base-luma/marker-examples.json delete mode 100644 public/r/react/styles/base-luma/marker.json delete mode 100644 public/r/react/styles/base-luma/menubar-examples.json delete mode 100644 public/r/react/styles/base-luma/menubar.json delete mode 100644 public/r/react/styles/base-luma/message-examples.json delete mode 100644 public/r/react/styles/base-luma/message-scroller-examples.json delete mode 100644 public/r/react/styles/base-luma/message-scroller.json delete mode 100644 public/r/react/styles/base-luma/message.json delete mode 100644 public/r/react/styles/base-luma/native-select-examples.json delete mode 100644 public/r/react/styles/base-luma/native-select.json delete mode 100644 public/r/react/styles/base-luma/navigation-menu-examples.json delete mode 100644 public/r/react/styles/base-luma/navigation-menu.json delete mode 100644 public/r/react/styles/base-luma/pagination-examples.json delete mode 100644 public/r/react/styles/base-luma/pagination.json delete mode 100644 public/r/react/styles/base-luma/popover-examples.json delete mode 100644 public/r/react/styles/base-luma/popover.json delete mode 100644 public/r/react/styles/base-luma/progress-examples.json delete mode 100644 public/r/react/styles/base-luma/progress.json delete mode 100644 public/r/react/styles/base-luma/questionnaire-examples.json delete mode 100644 public/r/react/styles/base-luma/questionnaire.json delete mode 100644 public/r/react/styles/base-luma/radio-group-examples.json delete mode 100644 public/r/react/styles/base-luma/radio-group.json delete mode 100644 public/r/react/styles/base-luma/resizable-examples.json delete mode 100644 public/r/react/styles/base-luma/resizable.json delete mode 100644 public/r/react/styles/base-luma/scroll-area-examples.json delete mode 100644 public/r/react/styles/base-luma/scroll-area.json delete mode 100644 public/r/react/styles/base-luma/select-examples.json delete mode 100644 public/r/react/styles/base-luma/select.json delete mode 100644 public/r/react/styles/base-luma/separator-examples.json delete mode 100644 public/r/react/styles/base-luma/separator.json delete mode 100644 public/r/react/styles/base-luma/sheet-examples.json delete mode 100644 public/r/react/styles/base-luma/sheet.json delete mode 100644 public/r/react/styles/base-luma/sidebar-examples.json delete mode 100644 public/r/react/styles/base-luma/sidebar.json delete mode 100644 public/r/react/styles/base-luma/skeleton-examples.json delete mode 100644 public/r/react/styles/base-luma/skeleton.json delete mode 100644 public/r/react/styles/base-luma/slider-examples.json delete mode 100644 public/r/react/styles/base-luma/slider.json delete mode 100644 public/r/react/styles/base-luma/sonner.json delete mode 100644 public/r/react/styles/base-luma/spinner-examples.json delete mode 100644 public/r/react/styles/base-luma/spinner.json delete mode 100644 public/r/react/styles/base-luma/switch-examples.json delete mode 100644 public/r/react/styles/base-luma/switch.json delete mode 100644 public/r/react/styles/base-luma/table-examples.json delete mode 100644 public/r/react/styles/base-luma/table.json delete mode 100644 public/r/react/styles/base-luma/tabs-examples.json delete mode 100644 public/r/react/styles/base-luma/tabs.json delete mode 100644 public/r/react/styles/base-luma/textarea-examples.json delete mode 100644 public/r/react/styles/base-luma/textarea.json delete mode 100644 public/r/react/styles/base-luma/toast-examples.json delete mode 100644 public/r/react/styles/base-luma/toast.json delete mode 100644 public/r/react/styles/base-luma/toggle-examples.json delete mode 100644 public/r/react/styles/base-luma/toggle-group-examples.json delete mode 100644 public/r/react/styles/base-luma/toggle-group.json delete mode 100644 public/r/react/styles/base-luma/toggle.json delete mode 100644 public/r/react/styles/base-luma/tooltip-examples.json delete mode 100644 public/r/react/styles/base-luma/tooltip.json delete mode 100644 public/r/react/styles/base-luma/use-mobile.json delete mode 100644 public/r/react/styles/base-lyra/accordion-examples.json delete mode 100644 public/r/react/styles/base-lyra/accordion.json delete mode 100644 public/r/react/styles/base-lyra/alert-dialog-examples.json delete mode 100644 public/r/react/styles/base-lyra/alert-dialog.json delete mode 100644 public/r/react/styles/base-lyra/alert-examples.json delete mode 100644 public/r/react/styles/base-lyra/alert.json delete mode 100644 public/r/react/styles/base-lyra/aspect-ratio-examples.json delete mode 100644 public/r/react/styles/base-lyra/aspect-ratio.json delete mode 100644 public/r/react/styles/base-lyra/attachment-examples.json delete mode 100644 public/r/react/styles/base-lyra/attachment.json delete mode 100644 public/r/react/styles/base-lyra/avatar-examples.json delete mode 100644 public/r/react/styles/base-lyra/avatar.json delete mode 100644 public/r/react/styles/base-lyra/badge-examples.json delete mode 100644 public/r/react/styles/base-lyra/badge.json delete mode 100644 public/r/react/styles/base-lyra/base.json delete mode 100644 public/r/react/styles/base-lyra/breadcrumb-examples.json delete mode 100644 public/r/react/styles/base-lyra/breadcrumb.json delete mode 100644 public/r/react/styles/base-lyra/bubble-examples.json delete mode 100644 public/r/react/styles/base-lyra/bubble.json delete mode 100644 public/r/react/styles/base-lyra/button-examples.json delete mode 100644 public/r/react/styles/base-lyra/button-group-examples.json delete mode 100644 public/r/react/styles/base-lyra/button-group.json delete mode 100644 public/r/react/styles/base-lyra/button.json delete mode 100644 public/r/react/styles/base-lyra/calendar-examples.json delete mode 100644 public/r/react/styles/base-lyra/calendar.json delete mode 100644 public/r/react/styles/base-lyra/card-examples.json delete mode 100644 public/r/react/styles/base-lyra/card.json delete mode 100644 public/r/react/styles/base-lyra/carousel-examples.json delete mode 100644 public/r/react/styles/base-lyra/carousel.json delete mode 100644 public/r/react/styles/base-lyra/chart-examples.json delete mode 100644 public/r/react/styles/base-lyra/chart.json delete mode 100644 public/r/react/styles/base-lyra/checkbox-examples.json delete mode 100644 public/r/react/styles/base-lyra/checkbox.json delete mode 100644 public/r/react/styles/base-lyra/collapsible-examples.json delete mode 100644 public/r/react/styles/base-lyra/collapsible.json delete mode 100644 public/r/react/styles/base-lyra/combobox-examples.json delete mode 100644 public/r/react/styles/base-lyra/combobox.json delete mode 100644 public/r/react/styles/base-lyra/command-examples.json delete mode 100644 public/r/react/styles/base-lyra/command.json delete mode 100644 public/r/react/styles/base-lyra/context-menu-examples.json delete mode 100644 public/r/react/styles/base-lyra/context-menu.json delete mode 100644 public/r/react/styles/base-lyra/data-table-examples.json delete mode 100644 public/r/react/styles/base-lyra/date-picker-examples.json delete mode 100644 public/r/react/styles/base-lyra/dialog-examples.json delete mode 100644 public/r/react/styles/base-lyra/dialog.json delete mode 100644 public/r/react/styles/base-lyra/direction.json delete mode 100644 public/r/react/styles/base-lyra/drawer-examples.json delete mode 100644 public/r/react/styles/base-lyra/drawer.json delete mode 100644 public/r/react/styles/base-lyra/dropdown-menu-examples.json delete mode 100644 public/r/react/styles/base-lyra/dropdown-menu.json delete mode 100644 public/r/react/styles/base-lyra/empty-examples.json delete mode 100644 public/r/react/styles/base-lyra/empty.json delete mode 100644 public/r/react/styles/base-lyra/field-examples.json delete mode 100644 public/r/react/styles/base-lyra/field.json delete mode 100644 public/r/react/styles/base-lyra/form.json delete mode 100644 public/r/react/styles/base-lyra/hover-card-examples.json delete mode 100644 public/r/react/styles/base-lyra/hover-card.json delete mode 100644 public/r/react/styles/base-lyra/init.json delete mode 100644 public/r/react/styles/base-lyra/input-examples.json delete mode 100644 public/r/react/styles/base-lyra/input-group-examples.json delete mode 100644 public/r/react/styles/base-lyra/input-group.json delete mode 100644 public/r/react/styles/base-lyra/input-otp-examples.json delete mode 100644 public/r/react/styles/base-lyra/input-otp.json delete mode 100644 public/r/react/styles/base-lyra/input.json delete mode 100644 public/r/react/styles/base-lyra/item-examples.json delete mode 100644 public/r/react/styles/base-lyra/item.json delete mode 100644 public/r/react/styles/base-lyra/kbd-examples.json delete mode 100644 public/r/react/styles/base-lyra/kbd.json delete mode 100644 public/r/react/styles/base-lyra/label-examples.json delete mode 100644 public/r/react/styles/base-lyra/label.json delete mode 100644 public/r/react/styles/base-lyra/marker-examples.json delete mode 100644 public/r/react/styles/base-lyra/marker.json delete mode 100644 public/r/react/styles/base-lyra/menubar-examples.json delete mode 100644 public/r/react/styles/base-lyra/menubar.json delete mode 100644 public/r/react/styles/base-lyra/message-examples.json delete mode 100644 public/r/react/styles/base-lyra/message-scroller-examples.json delete mode 100644 public/r/react/styles/base-lyra/message-scroller.json delete mode 100644 public/r/react/styles/base-lyra/message.json delete mode 100644 public/r/react/styles/base-lyra/native-select-examples.json delete mode 100644 public/r/react/styles/base-lyra/native-select.json delete mode 100644 public/r/react/styles/base-lyra/navigation-menu-examples.json delete mode 100644 public/r/react/styles/base-lyra/navigation-menu.json delete mode 100644 public/r/react/styles/base-lyra/pagination-examples.json delete mode 100644 public/r/react/styles/base-lyra/pagination.json delete mode 100644 public/r/react/styles/base-lyra/popover-examples.json delete mode 100644 public/r/react/styles/base-lyra/popover.json delete mode 100644 public/r/react/styles/base-lyra/progress-examples.json delete mode 100644 public/r/react/styles/base-lyra/progress.json delete mode 100644 public/r/react/styles/base-lyra/questionnaire-examples.json delete mode 100644 public/r/react/styles/base-lyra/questionnaire.json delete mode 100644 public/r/react/styles/base-lyra/radio-group-examples.json delete mode 100644 public/r/react/styles/base-lyra/radio-group.json delete mode 100644 public/r/react/styles/base-lyra/resizable-examples.json delete mode 100644 public/r/react/styles/base-lyra/resizable.json delete mode 100644 public/r/react/styles/base-lyra/scroll-area-examples.json delete mode 100644 public/r/react/styles/base-lyra/scroll-area.json delete mode 100644 public/r/react/styles/base-lyra/select-examples.json delete mode 100644 public/r/react/styles/base-lyra/select.json delete mode 100644 public/r/react/styles/base-lyra/separator-examples.json delete mode 100644 public/r/react/styles/base-lyra/separator.json delete mode 100644 public/r/react/styles/base-lyra/sheet-examples.json delete mode 100644 public/r/react/styles/base-lyra/sheet.json delete mode 100644 public/r/react/styles/base-lyra/sidebar-examples.json delete mode 100644 public/r/react/styles/base-lyra/sidebar.json delete mode 100644 public/r/react/styles/base-lyra/skeleton-examples.json delete mode 100644 public/r/react/styles/base-lyra/skeleton.json delete mode 100644 public/r/react/styles/base-lyra/slider-examples.json delete mode 100644 public/r/react/styles/base-lyra/slider.json delete mode 100644 public/r/react/styles/base-lyra/sonner.json delete mode 100644 public/r/react/styles/base-lyra/spinner-examples.json delete mode 100644 public/r/react/styles/base-lyra/spinner.json delete mode 100644 public/r/react/styles/base-lyra/switch-examples.json delete mode 100644 public/r/react/styles/base-lyra/switch.json delete mode 100644 public/r/react/styles/base-lyra/table-examples.json delete mode 100644 public/r/react/styles/base-lyra/table.json delete mode 100644 public/r/react/styles/base-lyra/tabs-examples.json delete mode 100644 public/r/react/styles/base-lyra/tabs.json delete mode 100644 public/r/react/styles/base-lyra/textarea-examples.json delete mode 100644 public/r/react/styles/base-lyra/textarea.json delete mode 100644 public/r/react/styles/base-lyra/toast-examples.json delete mode 100644 public/r/react/styles/base-lyra/toast.json delete mode 100644 public/r/react/styles/base-lyra/toggle-examples.json delete mode 100644 public/r/react/styles/base-lyra/toggle-group-examples.json delete mode 100644 public/r/react/styles/base-lyra/toggle-group.json delete mode 100644 public/r/react/styles/base-lyra/toggle.json delete mode 100644 public/r/react/styles/base-lyra/tooltip-examples.json delete mode 100644 public/r/react/styles/base-lyra/tooltip.json delete mode 100644 public/r/react/styles/base-lyra/use-mobile.json delete mode 100644 public/r/react/styles/base-maia/accordion-examples.json delete mode 100644 public/r/react/styles/base-maia/accordion.json delete mode 100644 public/r/react/styles/base-maia/alert-dialog-examples.json delete mode 100644 public/r/react/styles/base-maia/alert-dialog.json delete mode 100644 public/r/react/styles/base-maia/alert-examples.json delete mode 100644 public/r/react/styles/base-maia/alert.json delete mode 100644 public/r/react/styles/base-maia/aspect-ratio-examples.json delete mode 100644 public/r/react/styles/base-maia/aspect-ratio.json delete mode 100644 public/r/react/styles/base-maia/attachment-examples.json delete mode 100644 public/r/react/styles/base-maia/attachment.json delete mode 100644 public/r/react/styles/base-maia/avatar-examples.json delete mode 100644 public/r/react/styles/base-maia/avatar.json delete mode 100644 public/r/react/styles/base-maia/badge-examples.json delete mode 100644 public/r/react/styles/base-maia/badge.json delete mode 100644 public/r/react/styles/base-maia/base.json delete mode 100644 public/r/react/styles/base-maia/breadcrumb-examples.json delete mode 100644 public/r/react/styles/base-maia/breadcrumb.json delete mode 100644 public/r/react/styles/base-maia/bubble-examples.json delete mode 100644 public/r/react/styles/base-maia/bubble.json delete mode 100644 public/r/react/styles/base-maia/button-examples.json delete mode 100644 public/r/react/styles/base-maia/button-group-examples.json delete mode 100644 public/r/react/styles/base-maia/button-group.json delete mode 100644 public/r/react/styles/base-maia/button.json delete mode 100644 public/r/react/styles/base-maia/calendar-examples.json delete mode 100644 public/r/react/styles/base-maia/calendar.json delete mode 100644 public/r/react/styles/base-maia/card-examples.json delete mode 100644 public/r/react/styles/base-maia/card.json delete mode 100644 public/r/react/styles/base-maia/carousel-examples.json delete mode 100644 public/r/react/styles/base-maia/carousel.json delete mode 100644 public/r/react/styles/base-maia/chart-examples.json delete mode 100644 public/r/react/styles/base-maia/chart.json delete mode 100644 public/r/react/styles/base-maia/checkbox-examples.json delete mode 100644 public/r/react/styles/base-maia/checkbox.json delete mode 100644 public/r/react/styles/base-maia/collapsible-examples.json delete mode 100644 public/r/react/styles/base-maia/collapsible.json delete mode 100644 public/r/react/styles/base-maia/combobox-examples.json delete mode 100644 public/r/react/styles/base-maia/combobox.json delete mode 100644 public/r/react/styles/base-maia/command-examples.json delete mode 100644 public/r/react/styles/base-maia/command.json delete mode 100644 public/r/react/styles/base-maia/context-menu-examples.json delete mode 100644 public/r/react/styles/base-maia/context-menu.json delete mode 100644 public/r/react/styles/base-maia/data-table-examples.json delete mode 100644 public/r/react/styles/base-maia/date-picker-examples.json delete mode 100644 public/r/react/styles/base-maia/dialog-examples.json delete mode 100644 public/r/react/styles/base-maia/dialog.json delete mode 100644 public/r/react/styles/base-maia/direction.json delete mode 100644 public/r/react/styles/base-maia/drawer-examples.json delete mode 100644 public/r/react/styles/base-maia/drawer.json delete mode 100644 public/r/react/styles/base-maia/dropdown-menu-examples.json delete mode 100644 public/r/react/styles/base-maia/dropdown-menu.json delete mode 100644 public/r/react/styles/base-maia/empty-examples.json delete mode 100644 public/r/react/styles/base-maia/empty.json delete mode 100644 public/r/react/styles/base-maia/field-examples.json delete mode 100644 public/r/react/styles/base-maia/field.json delete mode 100644 public/r/react/styles/base-maia/form.json delete mode 100644 public/r/react/styles/base-maia/hover-card-examples.json delete mode 100644 public/r/react/styles/base-maia/hover-card.json delete mode 100644 public/r/react/styles/base-maia/init.json delete mode 100644 public/r/react/styles/base-maia/input-examples.json delete mode 100644 public/r/react/styles/base-maia/input-group-examples.json delete mode 100644 public/r/react/styles/base-maia/input-group.json delete mode 100644 public/r/react/styles/base-maia/input-otp-examples.json delete mode 100644 public/r/react/styles/base-maia/input-otp.json delete mode 100644 public/r/react/styles/base-maia/input.json delete mode 100644 public/r/react/styles/base-maia/item-examples.json delete mode 100644 public/r/react/styles/base-maia/item.json delete mode 100644 public/r/react/styles/base-maia/kbd-examples.json delete mode 100644 public/r/react/styles/base-maia/kbd.json delete mode 100644 public/r/react/styles/base-maia/label-examples.json delete mode 100644 public/r/react/styles/base-maia/label.json delete mode 100644 public/r/react/styles/base-maia/marker-examples.json delete mode 100644 public/r/react/styles/base-maia/marker.json delete mode 100644 public/r/react/styles/base-maia/menubar-examples.json delete mode 100644 public/r/react/styles/base-maia/menubar.json delete mode 100644 public/r/react/styles/base-maia/message-examples.json delete mode 100644 public/r/react/styles/base-maia/message-scroller-examples.json delete mode 100644 public/r/react/styles/base-maia/message-scroller.json delete mode 100644 public/r/react/styles/base-maia/message.json delete mode 100644 public/r/react/styles/base-maia/native-select-examples.json delete mode 100644 public/r/react/styles/base-maia/native-select.json delete mode 100644 public/r/react/styles/base-maia/navigation-menu-examples.json delete mode 100644 public/r/react/styles/base-maia/navigation-menu.json delete mode 100644 public/r/react/styles/base-maia/pagination-examples.json delete mode 100644 public/r/react/styles/base-maia/pagination.json delete mode 100644 public/r/react/styles/base-maia/popover-examples.json delete mode 100644 public/r/react/styles/base-maia/popover.json delete mode 100644 public/r/react/styles/base-maia/progress-examples.json delete mode 100644 public/r/react/styles/base-maia/progress.json delete mode 100644 public/r/react/styles/base-maia/questionnaire-examples.json delete mode 100644 public/r/react/styles/base-maia/questionnaire.json delete mode 100644 public/r/react/styles/base-maia/radio-group-examples.json delete mode 100644 public/r/react/styles/base-maia/radio-group.json delete mode 100644 public/r/react/styles/base-maia/resizable-examples.json delete mode 100644 public/r/react/styles/base-maia/resizable.json delete mode 100644 public/r/react/styles/base-maia/scroll-area-examples.json delete mode 100644 public/r/react/styles/base-maia/scroll-area.json delete mode 100644 public/r/react/styles/base-maia/select-examples.json delete mode 100644 public/r/react/styles/base-maia/select.json delete mode 100644 public/r/react/styles/base-maia/separator-examples.json delete mode 100644 public/r/react/styles/base-maia/separator.json delete mode 100644 public/r/react/styles/base-maia/sheet-examples.json delete mode 100644 public/r/react/styles/base-maia/sheet.json delete mode 100644 public/r/react/styles/base-maia/sidebar-examples.json delete mode 100644 public/r/react/styles/base-maia/sidebar.json delete mode 100644 public/r/react/styles/base-maia/skeleton-examples.json delete mode 100644 public/r/react/styles/base-maia/skeleton.json delete mode 100644 public/r/react/styles/base-maia/slider-examples.json delete mode 100644 public/r/react/styles/base-maia/slider.json delete mode 100644 public/r/react/styles/base-maia/sonner.json delete mode 100644 public/r/react/styles/base-maia/spinner-examples.json delete mode 100644 public/r/react/styles/base-maia/spinner.json delete mode 100644 public/r/react/styles/base-maia/switch-examples.json delete mode 100644 public/r/react/styles/base-maia/switch.json delete mode 100644 public/r/react/styles/base-maia/table-examples.json delete mode 100644 public/r/react/styles/base-maia/table.json delete mode 100644 public/r/react/styles/base-maia/tabs-examples.json delete mode 100644 public/r/react/styles/base-maia/tabs.json delete mode 100644 public/r/react/styles/base-maia/textarea-examples.json delete mode 100644 public/r/react/styles/base-maia/textarea.json delete mode 100644 public/r/react/styles/base-maia/toast-examples.json delete mode 100644 public/r/react/styles/base-maia/toast.json delete mode 100644 public/r/react/styles/base-maia/toggle-examples.json delete mode 100644 public/r/react/styles/base-maia/toggle-group-examples.json delete mode 100644 public/r/react/styles/base-maia/toggle-group.json delete mode 100644 public/r/react/styles/base-maia/toggle.json delete mode 100644 public/r/react/styles/base-maia/tooltip-examples.json delete mode 100644 public/r/react/styles/base-maia/tooltip.json delete mode 100644 public/r/react/styles/base-maia/use-mobile.json delete mode 100644 public/r/react/styles/base-mira/accordion-examples.json delete mode 100644 public/r/react/styles/base-mira/accordion.json delete mode 100644 public/r/react/styles/base-mira/alert-dialog-examples.json delete mode 100644 public/r/react/styles/base-mira/alert-dialog.json delete mode 100644 public/r/react/styles/base-mira/alert-examples.json delete mode 100644 public/r/react/styles/base-mira/alert.json delete mode 100644 public/r/react/styles/base-mira/aspect-ratio-examples.json delete mode 100644 public/r/react/styles/base-mira/aspect-ratio.json delete mode 100644 public/r/react/styles/base-mira/attachment-examples.json delete mode 100644 public/r/react/styles/base-mira/attachment.json delete mode 100644 public/r/react/styles/base-mira/avatar-examples.json delete mode 100644 public/r/react/styles/base-mira/avatar.json delete mode 100644 public/r/react/styles/base-mira/badge-examples.json delete mode 100644 public/r/react/styles/base-mira/badge.json delete mode 100644 public/r/react/styles/base-mira/base.json delete mode 100644 public/r/react/styles/base-mira/breadcrumb-examples.json delete mode 100644 public/r/react/styles/base-mira/breadcrumb.json delete mode 100644 public/r/react/styles/base-mira/bubble-examples.json delete mode 100644 public/r/react/styles/base-mira/bubble.json delete mode 100644 public/r/react/styles/base-mira/button-examples.json delete mode 100644 public/r/react/styles/base-mira/button-group-examples.json delete mode 100644 public/r/react/styles/base-mira/button-group.json delete mode 100644 public/r/react/styles/base-mira/button.json delete mode 100644 public/r/react/styles/base-mira/calendar-examples.json delete mode 100644 public/r/react/styles/base-mira/calendar.json delete mode 100644 public/r/react/styles/base-mira/card-examples.json delete mode 100644 public/r/react/styles/base-mira/card.json delete mode 100644 public/r/react/styles/base-mira/carousel-examples.json delete mode 100644 public/r/react/styles/base-mira/carousel.json delete mode 100644 public/r/react/styles/base-mira/chart-examples.json delete mode 100644 public/r/react/styles/base-mira/chart.json delete mode 100644 public/r/react/styles/base-mira/checkbox-examples.json delete mode 100644 public/r/react/styles/base-mira/checkbox.json delete mode 100644 public/r/react/styles/base-mira/collapsible-examples.json delete mode 100644 public/r/react/styles/base-mira/collapsible.json delete mode 100644 public/r/react/styles/base-mira/combobox-examples.json delete mode 100644 public/r/react/styles/base-mira/combobox.json delete mode 100644 public/r/react/styles/base-mira/command-examples.json delete mode 100644 public/r/react/styles/base-mira/command.json delete mode 100644 public/r/react/styles/base-mira/context-menu-examples.json delete mode 100644 public/r/react/styles/base-mira/context-menu.json delete mode 100644 public/r/react/styles/base-mira/data-table-examples.json delete mode 100644 public/r/react/styles/base-mira/date-picker-examples.json delete mode 100644 public/r/react/styles/base-mira/dialog-examples.json delete mode 100644 public/r/react/styles/base-mira/dialog.json delete mode 100644 public/r/react/styles/base-mira/direction.json delete mode 100644 public/r/react/styles/base-mira/drawer-examples.json delete mode 100644 public/r/react/styles/base-mira/drawer.json delete mode 100644 public/r/react/styles/base-mira/dropdown-menu-examples.json delete mode 100644 public/r/react/styles/base-mira/dropdown-menu.json delete mode 100644 public/r/react/styles/base-mira/empty-examples.json delete mode 100644 public/r/react/styles/base-mira/empty.json delete mode 100644 public/r/react/styles/base-mira/field-examples.json delete mode 100644 public/r/react/styles/base-mira/field.json delete mode 100644 public/r/react/styles/base-mira/form.json delete mode 100644 public/r/react/styles/base-mira/hover-card-examples.json delete mode 100644 public/r/react/styles/base-mira/hover-card.json delete mode 100644 public/r/react/styles/base-mira/init.json delete mode 100644 public/r/react/styles/base-mira/input-examples.json delete mode 100644 public/r/react/styles/base-mira/input-group-examples.json delete mode 100644 public/r/react/styles/base-mira/input-group.json delete mode 100644 public/r/react/styles/base-mira/input-otp-examples.json delete mode 100644 public/r/react/styles/base-mira/input-otp.json delete mode 100644 public/r/react/styles/base-mira/input.json delete mode 100644 public/r/react/styles/base-mira/item-examples.json delete mode 100644 public/r/react/styles/base-mira/item.json delete mode 100644 public/r/react/styles/base-mira/kbd-examples.json delete mode 100644 public/r/react/styles/base-mira/kbd.json delete mode 100644 public/r/react/styles/base-mira/label-examples.json delete mode 100644 public/r/react/styles/base-mira/label.json delete mode 100644 public/r/react/styles/base-mira/marker-examples.json delete mode 100644 public/r/react/styles/base-mira/marker.json delete mode 100644 public/r/react/styles/base-mira/menubar-examples.json delete mode 100644 public/r/react/styles/base-mira/menubar.json delete mode 100644 public/r/react/styles/base-mira/message-examples.json delete mode 100644 public/r/react/styles/base-mira/message-scroller-examples.json delete mode 100644 public/r/react/styles/base-mira/message-scroller.json delete mode 100644 public/r/react/styles/base-mira/message.json delete mode 100644 public/r/react/styles/base-mira/native-select-examples.json delete mode 100644 public/r/react/styles/base-mira/native-select.json delete mode 100644 public/r/react/styles/base-mira/navigation-menu-examples.json delete mode 100644 public/r/react/styles/base-mira/navigation-menu.json delete mode 100644 public/r/react/styles/base-mira/pagination-examples.json delete mode 100644 public/r/react/styles/base-mira/pagination.json delete mode 100644 public/r/react/styles/base-mira/popover-examples.json delete mode 100644 public/r/react/styles/base-mira/popover.json delete mode 100644 public/r/react/styles/base-mira/progress-examples.json delete mode 100644 public/r/react/styles/base-mira/progress.json delete mode 100644 public/r/react/styles/base-mira/questionnaire-examples.json delete mode 100644 public/r/react/styles/base-mira/questionnaire.json delete mode 100644 public/r/react/styles/base-mira/radio-group-examples.json delete mode 100644 public/r/react/styles/base-mira/radio-group.json delete mode 100644 public/r/react/styles/base-mira/resizable-examples.json delete mode 100644 public/r/react/styles/base-mira/resizable.json delete mode 100644 public/r/react/styles/base-mira/scroll-area-examples.json delete mode 100644 public/r/react/styles/base-mira/scroll-area.json delete mode 100644 public/r/react/styles/base-mira/select-examples.json delete mode 100644 public/r/react/styles/base-mira/select.json delete mode 100644 public/r/react/styles/base-mira/separator-examples.json delete mode 100644 public/r/react/styles/base-mira/separator.json delete mode 100644 public/r/react/styles/base-mira/sheet-examples.json delete mode 100644 public/r/react/styles/base-mira/sheet.json delete mode 100644 public/r/react/styles/base-mira/sidebar-examples.json delete mode 100644 public/r/react/styles/base-mira/sidebar.json delete mode 100644 public/r/react/styles/base-mira/skeleton-examples.json delete mode 100644 public/r/react/styles/base-mira/skeleton.json delete mode 100644 public/r/react/styles/base-mira/slider-examples.json delete mode 100644 public/r/react/styles/base-mira/slider.json delete mode 100644 public/r/react/styles/base-mira/sonner.json delete mode 100644 public/r/react/styles/base-mira/spinner-examples.json delete mode 100644 public/r/react/styles/base-mira/spinner.json delete mode 100644 public/r/react/styles/base-mira/switch-examples.json delete mode 100644 public/r/react/styles/base-mira/switch.json delete mode 100644 public/r/react/styles/base-mira/table-examples.json delete mode 100644 public/r/react/styles/base-mira/table.json delete mode 100644 public/r/react/styles/base-mira/tabs-examples.json delete mode 100644 public/r/react/styles/base-mira/tabs.json delete mode 100644 public/r/react/styles/base-mira/textarea-examples.json delete mode 100644 public/r/react/styles/base-mira/textarea.json delete mode 100644 public/r/react/styles/base-mira/toast-examples.json delete mode 100644 public/r/react/styles/base-mira/toast.json delete mode 100644 public/r/react/styles/base-mira/toggle-examples.json delete mode 100644 public/r/react/styles/base-mira/toggle-group-examples.json delete mode 100644 public/r/react/styles/base-mira/toggle-group.json delete mode 100644 public/r/react/styles/base-mira/toggle.json delete mode 100644 public/r/react/styles/base-mira/tooltip-examples.json delete mode 100644 public/r/react/styles/base-mira/tooltip.json delete mode 100644 public/r/react/styles/base-mira/use-mobile.json delete mode 100644 public/r/react/styles/base-nova/accordion-examples.json delete mode 100644 public/r/react/styles/base-nova/accordion.json delete mode 100644 public/r/react/styles/base-nova/alert-dialog-examples.json delete mode 100644 public/r/react/styles/base-nova/alert-dialog.json delete mode 100644 public/r/react/styles/base-nova/alert-examples.json delete mode 100644 public/r/react/styles/base-nova/alert.json delete mode 100644 public/r/react/styles/base-nova/aspect-ratio-examples.json delete mode 100644 public/r/react/styles/base-nova/aspect-ratio.json delete mode 100644 public/r/react/styles/base-nova/attachment-examples.json delete mode 100644 public/r/react/styles/base-nova/attachment.json delete mode 100644 public/r/react/styles/base-nova/avatar-examples.json delete mode 100644 public/r/react/styles/base-nova/avatar.json delete mode 100644 public/r/react/styles/base-nova/badge-examples.json delete mode 100644 public/r/react/styles/base-nova/badge.json delete mode 100644 public/r/react/styles/base-nova/base.json delete mode 100644 public/r/react/styles/base-nova/breadcrumb-examples.json delete mode 100644 public/r/react/styles/base-nova/breadcrumb.json delete mode 100644 public/r/react/styles/base-nova/bubble-examples.json delete mode 100644 public/r/react/styles/base-nova/bubble.json delete mode 100644 public/r/react/styles/base-nova/button-examples.json delete mode 100644 public/r/react/styles/base-nova/button-group-examples.json delete mode 100644 public/r/react/styles/base-nova/button-group.json delete mode 100644 public/r/react/styles/base-nova/button.json delete mode 100644 public/r/react/styles/base-nova/calendar-examples.json delete mode 100644 public/r/react/styles/base-nova/calendar.json delete mode 100644 public/r/react/styles/base-nova/card-examples.json delete mode 100644 public/r/react/styles/base-nova/card.json delete mode 100644 public/r/react/styles/base-nova/carousel-examples.json delete mode 100644 public/r/react/styles/base-nova/carousel.json delete mode 100644 public/r/react/styles/base-nova/chart-examples.json delete mode 100644 public/r/react/styles/base-nova/chart.json delete mode 100644 public/r/react/styles/base-nova/checkbox-examples.json delete mode 100644 public/r/react/styles/base-nova/checkbox.json delete mode 100644 public/r/react/styles/base-nova/collapsible-examples.json delete mode 100644 public/r/react/styles/base-nova/collapsible.json delete mode 100644 public/r/react/styles/base-nova/combobox-examples.json delete mode 100644 public/r/react/styles/base-nova/combobox.json delete mode 100644 public/r/react/styles/base-nova/command-examples.json delete mode 100644 public/r/react/styles/base-nova/command.json delete mode 100644 public/r/react/styles/base-nova/context-menu-examples.json delete mode 100644 public/r/react/styles/base-nova/context-menu.json delete mode 100644 public/r/react/styles/base-nova/data-table-examples.json delete mode 100644 public/r/react/styles/base-nova/date-picker-examples.json delete mode 100644 public/r/react/styles/base-nova/dialog-examples.json delete mode 100644 public/r/react/styles/base-nova/dialog.json delete mode 100644 public/r/react/styles/base-nova/direction.json delete mode 100644 public/r/react/styles/base-nova/drawer-examples.json delete mode 100644 public/r/react/styles/base-nova/drawer.json delete mode 100644 public/r/react/styles/base-nova/dropdown-menu-examples.json delete mode 100644 public/r/react/styles/base-nova/dropdown-menu.json delete mode 100644 public/r/react/styles/base-nova/empty-examples.json delete mode 100644 public/r/react/styles/base-nova/empty.json delete mode 100644 public/r/react/styles/base-nova/field-examples.json delete mode 100644 public/r/react/styles/base-nova/field.json delete mode 100644 public/r/react/styles/base-nova/form.json delete mode 100644 public/r/react/styles/base-nova/hover-card-examples.json delete mode 100644 public/r/react/styles/base-nova/hover-card.json delete mode 100644 public/r/react/styles/base-nova/init.json delete mode 100644 public/r/react/styles/base-nova/input-examples.json delete mode 100644 public/r/react/styles/base-nova/input-group-examples.json delete mode 100644 public/r/react/styles/base-nova/input-group.json delete mode 100644 public/r/react/styles/base-nova/input-otp-examples.json delete mode 100644 public/r/react/styles/base-nova/input-otp.json delete mode 100644 public/r/react/styles/base-nova/input.json delete mode 100644 public/r/react/styles/base-nova/item-examples.json delete mode 100644 public/r/react/styles/base-nova/item.json delete mode 100644 public/r/react/styles/base-nova/kbd-examples.json delete mode 100644 public/r/react/styles/base-nova/kbd.json delete mode 100644 public/r/react/styles/base-nova/label-examples.json delete mode 100644 public/r/react/styles/base-nova/label.json delete mode 100644 public/r/react/styles/base-nova/marker-examples.json delete mode 100644 public/r/react/styles/base-nova/marker.json delete mode 100644 public/r/react/styles/base-nova/menubar-examples.json delete mode 100644 public/r/react/styles/base-nova/menubar.json delete mode 100644 public/r/react/styles/base-nova/message-examples.json delete mode 100644 public/r/react/styles/base-nova/message-scroller-examples.json delete mode 100644 public/r/react/styles/base-nova/message-scroller.json delete mode 100644 public/r/react/styles/base-nova/message.json delete mode 100644 public/r/react/styles/base-nova/native-select-examples.json delete mode 100644 public/r/react/styles/base-nova/native-select.json delete mode 100644 public/r/react/styles/base-nova/navigation-menu-examples.json delete mode 100644 public/r/react/styles/base-nova/navigation-menu.json delete mode 100644 public/r/react/styles/base-nova/pagination-examples.json delete mode 100644 public/r/react/styles/base-nova/pagination.json delete mode 100644 public/r/react/styles/base-nova/popover-examples.json delete mode 100644 public/r/react/styles/base-nova/popover.json delete mode 100644 public/r/react/styles/base-nova/progress-examples.json delete mode 100644 public/r/react/styles/base-nova/progress.json delete mode 100644 public/r/react/styles/base-nova/questionnaire-examples.json delete mode 100644 public/r/react/styles/base-nova/questionnaire.json delete mode 100644 public/r/react/styles/base-nova/radio-group-examples.json delete mode 100644 public/r/react/styles/base-nova/radio-group.json delete mode 100644 public/r/react/styles/base-nova/resizable-examples.json delete mode 100644 public/r/react/styles/base-nova/resizable.json delete mode 100644 public/r/react/styles/base-nova/scroll-area-examples.json delete mode 100644 public/r/react/styles/base-nova/scroll-area.json delete mode 100644 public/r/react/styles/base-nova/select-examples.json delete mode 100644 public/r/react/styles/base-nova/select.json delete mode 100644 public/r/react/styles/base-nova/separator-examples.json delete mode 100644 public/r/react/styles/base-nova/separator.json delete mode 100644 public/r/react/styles/base-nova/sheet-examples.json delete mode 100644 public/r/react/styles/base-nova/sheet.json delete mode 100644 public/r/react/styles/base-nova/sidebar-examples.json delete mode 100644 public/r/react/styles/base-nova/sidebar.json delete mode 100644 public/r/react/styles/base-nova/skeleton-examples.json delete mode 100644 public/r/react/styles/base-nova/skeleton.json delete mode 100644 public/r/react/styles/base-nova/slider-examples.json delete mode 100644 public/r/react/styles/base-nova/slider.json delete mode 100644 public/r/react/styles/base-nova/sonner.json delete mode 100644 public/r/react/styles/base-nova/spinner-examples.json delete mode 100644 public/r/react/styles/base-nova/spinner.json delete mode 100644 public/r/react/styles/base-nova/switch-examples.json delete mode 100644 public/r/react/styles/base-nova/switch.json delete mode 100644 public/r/react/styles/base-nova/table-examples.json delete mode 100644 public/r/react/styles/base-nova/table.json delete mode 100644 public/r/react/styles/base-nova/tabs-examples.json delete mode 100644 public/r/react/styles/base-nova/tabs.json delete mode 100644 public/r/react/styles/base-nova/textarea-examples.json delete mode 100644 public/r/react/styles/base-nova/textarea.json delete mode 100644 public/r/react/styles/base-nova/toast-examples.json delete mode 100644 public/r/react/styles/base-nova/toast.json delete mode 100644 public/r/react/styles/base-nova/toggle-examples.json delete mode 100644 public/r/react/styles/base-nova/toggle-group-examples.json delete mode 100644 public/r/react/styles/base-nova/toggle-group.json delete mode 100644 public/r/react/styles/base-nova/toggle.json delete mode 100644 public/r/react/styles/base-nova/tooltip-examples.json delete mode 100644 public/r/react/styles/base-nova/tooltip.json delete mode 100644 public/r/react/styles/base-nova/use-mobile.json delete mode 100644 public/r/react/styles/base-rhea/accordion-examples.json delete mode 100644 public/r/react/styles/base-rhea/accordion.json delete mode 100644 public/r/react/styles/base-rhea/alert-dialog-examples.json delete mode 100644 public/r/react/styles/base-rhea/alert-dialog.json delete mode 100644 public/r/react/styles/base-rhea/alert-examples.json delete mode 100644 public/r/react/styles/base-rhea/alert.json delete mode 100644 public/r/react/styles/base-rhea/aspect-ratio-examples.json delete mode 100644 public/r/react/styles/base-rhea/aspect-ratio.json delete mode 100644 public/r/react/styles/base-rhea/attachment-examples.json delete mode 100644 public/r/react/styles/base-rhea/attachment.json delete mode 100644 public/r/react/styles/base-rhea/avatar-examples.json delete mode 100644 public/r/react/styles/base-rhea/avatar.json delete mode 100644 public/r/react/styles/base-rhea/badge-examples.json delete mode 100644 public/r/react/styles/base-rhea/badge.json delete mode 100644 public/r/react/styles/base-rhea/base.json delete mode 100644 public/r/react/styles/base-rhea/breadcrumb-examples.json delete mode 100644 public/r/react/styles/base-rhea/breadcrumb.json delete mode 100644 public/r/react/styles/base-rhea/bubble-examples.json delete mode 100644 public/r/react/styles/base-rhea/bubble.json delete mode 100644 public/r/react/styles/base-rhea/button-examples.json delete mode 100644 public/r/react/styles/base-rhea/button-group-examples.json delete mode 100644 public/r/react/styles/base-rhea/button-group.json delete mode 100644 public/r/react/styles/base-rhea/button.json delete mode 100644 public/r/react/styles/base-rhea/calendar-examples.json delete mode 100644 public/r/react/styles/base-rhea/calendar.json delete mode 100644 public/r/react/styles/base-rhea/card-examples.json delete mode 100644 public/r/react/styles/base-rhea/card.json delete mode 100644 public/r/react/styles/base-rhea/carousel-examples.json delete mode 100644 public/r/react/styles/base-rhea/carousel.json delete mode 100644 public/r/react/styles/base-rhea/chart-examples.json delete mode 100644 public/r/react/styles/base-rhea/chart.json delete mode 100644 public/r/react/styles/base-rhea/checkbox-examples.json delete mode 100644 public/r/react/styles/base-rhea/checkbox.json delete mode 100644 public/r/react/styles/base-rhea/collapsible-examples.json delete mode 100644 public/r/react/styles/base-rhea/collapsible.json delete mode 100644 public/r/react/styles/base-rhea/combobox-examples.json delete mode 100644 public/r/react/styles/base-rhea/combobox.json delete mode 100644 public/r/react/styles/base-rhea/command-examples.json delete mode 100644 public/r/react/styles/base-rhea/command.json delete mode 100644 public/r/react/styles/base-rhea/context-menu-examples.json delete mode 100644 public/r/react/styles/base-rhea/context-menu.json delete mode 100644 public/r/react/styles/base-rhea/data-table-examples.json delete mode 100644 public/r/react/styles/base-rhea/date-picker-examples.json delete mode 100644 public/r/react/styles/base-rhea/dialog-examples.json delete mode 100644 public/r/react/styles/base-rhea/dialog.json delete mode 100644 public/r/react/styles/base-rhea/direction.json delete mode 100644 public/r/react/styles/base-rhea/drawer-examples.json delete mode 100644 public/r/react/styles/base-rhea/drawer.json delete mode 100644 public/r/react/styles/base-rhea/dropdown-menu-examples.json delete mode 100644 public/r/react/styles/base-rhea/dropdown-menu.json delete mode 100644 public/r/react/styles/base-rhea/empty-examples.json delete mode 100644 public/r/react/styles/base-rhea/empty.json delete mode 100644 public/r/react/styles/base-rhea/field-examples.json delete mode 100644 public/r/react/styles/base-rhea/field.json delete mode 100644 public/r/react/styles/base-rhea/form.json delete mode 100644 public/r/react/styles/base-rhea/hover-card-examples.json delete mode 100644 public/r/react/styles/base-rhea/hover-card.json delete mode 100644 public/r/react/styles/base-rhea/init.json delete mode 100644 public/r/react/styles/base-rhea/input-examples.json delete mode 100644 public/r/react/styles/base-rhea/input-group-examples.json delete mode 100644 public/r/react/styles/base-rhea/input-group.json delete mode 100644 public/r/react/styles/base-rhea/input-otp-examples.json delete mode 100644 public/r/react/styles/base-rhea/input-otp.json delete mode 100644 public/r/react/styles/base-rhea/input.json delete mode 100644 public/r/react/styles/base-rhea/item-examples.json delete mode 100644 public/r/react/styles/base-rhea/item.json delete mode 100644 public/r/react/styles/base-rhea/kbd-examples.json delete mode 100644 public/r/react/styles/base-rhea/kbd.json delete mode 100644 public/r/react/styles/base-rhea/label-examples.json delete mode 100644 public/r/react/styles/base-rhea/label.json delete mode 100644 public/r/react/styles/base-rhea/marker-examples.json delete mode 100644 public/r/react/styles/base-rhea/marker.json delete mode 100644 public/r/react/styles/base-rhea/menubar-examples.json delete mode 100644 public/r/react/styles/base-rhea/menubar.json delete mode 100644 public/r/react/styles/base-rhea/message-examples.json delete mode 100644 public/r/react/styles/base-rhea/message-scroller-examples.json delete mode 100644 public/r/react/styles/base-rhea/message-scroller.json delete mode 100644 public/r/react/styles/base-rhea/message.json delete mode 100644 public/r/react/styles/base-rhea/native-select-examples.json delete mode 100644 public/r/react/styles/base-rhea/native-select.json delete mode 100644 public/r/react/styles/base-rhea/navigation-menu-examples.json delete mode 100644 public/r/react/styles/base-rhea/navigation-menu.json delete mode 100644 public/r/react/styles/base-rhea/pagination-examples.json delete mode 100644 public/r/react/styles/base-rhea/pagination.json delete mode 100644 public/r/react/styles/base-rhea/popover-examples.json delete mode 100644 public/r/react/styles/base-rhea/popover.json delete mode 100644 public/r/react/styles/base-rhea/progress-examples.json delete mode 100644 public/r/react/styles/base-rhea/progress.json delete mode 100644 public/r/react/styles/base-rhea/questionnaire-examples.json delete mode 100644 public/r/react/styles/base-rhea/questionnaire.json delete mode 100644 public/r/react/styles/base-rhea/radio-group-examples.json delete mode 100644 public/r/react/styles/base-rhea/radio-group.json delete mode 100644 public/r/react/styles/base-rhea/resizable-examples.json delete mode 100644 public/r/react/styles/base-rhea/resizable.json delete mode 100644 public/r/react/styles/base-rhea/scroll-area-examples.json delete mode 100644 public/r/react/styles/base-rhea/scroll-area.json delete mode 100644 public/r/react/styles/base-rhea/select-examples.json delete mode 100644 public/r/react/styles/base-rhea/select.json delete mode 100644 public/r/react/styles/base-rhea/separator-examples.json delete mode 100644 public/r/react/styles/base-rhea/separator.json delete mode 100644 public/r/react/styles/base-rhea/sheet-examples.json delete mode 100644 public/r/react/styles/base-rhea/sheet.json delete mode 100644 public/r/react/styles/base-rhea/sidebar-examples.json delete mode 100644 public/r/react/styles/base-rhea/sidebar.json delete mode 100644 public/r/react/styles/base-rhea/skeleton-examples.json delete mode 100644 public/r/react/styles/base-rhea/skeleton.json delete mode 100644 public/r/react/styles/base-rhea/slider-examples.json delete mode 100644 public/r/react/styles/base-rhea/slider.json delete mode 100644 public/r/react/styles/base-rhea/sonner.json delete mode 100644 public/r/react/styles/base-rhea/spinner-examples.json delete mode 100644 public/r/react/styles/base-rhea/spinner.json delete mode 100644 public/r/react/styles/base-rhea/switch-examples.json delete mode 100644 public/r/react/styles/base-rhea/switch.json delete mode 100644 public/r/react/styles/base-rhea/table-examples.json delete mode 100644 public/r/react/styles/base-rhea/table.json delete mode 100644 public/r/react/styles/base-rhea/tabs-examples.json delete mode 100644 public/r/react/styles/base-rhea/tabs.json delete mode 100644 public/r/react/styles/base-rhea/textarea-examples.json delete mode 100644 public/r/react/styles/base-rhea/textarea.json delete mode 100644 public/r/react/styles/base-rhea/toast-examples.json delete mode 100644 public/r/react/styles/base-rhea/toast.json delete mode 100644 public/r/react/styles/base-rhea/toggle-examples.json delete mode 100644 public/r/react/styles/base-rhea/toggle-group-examples.json delete mode 100644 public/r/react/styles/base-rhea/toggle-group.json delete mode 100644 public/r/react/styles/base-rhea/toggle.json delete mode 100644 public/r/react/styles/base-rhea/tooltip-examples.json delete mode 100644 public/r/react/styles/base-rhea/tooltip.json delete mode 100644 public/r/react/styles/base-rhea/use-mobile.json delete mode 100644 public/r/react/styles/base-sera/accordion-examples.json delete mode 100644 public/r/react/styles/base-sera/accordion.json delete mode 100644 public/r/react/styles/base-sera/alert-dialog-examples.json delete mode 100644 public/r/react/styles/base-sera/alert-dialog.json delete mode 100644 public/r/react/styles/base-sera/alert-examples.json delete mode 100644 public/r/react/styles/base-sera/alert.json delete mode 100644 public/r/react/styles/base-sera/aspect-ratio-examples.json delete mode 100644 public/r/react/styles/base-sera/aspect-ratio.json delete mode 100644 public/r/react/styles/base-sera/attachment-examples.json delete mode 100644 public/r/react/styles/base-sera/attachment.json delete mode 100644 public/r/react/styles/base-sera/avatar-examples.json delete mode 100644 public/r/react/styles/base-sera/avatar.json delete mode 100644 public/r/react/styles/base-sera/badge-examples.json delete mode 100644 public/r/react/styles/base-sera/badge.json delete mode 100644 public/r/react/styles/base-sera/base.json delete mode 100644 public/r/react/styles/base-sera/breadcrumb-examples.json delete mode 100644 public/r/react/styles/base-sera/breadcrumb.json delete mode 100644 public/r/react/styles/base-sera/bubble-examples.json delete mode 100644 public/r/react/styles/base-sera/bubble.json delete mode 100644 public/r/react/styles/base-sera/button-examples.json delete mode 100644 public/r/react/styles/base-sera/button-group-examples.json delete mode 100644 public/r/react/styles/base-sera/button-group.json delete mode 100644 public/r/react/styles/base-sera/button.json delete mode 100644 public/r/react/styles/base-sera/calendar-examples.json delete mode 100644 public/r/react/styles/base-sera/calendar.json delete mode 100644 public/r/react/styles/base-sera/card-examples.json delete mode 100644 public/r/react/styles/base-sera/card.json delete mode 100644 public/r/react/styles/base-sera/carousel-examples.json delete mode 100644 public/r/react/styles/base-sera/carousel.json delete mode 100644 public/r/react/styles/base-sera/chart-examples.json delete mode 100644 public/r/react/styles/base-sera/chart.json delete mode 100644 public/r/react/styles/base-sera/checkbox-examples.json delete mode 100644 public/r/react/styles/base-sera/checkbox.json delete mode 100644 public/r/react/styles/base-sera/collapsible-examples.json delete mode 100644 public/r/react/styles/base-sera/collapsible.json delete mode 100644 public/r/react/styles/base-sera/combobox-examples.json delete mode 100644 public/r/react/styles/base-sera/combobox.json delete mode 100644 public/r/react/styles/base-sera/command-examples.json delete mode 100644 public/r/react/styles/base-sera/command.json delete mode 100644 public/r/react/styles/base-sera/context-menu-examples.json delete mode 100644 public/r/react/styles/base-sera/context-menu.json delete mode 100644 public/r/react/styles/base-sera/data-table-examples.json delete mode 100644 public/r/react/styles/base-sera/date-picker-examples.json delete mode 100644 public/r/react/styles/base-sera/dialog-examples.json delete mode 100644 public/r/react/styles/base-sera/dialog.json delete mode 100644 public/r/react/styles/base-sera/direction.json delete mode 100644 public/r/react/styles/base-sera/drawer-examples.json delete mode 100644 public/r/react/styles/base-sera/drawer.json delete mode 100644 public/r/react/styles/base-sera/dropdown-menu-examples.json delete mode 100644 public/r/react/styles/base-sera/dropdown-menu.json delete mode 100644 public/r/react/styles/base-sera/empty-examples.json delete mode 100644 public/r/react/styles/base-sera/empty.json delete mode 100644 public/r/react/styles/base-sera/field-examples.json delete mode 100644 public/r/react/styles/base-sera/field.json delete mode 100644 public/r/react/styles/base-sera/form.json delete mode 100644 public/r/react/styles/base-sera/hover-card-examples.json delete mode 100644 public/r/react/styles/base-sera/hover-card.json delete mode 100644 public/r/react/styles/base-sera/init.json delete mode 100644 public/r/react/styles/base-sera/input-examples.json delete mode 100644 public/r/react/styles/base-sera/input-group-examples.json delete mode 100644 public/r/react/styles/base-sera/input-group.json delete mode 100644 public/r/react/styles/base-sera/input-otp-examples.json delete mode 100644 public/r/react/styles/base-sera/input-otp.json delete mode 100644 public/r/react/styles/base-sera/input.json delete mode 100644 public/r/react/styles/base-sera/item-examples.json delete mode 100644 public/r/react/styles/base-sera/item.json delete mode 100644 public/r/react/styles/base-sera/kbd-examples.json delete mode 100644 public/r/react/styles/base-sera/kbd.json delete mode 100644 public/r/react/styles/base-sera/label-examples.json delete mode 100644 public/r/react/styles/base-sera/label.json delete mode 100644 public/r/react/styles/base-sera/marker-examples.json delete mode 100644 public/r/react/styles/base-sera/marker.json delete mode 100644 public/r/react/styles/base-sera/menubar-examples.json delete mode 100644 public/r/react/styles/base-sera/menubar.json delete mode 100644 public/r/react/styles/base-sera/message-examples.json delete mode 100644 public/r/react/styles/base-sera/message-scroller-examples.json delete mode 100644 public/r/react/styles/base-sera/message-scroller.json delete mode 100644 public/r/react/styles/base-sera/message.json delete mode 100644 public/r/react/styles/base-sera/native-select-examples.json delete mode 100644 public/r/react/styles/base-sera/native-select.json delete mode 100644 public/r/react/styles/base-sera/navigation-menu-examples.json delete mode 100644 public/r/react/styles/base-sera/navigation-menu.json delete mode 100644 public/r/react/styles/base-sera/pagination-examples.json delete mode 100644 public/r/react/styles/base-sera/pagination.json delete mode 100644 public/r/react/styles/base-sera/popover-examples.json delete mode 100644 public/r/react/styles/base-sera/popover.json delete mode 100644 public/r/react/styles/base-sera/progress-examples.json delete mode 100644 public/r/react/styles/base-sera/progress.json delete mode 100644 public/r/react/styles/base-sera/questionnaire-examples.json delete mode 100644 public/r/react/styles/base-sera/questionnaire.json delete mode 100644 public/r/react/styles/base-sera/radio-group-examples.json delete mode 100644 public/r/react/styles/base-sera/radio-group.json delete mode 100644 public/r/react/styles/base-sera/resizable-examples.json delete mode 100644 public/r/react/styles/base-sera/resizable.json delete mode 100644 public/r/react/styles/base-sera/scroll-area-examples.json delete mode 100644 public/r/react/styles/base-sera/scroll-area.json delete mode 100644 public/r/react/styles/base-sera/select-examples.json delete mode 100644 public/r/react/styles/base-sera/select.json delete mode 100644 public/r/react/styles/base-sera/separator-examples.json delete mode 100644 public/r/react/styles/base-sera/separator.json delete mode 100644 public/r/react/styles/base-sera/sheet-examples.json delete mode 100644 public/r/react/styles/base-sera/sheet.json delete mode 100644 public/r/react/styles/base-sera/sidebar-examples.json delete mode 100644 public/r/react/styles/base-sera/sidebar.json delete mode 100644 public/r/react/styles/base-sera/skeleton-examples.json delete mode 100644 public/r/react/styles/base-sera/skeleton.json delete mode 100644 public/r/react/styles/base-sera/slider-examples.json delete mode 100644 public/r/react/styles/base-sera/slider.json delete mode 100644 public/r/react/styles/base-sera/sonner.json delete mode 100644 public/r/react/styles/base-sera/spinner-examples.json delete mode 100644 public/r/react/styles/base-sera/spinner.json delete mode 100644 public/r/react/styles/base-sera/switch-examples.json delete mode 100644 public/r/react/styles/base-sera/switch.json delete mode 100644 public/r/react/styles/base-sera/table-examples.json delete mode 100644 public/r/react/styles/base-sera/table.json delete mode 100644 public/r/react/styles/base-sera/tabs-examples.json delete mode 100644 public/r/react/styles/base-sera/tabs.json delete mode 100644 public/r/react/styles/base-sera/textarea-examples.json delete mode 100644 public/r/react/styles/base-sera/textarea.json delete mode 100644 public/r/react/styles/base-sera/toast-examples.json delete mode 100644 public/r/react/styles/base-sera/toast.json delete mode 100644 public/r/react/styles/base-sera/toggle-examples.json delete mode 100644 public/r/react/styles/base-sera/toggle-group-examples.json delete mode 100644 public/r/react/styles/base-sera/toggle-group.json delete mode 100644 public/r/react/styles/base-sera/toggle.json delete mode 100644 public/r/react/styles/base-sera/tooltip-examples.json delete mode 100644 public/r/react/styles/base-sera/tooltip.json delete mode 100644 public/r/react/styles/base-sera/use-mobile.json delete mode 100644 public/r/react/styles/base-vega/accordion-examples.json delete mode 100644 public/r/react/styles/base-vega/accordion.json delete mode 100644 public/r/react/styles/base-vega/alert-dialog-examples.json delete mode 100644 public/r/react/styles/base-vega/alert-dialog.json delete mode 100644 public/r/react/styles/base-vega/alert-examples.json delete mode 100644 public/r/react/styles/base-vega/alert.json delete mode 100644 public/r/react/styles/base-vega/aspect-ratio-examples.json delete mode 100644 public/r/react/styles/base-vega/aspect-ratio.json delete mode 100644 public/r/react/styles/base-vega/attachment-examples.json delete mode 100644 public/r/react/styles/base-vega/attachment.json delete mode 100644 public/r/react/styles/base-vega/avatar-examples.json delete mode 100644 public/r/react/styles/base-vega/avatar.json delete mode 100644 public/r/react/styles/base-vega/badge-examples.json delete mode 100644 public/r/react/styles/base-vega/badge.json delete mode 100644 public/r/react/styles/base-vega/base.json delete mode 100644 public/r/react/styles/base-vega/breadcrumb-examples.json delete mode 100644 public/r/react/styles/base-vega/breadcrumb.json delete mode 100644 public/r/react/styles/base-vega/bubble-examples.json delete mode 100644 public/r/react/styles/base-vega/bubble.json delete mode 100644 public/r/react/styles/base-vega/button-examples.json delete mode 100644 public/r/react/styles/base-vega/button-group-examples.json delete mode 100644 public/r/react/styles/base-vega/button-group.json delete mode 100644 public/r/react/styles/base-vega/button.json delete mode 100644 public/r/react/styles/base-vega/calendar-examples.json delete mode 100644 public/r/react/styles/base-vega/calendar.json delete mode 100644 public/r/react/styles/base-vega/card-examples.json delete mode 100644 public/r/react/styles/base-vega/card.json delete mode 100644 public/r/react/styles/base-vega/carousel-examples.json delete mode 100644 public/r/react/styles/base-vega/carousel.json delete mode 100644 public/r/react/styles/base-vega/chart-examples.json delete mode 100644 public/r/react/styles/base-vega/chart.json delete mode 100644 public/r/react/styles/base-vega/checkbox-examples.json delete mode 100644 public/r/react/styles/base-vega/checkbox.json delete mode 100644 public/r/react/styles/base-vega/collapsible-examples.json delete mode 100644 public/r/react/styles/base-vega/collapsible.json delete mode 100644 public/r/react/styles/base-vega/combobox-examples.json delete mode 100644 public/r/react/styles/base-vega/combobox.json delete mode 100644 public/r/react/styles/base-vega/command-examples.json delete mode 100644 public/r/react/styles/base-vega/command.json delete mode 100644 public/r/react/styles/base-vega/context-menu-examples.json delete mode 100644 public/r/react/styles/base-vega/context-menu.json delete mode 100644 public/r/react/styles/base-vega/data-table-examples.json delete mode 100644 public/r/react/styles/base-vega/date-picker-examples.json delete mode 100644 public/r/react/styles/base-vega/dialog-examples.json delete mode 100644 public/r/react/styles/base-vega/dialog.json delete mode 100644 public/r/react/styles/base-vega/direction.json delete mode 100644 public/r/react/styles/base-vega/drawer-examples.json delete mode 100644 public/r/react/styles/base-vega/drawer.json delete mode 100644 public/r/react/styles/base-vega/dropdown-menu-examples.json delete mode 100644 public/r/react/styles/base-vega/dropdown-menu.json delete mode 100644 public/r/react/styles/base-vega/empty-examples.json delete mode 100644 public/r/react/styles/base-vega/empty.json delete mode 100644 public/r/react/styles/base-vega/field-examples.json delete mode 100644 public/r/react/styles/base-vega/field.json delete mode 100644 public/r/react/styles/base-vega/form.json delete mode 100644 public/r/react/styles/base-vega/hover-card-examples.json delete mode 100644 public/r/react/styles/base-vega/hover-card.json delete mode 100644 public/r/react/styles/base-vega/init.json delete mode 100644 public/r/react/styles/base-vega/input-examples.json delete mode 100644 public/r/react/styles/base-vega/input-group-examples.json delete mode 100644 public/r/react/styles/base-vega/input-group.json delete mode 100644 public/r/react/styles/base-vega/input-otp-examples.json delete mode 100644 public/r/react/styles/base-vega/input-otp.json delete mode 100644 public/r/react/styles/base-vega/input.json delete mode 100644 public/r/react/styles/base-vega/item-examples.json delete mode 100644 public/r/react/styles/base-vega/item.json delete mode 100644 public/r/react/styles/base-vega/kbd-examples.json delete mode 100644 public/r/react/styles/base-vega/kbd.json delete mode 100644 public/r/react/styles/base-vega/label-examples.json delete mode 100644 public/r/react/styles/base-vega/label.json delete mode 100644 public/r/react/styles/base-vega/marker-examples.json delete mode 100644 public/r/react/styles/base-vega/marker.json delete mode 100644 public/r/react/styles/base-vega/menubar-examples.json delete mode 100644 public/r/react/styles/base-vega/menubar.json delete mode 100644 public/r/react/styles/base-vega/message-examples.json delete mode 100644 public/r/react/styles/base-vega/message-scroller-examples.json delete mode 100644 public/r/react/styles/base-vega/message-scroller.json delete mode 100644 public/r/react/styles/base-vega/message.json delete mode 100644 public/r/react/styles/base-vega/native-select-examples.json delete mode 100644 public/r/react/styles/base-vega/native-select.json delete mode 100644 public/r/react/styles/base-vega/navigation-menu-examples.json delete mode 100644 public/r/react/styles/base-vega/navigation-menu.json delete mode 100644 public/r/react/styles/base-vega/pagination-examples.json delete mode 100644 public/r/react/styles/base-vega/pagination.json delete mode 100644 public/r/react/styles/base-vega/popover-examples.json delete mode 100644 public/r/react/styles/base-vega/popover.json delete mode 100644 public/r/react/styles/base-vega/progress-examples.json delete mode 100644 public/r/react/styles/base-vega/progress.json delete mode 100644 public/r/react/styles/base-vega/questionnaire-examples.json delete mode 100644 public/r/react/styles/base-vega/questionnaire.json delete mode 100644 public/r/react/styles/base-vega/radio-group-examples.json delete mode 100644 public/r/react/styles/base-vega/radio-group.json delete mode 100644 public/r/react/styles/base-vega/resizable-examples.json delete mode 100644 public/r/react/styles/base-vega/resizable.json delete mode 100644 public/r/react/styles/base-vega/scroll-area-examples.json delete mode 100644 public/r/react/styles/base-vega/scroll-area.json delete mode 100644 public/r/react/styles/base-vega/select-examples.json delete mode 100644 public/r/react/styles/base-vega/select.json delete mode 100644 public/r/react/styles/base-vega/separator-examples.json delete mode 100644 public/r/react/styles/base-vega/separator.json delete mode 100644 public/r/react/styles/base-vega/sheet-examples.json delete mode 100644 public/r/react/styles/base-vega/sheet.json delete mode 100644 public/r/react/styles/base-vega/sidebar-examples.json delete mode 100644 public/r/react/styles/base-vega/sidebar.json delete mode 100644 public/r/react/styles/base-vega/skeleton-examples.json delete mode 100644 public/r/react/styles/base-vega/skeleton.json delete mode 100644 public/r/react/styles/base-vega/slider-examples.json delete mode 100644 public/r/react/styles/base-vega/slider.json delete mode 100644 public/r/react/styles/base-vega/sonner.json delete mode 100644 public/r/react/styles/base-vega/spinner-examples.json delete mode 100644 public/r/react/styles/base-vega/spinner.json delete mode 100644 public/r/react/styles/base-vega/switch-examples.json delete mode 100644 public/r/react/styles/base-vega/switch.json delete mode 100644 public/r/react/styles/base-vega/table-examples.json delete mode 100644 public/r/react/styles/base-vega/table.json delete mode 100644 public/r/react/styles/base-vega/tabs-examples.json delete mode 100644 public/r/react/styles/base-vega/tabs.json delete mode 100644 public/r/react/styles/base-vega/textarea-examples.json delete mode 100644 public/r/react/styles/base-vega/textarea.json delete mode 100644 public/r/react/styles/base-vega/toast-examples.json delete mode 100644 public/r/react/styles/base-vega/toast.json delete mode 100644 public/r/react/styles/base-vega/toggle-examples.json delete mode 100644 public/r/react/styles/base-vega/toggle-group-examples.json delete mode 100644 public/r/react/styles/base-vega/toggle-group.json delete mode 100644 public/r/react/styles/base-vega/toggle.json delete mode 100644 public/r/react/styles/base-vega/tooltip-examples.json delete mode 100644 public/r/react/styles/base-vega/tooltip.json delete mode 100644 public/r/react/styles/base-vega/use-mobile.json delete mode 100644 react/gallery/ui/direction.tsx delete mode 100644 react/gallery/ui/form.tsx delete mode 100644 react/gallery/ui/sidebar.tsx delete mode 100644 react/gallery/ui/sonner.tsx delete mode 100644 react/gallery/ui/toast.tsx delete mode 100644 react/src/components/examples/accordion/accordion-basic.tsx delete mode 100644 react/src/components/examples/accordion/accordion-borders.tsx delete mode 100644 react/src/components/examples/accordion/accordion-card.tsx delete mode 100644 react/src/components/examples/accordion/accordion-demo.tsx delete mode 100644 react/src/components/examples/accordion/accordion-disabled.tsx delete mode 100644 react/src/components/examples/accordion/accordion-multiple.tsx delete mode 100644 react/src/components/examples/accordion/accordion-rtl.tsx delete mode 100644 react/src/components/examples/alert-dialog/alert-dialog-basic.tsx delete mode 100644 react/src/components/examples/alert-dialog/alert-dialog-demo.tsx delete mode 100644 react/src/components/examples/alert-dialog/alert-dialog-destructive.tsx delete mode 100644 react/src/components/examples/alert-dialog/alert-dialog-media.tsx delete mode 100644 react/src/components/examples/alert-dialog/alert-dialog-rtl.tsx delete mode 100644 react/src/components/examples/alert-dialog/alert-dialog-small-media.tsx delete mode 100644 react/src/components/examples/alert-dialog/alert-dialog-small.tsx delete mode 100644 react/src/components/examples/alert/alert-action.tsx delete mode 100644 react/src/components/examples/alert/alert-basic.tsx delete mode 100644 react/src/components/examples/alert/alert-colors.tsx delete mode 100644 react/src/components/examples/alert/alert-demo.tsx delete mode 100644 react/src/components/examples/alert/alert-destructive.tsx delete mode 100644 react/src/components/examples/alert/alert-rtl.tsx delete mode 100644 react/src/components/examples/aspect-ratio/aspect-ratio-demo.tsx delete mode 100644 react/src/components/examples/aspect-ratio/aspect-ratio-portrait.tsx delete mode 100644 react/src/components/examples/aspect-ratio/aspect-ratio-rtl.tsx delete mode 100644 react/src/components/examples/aspect-ratio/aspect-ratio-square.tsx delete mode 100644 react/src/components/examples/attachment/attachment-demo.tsx delete mode 100644 react/src/components/examples/attachment/attachment-group.tsx delete mode 100644 react/src/components/examples/attachment/attachment-image.tsx delete mode 100644 react/src/components/examples/attachment/attachment-sizes.tsx delete mode 100644 react/src/components/examples/attachment/attachment-states.tsx delete mode 100644 react/src/components/examples/attachment/attachment-trigger.tsx delete mode 100644 react/src/components/examples/avatar/avatar-badge-icon.tsx delete mode 100644 react/src/components/examples/avatar/avatar-badge.tsx delete mode 100644 react/src/components/examples/avatar/avatar-basic.tsx delete mode 100644 react/src/components/examples/avatar/avatar-demo.tsx delete mode 100644 react/src/components/examples/avatar/avatar-dropdown.tsx delete mode 100644 react/src/components/examples/avatar/avatar-group-count-icon.tsx delete mode 100644 react/src/components/examples/avatar/avatar-group-count.tsx delete mode 100644 react/src/components/examples/avatar/avatar-group.tsx delete mode 100644 react/src/components/examples/avatar/avatar-rtl.tsx delete mode 100644 react/src/components/examples/avatar/avatar-size.tsx delete mode 100644 react/src/components/examples/badge/badge-colors.tsx delete mode 100644 react/src/components/examples/badge/badge-demo.tsx delete mode 100644 react/src/components/examples/badge/badge-icon.tsx delete mode 100644 react/src/components/examples/badge/badge-link.tsx delete mode 100644 react/src/components/examples/badge/badge-rtl.tsx delete mode 100644 react/src/components/examples/badge/badge-spinner.tsx delete mode 100644 react/src/components/examples/badge/badge-variants.tsx delete mode 100644 react/src/components/examples/breadcrumb/breadcrumb-basic.tsx delete mode 100644 react/src/components/examples/breadcrumb/breadcrumb-demo.tsx delete mode 100644 react/src/components/examples/breadcrumb/breadcrumb-dropdown.tsx delete mode 100644 react/src/components/examples/breadcrumb/breadcrumb-ellipsis.tsx delete mode 100644 react/src/components/examples/breadcrumb/breadcrumb-link.tsx delete mode 100644 react/src/components/examples/breadcrumb/breadcrumb-rtl.tsx delete mode 100644 react/src/components/examples/breadcrumb/breadcrumb-separator.tsx delete mode 100644 react/src/components/examples/bubble/bubble-alignment.tsx delete mode 100644 react/src/components/examples/bubble/bubble-collapsible.tsx delete mode 100644 react/src/components/examples/bubble/bubble-demo.tsx delete mode 100644 react/src/components/examples/bubble/bubble-group-demo.tsx delete mode 100644 react/src/components/examples/bubble/bubble-link-button.tsx delete mode 100644 react/src/components/examples/bubble/bubble-popover.tsx delete mode 100644 react/src/components/examples/bubble/bubble-reactions.tsx delete mode 100644 react/src/components/examples/bubble/bubble-tooltip.tsx delete mode 100644 react/src/components/examples/bubble/bubble-variants.tsx delete mode 100644 react/src/components/examples/button-group/button-group-demo.tsx delete mode 100644 react/src/components/examples/button-group/button-group-dropdown.tsx delete mode 100644 react/src/components/examples/button-group/button-group-input-group.tsx delete mode 100644 react/src/components/examples/button-group/button-group-input.tsx delete mode 100644 react/src/components/examples/button-group/button-group-nested.tsx delete mode 100644 react/src/components/examples/button-group/button-group-orientation.tsx delete mode 100644 react/src/components/examples/button-group/button-group-popover.tsx delete mode 100644 react/src/components/examples/button-group/button-group-rtl.tsx delete mode 100644 react/src/components/examples/button-group/button-group-select.tsx delete mode 100644 react/src/components/examples/button-group/button-group-separator.tsx delete mode 100644 react/src/components/examples/button-group/button-group-size.tsx delete mode 100644 react/src/components/examples/button-group/button-group-split.tsx delete mode 100644 react/src/components/examples/button/button-default.tsx delete mode 100644 react/src/components/examples/button/button-demo.tsx delete mode 100644 react/src/components/examples/button/button-destructive.tsx delete mode 100644 react/src/components/examples/button/button-ghost.tsx delete mode 100644 react/src/components/examples/button/button-icon.tsx delete mode 100644 react/src/components/examples/button/button-link.tsx delete mode 100644 react/src/components/examples/button/button-outline.tsx delete mode 100644 react/src/components/examples/button/button-render.tsx delete mode 100644 react/src/components/examples/button/button-rounded.tsx delete mode 100644 react/src/components/examples/button/button-rtl.tsx delete mode 100644 react/src/components/examples/button/button-secondary.tsx delete mode 100644 react/src/components/examples/button/button-size.tsx delete mode 100644 react/src/components/examples/button/button-spinner.tsx delete mode 100644 react/src/components/examples/button/button-with-icon.tsx delete mode 100644 react/src/components/examples/calendar/calendar-basic.tsx delete mode 100644 react/src/components/examples/calendar/calendar-booked-dates.tsx delete mode 100644 react/src/components/examples/calendar/calendar-caption.tsx delete mode 100644 react/src/components/examples/calendar/calendar-custom-days.tsx delete mode 100644 react/src/components/examples/calendar/calendar-demo.tsx delete mode 100644 react/src/components/examples/calendar/calendar-hijri.tsx delete mode 100644 react/src/components/examples/calendar/calendar-presets.tsx delete mode 100644 react/src/components/examples/calendar/calendar-range.tsx delete mode 100644 react/src/components/examples/calendar/calendar-rtl.tsx delete mode 100644 react/src/components/examples/calendar/calendar-time.tsx delete mode 100644 react/src/components/examples/calendar/calendar-week-numbers.tsx delete mode 100644 react/src/components/examples/card/card-demo.tsx delete mode 100644 react/src/components/examples/card/card-edge-to-edge.tsx delete mode 100644 react/src/components/examples/card/card-image.tsx delete mode 100644 react/src/components/examples/card/card-rtl.tsx delete mode 100644 react/src/components/examples/card/card-small.tsx delete mode 100644 react/src/components/examples/card/card-spacing.tsx delete mode 100644 react/src/components/examples/carousel/carousel-api.tsx delete mode 100644 react/src/components/examples/carousel/carousel-demo.tsx delete mode 100644 react/src/components/examples/carousel/carousel-orientation.tsx delete mode 100644 react/src/components/examples/carousel/carousel-plugin.tsx delete mode 100644 react/src/components/examples/carousel/carousel-rtl.tsx delete mode 100644 react/src/components/examples/carousel/carousel-size.tsx delete mode 100644 react/src/components/examples/carousel/carousel-spacing.tsx delete mode 100644 react/src/components/examples/chart/chart-demo.tsx delete mode 100644 react/src/components/examples/chart/chart-example-axis.tsx delete mode 100644 react/src/components/examples/chart/chart-example-grid.tsx delete mode 100644 react/src/components/examples/chart/chart-example-legend.tsx delete mode 100644 react/src/components/examples/chart/chart-example-tooltip.tsx delete mode 100644 react/src/components/examples/chart/chart-example.tsx delete mode 100644 react/src/components/examples/chart/chart-rtl.tsx delete mode 100644 react/src/components/examples/chart/chart-tooltip.tsx delete mode 100644 react/src/components/examples/checkbox/checkbox-basic.tsx delete mode 100644 react/src/components/examples/checkbox/checkbox-demo.tsx delete mode 100644 react/src/components/examples/checkbox/checkbox-description.tsx delete mode 100644 react/src/components/examples/checkbox/checkbox-disabled.tsx delete mode 100644 react/src/components/examples/checkbox/checkbox-group.tsx delete mode 100644 react/src/components/examples/checkbox/checkbox-invalid.tsx delete mode 100644 react/src/components/examples/checkbox/checkbox-rtl.tsx delete mode 100644 react/src/components/examples/checkbox/checkbox-table.tsx delete mode 100644 react/src/components/examples/collapsible/collapsible-basic.tsx delete mode 100644 react/src/components/examples/collapsible/collapsible-demo.tsx delete mode 100644 react/src/components/examples/collapsible/collapsible-file-tree.tsx delete mode 100644 react/src/components/examples/collapsible/collapsible-rtl.tsx delete mode 100644 react/src/components/examples/collapsible/collapsible-settings.tsx delete mode 100644 react/src/components/examples/combobox/combobox-auto-highlight.tsx delete mode 100644 react/src/components/examples/combobox/combobox-basic.tsx delete mode 100644 react/src/components/examples/combobox/combobox-clear.tsx delete mode 100644 react/src/components/examples/combobox/combobox-custom.tsx delete mode 100644 react/src/components/examples/combobox/combobox-demo.tsx delete mode 100644 react/src/components/examples/combobox/combobox-disabled.tsx delete mode 100644 react/src/components/examples/combobox/combobox-groups.tsx delete mode 100644 react/src/components/examples/combobox/combobox-input-group.tsx delete mode 100644 react/src/components/examples/combobox/combobox-invalid.tsx delete mode 100644 react/src/components/examples/combobox/combobox-multiple.tsx delete mode 100644 react/src/components/examples/combobox/combobox-popup.tsx delete mode 100644 react/src/components/examples/combobox/combobox-rtl.tsx delete mode 100644 react/src/components/examples/command/command-basic.tsx delete mode 100644 react/src/components/examples/command/command-demo.tsx delete mode 100644 react/src/components/examples/command/command-groups.tsx delete mode 100644 react/src/components/examples/command/command-rtl.tsx delete mode 100644 react/src/components/examples/command/command-scrollable.tsx delete mode 100644 react/src/components/examples/command/command-shortcuts.tsx delete mode 100644 react/src/components/examples/context-menu/context-menu-basic.tsx delete mode 100644 react/src/components/examples/context-menu/context-menu-checkboxes.tsx delete mode 100644 react/src/components/examples/context-menu/context-menu-demo.tsx delete mode 100644 react/src/components/examples/context-menu/context-menu-destructive.tsx delete mode 100644 react/src/components/examples/context-menu/context-menu-groups.tsx delete mode 100644 react/src/components/examples/context-menu/context-menu-icons.tsx delete mode 100644 react/src/components/examples/context-menu/context-menu-radio.tsx delete mode 100644 react/src/components/examples/context-menu/context-menu-rtl.tsx delete mode 100644 react/src/components/examples/context-menu/context-menu-shortcuts.tsx delete mode 100644 react/src/components/examples/context-menu/context-menu-sides.tsx delete mode 100644 react/src/components/examples/context-menu/context-menu-submenu.tsx delete mode 100644 react/src/components/examples/data-table/data-table-demo.tsx delete mode 100644 react/src/components/examples/data-table/data-table-rtl.tsx delete mode 100644 react/src/components/examples/date-picker/date-picker-basic.tsx delete mode 100644 react/src/components/examples/date-picker/date-picker-demo.tsx delete mode 100644 react/src/components/examples/date-picker/date-picker-dob.tsx delete mode 100644 react/src/components/examples/date-picker/date-picker-input.tsx delete mode 100644 react/src/components/examples/date-picker/date-picker-natural-language.tsx delete mode 100644 react/src/components/examples/date-picker/date-picker-range.tsx delete mode 100644 react/src/components/examples/date-picker/date-picker-rtl.tsx delete mode 100644 react/src/components/examples/date-picker/date-picker-time.tsx delete mode 100644 react/src/components/examples/dialog/dialog-close-button.tsx delete mode 100644 react/src/components/examples/dialog/dialog-demo.tsx delete mode 100644 react/src/components/examples/dialog/dialog-no-close-button.tsx delete mode 100644 react/src/components/examples/dialog/dialog-rtl.tsx delete mode 100644 react/src/components/examples/dialog/dialog-scrollable-content.tsx delete mode 100644 react/src/components/examples/dialog/dialog-sticky-footer.tsx delete mode 100644 react/src/components/examples/drawer/drawer-demo.tsx delete mode 100644 react/src/components/examples/drawer/drawer-dialog.tsx delete mode 100644 react/src/components/examples/drawer/drawer-nested.tsx delete mode 100644 react/src/components/examples/drawer/drawer-non-modal.tsx delete mode 100644 react/src/components/examples/drawer/drawer-sides.tsx delete mode 100644 react/src/components/examples/drawer/drawer-snap-points.tsx delete mode 100644 react/src/components/examples/drawer/drawer-swipe-handle.tsx delete mode 100644 react/src/components/examples/dropdown-menu/dropdown-menu-avatar.tsx delete mode 100644 react/src/components/examples/dropdown-menu/dropdown-menu-basic.tsx delete mode 100644 react/src/components/examples/dropdown-menu/dropdown-menu-checkboxes-icons.tsx delete mode 100644 react/src/components/examples/dropdown-menu/dropdown-menu-checkboxes.tsx delete mode 100644 react/src/components/examples/dropdown-menu/dropdown-menu-complex.tsx delete mode 100644 react/src/components/examples/dropdown-menu/dropdown-menu-demo.tsx delete mode 100644 react/src/components/examples/dropdown-menu/dropdown-menu-destructive.tsx delete mode 100644 react/src/components/examples/dropdown-menu/dropdown-menu-icons.tsx delete mode 100644 react/src/components/examples/dropdown-menu/dropdown-menu-radio-group.tsx delete mode 100644 react/src/components/examples/dropdown-menu/dropdown-menu-radio-icons.tsx delete mode 100644 react/src/components/examples/dropdown-menu/dropdown-menu-rtl.tsx delete mode 100644 react/src/components/examples/dropdown-menu/dropdown-menu-shortcuts.tsx delete mode 100644 react/src/components/examples/dropdown-menu/dropdown-menu-submenu.tsx delete mode 100644 react/src/components/examples/empty/empty-avatar-group.tsx delete mode 100644 react/src/components/examples/empty/empty-avatar.tsx delete mode 100644 react/src/components/examples/empty/empty-background.tsx delete mode 100644 react/src/components/examples/empty/empty-demo.tsx delete mode 100644 react/src/components/examples/empty/empty-input-group.tsx delete mode 100644 react/src/components/examples/empty/empty-outline.tsx delete mode 100644 react/src/components/examples/empty/empty-rtl.tsx delete mode 100644 react/src/components/examples/field/field-checkbox.tsx delete mode 100644 react/src/components/examples/field/field-choice-card.tsx delete mode 100644 react/src/components/examples/field/field-demo.tsx delete mode 100644 react/src/components/examples/field/field-fieldset.tsx delete mode 100644 react/src/components/examples/field/field-group.tsx delete mode 100644 react/src/components/examples/field/field-input.tsx delete mode 100644 react/src/components/examples/field/field-radio.tsx delete mode 100644 react/src/components/examples/field/field-responsive.tsx delete mode 100644 react/src/components/examples/field/field-rtl.tsx delete mode 100644 react/src/components/examples/field/field-select.tsx delete mode 100644 react/src/components/examples/field/field-slider.tsx delete mode 100644 react/src/components/examples/field/field-switch.tsx delete mode 100644 react/src/components/examples/field/field-textarea.tsx delete mode 100644 react/src/components/examples/hover-card/hover-card-demo.tsx delete mode 100644 react/src/components/examples/hover-card/hover-card-rtl.tsx delete mode 100644 react/src/components/examples/hover-card/hover-card-sides.tsx delete mode 100644 react/src/components/examples/input-group/input-group-block-end.tsx delete mode 100644 react/src/components/examples/input-group/input-group-block-start.tsx delete mode 100644 react/src/components/examples/input-group/input-group-button.tsx delete mode 100644 react/src/components/examples/input-group/input-group-custom.tsx delete mode 100644 react/src/components/examples/input-group/input-group-demo.tsx delete mode 100644 react/src/components/examples/input-group/input-group-dropdown.tsx delete mode 100644 react/src/components/examples/input-group/input-group-icon.tsx delete mode 100644 react/src/components/examples/input-group/input-group-inline-end.tsx delete mode 100644 react/src/components/examples/input-group/input-group-inline-start.tsx delete mode 100644 react/src/components/examples/input-group/input-group-kbd.tsx delete mode 100644 react/src/components/examples/input-group/input-group-rtl.tsx delete mode 100644 react/src/components/examples/input-group/input-group-spinner.tsx delete mode 100644 react/src/components/examples/input-group/input-group-text.tsx delete mode 100644 react/src/components/examples/input-group/input-group-textarea.tsx delete mode 100644 react/src/components/examples/input-otp/input-otp-alphanumeric.tsx delete mode 100644 react/src/components/examples/input-otp/input-otp-controlled.tsx delete mode 100644 react/src/components/examples/input-otp/input-otp-demo.tsx delete mode 100644 react/src/components/examples/input-otp/input-otp-disabled.tsx delete mode 100644 react/src/components/examples/input-otp/input-otp-form.tsx delete mode 100644 react/src/components/examples/input-otp/input-otp-four-digits.tsx delete mode 100644 react/src/components/examples/input-otp/input-otp-invalid.tsx delete mode 100644 react/src/components/examples/input-otp/input-otp-pattern.tsx delete mode 100644 react/src/components/examples/input-otp/input-otp-rtl.tsx delete mode 100644 react/src/components/examples/input-otp/input-otp-separator.tsx delete mode 100644 react/src/components/examples/input/input-badge.tsx delete mode 100644 react/src/components/examples/input/input-basic.tsx delete mode 100644 react/src/components/examples/input/input-button-group.tsx delete mode 100644 react/src/components/examples/input/input-demo.tsx delete mode 100644 react/src/components/examples/input/input-disabled.tsx delete mode 100644 react/src/components/examples/input/input-field.tsx delete mode 100644 react/src/components/examples/input/input-fieldgroup.tsx delete mode 100644 react/src/components/examples/input/input-file.tsx delete mode 100644 react/src/components/examples/input/input-form.tsx delete mode 100644 react/src/components/examples/input/input-grid.tsx delete mode 100644 react/src/components/examples/input/input-inline.tsx delete mode 100644 react/src/components/examples/input/input-input-group.tsx delete mode 100644 react/src/components/examples/input/input-invalid.tsx delete mode 100644 react/src/components/examples/input/input-required.tsx delete mode 100644 react/src/components/examples/input/input-rtl.tsx delete mode 100644 react/src/components/examples/item/item-avatar.tsx delete mode 100644 react/src/components/examples/item/item-demo.tsx delete mode 100644 react/src/components/examples/item/item-dropdown.tsx delete mode 100644 react/src/components/examples/item/item-group.tsx delete mode 100644 react/src/components/examples/item/item-header.tsx delete mode 100644 react/src/components/examples/item/item-icon.tsx delete mode 100644 react/src/components/examples/item/item-image.tsx delete mode 100644 react/src/components/examples/item/item-link.tsx delete mode 100644 react/src/components/examples/item/item-rtl.tsx delete mode 100644 react/src/components/examples/item/item-size.tsx delete mode 100644 react/src/components/examples/item/item-variant.tsx delete mode 100644 react/src/components/examples/kbd/kbd-button.tsx delete mode 100644 react/src/components/examples/kbd/kbd-demo.tsx delete mode 100644 react/src/components/examples/kbd/kbd-group.tsx delete mode 100644 react/src/components/examples/kbd/kbd-input-group.tsx delete mode 100644 react/src/components/examples/kbd/kbd-rtl.tsx delete mode 100644 react/src/components/examples/kbd/kbd-tooltip.tsx delete mode 100644 react/src/components/examples/label/label-demo.tsx delete mode 100644 react/src/components/examples/label/label-rtl.tsx delete mode 100644 react/src/components/examples/marker/marker-border.tsx delete mode 100644 react/src/components/examples/marker/marker-demo.tsx delete mode 100644 react/src/components/examples/marker/marker-icon.tsx delete mode 100644 react/src/components/examples/marker/marker-link-button.tsx delete mode 100644 react/src/components/examples/marker/marker-separator.tsx delete mode 100644 react/src/components/examples/marker/marker-shimmer.tsx delete mode 100644 react/src/components/examples/marker/marker-status.tsx delete mode 100644 react/src/components/examples/marker/marker-variants.tsx delete mode 100644 react/src/components/examples/menubar/menubar-checkbox.tsx delete mode 100644 react/src/components/examples/menubar/menubar-demo.tsx delete mode 100644 react/src/components/examples/menubar/menubar-icons.tsx delete mode 100644 react/src/components/examples/menubar/menubar-radio.tsx delete mode 100644 react/src/components/examples/menubar/menubar-rtl.tsx delete mode 100644 react/src/components/examples/menubar/menubar-submenu.tsx delete mode 100644 react/src/components/examples/message-scroller/message-scroller-anchoring.tsx delete mode 100644 react/src/components/examples/message-scroller/message-scroller-animation.tsx delete mode 100644 react/src/components/examples/message-scroller/message-scroller-commands.tsx delete mode 100644 react/src/components/examples/message-scroller/message-scroller-demo.tsx delete mode 100644 react/src/components/examples/message-scroller/message-scroller-group-chat.tsx delete mode 100644 react/src/components/examples/message-scroller/message-scroller-load-history.tsx delete mode 100644 react/src/components/examples/message-scroller/message-scroller-opening-position.tsx delete mode 100644 react/src/components/examples/message-scroller/message-scroller-previous-context.tsx delete mode 100644 react/src/components/examples/message-scroller/message-scroller-scrollable.tsx delete mode 100644 react/src/components/examples/message-scroller/message-scroller-streaming.tsx delete mode 100644 react/src/components/examples/message-scroller/message-scroller-visibility.tsx delete mode 100644 react/src/components/examples/message/message-actions.tsx delete mode 100644 react/src/components/examples/message/message-attachment.tsx delete mode 100644 react/src/components/examples/message/message-avatar.tsx delete mode 100644 react/src/components/examples/message/message-demo.tsx delete mode 100644 react/src/components/examples/message/message-group.tsx delete mode 100644 react/src/components/examples/message/message-header-footer.tsx delete mode 100644 react/src/components/examples/native-select/native-select-demo.tsx delete mode 100644 react/src/components/examples/native-select/native-select-disabled.tsx delete mode 100644 react/src/components/examples/native-select/native-select-groups.tsx delete mode 100644 react/src/components/examples/native-select/native-select-invalid.tsx delete mode 100644 react/src/components/examples/native-select/native-select-rtl.tsx delete mode 100644 react/src/components/examples/navigation-menu/navigation-menu-demo.tsx delete mode 100644 react/src/components/examples/navigation-menu/navigation-menu-rtl.tsx delete mode 100644 react/src/components/examples/pagination/pagination-demo.tsx delete mode 100644 react/src/components/examples/pagination/pagination-icons-only.tsx delete mode 100644 react/src/components/examples/pagination/pagination-rtl.tsx delete mode 100644 react/src/components/examples/pagination/pagination-simple.tsx delete mode 100644 react/src/components/examples/popover/popover-alignments.tsx delete mode 100644 react/src/components/examples/popover/popover-basic.tsx delete mode 100644 react/src/components/examples/popover/popover-demo.tsx delete mode 100644 react/src/components/examples/popover/popover-form.tsx delete mode 100644 react/src/components/examples/popover/popover-rtl.tsx delete mode 100644 react/src/components/examples/progress/progress-controlled.tsx delete mode 100644 react/src/components/examples/progress/progress-demo.tsx delete mode 100644 react/src/components/examples/progress/progress-label.tsx delete mode 100644 react/src/components/examples/progress/progress-rtl.tsx delete mode 100644 react/src/components/examples/questionnaire/questionnaire-animated.tsx delete mode 100644 react/src/components/examples/questionnaire/questionnaire-card.tsx delete mode 100644 react/src/components/examples/questionnaire/questionnaire-conditional.tsx delete mode 100644 react/src/components/examples/questionnaire/questionnaire-controlled.tsx delete mode 100644 react/src/components/examples/questionnaire/questionnaire-demo.tsx delete mode 100644 react/src/components/examples/questionnaire/questionnaire-dialog.tsx delete mode 100644 react/src/components/examples/questionnaire/questionnaire-freeform.tsx delete mode 100644 react/src/components/examples/questionnaire/questionnaire-multiple.tsx delete mode 100644 react/src/components/examples/questionnaire/questionnaire-navigation-state.tsx delete mode 100644 react/src/components/examples/questionnaire/questionnaire-progress.tsx delete mode 100644 react/src/components/examples/questionnaire/questionnaire-resume.tsx delete mode 100644 react/src/components/examples/questionnaire/questionnaire-shortcuts.tsx delete mode 100644 react/src/components/examples/questionnaire/questionnaire-skip.tsx delete mode 100644 react/src/components/examples/questionnaire/questionnaire-validation.tsx delete mode 100644 react/src/components/examples/radio-group/radio-group-choice-card.tsx delete mode 100644 react/src/components/examples/radio-group/radio-group-demo.tsx delete mode 100644 react/src/components/examples/radio-group/radio-group-description.tsx delete mode 100644 react/src/components/examples/radio-group/radio-group-disabled.tsx delete mode 100644 react/src/components/examples/radio-group/radio-group-fieldset.tsx delete mode 100644 react/src/components/examples/radio-group/radio-group-invalid.tsx delete mode 100644 react/src/components/examples/radio-group/radio-group-rtl.tsx delete mode 100644 react/src/components/examples/resizable/resizable-demo.tsx delete mode 100644 react/src/components/examples/resizable/resizable-handle.tsx delete mode 100644 react/src/components/examples/resizable/resizable-rtl.tsx delete mode 100644 react/src/components/examples/resizable/resizable-vertical.tsx delete mode 100644 react/src/components/examples/scroll-area/scroll-area-demo.tsx delete mode 100644 react/src/components/examples/scroll-area/scroll-area-horizontal-demo.tsx delete mode 100644 react/src/components/examples/scroll-area/scroll-area-rtl.tsx delete mode 100644 react/src/components/examples/select/select-align-item.tsx delete mode 100644 react/src/components/examples/select/select-demo.tsx delete mode 100644 react/src/components/examples/select/select-disabled.tsx delete mode 100644 react/src/components/examples/select/select-groups.tsx delete mode 100644 react/src/components/examples/select/select-invalid.tsx delete mode 100644 react/src/components/examples/select/select-rtl.tsx delete mode 100644 react/src/components/examples/select/select-scrollable.tsx delete mode 100644 react/src/components/examples/separator/separator-demo.tsx delete mode 100644 react/src/components/examples/separator/separator-list.tsx delete mode 100644 react/src/components/examples/separator/separator-menu.tsx delete mode 100644 react/src/components/examples/separator/separator-rtl.tsx delete mode 100644 react/src/components/examples/separator/separator-vertical.tsx delete mode 100644 react/src/components/examples/sheet/sheet-demo.tsx delete mode 100644 react/src/components/examples/sheet/sheet-no-close-button.tsx delete mode 100644 react/src/components/examples/sheet/sheet-rtl.tsx delete mode 100644 react/src/components/examples/sheet/sheet-side.tsx delete mode 100644 react/src/components/examples/sidebar/sidebar-demo.tsx delete mode 100644 react/src/components/examples/skeleton/skeleton-avatar.tsx delete mode 100644 react/src/components/examples/skeleton/skeleton-card.tsx delete mode 100644 react/src/components/examples/skeleton/skeleton-demo.tsx delete mode 100644 react/src/components/examples/skeleton/skeleton-form.tsx delete mode 100644 react/src/components/examples/skeleton/skeleton-rtl.tsx delete mode 100644 react/src/components/examples/skeleton/skeleton-table.tsx delete mode 100644 react/src/components/examples/skeleton/skeleton-text.tsx delete mode 100644 react/src/components/examples/slider/slider-controlled.tsx delete mode 100644 react/src/components/examples/slider/slider-demo.tsx delete mode 100644 react/src/components/examples/slider/slider-disabled.tsx delete mode 100644 react/src/components/examples/slider/slider-multiple.tsx delete mode 100644 react/src/components/examples/slider/slider-range.tsx delete mode 100644 react/src/components/examples/slider/slider-rtl.tsx delete mode 100644 react/src/components/examples/slider/slider-vertical.tsx delete mode 100644 react/src/components/examples/spinner/spinner-badge.tsx delete mode 100644 react/src/components/examples/spinner/spinner-button.tsx delete mode 100644 react/src/components/examples/spinner/spinner-custom.tsx delete mode 100644 react/src/components/examples/spinner/spinner-demo.tsx delete mode 100644 react/src/components/examples/spinner/spinner-empty.tsx delete mode 100644 react/src/components/examples/spinner/spinner-input-group.tsx delete mode 100644 react/src/components/examples/spinner/spinner-rtl.tsx delete mode 100644 react/src/components/examples/spinner/spinner-size.tsx delete mode 100644 react/src/components/examples/switch/switch-choice-card.tsx delete mode 100644 react/src/components/examples/switch/switch-demo.tsx delete mode 100644 react/src/components/examples/switch/switch-description.tsx delete mode 100644 react/src/components/examples/switch/switch-disabled.tsx delete mode 100644 react/src/components/examples/switch/switch-invalid.tsx delete mode 100644 react/src/components/examples/switch/switch-rtl.tsx delete mode 100644 react/src/components/examples/switch/switch-sizes.tsx delete mode 100644 react/src/components/examples/table/table-actions.tsx delete mode 100644 react/src/components/examples/table/table-demo.tsx delete mode 100644 react/src/components/examples/table/table-footer.tsx delete mode 100644 react/src/components/examples/table/table-rtl.tsx delete mode 100644 react/src/components/examples/tabs/tabs-demo.tsx delete mode 100644 react/src/components/examples/tabs/tabs-disabled.tsx delete mode 100644 react/src/components/examples/tabs/tabs-icons.tsx delete mode 100644 react/src/components/examples/tabs/tabs-line.tsx delete mode 100644 react/src/components/examples/tabs/tabs-rtl.tsx delete mode 100644 react/src/components/examples/tabs/tabs-vertical.tsx delete mode 100644 react/src/components/examples/textarea/textarea-button.tsx delete mode 100644 react/src/components/examples/textarea/textarea-demo.tsx delete mode 100644 react/src/components/examples/textarea/textarea-disabled.tsx delete mode 100644 react/src/components/examples/textarea/textarea-field.tsx delete mode 100644 react/src/components/examples/textarea/textarea-invalid.tsx delete mode 100644 react/src/components/examples/textarea/textarea-rtl.tsx delete mode 100644 react/src/components/examples/toast/toast-demo.tsx delete mode 100644 react/src/components/examples/toast/toast-promise.tsx delete mode 100644 react/src/components/examples/toast/toast-types.tsx delete mode 100644 react/src/components/examples/toggle-group/toggle-group-demo.tsx delete mode 100644 react/src/components/examples/toggle-group/toggle-group-disabled.tsx delete mode 100644 react/src/components/examples/toggle-group/toggle-group-font-weight-selector.tsx delete mode 100644 react/src/components/examples/toggle-group/toggle-group-outline.tsx delete mode 100644 react/src/components/examples/toggle-group/toggle-group-rtl.tsx delete mode 100644 react/src/components/examples/toggle-group/toggle-group-sizes.tsx delete mode 100644 react/src/components/examples/toggle-group/toggle-group-spacing.tsx delete mode 100644 react/src/components/examples/toggle-group/toggle-group-vertical.tsx delete mode 100644 react/src/components/examples/toggle/toggle-demo.tsx delete mode 100644 react/src/components/examples/toggle/toggle-disabled.tsx delete mode 100644 react/src/components/examples/toggle/toggle-outline.tsx delete mode 100644 react/src/components/examples/toggle/toggle-rtl.tsx delete mode 100644 react/src/components/examples/toggle/toggle-sizes.tsx delete mode 100644 react/src/components/examples/toggle/toggle-text.tsx delete mode 100644 react/src/components/examples/tooltip/tooltip-demo.tsx delete mode 100644 react/src/components/examples/tooltip/tooltip-disabled.tsx delete mode 100644 react/src/components/examples/tooltip/tooltip-keyboard.tsx delete mode 100644 react/src/components/examples/tooltip/tooltip-rtl.tsx delete mode 100644 react/src/components/examples/tooltip/tooltip-sides.tsx delete mode 100644 react/src/components/language-selector.tsx delete mode 100644 react/src/components/markdown.tsx delete mode 100644 react/src/components/message-animated.tsx delete mode 100644 react/src/components/ui/alert-dialog.tsx delete mode 100644 react/src/components/ui/alert.tsx delete mode 100644 react/src/components/ui/aspect-ratio.tsx delete mode 100644 react/src/components/ui/attachment.tsx delete mode 100644 react/src/components/ui/bubble.tsx delete mode 100644 react/src/components/ui/button-group.tsx delete mode 100644 react/src/components/ui/calendar.tsx delete mode 100644 react/src/components/ui/chart.tsx delete mode 100644 react/src/components/ui/checkbox.tsx delete mode 100644 react/src/components/ui/collapsible.tsx delete mode 100644 react/src/components/ui/combobox.tsx delete mode 100644 react/src/components/ui/context-menu.tsx delete mode 100644 react/src/components/ui/direction.tsx delete mode 100644 react/src/components/ui/drawer.tsx delete mode 100644 react/src/components/ui/empty.tsx delete mode 100644 react/src/components/ui/form.tsx delete mode 100644 react/src/components/ui/hover-card.tsx delete mode 100644 react/src/components/ui/input-otp.tsx delete mode 100644 react/src/components/ui/item.tsx delete mode 100644 react/src/components/ui/marker.tsx delete mode 100644 react/src/components/ui/menubar.tsx delete mode 100644 react/src/components/ui/message-scroller.tsx delete mode 100644 react/src/components/ui/message.tsx delete mode 100644 react/src/components/ui/native-select.tsx delete mode 100644 react/src/components/ui/pagination.tsx delete mode 100644 react/src/components/ui/popover.tsx delete mode 100644 react/src/components/ui/progress.tsx delete mode 100644 react/src/components/ui/questionnaire.tsx delete mode 100644 react/src/components/ui/radio-group.tsx delete mode 100644 react/src/components/ui/resizable.tsx delete mode 100644 react/src/components/ui/scroll-area.tsx delete mode 100644 react/src/components/ui/select.tsx delete mode 100644 react/src/components/ui/slider.tsx delete mode 100644 react/src/components/ui/sonner.tsx delete mode 100644 react/src/components/ui/spinner.tsx delete mode 100644 react/src/components/ui/switch.tsx delete mode 100644 react/src/components/ui/table.tsx delete mode 100644 react/src/components/ui/tabs.tsx delete mode 100644 react/src/components/ui/toast.tsx delete mode 100644 react/src/components/ui/toggle-group.tsx delete mode 100644 react/src/components/ui/toggle.tsx delete mode 100644 react/src/hooks/use-copy-to-clipboard.ts delete mode 100644 react/src/hooks/use-media-query.tsx delete mode 100644 react/src/lib/ai.ts delete mode 100644 react/src/lib/message-animations.ts delete mode 100644 react/src/lib/utils.ts delete mode 100644 src/content/pages/astro/index.mdx rename src/content/pages/{astro => }/blocks/article.mdx (100%) rename src/content/pages/{astro => }/blocks/articles.mdx (100%) rename src/content/pages/{astro => }/blocks/banner.mdx (100%) rename src/content/pages/{astro => }/blocks/contact.mdx (100%) rename src/content/pages/{astro => }/blocks/content.mdx (100%) rename src/content/pages/{astro => }/blocks/cta.mdx (100%) rename src/content/pages/{astro => }/blocks/doc.mdx (100%) rename src/content/pages/{astro => }/blocks/faqs.mdx (100%) rename src/content/pages/{astro => }/blocks/features.mdx (100%) rename src/content/pages/{astro => }/blocks/footer.mdx (100%) rename src/content/pages/{astro => }/blocks/header.mdx (100%) rename src/content/pages/{astro => }/blocks/hero.mdx (100%) rename src/content/pages/{astro => }/blocks/index.mdx (100%) rename src/content/pages/{astro => }/blocks/links.mdx (100%) rename src/content/pages/{astro => }/blocks/logos.mdx (100%) rename src/content/pages/{astro => }/blocks/pricing.mdx (100%) rename src/content/pages/{astro => }/blocks/product.mdx (100%) rename src/content/pages/{astro => }/blocks/products.mdx (100%) rename src/content/pages/{astro => }/blocks/reviews.mdx (100%) rename src/content/pages/{astro => }/blocks/services.mdx (100%) rename src/content/pages/{astro => }/components/accordion.mdx (100%) rename src/content/pages/{astro => }/components/alert-dialog.mdx (100%) rename src/content/pages/{astro => }/components/alert.mdx (95%) rename src/content/pages/{astro => }/components/aspect-ratio.mdx (100%) rename src/content/pages/{astro => }/components/attachment.mdx (100%) rename src/content/pages/{astro => }/components/avatar.mdx (98%) rename src/content/pages/{astro => }/components/badge.mdx (100%) rename src/content/pages/{astro => }/components/banner.mdx (100%) rename src/content/pages/{astro => }/components/breadcrumb.mdx (100%) rename src/content/pages/{astro => }/components/button-group.mdx (91%) rename src/content/pages/{astro => }/components/button.mdx (93%) rename src/content/pages/{astro => }/components/card.mdx (100%) rename src/content/pages/{astro => }/components/carousel.mdx (100%) rename src/content/pages/{astro => }/components/checkbox.mdx (100%) rename src/content/pages/{astro => }/components/collapsible.mdx (98%) rename src/content/pages/{astro => }/components/combobox.mdx (98%) rename src/content/pages/{astro => }/components/command.mdx (100%) rename src/content/pages/{astro => }/components/dialog.mdx (100%) rename src/content/pages/{astro => }/components/drawer.mdx (98%) rename src/content/pages/{astro => }/components/dropdown-menu.mdx (98%) rename src/content/pages/{astro => }/components/empty.mdx (100%) rename src/content/pages/{astro => }/components/field.mdx (100%) rename src/content/pages/{astro => }/components/form.mdx (100%) rename src/content/pages/{astro => }/components/header.mdx (100%) rename src/content/pages/{astro => }/components/hover-card.mdx (100%) rename src/content/pages/{astro => }/components/icon.mdx (100%) rename src/content/pages/{astro => }/components/index.mdx (100%) rename src/content/pages/{astro => }/components/input-group.mdx (100%) rename src/content/pages/{astro => }/components/input.mdx (92%) rename src/content/pages/{astro => }/components/item.mdx (100%) rename src/content/pages/{astro => }/components/kbd.mdx (100%) rename src/content/pages/{astro => }/components/label.mdx (90%) rename src/content/pages/{astro => }/components/layout.mdx (100%) rename src/content/pages/{astro => }/components/logo.mdx (100%) rename src/content/pages/{astro => }/components/marquee.mdx (100%) rename src/content/pages/{astro => }/components/native-select.mdx (100%) rename src/content/pages/{astro => }/components/navigation-menu.mdx (100%) rename src/content/pages/{astro => }/components/pagination.mdx (100%) rename src/content/pages/{astro => }/components/popover.mdx (100%) rename src/content/pages/{astro => }/components/price.mdx (100%) rename src/content/pages/{astro => }/components/radio-group.mdx (100%) rename src/content/pages/{astro => }/components/rating.mdx (100%) rename src/content/pages/{astro => }/components/resizable.mdx (100%) rename src/content/pages/{astro => }/components/section.mdx (98%) rename src/content/pages/{astro => }/components/select.mdx (100%) rename src/content/pages/{astro => }/components/separator.mdx (100%) rename src/content/pages/{astro => }/components/sheet.mdx (100%) rename src/content/pages/{astro => }/components/sidebar.mdx (100%) rename src/content/pages/{astro => }/components/skeleton.mdx (96%) rename src/content/pages/{astro => }/components/slider.mdx (95%) rename src/content/pages/{astro => }/components/spinner.mdx (100%) rename src/content/pages/{astro => }/components/switch.mdx (100%) rename src/content/pages/{astro => }/components/table.mdx (95%) rename src/content/pages/{astro => }/components/tabs.mdx (100%) rename src/content/pages/{astro => }/components/textarea.mdx (100%) rename src/content/pages/{astro => }/components/theme-toggle.mdx (100%) rename src/content/pages/{astro => }/components/toast.mdx (100%) rename src/content/pages/{astro => }/components/toc.mdx (100%) rename src/content/pages/{astro => }/components/toggle-group.mdx (100%) rename src/content/pages/{astro => }/components/toggle.mdx (100%) rename src/content/pages/{astro => }/components/tooltip.mdx (100%) rename src/content/pages/{astro => }/components/typography.mdx (100%) rename src/content/pages/{astro => }/components/video.mdx (100%) rename src/content/pages/{astro => }/docs/index.mdx (100%) rename src/content/pages/{astro => }/docs/installation.mdx (95%) rename src/content/pages/{astro => }/docs/introduction.mdx (85%) rename src/content/pages/{astro => }/docs/presets.mdx (100%) rename src/content/pages/{astro => }/docs/theming.mdx (97%) delete mode 100644 src/content/pages/react/components/accordion.mdx delete mode 100644 src/content/pages/react/components/alert-dialog.mdx delete mode 100644 src/content/pages/react/components/alert.mdx delete mode 100644 src/content/pages/react/components/aspect-ratio.mdx delete mode 100644 src/content/pages/react/components/attachment.mdx delete mode 100644 src/content/pages/react/components/avatar.mdx delete mode 100644 src/content/pages/react/components/badge.mdx delete mode 100644 src/content/pages/react/components/breadcrumb.mdx delete mode 100644 src/content/pages/react/components/bubble.mdx delete mode 100644 src/content/pages/react/components/button-group.mdx delete mode 100644 src/content/pages/react/components/button.mdx delete mode 100644 src/content/pages/react/components/calendar.mdx delete mode 100644 src/content/pages/react/components/card.mdx delete mode 100644 src/content/pages/react/components/carousel.mdx delete mode 100644 src/content/pages/react/components/chart.mdx delete mode 100644 src/content/pages/react/components/checkbox.mdx delete mode 100644 src/content/pages/react/components/collapsible.mdx delete mode 100644 src/content/pages/react/components/combobox.mdx delete mode 100644 src/content/pages/react/components/command.mdx delete mode 100644 src/content/pages/react/components/context-menu.mdx delete mode 100644 src/content/pages/react/components/data-table.mdx delete mode 100644 src/content/pages/react/components/date-picker.mdx delete mode 100644 src/content/pages/react/components/dialog.mdx delete mode 100644 src/content/pages/react/components/direction.mdx delete mode 100644 src/content/pages/react/components/drawer.mdx delete mode 100644 src/content/pages/react/components/dropdown-menu.mdx delete mode 100644 src/content/pages/react/components/empty.mdx delete mode 100644 src/content/pages/react/components/field.mdx delete mode 100644 src/content/pages/react/components/form.mdx delete mode 100644 src/content/pages/react/components/hover-card.mdx delete mode 100644 src/content/pages/react/components/input-group.mdx delete mode 100644 src/content/pages/react/components/input-otp.mdx delete mode 100644 src/content/pages/react/components/input.mdx delete mode 100644 src/content/pages/react/components/item.mdx delete mode 100644 src/content/pages/react/components/kbd.mdx delete mode 100644 src/content/pages/react/components/label.mdx delete mode 100644 src/content/pages/react/components/marker.mdx delete mode 100644 src/content/pages/react/components/menubar.mdx delete mode 100644 src/content/pages/react/components/message-scroller.mdx delete mode 100644 src/content/pages/react/components/message.mdx delete mode 100644 src/content/pages/react/components/native-select.mdx delete mode 100644 src/content/pages/react/components/navigation-menu.mdx delete mode 100644 src/content/pages/react/components/pagination.mdx delete mode 100644 src/content/pages/react/components/popover.mdx delete mode 100644 src/content/pages/react/components/progress.mdx delete mode 100644 src/content/pages/react/components/questionnaire.mdx delete mode 100644 src/content/pages/react/components/radio-group.mdx delete mode 100644 src/content/pages/react/components/resizable.mdx delete mode 100644 src/content/pages/react/components/scroll-area.mdx delete mode 100644 src/content/pages/react/components/select.mdx delete mode 100644 src/content/pages/react/components/separator.mdx delete mode 100644 src/content/pages/react/components/sheet.mdx delete mode 100644 src/content/pages/react/components/sidebar.mdx delete mode 100644 src/content/pages/react/components/skeleton.mdx delete mode 100644 src/content/pages/react/components/slider.mdx delete mode 100644 src/content/pages/react/components/sonner.mdx delete mode 100644 src/content/pages/react/components/spinner.mdx delete mode 100644 src/content/pages/react/components/switch.mdx delete mode 100644 src/content/pages/react/components/table.mdx delete mode 100644 src/content/pages/react/components/tabs.mdx delete mode 100644 src/content/pages/react/components/textarea.mdx delete mode 100644 src/content/pages/react/components/toast.mdx delete mode 100644 src/content/pages/react/components/toggle-group.mdx delete mode 100644 src/content/pages/react/components/toggle.mdx delete mode 100644 src/content/pages/react/components/tooltip.mdx delete mode 100644 src/pages/[edition]/llms-full.txt.ts delete mode 100644 src/pages/[edition]/llms.txt.ts create mode 100644 src/pages/react/llms-full.txt.ts create mode 100644 src/pages/react/llms.txt.ts create mode 100644 tests/extension.test.mjs diff --git a/.changeset/react-extension-urls.md b/.changeset/react-extension-urls.md new file mode 100644 index 000000000..f5efee373 --- /dev/null +++ b/.changeset/react-extension-urls.md @@ -0,0 +1,9 @@ +--- +"fulldev-ui": minor +--- + +Restore the docs at their original addresses and make React an extension of shadcn/ui. + +The Astro docs are back at `/docs/`, `/components/` and `/blocks/`, with the original home page, navigation, `llms.txt` and registry docs links. The short-lived `/astro/` addresses redirect there. + +The React registry at `https://ui.full.dev/r/react/styles/{style}/{name}.json` now holds only the Fulldev extras (banner, header, icon, layout, logo, marquee, price, rating, section, theme toggle, toc, typography, video) and the 82 blocks, documented at `/react/`. Set up the project with the official `npx shadcn@latest init`, then add the `@fulldev` registry. Standard components install from the official shadcn/ui registry as plain registry dependencies, so an extra never replaces them. The React `base`, `init` and `form` items, the copies of the standard shadcn/ui components and hooks, and the `-examples` items are removed from the React registry. React `Sidebar1` no longer takes `labels.mobileTitle` and `labels.mobileDescription`, which only a modified Sidebar supported. diff --git a/README.md b/README.md index 5d40c5baf..514d11d8b 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ A shadcn-compatible set of components built for [Astro][astro], designed for con - **100+ Components & Blocks** — Ready-to-use UI components and pre-built page blocks - **Tailwind CSS v4** — Styled with the latest Tailwind CSS - **TypeScript** — Full TypeScript support -- **React**: the same components and blocks for React; see [react/README.md](react/README.md) +- **React extension**: the Fulldev extras and blocks for official shadcn/ui React projects; see [react/README.md](react/README.md) ## Installation diff --git a/astro.config.ts b/astro.config.ts index 0bd78eeea..457b21223 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -1,4 +1,3 @@ -import { readdirSync } from "node:fs" import { defineConfig, fontProviders } from "astro/config" import { unified } from "@astrojs/markdown-remark" import mdx from "@astrojs/mdx" @@ -6,8 +5,6 @@ import liveCode from "astro-live-code" import fulldevIntegration from "./src/lib/integration" -// The docs used to live at /docs/, /components/ and /blocks/; they are the -// Astro edition now. Netlify answers these with a 301 (netlify.toml). // Docs tables scroll inside the content column instead of widening the page. type Node = { type: string; tagName?: string; children?: Node[] } const scrollTables = () => (tree: Node) => { @@ -27,19 +24,11 @@ const scrollTables = () => (tree: Node) => { wrap(tree) } -const legacyRedirects = Object.fromEntries( - readdirSync("src/content/pages/astro", { recursive: true }) - .map((file) => String(file).replace(/(\/?index)?\.mdx$/, "")) - .filter((path) => /^(docs|components|blocks)/.test(path)) - .map((path) => [`/${path}/`, `/astro/${path}/`]) -) - // React previews come from the gallery in react/, at /preview/react/. In // development its Vite server runs on REACT_PREVIEW_PORT (pnpm dev:react). const reactPreviewPort = process.env.REACT_PREVIEW_PORT ?? "4322" export default defineConfig({ - redirects: legacyRedirects, server: { host: "127.0.0.1", port: 4321, diff --git a/eslint.config.js b/eslint.config.js index 27b3c1a45..b7b507fd2 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -30,27 +30,6 @@ export default defineConfig([ ], rules: { "react-hooks/set-state-in-effect": "off" }, }, - { - // The official shadcn/ui docs examples and the docs helpers they import, - // unchanged. - files: [ - "react/src/components/examples/**/*.tsx", - "react/src/components/language-selector.tsx", - "react/src/components/markdown.tsx", - "react/src/components/message-animated.tsx", - "react/src/lib/ai.ts", - "react/src/lib/message-animations.ts", - "react/src/hooks/use-copy-to-clipboard.ts", - "react/src/hooks/use-media-query.tsx", - ], - rules: { - "@typescript-eslint/no-unused-expressions": "off", - "@typescript-eslint/no-unused-vars": "off", - "no-useless-assignment": "off", - "react-hooks/refs": "off", - "react-hooks/set-state-in-effect": "off", - }, - }, ...astro.configs.recommended, ...astro.configs["jsx-a11y-recommended"], { diff --git a/html-validate.config.mjs b/html-validate.config.mjs index 58cd0a6de..30e395f78 100644 --- a/html-validate.config.mjs +++ b/html-validate.config.mjs @@ -16,28 +16,28 @@ export default defineFlatConfig([ // the page's own breadcrumb or table of contents, so the landmark names // repeat. A site renders each of these landmarks once. files: [ - "dist/astro/blocks/banner/index.html", - "dist/astro/blocks/footer/index.html", - "dist/astro/blocks/header/index.html", - "dist/astro/components/banner/index.html", - "dist/astro/components/breadcrumb/index.html", - "dist/astro/components/navigation-menu/index.html", - "dist/astro/components/pagination/index.html", - "dist/astro/components/sidebar/index.html", - "dist/astro/components/toc/index.html", + "dist/blocks/banner/index.html", + "dist/blocks/footer/index.html", + "dist/blocks/header/index.html", + "dist/components/banner/index.html", + "dist/components/breadcrumb/index.html", + "dist/components/navigation-menu/index.html", + "dist/components/pagination/index.html", + "dist/components/sidebar/index.html", + "dist/components/toc/index.html", ], rules: { "unique-landmark": "off" }, }, { // The official sidebar example is a full app layout: its SidebarInset is // the app's main element, rendered here inside the docs page's own main. - files: ["dist/astro/components/sidebar/index.html"], + files: ["dist/components/sidebar/index.html"], rules: { "no-multiple-main": "off", "element-permitted-content": "off" }, }, { // ItemGroup and Item follow shadcn/ui: ARIA list roles on div and a, so // an item can be a link. - files: ["dist/astro/components/item/index.html"], + files: ["dist/components/item/index.html"], rules: { "prefer-native-element": ["error", { exclude: ["list", "listitem"] }], }, diff --git a/knip.jsonc b/knip.jsonc index 0edb576c5..a2cb200b5 100644 --- a/knip.jsonc +++ b/knip.jsonc @@ -32,21 +32,16 @@ }, "react": { "entry": [ - // The React registry publishes these as installable files. + // The React registry publishes the extras and blocks; the standard + // shadcn/ui components and hooks are local copies for the gallery. "src/components/ui/*.tsx", "src/components/blocks/*.tsx", - "src/components/examples/*/*.tsx", "src/hooks/*.{ts,tsx}", "src/lib/*.ts", // The gallery loads its demos through import.meta.glob. "gallery/ui/*.tsx", "gallery/blocks/*.tsx", ], - "ignoreIssues": { - // shadcn/ui docs helpers that example items install, shipped unchanged. - "src/components/language-selector.tsx": ["exports", "types"], - "src/components/message-animated.tsx": ["types"], - }, }, }, } diff --git a/netlify.toml b/netlify.toml index bf3b4e633..4406703de 100644 --- a/netlify.toml +++ b/netlify.toml @@ -31,22 +31,4 @@ host = "eu.i.posthog.com" status = 200 force = true -# The docs moved to the Astro edition; the React gallery became the React -# edition, with its previews at /preview/react/. -[[redirects]] -from = "/docs/*" -to = "/astro/docs/:splat" -status = 301 -force = true - -[[redirects]] -from = "/components/*" -to = "/astro/components/:splat" -status = 301 -force = true - -[[redirects]] -from = "/blocks/*" -to = "/astro/blocks/:splat" -status = 301 -force = true +# Redirects of former docs addresses are in public/_redirects. diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 76e24f712..94c3789b6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -165,6 +165,8 @@ settings: overrides: favilib>sharp: ^0.35.5 +packageExtensionsChecksum: sha256-kOpo9eSJaaBQWfHqkrNOvfrHtopmC1Oh/1xTrSa1trw= + importers: .: @@ -365,39 +367,9 @@ importers: react: dependencies: - '@ai-sdk/react': - specifier: ^4.0.139 - version: 4.0.139(react@19.3.0)(zod@4.6.5) '@base-ui/react': specifier: ^1.8.0 version: 1.8.0(@date-fns/tz@1.5.0)(@types/react@19.3.0)(date-fns@4.4.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@daypicker/persian': - specifier: 10.0.2 - version: 10.0.2(@types/react@19.3.0)(react@19.3.0) - '@fontsource-variable/vazirmatn': - specifier: ^5.3.0 - version: 5.3.0 - '@shadcn/helpers': - specifier: ^0.2.0 - version: 0.2.0(ai@7.0.136(zod@4.6.5)) - '@shadcn/react': - specifier: ^0.3.1 - version: 0.3.1(@types/react@19.3.0)(react@19.3.0) - '@streamdown/code': - specifier: ^2.0.0 - version: 2.0.0(react@19.3.0) - '@tabler/icons-react': - specifier: ^3.49.0 - version: 3.49.0(react@19.3.0) - '@tanstack/react-table': - specifier: ^9.2.8 - version: 9.2.8(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - ai: - specifier: ^7.0.136 - version: 7.0.136(zod@4.6.5) - chrono-node: - specifier: ^2.10.2 - version: 2.10.2 class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -407,66 +379,33 @@ importers: cn: specifier: ^0.4.0 version: 0.4.0 - date-fns: - specifier: ^4.4.0 - version: 4.4.0 embla-carousel-auto-scroll: specifier: 8.6.0 version: 8.6.0(embla-carousel@8.6.0) - embla-carousel-autoplay: - specifier: 8.6.0 - version: 8.6.0(embla-carousel@8.6.0) embla-carousel-react: specifier: 8.6.0 version: 8.6.0(react@19.3.0) - input-otp: - specifier: ^1.5.0 - version: 1.5.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0) lucide-react: specifier: ^1.53.0 version: 1.53.0(@types/react@19.3.0)(react@19.3.0) - motion: - specifier: ^14.0.0 - version: 14.0.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0) next-themes: specifier: ^0.4.6 - version: 0.4.6(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 0.4.6(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react: specifier: ^19.3.0 version: 19.3.0 - react-day-picker: - specifier: ^10.0.2 - version: 10.0.2(@types/react@19.3.0)(react@19.3.0) react-dom: specifier: ^19.3.0 version: 19.3.0(react@19.3.0) - react-resizable-panels: - specifier: ^4.14.3 - version: 4.14.3(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - react-textarea-autosize: - specifier: ^8.5.9 - version: 8.5.9(@types/react@19.3.0)(react@19.3.0) - recharts: - specifier: 3.8.0 - version: 3.8.0(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react-is@19.3.0)(react@19.3.0)(redux@5.0.1) shadcn: specifier: ^4.21.0 version: 4.21.1(typescript@6.0.3) simple-icons: specifier: ^16.33.0 version: 16.33.0 - sonner: - specifier: ^2.0.8 - version: 2.0.8(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - streamdown: - specifier: ^2.7.0 - version: 2.7.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0) tw-animate-css: specifier: ^1.4.0 version: 1.4.0 - zod: - specifier: ^4.6.5 - version: 4.6.5 devDependencies: '@tailwindcss/vite': specifier: ^4.3.3 @@ -495,34 +434,6 @@ importers: packages: - '@ai-sdk/gateway@4.0.110': - resolution: {integrity: sha512-5IwnOR6v7KC+D9eddUqsCobXl/FbLUVb2LaQc/uyuQdpP3/n9s0YLc9zl4/W3IS/R2pjHrqUfCzEAeOu7bFLoQ==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/mcp@2.0.73': - resolution: {integrity: sha512-k616Rv9WSVbr6fuB5otPztkULqi66dmR+RyH8GlOvVhOqQ1of8ePuHaoO79X+UHXCOABKHtrueLUSwiv+lj6yg==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider-utils@5.0.58': - resolution: {integrity: sha512-iXSwKR/7LpHzAlyrUl+bTinwzmZ3Nmup1viwPisM5Gn5cogRdIG4rV9w1ZDuKFcrXyu/AeVs42E1CX/0aNwrfQ==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider@4.0.26': - resolution: {integrity: sha512-BZ443uBEq6HuMA+Z4b7Hpm65GpZSo7pWqnYqpf/7tAO3C48JbtvAhOE2JnODFj+jodsZzfRHkAyQb64xuD2tZQ==} - engines: {node: '>=22'} - - '@ai-sdk/react@4.0.139': - resolution: {integrity: sha512-AZYw7qrn0UN1/YiUWkiQvNBMD8O8/+H9DgEDdDurr638cXSU0rthkJ38kqSSTf9x+HIpNi0Y8QUkZ5rJ1VUx/g==} - engines: {node: '>=22'} - peerDependencies: - react: ^18 || ~19.0.1 || ~19.1.2 || ^19.2.1 - '@astrojs/astro2tsx@0.1.2': resolution: {integrity: sha512-Uj/M9zbrhu5cIZEvWAGTbQJRKSxXWJ/E59BZwt7F+chrKhbfttW+9rkS/l+1QxoJP1KU3UnpM62M7yszfAI0WA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1083,25 +994,6 @@ packages: '@date-fns/tz@1.5.0': resolution: {integrity: sha512-lwYN/vDPeNRULcepoE/LO2Pgx+7/RV+S9ARfbc9lr2DtGkOD7pAiruHvbR1RX3Qyf6ja47EWJDMsNK5vK08DJg==} - '@daypicker/persian@10.0.2': - resolution: {integrity: sha512-GFT5n6WZoz2YIkmxINsiIyJXcSZg+X4a16hygs/SliZJRy3x0uJTWtZXnGrk7HBWIXILTScLCbRVBLza7DQZJw==} - peerDependencies: - '@types/react': '>=16.8.0' - react: '>=16.8.0' - peerDependenciesMeta: - '@types/react': - optional: true - - '@daypicker/react@10.0.2': - resolution: {integrity: sha512-Z/gvGXnc/xjRr5Z6l9OhIey00C7kwbIyJ85Pff9B9EWDkjTlkTQztB3qeylmGJDQ9xmxRJUV1W+02rskqarUBw==} - engines: {node: '>=18'} - peerDependencies: - '@types/react': '>=16.8.0' - react: '>=16.8.0' - peerDependenciesMeta: - '@types/react': - optional: true - '@dotenvx/dotenvx@1.75.1': resolution: {integrity: sha512-/BITOC9dmS/edY2zQwZNicQ059O6RKabtQfyEafV0nGtfYRNHYy1DIPiYVcov40+tob9hfmBnbR963dS+EQ1DQ==} hasBin: true @@ -1364,9 +1256,6 @@ packages: '@floating-ui/utils@0.2.12': resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==} - '@fontsource-variable/vazirmatn@5.3.0': - resolution: {integrity: sha512-ZA68W8JHbMdNzzwjYHUWKB2PH22QpxNEnk0ukcXM+XiqYMV6ZWJZAKuNXcrMR2JjuIAwsfAU3KknCXPI6wXUvw==} - '@hono/node-server@2.1.3': resolution: {integrity: sha512-TA//nWMqPhbfdfneACk6t5a9eqbS9lABEPyKn0/xZTah3H3U2XaVg85rJFl0/Fyit0I552YDHgXGVSf3GwqbUw==} engines: {node: '>=20'} @@ -2071,17 +1960,6 @@ packages: '@types/react': optional: true - '@reduxjs/toolkit@2.13.0': - resolution: {integrity: sha512-f6jwVRfwW30+tnllz4YcsHHpPYYOE7abcHkyUCovD+P7DyhdAI5prz2Fh/8TLhakjpN+7aIEion1s5L/tvlYlA==} - peerDependencies: - react: ^16.9.0 || ^17.0.0 || ^18 || ^19 - react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 - peerDependenciesMeta: - react: - optional: true - react-redux: - optional: true - '@rolldown/binding-android-arm-eabi@1.2.12': resolution: {integrity: sha512-dB/a1214qKfHMXCpgqR4OZT+jS4kTyEXbQGJPqzobt5EwH5rX080pxE37alt3RzvR1bf1Yz/yGqRfrYAxuPw0A==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2184,31 +2062,6 @@ packages: '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@shadcn/helpers@0.2.0': - resolution: {integrity: sha512-wpcZNuRgdW16jLwjvh4mbREKpVFrGY+nBM3Okgic8b04sijN5CHW1Nl/AEMajsP3INaCTNnqMCouOalZ7OHvEQ==} - peerDependencies: - '@tanstack/ai': '>=0.40.0 <0.41.0' - '@tanstack/ai-client': '>=0.20.0 <0.21.0' - ai: '>=7.0.0 <8' - peerDependenciesMeta: - '@tanstack/ai': - optional: true - '@tanstack/ai-client': - optional: true - ai: - optional: true - - '@shadcn/react@0.3.1': - resolution: {integrity: sha512-2gOR0HDMtWeRsCZfNDaU0YDFdgH3zsDQ6lz67Fv/y/qjY9y+R8kJqAn6q56phqv7/zHi0wqURjntrNO9zL7vnQ==} - peerDependencies: - '@types/react': '>=19' - react: '>=19' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - '@shadcn/registry@0.1.0': resolution: {integrity: sha512-eMF6tPNi9SWZgPvqBvPQFhJN7gV9PcjRdF3kPiiWo5yZJocWqVgxFuspCHrOij3bIJ797NIGZ+j/v7AiXfA6qg==} engines: {node: '>=20.18.1'} @@ -2254,26 +2107,6 @@ packages: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} - '@standard-schema/spec@1.1.0': - resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - - '@standard-schema/utils@0.3.0': - resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} - - '@streamdown/code@2.0.0': - resolution: {integrity: sha512-sSyX/9gOOcivbP7204+sfAam+gotxjUNV+T4EuN3aa6i5x1LaqtB6Ln/Mxzd1XGvm0vNApO4oKLZs+7gzFI1kQ==} - engines: {node: '>=20'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - - '@tabler/icons-react@3.49.0': - resolution: {integrity: sha512-Um59pm5RVNUaQjFUtG0r4oYJbZuBS3tGugAA2tgBg0WufMk34Eio3nsO30RUkLuL2giYPQUNdY9HvqltLLYyNA==} - peerDependencies: - react: '>= 16' - - '@tabler/icons@3.49.0': - resolution: {integrity: sha512-l+GnSkFETx0U26icxv1VUFnxxiTqXfCcVRiRAnyMwibupM2S2L/hSaZ9gmSgz01rkrsH/93NvLsxykqdanc6lw==} - '@tailwindcss/node@4.3.3': resolution: {integrity: sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==} @@ -2368,58 +2201,12 @@ packages: peerDependencies: vite: ^5.2.0 || ^6 || ^7 || ^8 - '@tanstack/react-store@0.11.2': - resolution: {integrity: sha512-oj5O5DmiMWE+ih+SioX2ayC1kbK7d3fpLx0B75fPJr9nY3zU+hoW010yr64qXsY/9fyiLVE2bn5mGNV3owm8RQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - - '@tanstack/react-table@9.2.8': - resolution: {integrity: sha512-cJxgratJm3uMm2sXnmY3PCTvcvIEFleCJ2uSOM2nxCmIY8RWA1KjXt5fsWGlYisL7DODr2w9YpLRQ3i/7MdIsQ==} - engines: {node: '>=20'} - peerDependencies: - react: '>=18' - - '@tanstack/store@0.11.2': - resolution: {integrity: sha512-sJ4mjol8uQsHV0gOJzzjwXfh2Fwm+Sz0+8deqiTm4jGbMdjzNSW+xZCFm0kUa870uhd8yi+DpKnZb5Kc4apa0Q==} - - '@tanstack/table-core@9.2.8': - resolution: {integrity: sha512-M4D6fY5jnc7z7TaoD3Pjvz5R+8MbhzCGYdkcFf2T1AgjigwLinvFWZh6mtqfN016A7yGIroOL0GiTlVGsTh6Vg==} - engines: {node: '>=20'} - '@ts-morph/common@0.27.0': resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} '@tybys/wasm-util@0.10.4': resolution: {integrity: sha512-W3c4gRigFS0T/Ma4qIYF3GDAc5AQdHb1yL5znJT1Zv1YaD9Kitx656wBjvr19qbiosmZT8lWDM5BEMynUqX65A==} - '@types/d3-array@3.2.2': - resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} - - '@types/d3-color@3.1.3': - resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} - - '@types/d3-ease@3.0.2': - resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} - - '@types/d3-interpolate@3.0.4': - resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} - - '@types/d3-path@3.1.1': - resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} - - '@types/d3-scale@4.0.9': - resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} - - '@types/d3-shape@3.2.0': - resolution: {integrity: sha512-kVd74ta9eof3eJOvbNd1vGKS/XERRyQbT26Og63hIsvDO84cjD5gEOhsXf26w3FSoNlPVz84DOFcKv/oou+fMw==} - - '@types/d3-time@3.0.4': - resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} - - '@types/d3-timer@3.0.2': - resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} - '@types/debug@4.1.13': resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} @@ -2476,9 +2263,6 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@types/use-sync-external-store@0.0.6': - resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==} - '@types/validate-npm-package-name@4.0.2': resolution: {integrity: sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw==} @@ -2544,10 +2328,6 @@ packages: '@ungap/structured-clone@1.4.0': resolution: {integrity: sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==} - '@vercel/oidc@3.2.0': - resolution: {integrity: sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug==} - engines: {node: '>= 20'} - '@vitejs/plugin-react@6.1.2': resolution: {integrity: sha512-fhJNGUdscQa4HkI0xFxwonWyhnVReCPDbXI7FH7jmzpnVCrFQI7PRrhWecO263610vOrs9tr2Y4xcf8uAdFxbw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2605,9 +2385,6 @@ packages: '@vscode/l10n@0.0.18': resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==} - '@workflow/serde@4.1.0': - resolution: {integrity: sha512-pav4F2BoirECWR7Nf1TKt+2eETcBj7jj4cBefQ8VXQCA6NPkaKeLfj/zMgi+3zYV5ZIBT4GuUiphsj0/b9hPQQ==} - accepts@2.0.0: resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} engines: {node: '>= 0.6'} @@ -2622,12 +2399,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - ai@7.0.136: - resolution: {integrity: sha512-quFXFKEw7qUZL9v2ciJ9eruQYq9KUo3F+mDhwdL/pi7ZPu0bj7UX6yv55oAUiMjbGXd8MZRzIcu0oPc4y9llQw==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - ajv-draft-04@1.0.0: resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} peerDependencies: @@ -2883,10 +2654,6 @@ packages: resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} engines: {node: '>= 20.19.0'} - chrono-node@2.10.2: - resolution: {integrity: sha512-xBCwGGmodF2YVtzE7/8ewNDajbCg72jgZHyOXvhkuQiYhIQ1KbqyXJJJw2fLaQ603LL4oMVhOyjckEBve45S4w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - ci-info@4.4.0: resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} engines: {node: '>=8'} @@ -3034,50 +2801,6 @@ packages: csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - d3-array@3.2.4: - resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} - engines: {node: '>=12'} - - d3-color@3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} - - d3-ease@3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} - - d3-format@3.1.2: - resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} - engines: {node: '>=12'} - - d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} - - d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} - engines: {node: '>=12'} - - d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} - - d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} - engines: {node: '>=12'} - - d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} - - d3-time@3.1.0: - resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} - engines: {node: '>=12'} - - d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} - damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} @@ -3096,9 +2819,6 @@ packages: dataloader@1.4.0: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} - date-fns-jalali@4.1.0-0: - resolution: {integrity: sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg==} - date-fns@4.4.0: resolution: {integrity: sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==} @@ -3115,9 +2835,6 @@ packages: supports-color: optional: true - decimal.js-light@2.5.1: - resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} - decode-named-character-reference@1.3.0: resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} @@ -3266,11 +2983,6 @@ packages: peerDependencies: embla-carousel: 8.6.0 - embla-carousel-autoplay@8.6.0: - resolution: {integrity: sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA==} - peerDependencies: - embla-carousel: 8.6.0 - embla-carousel-react@8.6.0: resolution: {integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==} peerDependencies: @@ -3359,9 +3071,6 @@ packages: resolution: {integrity: sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==} engines: {node: '>= 0.4'} - es-toolkit@1.52.0: - resolution: {integrity: sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA==} - esast-util-from-estree@2.0.0: resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} @@ -3638,17 +3347,6 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - framer-motion@14.0.0: - resolution: {integrity: sha512-QAtHmybrDFSliyW1sexMtSQTQd+1jw2ajibEmzpuI4XdPVzQkn+dAzJMm2sW3pl9MJuSS4xN51djQ7huhlP/VA==} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - fresh@2.0.0: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} @@ -3813,9 +3511,6 @@ packages: hast-util-raw@9.1.0: resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} - hast-util-sanitize@5.0.2: - resolution: {integrity: sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==} - hast-util-to-estree@3.1.3: resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} @@ -3856,9 +3551,6 @@ packages: html-escaper@3.0.3: resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} - html-url-attributes@3.0.1: - resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==} - html-validate@11.16.1: resolution: {integrity: sha512-PklC0d9tLeXpvC6INePZcTBlXplZOmBkR0IQTYoJ9TSrtqxBKR74lMdKPXcnOImD4mAdp/L5/QJR/x6WrvDYvA==} engines: {node: ^22.22.0 || >= 24.8.0} @@ -3919,12 +3611,6 @@ packages: resolution: {integrity: sha512-YChdK5txDjwGUvgR7oCJcLGkwi3LDh8Zx8tS7ndYciLEg/oOCL26VUBSUEtgS7EjiybcBqFxh5j0rAdDX7/bbg==} engines: {node: '>= 4'} - immer@10.2.0: - resolution: {integrity: sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==} - - immer@11.1.21: - resolution: {integrity: sha512-bZSadeCPGdaY5/qRLgr6mDSH1ra21rD3rqpiWk7+QTr4ayYPTE9qZYdLh/NdPhMe0wSrTvHD/Lk8q5EwhUs0aw==} - import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -3939,20 +3625,10 @@ packages: inline-style-parser@0.2.7: resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} - input-otp@1.5.0: - resolution: {integrity: sha512-3AcfdW1sNG0FmSA5hHMBXG7jNW5CdcdKs8ln8JOmn6S2SRkoXoJx+2UwC+ZvjflfnOdHJx0SfQ9/YjlxVYLtGQ==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc - internal-slot@1.1.0: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} - internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} - ip-address@10.7.2: resolution: {integrity: sha512-7H/2gFSIitxc0hG3nOI1glS8QLo/EHBFFLk8vEUjXY/xu0AdL8jZ9U1IzO2PUm0d2D/ofQcAifb0g6OBkt8U7w==} engines: {node: '>= 12'} @@ -4206,9 +3882,6 @@ packages: json-schema-typed@8.0.2: resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==} - json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -4714,23 +4387,6 @@ packages: resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} - motion-dom@14.0.0: - resolution: {integrity: sha512-aU3ApXo1yTpeUi3JU+jbDk2TELjxPE3MbBMUP7nZHlARb6RweJK+ojmLjpuB0YsY6zhbBl1YWGo8LMsI1/Llqw==} - - motion-utils@14.0.0: - resolution: {integrity: sha512-jBsyjVxTTRZNeuvd/v+btVXr90LQkYl4HhRu9T2ARc+PMnvkmjsjRVeAg4Qm10b6TlTw+kykWI8gu/6LuvpLSQ==} - - motion@14.0.0: - resolution: {integrity: sha512-oGc2lkge2lkRZCP+J8/JsnYu4NFjqP1MtXirNdetn3QbvK2JqwM9A200EdT4C598KfzDhjLT12zF21xDM4Oilw==} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -4764,6 +4420,7 @@ packages: next-themes@0.4.6: resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} peerDependencies: + '@types/react': '*' react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc @@ -5199,36 +4856,11 @@ packages: resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} engines: {node: '>= 0.10'} - react-day-picker@10.0.2: - resolution: {integrity: sha512-QetiKtZWE9Uaw/pM/SYNv6WPYOTRnSJ2puL0GgwkmUFMIwiY0dtjH1W4B7DOVXVNQM0ZOClGpH/heOfBSzWeiA==} - engines: {node: '>=18'} - peerDependencies: - '@types/react': '>=16.8.0' - react: '>=16.8.0' - peerDependenciesMeta: - '@types/react': - optional: true - react-dom@19.3.0: resolution: {integrity: sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==} peerDependencies: react: ^19.3.0 - react-is@19.3.0: - resolution: {integrity: sha512-UpMYezM4v5/18F28aC66AEsjXIgE02kyEMH6yLdgLXu/UTfa1Ntwck/nNLrbqJsEXW7gPb0coNO9FQse9WTovA==} - - react-redux@9.3.0: - resolution: {integrity: sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==} - peerDependencies: - '@types/react': ^18.2.25 || ^19 - react: ^18.0 || ^19 - redux: ^5.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - redux: - optional: true - react-remove-scroll-bar@2.3.8: resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} engines: {node: '>=10'} @@ -5249,12 +4881,6 @@ packages: '@types/react': optional: true - react-resizable-panels@4.14.3: - resolution: {integrity: sha512-t/mJDWKBvc7sHcm/HJxJJKniqyQH6vK7oWyv8QODawYCcDwn0waBlGw0yFEwoMe6xPNKpbOFh2wN0yyina30ow==} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - react-style-singleton@2.2.3: resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} engines: {node: '>=10'} @@ -5265,12 +4891,6 @@ packages: '@types/react': optional: true - react-textarea-autosize@8.5.9: - resolution: {integrity: sha512-U1DGlIQN5AwgjTyOEnI1oCcMuEr1pv1qOtklB2l4nyMGbHzWrI0eFsYK0zos2YWqAolJyG0IWJaqWmWj5ETh0A==} - engines: {node: '>=10'} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react@19.3.0: resolution: {integrity: sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==} engines: {node: '>=0.10.0'} @@ -5291,14 +4911,6 @@ packages: resolution: {integrity: sha512-mFAyJq9vUbSTARLZUvAEf1z3YxlvAwswbmxMx2mPA/MSm4KmpwvwvhsH/NIrZhyOuwD60Lzyw2qh83uCbgTPYw==} engines: {node: '>= 4'} - recharts@3.8.0: - resolution: {integrity: sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ==} - engines: {node: '>=18'} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-is: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} @@ -5313,14 +4925,6 @@ packages: recma-stringify@1.0.0: resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} - redux-thunk@3.1.0: - resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==} - peerDependencies: - redux: ^5.0.0 - - redux@5.0.1: - resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==} - reflect.getprototypeof@1.0.10: resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} @@ -5338,18 +4942,12 @@ packages: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} - rehype-harden@1.1.8: - resolution: {integrity: sha512-Qn7vR1xrf6fZCrkm9TDWi/AB4ylrHy+jqsNm1EHOAmbARYA6gsnVJBq/sdBh6kmT4NEZxH5vgIjrscefJAOXcw==} - rehype-raw@7.0.0: resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} rehype-recma@1.0.0: resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} - rehype-sanitize@6.0.0: - resolution: {integrity: sha512-CsnhKNsyI8Tub6L4sm5ZFsme4puGfc6pYylvXo1AeqaGbjOYyzNv3qZPwvs0oMJ39eryyeOdmxwUIo94IpEhqg==} - rehype-stringify@10.0.1: resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==} @@ -5372,9 +4970,6 @@ packages: remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - remend@1.4.0: - resolution: {integrity: sha512-mHiYhhwphs1IgIZmkToKLwJn0U99IjPXuutkA2acrNcG0vlEq2G4TGnd2eT0saIHwh2KjaCpvleHcsd5SAz96A==} - request-light@0.5.8: resolution: {integrity: sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==} @@ -5385,9 +4980,6 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - reselect@5.1.1: - resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} - reselect@5.3.0: resolution: {integrity: sha512-XGoLeRAVzUTcJ1qkxPQhDJyIZ5d6zzZD9nT7AEZOaaU9UbWclhycElmhO+VD5bFeLuzhPBaOV2oXC8uG35ZSpg==} @@ -5583,16 +5175,6 @@ packages: resolution: {integrity: sha512-e0VyvkVTwVYViNovRkZ9aodhxVlyoMn7eJhVUPxZ+eK9P/7CBkxvvsBOHqFPEH416726W8tLXXXjKwqgTErrCQ==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - sonner@2.0.8: - resolution: {integrity: sha512-UM/ByIoFra8yzV75n1o0Puu0bw5U/9UNnDacrJNspekBewIfsQ3D6ez1nvlWpt7aTsO6rujQtifBpycwIivqlg==} - peerDependencies: - '@types/react': ^18.0.0 || ^19.0.0 - react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc - react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - source-map-js@1.2.2: resolution: {integrity: sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==} engines: {node: '>=0.10.0'} @@ -5630,12 +5212,6 @@ packages: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} - streamdown@2.7.0: - resolution: {integrity: sha512-SHYTCveHpRJfcIC8r+5EANczK21R0iNYo4i7wNaLeLeQjEnaVk4xMFhgV4E/mix69BpFSBui1NOESEXKlZfReA==} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - string-width@7.2.0: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} @@ -5705,11 +5281,6 @@ packages: engines: {node: '>=16'} hasBin: true - swr@2.5.1: - resolution: {integrity: sha512-BRw55e8r0B7SpDN20CAzoQAHl7y1yP7/Zt7oqUjMv0vSt2u2Xnkm88Ws+VypbV9BXHQVuSuyVq7zMjO16wSExw==} - peerDependencies: - react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - synckit@0.11.13: resolution: {integrity: sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==} engines: {node: ^14.18.0 || >=16.0.0} @@ -5720,9 +5291,6 @@ packages: os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true - tailwind-merge@3.7.0: - resolution: {integrity: sha512-XPPUyAc+cvspz3lHTcR/QgPfW2A0lv/xQNIjX3HGhLR+Nq2lHaLq5MtTesHn8GUr3W3DguT2KT5x3NVgRtYwmA==} - tailwindcss@4.3.3: resolution: {integrity: sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==} @@ -5734,10 +5302,6 @@ packages: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} - throttleit@2.1.0: - resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} - engines: {node: '>=18'} - tiny-inflate@1.0.3: resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} @@ -5999,33 +5563,6 @@ packages: '@types/react': optional: true - use-composed-ref@1.4.0: - resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - - use-isomorphic-layout-effect@1.2.1: - resolution: {integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - - use-latest@1.3.0: - resolution: {integrity: sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - use-sidecar@1.1.3: resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} engines: {node: '>=10'} @@ -6069,9 +5606,6 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - victory-vendor@37.3.6: - resolution: {integrity: sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==} - vite@8.3.2: resolution: {integrity: sha512-SQr1x6W5vVSbROg7vsyXIaxK9b0G7zsT68acdWWRmnBUsgDieLCRG+Rep9WdZgcposvv/GSnr4GUUBqB3vXq6w==} engines: {node: ^20.19.0 || >=22.12.0} @@ -6372,46 +5906,6 @@ packages: snapshots: - '@ai-sdk/gateway@4.0.110(zod@4.6.5)': - dependencies: - '@ai-sdk/provider': 4.0.26 - '@ai-sdk/provider-utils': 5.0.58(zod@4.6.5) - '@vercel/oidc': 3.2.0 - zod: 4.6.5 - - '@ai-sdk/mcp@2.0.73(zod@4.6.5)': - dependencies: - '@ai-sdk/provider': 4.0.26 - '@ai-sdk/provider-utils': 5.0.58(zod@4.6.5) - cross-spawn: 7.0.6 - pkce-challenge: 5.0.1 - zod: 4.6.5 - - '@ai-sdk/provider-utils@5.0.58(zod@4.6.5)': - dependencies: - '@ai-sdk/provider': 4.0.26 - '@standard-schema/spec': 1.1.0 - '@workflow/serde': 4.1.0 - eventsource-parser: 3.1.1 - undici: 7.30.0 - zod: 4.6.5 - - '@ai-sdk/provider@4.0.26': - dependencies: - json-schema: 0.4.0 - - '@ai-sdk/react@4.0.139(react@19.3.0)(zod@4.6.5)': - dependencies: - '@ai-sdk/mcp': 2.0.73(zod@4.6.5) - '@ai-sdk/provider': 4.0.26 - '@ai-sdk/provider-utils': 5.0.58(zod@4.6.5) - ai: 7.0.136(zod@4.6.5) - react: 19.3.0 - swr: 2.5.1(react@19.3.0) - throttleit: 2.1.0 - transitivePeerDependencies: - - zod - '@astrojs/astro2tsx@0.1.2(@emnapi/runtime@1.11.3)': dependencies: '@emnapi/core': 1.11.3 @@ -7161,23 +6655,8 @@ snapshots: dependencies: '@data-slot/core': 1.0.2 - '@date-fns/tz@1.5.0': {} - - '@daypicker/persian@10.0.2(@types/react@19.3.0)(react@19.3.0)': - dependencies: - '@date-fns/tz': 1.5.0 - '@daypicker/react': 10.0.2(@types/react@19.3.0)(react@19.3.0) - date-fns-jalali: 4.1.0-0 - react: 19.3.0 - optionalDependencies: - '@types/react': 19.3.0 - - '@daypicker/react@10.0.2(@types/react@19.3.0)(react@19.3.0)': - dependencies: - react: 19.3.0 - react-day-picker: 10.0.2(@types/react@19.3.0)(react@19.3.0) - optionalDependencies: - '@types/react': 19.3.0 + '@date-fns/tz@1.5.0': + optional: true '@dotenvx/dotenvx@1.75.1': dependencies: @@ -7392,8 +6871,6 @@ snapshots: '@floating-ui/utils@0.2.12': {} - '@fontsource-variable/vazirmatn@5.3.0': {} - '@hono/node-server@2.1.3(hono@4.13.12)': dependencies: hono: 4.13.12 @@ -7952,18 +7429,6 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - '@reduxjs/toolkit@2.13.0(react-redux@9.3.0(@types/react@19.3.0)(react@19.3.0)(redux@5.0.1))(react@19.3.0)': - dependencies: - '@standard-schema/spec': 1.1.0 - '@standard-schema/utils': 0.3.0 - immer: 11.1.21 - redux: 5.0.1 - redux-thunk: 3.1.0(redux@5.0.1) - reselect: 5.1.1 - optionalDependencies: - react: 19.3.0 - react-redux: 9.3.0(@types/react@19.3.0)(react@19.3.0)(redux@5.0.1) - '@rolldown/binding-android-arm-eabi@1.2.12': optional: true @@ -8013,15 +7478,6 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} - '@shadcn/helpers@0.2.0(ai@7.0.136(zod@4.6.5))': - optionalDependencies: - ai: 7.0.136(zod@4.6.5) - - '@shadcn/react@0.3.1(@types/react@19.3.0)(react@19.3.0)': - optionalDependencies: - '@types/react': 19.3.0 - react: 19.3.0 - '@shadcn/registry@0.1.0(typescript@6.0.3)': dependencies: '@babel/core': 7.29.7 @@ -8098,22 +7554,6 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@standard-schema/spec@1.1.0': {} - - '@standard-schema/utils@0.3.0': {} - - '@streamdown/code@2.0.0(react@19.3.0)': - dependencies: - react: 19.3.0 - shiki: 4.5.0 - - '@tabler/icons-react@3.49.0(react@19.3.0)': - dependencies: - '@tabler/icons': 3.49.0 - react: 19.3.0 - - '@tabler/icons@3.49.0': {} - '@tailwindcss/node@4.3.3': dependencies: '@jridgewell/remapping': 2.3.5 @@ -8182,27 +7622,6 @@ snapshots: tailwindcss: 4.3.3 vite: 8.3.2(@types/node@24.19.0)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.1) - '@tanstack/react-store@0.11.2(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': - dependencies: - '@tanstack/store': 0.11.2 - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) - use-sync-external-store: 1.7.0(react@19.3.0) - - '@tanstack/react-table@9.2.8(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': - dependencies: - '@tanstack/react-store': 0.11.2(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/table-core': 9.2.8 - react: 19.3.0 - transitivePeerDependencies: - - react-dom - - '@tanstack/store@0.11.2': {} - - '@tanstack/table-core@9.2.8': - dependencies: - '@tanstack/store': 0.11.2 - '@ts-morph/common@0.27.0': dependencies: fast-glob: 3.3.3 @@ -8213,30 +7632,6 @@ snapshots: dependencies: tslib: 2.8.1 - '@types/d3-array@3.2.2': {} - - '@types/d3-color@3.1.3': {} - - '@types/d3-ease@3.0.2': {} - - '@types/d3-interpolate@3.0.4': - dependencies: - '@types/d3-color': 3.1.3 - - '@types/d3-path@3.1.1': {} - - '@types/d3-scale@4.0.9': - dependencies: - '@types/d3-time': 3.0.4 - - '@types/d3-shape@3.2.0': - dependencies: - '@types/d3-path': 3.1.1 - - '@types/d3-time@3.0.4': {} - - '@types/d3-timer@3.0.2': {} - '@types/debug@4.1.13': dependencies: '@types/ms': 2.1.0 @@ -8292,8 +7687,6 @@ snapshots: '@types/unist@3.0.3': {} - '@types/use-sync-external-store@0.0.6': {} - '@types/validate-npm-package-name@4.0.2': {} '@typescript-eslint/eslint-plugin@8.71.0(@typescript-eslint/parser@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': @@ -8389,8 +7782,6 @@ snapshots: '@ungap/structured-clone@1.4.0': {} - '@vercel/oidc@3.2.0': {} - '@vitejs/plugin-react@6.1.2(vite@8.3.2(@types/node@24.19.0)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.1))': dependencies: '@rolldown/pluginutils': 1.0.1 @@ -8452,8 +7843,6 @@ snapshots: '@vscode/l10n@0.0.18': {} - '@workflow/serde@4.1.0': {} - accepts@2.0.0: dependencies: mime-types: 3.0.2 @@ -8465,13 +7854,6 @@ snapshots: acorn@8.18.0: {} - ai@7.0.136(zod@4.6.5): - dependencies: - '@ai-sdk/gateway': 4.0.110(zod@4.6.5) - '@ai-sdk/provider': 4.0.26 - '@ai-sdk/provider-utils': 5.0.58(zod@4.6.5) - zod: 4.6.5 - ajv-draft-04@1.0.0(ajv@8.20.0): optionalDependencies: ajv: 8.20.0 @@ -8828,8 +8210,6 @@ snapshots: dependencies: readdirp: 5.1.1 - chrono-node@2.10.2: {} - ci-info@4.4.0: {} class-variance-authority@0.7.1: @@ -8963,44 +8343,6 @@ snapshots: csstype@3.2.3: {} - d3-array@3.2.4: - dependencies: - internmap: 2.0.3 - - d3-color@3.1.0: {} - - d3-ease@3.0.1: {} - - d3-format@3.1.2: {} - - d3-interpolate@3.0.1: - dependencies: - d3-color: 3.1.0 - - d3-path@3.1.0: {} - - d3-scale@4.0.2: - dependencies: - d3-array: 3.2.4 - d3-format: 3.1.2 - d3-interpolate: 3.0.1 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - - d3-shape@3.2.0: - dependencies: - d3-path: 3.1.0 - - d3-time-format@4.1.0: - dependencies: - d3-time: 3.1.0 - - d3-time@3.1.0: - dependencies: - d3-array: 3.2.4 - - d3-timer@3.0.1: {} - damerau-levenshtein@1.0.8: {} data-view-buffer@1.0.2: @@ -9023,9 +8365,8 @@ snapshots: dataloader@1.4.0: {} - date-fns-jalali@4.1.0-0: {} - - date-fns@4.4.0: {} + date-fns@4.4.0: + optional: true debounce-fn@4.0.0: dependencies: @@ -9035,8 +8376,6 @@ snapshots: dependencies: ms: 2.1.3 - decimal.js-light@2.5.1: {} - decode-named-character-reference@1.3.0: dependencies: character-entities: 2.0.2 @@ -9162,10 +8501,6 @@ snapshots: dependencies: embla-carousel: 8.6.0 - embla-carousel-autoplay@8.6.0(embla-carousel@8.6.0): - dependencies: - embla-carousel: 8.6.0 - embla-carousel-react@8.6.0(react@19.3.0): dependencies: embla-carousel: 8.6.0 @@ -9305,8 +8640,6 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 - es-toolkit@1.52.0: {} - esast-util-from-estree@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 @@ -9708,15 +9041,6 @@ snapshots: forwarded@0.2.0: {} - framer-motion@14.0.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0): - dependencies: - motion-dom: 14.0.0 - motion-utils: 14.0.0 - tslib: 2.8.1 - optionalDependencies: - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) - fresh@2.0.0: {} fs-extra@11.4.1: @@ -9925,12 +9249,6 @@ snapshots: web-namespaces: 2.0.1 zwitch: 2.0.4 - hast-util-sanitize@5.0.2: - dependencies: - '@types/hast': 3.0.5 - '@ungap/structured-clone': 1.4.0 - unist-util-position: 5.0.0 - hast-util-to-estree@3.1.3: dependencies: '@types/estree': 1.0.9 @@ -10029,8 +9347,6 @@ snapshots: html-escaper@3.0.3: {} - html-url-attributes@3.0.1: {} - html-validate@11.16.1: dependencies: '@html-validate/stylish': 6.0.0 @@ -10073,10 +9389,6 @@ snapshots: ignore@7.0.11: {} - immer@10.2.0: {} - - immer@11.1.21: {} - import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -10088,19 +9400,12 @@ snapshots: inline-style-parser@0.2.7: {} - input-otp@1.5.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0): - dependencies: - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) - internal-slot@1.1.0: dependencies: es-errors: 1.3.0 hasown: 2.0.4 side-channel: 1.1.1 - internmap@2.0.3: {} - ip-address@10.7.2: {} ipaddr.js@1.9.1: {} @@ -10307,8 +9612,6 @@ snapshots: json-schema-typed@8.0.2: {} - json-schema@0.4.0: {} - json-stable-stringify-without-jsonify@1.0.1: {} json5@2.2.3: {} @@ -11032,20 +10335,6 @@ snapshots: minipass@7.1.3: {} - motion-dom@14.0.0: - dependencies: - motion-utils: 14.0.0 - - motion-utils@14.0.0: {} - - motion@14.0.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0): - dependencies: - framer-motion: 14.0.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - tslib: 2.8.1 - optionalDependencies: - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) - mri@1.2.0: {} mrmime@2.0.1: {} @@ -11064,8 +10353,9 @@ snapshots: neotraverse@1.0.1: {} - next-themes@0.4.6(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + next-themes@0.4.6(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0): dependencies: + '@types/react': 19.3.0 react: 19.3.0 react-dom: 19.3.0(react@19.3.0) @@ -11484,30 +10774,11 @@ snapshots: iconv-lite: 0.7.3 unpipe: 1.0.0 - react-day-picker@10.0.2(@types/react@19.3.0)(react@19.3.0): - dependencies: - '@date-fns/tz': 1.5.0 - date-fns: 4.4.0 - react: 19.3.0 - optionalDependencies: - '@types/react': 19.3.0 - react-dom@19.3.0(react@19.3.0): dependencies: react: 19.3.0 scheduler: 0.28.0 - react-is@19.3.0: {} - - react-redux@9.3.0(@types/react@19.3.0)(react@19.3.0)(redux@5.0.1): - dependencies: - '@types/use-sync-external-store': 0.0.6 - react: 19.3.0 - use-sync-external-store: 1.7.0(react@19.3.0) - optionalDependencies: - '@types/react': 19.3.0 - redux: 5.0.1 - react-remove-scroll-bar@2.3.8(@types/react@19.3.0)(react@19.3.0): dependencies: react: 19.3.0 @@ -11527,11 +10798,6 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - react-resizable-panels@4.14.3(react-dom@19.3.0(react@19.3.0))(react@19.3.0): - dependencies: - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) - react-style-singleton@2.2.3(@types/react@19.3.0)(react@19.3.0): dependencies: get-nonce: 1.0.1 @@ -11540,15 +10806,6 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - react-textarea-autosize@8.5.9(@types/react@19.3.0)(react@19.3.0): - dependencies: - '@babel/runtime': 7.29.7 - react: 19.3.0 - use-composed-ref: 1.4.0(@types/react@19.3.0)(react@19.3.0) - use-latest: 1.3.0(@types/react@19.3.0)(react@19.3.0) - transitivePeerDependencies: - - '@types/react' - react@19.3.0: {} read-yaml-file@1.1.0: @@ -11570,26 +10827,6 @@ snapshots: tiny-invariant: 1.3.3 tslib: 2.8.1 - recharts@3.8.0(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react-is@19.3.0)(react@19.3.0)(redux@5.0.1): - dependencies: - '@reduxjs/toolkit': 2.13.0(react-redux@9.3.0(@types/react@19.3.0)(react@19.3.0)(redux@5.0.1))(react@19.3.0) - clsx: 2.1.1 - decimal.js-light: 2.5.1 - es-toolkit: 1.52.0 - eventemitter3: 5.0.4 - immer: 10.2.0 - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) - react-is: 19.3.0 - react-redux: 9.3.0(@types/react@19.3.0)(react@19.3.0)(redux@5.0.1) - reselect: 5.1.1 - tiny-invariant: 1.3.3 - use-sync-external-store: 1.7.0(react@19.3.0) - victory-vendor: 37.3.6 - transitivePeerDependencies: - - '@types/react' - - redux - recma-build-jsx@1.0.0: dependencies: '@types/estree': 1.0.9 @@ -11619,12 +10856,6 @@ snapshots: unified: 11.0.5 vfile: 6.0.3 - redux-thunk@3.1.0(redux@5.0.1): - dependencies: - redux: 5.0.1 - - redux@5.0.1: {} - reflect.getprototypeof@1.0.10: dependencies: call-bind: 1.0.9 @@ -11655,10 +10886,6 @@ snapshots: gopd: 1.2.0 set-function-name: 2.0.2 - rehype-harden@1.1.8: - dependencies: - unist-util-visit: 5.1.0 - rehype-raw@7.0.0: dependencies: '@types/hast': 3.0.5 @@ -11673,11 +10900,6 @@ snapshots: transitivePeerDependencies: - supports-color - rehype-sanitize@6.0.0: - dependencies: - '@types/hast': 3.0.5 - hast-util-sanitize: 5.0.2 - rehype-stringify@10.0.1: dependencies: '@types/hast': 3.0.5 @@ -11732,16 +10954,12 @@ snapshots: mdast-util-to-markdown: 2.1.3 unified: 11.0.5 - remend@1.4.0: {} - request-light@0.5.8: {} request-light@0.7.0: {} require-from-string@2.0.2: {} - reselect@5.1.1: {} - reselect@5.3.0: {} resolve-from@4.0.0: {} @@ -12070,13 +11288,6 @@ snapshots: ip-address: 10.7.2 smart-buffer: 4.2.0 - sonner@2.0.8(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0): - dependencies: - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) - optionalDependencies: - '@types/react': 19.3.0 - source-map-js@1.2.2: {} source-map@0.6.1: {} @@ -12103,28 +11314,6 @@ snapshots: es-errors: 1.3.0 internal-slot: 1.1.0 - streamdown@2.7.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0): - dependencies: - clsx: 2.1.1 - hast-util-to-jsx-runtime: 2.3.6 - html-url-attributes: 3.0.1 - marked: 18.1.0 - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) - rehype-harden: 1.1.8 - rehype-raw: 7.0.0 - rehype-sanitize: 6.0.0 - remark-gfm: 4.0.1 - remark-parse: 11.0.0 - remark-rehype: 11.1.2 - remend: 1.4.0 - tailwind-merge: 3.7.0 - unified: 11.0.5 - unist-util-visit: 5.1.0 - unist-util-visit-parents: 6.0.2 - transitivePeerDependencies: - - supports-color - string-width@7.2.0: dependencies: emoji-regex: 10.6.0 @@ -12215,28 +11404,18 @@ snapshots: picocolors: 1.1.1 sax: 1.6.1 - swr@2.5.1(react@19.3.0): - dependencies: - dequal: 2.0.3 - react: 19.3.0 - use-sync-external-store: 1.7.0(react@19.3.0) - synckit@0.11.13: dependencies: '@pkgr/core': 0.3.6 systeminformation@5.33.15: {} - tailwind-merge@3.7.0: {} - tailwindcss@4.3.3: {} tapable@2.3.3: {} term-size@2.2.1: {} - throttleit@2.1.0: {} - tiny-inflate@1.0.3: {} tiny-invariant@1.3.3: {} @@ -12463,25 +11642,6 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - use-composed-ref@1.4.0(@types/react@19.3.0)(react@19.3.0): - dependencies: - react: 19.3.0 - optionalDependencies: - '@types/react': 19.3.0 - - use-isomorphic-layout-effect@1.2.1(@types/react@19.3.0)(react@19.3.0): - dependencies: - react: 19.3.0 - optionalDependencies: - '@types/react': 19.3.0 - - use-latest@1.3.0(@types/react@19.3.0)(react@19.3.0): - dependencies: - react: 19.3.0 - use-isomorphic-layout-effect: 1.2.1(@types/react@19.3.0)(react@19.3.0) - optionalDependencies: - '@types/react': 19.3.0 - use-sidecar@1.1.3(@types/react@19.3.0)(react@19.3.0): dependencies: detect-node-es: 1.1.0 @@ -12521,23 +11681,6 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - victory-vendor@37.3.6: - dependencies: - '@types/d3-array': 3.2.2 - '@types/d3-ease': 3.0.2 - '@types/d3-interpolate': 3.0.4 - '@types/d3-scale': 4.0.9 - '@types/d3-shape': 3.2.0 - '@types/d3-time': 3.0.4 - '@types/d3-timer': 3.0.2 - d3-array: 3.2.4 - d3-ease: 3.0.1 - d3-interpolate: 3.0.1 - d3-scale: 4.0.2 - d3-shape: 3.2.0 - d3-time: 3.1.0 - d3-timer: 3.0.1 - vite@8.3.2(@types/node@24.19.0)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.1): dependencies: lightningcss: 1.33.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index ad26fceb9..f5d833eb0 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -11,6 +11,13 @@ allowBuilds: esbuild: false sharp: false +# next-themes' declarations import react but do not declare @types/react as a +# peer, so in the global virtual store they resolve to untyped React. +packageExtensions: + next-themes: + peerDependencies: + "@types/react": "*" + overrides: # favilib 1.0.5 (via astro-favicons, docs site only) pins sharp ^0.33.5, # which is vulnerable below 0.35.4. It only uses resize and metadata, which diff --git a/public/_redirects b/public/_redirects new file mode 100644 index 000000000..6e7fe9b32 --- /dev/null +++ b/public/_redirects @@ -0,0 +1,137 @@ +# The docs were briefly served under /astro/ (0.21); send those links back to +# the original pages. +/astro/* /:splat 301! + +# 0.21 documented the standard shadcn/ui components under /react/components/. +# The React extension leaves them to shadcn/ui, so send those links to the +# official docs. Form is legacy upstream; forms use Field. +/react/components/accordion/ https://ui.shadcn.com/docs/components/base/accordion 301! +/react/components/accordion.md https://ui.shadcn.com/docs/components/base/accordion 301! +/react/components/alert-dialog/ https://ui.shadcn.com/docs/components/base/alert-dialog 301! +/react/components/alert-dialog.md https://ui.shadcn.com/docs/components/base/alert-dialog 301! +/react/components/alert/ https://ui.shadcn.com/docs/components/base/alert 301! +/react/components/alert.md https://ui.shadcn.com/docs/components/base/alert 301! +/react/components/aspect-ratio/ https://ui.shadcn.com/docs/components/base/aspect-ratio 301! +/react/components/aspect-ratio.md https://ui.shadcn.com/docs/components/base/aspect-ratio 301! +/react/components/attachment/ https://ui.shadcn.com/docs/components/base/attachment 301! +/react/components/attachment.md https://ui.shadcn.com/docs/components/base/attachment 301! +/react/components/avatar/ https://ui.shadcn.com/docs/components/base/avatar 301! +/react/components/avatar.md https://ui.shadcn.com/docs/components/base/avatar 301! +/react/components/badge/ https://ui.shadcn.com/docs/components/base/badge 301! +/react/components/badge.md https://ui.shadcn.com/docs/components/base/badge 301! +/react/components/breadcrumb/ https://ui.shadcn.com/docs/components/base/breadcrumb 301! +/react/components/breadcrumb.md https://ui.shadcn.com/docs/components/base/breadcrumb 301! +/react/components/bubble/ https://ui.shadcn.com/docs/components/base/bubble 301! +/react/components/bubble.md https://ui.shadcn.com/docs/components/base/bubble 301! +/react/components/button-group/ https://ui.shadcn.com/docs/components/base/button-group 301! +/react/components/button-group.md https://ui.shadcn.com/docs/components/base/button-group 301! +/react/components/button/ https://ui.shadcn.com/docs/components/base/button 301! +/react/components/button.md https://ui.shadcn.com/docs/components/base/button 301! +/react/components/calendar/ https://ui.shadcn.com/docs/components/base/calendar 301! +/react/components/calendar.md https://ui.shadcn.com/docs/components/base/calendar 301! +/react/components/card/ https://ui.shadcn.com/docs/components/base/card 301! +/react/components/card.md https://ui.shadcn.com/docs/components/base/card 301! +/react/components/carousel/ https://ui.shadcn.com/docs/components/base/carousel 301! +/react/components/carousel.md https://ui.shadcn.com/docs/components/base/carousel 301! +/react/components/chart/ https://ui.shadcn.com/docs/components/base/chart 301! +/react/components/chart.md https://ui.shadcn.com/docs/components/base/chart 301! +/react/components/checkbox/ https://ui.shadcn.com/docs/components/base/checkbox 301! +/react/components/checkbox.md https://ui.shadcn.com/docs/components/base/checkbox 301! +/react/components/collapsible/ https://ui.shadcn.com/docs/components/base/collapsible 301! +/react/components/collapsible.md https://ui.shadcn.com/docs/components/base/collapsible 301! +/react/components/combobox/ https://ui.shadcn.com/docs/components/base/combobox 301! +/react/components/combobox.md https://ui.shadcn.com/docs/components/base/combobox 301! +/react/components/command/ https://ui.shadcn.com/docs/components/base/command 301! +/react/components/command.md https://ui.shadcn.com/docs/components/base/command 301! +/react/components/context-menu/ https://ui.shadcn.com/docs/components/base/context-menu 301! +/react/components/context-menu.md https://ui.shadcn.com/docs/components/base/context-menu 301! +/react/components/data-table/ https://ui.shadcn.com/docs/components/base/data-table 301! +/react/components/data-table.md https://ui.shadcn.com/docs/components/base/data-table 301! +/react/components/date-picker/ https://ui.shadcn.com/docs/components/base/date-picker 301! +/react/components/date-picker.md https://ui.shadcn.com/docs/components/base/date-picker 301! +/react/components/dialog/ https://ui.shadcn.com/docs/components/base/dialog 301! +/react/components/dialog.md https://ui.shadcn.com/docs/components/base/dialog 301! +/react/components/direction/ https://ui.shadcn.com/docs/components/base/direction 301! +/react/components/direction.md https://ui.shadcn.com/docs/components/base/direction 301! +/react/components/drawer/ https://ui.shadcn.com/docs/components/base/drawer 301! +/react/components/drawer.md https://ui.shadcn.com/docs/components/base/drawer 301! +/react/components/dropdown-menu/ https://ui.shadcn.com/docs/components/base/dropdown-menu 301! +/react/components/dropdown-menu.md https://ui.shadcn.com/docs/components/base/dropdown-menu 301! +/react/components/empty/ https://ui.shadcn.com/docs/components/base/empty 301! +/react/components/empty.md https://ui.shadcn.com/docs/components/base/empty 301! +/react/components/field/ https://ui.shadcn.com/docs/components/base/field 301! +/react/components/field.md https://ui.shadcn.com/docs/components/base/field 301! +/react/components/form/ https://ui.shadcn.com/docs/components/base/field 301! +/react/components/form.md https://ui.shadcn.com/docs/components/base/field 301! +/react/components/hover-card/ https://ui.shadcn.com/docs/components/base/hover-card 301! +/react/components/hover-card.md https://ui.shadcn.com/docs/components/base/hover-card 301! +/react/components/input-group/ https://ui.shadcn.com/docs/components/base/input-group 301! +/react/components/input-group.md https://ui.shadcn.com/docs/components/base/input-group 301! +/react/components/input-otp/ https://ui.shadcn.com/docs/components/base/input-otp 301! +/react/components/input-otp.md https://ui.shadcn.com/docs/components/base/input-otp 301! +/react/components/input/ https://ui.shadcn.com/docs/components/base/input 301! +/react/components/input.md https://ui.shadcn.com/docs/components/base/input 301! +/react/components/item/ https://ui.shadcn.com/docs/components/base/item 301! +/react/components/item.md https://ui.shadcn.com/docs/components/base/item 301! +/react/components/kbd/ https://ui.shadcn.com/docs/components/base/kbd 301! +/react/components/kbd.md https://ui.shadcn.com/docs/components/base/kbd 301! +/react/components/label/ https://ui.shadcn.com/docs/components/base/label 301! +/react/components/label.md https://ui.shadcn.com/docs/components/base/label 301! +/react/components/marker/ https://ui.shadcn.com/docs/components/base/marker 301! +/react/components/marker.md https://ui.shadcn.com/docs/components/base/marker 301! +/react/components/menubar/ https://ui.shadcn.com/docs/components/base/menubar 301! +/react/components/menubar.md https://ui.shadcn.com/docs/components/base/menubar 301! +/react/components/message-scroller/ https://ui.shadcn.com/docs/components/base/message-scroller 301! +/react/components/message-scroller.md https://ui.shadcn.com/docs/components/base/message-scroller 301! +/react/components/message/ https://ui.shadcn.com/docs/components/base/message 301! +/react/components/message.md https://ui.shadcn.com/docs/components/base/message 301! +/react/components/native-select/ https://ui.shadcn.com/docs/components/base/native-select 301! +/react/components/native-select.md https://ui.shadcn.com/docs/components/base/native-select 301! +/react/components/navigation-menu/ https://ui.shadcn.com/docs/components/base/navigation-menu 301! +/react/components/navigation-menu.md https://ui.shadcn.com/docs/components/base/navigation-menu 301! +/react/components/pagination/ https://ui.shadcn.com/docs/components/base/pagination 301! +/react/components/pagination.md https://ui.shadcn.com/docs/components/base/pagination 301! +/react/components/popover/ https://ui.shadcn.com/docs/components/base/popover 301! +/react/components/popover.md https://ui.shadcn.com/docs/components/base/popover 301! +/react/components/progress/ https://ui.shadcn.com/docs/components/base/progress 301! +/react/components/progress.md https://ui.shadcn.com/docs/components/base/progress 301! +/react/components/questionnaire/ https://ui.shadcn.com/docs/components/base/questionnaire 301! +/react/components/questionnaire.md https://ui.shadcn.com/docs/components/base/questionnaire 301! +/react/components/radio-group/ https://ui.shadcn.com/docs/components/base/radio-group 301! +/react/components/radio-group.md https://ui.shadcn.com/docs/components/base/radio-group 301! +/react/components/resizable/ https://ui.shadcn.com/docs/components/base/resizable 301! +/react/components/resizable.md https://ui.shadcn.com/docs/components/base/resizable 301! +/react/components/scroll-area/ https://ui.shadcn.com/docs/components/base/scroll-area 301! +/react/components/scroll-area.md https://ui.shadcn.com/docs/components/base/scroll-area 301! +/react/components/select/ https://ui.shadcn.com/docs/components/base/select 301! +/react/components/select.md https://ui.shadcn.com/docs/components/base/select 301! +/react/components/separator/ https://ui.shadcn.com/docs/components/base/separator 301! +/react/components/separator.md https://ui.shadcn.com/docs/components/base/separator 301! +/react/components/sheet/ https://ui.shadcn.com/docs/components/base/sheet 301! +/react/components/sheet.md https://ui.shadcn.com/docs/components/base/sheet 301! +/react/components/sidebar/ https://ui.shadcn.com/docs/components/base/sidebar 301! +/react/components/sidebar.md https://ui.shadcn.com/docs/components/base/sidebar 301! +/react/components/skeleton/ https://ui.shadcn.com/docs/components/base/skeleton 301! +/react/components/skeleton.md https://ui.shadcn.com/docs/components/base/skeleton 301! +/react/components/slider/ https://ui.shadcn.com/docs/components/base/slider 301! +/react/components/slider.md https://ui.shadcn.com/docs/components/base/slider 301! +/react/components/sonner/ https://ui.shadcn.com/docs/components/base/sonner 301! +/react/components/sonner.md https://ui.shadcn.com/docs/components/base/sonner 301! +/react/components/spinner/ https://ui.shadcn.com/docs/components/base/spinner 301! +/react/components/spinner.md https://ui.shadcn.com/docs/components/base/spinner 301! +/react/components/switch/ https://ui.shadcn.com/docs/components/base/switch 301! +/react/components/switch.md https://ui.shadcn.com/docs/components/base/switch 301! +/react/components/table/ https://ui.shadcn.com/docs/components/base/table 301! +/react/components/table.md https://ui.shadcn.com/docs/components/base/table 301! +/react/components/tabs/ https://ui.shadcn.com/docs/components/base/tabs 301! +/react/components/tabs.md https://ui.shadcn.com/docs/components/base/tabs 301! +/react/components/textarea/ https://ui.shadcn.com/docs/components/base/textarea 301! +/react/components/textarea.md https://ui.shadcn.com/docs/components/base/textarea 301! +/react/components/toast/ https://ui.shadcn.com/docs/components/base/toast 301! +/react/components/toast.md https://ui.shadcn.com/docs/components/base/toast 301! +/react/components/toggle-group/ https://ui.shadcn.com/docs/components/base/toggle-group 301! +/react/components/toggle-group.md https://ui.shadcn.com/docs/components/base/toggle-group 301! +/react/components/toggle/ https://ui.shadcn.com/docs/components/base/toggle 301! +/react/components/toggle.md https://ui.shadcn.com/docs/components/base/toggle 301! +/react/components/tooltip/ https://ui.shadcn.com/docs/components/base/tooltip 301! +/react/components/tooltip.md https://ui.shadcn.com/docs/components/base/tooltip 301! diff --git a/public/r/accordion-examples.json b/public/r/accordion-examples.json index 030914be4..2525d3f33 100644 --- a/public/r/accordion-examples.json +++ b/public/r/accordion-examples.json @@ -44,6 +44,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/accordion/", + "docs": "https://ui.full.dev/components/accordion/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/accordion.json b/public/r/accordion.json index 2f08cd482..c8c8db7cc 100644 --- a/public/r/accordion.json +++ b/public/r/accordion.json @@ -34,7 +34,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/accordion/", + "docs": "https://ui.full.dev/components/accordion/", "categories": [ "ui" ], diff --git a/public/r/alert-dialog-examples.json b/public/r/alert-dialog-examples.json index 4d049371d..dc1f6d623 100644 --- a/public/r/alert-dialog-examples.json +++ b/public/r/alert-dialog-examples.json @@ -46,6 +46,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/alert-dialog/", + "docs": "https://ui.full.dev/components/alert-dialog/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/alert-dialog.json b/public/r/alert-dialog.json index a61f7b1b6..c8afa0064 100644 --- a/public/r/alert-dialog.json +++ b/public/r/alert-dialog.json @@ -76,7 +76,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/alert-dialog/", + "docs": "https://ui.full.dev/components/alert-dialog/", "categories": [ "ui" ], diff --git a/public/r/alert-examples.json b/public/r/alert-examples.json index 4fd831c0a..e64d8fafc 100644 --- a/public/r/alert-examples.json +++ b/public/r/alert-examples.json @@ -42,6 +42,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/alert/", + "docs": "https://ui.full.dev/components/alert/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/alert.json b/public/r/alert.json index c15f2c60a..b2dfb3ac1 100644 --- a/public/r/alert.json +++ b/public/r/alert.json @@ -30,7 +30,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/alert/", + "docs": "https://ui.full.dev/components/alert/", "categories": [ "ui" ], diff --git a/public/r/article-1.json b/public/r/article-1.json index 472be6dd3..a864d2860 100644 --- a/public/r/article-1.json +++ b/public/r/article-1.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/article/", + "docs": "https://ui.full.dev/blocks/article/", "categories": [ "article" ], diff --git a/public/r/article-2.json b/public/r/article-2.json index 9908bc9d9..c0a3f5f9a 100644 --- a/public/r/article-2.json +++ b/public/r/article-2.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/article/", + "docs": "https://ui.full.dev/blocks/article/", "categories": [ "article" ], diff --git a/public/r/articles-1.json b/public/r/articles-1.json index 3b90cbe1b..2c9f3ed3b 100644 --- a/public/r/articles-1.json +++ b/public/r/articles-1.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/articles/", + "docs": "https://ui.full.dev/blocks/articles/", "categories": [ "articles" ], diff --git a/public/r/articles-2.json b/public/r/articles-2.json index f844448a6..6e60d3f18 100644 --- a/public/r/articles-2.json +++ b/public/r/articles-2.json @@ -15,7 +15,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/articles/", + "docs": "https://ui.full.dev/blocks/articles/", "categories": [ "articles" ], diff --git a/public/r/articles-3.json b/public/r/articles-3.json index ebea57db9..bd0837d65 100644 --- a/public/r/articles-3.json +++ b/public/r/articles-3.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/articles/", + "docs": "https://ui.full.dev/blocks/articles/", "categories": [ "articles" ], diff --git a/public/r/articles-4.json b/public/r/articles-4.json index c425ac581..ddff63354 100644 --- a/public/r/articles-4.json +++ b/public/r/articles-4.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/articles/", + "docs": "https://ui.full.dev/blocks/articles/", "categories": [ "articles" ], diff --git a/public/r/aspect-ratio-examples.json b/public/r/aspect-ratio-examples.json index 87eeacb8b..25699d8ef 100644 --- a/public/r/aspect-ratio-examples.json +++ b/public/r/aspect-ratio-examples.json @@ -28,6 +28,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/aspect-ratio/", + "docs": "https://ui.full.dev/components/aspect-ratio/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/aspect-ratio.json b/public/r/aspect-ratio.json index 3c69b4a74..bfdeee85b 100644 --- a/public/r/aspect-ratio.json +++ b/public/r/aspect-ratio.json @@ -15,7 +15,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/aspect-ratio/", + "docs": "https://ui.full.dev/components/aspect-ratio/", "categories": [ "ui" ], diff --git a/public/r/attachment-examples.json b/public/r/attachment-examples.json index 764fbc3b4..a85dc14cd 100644 --- a/public/r/attachment-examples.json +++ b/public/r/attachment-examples.json @@ -43,6 +43,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/attachment/", + "docs": "https://ui.full.dev/components/attachment/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/attachment.json b/public/r/attachment.json index c5fd585bd..77e20ccf4 100644 --- a/public/r/attachment.json +++ b/public/r/attachment.json @@ -58,7 +58,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/attachment/", + "docs": "https://ui.full.dev/components/attachment/", "categories": [ "ui" ], diff --git a/public/r/avatar-examples.json b/public/r/avatar-examples.json index d27fb2285..c2c1c5cc3 100644 --- a/public/r/avatar-examples.json +++ b/public/r/avatar-examples.json @@ -63,6 +63,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/avatar/", + "docs": "https://ui.full.dev/components/avatar/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/avatar.json b/public/r/avatar.json index 39d4d637e..7a2c68f25 100644 --- a/public/r/avatar.json +++ b/public/r/avatar.json @@ -40,7 +40,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/avatar/", + "docs": "https://ui.full.dev/components/avatar/", "categories": [ "ui" ], diff --git a/public/r/badge-examples.json b/public/r/badge-examples.json index 59911406b..db253f79d 100644 --- a/public/r/badge-examples.json +++ b/public/r/badge-examples.json @@ -47,6 +47,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/badge/", + "docs": "https://ui.full.dev/components/badge/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/badge.json b/public/r/badge.json index 1a0ee9d59..0bb942c46 100644 --- a/public/r/badge.json +++ b/public/r/badge.json @@ -20,7 +20,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/badge/", + "docs": "https://ui.full.dev/components/badge/", "categories": [ "ui" ], diff --git a/public/r/banner-1.json b/public/r/banner-1.json index 219285f8a..3d0e3d2b1 100644 --- a/public/r/banner-1.json +++ b/public/r/banner-1.json @@ -16,7 +16,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/banner/", + "docs": "https://ui.full.dev/blocks/banner/", "categories": [ "banner" ], diff --git a/public/r/banner-2.json b/public/r/banner-2.json index 22e7df821..eb1d06077 100644 --- a/public/r/banner-2.json +++ b/public/r/banner-2.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/banner/", + "docs": "https://ui.full.dev/blocks/banner/", "categories": [ "banner" ], diff --git a/public/r/banner.json b/public/r/banner.json index 637a103f0..d3a8e8580 100644 --- a/public/r/banner.json +++ b/public/r/banner.json @@ -23,7 +23,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/banner/", + "docs": "https://ui.full.dev/components/banner/", "categories": [ "ui" ], diff --git a/public/r/base.json b/public/r/base.json index ce17be752..87c8c71ad 100644 --- a/public/r/base.json +++ b/public/r/base.json @@ -128,7 +128,7 @@ } } }, - "docs": "https://ui.full.dev/astro/docs/installation/", + "docs": "https://ui.full.dev/docs/installation/", "type": "registry:base", "config": { "style": "base-vega", diff --git a/public/r/blocks-1.json b/public/r/blocks-1.json index e12d1089b..8719d1a46 100644 --- a/public/r/blocks-1.json +++ b/public/r/blocks-1.json @@ -19,7 +19,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/", + "docs": "https://ui.full.dev/blocks/", "categories": [ "blocks" ], diff --git a/public/r/blocks.json b/public/r/blocks.json index f490639fa..772ba8734 100644 --- a/public/r/blocks.json +++ b/public/r/blocks.json @@ -87,6 +87,6 @@ "@fulldev/services-7", "@fulldev/sidebar-1" ], - "docs": "https://ui.full.dev/astro/blocks/", + "docs": "https://ui.full.dev/blocks/", "type": "registry:item" } \ No newline at end of file diff --git a/public/r/breadcrumb-examples.json b/public/r/breadcrumb-examples.json index da17c1f39..f18633740 100644 --- a/public/r/breadcrumb-examples.json +++ b/public/r/breadcrumb-examples.json @@ -48,6 +48,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/breadcrumb/", + "docs": "https://ui.full.dev/components/breadcrumb/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/breadcrumb.json b/public/r/breadcrumb.json index 3021fa2a4..ada28b337 100644 --- a/public/r/breadcrumb.json +++ b/public/r/breadcrumb.json @@ -48,7 +48,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/breadcrumb/", + "docs": "https://ui.full.dev/components/breadcrumb/", "categories": [ "ui" ], diff --git a/public/r/button-examples.json b/public/r/button-examples.json index caf7f6661..210f941d8 100644 --- a/public/r/button-examples.json +++ b/public/r/button-examples.json @@ -82,6 +82,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/button/", + "docs": "https://ui.full.dev/components/button/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/button-group-examples.json b/public/r/button-group-examples.json index 9fcf9322e..0361756c0 100644 --- a/public/r/button-group-examples.json +++ b/public/r/button-group-examples.json @@ -70,6 +70,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/button-group/", + "docs": "https://ui.full.dev/components/button-group/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/button-group.json b/public/r/button-group.json index d06cdb32c..f89fae3d0 100644 --- a/public/r/button-group.json +++ b/public/r/button-group.json @@ -33,7 +33,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/button-group/", + "docs": "https://ui.full.dev/components/button-group/", "categories": [ "ui" ], diff --git a/public/r/button.json b/public/r/button.json index 707675bca..468fcae7a 100644 --- a/public/r/button.json +++ b/public/r/button.json @@ -20,7 +20,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/button/", + "docs": "https://ui.full.dev/components/button/", "categories": [ "ui" ], diff --git a/public/r/card-examples.json b/public/r/card-examples.json index 0b7ad6a30..57613dcfb 100644 --- a/public/r/card-examples.json +++ b/public/r/card-examples.json @@ -46,6 +46,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/card/", + "docs": "https://ui.full.dev/components/card/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/card.json b/public/r/card.json index b42dd244f..f559b5b66 100644 --- a/public/r/card.json +++ b/public/r/card.json @@ -45,7 +45,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/card/", + "docs": "https://ui.full.dev/components/card/", "categories": [ "ui" ], diff --git a/public/r/carousel-examples.json b/public/r/carousel-examples.json index b6d77dbbf..1bc03796b 100644 --- a/public/r/carousel-examples.json +++ b/public/r/carousel-examples.json @@ -44,6 +44,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/carousel/", + "docs": "https://ui.full.dev/components/carousel/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/carousel.json b/public/r/carousel.json index d0b25f670..5584f6f46 100644 --- a/public/r/carousel.json +++ b/public/r/carousel.json @@ -42,7 +42,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/carousel/", + "docs": "https://ui.full.dev/components/carousel/", "categories": [ "ui" ], diff --git a/public/r/checkbox-examples.json b/public/r/checkbox-examples.json index 4fa39df12..b5a996286 100644 --- a/public/r/checkbox-examples.json +++ b/public/r/checkbox-examples.json @@ -51,6 +51,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/checkbox/", + "docs": "https://ui.full.dev/components/checkbox/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/checkbox.json b/public/r/checkbox.json index 9b3459a8b..9cfb152e4 100644 --- a/public/r/checkbox.json +++ b/public/r/checkbox.json @@ -15,7 +15,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/checkbox/", + "docs": "https://ui.full.dev/components/checkbox/", "categories": [ "ui" ], diff --git a/public/r/collapsible-examples.json b/public/r/collapsible-examples.json index b8e6a8958..56b092a2f 100644 --- a/public/r/collapsible-examples.json +++ b/public/r/collapsible-examples.json @@ -41,6 +41,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/collapsible/", + "docs": "https://ui.full.dev/components/collapsible/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/collapsible.json b/public/r/collapsible.json index 9d1eed79d..51460f6ff 100644 --- a/public/r/collapsible.json +++ b/public/r/collapsible.json @@ -28,7 +28,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/collapsible/", + "docs": "https://ui.full.dev/components/collapsible/", "categories": [ "ui" ], diff --git a/public/r/combobox-examples.json b/public/r/combobox-examples.json index 8a3c3263f..c25deff79 100644 --- a/public/r/combobox-examples.json +++ b/public/r/combobox-examples.json @@ -64,6 +64,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/combobox/", + "docs": "https://ui.full.dev/components/combobox/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/combobox.json b/public/r/combobox.json index 531cc72a5..7ab90739f 100644 --- a/public/r/combobox.json +++ b/public/r/combobox.json @@ -73,7 +73,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/combobox/", + "docs": "https://ui.full.dev/components/combobox/", "categories": [ "ui" ], diff --git a/public/r/command-examples.json b/public/r/command-examples.json index 0e106a12c..706cd46fb 100644 --- a/public/r/command-examples.json +++ b/public/r/command-examples.json @@ -42,6 +42,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/command/", + "docs": "https://ui.full.dev/components/command/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/command.json b/public/r/command.json index 4e5d21ff2..4e92092ea 100644 --- a/public/r/command.json +++ b/public/r/command.json @@ -63,7 +63,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/command/", + "docs": "https://ui.full.dev/components/command/", "categories": [ "ui" ], diff --git a/public/r/components.json b/public/r/components.json index 37332b71e..90872f412 100644 --- a/public/r/components.json +++ b/public/r/components.json @@ -67,6 +67,6 @@ "@fulldev/typography", "@fulldev/video" ], - "docs": "https://ui.full.dev/astro/components/", + "docs": "https://ui.full.dev/components/", "type": "registry:item" } \ No newline at end of file diff --git a/public/r/contact-1.json b/public/r/contact-1.json index bf38d9ab8..cb4345f47 100644 --- a/public/r/contact-1.json +++ b/public/r/contact-1.json @@ -15,7 +15,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/contact/", + "docs": "https://ui.full.dev/blocks/contact/", "categories": [ "contact" ], diff --git a/public/r/contact-2.json b/public/r/contact-2.json index c1a56f9cf..ec5bb574f 100644 --- a/public/r/contact-2.json +++ b/public/r/contact-2.json @@ -15,7 +15,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/contact/", + "docs": "https://ui.full.dev/blocks/contact/", "categories": [ "contact" ], diff --git a/public/r/contact-3.json b/public/r/contact-3.json index ac2581942..b50f57b6e 100644 --- a/public/r/contact-3.json +++ b/public/r/contact-3.json @@ -21,7 +21,7 @@ "target": "src/assets/placeholder.svg" } ], - "docs": "https://ui.full.dev/astro/blocks/contact/", + "docs": "https://ui.full.dev/blocks/contact/", "categories": [ "contact" ], diff --git a/public/r/content-1.json b/public/r/content-1.json index b5e99c60a..45ceca637 100644 --- a/public/r/content-1.json +++ b/public/r/content-1.json @@ -23,7 +23,7 @@ "target": "src/assets/placeholder.svg" } ], - "docs": "https://ui.full.dev/astro/blocks/content/", + "docs": "https://ui.full.dev/blocks/content/", "categories": [ "content" ], diff --git a/public/r/content-2.json b/public/r/content-2.json index c10811408..7675cc352 100644 --- a/public/r/content-2.json +++ b/public/r/content-2.json @@ -23,7 +23,7 @@ "target": "src/assets/placeholder.svg" } ], - "docs": "https://ui.full.dev/astro/blocks/content/", + "docs": "https://ui.full.dev/blocks/content/", "categories": [ "content" ], diff --git a/public/r/content-3.json b/public/r/content-3.json index 62897286e..cf3b62853 100644 --- a/public/r/content-3.json +++ b/public/r/content-3.json @@ -20,7 +20,7 @@ "target": "src/assets/placeholder.svg" } ], - "docs": "https://ui.full.dev/astro/blocks/content/", + "docs": "https://ui.full.dev/blocks/content/", "categories": [ "content" ], diff --git a/public/r/content-4.json b/public/r/content-4.json index 2d778f764..fcce4f136 100644 --- a/public/r/content-4.json +++ b/public/r/content-4.json @@ -23,7 +23,7 @@ "target": "src/assets/placeholder.svg" } ], - "docs": "https://ui.full.dev/astro/blocks/content/", + "docs": "https://ui.full.dev/blocks/content/", "categories": [ "content" ], diff --git a/public/r/cta-1.json b/public/r/cta-1.json index ef1a825fd..10cbc452e 100644 --- a/public/r/cta-1.json +++ b/public/r/cta-1.json @@ -16,7 +16,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/cta/", + "docs": "https://ui.full.dev/blocks/cta/", "categories": [ "cta" ], diff --git a/public/r/cta-2.json b/public/r/cta-2.json index a18343cd6..347395042 100644 --- a/public/r/cta-2.json +++ b/public/r/cta-2.json @@ -22,7 +22,7 @@ "target": "src/assets/placeholder.svg" } ], - "docs": "https://ui.full.dev/astro/blocks/cta/", + "docs": "https://ui.full.dev/blocks/cta/", "categories": [ "cta" ], diff --git a/public/r/cta-3.json b/public/r/cta-3.json index 4c0f880ee..d8a956197 100644 --- a/public/r/cta-3.json +++ b/public/r/cta-3.json @@ -16,7 +16,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/cta/", + "docs": "https://ui.full.dev/blocks/cta/", "categories": [ "cta" ], diff --git a/public/r/cta-4.json b/public/r/cta-4.json index 693a9fe33..9e65a555a 100644 --- a/public/r/cta-4.json +++ b/public/r/cta-4.json @@ -22,7 +22,7 @@ "target": "src/assets/placeholder.svg" } ], - "docs": "https://ui.full.dev/astro/blocks/cta/", + "docs": "https://ui.full.dev/blocks/cta/", "categories": [ "cta" ], diff --git a/public/r/cta-5.json b/public/r/cta-5.json index 268a979f7..7a122cb13 100644 --- a/public/r/cta-5.json +++ b/public/r/cta-5.json @@ -23,7 +23,7 @@ "target": "src/assets/placeholder.svg" } ], - "docs": "https://ui.full.dev/astro/blocks/cta/", + "docs": "https://ui.full.dev/blocks/cta/", "categories": [ "cta" ], diff --git a/public/r/cta-6.json b/public/r/cta-6.json index 53d5db769..9aa3276fe 100644 --- a/public/r/cta-6.json +++ b/public/r/cta-6.json @@ -22,7 +22,7 @@ "target": "src/assets/placeholder.svg" } ], - "docs": "https://ui.full.dev/astro/blocks/cta/", + "docs": "https://ui.full.dev/blocks/cta/", "categories": [ "cta" ], diff --git a/public/r/cta-7.json b/public/r/cta-7.json index a436f4363..b6755b388 100644 --- a/public/r/cta-7.json +++ b/public/r/cta-7.json @@ -15,7 +15,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/cta/", + "docs": "https://ui.full.dev/blocks/cta/", "categories": [ "cta" ], diff --git a/public/r/cta-8.json b/public/r/cta-8.json index 9e506e213..7acaffa25 100644 --- a/public/r/cta-8.json +++ b/public/r/cta-8.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/cta/", + "docs": "https://ui.full.dev/blocks/cta/", "categories": [ "cta" ], diff --git a/public/r/dialog-examples.json b/public/r/dialog-examples.json index 9374bbec4..49c8e936c 100644 --- a/public/r/dialog-examples.json +++ b/public/r/dialog-examples.json @@ -42,6 +42,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/dialog/", + "docs": "https://ui.full.dev/components/dialog/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/dialog.json b/public/r/dialog.json index 7a9747e98..a3e87d72e 100644 --- a/public/r/dialog.json +++ b/public/r/dialog.json @@ -67,7 +67,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/dialog/", + "docs": "https://ui.full.dev/components/dialog/", "categories": [ "ui" ], diff --git a/public/r/doc-1.json b/public/r/doc-1.json index 2ffb3be15..49048e0e5 100644 --- a/public/r/doc-1.json +++ b/public/r/doc-1.json @@ -22,7 +22,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/doc/", + "docs": "https://ui.full.dev/blocks/doc/", "categories": [ "doc" ], diff --git a/public/r/drawer-examples.json b/public/r/drawer-examples.json index a2486d0e2..0a682d738 100644 --- a/public/r/drawer-examples.json +++ b/public/r/drawer-examples.json @@ -49,6 +49,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/drawer/", + "docs": "https://ui.full.dev/components/drawer/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/drawer.json b/public/r/drawer.json index ce86fca8d..d4186a27d 100644 --- a/public/r/drawer.json +++ b/public/r/drawer.json @@ -101,7 +101,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/drawer/", + "docs": "https://ui.full.dev/components/drawer/", "categories": [ "ui" ], diff --git a/public/r/dropdown-menu-examples.json b/public/r/dropdown-menu-examples.json index 068b598a8..3e358f8ef 100644 --- a/public/r/dropdown-menu-examples.json +++ b/public/r/dropdown-menu-examples.json @@ -58,6 +58,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/dropdown-menu/", + "docs": "https://ui.full.dev/components/dropdown-menu/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/dropdown-menu.json b/public/r/dropdown-menu.json index fa654532e..1f51cae5a 100644 --- a/public/r/dropdown-menu.json +++ b/public/r/dropdown-menu.json @@ -69,7 +69,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/dropdown-menu/", + "docs": "https://ui.full.dev/components/dropdown-menu/", "categories": [ "ui" ], diff --git a/public/r/empty-examples.json b/public/r/empty-examples.json index 5371c2922..9c211d992 100644 --- a/public/r/empty-examples.json +++ b/public/r/empty-examples.json @@ -50,6 +50,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/empty/", + "docs": "https://ui.full.dev/components/empty/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/empty.json b/public/r/empty.json index df96f74c7..17bffbe20 100644 --- a/public/r/empty.json +++ b/public/r/empty.json @@ -40,7 +40,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/empty/", + "docs": "https://ui.full.dev/components/empty/", "categories": [ "ui" ], diff --git a/public/r/faqs-1.json b/public/r/faqs-1.json index e0d278a5d..fe0decf6f 100644 --- a/public/r/faqs-1.json +++ b/public/r/faqs-1.json @@ -15,7 +15,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/faqs/", + "docs": "https://ui.full.dev/blocks/faqs/", "categories": [ "faqs" ], diff --git a/public/r/faqs-2.json b/public/r/faqs-2.json index fdaf52fee..7662c1100 100644 --- a/public/r/faqs-2.json +++ b/public/r/faqs-2.json @@ -15,7 +15,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/faqs/", + "docs": "https://ui.full.dev/blocks/faqs/", "categories": [ "faqs" ], diff --git a/public/r/faqs-3.json b/public/r/faqs-3.json index c4d41ad02..cd5d5197c 100644 --- a/public/r/faqs-3.json +++ b/public/r/faqs-3.json @@ -15,7 +15,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/faqs/", + "docs": "https://ui.full.dev/blocks/faqs/", "categories": [ "faqs" ], diff --git a/public/r/faqs-4.json b/public/r/faqs-4.json index 30eda0fdd..19de0d927 100644 --- a/public/r/faqs-4.json +++ b/public/r/faqs-4.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/faqs/", + "docs": "https://ui.full.dev/blocks/faqs/", "categories": [ "faqs" ], diff --git a/public/r/features-1.json b/public/r/features-1.json index e0dca4246..61240563f 100644 --- a/public/r/features-1.json +++ b/public/r/features-1.json @@ -18,7 +18,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/features/", + "docs": "https://ui.full.dev/blocks/features/", "categories": [ "features" ], diff --git a/public/r/features-2.json b/public/r/features-2.json index b43773bea..a15ebe78c 100644 --- a/public/r/features-2.json +++ b/public/r/features-2.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/features/", + "docs": "https://ui.full.dev/blocks/features/", "categories": [ "features" ], diff --git a/public/r/features-3.json b/public/r/features-3.json index 29c10041e..0f7902b8c 100644 --- a/public/r/features-3.json +++ b/public/r/features-3.json @@ -13,7 +13,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/features/", + "docs": "https://ui.full.dev/blocks/features/", "categories": [ "features" ], diff --git a/public/r/features-4.json b/public/r/features-4.json index 0c9530150..437798358 100644 --- a/public/r/features-4.json +++ b/public/r/features-4.json @@ -18,7 +18,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/features/", + "docs": "https://ui.full.dev/blocks/features/", "categories": [ "features" ], diff --git a/public/r/features-5.json b/public/r/features-5.json index b9bde2b6d..420643adf 100644 --- a/public/r/features-5.json +++ b/public/r/features-5.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/features/", + "docs": "https://ui.full.dev/blocks/features/", "categories": [ "features" ], diff --git a/public/r/features-6.json b/public/r/features-6.json index 38fd178bd..9b01c7537 100644 --- a/public/r/features-6.json +++ b/public/r/features-6.json @@ -15,7 +15,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/features/", + "docs": "https://ui.full.dev/blocks/features/", "categories": [ "features" ], diff --git a/public/r/field-examples.json b/public/r/field-examples.json index 3133b4936..8a350093e 100644 --- a/public/r/field-examples.json +++ b/public/r/field-examples.json @@ -81,6 +81,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/field/", + "docs": "https://ui.full.dev/components/field/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/field.json b/public/r/field.json index 0f03b6699..8cce3a3ab 100644 --- a/public/r/field.json +++ b/public/r/field.json @@ -64,7 +64,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/field/", + "docs": "https://ui.full.dev/components/field/", "categories": [ "ui" ], diff --git a/public/r/footer-1.json b/public/r/footer-1.json index 9e524c897..6e75db4ac 100644 --- a/public/r/footer-1.json +++ b/public/r/footer-1.json @@ -16,7 +16,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/footer/", + "docs": "https://ui.full.dev/blocks/footer/", "categories": [ "footer" ], diff --git a/public/r/footer-2.json b/public/r/footer-2.json index 12912af18..d5fbcdfec 100644 --- a/public/r/footer-2.json +++ b/public/r/footer-2.json @@ -16,7 +16,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/footer/", + "docs": "https://ui.full.dev/blocks/footer/", "categories": [ "footer" ], diff --git a/public/r/footer-3.json b/public/r/footer-3.json index 18649eb87..27d6eb84e 100644 --- a/public/r/footer-3.json +++ b/public/r/footer-3.json @@ -16,7 +16,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/footer/", + "docs": "https://ui.full.dev/blocks/footer/", "categories": [ "footer" ], diff --git a/public/r/form.json b/public/r/form.json index 96d484ca2..103bb8a84 100644 --- a/public/r/form.json +++ b/public/r/form.json @@ -15,7 +15,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/form/", + "docs": "https://ui.full.dev/components/form/", "categories": [ "ui" ], diff --git a/public/r/header-1.json b/public/r/header-1.json index 1ca17fa02..0bfb9eb6d 100644 --- a/public/r/header-1.json +++ b/public/r/header-1.json @@ -21,7 +21,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/header/", + "docs": "https://ui.full.dev/blocks/header/", "categories": [ "header" ], diff --git a/public/r/header-2.json b/public/r/header-2.json index ecf9a1566..16c30ad25 100644 --- a/public/r/header-2.json +++ b/public/r/header-2.json @@ -21,7 +21,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/header/", + "docs": "https://ui.full.dev/blocks/header/", "categories": [ "header" ], diff --git a/public/r/header-3.json b/public/r/header-3.json index 499dcdf58..fd0157b7f 100644 --- a/public/r/header-3.json +++ b/public/r/header-3.json @@ -22,7 +22,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/header/", + "docs": "https://ui.full.dev/blocks/header/", "categories": [ "header" ], diff --git a/public/r/header-4.json b/public/r/header-4.json index f64b1f1cc..60663b63f 100644 --- a/public/r/header-4.json +++ b/public/r/header-4.json @@ -21,7 +21,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/header/", + "docs": "https://ui.full.dev/blocks/header/", "categories": [ "header" ], diff --git a/public/r/header-5.json b/public/r/header-5.json index 708f62b7c..d7567215a 100644 --- a/public/r/header-5.json +++ b/public/r/header-5.json @@ -22,7 +22,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/header/", + "docs": "https://ui.full.dev/blocks/header/", "categories": [ "header" ], diff --git a/public/r/header.json b/public/r/header.json index 817695299..6f38b7e4c 100644 --- a/public/r/header.json +++ b/public/r/header.json @@ -32,7 +32,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/header/", + "docs": "https://ui.full.dev/components/header/", "categories": [ "ui" ], diff --git a/public/r/hero-1.json b/public/r/hero-1.json index 7a03a8922..3001b9ff4 100644 --- a/public/r/hero-1.json +++ b/public/r/hero-1.json @@ -15,7 +15,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/hero/", + "docs": "https://ui.full.dev/blocks/hero/", "categories": [ "hero" ], diff --git a/public/r/hero-10.json b/public/r/hero-10.json index 645b067bd..770bb0a86 100644 --- a/public/r/hero-10.json +++ b/public/r/hero-10.json @@ -16,7 +16,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/hero/", + "docs": "https://ui.full.dev/blocks/hero/", "categories": [ "hero" ], diff --git a/public/r/hero-11.json b/public/r/hero-11.json index 5712e4d0d..09a801205 100644 --- a/public/r/hero-11.json +++ b/public/r/hero-11.json @@ -16,7 +16,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/hero/", + "docs": "https://ui.full.dev/blocks/hero/", "categories": [ "hero" ], diff --git a/public/r/hero-12.json b/public/r/hero-12.json index 19c99e3c2..77a37b010 100644 --- a/public/r/hero-12.json +++ b/public/r/hero-12.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/hero/", + "docs": "https://ui.full.dev/blocks/hero/", "categories": [ "hero" ], diff --git a/public/r/hero-13.json b/public/r/hero-13.json index 3fc01ef30..f1f708613 100644 --- a/public/r/hero-13.json +++ b/public/r/hero-13.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/hero/", + "docs": "https://ui.full.dev/blocks/hero/", "categories": [ "hero" ], diff --git a/public/r/hero-2.json b/public/r/hero-2.json index 670499ebb..872bdcf70 100644 --- a/public/r/hero-2.json +++ b/public/r/hero-2.json @@ -16,7 +16,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/hero/", + "docs": "https://ui.full.dev/blocks/hero/", "categories": [ "hero" ], diff --git a/public/r/hero-3.json b/public/r/hero-3.json index 8642aec1b..dcd3d0d23 100644 --- a/public/r/hero-3.json +++ b/public/r/hero-3.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/hero/", + "docs": "https://ui.full.dev/blocks/hero/", "categories": [ "hero" ], diff --git a/public/r/hero-4.json b/public/r/hero-4.json index 3c3f52f5e..1254a5a66 100644 --- a/public/r/hero-4.json +++ b/public/r/hero-4.json @@ -17,7 +17,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/hero/", + "docs": "https://ui.full.dev/blocks/hero/", "categories": [ "hero" ], diff --git a/public/r/hero-5.json b/public/r/hero-5.json index 770a0846a..1b95a5469 100644 --- a/public/r/hero-5.json +++ b/public/r/hero-5.json @@ -19,7 +19,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/hero/", + "docs": "https://ui.full.dev/blocks/hero/", "categories": [ "hero" ], diff --git a/public/r/hero-6.json b/public/r/hero-6.json index 29d23eccd..b60078e9c 100644 --- a/public/r/hero-6.json +++ b/public/r/hero-6.json @@ -19,7 +19,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/hero/", + "docs": "https://ui.full.dev/blocks/hero/", "categories": [ "hero" ], diff --git a/public/r/hero-7.json b/public/r/hero-7.json index 0b4129af3..75d00053f 100644 --- a/public/r/hero-7.json +++ b/public/r/hero-7.json @@ -19,7 +19,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/hero/", + "docs": "https://ui.full.dev/blocks/hero/", "categories": [ "hero" ], diff --git a/public/r/hero-8.json b/public/r/hero-8.json index 579e348a3..2ed1b607f 100644 --- a/public/r/hero-8.json +++ b/public/r/hero-8.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/hero/", + "docs": "https://ui.full.dev/blocks/hero/", "categories": [ "hero" ], diff --git a/public/r/hero-9.json b/public/r/hero-9.json index c9a66d4c4..de5e91c14 100644 --- a/public/r/hero-9.json +++ b/public/r/hero-9.json @@ -19,7 +19,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/hero/", + "docs": "https://ui.full.dev/blocks/hero/", "categories": [ "hero" ], diff --git a/public/r/hover-card-examples.json b/public/r/hover-card-examples.json index 28f35b749..048a6a950 100644 --- a/public/r/hover-card-examples.json +++ b/public/r/hover-card-examples.json @@ -24,6 +24,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/hover-card/", + "docs": "https://ui.full.dev/components/hover-card/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/hover-card.json b/public/r/hover-card.json index 85e303257..511766625 100644 --- a/public/r/hover-card.json +++ b/public/r/hover-card.json @@ -29,7 +29,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/hover-card/", + "docs": "https://ui.full.dev/components/hover-card/", "categories": [ "ui" ], diff --git a/public/r/icon.json b/public/r/icon.json index c7f01aac7..2dd8ce89c 100644 --- a/public/r/icon.json +++ b/public/r/icon.json @@ -19,7 +19,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/icon/", + "docs": "https://ui.full.dev/components/icon/", "categories": [ "ui" ], diff --git a/public/r/init.json b/public/r/init.json index 7bd519d5a..799c80ff0 100644 --- a/public/r/init.json +++ b/public/r/init.json @@ -39,6 +39,6 @@ } } }, - "docs": "https://ui.full.dev/astro/docs/installation/", + "docs": "https://ui.full.dev/docs/installation/", "type": "registry:lib" } \ No newline at end of file diff --git a/public/r/input-examples.json b/public/r/input-examples.json index 7e2e52f8c..663651ee3 100644 --- a/public/r/input-examples.json +++ b/public/r/input-examples.json @@ -92,6 +92,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/input/", + "docs": "https://ui.full.dev/components/input/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/input-group-examples.json b/public/r/input-group-examples.json index f2e13e765..1a364467a 100644 --- a/public/r/input-group-examples.json +++ b/public/r/input-group-examples.json @@ -86,6 +86,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/input-group/", + "docs": "https://ui.full.dev/components/input-group/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/input-group.json b/public/r/input-group.json index 782bdfe7b..b3fc8ff26 100644 --- a/public/r/input-group.json +++ b/public/r/input-group.json @@ -45,7 +45,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/input-group/", + "docs": "https://ui.full.dev/components/input-group/", "categories": [ "ui" ], diff --git a/public/r/input.json b/public/r/input.json index 294bc31f6..4121f5989 100644 --- a/public/r/input.json +++ b/public/r/input.json @@ -15,7 +15,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/input/", + "docs": "https://ui.full.dev/components/input/", "categories": [ "ui" ], diff --git a/public/r/item-examples.json b/public/r/item-examples.json index 1d1355d43..5159caa38 100644 --- a/public/r/item-examples.json +++ b/public/r/item-examples.json @@ -69,6 +69,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/item/", + "docs": "https://ui.full.dev/components/item/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/item.json b/public/r/item.json index 5920bbbe9..783d228e5 100644 --- a/public/r/item.json +++ b/public/r/item.json @@ -63,7 +63,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/item/", + "docs": "https://ui.full.dev/components/item/", "categories": [ "ui" ], diff --git a/public/r/kbd-examples.json b/public/r/kbd-examples.json index 057b124f9..583df9326 100644 --- a/public/r/kbd-examples.json +++ b/public/r/kbd-examples.json @@ -45,6 +45,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/kbd/", + "docs": "https://ui.full.dev/components/kbd/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/kbd.json b/public/r/kbd.json index 16a5a08da..42619bd22 100644 --- a/public/r/kbd.json +++ b/public/r/kbd.json @@ -20,7 +20,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/kbd/", + "docs": "https://ui.full.dev/components/kbd/", "categories": [ "ui" ], diff --git a/public/r/label-examples.json b/public/r/label-examples.json index 81f596ef4..4b149774b 100644 --- a/public/r/label-examples.json +++ b/public/r/label-examples.json @@ -19,6 +19,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/label/", + "docs": "https://ui.full.dev/components/label/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/label.json b/public/r/label.json index 9348793ce..7537ca9ba 100644 --- a/public/r/label.json +++ b/public/r/label.json @@ -15,7 +15,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/label/", + "docs": "https://ui.full.dev/components/label/", "categories": [ "ui" ], diff --git a/public/r/layout.json b/public/r/layout.json index 763d36281..dc22c1d3f 100644 --- a/public/r/layout.json +++ b/public/r/layout.json @@ -33,7 +33,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/layout/", + "docs": "https://ui.full.dev/components/layout/", "categories": [ "ui" ], diff --git a/public/r/links-2.json b/public/r/links-2.json index a35111855..ed6e31559 100644 --- a/public/r/links-2.json +++ b/public/r/links-2.json @@ -16,7 +16,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/links/", + "docs": "https://ui.full.dev/blocks/links/", "categories": [ "links" ], diff --git a/public/r/logo.json b/public/r/logo.json index 5d1db0c3a..56ae30c0b 100644 --- a/public/r/logo.json +++ b/public/r/logo.json @@ -25,7 +25,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/logo/", + "docs": "https://ui.full.dev/components/logo/", "categories": [ "ui" ], diff --git a/public/r/logos-1.json b/public/r/logos-1.json index 8218788c0..de62b4b00 100644 --- a/public/r/logos-1.json +++ b/public/r/logos-1.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/logos/", + "docs": "https://ui.full.dev/blocks/logos/", "categories": [ "logos" ], diff --git a/public/r/logos-2.json b/public/r/logos-2.json index d8effd0a9..48760e394 100644 --- a/public/r/logos-2.json +++ b/public/r/logos-2.json @@ -15,7 +15,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/logos/", + "docs": "https://ui.full.dev/blocks/logos/", "categories": [ "logos" ], diff --git a/public/r/logos-3.json b/public/r/logos-3.json index ca0442bf6..4824f14cc 100644 --- a/public/r/logos-3.json +++ b/public/r/logos-3.json @@ -14,7 +14,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/logos/", + "docs": "https://ui.full.dev/blocks/logos/", "categories": [ "logos" ], diff --git a/public/r/marquee.json b/public/r/marquee.json index 1d5eb6115..81916aedd 100644 --- a/public/r/marquee.json +++ b/public/r/marquee.json @@ -38,7 +38,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/marquee/", + "docs": "https://ui.full.dev/components/marquee/", "categories": [ "ui" ], diff --git a/public/r/native-select-examples.json b/public/r/native-select-examples.json index 25e0e9285..85dd65c80 100644 --- a/public/r/native-select-examples.json +++ b/public/r/native-select-examples.json @@ -33,6 +33,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/native-select/", + "docs": "https://ui.full.dev/components/native-select/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/native-select.json b/public/r/native-select.json index 9ab77e979..bc9239ff0 100644 --- a/public/r/native-select.json +++ b/public/r/native-select.json @@ -28,7 +28,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/native-select/", + "docs": "https://ui.full.dev/components/native-select/", "categories": [ "ui" ], diff --git a/public/r/navigation-menu-examples.json b/public/r/navigation-menu-examples.json index 6d86d7f87..806f0a89d 100644 --- a/public/r/navigation-menu-examples.json +++ b/public/r/navigation-menu-examples.json @@ -21,6 +21,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/navigation-menu/", + "docs": "https://ui.full.dev/components/navigation-menu/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/navigation-menu.json b/public/r/navigation-menu.json index 460bd662d..5e76cdea7 100644 --- a/public/r/navigation-menu.json +++ b/public/r/navigation-menu.json @@ -59,7 +59,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/navigation-menu/", + "docs": "https://ui.full.dev/components/navigation-menu/", "categories": [ "ui" ], diff --git a/public/r/pagination-examples.json b/public/r/pagination-examples.json index a0ae7e971..cfbcecb8d 100644 --- a/public/r/pagination-examples.json +++ b/public/r/pagination-examples.json @@ -30,6 +30,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/pagination/", + "docs": "https://ui.full.dev/components/pagination/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/pagination.json b/public/r/pagination.json index 1c58ae23f..f9f0c0bae 100644 --- a/public/r/pagination.json +++ b/public/r/pagination.json @@ -51,7 +51,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/pagination/", + "docs": "https://ui.full.dev/components/pagination/", "categories": [ "ui" ], diff --git a/public/r/popover-examples.json b/public/r/popover-examples.json index c9c8972b7..a53fac608 100644 --- a/public/r/popover-examples.json +++ b/public/r/popover-examples.json @@ -37,6 +37,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/popover/", + "docs": "https://ui.full.dev/components/popover/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/popover.json b/public/r/popover.json index 7d0b8ab1a..20520698b 100644 --- a/public/r/popover.json +++ b/public/r/popover.json @@ -43,7 +43,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/popover/", + "docs": "https://ui.full.dev/components/popover/", "categories": [ "ui" ], diff --git a/public/r/price.json b/public/r/price.json index d25f33123..e512209cd 100644 --- a/public/r/price.json +++ b/public/r/price.json @@ -30,7 +30,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/price/", + "docs": "https://ui.full.dev/components/price/", "categories": [ "ui" ], diff --git a/public/r/pricing-1.json b/public/r/pricing-1.json index ed28694db..2649f08fb 100644 --- a/public/r/pricing-1.json +++ b/public/r/pricing-1.json @@ -21,7 +21,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/pricing/", + "docs": "https://ui.full.dev/blocks/pricing/", "categories": [ "pricing" ], diff --git a/public/r/pricing-2.json b/public/r/pricing-2.json index ef75ac6d5..14d7ffde3 100644 --- a/public/r/pricing-2.json +++ b/public/r/pricing-2.json @@ -20,7 +20,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/pricing/", + "docs": "https://ui.full.dev/blocks/pricing/", "categories": [ "pricing" ], diff --git a/public/r/pricing-3.json b/public/r/pricing-3.json index 8770f0517..5e767ea90 100644 --- a/public/r/pricing-3.json +++ b/public/r/pricing-3.json @@ -21,7 +21,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/pricing/", + "docs": "https://ui.full.dev/blocks/pricing/", "categories": [ "pricing" ], diff --git a/public/r/product-1.json b/public/r/product-1.json index d27707ec9..d09a7114b 100644 --- a/public/r/product-1.json +++ b/public/r/product-1.json @@ -16,7 +16,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/product/", + "docs": "https://ui.full.dev/blocks/product/", "categories": [ "product" ], diff --git a/public/r/products-1.json b/public/r/products-1.json index 3aaefb88e..2bc2c4508 100644 --- a/public/r/products-1.json +++ b/public/r/products-1.json @@ -16,7 +16,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/products/", + "docs": "https://ui.full.dev/blocks/products/", "categories": [ "products" ], diff --git a/public/r/products-2.json b/public/r/products-2.json index 65776b5d6..34a441afd 100644 --- a/public/r/products-2.json +++ b/public/r/products-2.json @@ -16,7 +16,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/products/", + "docs": "https://ui.full.dev/blocks/products/", "categories": [ "products" ], diff --git a/public/r/products-3.json b/public/r/products-3.json index e66916304..0e6645c63 100644 --- a/public/r/products-3.json +++ b/public/r/products-3.json @@ -16,7 +16,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/products/", + "docs": "https://ui.full.dev/blocks/products/", "categories": [ "products" ], diff --git a/public/r/products-4.json b/public/r/products-4.json index c32a1b0ca..6885edb3d 100644 --- a/public/r/products-4.json +++ b/public/r/products-4.json @@ -16,7 +16,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/products/", + "docs": "https://ui.full.dev/blocks/products/", "categories": [ "products" ], diff --git a/public/r/products-5.json b/public/r/products-5.json index 2acc7e17b..9b0a09fb9 100644 --- a/public/r/products-5.json +++ b/public/r/products-5.json @@ -17,7 +17,7 @@ "type": "registry:block" } ], - "docs": "https://ui.full.dev/astro/blocks/products/", + "docs": "https://ui.full.dev/blocks/products/", "categories": [ "products" ], diff --git a/public/r/radio-group-examples.json b/public/r/radio-group-examples.json index 7cfb90b31..7c80c30dd 100644 --- a/public/r/radio-group-examples.json +++ b/public/r/radio-group-examples.json @@ -45,6 +45,6 @@ "type": "registry:component" } ], - "docs": "https://ui.full.dev/astro/components/radio-group/", + "docs": "https://ui.full.dev/components/radio-group/", "type": "registry:example" } \ No newline at end of file diff --git a/public/r/radio-group.json b/public/r/radio-group.json index 53c1ffb7f..00e4e9800 100644 --- a/public/r/radio-group.json +++ b/public/r/radio-group.json @@ -23,7 +23,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/radio-group/", + "docs": "https://ui.full.dev/components/radio-group/", "categories": [ "ui" ], diff --git a/public/r/rating.json b/public/r/rating.json index 5b7521ad6..57afb7920 100644 --- a/public/r/rating.json +++ b/public/r/rating.json @@ -18,7 +18,7 @@ "type": "registry:ui" } ], - "docs": "https://ui.full.dev/astro/components/rating/", + "docs": "https://ui.full.dev/components/rating/", "categories": [ "ui" ], diff --git a/public/r/react/styles/base-luma/accordion-examples.json b/public/r/react/styles/base-luma/accordion-examples.json deleted file mode 100644 index 2cd9c814b..000000000 --- a/public/r/react/styles/base-luma/accordion-examples.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "accordion-examples", - "title": "Accordion examples", - "description": "The examples from the shadcn/ui Accordion docs.", - "dependencies": [ - "cn" - ], - "registryDependencies": [ - "@fulldev/accordion", - "@fulldev/card", - "@fulldev/select" - ], - "files": [ - { - "path": "src/components/examples/accordion/accordion-basic.tsx", - "content": "import {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\"\n\nconst items = [\n {\n value: \"item-1\",\n trigger: \"How do I reset my password?\",\n content:\n \"Click on 'Forgot Password' on the login page, enter your email address, and we'll send you a link to reset your password. The link will expire in 24 hours.\",\n },\n {\n value: \"item-2\",\n trigger: \"Can I change my subscription plan?\",\n content:\n \"Yes, you can upgrade or downgrade your plan at any time from your account settings. Changes will be reflected in your next billing cycle.\",\n },\n {\n value: \"item-3\",\n trigger: \"What payment methods do you accept?\",\n content:\n \"We accept all major credit cards, PayPal, and bank transfers. All payments are processed securely through our payment partners.\",\n },\n]\n\nexport function AccordionBasic() {\n return (\n \n {items.map((item) => (\n \n {item.trigger}\n {item.content}\n \n ))}\n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/accordion/accordion-borders.tsx", - "content": "import {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\"\n\nconst items = [\n {\n value: \"billing\",\n trigger: \"How does billing work?\",\n content:\n \"We offer monthly and annual subscription plans. Billing is charged at the beginning of each cycle, and you can cancel anytime. All plans include automatic backups, 24/7 support, and unlimited team members.\",\n },\n {\n value: \"security\",\n trigger: \"Is my data secure?\",\n content:\n \"Yes. We use end-to-end encryption, SOC 2 Type II compliance, and regular third-party security audits. All data is encrypted at rest and in transit using industry-standard protocols.\",\n },\n {\n value: \"integration\",\n trigger: \"What integrations do you support?\",\n content:\n \"We integrate with 500+ popular tools including Slack, Zapier, Salesforce, HubSpot, and more. You can also build custom integrations using our REST API and webhooks.\",\n },\n]\n\nexport function AccordionBorders() {\n return (\n \n {items.map((item) => (\n \n {item.trigger}\n {item.content}\n \n ))}\n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/accordion/accordion-card.tsx", - "content": "import {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/components/ui/card\"\n\nconst items = [\n {\n value: \"plans\",\n trigger: \"What subscription plans do you offer?\",\n content:\n \"We offer three subscription tiers: Starter ($9/month), Professional ($29/month), and Enterprise ($99/month). Each plan includes increasing storage limits, API access, priority support, and team collaboration features.\",\n },\n {\n value: \"billing\",\n trigger: \"How does billing work?\",\n content:\n \"Billing occurs automatically at the start of each billing cycle. We accept all major credit cards, PayPal, and ACH transfers for enterprise customers. You'll receive an invoice via email after each payment.\",\n },\n {\n value: \"cancel\",\n trigger: \"How do I cancel my subscription?\",\n content:\n \"You can cancel your subscription anytime from your account settings. There are no cancellation fees or penalties. Your access will continue until the end of your current billing period.\",\n },\n]\n\nexport function AccordionCard() {\n return (\n \n \n Subscription & Billing\n \n Common questions about your account, plans, payments and\n cancellations.\n \n \n \n \n {items.map((item) => (\n \n {item.trigger}\n {item.content}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/accordion/accordion-demo.tsx", - "content": "import {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\"\n\nexport function AccordionDemo() {\n return (\n \n \n What are your shipping options?\n \n We offer standard (5-7 days), express (2-3 days), and overnight\n shipping. Free shipping on international orders.\n \n \n \n What is your return policy?\n \n Returns accepted within 30 days. Items must be unused and in original\n packaging. Refunds processed within 5-7 business days.\n \n \n \n How can I contact customer support?\n \n Reach us via email, live chat, or phone. We respond within 24 hours\n during business days.\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/accordion/accordion-disabled.tsx", - "content": "import {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\"\n\nexport function AccordionDisabled() {\n return (\n \n \n Can I access my account history?\n \n Yes, you can view your complete account history including all\n transactions, plan changes, and support tickets in the Account History\n section of your dashboard.\n \n \n \n Premium feature information\n \n This section contains information about premium features. Upgrade your\n plan to access this content.\n \n \n \n How do I update my email address?\n \n You can update your email address in your account settings.\n You'll receive a verification email at your new address to\n confirm the change.\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/accordion/accordion-multiple.tsx", - "content": "import {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\"\n\nconst items = [\n {\n value: \"notifications\",\n trigger: \"Notification Settings\",\n content:\n \"Manage how you receive notifications. You can enable email alerts for updates or push notifications for mobile devices.\",\n },\n {\n value: \"privacy\",\n trigger: \"Privacy & Security\",\n content:\n \"Control your privacy settings and security preferences. Enable two-factor authentication, manage connected devices, review active sessions, and configure data sharing preferences. You can also download your data or delete your account.\",\n },\n {\n value: \"billing\",\n trigger: \"Billing & Subscription\",\n content:\n \"View your current plan, payment history, and upcoming invoices. Update your payment method, change your subscription tier, or cancel your subscription.\",\n },\n]\n\nexport function AccordionMultiple() {\n return (\n \n {items.map((item) => (\n \n {item.trigger}\n {item.content}\n \n ))}\n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/accordion/accordion-rtl.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {\n question1: \"How do I reset my password?\",\n answer1:\n \"Click on 'Forgot Password' on the login page, enter your email address, and we'll send you a link to reset your password.\",\n question2: \"Can I change my subscription plan?\",\n answer2:\n \"Yes, you can upgrade or downgrade your plan at any time from your account settings. Changes will be reflected in your next billing cycle.\",\n question3: \"What payment methods do you accept?\",\n answer3:\n \"We accept all major credit cards, PayPal, and bank transfers. All payments are processed securely through our payment partners.\",\n },\n },\n ar: {\n dir: \"rtl\",\n values: {\n question1: \"كيف يمكنني إعادة تعيين كلمة المرور؟\",\n answer1:\n \"انقر على 'نسيت كلمة المرور' في صفحة تسجيل الدخول، أدخل عنوان بريدك الإلكتروني، وسنرسل لك رابطًا لإعادة تعيين كلمة المرور. سينتهي صلاحية الرابط خلال 24 ساعة.\",\n question2: \"هل يمكنني تغيير خطة الاشتراك الخاصة بي؟\",\n answer2:\n \"نعم، يمكنك ترقية أو تخفيض خطتك في أي وقت من إعدادات حسابك. ستظهر التغييرات في دورة الفوترة التالية.\",\n question3: \"ما هي طرق الدفع التي تقبلونها؟\",\n answer3:\n \"نقبل جميع بطاقات الائتمان الرئيسية و PayPal والتحويلات المصرفية. تتم معالجة جميع المدفوعات بأمان من خلال شركاء الدفع لدينا.\",\n },\n },\n he: {\n dir: \"rtl\",\n values: {\n question1: \"איך אני מאפס את הסיסמה שלי?\",\n answer1:\n \"לחץ על 'שכחתי סיסמה' בעמוד ההתחברות, הזן את כתובת האימייל שלך, ונשלח לך קישור לאיפוס הסיסמה. הקישור יפוג תוך 24 שעות.\",\n question2: \"האם אני יכול לשנות את תוכנית המנוי שלי?\",\n answer2:\n \"כן, אתה יכול לשדרג או להוריד את התוכנית שלך בכל עת מההגדרות של החשבון שלך. השינויים יבואו לידי ביטוי במחזור החיוב הבא.\",\n question3: \"אילו אמצעי תשלום אתם מקבלים?\",\n answer3: \"אנו מקבלים כרטיסי אשראי, PayPal והעברות בנקאיות.\",\n },\n },\n}\n\nconst items = [\n {\n value: \"item-1\",\n questionKey: \"question1\" as const,\n answerKey: \"answer1\" as const,\n },\n {\n value: \"item-2\",\n questionKey: \"question2\" as const,\n answerKey: \"answer2\" as const,\n },\n {\n value: \"item-3\",\n questionKey: \"question3\" as const,\n answerKey: \"answer3\" as const,\n },\n] as const\n\nexport function AccordionRtl() {\n const { t } = useTranslation(translations, \"ar\")\n\n return (\n \n {items.map((item) => (\n \n {t[item.questionKey]}\n {t[item.answerKey]}\n \n ))}\n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/accordion/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/accordion.json b/public/r/react/styles/base-luma/accordion.json deleted file mode 100644 index 9a483c12f..000000000 --- a/public/r/react/styles/base-luma/accordion.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "accordion", - "title": "Accordion", - "description": "A vertically stacked set of interactive headings that each reveal a section of content.", - "dependencies": [ - "@base-ui/react", - "cn", - "lucide-react" - ], - "files": [ - { - "path": "src/components/ui/accordion.tsx", - "content": "import { Accordion as AccordionPrimitive } from \"@base-ui/react/accordion\"\nimport { cn } from \"cn\"\nimport { ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nfunction Accordion({ className, ...props }: AccordionPrimitive.Root.Props) {\n return (\n \n )\n}\n\nfunction AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props) {\n return (\n \n )\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: AccordionPrimitive.Trigger.Props) {\n return (\n \n \n {children}\n \n \n )\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: AccordionPrimitive.Panel.Props) {\n return (\n \n \n {children}\n \n \n )\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/accordion/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/alert-dialog-examples.json b/public/r/react/styles/base-luma/alert-dialog-examples.json deleted file mode 100644 index 84e2ebeae..000000000 --- a/public/r/react/styles/base-luma/alert-dialog-examples.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "alert-dialog-examples", - "title": "Alert Dialog examples", - "description": "The examples from the shadcn/ui Alert Dialog docs.", - "dependencies": [ - "cn", - "lucide-react" - ], - "registryDependencies": [ - "@fulldev/alert-dialog", - "@fulldev/button", - "@fulldev/select" - ], - "files": [ - { - "path": "src/components/examples/alert-dialog/alert-dialog-basic.tsx", - "content": "import {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n AlertDialogTrigger,\n} from \"@/components/ui/alert-dialog\"\nimport { Button } from \"@/components/ui/button\"\n\nexport function AlertDialogBasic() {\n return (\n \n Show Dialog}\n />\n \n \n Are you absolutely sure?\n \n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n \n \n \n Cancel\n Continue\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/alert-dialog/alert-dialog-demo.tsx", - "content": "import {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n AlertDialogTrigger,\n} from \"@/components/ui/alert-dialog\"\nimport { Button } from \"@/components/ui/button\"\n\nexport function AlertDialogDemo() {\n return (\n \n }>\n Show Dialog\n \n \n \n Are you absolutely sure?\n \n This action cannot be undone. This will permanently delete your\n account from our servers.\n \n \n \n Cancel\n Continue\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/alert-dialog/alert-dialog-destructive.tsx", - "content": "import { Trash2Icon } from \"lucide-react\"\n\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogTitle,\n AlertDialogTrigger,\n} from \"@/components/ui/alert-dialog\"\nimport { Button } from \"@/components/ui/button\"\n\nexport function AlertDialogDestructive() {\n return (\n \n Delete Chat}\n />\n \n \n \n \n \n Delete chat?\n \n This will permanently delete this chat conversation. View{\" \"}\n Settings delete any memories saved during this chat.\n \n \n \n Cancel\n Delete\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/alert-dialog/alert-dialog-media.tsx", - "content": "import { CircleFadingPlusIcon } from \"lucide-react\"\n\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogTitle,\n AlertDialogTrigger,\n} from \"@/components/ui/alert-dialog\"\nimport { Button } from \"@/components/ui/button\"\n\nexport function AlertDialogWithMedia() {\n return (\n \n Share Project}\n />\n \n \n \n \n \n Share this project?\n \n Anyone with the link will be able to view and edit this project.\n \n \n \n Cancel\n Share\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/alert-dialog/alert-dialog-rtl.tsx", - "content": "\"use client\"\n\nimport { BluetoothIcon } from \"lucide-react\"\n\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogTitle,\n AlertDialogTrigger,\n} from \"@/components/ui/alert-dialog\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {\n showDialog: \"Show Dialog\",\n showDialogSm: \"Show Dialog (sm)\",\n title: \"Are you absolutely sure?\",\n description:\n \"This action cannot be undone. This will permanently delete your account from our servers.\",\n cancel: \"Cancel\",\n continue: \"Continue\",\n smallTitle: \"Allow accessory to connect?\",\n smallDescription:\n \"Do you want to allow the USB accessory to connect to this device?\",\n dontAllow: \"Don't allow\",\n allow: \"Allow\",\n },\n },\n ar: {\n dir: \"rtl\",\n values: {\n showDialog: \"إظهار الحوار\",\n showDialogSm: \"إظهار الحوار (صغير)\",\n title: \"هل أنت متأكد تمامًا؟\",\n description:\n \"لا يمكن التراجع عن هذا الإجراء. سيؤدي هذا إلى حذف حسابك نهائيًا من خوادمنا.\",\n cancel: \"إلغاء\",\n continue: \"متابعة\",\n smallTitle: \"السماح للملحق بالاتصال؟\",\n smallDescription: \"هل تريد السماح لملحق USB بالاتصال بهذا الجهاز؟\",\n dontAllow: \"عدم السماح\",\n allow: \"السماح\",\n },\n },\n he: {\n dir: \"rtl\",\n values: {\n showDialog: \"הצג דיאלוג\",\n showDialogSm: \"הצג דיאלוג (קטן)\",\n title: \"האם אתה בטוח לחלוטין?\",\n description:\n \"פעולה זו לא ניתנת לביטול. זה ימחק לצמיתות את החשבון שלך מהשרתים שלנו.\",\n cancel: \"ביטול\",\n continue: \"המשך\",\n smallTitle: \"לאפשר להתקן להתחבר?\",\n smallDescription: \"האם אתה רוצה לאפשר להתקן USB להתחבר למכשיר זה?\",\n dontAllow: \"אל תאפשר\",\n allow: \"אפשר\",\n },\n },\n}\n\nexport function AlertDialogRtl() {\n const { dir, t, language } = useTranslation(translations, \"ar\")\n\n return (\n
\n \n }>\n {t.showDialog}\n \n \n \n {t.title}\n {t.description}\n \n \n {t.cancel}\n {t.continue}\n \n \n \n \n }>\n {t.showDialogSm}\n \n \n \n \n \n \n {t.smallTitle}\n \n {t.smallDescription}\n \n \n \n {t.dontAllow}\n {t.allow}\n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/alert-dialog/alert-dialog-small-media.tsx", - "content": "import { BluetoothIcon } from \"lucide-react\"\n\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogTitle,\n AlertDialogTrigger,\n} from \"@/components/ui/alert-dialog\"\nimport { Button } from \"@/components/ui/button\"\n\nexport function AlertDialogSmallWithMedia() {\n return (\n \n Show Dialog}\n />\n\n \n \n \n \n \n Allow accessory to connect?\n \n Do you want to allow the USB accessory to connect to this device?\n \n \n \n Don't allow\n Allow\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/alert-dialog/alert-dialog-small.tsx", - "content": "import {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n AlertDialogTrigger,\n} from \"@/components/ui/alert-dialog\"\nimport { Button } from \"@/components/ui/button\"\n\nexport function AlertDialogSmall() {\n return (\n \n Show Dialog}\n />\n \n \n Allow accessory to connect?\n \n Do you want to allow the USB accessory to connect to this device?\n \n \n \n Don't allow\n Allow\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/alert-dialog/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/alert-dialog.json b/public/r/react/styles/base-luma/alert-dialog.json deleted file mode 100644 index 800741d93..000000000 --- a/public/r/react/styles/base-luma/alert-dialog.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "alert-dialog", - "title": "Alert Dialog", - "description": "A modal dialog for important confirmations that expects a response.", - "dependencies": [ - "@base-ui/react", - "cn" - ], - "registryDependencies": [ - "@fulldev/button" - ], - "files": [ - { - "path": "src/components/ui/alert-dialog.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { AlertDialog as AlertDialogPrimitive } from \"@base-ui/react/alert-dialog\"\nimport { cn } from \"cn\"\n\nimport { Button } from \"@/components/ui/button\"\n\nfunction AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props) {\n return \n}\n\nfunction AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props) {\n return (\n \n )\n}\n\nfunction AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props) {\n return (\n \n )\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: AlertDialogPrimitive.Backdrop.Props) {\n return (\n \n )\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Popup.Props & {\n size?: \"default\" | \"sm\"\n}) {\n return (\n \n \n \n \n )\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction AlertDialogMedia({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n )\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n )\n}\n\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n )\n}\n\nfunction AlertDialogCancel({\n className,\n variant = \"outline\",\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Close.Props &\n Pick, \"variant\" | \"size\">) {\n return (\n }\n {...props}\n />\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n}\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/alert-dialog/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/alert-examples.json b/public/r/react/styles/base-luma/alert-examples.json deleted file mode 100644 index dc5eeedfc..000000000 --- a/public/r/react/styles/base-luma/alert-examples.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "alert-examples", - "title": "Alert examples", - "description": "The examples from the shadcn/ui Alert docs.", - "dependencies": [ - "cn", - "lucide-react" - ], - "registryDependencies": [ - "@fulldev/alert", - "@fulldev/button", - "@fulldev/select" - ], - "files": [ - { - "path": "src/components/examples/alert/alert-action.tsx", - "content": "import {\n Alert,\n AlertAction,\n AlertDescription,\n AlertTitle,\n} from \"@/components/ui/alert\"\nimport { Button } from \"@/components/ui/button\"\n\nexport function AlertActionExample() {\n return (\n \n Dark mode is now available\n \n Enable it under your profile settings to get started.\n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/alert/alert-basic.tsx", - "content": "import { CheckCircle2Icon } from \"lucide-react\"\n\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\"\n\nexport function AlertBasic() {\n return (\n \n \n Account updated successfully\n \n Your profile information has been saved. Changes will be reflected\n immediately.\n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/alert/alert-colors.tsx", - "content": "import { AlertTriangleIcon } from \"lucide-react\"\n\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\"\n\nexport function AlertColors() {\n return (\n \n \n Your subscription will expire in 3 days.\n \n Renew now to avoid service interruption or upgrade to a paid plan to\n continue using the service.\n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/alert/alert-demo.tsx", - "content": "import { CheckCircle2Icon, InfoIcon } from \"lucide-react\"\n\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\"\n\nexport function AlertDemo() {\n return (\n
\n \n \n Payment successful\n \n Your payment of $29.99 has been processed. A receipt has been sent to\n your email address.\n \n \n \n \n New feature available\n \n We've added dark mode support. You can enable it in your account\n settings.\n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/alert/alert-destructive.tsx", - "content": "import { AlertCircleIcon } from \"lucide-react\"\n\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\"\n\nexport function AlertDestructive() {\n return (\n \n \n Payment failed\n \n Your payment could not be processed. Please check your payment method\n and try again.\n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/alert/alert-rtl.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { CheckCircle2Icon, InfoIcon } from \"lucide-react\"\n\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {\n paymentTitle: \"Payment successful\",\n paymentDescription:\n \"Your payment of $29.99 has been processed. A receipt has been sent to your email address.\",\n featureTitle: \"New feature available\",\n featureDescription:\n \"We've added dark mode support. You can enable it in your account settings.\",\n },\n },\n ar: {\n dir: \"rtl\",\n values: {\n paymentTitle: \"تم الدفع بنجاح\",\n paymentDescription:\n \"تمت معالجة دفعتك البالغة 29.99 دولارًا. تم إرسال إيصال إلى عنوان بريدك الإلكتروني.\",\n featureTitle: \"ميزة جديدة متاحة\",\n featureDescription:\n \"لقد أضفنا دعم الوضع الداكن. يمكنك تفعيله في إعدادات حسابك.\",\n },\n },\n he: {\n dir: \"rtl\",\n values: {\n paymentTitle: \"התשלום בוצע בהצלחה\",\n paymentDescription:\n \"התשלום שלך בסך 29.99 דולר עובד. קבלה נשלחה לכתובת האימייל שלך.\",\n featureTitle: \"תכונה חדשה זמינה\",\n featureDescription:\n \"הוספנו תמיכה במצב כהה. אתה יכול להפעיל אותו בהגדרות החשבון שלך.\",\n },\n },\n}\n\nconst alerts = [\n {\n icon: CheckCircle2Icon,\n titleKey: \"paymentTitle\" as const,\n descriptionKey: \"paymentDescription\" as const,\n },\n {\n icon: InfoIcon,\n titleKey: \"featureTitle\" as const,\n descriptionKey: \"featureDescription\" as const,\n },\n] as const\n\nexport function AlertRtl() {\n const { dir, t } = useTranslation(translations, \"ar\")\n\n return (\n
\n {alerts.map((alert, index) => {\n const Icon = alert.icon\n return (\n \n \n {t[alert.titleKey]}\n {t[alert.descriptionKey]}\n \n )\n })}\n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/alert/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/alert.json b/public/r/react/styles/base-luma/alert.json deleted file mode 100644 index bc7a2fb54..000000000 --- a/public/r/react/styles/base-luma/alert.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "alert", - "title": "Alert", - "description": "Displays a callout for user attention.", - "dependencies": [ - "class-variance-authority", - "cn" - ], - "files": [ - { - "path": "src/components/ui/alert.tsx", - "content": "import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"cn\"\n\nconst alertVariants = cva(\"grid gap-0.5 rounded-2xl border px-4 py-3 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 group/alert relative w-full\", {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive: \"text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n})\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps) {\n return (\n \n )\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction AlertAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nexport { Alert, AlertTitle, AlertDescription, AlertAction }\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/alert/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/article-1.json b/public/r/react/styles/base-luma/article-1.json index 72c6789be..ac0534c4b 100644 --- a/public/r/react/styles/base-luma/article-1.json +++ b/public/r/react/styles/base-luma/article-1.json @@ -4,7 +4,7 @@ "title": "Article 1", "description": "Editorial article layouts for long-form stories, interviews, and analysis.", "registryDependencies": [ - "@fulldev/avatar", + "avatar", "@fulldev/section" ], "files": [ diff --git a/public/r/react/styles/base-luma/article-2.json b/public/r/react/styles/base-luma/article-2.json index 35afdfbf4..f48d24eb0 100644 --- a/public/r/react/styles/base-luma/article-2.json +++ b/public/r/react/styles/base-luma/article-2.json @@ -4,7 +4,7 @@ "title": "Article 2", "description": "Editorial article layouts for long-form stories, interviews, and analysis.", "registryDependencies": [ - "@fulldev/avatar", + "avatar", "@fulldev/section" ], "files": [ diff --git a/public/r/react/styles/base-luma/articles-1.json b/public/r/react/styles/base-luma/articles-1.json index 6d08b90ac..d25073663 100644 --- a/public/r/react/styles/base-luma/articles-1.json +++ b/public/r/react/styles/base-luma/articles-1.json @@ -7,7 +7,7 @@ "cn" ], "registryDependencies": [ - "@fulldev/avatar", + "avatar", "@fulldev/section" ], "files": [ diff --git a/public/r/react/styles/base-luma/articles-2.json b/public/r/react/styles/base-luma/articles-2.json index 8dc136d84..abf886292 100644 --- a/public/r/react/styles/base-luma/articles-2.json +++ b/public/r/react/styles/base-luma/articles-2.json @@ -7,8 +7,8 @@ "cn" ], "registryDependencies": [ - "@fulldev/avatar", - "@fulldev/badge", + "avatar", + "badge", "@fulldev/section" ], "files": [ diff --git a/public/r/react/styles/base-luma/articles-3.json b/public/r/react/styles/base-luma/articles-3.json index 61b4dde41..74c0f116d 100644 --- a/public/r/react/styles/base-luma/articles-3.json +++ b/public/r/react/styles/base-luma/articles-3.json @@ -7,7 +7,7 @@ "cn" ], "registryDependencies": [ - "@fulldev/avatar", + "avatar", "@fulldev/section" ], "files": [ diff --git a/public/r/react/styles/base-luma/articles-4.json b/public/r/react/styles/base-luma/articles-4.json index eb8bd0c5a..8287c2929 100644 --- a/public/r/react/styles/base-luma/articles-4.json +++ b/public/r/react/styles/base-luma/articles-4.json @@ -7,7 +7,7 @@ "cn" ], "registryDependencies": [ - "@fulldev/avatar", + "avatar", "@fulldev/section" ], "files": [ diff --git a/public/r/react/styles/base-luma/aspect-ratio-examples.json b/public/r/react/styles/base-luma/aspect-ratio-examples.json deleted file mode 100644 index af8ad813d..000000000 --- a/public/r/react/styles/base-luma/aspect-ratio-examples.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "aspect-ratio-examples", - "title": "Aspect Ratio examples", - "description": "The examples from the shadcn/ui Aspect Ratio docs.", - "dependencies": [ - "cn" - ], - "registryDependencies": [ - "@fulldev/aspect-ratio", - "@fulldev/select" - ], - "files": [ - { - "path": "src/components/examples/aspect-ratio/aspect-ratio-demo.tsx", - "content": "import { AspectRatio } from \"@/components/ui/aspect-ratio\"\n\nexport function AspectRatioDemo() {\n return (\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/aspect-ratio/aspect-ratio-portrait.tsx", - "content": "import { AspectRatio } from \"@/components/ui/aspect-ratio\"\n\nexport function AspectRatioPortrait() {\n return (\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/aspect-ratio/aspect-ratio-rtl.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { AspectRatio } from \"@/components/ui/aspect-ratio\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {\n caption: \"Beautiful landscape\",\n },\n },\n ar: {\n dir: \"rtl\",\n values: {\n caption: \"منظر طبيعي جميل\",\n },\n },\n he: {\n dir: \"rtl\",\n values: {\n caption: \"נוף יפה\",\n },\n },\n}\n\nexport function AspectRatioRtl() {\n const { dir, t } = useTranslation(translations, \"ar\")\n\n return (\n
\n \n \n \n
\n {t.caption}\n
\n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/aspect-ratio/aspect-ratio-square.tsx", - "content": "import { AspectRatio } from \"@/components/ui/aspect-ratio\"\n\nexport function AspectRatioSquare() {\n return (\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/aspect-ratio/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/aspect-ratio.json b/public/r/react/styles/base-luma/aspect-ratio.json deleted file mode 100644 index 011cf513d..000000000 --- a/public/r/react/styles/base-luma/aspect-ratio.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "aspect-ratio", - "title": "Aspect Ratio", - "description": "Displays content within a desired ratio.", - "dependencies": [ - "cn" - ], - "files": [ - { - "path": "src/components/ui/aspect-ratio.tsx", - "content": "import { cn } from \"cn\"\n\nfunction AspectRatio({\n ratio,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & { ratio: number }) {\n return (\n \n )\n}\n\nexport { AspectRatio }\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/aspect-ratio/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/attachment-examples.json b/public/r/react/styles/base-luma/attachment-examples.json deleted file mode 100644 index 0f38e2ed6..000000000 --- a/public/r/react/styles/base-luma/attachment-examples.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "attachment-examples", - "title": "Attachment examples", - "description": "The examples from the shadcn/ui Attachment docs.", - "dependencies": [ - "lucide-react" - ], - "registryDependencies": [ - "@fulldev/attachment", - "@fulldev/dialog", - "@fulldev/spinner" - ], - "files": [ - { - "path": "src/components/examples/attachment/attachment-demo.tsx", - "content": "import { FileCodeIcon, XIcon } from \"lucide-react\"\n\nimport {\n Attachment,\n AttachmentAction,\n AttachmentActions,\n AttachmentContent,\n AttachmentDescription,\n AttachmentGroup,\n AttachmentMedia,\n AttachmentTitle,\n} from \"@/components/ui/attachment\"\nimport { Spinner } from \"@/components/ui/spinner\"\n\nconst images = [\n {\n name: \"workspace.png\",\n meta: \"PNG · 820 KB\",\n src: \"https://images.unsplash.com/photo-1497366754035-f200968a6e72?w=900&auto=format&fit=crop&q=80\",\n alt: \"Workspace\",\n },\n {\n name: \"desk-reference.jpg\",\n meta: \"JPG · 1.1 MB\",\n src: \"https://images.unsplash.com/photo-1497215728101-856f4ea42174?w=900&auto=format&fit=crop&q=80\",\n alt: \"Desk\",\n },\n {\n name: \"office-reference.jpg\",\n meta: \"JPG · 940 KB\",\n src: \"https://images.unsplash.com/photo-1497366811353-6870744d04b2?w=900&auto=format&fit=crop&q=80\",\n alt: \"Office\",\n },\n]\n\nexport function AttachmentDemo() {\n return (\n
\n \n {images.map((image) => (\n \n \n {image.alt}\n \n \n {image.name}\n {image.meta}\n \n \n ))}\n \n \n \n \n \n \n sales-dashboard.pdf\n Uploading · 64%\n \n \n \n \n \n \n \n \n \n \n \n \n message-renderer.tsx\n TypeScript · 12 KB\n \n \n \n \n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/attachment/attachment-group.tsx", - "content": "import {\n FileCodeIcon,\n FileTextIcon,\n TableIcon,\n XIcon,\n type LucideIcon,\n} from \"lucide-react\"\n\nimport {\n Attachment,\n AttachmentAction,\n AttachmentActions,\n AttachmentContent,\n AttachmentDescription,\n AttachmentGroup,\n AttachmentMedia,\n AttachmentTitle,\n} from \"@/components/ui/attachment\"\n\ntype Item = {\n name: string\n meta: string\n icon?: LucideIcon\n src?: string\n}\n\nconst items: Item[] = [\n { name: \"briefing-notes.pdf\", meta: \"PDF · 1.4 MB\", icon: FileTextIcon },\n {\n name: \"workspace.png\",\n meta: \"PNG · 820 KB\",\n src: \"https://images.unsplash.com/photo-1497366754035-f200968a6e72?w=900&auto=format&fit=crop&q=80\",\n },\n { name: \"customers.csv\", meta: \"CSV · 18 KB\", icon: TableIcon },\n { name: \"renderer.tsx\", meta: \"TSX · 12 KB\", icon: FileCodeIcon },\n]\n\nexport function AttachmentGroupDemo() {\n return (\n
\n \n {items.map((item) => {\n const Icon = item.icon\n\n return (\n \n {item.src ? (\n \n {item.name}\n \n ) : Icon ? (\n \n \n \n ) : null}\n \n {item.name}\n {item.meta}\n \n \n \n \n \n \n \n )\n })}\n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/attachment/attachment-image.tsx", - "content": "import { XIcon } from \"lucide-react\"\n\nimport {\n Attachment,\n AttachmentAction,\n AttachmentActions,\n AttachmentContent,\n AttachmentDescription,\n AttachmentGroup,\n AttachmentMedia,\n AttachmentTitle,\n AttachmentTrigger,\n} from \"@/components/ui/attachment\"\n\nconst images = [\n {\n name: \"workspace.png\",\n meta: \"PNG · 820 KB\",\n src: \"https://images.unsplash.com/photo-1497366754035-f200968a6e72?w=900&auto=format&fit=crop&q=80\",\n alt: \"Workspace\",\n },\n {\n name: \"desk-reference.jpg\",\n meta: \"JPG · 1.1 MB\",\n src: \"https://images.unsplash.com/photo-1497215728101-856f4ea42174?w=900&auto=format&fit=crop&q=80\",\n alt: \"Desk\",\n },\n {\n name: \"office-reference.jpg\",\n meta: \"JPG · 940 KB\",\n src: \"https://images.unsplash.com/photo-1497366811353-6870744d04b2?w=900&auto=format&fit=crop&q=80\",\n alt: \"Office\",\n },\n]\n\nexport function AttachmentImage() {\n return (\n
\n \n {images.map((image) => (\n \n \n {image.alt}\n \n \n {image.name}\n {image.meta}\n \n \n \n \n \n \n \n }\n />\n \n ))}\n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/attachment/attachment-sizes.tsx", - "content": "import { FileTextIcon } from \"lucide-react\"\n\nimport {\n Attachment,\n AttachmentContent,\n AttachmentDescription,\n AttachmentMedia,\n AttachmentTitle,\n} from \"@/components/ui/attachment\"\n\nexport function AttachmentSizes() {\n return (\n
\n \n \n \n \n \n Default attachment\n PDF · 2.4 MB\n \n \n \n \n \n \n \n Small attachment\n PDF · 2.4 MB\n \n \n \n \n \n \n \n Extra small attachment\n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/attachment/attachment-states.tsx", - "content": "import {\n CheckIcon,\n ClockIcon,\n FileTextIcon,\n FileWarningIcon,\n RefreshCwIcon,\n XIcon,\n} from \"lucide-react\"\n\nimport {\n Attachment,\n AttachmentAction,\n AttachmentActions,\n AttachmentContent,\n AttachmentDescription,\n AttachmentMedia,\n AttachmentTitle,\n} from \"@/components/ui/attachment\"\nimport { Spinner } from \"@/components/ui/spinner\"\n\nexport function AttachmentStates() {\n return (\n
\n \n \n \n \n \n selected-file.pdf\n Ready to upload\n \n \n \n \n \n \n \n \n \n \n \n \n design-system.zip\n Uploading · 64%\n \n \n \n \n \n \n \n \n \n \n \n \n market-research.pdf\n Processing document\n \n \n \n \n \n \n \n \n \n \n \n \n financial-model.xlsx\n \n Upload failed. Try again.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n uploaded-report.pdf\n Uploaded · 1.8 MB\n \n \n \n \n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/attachment/attachment-trigger.tsx", - "content": "import { CopyIcon, FileSearchIcon, XIcon } from \"lucide-react\"\n\nimport {\n Attachment,\n AttachmentAction,\n AttachmentActions,\n AttachmentContent,\n AttachmentDescription,\n AttachmentMedia,\n AttachmentTitle,\n AttachmentTrigger,\n} from \"@/components/ui/attachment\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"@/components/ui/dialog\"\n\nexport function AttachmentTriggerDemo() {\n return (\n
\n \n \n \n \n \n \n research-summary.pdf\n Open preview dialog\n \n \n \n \n \n \n \n \n \n \n }\n />\n \n \n \n research-summary.pdf\n \n The attachment trigger fills the card and opens the dialog, while\n the actions stay independently clickable above it.\n \n \n \n \n
\n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/attachment/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/attachment.json b/public/r/react/styles/base-luma/attachment.json deleted file mode 100644 index 0b253c7f6..000000000 --- a/public/r/react/styles/base-luma/attachment.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "attachment", - "title": "Attachment", - "description": "Displays a file or image attachment with media, metadata, state, and actions.", - "dependencies": [ - "@base-ui/react", - "class-variance-authority", - "cn" - ], - "registryDependencies": [ - "@fulldev/button" - ], - "files": [ - { - "path": "src/components/ui/attachment.tsx", - "content": "import * as React from \"react\"\nimport { mergeProps } from \"@base-ui/react/merge-props\"\nimport { useRender } from \"@base-ui/react/use-render\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"cn\"\n\nimport { Button } from \"@/components/ui/button\"\n\nconst attachmentVariants = cva(\n \"rounded-3xl w-fit focus-within:ring-1 focus-within:ring-ring/30 group/attachment relative flex max-w-full min-w-0 shrink-0 flex-wrap border bg-card text-card-foreground transition-colors has-[>a,>button]:hover:bg-muted/50 data-[state=error]:border-destructive/30 data-[state=idle]:border-dashed\",\n {\n variants: {\n size: {\n default: \"gap-2 has-data-[slot=attachment-content]:px-2.5 has-data-[slot=attachment-content]:py-2 has-data-[slot=attachment-media]:p-2 text-sm\",\n sm: \"gap-2.5 has-data-[slot=attachment-content]:px-2 has-data-[slot=attachment-content]:py-1.5 has-data-[slot=attachment-media]:p-1.5 text-xs\",\n xs: \"gap-1.5 has-data-[slot=attachment-content]:px-1.5 has-data-[slot=attachment-content]:py-1 has-data-[slot=attachment-media]:p-1 text-xs rounded-2xl\",\n },\n orientation: {\n horizontal: \"min-w-40 items-center\",\n vertical: \"w-24 has-data-[slot=attachment-content]:w-30 flex-col\",\n },\n },\n }\n)\n\nfunction Attachment({\n className,\n state = \"done\",\n size = \"default\",\n orientation = \"horizontal\",\n ...props\n}: React.ComponentProps<\"div\"> &\n VariantProps & {\n state?: \"idle\" | \"uploading\" | \"processing\" | \"error\" | \"done\"\n }) {\n return (\n \n )\n}\n\nconst attachmentMediaVariants = cva(\n \"bg-muted text-foreground w-10 rounded-2xl group-data-[size=sm]/attachment:w-8 group-data-[size=xs]/attachment:w-7 group-data-[size=xs]/attachment:rounded-xl [&_svg:not([class*='size-'])]:size-4 group-data-[size=xs]/attachment:[&_svg:not([class*='size-'])]:size-3.5 group-data-[orientation=vertical]/attachment:w-full group-data-[orientation=vertical]/attachment:[&_svg:not([class*='size-'])]:size-6 group-data-[orientation=vertical]/attachment:*:data-[slot=spinner]:size-6! relative flex aspect-square shrink-0 items-center justify-center overflow-hidden group-data-[state=error]/attachment:bg-destructive/10 group-data-[state=error]/attachment:text-destructive [&_svg]:pointer-events-none\",\n {\n variants: {\n variant: {\n icon: \"\",\n image:\n \"opacity-60 group-data-[state=idle]/attachment:opacity-100 group-data-[state=done]/attachment:opacity-100 *:[img]:aspect-square *:[img]:w-full *:[img]:object-cover\",\n },\n },\n defaultVariants: {\n variant: \"icon\",\n },\n }\n)\n\nfunction AttachmentMedia({\n className,\n variant = \"icon\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps) {\n return (\n \n )\n}\n\nfunction AttachmentContent({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction AttachmentTitle({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n \n )\n}\n\nfunction AttachmentDescription({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n \n )\n}\n\nfunction AttachmentActions({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction AttachmentAction({\n className,\n variant,\n size = \"icon-xs\",\n ...props\n}: React.ComponentProps) {\n return (\n \n )\n}\n\nfunction AttachmentTrigger({\n className,\n render,\n type,\n ...props\n}: useRender.ComponentProps<\"button\">) {\n return useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n type: render ? type : (type ?? \"button\"),\n className: cn(\n \"absolute inset-0 z-10 outline-none\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"attachment-trigger\",\n },\n })\n}\n\nfunction AttachmentGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nexport {\n Attachment,\n AttachmentGroup,\n AttachmentMedia,\n AttachmentContent,\n AttachmentTitle,\n AttachmentDescription,\n AttachmentActions,\n AttachmentAction,\n AttachmentTrigger,\n}\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/attachment/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/avatar-examples.json b/public/r/react/styles/base-luma/avatar-examples.json deleted file mode 100644 index dc7a94ec9..000000000 --- a/public/r/react/styles/base-luma/avatar-examples.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "avatar-examples", - "title": "Avatar examples", - "description": "The examples from the shadcn/ui Avatar docs.", - "dependencies": [ - "cn", - "lucide-react" - ], - "registryDependencies": [ - "@fulldev/avatar", - "@fulldev/button", - "@fulldev/dropdown-menu", - "@fulldev/select" - ], - "files": [ - { - "path": "src/components/examples/avatar/avatar-badge-icon.tsx", - "content": "import { PlusIcon } from \"lucide-react\"\n\nimport {\n Avatar,\n AvatarBadge,\n AvatarFallback,\n AvatarImage,\n} from \"@/components/ui/avatar\"\n\nexport function AvatarBadgeIconExample() {\n return (\n \n \n PP\n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/avatar/avatar-badge.tsx", - "content": "import {\n Avatar,\n AvatarBadge,\n AvatarFallback,\n AvatarImage,\n} from \"@/components/ui/avatar\"\n\nexport function AvatarWithBadge() {\n return (\n \n \n CN\n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/avatar/avatar-basic.tsx", - "content": "import { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar\"\n\nexport function AvatarDemo() {\n return (\n \n \n CN\n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/avatar/avatar-demo.tsx", - "content": "import {\n Avatar,\n AvatarBadge,\n AvatarFallback,\n AvatarGroup,\n AvatarGroupCount,\n AvatarImage,\n} from \"@/components/ui/avatar\"\n\nexport function AvatarDemo() {\n return (\n
\n \n \n CN\n \n \n \n ER\n \n \n \n \n \n CN\n \n \n \n LR\n \n \n \n ER\n \n +3\n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/avatar/avatar-dropdown.tsx", - "content": "\"use client\"\n\nimport { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\"\n\nexport function AvatarDropdown() {\n return (\n \n }\n >\n \n \n CN\n \n \n \n \n Profile\n Billing\n Settings\n \n \n \n Log out\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/avatar/avatar-group-count-icon.tsx", - "content": "import { PlusIcon } from \"lucide-react\"\n\nimport {\n Avatar,\n AvatarFallback,\n AvatarGroup,\n AvatarGroupCount,\n AvatarImage,\n} from \"@/components/ui/avatar\"\n\nexport function AvatarGroupCountIconExample() {\n return (\n \n \n \n CN\n \n \n \n LR\n \n \n \n ER\n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/avatar/avatar-group-count.tsx", - "content": "import {\n Avatar,\n AvatarFallback,\n AvatarGroup,\n AvatarGroupCount,\n AvatarImage,\n} from \"@/components/ui/avatar\"\n\nexport function AvatarGroupCountExample() {\n return (\n \n \n \n CN\n \n \n \n LR\n \n \n \n ER\n \n +3\n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/avatar/avatar-group.tsx", - "content": "import {\n Avatar,\n AvatarFallback,\n AvatarGroup,\n AvatarImage,\n} from \"@/components/ui/avatar\"\n\nexport function AvatarGroupExample() {\n return (\n \n \n \n CN\n \n \n \n LR\n \n \n \n ER\n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/avatar/avatar-rtl.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport {\n Avatar,\n AvatarBadge,\n AvatarFallback,\n AvatarGroup,\n AvatarGroupCount,\n AvatarImage,\n} from \"@/components/ui/avatar\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {\n moreUsers: \"+3\",\n },\n },\n ar: {\n dir: \"rtl\",\n values: {\n moreUsers: \"+٣\",\n },\n },\n he: {\n dir: \"rtl\",\n values: {\n moreUsers: \"+3\",\n },\n },\n}\n\nexport function AvatarRtl() {\n const { dir, t } = useTranslation(translations, \"ar\")\n\n return (\n \n \n \n CN\n \n \n \n ER\n \n \n \n \n \n CN\n \n \n \n LR\n \n \n \n ER\n \n {t.moreUsers}\n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/avatar/avatar-size.tsx", - "content": "import { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar\"\n\nexport function AvatarSizeExample() {\n return (\n
\n \n \n CN\n \n \n \n CN\n \n \n \n CN\n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/avatar/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/avatar.json b/public/r/react/styles/base-luma/avatar.json deleted file mode 100644 index e7c29b38c..000000000 --- a/public/r/react/styles/base-luma/avatar.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "avatar", - "title": "Avatar", - "description": "An image element with a fallback for representing the user.", - "dependencies": [ - "@base-ui/react", - "cn" - ], - "files": [ - { - "path": "src/components/ui/avatar.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Avatar as AvatarPrimitive } from \"@base-ui/react/avatar\"\nimport { cn } from \"cn\"\n\nfunction Avatar({\n className,\n size = \"default\",\n ...props\n}: AvatarPrimitive.Root.Props & {\n size?: \"default\" | \"sm\" | \"lg\"\n}) {\n return (\n \n )\n}\n\nfunction AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props) {\n return (\n \n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: AvatarPrimitive.Fallback.Props) {\n return (\n \n )\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n svg]:hidden\",\n \"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction AvatarGroupCount({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3 relative flex shrink-0 items-center justify-center ring-2 ring-background\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Avatar,\n AvatarImage,\n AvatarFallback,\n AvatarGroup,\n AvatarGroupCount,\n AvatarBadge,\n}\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/avatar/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/badge-examples.json b/public/r/react/styles/base-luma/badge-examples.json deleted file mode 100644 index d9f53ea22..000000000 --- a/public/r/react/styles/base-luma/badge-examples.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "badge-examples", - "title": "Badge examples", - "description": "The examples from the shadcn/ui Badge docs.", - "dependencies": [ - "cn", - "lucide-react" - ], - "registryDependencies": [ - "@fulldev/badge", - "@fulldev/select", - "@fulldev/spinner" - ], - "files": [ - { - "path": "src/components/examples/badge/badge-colors.tsx", - "content": "import { Badge } from \"@/components/ui/badge\"\n\nexport function BadgeCustomColors() {\n return (\n
\n \n Blue\n \n \n Green\n \n \n Sky\n \n \n Purple\n \n \n Red\n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/badge/badge-demo.tsx", - "content": "import { Badge } from \"@/components/ui/badge\"\n\nexport function BadgeDemo() {\n return (\n
\n Badge\n Secondary\n Destructive\n Outline\n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/badge/badge-icon.tsx", - "content": "import { BadgeCheck, BookmarkIcon } from \"lucide-react\"\n\nimport { Badge } from \"@/components/ui/badge\"\n\nexport function BadgeWithIconLeft() {\n return (\n
\n \n \n Verified\n \n \n Bookmark\n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/badge/badge-link.tsx", - "content": "import { ArrowUpRightIcon } from \"lucide-react\"\n\nimport { Badge } from \"@/components/ui/badge\"\n\nexport function BadgeAsLink() {\n return (\n }>\n Open Link \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/badge/badge-rtl.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { BadgeCheck, BookmarkIcon } from \"lucide-react\"\n\nimport { Badge } from \"@/components/ui/badge\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {\n badge: \"Badge\",\n secondary: \"Secondary\",\n destructive: \"Destructive\",\n outline: \"Outline\",\n verified: \"Verified\",\n bookmark: \"Bookmark\",\n },\n },\n ar: {\n dir: \"rtl\",\n values: {\n badge: \"شارة\",\n secondary: \"ثانوي\",\n destructive: \"مدمر\",\n outline: \"مخطط\",\n verified: \"متحقق\",\n bookmark: \"إشارة مرجعية\",\n },\n },\n he: {\n dir: \"rtl\",\n values: {\n badge: \"תג\",\n secondary: \"משני\",\n destructive: \"הרסני\",\n outline: \"קווי מתאר\",\n verified: \"מאומת\",\n bookmark: \"סימנייה\",\n },\n },\n}\n\nexport function BadgeRtl() {\n const { dir, t } = useTranslation(translations, \"ar\")\n\n return (\n
\n {t.badge}\n {t.secondary}\n {t.destructive}\n {t.outline}\n \n \n {t.verified}\n \n \n {t.bookmark}\n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/badge/badge-spinner.tsx", - "content": "import { Badge } from \"@/components/ui/badge\"\nimport { Spinner } from \"@/components/ui/spinner\"\n\nexport function BadgeWithSpinner() {\n return (\n
\n \n \n Deleting\n \n \n Generating\n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/badge/badge-variants.tsx", - "content": "import { Badge } from \"@/components/ui/badge\"\n\nexport function BadgeVariants() {\n return (\n
\n Default\n Secondary\n Destructive\n Outline\n Ghost\n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/badge/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/badge.json b/public/r/react/styles/base-luma/badge.json deleted file mode 100644 index 6420163ee..000000000 --- a/public/r/react/styles/base-luma/badge.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "badge", - "title": "Badge", - "description": "Displays a badge or a component that looks like a badge.", - "dependencies": [ - "@base-ui/react", - "class-variance-authority", - "cn" - ], - "files": [ - { - "path": "src/components/ui/badge.tsx", - "content": "import { mergeProps } from \"@base-ui/react/merge-props\"\nimport { useRender } from \"@base-ui/react/use-render\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"cn\"\n\nconst badgeVariants = cva(\n \"h-5 gap-1 rounded-3xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! group/badge inline-flex w-fit shrink-0 items-center justify-center overflow-hidden whitespace-nowrap focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a]:hover:bg-primary/80\",\n secondary: \"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80\",\n destructive: \"bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20\",\n outline: \"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground\",\n ghost: \"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Badge({\n className,\n variant = \"default\",\n render,\n ...props\n}: useRender.ComponentProps<\"span\"> & VariantProps) {\n return useRender({\n defaultTagName: \"span\",\n props: mergeProps<\"span\">(\n {\n className: cn(badgeVariants({ variant }), className),\n },\n props\n ),\n render,\n state: {\n slot: \"badge\",\n variant,\n },\n })\n}\n\nexport { Badge, badgeVariants }\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/badge/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/banner-2.json b/public/r/react/styles/base-luma/banner-2.json index ccc3eda90..6c3e8d7dc 100644 --- a/public/r/react/styles/base-luma/banner-2.json +++ b/public/r/react/styles/base-luma/banner-2.json @@ -7,8 +7,8 @@ "cn" ], "registryDependencies": [ - "@fulldev/banner", - "@fulldev/button" + "button", + "@fulldev/banner" ], "files": [ { diff --git a/public/r/react/styles/base-luma/base.json b/public/r/react/styles/base-luma/base.json deleted file mode 100644 index 73ac3f84c..000000000 --- a/public/r/react/styles/base-luma/base.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "extends": "none", - "name": "base", - "title": "Base", - "description": "Sets up a new project with `shadcn init`: style, registry, theme, class helper, and dependencies.", - "dependencies": [ - "class-variance-authority", - "cn", - "shadcn", - "tw-animate-css" - ], - "files": [ - { - "path": "src/lib/utils.ts", - "content": "export { cn } from \"cn\"\n", - "type": "registry:lib" - } - ], - "cssVars": { - "theme": { - "font-heading": "var(--font-sans)" - }, - "light": { - "background": "oklch(1 0 0)", - "foreground": "oklch(0.145 0 0)", - "card": "oklch(1 0 0)", - "card-foreground": "oklch(0.145 0 0)", - "popover": "oklch(1 0 0)", - "popover-foreground": "oklch(0.145 0 0)", - "primary": "oklch(0.5488 0.2498 261.783)", - "primary-foreground": "oklch(1 0 0)", - "secondary": "oklch(0.97 0 0)", - "secondary-foreground": "oklch(0.205 0 0)", - "muted": "oklch(0.97 0 0)", - "muted-foreground": "oklch(0.556 0 0)", - "accent": "oklch(0.97 0 0)", - "accent-foreground": "oklch(0.205 0 0)", - "destructive": "oklch(0.577 0.245 27.325)", - "border": "oklch(0.922 0 0)", - "input": "oklch(0.922 0 0)", - "ring": "oklch(0.708 0 0)", - "chart-1": "oklch(0.81 0.1 252)", - "chart-2": "oklch(0.62 0.19 260)", - "chart-3": "oklch(0.55 0.22 263)", - "chart-4": "oklch(0.49 0.22 264)", - "chart-5": "oklch(0.42 0.18 266)", - "sidebar": "oklch(0.985 0 0)", - "sidebar-foreground": "oklch(0.145 0 0)", - "sidebar-primary": "oklch(0.5488 0.2498 261.783)", - "sidebar-primary-foreground": "oklch(1 0 0)", - "sidebar-accent": "oklch(0.97 0 0)", - "sidebar-accent-foreground": "oklch(0.205 0 0)", - "sidebar-border": "oklch(0.922 0 0)", - "sidebar-ring": "oklch(0.708 0 0)", - "radius": "0.625rem", - "shadow-2xs": "0 1px 3px 0px hsl(0 0% 0% / 0.05)", - "shadow-xs": "0 1px 3px 0px hsl(0 0% 0% / 0.05)", - "shadow-sm": "0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1)", - "shadow": "0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1)", - "shadow-md": "0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 2px 4px -1px hsl(0 0% 0% / 0.1)", - "shadow-lg": "0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 4px 6px -1px hsl(0 0% 0% / 0.1)", - "shadow-xl": "0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 8px 10px -1px hsl(0 0% 0% / 0.1)", - "shadow-2xl": "0 1px 3px 0px hsl(0 0% 0% / 0.25)" - }, - "dark": { - "background": "oklch(0.145 0 0)", - "foreground": "oklch(0.985 0 0)", - "card": "oklch(0.205 0 0)", - "card-foreground": "oklch(0.985 0 0)", - "popover": "oklch(0.269 0 0)", - "popover-foreground": "oklch(0.985 0 0)", - "primary": "oklch(0.686 0.2105 41.139)", - "primary-foreground": "oklch(1 0 0)", - "secondary": "oklch(0.269 0 0)", - "secondary-foreground": "oklch(0.985 0 0)", - "muted": "oklch(0.269 0 0)", - "muted-foreground": "oklch(0.708 0 0)", - "accent": "oklch(0.371 0 0)", - "accent-foreground": "oklch(0.985 0 0)", - "destructive": "oklch(0.704 0.191 22.216)", - "border": "oklch(0.275 0 0)", - "input": "oklch(0.325 0 0)", - "ring": "oklch(0.556 0 0)", - "chart-1": "oklch(0.81 0.1 252)", - "chart-2": "oklch(0.62 0.19 260)", - "chart-3": "oklch(0.55 0.22 263)", - "chart-4": "oklch(0.49 0.22 264)", - "chart-5": "oklch(0.42 0.18 266)", - "sidebar": "oklch(0.205 0 0)", - "sidebar-foreground": "oklch(0.985 0 0)", - "sidebar-primary": "oklch(0.686 0.2105 41.139)", - "sidebar-primary-foreground": "oklch(1 0 0)", - "sidebar-accent": "oklch(0.269 0 0)", - "sidebar-accent-foreground": "oklch(0.985 0 0)", - "sidebar-border": "oklch(0.275 0 0)", - "sidebar-ring": "oklch(0.439 0 0)", - "shadow-2xs": "0 1px 3px 0px hsl(0 0% 0% / 0.05)", - "shadow-xs": "0 1px 3px 0px hsl(0 0% 0% / 0.05)", - "shadow-sm": "0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1)", - "shadow": "0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1)", - "shadow-md": "0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 2px 4px -1px hsl(0 0% 0% / 0.1)", - "shadow-lg": "0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 4px 6px -1px hsl(0 0% 0% / 0.1)", - "shadow-xl": "0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 8px 10px -1px hsl(0 0% 0% / 0.1)", - "shadow-2xl": "0 1px 3px 0px hsl(0 0% 0% / 0.25)" - } - }, - "css": { - "@import \"tw-animate-css\"": {}, - "@import \"shadcn/tailwind.css\"": {}, - "@layer base": { - "*": { - "@apply border-border outline-ring/50": {} - }, - "html": { - "@apply font-sans": {} - }, - "body": { - "@apply bg-background text-foreground": {} - } - }, - "@media (prefers-reduced-motion: reduce)": { - "*, ::before, ::after": { - "animation-duration": "0.01ms !important", - "animation-iteration-count": "1 !important", - "transition-duration": "0.01ms !important", - "scroll-behavior": "auto !important" - } - } - }, - "docs": "https://ui.full.dev/react/docs/installation/", - "type": "registry:base", - "config": { - "style": "base-luma", - "tailwind": { - "baseColor": "neutral" - }, - "iconLibrary": "lucide", - "registries": { - "@fulldev": "https://ui.full.dev/r/react/styles/{style}/{name}.json" - } - } -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/blocks-1.json b/public/r/react/styles/base-luma/blocks-1.json index 2ca16d584..601e53eb3 100644 --- a/public/r/react/styles/base-luma/blocks-1.json +++ b/public/r/react/styles/base-luma/blocks-1.json @@ -8,8 +8,8 @@ "simple-icons" ], "registryDependencies": [ - "@fulldev/button", - "@fulldev/dropdown-menu", + "button", + "dropdown-menu", "@fulldev/section", "@fulldev/typography" ], diff --git a/public/r/react/styles/base-luma/breadcrumb-examples.json b/public/r/react/styles/base-luma/breadcrumb-examples.json deleted file mode 100644 index 2f0b2d0e1..000000000 --- a/public/r/react/styles/base-luma/breadcrumb-examples.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "breadcrumb-examples", - "title": "Breadcrumb examples", - "description": "The examples from the shadcn/ui Breadcrumb docs.", - "dependencies": [ - "cn", - "lucide-react" - ], - "registryDependencies": [ - "@fulldev/breadcrumb", - "@fulldev/button", - "@fulldev/dropdown-menu", - "@fulldev/select" - ], - "files": [ - { - "path": "src/components/examples/breadcrumb/breadcrumb-basic.tsx", - "content": "import {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\"\n\nexport function BreadcrumbBasic() {\n return (\n \n \n \n Home\n \n \n \n Components\n \n \n \n Breadcrumb\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/breadcrumb/breadcrumb-demo.tsx", - "content": "import {\n Breadcrumb,\n BreadcrumbEllipsis,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\"\n\nexport function BreadcrumbDemo() {\n return (\n \n \n \n }>Home\n \n \n \n \n }\n >\n \n Toggle menu\n \n \n \n Documentation\n Themes\n GitHub\n \n \n \n \n \n \n }>Components\n \n \n \n Breadcrumb\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/breadcrumb/breadcrumb-dropdown.tsx", - "content": "import { ChevronDownIcon, DotIcon } from \"lucide-react\"\n\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\"\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\"\n\nexport function BreadcrumbDropdown() {\n return (\n \n \n \n }>Home\n \n \n \n \n \n \n }\n >\n Components\n \n \n \n \n Documentation\n Themes\n GitHub\n \n \n \n \n \n \n \n \n Breadcrumb\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/breadcrumb/breadcrumb-ellipsis.tsx", - "content": "import {\n Breadcrumb,\n BreadcrumbEllipsis,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\"\n\nexport function BreadcrumbEllipsisDemo() {\n return (\n \n \n \n }>Home\n \n \n \n \n \n \n \n }\n >\n Components\n \n \n \n \n Breadcrumb\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/breadcrumb/breadcrumb-link.tsx", - "content": "import {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\"\n\nexport function BreadcrumbLinkDemo() {\n return (\n \n \n \n }>\n Home\n \n \n \n \n }>\n Components\n \n \n \n \n Breadcrumb\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/breadcrumb/breadcrumb-rtl.tsx", - "content": "\"use client\"\n\nimport { ChevronDownIcon, DotIcon } from \"lucide-react\"\n\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\"\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {\n home: \"Home\",\n components: \"Components\",\n documentation: \"Documentation\",\n themes: \"Themes\",\n github: \"GitHub\",\n breadcrumb: \"Breadcrumb\",\n },\n },\n ar: {\n dir: \"rtl\",\n values: {\n home: \"الرئيسية\",\n components: \"المكونات\",\n documentation: \"التوثيق\",\n themes: \"السمات\",\n github: \"جيت هاب\",\n breadcrumb: \"مسار التنقل\",\n },\n },\n he: {\n dir: \"rtl\",\n values: {\n home: \"בית\",\n components: \"רכיבים\",\n documentation: \"תיעוד\",\n themes: \"ערכות נושא\",\n github: \"גיטהאב\",\n breadcrumb: \"פירורי לחם\",\n },\n },\n}\n\nexport function BreadcrumbRtl() {\n const { dir, t, language } = useTranslation(translations, \"ar\")\n\n return (\n \n \n \n }>{t.home}\n \n \n \n \n \n \n }\n >\n {t.components}\n \n \n \n \n {t.documentation}\n {t.themes}\n {t.github}\n \n \n \n \n \n \n \n \n {t.breadcrumb}\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/breadcrumb/breadcrumb-separator.tsx", - "content": "import { DotIcon } from \"lucide-react\"\n\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\"\n\nexport function BreadcrumbSeparatorDemo() {\n return (\n \n \n \n }>Home\n \n \n \n \n \n }>\n Components\n \n \n \n \n \n \n Breadcrumb\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/breadcrumb/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/breadcrumb.json b/public/r/react/styles/base-luma/breadcrumb.json deleted file mode 100644 index 6a43d5edb..000000000 --- a/public/r/react/styles/base-luma/breadcrumb.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "breadcrumb", - "title": "Breadcrumb", - "description": "Displays the path to the current resource using a hierarchy of links.", - "dependencies": [ - "@base-ui/react", - "cn", - "lucide-react" - ], - "files": [ - { - "path": "src/components/ui/breadcrumb.tsx", - "content": "import * as React from \"react\"\nimport { mergeProps } from \"@base-ui/react/merge-props\"\nimport { useRender } from \"@base-ui/react/use-render\"\nimport { cn } from \"cn\"\nimport { ChevronRightIcon, MoreHorizontalIcon } from \"lucide-react\"\n\nfunction Breadcrumb({ className, ...props }: React.ComponentProps<\"nav\">) {\n return (\n \n )\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n \n )\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n \n )\n}\n\nfunction BreadcrumbLink({\n className,\n render,\n ...props\n}: useRender.ComponentProps<\"a\">) {\n return useRender({\n defaultTagName: \"a\",\n props: mergeProps<\"a\">(\n {\n className: cn(\"hover:text-foreground transition-colors\", className),\n },\n props\n ),\n render,\n state: {\n slot: \"breadcrumb-link\",\n },\n })\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n \n )\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n svg]:size-3.5\", className)}\n {...props}\n >\n {children ?? }\n \n )\n}\n\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n svg]:size-4 flex items-center justify-center\",\n className\n )}\n {...props}\n >\n \n More\n \n )\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/breadcrumb/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/bubble-examples.json b/public/r/react/styles/base-luma/bubble-examples.json deleted file mode 100644 index d6e43dfda..000000000 --- a/public/r/react/styles/base-luma/bubble-examples.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "bubble-examples", - "title": "Bubble examples", - "description": "The examples from the shadcn/ui Bubble docs.", - "dependencies": [ - "@streamdown/code", - "cn", - "lucide-react", - "sonner", - "streamdown" - ], - "registryDependencies": [ - "@fulldev/bubble", - "@fulldev/button", - "@fulldev/collapsible", - "@fulldev/popover", - "@fulldev/tooltip" - ], - "files": [ - { - "path": "src/components/examples/bubble/bubble-alignment.tsx", - "content": "import { Bubble, BubbleContent } from \"@/components/ui/bubble\"\n\nexport function BubbleAlignmentDemo() {\n return (\n
\n \n \n This bubble is aligned to the start. This is the default alignment.\n \n \n \n \n This bubble is aligned to the end. Use this for user messages.\n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/bubble/bubble-collapsible.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { ChevronDownIcon } from \"lucide-react\"\n\nimport { Bubble, BubbleContent } from \"@/components/ui/bubble\"\nimport { Button } from \"@/components/ui/button\"\nimport { Collapsible, CollapsibleTrigger } from \"@/components/ui/collapsible\"\n\nconst text = `The accessibility review found two focus states that were visually too subtle in dark mode.\n\nI checked the dialog, menu, and drawer paths because each one renders focusable controls inside a layered surface.\n\nThe dialog and drawer are fine. The menu needs the hover and focus tokens split so keyboard focus stays visible when the pointer is not involved.\n\nI also recommend keeping the change in the style file instead of the primitive so the other themes can choose their own focus treatment later.`\n\nconst previewLength = 180\n\nexport function BubbleCollapsible() {\n const [open, setOpen] = React.useState(false)\n const isLong = text.length > previewLength\n const preview = `${text.slice(0, previewLength)}...`\n\n return (\n
\n \n How can I help you today?\n \n\n \n \n \n
{open || !isLong ? text : preview}
\n {isLong ? (\n \n }\n >\n {open ? \"Show less\" : \"Show more\"}\n \n \n ) : null}\n
\n
\n
\n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/bubble/bubble-demo.tsx", - "content": "import {\n Bubble,\n BubbleContent,\n BubbleGroup,\n BubbleReactions,\n} from \"@/components/ui/bubble\"\n\nexport function BubbleDemo() {\n return (\n
\n \n Hey there! what's up?\n \n \n \n Hey! Want to see chat bubbles?\n \n \n \n I can group messages, switch sides, and keep the whole thread easy\n to scan.\n \n \n 👍\n \n \n \n \n Sure. Hit me with your best demo.\n \n \n \n Yes. You are reading a demo that is demoing itself. Very meta. Very\n on-brand.\n \n \n 👍\n 🔥\n 👀\n +2\n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/bubble/bubble-group-demo.tsx", - "content": "import {\n Bubble,\n BubbleContent,\n BubbleGroup,\n BubbleReactions,\n} from \"@/components/ui/bubble\"\n\nexport function BubbleGroupDemo() {\n return (\n
\n \n Can you tell me what's the issue?\n \n \n \n You tell me!\n \n \n It worked yesterday. You broke it!\n \n \n Find the bug and fix it.\n \n 👀\n \n \n \n \n \n Want me to diff yesterday's you against today's you?\n It's a bit embarrassing.\n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/bubble/bubble-link-button.tsx", - "content": "\"use client\"\n\nimport { toast } from \"sonner\"\n\nimport { Bubble, BubbleContent, BubbleGroup } from \"@/components/ui/bubble\"\n\nexport function BubbleLinkButtonDemo() {\n return (\n
\n \n How can I help you today?\n \n \n \n toast(\"You clicked forgot password\")} />\n }\n >\n I forgot my password\n \n \n \n toast(\"You clicked help with subscription\")}\n />\n }\n >\n I need help with my subscription\n \n \n \n \n toast(\"You clicked something else. Talk to a human.\")\n }\n />\n }\n >\n Something else. Talk to a human.\n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/bubble/bubble-popover.tsx", - "content": "import { InfoIcon } from \"lucide-react\"\n\nimport { Bubble, BubbleContent, BubbleReactions } from \"@/components/ui/bubble\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n Popover,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n} from \"@/components/ui/popover\"\n\nexport function BubblePopoverDemo() {\n return (\n
\n \n Run the build script.\n \n \n Failed to run the command.\n \n \n \n }\n >\n \n \n \n \n \n Command failed with exit code 1\n \n \n ENOENT: no such file or directory, open pnpm-lock.yaml\n \n \n \n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/bubble/bubble-reactions.tsx", - "content": "\"use client\"\n\nimport { toast } from \"sonner\"\n\nimport { Bubble, BubbleContent, BubbleReactions } from \"@/components/ui/bubble\"\nimport { Button } from \"@/components/ui/button\"\n\nexport function BubbleReactionsDemo() {\n return (\n
\n \n \n I don't need tests, I know my code works.\n \n \n 👍\n 😮\n \n \n \n \n Bold. Fine I'll add some tests. I'll let you know when\n they're done.\n \n \n 👀\n 🚀\n +2\n \n \n \n \n Tests passed on the first try. All 142 of them. Looking good!\n \n \n 🎉\n 👏\n \n \n \n Are you sure I can run this command?\n \n toast.success(\"You clicked yes, running command...\")}\n >\n Yes, run it\n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/bubble/bubble-tooltip.tsx", - "content": "import { CheckIcon } from \"lucide-react\"\n\nimport { Bubble, BubbleContent, BubbleReactions } from \"@/components/ui/bubble\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\"\n\nexport function BubbleTooltipDemo() {\n return (\n
\n \n Did you remove the stale route?\n \n \n Yes, removed it from the registry.\n \n \n }>\n \n \n Read on Jan 5, 2026 at 4:32 PM\n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/bubble/bubble-variants.tsx", - "content": "import { Bubble, BubbleContent, BubbleReactions } from \"@/components/ui/bubble\"\nimport { Markdown } from \"@/components/markdown\"\n\nexport function BubbleVariantsDemo() {\n return (\n
\n \n This is the default primary bubble.\n \n \n This is the secondary variant.\n \n \n \n This one is muted. It uses a lower emphasis color for the chat bubble.\n \n \n 👍\n \n \n \n \n This one is tinted. The tint is a softer color derived from the\n primary color.\n \n \n \n We can also use an outlined variant.\n \n \n Or a destructive variant with a reaction.\n \n 🔥\n \n \n \n \n {`Ghost bubbles work for assistant text, **markdown**, and other content that should not be framed.\n\nThis is perfect for assistant messages that should not have a frame and can take the full width of the container. You can also render \\`code\\` in it.\n\nGhost bubbles are full width and can take the full width of the container.\n`}\n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/markdown.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { code } from \"@streamdown/code\"\nimport { cn } from \"cn\"\nimport { Streamdown } from \"streamdown\"\n\nconst DEFAULT_PLUGINS = { code }\n\nfunction Markdown({\n className,\n plugins = DEFAULT_PLUGINS,\n controls = false,\n ...props\n}: React.ComponentProps) {\n return (\n \n )\n}\n\nexport { Markdown }\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/bubble/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/bubble.json b/public/r/react/styles/base-luma/bubble.json deleted file mode 100644 index 3013bfd98..000000000 --- a/public/r/react/styles/base-luma/bubble.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "bubble", - "title": "Bubble", - "description": "Displays a chat message in a bubble, with grouping and reactions.", - "dependencies": [ - "@base-ui/react", - "class-variance-authority", - "cn" - ], - "files": [ - { - "path": "src/components/ui/bubble.tsx", - "content": "import * as React from \"react\"\nimport { mergeProps } from \"@base-ui/react/merge-props\"\nimport { useRender } from \"@base-ui/react/use-render\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"cn\"\n\nfunction BubbleGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nconst bubbleVariants = cva(\n \"gap-1 data-[align=end]:self-end max-w-[80%] data-[variant=ghost]:max-w-full group-data-[align=end]/message:self-end group/bubble relative flex w-fit min-w-0 flex-col\",\n {\n variants: {\n variant: {\n default: \"*:data-[slot=bubble-content]:bg-primary *:data-[slot=bubble-content]:text-primary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-primary/80\",\n secondary: \"*:data-[slot=bubble-content]:bg-secondary *:data-[slot=bubble-content]:text-secondary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)]\",\n muted: \"*:data-[slot=bubble-content]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--muted),var(--foreground)_5%)]\",\n tinted: \"*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.93_calc(c*0.4)_h)] dark:*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.3_calc(c*0.4)_h)] *:data-[slot=bubble-content]:text-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.88_calc(c*0.5)_h)] dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.35_calc(c*0.5)_h)]\",\n outline: \"*:data-[slot=bubble-content]:bg-background *:data-[slot=bubble-content]:border-border [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-input/30\",\n ghost: \"*:data-[slot=bubble-content]:rounded-none *:data-[slot=bubble-content]:bg-transparent *:data-[slot=bubble-content]:p-0 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted/50 border-none\",\n destructive: \"*:data-[slot=bubble-content]:bg-destructive/10 dark:*:data-[slot=bubble-content]:bg-destructive/20 *:data-[slot=bubble-content]:text-destructive [&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/20 dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/30\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Bubble({\n variant = \"default\",\n align = \"start\",\n className,\n ...props\n}: React.ComponentProps<\"div\"> &\n VariantProps & {\n align?: \"start\" | \"end\"\n }) {\n return (\n \n )\n}\n\nfunction BubbleContent({\n className,\n render,\n ...props\n}: useRender.ComponentProps<\"div\">) {\n return useRender({\n defaultTagName: \"div\",\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"rounded-3xl border border-transparent px-3.5 py-2.5 text-sm leading-relaxed [button,a]:outline-none [button,a]:focus-visible:border-ring [button,a]:focus-visible:ring-3 [button,a]:focus-visible:ring-ring/30 group-data-[align=end]/bubble:self-end w-fit max-w-full min-w-0 overflow-hidden wrap-break-word [button]:text-left [button,a]:transition-colors\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"bubble-content\",\n },\n })\n}\n\nconst bubbleReactionsVariants = cva(\n \"rounded-full ring-3 ring-card bg-muted shrink-0 gap-1 px-1.5 py-0.5 has-[button]:p-0 text-sm absolute z-10 flex w-fit items-center justify-center\",\n {\n variants: {\n side: {\n top: \"top-0 -translate-y-3/4\",\n bottom: \"bottom-0 translate-y-3/4\",\n },\n align: {\n start: \"left-3\",\n end: \"right-3\",\n },\n },\n defaultVariants: {\n side: \"bottom\",\n align: \"end\",\n },\n }\n)\n\nfunction BubbleReactions({\n side = \"bottom\",\n align = \"end\",\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n align?: \"start\" | \"end\"\n side?: \"top\" | \"bottom\"\n}) {\n return (\n \n )\n}\n\nexport { BubbleGroup, Bubble, BubbleContent, BubbleReactions }\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/bubble/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/button-examples.json b/public/r/react/styles/base-luma/button-examples.json deleted file mode 100644 index e9dd537a1..000000000 --- a/public/r/react/styles/base-luma/button-examples.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "button-examples", - "title": "Button examples", - "description": "The examples from the shadcn/ui Button docs.", - "dependencies": [ - "@tabler/icons-react", - "cn", - "lucide-react" - ], - "registryDependencies": [ - "@fulldev/button", - "@fulldev/select", - "@fulldev/spinner" - ], - "files": [ - { - "path": "src/components/examples/button/button-default.tsx", - "content": "import { Button } from \"@/components/ui/button\"\n\nexport function ButtonDefault() {\n return \n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button/button-demo.tsx", - "content": "import { ArrowUpIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\n\nexport function ButtonDemo() {\n return (\n
\n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button/button-destructive.tsx", - "content": "import { Button } from \"@/components/ui/button\"\n\nexport function ButtonDestructive() {\n return \n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button/button-ghost.tsx", - "content": "import { Button } from \"@/components/ui/button\"\n\nexport function ButtonGhost() {\n return \n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button/button-icon.tsx", - "content": "import { CircleFadingArrowUpIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\n\nexport function ButtonIcon() {\n return (\n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button/button-link.tsx", - "content": "import { Button } from \"@/components/ui/button\"\n\nexport function ButtonLink() {\n return \n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button/button-outline.tsx", - "content": "import { Button } from \"@/components/ui/button\"\n\nexport function ButtonOutline() {\n return \n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button/button-render.tsx", - "content": "import { buttonVariants } from \"@/components/ui/button\"\n\nexport function ButtonRender() {\n return (\n \n Login\n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button/button-rounded.tsx", - "content": "import { ArrowUpIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\n\nexport function ButtonRounded() {\n return (\n
\n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button/button-rtl.tsx", - "content": "\"use client\"\n\nimport { ArrowRightIcon, PlusIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { Spinner } from \"@/components/ui/spinner\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {\n button: \"Button\",\n submit: \"Submit\",\n delete: \"Delete\",\n loading: \"Loading\",\n },\n },\n ar: {\n dir: \"rtl\",\n values: {\n button: \"زر\",\n submit: \"إرسال\",\n delete: \"حذف\",\n loading: \"جاري التحميل\",\n },\n },\n he: {\n dir: \"rtl\",\n values: {\n button: \"כפתור\",\n submit: \"שלח\",\n delete: \"מחק\",\n loading: \"טוען\",\n },\n },\n}\n\nexport function ButtonRtl() {\n const { dir, t } = useTranslation(translations, \"ar\")\n\n return (\n
\n \n \n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button/button-secondary.tsx", - "content": "import { Button } from \"@/components/ui/button\"\n\nexport function ButtonSecondary() {\n return \n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button/button-size.tsx", - "content": "import { ArrowUpRightIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\n\nexport function ButtonSize() {\n return (\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button/button-spinner.tsx", - "content": "import { Button } from \"@/components/ui/button\"\nimport { Spinner } from \"@/components/ui/spinner\"\n\nexport function ButtonLoading() {\n return (\n
\n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button/button-with-icon.tsx", - "content": "import { IconGitBranch, IconGitFork } from \"@tabler/icons-react\"\n\nimport { Button } from \"@/components/ui/button\"\n\nexport function ButtonWithIcon() {\n return (\n
\n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/button/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/button-group-examples.json b/public/r/react/styles/base-luma/button-group-examples.json deleted file mode 100644 index 33d7a87d5..000000000 --- a/public/r/react/styles/base-luma/button-group-examples.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "button-group-examples", - "title": "Button Group examples", - "description": "The examples from the shadcn/ui Button Group docs.", - "dependencies": [ - "@tabler/icons-react", - "cn", - "lucide-react" - ], - "registryDependencies": [ - "@fulldev/button", - "@fulldev/button-group", - "@fulldev/dropdown-menu", - "@fulldev/field", - "@fulldev/input", - "@fulldev/input-group", - "@fulldev/popover", - "@fulldev/select", - "@fulldev/textarea", - "@fulldev/tooltip" - ], - "files": [ - { - "path": "src/components/examples/button-group/button-group-demo.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport {\n ArchiveIcon,\n ArrowLeftIcon,\n CalendarPlusIcon,\n ClockIcon,\n ListFilterIcon,\n MailCheckIcon,\n MoreHorizontalIcon,\n TagIcon,\n Trash2Icon,\n} from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\"\n\nexport function ButtonGroupDemo() {\n const [label, setLabel] = React.useState(\"personal\")\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n }\n >\n \n \n \n \n \n \n Mark as Read\n \n \n \n Archive\n \n \n \n \n \n \n Snooze\n \n \n \n Add to Calendar\n \n \n \n Add to List\n \n \n \n \n Label As...\n \n \n \n \n Personal\n \n \n Work\n \n \n Other\n \n \n \n \n \n \n \n \n \n Trash\n \n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button-group/button-group-dropdown.tsx", - "content": "\"use client\"\n\nimport {\n AlertTriangleIcon,\n CheckIcon,\n ChevronDownIcon,\n CopyIcon,\n ShareIcon,\n TrashIcon,\n UserRoundXIcon,\n VolumeOffIcon,\n} from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\"\n\nexport function ButtonGroupDropdown() {\n return (\n \n \n \n }\n >\n \n \n \n \n \n \n Mute Conversation\n \n \n \n Mark as Read\n \n \n \n Report Conversation\n \n \n \n Block User\n \n \n \n Share Conversation\n \n \n \n Copy Conversation\n \n \n \n \n \n \n Delete Conversation\n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button-group/button-group-input-group.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { AudioLinesIcon, PlusIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n} from \"@/components/ui/input-group\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\"\n\nexport function ButtonGroupInputGroup() {\n const [voiceEnabled, setVoiceEnabled] = React.useState(false)\n\n return (\n \n \n \n \n \n \n \n \n \n setVoiceEnabled(!voiceEnabled)}\n size=\"icon-xs\"\n data-active={voiceEnabled}\n className=\"data-[active=true]:bg-orange-100 data-[active=true]:text-orange-700 dark:data-[active=true]:bg-orange-800 dark:data-[active=true]:text-orange-100\"\n aria-pressed={voiceEnabled}\n />\n }\n >\n \n \n Voice Mode\n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button-group/button-group-input.tsx", - "content": "import { SearchIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\nimport { Input } from \"@/components/ui/input\"\n\nexport function ButtonGroupInput() {\n return (\n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button-group/button-group-nested.tsx", - "content": "import { AudioLinesIcon, PlusIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\nimport { Input } from \"@/components/ui/input\"\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupInput,\n} from \"@/components/ui/input-group\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\"\n\nexport function ButtonGroupNested() {\n return (\n \n \n \n \n \n \n \n \n }>\n \n \n Voice Mode\n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button-group/button-group-orientation.tsx", - "content": "import { MinusIcon, PlusIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\n\nexport function ButtonGroupOrientation() {\n return (\n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button-group/button-group-popover.tsx", - "content": "import { BotIcon, ChevronDownIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\nimport { Field, FieldDescription, FieldLabel } from \"@/components/ui/field\"\nimport {\n Popover,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n} from \"@/components/ui/popover\"\nimport { Textarea } from \"@/components/ui/textarea\"\n\nexport function ButtonGroupPopover() {\n return (\n \n \n \n \n }\n >\n \n \n \n \n Start a new task with Copilot\n \n Describe your task in natural language.\n \n \n \n \n Task Description\n \n \n \n Copilot will open a pull request for review.\n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button-group/button-group-rtl.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport {\n ArchiveIcon,\n ArrowLeftIcon,\n CalendarPlusIcon,\n ClockIcon,\n ListFilterIcon,\n MailCheckIcon,\n MoreHorizontalIcon,\n TagIcon,\n Trash2Icon,\n} from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {\n archive: \"Archive\",\n report: \"Report\",\n snooze: \"Snooze\",\n markAsRead: \"Mark as Read\",\n addToCalendar: \"Add to Calendar\",\n addToList: \"Add to List\",\n labelAs: \"Label As...\",\n personal: \"Personal\",\n work: \"Work\",\n other: \"Other\",\n trash: \"Trash\",\n },\n },\n ar: {\n dir: \"rtl\",\n values: {\n archive: \"أرشفة\",\n report: \"تقرير\",\n snooze: \"تأجيل\",\n markAsRead: \"وضع علامة كمقروء\",\n addToCalendar: \"إضافة إلى التقويم\",\n addToList: \"إضافة إلى القائمة\",\n labelAs: \"تصنيف كـ...\",\n personal: \"شخصي\",\n work: \"عمل\",\n other: \"آخر\",\n trash: \"سلة المهملات\",\n },\n },\n he: {\n dir: \"rtl\",\n values: {\n archive: \"ארכיון\",\n report: \"דוח\",\n snooze: \"דחה\",\n markAsRead: \"סמן כנקרא\",\n addToCalendar: \"הוסף ליומן\",\n addToList: \"הוסף לרשימה\",\n labelAs: \"תייג כ...\",\n personal: \"אישי\",\n work: \"עבודה\",\n other: \"אחר\",\n trash: \"פח\",\n },\n },\n}\n\nexport function ButtonGroupRtl() {\n const { dir, t, language } = useTranslation(translations, \"ar\")\n const [label, setLabel] = React.useState(\"personal\")\n\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n }\n >\n \n \n \n \n \n \n {t.markAsRead}\n \n \n \n {t.archive}\n \n \n \n \n \n \n {t.snooze}\n \n \n \n {t.addToCalendar}\n \n \n \n {t.addToList}\n \n \n \n \n {t.labelAs}\n \n \n \n \n {t.personal}\n \n \n {t.work}\n \n \n {t.other}\n \n \n \n \n \n \n \n \n \n {t.trash}\n \n \n \n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button-group/button-group-select.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { ArrowRightIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\nimport { Input } from \"@/components/ui/input\"\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n} from \"@/components/ui/select\"\n\nconst CURRENCIES = [\n { label: \"US Dollar\", value: \"$\" },\n { label: \"Euro\", value: \"€\" },\n { label: \"British Pound\", value: \"£\" },\n]\n\nexport function ButtonGroupSelect() {\n const [currency, setCurrency] = React.useState(\"$\")\n\n return (\n \n \n setCurrency(value as string)}\n >\n {currency}\n \n \n {CURRENCIES.map((item) => (\n \n {item.value}{\" \"}\n {item.label}\n \n ))}\n \n \n \n \n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button-group/button-group-separator.tsx", - "content": "import { Button } from \"@/components/ui/button\"\nimport { ButtonGroup, ButtonGroupSeparator } from \"@/components/ui/button-group\"\n\nexport function ButtonGroupSeparatorDemo() {\n return (\n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button-group/button-group-size.tsx", - "content": "import { PlusIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\n\nexport function ButtonGroupSize() {\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/button-group/button-group-split.tsx", - "content": "import { IconPlus } from \"@tabler/icons-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup, ButtonGroupSeparator } from \"@/components/ui/button-group\"\n\nexport function ButtonGroupSplit() {\n return (\n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/button-group/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/button-group.json b/public/r/react/styles/base-luma/button-group.json deleted file mode 100644 index 0cc73a0c2..000000000 --- a/public/r/react/styles/base-luma/button-group.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "button-group", - "title": "Button Group", - "description": "Groups related controls with connected edges and consistent focus behavior.", - "dependencies": [ - "@base-ui/react", - "class-variance-authority", - "cn" - ], - "registryDependencies": [ - "@fulldev/separator" - ], - "files": [ - { - "path": "src/components/ui/button-group.tsx", - "content": "import { mergeProps } from \"@base-ui/react/merge-props\"\nimport { useRender } from \"@base-ui/react/use-render\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"cn\"\n\nimport { Separator } from \"@/components/ui/separator\"\n\nconst buttonGroupVariants = cva(\n \"has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-4xl has-[>[data-variant=outline]]:[&>input]:border-border has-[>[data-variant=outline]]:[&>input:focus-visible]:border-ring has-[>[data-variant=outline]]:*:data-[slot=input-group]:border-border has-[>[data-variant=outline]]:[&>[data-slot=input-group]:has(:focus-visible)]:border-ring has-[>[data-variant=outline]]:*:data-[slot=select-trigger]:border-border has-[>[data-variant=outline]]:[&>[data-slot=select-trigger]:focus-visible]:border-ring flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1\",\n {\n variants: {\n orientation: {\n horizontal:\n \"[&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-4xl! *:data-slot:rounded-r-none [&>[data-slot]~[data-slot]]:rounded-l-none [&>[data-slot]~[data-slot]]:border-l-0\",\n vertical:\n \"[&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-4xl! flex-col *:data-slot:rounded-b-none [&>[data-slot]~[data-slot]]:rounded-t-none [&>[data-slot]~[data-slot]]:border-t-0\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n }\n)\n\nfunction ButtonGroup({\n className,\n orientation,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps) {\n return (\n \n )\n}\n\nfunction ButtonGroupText({\n className,\n render,\n ...props\n}: useRender.ComponentProps<\"div\">) {\n return useRender({\n defaultTagName: \"div\",\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"bg-muted gap-2 rounded-4xl border px-2.5 text-sm font-medium [&_svg:not([class*='size-'])]:size-4 flex items-center [&_svg]:pointer-events-none\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"button-group-text\",\n },\n })\n}\n\nfunction ButtonGroupSeparator({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps) {\n return (\n \n )\n}\n\nexport {\n ButtonGroup,\n ButtonGroupSeparator,\n ButtonGroupText,\n buttonGroupVariants,\n}\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/button-group/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/button.json b/public/r/react/styles/base-luma/button.json deleted file mode 100644 index 52759ed0a..000000000 --- a/public/r/react/styles/base-luma/button.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "button", - "title": "Button", - "description": "Displays a button or a component that looks like a button.", - "dependencies": [ - "@base-ui/react", - "class-variance-authority", - "cn" - ], - "files": [ - { - "path": "src/components/ui/button.tsx", - "content": "import { Button as ButtonPrimitive } from \"@base-ui/react/button\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"cn\"\n\nconst buttonVariants = cva(\n \"focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-4xl border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 aria-invalid:ring-3 active:not-aria-[haspopup]:translate-y-px [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/80\",\n outline: \"border-border bg-background dark:bg-transparent hover:bg-muted hover:text-foreground dark:hover:bg-input/30 aria-expanded:bg-muted aria-expanded:text-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost: \"hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground\",\n destructive: \"bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5\",\n xs: \"h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-8 gap-1 px-3 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n lg: \"h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3\",\n icon: \"size-9\",\n \"icon-xs\": \"size-6 [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\": \"size-8\",\n \"icon-lg\": \"size-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: ButtonPrimitive.Props & VariantProps) {\n return (\n \n )\n}\n\nexport { Button, buttonVariants }\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/button/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/calendar-examples.json b/public/r/react/styles/base-luma/calendar-examples.json deleted file mode 100644 index 1aa6e446f..000000000 --- a/public/r/react/styles/base-luma/calendar-examples.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "calendar-examples", - "title": "Calendar examples", - "description": "The examples from the shadcn/ui Calendar docs.", - "dependencies": [ - "@daypicker/persian@10.0.2", - "@fontsource-variable/vazirmatn", - "cn", - "date-fns", - "lucide-react", - "react-day-picker" - ], - "registryDependencies": [ - "@fulldev/button", - "@fulldev/calendar", - "@fulldev/card", - "@fulldev/field", - "@fulldev/input-group", - "@fulldev/select" - ], - "files": [ - { - "path": "src/components/examples/calendar/calendar-basic.tsx", - "content": "\"use client\"\n\nimport { Calendar } from \"@/components/ui/calendar\"\n\nexport function CalendarBasic() {\n return \n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/calendar/calendar-booked-dates.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { Calendar } from \"@/components/ui/calendar\"\nimport { Card, CardContent } from \"@/components/ui/card\"\n\nexport function CalendarBookedDates() {\n const [date, setDate] = React.useState(\n new Date(new Date().getFullYear(), 0, 6)\n )\n const bookedDates = Array.from(\n { length: 15 },\n (_, i) => new Date(new Date().getFullYear(), 0, 12 + i)\n )\n\n return (\n \n \n button]:line-through opacity-100\",\n }}\n />\n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/calendar/calendar-caption.tsx", - "content": "\"use client\"\n\nimport { Calendar } from \"@/components/ui/calendar\"\n\nexport function CalendarCaption() {\n return (\n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/calendar/calendar-custom-days.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { addDays } from \"date-fns\"\nimport { type DateRange } from \"react-day-picker\"\n\nimport { Calendar, CalendarDayButton } from \"@/components/ui/calendar\"\nimport { Card, CardContent } from \"@/components/ui/card\"\n\nexport function CalendarCustomDays() {\n const [range, setRange] = React.useState({\n from: new Date(new Date().getFullYear(), 11, 8),\n to: addDays(new Date(new Date().getFullYear(), 11, 8), 10),\n })\n\n return (\n \n \n {\n return date.toLocaleString(\"default\", { month: \"long\" })\n },\n }}\n components={{\n DayButton: ({ children, modifiers, day, ...props }) => {\n const isWeekend =\n day.date.getDay() === 0 || day.date.getDay() === 6\n\n return (\n \n {children}\n {!modifiers.outside && (\n {isWeekend ? \"$120\" : \"$100\"}\n )}\n \n )\n },\n }}\n />\n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/calendar/calendar-demo.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { Calendar } from \"@/components/ui/calendar\"\n\nexport function CalendarDemo() {\n const [date, setDate] = React.useState(new Date())\n\n return (\n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/calendar/calendar-hijri.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport \"@fontsource-variable/vazirmatn\"\n\nimport { DayPicker } from \"@daypicker/persian\"\nimport { cn } from \"cn\"\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\"\nimport { getDefaultClassNames, type DayButton } from \"react-day-picker\"\n\nimport { Button, buttonVariants } from \"@/components/ui/button\"\n\nexport function CalendarHijri() {\n const [date, setDate] = React.useState(\n new Date(2025, 5, 12)\n )\n\n return (\n
\n \n
\n )\n}\n\n// ----------------------------------------------------------------------------\n// The code below is for this example only.\n// For your own calendar, you would edit the calendar.tsx component directly.\n// ----------------------------------------------------------------------------\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n formatters,\n components,\n ...props\n}: React.ComponentProps & {\n buttonVariant?: React.ComponentProps[\"variant\"]\n}) {\n const defaultClassNames = getDefaultClassNames()\n\n return (\n svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\n \"relative flex flex-col gap-4 md:flex-row\",\n defaultClassNames.months\n ),\n month: cn(\"flex w-full flex-col gap-4\", defaultClassNames.month),\n nav: cn(\n \"absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1\",\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) p-0 select-none aria-disabled:opacity-50\",\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) p-0 select-none aria-disabled:opacity-50\",\n defaultClassNames.button_next\n ),\n month_caption: cn(\n \"flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)\",\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n \"flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium\",\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n \"relative rounded-md border border-input shadow-xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50\",\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\"absolute inset-0 opacity-0\", defaultClassNames.dropdown),\n caption_label: cn(\n \"font-medium select-none\",\n captionLayout === \"label\"\n ? \"text-sm\"\n : \"flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground\",\n defaultClassNames.caption_label\n ),\n month_grid: cn(\"w-full border-collapse\", defaultClassNames.month_grid),\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"flex-1 rounded-md text-[0.8rem] font-normal text-muted-foreground select-none\",\n defaultClassNames.weekday\n ),\n week: cn(\"mt-2 flex w-full\", defaultClassNames.week),\n week_number_header: cn(\n \"w-(--cell-size) select-none\",\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n \"text-[0.8rem] text-muted-foreground select-none\",\n defaultClassNames.week_number\n ),\n day: cn(\n \"group/day relative aspect-square h-full w-full p-0 text-center select-none [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md\",\n defaultClassNames.day\n ),\n range_start: cn(\n \"rounded-l-md bg-accent\",\n defaultClassNames.range_start\n ),\n range_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n range_end: cn(\"rounded-r-md bg-accent\", defaultClassNames.range_end),\n today: cn(\n \"rounded-md bg-accent text-accent-foreground data-[selected=true]:rounded-none\",\n defaultClassNames.today\n ),\n outside: cn(\n \"text-muted-foreground aria-selected:text-muted-foreground\",\n defaultClassNames.outside\n ),\n disabled: cn(\n \"text-muted-foreground opacity-50\",\n defaultClassNames.disabled\n ),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n \n )\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n \n )\n }\n\n if (orientation === \"right\") {\n return (\n \n )\n }\n\n return (\n \n )\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n \n
\n {children}\n
\n \n )\n },\n ...components,\n }}\n {...props}\n />\n )\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: React.ComponentProps) {\n const defaultClassNames = getDefaultClassNames()\n\n const ref = React.useRef(null)\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus()\n }, [modifiers.focused])\n\n return (\n span]:text-xs [&>span]:opacity-70\",\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/calendar/calendar-presets.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { addDays } from \"date-fns\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { Calendar } from \"@/components/ui/calendar\"\nimport { Card, CardContent, CardFooter } from \"@/components/ui/card\"\n\nexport function CalendarWithPresets() {\n const [date, setDate] = React.useState(\n new Date(new Date().getFullYear(), 1, 12)\n )\n const [currentMonth, setCurrentMonth] = React.useState(\n new Date(new Date().getFullYear(), new Date().getMonth(), 1)\n )\n\n return (\n \n \n \n \n \n {[\n { label: \"Today\", value: 0 },\n { label: \"Tomorrow\", value: 1 },\n { label: \"In 3 days\", value: 3 },\n { label: \"In a week\", value: 7 },\n { label: \"In 2 weeks\", value: 14 },\n ].map((preset) => (\n {\n const newDate = addDays(new Date(), preset.value)\n setDate(newDate)\n setCurrentMonth(\n new Date(newDate.getFullYear(), newDate.getMonth(), 1)\n )\n }}\n >\n {preset.label}\n \n ))}\n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/calendar/calendar-range.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { addDays } from \"date-fns\"\nimport { type DateRange } from \"react-day-picker\"\n\nimport { Calendar } from \"@/components/ui/calendar\"\nimport { Card, CardContent } from \"@/components/ui/card\"\n\nexport function CalendarRange() {\n const [dateRange, setDateRange] = React.useState({\n from: new Date(new Date().getFullYear(), 0, 12),\n to: addDays(new Date(new Date().getFullYear(), 0, 12), 30),\n })\n\n return (\n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/calendar/calendar-rtl.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { arSA, he } from \"react-day-picker/locale\"\n\nimport { Calendar } from \"@/components/ui/calendar\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {},\n },\n ar: {\n dir: \"rtl\",\n values: {},\n },\n he: {\n dir: \"rtl\",\n values: {},\n },\n}\n\nconst locales = {\n ar: arSA,\n he: he,\n} as const\n\nexport function CalendarRtl() {\n const { dir, language } = useTranslation(translations, \"ar\")\n const [date, setDate] = React.useState(new Date())\n\n return (\n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/calendar/calendar-time.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Clock2Icon } from \"lucide-react\"\n\nimport { Calendar } from \"@/components/ui/calendar\"\nimport { Card, CardContent, CardFooter } from \"@/components/ui/card\"\nimport { Field, FieldGroup, FieldLabel } from \"@/components/ui/field\"\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupInput,\n} from \"@/components/ui/input-group\"\n\nexport function CalendarWithTime() {\n const [date, setDate] = React.useState(\n new Date(new Date().getFullYear(), new Date().getMonth(), 12)\n )\n\n return (\n \n \n \n \n \n \n \n Start Time\n \n \n \n \n \n \n \n \n End Time\n \n \n \n \n \n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/calendar/calendar-week-numbers.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { Calendar } from \"@/components/ui/calendar\"\nimport { Card, CardContent } from \"@/components/ui/card\"\n\nexport function CalendarWeekNumbers() {\n const [date, setDate] = React.useState(\n new Date(new Date().getFullYear(), 0, 12)\n )\n\n return (\n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/calendar/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/calendar.json b/public/r/react/styles/base-luma/calendar.json deleted file mode 100644 index 0ed07c3b6..000000000 --- a/public/r/react/styles/base-luma/calendar.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "calendar", - "title": "Calendar", - "description": "A calendar for picking a date, several dates, or a range.", - "dependencies": [ - "cn", - "lucide-react", - "react-day-picker" - ], - "registryDependencies": [ - "@fulldev/button" - ], - "files": [ - { - "path": "src/components/ui/calendar.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\"\nimport {\n DayPicker,\n getDefaultClassNames,\n type DayButton,\n type Locale,\n} from \"react-day-picker\"\n\nimport { Button, buttonVariants } from \"@/components/ui/button\"\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n locale,\n formatters,\n components,\n ...props\n}: React.ComponentProps & {\n buttonVariant?: React.ComponentProps[\"variant\"]\n}) {\n const defaultClassNames = getDefaultClassNames()\n\n return (\n svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n locale={locale}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(locale?.code, { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\n \"relative flex flex-col gap-4 md:flex-row\",\n defaultClassNames.months\n ),\n month: cn(\"flex w-full flex-col gap-4\", defaultClassNames.month),\n nav: cn(\n \"absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1\",\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) p-0 select-none aria-disabled:opacity-50\",\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) p-0 select-none aria-disabled:opacity-50\",\n defaultClassNames.button_next\n ),\n month_caption: cn(\n \"flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)\",\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n \"flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium\",\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n \"relative rounded-(--cell-radius)\",\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\n \"absolute inset-0 bg-popover opacity-0\",\n defaultClassNames.dropdown\n ),\n caption_label: cn(\n \"font-medium select-none\",\n captionLayout === \"label\"\n ? \"text-sm\"\n : \"flex items-center gap-1 rounded-(--cell-radius) text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground\",\n defaultClassNames.caption_label\n ),\n month_grid: cn(\"w-full border-collapse\", defaultClassNames.month_grid),\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal text-muted-foreground select-none\",\n defaultClassNames.weekday\n ),\n week: cn(\"mt-2 flex w-full\", defaultClassNames.week),\n week_number_header: cn(\n \"w-(--cell-size) select-none\",\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n \"text-[0.8rem] text-muted-foreground select-none\",\n defaultClassNames.week_number\n ),\n day: cn(\n \"group/day relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-(--cell-radius)\",\n props.showWeekNumber\n ? \"[&:nth-child(2)[data-selected=true]_button]:rounded-l-(--cell-radius)\"\n : \"[&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)\",\n defaultClassNames.day\n ),\n range_start: cn(\n \"relative isolate z-0 rounded-l-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:right-0 after:w-4 after:bg-muted\",\n defaultClassNames.range_start\n ),\n range_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n range_end: cn(\n \"relative isolate z-0 rounded-r-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:left-0 after:w-4 after:bg-muted\",\n defaultClassNames.range_end\n ),\n today: cn(\n \"rounded-(--cell-radius) bg-muted text-foreground data-[selected=true]:rounded-none\",\n defaultClassNames.today\n ),\n outside: cn(\n \"text-muted-foreground aria-selected:text-muted-foreground\",\n defaultClassNames.outside\n ),\n disabled: cn(\n \"text-muted-foreground opacity-50\",\n defaultClassNames.disabled\n ),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n \n )\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n \n )\n }\n\n if (orientation === \"right\") {\n return (\n \n )\n }\n\n return (\n \n )\n },\n DayButton: ({ ...props }) => (\n \n ),\n WeekNumber: ({ children, ...props }) => {\n return (\n \n
\n {children}\n
\n \n )\n },\n ...components,\n }}\n {...props}\n />\n )\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n locale,\n ...props\n}: React.ComponentProps & { locale?: Partial }) {\n const defaultClassNames = getDefaultClassNames()\n\n const ref = React.useRef(null)\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus()\n }, [modifiers.focused])\n\n return (\n span]:text-xs [&>span]:opacity-70\",\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Calendar, CalendarDayButton }\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/calendar/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/card-examples.json b/public/r/react/styles/base-luma/card-examples.json deleted file mode 100644 index c6dbd1874..000000000 --- a/public/r/react/styles/base-luma/card-examples.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "card-examples", - "title": "Card examples", - "description": "The examples from the shadcn/ui Card docs.", - "dependencies": [ - "cn", - "lucide-react" - ], - "registryDependencies": [ - "@fulldev/badge", - "@fulldev/button", - "@fulldev/card", - "@fulldev/input", - "@fulldev/label", - "@fulldev/select", - "@fulldev/toggle-group" - ], - "files": [ - { - "path": "src/components/examples/card/card-demo.tsx", - "content": "import { Button } from \"@/components/ui/button\"\nimport {\n Card,\n CardAction,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"@/components/ui/card\"\nimport { Input } from \"@/components/ui/input\"\nimport { Label } from \"@/components/ui/label\"\n\nexport function CardDemo() {\n return (\n \n \n Login to your account\n \n Enter your email below to login to your account\n \n \n \n \n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n
\n
\n
\n \n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/card/card-edge-to-edge.tsx", - "content": "import { Button } from \"@/components/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"@/components/ui/card\"\n\nexport function CardEdgeToEdge() {\n return (\n \n \n Terms of Service\n \n Review the terms before accepting the agreement.\n \n \n \n
\n

\n These terms govern your use of the workspace, including access to\n shared documents, project files, and collaboration tools.\n

\n

\n You are responsible for the content you upload and for ensuring that\n your team has the appropriate permissions to view or edit it.\n

\n

\n We may update features or limits as the service evolves. When those\n changes materially affect your workflow, we will notify your\n workspace administrators.\n

\n

\n By continuing, you agree to keep your account credentials secure and\n to follow your organization's acceptable use policies.\n

\n
\n
\n \n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/card/card-image.tsx", - "content": "import { Badge } from \"@/components/ui/badge\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n Card,\n CardAction,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"@/components/ui/card\"\n\nexport function CardImage() {\n return (\n \n
\n \n \n \n Featured\n \n Design systems meetup\n \n A practical talk on component APIs, accessibility, and shipping\n faster.\n \n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/card/card-rtl.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n Card,\n CardAction,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"@/components/ui/card\"\nimport { Input } from \"@/components/ui/input\"\nimport { Label } from \"@/components/ui/label\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {\n title: \"Login to your account\",\n description: \"Enter your email below to login to your account\",\n signUp: \"Sign Up\",\n email: \"Email\",\n emailPlaceholder: \"m@example.com\",\n password: \"Password\",\n forgotPassword: \"Forgot your password?\",\n login: \"Login\",\n loginWithGoogle: \"Login with Google\",\n },\n },\n ar: {\n dir: \"rtl\",\n values: {\n title: \"تسجيل الدخول إلى حسابك\",\n description: \"أدخل بريدك الإلكتروني أدناه لتسجيل الدخول إلى حسابك\",\n signUp: \"إنشاء حساب\",\n email: \"البريد الإلكتروني\",\n emailPlaceholder: \"m@example.com\",\n password: \"كلمة المرور\",\n forgotPassword: \"نسيت كلمة المرور؟\",\n login: \"تسجيل الدخول\",\n loginWithGoogle: \"تسجيل الدخول باستخدام Google\",\n },\n },\n he: {\n dir: \"rtl\",\n values: {\n title: \"התחבר לחשבון שלך\",\n description: \"הזן את האימייל שלך למטה כדי להתחבר לחשבון שלך\",\n signUp: \"הירשם\",\n email: \"אימייל\",\n emailPlaceholder: \"m@example.com\",\n password: \"סיסמה\",\n forgotPassword: \"שכחת את הסיסמה?\",\n login: \"התחבר\",\n loginWithGoogle: \"התחבר עם Google\",\n },\n },\n}\n\nexport function CardRtl() {\n const { dir, t } = useTranslation(translations, \"ar\")\n\n return (\n \n \n {t.title}\n {t.description}\n \n \n \n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n {t.forgotPassword}\n \n
\n \n
\n
\n
\n
\n \n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/card/card-small.tsx", - "content": "import { ChevronRightIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"@/components/ui/card\"\n\nexport function CardSmall() {\n const featureName = \"Scheduled reports\"\n\n return (\n \n \n {featureName}\n \n Weekly snapshots. No more manual exports.\n \n \n \n
    \n
  • \n \n Choose a schedule (daily, or weekly).\n
  • \n
  • \n \n Send to channels or specific teammates.\n
  • \n
  • \n \n Include charts, tables, and key metrics.\n
  • \n
\n
\n \n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/card/card-spacing.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n Card,\n CardAction,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"@/components/ui/card\"\nimport { Input } from \"@/components/ui/input\"\nimport { Label } from \"@/components/ui/label\"\nimport { ToggleGroup, ToggleGroupItem } from \"@/components/ui/toggle-group\"\n\nconst spacingOptions = [\n {\n className: \"[--card-spacing:--spacing(4)]\",\n label: \"16px\",\n value: \"4\",\n },\n {\n className: \"[--card-spacing:--spacing(5)]\",\n label: \"20px\",\n value: \"5\",\n },\n {\n className: \"[--card-spacing:--spacing(6)]\",\n label: \"24px\",\n value: \"6\",\n },\n {\n className: \"[--card-spacing:--spacing(8)]\",\n label: \"32px\",\n value: \"8\",\n },\n]\n\nexport function CardSpacing() {\n const [spacing, setSpacing] = React.useState(\"4\")\n const selectedSpacing = spacingOptions.find(\n (option) => option.value === spacing\n )\n\n return (\n
\n {\n if (value[0]) {\n setSpacing(value[0])\n }\n }}\n variant=\"outline\"\n size=\"sm\"\n className=\"justify-center\"\n >\n {spacingOptions.map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n Login to your account\n \n Enter your email below to login to your account\n \n \n \n \n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n
\n
\n
\n \n \n \n \n
\n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/card/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/card.json b/public/r/react/styles/base-luma/card.json deleted file mode 100644 index e1f31c04f..000000000 --- a/public/r/react/styles/base-luma/card.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "card", - "title": "Card", - "description": "Displays a card with header, content, and footer.", - "dependencies": [ - "cn" - ], - "files": [ - { - "path": "src/components/ui/card.tsx", - "content": "import * as React from \"react\"\nimport { cn } from \"cn\"\n\nfunction Card({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n return (\n img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(4)] *:[img:first-child]:rounded-t-4xl *:[img:last-child]:rounded-b-4xl group/card flex flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/card/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/carousel-examples.json b/public/r/react/styles/base-luma/carousel-examples.json deleted file mode 100644 index 05846ddfa..000000000 --- a/public/r/react/styles/base-luma/carousel-examples.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "carousel-examples", - "title": "Carousel examples", - "description": "The examples from the shadcn/ui Carousel docs.", - "dependencies": [ - "cn", - "embla-carousel-autoplay@8.6.0" - ], - "registryDependencies": [ - "@fulldev/card", - "@fulldev/carousel", - "@fulldev/select" - ], - "files": [ - { - "path": "src/components/examples/carousel/carousel-api.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { Card, CardContent } from \"@/components/ui/card\"\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n type CarouselApi,\n} from \"@/components/ui/carousel\"\n\nexport function CarouselDApiDemo() {\n const [api, setApi] = React.useState()\n const [current, setCurrent] = React.useState(0)\n const [count, setCount] = React.useState(0)\n\n React.useEffect(() => {\n if (!api) {\n return\n }\n\n setCount(api.scrollSnapList().length)\n setCurrent(api.selectedScrollSnap() + 1)\n\n api.on(\"select\", () => {\n setCurrent(api.selectedScrollSnap() + 1)\n })\n }, [api])\n\n return (\n
\n \n \n {Array.from({ length: 5 }).map((_, index) => (\n \n \n \n {index + 1}\n \n \n \n ))}\n \n \n \n \n
\n Slide {current} of {count}\n
\n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/carousel/carousel-demo.tsx", - "content": "import * as React from \"react\"\n\nimport { Card, CardContent } from \"@/components/ui/card\"\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n} from \"@/components/ui/carousel\"\n\nexport function CarouselDemo() {\n return (\n \n \n {Array.from({ length: 5 }).map((_, index) => (\n \n
\n \n \n {index + 1}\n \n \n
\n
\n ))}\n
\n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/carousel/carousel-orientation.tsx", - "content": "import * as React from \"react\"\n\nimport { Card, CardContent } from \"@/components/ui/card\"\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n} from \"@/components/ui/carousel\"\n\nexport function CarouselOrientation() {\n return (\n \n \n {Array.from({ length: 5 }).map((_, index) => (\n \n
\n \n \n {index + 1}\n \n \n
\n
\n ))}\n
\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/carousel/carousel-plugin.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport Autoplay from \"embla-carousel-autoplay\"\n\nimport { Card, CardContent } from \"@/components/ui/card\"\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n} from \"@/components/ui/carousel\"\n\nexport function CarouselPlugin() {\n const plugin = React.useRef(\n Autoplay({ delay: 2000, stopOnInteraction: true })\n )\n\n return (\n \n \n {Array.from({ length: 5 }).map((_, index) => (\n \n
\n \n \n {index + 1}\n \n \n
\n
\n ))}\n
\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/carousel/carousel-rtl.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { Card, CardContent } from \"@/components/ui/card\"\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n} from \"@/components/ui/carousel\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {},\n },\n ar: {\n dir: \"rtl\",\n values: {},\n },\n he: {\n dir: \"rtl\",\n values: {},\n },\n}\n\nfunction toArabicNumerals(num: number): string {\n const arabicNumerals = [\"٠\", \"١\", \"٢\", \"٣\", \"٤\", \"٥\", \"٦\", \"٧\", \"٨\", \"٩\"]\n return num\n .toString()\n .split(\"\")\n .map((digit) => arabicNumerals[parseInt(digit, 10)])\n .join(\"\")\n}\n\nexport function CarouselRtl() {\n const { dir, language } = useTranslation(translations, \"ar\")\n\n const formatNumber = (num: number): string => {\n if (language === \"ar\") {\n return toArabicNumerals(num)\n }\n return num.toString()\n }\n\n return (\n \n \n {Array.from({ length: 5 }).map((_, index) => (\n \n
\n \n \n \n {formatNumber(index + 1)}\n \n \n \n
\n
\n ))}\n
\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/carousel/carousel-size.tsx", - "content": "import * as React from \"react\"\n\nimport { Card, CardContent } from \"@/components/ui/card\"\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n} from \"@/components/ui/carousel\"\n\nexport function CarouselSize() {\n return (\n \n \n {Array.from({ length: 5 }).map((_, index) => (\n \n
\n \n \n {index + 1}\n \n \n
\n
\n ))}\n
\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/carousel/carousel-spacing.tsx", - "content": "import * as React from \"react\"\n\nimport { Card, CardContent } from \"@/components/ui/card\"\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n} from \"@/components/ui/carousel\"\n\nexport function CarouselSpacing() {\n return (\n \n \n {Array.from({ length: 5 }).map((_, index) => (\n \n
\n \n \n {index + 1}\n \n \n
\n
\n ))}\n
\n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/carousel/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/carousel.json b/public/r/react/styles/base-luma/carousel.json deleted file mode 100644 index a1cc92f86..000000000 --- a/public/r/react/styles/base-luma/carousel.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "carousel", - "title": "Carousel", - "description": "A carousel with motion, swipe and responsive slides built using Embla.", - "dependencies": [ - "cn", - "embla-carousel-react@8.6.0", - "lucide-react" - ], - "registryDependencies": [ - "@fulldev/button" - ], - "files": [ - { - "path": "src/components/ui/carousel.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\"\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\n\ntype CarouselApi = UseEmblaCarouselType[1]\ntype UseCarouselParameters = Parameters\ntype CarouselOptions = UseCarouselParameters[0]\ntype CarouselPlugin = UseCarouselParameters[1]\n\ntype CarouselProps = {\n opts?: CarouselOptions\n plugins?: CarouselPlugin\n orientation?: \"horizontal\" | \"vertical\"\n setApi?: (api: CarouselApi) => void\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType[0]\n api: ReturnType[1]\n scrollPrev: () => void\n scrollNext: () => void\n canScrollPrev: boolean\n canScrollNext: boolean\n} & CarouselProps\n\nconst CarouselContext = React.createContext(null)\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext)\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a \")\n }\n\n return context\n}\n\nfunction Carousel({\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & CarouselProps) {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n )\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\n const [canScrollNext, setCanScrollNext] = React.useState(false)\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) return\n setCanScrollPrev(api.canScrollPrev())\n setCanScrollNext(api.canScrollNext())\n }, [])\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev()\n }, [api])\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext()\n }, [api])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault()\n scrollPrev()\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault()\n scrollNext()\n }\n },\n [scrollPrev, scrollNext]\n )\n\n React.useEffect(() => {\n if (!api || !setApi) return\n setApi(api)\n }, [api, setApi])\n\n React.useEffect(() => {\n if (!api) return\n onSelect(api)\n api.on(\"reInit\", onSelect)\n api.on(\"select\", onSelect)\n\n return () => {\n api?.off(\"select\", onSelect)\n }\n }, [api, onSelect])\n\n return (\n \n \n {children}\n
\n \n )\n}\n\nfunction CarouselContent({ className, ...props }: React.ComponentProps<\"div\">) {\n const { carouselRef, orientation } = useCarousel()\n\n return (\n \n \n \n )\n}\n\nfunction CarouselItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const { orientation } = useCarousel()\n\n return (\n \n )\n}\n\nfunction CarouselPrevious({\n className,\n variant = \"outline\",\n size = \"icon-sm\",\n ...props\n}: React.ComponentProps) {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\n\n return (\n \n \n Previous slide\n \n )\n}\n\nfunction CarouselNext({\n className,\n variant = \"outline\",\n size = \"icon-sm\",\n ...props\n}: React.ComponentProps) {\n const { orientation, scrollNext, canScrollNext } = useCarousel()\n\n return (\n \n \n Next slide\n \n )\n}\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n useCarousel,\n}\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/carousel/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/chart-examples.json b/public/r/react/styles/base-luma/chart-examples.json deleted file mode 100644 index aa8858343..000000000 --- a/public/r/react/styles/base-luma/chart-examples.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "chart-examples", - "title": "Chart examples", - "description": "The examples from the shadcn/ui Chart docs.", - "dependencies": [ - "cn", - "recharts@3.8.0" - ], - "registryDependencies": [ - "@fulldev/card", - "@fulldev/chart", - "@fulldev/select" - ], - "files": [ - { - "path": "src/components/examples/chart/chart-demo.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Bar, BarChart, CartesianGrid, XAxis } from \"recharts\"\n\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/components/ui/card\"\nimport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from \"@/components/ui/chart\"\n\nexport const description = \"An interactive bar chart\"\n\nconst chartData = [\n { date: \"2024-04-01\", desktop: 222, mobile: 150 },\n { date: \"2024-04-02\", desktop: 97, mobile: 180 },\n { date: \"2024-04-03\", desktop: 167, mobile: 120 },\n { date: \"2024-04-04\", desktop: 242, mobile: 260 },\n { date: \"2024-04-05\", desktop: 373, mobile: 290 },\n { date: \"2024-04-06\", desktop: 301, mobile: 340 },\n { date: \"2024-04-07\", desktop: 245, mobile: 180 },\n { date: \"2024-04-08\", desktop: 409, mobile: 320 },\n { date: \"2024-04-09\", desktop: 59, mobile: 110 },\n { date: \"2024-04-10\", desktop: 261, mobile: 190 },\n { date: \"2024-04-11\", desktop: 327, mobile: 350 },\n { date: \"2024-04-12\", desktop: 292, mobile: 210 },\n { date: \"2024-04-13\", desktop: 342, mobile: 380 },\n { date: \"2024-04-14\", desktop: 137, mobile: 220 },\n { date: \"2024-04-15\", desktop: 120, mobile: 170 },\n { date: \"2024-04-16\", desktop: 138, mobile: 190 },\n { date: \"2024-04-17\", desktop: 446, mobile: 360 },\n { date: \"2024-04-18\", desktop: 364, mobile: 410 },\n { date: \"2024-04-19\", desktop: 243, mobile: 180 },\n { date: \"2024-04-20\", desktop: 89, mobile: 150 },\n { date: \"2024-04-21\", desktop: 137, mobile: 200 },\n { date: \"2024-04-22\", desktop: 224, mobile: 170 },\n { date: \"2024-04-23\", desktop: 138, mobile: 230 },\n { date: \"2024-04-24\", desktop: 387, mobile: 290 },\n { date: \"2024-04-25\", desktop: 215, mobile: 250 },\n { date: \"2024-04-26\", desktop: 75, mobile: 130 },\n { date: \"2024-04-27\", desktop: 383, mobile: 420 },\n { date: \"2024-04-28\", desktop: 122, mobile: 180 },\n { date: \"2024-04-29\", desktop: 315, mobile: 240 },\n { date: \"2024-04-30\", desktop: 454, mobile: 380 },\n]\n\nconst chartConfig = {\n views: {\n label: \"Page Views\",\n },\n desktop: {\n label: \"Desktop\",\n color: \"var(--chart-2)\",\n },\n mobile: {\n label: \"Mobile\",\n color: \"var(--chart-1)\",\n },\n} satisfies ChartConfig\n\nexport function ChartDemo() {\n const [activeChart, setActiveChart] =\n React.useState(\"desktop\")\n\n const total = React.useMemo(\n () => ({\n desktop: chartData.reduce((acc, curr) => acc + curr.desktop, 0),\n mobile: chartData.reduce((acc, curr) => acc + curr.mobile, 0),\n }),\n []\n )\n\n return (\n \n \n
\n Bar Chart - Interactive\n \n Showing total visitors for the last 3 months\n \n
\n
\n {[\"desktop\", \"mobile\"].map((key) => {\n const chart = key as keyof typeof chartConfig\n return (\n setActiveChart(chart)}\n >\n \n {chartConfig[chart].label}\n \n \n {total[key as keyof typeof total].toLocaleString()}\n \n \n )\n })}\n
\n
\n \n \n \n \n {\n const date = new Date(value)\n return date.toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n })\n }}\n />\n {\n return new Date(value).toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n year: \"numeric\",\n })\n }}\n />\n }\n />\n \n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/chart/chart-example-axis.tsx", - "content": "\"use client\"\n\nimport { Bar, BarChart, CartesianGrid, XAxis } from \"recharts\"\n\nimport { ChartContainer, type ChartConfig } from \"@/components/ui/chart\"\n\nconst chartData = [\n { month: \"January\", desktop: 186, mobile: 80 },\n { month: \"February\", desktop: 305, mobile: 200 },\n { month: \"March\", desktop: 237, mobile: 120 },\n { month: \"April\", desktop: 73, mobile: 190 },\n { month: \"May\", desktop: 209, mobile: 130 },\n { month: \"June\", desktop: 214, mobile: 140 },\n]\n\nconst chartConfig = {\n desktop: {\n label: \"Desktop\",\n color: \"#2563eb\",\n },\n mobile: {\n label: \"Mobile\",\n color: \"#60a5fa\",\n },\n} satisfies ChartConfig\n\nexport function ChartBarDemoAxis() {\n return (\n \n \n \n value.slice(0, 3)}\n />\n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/chart/chart-example-grid.tsx", - "content": "\"use client\"\n\nimport { Bar, BarChart, CartesianGrid } from \"recharts\"\n\nimport { ChartContainer, type ChartConfig } from \"@/components/ui/chart\"\n\nconst chartData = [\n { month: \"January\", desktop: 186, mobile: 80 },\n { month: \"February\", desktop: 305, mobile: 200 },\n { month: \"March\", desktop: 237, mobile: 120 },\n { month: \"April\", desktop: 73, mobile: 190 },\n { month: \"May\", desktop: 209, mobile: 130 },\n { month: \"June\", desktop: 214, mobile: 140 },\n]\n\nconst chartConfig = {\n desktop: {\n label: \"Desktop\",\n color: \"#2563eb\",\n },\n mobile: {\n label: \"Mobile\",\n color: \"#60a5fa\",\n },\n} satisfies ChartConfig\n\nexport function ChartBarDemoGrid() {\n return (\n \n \n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/chart/chart-example-legend.tsx", - "content": "\"use client\"\n\nimport { Bar, BarChart, CartesianGrid, XAxis } from \"recharts\"\n\nimport {\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from \"@/components/ui/chart\"\n\nconst chartData = [\n { month: \"January\", desktop: 186, mobile: 80 },\n { month: \"February\", desktop: 305, mobile: 200 },\n { month: \"March\", desktop: 237, mobile: 120 },\n { month: \"April\", desktop: 73, mobile: 190 },\n { month: \"May\", desktop: 209, mobile: 130 },\n { month: \"June\", desktop: 214, mobile: 140 },\n]\n\nconst chartConfig = {\n desktop: {\n label: \"Desktop\",\n color: \"#2563eb\",\n },\n mobile: {\n label: \"Mobile\",\n color: \"#60a5fa\",\n },\n} satisfies ChartConfig\n\nexport function ChartBarDemoLegend() {\n return (\n \n \n \n value.slice(0, 3)}\n />\n } />\n } />\n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/chart/chart-example-tooltip.tsx", - "content": "\"use client\"\n\nimport { Bar, BarChart, CartesianGrid, XAxis } from \"recharts\"\n\nimport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from \"@/components/ui/chart\"\n\nconst chartData = [\n { month: \"January\", desktop: 186, mobile: 80 },\n { month: \"February\", desktop: 305, mobile: 200 },\n { month: \"March\", desktop: 237, mobile: 120 },\n { month: \"April\", desktop: 73, mobile: 190 },\n { month: \"May\", desktop: 209, mobile: 130 },\n { month: \"June\", desktop: 214, mobile: 140 },\n]\n\nconst chartConfig = {\n desktop: {\n label: \"Desktop\",\n color: \"#2563eb\",\n },\n mobile: {\n label: \"Mobile\",\n color: \"#60a5fa\",\n },\n} satisfies ChartConfig\n\nexport function ChartBarDemoTooltip() {\n return (\n \n \n \n value.slice(0, 3)}\n />\n } />\n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/chart/chart-example.tsx", - "content": "\"use client\"\n\nimport { Bar, BarChart } from \"recharts\"\n\nimport { ChartContainer, type ChartConfig } from \"@/components/ui/chart\"\n\nconst chartData = [\n { month: \"January\", desktop: 186, mobile: 80 },\n { month: \"February\", desktop: 305, mobile: 200 },\n { month: \"March\", desktop: 237, mobile: 120 },\n { month: \"April\", desktop: 73, mobile: 190 },\n { month: \"May\", desktop: 209, mobile: 130 },\n { month: \"June\", desktop: 214, mobile: 140 },\n]\n\nconst chartConfig = {\n desktop: {\n label: \"Desktop\",\n color: \"#2563eb\",\n },\n mobile: {\n label: \"Mobile\",\n color: \"#60a5fa\",\n },\n} satisfies ChartConfig\n\nexport function ChartExample() {\n return (\n \n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/chart/chart-rtl.tsx", - "content": "\"use client\"\n\nimport { Bar, BarChart, CartesianGrid, XAxis } from \"recharts\"\n\nimport {\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from \"@/components/ui/chart\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {\n january: \"January\",\n february: \"February\",\n march: \"March\",\n april: \"April\",\n may: \"May\",\n june: \"June\",\n desktop: \"Desktop\",\n mobile: \"Mobile\",\n },\n },\n ar: {\n dir: \"rtl\",\n values: {\n january: \"يناير\",\n february: \"فبراير\",\n march: \"مارس\",\n april: \"أبريل\",\n may: \"مايو\",\n june: \"يونيو\",\n desktop: \"سطح المكتب\",\n mobile: \"الجوال\",\n },\n },\n he: {\n dir: \"rtl\",\n values: {\n january: \"ינואר\",\n february: \"פברואר\",\n march: \"מרץ\",\n april: \"אפריל\",\n may: \"מאי\",\n june: \"יוני\",\n desktop: \"מחשב\",\n mobile: \"נייד\",\n },\n },\n}\n\nconst chartData = [\n { month: \"january\", desktop: 186, mobile: 80 },\n { month: \"february\", desktop: 305, mobile: 200 },\n { month: \"march\", desktop: 237, mobile: 120 },\n { month: \"april\", desktop: 73, mobile: 190 },\n { month: \"may\", desktop: 209, mobile: 130 },\n { month: \"june\", desktop: 214, mobile: 140 },\n]\n\nexport function ChartRtl() {\n const { t, dir } = useTranslation(translations, \"ar\")\n\n const chartConfig = {\n desktop: {\n label: t.desktop,\n color: \"var(--chart-2)\",\n },\n mobile: {\n label: t.mobile,\n color: \"var(--chart-1)\",\n },\n } satisfies ChartConfig\n\n return (\n \n \n \n \n (t[value as keyof typeof t] as string).slice(0, 3)\n }\n reversed={dir === \"rtl\"}\n />\n t[value as keyof typeof t] as string}\n />\n }\n labelClassName=\"w-32\"\n />\n } />\n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/chart/chart-tooltip.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nexport function ChartTooltipDemo() {\n return (\n
div]:relative [&>div]:flex [&>div]:h-[137px] [&>div]:w-[224px] [&>div]:items-center [&>div]:justify-center [&>div]:p-4\">\n
\n
\n Label\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n Name\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n Indicator\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n )\n}\n\nfunction TooltipDemo({\n indicator = \"dot\",\n label,\n payload,\n hideLabel,\n hideIndicator,\n className,\n}: {\n label: string\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n payload: {\n name: string\n value: number\n fill: string\n }[]\n nameKey?: string\n labelKey?: string\n} & React.ComponentProps<\"div\">) {\n const tooltipLabel = hideLabel ? null : (\n
{label}
\n )\n\n if (!payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\n\n return (\n \n {!nestLabel ? tooltipLabel : null}\n
\n {payload.map((item, index) => {\n const indicatorColor = item.fill\n\n return (\n svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n <>\n {!hideIndicator && (\n \n )}\n \n
\n {nestLabel ? tooltipLabel : null}\n {item.name}\n
\n \n {item.value.toLocaleString()}\n \n
\n \n \n )\n })}\n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/chart/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/chart.json b/public/r/react/styles/base-luma/chart.json deleted file mode 100644 index c6f450fe2..000000000 --- a/public/r/react/styles/base-luma/chart.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "chart", - "title": "Chart", - "description": "Charts built with Recharts, themed with the chart color tokens.", - "dependencies": [ - "cn", - "recharts@3.8.0" - ], - "files": [ - { - "path": "src/components/ui/chart.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\nimport * as RechartsPrimitive from \"recharts\"\nimport type { TooltipValueType } from \"recharts\"\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const\n\nconst INITIAL_DIMENSION = { width: 320, height: 200 } as const\ntype TooltipNameType = number | string\n\nexport type ChartConfig = Record<\n string,\n {\n label?: React.ReactNode\n icon?: React.ComponentType\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record }\n )\n>\n\ntype ChartContextProps = {\n config: ChartConfig\n}\n\nconst ChartContext = React.createContext(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error(\"useChart must be used within a \")\n }\n\n return context\n}\n\nfunction ChartContainer({\n id,\n className,\n children,\n config,\n initialDimension = INITIAL_DIMENSION,\n ...props\n}: React.ComponentProps<\"div\"> & {\n config: ChartConfig\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"]\n initialDimension?: {\n width: number\n height: number\n }\n}) {\n const uniqueId = React.useId()\n const chartId = `chart-${id ?? uniqueId.replace(/:/g, \"\")}`\n\n return (\n \n \n \n \n {children}\n \n \n \n )\n}\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([, config]) => config.theme ?? config.color\n )\n\n if (!colorConfig.length) {\n return null\n }\n\n return (\n `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ??\n itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\n\")}\n}\n`\n )\n .join(\"\\n\"),\n }}\n />\n )\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nfunction ChartTooltipContent({\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n}: React.ComponentProps &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n nameKey?: string\n labelKey?: string\n } & Omit<\n RechartsPrimitive.DefaultTooltipContentProps<\n TooltipValueType,\n TooltipNameType\n >,\n \"accessibilityLayer\"\n >) {\n const { config } = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey ?? item?.dataKey ?? item?.name ?? \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value =\n !labelKey && typeof label === \"string\"\n ? (config[label]?.label ?? label)\n : itemConfig?.label\n\n if (labelFormatter) {\n return (\n
\n {labelFormatter(value, payload)}\n
\n )\n }\n\n if (!value) {\n return null\n }\n\n return
{value}
\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\n\n return (\n \n {!nestLabel ? tooltipLabel : null}\n
\n {payload\n .filter((item) => item.type !== \"none\")\n .map((item, index) => {\n const key = `${nameKey ?? item.name ?? item.dataKey ?? \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color ?? item.payload?.fill ?? item.color\n\n return (\n svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n \n ) : (\n !hideIndicator && (\n \n )\n )}\n \n
\n {nestLabel ? tooltipLabel : null}\n \n {itemConfig?.label ?? item.name}\n \n
\n {item.value != null && (\n \n {typeof item.value === \"number\"\n ? item.value.toLocaleString()\n : String(item.value)}\n \n )}\n
\n \n )}\n \n )\n })}\n \n \n )\n}\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nfunction ChartLegendContent({\n className,\n hideIcon = false,\n payload,\n verticalAlign = \"bottom\",\n nameKey,\n}: React.ComponentProps<\"div\"> & {\n hideIcon?: boolean\n nameKey?: string\n} & RechartsPrimitive.DefaultLegendContentProps) {\n const { config } = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n \n {payload\n .filter((item) => item.type !== \"none\")\n .map((item, index) => {\n const key = `${nameKey ?? item.dataKey ?? \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n \n ) : (\n \n )}\n {itemConfig?.label}\n \n )\n })}\n \n )\n}\n\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config ? config[configLabelKey] : config[key]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/chart/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/checkbox-examples.json b/public/r/react/styles/base-luma/checkbox-examples.json deleted file mode 100644 index e28ca58d5..000000000 --- a/public/r/react/styles/base-luma/checkbox-examples.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "checkbox-examples", - "title": "Checkbox examples", - "description": "The examples from the shadcn/ui Checkbox docs.", - "dependencies": [ - "cn" - ], - "registryDependencies": [ - "@fulldev/checkbox", - "@fulldev/field", - "@fulldev/label", - "@fulldev/select", - "@fulldev/table" - ], - "files": [ - { - "path": "src/components/examples/checkbox/checkbox-basic.tsx", - "content": "import { Checkbox } from \"@/components/ui/checkbox\"\nimport { Field, FieldGroup, FieldLabel } from \"@/components/ui/field\"\n\nexport function CheckboxBasic() {\n return (\n \n \n \n \n Accept terms and conditions\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/checkbox/checkbox-demo.tsx", - "content": "\"use client\"\n\nimport { Checkbox } from \"@/components/ui/checkbox\"\nimport {\n Field,\n FieldContent,\n FieldDescription,\n FieldGroup,\n FieldLabel,\n FieldTitle,\n} from \"@/components/ui/field\"\nimport { Label } from \"@/components/ui/label\"\n\nexport function CheckboxDemo() {\n return (\n \n \n \n \n \n \n \n \n \n Accept terms and conditions\n \n \n By clicking this checkbox, you agree to the terms.\n \n \n \n \n \n Enable notifications\n \n \n \n \n \n Enable notifications\n \n You can enable or disable notifications at any time.\n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/checkbox/checkbox-description.tsx", - "content": "import { Checkbox } from \"@/components/ui/checkbox\"\nimport {\n Field,\n FieldContent,\n FieldDescription,\n FieldGroup,\n FieldLabel,\n} from \"@/components/ui/field\"\n\nexport function CheckboxDescription() {\n return (\n \n \n \n \n \n Accept terms and conditions\n \n \n By clicking this checkbox, you agree to the terms and conditions.\n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/checkbox/checkbox-disabled.tsx", - "content": "import { Checkbox } from \"@/components/ui/checkbox\"\nimport { Field, FieldGroup, FieldLabel } from \"@/components/ui/field\"\n\nexport function CheckboxDisabled() {\n return (\n \n \n \n \n Enable notifications\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/checkbox/checkbox-group.tsx", - "content": "import { Checkbox } from \"@/components/ui/checkbox\"\nimport {\n Field,\n FieldDescription,\n FieldGroup,\n FieldLabel,\n FieldLegend,\n FieldSet,\n} from \"@/components/ui/field\"\n\nexport function CheckboxGroup() {\n return (\n
\n \n Show these items on the desktop:\n \n \n Select the items you want to show on the desktop.\n \n \n \n \n \n Hard disks\n \n \n \n \n \n External disks\n \n \n \n \n \n CDs, DVDs, and iPods\n \n \n \n \n \n Connected servers\n \n \n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/checkbox/checkbox-invalid.tsx", - "content": "import { Checkbox } from \"@/components/ui/checkbox\"\nimport { Field, FieldGroup, FieldLabel } from \"@/components/ui/field\"\n\nexport function CheckboxInvalid() {\n return (\n \n \n \n \n Accept terms and conditions\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/checkbox/checkbox-rtl.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { Checkbox } from \"@/components/ui/checkbox\"\nimport {\n Field,\n FieldContent,\n FieldDescription,\n FieldGroup,\n FieldLabel,\n FieldTitle,\n} from \"@/components/ui/field\"\nimport { Label } from \"@/components/ui/label\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {\n acceptTerms: \"Accept terms and conditions\",\n acceptTermsDescription:\n \"By clicking this checkbox, you agree to the terms.\",\n enableNotifications: \"Enable notifications\",\n enableNotificationsDescription:\n \"You can enable or disable notifications at any time.\",\n },\n },\n ar: {\n dir: \"rtl\",\n values: {\n acceptTerms: \"قبول الشروط والأحكام\",\n acceptTermsDescription: \"بالنقر على هذا المربع، فإنك توافق على الشروط.\",\n enableNotifications: \"تفعيل الإشعارات\",\n enableNotificationsDescription:\n \"يمكنك تفعيل أو إلغاء تفعيل الإشعارات في أي وقت.\",\n },\n },\n he: {\n dir: \"rtl\",\n values: {\n acceptTerms: \"קבל תנאים והגבלות\",\n acceptTermsDescription:\n \"על ידי לחיצה על תיבת הסימון הזו, אתה מסכים לתנאים.\",\n enableNotifications: \"הפעל התראות\",\n enableNotificationsDescription:\n \"אתה יכול להפעיל או להשבית התראות בכל עת.\",\n },\n },\n}\n\nexport function CheckboxRtl() {\n const { dir, t } = useTranslation(translations, \"ar\")\n\n return (\n \n \n \n \n \n \n \n \n \n {t.acceptTerms}\n \n {t.acceptTermsDescription}\n \n \n \n \n \n {t.enableNotifications}\n \n \n \n \n \n \n {t.enableNotifications}\n \n {t.enableNotificationsDescription}\n \n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/checkbox/checkbox-table.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { Checkbox } from \"@/components/ui/checkbox\"\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\"\n\nconst tableData = [\n {\n id: \"1\",\n name: \"Sarah Chen\",\n email: \"sarah.chen@example.com\",\n role: \"Admin\",\n },\n {\n id: \"2\",\n name: \"Marcus Rodriguez\",\n email: \"marcus.rodriguez@example.com\",\n role: \"User\",\n },\n {\n id: \"3\",\n name: \"Priya Patel\",\n email: \"priya.patel@example.com\",\n role: \"User\",\n },\n {\n id: \"4\",\n name: \"David Kim\",\n email: \"david.kim@example.com\",\n role: \"Editor\",\n },\n]\n\nexport function CheckboxInTable() {\n const [selectedRows, setSelectedRows] = React.useState>(\n new Set([\"1\"])\n )\n\n const selectAll = selectedRows.size === tableData.length\n\n const handleSelectAll = (checked: boolean) => {\n if (checked) {\n setSelectedRows(new Set(tableData.map((row) => row.id)))\n } else {\n setSelectedRows(new Set())\n }\n }\n\n const handleSelectRow = (id: string, checked: boolean) => {\n const newSelected = new Set(selectedRows)\n if (checked) {\n newSelected.add(id)\n } else {\n newSelected.delete(id)\n }\n setSelectedRows(newSelected)\n }\n\n return (\n \n \n \n \n \n \n Name\n Email\n Role\n \n \n \n {tableData.map((row) => (\n \n \n \n handleSelectRow(row.id, checked === true)\n }\n />\n \n {row.name}\n {row.email}\n {row.role}\n \n ))}\n \n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/checkbox/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/checkbox.json b/public/r/react/styles/base-luma/checkbox.json deleted file mode 100644 index bc7ad8ec0..000000000 --- a/public/r/react/styles/base-luma/checkbox.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "checkbox", - "title": "Checkbox", - "description": "A control that allows the user to toggle between checked and not checked.", - "dependencies": [ - "@base-ui/react", - "cn", - "lucide-react" - ], - "files": [ - { - "path": "src/components/ui/checkbox.tsx", - "content": "\"use client\"\n\nimport { Checkbox as CheckboxPrimitive } from \"@base-ui/react/checkbox\"\nimport { cn } from \"cn\"\nimport { CheckIcon } from \"lucide-react\"\n\nfunction Checkbox({ className, ...props }: CheckboxPrimitive.Root.Props) {\n return (\n \n svg]:size-3.5 grid place-content-center text-current transition-none\"\n >\n \n \n \n )\n}\n\nexport { Checkbox }\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/checkbox/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/collapsible-examples.json b/public/r/react/styles/base-luma/collapsible-examples.json deleted file mode 100644 index a0bbcf87c..000000000 --- a/public/r/react/styles/base-luma/collapsible-examples.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "collapsible-examples", - "title": "Collapsible examples", - "description": "The examples from the shadcn/ui Collapsible docs.", - "dependencies": [ - "cn", - "lucide-react" - ], - "registryDependencies": [ - "@fulldev/button", - "@fulldev/card", - "@fulldev/collapsible", - "@fulldev/field", - "@fulldev/input", - "@fulldev/select", - "@fulldev/tabs" - ], - "files": [ - { - "path": "src/components/examples/collapsible/collapsible-basic.tsx", - "content": "import { ChevronDownIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { Card, CardContent } from \"@/components/ui/card\"\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"@/components/ui/collapsible\"\n\nexport function CollapsibleBasic() {\n return (\n \n \n \n }\n >\n Product details\n \n \n \n
\n This panel can be expanded or collapsed to reveal additional\n content.\n
\n \n
\n
\n
\n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/collapsible/collapsible-demo.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { ChevronsUpDown } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"@/components/ui/collapsible\"\n\nexport function CollapsibleDemo() {\n const [isOpen, setIsOpen] = React.useState(false)\n\n return (\n \n
\n

Order #4189

\n }\n >\n \n Toggle details\n \n
\n
\n Status\n Shipped\n
\n \n
\n

Shipping address

\n

100 Market St, San Francisco

\n
\n
\n

Items

\n

2x Studio Headphones

\n
\n
\n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/collapsible/collapsible-file-tree.tsx", - "content": "import { ChevronRightIcon, FileIcon, FolderIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { Card, CardContent, CardHeader } from \"@/components/ui/card\"\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"@/components/ui/collapsible\"\nimport { Tabs, TabsList, TabsTrigger } from \"@/components/ui/tabs\"\n\ntype FileTreeItem = { name: string } | { name: string; items: FileTreeItem[] }\n\nexport function CollapsibleFileTree() {\n const fileTree: FileTreeItem[] = [\n {\n name: \"components\",\n items: [\n {\n name: \"ui\",\n items: [\n { name: \"button.tsx\" },\n { name: \"card.tsx\" },\n { name: \"dialog.tsx\" },\n { name: \"input.tsx\" },\n { name: \"select.tsx\" },\n { name: \"table.tsx\" },\n ],\n },\n { name: \"login-form.tsx\" },\n { name: \"register-form.tsx\" },\n ],\n },\n {\n name: \"lib\",\n items: [{ name: \"utils.ts\" }, { name: \"cn.ts\" }, { name: \"api.ts\" }],\n },\n {\n name: \"hooks\",\n items: [\n { name: \"use-media-query.ts\" },\n { name: \"use-debounce.ts\" },\n { name: \"use-local-storage.ts\" },\n ],\n },\n {\n name: \"types\",\n items: [{ name: \"index.d.ts\" }, { name: \"api.d.ts\" }],\n },\n {\n name: \"public\",\n items: [\n { name: \"favicon.ico\" },\n { name: \"logo.svg\" },\n { name: \"images\" },\n ],\n },\n { name: \"app.tsx\" },\n { name: \"layout.tsx\" },\n { name: \"globals.css\" },\n { name: \"package.json\" },\n { name: \"tsconfig.json\" },\n { name: \"README.md\" },\n { name: \".gitignore\" },\n ]\n\n const renderItem = (fileItem: FileTreeItem) => {\n if (\"items\" in fileItem) {\n return (\n \n \n }\n >\n \n \n {fileItem.name}\n \n \n
\n {fileItem.items.map((child) => renderItem(child))}\n
\n
\n
\n )\n }\n return (\n \n \n {fileItem.name}\n \n )\n }\n\n return (\n \n \n \n \n Explorer\n Outline\n \n \n \n \n
\n {fileTree.map((item) => renderItem(item))}\n
\n
\n
\n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/collapsible/collapsible-rtl.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { ChevronsUpDown } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"@/components/ui/collapsible\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {\n orderNumber: \"Order #4189\",\n status: \"Status\",\n shipped: \"Shipped\",\n shippingAddress: \"Shipping address\",\n address: \"100 Market St, San Francisco\",\n items: \"Items\",\n itemsDescription: \"2x Studio Headphones\",\n },\n },\n ar: {\n dir: \"rtl\",\n values: {\n orderNumber: \"الطلب #4189\",\n status: \"الحالة\",\n shipped: \"تم الشحن\",\n shippingAddress: \"عنوان الشحن\",\n address: \"100 Market St, San Francisco\",\n items: \"العناصر\",\n itemsDescription: \"2x سماعات الاستوديو\",\n },\n },\n he: {\n dir: \"rtl\",\n values: {\n orderNumber: \"הזמנה #4189\",\n status: \"סטטוס\",\n shipped: \"נשלח\",\n shippingAddress: \"כתובת משלוח\",\n address: \"100 Market St, San Francisco\",\n items: \"פריטים\",\n itemsDescription: \"2x אוזניות סטודיו\",\n },\n },\n}\n\nexport function CollapsibleRtl() {\n const { dir, t } = useTranslation(translations, \"ar\")\n const [isOpen, setIsOpen] = React.useState(false)\n\n return (\n \n
\n

{t.orderNumber}

\n }\n >\n \n Toggle details\n \n
\n
\n {t.status}\n {t.shipped}\n
\n \n
\n

{t.shippingAddress}

\n

{t.address}

\n
\n
\n

{t.items}

\n

{t.itemsDescription}

\n
\n
\n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/collapsible/collapsible-settings.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { MaximizeIcon, MinimizeIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/components/ui/card\"\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"@/components/ui/collapsible\"\nimport { Field, FieldGroup, FieldLabel } from \"@/components/ui/field\"\nimport { Input } from \"@/components/ui/input\"\n\nexport function CollapsibleSettings() {\n const [isOpen, setIsOpen] = React.useState(false)\n\n return (\n \n \n Radius\n Set the corner radius of the element.\n \n \n \n \n \n \n Radius X\n \n \n \n \n \n Radius Y\n \n \n \n \n \n \n Radius X\n \n \n \n \n \n Radius Y\n \n \n \n \n \n }>\n {isOpen ? : }\n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/collapsible/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/collapsible.json b/public/r/react/styles/base-luma/collapsible.json deleted file mode 100644 index ae76fbb7c..000000000 --- a/public/r/react/styles/base-luma/collapsible.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "collapsible", - "title": "Collapsible", - "description": "An interactive component which expands/collapses a panel.", - "dependencies": [ - "@base-ui/react" - ], - "files": [ - { - "path": "src/components/ui/collapsible.tsx", - "content": "\"use client\"\n\nimport { Collapsible as CollapsiblePrimitive } from \"@base-ui/react/collapsible\"\n\nfunction Collapsible({ ...props }: CollapsiblePrimitive.Root.Props) {\n return \n}\n\nfunction CollapsibleTrigger({ ...props }: CollapsiblePrimitive.Trigger.Props) {\n return (\n \n )\n}\n\nfunction CollapsibleContent({ ...props }: CollapsiblePrimitive.Panel.Props) {\n return (\n \n )\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n", - "type": "registry:ui" - } - ], - "docs": "https://ui.full.dev/react/components/collapsible/", - "categories": [ - "ui" - ], - "type": "registry:ui" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/combobox-examples.json b/public/r/react/styles/base-luma/combobox-examples.json deleted file mode 100644 index eae2f6bd4..000000000 --- a/public/r/react/styles/base-luma/combobox-examples.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "combobox-examples", - "title": "Combobox examples", - "description": "The examples from the shadcn/ui Combobox docs.", - "dependencies": [ - "cn", - "lucide-react" - ], - "registryDependencies": [ - "@fulldev/button", - "@fulldev/combobox", - "@fulldev/field", - "@fulldev/input-group", - "@fulldev/item", - "@fulldev/select" - ], - "files": [ - { - "path": "src/components/examples/combobox/combobox-auto-highlight.tsx", - "content": "\"use client\"\n\nimport {\n Combobox,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxInput,\n ComboboxItem,\n ComboboxList,\n} from \"@/components/ui/combobox\"\n\nconst frameworks = [\n \"Next.js\",\n \"SvelteKit\",\n \"Nuxt.js\",\n \"Remix\",\n \"Astro\",\n] as const\n\nexport function ComboboxAutoHighlight() {\n return (\n \n \n \n No items found.\n \n {(item) => (\n \n {item}\n \n )}\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/combobox/combobox-basic.tsx", - "content": "\"use client\"\n\nimport {\n Combobox,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxInput,\n ComboboxItem,\n ComboboxList,\n} from \"@/components/ui/combobox\"\n\nconst frameworks = [\n \"Next.js\",\n \"SvelteKit\",\n \"Nuxt.js\",\n \"Remix\",\n \"Astro\",\n] as const\n\nexport function ComboboxBasic() {\n return (\n \n \n \n No items found.\n \n {(item) => (\n \n {item}\n \n )}\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/combobox/combobox-clear.tsx", - "content": "\"use client\"\n\nimport {\n Combobox,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxInput,\n ComboboxItem,\n ComboboxList,\n} from \"@/components/ui/combobox\"\n\nconst frameworks = [\n \"Next.js\",\n \"SvelteKit\",\n \"Nuxt.js\",\n \"Remix\",\n \"Astro\",\n] as const\n\nexport function ComboboxWithClear() {\n return (\n \n \n \n No items found.\n \n {(item) => (\n \n {item}\n \n )}\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/combobox/combobox-custom.tsx", - "content": "\"use client\"\n\nimport {\n Combobox,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxInput,\n ComboboxItem,\n ComboboxList,\n} from \"@/components/ui/combobox\"\nimport {\n Item,\n ItemContent,\n ItemDescription,\n ItemTitle,\n} from \"@/components/ui/item\"\n\nconst countries = [\n { code: \"\", value: \"\", continent: \"\", label: \"Select country\" },\n {\n code: \"ar\",\n value: \"argentina\",\n label: \"Argentina\",\n continent: \"South America\",\n },\n { code: \"au\", value: \"australia\", label: \"Australia\", continent: \"Oceania\" },\n { code: \"br\", value: \"brazil\", label: \"Brazil\", continent: \"South America\" },\n { code: \"ca\", value: \"canada\", label: \"Canada\", continent: \"North America\" },\n { code: \"cn\", value: \"china\", label: \"China\", continent: \"Asia\" },\n {\n code: \"co\",\n value: \"colombia\",\n label: \"Colombia\",\n continent: \"South America\",\n },\n { code: \"eg\", value: \"egypt\", label: \"Egypt\", continent: \"Africa\" },\n { code: \"fr\", value: \"france\", label: \"France\", continent: \"Europe\" },\n { code: \"de\", value: \"germany\", label: \"Germany\", continent: \"Europe\" },\n { code: \"it\", value: \"italy\", label: \"Italy\", continent: \"Europe\" },\n { code: \"jp\", value: \"japan\", label: \"Japan\", continent: \"Asia\" },\n { code: \"ke\", value: \"kenya\", label: \"Kenya\", continent: \"Africa\" },\n { code: \"mx\", value: \"mexico\", label: \"Mexico\", continent: \"North America\" },\n {\n code: \"nz\",\n value: \"new-zealand\",\n label: \"New Zealand\",\n continent: \"Oceania\",\n },\n { code: \"ng\", value: \"nigeria\", label: \"Nigeria\", continent: \"Africa\" },\n {\n code: \"za\",\n value: \"south-africa\",\n label: \"South Africa\",\n continent: \"Africa\",\n },\n { code: \"kr\", value: \"south-korea\", label: \"South Korea\", continent: \"Asia\" },\n {\n code: \"gb\",\n value: \"united-kingdom\",\n label: \"United Kingdom\",\n continent: \"Europe\",\n },\n {\n code: \"us\",\n value: \"united-states\",\n label: \"United States\",\n continent: \"North America\",\n },\n]\n\nexport function ComboboxWithCustomItems() {\n return (\n country.code !== \"\")}\n itemToStringValue={(country: (typeof countries)[number]) => country.label}\n >\n \n \n No countries found.\n \n {(country) => (\n \n \n \n \n {country.label}\n \n \n {country.continent} ({country.code})\n \n \n \n \n )}\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/combobox/combobox-demo.tsx", - "content": "\"use client\"\n\nimport {\n Combobox,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxInput,\n ComboboxItem,\n ComboboxList,\n} from \"@/components/ui/combobox\"\n\nconst frameworks = [\n \"Next.js\",\n \"SvelteKit\",\n \"Nuxt.js\",\n \"Remix\",\n \"Astro\",\n] as const\n\nexport function ComboboxBasic() {\n return (\n \n \n \n No items found.\n \n {(item) => (\n \n {item}\n \n )}\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/combobox/combobox-disabled.tsx", - "content": "\"use client\"\n\nimport {\n Combobox,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxInput,\n ComboboxItem,\n ComboboxList,\n} from \"@/components/ui/combobox\"\n\nconst frameworks = [\n \"Next.js\",\n \"SvelteKit\",\n \"Nuxt.js\",\n \"Remix\",\n \"Astro\",\n] as const\n\nexport function ComboboxDisabled() {\n return (\n \n \n \n No items found.\n \n {(item) => (\n \n {item}\n \n )}\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/combobox/combobox-groups.tsx", - "content": "\"use client\"\n\nimport {\n Combobox,\n ComboboxCollection,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxGroup,\n ComboboxInput,\n ComboboxItem,\n ComboboxLabel,\n ComboboxList,\n ComboboxSeparator,\n} from \"@/components/ui/combobox\"\n\nconst timezones = [\n {\n value: \"Americas\",\n items: [\n \"(GMT-5) New York\",\n \"(GMT-8) Los Angeles\",\n \"(GMT-6) Chicago\",\n \"(GMT-5) Toronto\",\n \"(GMT-8) Vancouver\",\n \"(GMT-3) São Paulo\",\n ],\n },\n {\n value: \"Europe\",\n items: [\n \"(GMT+0) London\",\n \"(GMT+1) Paris\",\n \"(GMT+1) Berlin\",\n \"(GMT+1) Rome\",\n \"(GMT+1) Madrid\",\n \"(GMT+1) Amsterdam\",\n ],\n },\n {\n value: \"Asia/Pacific\",\n items: [\n \"(GMT+9) Tokyo\",\n \"(GMT+8) Shanghai\",\n \"(GMT+8) Singapore\",\n \"(GMT+4) Dubai\",\n \"(GMT+11) Sydney\",\n \"(GMT+9) Seoul\",\n ],\n },\n] as const\n\nexport function ComboboxWithGroupsAndSeparator() {\n return (\n \n \n \n No timezones found.\n \n {(group, index) => (\n \n {group.value}\n \n {(item) => (\n \n {item}\n \n )}\n \n {index < timezones.length - 1 && }\n \n )}\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/combobox/combobox-input-group.tsx", - "content": "\"use client\"\n\nimport { GlobeIcon } from \"lucide-react\"\n\nimport {\n Combobox,\n ComboboxCollection,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxGroup,\n ComboboxInput,\n ComboboxItem,\n ComboboxLabel,\n ComboboxList,\n} from \"@/components/ui/combobox\"\nimport { InputGroupAddon } from \"@/components/ui/input-group\"\n\nconst timezones = [\n {\n value: \"Americas\",\n items: [\n \"(GMT-5) New York\",\n \"(GMT-8) Los Angeles\",\n \"(GMT-6) Chicago\",\n \"(GMT-5) Toronto\",\n \"(GMT-8) Vancouver\",\n \"(GMT-3) São Paulo\",\n ],\n },\n {\n value: \"Europe\",\n items: [\n \"(GMT+0) London\",\n \"(GMT+1) Paris\",\n \"(GMT+1) Berlin\",\n \"(GMT+1) Rome\",\n \"(GMT+1) Madrid\",\n \"(GMT+1) Amsterdam\",\n ],\n },\n {\n value: \"Asia/Pacific\",\n items: [\n \"(GMT+9) Tokyo\",\n \"(GMT+8) Shanghai\",\n \"(GMT+8) Singapore\",\n \"(GMT+4) Dubai\",\n \"(GMT+11) Sydney\",\n \"(GMT+9) Seoul\",\n ],\n },\n] as const\n\nexport function ComboxboxInputGroup() {\n return (\n \n \n \n \n \n \n \n No timezones found.\n \n {(group) => (\n \n {group.value}\n \n {(item) => (\n \n {item}\n \n )}\n \n \n )}\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/combobox/combobox-invalid.tsx", - "content": "\"use client\"\n\nimport {\n Combobox,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxInput,\n ComboboxItem,\n ComboboxList,\n} from \"@/components/ui/combobox\"\n\nconst frameworks = [\n \"Next.js\",\n \"SvelteKit\",\n \"Nuxt.js\",\n \"Remix\",\n \"Astro\",\n] as const\n\nexport function ComboboxInvalid() {\n return (\n \n \n \n No items found.\n \n {(item) => (\n \n {item}\n \n )}\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/combobox/combobox-multiple.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport {\n Combobox,\n ComboboxChip,\n ComboboxChips,\n ComboboxChipsInput,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxItem,\n ComboboxList,\n ComboboxValue,\n useComboboxAnchor,\n} from \"@/components/ui/combobox\"\n\nconst frameworks = [\n \"Next.js\",\n \"SvelteKit\",\n \"Nuxt.js\",\n \"Remix\",\n \"Astro\",\n] as const\n\nexport function ComboboxMultiple() {\n const anchor = useComboboxAnchor()\n\n return (\n \n \n \n {(values) => (\n \n {values.map((value: string) => (\n {value}\n ))}\n \n \n )}\n \n \n \n No items found.\n \n {(item) => (\n \n {item}\n \n )}\n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/combobox/combobox-popup.tsx", - "content": "\"use client\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n Combobox,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxInput,\n ComboboxItem,\n ComboboxList,\n ComboboxTrigger,\n ComboboxValue,\n} from \"@/components/ui/combobox\"\n\nconst countries = [\n { code: \"\", value: \"\", continent: \"\", label: \"Select country\" },\n {\n code: \"ar\",\n value: \"argentina\",\n label: \"Argentina\",\n continent: \"South America\",\n },\n { code: \"au\", value: \"australia\", label: \"Australia\", continent: \"Oceania\" },\n { code: \"br\", value: \"brazil\", label: \"Brazil\", continent: \"South America\" },\n { code: \"ca\", value: \"canada\", label: \"Canada\", continent: \"North America\" },\n { code: \"cn\", value: \"china\", label: \"China\", continent: \"Asia\" },\n {\n code: \"co\",\n value: \"colombia\",\n label: \"Colombia\",\n continent: \"South America\",\n },\n { code: \"eg\", value: \"egypt\", label: \"Egypt\", continent: \"Africa\" },\n { code: \"fr\", value: \"france\", label: \"France\", continent: \"Europe\" },\n { code: \"de\", value: \"germany\", label: \"Germany\", continent: \"Europe\" },\n { code: \"it\", value: \"italy\", label: \"Italy\", continent: \"Europe\" },\n { code: \"jp\", value: \"japan\", label: \"Japan\", continent: \"Asia\" },\n { code: \"ke\", value: \"kenya\", label: \"Kenya\", continent: \"Africa\" },\n { code: \"mx\", value: \"mexico\", label: \"Mexico\", continent: \"North America\" },\n {\n code: \"nz\",\n value: \"new-zealand\",\n label: \"New Zealand\",\n continent: \"Oceania\",\n },\n { code: \"ng\", value: \"nigeria\", label: \"Nigeria\", continent: \"Africa\" },\n {\n code: \"za\",\n value: \"south-africa\",\n label: \"South Africa\",\n continent: \"Africa\",\n },\n { code: \"kr\", value: \"south-korea\", label: \"South Korea\", continent: \"Asia\" },\n {\n code: \"gb\",\n value: \"united-kingdom\",\n label: \"United Kingdom\",\n continent: \"Europe\",\n },\n {\n code: \"us\",\n value: \"united-states\",\n label: \"United States\",\n continent: \"North America\",\n },\n]\n\nexport function ComboboxPopup() {\n return (\n <>\n \n \n }\n >\n \n \n \n \n No items found.\n \n {(item) => (\n \n {item.label}\n \n )}\n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/examples/combobox/combobox-rtl.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport {\n Combobox,\n ComboboxChip,\n ComboboxChips,\n ComboboxChipsInput,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxItem,\n ComboboxList,\n ComboboxValue,\n useComboboxAnchor,\n} from \"@/components/ui/combobox\"\nimport { Field, FieldLabel } from \"@/components/ui/field\"\nimport {\n useTranslation,\n type Translations,\n} from \"@/components/language-selector\"\n\nconst categories = [\n \"technology\",\n \"design\",\n \"business\",\n \"marketing\",\n \"education\",\n \"health\",\n] as const\n\nconst translations: Translations = {\n en: {\n dir: \"ltr\",\n values: {\n label: \"Categories\",\n placeholder: \"Add categories\",\n empty: \"No categories found.\",\n technology: \"Technology\",\n design: \"Design\",\n business: \"Business\",\n marketing: \"Marketing\",\n education: \"Education\",\n health: \"Health\",\n },\n },\n ar: {\n dir: \"rtl\",\n values: {\n label: \"الفئات\",\n placeholder: \"أضف فئات\",\n empty: \"لم يتم العثور على فئات.\",\n technology: \"التكنولوجيا\",\n design: \"التصميم\",\n business: \"الأعمال\",\n marketing: \"التسويق\",\n education: \"التعليم\",\n health: \"الصحة\",\n },\n },\n he: {\n dir: \"rtl\",\n values: {\n label: \"קטגוריות\",\n placeholder: \"הוסף קטגוריות\",\n empty: \"לא נמצאו קטגוריות.\",\n technology: \"טכנולוגיה\",\n design: \"עיצוב\",\n business: \"עסקים\",\n marketing: \"שיווק\",\n education: \"חינוך\",\n health: \"בריאות\",\n },\n },\n}\n\nexport function ComboboxRtl() {\n const { dir, t, language } = useTranslation(translations, \"ar\")\n const anchor = useComboboxAnchor()\n\n const categoryLabels: Record = {\n technology: t.technology,\n design: t.design,\n business: t.business,\n marketing: t.marketing,\n education: t.education,\n health: t.health,\n }\n\n return (\n \n {t.label}\n \n categoryLabels[item] || item\n }\n >\n \n \n {(values) => (\n \n {values.map((value: string) => (\n \n {categoryLabels[value] || value}\n \n ))}\n \n \n )}\n \n \n \n {t.empty}\n \n {(item) => (\n \n {categoryLabels[item] || item}\n \n )}\n \n \n \n \n )\n}\n", - "type": "registry:component" - }, - { - "path": "src/components/language-selector.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"cn\"\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\n\nexport type Language = \"en\" | \"ar\" | \"he\"\n\nexport type Direction = \"ltr\" | \"rtl\"\n\nexport type Translations<\n T extends Record = Record,\n> = Record<\n Language,\n {\n dir: Direction\n locale?: string\n values: T\n }\n>\n\nexport const languageOptions = [\n { value: \"en\", label: \"English\" },\n { value: \"ar\", label: \"Arabic (العربية)\" },\n { value: \"he\", label: \"Hebrew (עברית)\" },\n] as const\n\ntype LanguageContextType = {\n language: Language\n setLanguage: (language: Language) => void\n}\n\nconst LanguageContext = React.createContext(\n undefined\n)\n\nexport function LanguageProvider({\n children,\n defaultLanguage = \"ar\",\n}: {\n children: React.ReactNode\n defaultLanguage?: Language\n}) {\n const [language, setLanguage] = React.useState(defaultLanguage)\n\n return (\n \n {children}\n \n )\n}\n\nexport function useLanguageContext() {\n const context = React.useContext(LanguageContext)\n return context\n}\n\nexport function useTranslation>(\n translations: Translations,\n defaultLanguage: Language = \"ar\"\n) {\n const context = useLanguageContext()\n const [localLanguage, setLocalLanguage] =\n React.useState(defaultLanguage)\n\n const language = context?.language ?? localLanguage\n const setLanguage = context?.setLanguage ?? setLocalLanguage\n\n const { dir, locale, values: t } = translations[language]\n return { language, setLanguage, dir, locale, t }\n}\n\nexport interface LanguageSelectorProps {\n value: Language\n onValueChange: (value: Language) => void\n}\n\nexport function LanguageSelector({\n value,\n onValueChange,\n className,\n languages = [\"en\", \"ar\", \"he\"],\n}: LanguageSelectorProps & {\n className?: string\n languages?: Language[]\n}) {\n return (\n onValueChange(value as Language)}\n >\n \n \n \n \n \n {languageOptions\n .filter((option) => languages.includes(option.value as Language))\n .map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n )\n}\n", - "type": "registry:component" - } - ], - "docs": "https://ui.full.dev/react/components/combobox/", - "type": "registry:example" -} \ No newline at end of file diff --git a/public/r/react/styles/base-luma/combobox.json b/public/r/react/styles/base-luma/combobox.json deleted file mode 100644 index d7976155c..000000000 --- a/public/r/react/styles/base-luma/combobox.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema/registry-item.json", - "name": "combobox", - "title": "Combobox", - "description": "Autocomplete input with a list of suggestions.", - "dependencies": [ - "@base-ui/react", - "cn", - "lucide-react" - ], - "registryDependencies": [ - "@fulldev/button", - "@fulldev/input-group" - ], - "files": [ - { - "path": "src/components/ui/combobox.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Combobox as ComboboxPrimitive } from \"@base-ui/react\"\nimport { cn } from \"cn\"\nimport { CheckIcon, ChevronDownIcon, XIcon } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n} from \"@/components/ui/input-group\"\n\nconst Combobox = ComboboxPrimitive.Root\n\nfunction ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props) {\n return \n}\n\nfunction ComboboxTrigger({\n className,\n children,\n ...props\n}: ComboboxPrimitive.Trigger.Props) {\n return (\n \n {children}\n \n \n )\n}\n\nfunction ComboboxClear({ className, ...props }: ComboboxPrimitive.Clear.Props) {\n return (\n }\n className={cn(className)}\n {...props}\n >\n \n \n )\n}\n\nfunction ComboboxInput({\n className,\n children,\n disabled = false,\n showTrigger = true,\n showClear = false,\n ...props\n}: ComboboxPrimitive.Input.Props & {\n showTrigger?: boolean\n showClear?: boolean\n}) {\n return (\n \n }\n {...props}\n />\n \n {showTrigger && (\n }\n data-slot=\"input-group-button\"\n className=\"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent\"\n disabled={disabled}\n />\n )}\n {showClear && }\n \n {children}\n \n )\n}\n\nfunction ComboboxContent({\n className,\n side = \"bottom\",\n sideOffset = 6,\n align = \"start\",\n alignOffset = 0,\n anchor,\n ...props\n}: ComboboxPrimitive.Popup.Props &\n Pick<\n ComboboxPrimitive.Positioner.Props,\n \"side\" | \"align\" | \"sideOffset\" | \"alignOffset\" | \"anchor\"\n >) {\n return (\n \n \n \n \n \n )\n}\n\nfunction ComboboxList({ className, ...props }: ComboboxPrimitive.List.Props) {\n return (\n \n )\n}\n\nfunction ComboboxItem({\n className,\n children,\n ...props\n}: ComboboxPrimitive.Item.Props) {\n return (\n \n {children}\n }\n >\n \n \n \n )\n}\n\nfunction ComboboxGroup({ className, ...props }: ComboboxPrimitive.Group.Props) {\n return (\n \n )\n}\n\nfunction ComboboxLabel({\n className,\n ...props\n}: ComboboxPrimitive.GroupLabel.Props) {\n return (\n \n )\n}\n\nfunction ComboboxCollection({ ...props }: ComboboxPrimitive.Collection.Props) {\n return (\n \n )\n}\n\nfunction ComboboxEmpty({ className, ...props }: ComboboxPrimitive.Empty.Props) {\n return (\n