pixelize-design-library 2.2.44 → 2.2.46

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.
@@ -83,13 +83,14 @@ var PaymentCard = function (_a) {
83
83
  react_1.default.createElement(react_2.Box, { textAlign: "center", mb: 6 },
84
84
  react_1.default.createElement(react_2.Flex, { justify: "center", align: "center", w: "3.125rem", h: "3.125rem", borderRadius: "lg", bg: buttonColor50, color: buttonColor, mx: "auto", mb: 4 }, plan.icon),
85
85
  react_1.default.createElement(react_2.Heading, { as: "h3", size: "lg", mb: 4, color: theme.colors.gray[800] }, plan.name),
86
- react_1.default.createElement(react_2.Heading, { as: "h4", size: "2xl", mb: 1, color: theme.colors.gray[800], display: "flex", justifyContent: "center" },
86
+ (plan.yearlyPrice !== 0 || plan.monthlyPrice !== 0) && (react_1.default.createElement(react_2.Heading, { as: "h4", size: "2xl", mb: 1, color: theme.colors.gray[800], display: "flex", justifyContent: "center" },
87
87
  react_1.default.createElement(react_2.Box, { fontSize: "1.5rem" }, "\u20B9"),
88
88
  billingCycle === "yearly" ? plan.yearlyPrice : plan.monthlyPrice,
89
89
  react_1.default.createElement(react_2.Box, { display: "flex", flexDirection: "column", justifyContent: "end", ml: 1 },
90
90
  react_1.default.createElement(react_2.Text, { fontSize: "0.9rem", fontWeight: "normal", color: theme.colors.gray[600] }, plan.billing),
91
- react_1.default.createElement(react_2.Text, { fontSize: "0.7rem", fontWeight: "normal", color: theme.colors.gray[600] }, plan.tax))),
92
- react_1.default.createElement(react_2.Text, { color: theme.colors.gray[600], mt: 3 }, plan.description)),
91
+ react_1.default.createElement(react_2.Text, { fontSize: "0.7rem", fontWeight: "normal", color: theme.colors.gray[600] }, plan.tax)))),
92
+ plan.priceDescription && (react_1.default.createElement(react_2.Text, { color: theme.colors.gray[600], mt: 2 }, plan === null || plan === void 0 ? void 0 : plan.priceDescription)),
93
+ react_1.default.createElement(react_2.Text, { color: theme.colors.gray[600], mt: 2 }, plan.description)),
93
94
  !isActive && (react_1.default.createElement(Button_1.default, __assign({ isLoading: plan.plan_id === buttonLoading, loadingText: plan.buttonLoadingText, width: "full", variant: plan.buttonVariant, size: "lg", onClick: function () { return onSelect === null || onSelect === void 0 ? void 0 : onSelect(plan.plan_id); }, onMouseEnter: function () { return onHover === null || onHover === void 0 ? void 0 : onHover(plan.plan_id, "button", true); }, onMouseLeave: function () { return onHover === null || onHover === void 0 ? void 0 : onHover(plan.plan_id, "button", false); } }, variantStyles), plan.buttonText)),
