daily-toolset
Version:
A lightweight, versatile collection of TypeScript utility functions for everyday development needs. Simplify and streamline your Node.js, React, and Next.js projects with a powerful suite of well-organized helpers for strings, arrays, dates, objects, and
41 lines (40 loc) • 1.99 kB
JavaScript
"use client";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Calendar = Calendar;
const jsx_runtime_1 = require("react/jsx-runtime");
const lu_1 = require("react-icons/lu");
const react_day_picker_1 = require("react-day-picker");
const button_1 = require("../../components/ui/button");
function Calendar({ className, classNames, showOutsideDays = true, captionLabelRenderer, ...props }) {
return ((0, jsx_runtime_1.jsx)(react_day_picker_1.DayPicker, { showOutsideDays: showOutsideDays, className: className, classNames: {
months: "months",
month: "month",
caption: "caption",
caption_label: "caption-label",
nav: "nav",
nav_button: `${(0, button_1.buttonVariants)({ variant: "outline" })} nav-button`,
nav_button_previous: "nav-prev",
nav_button_next: "nav-next",
table: "table",
head_row: "head-row",
head_cell: "head-cell",
row: "row",
cell: `cell ${props.mode === "range" ? "range-cell" : "single"}`,
day: `${(0, button_1.buttonVariants)({ variant: "ghost" })} day`,
day_range_start: "day-range-start",
day_range_end: "day-range-end",
day_selected: "day-selected",
day_today: "day-today",
day_outside: "dayoutside day-outside",
day_disabled: "day-disabled",
day_range_middle: "day-range-middle",
day_hidden: "day-hidden",
...classNames,
}, components: {
IconLeft: ({ className, ...props }) => ((0, jsx_runtime_1.jsx)(lu_1.LuChevronLeft, { className: `icon-size ${className}`, ...props })),
IconRight: ({ className, ...props }) => ((0, jsx_runtime_1.jsx)(lu_1.LuChevronRight, { className: `icon-size ${className}`, ...props })),
CaptionLabel: captionLabelRenderer,
}, ...props }));
}
Calendar.displayName = "Calendar";
;