From aec80c9342e7af7f962221ee1080021c5c1cbd94 Mon Sep 17 00:00:00 2001 From: zernonia Date: Thu, 21 Nov 2024 15:23:29 +0800 Subject: [PATCH] refactor: build registry --- apps/www/__registry__/.autogenerated | 1 + apps/www/__registry__/index.ts | 1500 ++++++++- apps/www/scripts/build-registry.ts | 431 ++- apps/www/src/public/r/colors/gray.json | 2 +- apps/www/src/public/r/colors/index.json | 2 +- apps/www/src/public/r/colors/neutral.json | 2 +- apps/www/src/public/r/colors/slate.json | 2 +- apps/www/src/public/r/colors/stone.json | 2 +- apps/www/src/public/r/colors/zinc.json | 2 +- apps/www/src/public/r/icons/index.json | 150 - apps/www/src/public/r/index.json | 2904 +++++------------ .../r/styles/default/AccordionDemo.json | 2 +- .../public/r/styles/default/AlertDemo.json | 2 +- .../styles/default/AlertDestructiveDemo.json | 2 +- .../r/styles/default/AlertDialogDemo.json | 2 +- .../default/AreaChartCustomTooltip.json | 2 +- .../r/styles/default/AreaChartDemo.json | 2 +- .../r/styles/default/AreaChartSparkline.json | 2 +- .../r/styles/default/AspectRatioDemo.json | 2 +- .../r/styles/default/Authentication01.json | 18 +- .../r/styles/default/Authentication02.json | 18 +- .../r/styles/default/Authentication03.json | 18 +- .../r/styles/default/Authentication04.json | 17 +- .../public/r/styles/default/AutoFormApi.json | 2 +- .../r/styles/default/AutoFormArray.json | 2 +- .../r/styles/default/AutoFormBasic.json | 2 +- .../default/AutoFormConfirmPassword.json | 2 +- .../r/styles/default/AutoFormControlled.json | 2 +- .../styles/default/AutoFormDependencies.json | 2 +- .../default/AutoFormInputWithoutLabel.json | 2 +- .../r/styles/default/AutoFormSubObject.json | 2 +- .../public/r/styles/default/AvatarDemo.json | 2 +- .../public/r/styles/default/BadgeDemo.json | 2 +- .../styles/default/BadgeDestructiveDemo.json | 2 +- .../r/styles/default/BadgeOutlineDemo.json | 2 +- .../r/styles/default/BadgeSecondaryDemo.json | 2 +- .../styles/default/BarChartCustomTooltip.json | 2 +- .../public/r/styles/default/BarChartDemo.json | 2 +- .../r/styles/default/BarChartRounded.json | 2 +- .../r/styles/default/BarChartStacked.json | 2 +- .../r/styles/default/BreadcrumbDemo.json | 2 +- .../r/styles/default/BreadcrumbDropdown.json | 2 +- .../default/BreadcrumbEllipsisDemo.json | 2 +- .../r/styles/default/BreadcrumbLinkDemo.json | 2 +- .../styles/default/BreadcrumbResponsive.json | 2 +- .../default/BreadcrumbSeparatorDemo.json | 2 +- .../r/styles/default/ButtonAsChildDemo.json | 2 +- .../public/r/styles/default/ButtonDemo.json | 2 +- .../styles/default/ButtonDestructiveDemo.json | 2 +- .../r/styles/default/ButtonGhostDemo.json | 2 +- .../r/styles/default/ButtonIconDemo.json | 2 +- .../r/styles/default/ButtonLinkDemo.json | 2 +- .../r/styles/default/ButtonLoadingDemo.json | 2 +- .../r/styles/default/ButtonOutlineDemo.json | 2 +- .../r/styles/default/ButtonSecondaryDemo.json | 2 +- .../r/styles/default/ButtonWithIconDemo.json | 2 +- .../public/r/styles/default/CalendarDemo.json | 2 +- .../public/r/styles/default/CalendarForm.json | 8 +- .../r/styles/default/CalendarWithSelect.json | 8 +- .../src/public/r/styles/default/CardChat.json | 8 +- .../src/public/r/styles/default/CardDemo.json | 8 +- .../public/r/styles/default/CardFormDemo.json | 2 +- .../public/r/styles/default/CardStats.json | 2 +- .../public/r/styles/default/CardWithForm.json | 2 +- .../public/r/styles/default/CarouselApi.json | 2 +- .../public/r/styles/default/CarouselDemo.json | 2 +- .../r/styles/default/CarouselOrientation.json | 2 +- .../r/styles/default/CarouselPlugin.json | 2 +- .../public/r/styles/default/CarouselSize.json | 2 +- .../r/styles/default/CarouselSpacing.json | 2 +- .../r/styles/default/CarouselThumbnails.json | 2 +- .../public/r/styles/default/CheckboxDemo.json | 2 +- .../r/styles/default/CheckboxDisabled.json | 2 +- .../styles/default/CheckboxFormMultiple.json | 2 +- .../r/styles/default/CheckboxFormSingle.json | 2 +- .../r/styles/default/CheckboxWithText.json | 2 +- .../r/styles/default/CollapsibleDemo.json | 2 +- .../public/r/styles/default/ComboboxDemo.json | 8 +- .../styles/default/ComboboxDropdownMenu.json | 2 +- .../public/r/styles/default/ComboboxForm.json | 8 +- .../r/styles/default/ComboboxPopover.json | 8 +- .../r/styles/default/ComboboxResponsive.json | 2 +- .../public/r/styles/default/CommandDemo.json | 2 +- .../r/styles/default/CommandDialogDemo.json | 2 +- .../r/styles/default/ContextMenuDemo.json | 2 +- .../r/styles/default/CustomChartTooltip.json | 2 +- .../public/r/styles/default/Dashboard01.json | 22 +- .../public/r/styles/default/Dashboard02.json | 20 +- .../public/r/styles/default/Dashboard03.json | 22 +- .../public/r/styles/default/Dashboard04.json | 20 +- .../public/r/styles/default/Dashboard05.json | 28 +- .../public/r/styles/default/Dashboard06.json | 24 +- .../public/r/styles/default/Dashboard07.json | 27 +- .../default/DataTableColumnPinningDemo.json | 8 +- .../r/styles/default/DataTableDemo.json | 8 +- .../r/styles/default/DataTableDemoColumn.json | 2 +- .../styles/default/DataTableReactiveDemo.json | 8 +- .../r/styles/default/DatePickerDemo.json | 8 +- .../r/styles/default/DatePickerForm.json | 8 +- .../DatePickerWithIndependentMonths.json | 8 +- .../styles/default/DatePickerWithPresets.json | 8 +- .../r/styles/default/DatePickerWithRange.json | 8 +- .../default/DialogCustomCloseButton.json | 2 +- .../public/r/styles/default/DialogDemo.json | 2 +- .../public/r/styles/default/DialogForm.json | 2 +- .../styles/default/DialogScrollBodyDemo.json | 2 +- .../default/DialogScrollOverlayDemo.json | 2 +- .../r/styles/default/DonutChartColor.json | 2 +- .../default/DonutChartCustomTooltip.json | 2 +- .../r/styles/default/DonutChartDemo.json | 2 +- .../r/styles/default/DonutChartPie.json | 2 +- .../public/r/styles/default/DrawerDemo.json | 2 +- .../public/r/styles/default/DrawerDialog.json | 2 +- .../default/DropdownMenuCheckboxes.json | 2 +- .../r/styles/default/DropdownMenuDemo.json | 2 +- .../default/DropdownMenuRadioGroup.json | 2 +- .../r/styles/default/HoverCardDemo.json | 2 +- .../public/r/styles/default/InputDemo.json | 2 +- .../r/styles/default/InputDisabled.json | 2 +- .../public/r/styles/default/InputFile.json | 2 +- .../public/r/styles/default/InputForm.json | 2 +- .../styles/default/InputFormAutoAnimate.json | 2 +- .../r/styles/default/InputWithButton.json | 2 +- .../r/styles/default/InputWithIcon.json | 2 +- .../r/styles/default/InputWithLabel.json | 2 +- .../public/r/styles/default/LabelDemo.json | 2 +- .../default/LineChartCustomTooltip.json | 2 +- .../r/styles/default/LineChartDemo.json | 2 +- .../r/styles/default/LineChartSparkline.json | 2 +- .../public/r/styles/default/MenubarDemo.json | 2 +- .../r/styles/default/NavigationMenuDemo.json | 2 +- .../r/styles/default/NumberFieldCurrency.json | 2 +- .../r/styles/default/NumberFieldDecimal.json | 2 +- .../r/styles/default/NumberFieldDemo.json | 2 +- .../r/styles/default/NumberFieldDisabled.json | 2 +- .../r/styles/default/NumberFieldForm.json | 2 +- .../styles/default/NumberFieldPercentage.json | 2 +- .../r/styles/default/PaginationDemo.json | 2 +- .../r/styles/default/PinInputControlled.json | 2 +- .../public/r/styles/default/PinInputDemo.json | 2 +- .../r/styles/default/PinInputDisabled.json | 2 +- .../r/styles/default/PinInputFormDemo.json | 2 +- .../styles/default/PinInputSeparatorDemo.json | 2 +- .../public/r/styles/default/PopoverDemo.json | 2 +- .../public/r/styles/default/ProgressDemo.json | 2 +- .../r/styles/default/RadioGroupDemo.json | 2 +- .../r/styles/default/RadioGroupForm.json | 2 +- .../r/styles/default/RangeCalendarDemo.json | 2 +- .../r/styles/default/ResizableDemo.json | 2 +- .../r/styles/default/ResizableHandleDemo.json | 2 +- .../styles/default/ResizableVerticalDemo.json | 2 +- .../r/styles/default/ScrollAreaDemo.json | 2 +- .../default/ScrollAreaHorizontalDemo.json | 2 +- .../public/r/styles/default/SelectDemo.json | 2 +- .../public/r/styles/default/SelectForm.json | 2 +- .../r/styles/default/SelectScrollable.json | 2 +- .../r/styles/default/SeparatorDemo.json | 2 +- .../public/r/styles/default/SheetDemo.json | 2 +- .../r/styles/default/SheetSideDemo.json | 2 +- .../public/r/styles/default/Sidebar01.json | 20 + .../public/r/styles/default/Sidebar07.json | 21 + .../public/r/styles/default/SkeletonCard.json | 2 +- .../public/r/styles/default/SkeletonDemo.json | 2 +- .../public/r/styles/default/SliderDemo.json | 8 +- .../public/r/styles/default/SliderForm.json | 2 +- .../public/r/styles/default/SonnerDemo.json | 4 +- .../r/styles/default/SonnerWithDialog.json | 2 +- .../public/r/styles/default/StepperDemo.json | 2 +- .../public/r/styles/default/StepperForm.json | 2 +- .../r/styles/default/StepperHorizental.json | 2 +- .../r/styles/default/StepperVertical.json | 2 +- .../public/r/styles/default/SwitchDemo.json | 2 +- .../public/r/styles/default/SwitchForm.json | 2 +- .../public/r/styles/default/TableDemo.json | 2 +- .../src/public/r/styles/default/TabsDemo.json | 2 +- .../r/styles/default/TabsVerticalDemo.json | 2 +- .../styles/default/TagsInputComboboxDemo.json | 2 +- .../r/styles/default/TagsInputDemo.json | 2 +- .../r/styles/default/TagsInputFormDemo.json | 2 +- .../public/r/styles/default/TextareaDemo.json | 2 +- .../r/styles/default/TextareaDisabled.json | 2 +- .../public/r/styles/default/TextareaForm.json | 2 +- .../r/styles/default/TextareaWithButton.json | 2 +- .../r/styles/default/TextareaWithLabel.json | 2 +- .../r/styles/default/TextareaWithText.json | 2 +- .../public/r/styles/default/ToastDemo.json | 2 +- .../r/styles/default/ToastDestructive.json | 2 +- .../public/r/styles/default/ToastSimple.json | 2 +- .../r/styles/default/ToastWithAction.json | 2 +- .../r/styles/default/ToastWithTitle.json | 2 +- .../public/r/styles/default/ToggleDemo.json | 2 +- .../r/styles/default/ToggleDisabledDemo.json | 2 +- .../r/styles/default/ToggleGroupDemo.json | 2 +- .../default/ToggleGroupDisabledDemo.json | 2 +- .../styles/default/ToggleGroupLargeDemo.json | 2 +- .../default/ToggleGroupOutlineDemo.json | 2 +- .../styles/default/ToggleGroupSingleDemo.json | 2 +- .../styles/default/ToggleGroupSmallDemo.json | 2 +- .../r/styles/default/ToggleItalicDemo.json | 2 +- .../default/ToggleItalicWithTextDemo.json | 2 +- .../r/styles/default/ToggleLargeDemo.json | 2 +- .../r/styles/default/ToggleSmallDemo.json | 2 +- .../public/r/styles/default/TooltipDemo.json | 2 +- .../styles/default/TypographyBlockquote.json | 2 +- .../r/styles/default/TypographyDemo.json | 2 +- .../public/r/styles/default/TypographyH1.json | 2 +- .../public/r/styles/default/TypographyH2.json | 2 +- .../public/r/styles/default/TypographyH3.json | 2 +- .../public/r/styles/default/TypographyH4.json | 2 +- .../styles/default/TypographyInlineCode.json | 2 +- .../r/styles/default/TypographyLarge.json | 2 +- .../r/styles/default/TypographyLead.json | 2 +- .../r/styles/default/TypographyList.json | 2 +- .../r/styles/default/TypographyMuted.json | 2 +- .../public/r/styles/default/TypographyP.json | 2 +- .../r/styles/default/TypographySmall.json | 2 +- .../r/styles/default/TypographyTable.json | 2 +- .../r/styles/default/VCalendarDemo.json | 2 +- .../r/styles/default/VDatePickerDemo.json | 8 +- .../r/styles/default/VDatePickerForm.json | 8 +- .../default/VDatePickerWithPresets.json | 8 +- .../styles/default/VDatePickerWithRange.json | 8 +- .../r/styles/default/VDateTimePickerDemo.json | 8 +- .../styles/default/VRangePickerWithSlot.json | 8 +- .../public/r/styles/default/accordion.json | 2 +- .../public/r/styles/default/alert-dialog.json | 10 +- .../src/public/r/styles/default/alert.json | 2 +- .../public/r/styles/default/aspect-ratio.json | 2 +- .../public/r/styles/default/auto-form.json | 6 +- .../src/public/r/styles/default/avatar.json | 2 +- .../src/public/r/styles/default/badge.json | 2 +- .../public/r/styles/default/breadcrumb.json | 2 +- .../src/public/r/styles/default/button.json | 2 +- .../src/public/r/styles/default/calendar.json | 8 +- .../www/src/public/r/styles/default/card.json | 2 +- .../src/public/r/styles/default/carousel.json | 6 +- .../public/r/styles/default/chart-area.json | 8 +- .../public/r/styles/default/chart-bar.json | 8 +- .../public/r/styles/default/chart-donut.json | 8 +- .../public/r/styles/default/chart-line.json | 8 +- .../src/public/r/styles/default/chart.json | 2 +- .../src/public/r/styles/default/checkbox.json | 2 +- .../public/r/styles/default/collapsible.json | 2 +- .../src/public/r/styles/default/command.json | 2 +- .../public/r/styles/default/context-menu.json | 2 +- .../src/public/r/styles/default/dialog.json | 2 +- .../src/public/r/styles/default/drawer.json | 2 +- .../r/styles/default/dropdown-menu.json | 2 +- .../www/src/public/r/styles/default/form.json | 4 +- .../public/r/styles/default/hover-card.json | 2 +- .../src/public/r/styles/default/index.json | 2 +- .../src/public/r/styles/default/input.json | 2 +- .../src/public/r/styles/default/label.json | 2 +- .../src/public/r/styles/default/menubar.json | 2 +- .../r/styles/default/navigation-menu.json | 2 +- .../public/r/styles/default/number-field.json | 2 +- .../public/r/styles/default/pagination.json | 10 +- .../public/r/styles/default/pin-input.json | 2 +- .../src/public/r/styles/default/popover.json | 2 +- .../src/public/r/styles/default/progress.json | 2 +- .../public/r/styles/default/radio-group.json | 2 +- .../r/styles/default/range-calendar.json | 8 +- .../public/r/styles/default/resizable.json | 2 +- .../public/r/styles/default/scroll-area.json | 2 +- .../src/public/r/styles/default/select.json | 2 +- .../public/r/styles/default/separator.json | 2 +- .../src/public/r/styles/default/sheet.json | 2 +- .../src/public/r/styles/default/sidebar.json | 14 +- .../src/public/r/styles/default/skeleton.json | 2 +- .../src/public/r/styles/default/slider.json | 2 +- .../src/public/r/styles/default/sonner.json | 2 +- .../src/public/r/styles/default/stepper.json | 2 +- .../src/public/r/styles/default/switch.json | 2 +- .../src/public/r/styles/default/table.json | 2 +- .../www/src/public/r/styles/default/tabs.json | 2 +- .../public/r/styles/default/tags-input.json | 2 +- .../src/public/r/styles/default/textarea.json | 2 +- .../r/styles/default/theme-daylight.json | 2 +- .../r/styles/default/theme-emerald.json | 2 +- .../r/styles/default/theme-midnight.json | 2 +- .../src/public/r/styles/default/toast.json | 2 +- .../public/r/styles/default/toggle-group.json | 4 +- .../src/public/r/styles/default/toggle.json | 2 +- .../src/public/r/styles/default/tooltip.json | 2 +- .../src/public/r/styles/default/utils.json | 2 +- .../public/r/styles/default/v-calendar.json | 8 +- .../r/styles/new-york/AccordionDemo.json | 2 +- .../public/r/styles/new-york/AlertDemo.json | 2 +- .../styles/new-york/AlertDestructiveDemo.json | 2 +- .../r/styles/new-york/AlertDialogDemo.json | 2 +- .../new-york/AreaChartCustomTooltip.json | 2 +- .../r/styles/new-york/AreaChartDemo.json | 2 +- .../r/styles/new-york/AreaChartSparkline.json | 2 +- .../r/styles/new-york/AspectRatioDemo.json | 2 +- .../r/styles/new-york/Authentication01.json | 18 +- .../r/styles/new-york/Authentication02.json | 18 +- .../r/styles/new-york/Authentication03.json | 18 +- .../r/styles/new-york/Authentication04.json | 17 +- .../public/r/styles/new-york/AutoFormApi.json | 2 +- .../r/styles/new-york/AutoFormArray.json | 2 +- .../r/styles/new-york/AutoFormBasic.json | 2 +- .../new-york/AutoFormConfirmPassword.json | 2 +- .../r/styles/new-york/AutoFormControlled.json | 2 +- .../styles/new-york/AutoFormDependencies.json | 2 +- .../new-york/AutoFormInputWithoutLabel.json | 2 +- .../r/styles/new-york/AutoFormSubObject.json | 2 +- .../public/r/styles/new-york/AvatarDemo.json | 2 +- .../public/r/styles/new-york/BadgeDemo.json | 2 +- .../styles/new-york/BadgeDestructiveDemo.json | 2 +- .../r/styles/new-york/BadgeOutlineDemo.json | 2 +- .../r/styles/new-york/BadgeSecondaryDemo.json | 2 +- .../new-york/BarChartCustomTooltip.json | 2 +- .../r/styles/new-york/BarChartDemo.json | 2 +- .../r/styles/new-york/BarChartRounded.json | 2 +- .../r/styles/new-york/BarChartStacked.json | 2 +- .../r/styles/new-york/BreadcrumbDemo.json | 2 +- .../r/styles/new-york/BreadcrumbDropdown.json | 2 +- .../new-york/BreadcrumbEllipsisDemo.json | 2 +- .../r/styles/new-york/BreadcrumbLinkDemo.json | 2 +- .../styles/new-york/BreadcrumbResponsive.json | 2 +- .../new-york/BreadcrumbSeparatorDemo.json | 2 +- .../r/styles/new-york/ButtonAsChildDemo.json | 2 +- .../public/r/styles/new-york/ButtonDemo.json | 2 +- .../new-york/ButtonDestructiveDemo.json | 2 +- .../r/styles/new-york/ButtonGhostDemo.json | 2 +- .../r/styles/new-york/ButtonIconDemo.json | 2 +- .../r/styles/new-york/ButtonLinkDemo.json | 2 +- .../r/styles/new-york/ButtonLoadingDemo.json | 2 +- .../r/styles/new-york/ButtonOutlineDemo.json | 2 +- .../styles/new-york/ButtonSecondaryDemo.json | 2 +- .../r/styles/new-york/ButtonWithIconDemo.json | 2 +- .../r/styles/new-york/CalendarDemo.json | 2 +- .../r/styles/new-york/CalendarForm.json | 8 +- .../r/styles/new-york/CalendarWithSelect.json | 8 +- .../public/r/styles/new-york/CardChat.json | 8 +- .../public/r/styles/new-york/CardDemo.json | 8 +- .../r/styles/new-york/CardFormDemo.json | 2 +- .../public/r/styles/new-york/CardStats.json | 2 +- .../r/styles/new-york/CardWithForm.json | 2 +- .../public/r/styles/new-york/CarouselApi.json | 2 +- .../r/styles/new-york/CarouselDemo.json | 2 +- .../styles/new-york/CarouselOrientation.json | 2 +- .../r/styles/new-york/CarouselPlugin.json | 2 +- .../r/styles/new-york/CarouselSize.json | 2 +- .../r/styles/new-york/CarouselSpacing.json | 2 +- .../r/styles/new-york/CarouselThumbnails.json | 2 +- .../r/styles/new-york/CheckboxDemo.json | 2 +- .../r/styles/new-york/CheckboxDisabled.json | 2 +- .../styles/new-york/CheckboxFormMultiple.json | 2 +- .../r/styles/new-york/CheckboxFormSingle.json | 2 +- .../r/styles/new-york/CheckboxWithText.json | 2 +- .../r/styles/new-york/CollapsibleDemo.json | 2 +- .../r/styles/new-york/ComboboxDemo.json | 8 +- .../styles/new-york/ComboboxDropdownMenu.json | 2 +- .../r/styles/new-york/ComboboxForm.json | 8 +- .../r/styles/new-york/ComboboxPopover.json | 6 +- .../r/styles/new-york/ComboboxResponsive.json | 2 +- .../public/r/styles/new-york/CommandDemo.json | 2 +- .../r/styles/new-york/CommandDialogDemo.json | 2 +- .../r/styles/new-york/ContextMenuDemo.json | 2 +- .../r/styles/new-york/CustomChartTooltip.json | 2 +- .../public/r/styles/new-york/Dashboard01.json | 22 +- .../public/r/styles/new-york/Dashboard02.json | 20 +- .../public/r/styles/new-york/Dashboard03.json | 22 +- .../public/r/styles/new-york/Dashboard04.json | 20 +- .../public/r/styles/new-york/Dashboard05.json | 28 +- .../public/r/styles/new-york/Dashboard06.json | 24 +- .../public/r/styles/new-york/Dashboard07.json | 27 +- .../new-york/DataTableColumnPinningDemo.json | 8 +- .../r/styles/new-york/DataTableDemo.json | 8 +- .../styles/new-york/DataTableDemoColumn.json | 2 +- .../new-york/DataTableReactiveDemo.json | 8 +- .../r/styles/new-york/DatePickerDemo.json | 8 +- .../r/styles/new-york/DatePickerForm.json | 8 +- .../DatePickerWithIndependentMonths.json | 8 +- .../new-york/DatePickerWithPresets.json | 8 +- .../styles/new-york/DatePickerWithRange.json | 8 +- .../new-york/DialogCustomCloseButton.json | 2 +- .../public/r/styles/new-york/DialogDemo.json | 2 +- .../public/r/styles/new-york/DialogForm.json | 2 +- .../styles/new-york/DialogScrollBodyDemo.json | 2 +- .../new-york/DialogScrollOverlayDemo.json | 2 +- .../r/styles/new-york/DonutChartColor.json | 2 +- .../new-york/DonutChartCustomTooltip.json | 2 +- .../r/styles/new-york/DonutChartDemo.json | 4 +- .../r/styles/new-york/DonutChartPie.json | 2 +- .../public/r/styles/new-york/DrawerDemo.json | 2 +- .../r/styles/new-york/DrawerDialog.json | 2 +- .../new-york/DropdownMenuCheckboxes.json | 2 +- .../r/styles/new-york/DropdownMenuDemo.json | 2 +- .../new-york/DropdownMenuRadioGroup.json | 2 +- .../r/styles/new-york/HoverCardDemo.json | 2 +- .../public/r/styles/new-york/InputDemo.json | 2 +- .../r/styles/new-york/InputDisabled.json | 2 +- .../public/r/styles/new-york/InputFile.json | 2 +- .../public/r/styles/new-york/InputForm.json | 2 +- .../styles/new-york/InputFormAutoAnimate.json | 2 +- .../r/styles/new-york/InputWithButton.json | 2 +- .../r/styles/new-york/InputWithIcon.json | 2 +- .../r/styles/new-york/InputWithLabel.json | 2 +- .../public/r/styles/new-york/LabelDemo.json | 2 +- .../new-york/LineChartCustomTooltip.json | 2 +- .../r/styles/new-york/LineChartDemo.json | 2 +- .../r/styles/new-york/LineChartSparkline.json | 2 +- .../public/r/styles/new-york/MenubarDemo.json | 2 +- .../r/styles/new-york/NavigationMenuDemo.json | 2 +- .../styles/new-york/NumberFieldCurrency.json | 2 +- .../r/styles/new-york/NumberFieldDecimal.json | 2 +- .../r/styles/new-york/NumberFieldDemo.json | 2 +- .../styles/new-york/NumberFieldDisabled.json | 2 +- .../r/styles/new-york/NumberFieldForm.json | 2 +- .../new-york/NumberFieldPercentage.json | 2 +- .../r/styles/new-york/PaginationDemo.json | 2 +- .../r/styles/new-york/PinInputControlled.json | 2 +- .../r/styles/new-york/PinInputDemo.json | 2 +- .../r/styles/new-york/PinInputDisabled.json | 2 +- .../r/styles/new-york/PinInputFormDemo.json | 2 +- .../new-york/PinInputSeparatorDemo.json | 2 +- .../public/r/styles/new-york/PopoverDemo.json | 2 +- .../r/styles/new-york/ProgressDemo.json | 2 +- .../r/styles/new-york/RadioGroupDemo.json | 2 +- .../r/styles/new-york/RadioGroupForm.json | 2 +- .../r/styles/new-york/RangeCalendarDemo.json | 2 +- .../r/styles/new-york/ResizableDemo.json | 2 +- .../styles/new-york/ResizableHandleDemo.json | 2 +- .../new-york/ResizableVerticalDemo.json | 2 +- .../r/styles/new-york/ScrollAreaDemo.json | 2 +- .../new-york/ScrollAreaHorizontalDemo.json | 2 +- .../public/r/styles/new-york/SelectDemo.json | 2 +- .../public/r/styles/new-york/SelectForm.json | 2 +- .../r/styles/new-york/SelectScrollable.json | 2 +- .../r/styles/new-york/SeparatorDemo.json | 2 +- .../public/r/styles/new-york/SheetDemo.json | 2 +- .../r/styles/new-york/SheetSideDemo.json | 2 +- .../public/r/styles/new-york/Sidebar01.json | 20 + .../public/r/styles/new-york/Sidebar07.json | 21 + .../r/styles/new-york/SkeletonCard.json | 2 +- .../r/styles/new-york/SkeletonDemo.json | 2 +- .../public/r/styles/new-york/SliderDemo.json | 8 +- .../public/r/styles/new-york/SliderForm.json | 2 +- .../public/r/styles/new-york/SonnerDemo.json | 2 +- .../r/styles/new-york/SonnerWithDialog.json | 2 +- .../public/r/styles/new-york/StepperDemo.json | 2 +- .../public/r/styles/new-york/StepperForm.json | 2 +- .../r/styles/new-york/StepperHorizental.json | 2 +- .../r/styles/new-york/StepperVertical.json | 2 +- .../public/r/styles/new-york/SwitchDemo.json | 2 +- .../public/r/styles/new-york/SwitchForm.json | 2 +- .../public/r/styles/new-york/TableDemo.json | 2 +- .../public/r/styles/new-york/TabsDemo.json | 2 +- .../r/styles/new-york/TabsVerticalDemo.json | 2 +- .../new-york/TagsInputComboboxDemo.json | 2 +- .../r/styles/new-york/TagsInputDemo.json | 2 +- .../r/styles/new-york/TagsInputFormDemo.json | 2 +- .../r/styles/new-york/TextareaDemo.json | 2 +- .../r/styles/new-york/TextareaDisabled.json | 2 +- .../r/styles/new-york/TextareaForm.json | 2 +- .../r/styles/new-york/TextareaWithButton.json | 2 +- .../r/styles/new-york/TextareaWithLabel.json | 2 +- .../r/styles/new-york/TextareaWithText.json | 2 +- .../public/r/styles/new-york/ToastDemo.json | 2 +- .../r/styles/new-york/ToastDestructive.json | 2 +- .../public/r/styles/new-york/ToastSimple.json | 2 +- .../r/styles/new-york/ToastWithAction.json | 2 +- .../r/styles/new-york/ToastWithTitle.json | 2 +- .../public/r/styles/new-york/ToggleDemo.json | 2 +- .../r/styles/new-york/ToggleDisabledDemo.json | 2 +- .../r/styles/new-york/ToggleGroupDemo.json | 2 +- .../new-york/ToggleGroupDisabledDemo.json | 2 +- .../styles/new-york/ToggleGroupLargeDemo.json | 2 +- .../new-york/ToggleGroupOutlineDemo.json | 2 +- .../new-york/ToggleGroupSingleDemo.json | 2 +- .../styles/new-york/ToggleGroupSmallDemo.json | 2 +- .../r/styles/new-york/ToggleItalicDemo.json | 2 +- .../new-york/ToggleItalicWithTextDemo.json | 2 +- .../r/styles/new-york/ToggleLargeDemo.json | 2 +- .../r/styles/new-york/ToggleSmallDemo.json | 2 +- .../public/r/styles/new-york/TooltipDemo.json | 2 +- .../styles/new-york/TypographyBlockquote.json | 2 +- .../r/styles/new-york/TypographyDemo.json | 2 +- .../r/styles/new-york/TypographyH1.json | 2 +- .../r/styles/new-york/TypographyH2.json | 2 +- .../r/styles/new-york/TypographyH3.json | 2 +- .../r/styles/new-york/TypographyH4.json | 2 +- .../styles/new-york/TypographyInlineCode.json | 2 +- .../r/styles/new-york/TypographyLarge.json | 2 +- .../r/styles/new-york/TypographyLead.json | 2 +- .../r/styles/new-york/TypographyList.json | 2 +- .../r/styles/new-york/TypographyMuted.json | 2 +- .../public/r/styles/new-york/TypographyP.json | 2 +- .../r/styles/new-york/TypographySmall.json | 2 +- .../r/styles/new-york/TypographyTable.json | 2 +- .../r/styles/new-york/VCalendarDemo.json | 2 +- .../r/styles/new-york/VDatePickerDemo.json | 8 +- .../r/styles/new-york/VDatePickerForm.json | 8 +- .../new-york/VDatePickerWithPresets.json | 8 +- .../styles/new-york/VDatePickerWithRange.json | 8 +- .../styles/new-york/VDateTimePickerDemo.json | 8 +- .../styles/new-york/VRangePickerWithSlot.json | 8 +- .../public/r/styles/new-york/accordion.json | 2 +- .../r/styles/new-york/alert-dialog.json | 10 +- .../src/public/r/styles/new-york/alert.json | 2 +- .../r/styles/new-york/aspect-ratio.json | 2 +- .../public/r/styles/new-york/auto-form.json | 6 +- .../src/public/r/styles/new-york/avatar.json | 2 +- .../src/public/r/styles/new-york/badge.json | 2 +- .../public/r/styles/new-york/breadcrumb.json | 2 +- .../src/public/r/styles/new-york/button.json | 2 +- .../public/r/styles/new-york/calendar.json | 8 +- .../src/public/r/styles/new-york/card.json | 2 +- .../public/r/styles/new-york/carousel.json | 6 +- .../public/r/styles/new-york/chart-area.json | 8 +- .../public/r/styles/new-york/chart-bar.json | 8 +- .../public/r/styles/new-york/chart-donut.json | 8 +- .../public/r/styles/new-york/chart-line.json | 8 +- .../src/public/r/styles/new-york/chart.json | 2 +- .../public/r/styles/new-york/checkbox.json | 2 +- .../public/r/styles/new-york/collapsible.json | 2 +- .../src/public/r/styles/new-york/command.json | 2 +- .../r/styles/new-york/context-menu.json | 2 +- .../src/public/r/styles/new-york/dialog.json | 2 +- .../src/public/r/styles/new-york/drawer.json | 2 +- .../r/styles/new-york/dropdown-menu.json | 2 +- .../src/public/r/styles/new-york/form.json | 4 +- .../public/r/styles/new-york/hover-card.json | 2 +- .../src/public/r/styles/new-york/index.json | 2 +- .../src/public/r/styles/new-york/input.json | 2 +- .../src/public/r/styles/new-york/label.json | 2 +- .../src/public/r/styles/new-york/menubar.json | 2 +- .../r/styles/new-york/navigation-menu.json | 2 +- .../r/styles/new-york/number-field.json | 2 +- .../public/r/styles/new-york/pagination.json | 10 +- .../public/r/styles/new-york/pin-input.json | 2 +- .../src/public/r/styles/new-york/popover.json | 2 +- .../public/r/styles/new-york/progress.json | 2 +- .../public/r/styles/new-york/radio-group.json | 2 +- .../r/styles/new-york/range-calendar.json | 8 +- .../public/r/styles/new-york/resizable.json | 2 +- .../public/r/styles/new-york/scroll-area.json | 2 +- .../src/public/r/styles/new-york/select.json | 2 +- .../public/r/styles/new-york/separator.json | 2 +- .../src/public/r/styles/new-york/sheet.json | 2 +- .../src/public/r/styles/new-york/sidebar.json | 14 +- .../public/r/styles/new-york/skeleton.json | 2 +- .../src/public/r/styles/new-york/slider.json | 2 +- .../src/public/r/styles/new-york/sonner.json | 2 +- .../src/public/r/styles/new-york/stepper.json | 2 +- .../src/public/r/styles/new-york/switch.json | 2 +- .../src/public/r/styles/new-york/table.json | 2 +- .../src/public/r/styles/new-york/tabs.json | 2 +- .../public/r/styles/new-york/tags-input.json | 2 +- .../public/r/styles/new-york/textarea.json | 2 +- .../r/styles/new-york/theme-daylight.json | 2 +- .../r/styles/new-york/theme-emerald.json | 2 +- .../r/styles/new-york/theme-midnight.json | 2 +- .../src/public/r/styles/new-york/toast.json | 2 +- .../r/styles/new-york/toggle-group.json | 4 +- .../src/public/r/styles/new-york/toggle.json | 2 +- .../src/public/r/styles/new-york/tooltip.json | 2 +- .../src/public/r/styles/new-york/utils.json | 2 +- .../public/r/styles/new-york/v-calendar.json | 14 +- apps/www/src/public/r/temp.json | 496 +-- apps/www/src/registry/crawl-content.ts | 28 +- .../{Sidebar01.vue => Sidebar01/page.vue} | 0 .../{Sidebar07.vue => Sidebar07/page.vue} | 0 .../{Sidebar01.vue => Sidebar01/page.vue} | 0 .../{Sidebar07.vue => Sidebar07/page.vue} | 0 567 files changed, 3828 insertions(+), 3728 deletions(-) create mode 100644 apps/www/__registry__/.autogenerated delete mode 100644 apps/www/src/public/r/icons/index.json create mode 100644 apps/www/src/public/r/styles/default/Sidebar01.json create mode 100644 apps/www/src/public/r/styles/default/Sidebar07.json create mode 100644 apps/www/src/public/r/styles/new-york/Sidebar01.json create mode 100644 apps/www/src/public/r/styles/new-york/Sidebar07.json rename apps/www/src/registry/default/block/{Sidebar01.vue => Sidebar01/page.vue} (100%) rename apps/www/src/registry/default/block/{Sidebar07.vue => Sidebar07/page.vue} (100%) rename apps/www/src/registry/new-york/block/{Sidebar01.vue => Sidebar01/page.vue} (100%) rename apps/www/src/registry/new-york/block/{Sidebar07.vue => Sidebar07/page.vue} (100%) diff --git a/apps/www/__registry__/.autogenerated b/apps/www/__registry__/.autogenerated new file mode 100644 index 00000000..0055c2a3 --- /dev/null +++ b/apps/www/__registry__/.autogenerated @@ -0,0 +1 @@ +// The content of this directory is autogenerated by the registry server. diff --git a/apps/www/__registry__/index.ts b/apps/www/__registry__/index.ts index 1b923472..6c74205f 100644 --- a/apps/www/__registry__/index.ts +++ b/apps/www/__registry__/index.ts @@ -81,7 +81,7 @@ export const Index: Record = { name: "alert-dialog", description: "", type: "registry:ui", - registryDependencies: ["button","utils"], + registryDependencies: ["utils","button"], files: [{ path: "registry/new-york/ui/alert-dialog/AlertDialog.vue", type: "registry:ui", @@ -151,7 +151,7 @@ export const Index: Record = { name: "auto-form", description: "", type: "registry:ui", - registryDependencies: ["form","accordion","button","separator","checkbox","switch","calendar","popover","utils","label","radio-group","select","input","textarea"], + registryDependencies: ["form","accordion","button","separator","checkbox","switch","utils","calendar","popover","label","radio-group","select","input","textarea"], files: [{ path: "registry/new-york/ui/auto-form/AutoForm.vue", type: "registry:ui", @@ -514,7 +514,7 @@ export const Index: Record = { name: "chart-area", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/new-york/ui/chart-area/AreaChart.vue", type: "registry:ui", @@ -533,7 +533,7 @@ export const Index: Record = { name: "chart-bar", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/new-york/ui/chart-bar/BarChart.vue", type: "registry:ui", @@ -552,7 +552,7 @@ export const Index: Record = { name: "chart-donut", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/new-york/ui/chart-donut/DonutChart.vue", type: "registry:ui", @@ -571,7 +571,7 @@ export const Index: Record = { name: "chart-line", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/new-york/ui/chart-line/LineChart.vue", type: "registry:ui", @@ -1561,7 +1561,7 @@ export const Index: Record = { name: "sidebar", description: "", type: "registry:ui", - registryDependencies: ["Sheet.vue","SheetContent.vue","utils","Input.vue","Tooltip.vue","TooltipContent.vue","TooltipTrigger.vue","Skeleton.vue","Separator.vue","Button.vue"], + registryDependencies: ["utils","Sheet.vue","SheetContent.vue","Input.vue","Tooltip.vue","TooltipContent.vue","TooltipTrigger.vue","Skeleton.vue","Separator.vue","Button.vue"], files: [{ path: "registry/new-york/ui/sidebar/Sidebar.vue", type: "registry:ui", @@ -2055,7 +2055,7 @@ export const Index: Record = { name: "v-calendar", description: "", type: "registry:ui", - registryDependencies: ["button","utils"], + registryDependencies: ["utils","button"], files: [{ path: "registry/new-york/ui/v-calendar/Calendar.vue", type: "registry:ui", @@ -2704,7 +2704,7 @@ export const Index: Record = { name: "CalendarForm", description: "", type: "registry:example", - registryDependencies: ["button","calendar","form","popover","toast","utils"], + registryDependencies: ["utils","button","calendar","form","popover","toast"], files: [{ path: "registry/new-york/example/CalendarForm.vue", type: "registry:example", @@ -2719,7 +2719,7 @@ export const Index: Record = { name: "CalendarWithSelect", description: "", type: "registry:example", - registryDependencies: ["calendar","select","utils"], + registryDependencies: ["utils","calendar","select"], files: [{ path: "registry/new-york/example/CalendarWithSelect.vue", type: "registry:example", @@ -2734,7 +2734,7 @@ export const Index: Record = { name: "CardChat", description: "", type: "registry:example", - registryDependencies: ["avatar","button","card","command","dialog","input","tooltip","utils"], + registryDependencies: ["utils","avatar","button","card","command","dialog","input","tooltip"], files: [{ path: "registry/new-york/example/CardChat.vue", type: "registry:example", @@ -2749,7 +2749,7 @@ export const Index: Record = { name: "CardDemo", description: "", type: "registry:example", - registryDependencies: ["button","card","switch","utils"], + registryDependencies: ["utils","button","card","switch"], files: [{ path: "registry/new-york/example/CardDemo.vue", type: "registry:example", @@ -3004,7 +3004,7 @@ export const Index: Record = { name: "ComboboxDemo", description: "", type: "registry:example", - registryDependencies: ["button","command","popover","utils"], + registryDependencies: ["utils","button","command","popover"], files: [{ path: "registry/new-york/example/ComboboxDemo.vue", type: "registry:example", @@ -3034,7 +3034,7 @@ export const Index: Record = { name: "ComboboxForm", description: "", type: "registry:example", - registryDependencies: ["button","command","form","popover","toast","utils"], + registryDependencies: ["utils","button","command","form","popover","toast"], files: [{ path: "registry/new-york/example/ComboboxForm.vue", type: "registry:example", @@ -3139,7 +3139,7 @@ export const Index: Record = { name: "DataTableColumnPinningDemo", description: "", type: "registry:example", - registryDependencies: ["button","checkbox","dropdown-menu","input","table","utils"], + registryDependencies: ["utils","button","checkbox","dropdown-menu","input","table"], files: [{ path: "registry/new-york/example/DataTableColumnPinningDemo.vue", type: "registry:example", @@ -3154,7 +3154,7 @@ export const Index: Record = { name: "DataTableDemo", description: "", type: "registry:example", - registryDependencies: ["button","checkbox","dropdown-menu","input","table","utils"], + registryDependencies: ["utils","button","checkbox","dropdown-menu","input","table"], files: [{ path: "registry/new-york/example/DataTableDemo.vue", type: "registry:example", @@ -3184,7 +3184,7 @@ export const Index: Record = { name: "DataTableReactiveDemo", description: "", type: "registry:example", - registryDependencies: ["button","checkbox","dropdown-menu","input","table","utils"], + registryDependencies: ["utils","button","checkbox","dropdown-menu","input","table"], files: [{ path: "registry/new-york/example/DataTableReactiveDemo.vue", type: "registry:example", @@ -3199,7 +3199,7 @@ export const Index: Record = { name: "DatePickerDemo", description: "", type: "registry:example", - registryDependencies: ["button","calendar","popover","utils"], + registryDependencies: ["utils","button","calendar","popover"], files: [{ path: "registry/new-york/example/DatePickerDemo.vue", type: "registry:example", @@ -3214,7 +3214,7 @@ export const Index: Record = { name: "DatePickerForm", description: "", type: "registry:example", - registryDependencies: ["button","calendar","form","popover","toast","utils"], + registryDependencies: ["utils","button","calendar","form","popover","toast"], files: [{ path: "registry/new-york/example/DatePickerForm.vue", type: "registry:example", @@ -3229,7 +3229,7 @@ export const Index: Record = { name: "DatePickerWithIndependentMonths", description: "", type: "registry:example", - registryDependencies: ["button","popover","range-calendar","utils"], + registryDependencies: ["utils","button","popover","range-calendar"], files: [{ path: "registry/new-york/example/DatePickerWithIndependentMonths.vue", type: "registry:example", @@ -3244,7 +3244,7 @@ export const Index: Record = { name: "DatePickerWithPresets", description: "", type: "registry:example", - registryDependencies: ["button","calendar","popover","select","utils"], + registryDependencies: ["utils","button","calendar","popover","select"], files: [{ path: "registry/new-york/example/DatePickerWithPresets.vue", type: "registry:example", @@ -3259,7 +3259,7 @@ export const Index: Record = { name: "DatePickerWithRange", description: "", type: "registry:example", - registryDependencies: ["button","popover","range-calendar","utils"], + registryDependencies: ["utils","button","popover","range-calendar"], files: [{ path: "registry/new-york/example/DatePickerWithRange.vue", type: "registry:example", @@ -4159,7 +4159,7 @@ export const Index: Record = { name: "SliderDemo", description: "", type: "registry:example", - registryDependencies: ["slider","utils"], + registryDependencies: ["utils","slider"], files: [{ path: "registry/new-york/example/SliderDemo.vue", type: "registry:example", @@ -4984,7 +4984,7 @@ export const Index: Record = { name: "VDatePickerDemo", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/new-york/example/VDatePickerDemo.vue", type: "registry:example", @@ -4999,7 +4999,7 @@ export const Index: Record = { name: "VDatePickerForm", description: "", type: "registry:example", - registryDependencies: ["button","form","popover","toast","v-calendar","utils"], + registryDependencies: ["utils","button","form","popover","toast","v-calendar"], files: [{ path: "registry/new-york/example/VDatePickerForm.vue", type: "registry:example", @@ -5014,7 +5014,7 @@ export const Index: Record = { name: "VDatePickerWithPresets", description: "", type: "registry:example", - registryDependencies: ["button","popover","select","v-calendar","utils"], + registryDependencies: ["utils","button","popover","select","v-calendar"], files: [{ path: "registry/new-york/example/VDatePickerWithPresets.vue", type: "registry:example", @@ -5029,7 +5029,7 @@ export const Index: Record = { name: "VDatePickerWithRange", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/new-york/example/VDatePickerWithRange.vue", type: "registry:example", @@ -5044,7 +5044,7 @@ export const Index: Record = { name: "VDateTimePickerDemo", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/new-york/example/VDateTimePickerDemo.vue", type: "registry:example", @@ -5059,7 +5059,7 @@ export const Index: Record = { name: "VRangePickerWithSlot", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/new-york/example/VRangePickerWithSlot.vue", type: "registry:example", @@ -5070,6 +5070,322 @@ export const Index: Record = { category: "", subcategory: "" }, + "Authentication01": { + name: "Authentication01", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Authentication01").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication01": { + name: "Authentication01", + description: "", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/new-york/block/Authentication01.vue", + type: "registry:block", + target: "Authentication01.vue" + }], + component: () => import("@/registry/new-york/block/Authentication01.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication02": { + name: "Authentication02", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Authentication02").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication02": { + name: "Authentication02", + description: "", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/new-york/block/Authentication02.vue", + type: "registry:block", + target: "Authentication02.vue" + }], + component: () => import("@/registry/new-york/block/Authentication02.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication03": { + name: "Authentication03", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Authentication03").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication03": { + name: "Authentication03", + description: "", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/new-york/block/Authentication03.vue", + type: "registry:block", + target: "Authentication03.vue" + }], + component: () => import("@/registry/new-york/block/Authentication03.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication04": { + name: "Authentication04", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Authentication04").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication04": { + name: "Authentication04", + description: "", + type: "registry:block", + registryDependencies: ["button","input","label"], + files: [{ + path: "registry/new-york/block/Authentication04.vue", + type: "registry:block", + target: "Authentication04.vue" + }], + component: () => import("@/registry/new-york/block/Authentication04.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard01": { + name: "Dashboard01", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Dashboard01").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard01": { + name: "Dashboard01", + description: "", + type: "registry:block", + registryDependencies: ["avatar","badge","button","card","dropdown-menu","input","sheet","table"], + files: [{ + path: "registry/new-york/block/Dashboard01.vue", + type: "registry:block", + target: "Dashboard01.vue" + }], + component: () => import("@/registry/new-york/block/Dashboard01.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard02": { + name: "Dashboard02", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Dashboard02").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard02": { + name: "Dashboard02", + description: "", + type: "registry:block", + registryDependencies: ["badge","button","card","dropdown-menu","input","sheet"], + files: [{ + path: "registry/new-york/block/Dashboard02.vue", + type: "registry:block", + target: "Dashboard02.vue" + }], + component: () => import("@/registry/new-york/block/Dashboard02.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard03": { + name: "Dashboard03", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Dashboard03").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard03": { + name: "Dashboard03", + description: "", + type: "registry:block", + registryDependencies: ["badge","button","drawer","input","label","select","textarea","tooltip"], + files: [{ + path: "registry/new-york/block/Dashboard03.vue", + type: "registry:block", + target: "Dashboard03.vue" + }], + component: () => import("@/registry/new-york/block/Dashboard03.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard04": { + name: "Dashboard04", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Dashboard04").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard04": { + name: "Dashboard04", + description: "", + type: "registry:block", + registryDependencies: ["button","card","checkbox","dropdown-menu","input","sheet"], + files: [{ + path: "registry/new-york/block/Dashboard04.vue", + type: "registry:block", + target: "Dashboard04.vue" + }], + component: () => import("@/registry/new-york/block/Dashboard04.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard05": { + name: "Dashboard05", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Dashboard05").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard05": { + name: "Dashboard05", + description: "", + type: "registry:block", + registryDependencies: ["badge","breadcrumb","button","card","checkbox","dropdown-menu","input","pagination","progress","separator","sheet","table","tabs","tooltip"], + files: [{ + path: "registry/new-york/block/Dashboard05.vue", + type: "registry:block", + target: "Dashboard05.vue" + }], + component: () => import("@/registry/new-york/block/Dashboard05.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard06": { + name: "Dashboard06", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Dashboard06").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard06": { + name: "Dashboard06", + description: "", + type: "registry:block", + registryDependencies: ["badge","breadcrumb","button","card","dropdown-menu","input","sheet","table","tabs","tooltip"], + files: [{ + path: "registry/new-york/block/Dashboard06.vue", + type: "registry:block", + target: "Dashboard06.vue" + }], + component: () => import("@/registry/new-york/block/Dashboard06.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard07": { + name: "Dashboard07", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Dashboard07").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard07": { + name: "Dashboard07", + description: "", + type: "registry:block", + registryDependencies: ["badge","breadcrumb","button","card","dropdown-menu","input","label","select","sheet","table","textarea","toggle-group","tooltip"], + files: [{ + path: "registry/new-york/block/Dashboard07.vue", + type: "registry:block", + target: "Dashboard07.vue" + }], + component: () => import("@/registry/new-york/block/Dashboard07.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Sidebar01": { + name: "Sidebar01", + description: "", + type: "registry:block", + registryDependencies: ["breadcrumb","dropdown-menu","label","separator","sidebar"], + files: [{ + path: "registry/new-york/block/Sidebar01/page.vue", + type: "registry:page", + target: "Sidebar01Page.vue" + }], + component: () => import("@/registry/new-york/block/Sidebar01/page.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Sidebar07": { + name: "Sidebar07", + description: "", + type: "registry:block", + registryDependencies: ["avatar","breadcrumb","collapsible","dropdown-menu","separator","sidebar"], + files: [{ + path: "registry/new-york/block/Sidebar07/page.vue", + type: "registry:page", + target: "Sidebar07Page.vue" + }], + component: () => import("@/registry/new-york/block/Sidebar07/page.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, "accordion": { name: "accordion", description: "", @@ -5132,7 +5448,7 @@ export const Index: Record = { name: "alert-dialog", description: "", type: "registry:ui", - registryDependencies: ["button","utils"], + registryDependencies: ["utils","button"], files: [{ path: "registry/new-york/ui/alert-dialog/AlertDialog.vue", type: "registry:ui", @@ -5202,7 +5518,7 @@ export const Index: Record = { name: "auto-form", description: "", type: "registry:ui", - registryDependencies: ["form","accordion","button","separator","checkbox","switch","calendar","popover","utils","label","radio-group","select","input","textarea"], + registryDependencies: ["form","accordion","button","separator","checkbox","switch","utils","calendar","popover","label","radio-group","select","input","textarea"], files: [{ path: "registry/new-york/ui/auto-form/AutoForm.vue", type: "registry:ui", @@ -5565,7 +5881,7 @@ export const Index: Record = { name: "chart-area", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/new-york/ui/chart-area/AreaChart.vue", type: "registry:ui", @@ -5584,7 +5900,7 @@ export const Index: Record = { name: "chart-bar", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/new-york/ui/chart-bar/BarChart.vue", type: "registry:ui", @@ -5603,7 +5919,7 @@ export const Index: Record = { name: "chart-donut", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/new-york/ui/chart-donut/DonutChart.vue", type: "registry:ui", @@ -5622,7 +5938,7 @@ export const Index: Record = { name: "chart-line", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/new-york/ui/chart-line/LineChart.vue", type: "registry:ui", @@ -6612,7 +6928,7 @@ export const Index: Record = { name: "sidebar", description: "", type: "registry:ui", - registryDependencies: ["Sheet.vue","SheetContent.vue","utils","Input.vue","Tooltip.vue","TooltipContent.vue","TooltipTrigger.vue","Skeleton.vue","Separator.vue","Button.vue"], + registryDependencies: ["utils","Sheet.vue","SheetContent.vue","Input.vue","Tooltip.vue","TooltipContent.vue","TooltipTrigger.vue","Skeleton.vue","Separator.vue","Button.vue"], files: [{ path: "registry/new-york/ui/sidebar/Sidebar.vue", type: "registry:ui", @@ -7106,7 +7422,7 @@ export const Index: Record = { name: "v-calendar", description: "", type: "registry:ui", - registryDependencies: ["button","utils"], + registryDependencies: ["utils","button"], files: [{ path: "registry/new-york/ui/v-calendar/Calendar.vue", type: "registry:ui", @@ -7755,7 +8071,7 @@ export const Index: Record = { name: "CalendarForm", description: "", type: "registry:example", - registryDependencies: ["button","calendar","form","popover","toast","utils"], + registryDependencies: ["utils","button","calendar","form","popover","toast"], files: [{ path: "registry/new-york/example/CalendarForm.vue", type: "registry:example", @@ -7770,7 +8086,7 @@ export const Index: Record = { name: "CalendarWithSelect", description: "", type: "registry:example", - registryDependencies: ["calendar","select","utils"], + registryDependencies: ["utils","calendar","select"], files: [{ path: "registry/new-york/example/CalendarWithSelect.vue", type: "registry:example", @@ -7785,7 +8101,7 @@ export const Index: Record = { name: "CardChat", description: "", type: "registry:example", - registryDependencies: ["avatar","button","card","command","dialog","input","tooltip","utils"], + registryDependencies: ["utils","avatar","button","card","command","dialog","input","tooltip"], files: [{ path: "registry/new-york/example/CardChat.vue", type: "registry:example", @@ -7800,7 +8116,7 @@ export const Index: Record = { name: "CardDemo", description: "", type: "registry:example", - registryDependencies: ["button","card","switch","utils"], + registryDependencies: ["utils","button","card","switch"], files: [{ path: "registry/new-york/example/CardDemo.vue", type: "registry:example", @@ -8055,7 +8371,7 @@ export const Index: Record = { name: "ComboboxDemo", description: "", type: "registry:example", - registryDependencies: ["button","command","popover","utils"], + registryDependencies: ["utils","button","command","popover"], files: [{ path: "registry/new-york/example/ComboboxDemo.vue", type: "registry:example", @@ -8085,7 +8401,7 @@ export const Index: Record = { name: "ComboboxForm", description: "", type: "registry:example", - registryDependencies: ["button","command","form","popover","toast","utils"], + registryDependencies: ["utils","button","command","form","popover","toast"], files: [{ path: "registry/new-york/example/ComboboxForm.vue", type: "registry:example", @@ -8100,7 +8416,7 @@ export const Index: Record = { name: "ComboboxPopover", description: "", type: "registry:example", - registryDependencies: ["button","command","popover","utils"], + registryDependencies: ["utils","button","command","popover"], files: [{ path: "registry/new-york/example/ComboboxPopover.vue", type: "registry:example", @@ -8190,7 +8506,7 @@ export const Index: Record = { name: "DataTableColumnPinningDemo", description: "", type: "registry:example", - registryDependencies: ["button","checkbox","dropdown-menu","input","table","utils"], + registryDependencies: ["utils","button","checkbox","dropdown-menu","input","table"], files: [{ path: "registry/new-york/example/DataTableColumnPinningDemo.vue", type: "registry:example", @@ -8205,7 +8521,7 @@ export const Index: Record = { name: "DataTableDemo", description: "", type: "registry:example", - registryDependencies: ["button","checkbox","dropdown-menu","input","table","utils"], + registryDependencies: ["utils","button","checkbox","dropdown-menu","input","table"], files: [{ path: "registry/new-york/example/DataTableDemo.vue", type: "registry:example", @@ -8235,7 +8551,7 @@ export const Index: Record = { name: "DataTableReactiveDemo", description: "", type: "registry:example", - registryDependencies: ["button","checkbox","dropdown-menu","input","table","utils"], + registryDependencies: ["utils","button","checkbox","dropdown-menu","input","table"], files: [{ path: "registry/new-york/example/DataTableReactiveDemo.vue", type: "registry:example", @@ -8250,7 +8566,7 @@ export const Index: Record = { name: "DatePickerDemo", description: "", type: "registry:example", - registryDependencies: ["button","calendar","popover","utils"], + registryDependencies: ["utils","button","calendar","popover"], files: [{ path: "registry/new-york/example/DatePickerDemo.vue", type: "registry:example", @@ -8265,7 +8581,7 @@ export const Index: Record = { name: "DatePickerForm", description: "", type: "registry:example", - registryDependencies: ["button","calendar","form","popover","toast","utils"], + registryDependencies: ["utils","button","calendar","form","popover","toast"], files: [{ path: "registry/new-york/example/DatePickerForm.vue", type: "registry:example", @@ -8280,7 +8596,7 @@ export const Index: Record = { name: "DatePickerWithIndependentMonths", description: "", type: "registry:example", - registryDependencies: ["button","popover","range-calendar","utils"], + registryDependencies: ["utils","button","popover","range-calendar"], files: [{ path: "registry/new-york/example/DatePickerWithIndependentMonths.vue", type: "registry:example", @@ -8295,7 +8611,7 @@ export const Index: Record = { name: "DatePickerWithPresets", description: "", type: "registry:example", - registryDependencies: ["button","calendar","popover","select","utils"], + registryDependencies: ["utils","button","calendar","popover","select"], files: [{ path: "registry/new-york/example/DatePickerWithPresets.vue", type: "registry:example", @@ -8310,7 +8626,7 @@ export const Index: Record = { name: "DatePickerWithRange", description: "", type: "registry:example", - registryDependencies: ["button","popover","range-calendar","utils"], + registryDependencies: ["utils","button","popover","range-calendar"], files: [{ path: "registry/new-york/example/DatePickerWithRange.vue", type: "registry:example", @@ -9210,7 +9526,7 @@ export const Index: Record = { name: "SliderDemo", description: "", type: "registry:example", - registryDependencies: ["slider","utils"], + registryDependencies: ["utils","slider"], files: [{ path: "registry/new-york/example/SliderDemo.vue", type: "registry:example", @@ -10035,7 +10351,7 @@ export const Index: Record = { name: "VDatePickerDemo", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/new-york/example/VDatePickerDemo.vue", type: "registry:example", @@ -10050,7 +10366,7 @@ export const Index: Record = { name: "VDatePickerForm", description: "", type: "registry:example", - registryDependencies: ["button","form","popover","toast","v-calendar","utils"], + registryDependencies: ["utils","button","form","popover","toast","v-calendar"], files: [{ path: "registry/new-york/example/VDatePickerForm.vue", type: "registry:example", @@ -10065,7 +10381,7 @@ export const Index: Record = { name: "VDatePickerWithPresets", description: "", type: "registry:example", - registryDependencies: ["button","popover","select","v-calendar","utils"], + registryDependencies: ["utils","button","popover","select","v-calendar"], files: [{ path: "registry/new-york/example/VDatePickerWithPresets.vue", type: "registry:example", @@ -10080,7 +10396,7 @@ export const Index: Record = { name: "VDatePickerWithRange", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/new-york/example/VDatePickerWithRange.vue", type: "registry:example", @@ -10095,7 +10411,7 @@ export const Index: Record = { name: "VDateTimePickerDemo", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/new-york/example/VDateTimePickerDemo.vue", type: "registry:example", @@ -10110,7 +10426,7 @@ export const Index: Record = { name: "VRangePickerWithSlot", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/new-york/example/VRangePickerWithSlot.vue", type: "registry:example", @@ -10121,6 +10437,322 @@ export const Index: Record = { category: "", subcategory: "" }, + "Authentication01": { + name: "Authentication01", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Authentication01").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication01": { + name: "Authentication01", + description: "", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/new-york/block/Authentication01.vue", + type: "registry:block", + target: "Authentication01.vue" + }], + component: () => import("@/registry/new-york/block/Authentication01.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication02": { + name: "Authentication02", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Authentication02").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication02": { + name: "Authentication02", + description: "", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/new-york/block/Authentication02.vue", + type: "registry:block", + target: "Authentication02.vue" + }], + component: () => import("@/registry/new-york/block/Authentication02.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication03": { + name: "Authentication03", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Authentication03").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication03": { + name: "Authentication03", + description: "", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/new-york/block/Authentication03.vue", + type: "registry:block", + target: "Authentication03.vue" + }], + component: () => import("@/registry/new-york/block/Authentication03.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication04": { + name: "Authentication04", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Authentication04").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication04": { + name: "Authentication04", + description: "", + type: "registry:block", + registryDependencies: ["button","input","label"], + files: [{ + path: "registry/new-york/block/Authentication04.vue", + type: "registry:block", + target: "Authentication04.vue" + }], + component: () => import("@/registry/new-york/block/Authentication04.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard01": { + name: "Dashboard01", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Dashboard01").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard01": { + name: "Dashboard01", + description: "", + type: "registry:block", + registryDependencies: ["avatar","badge","button","card","dropdown-menu","input","sheet","table"], + files: [{ + path: "registry/new-york/block/Dashboard01.vue", + type: "registry:block", + target: "Dashboard01.vue" + }], + component: () => import("@/registry/new-york/block/Dashboard01.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard02": { + name: "Dashboard02", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Dashboard02").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard02": { + name: "Dashboard02", + description: "", + type: "registry:block", + registryDependencies: ["badge","button","card","dropdown-menu","input","sheet"], + files: [{ + path: "registry/new-york/block/Dashboard02.vue", + type: "registry:block", + target: "Dashboard02.vue" + }], + component: () => import("@/registry/new-york/block/Dashboard02.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard03": { + name: "Dashboard03", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Dashboard03").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard03": { + name: "Dashboard03", + description: "", + type: "registry:block", + registryDependencies: ["badge","button","drawer","input","label","select","textarea","tooltip"], + files: [{ + path: "registry/new-york/block/Dashboard03.vue", + type: "registry:block", + target: "Dashboard03.vue" + }], + component: () => import("@/registry/new-york/block/Dashboard03.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard04": { + name: "Dashboard04", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Dashboard04").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard04": { + name: "Dashboard04", + description: "", + type: "registry:block", + registryDependencies: ["button","card","checkbox","dropdown-menu","input","sheet"], + files: [{ + path: "registry/new-york/block/Dashboard04.vue", + type: "registry:block", + target: "Dashboard04.vue" + }], + component: () => import("@/registry/new-york/block/Dashboard04.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard05": { + name: "Dashboard05", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Dashboard05").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard05": { + name: "Dashboard05", + description: "", + type: "registry:block", + registryDependencies: ["badge","breadcrumb","button","card","checkbox","dropdown-menu","input","pagination","progress","separator","sheet","table","tabs","tooltip"], + files: [{ + path: "registry/new-york/block/Dashboard05.vue", + type: "registry:block", + target: "Dashboard05.vue" + }], + component: () => import("@/registry/new-york/block/Dashboard05.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard06": { + name: "Dashboard06", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Dashboard06").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard06": { + name: "Dashboard06", + description: "", + type: "registry:block", + registryDependencies: ["badge","breadcrumb","button","card","dropdown-menu","input","sheet","table","tabs","tooltip"], + files: [{ + path: "registry/new-york/block/Dashboard06.vue", + type: "registry:block", + target: "Dashboard06.vue" + }], + component: () => import("@/registry/new-york/block/Dashboard06.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard07": { + name: "Dashboard07", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/new-york/block/Dashboard07").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard07": { + name: "Dashboard07", + description: "", + type: "registry:block", + registryDependencies: ["badge","breadcrumb","button","card","dropdown-menu","input","label","select","sheet","table","textarea","toggle-group","tooltip"], + files: [{ + path: "registry/new-york/block/Dashboard07.vue", + type: "registry:block", + target: "Dashboard07.vue" + }], + component: () => import("@/registry/new-york/block/Dashboard07.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Sidebar01": { + name: "Sidebar01", + description: "", + type: "registry:block", + registryDependencies: ["breadcrumb","dropdown-menu","label","separator","sidebar"], + files: [{ + path: "registry/new-york/block/Sidebar01/page.vue", + type: "registry:page", + target: "Sidebar01Page.vue" + }], + component: () => import("@/registry/new-york/block/Sidebar01/page.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Sidebar07": { + name: "Sidebar07", + description: "", + type: "registry:block", + registryDependencies: ["avatar","breadcrumb","collapsible","dropdown-menu","separator","sidebar"], + files: [{ + path: "registry/new-york/block/Sidebar07/page.vue", + type: "registry:page", + target: "Sidebar07Page.vue" + }], + component: () => import("@/registry/new-york/block/Sidebar07/page.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, }, "default": { "utils": { name: "utils", @@ -10199,7 +10831,7 @@ export const Index: Record = { name: "alert-dialog", description: "", type: "registry:ui", - registryDependencies: ["button","utils"], + registryDependencies: ["utils","button"], files: [{ path: "registry/default/ui/alert-dialog/AlertDialog.vue", type: "registry:ui", @@ -10269,7 +10901,7 @@ export const Index: Record = { name: "auto-form", description: "", type: "registry:ui", - registryDependencies: ["form","accordion","button","separator","checkbox","switch","calendar","popover","utils","label","radio-group","select","input","textarea"], + registryDependencies: ["form","accordion","button","separator","checkbox","switch","utils","calendar","popover","label","radio-group","select","input","textarea"], files: [{ path: "registry/default/ui/auto-form/AutoForm.vue", type: "registry:ui", @@ -10632,7 +11264,7 @@ export const Index: Record = { name: "chart-area", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/default/ui/chart-area/AreaChart.vue", type: "registry:ui", @@ -10651,7 +11283,7 @@ export const Index: Record = { name: "chart-bar", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/default/ui/chart-bar/BarChart.vue", type: "registry:ui", @@ -10670,7 +11302,7 @@ export const Index: Record = { name: "chart-donut", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/default/ui/chart-donut/DonutChart.vue", type: "registry:ui", @@ -10689,7 +11321,7 @@ export const Index: Record = { name: "chart-line", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/default/ui/chart-line/LineChart.vue", type: "registry:ui", @@ -11679,7 +12311,7 @@ export const Index: Record = { name: "sidebar", description: "", type: "registry:ui", - registryDependencies: ["Sheet.vue","SheetContent.vue","utils","Input.vue","Tooltip.vue","TooltipContent.vue","TooltipTrigger.vue","Skeleton.vue","Separator.vue","Button.vue"], + registryDependencies: ["utils","Sheet.vue","SheetContent.vue","Input.vue","Tooltip.vue","TooltipContent.vue","TooltipTrigger.vue","Skeleton.vue","Separator.vue","Button.vue"], files: [{ path: "registry/default/ui/sidebar/Sidebar.vue", type: "registry:ui", @@ -12173,7 +12805,7 @@ export const Index: Record = { name: "v-calendar", description: "", type: "registry:ui", - registryDependencies: ["button","utils"], + registryDependencies: ["utils","button"], files: [{ path: "registry/default/ui/v-calendar/Calendar.vue", type: "registry:ui", @@ -12822,7 +13454,7 @@ export const Index: Record = { name: "CalendarForm", description: "", type: "registry:example", - registryDependencies: ["button","calendar","form","popover","toast","utils"], + registryDependencies: ["utils","button","calendar","form","popover","toast"], files: [{ path: "registry/default/example/CalendarForm.vue", type: "registry:example", @@ -12837,7 +13469,7 @@ export const Index: Record = { name: "CalendarWithSelect", description: "", type: "registry:example", - registryDependencies: ["calendar","select","utils"], + registryDependencies: ["utils","calendar","select"], files: [{ path: "registry/default/example/CalendarWithSelect.vue", type: "registry:example", @@ -12852,7 +13484,7 @@ export const Index: Record = { name: "CardChat", description: "", type: "registry:example", - registryDependencies: ["avatar","button","card","command","dialog","input","tooltip","utils"], + registryDependencies: ["utils","avatar","button","card","command","dialog","input","tooltip"], files: [{ path: "registry/default/example/CardChat.vue", type: "registry:example", @@ -12867,7 +13499,7 @@ export const Index: Record = { name: "CardDemo", description: "", type: "registry:example", - registryDependencies: ["button","card","switch","utils"], + registryDependencies: ["utils","button","card","switch"], files: [{ path: "registry/default/example/CardDemo.vue", type: "registry:example", @@ -13122,7 +13754,7 @@ export const Index: Record = { name: "ComboboxDemo", description: "", type: "registry:example", - registryDependencies: ["button","command","popover","utils"], + registryDependencies: ["utils","button","command","popover"], files: [{ path: "registry/default/example/ComboboxDemo.vue", type: "registry:example", @@ -13152,7 +13784,7 @@ export const Index: Record = { name: "ComboboxForm", description: "", type: "registry:example", - registryDependencies: ["button","command","form","popover","toast","utils"], + registryDependencies: ["utils","button","command","form","popover","toast"], files: [{ path: "registry/default/example/ComboboxForm.vue", type: "registry:example", @@ -13257,7 +13889,7 @@ export const Index: Record = { name: "DataTableColumnPinningDemo", description: "", type: "registry:example", - registryDependencies: ["button","checkbox","dropdown-menu","input","table","utils"], + registryDependencies: ["utils","button","checkbox","dropdown-menu","input","table"], files: [{ path: "registry/default/example/DataTableColumnPinningDemo.vue", type: "registry:example", @@ -13272,7 +13904,7 @@ export const Index: Record = { name: "DataTableDemo", description: "", type: "registry:example", - registryDependencies: ["button","checkbox","dropdown-menu","input","table","utils"], + registryDependencies: ["utils","button","checkbox","dropdown-menu","input","table"], files: [{ path: "registry/default/example/DataTableDemo.vue", type: "registry:example", @@ -13302,7 +13934,7 @@ export const Index: Record = { name: "DataTableReactiveDemo", description: "", type: "registry:example", - registryDependencies: ["button","checkbox","dropdown-menu","input","table","utils"], + registryDependencies: ["utils","button","checkbox","dropdown-menu","input","table"], files: [{ path: "registry/default/example/DataTableReactiveDemo.vue", type: "registry:example", @@ -13317,7 +13949,7 @@ export const Index: Record = { name: "DatePickerDemo", description: "", type: "registry:example", - registryDependencies: ["button","calendar","popover","utils"], + registryDependencies: ["utils","button","calendar","popover"], files: [{ path: "registry/default/example/DatePickerDemo.vue", type: "registry:example", @@ -13332,7 +13964,7 @@ export const Index: Record = { name: "DatePickerForm", description: "", type: "registry:example", - registryDependencies: ["button","calendar","form","popover","toast","utils"], + registryDependencies: ["utils","button","calendar","form","popover","toast"], files: [{ path: "registry/default/example/DatePickerForm.vue", type: "registry:example", @@ -13347,7 +13979,7 @@ export const Index: Record = { name: "DatePickerWithIndependentMonths", description: "", type: "registry:example", - registryDependencies: ["button","popover","range-calendar","utils"], + registryDependencies: ["utils","button","popover","range-calendar"], files: [{ path: "registry/default/example/DatePickerWithIndependentMonths.vue", type: "registry:example", @@ -13362,7 +13994,7 @@ export const Index: Record = { name: "DatePickerWithPresets", description: "", type: "registry:example", - registryDependencies: ["button","calendar","popover","select","utils"], + registryDependencies: ["utils","button","calendar","popover","select"], files: [{ path: "registry/default/example/DatePickerWithPresets.vue", type: "registry:example", @@ -13377,7 +14009,7 @@ export const Index: Record = { name: "DatePickerWithRange", description: "", type: "registry:example", - registryDependencies: ["button","popover","range-calendar","utils"], + registryDependencies: ["utils","button","popover","range-calendar"], files: [{ path: "registry/default/example/DatePickerWithRange.vue", type: "registry:example", @@ -14277,7 +14909,7 @@ export const Index: Record = { name: "SliderDemo", description: "", type: "registry:example", - registryDependencies: ["slider","utils"], + registryDependencies: ["utils","slider"], files: [{ path: "registry/default/example/SliderDemo.vue", type: "registry:example", @@ -15102,7 +15734,7 @@ export const Index: Record = { name: "VDatePickerDemo", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/default/example/VDatePickerDemo.vue", type: "registry:example", @@ -15117,7 +15749,7 @@ export const Index: Record = { name: "VDatePickerForm", description: "", type: "registry:example", - registryDependencies: ["button","form","popover","toast","v-calendar","utils"], + registryDependencies: ["utils","button","form","popover","toast","v-calendar"], files: [{ path: "registry/default/example/VDatePickerForm.vue", type: "registry:example", @@ -15132,7 +15764,7 @@ export const Index: Record = { name: "VDatePickerWithPresets", description: "", type: "registry:example", - registryDependencies: ["button","popover","select","v-calendar","utils"], + registryDependencies: ["utils","button","popover","select","v-calendar"], files: [{ path: "registry/default/example/VDatePickerWithPresets.vue", type: "registry:example", @@ -15147,7 +15779,7 @@ export const Index: Record = { name: "VDatePickerWithRange", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/default/example/VDatePickerWithRange.vue", type: "registry:example", @@ -15162,7 +15794,7 @@ export const Index: Record = { name: "VDateTimePickerDemo", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/default/example/VDateTimePickerDemo.vue", type: "registry:example", @@ -15177,7 +15809,7 @@ export const Index: Record = { name: "VRangePickerWithSlot", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/default/example/VRangePickerWithSlot.vue", type: "registry:example", @@ -15188,6 +15820,322 @@ export const Index: Record = { category: "", subcategory: "" }, + "Authentication01": { + name: "Authentication01", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Authentication01").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication01": { + name: "Authentication01", + description: "", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/default/block/Authentication01.vue", + type: "registry:block", + target: "Authentication01.vue" + }], + component: () => import("@/registry/default/block/Authentication01.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication02": { + name: "Authentication02", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Authentication02").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication02": { + name: "Authentication02", + description: "", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/default/block/Authentication02.vue", + type: "registry:block", + target: "Authentication02.vue" + }], + component: () => import("@/registry/default/block/Authentication02.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication03": { + name: "Authentication03", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Authentication03").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication03": { + name: "Authentication03", + description: "", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/default/block/Authentication03.vue", + type: "registry:block", + target: "Authentication03.vue" + }], + component: () => import("@/registry/default/block/Authentication03.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication04": { + name: "Authentication04", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Authentication04").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication04": { + name: "Authentication04", + description: "", + type: "registry:block", + registryDependencies: ["button","input","label"], + files: [{ + path: "registry/default/block/Authentication04.vue", + type: "registry:block", + target: "Authentication04.vue" + }], + component: () => import("@/registry/default/block/Authentication04.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard01": { + name: "Dashboard01", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Dashboard01").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard01": { + name: "Dashboard01", + description: "", + type: "registry:block", + registryDependencies: ["avatar","badge","button","card","dropdown-menu","input","sheet","table"], + files: [{ + path: "registry/default/block/Dashboard01.vue", + type: "registry:block", + target: "Dashboard01.vue" + }], + component: () => import("@/registry/default/block/Dashboard01.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard02": { + name: "Dashboard02", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Dashboard02").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard02": { + name: "Dashboard02", + description: "", + type: "registry:block", + registryDependencies: ["badge","button","card","dropdown-menu","input","sheet"], + files: [{ + path: "registry/default/block/Dashboard02.vue", + type: "registry:block", + target: "Dashboard02.vue" + }], + component: () => import("@/registry/default/block/Dashboard02.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard03": { + name: "Dashboard03", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Dashboard03").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard03": { + name: "Dashboard03", + description: "", + type: "registry:block", + registryDependencies: ["badge","button","drawer","input","label","select","textarea","tooltip"], + files: [{ + path: "registry/default/block/Dashboard03.vue", + type: "registry:block", + target: "Dashboard03.vue" + }], + component: () => import("@/registry/default/block/Dashboard03.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard04": { + name: "Dashboard04", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Dashboard04").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard04": { + name: "Dashboard04", + description: "", + type: "registry:block", + registryDependencies: ["button","card","checkbox","dropdown-menu","input","sheet"], + files: [{ + path: "registry/default/block/Dashboard04.vue", + type: "registry:block", + target: "Dashboard04.vue" + }], + component: () => import("@/registry/default/block/Dashboard04.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard05": { + name: "Dashboard05", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Dashboard05").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard05": { + name: "Dashboard05", + description: "", + type: "registry:block", + registryDependencies: ["badge","breadcrumb","button","card","checkbox","dropdown-menu","input","pagination","progress","separator","sheet","table","tabs","tooltip"], + files: [{ + path: "registry/default/block/Dashboard05.vue", + type: "registry:block", + target: "Dashboard05.vue" + }], + component: () => import("@/registry/default/block/Dashboard05.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard06": { + name: "Dashboard06", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Dashboard06").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard06": { + name: "Dashboard06", + description: "", + type: "registry:block", + registryDependencies: ["badge","breadcrumb","button","card","dropdown-menu","input","sheet","table","tabs","tooltip"], + files: [{ + path: "registry/default/block/Dashboard06.vue", + type: "registry:block", + target: "Dashboard06.vue" + }], + component: () => import("@/registry/default/block/Dashboard06.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard07": { + name: "Dashboard07", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Dashboard07").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard07": { + name: "Dashboard07", + description: "", + type: "registry:block", + registryDependencies: ["badge","breadcrumb","button","card","dropdown-menu","input","label","select","sheet","table","textarea","toggle-group","tooltip"], + files: [{ + path: "registry/default/block/Dashboard07.vue", + type: "registry:block", + target: "Dashboard07.vue" + }], + component: () => import("@/registry/default/block/Dashboard07.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Sidebar01": { + name: "Sidebar01", + description: "", + type: "registry:block", + registryDependencies: ["breadcrumb","dropdown-menu","label","separator","sidebar"], + files: [{ + path: "registry/default/block/Sidebar01/page.vue", + type: "registry:page", + target: "Sidebar01Page.vue" + }], + component: () => import("@/registry/default/block/Sidebar01/page.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Sidebar07": { + name: "Sidebar07", + description: "", + type: "registry:block", + registryDependencies: ["avatar","breadcrumb","collapsible","dropdown-menu","separator","sidebar"], + files: [{ + path: "registry/default/block/Sidebar07/page.vue", + type: "registry:page", + target: "Sidebar07Page.vue" + }], + component: () => import("@/registry/default/block/Sidebar07/page.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, "accordion": { name: "accordion", description: "", @@ -15250,7 +16198,7 @@ export const Index: Record = { name: "alert-dialog", description: "", type: "registry:ui", - registryDependencies: ["button","utils"], + registryDependencies: ["utils","button"], files: [{ path: "registry/default/ui/alert-dialog/AlertDialog.vue", type: "registry:ui", @@ -15320,7 +16268,7 @@ export const Index: Record = { name: "auto-form", description: "", type: "registry:ui", - registryDependencies: ["form","accordion","button","separator","checkbox","switch","calendar","popover","utils","label","radio-group","select","input","textarea"], + registryDependencies: ["form","accordion","button","separator","checkbox","switch","utils","calendar","popover","label","radio-group","select","input","textarea"], files: [{ path: "registry/default/ui/auto-form/AutoForm.vue", type: "registry:ui", @@ -15683,7 +16631,7 @@ export const Index: Record = { name: "chart-area", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/default/ui/chart-area/AreaChart.vue", type: "registry:ui", @@ -15702,7 +16650,7 @@ export const Index: Record = { name: "chart-bar", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/default/ui/chart-bar/BarChart.vue", type: "registry:ui", @@ -15721,7 +16669,7 @@ export const Index: Record = { name: "chart-donut", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/default/ui/chart-donut/DonutChart.vue", type: "registry:ui", @@ -15740,7 +16688,7 @@ export const Index: Record = { name: "chart-line", description: "", type: "registry:ui", - registryDependencies: ["chart","utils"], + registryDependencies: ["utils","chart"], files: [{ path: "registry/default/ui/chart-line/LineChart.vue", type: "registry:ui", @@ -16730,7 +17678,7 @@ export const Index: Record = { name: "sidebar", description: "", type: "registry:ui", - registryDependencies: ["Sheet.vue","SheetContent.vue","utils","Input.vue","Tooltip.vue","TooltipContent.vue","TooltipTrigger.vue","Skeleton.vue","Separator.vue","Button.vue"], + registryDependencies: ["utils","Sheet.vue","SheetContent.vue","Input.vue","Tooltip.vue","TooltipContent.vue","TooltipTrigger.vue","Skeleton.vue","Separator.vue","Button.vue"], files: [{ path: "registry/default/ui/sidebar/Sidebar.vue", type: "registry:ui", @@ -17224,7 +18172,7 @@ export const Index: Record = { name: "v-calendar", description: "", type: "registry:ui", - registryDependencies: ["button","utils"], + registryDependencies: ["utils","button"], files: [{ path: "registry/default/ui/v-calendar/Calendar.vue", type: "registry:ui", @@ -17873,7 +18821,7 @@ export const Index: Record = { name: "CalendarForm", description: "", type: "registry:example", - registryDependencies: ["button","calendar","form","popover","toast","utils"], + registryDependencies: ["utils","button","calendar","form","popover","toast"], files: [{ path: "registry/default/example/CalendarForm.vue", type: "registry:example", @@ -17888,7 +18836,7 @@ export const Index: Record = { name: "CalendarWithSelect", description: "", type: "registry:example", - registryDependencies: ["calendar","select","utils"], + registryDependencies: ["utils","calendar","select"], files: [{ path: "registry/default/example/CalendarWithSelect.vue", type: "registry:example", @@ -17903,7 +18851,7 @@ export const Index: Record = { name: "CardChat", description: "", type: "registry:example", - registryDependencies: ["avatar","button","card","command","dialog","input","tooltip","utils"], + registryDependencies: ["utils","avatar","button","card","command","dialog","input","tooltip"], files: [{ path: "registry/default/example/CardChat.vue", type: "registry:example", @@ -17918,7 +18866,7 @@ export const Index: Record = { name: "CardDemo", description: "", type: "registry:example", - registryDependencies: ["button","card","switch","utils"], + registryDependencies: ["utils","button","card","switch"], files: [{ path: "registry/default/example/CardDemo.vue", type: "registry:example", @@ -18173,7 +19121,7 @@ export const Index: Record = { name: "ComboboxDemo", description: "", type: "registry:example", - registryDependencies: ["button","command","popover","utils"], + registryDependencies: ["utils","button","command","popover"], files: [{ path: "registry/default/example/ComboboxDemo.vue", type: "registry:example", @@ -18203,7 +19151,7 @@ export const Index: Record = { name: "ComboboxForm", description: "", type: "registry:example", - registryDependencies: ["button","command","form","popover","toast","utils"], + registryDependencies: ["utils","button","command","form","popover","toast"], files: [{ path: "registry/default/example/ComboboxForm.vue", type: "registry:example", @@ -18218,7 +19166,7 @@ export const Index: Record = { name: "ComboboxPopover", description: "", type: "registry:example", - registryDependencies: ["button","command","popover","utils"], + registryDependencies: ["utils","button","command","popover"], files: [{ path: "registry/default/example/ComboboxPopover.vue", type: "registry:example", @@ -18308,7 +19256,7 @@ export const Index: Record = { name: "DataTableColumnPinningDemo", description: "", type: "registry:example", - registryDependencies: ["button","checkbox","dropdown-menu","input","table","utils"], + registryDependencies: ["utils","button","checkbox","dropdown-menu","input","table"], files: [{ path: "registry/default/example/DataTableColumnPinningDemo.vue", type: "registry:example", @@ -18323,7 +19271,7 @@ export const Index: Record = { name: "DataTableDemo", description: "", type: "registry:example", - registryDependencies: ["button","checkbox","dropdown-menu","input","table","utils"], + registryDependencies: ["utils","button","checkbox","dropdown-menu","input","table"], files: [{ path: "registry/default/example/DataTableDemo.vue", type: "registry:example", @@ -18353,7 +19301,7 @@ export const Index: Record = { name: "DataTableReactiveDemo", description: "", type: "registry:example", - registryDependencies: ["button","checkbox","dropdown-menu","input","table","utils"], + registryDependencies: ["utils","button","checkbox","dropdown-menu","input","table"], files: [{ path: "registry/default/example/DataTableReactiveDemo.vue", type: "registry:example", @@ -18368,7 +19316,7 @@ export const Index: Record = { name: "DatePickerDemo", description: "", type: "registry:example", - registryDependencies: ["button","calendar","popover","utils"], + registryDependencies: ["utils","button","calendar","popover"], files: [{ path: "registry/default/example/DatePickerDemo.vue", type: "registry:example", @@ -18383,7 +19331,7 @@ export const Index: Record = { name: "DatePickerForm", description: "", type: "registry:example", - registryDependencies: ["button","calendar","form","popover","toast","utils"], + registryDependencies: ["utils","button","calendar","form","popover","toast"], files: [{ path: "registry/default/example/DatePickerForm.vue", type: "registry:example", @@ -18398,7 +19346,7 @@ export const Index: Record = { name: "DatePickerWithIndependentMonths", description: "", type: "registry:example", - registryDependencies: ["button","popover","range-calendar","utils"], + registryDependencies: ["utils","button","popover","range-calendar"], files: [{ path: "registry/default/example/DatePickerWithIndependentMonths.vue", type: "registry:example", @@ -18413,7 +19361,7 @@ export const Index: Record = { name: "DatePickerWithPresets", description: "", type: "registry:example", - registryDependencies: ["button","calendar","popover","select","utils"], + registryDependencies: ["utils","button","calendar","popover","select"], files: [{ path: "registry/default/example/DatePickerWithPresets.vue", type: "registry:example", @@ -18428,7 +19376,7 @@ export const Index: Record = { name: "DatePickerWithRange", description: "", type: "registry:example", - registryDependencies: ["button","popover","range-calendar","utils"], + registryDependencies: ["utils","button","popover","range-calendar"], files: [{ path: "registry/default/example/DatePickerWithRange.vue", type: "registry:example", @@ -19328,7 +20276,7 @@ export const Index: Record = { name: "SliderDemo", description: "", type: "registry:example", - registryDependencies: ["slider","utils"], + registryDependencies: ["utils","slider"], files: [{ path: "registry/default/example/SliderDemo.vue", type: "registry:example", @@ -20153,7 +21101,7 @@ export const Index: Record = { name: "VDatePickerDemo", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/default/example/VDatePickerDemo.vue", type: "registry:example", @@ -20168,7 +21116,7 @@ export const Index: Record = { name: "VDatePickerForm", description: "", type: "registry:example", - registryDependencies: ["button","form","popover","toast","v-calendar","utils"], + registryDependencies: ["utils","button","form","popover","toast","v-calendar"], files: [{ path: "registry/default/example/VDatePickerForm.vue", type: "registry:example", @@ -20183,7 +21131,7 @@ export const Index: Record = { name: "VDatePickerWithPresets", description: "", type: "registry:example", - registryDependencies: ["button","popover","select","v-calendar","utils"], + registryDependencies: ["utils","button","popover","select","v-calendar"], files: [{ path: "registry/default/example/VDatePickerWithPresets.vue", type: "registry:example", @@ -20198,7 +21146,7 @@ export const Index: Record = { name: "VDatePickerWithRange", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/default/example/VDatePickerWithRange.vue", type: "registry:example", @@ -20213,7 +21161,7 @@ export const Index: Record = { name: "VDateTimePickerDemo", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/default/example/VDateTimePickerDemo.vue", type: "registry:example", @@ -20228,7 +21176,7 @@ export const Index: Record = { name: "VRangePickerWithSlot", description: "", type: "registry:example", - registryDependencies: ["button","popover","v-calendar","utils"], + registryDependencies: ["utils","button","popover","v-calendar"], files: [{ path: "registry/default/example/VRangePickerWithSlot.vue", type: "registry:example", @@ -20239,5 +21187,321 @@ export const Index: Record = { category: "", subcategory: "" }, + "Authentication01": { + name: "Authentication01", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Authentication01").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication01": { + name: "Authentication01", + description: "", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/default/block/Authentication01.vue", + type: "registry:block", + target: "Authentication01.vue" + }], + component: () => import("@/registry/default/block/Authentication01.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication02": { + name: "Authentication02", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Authentication02").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication02": { + name: "Authentication02", + description: "", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/default/block/Authentication02.vue", + type: "registry:block", + target: "Authentication02.vue" + }], + component: () => import("@/registry/default/block/Authentication02.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication03": { + name: "Authentication03", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Authentication03").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication03": { + name: "Authentication03", + description: "", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/default/block/Authentication03.vue", + type: "registry:block", + target: "Authentication03.vue" + }], + component: () => import("@/registry/default/block/Authentication03.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication04": { + name: "Authentication04", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Authentication04").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Authentication04": { + name: "Authentication04", + description: "", + type: "registry:block", + registryDependencies: ["button","input","label"], + files: [{ + path: "registry/default/block/Authentication04.vue", + type: "registry:block", + target: "Authentication04.vue" + }], + component: () => import("@/registry/default/block/Authentication04.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard01": { + name: "Dashboard01", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Dashboard01").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard01": { + name: "Dashboard01", + description: "", + type: "registry:block", + registryDependencies: ["avatar","badge","button","card","dropdown-menu","input","sheet","table"], + files: [{ + path: "registry/default/block/Dashboard01.vue", + type: "registry:block", + target: "Dashboard01.vue" + }], + component: () => import("@/registry/default/block/Dashboard01.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard02": { + name: "Dashboard02", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Dashboard02").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard02": { + name: "Dashboard02", + description: "", + type: "registry:block", + registryDependencies: ["badge","button","card","dropdown-menu","input","sheet"], + files: [{ + path: "registry/default/block/Dashboard02.vue", + type: "registry:block", + target: "Dashboard02.vue" + }], + component: () => import("@/registry/default/block/Dashboard02.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard03": { + name: "Dashboard03", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Dashboard03").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard03": { + name: "Dashboard03", + description: "", + type: "registry:block", + registryDependencies: ["badge","button","drawer","input","label","select","textarea","tooltip"], + files: [{ + path: "registry/default/block/Dashboard03.vue", + type: "registry:block", + target: "Dashboard03.vue" + }], + component: () => import("@/registry/default/block/Dashboard03.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard04": { + name: "Dashboard04", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Dashboard04").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard04": { + name: "Dashboard04", + description: "", + type: "registry:block", + registryDependencies: ["button","card","checkbox","dropdown-menu","input","sheet"], + files: [{ + path: "registry/default/block/Dashboard04.vue", + type: "registry:block", + target: "Dashboard04.vue" + }], + component: () => import("@/registry/default/block/Dashboard04.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard05": { + name: "Dashboard05", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Dashboard05").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard05": { + name: "Dashboard05", + description: "", + type: "registry:block", + registryDependencies: ["badge","breadcrumb","button","card","checkbox","dropdown-menu","input","pagination","progress","separator","sheet","table","tabs","tooltip"], + files: [{ + path: "registry/default/block/Dashboard05.vue", + type: "registry:block", + target: "Dashboard05.vue" + }], + component: () => import("@/registry/default/block/Dashboard05.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard06": { + name: "Dashboard06", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Dashboard06").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard06": { + name: "Dashboard06", + description: "", + type: "registry:block", + registryDependencies: ["badge","breadcrumb","button","card","dropdown-menu","input","sheet","table","tabs","tooltip"], + files: [{ + path: "registry/default/block/Dashboard06.vue", + type: "registry:block", + target: "Dashboard06.vue" + }], + component: () => import("@/registry/default/block/Dashboard06.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard07": { + name: "Dashboard07", + description: "", + type: "registry:block", + registryDependencies: [], + files: [], + component: () => import("@/registry/default/block/Dashboard07").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Dashboard07": { + name: "Dashboard07", + description: "", + type: "registry:block", + registryDependencies: ["badge","breadcrumb","button","card","dropdown-menu","input","label","select","sheet","table","textarea","toggle-group","tooltip"], + files: [{ + path: "registry/default/block/Dashboard07.vue", + type: "registry:block", + target: "Dashboard07.vue" + }], + component: () => import("@/registry/default/block/Dashboard07.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Sidebar01": { + name: "Sidebar01", + description: "", + type: "registry:block", + registryDependencies: ["breadcrumb","dropdown-menu","label","separator","sidebar"], + files: [{ + path: "registry/default/block/Sidebar01/page.vue", + type: "registry:page", + target: "Sidebar01Page.vue" + }], + component: () => import("@/registry/default/block/Sidebar01/page.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, + "Sidebar07": { + name: "Sidebar07", + description: "", + type: "registry:block", + registryDependencies: ["avatar","breadcrumb","collapsible","dropdown-menu","separator","sidebar"], + files: [{ + path: "registry/default/block/Sidebar07/page.vue", + type: "registry:page", + target: "Sidebar07Page.vue" + }], + component: () => import("@/registry/default/block/Sidebar07/page.vue").then((m) => m.default), + source: "", + category: "", + subcategory: "" + }, }, } diff --git a/apps/www/scripts/build-registry.ts b/apps/www/scripts/build-registry.ts index 755fbdd6..cacd04d5 100644 --- a/apps/www/scripts/build-registry.ts +++ b/apps/www/scripts/build-registry.ts @@ -6,7 +6,6 @@ import type { } from '../src/registry/schema' // @sts-nocheck import { existsSync, promises as fs } from 'node:fs' -import { tmpdir } from 'node:os' import path from 'node:path' import { template } from 'lodash-es' import { rimraf } from 'rimraf' @@ -21,7 +20,6 @@ import { registryEntrySchema, registrySchema, } from '../src/registry/schema' -import { fixImport } from './fix-import' const REGISTRY_PATH = path.join(process.cwd(), 'src/public/r') @@ -38,10 +36,10 @@ const REGISTRY_INDEX_WHITELIST: z.infer[] = [ // compilerOptions: {}, // }) -async function createTempSourceFile(filename: string) { - const dir = await fs.mkdtemp(path.join(tmpdir(), 'shadcn-')) - return path.join(dir, filename) -} +// async function createTempSourceFile(filename: string) { +// const dir = await fs.mkdtemp(path.join(tmpdir(), 'shadcn-')) +// return path.join(dir, filename) +// } // ---------------------------------------------------------------------------- // Build __registry__/index.ts. @@ -70,206 +68,207 @@ export const Index: Record = { } const type = item.type.split(':')[1] - let sourceFilename = '' + const sourceFilename = '' // const chunks: any = [] - if (item.type === 'registry:block') { - const file = resolveFiles[0] - console.log(item, file) - let raw: string - try { - const filename = path.basename(file) - raw = await fs.readFile(file, 'utf8') - } - catch (error) { - continue - } - // const tempFile = await createTempSourceFile(filename) - // const sourceFile = project.createSourceFile(tempFile, raw, { - // scriptKind: ScriptKind.TS, - // }) + // if (item.type === 'registry:block') { + // const file = resolveFiles[0] + // let raw: string + // try { + // if (file) { + // const filename = path.basename(file) + // } + // raw = await fs.readFile(file, 'utf8') + // } + // catch (error) { + // continue + // } + // // const tempFile = await createTempSourceFile(filename) + // // const sourceFile = project.createSourceFile(tempFile, raw, { + // // scriptKind: ScriptKind.TS, + // // }) - // const description = sourceFile - // .getVariableDeclaration('description') - // ?.getInitializerOrThrow() - // .asKindOrThrow(SyntaxKind.StringLiteral) - // .getLiteralValue() + // // const description = sourceFile + // // .getVariableDeclaration('description') + // // ?.getInitializerOrThrow() + // // .asKindOrThrow(SyntaxKind.StringLiteral) + // // .getLiteralValue() - // item.description = description ?? '' + // // item.description = description ?? '' - // // Find all imports. - // const imports = new Map< - // string, - // { - // module: string - // text: string - // isDefault?: boolean - // } - // >() - // sourceFile.getImportDeclarations().forEach((node) => { - // const module = node.getModuleSpecifier().getLiteralValue() - // node.getNamedImports().forEach((item) => { - // imports.set(item.getText(), { - // module, - // text: node.getText(), - // }) - // }) + // // // Find all imports. + // // const imports = new Map< + // // string, + // // { + // // module: string + // // text: string + // // isDefault?: boolean + // // } + // // >() + // // sourceFile.getImportDeclarations().forEach((node) => { + // // const module = node.getModuleSpecifier().getLiteralValue() + // // node.getNamedImports().forEach((item) => { + // // imports.set(item.getText(), { + // // module, + // // text: node.getText(), + // // }) + // // }) - // const defaultImport = node.getDefaultImport() - // if (defaultImport) { - // imports.set(defaultImport.getText(), { - // module, - // text: defaultImport.getText(), - // isDefault: true, - // }) - // } - // }) + // // const defaultImport = node.getDefaultImport() + // // if (defaultImport) { + // // imports.set(defaultImport.getText(), { + // // module, + // // text: defaultImport.getText(), + // // isDefault: true, + // // }) + // // } + // // }) - // Find all opening tags with x-chunk attribute. - // const components = sourceFile - // .getDescendantsOfKind(SyntaxKind.JsxOpeningElement) - // .filter((node) => { - // return node.getAttribute('x-chunk') !== undefined - // }) + // // Find all opening tags with x-chunk attribute. + // // const components = sourceFile + // // .getDescendantsOfKind(SyntaxKind.JsxOpeningElement) + // // .filter((node) => { + // // return node.getAttribute('x-chunk') !== undefined + // // }) - // chunks = await Promise.all( - // components.map(async (component, index) => { - // const chunkName = `${item.name}-chunk-${index}` + // // chunks = await Promise.all( + // // components.map(async (component, index) => { + // // const chunkName = `${item.name}-chunk-${index}` - // // Get the value of x-chunk attribute. - // const attr = component - // .getAttributeOrThrow('x-chunk') - // .asKindOrThrow(SyntaxKind.JsxAttribute) + // // // Get the value of x-chunk attribute. + // // const attr = component + // // .getAttributeOrThrow('x-chunk') + // // .asKindOrThrow(SyntaxKind.JsxAttribute) - // const description = attr - // .getInitializerOrThrow() - // .asKindOrThrow(SyntaxKind.StringLiteral) - // .getLiteralValue() + // // const description = attr + // // .getInitializerOrThrow() + // // .asKindOrThrow(SyntaxKind.StringLiteral) + // // .getLiteralValue() - // // Delete the x-chunk attribute. - // attr.remove() + // // // Delete the x-chunk attribute. + // // attr.remove() - // // Add a new attribute to the component. - // component.addAttribute({ - // name: 'x-chunk', - // initializer: `"${chunkName}"`, - // }) + // // // Add a new attribute to the component. + // // component.addAttribute({ + // // name: 'x-chunk', + // // initializer: `"${chunkName}"`, + // // }) - // // Get the value of x-chunk-container attribute. - // const containerAttr = component - // .getAttribute('x-chunk-container') - // ?.asKindOrThrow(SyntaxKind.JsxAttribute) + // // // Get the value of x-chunk-container attribute. + // // const containerAttr = component + // // .getAttribute('x-chunk-container') + // // ?.asKindOrThrow(SyntaxKind.JsxAttribute) - // const containerClassName = containerAttr - // ?.getInitializer() - // ?.asKindOrThrow(SyntaxKind.StringLiteral) - // .getLiteralValue() + // // const containerClassName = containerAttr + // // ?.getInitializer() + // // ?.asKindOrThrow(SyntaxKind.StringLiteral) + // // .getLiteralValue() - // containerAttr?.remove() + // // containerAttr?.remove() - // const parentJsxElement = component.getParentIfKindOrThrow( - // SyntaxKind.JsxElement, - // ) + // // const parentJsxElement = component.getParentIfKindOrThrow( + // // SyntaxKind.JsxElement, + // // ) - // // Find all opening tags on component. - // const children = parentJsxElement - // .getDescendantsOfKind(SyntaxKind.JsxOpeningElement) - // .map((node) => { - // return node.getTagNameNode().getText() - // }) - // .concat( - // parentJsxElement - // .getDescendantsOfKind(SyntaxKind.JsxSelfClosingElement) - // .map((node) => { - // return node.getTagNameNode().getText() - // }), - // ) + // // // Find all opening tags on component. + // // const children = parentJsxElement + // // .getDescendantsOfKind(SyntaxKind.JsxOpeningElement) + // // .map((node) => { + // // return node.getTagNameNode().getText() + // // }) + // // .concat( + // // parentJsxElement + // // .getDescendantsOfKind(SyntaxKind.JsxSelfClosingElement) + // // .map((node) => { + // // return node.getTagNameNode().getText() + // // }), + // // ) - // const componentImports = new Map< - // string, - // string | string[] | Set - // >() - // children.forEach((child) => { - // const importLine = imports.get(child) - // if (importLine) { - // const imports = componentImports.get(importLine.module) || [] + // // const componentImports = new Map< + // // string, + // // string | string[] | Set + // // >() + // // children.forEach((child) => { + // // const importLine = imports.get(child) + // // if (importLine) { + // // const imports = componentImports.get(importLine.module) || [] - // const newImports = importLine.isDefault - // ? importLine.text - // : new Set([...imports, child]) + // // const newImports = importLine.isDefault + // // ? importLine.text + // // : new Set([...imports, child]) - // componentImports.set( - // importLine.module, - // importLine?.isDefault ? newImports : Array.from(newImports), - // ) - // } - // }) + // // componentImports.set( + // // importLine.module, + // // importLine?.isDefault ? newImports : Array.from(newImports), + // // ) + // // } + // // }) - // const componnetImportLines = Array.from( - // componentImports.keys(), - // ).map((key) => { - // const values = componentImports.get(key) - // const specifier = Array.isArray(values) - // ? `{${values.join(',')}}` - // : values + // // const componnetImportLines = Array.from( + // // componentImports.keys(), + // // ).map((key) => { + // // const values = componentImports.get(key) + // // const specifier = Array.isArray(values) + // // ? `{${values.join(',')}}` + // // : values - // return `import ${specifier} from "${key}"` - // }) + // // return `import ${specifier} from "${key}"` + // // }) - // const code = ` - // 'use client' + // // const code = ` + // // 'use client' - // ${componnetImportLines.join('\n')} + // // ${componnetImportLines.join('\n')} - // export default function Component() { - // return (${parentJsxElement.getText()}) - // }` + // // export default function Component() { + // // return (${parentJsxElement.getText()}) + // // }` - // const targetFile = file.replace(item.name, `${chunkName}`) - // const targetFilePath = path.join( - // cwd(), - // `registry/${style.name}/${type}/${chunkName}.ts`, - // ) + // // const targetFile = file.replace(item.name, `${chunkName}`) + // // const targetFilePath = path.join( + // // cwd(), + // // `registry/${style.name}/${type}/${chunkName}.ts`, + // // ) - // // Write component file. - // rimraf.sync(targetFilePath) - // await fs.writeFile(targetFilePath, code, 'utf8') + // // // Write component file. + // // rimraf.sync(targetFilePath) + // // await fs.writeFile(targetFilePath, code, 'utf8') - // return { - // name: chunkName, - // description, - // component: `React.lazy(() => import("@/registry/${style.name}/${type}/${chunkName}")),`, - // file: targetFile, - // container: { - // className: containerClassName, - // }, - // } - // }), - // ) + // // return { + // // name: chunkName, + // // description, + // // component: `React.lazy(() => import("@/registry/${style.name}/${type}/${chunkName}")),`, + // // file: targetFile, + // // container: { + // // className: containerClassName, + // // }, + // // } + // // }), + // // ) - // // Write the source file for blocks only. - sourceFilename = `__registry__/${style.name}/${type}/${item.name}.ts` + // // // Write the source file for blocks only. + // sourceFilename = `__registry__/${style.name}/${type}/${item.name}.ts` - if (item.files) { - const files = item.files.map(file => - typeof file === 'string' - ? { type: 'registry:page', path: file } - : file, - ) - if (files?.length) { - sourceFilename = `__registry__/${style.name}/${files[0].path}` - } - } + // if (item.files) { + // const files = item.files.map(file => + // typeof file === 'string' + // ? { type: 'registry:page', path: file } + // : file, + // ) + // if (files?.length) { + // sourceFilename = `__registry__/${style.name}/${files[0].path}` + // } + // } - const sourcePath = path.join(process.cwd(), sourceFilename) - if (!existsSync(sourcePath)) { - await fs.mkdir(sourcePath, { recursive: true }) - } + // const sourcePath = path.join(process.cwd(), sourceFilename) + // if (!existsSync(sourcePath)) { + // await fs.mkdir(sourcePath, { recursive: true }) + // } - rimraf.sync(sourcePath) - // await fs.writeFile(sourcePath, sourceFile.getText()) - await fs.writeFile(sourcePath, raw) - } + // rimraf.sync(sourcePath) + // // await fs.writeFile(sourcePath, sourceFile.getText()) + // await fs.writeFile(sourcePath, raw) + // } let componentPath = `@/registry/${style.name}/${type}/${item.name}` @@ -340,14 +339,7 @@ export const Index: Record = { return { ...item, files: item.files?.map((_file) => { - const file - = typeof _file === 'string' - ? { - path: _file, - type: item.type, - } - : _file - + const file = { path: _file.path, type: item.type } return file }), } @@ -386,27 +378,19 @@ async function buildStyles(registry: Registry) { if (item.files) { files = await Promise.all( item.files.map(async (_file) => { - const file - = typeof _file === 'string' - ? { - path: _file, - type: item.type, - content: '', - target: '', - } - : _file + const file = { + path: _file.path, + type: _file.type, + content: '', + target: _file.target ?? '', + } let content: string try { content = await fs.readFile( - path.join(process.cwd(), 'registry', style.name, file.path), + path.join(process.cwd(), 'src', 'registry', style.name, file.path), 'utf8', ) - - // Only fix imports for v0- blocks. - if (item.name.startsWith('v0-')) { - content = fixImport(content) - } } catch (error) { return @@ -422,30 +406,30 @@ async function buildStyles(registry: Registry) { // sourceFile.getVariableDeclaration('containerClassName')?.remove() // sourceFile.getVariableDeclaration('description')?.remove() - let target = file.target || '' + const target = file.target || '' - if ((!target || target === '') && item.name.startsWith('v0-')) { - const fileName = file.path.split('/').pop() - if ( - file.type === 'registry:block' - || file.type === 'registry:component' - || file.type === 'registry:example' - ) { - target = `components/${fileName}` - } + // if ((!target || target === '') && item.name.startsWith('v0-')) { + // const fileName = file.path.split('/').pop() + // if ( + // file.type === 'registry:block' + // || file.type === 'registry:component' + // || file.type === 'registry:example' + // ) { + // target = `components/${fileName}` + // } - if (file.type === 'registry:ui') { - target = `components/ui/${fileName}` - } + // if (file.type === 'registry:ui') { + // target = `components/ui/${fileName}` + // } - if (file.type === 'registry:hook') { - target = `hooks/${fileName}` - } + // if (file.type === 'registry:hook') { + // target = `hooks/${fileName}` + // } - if (file.type === 'registry:lib') { - target = `lib/${fileName}` - } - } + // if (file.type === 'registry:lib') { + // target = `lib/${fileName}` + // } + // } return { path: file.path, @@ -458,6 +442,9 @@ async function buildStyles(registry: Registry) { ) } + // if (item.type === 'registry:block' && item.name === 'Sidebar01') + // console.log(item.name, item.files?.[0], files?.[0]) + const payload = registryEntrySchema .omit({ // source: true, @@ -473,7 +460,7 @@ async function buildStyles(registry: Registry) { if (payload.success) { await fs.writeFile( path.join(targetPath, `${item.name}.json`), - JSON.stringify(payload.data, null, 2), + `${JSON.stringify(payload.data, null, 2)}\r\n`, 'utf8', ) } @@ -501,10 +488,10 @@ async function buildStylesIndex() { const dependencies = [ 'tailwindcss-animate', 'class-variance-authority', - 'lucide-react', + 'lucide-vue-next', ] - // TODO: Remove this when we migrate to lucide-react. + // TODO: Remove this when we migrate to lucide-vue-next. // if (style.name === "new-york") { // dependencies.push("@radix-ui/react-icons") // } @@ -575,7 +562,7 @@ async function buildThemes() { await fs.writeFile( path.join(colorsTargetPath, 'index.json'), - JSON.stringify(colorsData, null, 2), + `${JSON.stringify(colorsData, null, 2)}\r\n`, 'utf8', ) @@ -697,7 +684,7 @@ async function buildThemes() { await fs.writeFile( path.join(REGISTRY_PATH, `colors/${baseColor}.json`), - JSON.stringify(base, null, 2), + `${JSON.stringify(base, null, 2)}\r\n`, 'utf8', ) diff --git a/apps/www/src/public/r/colors/gray.json b/apps/www/src/public/r/colors/gray.json index 0f3cd093..af314d92 100644 --- a/apps/www/src/public/r/colors/gray.json +++ b/apps/www/src/public/r/colors/gray.json @@ -99,4 +99,4 @@ }, "inlineColorsTemplate": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n ", "cssVarsTemplate": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\n@layer base {\n :root {\n --background: 0 0% 100%;\n --foreground: 224 71.4% 4.1%;\n --card: 0 0% 100%;\n --card-foreground: 224 71.4% 4.1%;\n --popover: 0 0% 100%;\n --popover-foreground: 224 71.4% 4.1%;\n --primary: 220.9 39.3% 11%;\n --primary-foreground: 210 20% 98%;\n --secondary: 220 14.3% 95.9%;\n --secondary-foreground: 220.9 39.3% 11%;\n --muted: 220 14.3% 95.9%;\n --muted-foreground: 220 8.9% 46.1%;\n --accent: 220 14.3% 95.9%;\n --accent-foreground: 220.9 39.3% 11%;\n --destructive: 0 84.2% 60.2%;\n --destructive-foreground: 210 20% 98%;\n --border: 220 13% 91%;\n --input: 220 13% 91%;\n --ring: 224 71.4% 4.1%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n\n .dark {\n --background: 224 71.4% 4.1%;\n --foreground: 210 20% 98%;\n --card: 224 71.4% 4.1%;\n --card-foreground: 210 20% 98%;\n --popover: 224 71.4% 4.1%;\n --popover-foreground: 210 20% 98%;\n --primary: 210 20% 98%;\n --primary-foreground: 220.9 39.3% 11%;\n --secondary: 215 27.9% 16.9%;\n --secondary-foreground: 210 20% 98%;\n --muted: 215 27.9% 16.9%;\n --muted-foreground: 217.9 10.6% 64.9%;\n --accent: 215 27.9% 16.9%;\n --accent-foreground: 210 20% 98%;\n --destructive: 0 62.8% 30.6%;\n --destructive-foreground: 210 20% 98%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --ring: 216 12.2% 83.9%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply bg-background text-foreground;\n }\n}" -} +} diff --git a/apps/www/src/public/r/colors/index.json b/apps/www/src/public/r/colors/index.json index 6b70773e..a535a770 100644 --- a/apps/www/src/public/r/colors/index.json +++ b/apps/www/src/public/r/colors/index.json @@ -1996,4 +1996,4 @@ "hslChannel": "343.1 87.7% 15.9%" } ] -} +} diff --git a/apps/www/src/public/r/colors/neutral.json b/apps/www/src/public/r/colors/neutral.json index c47c1574..5fc067a8 100644 --- a/apps/www/src/public/r/colors/neutral.json +++ b/apps/www/src/public/r/colors/neutral.json @@ -99,4 +99,4 @@ }, "inlineColorsTemplate": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n ", "cssVarsTemplate": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\n@layer base {\n :root {\n --background: 0 0% 100%;\n --foreground: 0 0% 3.9%;\n --card: 0 0% 100%;\n --card-foreground: 0 0% 3.9%;\n --popover: 0 0% 100%;\n --popover-foreground: 0 0% 3.9%;\n --primary: 0 0% 9%;\n --primary-foreground: 0 0% 98%;\n --secondary: 0 0% 96.1%;\n --secondary-foreground: 0 0% 9%;\n --muted: 0 0% 96.1%;\n --muted-foreground: 0 0% 45.1%;\n --accent: 0 0% 96.1%;\n --accent-foreground: 0 0% 9%;\n --destructive: 0 84.2% 60.2%;\n --destructive-foreground: 0 0% 98%;\n --border: 0 0% 89.8%;\n --input: 0 0% 89.8%;\n --ring: 0 0% 3.9%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n\n .dark {\n --background: 0 0% 3.9%;\n --foreground: 0 0% 98%;\n --card: 0 0% 3.9%;\n --card-foreground: 0 0% 98%;\n --popover: 0 0% 3.9%;\n --popover-foreground: 0 0% 98%;\n --primary: 0 0% 98%;\n --primary-foreground: 0 0% 9%;\n --secondary: 0 0% 14.9%;\n --secondary-foreground: 0 0% 98%;\n --muted: 0 0% 14.9%;\n --muted-foreground: 0 0% 63.9%;\n --accent: 0 0% 14.9%;\n --accent-foreground: 0 0% 98%;\n --destructive: 0 62.8% 30.6%;\n --destructive-foreground: 0 0% 98%;\n --border: 0 0% 14.9%;\n --input: 0 0% 14.9%;\n --ring: 0 0% 83.1%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply bg-background text-foreground;\n }\n}" -} +} diff --git a/apps/www/src/public/r/colors/slate.json b/apps/www/src/public/r/colors/slate.json index f5bd98b3..85b9c2c6 100644 --- a/apps/www/src/public/r/colors/slate.json +++ b/apps/www/src/public/r/colors/slate.json @@ -99,4 +99,4 @@ }, "inlineColorsTemplate": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n ", "cssVarsTemplate": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\n@layer base {\n :root {\n --background: 0 0% 100%;\n --foreground: 222.2 84% 4.9%;\n --card: 0 0% 100%;\n --card-foreground: 222.2 84% 4.9%;\n --popover: 0 0% 100%;\n --popover-foreground: 222.2 84% 4.9%;\n --primary: 222.2 47.4% 11.2%;\n --primary-foreground: 210 40% 98%;\n --secondary: 210 40% 96.1%;\n --secondary-foreground: 222.2 47.4% 11.2%;\n --muted: 210 40% 96.1%;\n --muted-foreground: 215.4 16.3% 46.9%;\n --accent: 210 40% 96.1%;\n --accent-foreground: 222.2 47.4% 11.2%;\n --destructive: 0 84.2% 60.2%;\n --destructive-foreground: 210 40% 98%;\n --border: 214.3 31.8% 91.4%;\n --input: 214.3 31.8% 91.4%;\n --ring: 222.2 84% 4.9%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n\n .dark {\n --background: 222.2 84% 4.9%;\n --foreground: 210 40% 98%;\n --card: 222.2 84% 4.9%;\n --card-foreground: 210 40% 98%;\n --popover: 222.2 84% 4.9%;\n --popover-foreground: 210 40% 98%;\n --primary: 210 40% 98%;\n --primary-foreground: 222.2 47.4% 11.2%;\n --secondary: 217.2 32.6% 17.5%;\n --secondary-foreground: 210 40% 98%;\n --muted: 217.2 32.6% 17.5%;\n --muted-foreground: 215 20.2% 65.1%;\n --accent: 217.2 32.6% 17.5%;\n --accent-foreground: 210 40% 98%;\n --destructive: 0 62.8% 30.6%;\n --destructive-foreground: 210 40% 98%;\n --border: 217.2 32.6% 17.5%;\n --input: 217.2 32.6% 17.5%;\n --ring: 212.7 26.8% 83.9%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply bg-background text-foreground;\n }\n}" -} +} diff --git a/apps/www/src/public/r/colors/stone.json b/apps/www/src/public/r/colors/stone.json index c2f58bb2..726ee758 100644 --- a/apps/www/src/public/r/colors/stone.json +++ b/apps/www/src/public/r/colors/stone.json @@ -99,4 +99,4 @@ }, "inlineColorsTemplate": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n ", "cssVarsTemplate": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\n@layer base {\n :root {\n --background: 0 0% 100%;\n --foreground: 20 14.3% 4.1%;\n --card: 0 0% 100%;\n --card-foreground: 20 14.3% 4.1%;\n --popover: 0 0% 100%;\n --popover-foreground: 20 14.3% 4.1%;\n --primary: 24 9.8% 10%;\n --primary-foreground: 60 9.1% 97.8%;\n --secondary: 60 4.8% 95.9%;\n --secondary-foreground: 24 9.8% 10%;\n --muted: 60 4.8% 95.9%;\n --muted-foreground: 25 5.3% 44.7%;\n --accent: 60 4.8% 95.9%;\n --accent-foreground: 24 9.8% 10%;\n --destructive: 0 84.2% 60.2%;\n --destructive-foreground: 60 9.1% 97.8%;\n --border: 20 5.9% 90%;\n --input: 20 5.9% 90%;\n --ring: 20 14.3% 4.1%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n\n .dark {\n --background: 20 14.3% 4.1%;\n --foreground: 60 9.1% 97.8%;\n --card: 20 14.3% 4.1%;\n --card-foreground: 60 9.1% 97.8%;\n --popover: 20 14.3% 4.1%;\n --popover-foreground: 60 9.1% 97.8%;\n --primary: 60 9.1% 97.8%;\n --primary-foreground: 24 9.8% 10%;\n --secondary: 12 6.5% 15.1%;\n --secondary-foreground: 60 9.1% 97.8%;\n --muted: 12 6.5% 15.1%;\n --muted-foreground: 24 5.4% 63.9%;\n --accent: 12 6.5% 15.1%;\n --accent-foreground: 60 9.1% 97.8%;\n --destructive: 0 62.8% 30.6%;\n --destructive-foreground: 60 9.1% 97.8%;\n --border: 12 6.5% 15.1%;\n --input: 12 6.5% 15.1%;\n --ring: 24 5.7% 82.9%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply bg-background text-foreground;\n }\n}" -} +} diff --git a/apps/www/src/public/r/colors/zinc.json b/apps/www/src/public/r/colors/zinc.json index 47b38144..6ba58beb 100644 --- a/apps/www/src/public/r/colors/zinc.json +++ b/apps/www/src/public/r/colors/zinc.json @@ -99,4 +99,4 @@ }, "inlineColorsTemplate": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n ", "cssVarsTemplate": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\n@layer base {\n :root {\n --background: 0 0% 100%;\n --foreground: 240 10% 3.9%;\n --card: 0 0% 100%;\n --card-foreground: 240 10% 3.9%;\n --popover: 0 0% 100%;\n --popover-foreground: 240 10% 3.9%;\n --primary: 240 5.9% 10%;\n --primary-foreground: 0 0% 98%;\n --secondary: 240 4.8% 95.9%;\n --secondary-foreground: 240 5.9% 10%;\n --muted: 240 4.8% 95.9%;\n --muted-foreground: 240 3.8% 46.1%;\n --accent: 240 4.8% 95.9%;\n --accent-foreground: 240 5.9% 10%;\n --destructive: 0 84.2% 60.2%;\n --destructive-foreground: 0 0% 98%;\n --border: 240 5.9% 90%;\n --input: 240 5.9% 90%;\n --ring: 240 10% 3.9%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n\n .dark {\n --background: 240 10% 3.9%;\n --foreground: 0 0% 98%;\n --card: 240 10% 3.9%;\n --card-foreground: 0 0% 98%;\n --popover: 240 10% 3.9%;\n --popover-foreground: 0 0% 98%;\n --primary: 0 0% 98%;\n --primary-foreground: 240 5.9% 10%;\n --secondary: 240 3.7% 15.9%;\n --secondary-foreground: 0 0% 98%;\n --muted: 240 3.7% 15.9%;\n --muted-foreground: 240 5% 64.9%;\n --accent: 240 3.7% 15.9%;\n --accent-foreground: 0 0% 98%;\n --destructive: 0 62.8% 30.6%;\n --destructive-foreground: 0 0% 98%;\n --border: 240 3.7% 15.9%;\n --input: 240 3.7% 15.9%;\n --ring: 240 4.9% 83.9%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply bg-background text-foreground;\n }\n}" -} +} diff --git a/apps/www/src/public/r/icons/index.json b/apps/www/src/public/r/icons/index.json deleted file mode 100644 index 6561bf32..00000000 --- a/apps/www/src/public/r/icons/index.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "AlertCircle": { - "lucide": "AlertCircle", - "radix": "ExclamationTriangleIcon" - }, - "ArrowLeft": { - "lucide": "ArrowLeft", - "radix": "ArrowLeftIcon" - }, - "ArrowRight": { - "lucide": "ArrowRight", - "radix": "ArrowRightIcon" - }, - "ArrowUpDown": { - "lucide": "ArrowUpDown", - "radix": "CaretSortIcon" - }, - "BellRing": { - "lucide": "BellRing", - "radix": "BellIcon" - }, - "Bold": { - "lucide": "Bold", - "radix": "FontBoldIcon" - }, - "Calculator": { - "lucide": "Calculator", - "radix": "ComponentPlaceholderIcon" - }, - "Calendar": { - "lucide": "Calendar", - "radix": "CalendarIcon" - }, - "Check": { - "lucide": "Check", - "radix": "CheckIcon" - }, - "ChevronDown": { - "lucide": "ChevronDown", - "radix": "ChevronDownIcon" - }, - "ChevronLeft": { - "lucide": "ChevronLeft", - "radix": "ChevronLeftIcon" - }, - "ChevronRight": { - "lucide": "ChevronRight", - "radix": "ChevronRightIcon" - }, - "ChevronUp": { - "lucide": "ChevronUp", - "radix": "ChevronUpIcon" - }, - "ChevronsUpDown": { - "lucide": "ChevronsUpDown", - "radix": "CaretSortIcon" - }, - "Circle": { - "lucide": "Circle", - "radix": "DotFilledIcon" - }, - "Copy": { - "lucide": "Copy", - "radix": "CopyIcon" - }, - "CreditCard": { - "lucide": "CreditCard", - "radix": "ComponentPlaceholderIcon" - }, - "GripVertical": { - "lucide": "GripVertical", - "radix": "DragHandleDots2Icon" - }, - "Italic": { - "lucide": "Italic", - "radix": "FontItalicIcon" - }, - "Loader2": { - "lucide": "Loader2", - "radix": "ReloadIcon" - }, - "Mail": { - "lucide": "Mail", - "radix": "EnvelopeClosedIcon" - }, - "MailOpen": { - "lucide": "MailOpen", - "radix": "EnvelopeOpenIcon" - }, - "Minus": { - "lucide": "Minus", - "radix": "MinusIcon" - }, - "Moon": { - "lucide": "Moon", - "radix": "MoonIcon" - }, - "MoreHorizontal": { - "lucide": "MoreHorizontal", - "radix": "DotsHorizontalIcon" - }, - "PanelLeft": { - "lucide": "PanelLeft", - "radix": "ViewVerticalIcon" - }, - "Plus": { - "lucide": "Plus", - "radix": "PlusIcon" - }, - "Search": { - "lucide": "Search", - "radix": "MagnifyingGlassIcon" - }, - "Send": { - "lucide": "Send", - "radix": "PaperPlaneIcon" - }, - "Settings": { - "lucide": "Settings", - "radix": "GearIcon" - }, - "Slash": { - "lucide": "Slash", - "radix": "SlashIcon" - }, - "Smile": { - "lucide": "Smile", - "radix": "FaceIcon" - }, - "Sun": { - "lucide": "Sun", - "radix": "SunIcon" - }, - "Terminal": { - "lucide": "Terminal", - "radix": "RocketIcon" - }, - "Underline": { - "lucide": "Underline", - "radix": "UnderlineIcon" - }, - "User": { - "lucide": "User", - "radix": "PersonIcon" - }, - "X": { - "lucide": "X", - "radix": "Cross2Icon" - } -} diff --git a/apps/www/src/public/r/index.json b/apps/www/src/public/r/index.json index e323d001..309e2cdc 100644 --- a/apps/www/src/public/r/index.json +++ b/apps/www/src/public/r/index.json @@ -9,33 +9,23 @@ "files": [ { "path": "ui/accordion/Accordion.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "accordion/Accordion.vue" + "type": "registry:ui" }, { "path": "ui/accordion/AccordionContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "accordion/AccordionContent.vue" + "type": "registry:ui" }, { "path": "ui/accordion/AccordionItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "accordion/AccordionItem.vue" + "type": "registry:ui" }, { "path": "ui/accordion/AccordionTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "accordion/AccordionTrigger.vue" + "type": "registry:ui" }, { "path": "ui/accordion/index.ts", - "content": "export { default as Accordion } from './Accordion.vue'\nexport { default as AccordionContent } from './AccordionContent.vue'\nexport { default as AccordionItem } from './AccordionItem.vue'\nexport { default as AccordionTrigger } from './AccordionTrigger.vue'\n", - "type": "registry:ui", - "target": "accordion/index.ts" + "type": "registry:ui" } ] }, @@ -49,27 +39,19 @@ "files": [ { "path": "ui/alert/Alert.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "alert/Alert.vue" + "type": "registry:ui" }, { "path": "ui/alert/AlertDescription.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "alert/AlertDescription.vue" + "type": "registry:ui" }, { "path": "ui/alert/AlertTitle.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "alert/AlertTitle.vue" + "type": "registry:ui" }, { "path": "ui/alert/index.ts", - "content": "import { cva, type VariantProps } from 'class-variance-authority'\n\nexport { default as Alert } from './Alert.vue'\nexport { default as AlertDescription } from './AlertDescription.vue'\nexport { default as AlertTitle } from './AlertTitle.vue'\n\nexport const alertVariants = cva(\n 'relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7',\n {\n variants: {\n variant: {\n default: 'bg-background text-foreground',\n destructive:\n 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n)\n\nexport type AlertVariants = VariantProps\n", - "type": "registry:ui", - "target": "alert/index.ts" + "type": "registry:ui" } ] }, @@ -78,69 +60,49 @@ "type": "registry:ui", "dependencies": [], "registryDependencies": [ - "button", - "utils" + "utils", + "button" ], "files": [ { "path": "ui/alert-dialog/AlertDialog.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "alert-dialog/AlertDialog.vue" + "type": "registry:ui" }, { "path": "ui/alert-dialog/AlertDialogAction.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "alert-dialog/AlertDialogAction.vue" + "type": "registry:ui" }, { "path": "ui/alert-dialog/AlertDialogCancel.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "alert-dialog/AlertDialogCancel.vue" + "type": "registry:ui" }, { "path": "ui/alert-dialog/AlertDialogContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "alert-dialog/AlertDialogContent.vue" + "type": "registry:ui" }, { "path": "ui/alert-dialog/AlertDialogDescription.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "alert-dialog/AlertDialogDescription.vue" + "type": "registry:ui" }, { "path": "ui/alert-dialog/AlertDialogFooter.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "alert-dialog/AlertDialogFooter.vue" + "type": "registry:ui" }, { "path": "ui/alert-dialog/AlertDialogHeader.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "alert-dialog/AlertDialogHeader.vue" + "type": "registry:ui" }, { "path": "ui/alert-dialog/AlertDialogTitle.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "alert-dialog/AlertDialogTitle.vue" + "type": "registry:ui" }, { "path": "ui/alert-dialog/AlertDialogTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "alert-dialog/AlertDialogTrigger.vue" + "type": "registry:ui" }, { "path": "ui/alert-dialog/index.ts", - "content": "export { default as AlertDialog } from './AlertDialog.vue'\nexport { default as AlertDialogAction } from './AlertDialogAction.vue'\nexport { default as AlertDialogCancel } from './AlertDialogCancel.vue'\nexport { default as AlertDialogContent } from './AlertDialogContent.vue'\nexport { default as AlertDialogDescription } from './AlertDialogDescription.vue'\nexport { default as AlertDialogFooter } from './AlertDialogFooter.vue'\nexport { default as AlertDialogHeader } from './AlertDialogHeader.vue'\nexport { default as AlertDialogTitle } from './AlertDialogTitle.vue'\nexport { default as AlertDialogTrigger } from './AlertDialogTrigger.vue'\n", - "type": "registry:ui", - "target": "alert-dialog/index.ts" + "type": "registry:ui" } ] }, @@ -152,15 +114,11 @@ "files": [ { "path": "ui/aspect-ratio/AspectRatio.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "aspect-ratio/AspectRatio.vue" + "type": "registry:ui" }, { "path": "ui/aspect-ratio/index.ts", - "content": "export { default as AspectRatio } from './AspectRatio.vue'\n", - "type": "registry:ui", - "target": "aspect-ratio/index.ts" + "type": "registry:ui" } ] }, @@ -179,9 +137,9 @@ "separator", "checkbox", "switch", + "utils", "calendar", "popover", - "utils", "label", "radio-group", "select", @@ -191,99 +149,67 @@ "files": [ { "path": "ui/auto-form/AutoForm.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "auto-form/AutoForm.vue" + "type": "registry:ui" }, { "path": "ui/auto-form/AutoFormField.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "auto-form/AutoFormField.vue" + "type": "registry:ui" }, { "path": "ui/auto-form/AutoFormFieldArray.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "auto-form/AutoFormFieldArray.vue" + "type": "registry:ui" }, { "path": "ui/auto-form/AutoFormFieldBoolean.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "auto-form/AutoFormFieldBoolean.vue" + "type": "registry:ui" }, { "path": "ui/auto-form/AutoFormFieldDate.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "auto-form/AutoFormFieldDate.vue" + "type": "registry:ui" }, { "path": "ui/auto-form/AutoFormFieldEnum.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "auto-form/AutoFormFieldEnum.vue" + "type": "registry:ui" }, { "path": "ui/auto-form/AutoFormFieldFile.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "auto-form/AutoFormFieldFile.vue" + "type": "registry:ui" }, { "path": "ui/auto-form/AutoFormFieldInput.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "auto-form/AutoFormFieldInput.vue" + "type": "registry:ui" }, { "path": "ui/auto-form/AutoFormFieldNumber.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "auto-form/AutoFormFieldNumber.vue" + "type": "registry:ui" }, { "path": "ui/auto-form/AutoFormFieldObject.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "auto-form/AutoFormFieldObject.vue" + "type": "registry:ui" }, { "path": "ui/auto-form/AutoFormLabel.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "auto-form/AutoFormLabel.vue" + "type": "registry:ui" }, { "path": "ui/auto-form/constant.ts", - "content": "import type { InputComponents } from './interface'\nimport AutoFormFieldArray from './AutoFormFieldArray.vue'\nimport AutoFormFieldBoolean from './AutoFormFieldBoolean.vue'\nimport AutoFormFieldDate from './AutoFormFieldDate.vue'\nimport AutoFormFieldEnum from './AutoFormFieldEnum.vue'\nimport AutoFormFieldFile from './AutoFormFieldFile.vue'\nimport AutoFormFieldInput from './AutoFormFieldInput.vue'\nimport AutoFormFieldNumber from './AutoFormFieldNumber.vue'\nimport AutoFormFieldObject from './AutoFormFieldObject.vue'\n\nexport const INPUT_COMPONENTS: InputComponents = {\n date: AutoFormFieldDate,\n select: AutoFormFieldEnum,\n radio: AutoFormFieldEnum,\n checkbox: AutoFormFieldBoolean,\n switch: AutoFormFieldBoolean,\n textarea: AutoFormFieldInput,\n number: AutoFormFieldNumber,\n string: AutoFormFieldInput,\n file: AutoFormFieldFile,\n array: AutoFormFieldArray,\n object: AutoFormFieldObject,\n}\n\n/**\n * Define handlers for specific Zod types.\n * You can expand this object to support more types.\n */\nexport const DEFAULT_ZOD_HANDLERS: {\n [key: string]: keyof typeof INPUT_COMPONENTS\n} = {\n ZodString: 'string',\n ZodBoolean: 'checkbox',\n ZodDate: 'date',\n ZodEnum: 'select',\n ZodNativeEnum: 'select',\n ZodNumber: 'number',\n ZodArray: 'array',\n ZodObject: 'object',\n}\n", - "type": "registry:ui", - "target": "auto-form/constant.ts" + "type": "registry:ui" }, { "path": "ui/auto-form/dependencies.ts", - "content": "import type { Ref } from 'vue'\nimport type * as z from 'zod'\nimport { createContext } from 'reka-ui'\nimport { useFieldValue, useFormValues } from 'vee-validate'\nimport { computed, ref, watch } from 'vue'\nimport { type Dependency, DependencyType, type EnumValues } from './interface'\nimport { getFromPath, getIndexIfArray } from './utils'\n\nexport const [injectDependencies, provideDependencies] = createContext>>[] | undefined>>('AutoFormDependencies')\n\nexport default function useDependencies(\n fieldName: string,\n) {\n const form = useFormValues()\n // parsed test[0].age => test.age\n const currentFieldName = fieldName.replace(/\\[\\d+\\]/g, '')\n const currentFieldValue = useFieldValue(fieldName)\n\n if (!form)\n throw new Error('useDependencies should be used within ')\n\n const dependencies = injectDependencies()\n const isDisabled = ref(false)\n const isHidden = ref(false)\n const isRequired = ref(false)\n const overrideOptions = ref()\n\n const currentFieldDependencies = computed(() => dependencies.value?.filter(\n dependency => dependency.targetField === currentFieldName,\n ))\n\n function getSourceValue(dep: Dependency) {\n const source = dep.sourceField as string\n const index = getIndexIfArray(fieldName) ?? -1\n const [sourceLast, ...sourceInitial] = source.split('.').toReversed()\n const [_targetLast, ...targetInitial] = (dep.targetField as string).split('.').toReversed()\n\n if (index >= 0 && sourceInitial.join(',') === targetInitial.join(',')) {\n const [_currentLast, ...currentInitial] = fieldName.split('.').toReversed()\n return getFromPath(form.value, currentInitial.join('.') + sourceLast)\n }\n\n return getFromPath(form.value, source)\n }\n\n const sourceFieldValues = computed(() => currentFieldDependencies.value?.map(dep => getSourceValue(dep)))\n\n const resetConditionState = () => {\n isDisabled.value = false\n isHidden.value = false\n isRequired.value = false\n overrideOptions.value = undefined\n }\n\n watch([sourceFieldValues, dependencies], () => {\n resetConditionState()\n currentFieldDependencies.value?.forEach((dep) => {\n const sourceValue = getSourceValue(dep)\n const conditionMet = dep.when(sourceValue, currentFieldValue.value)\n\n switch (dep.type) {\n case DependencyType.DISABLES:\n if (conditionMet)\n isDisabled.value = true\n\n break\n case DependencyType.REQUIRES:\n if (conditionMet)\n isRequired.value = true\n\n break\n case DependencyType.HIDES:\n if (conditionMet)\n isHidden.value = true\n\n break\n case DependencyType.SETS_OPTIONS:\n if (conditionMet)\n overrideOptions.value = dep.options\n\n break\n }\n })\n }, { immediate: true, deep: true })\n\n return {\n isDisabled,\n isHidden,\n isRequired,\n overrideOptions,\n }\n}\n", - "type": "registry:ui", - "target": "auto-form/dependencies.ts" + "type": "registry:ui" }, { "path": "ui/auto-form/index.ts", - "content": "export { default as AutoForm } from './AutoForm.vue'\nexport { default as AutoFormField } from './AutoFormField.vue'\n\nexport { default as AutoFormFieldArray } from './AutoFormFieldArray.vue'\nexport { default as AutoFormFieldBoolean } from './AutoFormFieldBoolean.vue'\nexport { default as AutoFormFieldDate } from './AutoFormFieldDate.vue'\n\nexport { default as AutoFormFieldEnum } from './AutoFormFieldEnum.vue'\nexport { default as AutoFormFieldFile } from './AutoFormFieldFile.vue'\nexport { default as AutoFormFieldInput } from './AutoFormFieldInput.vue'\nexport { default as AutoFormFieldNumber } from './AutoFormFieldNumber.vue'\nexport { default as AutoFormFieldObject } from './AutoFormFieldObject.vue'\nexport { default as AutoFormLabel } from './AutoFormLabel.vue'\nexport type { Config, ConfigItem, FieldProps } from './interface'\nexport { getBaseSchema, getBaseType, getObjectFormSchema } from './utils'\n", - "type": "registry:ui", - "target": "auto-form/index.ts" + "type": "registry:ui" }, { "path": "ui/auto-form/interface.ts", - "content": "import type { Component, InputHTMLAttributes } from 'vue'\nimport type { z, ZodAny } from 'zod'\nimport type { INPUT_COMPONENTS } from './constant'\n\nexport interface FieldProps {\n fieldName: string\n label?: string\n required?: boolean\n config?: ConfigItem\n disabled?: boolean\n}\n\nexport interface Shape {\n type: string\n default?: any\n required?: boolean\n options?: string[]\n schema?: ZodAny\n}\n\nexport interface InputComponents {\n date: Component\n select: Component\n radio: Component\n checkbox: Component\n switch: Component\n textarea: Component\n number: Component\n string: Component\n file: Component\n array: Component\n object: Component\n};\n\nexport interface ConfigItem {\n /** Value for the `FormLabel` */\n label?: string\n /** Value for the `FormDescription` */\n description?: string\n /** Pick which component to be rendered. */\n component?: keyof typeof INPUT_COMPONENTS | Component\n /** Hide `FormLabel`. */\n hideLabel?: boolean\n inputProps?: InputHTMLAttributes\n}\n\n// Define a type to unwrap an array\ntype UnwrapArray = T extends (infer U)[] ? U : never\n\nexport type Config = {\n // If SchemaType.key is an object, create a nested Config, otherwise ConfigItem\n [Key in keyof SchemaType]?:\n SchemaType[Key] extends any[]\n ? UnwrapArray>\n : SchemaType[Key] extends object\n ? Config\n : ConfigItem;\n}\n\nexport enum DependencyType {\n DISABLES,\n REQUIRES,\n HIDES,\n SETS_OPTIONS,\n}\n\ninterface BaseDependency>> {\n sourceField: keyof SchemaType\n type: DependencyType\n targetField: keyof SchemaType\n when: (sourceFieldValue: any, targetFieldValue: any) => boolean\n}\n\nexport type ValueDependency>> =\n BaseDependency & {\n type:\n | DependencyType.DISABLES\n | DependencyType.REQUIRES\n | DependencyType.HIDES\n }\n\nexport type EnumValues = readonly [string, ...string[]]\n\nexport type OptionsDependency<\n SchemaType extends z.infer>,\n> = BaseDependency & {\n type: DependencyType.SETS_OPTIONS\n\n // Partial array of values from sourceField that will trigger the dependency\n options: EnumValues\n}\n\nexport type Dependency>> =\n | ValueDependency\n | OptionsDependency\n", - "type": "registry:ui", - "target": "auto-form/interface.ts" + "type": "registry:ui" }, { "path": "ui/auto-form/utils.ts", - "content": "import type { z } from 'zod'\n\n// TODO: This should support recursive ZodEffects but TypeScript doesn't allow circular type definitions.\nexport type ZodObjectOrWrapped =\n | z.ZodObject\n | z.ZodEffects>\n\n/**\n * Beautify a camelCase string.\n * e.g. \"myString\" -> \"My String\"\n */\nexport function beautifyObjectName(string: string) {\n // Remove bracketed indices\n // if numbers only return the string\n let output = string.replace(/\\[\\d+\\]/g, '').replace(/([A-Z])/g, ' $1')\n output = output.charAt(0).toUpperCase() + output.slice(1)\n return output\n}\n\n/**\n * Parse string and extract the index\n * @param string\n * @returns index or undefined\n */\nexport function getIndexIfArray(string: string) {\n const indexRegex = /\\[(\\d+)\\]/\n // Match the index\n const match = string.match(indexRegex)\n // Extract the index (number)\n const index = match ? Number.parseInt(match[1]) : undefined\n return index\n}\n\n/**\n * Get the lowest level Zod type.\n * This will unpack optionals, refinements, etc.\n */\nexport function getBaseSchema<\n ChildType extends z.ZodAny | z.AnyZodObject = z.ZodAny,\n>(schema: ChildType | z.ZodEffects): ChildType | null {\n if (!schema)\n return null\n if ('innerType' in schema._def)\n return getBaseSchema(schema._def.innerType as ChildType)\n\n if ('schema' in schema._def)\n return getBaseSchema(schema._def.schema as ChildType)\n\n return schema as ChildType\n}\n\n/**\n * Get the type name of the lowest level Zod type.\n * This will unpack optionals, refinements, etc.\n */\nexport function getBaseType(schema: z.ZodAny) {\n const baseSchema = getBaseSchema(schema)\n return baseSchema ? baseSchema._def.typeName : ''\n}\n\n/**\n * Search for a \"ZodDefault\" in the Zod stack and return its value.\n */\nexport function getDefaultValueInZodStack(schema: z.ZodAny): any {\n const typedSchema = schema as unknown as z.ZodDefault<\n z.ZodNumber | z.ZodString\n >\n\n if (typedSchema._def.typeName === 'ZodDefault')\n return typedSchema._def.defaultValue()\n\n if ('innerType' in typedSchema._def) {\n return getDefaultValueInZodStack(\n typedSchema._def.innerType as unknown as z.ZodAny,\n )\n }\n if ('schema' in typedSchema._def) {\n return getDefaultValueInZodStack(\n (typedSchema._def as any).schema as z.ZodAny,\n )\n }\n\n return undefined\n}\n\nexport function getObjectFormSchema(\n schema: ZodObjectOrWrapped,\n): z.ZodObject {\n if (schema?._def.typeName === 'ZodEffects') {\n const typedSchema = schema as z.ZodEffects>\n return getObjectFormSchema(typedSchema._def.schema)\n }\n return schema as z.ZodObject\n}\n\nfunction isIndex(value: unknown): value is number {\n return Number(value) >= 0\n}\n/**\n * Constructs a path with dot paths for arrays to use brackets to be compatible with vee-validate path syntax\n */\nexport function normalizeFormPath(path: string): string {\n const pathArr = path.split('.')\n if (!pathArr.length)\n return ''\n\n let fullPath = String(pathArr[0])\n for (let i = 1; i < pathArr.length; i++) {\n if (isIndex(pathArr[i])) {\n fullPath += `[${pathArr[i]}]`\n continue\n }\n\n fullPath += `.${pathArr[i]}`\n }\n\n return fullPath\n}\n\ntype NestedRecord = Record | { [k: string]: NestedRecord }\n/**\n * Checks if the path opted out of nested fields using `[fieldName]` syntax\n */\nexport function isNotNestedPath(path: string) {\n return /^\\[.+\\]$/.test(path)\n}\nfunction isObject(obj: unknown): obj is Record {\n return obj !== null && !!obj && typeof obj === 'object' && !Array.isArray(obj)\n}\nfunction isContainerValue(value: unknown): value is Record {\n return isObject(value) || Array.isArray(value)\n}\nfunction cleanupNonNestedPath(path: string) {\n if (isNotNestedPath(path))\n return path.replace(/\\[|\\]/g, '')\n\n return path\n}\n\n/**\n * Gets a nested property value from an object\n */\nexport function getFromPath(object: NestedRecord | undefined, path: string): TValue | undefined\nexport function getFromPath(\n object: NestedRecord | undefined,\n path: string,\n fallback?: TFallback,\n): TValue | TFallback\nexport function getFromPath(\n object: NestedRecord | undefined,\n path: string,\n fallback?: TFallback,\n): TValue | TFallback | undefined {\n if (!object)\n return fallback\n\n if (isNotNestedPath(path))\n return object[cleanupNonNestedPath(path)] as TValue | undefined\n\n const resolvedValue = (path || '')\n .split(/\\.|\\[(\\d+)\\]/)\n .filter(Boolean)\n .reduce((acc, propKey) => {\n if (isContainerValue(acc) && propKey in acc)\n return acc[propKey]\n\n return fallback\n }, object as unknown)\n\n return resolvedValue as TValue | undefined\n}\n", - "type": "registry:ui", - "target": "auto-form/utils.ts" + "type": "registry:ui" } ] }, @@ -297,27 +223,19 @@ "files": [ { "path": "ui/avatar/Avatar.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "avatar/Avatar.vue" + "type": "registry:ui" }, { "path": "ui/avatar/AvatarFallback.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "avatar/AvatarFallback.vue" + "type": "registry:ui" }, { "path": "ui/avatar/AvatarImage.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "avatar/AvatarImage.vue" + "type": "registry:ui" }, { "path": "ui/avatar/index.ts", - "content": "import { cva, type VariantProps } from 'class-variance-authority'\n\nexport { default as Avatar } from './Avatar.vue'\nexport { default as AvatarFallback } from './AvatarFallback.vue'\nexport { default as AvatarImage } from './AvatarImage.vue'\n\nexport const avatarVariant = cva(\n 'inline-flex items-center justify-center font-normal text-foreground select-none shrink-0 bg-secondary overflow-hidden',\n {\n variants: {\n size: {\n sm: 'h-10 w-10 text-xs',\n base: 'h-16 w-16 text-2xl',\n lg: 'h-32 w-32 text-5xl',\n },\n shape: {\n circle: 'rounded-full',\n square: 'rounded-md',\n },\n },\n },\n)\n\nexport type AvatarVariants = VariantProps\n", - "type": "registry:ui", - "target": "avatar/index.ts" + "type": "registry:ui" } ] }, @@ -331,15 +249,11 @@ "files": [ { "path": "ui/badge/Badge.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "badge/Badge.vue" + "type": "registry:ui" }, { "path": "ui/badge/index.ts", - "content": "import { cva, type VariantProps } from 'class-variance-authority'\n\nexport { default as Badge } from './Badge.vue'\n\nexport const badgeVariants = cva(\n 'inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n {\n variants: {\n variant: {\n default:\n 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n)\n\nexport type BadgeVariants = VariantProps\n", - "type": "registry:ui", - "target": "badge/index.ts" + "type": "registry:ui" } ] }, @@ -353,51 +267,35 @@ "files": [ { "path": "ui/breadcrumb/Breadcrumb.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "breadcrumb/Breadcrumb.vue" + "type": "registry:ui" }, { "path": "ui/breadcrumb/BreadcrumbEllipsis.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "breadcrumb/BreadcrumbEllipsis.vue" + "type": "registry:ui" }, { "path": "ui/breadcrumb/BreadcrumbItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "breadcrumb/BreadcrumbItem.vue" + "type": "registry:ui" }, { "path": "ui/breadcrumb/BreadcrumbLink.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "breadcrumb/BreadcrumbLink.vue" + "type": "registry:ui" }, { "path": "ui/breadcrumb/BreadcrumbList.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "breadcrumb/BreadcrumbList.vue" + "type": "registry:ui" }, { "path": "ui/breadcrumb/BreadcrumbPage.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "breadcrumb/BreadcrumbPage.vue" + "type": "registry:ui" }, { "path": "ui/breadcrumb/BreadcrumbSeparator.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "breadcrumb/BreadcrumbSeparator.vue" + "type": "registry:ui" }, { "path": "ui/breadcrumb/index.ts", - "content": "export { default as Breadcrumb } from './Breadcrumb.vue'\nexport { default as BreadcrumbEllipsis } from './BreadcrumbEllipsis.vue'\nexport { default as BreadcrumbItem } from './BreadcrumbItem.vue'\nexport { default as BreadcrumbLink } from './BreadcrumbLink.vue'\nexport { default as BreadcrumbList } from './BreadcrumbList.vue'\nexport { default as BreadcrumbPage } from './BreadcrumbPage.vue'\nexport { default as BreadcrumbSeparator } from './BreadcrumbSeparator.vue'\n", - "type": "registry:ui", - "target": "breadcrumb/index.ts" + "type": "registry:ui" } ] }, @@ -411,15 +309,11 @@ "files": [ { "path": "ui/button/Button.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "button/Button.vue" + "type": "registry:ui" }, { "path": "ui/button/index.ts", - "content": "import { cva, type VariantProps } from 'class-variance-authority'\n\nexport { default as Button } from './Button.vue'\n\nexport const buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground shadow hover:bg-primary/90',\n destructive:\n 'bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',\n outline:\n 'border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground',\n secondary:\n 'bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2',\n xs: 'h-7 rounded px-2',\n sm: 'h-8 rounded-md px-3 text-xs',\n lg: 'h-10 rounded-md px-8',\n icon: 'h-9 w-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n)\n\nexport type ButtonVariants = VariantProps\n", - "type": "registry:ui", - "target": "button/index.ts" + "type": "registry:ui" } ] }, @@ -434,81 +328,55 @@ "files": [ { "path": "ui/calendar/Calendar.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "calendar/Calendar.vue" + "type": "registry:ui" }, { "path": "ui/calendar/CalendarCell.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "calendar/CalendarCell.vue" + "type": "registry:ui" }, { "path": "ui/calendar/CalendarCellTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "calendar/CalendarCellTrigger.vue" + "type": "registry:ui" }, { "path": "ui/calendar/CalendarGrid.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "calendar/CalendarGrid.vue" + "type": "registry:ui" }, { "path": "ui/calendar/CalendarGridBody.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "calendar/CalendarGridBody.vue" + "type": "registry:ui" }, { "path": "ui/calendar/CalendarGridHead.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "calendar/CalendarGridHead.vue" + "type": "registry:ui" }, { "path": "ui/calendar/CalendarGridRow.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "calendar/CalendarGridRow.vue" + "type": "registry:ui" }, { "path": "ui/calendar/CalendarHeadCell.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "calendar/CalendarHeadCell.vue" + "type": "registry:ui" }, { "path": "ui/calendar/CalendarHeader.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "calendar/CalendarHeader.vue" + "type": "registry:ui" }, { "path": "ui/calendar/CalendarHeading.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "calendar/CalendarHeading.vue" + "type": "registry:ui" }, { "path": "ui/calendar/CalendarNextButton.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "calendar/CalendarNextButton.vue" + "type": "registry:ui" }, { "path": "ui/calendar/CalendarPrevButton.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "calendar/CalendarPrevButton.vue" + "type": "registry:ui" }, { "path": "ui/calendar/index.ts", - "content": "export { default as Calendar } from './Calendar.vue'\nexport { default as CalendarCell } from './CalendarCell.vue'\nexport { default as CalendarCellTrigger } from './CalendarCellTrigger.vue'\nexport { default as CalendarGrid } from './CalendarGrid.vue'\nexport { default as CalendarGridBody } from './CalendarGridBody.vue'\nexport { default as CalendarGridHead } from './CalendarGridHead.vue'\nexport { default as CalendarGridRow } from './CalendarGridRow.vue'\nexport { default as CalendarHeadCell } from './CalendarHeadCell.vue'\nexport { default as CalendarHeader } from './CalendarHeader.vue'\nexport { default as CalendarHeading } from './CalendarHeading.vue'\nexport { default as CalendarNextButton } from './CalendarNextButton.vue'\nexport { default as CalendarPrevButton } from './CalendarPrevButton.vue'\n", - "type": "registry:ui", - "target": "calendar/index.ts" + "type": "registry:ui" } ] }, @@ -522,45 +390,31 @@ "files": [ { "path": "ui/card/Card.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "card/Card.vue" + "type": "registry:ui" }, { "path": "ui/card/CardContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "card/CardContent.vue" + "type": "registry:ui" }, { "path": "ui/card/CardDescription.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "card/CardDescription.vue" + "type": "registry:ui" }, { "path": "ui/card/CardFooter.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "card/CardFooter.vue" + "type": "registry:ui" }, { "path": "ui/card/CardHeader.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "card/CardHeader.vue" + "type": "registry:ui" }, { "path": "ui/card/CardTitle.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "card/CardTitle.vue" + "type": "registry:ui" }, { "path": "ui/card/index.ts", - "content": "export { default as Card } from './Card.vue'\nexport { default as CardContent } from './CardContent.vue'\nexport { default as CardDescription } from './CardDescription.vue'\nexport { default as CardFooter } from './CardFooter.vue'\nexport { default as CardHeader } from './CardHeader.vue'\nexport { default as CardTitle } from './CardTitle.vue'\n", - "type": "registry:ui", - "target": "card/index.ts" + "type": "registry:ui" } ] }, @@ -578,51 +432,35 @@ "files": [ { "path": "ui/carousel/Carousel.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "carousel/Carousel.vue" + "type": "registry:ui" }, { "path": "ui/carousel/CarouselContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "carousel/CarouselContent.vue" + "type": "registry:ui" }, { "path": "ui/carousel/CarouselItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "carousel/CarouselItem.vue" + "type": "registry:ui" }, { "path": "ui/carousel/CarouselNext.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "carousel/CarouselNext.vue" + "type": "registry:ui" }, { "path": "ui/carousel/CarouselPrevious.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "carousel/CarouselPrevious.vue" + "type": "registry:ui" }, { "path": "ui/carousel/index.ts", - "content": "export { default as Carousel } from './Carousel.vue'\nexport { default as CarouselContent } from './CarouselContent.vue'\nexport { default as CarouselItem } from './CarouselItem.vue'\nexport { default as CarouselNext } from './CarouselNext.vue'\nexport { default as CarouselPrevious } from './CarouselPrevious.vue'\nexport type {\n UnwrapRefCarouselApi as CarouselApi,\n} from './interface'\n\nexport { useCarousel } from './useCarousel'\n", - "type": "registry:ui", - "target": "carousel/index.ts" + "type": "registry:ui" }, { "path": "ui/carousel/interface.ts", - "content": "import type useEmblaCarousel from 'embla-carousel-vue'\nimport type {\n EmblaCarouselVueType,\n} from 'embla-carousel-vue'\nimport type { HTMLAttributes, UnwrapRef } from 'vue'\n\ntype CarouselApi = EmblaCarouselVueType[1]\ntype UseCarouselParameters = Parameters\ntype CarouselOptions = UseCarouselParameters[0]\ntype CarouselPlugin = UseCarouselParameters[1]\n\nexport type UnwrapRefCarouselApi = UnwrapRef\n\nexport interface CarouselProps {\n opts?: CarouselOptions\n plugins?: CarouselPlugin\n orientation?: 'horizontal' | 'vertical'\n}\n\nexport interface CarouselEmits {\n (e: 'init-api', payload: UnwrapRefCarouselApi): void\n}\n\nexport interface WithClassAsProps {\n class?: HTMLAttributes['class']\n}\n", - "type": "registry:ui", - "target": "carousel/interface.ts" + "type": "registry:ui" }, { "path": "ui/carousel/useCarousel.ts", - "content": "import type { UnwrapRefCarouselApi as CarouselApi, CarouselEmits, CarouselProps } from './interface'\nimport { createInjectionState } from '@vueuse/core'\nimport emblaCarouselVue from 'embla-carousel-vue'\nimport { onMounted, ref } from 'vue'\n\nconst [useProvideCarousel, useInjectCarousel] = createInjectionState(\n ({\n opts,\n orientation,\n plugins,\n }: CarouselProps, emits: CarouselEmits) => {\n const [emblaNode, emblaApi] = emblaCarouselVue({\n ...opts,\n axis: orientation === 'horizontal' ? 'x' : 'y',\n }, plugins)\n\n function scrollPrev() {\n emblaApi.value?.scrollPrev()\n }\n function scrollNext() {\n emblaApi.value?.scrollNext()\n }\n\n const canScrollNext = ref(false)\n const canScrollPrev = ref(false)\n\n function onSelect(api: CarouselApi) {\n canScrollNext.value = api?.canScrollNext() || false\n canScrollPrev.value = api?.canScrollPrev() || false\n }\n\n onMounted(() => {\n if (!emblaApi.value)\n return\n\n emblaApi.value?.on('init', onSelect)\n emblaApi.value?.on('reInit', onSelect)\n emblaApi.value?.on('select', onSelect)\n\n emits('init-api', emblaApi.value)\n })\n\n return { carouselRef: emblaNode, carouselApi: emblaApi, canScrollPrev, canScrollNext, scrollPrev, scrollNext, orientation }\n },\n)\n\nfunction useCarousel() {\n const carouselState = useInjectCarousel()\n\n if (!carouselState)\n throw new Error('useCarousel must be used within a ')\n\n return carouselState\n}\n\nexport { useCarousel, useProvideCarousel }\n", - "type": "registry:ui", - "target": "carousel/useCarousel.ts" + "type": "registry:ui" } ] }, @@ -640,39 +478,27 @@ "files": [ { "path": "ui/chart/ChartCrosshair.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "chart/ChartCrosshair.vue" + "type": "registry:ui" }, { "path": "ui/chart/ChartLegend.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "chart/ChartLegend.vue" + "type": "registry:ui" }, { "path": "ui/chart/ChartSingleTooltip.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "chart/ChartSingleTooltip.vue" + "type": "registry:ui" }, { "path": "ui/chart/ChartTooltip.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "chart/ChartTooltip.vue" + "type": "registry:ui" }, { "path": "ui/chart/index.ts", - "content": "export { default as ChartCrosshair } from './ChartCrosshair.vue'\nexport { default as ChartLegend } from './ChartLegend.vue'\nexport { default as ChartSingleTooltip } from './ChartSingleTooltip.vue'\nexport { default as ChartTooltip } from './ChartTooltip.vue'\n\nexport function defaultColors(count: number = 3) {\n const quotient = Math.floor(count / 2)\n const remainder = count % 2\n\n const primaryCount = quotient + remainder\n const secondaryCount = quotient\n return [\n ...Array.from(new Array(primaryCount).keys()).map(i => `hsl(var(--vis-primary-color) / ${1 - (1 / primaryCount) * i})`),\n ...Array.from(new Array(secondaryCount).keys()).map(i => `hsl(var(--vis-secondary-color) / ${1 - (1 / secondaryCount) * i})`),\n ]\n}\n\nexport * from './interface'\n", - "type": "registry:ui", - "target": "chart/index.ts" + "type": "registry:ui" }, { "path": "ui/chart/interface.ts", - "content": "import type { Spacing } from '@unovis/ts'\n\ntype KeyOf> = Extract\n\nexport interface BaseChartProps> {\n /**\n * The source data, in which each entry is a dictionary.\n */\n data: T[]\n /**\n * Select the categories from your data. Used to populate the legend and toolip.\n */\n categories: KeyOf[]\n /**\n * Sets the key to map the data to the axis.\n */\n index: KeyOf\n /**\n * Change the default colors.\n */\n colors?: string[]\n /**\n * Margin of each the container\n */\n margin?: Spacing\n /**\n * Change the opacity of the non-selected field\n * @default 0.2\n */\n filterOpacity?: number\n /**\n * Function to format X label\n */\n xFormatter?: (tick: number | Date, i: number, ticks: number[] | Date[]) => string\n /**\n * Function to format Y label\n */\n yFormatter?: (tick: number | Date, i: number, ticks: number[] | Date[]) => string\n /**\n * Controls the visibility of the X axis.\n * @default true\n */\n showXAxis?: boolean\n /**\n * Controls the visibility of the Y axis.\n * @default true\n */\n showYAxis?: boolean\n /**\n * Controls the visibility of tooltip.\n * @default true\n */\n showTooltip?: boolean\n /**\n * Controls the visibility of legend.\n * @default true\n */\n showLegend?: boolean\n /**\n * Controls the visibility of gridline.\n * @default true\n */\n showGridLine?: boolean\n}\n", - "type": "registry:ui", - "target": "chart/interface.ts" + "type": "registry:ui" } ] }, @@ -685,21 +511,17 @@ "@vueuse/core" ], "registryDependencies": [ - "chart", - "utils" + "utils", + "chart" ], "files": [ { "path": "ui/chart-area/AreaChart.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "chart-area/AreaChart.vue" + "type": "registry:ui" }, { "path": "ui/chart-area/index.ts", - "content": "export { default as AreaChart } from './AreaChart.vue'\n\nimport type { Spacing } from '@unovis/ts'\n\ntype KeyOf> = Extract\n\nexport interface BaseChartProps> {\n /**\n * The source data, in which each entry is a dictionary.\n */\n data: T[]\n /**\n * Select the categories from your data. Used to populate the legend and toolip.\n */\n categories: KeyOf[]\n /**\n * Sets the key to map the data to the axis.\n */\n index: KeyOf\n /**\n * Change the default colors.\n */\n colors?: string[]\n /**\n * Margin of each the container\n */\n margin?: Spacing\n /**\n * Change the opacity of the non-selected field\n * @default 0.2\n */\n filterOpacity?: number\n /**\n * Function to format X label\n */\n xFormatter?: (tick: number | Date, i: number, ticks: number[] | Date[]) => string\n /**\n * Function to format Y label\n */\n yFormatter?: (tick: number | Date, i: number, ticks: number[] | Date[]) => string\n /**\n * Controls the visibility of the X axis.\n * @default true\n */\n showXAxis?: boolean\n /**\n * Controls the visibility of the Y axis.\n * @default true\n */\n showYAxis?: boolean\n /**\n * Controls the visibility of tooltip.\n * @default true\n */\n showTooltip?: boolean\n /**\n * Controls the visibility of legend.\n * @default true\n */\n showLegend?: boolean\n /**\n * Controls the visibility of gridline.\n * @default true\n */\n showGridLine?: boolean\n}\n", - "type": "registry:ui", - "target": "chart-area/index.ts" + "type": "registry:ui" } ] }, @@ -712,21 +534,17 @@ "@vueuse/core" ], "registryDependencies": [ - "chart", - "utils" + "utils", + "chart" ], "files": [ { "path": "ui/chart-bar/BarChart.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "chart-bar/BarChart.vue" + "type": "registry:ui" }, { "path": "ui/chart-bar/index.ts", - "content": "export { default as BarChart } from './BarChart.vue'\n\nimport type { Spacing } from '@unovis/ts'\n\ntype KeyOf> = Extract\n\nexport interface BaseChartProps> {\n /**\n * The source data, in which each entry is a dictionary.\n */\n data: T[]\n /**\n * Select the categories from your data. Used to populate the legend and toolip.\n */\n categories: KeyOf[]\n /**\n * Sets the key to map the data to the axis.\n */\n index: KeyOf\n /**\n * Change the default colors.\n */\n colors?: string[]\n /**\n * Margin of each the container\n */\n margin?: Spacing\n /**\n * Change the opacity of the non-selected field\n * @default 0.2\n */\n filterOpacity?: number\n /**\n * Function to format X label\n */\n xFormatter?: (tick: number | Date, i: number, ticks: number[] | Date[]) => string\n /**\n * Function to format Y label\n */\n yFormatter?: (tick: number | Date, i: number, ticks: number[] | Date[]) => string\n /**\n * Controls the visibility of the X axis.\n * @default true\n */\n showXAxis?: boolean\n /**\n * Controls the visibility of the Y axis.\n * @default true\n */\n showYAxis?: boolean\n /**\n * Controls the visibility of tooltip.\n * @default true\n */\n showTooltip?: boolean\n /**\n * Controls the visibility of legend.\n * @default true\n */\n showLegend?: boolean\n /**\n * Controls the visibility of gridline.\n * @default true\n */\n showGridLine?: boolean\n}\n", - "type": "registry:ui", - "target": "chart-bar/index.ts" + "type": "registry:ui" } ] }, @@ -739,21 +557,17 @@ "@vueuse/core" ], "registryDependencies": [ - "chart", - "utils" + "utils", + "chart" ], "files": [ { "path": "ui/chart-donut/DonutChart.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "chart-donut/DonutChart.vue" + "type": "registry:ui" }, { "path": "ui/chart-donut/index.ts", - "content": "export { default as DonutChart } from './DonutChart.vue'\n\nimport type { Spacing } from '@unovis/ts'\n\ntype KeyOf> = Extract\n\nexport interface BaseChartProps> {\n /**\n * The source data, in which each entry is a dictionary.\n */\n data: T[]\n /**\n * Sets the key to map the data to the axis.\n */\n index: KeyOf\n /**\n * Change the default colors.\n */\n colors?: string[]\n /**\n * Margin of each the container\n */\n margin?: Spacing\n /**\n * Change the opacity of the non-selected field\n * @default 0.2\n */\n filterOpacity?: number\n /**\n * Controls the visibility of tooltip.\n * @default true\n */\n showTooltip?: boolean\n /**\n * Controls the visibility of legend.\n * @default true\n */\n showLegend?: boolean\n}\n", - "type": "registry:ui", - "target": "chart-donut/index.ts" + "type": "registry:ui" } ] }, @@ -766,21 +580,17 @@ "@vueuse/core" ], "registryDependencies": [ - "chart", - "utils" + "utils", + "chart" ], "files": [ { "path": "ui/chart-line/LineChart.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "chart-line/LineChart.vue" + "type": "registry:ui" }, { "path": "ui/chart-line/index.ts", - "content": "export { default as LineChart } from './LineChart.vue'\n\nimport type { Spacing } from '@unovis/ts'\n\ntype KeyOf> = Extract\n\nexport interface BaseChartProps> {\n /**\n * The source data, in which each entry is a dictionary.\n */\n data: T[]\n /**\n * Select the categories from your data. Used to populate the legend and toolip.\n */\n categories: KeyOf[]\n /**\n * Sets the key to map the data to the axis.\n */\n index: KeyOf\n /**\n * Change the default colors.\n */\n colors?: string[]\n /**\n * Margin of each the container\n */\n margin?: Spacing\n /**\n * Change the opacity of the non-selected field\n * @default 0.2\n */\n filterOpacity?: number\n /**\n * Function to format X label\n */\n xFormatter?: (tick: number | Date, i: number, ticks: number[] | Date[]) => string\n /**\n * Function to format Y label\n */\n yFormatter?: (tick: number | Date, i: number, ticks: number[] | Date[]) => string\n /**\n * Controls the visibility of the X axis.\n * @default true\n */\n showXAxis?: boolean\n /**\n * Controls the visibility of the Y axis.\n * @default true\n */\n showYAxis?: boolean\n /**\n * Controls the visibility of tooltip.\n * @default true\n */\n showTooltip?: boolean\n /**\n * Controls the visibility of legend.\n * @default true\n */\n showLegend?: boolean\n /**\n * Controls the visibility of gridline.\n * @default true\n */\n showGridLine?: boolean\n}\n", - "type": "registry:ui", - "target": "chart-line/index.ts" + "type": "registry:ui" } ] }, @@ -794,15 +604,11 @@ "files": [ { "path": "ui/checkbox/Checkbox.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "checkbox/Checkbox.vue" + "type": "registry:ui" }, { "path": "ui/checkbox/index.ts", - "content": "export { default as Checkbox } from './Checkbox.vue'\n", - "type": "registry:ui", - "target": "checkbox/index.ts" + "type": "registry:ui" } ] }, @@ -814,27 +620,19 @@ "files": [ { "path": "ui/collapsible/Collapsible.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "collapsible/Collapsible.vue" + "type": "registry:ui" }, { "path": "ui/collapsible/CollapsibleContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "collapsible/CollapsibleContent.vue" + "type": "registry:ui" }, { "path": "ui/collapsible/CollapsibleTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "collapsible/CollapsibleTrigger.vue" + "type": "registry:ui" }, { "path": "ui/collapsible/index.ts", - "content": "export { default as Collapsible } from './Collapsible.vue'\nexport { default as CollapsibleContent } from './CollapsibleContent.vue'\nexport { default as CollapsibleTrigger } from './CollapsibleTrigger.vue'\n", - "type": "registry:ui", - "target": "collapsible/index.ts" + "type": "registry:ui" } ] }, @@ -849,63 +647,43 @@ "files": [ { "path": "ui/command/Command.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "command/Command.vue" + "type": "registry:ui" }, { "path": "ui/command/CommandDialog.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "command/CommandDialog.vue" + "type": "registry:ui" }, { "path": "ui/command/CommandEmpty.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "command/CommandEmpty.vue" + "type": "registry:ui" }, { "path": "ui/command/CommandGroup.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "command/CommandGroup.vue" + "type": "registry:ui" }, { "path": "ui/command/CommandInput.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "command/CommandInput.vue" + "type": "registry:ui" }, { "path": "ui/command/CommandItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "command/CommandItem.vue" + "type": "registry:ui" }, { "path": "ui/command/CommandList.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "command/CommandList.vue" + "type": "registry:ui" }, { "path": "ui/command/CommandSeparator.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "command/CommandSeparator.vue" + "type": "registry:ui" }, { "path": "ui/command/CommandShortcut.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "command/CommandShortcut.vue" + "type": "registry:ui" }, { "path": "ui/command/index.ts", - "content": "export { default as Command } from './Command.vue'\nexport { default as CommandDialog } from './CommandDialog.vue'\nexport { default as CommandEmpty } from './CommandEmpty.vue'\nexport { default as CommandGroup } from './CommandGroup.vue'\nexport { default as CommandInput } from './CommandInput.vue'\nexport { default as CommandItem } from './CommandItem.vue'\nexport { default as CommandList } from './CommandList.vue'\nexport { default as CommandSeparator } from './CommandSeparator.vue'\nexport { default as CommandShortcut } from './CommandShortcut.vue'\n", - "type": "registry:ui", - "target": "command/index.ts" + "type": "registry:ui" } ] }, @@ -919,99 +697,67 @@ "files": [ { "path": "ui/context-menu/ContextMenu.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "context-menu/ContextMenu.vue" + "type": "registry:ui" }, { "path": "ui/context-menu/ContextMenuCheckboxItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "context-menu/ContextMenuCheckboxItem.vue" + "type": "registry:ui" }, { "path": "ui/context-menu/ContextMenuContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "context-menu/ContextMenuContent.vue" + "type": "registry:ui" }, { "path": "ui/context-menu/ContextMenuGroup.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "context-menu/ContextMenuGroup.vue" + "type": "registry:ui" }, { "path": "ui/context-menu/ContextMenuItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "context-menu/ContextMenuItem.vue" + "type": "registry:ui" }, { "path": "ui/context-menu/ContextMenuLabel.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "context-menu/ContextMenuLabel.vue" + "type": "registry:ui" }, { "path": "ui/context-menu/ContextMenuPortal.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "context-menu/ContextMenuPortal.vue" + "type": "registry:ui" }, { "path": "ui/context-menu/ContextMenuRadioGroup.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "context-menu/ContextMenuRadioGroup.vue" + "type": "registry:ui" }, { "path": "ui/context-menu/ContextMenuRadioItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "context-menu/ContextMenuRadioItem.vue" + "type": "registry:ui" }, { "path": "ui/context-menu/ContextMenuSeparator.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "context-menu/ContextMenuSeparator.vue" + "type": "registry:ui" }, { "path": "ui/context-menu/ContextMenuShortcut.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "context-menu/ContextMenuShortcut.vue" + "type": "registry:ui" }, { "path": "ui/context-menu/ContextMenuSub.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "context-menu/ContextMenuSub.vue" + "type": "registry:ui" }, { "path": "ui/context-menu/ContextMenuSubContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "context-menu/ContextMenuSubContent.vue" + "type": "registry:ui" }, { "path": "ui/context-menu/ContextMenuSubTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "context-menu/ContextMenuSubTrigger.vue" + "type": "registry:ui" }, { "path": "ui/context-menu/ContextMenuTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "context-menu/ContextMenuTrigger.vue" + "type": "registry:ui" }, { "path": "ui/context-menu/index.ts", - "content": "export { default as ContextMenu } from './ContextMenu.vue'\nexport { default as ContextMenuCheckboxItem } from './ContextMenuCheckboxItem.vue'\nexport { default as ContextMenuContent } from './ContextMenuContent.vue'\nexport { default as ContextMenuGroup } from './ContextMenuGroup.vue'\nexport { default as ContextMenuItem } from './ContextMenuItem.vue'\nexport { default as ContextMenuLabel } from './ContextMenuLabel.vue'\nexport { default as ContextMenuRadioGroup } from './ContextMenuRadioGroup.vue'\nexport { default as ContextMenuRadioItem } from './ContextMenuRadioItem.vue'\nexport { default as ContextMenuSeparator } from './ContextMenuSeparator.vue'\nexport { default as ContextMenuShortcut } from './ContextMenuShortcut.vue'\nexport { default as ContextMenuSub } from './ContextMenuSub.vue'\nexport { default as ContextMenuSubContent } from './ContextMenuSubContent.vue'\nexport { default as ContextMenuSubTrigger } from './ContextMenuSubTrigger.vue'\nexport { default as ContextMenuTrigger } from './ContextMenuTrigger.vue'\n", - "type": "registry:ui", - "target": "context-menu/index.ts" + "type": "registry:ui" } ] }, @@ -1025,63 +771,43 @@ "files": [ { "path": "ui/dialog/Dialog.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dialog/Dialog.vue" + "type": "registry:ui" }, { "path": "ui/dialog/DialogClose.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dialog/DialogClose.vue" + "type": "registry:ui" }, { "path": "ui/dialog/DialogContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dialog/DialogContent.vue" + "type": "registry:ui" }, { "path": "ui/dialog/DialogDescription.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dialog/DialogDescription.vue" + "type": "registry:ui" }, { "path": "ui/dialog/DialogFooter.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dialog/DialogFooter.vue" + "type": "registry:ui" }, { "path": "ui/dialog/DialogHeader.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dialog/DialogHeader.vue" + "type": "registry:ui" }, { "path": "ui/dialog/DialogScrollContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dialog/DialogScrollContent.vue" + "type": "registry:ui" }, { "path": "ui/dialog/DialogTitle.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dialog/DialogTitle.vue" + "type": "registry:ui" }, { "path": "ui/dialog/DialogTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dialog/DialogTrigger.vue" + "type": "registry:ui" }, { "path": "ui/dialog/index.ts", - "content": "export { default as Dialog } from './Dialog.vue'\nexport { default as DialogClose } from './DialogClose.vue'\nexport { default as DialogContent } from './DialogContent.vue'\nexport { default as DialogDescription } from './DialogDescription.vue'\nexport { default as DialogFooter } from './DialogFooter.vue'\nexport { default as DialogHeader } from './DialogHeader.vue'\nexport { default as DialogScrollContent } from './DialogScrollContent.vue'\nexport { default as DialogTitle } from './DialogTitle.vue'\nexport { default as DialogTrigger } from './DialogTrigger.vue'\n", - "type": "registry:ui", - "target": "dialog/index.ts" + "type": "registry:ui" } ] }, @@ -1097,51 +823,35 @@ "files": [ { "path": "ui/drawer/Drawer.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "drawer/Drawer.vue" + "type": "registry:ui" }, { "path": "ui/drawer/DrawerContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "drawer/DrawerContent.vue" + "type": "registry:ui" }, { "path": "ui/drawer/DrawerDescription.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "drawer/DrawerDescription.vue" + "type": "registry:ui" }, { "path": "ui/drawer/DrawerFooter.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "drawer/DrawerFooter.vue" + "type": "registry:ui" }, { "path": "ui/drawer/DrawerHeader.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "drawer/DrawerHeader.vue" + "type": "registry:ui" }, { "path": "ui/drawer/DrawerOverlay.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "drawer/DrawerOverlay.vue" + "type": "registry:ui" }, { "path": "ui/drawer/DrawerTitle.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "drawer/DrawerTitle.vue" + "type": "registry:ui" }, { "path": "ui/drawer/index.ts", - "content": "export { default as Drawer } from './Drawer.vue'\nexport { default as DrawerContent } from './DrawerContent.vue'\nexport { default as DrawerDescription } from './DrawerDescription.vue'\nexport { default as DrawerFooter } from './DrawerFooter.vue'\nexport { default as DrawerHeader } from './DrawerHeader.vue'\nexport { default as DrawerOverlay } from './DrawerOverlay.vue'\nexport { default as DrawerTitle } from './DrawerTitle.vue'\nexport { DrawerClose, DrawerPortal, DrawerTrigger } from 'vaul-vue'\n", - "type": "registry:ui", - "target": "drawer/index.ts" + "type": "registry:ui" } ] }, @@ -1155,93 +865,63 @@ "files": [ { "path": "ui/dropdown-menu/DropdownMenu.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dropdown-menu/DropdownMenu.vue" + "type": "registry:ui" }, { "path": "ui/dropdown-menu/DropdownMenuCheckboxItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dropdown-menu/DropdownMenuCheckboxItem.vue" + "type": "registry:ui" }, { "path": "ui/dropdown-menu/DropdownMenuContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dropdown-menu/DropdownMenuContent.vue" + "type": "registry:ui" }, { "path": "ui/dropdown-menu/DropdownMenuGroup.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dropdown-menu/DropdownMenuGroup.vue" + "type": "registry:ui" }, { "path": "ui/dropdown-menu/DropdownMenuItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dropdown-menu/DropdownMenuItem.vue" + "type": "registry:ui" }, { "path": "ui/dropdown-menu/DropdownMenuLabel.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dropdown-menu/DropdownMenuLabel.vue" + "type": "registry:ui" }, { "path": "ui/dropdown-menu/DropdownMenuRadioGroup.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dropdown-menu/DropdownMenuRadioGroup.vue" + "type": "registry:ui" }, { "path": "ui/dropdown-menu/DropdownMenuRadioItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dropdown-menu/DropdownMenuRadioItem.vue" + "type": "registry:ui" }, { "path": "ui/dropdown-menu/DropdownMenuSeparator.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dropdown-menu/DropdownMenuSeparator.vue" + "type": "registry:ui" }, { "path": "ui/dropdown-menu/DropdownMenuShortcut.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dropdown-menu/DropdownMenuShortcut.vue" + "type": "registry:ui" }, { "path": "ui/dropdown-menu/DropdownMenuSub.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dropdown-menu/DropdownMenuSub.vue" + "type": "registry:ui" }, { "path": "ui/dropdown-menu/DropdownMenuSubContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dropdown-menu/DropdownMenuSubContent.vue" + "type": "registry:ui" }, { "path": "ui/dropdown-menu/DropdownMenuSubTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dropdown-menu/DropdownMenuSubTrigger.vue" + "type": "registry:ui" }, { "path": "ui/dropdown-menu/DropdownMenuTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "dropdown-menu/DropdownMenuTrigger.vue" + "type": "registry:ui" }, { "path": "ui/dropdown-menu/index.ts", - "content": "export { default as DropdownMenu } from './DropdownMenu.vue'\n\nexport { default as DropdownMenuCheckboxItem } from './DropdownMenuCheckboxItem.vue'\nexport { default as DropdownMenuContent } from './DropdownMenuContent.vue'\nexport { default as DropdownMenuGroup } from './DropdownMenuGroup.vue'\nexport { default as DropdownMenuItem } from './DropdownMenuItem.vue'\nexport { default as DropdownMenuLabel } from './DropdownMenuLabel.vue'\nexport { default as DropdownMenuRadioGroup } from './DropdownMenuRadioGroup.vue'\nexport { default as DropdownMenuRadioItem } from './DropdownMenuRadioItem.vue'\nexport { default as DropdownMenuSeparator } from './DropdownMenuSeparator.vue'\nexport { default as DropdownMenuShortcut } from './DropdownMenuShortcut.vue'\nexport { default as DropdownMenuSub } from './DropdownMenuSub.vue'\nexport { default as DropdownMenuSubContent } from './DropdownMenuSubContent.vue'\nexport { default as DropdownMenuSubTrigger } from './DropdownMenuSubTrigger.vue'\nexport { default as DropdownMenuTrigger } from './DropdownMenuTrigger.vue'\nexport { DropdownMenuPortal } from 'reka-ui'\n", - "type": "registry:ui", - "target": "dropdown-menu/index.ts" + "type": "registry:ui" } ] }, @@ -1260,51 +940,35 @@ "files": [ { "path": "ui/form/FormControl.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "form/FormControl.vue" + "type": "registry:ui" }, { "path": "ui/form/FormDescription.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "form/FormDescription.vue" + "type": "registry:ui" }, { "path": "ui/form/FormItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "form/FormItem.vue" + "type": "registry:ui" }, { "path": "ui/form/FormLabel.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "form/FormLabel.vue" + "type": "registry:ui" }, { "path": "ui/form/FormMessage.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "form/FormMessage.vue" + "type": "registry:ui" }, { "path": "ui/form/index.ts", - "content": "export { default as FormControl } from './FormControl.vue'\nexport { default as FormDescription } from './FormDescription.vue'\nexport { default as FormItem } from './FormItem.vue'\nexport { default as FormLabel } from './FormLabel.vue'\nexport { default as FormMessage } from './FormMessage.vue'\nexport { FORM_ITEM_INJECTION_KEY } from './injectionKeys'\nexport { Field as FormField, FieldArray as FormFieldArray, Form } from 'vee-validate'\n", - "type": "registry:ui", - "target": "form/index.ts" + "type": "registry:ui" }, { "path": "ui/form/injectionKeys.ts", - "content": "import type { InjectionKey } from 'vue'\n\nexport const FORM_ITEM_INJECTION_KEY\n = Symbol() as InjectionKey\n", - "type": "registry:ui", - "target": "form/injectionKeys.ts" + "type": "registry:ui" }, { "path": "ui/form/useFormField.ts", - "content": "import { FieldContextKey, useFieldError, useIsFieldDirty, useIsFieldTouched, useIsFieldValid } from 'vee-validate'\nimport { inject } from 'vue'\nimport { FORM_ITEM_INJECTION_KEY } from './injectionKeys'\n\nexport function useFormField() {\n const fieldContext = inject(FieldContextKey)\n const fieldItemContext = inject(FORM_ITEM_INJECTION_KEY)\n\n if (!fieldContext)\n throw new Error('useFormField should be used within ')\n\n const { name } = fieldContext\n const id = fieldItemContext\n\n const fieldState = {\n valid: useIsFieldValid(name),\n isDirty: useIsFieldDirty(name),\n isTouched: useIsFieldTouched(name),\n error: useFieldError(name),\n }\n\n return {\n id,\n name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n", - "type": "registry:ui", - "target": "form/useFormField.ts" + "type": "registry:ui" } ] }, @@ -1318,27 +982,19 @@ "files": [ { "path": "ui/hover-card/HoverCard.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "hover-card/HoverCard.vue" + "type": "registry:ui" }, { "path": "ui/hover-card/HoverCardContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "hover-card/HoverCardContent.vue" + "type": "registry:ui" }, { "path": "ui/hover-card/HoverCardTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "hover-card/HoverCardTrigger.vue" + "type": "registry:ui" }, { "path": "ui/hover-card/index.ts", - "content": "export { default as HoverCard } from './HoverCard.vue'\nexport { default as HoverCardContent } from './HoverCardContent.vue'\nexport { default as HoverCardTrigger } from './HoverCardTrigger.vue'\n", - "type": "registry:ui", - "target": "hover-card/index.ts" + "type": "registry:ui" } ] }, @@ -1354,15 +1010,11 @@ "files": [ { "path": "ui/input/Input.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "input/Input.vue" + "type": "registry:ui" }, { "path": "ui/input/index.ts", - "content": "export { default as Input } from './Input.vue'\n", - "type": "registry:ui", - "target": "input/index.ts" + "type": "registry:ui" } ] }, @@ -1376,15 +1028,11 @@ "files": [ { "path": "ui/label/Label.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "label/Label.vue" + "type": "registry:ui" }, { "path": "ui/label/index.ts", - "content": "export { default as Label } from './Label.vue'\n", - "type": "registry:ui", - "target": "label/index.ts" + "type": "registry:ui" } ] }, @@ -1398,99 +1046,67 @@ "files": [ { "path": "ui/menubar/Menubar.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "menubar/Menubar.vue" + "type": "registry:ui" }, { "path": "ui/menubar/MenubarCheckboxItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "menubar/MenubarCheckboxItem.vue" + "type": "registry:ui" }, { "path": "ui/menubar/MenubarContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "menubar/MenubarContent.vue" + "type": "registry:ui" }, { "path": "ui/menubar/MenubarGroup.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "menubar/MenubarGroup.vue" + "type": "registry:ui" }, { "path": "ui/menubar/MenubarItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "menubar/MenubarItem.vue" + "type": "registry:ui" }, { "path": "ui/menubar/MenubarLabel.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "menubar/MenubarLabel.vue" + "type": "registry:ui" }, { "path": "ui/menubar/MenubarMenu.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "menubar/MenubarMenu.vue" + "type": "registry:ui" }, { "path": "ui/menubar/MenubarRadioGroup.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "menubar/MenubarRadioGroup.vue" + "type": "registry:ui" }, { "path": "ui/menubar/MenubarRadioItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "menubar/MenubarRadioItem.vue" + "type": "registry:ui" }, { "path": "ui/menubar/MenubarSeparator.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "menubar/MenubarSeparator.vue" + "type": "registry:ui" }, { "path": "ui/menubar/MenubarShortcut.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "menubar/MenubarShortcut.vue" + "type": "registry:ui" }, { "path": "ui/menubar/MenubarSub.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "menubar/MenubarSub.vue" + "type": "registry:ui" }, { "path": "ui/menubar/MenubarSubContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "menubar/MenubarSubContent.vue" + "type": "registry:ui" }, { "path": "ui/menubar/MenubarSubTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "menubar/MenubarSubTrigger.vue" + "type": "registry:ui" }, { "path": "ui/menubar/MenubarTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "menubar/MenubarTrigger.vue" + "type": "registry:ui" }, { "path": "ui/menubar/index.ts", - "content": "export { default as Menubar } from './Menubar.vue'\nexport { default as MenubarCheckboxItem } from './MenubarCheckboxItem.vue'\nexport { default as MenubarContent } from './MenubarContent.vue'\nexport { default as MenubarGroup } from './MenubarGroup.vue'\nexport { default as MenubarItem } from './MenubarItem.vue'\nexport { default as MenubarLabel } from './MenubarLabel.vue'\nexport { default as MenubarMenu } from './MenubarMenu.vue'\nexport { default as MenubarRadioGroup } from './MenubarRadioGroup.vue'\nexport { default as MenubarRadioItem } from './MenubarRadioItem.vue'\nexport { default as MenubarSeparator } from './MenubarSeparator.vue'\nexport { default as MenubarShortcut } from './MenubarShortcut.vue'\nexport { default as MenubarSub } from './MenubarSub.vue'\nexport { default as MenubarSubContent } from './MenubarSubContent.vue'\nexport { default as MenubarSubTrigger } from './MenubarSubTrigger.vue'\nexport { default as MenubarTrigger } from './MenubarTrigger.vue'\n", - "type": "registry:ui", - "target": "menubar/index.ts" + "type": "registry:ui" } ] }, @@ -1504,57 +1120,39 @@ "files": [ { "path": "ui/navigation-menu/NavigationMenu.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "navigation-menu/NavigationMenu.vue" + "type": "registry:ui" }, { "path": "ui/navigation-menu/NavigationMenuContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "navigation-menu/NavigationMenuContent.vue" + "type": "registry:ui" }, { "path": "ui/navigation-menu/NavigationMenuIndicator.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "navigation-menu/NavigationMenuIndicator.vue" + "type": "registry:ui" }, { "path": "ui/navigation-menu/NavigationMenuItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "navigation-menu/NavigationMenuItem.vue" + "type": "registry:ui" }, { "path": "ui/navigation-menu/NavigationMenuLink.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "navigation-menu/NavigationMenuLink.vue" + "type": "registry:ui" }, { "path": "ui/navigation-menu/NavigationMenuList.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "navigation-menu/NavigationMenuList.vue" + "type": "registry:ui" }, { "path": "ui/navigation-menu/NavigationMenuTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "navigation-menu/NavigationMenuTrigger.vue" + "type": "registry:ui" }, { "path": "ui/navigation-menu/NavigationMenuViewport.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "navigation-menu/NavigationMenuViewport.vue" + "type": "registry:ui" }, { "path": "ui/navigation-menu/index.ts", - "content": "import { cva } from 'class-variance-authority'\n\nexport { default as NavigationMenu } from './NavigationMenu.vue'\nexport { default as NavigationMenuContent } from './NavigationMenuContent.vue'\nexport { default as NavigationMenuItem } from './NavigationMenuItem.vue'\nexport { default as NavigationMenuLink } from './NavigationMenuLink.vue'\nexport { default as NavigationMenuList } from './NavigationMenuList.vue'\nexport { default as NavigationMenuTrigger } from './NavigationMenuTrigger.vue'\nexport { default as NavigationMenuViewport } from './NavigationMenuViewport.vue'\n\nexport const navigationMenuTriggerStyle = cva(\n 'group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50',\n)\n", - "type": "registry:ui", - "target": "navigation-menu/index.ts" + "type": "registry:ui" } ] }, @@ -1568,39 +1166,27 @@ "files": [ { "path": "ui/number-field/NumberField.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "number-field/NumberField.vue" + "type": "registry:ui" }, { "path": "ui/number-field/NumberFieldContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "number-field/NumberFieldContent.vue" + "type": "registry:ui" }, { "path": "ui/number-field/NumberFieldDecrement.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "number-field/NumberFieldDecrement.vue" + "type": "registry:ui" }, { "path": "ui/number-field/NumberFieldIncrement.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "number-field/NumberFieldIncrement.vue" + "type": "registry:ui" }, { "path": "ui/number-field/NumberFieldInput.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "number-field/NumberFieldInput.vue" + "type": "registry:ui" }, { "path": "ui/number-field/index.ts", - "content": "export { default as NumberField } from './NumberField.vue'\nexport { default as NumberFieldContent } from './NumberFieldContent.vue'\nexport { default as NumberFieldDecrement } from './NumberFieldDecrement.vue'\nexport { default as NumberFieldIncrement } from './NumberFieldIncrement.vue'\nexport { default as NumberFieldInput } from './NumberFieldInput.vue'\n", - "type": "registry:ui", - "target": "number-field/index.ts" + "type": "registry:ui" } ] }, @@ -1615,39 +1201,27 @@ "files": [ { "path": "ui/pagination/PaginationEllipsis.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "pagination/PaginationEllipsis.vue" + "type": "registry:ui" }, { "path": "ui/pagination/PaginationFirst.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "pagination/PaginationFirst.vue" + "type": "registry:ui" }, { "path": "ui/pagination/PaginationLast.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "pagination/PaginationLast.vue" + "type": "registry:ui" }, { "path": "ui/pagination/PaginationNext.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "pagination/PaginationNext.vue" + "type": "registry:ui" }, { "path": "ui/pagination/PaginationPrev.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "pagination/PaginationPrev.vue" + "type": "registry:ui" }, { "path": "ui/pagination/index.ts", - "content": "export { default as PaginationEllipsis } from './PaginationEllipsis.vue'\nexport { default as PaginationFirst } from './PaginationFirst.vue'\nexport { default as PaginationLast } from './PaginationLast.vue'\nexport { default as PaginationNext } from './PaginationNext.vue'\nexport { default as PaginationPrev } from './PaginationPrev.vue'\nexport {\n PaginationList,\n PaginationListItem,\n PaginationRoot as Pagination,\n} from 'reka-ui'\n", - "type": "registry:ui", - "target": "pagination/index.ts" + "type": "registry:ui" } ] }, @@ -1661,33 +1235,23 @@ "files": [ { "path": "ui/pin-input/PinInput.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "pin-input/PinInput.vue" + "type": "registry:ui" }, { "path": "ui/pin-input/PinInputGroup.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "pin-input/PinInputGroup.vue" + "type": "registry:ui" }, { "path": "ui/pin-input/PinInputInput.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "pin-input/PinInputInput.vue" + "type": "registry:ui" }, { "path": "ui/pin-input/PinInputSeparator.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "pin-input/PinInputSeparator.vue" + "type": "registry:ui" }, { "path": "ui/pin-input/index.ts", - "content": "export { default as PinInput } from './PinInput.vue'\nexport { default as PinInputGroup } from './PinInputGroup.vue'\nexport { default as PinInputInput } from './PinInputInput.vue'\nexport { default as PinInputSeparator } from './PinInputSeparator.vue'\n", - "type": "registry:ui", - "target": "pin-input/index.ts" + "type": "registry:ui" } ] }, @@ -1701,27 +1265,19 @@ "files": [ { "path": "ui/popover/Popover.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "popover/Popover.vue" + "type": "registry:ui" }, { "path": "ui/popover/PopoverContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "popover/PopoverContent.vue" + "type": "registry:ui" }, { "path": "ui/popover/PopoverTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "popover/PopoverTrigger.vue" + "type": "registry:ui" }, { "path": "ui/popover/index.ts", - "content": "export { default as Popover } from './Popover.vue'\nexport { default as PopoverContent } from './PopoverContent.vue'\nexport { default as PopoverTrigger } from './PopoverTrigger.vue'\nexport { PopoverAnchor } from 'reka-ui'\n", - "type": "registry:ui", - "target": "popover/index.ts" + "type": "registry:ui" } ] }, @@ -1735,15 +1291,11 @@ "files": [ { "path": "ui/progress/Progress.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "progress/Progress.vue" + "type": "registry:ui" }, { "path": "ui/progress/index.ts", - "content": "export { default as Progress } from './Progress.vue'\n", - "type": "registry:ui", - "target": "progress/index.ts" + "type": "registry:ui" } ] }, @@ -1757,21 +1309,15 @@ "files": [ { "path": "ui/radio-group/RadioGroup.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "radio-group/RadioGroup.vue" + "type": "registry:ui" }, { "path": "ui/radio-group/RadioGroupItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "radio-group/RadioGroupItem.vue" + "type": "registry:ui" }, { "path": "ui/radio-group/index.ts", - "content": "export { default as RadioGroup } from './RadioGroup.vue'\nexport { default as RadioGroupItem } from './RadioGroupItem.vue'\n", - "type": "registry:ui", - "target": "radio-group/index.ts" + "type": "registry:ui" } ] }, @@ -1786,81 +1332,55 @@ "files": [ { "path": "ui/range-calendar/RangeCalendar.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "range-calendar/RangeCalendar.vue" + "type": "registry:ui" }, { "path": "ui/range-calendar/RangeCalendarCell.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "range-calendar/RangeCalendarCell.vue" + "type": "registry:ui" }, { "path": "ui/range-calendar/RangeCalendarCellTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "range-calendar/RangeCalendarCellTrigger.vue" + "type": "registry:ui" }, { "path": "ui/range-calendar/RangeCalendarGrid.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "range-calendar/RangeCalendarGrid.vue" + "type": "registry:ui" }, { "path": "ui/range-calendar/RangeCalendarGridBody.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "range-calendar/RangeCalendarGridBody.vue" + "type": "registry:ui" }, { "path": "ui/range-calendar/RangeCalendarGridHead.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "range-calendar/RangeCalendarGridHead.vue" + "type": "registry:ui" }, { "path": "ui/range-calendar/RangeCalendarGridRow.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "range-calendar/RangeCalendarGridRow.vue" + "type": "registry:ui" }, { "path": "ui/range-calendar/RangeCalendarHeadCell.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "range-calendar/RangeCalendarHeadCell.vue" + "type": "registry:ui" }, { "path": "ui/range-calendar/RangeCalendarHeader.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "range-calendar/RangeCalendarHeader.vue" + "type": "registry:ui" }, { "path": "ui/range-calendar/RangeCalendarHeading.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "range-calendar/RangeCalendarHeading.vue" + "type": "registry:ui" }, { "path": "ui/range-calendar/RangeCalendarNextButton.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "range-calendar/RangeCalendarNextButton.vue" + "type": "registry:ui" }, { "path": "ui/range-calendar/RangeCalendarPrevButton.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "range-calendar/RangeCalendarPrevButton.vue" + "type": "registry:ui" }, { "path": "ui/range-calendar/index.ts", - "content": "export { default as RangeCalendar } from './RangeCalendar.vue'\nexport { default as RangeCalendarCell } from './RangeCalendarCell.vue'\nexport { default as RangeCalendarCellTrigger } from './RangeCalendarCellTrigger.vue'\nexport { default as RangeCalendarGrid } from './RangeCalendarGrid.vue'\nexport { default as RangeCalendarGridBody } from './RangeCalendarGridBody.vue'\nexport { default as RangeCalendarGridHead } from './RangeCalendarGridHead.vue'\nexport { default as RangeCalendarGridRow } from './RangeCalendarGridRow.vue'\nexport { default as RangeCalendarHeadCell } from './RangeCalendarHeadCell.vue'\nexport { default as RangeCalendarHeader } from './RangeCalendarHeader.vue'\nexport { default as RangeCalendarHeading } from './RangeCalendarHeading.vue'\nexport { default as RangeCalendarNextButton } from './RangeCalendarNextButton.vue'\nexport { default as RangeCalendarPrevButton } from './RangeCalendarPrevButton.vue'\n", - "type": "registry:ui", - "target": "range-calendar/index.ts" + "type": "registry:ui" } ] }, @@ -1874,21 +1394,15 @@ "files": [ { "path": "ui/resizable/ResizableHandle.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "resizable/ResizableHandle.vue" + "type": "registry:ui" }, { "path": "ui/resizable/ResizablePanelGroup.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "resizable/ResizablePanelGroup.vue" + "type": "registry:ui" }, { "path": "ui/resizable/index.ts", - "content": "export { default as ResizableHandle } from './ResizableHandle.vue'\nexport { default as ResizablePanelGroup } from './ResizablePanelGroup.vue'\nexport { SplitterPanel as ResizablePanel } from 'reka-ui'\n", - "type": "registry:ui", - "target": "resizable/index.ts" + "type": "registry:ui" } ] }, @@ -1902,21 +1416,15 @@ "files": [ { "path": "ui/scroll-area/ScrollArea.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "scroll-area/ScrollArea.vue" + "type": "registry:ui" }, { "path": "ui/scroll-area/ScrollBar.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "scroll-area/ScrollBar.vue" + "type": "registry:ui" }, { "path": "ui/scroll-area/index.ts", - "content": "export { default as ScrollArea } from './ScrollArea.vue'\nexport { default as ScrollBar } from './ScrollBar.vue'\n", - "type": "registry:ui", - "target": "scroll-area/index.ts" + "type": "registry:ui" } ] }, @@ -1930,75 +1438,51 @@ "files": [ { "path": "ui/select/Select.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "select/Select.vue" + "type": "registry:ui" }, { "path": "ui/select/SelectContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "select/SelectContent.vue" + "type": "registry:ui" }, { "path": "ui/select/SelectGroup.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "select/SelectGroup.vue" + "type": "registry:ui" }, { "path": "ui/select/SelectItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "select/SelectItem.vue" + "type": "registry:ui" }, { "path": "ui/select/SelectItemText.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "select/SelectItemText.vue" + "type": "registry:ui" }, { "path": "ui/select/SelectLabel.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "select/SelectLabel.vue" + "type": "registry:ui" }, { "path": "ui/select/SelectScrollDownButton.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "select/SelectScrollDownButton.vue" + "type": "registry:ui" }, { "path": "ui/select/SelectScrollUpButton.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "select/SelectScrollUpButton.vue" + "type": "registry:ui" }, { "path": "ui/select/SelectSeparator.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "select/SelectSeparator.vue" + "type": "registry:ui" }, { "path": "ui/select/SelectTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "select/SelectTrigger.vue" + "type": "registry:ui" }, { "path": "ui/select/SelectValue.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "select/SelectValue.vue" + "type": "registry:ui" }, { "path": "ui/select/index.ts", - "content": "export { default as Select } from './Select.vue'\nexport { default as SelectContent } from './SelectContent.vue'\nexport { default as SelectGroup } from './SelectGroup.vue'\nexport { default as SelectItem } from './SelectItem.vue'\nexport { default as SelectItemText } from './SelectItemText.vue'\nexport { default as SelectLabel } from './SelectLabel.vue'\nexport { default as SelectScrollDownButton } from './SelectScrollDownButton.vue'\nexport { default as SelectScrollUpButton } from './SelectScrollUpButton.vue'\nexport { default as SelectSeparator } from './SelectSeparator.vue'\nexport { default as SelectTrigger } from './SelectTrigger.vue'\nexport { default as SelectValue } from './SelectValue.vue'\n", - "type": "registry:ui", - "target": "select/index.ts" + "type": "registry:ui" } ] }, @@ -2012,15 +1496,11 @@ "files": [ { "path": "ui/separator/Separator.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "separator/Separator.vue" + "type": "registry:ui" }, { "path": "ui/separator/index.ts", - "content": "export { default as Separator } from './Separator.vue'\n", - "type": "registry:ui", - "target": "separator/index.ts" + "type": "registry:ui" } ] }, @@ -2034,57 +1514,39 @@ "files": [ { "path": "ui/sheet/Sheet.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sheet/Sheet.vue" + "type": "registry:ui" }, { "path": "ui/sheet/SheetClose.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sheet/SheetClose.vue" + "type": "registry:ui" }, { "path": "ui/sheet/SheetContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sheet/SheetContent.vue" + "type": "registry:ui" }, { "path": "ui/sheet/SheetDescription.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sheet/SheetDescription.vue" + "type": "registry:ui" }, { "path": "ui/sheet/SheetFooter.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sheet/SheetFooter.vue" + "type": "registry:ui" }, { "path": "ui/sheet/SheetHeader.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sheet/SheetHeader.vue" + "type": "registry:ui" }, { "path": "ui/sheet/SheetTitle.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sheet/SheetTitle.vue" + "type": "registry:ui" }, { "path": "ui/sheet/SheetTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sheet/SheetTrigger.vue" + "type": "registry:ui" }, { "path": "ui/sheet/index.ts", - "content": "import { cva, type VariantProps } from 'class-variance-authority'\n\nexport { default as Sheet } from './Sheet.vue'\nexport { default as SheetClose } from './SheetClose.vue'\nexport { default as SheetContent } from './SheetContent.vue'\nexport { default as SheetDescription } from './SheetDescription.vue'\nexport { default as SheetFooter } from './SheetFooter.vue'\nexport { default as SheetHeader } from './SheetHeader.vue'\nexport { default as SheetTitle } from './SheetTitle.vue'\nexport { default as SheetTrigger } from './SheetTrigger.vue'\n\nexport const sheetVariants = cva(\n 'fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n {\n variants: {\n side: {\n top: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n bottom:\n 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n left: 'inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\n right:\n 'inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n },\n)\n\nexport type SheetVariants = VariantProps\n", - "type": "registry:ui", - "target": "sheet/index.ts" + "type": "registry:ui" } ] }, @@ -2095,9 +1557,9 @@ "@vueuse/core" ], "registryDependencies": [ + "utils", "Sheet.vue", "SheetContent.vue", - "utils", "Input.vue", "Tooltip.vue", "TooltipContent.vue", @@ -2109,159 +1571,107 @@ "files": [ { "path": "ui/sidebar/Sidebar.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/Sidebar.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarContent.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarFooter.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarFooter.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarGroup.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarGroup.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarGroupAction.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarGroupAction.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarGroupContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarGroupContent.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarGroupLabel.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarGroupLabel.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarHeader.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarHeader.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarInput.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarInput.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarInset.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarInset.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarMenu.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarMenu.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarMenuAction.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarMenuAction.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarMenuBadge.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarMenuBadge.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarMenuButton.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarMenuButton.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarMenuButtonChild.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarMenuButtonChild.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarMenuItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarMenuItem.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarMenuSkeleton.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarMenuSkeleton.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarMenuSub.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarMenuSub.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarMenuSubButton.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarMenuSubButton.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarMenuSubItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarMenuSubItem.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarProvider.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarProvider.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarRail.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarRail.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarSeparator.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarSeparator.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/SidebarTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sidebar/SidebarTrigger.vue" + "type": "registry:ui" }, { "path": "ui/sidebar/index.ts", - "content": "import { cva, type VariantProps } from 'class-variance-authority'\n\nexport { default as Sidebar } from './Sidebar.vue'\nexport { default as SidebarContent } from './SidebarContent.vue'\nexport { default as SidebarFooter } from './SidebarFooter.vue'\nexport { default as SidebarGroup } from './SidebarGroup.vue'\nexport { default as SidebarGroupAction } from './SidebarGroupAction.vue'\nexport { default as SidebarGroupContent } from './SidebarGroupContent.vue'\nexport { default as SidebarGroupLabel } from './SidebarGroupLabel.vue'\nexport { default as SidebarHeader } from './SidebarHeader.vue'\nexport { default as SidebarInput } from './SidebarInput.vue'\nexport { default as SidebarInset } from './SidebarInset.vue'\nexport { default as SidebarMenu } from './SidebarMenu.vue'\nexport { default as SidebarMenuAction } from './SidebarMenuAction.vue'\nexport { default as SidebarMenuBadge } from './SidebarMenuBadge.vue'\nexport { default as SidebarMenuButton } from './SidebarMenuButton.vue'\nexport { default as SidebarMenuItem } from './SidebarMenuItem.vue'\nexport { default as SidebarMenuSkeleton } from './SidebarMenuSkeleton.vue'\nexport { default as SidebarMenuSub } from './SidebarMenuSub.vue'\nexport { default as SidebarMenuSubButton } from './SidebarMenuSubButton.vue'\nexport { default as SidebarMenuSubItem } from './SidebarMenuSubItem.vue'\nexport { default as SidebarProvider } from './SidebarProvider.vue'\nexport { default as SidebarRail } from './SidebarRail.vue'\nexport { default as SidebarSeparator } from './SidebarSeparator.vue'\nexport { default as SidebarTrigger } from './SidebarTrigger.vue'\n\nexport { useSidebar } from './utils'\n\nexport const sidebarMenuButtonVariants = cva(\n 'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n)\n\nexport type SidebarMenuButtonVariants = VariantProps\n", - "type": "registry:ui", - "target": "sidebar/index.ts" + "type": "registry:ui" }, { "path": "ui/sidebar/utils.ts", - "content": "import type { ComputedRef, Ref } from 'vue'\nimport { createContext } from 'reka-ui'\n\nexport const SIDEBAR_COOKIE_NAME = 'sidebar:state'\nexport const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nexport const SIDEBAR_WIDTH = '16rem'\nexport const SIDEBAR_WIDTH_MOBILE = '18rem'\nexport const SIDEBAR_WIDTH_ICON = '3rem'\nexport const SIDEBAR_KEYBOARD_SHORTCUT = 'b'\n\nexport const [useSidebar, provideSidebarContext] = createContext<{\n state: ComputedRef<'expanded' | 'collapsed'>\n open: Ref\n setOpen: (value: boolean) => void\n isMobile: Ref\n openMobile: Ref\n setOpenMobile: (value: boolean) => void\n toggleSidebar: () => void\n}>('Sidebar')\n", - "type": "registry:ui", - "target": "sidebar/utils.ts" + "type": "registry:ui" } ] }, @@ -2275,15 +1685,11 @@ "files": [ { "path": "ui/skeleton/Skeleton.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "skeleton/Skeleton.vue" + "type": "registry:ui" }, { "path": "ui/skeleton/index.ts", - "content": "export { default as Skeleton } from './Skeleton.vue'\n", - "type": "registry:ui", - "target": "skeleton/index.ts" + "type": "registry:ui" } ] }, @@ -2297,15 +1703,11 @@ "files": [ { "path": "ui/slider/Slider.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "slider/Slider.vue" + "type": "registry:ui" }, { "path": "ui/slider/index.ts", - "content": "export { default as Slider } from './Slider.vue'\n", - "type": "registry:ui", - "target": "slider/index.ts" + "type": "registry:ui" } ] }, @@ -2319,15 +1721,11 @@ "files": [ { "path": "ui/sonner/Sonner.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "sonner/Sonner.vue" + "type": "registry:ui" }, { "path": "ui/sonner/index.ts", - "content": "export { default as Toaster } from './Sonner.vue'\n", - "type": "registry:ui", - "target": "sonner/index.ts" + "type": "registry:ui" } ] }, @@ -2341,51 +1739,35 @@ "files": [ { "path": "ui/stepper/Stepper.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "stepper/Stepper.vue" + "type": "registry:ui" }, { "path": "ui/stepper/StepperDescription.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "stepper/StepperDescription.vue" + "type": "registry:ui" }, { "path": "ui/stepper/StepperIndicator.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "stepper/StepperIndicator.vue" + "type": "registry:ui" }, { "path": "ui/stepper/StepperItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "stepper/StepperItem.vue" + "type": "registry:ui" }, { "path": "ui/stepper/StepperSeparator.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "stepper/StepperSeparator.vue" + "type": "registry:ui" }, { "path": "ui/stepper/StepperTitle.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "stepper/StepperTitle.vue" + "type": "registry:ui" }, { "path": "ui/stepper/StepperTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "stepper/StepperTrigger.vue" + "type": "registry:ui" }, { "path": "ui/stepper/index.ts", - "content": "export { default as Stepper } from './Stepper.vue'\nexport { default as StepperDescription } from './StepperDescription.vue'\nexport { default as StepperIndicator } from './StepperIndicator.vue'\nexport { default as StepperItem } from './StepperItem.vue'\nexport { default as StepperSeparator } from './StepperSeparator.vue'\nexport { default as StepperTitle } from './StepperTitle.vue'\nexport { default as StepperTrigger } from './StepperTrigger.vue'\n", - "type": "registry:ui", - "target": "stepper/index.ts" + "type": "registry:ui" } ] }, @@ -2399,15 +1781,11 @@ "files": [ { "path": "ui/switch/Switch.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "switch/Switch.vue" + "type": "registry:ui" }, { "path": "ui/switch/index.ts", - "content": "export { default as Switch } from './Switch.vue'\n", - "type": "registry:ui", - "target": "switch/index.ts" + "type": "registry:ui" } ] }, @@ -2421,63 +1799,43 @@ "files": [ { "path": "ui/table/Table.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "table/Table.vue" + "type": "registry:ui" }, { "path": "ui/table/TableBody.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "table/TableBody.vue" + "type": "registry:ui" }, { "path": "ui/table/TableCaption.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "table/TableCaption.vue" + "type": "registry:ui" }, { "path": "ui/table/TableCell.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "table/TableCell.vue" + "type": "registry:ui" }, { "path": "ui/table/TableEmpty.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "table/TableEmpty.vue" + "type": "registry:ui" }, { "path": "ui/table/TableFooter.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "table/TableFooter.vue" + "type": "registry:ui" }, { "path": "ui/table/TableHead.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "table/TableHead.vue" + "type": "registry:ui" }, { "path": "ui/table/TableHeader.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "table/TableHeader.vue" + "type": "registry:ui" }, { "path": "ui/table/TableRow.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "table/TableRow.vue" + "type": "registry:ui" }, { "path": "ui/table/index.ts", - "content": "export { default as Table } from './Table.vue'\nexport { default as TableBody } from './TableBody.vue'\nexport { default as TableCaption } from './TableCaption.vue'\nexport { default as TableCell } from './TableCell.vue'\nexport { default as TableEmpty } from './TableEmpty.vue'\nexport { default as TableFooter } from './TableFooter.vue'\nexport { default as TableHead } from './TableHead.vue'\nexport { default as TableHeader } from './TableHeader.vue'\nexport { default as TableRow } from './TableRow.vue'\n", - "type": "registry:ui", - "target": "table/index.ts" + "type": "registry:ui" } ] }, @@ -2491,33 +1849,23 @@ "files": [ { "path": "ui/tabs/Tabs.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "tabs/Tabs.vue" + "type": "registry:ui" }, { "path": "ui/tabs/TabsContent.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "tabs/TabsContent.vue" + "type": "registry:ui" }, { "path": "ui/tabs/TabsList.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "tabs/TabsList.vue" + "type": "registry:ui" }, { "path": "ui/tabs/TabsTrigger.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "tabs/TabsTrigger.vue" + "type": "registry:ui" }, { "path": "ui/tabs/index.ts", - "content": "export { default as Tabs } from './Tabs.vue'\nexport { default as TabsContent } from './TabsContent.vue'\nexport { default as TabsList } from './TabsList.vue'\nexport { default as TabsTrigger } from './TabsTrigger.vue'\n", - "type": "registry:ui", - "target": "tabs/index.ts" + "type": "registry:ui" } ] }, @@ -2531,39 +1879,27 @@ "files": [ { "path": "ui/tags-input/TagsInput.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "tags-input/TagsInput.vue" + "type": "registry:ui" }, { "path": "ui/tags-input/TagsInputInput.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "tags-input/TagsInputInput.vue" + "type": "registry:ui" }, { "path": "ui/tags-input/TagsInputItem.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "tags-input/TagsInputItem.vue" + "type": "registry:ui" }, { "path": "ui/tags-input/TagsInputItemDelete.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "tags-input/TagsInputItemDelete.vue" + "type": "registry:ui" }, { "path": "ui/tags-input/TagsInputItemText.vue", - "content": "\n\n\n", - "type": "registry:ui", - "target": "tags-input/TagsInputItemText.vue" + "type": "registry:ui" }, { "path": "ui/tags-input/index.ts", - "content": "export { default as TagsInput } from './TagsInput.vue'\nexport { default as TagsInputInput } from './TagsInputInput.vue'\nexport { default as TagsInputItem } from './TagsInputItem.vue'\nexport { default as TagsInputItemDelete } from './TagsInputItemDelete.vue'\nexport { default as TagsInputItemText } from './TagsInputItemText.vue'\n", - "type": "registry:ui", - "target": "tags-input/index.ts" + "type": "registry:ui" } ] }, @@ -2579,15 +1915,11 @@ "files": [ { "path": "ui/textarea/Textarea.vue", - "content": "\n\n