UNPKG

ivt

Version:

Ivt Components Library

59 lines (56 loc) 2.83 kB
import React__default from 'react'; import { c as cn } from './utils-BDcRwQMd.mjs'; import { t as tryParseDate, p as ptBR } from './date-Dqmv8Nr4.mjs'; import { C as CalendarDays } from './calendar-days-DnYx8d46.mjs'; import { X } from './x-B6hDJA_l.mjs'; import { C as Calendar } from './calendar-CDJv1B--.mjs'; import { P as Popover, a as PopoverTrigger, b as PopoverContent } from './popover-CdZgcLPo.mjs'; import { B as Button } from './button-CZpmCmNo.mjs'; import { f as format } from './format-8qs-kXlN.mjs'; function DatePicker({ date, setDate, placeholder = "Selecione uma data", id = "date-picker", buttonProps, popoverProps, popoverContentClassName, className, disabled, defaultMonth, clearable = true, ...props }) { const validDate = tryParseDate(date ?? undefined); const handleClear = (e)=>{ e.stopPropagation(); setDate(undefined); }; return /*#__PURE__*/ React__default.createElement(Popover, popoverProps, /*#__PURE__*/ React__default.createElement(PopoverTrigger, { asChild: true }, /*#__PURE__*/ React__default.createElement(Button, { id: id, variant: "outline", className: cn("hover:text-foreground justify-between text-left font-normal", !validDate && "text-muted-foreground hover:text-muted-foreground", className), disabled: typeof disabled === "boolean" ? disabled : undefined, ...buttonProps }, /*#__PURE__*/ React__default.createElement("div", { className: "flex items-center" }, /*#__PURE__*/ React__default.createElement(CalendarDays, { className: "mr-2 size-4" }), validDate ? format(validDate, "P", { locale: ptBR }) : /*#__PURE__*/ React__default.createElement("span", null, placeholder)), validDate && !disabled && clearable && // biome-ignore lint/a11y/useKeyWithClickEvents: clear button action // biome-ignore lint/a11y/noStaticElementInteractions: clear button action /*#__PURE__*/ React__default.createElement("div", { onClick: handleClear, className: "cursor-pointer p-1" }, /*#__PURE__*/ React__default.createElement(X, { className: "h-4 w-4 opacity-50 hover:opacity-100" })))), /*#__PURE__*/ React__default.createElement(PopoverContent, { className: cn("w-auto p-0", popoverContentClassName), align: "start" }, /*#__PURE__*/ React__default.createElement(Calendar, { autoFocus: true, captionLayout: "dropdown", selected: validDate, onSelect: (d)=>setDate(d), locale: ptBR, numberOfMonths: 1, fromYear: 2010, toYear: 2040, disabled: disabled, defaultMonth: validDate ?? defaultMonth ?? new Date(), ...props, mode: "single" }))); } export { DatePicker as D }; //# sourceMappingURL=date-picker-BBCtT16G.mjs.map