@arolariu/components 0.0.35 → 0.0.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +13 -0
- package/dist/cjs/components/ui/accordion.cjs +1 -1
- package/dist/cjs/components/ui/accordion.cjs.map +1 -1
- package/dist/cjs/components/ui/alert-dialog.cjs +1 -1
- package/dist/cjs/components/ui/alert-dialog.cjs.map +1 -1
- package/dist/cjs/components/ui/alert.cjs +1 -1
- package/dist/cjs/components/ui/alert.cjs.map +1 -1
- package/dist/cjs/components/ui/aspect-ratio.cjs.map +1 -1
- package/dist/cjs/components/ui/avatar.cjs.map +1 -1
- package/dist/cjs/components/ui/background-beams.cjs +210 -0
- package/dist/cjs/components/ui/background-beams.cjs.map +1 -0
- package/dist/cjs/components/ui/badge.cjs +1 -1
- package/dist/cjs/components/ui/badge.cjs.map +1 -1
- package/dist/cjs/components/ui/breadcrumb.cjs.map +1 -1
- package/dist/cjs/components/ui/bubble-background.cjs +214 -0
- package/dist/cjs/components/ui/bubble-background.cjs.map +1 -0
- package/dist/cjs/components/ui/button.cjs +6 -6
- package/dist/cjs/components/ui/button.cjs.map +1 -1
- package/dist/cjs/components/ui/card.cjs +13 -3
- package/dist/cjs/components/ui/card.cjs.map +1 -1
- package/dist/cjs/components/ui/carousel.cjs.map +1 -1
- package/dist/cjs/components/ui/chart.cjs.map +1 -1
- package/dist/cjs/components/ui/checkbox.cjs +1 -1
- package/dist/cjs/components/ui/checkbox.cjs.map +1 -1
- package/dist/cjs/components/ui/collapsible.cjs +1 -1
- package/dist/cjs/components/ui/collapsible.cjs.map +1 -1
- package/dist/cjs/components/ui/command.cjs +2 -2
- package/dist/cjs/components/ui/command.cjs.map +1 -1
- package/dist/cjs/components/ui/context-menu.cjs +7 -7
- package/dist/cjs/components/ui/context-menu.cjs.map +1 -1
- package/dist/cjs/components/ui/counting-number.cjs +95 -0
- package/dist/cjs/components/ui/counting-number.cjs.map +1 -0
- package/dist/cjs/components/ui/dialog.cjs +1 -1
- package/dist/cjs/components/ui/dialog.cjs.map +1 -1
- package/dist/cjs/components/ui/dot-background.cjs +131 -0
- package/dist/cjs/components/ui/dot-background.cjs.map +1 -0
- package/dist/cjs/components/ui/drawer.cjs +3 -3
- package/dist/cjs/components/ui/drawer.cjs.map +1 -1
- package/dist/cjs/components/ui/dropdown-menu.cjs +7 -7
- package/dist/cjs/components/ui/dropdown-menu.cjs.map +1 -1
- package/dist/cjs/components/ui/fireworks-background.cjs +259 -0
- package/dist/cjs/components/ui/fireworks-background.cjs.map +1 -0
- package/dist/cjs/components/ui/flip-button.cjs +100 -0
- package/dist/cjs/components/ui/flip-button.cjs.map +1 -0
- package/dist/cjs/components/ui/form.cjs +2 -2
- package/dist/cjs/components/ui/form.cjs.map +1 -1
- package/dist/cjs/components/ui/gradient-background.cjs +60 -0
- package/dist/cjs/components/ui/gradient-background.cjs.map +1 -0
- package/dist/cjs/components/ui/gradient-text.cjs +83 -0
- package/dist/cjs/components/ui/gradient-text.cjs.map +1 -0
- package/dist/cjs/components/ui/highlight-text.cjs +74 -0
- package/dist/cjs/components/ui/highlight-text.cjs.map +1 -0
- package/dist/cjs/components/ui/hole-background.cjs +361 -0
- package/dist/cjs/components/ui/hole-background.cjs.map +1 -0
- package/dist/cjs/components/ui/hover-card.cjs +9 -6
- package/dist/cjs/components/ui/hover-card.cjs.map +1 -1
- package/dist/cjs/components/ui/input-otp.cjs +2 -3
- package/dist/cjs/components/ui/input-otp.cjs.map +1 -1
- package/dist/cjs/components/ui/input.cjs +1 -1
- package/dist/cjs/components/ui/input.cjs.map +1 -1
- package/dist/cjs/components/ui/label.cjs.map +1 -1
- package/dist/cjs/components/ui/menubar.cjs +9 -9
- package/dist/cjs/components/ui/menubar.cjs.map +1 -1
- package/dist/cjs/components/ui/navigation-menu.cjs +5 -5
- package/dist/cjs/components/ui/navigation-menu.cjs.map +1 -1
- package/dist/cjs/components/ui/pagination.cjs.map +1 -1
- package/dist/cjs/components/ui/popover.cjs +1 -1
- package/dist/cjs/components/ui/popover.cjs.map +1 -1
- package/dist/cjs/components/ui/progress.cjs.map +1 -1
- package/dist/cjs/components/ui/radio-group.cjs +1 -1
- package/dist/cjs/components/ui/radio-group.cjs.map +1 -1
- package/dist/cjs/components/ui/resizable.cjs.map +1 -1
- package/dist/cjs/components/ui/ripple-button.cjs +108 -0
- package/dist/cjs/components/ui/ripple-button.cjs.map +1 -0
- package/dist/cjs/components/ui/scratcher.cjs +179 -0
- package/dist/cjs/components/ui/scratcher.cjs.map +1 -0
- package/dist/cjs/components/ui/scroll-area.cjs +1 -1
- package/dist/cjs/components/ui/scroll-area.cjs.map +1 -1
- package/dist/cjs/components/ui/select.cjs +6 -5
- package/dist/cjs/components/ui/select.cjs.map +1 -1
- package/dist/cjs/components/ui/separator.cjs.map +1 -1
- package/dist/cjs/components/ui/sheet.cjs +1 -1
- package/dist/cjs/components/ui/sheet.cjs.map +1 -1
- package/dist/cjs/components/ui/sidebar.cjs +14 -11
- package/dist/cjs/components/ui/sidebar.cjs.map +1 -1
- package/dist/cjs/components/ui/skeleton.cjs +2 -1
- package/dist/cjs/components/ui/skeleton.cjs.map +1 -1
- package/dist/cjs/components/ui/slider.cjs +2 -2
- package/dist/cjs/components/ui/slider.cjs.map +1 -1
- package/dist/cjs/components/ui/sonner.cjs +5 -7
- package/dist/cjs/components/ui/sonner.cjs.map +1 -1
- package/dist/cjs/components/ui/switch.cjs +2 -2
- package/dist/cjs/components/ui/switch.cjs.map +1 -1
- package/dist/cjs/components/ui/table.cjs +2 -2
- package/dist/cjs/components/ui/table.cjs.map +1 -1
- package/dist/cjs/components/ui/tabs.cjs +3 -3
- package/dist/cjs/components/ui/tabs.cjs.map +1 -1
- package/dist/cjs/components/ui/textarea.cjs +1 -1
- package/dist/cjs/components/ui/textarea.cjs.map +1 -1
- package/dist/cjs/components/ui/toggle-group.cjs +2 -2
- package/dist/cjs/components/ui/toggle-group.cjs.map +1 -1
- package/dist/cjs/components/ui/toggle.cjs +2 -2
- package/dist/cjs/components/ui/toggle.cjs.map +1 -1
- package/dist/cjs/components/ui/tooltip.cjs +1 -1
- package/dist/cjs/components/ui/tooltip.cjs.map +1 -1
- package/dist/cjs/index.cjs +55 -4
- package/dist/cjs/index.css +1013 -258
- package/dist/esm/components/ui/accordion.js +1 -1
- package/dist/esm/components/ui/accordion.js.map +1 -1
- package/dist/esm/components/ui/alert-dialog.js +1 -1
- package/dist/esm/components/ui/alert-dialog.js.map +1 -1
- package/dist/esm/components/ui/alert.js +1 -1
- package/dist/esm/components/ui/alert.js.map +1 -1
- package/dist/esm/components/ui/aspect-ratio.js.map +1 -1
- package/dist/esm/components/ui/avatar.js.map +1 -1
- package/dist/esm/components/ui/background-beams.js +166 -0
- package/dist/esm/components/ui/background-beams.js.map +1 -0
- package/dist/esm/components/ui/badge.js +1 -1
- package/dist/esm/components/ui/badge.js.map +1 -1
- package/dist/esm/components/ui/breadcrumb.js.map +1 -1
- package/dist/esm/components/ui/bubble-background.js +180 -0
- package/dist/esm/components/ui/bubble-background.js.map +1 -0
- package/dist/esm/components/ui/button.js +6 -6
- package/dist/esm/components/ui/button.js.map +1 -1
- package/dist/esm/components/ui/card.js +11 -4
- package/dist/esm/components/ui/card.js.map +1 -1
- package/dist/esm/components/ui/carousel.js.map +1 -1
- package/dist/esm/components/ui/chart.js.map +1 -1
- package/dist/esm/components/ui/checkbox.js +1 -1
- package/dist/esm/components/ui/checkbox.js.map +1 -1
- package/dist/esm/components/ui/collapsible.js +1 -1
- package/dist/esm/components/ui/collapsible.js.map +1 -1
- package/dist/esm/components/ui/command.js +2 -2
- package/dist/esm/components/ui/command.js.map +1 -1
- package/dist/esm/components/ui/context-menu.js +7 -7
- package/dist/esm/components/ui/context-menu.js.map +1 -1
- package/dist/esm/components/ui/counting-number.js +61 -0
- package/dist/esm/components/ui/counting-number.js.map +1 -0
- package/dist/esm/components/ui/dialog.js +1 -1
- package/dist/esm/components/ui/dialog.js.map +1 -1
- package/dist/esm/components/ui/dot-background.js +97 -0
- package/dist/esm/components/ui/dot-background.js.map +1 -0
- package/dist/esm/components/ui/drawer.js +3 -3
- package/dist/esm/components/ui/drawer.js.map +1 -1
- package/dist/esm/components/ui/dropdown-menu.js +7 -7
- package/dist/esm/components/ui/dropdown-menu.js.map +1 -1
- package/dist/esm/components/ui/fireworks-background.js +225 -0
- package/dist/esm/components/ui/fireworks-background.js.map +1 -0
- package/dist/esm/components/ui/flip-button.js +66 -0
- package/dist/esm/components/ui/flip-button.js.map +1 -0
- package/dist/esm/components/ui/form.js +2 -2
- package/dist/esm/components/ui/form.js.map +1 -1
- package/dist/esm/components/ui/gradient-background.js +26 -0
- package/dist/esm/components/ui/gradient-background.js.map +1 -0
- package/dist/esm/components/ui/gradient-text.js +49 -0
- package/dist/esm/components/ui/gradient-text.js.map +1 -0
- package/dist/esm/components/ui/highlight-text.js +40 -0
- package/dist/esm/components/ui/highlight-text.js.map +1 -0
- package/dist/esm/components/ui/hole-background.js +327 -0
- package/dist/esm/components/ui/hole-background.js.map +1 -0
- package/dist/esm/components/ui/hover-card.js +9 -6
- package/dist/esm/components/ui/hover-card.js.map +1 -1
- package/dist/esm/components/ui/input-otp.js +2 -3
- package/dist/esm/components/ui/input-otp.js.map +1 -1
- package/dist/esm/components/ui/input.js +1 -1
- package/dist/esm/components/ui/input.js.map +1 -1
- package/dist/esm/components/ui/label.js.map +1 -1
- package/dist/esm/components/ui/menubar.js +9 -9
- package/dist/esm/components/ui/menubar.js.map +1 -1
- package/dist/esm/components/ui/navigation-menu.js +5 -5
- package/dist/esm/components/ui/navigation-menu.js.map +1 -1
- package/dist/esm/components/ui/pagination.js.map +1 -1
- package/dist/esm/components/ui/popover.js +1 -1
- package/dist/esm/components/ui/popover.js.map +1 -1
- package/dist/esm/components/ui/progress.js.map +1 -1
- package/dist/esm/components/ui/radio-group.js +1 -1
- package/dist/esm/components/ui/radio-group.js.map +1 -1
- package/dist/esm/components/ui/resizable.js.map +1 -1
- package/dist/esm/components/ui/ripple-button.js +74 -0
- package/dist/esm/components/ui/ripple-button.js.map +1 -0
- package/dist/esm/components/ui/scratcher.js +145 -0
- package/dist/esm/components/ui/scratcher.js.map +1 -0
- package/dist/esm/components/ui/scroll-area.js +1 -1
- package/dist/esm/components/ui/scroll-area.js.map +1 -1
- package/dist/esm/components/ui/select.js +6 -5
- package/dist/esm/components/ui/select.js.map +1 -1
- package/dist/esm/components/ui/separator.js.map +1 -1
- package/dist/esm/components/ui/sheet.js +1 -1
- package/dist/esm/components/ui/sheet.js.map +1 -1
- package/dist/esm/components/ui/sidebar.js +14 -11
- package/dist/esm/components/ui/sidebar.js.map +1 -1
- package/dist/esm/components/ui/skeleton.js +2 -1
- package/dist/esm/components/ui/skeleton.js.map +1 -1
- package/dist/esm/components/ui/slider.js +2 -2
- package/dist/esm/components/ui/slider.js.map +1 -1
- package/dist/esm/components/ui/sonner.js +5 -7
- package/dist/esm/components/ui/sonner.js.map +1 -1
- package/dist/esm/components/ui/switch.js +2 -2
- package/dist/esm/components/ui/switch.js.map +1 -1
- package/dist/esm/components/ui/table.js +2 -2
- package/dist/esm/components/ui/table.js.map +1 -1
- package/dist/esm/components/ui/tabs.js +3 -3
- package/dist/esm/components/ui/tabs.js.map +1 -1
- package/dist/esm/components/ui/textarea.js +1 -1
- package/dist/esm/components/ui/textarea.js.map +1 -1
- package/dist/esm/components/ui/toggle-group.js +2 -2
- package/dist/esm/components/ui/toggle-group.js.map +1 -1
- package/dist/esm/components/ui/toggle.js +2 -2
- package/dist/esm/components/ui/toggle.js.map +1 -1
- package/dist/esm/components/ui/tooltip.js +1 -1
- package/dist/esm/components/ui/tooltip.js.map +1 -1
- package/dist/esm/index.css +1013 -258
- package/dist/esm/index.js +26 -1
- package/dist/index.css +1013 -258
- package/dist/index.js +26 -1
- package/dist/types/components/ui/background-beams.d.ts +4 -0
- package/dist/types/components/ui/bubble-background.d.ts +16 -0
- package/dist/types/components/ui/card.d.ts +2 -1
- package/dist/types/components/ui/counting-number.d.ts +15 -0
- package/dist/types/components/ui/dot-background.d.ts +57 -0
- package/dist/types/components/ui/fireworks-background.d.ts +24 -0
- package/dist/types/components/ui/flip-button.d.ts +13 -0
- package/dist/types/components/ui/form.d.ts +1 -1
- package/dist/types/components/ui/gradient-background.d.ts +7 -0
- package/dist/types/components/ui/gradient-text.d.ts +10 -0
- package/dist/types/components/ui/highlight-text.d.ts +11 -0
- package/dist/types/components/ui/hole-background.d.ts +9 -0
- package/dist/types/components/ui/ripple-button.d.ts +10 -0
- package/dist/types/components/ui/scratcher.d.ts +12 -0
- package/dist/types/components/ui/select.d.ts +3 -1
- package/dist/types/components/ui/sidebar.d.ts +5 -6
- package/dist/types/index.d.ts +13 -1
- package/package.json +536 -461
- package/readme.md +10 -6
- package/src/components/ui/accordion.tsx +3 -2
- package/src/components/ui/alert-dialog.tsx +160 -160
- package/src/components/ui/alert.tsx +3 -2
- package/src/components/ui/aspect-ratio.tsx +12 -12
- package/src/components/ui/avatar.tsx +53 -52
- package/src/components/ui/background-beams.tsx +142 -0
- package/src/components/ui/badge.tsx +48 -47
- package/src/components/ui/breadcrumb.tsx +117 -116
- package/src/components/ui/bubble-background.tsx +187 -0
- package/src/components/ui/button.tsx +61 -60
- package/src/components/ui/card.tsx +97 -79
- package/src/components/ui/carousel.tsx +241 -240
- package/src/components/ui/chart.tsx +353 -352
- package/src/components/ui/checkbox.tsx +32 -31
- package/src/components/ui/collapsible.tsx +34 -34
- package/src/components/ui/command.tsx +177 -176
- package/src/components/ui/context-menu.tsx +255 -254
- package/src/components/ui/counting-number.tsx +108 -0
- package/src/components/ui/dialog.tsx +3 -2
- package/src/components/ui/dot-background.tsx +158 -0
- package/src/components/ui/drawer.tsx +138 -137
- package/src/components/ui/dropdown-menu.tsx +260 -259
- package/src/components/ui/fireworks-background.tsx +378 -0
- package/src/components/ui/flip-button.tsx +110 -0
- package/src/components/ui/form.tsx +174 -173
- package/src/components/ui/gradient-background.tsx +43 -0
- package/src/components/ui/gradient-text.tsx +65 -0
- package/src/components/ui/highlight-text.tsx +71 -0
- package/src/components/ui/hole-background.tsx +361 -0
- package/src/components/ui/hover-card.tsx +44 -41
- package/src/components/ui/input-otp.tsx +77 -77
- package/src/components/ui/input.tsx +23 -22
- package/src/components/ui/label.tsx +24 -23
- package/src/components/ui/menubar.tsx +279 -278
- package/src/components/ui/navigation-menu.tsx +171 -170
- package/src/components/ui/pagination.tsx +129 -128
- package/src/components/ui/popover.tsx +48 -47
- package/src/components/ui/progress.tsx +31 -30
- package/src/components/ui/radio-group.tsx +45 -44
- package/src/components/ui/resizable.tsx +56 -55
- package/src/components/ui/ripple-button.tsx +111 -0
- package/src/components/ui/scratcher.tsx +171 -0
- package/src/components/ui/scroll-area.tsx +58 -57
- package/src/components/ui/select.tsx +191 -183
- package/src/components/ui/separator.tsx +28 -27
- package/src/components/ui/sheet.tsx +145 -144
- package/src/components/ui/sidebar.tsx +729 -725
- package/src/components/ui/skeleton.tsx +19 -17
- package/src/components/ui/slider.tsx +63 -62
- package/src/components/ui/sonner.tsx +8 -12
- package/src/components/ui/switch.tsx +31 -30
- package/src/components/ui/table.tsx +119 -118
- package/src/components/ui/tabs.tsx +66 -65
- package/src/components/ui/textarea.tsx +20 -19
- package/src/components/ui/toggle-group.tsx +73 -72
- package/src/components/ui/toggle.tsx +47 -46
- package/src/components/ui/tooltip.tsx +61 -60
- package/src/index.css +75 -42
- package/src/index.ts +385 -330
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\menubar.js","sources":["webpack://@arolariu/components/./src/components/ui/menubar.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\";\r\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\r\nimport { cn } from \"./../../lib/utils\";\r\n\r\nfunction Menubar({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Root>) {\r\n return (\r\n <MenubarPrimitive.Root\r\n data-slot=\"menubar\"\r\n className={cn(\r\n \"bg-white flex h-9 items-center gap-1 rounded-md border border-neutral-200 p-1 shadow-2xs dark:bg-neutral-950 dark:border-neutral-800\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction MenubarMenu({\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Menu>) {\r\n return <MenubarPrimitive.Menu data-slot=\"menubar-menu\" {...props} />;\r\n}\r\n\r\nfunction MenubarGroup({\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Group>) {\r\n return <MenubarPrimitive.Group data-slot=\"menubar-group\" {...props} />;\r\n}\r\n\r\nfunction MenubarPortal({\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Portal>) {\r\n return <MenubarPrimitive.Portal data-slot=\"menubar-portal\" {...props} />;\r\n}\r\n\r\nfunction MenubarRadioGroup({\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {\r\n return (\r\n <MenubarPrimitive.RadioGroup data-slot=\"menubar-radio-group\" {...props} />\r\n );\r\n}\r\n\r\nfunction MenubarTrigger({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Trigger>) {\r\n return (\r\n <MenubarPrimitive.Trigger\r\n data-slot=\"menubar-trigger\"\r\n className={cn(\r\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 flex items-center rounded-xs px-2 py-1 text-sm font-medium outline-hidden select-none dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction MenubarContent({\r\n className,\r\n align = \"start\",\r\n alignOffset = -4,\r\n sideOffset = 8,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Content>) {\r\n return (\r\n <MenubarPortal>\r\n <MenubarPrimitive.Content\r\n data-slot=\"menubar-content\"\r\n align={align}\r\n alignOffset={alignOffset}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[12rem] overflow-hidden rounded-md border border-neutral-200 p-1 shadow-md dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </MenubarPortal>\r\n );\r\n}\r\n\r\nfunction MenubarItem({\r\n className,\r\n inset,\r\n variant = \"default\",\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Item> & {\r\n inset?: boolean;\r\n variant?: \"default\" | \"destructive\";\r\n}) {\r\n return (\r\n <MenubarPrimitive.Item\r\n data-slot=\"menubar-item\"\r\n data-inset={inset}\r\n data-variant={variant}\r\n className={cn(\r\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[variant=destructive]:text-neutral-50 data-[variant=destructive]:focus:bg-red-500/10 dark:data-[variant=destructive]:focus:bg-red-500/40 data-[variant=destructive]:focus:text-neutral-50 [svg]:*:data-[variant=destructive]:text-destructive-foreground! [&_svg:not([class*='text-'])]:text-neutral-500 relative flex cursor-default items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[variant=destructive]:text-neutral-50 dark:data-[variant=destructive]:focus:bg-red-900/10 dark:dark:data-[variant=destructive]:focus:bg-red-900/40 dark:data-[variant=destructive]:focus:text-neutral-50 dark:[&_svg:not([class*='text-'])]:text-neutral-400\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction MenubarCheckboxItem({\r\n className,\r\n children,\r\n checked,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem>) {\r\n return (\r\n <MenubarPrimitive.CheckboxItem\r\n data-slot=\"menubar-checkbox-item\"\r\n className={cn(\r\n \"focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50\",\r\n className\r\n )}\r\n checked={checked}\r\n {...props}\r\n >\r\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\r\n <MenubarPrimitive.ItemIndicator>\r\n <CheckIcon className=\"size-4\" />\r\n </MenubarPrimitive.ItemIndicator>\r\n </span>\r\n {children}\r\n </MenubarPrimitive.CheckboxItem>\r\n );\r\n}\r\n\r\nfunction MenubarRadioItem({\r\n className,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.RadioItem>) {\r\n return (\r\n <MenubarPrimitive.RadioItem\r\n data-slot=\"menubar-radio-item\"\r\n className={cn(\r\n \"focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\r\n <MenubarPrimitive.ItemIndicator>\r\n <CircleIcon className=\"size-2 fill-current\" />\r\n </MenubarPrimitive.ItemIndicator>\r\n </span>\r\n {children}\r\n </MenubarPrimitive.RadioItem>\r\n );\r\n}\r\n\r\nfunction MenubarLabel({\r\n className,\r\n inset,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Label> & {\r\n inset?: boolean;\r\n}) {\r\n return (\r\n <MenubarPrimitive.Label\r\n data-slot=\"menubar-label\"\r\n data-inset={inset}\r\n className={cn(\r\n \"px-2 py-1.5 text-sm font-medium data-inset:pl-8\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction MenubarSeparator({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Separator>) {\r\n return (\r\n <MenubarPrimitive.Separator\r\n data-slot=\"menubar-separator\"\r\n className={cn(\r\n \"bg-neutral-200 -mx-1 my-1 h-px dark:bg-neutral-800\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction MenubarShortcut({\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"span\">) {\r\n return (\r\n <span\r\n data-slot=\"menubar-shortcut\"\r\n className={cn(\r\n \"text-neutral-500 ml-auto text-xs tracking-widest dark:text-neutral-400\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction MenubarSub({\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Sub>) {\r\n return <MenubarPrimitive.Sub data-slot=\"menubar-sub\" {...props} />;\r\n}\r\n\r\nfunction MenubarSubTrigger({\r\n className,\r\n inset,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {\r\n inset?: boolean;\r\n}) {\r\n return (\r\n <MenubarPrimitive.SubTrigger\r\n data-slot=\"menubar-sub-trigger\"\r\n data-inset={inset}\r\n className={cn(\r\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 flex cursor-default items-center rounded-xs px-2 py-1.5 text-sm outline-hidden select-none data-inset:pl-8 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\r\n </MenubarPrimitive.SubTrigger>\r\n );\r\n}\r\n\r\nfunction MenubarSubContent({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.SubContent>) {\r\n return (\r\n <MenubarPrimitive.SubContent\r\n data-slot=\"menubar-sub-content\"\r\n className={cn(\r\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border border-neutral-200 p-1 shadow-lg dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport {\r\n Menubar,\r\n MenubarPortal,\r\n MenubarMenu,\r\n MenubarTrigger,\r\n MenubarContent,\r\n MenubarGroup,\r\n MenubarSeparator,\r\n MenubarLabel,\r\n MenubarItem,\r\n MenubarShortcut,\r\n MenubarCheckboxItem,\r\n MenubarRadioGroup,\r\n MenubarRadioItem,\r\n MenubarSub,\r\n MenubarSubTrigger,\r\n MenubarSubContent,\r\n};\r\n"],"names":["Menubar","className","props","MenubarPrimitive","cn","MenubarMenu","MenubarGroup","MenubarPortal","MenubarRadioGroup","MenubarTrigger","MenubarContent","align","alignOffset","sideOffset","MenubarItem","inset","variant","MenubarCheckboxItem","children","checked","CheckIcon","MenubarRadioItem","CircleIcon","MenubarLabel","MenubarSeparator","MenubarShortcut","MenubarSub","MenubarSubTrigger","ChevronRightIcon","MenubarSubContent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components\\ui\\menubar.js","sources":["webpack://@arolariu/components/./src/components/ui/menubar.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Menubar({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Root>) {\n return (\n <MenubarPrimitive.Root\n data-slot=\"menubar\"\n className={cn(\n \"bg-white flex h-9 items-center gap-1 rounded-md border border-neutral-200 p-1 shadow-xs dark:bg-neutral-950 dark:border-neutral-800\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarMenu({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Menu>) {\n return <MenubarPrimitive.Menu data-slot=\"menubar-menu\" {...props} />;\n}\n\nfunction MenubarGroup({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Group>) {\n return <MenubarPrimitive.Group data-slot=\"menubar-group\" {...props} />;\n}\n\nfunction MenubarPortal({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Portal>) {\n return <MenubarPrimitive.Portal data-slot=\"menubar-portal\" {...props} />;\n}\n\nfunction MenubarRadioGroup({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {\n return (\n <MenubarPrimitive.RadioGroup data-slot=\"menubar-radio-group\" {...props} />\n );\n}\n\nfunction MenubarTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Trigger>) {\n return (\n <MenubarPrimitive.Trigger\n data-slot=\"menubar-trigger\"\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarContent({\n className,\n align = \"start\",\n alignOffset = -4,\n sideOffset = 8,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Content>) {\n return (\n <MenubarPortal>\n <MenubarPrimitive.Content\n data-slot=\"menubar-content\"\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border border-neutral-200 p-1 shadow-md dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n className\n )}\n {...props}\n />\n </MenubarPortal>\n );\n}\n\nfunction MenubarItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <MenubarPrimitive.Item\n data-slot=\"menubar-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[variant=destructive]:text-red-500 data-[variant=destructive]:focus:bg-red-500/10 dark:data-[variant=destructive]:focus:bg-red-500/20 data-[variant=destructive]:focus:text-red-500 data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-neutral-500 relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[variant=destructive]:text-red-900 dark:data-[variant=destructive]:focus:bg-red-900/10 dark:dark:data-[variant=destructive]:focus:bg-red-900/20 dark:data-[variant=destructive]:focus:text-red-900 dark:[&_svg:not([class*='text-'])]:text-neutral-400\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem>) {\n return (\n <MenubarPrimitive.CheckboxItem\n data-slot=\"menubar-checkbox-item\"\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n );\n}\n\nfunction MenubarRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.RadioItem>) {\n return (\n <MenubarPrimitive.RadioItem\n data-slot=\"menubar-radio-item\"\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n );\n}\n\nfunction MenubarLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.Label\n data-slot=\"menubar-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Separator>) {\n return (\n <MenubarPrimitive.Separator\n data-slot=\"menubar-separator\"\n className={cn(\n \"bg-neutral-200 -mx-1 my-1 h-px dark:bg-neutral-800\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"menubar-shortcut\"\n className={cn(\n \"text-neutral-500 ml-auto text-xs tracking-widest dark:text-neutral-400\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarSub({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Sub>) {\n return <MenubarPrimitive.Sub data-slot=\"menubar-sub\" {...props} />;\n}\n\nfunction MenubarSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.SubTrigger\n data-slot=\"menubar-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\n </MenubarPrimitive.SubTrigger>\n );\n}\n\nfunction MenubarSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubContent>) {\n return (\n <MenubarPrimitive.SubContent\n data-slot=\"menubar-sub-content\"\n className={cn(\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border border-neutral-200 p-1 shadow-lg dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Menubar,\n MenubarPortal,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarGroup,\n MenubarSeparator,\n MenubarLabel,\n MenubarItem,\n MenubarShortcut,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSub,\n MenubarSubTrigger,\n MenubarSubContent,\n};\n"],"names":["Menubar","className","props","MenubarPrimitive","cn","MenubarMenu","MenubarGroup","MenubarPortal","MenubarRadioGroup","MenubarTrigger","MenubarContent","align","alignOffset","sideOffset","MenubarItem","inset","variant","MenubarCheckboxItem","children","checked","CheckIcon","MenubarRadioItem","CircleIcon","MenubarLabel","MenubarSeparator","MenubarShortcut","MenubarSub","MenubarSubTrigger","ChevronRightIcon","MenubarSubContent"],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ function NavigationMenuItem({ className, ...props }) {
|
|
|
31
31
|
...props
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
|
-
const navigationMenuTriggerStyle = (0, __WEBPACK_EXTERNAL_MODULE_class_variance_authority_159ad65c__.cva)("group inline-flex h-9 w-max items-center justify-center rounded-md bg-white px-4 py-2 text-sm font-medium hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 disabled:pointer-events-none disabled:opacity-50 data-[
|
|
34
|
+
const navigationMenuTriggerStyle = (0, __WEBPACK_EXTERNAL_MODULE_class_variance_authority_159ad65c__.cva)("group inline-flex h-9 w-max items-center justify-center rounded-md bg-white px-4 py-2 text-sm font-medium hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-neutral-100 data-[state=open]:text-neutral-900 data-[state=open]:focus:bg-neutral-100 data-[state=open]:bg-neutral-100/50 focus-visible:ring-neutral-950/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:hover:bg-neutral-800 dark:data-[state=open]:text-neutral-50 dark:data-[state=open]:focus:bg-neutral-800 dark:data-[state=open]:bg-neutral-800/50 dark:focus-visible:ring-neutral-300/50");
|
|
35
35
|
function NavigationMenuTrigger({ className, children, ...props }) {
|
|
36
36
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_navigation_menu_25af01f6__.Trigger, {
|
|
37
37
|
"data-slot": "navigation-menu-trigger",
|
|
@@ -50,7 +50,7 @@ function NavigationMenuTrigger({ className, children, ...props }) {
|
|
|
50
50
|
function NavigationMenuContent({ className, ...props }) {
|
|
51
51
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_navigation_menu_25af01f6__.Content, {
|
|
52
52
|
"data-slot": "navigation-menu-content",
|
|
53
|
-
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto", "group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground
|
|
53
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto", "group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none", className),
|
|
54
54
|
...props
|
|
55
55
|
});
|
|
56
56
|
}
|
|
@@ -59,7 +59,7 @@ function NavigationMenuViewport({ className, ...props }) {
|
|
|
59
59
|
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("absolute top-full left-0 isolate z-50 flex justify-center"),
|
|
60
60
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_navigation_menu_25af01f6__.Viewport, {
|
|
61
61
|
"data-slot": "navigation-menu-viewport",
|
|
62
|
-
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("origin-top-center bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-neutral-200 shadow
|
|
62
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("origin-top-center bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-neutral-200 shadow md:w-[var(--radix-navigation-menu-viewport-width)] dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800", className),
|
|
63
63
|
...props
|
|
64
64
|
})
|
|
65
65
|
});
|
|
@@ -67,14 +67,14 @@ function NavigationMenuViewport({ className, ...props }) {
|
|
|
67
67
|
function NavigationMenuLink({ className, ...props }) {
|
|
68
68
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_navigation_menu_25af01f6__.Link, {
|
|
69
69
|
"data-slot": "navigation-menu-link",
|
|
70
|
-
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("
|
|
70
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("data-[active=true]:focus:bg-neutral-100 data-[active=true]:hover:bg-neutral-100 data-[active=true]:bg-neutral-100/50 data-[active=true]:text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 focus-visible:ring-neutral-950/50 [&_svg:not([class*='text-'])]:text-neutral-500 flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4 dark:data-[active=true]:focus:bg-neutral-800 dark:data-[active=true]:hover:bg-neutral-800 dark:data-[active=true]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:focus-visible:ring-neutral-300/50 dark:[&_svg:not([class*='text-'])]:text-neutral-400", className),
|
|
71
71
|
...props
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
function NavigationMenuIndicator({ className, ...props }) {
|
|
75
75
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_navigation_menu_25af01f6__.Indicator, {
|
|
76
76
|
"data-slot": "navigation-menu-indicator",
|
|
77
|
-
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-1 flex h-1.5 items-end justify-center overflow-hidden", className),
|
|
77
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden", className),
|
|
78
78
|
...props,
|
|
79
79
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
80
80
|
className: "bg-neutral-200 relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md dark:bg-neutral-800"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\navigation-menu.js","sources":["webpack://@arolariu/components/./src/components/ui/navigation-menu.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\";\r\nimport { cva } from \"class-variance-authority\";\r\nimport { ChevronDownIcon } from \"lucide-react\";\r\nimport { cn } from \"./../../lib/utils\";\r\n\r\nfunction NavigationMenu({\r\n className,\r\n children,\r\n viewport = true,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\r\n viewport?: boolean;\r\n}) {\r\n return (\r\n <NavigationMenuPrimitive.Root\r\n data-slot=\"navigation-menu\"\r\n data-viewport={viewport}\r\n className={cn(\r\n \"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n {viewport && <NavigationMenuViewport />}\r\n </NavigationMenuPrimitive.Root>\r\n );\r\n}\r\n\r\nfunction NavigationMenuList({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\r\n return (\r\n <NavigationMenuPrimitive.List\r\n data-slot=\"navigation-menu-list\"\r\n className={cn(\r\n \"group flex flex-1 list-none items-center justify-center gap-1\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction NavigationMenuItem({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\r\n return (\r\n <NavigationMenuPrimitive.Item\r\n data-slot=\"navigation-menu-item\"\r\n className={cn(\"relative\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nconst navigationMenuTriggerStyle = cva(\r\n \"group inline-flex h-9 w-max items-center justify-center rounded-md bg-white px-4 py-2 text-sm font-medium hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 disabled:pointer-events-none disabled:opacity-50 data-[active=true]:bg-neutral-100/50 data-[state=open]:bg-neutral-100/50 data-[active=true]:text-neutral-900 ring-neutral-950/10 dark:ring-neutral-950/20 dark:outline-ring/40 outline-ring/50 transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[active=true]:bg-neutral-800/50 dark:data-[state=open]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:ring-neutral-300/10 dark:dark:ring-neutral-300/20\"\r\n);\r\n\r\nfunction NavigationMenuTrigger({\r\n className,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\r\n return (\r\n <NavigationMenuPrimitive.Trigger\r\n data-slot=\"navigation-menu-trigger\"\r\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\r\n {...props}\r\n >\r\n {children}\r\n {\"\"}\r\n <ChevronDownIcon\r\n className=\"relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\r\n aria-hidden=\"true\"\r\n />\r\n </NavigationMenuPrimitive.Trigger>\r\n );\r\n}\r\n\r\nfunction NavigationMenuContent({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\r\n return (\r\n <NavigationMenuPrimitive.Content\r\n data-slot=\"navigation-menu-content\"\r\n className={cn(\r\n \"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto\",\r\n \"group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground data-[state=open]:group-data-[viewport=false]/navigation-menu:animate-in data-[state=closed]:group-data-[viewport=false]/navigation-menu:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow-sm group-data-[viewport=false]/navigation-menu:duration-200 focus:data-[slot=navigation-menu-link]:**:ring-0 focus:data-[slot=navigation-menu-link]:**:outline-hidden\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction NavigationMenuViewport({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\r\n return (\r\n <div\r\n className={cn(\r\n \"absolute top-full left-0 isolate z-50 flex justify-center\"\r\n )}\r\n >\r\n <NavigationMenuPrimitive.Viewport\r\n data-slot=\"navigation-menu-viewport\"\r\n className={cn(\r\n \"origin-top-center bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-neutral-200 shadow-sm md:w-[var(--radix-navigation-menu-viewport-width)] dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nfunction NavigationMenuLink({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\r\n return (\r\n <NavigationMenuPrimitive.Link\r\n data-slot=\"navigation-menu-link\"\r\n className={cn(\r\n \"hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 data-[active=true]:bg-neutral-100/50 data-[active=true]:text-neutral-900 ring-neutral-950/10 dark:ring-neutral-950/20 dark:outline-ring/40 outline-ring/50 [&_svg:not([class*='text-'])]:text-neutral-500 flex flex-col gap-1 rounded-xs p-2 text-sm transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[active=true]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:ring-neutral-300/10 dark:dark:ring-neutral-300/20 dark:[&_svg:not([class*='text-'])]:text-neutral-400\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction NavigationMenuIndicator({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\r\n return (\r\n <NavigationMenuPrimitive.Indicator\r\n data-slot=\"navigation-menu-indicator\"\r\n className={cn(\r\n \"data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-1 flex h-1.5 items-end justify-center overflow-hidden\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <div className=\"bg-neutral-200 relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md dark:bg-neutral-800\" />\r\n </NavigationMenuPrimitive.Indicator>\r\n );\r\n}\r\n\r\nexport {\r\n NavigationMenu,\r\n NavigationMenuList,\r\n NavigationMenuItem,\r\n NavigationMenuContent,\r\n NavigationMenuTrigger,\r\n NavigationMenuLink,\r\n NavigationMenuIndicator,\r\n NavigationMenuViewport,\r\n navigationMenuTriggerStyle,\r\n};\r\n"],"names":["NavigationMenu","className","children","viewport","props","NavigationMenuPrimitive","cn","NavigationMenuViewport","NavigationMenuList","NavigationMenuItem","navigationMenuTriggerStyle","cva","NavigationMenuTrigger","ChevronDownIcon","NavigationMenuContent","NavigationMenuLink","NavigationMenuIndicator"],"mappings":";;;;;;;AAQA,SAASA,eAAe,EACtBC,SAAS,EACTC,QAAQ,EACRC,WAAW,IAAI,EACf,GAAGC,OAGJ;IACC,OACE,WADF,GACE,iEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,iBAAeF;QACf,WAAWG,IAAAA,mDAAAA,EAAAA,EACT,oFACAL;QAED,GAAGG,KAAK;;YAERF;YACAC,YAAY,WAAZA,GAAY,gEAACI,wBAAAA,CAAAA;;;AAGpB;AAEA,SAASC,mBAAmB,EAC1BP,SAAS,EACT,GAAGG,OACuD;IAC1D,OACE,WADF,GACE,gEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,iEACAL;QAED,GAAGG,KAAK;;AAGf;AAEA,SAASK,mBAAmB,EAC1BR,SAAS,EACT,GAAGG,OACuD;IAC1D,OACE,WADF,GACE,gEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,YAAYL;QACzB,GAAGG,KAAK;;AAGf;AAEA,MAAMM,6BAA6BC,IAAAA,8DAAAA,GAAAA,EACjC;AAGF,SAASC,sBAAsB,EAC7BX,SAAS,EACTC,QAAQ,EACR,GAAGE,OAC0D;IAC7D,OACE,WADF,GACE,iEAACC,qEAAAA,OAA+B;QAC9B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAGI,8BAA8B,SAAST;QACpD,GAAGG,KAAK;;YAERF;YACA;0BACD,gEAACW,kDAAAA,eAAeA,EAAAA;gBACd,WAAU;gBACV,eAAY;;;;AAIpB;AAEA,SAASC,sBAAsB,EAC7Bb,SAAS,EACT,GAAGG,OAC0D;IAC7D,OACE,WADF,GACE,gEAACC,qEAAAA,OAA+B;QAC9B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,oWACA,kiCACAL;QAED,GAAGG,KAAK;;AAGf;AAEA,SAASG,uBAAuB,EAC9BN,SAAS,EACT,GAAGG,OAC2D;IAC9D,OACE,WADF,GACE,gEAAC;QACC,WAAWE,IAAAA,mDAAAA,EAAAA,EACT;kBAGF,8EAACD,qEAAAA,QAAgC;YAC/B,aAAU;YACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,oaACAL;YAED,GAAGG,KAAK;;;AAIjB;AAEA,SAASW,mBAAmB,EAC1Bd,SAAS,EACT,GAAGG,OACuD;IAC1D,OACE,WADF,GACE,gEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,uuBACAL;QAED,GAAGG,KAAK;;AAGf;AAEA,SAASY,wBAAwB,EAC/Bf,SAAS,EACT,GAAGG,OAC4D;IAC/D,OACE,WADF,GACE,gEAACC,qEAAAA,SAAiC;QAChC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,8LACAL;QAED,GAAGG,KAAK;kBAET,8EAAC;YAAI,WAAU;;;AAGrB"}
|
|
1
|
+
{"version":3,"file":"components\\ui\\navigation-menu.js","sources":["webpack://@arolariu/components/./src/components/ui/navigation-menu.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\";\nimport { cva } from \"class-variance-authority\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction NavigationMenu({\n className,\n children,\n viewport = true,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n viewport?: boolean;\n}) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n className={cn(\n \"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center\",\n className\n )}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n );\n}\n\nfunction NavigationMenuList({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n return (\n <NavigationMenuPrimitive.List\n data-slot=\"navigation-menu-list\"\n className={cn(\n \"group flex flex-1 list-none items-center justify-center gap-1\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot=\"navigation-menu-item\"\n className={cn(\"relative\", className)}\n {...props}\n />\n );\n}\n\nconst navigationMenuTriggerStyle = cva(\n \"group inline-flex h-9 w-max items-center justify-center rounded-md bg-white px-4 py-2 text-sm font-medium hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-neutral-100 data-[state=open]:text-neutral-900 data-[state=open]:focus:bg-neutral-100 data-[state=open]:bg-neutral-100/50 focus-visible:ring-neutral-950/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:hover:bg-neutral-800 dark:data-[state=open]:text-neutral-50 dark:data-[state=open]:focus:bg-neutral-800 dark:data-[state=open]:bg-neutral-800/50 dark:focus-visible:ring-neutral-300/50\"\n);\n\nfunction NavigationMenuTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}\n {\"\"}\n <ChevronDownIcon\n className=\"relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n );\n}\n\nfunction NavigationMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={cn(\n \"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto\",\n \"group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuViewport({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\n return (\n <div\n className={cn(\n \"absolute top-full left-0 isolate z-50 flex justify-center\"\n )}\n >\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className={cn(\n \"origin-top-center bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-neutral-200 shadow md:w-[var(--radix-navigation-menu-viewport-width)] dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n className\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction NavigationMenuLink({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={cn(\n \"data-[active=true]:focus:bg-neutral-100 data-[active=true]:hover:bg-neutral-100 data-[active=true]:bg-neutral-100/50 data-[active=true]:text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 focus-visible:ring-neutral-950/50 [&_svg:not([class*='text-'])]:text-neutral-500 flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4 dark:data-[active=true]:focus:bg-neutral-800 dark:data-[active=true]:hover:bg-neutral-800 dark:data-[active=true]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:focus-visible:ring-neutral-300/50 dark:[&_svg:not([class*='text-'])]:text-neutral-400\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\n return (\n <NavigationMenuPrimitive.Indicator\n data-slot=\"navigation-menu-indicator\"\n className={cn(\n \"data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden\",\n className\n )}\n {...props}\n >\n <div className=\"bg-neutral-200 relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md dark:bg-neutral-800\" />\n </NavigationMenuPrimitive.Indicator>\n );\n}\n\nexport {\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n navigationMenuTriggerStyle,\n};\n"],"names":["NavigationMenu","className","children","viewport","props","NavigationMenuPrimitive","cn","NavigationMenuViewport","NavigationMenuList","NavigationMenuItem","navigationMenuTriggerStyle","cva","NavigationMenuTrigger","ChevronDownIcon","NavigationMenuContent","NavigationMenuLink","NavigationMenuIndicator"],"mappings":";;;;;;;AASA,SAASA,eAAe,EACtBC,SAAS,EACTC,QAAQ,EACRC,WAAW,IAAI,EACf,GAAGC,OAGJ;IACC,OACE,WADF,GACE,iEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,iBAAeF;QACf,WAAWG,IAAAA,mDAAAA,EAAAA,EACT,oFACAL;QAED,GAAGG,KAAK;;YAERF;YACAC,YAAY,WAAZA,GAAY,gEAACI,wBAAAA,CAAAA;;;AAGpB;AAEA,SAASC,mBAAmB,EAC1BP,SAAS,EACT,GAAGG,OACuD;IAC1D,OACE,WADF,GACE,gEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,iEACAL;QAED,GAAGG,KAAK;;AAGf;AAEA,SAASK,mBAAmB,EAC1BR,SAAS,EACT,GAAGG,OACuD;IAC1D,OACE,WADF,GACE,gEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,YAAYL;QACzB,GAAGG,KAAK;;AAGf;AAEA,MAAMM,6BAA6BC,IAAAA,8DAAAA,GAAAA,EACjC;AAGF,SAASC,sBAAsB,EAC7BX,SAAS,EACTC,QAAQ,EACR,GAAGE,OAC0D;IAC7D,OACE,WADF,GACE,iEAACC,qEAAAA,OAA+B;QAC9B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAGI,8BAA8B,SAAST;QACpD,GAAGG,KAAK;;YAERF;YACA;0BACD,gEAACW,kDAAAA,eAAeA,EAAAA;gBACd,WAAU;gBACV,eAAY;;;;AAIpB;AAEA,SAASC,sBAAsB,EAC7Bb,SAAS,EACT,GAAGG,OAC0D;IAC7D,OACE,WADF,GACE,gEAACC,qEAAAA,OAA+B;QAC9B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,oWACA,6hCACAL;QAED,GAAGG,KAAK;;AAGf;AAEA,SAASG,uBAAuB,EAC9BN,SAAS,EACT,GAAGG,OAC2D;IAC9D,OACE,WADF,GACE,gEAAC;QACC,WAAWE,IAAAA,mDAAAA,EAAAA,EACT;kBAGF,8EAACD,qEAAAA,QAAgC;YAC/B,aAAU;YACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,iaACAL;YAED,GAAGG,KAAK;;;AAIjB;AAEA,SAASW,mBAAmB,EAC1Bd,SAAS,EACT,GAAGG,OACuD;IAC1D,OACE,WADF,GACE,gEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,m1BACAL;QAED,GAAGG,KAAK;;AAGf;AAEA,SAASY,wBAAwB,EAC/Bf,SAAS,EACT,GAAGG,OAC4D;IAC/D,OACE,WADF,GACE,gEAACC,qEAAAA,SAAiC;QAChC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,gMACAL;QAED,GAAGG,KAAK;kBAET,8EAAC;YAAI,WAAU;;;AAGrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\pagination.js","sources":["webpack://@arolariu/components/./src/components/ui/pagination.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"components\\ui\\pagination.js","sources":["webpack://@arolariu/components/./src/components/ui/pagination.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n MoreHorizontalIcon,\n} from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Button, buttonVariants } from \"@/components/ui/button\";\n\nfunction Pagination({ className, ...props }: React.ComponentProps<\"nav\">) {\n return (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n data-slot=\"pagination\"\n className={cn(\"mx-auto flex w-full justify-center\", className)}\n {...props}\n />\n );\n}\n\nfunction PaginationContent({\n className,\n ...props\n}: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"pagination-content\"\n className={cn(\"flex flex-row items-center gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction PaginationItem({ ...props }: React.ComponentProps<\"li\">) {\n return <li data-slot=\"pagination-item\" {...props} />;\n}\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n} & Pick<React.ComponentProps<typeof Button>, \"size\"> &\n React.ComponentProps<\"a\">;\n\nfunction PaginationLink({\n className,\n isActive,\n size = \"icon\",\n ...props\n}: PaginationLinkProps) {\n return (\n <a\n aria-current={isActive ? \"page\" : undefined}\n data-slot=\"pagination-link\"\n data-active={isActive}\n className={cn(\n buttonVariants({\n variant: isActive ? \"outline\" : \"ghost\",\n size,\n }),\n className\n )}\n {...props}\n />\n );\n}\n\nfunction PaginationPrevious({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) {\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size=\"default\"\n className={cn(\"gap-1 px-2.5 sm:pl-2.5\", className)}\n {...props}\n >\n <ChevronLeftIcon />\n <span className=\"hidden sm:block\">Previous</span>\n </PaginationLink>\n );\n}\n\nfunction PaginationNext({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) {\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n size=\"default\"\n className={cn(\"gap-1 px-2.5 sm:pr-2.5\", className)}\n {...props}\n >\n <span className=\"hidden sm:block\">Next</span>\n <ChevronRightIcon />\n </PaginationLink>\n );\n}\n\nfunction PaginationEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n aria-hidden\n data-slot=\"pagination-ellipsis\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontalIcon className=\"size-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n );\n}\n\nexport {\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n};\n"],"names":["Pagination","className","props","cn","PaginationContent","PaginationItem","PaginationLink","isActive","size","undefined","buttonVariants","PaginationPrevious","ChevronLeftIcon","PaginationNext","ChevronRightIcon","PaginationEllipsis","MoreHorizontalIcon"],"mappings":";;;;;;AAYA,SAASA,WAAW,EAAEC,SAAS,EAAE,GAAGC,OAAoC;IACtE,OACE,WADF,GACE,gEAAC;QACC,MAAK;QACL,cAAW;QACX,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,sCAAsCF;QACnD,GAAGC,KAAK;;AAGf;AAEA,SAASE,kBAAkB,EACzBH,SAAS,EACT,GAAGC,OACwB;IAC3B,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,oCAAoCF;QACjD,GAAGC,KAAK;;AAGf;AAEA,SAASG,eAAe,EAAE,GAAGH,OAAmC;IAC9D,OAAO,WAAP,GAAO,gEAAC;QAAG,aAAU;QAAmB,GAAGA,KAAK;;AAClD;AAOA,SAASI,eAAe,EACtBL,SAAS,EACTM,QAAQ,EACRC,OAAO,MAAM,EACb,GAAGN,OACiB;IACpB,OACE,WADF,GACE,gEAAC;QACC,gBAAcK,WAAW,SAASE,KAAAA;QAClC,aAAU;QACV,eAAaF;QACb,WAAWJ,IAAAA,mDAAAA,EAAAA,EACTO,IAAAA,gDAAAA,cAAAA,EAAe;YACb,SAASH,WAAW,YAAY;YAChCC;QACF,IACAP;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASS,mBAAmB,EAC1BV,SAAS,EACT,GAAGC,OACyC;IAC5C,OACE,WADF,GACE,iEAACI,gBAAAA;QACC,cAAW;QACX,MAAK;QACL,WAAWH,IAAAA,mDAAAA,EAAAA,EAAG,0BAA0BF;QACvC,GAAGC,KAAK;;0BAET,gEAACU,kDAAAA,eAAeA,EAAAA,CAAAA;0BAChB,gEAAC;gBAAK,WAAU;0BAAkB;;;;AAGxC;AAEA,SAASC,eAAe,EACtBZ,SAAS,EACT,GAAGC,OACyC;IAC5C,OACE,WADF,GACE,iEAACI,gBAAAA;QACC,cAAW;QACX,MAAK;QACL,WAAWH,IAAAA,mDAAAA,EAAAA,EAAG,0BAA0BF;QACvC,GAAGC,KAAK;;0BAET,gEAAC;gBAAK,WAAU;0BAAkB;;0BAClC,gEAACY,kDAAAA,gBAAgBA,EAAAA,CAAAA;;;AAGvB;AAEA,SAASC,mBAAmB,EAC1Bd,SAAS,EACT,GAAGC,OAC0B;IAC7B,OACE,WADF,GACE,iEAAC;QACC,eAAW;QACX,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,2CAA2CF;QACxD,GAAGC,KAAK;;0BAET,gEAACc,kDAAAA,kBAAkBA,EAAAA;gBAAC,WAAU;;0BAC9B,gEAAC;gBAAK,WAAU;0BAAU;;;;AAGhC"}
|
|
@@ -21,7 +21,7 @@ function PopoverContent({ className, align = "center", sideOffset = 4, ...props
|
|
|
21
21
|
"data-slot": "popover-content",
|
|
22
22
|
align: align,
|
|
23
23
|
sideOffset: sideOffset,
|
|
24
|
-
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border border-neutral-200 p-4 shadow-md outline-hidden dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800", className),
|
|
24
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border border-neutral-200 p-4 shadow-md outline-hidden dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800", className),
|
|
25
25
|
...props
|
|
26
26
|
})
|
|
27
27
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\popover.js","sources":["webpack://@arolariu/components/./src/components/ui/popover.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"components\\ui\\popover.js","sources":["webpack://@arolariu/components/./src/components/ui/popover.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border border-neutral-200 p-4 shadow-md outline-hidden dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };\n"],"names":["Popover","props","PopoverPrimitive","PopoverTrigger","PopoverContent","className","align","sideOffset","cn","PopoverAnchor"],"mappings":";;;;;AAOA,SAASA,QAAQ,EACf,GAAGC,OACgD;IACnD,OAAO,WAAP,GAAO,gEAACC,6DAAAA,IAAqB;QAAC,aAAU;QAAW,GAAGD,KAAK;;AAC7D;AAEA,SAASE,eAAe,EACtB,GAAGF,OACmD;IACtD,OAAO,WAAP,GAAO,gEAACC,6DAAAA,OAAwB;QAAC,aAAU;QAAmB,GAAGD,KAAK;;AACxE;AAEA,SAASG,eAAe,EACtBC,SAAS,EACTC,QAAQ,QAAQ,EAChBC,aAAa,CAAC,EACd,GAAGN,OACmD;IACtD,OACE,WADF,GACE,gEAACC,6DAAAA,MAAuB;kBACtB,8EAACA,6DAAAA,OAAwB;YACvB,aAAU;YACV,OAAOI;YACP,YAAYC;YACZ,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,6iBACAH;YAED,GAAGJ,KAAK;;;AAIjB;AAEA,SAASQ,cAAc,EACrB,GAAGR,OACkD;IACrD,OAAO,WAAP,GAAO,gEAACC,6DAAAA,MAAuB;QAAC,aAAU;QAAkB,GAAGD,KAAK;;AACtE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\progress.js","sources":["webpack://@arolariu/components/./src/components/ui/progress.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"components\\ui\\progress.js","sources":["webpack://@arolariu/components/./src/components/ui/progress.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Progress({\n className,\n value,\n ...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n return (\n <ProgressPrimitive.Root\n data-slot=\"progress\"\n className={cn(\n \"bg-neutral-900/20 relative h-2 w-full overflow-hidden rounded-full dark:bg-neutral-50/20\",\n className\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"bg-neutral-900 h-full w-full flex-1 transition-all dark:bg-neutral-50\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\nexport { Progress };\n"],"names":["Progress","className","value","props","ProgressPrimitive","cn"],"mappings":";;;;;AAOA,SAASA,SAAS,EAChBC,SAAS,EACTC,KAAK,EACL,GAAGC,OACiD;IACpD,OACE,WADF,GACE,gEAACC,8DAAAA,IAAsB;QACrB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,4FACAJ;QAED,GAAGE,KAAK;kBAET,8EAACC,8DAAAA,SAA2B;YAC1B,aAAU;YACV,WAAU;YACV,OAAO;gBAAE,WAAW,CAAC,YAAY,EAAE,MAAOF,CAAAA,SAAS,GAAG,EAAE,CAAC;YAAC;;;AAIlE"}
|
|
@@ -14,7 +14,7 @@ function RadioGroup({ className, ...props }) {
|
|
|
14
14
|
function RadioGroupItem({ className, ...props }) {
|
|
15
15
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_radio_group_e8f239af__.Item, {
|
|
16
16
|
"data-slot": "radio-group-item",
|
|
17
|
-
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("border-neutral-200 text-neutral-900 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 aspect-square size-4 shrink-0 rounded-full border shadow-
|
|
17
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("border-neutral-200 text-neutral-900 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:bg-neutral-200/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-800 dark:text-neutral-50 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900 dark:dark:bg-neutral-800/30", className),
|
|
18
18
|
...props,
|
|
19
19
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_radio_group_e8f239af__.Indicator, {
|
|
20
20
|
"data-slot": "radio-group-indicator",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\radio-group.js","sources":["webpack://@arolariu/components/./src/components/ui/radio-group.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"components\\ui\\radio-group.js","sources":["webpack://@arolariu/components/./src/components/ui/radio-group.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport { CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction RadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\"grid gap-3\", className)}\n {...props}\n />\n );\n}\n\nfunction RadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n \"border-neutral-200 text-neutral-900 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:bg-neutral-200/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-800 dark:text-neutral-50 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900 dark:dark:bg-neutral-800/30\",\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"relative flex items-center justify-center\"\n >\n <CircleIcon className=\"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nexport { RadioGroup, RadioGroupItem };\n"],"names":["RadioGroup","className","props","RadioGroupPrimitive","cn","RadioGroupItem","CircleIcon"],"mappings":";;;;;;AAQA,SAASA,WAAW,EAClBC,SAAS,EACT,GAAGC,OACmD;IACtD,OACE,WADF,GACE,gEAACC,iEAAAA,IAAwB;QACvB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,cAAcH;QAC3B,GAAGC,KAAK;;AAGf;AAEA,SAASG,eAAe,EACtBJ,SAAS,EACT,GAAGC,OACmD;IACtD,OACE,WADF,GACE,gEAACC,iEAAAA,IAAwB;QACvB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,4oBACAH;QAED,GAAGC,KAAK;kBAET,8EAACC,iEAAAA,SAA6B;YAC5B,aAAU;YACV,WAAU;sBAEV,8EAACG,kDAAAA,UAAUA,EAAAA;gBAAC,WAAU;;;;AAI9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\resizable.js","sources":["webpack://@arolariu/components/./src/components/ui/resizable.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"components\\ui\\resizable.js","sources":["webpack://@arolariu/components/./src/components/ui/resizable.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { GripVerticalIcon } from \"lucide-react\";\nimport * as ResizablePrimitive from \"react-resizable-panels\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction ResizablePanelGroup({\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) {\n return (\n <ResizablePrimitive.PanelGroup\n data-slot=\"resizable-panel-group\"\n className={cn(\n \"flex h-full w-full data-[panel-group-direction=vertical]:flex-col\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ResizablePanel({\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.Panel>) {\n return <ResizablePrimitive.Panel data-slot=\"resizable-panel\" {...props} />;\n}\n\nfunction ResizableHandle({\n withHandle,\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\n withHandle?: boolean;\n}) {\n return (\n <ResizablePrimitive.PanelResizeHandle\n data-slot=\"resizable-handle\"\n className={cn(\n \"bg-neutral-200 focus-visible:ring-neutral-950 relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90 dark:bg-neutral-800 dark:focus-visible:ring-neutral-300\",\n className\n )}\n {...props}\n >\n {withHandle && (\n <div className=\"bg-neutral-200 z-10 flex h-4 w-3 items-center justify-center rounded-xs border dark:bg-neutral-800\">\n <GripVerticalIcon className=\"size-2.5\" />\n </div>\n )}\n </ResizablePrimitive.PanelResizeHandle>\n );\n}\n\nexport { ResizablePanelGroup, ResizablePanel, ResizableHandle };\n"],"names":["ResizablePanelGroup","className","props","ResizablePrimitive","cn","ResizablePanel","ResizableHandle","withHandle","GripVerticalIcon"],"mappings":";;;;;;AAQA,SAASA,oBAAoB,EAC3BC,SAAS,EACT,GAAGC,OACwD;IAC3D,OACE,WADF,GACE,gEAACC,4DAAAA,UAA6B;QAC5B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,qEACAH;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASG,eAAe,EACtB,GAAGH,OACmD;IACtD,OAAO,WAAP,GAAO,gEAACC,4DAAAA,KAAwB;QAAC,aAAU;QAAmB,GAAGD,KAAK;;AACxE;AAEA,SAASI,gBAAgB,EACvBC,UAAU,EACVN,SAAS,EACT,GAAGC,OAGJ;IACC,OACE,WADF,GACE,gEAACC,4DAAAA,iBAAoC;QACnC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,itBACAH;QAED,GAAGC,KAAK;kBAERK,cACC,WADDA,GACC,gEAAC;YAAI,WAAU;sBACb,8EAACC,kDAAAA,gBAAgBA,EAAAA;gBAAC,WAAU;;;;AAKtC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__ from "motion/react";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__ from "../../lib/utils.js";
|
|
6
|
+
const RippleButton = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forwardRef(({ children, onClick, className, rippleClassName, scale = 10, transition = {
|
|
7
|
+
duration: 0.6,
|
|
8
|
+
ease: "easeOut"
|
|
9
|
+
}, ...props }, ref)=>{
|
|
10
|
+
const [ripples, setRipples] = __WEBPACK_EXTERNAL_MODULE_react__.useState([]);
|
|
11
|
+
const buttonRef = __WEBPACK_EXTERNAL_MODULE_react__.useRef(null);
|
|
12
|
+
__WEBPACK_EXTERNAL_MODULE_react__.useImperativeHandle(ref, ()=>buttonRef.current);
|
|
13
|
+
const createRipple = __WEBPACK_EXTERNAL_MODULE_react__.useCallback((event)=>{
|
|
14
|
+
const button = buttonRef.current;
|
|
15
|
+
if (!button) return;
|
|
16
|
+
const rect = button.getBoundingClientRect();
|
|
17
|
+
const x = event.clientX - rect.left;
|
|
18
|
+
const y = event.clientY - rect.top;
|
|
19
|
+
const newRipple = {
|
|
20
|
+
id: Date.now(),
|
|
21
|
+
x,
|
|
22
|
+
y
|
|
23
|
+
};
|
|
24
|
+
setRipples((prev)=>[
|
|
25
|
+
...prev,
|
|
26
|
+
newRipple
|
|
27
|
+
]);
|
|
28
|
+
setTimeout(()=>{
|
|
29
|
+
setRipples((prev)=>prev.filter((r)=>r.id !== newRipple.id));
|
|
30
|
+
}, 600);
|
|
31
|
+
}, []);
|
|
32
|
+
const handleClick = __WEBPACK_EXTERNAL_MODULE_react__.useCallback((event)=>{
|
|
33
|
+
createRipple(event);
|
|
34
|
+
if (onClick) onClick(event);
|
|
35
|
+
}, [
|
|
36
|
+
createRipple,
|
|
37
|
+
onClick
|
|
38
|
+
]);
|
|
39
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.motion.button, {
|
|
40
|
+
ref: buttonRef,
|
|
41
|
+
onClick: handleClick,
|
|
42
|
+
whileTap: {
|
|
43
|
+
scale: 0.95
|
|
44
|
+
},
|
|
45
|
+
whileHover: {
|
|
46
|
+
scale: 1.05
|
|
47
|
+
},
|
|
48
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("relative h-10 px-4 py-2 text-sm font-medium text-primary-foreground overflow-hidden bg-primary cursor-pointer rounded-lg focus:outline-none", className),
|
|
49
|
+
...props,
|
|
50
|
+
children: [
|
|
51
|
+
children,
|
|
52
|
+
ripples.map((ripple)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.motion.span, {
|
|
53
|
+
initial: {
|
|
54
|
+
scale: 0,
|
|
55
|
+
opacity: 0.5
|
|
56
|
+
},
|
|
57
|
+
animate: {
|
|
58
|
+
scale,
|
|
59
|
+
opacity: 0
|
|
60
|
+
},
|
|
61
|
+
transition: transition,
|
|
62
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("absolute bg-primary-foreground rounded-full size-5 pointer-events-none", rippleClassName),
|
|
63
|
+
style: {
|
|
64
|
+
top: ripple.y - 10,
|
|
65
|
+
left: ripple.x - 10
|
|
66
|
+
}
|
|
67
|
+
}, ripple.id))
|
|
68
|
+
]
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
RippleButton.displayName = "RippleButton";
|
|
72
|
+
export { RippleButton };
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=ripple-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components\\ui\\ripple-button.js","sources":["webpack://@arolariu/components/./src/components/ui/ripple-button.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { type HTMLMotionProps, motion, type Transition } from \"motion/react\";\n\nimport { cn } from \"@/lib/utils\";\n\ninterface Ripple {\n id: number;\n x: number;\n y: number;\n}\n\ninterface RippleButtonProps extends HTMLMotionProps<\"button\"> {\n children: React.ReactNode;\n rippleClassName?: string;\n scale?: number;\n transition?: Transition;\n}\n\nconst RippleButton = React.forwardRef<HTMLButtonElement, RippleButtonProps>(\n (\n {\n children,\n onClick,\n className,\n rippleClassName,\n scale = 10,\n transition = { duration: 0.6, ease: \"easeOut\" },\n ...props\n },\n ref\n ) => {\n const [ripples, setRipples] = React.useState<Ripple[]>([]);\n const buttonRef = React.useRef<HTMLButtonElement>(null);\n React.useImperativeHandle(\n ref,\n () => buttonRef.current as HTMLButtonElement\n );\n\n const createRipple = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n const button = buttonRef.current;\n if (!button) return;\n\n const rect = button.getBoundingClientRect();\n const x = event.clientX - rect.left;\n const y = event.clientY - rect.top;\n\n const newRipple: Ripple = {\n id: Date.now(),\n x,\n y,\n };\n\n setRipples((prev) => [...prev, newRipple]);\n\n setTimeout(() => {\n setRipples((prev) => prev.filter((r) => r.id !== newRipple.id));\n }, 600);\n },\n []\n );\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n createRipple(event);\n if (onClick) {\n onClick(event);\n }\n },\n [createRipple, onClick]\n );\n\n return (\n <motion.button\n ref={buttonRef}\n onClick={handleClick}\n whileTap={{ scale: 0.95 }}\n whileHover={{ scale: 1.05 }}\n className={cn(\n \"relative h-10 px-4 py-2 text-sm font-medium text-primary-foreground overflow-hidden bg-primary cursor-pointer rounded-lg focus:outline-none\",\n className\n )}\n {...props}\n >\n {children}\n {ripples.map((ripple) => (\n <motion.span\n key={ripple.id}\n initial={{ scale: 0, opacity: 0.5 }}\n animate={{ scale, opacity: 0 }}\n transition={transition}\n className={cn(\n \"absolute bg-primary-foreground rounded-full size-5 pointer-events-none\",\n rippleClassName\n )}\n style={{\n top: ripple.y - 10,\n left: ripple.x - 10,\n }}\n />\n ))}\n </motion.button>\n );\n }\n);\n\nRippleButton.displayName = \"RippleButton\";\n\nexport { RippleButton, type RippleButtonProps };\n"],"names":["RippleButton","React","children","onClick","className","rippleClassName","scale","transition","props","ref","ripples","setRipples","buttonRef","createRipple","event","button","rect","x","y","newRipple","Date","prev","setTimeout","r","handleClick","motion","cn","ripple"],"mappings":";;;;;AAoBA,MAAMA,eAAe,WAAfA,GAAeC,kCAAAA,UAAgB,CACnC,CACE,EACEC,QAAQ,EACRC,OAAO,EACPC,SAAS,EACTC,eAAe,EACfC,QAAQ,EAAE,EACVC,aAAa;IAAE,UAAU;IAAK,MAAM;AAAU,CAAC,EAC/C,GAAGC,OACJ,EACDC;IAEA,MAAM,CAACC,SAASC,WAAW,GAAGV,kCAAAA,QAAc,CAAW,EAAE;IACzD,MAAMW,YAAYX,kCAAAA,MAAY,CAAoB;IAClDA,kCAAAA,mBAAyB,CACvBQ,KACA,IAAMG,UAAU,OAAO;IAGzB,MAAMC,eAAeZ,kCAAAA,WAAiB,CACpC,CAACa;QACC,MAAMC,SAASH,UAAU,OAAO;QAChC,IAAI,CAACG,QAAQ;QAEb,MAAMC,OAAOD,OAAO,qBAAqB;QACzC,MAAME,IAAIH,MAAM,OAAO,GAAGE,KAAK,IAAI;QACnC,MAAME,IAAIJ,MAAM,OAAO,GAAGE,KAAK,GAAG;QAElC,MAAMG,YAAoB;YACxB,IAAIC,KAAK,GAAG;YACZH;YACAC;QACF;QAEAP,WAAW,CAACU,OAAS;mBAAIA;gBAAMF;aAAU;QAEzCG,WAAW;YACTX,WAAW,CAACU,OAASA,KAAK,MAAM,CAAC,CAACE,IAAMA,EAAE,EAAE,KAAKJ,UAAU,EAAE;QAC/D,GAAG;IACL,GACA,EAAE;IAGJ,MAAMK,cAAcvB,kCAAAA,WAAiB,CACnC,CAACa;QACCD,aAAaC;QACb,IAAIX,SACFA,QAAQW;IAEZ,GACA;QAACD;QAAcV;KAAQ;IAGzB,OACE,WADF,GACE,iEAACsB,kDAAAA,MAAAA,CAAAA,MAAa;QACZ,KAAKb;QACL,SAASY;QACT,UAAU;YAAE,OAAO;QAAK;QACxB,YAAY;YAAE,OAAO;QAAK;QAC1B,WAAWE,IAAAA,mDAAAA,EAAAA,EACT,+IACAtB;QAED,GAAGI,KAAK;;YAERN;YACAQ,QAAQ,GAAG,CAAC,CAACiB,SACZ,WADYA,GACZ,gEAACF,kDAAAA,MAAAA,CAAAA,IAAW;oBAEV,SAAS;wBAAE,OAAO;wBAAG,SAAS;oBAAI;oBAClC,SAAS;wBAAEnB;wBAAO,SAAS;oBAAE;oBAC7B,YAAYC;oBACZ,WAAWmB,IAAAA,mDAAAA,EAAAA,EACT,0EACArB;oBAEF,OAAO;wBACL,KAAKsB,OAAO,CAAC,GAAG;wBAChB,MAAMA,OAAO,CAAC,GAAG;oBACnB;mBAXKA,OAAO,EAAE;;;AAgBxB;AAGF3B,aAAa,WAAW,GAAG"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__ from "../../lib/utils.js";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__ from "motion/react";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
6
|
+
const Scratcher = ({ width, height, minScratchPercentage = 50, onComplete, children, className, gradientColors = [
|
|
7
|
+
"#A97CF8",
|
|
8
|
+
"#F38CB8",
|
|
9
|
+
"#FDCC92"
|
|
10
|
+
] })=>{
|
|
11
|
+
const canvasRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(null);
|
|
12
|
+
const [isScratching, setIsScratching] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
|
|
13
|
+
const [isComplete, setIsComplete] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
|
|
14
|
+
const controls = (0, __WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.useAnimation)();
|
|
15
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
16
|
+
const canvas = canvasRef.current;
|
|
17
|
+
const ctx = canvas?.getContext("2d");
|
|
18
|
+
if (canvas && ctx) {
|
|
19
|
+
ctx.fillStyle = "#ccc";
|
|
20
|
+
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
|
21
|
+
const gradient = ctx.createLinearGradient(0, 0, canvas.width, canvas.height);
|
|
22
|
+
gradient.addColorStop(0, gradientColors[0]);
|
|
23
|
+
gradient.addColorStop(0.5, gradientColors[1]);
|
|
24
|
+
gradient.addColorStop(1, gradientColors[2]);
|
|
25
|
+
ctx.fillStyle = gradient;
|
|
26
|
+
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
|
27
|
+
}
|
|
28
|
+
}, [
|
|
29
|
+
gradientColors
|
|
30
|
+
]);
|
|
31
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
32
|
+
const handleDocumentMouseMove = (event)=>{
|
|
33
|
+
if (!isScratching) return;
|
|
34
|
+
scratch(event.clientX, event.clientY);
|
|
35
|
+
};
|
|
36
|
+
const handleDocumentTouchMove = (event)=>{
|
|
37
|
+
if (!isScratching) return;
|
|
38
|
+
const touch = event.touches[0];
|
|
39
|
+
scratch(touch.clientX, touch.clientY);
|
|
40
|
+
};
|
|
41
|
+
const handleDocumentMouseUp = ()=>{
|
|
42
|
+
setIsScratching(false);
|
|
43
|
+
checkCompletion();
|
|
44
|
+
};
|
|
45
|
+
const handleDocumentTouchEnd = ()=>{
|
|
46
|
+
setIsScratching(false);
|
|
47
|
+
checkCompletion();
|
|
48
|
+
};
|
|
49
|
+
document.addEventListener("mousedown", handleDocumentMouseMove);
|
|
50
|
+
document.addEventListener("mousemove", handleDocumentMouseMove);
|
|
51
|
+
document.addEventListener("touchstart", handleDocumentTouchMove);
|
|
52
|
+
document.addEventListener("touchmove", handleDocumentTouchMove);
|
|
53
|
+
document.addEventListener("mouseup", handleDocumentMouseUp);
|
|
54
|
+
document.addEventListener("touchend", handleDocumentTouchEnd);
|
|
55
|
+
document.addEventListener("touchcancel", handleDocumentTouchEnd);
|
|
56
|
+
return ()=>{
|
|
57
|
+
document.removeEventListener("mousedown", handleDocumentMouseMove);
|
|
58
|
+
document.removeEventListener("mousemove", handleDocumentMouseMove);
|
|
59
|
+
document.removeEventListener("touchstart", handleDocumentTouchMove);
|
|
60
|
+
document.removeEventListener("touchmove", handleDocumentTouchMove);
|
|
61
|
+
document.removeEventListener("mouseup", handleDocumentMouseUp);
|
|
62
|
+
document.removeEventListener("touchend", handleDocumentTouchEnd);
|
|
63
|
+
document.removeEventListener("touchcancel", handleDocumentTouchEnd);
|
|
64
|
+
};
|
|
65
|
+
}, [
|
|
66
|
+
isScratching
|
|
67
|
+
]);
|
|
68
|
+
const handleMouseDown = ()=>setIsScratching(true);
|
|
69
|
+
const handleTouchStart = ()=>setIsScratching(true);
|
|
70
|
+
const scratch = (clientX, clientY)=>{
|
|
71
|
+
const canvas = canvasRef.current;
|
|
72
|
+
const ctx = canvas?.getContext("2d");
|
|
73
|
+
if (canvas && ctx) {
|
|
74
|
+
const rect = canvas.getBoundingClientRect();
|
|
75
|
+
const x = clientX - rect.left + 16;
|
|
76
|
+
const y = clientY - rect.top + 16;
|
|
77
|
+
ctx.globalCompositeOperation = "destination-out";
|
|
78
|
+
ctx.beginPath();
|
|
79
|
+
ctx.arc(x, y, 30, 0, 2 * Math.PI);
|
|
80
|
+
ctx.fill();
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
const startAnimation = async ()=>{
|
|
84
|
+
await controls.start({
|
|
85
|
+
scale: [
|
|
86
|
+
1,
|
|
87
|
+
1.5,
|
|
88
|
+
1
|
|
89
|
+
],
|
|
90
|
+
rotate: [
|
|
91
|
+
0,
|
|
92
|
+
10,
|
|
93
|
+
-10,
|
|
94
|
+
10,
|
|
95
|
+
-10,
|
|
96
|
+
0
|
|
97
|
+
],
|
|
98
|
+
transition: {
|
|
99
|
+
duration: 0.5
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
if (onComplete) onComplete();
|
|
103
|
+
};
|
|
104
|
+
const checkCompletion = ()=>{
|
|
105
|
+
if (isComplete) return;
|
|
106
|
+
const canvas = canvasRef.current;
|
|
107
|
+
const ctx = canvas?.getContext("2d");
|
|
108
|
+
if (canvas && ctx) {
|
|
109
|
+
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
|
|
110
|
+
const pixels = imageData.data;
|
|
111
|
+
const totalPixels = pixels.length / 4;
|
|
112
|
+
let clearPixels = 0;
|
|
113
|
+
for(let i = 3; i < pixels.length; i += 4)if (0 === pixels[i]) clearPixels++;
|
|
114
|
+
const percentage = clearPixels / totalPixels * 100;
|
|
115
|
+
if (percentage >= minScratchPercentage) {
|
|
116
|
+
setIsComplete(true);
|
|
117
|
+
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
118
|
+
startAnimation();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.motion.div, {
|
|
123
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("relative select-none", className),
|
|
124
|
+
style: {
|
|
125
|
+
width,
|
|
126
|
+
height,
|
|
127
|
+
cursor: "url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNSIgc3R5bGU9ImZpbGw6I2ZmZjtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6MXB4OyIgLz4KPC9zdmc+'), auto"
|
|
128
|
+
},
|
|
129
|
+
animate: controls,
|
|
130
|
+
children: [
|
|
131
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("canvas", {
|
|
132
|
+
ref: canvasRef,
|
|
133
|
+
width: width,
|
|
134
|
+
height: height,
|
|
135
|
+
className: "absolute left-0 top-0",
|
|
136
|
+
onMouseDown: handleMouseDown,
|
|
137
|
+
onTouchStart: handleTouchStart
|
|
138
|
+
}),
|
|
139
|
+
children
|
|
140
|
+
]
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
export { Scratcher };
|
|
144
|
+
|
|
145
|
+
//# sourceMappingURL=scratcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components\\ui\\scratcher.js","sources":["webpack://@arolariu/components/./src/components/ui/scratcher.tsx"],"sourcesContent":["\n\nimport { cn } from \"@/lib/utils\";\nimport { motion, useAnimation } from \"motion/react\";\nimport React, { useEffect, useRef, useState } from \"react\";\n\ninterface ScratcherProps {\n children: React.ReactNode;\n width: number;\n height: number;\n minScratchPercentage?: number;\n className?: string;\n onComplete?: () => void;\n gradientColors?: [string, string, string];\n}\n\nexport const Scratcher: React.FC<ScratcherProps> = ({\n width,\n height,\n minScratchPercentage = 50,\n onComplete,\n children,\n className,\n gradientColors = [\"#A97CF8\", \"#F38CB8\", \"#FDCC92\"],\n}) => {\n const canvasRef = useRef<HTMLCanvasElement>(null);\n const [isScratching, setIsScratching] = useState(false);\n const [isComplete, setIsComplete] = useState(false);\n\n const controls = useAnimation();\n\n useEffect(() => {\n const canvas = canvasRef.current;\n const ctx = canvas?.getContext(\"2d\");\n if (canvas && ctx) {\n ctx.fillStyle = \"#ccc\";\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n const gradient = ctx.createLinearGradient(\n 0,\n 0,\n canvas.width,\n canvas.height\n );\n gradient.addColorStop(0, gradientColors[0]);\n gradient.addColorStop(0.5, gradientColors[1]);\n gradient.addColorStop(1, gradientColors[2]);\n ctx.fillStyle = gradient;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n }\n }, [gradientColors]);\n\n useEffect(() => {\n const handleDocumentMouseMove = (event: MouseEvent) => {\n if (!isScratching) return;\n scratch(event.clientX, event.clientY);\n };\n\n const handleDocumentTouchMove = (event: TouchEvent) => {\n if (!isScratching) return;\n const touch = event.touches[0];\n scratch(touch.clientX, touch.clientY);\n };\n\n const handleDocumentMouseUp = () => {\n setIsScratching(false);\n checkCompletion();\n };\n\n const handleDocumentTouchEnd = () => {\n setIsScratching(false);\n checkCompletion();\n };\n\n document.addEventListener(\"mousedown\", handleDocumentMouseMove);\n document.addEventListener(\"mousemove\", handleDocumentMouseMove);\n document.addEventListener(\"touchstart\", handleDocumentTouchMove);\n document.addEventListener(\"touchmove\", handleDocumentTouchMove);\n document.addEventListener(\"mouseup\", handleDocumentMouseUp);\n document.addEventListener(\"touchend\", handleDocumentTouchEnd);\n document.addEventListener(\"touchcancel\", handleDocumentTouchEnd);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleDocumentMouseMove);\n document.removeEventListener(\"mousemove\", handleDocumentMouseMove);\n document.removeEventListener(\"touchstart\", handleDocumentTouchMove);\n document.removeEventListener(\"touchmove\", handleDocumentTouchMove);\n document.removeEventListener(\"mouseup\", handleDocumentMouseUp);\n document.removeEventListener(\"touchend\", handleDocumentTouchEnd);\n document.removeEventListener(\"touchcancel\", handleDocumentTouchEnd);\n };\n }, [isScratching]);\n\n const handleMouseDown = () => setIsScratching(true);\n\n const handleTouchStart = () => setIsScratching(true);\n\n const scratch = (clientX: number, clientY: number) => {\n const canvas = canvasRef.current;\n const ctx = canvas?.getContext(\"2d\");\n if (canvas && ctx) {\n const rect = canvas.getBoundingClientRect();\n const x = clientX - rect.left + 16;\n const y = clientY - rect.top + 16;\n ctx.globalCompositeOperation = \"destination-out\";\n ctx.beginPath();\n ctx.arc(x, y, 30, 0, Math.PI * 2);\n ctx.fill();\n }\n };\n\n const startAnimation = async () => {\n await controls.start({\n scale: [1, 1.5, 1],\n rotate: [0, 10, -10, 10, -10, 0],\n transition: { duration: 0.5 },\n });\n\n // Call onComplete after animation finishes\n if (onComplete) {\n onComplete();\n }\n };\n\n const checkCompletion = () => {\n if (isComplete) return;\n\n const canvas = canvasRef.current;\n const ctx = canvas?.getContext(\"2d\");\n if (canvas && ctx) {\n const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);\n const pixels = imageData.data;\n const totalPixels = pixels.length / 4;\n let clearPixels = 0;\n\n for (let i = 3; i < pixels.length; i += 4) {\n if (pixels[i] === 0) clearPixels++;\n }\n\n const percentage = (clearPixels / totalPixels) * 100;\n\n if (percentage >= minScratchPercentage) {\n setIsComplete(true);\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n startAnimation();\n }\n }\n };\n\n return (\n <motion.div\n className={cn(\"relative select-none\", className)}\n style={{\n width,\n height,\n cursor:\n \"url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNSIgc3R5bGU9ImZpbGw6I2ZmZjtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6MXB4OyIgLz4KPC9zdmc+'), auto\",\n }}\n animate={controls}\n >\n <canvas\n ref={canvasRef}\n width={width}\n height={height}\n className=\"absolute left-0 top-0\"\n onMouseDown={handleMouseDown}\n onTouchStart={handleTouchStart}\n ></canvas>\n {children}\n </motion.div>\n );\n};\n"],"names":["Scratcher","width","height","minScratchPercentage","onComplete","children","className","gradientColors","canvasRef","useRef","isScratching","setIsScratching","useState","isComplete","setIsComplete","controls","useAnimation","useEffect","canvas","ctx","gradient","handleDocumentMouseMove","event","scratch","handleDocumentTouchMove","touch","handleDocumentMouseUp","checkCompletion","handleDocumentTouchEnd","document","handleMouseDown","handleTouchStart","clientX","clientY","rect","x","y","Math","startAnimation","imageData","pixels","totalPixels","clearPixels","i","percentage","motion","cn"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ function ScrollArea({ className, children, ...props }) {
|
|
|
11
11
|
children: [
|
|
12
12
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_scroll_area_93228e9e__.Viewport, {
|
|
13
13
|
"data-slot": "scroll-area-viewport",
|
|
14
|
-
className: "
|
|
14
|
+
className: "focus-visible:ring-neutral-950/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 dark:focus-visible:ring-neutral-300/50",
|
|
15
15
|
children: children
|
|
16
16
|
}),
|
|
17
17
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(ScrollBar, {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\scroll-area.js","sources":["webpack://@arolariu/components/./src/components/ui/scroll-area.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"components\\ui\\scroll-area.js","sources":["webpack://@arolariu/components/./src/components/ui/scroll-area.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"focus-visible:ring-neutral-950/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 dark:focus-visible:ring-neutral-300/50\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n \"flex touch-none p-px transition-colors select-none\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"bg-neutral-200 relative flex-1 rounded-full dark:bg-neutral-800\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };\n"],"names":["ScrollArea","className","children","props","ScrollAreaPrimitive","cn","ScrollBar","orientation"],"mappings":";;;;;AAOA,SAASA,WAAW,EAClBC,SAAS,EACTC,QAAQ,EACR,GAAGC,OACmD;IACtD,OACE,WADF,GACE,iEAACC,iEAAAA,IAAwB;QACvB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,YAAYJ;QACzB,GAAGE,KAAK;;0BAET,gEAACC,iEAAAA,QAA4B;gBAC3B,aAAU;gBACV,WAAU;0BAETF;;0BAEH,gEAACI,WAAAA,CAAAA;0BACD,gEAACF,iEAAAA,MAA0B;;;AAGjC;AAEA,SAASE,UAAU,EACjBL,SAAS,EACTM,cAAc,UAAU,EACxB,GAAGJ,OACkE;IACrE,OACE,WADF,GACE,gEAACC,iEAAAA,mBAAuC;QACtC,aAAU;QACV,aAAaG;QACb,WAAWF,IAAAA,mDAAAA,EAAAA,EACT,sDACAE,eAAAA,eACE,8CACFA,iBAAAA,eACE,gDACFN;QAED,GAAGE,KAAK;kBAET,8EAACC,iEAAAA,eAAmC;YAClC,aAAU;YACV,WAAU;;;AAIlB"}
|