@arolariu/components
Version:
A collection of reusable components for React applications, built as ESM & CJS modules with tree shake, minify and bundler optimizations enabled, for the lowest bundle size (import cost)!
1 lines • 5 kB
Source Map (JSON)
{"version":3,"file":"components\\ui\\calendar.cjs","sources":["webpack://@arolariu/components/./src/components/ui/calendar.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\r\nimport { DayPicker } from \"react-day-picker\";\r\nimport { cn } from \"./../../lib/utils\";\r\nimport { buttonVariants } from \"./button\";\r\n\r\nfunction Calendar({\r\n className,\r\n classNames,\r\n showOutsideDays = true,\r\n ...props\r\n}: React.ComponentProps<typeof DayPicker>) {\r\n return (\r\n <DayPicker\r\n showOutsideDays={showOutsideDays}\r\n className={cn(\"p-3\", className)}\r\n classNames={{\r\n months: \"flex flex-col sm:flex-row gap-2\",\r\n month: \"flex flex-col gap-4\",\r\n month_caption: \"flex justify-center pt-1 relative items-center w-full\",\r\n caption_label: \"text-sm font-medium\",\r\n nav: \"flex items-center gap-1\",\r\n nav_button: cn(\r\n buttonVariants({ variant: \"outline\" }),\r\n \"size-7 bg-transparent p-0 opacity-50 hover:opacity-100\"\r\n ),\r\n button_previous: \"absolute left-1\",\r\n button_next: \"absolute right-1\",\r\n month_grid: \"w-full border-collapse space-x-1\",\r\n weekdays: \"flex\",\r\n weekday:\r\n \"text-neutral-500 rounded-md w-8 font-normal text-[0.8rem] dark:text-neutral-400\",\r\n row: \"flex w-full mt-2\",\r\n day: cn(\r\n \"relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-neutral-100 [&:has([aria-selected].day-range-end)]:rounded-r-md dark:[&:has([aria-selected])]:bg-neutral-800\",\r\n props.mode === \"range\"\r\n ? \"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md\"\r\n : \"[&:has([aria-selected])]:rounded-md\"\r\n ),\r\n day_button: cn(\r\n buttonVariants({ variant: \"ghost\" }),\r\n \"size-8 p-0 font-normal aria-selected:opacity-100\"\r\n ),\r\n range_start:\r\n \"day-range-start aria-selected:bg-neutral-900 aria-selected:text-neutral-50 dark:aria-selected:bg-neutral-50 dark:aria-selected:text-neutral-900\",\r\n range_end:\r\n \"day-range-end aria-selected:bg-neutral-900 aria-selected:text-neutral-50 dark:aria-selected:bg-neutral-50 dark:aria-selected:text-neutral-900\",\r\n selected:\r\n \"bg-neutral-900 text-neutral-50 hover:bg-neutral-900 hover:text-neutral-50 focus:bg-neutral-900 focus:text-neutral-50 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50 dark:hover:text-neutral-900 dark:focus:bg-neutral-50 dark:focus:text-neutral-900\",\r\n today:\r\n \"bg-neutral-100 text-neutral-900 dark:bg-neutral-800 dark:text-neutral-50\",\r\n outside:\r\n \"day-outside text-neutral-500 aria-selected:text-neutral-500 dark:text-neutral-400 dark:aria-selected:text-neutral-400\",\r\n disabled: \"text-neutral-500 opacity-50 dark:text-neutral-400\",\r\n range_middle:\r\n \"aria-selected:bg-neutral-100 aria-selected:text-neutral-900 dark:aria-selected:bg-neutral-800 dark:aria-selected:text-neutral-50\",\r\n hidden: \"invisible\",\r\n ...classNames,\r\n }}\r\n components={{\r\n Chevron: ({ className, ...props }) => {\r\n if (props.orientation === \"left\") {\r\n return <ChevronLeft className={cn(\"size-4\", className)} {...props} />\r\n }\r\n return <ChevronRight className={cn(\"size-4\", className)} {...props} />\r\n }\r\n }}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport { Calendar };\r\n"],"names":["Calendar","className","classNames","showOutsideDays","props","DayPicker","cn","buttonVariants","ChevronLeft","ChevronRight"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,SAASA,SAAS,EAChBC,SAAS,EACTC,UAAU,EACVC,kBAAkB,IAAI,EACtB,GAAGC,OACoC;IACvC,OACE,WADF,GACE,qCAACC,0CAAAA,SAASA,EAAAA;QACR,iBAAiBF;QACjB,WAAWG,IAAAA,0BAAAA,EAAAA,EAAG,OAAOL;QACrB,YAAY;YACV,QAAQ;YACR,OAAO;YACP,eAAe;YACf,eAAe;YACf,KAAK;YACL,YAAYK,IAAAA,0BAAAA,EAAAA,EACVC,IAAAA,oCAAAA,cAAAA,EAAe;gBAAE,SAAS;YAAU,IACpC;YAEF,iBAAiB;YACjB,aAAa;YACb,YAAY;YACZ,UAAU;YACV,SACE;YACF,KAAK;YACL,KAAKD,IAAAA,0BAAAA,EAAAA,EACH,qNACAF,YAAAA,MAAM,IAAI,GACN,yKACA;YAEN,YAAYE,IAAAA,0BAAAA,EAAAA,EACVC,IAAAA,oCAAAA,cAAAA,EAAe;gBAAE,SAAS;YAAQ,IAClC;YAEF,aACE;YACF,WACE;YACF,UACE;YACF,OACE;YACF,SACE;YACF,UAAU;YACV,cACE;YACF,QAAQ;YACR,GAAGL,UAAU;QACf;QACA,YAAY;YACV,SAAS,CAAC,EAAED,SAAS,EAAE,GAAGG,OAAO;gBAC/B,IAAIA,WAAAA,MAAM,WAAW,EACrB,OAAO,WAAP,GAAO,qCAACI,sCAAAA,WAAWA,EAAAA;oBAAC,WAAWF,IAAAA,0BAAAA,EAAAA,EAAG,UAAUL;oBAAa,GAAGG,KAAK;;gBAEjE,OAAO,WAAP,GAAO,qCAACK,sCAAAA,YAAYA,EAAAA;oBAAC,WAAWH,IAAAA,0BAAAA,EAAAA,EAAG,UAAUL;oBAAa,GAAGG,KAAK;;YACpE;QACF;QACC,GAAGA,KAAK;;AAGf"}