94
95
  react_1.default.createElement(react_2.VStack, { align: "start", spacing: 3, mt: 6 }, plan.features.map(function (feature, i) { return (react_1.default.createElement(react_2.Flex, { key: i, align: "center" },
95
96
  react_1.default.createElement(react_2.Icon, { as: lucide_react_1.Check, color: theme.colors.green[500], mr: 2 }),
@@ -23,4 +23,5 @@ export type Plan = {
23
23
  buttonVariant: "solid" | "outline" | "link";
24
24
  popular?: boolean;
25
25
  buttonLoadingText?: string;
26
+ priceDescription?: string;
26
27
  };
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ export type CalendarPanelProps = {
3
+ currentMonth: Date;
4
+ setCurrentMonth: (updater: (prev: Date) => Date) => void;
5
+ today: Date;
6
+ isRange: boolean;
7
+ tempDate: Date | null;
8
+ tempRangeStart: Date | null;
9
+ tempRangeEnd: Date | null;
10
+ isSameDay: (a: Date, b: Date) => boolean;
11
+ isBefore: (a: Date, b: Date) => boolean;
12
+ isAfter: (a: Date, b: Date) => boolean;
13
+ minDate?: Date;
14
+ maxDate?: Date;
15
+ disablePastDates?: boolean;
16
+ disableFutureDates?: boolean;
17
+ disableToday?: boolean;
18
+ onDaySelect: (d: Date) => void;
19
+ renderWeekdays?: React.ReactNode;
20
+ };
21
+ export declare const CalendarPanel: React.FC<CalendarPanelProps>;
22
+ export default CalendarPanel;
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CalendarPanel = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var react_2 = require("@chakra-ui/react");
9
+ var date_fns_1 = require("date-fns");
10
+ var lucide_react_1 = require("lucide-react");
11
+ var Button_1 = __importDefault(require("../Button/Button"));
12
+ var useCustomTheme_1 = require("../../Theme/useCustomTheme");
13
+ var CalendarPanel = function (_a) {
14
+ var currentMonth = _a.currentMonth, setCurrentMonth = _a.setCurrentMonth, today = _a.today, isRange = _a.isRange, tempDate = _a.tempDate, tempRangeStart = _a.tempRangeStart, tempRangeEnd = _a.tempRangeEnd, isSameDay = _a.isSameDay, isBefore = _a.isBefore, isAfter = _a.isAfter, minDate = _a.minDate, maxDate = _a.maxDate, disablePastDates = _a.disablePastDates, disableFutureDates = _a.disableFutureDates, disableToday = _a.disableToday, onDaySelect = _a.onDaySelect, renderWeekdays = _a.renderWeekdays;
15
+ var theme = (0, useCustomTheme_1.useCustomTheme)();
16
+ var renderDays = function () {
17
+ var monthStart = (0, date_fns_1.startOfMonth)(currentMonth);
18
+ var monthEnd = (0, date_fns_1.endOfMonth)(currentMonth);
19
+ var startDate = (0, date_fns_1.startOfWeek)(monthStart);
20
+ var endDate = (0, date_fns_1.endOfWeek)(monthEnd);
21
+ var rows = [];
22
+ var day = startDate;
23
+ while (day <= endDate) {
24
+ var days = [];
25
+ var _loop_1 = function (i) {
26
+ var thisDay = day;
27
+ var isInCurrentMonth = thisDay.getMonth() === currentMonth.getMonth();
28
+ var isToday = isSameDay(thisDay, today);
29
+ var isStart = isRange && tempRangeStart && isSameDay(thisDay, tempRangeStart);
30
+ var isEnd = isRange && tempRangeEnd && isSameDay(thisDay, tempRangeEnd);
31
+ var isInRange = isRange &&
32
+ tempRangeStart &&
33
+ tempRangeEnd &&
34
+ isAfter(thisDay, tempRangeStart) &&
35
+ isBefore(thisDay, tempRangeEnd);
36
+ var isSelected = !isRange && tempDate && isSameDay(thisDay, tempDate);
37
+ var disabled = !isInCurrentMonth ||
38
+ (minDate && isBefore(thisDay, minDate)) ||
39
+ (maxDate && isAfter(thisDay, maxDate)) ||
40
+ (disablePastDates && isBefore(thisDay, today) && !isSameDay(thisDay, today)) ||
41
+ (disableFutureDates && isAfter(thisDay, today) && !isSameDay(thisDay, today)) ||
42
+ (disableToday && isToday);
43
+ days.push(react_1.default.createElement(Button_1.default, { key: thisDay.toString(), size: "sm", variant: isStart || isEnd || isSelected ? "solid" : isInRange ? "outline" : "ghost", colorScheme: isStart || isEnd || isInRange || isSelected ? "primary" : "gray", opacity: isInCurrentMonth ? 1 : 0.4, onClick: function () { return !disabled && onDaySelect(new Date(thisDay)); }, isDisabled: disabled, border: isToday ? "0.125rem solid ".concat(theme.colors.primary[500]) : undefined, borderRadius: "full" }, (0, date_fns_1.format)(thisDay, "d")));
44
+ day = (0, date_fns_1.addDays)(day, 1);
45
+ };
46
+ for (var i = 0; i < 7; i++) {
47
+ _loop_1(i);
48
+ }
49
+ rows.push(react_1.default.createElement(react_2.Grid, { key: day.toString(), templateColumns: "repeat(7, 1fr)", gap: 1 }, days));
50
+ }
51
+ return rows;
52
+ };
53
+ return (react_1.default.createElement(react_1.default.Fragment, null,
54
+ react_1.default.createElement(react_2.Box, { display: "flex", alignItems: "center", justifyContent: "space-between", mb: 4 },
55
+ react_1.default.createElement(Button_1.default, { variant: "ghost", size: "sm", onClick: function () { return setCurrentMonth(function (prev) { return new Date(prev.getFullYear(), prev.getMonth() - 1, 1); }); }, "aria-label": "Previous month" },
56
+ react_1.default.createElement(lucide_react_1.ChevronLeftIcon, { size: 20 })),
57
+ react_1.default.createElement(react_2.Box, { display: "flex", alignItems: "center", gap: 2 },
58
+ react_1.default.createElement(react_2.Box, { as: "select", value: currentMonth.getMonth(), onChange: function (e) {
59
+ var newMonth = parseInt(e.target.value, 10);
60
+ setCurrentMonth(function (prev) { return new Date(prev.getFullYear(), newMonth, 1); });
61
+ }, border: "1px solid", borderColor: "gray.300", borderRadius: "md", px: 2, py: 1, fontSize: "sm", fontWeight: "medium", cursor: "pointer", bg: "white", outline: "none", _hover: {
62
+ borderColor: "gray.400",
63
+ borderWidth: "1px",
64
+ borderStyle: "solid",
65
+ }, _focus: {
66
+ outline: "none",
67
+ borderColor: theme.colors.primary[500],
68
+ borderWidth: "1px",
69
+ borderStyle: "solid",
70
+ boxShadow: "0 0 0 1px ".concat(theme.colors.primary[500]),
71
+ }, style: {
72
+ border: "1px solid #CBD5E0",
73
+ WebkitAppearance: "menulist",
74
+ MozAppearance: "menulist",
75
+ appearance: "menulist",
76
+ } }, Array.from({ length: 12 }).map(function (_, i) { return (react_1.default.createElement("option", { key: i, value: i }, (0, date_fns_1.format)(new Date(2000, i, 1), "MMMM"))); })),
77
+ react_1.default.createElement(react_2.Box, { as: "select", value: currentMonth.getFullYear(), onChange: function (e) {
78
+ var newYear = parseInt(e.target.value, 10);
79
+ setCurrentMonth(function (prev) { return new Date(newYear, prev.getMonth(), 1); });
80
+ }, border: "1px solid", borderColor: "gray.300", borderRadius: "md", px: 2, py: 1, fontSize: "sm", fontWeight: "medium", cursor: "pointer", bg: "white", outline: "none", _hover: {
81
+ borderColor: "gray.400",
82
+ borderWidth: "1px",
83
+ borderStyle: "solid",
84
+ }, _focus: {
85
+ outline: "none",
86
+ borderColor: theme.colors.primary[500],
87
+ borderWidth: "1px",
88
+ borderStyle: "solid",
89
+ boxShadow: "0 0 0 1px ".concat(theme.colors.primary[500]),
90
+ }, style: {
91
+ border: "1px solid #CBD5E0",
92
+ WebkitAppearance: "menulist",
93
+ MozAppearance: "menulist",
94
+ appearance: "menulist",
95
+ } }, Array.from({ length: 100 }).map(function (_, i) {
96
+ var year = new Date().getFullYear() - 50 + i;
97
+ return (react_1.default.createElement("option", { key: year, value: year }, year));
98
+ }))),
99
+ react_1.default.createElement(Button_1.default, { variant: "ghost", size: "sm", onClick: function () { return setCurrentMonth(function (prev) { return new Date(prev.getFullYear(), prev.getMonth() + 1, 1); }); }, "aria-label": "Next month" },
100
+ react_1.default.createElement(lucide_react_1.ChevronRightIcon, { size: 20 }))), renderWeekdays !== null && renderWeekdays !== void 0 ? renderWeekdays : (react_1.default.createElement(react_2.Grid, { templateColumns: "repeat(7, 1fr)", gap: 1, fontWeight: "bold", mb: 2 }, ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"].map(function (day) { return (react_1.default.createElement(react_2.Box, { textAlign: "center", key: day, fontSize: "sm", color: "gray.600", py: 2 }, day)); }))),
101
+ renderDays()));
102
+ };
103
+ exports.CalendarPanel = CalendarPanel;
104
+ exports.default = exports.CalendarPanel;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { RangeDatePickerProps } from "./DatePickerProps";
3
+ export declare const RangeDatePicker: React.FC<RangeDatePickerProps>;
4
+ export default RangeDatePicker;
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.RangeDatePicker = void 0;
30
+ var react_1 = __importStar(require("react"));
31
+ var react_2 = require("@chakra-ui/react");
32
+ var date_fns_1 = require("date-fns");
33
+ var lucide_react_1 = require("lucide-react");
34
+ var Button_1 = __importDefault(require("../Button/Button"));
35
+ var FormLabel_1 = require("../Common/FormLabel");
36
+ var HelperText_1 = __importDefault(require("../Common/HelperText"));
37
+ var ErrorMessage_1 = __importDefault(require("../Common/ErrorMessage"));
38
+ var CalendarPanel_1 = __importDefault(require("./CalendarPanel"));
39
+ var useCustomTheme_1 = require("../../Theme/useCustomTheme");
40
+ var TimePickerInput_1 = require("./TimePickerInput");
41
+ // helper to set time on date while preserving date part
42
+ var setTimeFrom = function (base, time) {
43
+ var b = base ? new Date(base) : new Date();
44
+ return new Date(b.getFullYear(), b.getMonth(), b.getDate(), time.getHours(), time.getMinutes(), time.getSeconds(), 0);
45
+ };
46
+ var RangeDatePicker = function (props) {
47
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
48
+ var id = props.id, name = props.name, label = props.label, isRequired = props.isRequired, isInformation = props.isInformation, informationMessage = props.informationMessage, error = props.error, errorMessage = props.errorMessage, helperText = props.helperText, placeholderText = props.placeholderText, _o = props.dateFormat, dateFormat = _o === void 0 ? "dd/MM/yyyy" : _o, minDate = props.minDate, maxDate = props.maxDate, disableFutureDates = props.disableFutureDates, disablePastDates = props.disablePastDates, _p = props.autoComplete, autoComplete = _p === void 0 ? "off" : _p, disabled = props.disabled, _q = props.width, width = _q === void 0 ? "100%" : _q, _r = props.disableToday, disableToday = _r === void 0 ? false : _r;
49
+ var theme = (0, useCustomTheme_1.useCustomTheme)();
50
+ var _s = (0, react_2.useDisclosure)(), isOpen = _s.isOpen, onOpen = _s.onOpen, onClose = _s.onClose;
51
+ var inputRef = (0, react_1.useRef)(null);
52
+ var triggerRef = (0, react_1.useRef)(null);
53
+ var popoverRef = (0, react_1.useRef)(null);
54
+ var today = new Date();
55
+ var placeholder = (0, react_1.useMemo)(function () { return placeholderText || "".concat(dateFormat, " - ").concat(dateFormat); }, [placeholderText, dateFormat]);
56
+ var selectedRange = (_b = (_a = props.value) !== null && _a !== void 0 ? _a : props.selectedDate) !== null && _b !== void 0 ? _b : null;
57
+ var _t = (0, react_1.useState)(new Date()), currentMonth = _t[0], setCurrentMonthState = _t[1];
58
+ var _u = (0, react_1.useState)((_c = selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.from) !== null && _c !== void 0 ? _c : null), tempRangeStart = _u[0], setTempRangeStart = _u[1];
59
+ var _v = (0, react_1.useState)((_d = selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.to) !== null && _d !== void 0 ? _d : null), tempRangeEnd = _v[0], setTempRangeEnd = _v[1];
60
+ var _w = (0, react_1.useState)(true), selectingStart = _w[0], setSelectingStart = _w[1];
61
+ var _x = (0, react_1.useState)(""), inputValue = _x[0], setInputValue = _x[1];
62
+ var formatHasTime = (0, react_1.useMemo)(function () {
63
+ var lower = dateFormat.toLowerCase();
64
+ return lower.includes("hh") || lower.includes("mm") || lower.includes("ss");
65
+ }, [dateFormat]);
66
+ (0, react_1.useEffect)(function () {
67
+ if ((selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.from) && (selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.to)) {
68
+ var start = new Date(selectedRange.from);
69
+ var end = new Date(selectedRange.to);
70
+ setTempRangeStart(start);
71
+ setTempRangeEnd(end);
72
+ setInputValue("".concat((0, date_fns_1.format)(start, dateFormat), " - ").concat((0, date_fns_1.format)(end, dateFormat)));
73
+ setCurrentMonthState(start);
74
+ }
75
+ else if (selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.from) {
76
+ var start = new Date(selectedRange.from);
77
+ setTempRangeStart(start);
78
+ setTempRangeEnd(null);
79
+ setInputValue("".concat((0, date_fns_1.format)(start, dateFormat), " -"));
80
+ setCurrentMonthState(start);
81
+ }
82
+ else {
83
+ setTempRangeStart(null);
84
+ setTempRangeEnd(null);
85
+ setInputValue("");
86
+ }
87
+ }, [selectedRange, dateFormat]);
88
+ var commitValue = function (value) {
89
+ props.onChange(value);
90
+ };
91
+ var finalize = function () {
92
+ if (tempRangeStart && tempRangeEnd) {
93
+ setInputValue("".concat((0, date_fns_1.format)(tempRangeStart, dateFormat), " - ").concat((0, date_fns_1.format)(tempRangeEnd, dateFormat)));
94
+ commitValue({ from: tempRangeStart, to: tempRangeEnd });
95
+ }
96
+ };
97
+ var requestClose = function () {
98
+ finalize();
99
+ onClose();
100
+ };
101
+ var handleOpen = function () {
102
+ onOpen();
103
+ };
104
+ var handleDaySelect = function (day) {
105
+ var updated = new Date(day);
106
+ if (selectingStart) {
107
+ setTempRangeStart(updated);
108
+ setTempRangeEnd(null);
109
+ setSelectingStart(false);
110
+ }
111
+ else {
112
+ var finalStart = tempRangeStart && updated < tempRangeStart ? updated : tempRangeStart !== null && tempRangeStart !== void 0 ? tempRangeStart : updated;
113
+ var finalEnd = tempRangeStart && updated < tempRangeStart ? tempRangeStart : updated;
114
+ setTempRangeStart(finalStart);
115
+ setTempRangeEnd(finalEnd);
116
+ setSelectingStart(true);
117
+ // no auto-close; wait for OK
118
+ }
119
+ };
120
+ (0, react_1.useEffect)(function () {
121
+ if (!isOpen)
122
+ return;
123
+ var handleMouseDownOutside = function (event) {
124
+ var target = event.target;
125
+ var inputEl = inputRef.current;
126
+ var triggerEl = triggerRef.current;
127
+ var popoverEl = popoverRef.current;
128
+ var insideInput = !!inputEl && inputEl.contains(target);
129
+ var insideTrigger = !!triggerEl && triggerEl.contains(target);
130
+ var insidePopover = !!popoverEl && popoverEl.contains(target);
131
+ if (!insideInput && !insideTrigger && !insidePopover) {
132
+ onClose();
133
+ }
134
+ };
135
+ document.addEventListener("mousedown", handleMouseDownOutside, true);
136
+ return function () { return document.removeEventListener("mousedown", handleMouseDownOutside, true); };
137
+ }, [isOpen, onClose]);
138
+ var handleClear = function () {
139
+ setTempRangeStart(null);
140
+ setTempRangeEnd(null);
141
+ setSelectingStart(true);
142
+ setInputValue("");
143
+ props.onChange(null);
144
+ };
145
+ var displayValue = (0, react_1.useMemo)(function () {
146
+ if (inputValue)
147
+ return inputValue;
148
+ if (tempRangeStart && tempRangeEnd)
149
+ return "".concat((0, date_fns_1.format)(tempRangeStart, dateFormat), " - ").concat((0, date_fns_1.format)(tempRangeEnd, dateFormat));
150
+ if (tempRangeStart)
151
+ return "".concat((0, date_fns_1.format)(tempRangeStart, dateFormat), " -");
152
+ return "";
153
+ }, [inputValue, tempRangeStart, tempRangeEnd, dateFormat]);
154
+ return (react_1.default.createElement(react_2.FormControl, { id: id, isInvalid: error, isRequired: isRequired, isDisabled: disabled, width: width },
155
+ label && (react_1.default.createElement(FormLabel_1.TextLabel, { label: label, isRequired: isRequired, isInformation: isInformation, informationMessage: informationMessage })),
156
+ react_1.default.createElement(react_2.Popover, { isLazy: true, isOpen: isOpen, onClose: finalize, placement: "bottom-start", closeOnBlur: false, returnFocusOnClose: false },
157
+ react_1.default.createElement(react_2.PopoverTrigger, null,
158
+ react_1.default.createElement(react_2.Box, { ref: triggerRef, as: "div" },
159
+ react_1.default.createElement(react_2.InputGroup, null,
160
+ react_1.default.createElement(react_2.Input, { ref: inputRef, id: id, name: name, placeholder: placeholder, value: displayValue, readOnly: true, isDisabled: disabled, autoComplete: autoComplete, onFocus: function () {
161
+ if (!isOpen)
162
+ handleOpen();
163
+ }, onClick: function () {
164
+ if (!isOpen)
165
+ handleOpen();
166
+ }, borderColor: error ? (_f = (_e = theme.colors.semantic) === null || _e === void 0 ? void 0 : _e.error) === null || _f === void 0 ? void 0 : _f[500] : undefined, _focus: {
167
+ borderColor: error ? (_h = (_g = theme.colors.semantic) === null || _g === void 0 ? void 0 : _g.error) === null || _h === void 0 ? void 0 : _h[500] : theme.colors.primary[500],
168
+ boxShadow: error
169
+ ? "0 0 0 1px ".concat((_k = (_j = theme.colors.semantic) === null || _j === void 0 ? void 0 : _j.error) === null || _k === void 0 ? void 0 : _k[500])
170
+ : "0 0 0 1px ".concat(theme.colors.primary[500]),
171
+ }, _hover: {
172
+ borderColor: error ? (_m = (_l = theme.colors.semantic) === null || _l === void 0 ? void 0 : _l.error) === null || _m === void 0 ? void 0 : _m[500] : undefined,
173
+ }, cursor: "pointer" }),
174
+ react_1.default.createElement(react_2.InputRightElement, { pr: 3, pointerEvents: "auto", style: { cursor: "pointer" }, onClick: function () { return (isOpen ? onClose() : handleOpen()); } },
175
+ react_1.default.createElement(lucide_react_1.CalendarIcon, { size: 18, color: theme.colors.gray[500] }))))),
176
+ react_1.default.createElement(react_2.PopoverContent, { width: "auto", p: 4, ref: popoverRef, boxShadow: "lg" },
177
+ react_1.default.createElement(react_2.PopoverBody, null,
178
+ react_1.default.createElement(CalendarPanel_1.default, { currentMonth: currentMonth, setCurrentMonth: function (updater) { return setCurrentMonthState(function (prev) { return updater(prev); }); }, today: today, isRange: true, tempDate: null, tempRangeStart: tempRangeStart, tempRangeEnd: tempRangeEnd, isSameDay: date_fns_1.isSameDay, isBefore: date_fns_1.isBefore, isAfter: date_fns_1.isAfter, minDate: minDate, maxDate: maxDate, disablePastDates: disablePastDates, disableFutureDates: disableFutureDates, disableToday: disableToday, onDaySelect: handleDaySelect }),
179
+ formatHasTime && (react_1.default.createElement(react_2.Box, { mt: 4, display: "grid", gridTemplateColumns: "1fr 1fr", gap: 3 },
180
+ react_1.default.createElement(react_2.Box, null,
181
+ react_1.default.createElement(react_2.Box, { fontSize: "sm", color: "gray.600", mb: 1 }, "Start time"),
182
+ react_1.default.createElement(TimePickerInput_1.TimePickerInput, { value: tempRangeStart, onChange: function (t) {
183
+ if (!t) {
184
+ setTempRangeStart(null);
185
+ return;
186
+ }
187
+ setTempRangeStart(setTimeFrom(tempRangeStart, t));
188
+ }, dateFormat: dateFormat.includes("HH") || dateFormat.includes("hh") ? "HH:mm" : "hh:mm a", disabled: disabled })),
189
+ react_1.default.createElement(react_2.Box, null,
190
+ react_1.default.createElement(react_2.Box, { fontSize: "sm", color: "gray.600", mb: 1 }, "End time"),
191
+ react_1.default.createElement(TimePickerInput_1.TimePickerInput, { value: tempRangeEnd, onChange: function (t) {
192
+ if (!t) {
193
+ setTempRangeEnd(null);
194
+ return;
195
+ }
196
+ setTempRangeEnd(setTimeFrom(tempRangeEnd, t));
197
+ }, dateFormat: dateFormat.includes("HH") || dateFormat.includes("hh") ? "HH:mm" : "hh:mm a", disabled: disabled })))),
198
+ react_1.default.createElement(react_2.Box, { display: "flex", justifyContent: "space-between", mt: 4, pt: 4, borderTop: "1px solid", borderColor: "gray.200" },
199
+ react_1.default.createElement(Button_1.default, { size: "sm", variant: "ghost", onClick: handleClear }, "Clear"),
200
+ react_1.default.createElement(Button_1.default, { size: "sm", colorScheme: "primary", onClick: requestClose }, "OK"))))),
201
+ error && errorMessage && react_1.default.createElement(ErrorMessage_1.default, { errorMessage: errorMessage }),
202
+ helperText && !error && react_1.default.createElement(HelperText_1.default, { helperText: helperText })));
203
+ };
204
+ exports.RangeDatePicker = RangeDatePicker;
205
+ exports.default = exports.RangeDatePicker;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { SingleDatePickerProps } from "./DatePickerProps";
3
+ export declare const SingleDatePicker: React.FC<SingleDatePickerProps>;
4
+ export default SingleDatePicker;