@caratlogic/design-system 0.1.8 → 0.1.10
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/dist/components/atoms/ToggleSwitch/ToggleSwitch.d.ts.map +1 -1
- package/dist/components/atoms/ToggleSwitch/ToggleSwitch.utils.d.ts +9 -0
- package/dist/components/atoms/ToggleSwitch/ToggleSwitch.utils.d.ts.map +1 -1
- package/dist/components/layouts/CreateFormPageShell/CreateFormPageShell.d.ts.map +1 -1
- package/dist/components/molecules/DateInput/DateInput.accessibility.d.ts +4 -0
- package/dist/components/molecules/DateInput/DateInput.accessibility.d.ts.map +1 -0
- package/dist/components/molecules/DateInput/DateInput.d.ts +5 -1
- package/dist/components/molecules/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/molecules/DateInput/DateInput.hooks.d.ts +3 -0
- package/dist/components/molecules/DateInput/DateInput.hooks.d.ts.map +1 -0
- package/dist/components/molecules/DateInput/DateInput.types.d.ts +23 -0
- package/dist/components/molecules/DateInput/DateInput.types.d.ts.map +1 -1
- package/dist/components/molecules/DateInput/DateInput.utils.d.ts +14 -0
- package/dist/components/molecules/DateInput/DateInput.utils.d.ts.map +1 -1
- package/dist/components/ui/switch.d.ts.map +1 -1
- package/dist/index.cjs.js +292 -88
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +292 -88
- package/dist/index.esm.js.map +1 -1
- package/dist/ui.cjs.js +26 -20
- package/dist/ui.cjs.js.map +1 -1
- package/dist/ui.esm.js +26 -20
- package/dist/ui.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -5772,21 +5772,33 @@ const TextHyperlink = ({ to, href, children, showIcon = true, className, 'aria-l
|
|
|
5772
5772
|
return (jsxRuntime.jsx("a", { href: href, target: "_blank", rel: "noopener noreferrer", "aria-label": ariaLabel, className: cn(LINK_CLASS, className), children: content }));
|
|
5773
5773
|
};
|
|
5774
5774
|
|
|
5775
|
+
/**
|
|
5776
|
+
* Track, thumb and travel, sized so the thumb keeps an even 2px inset on all
|
|
5777
|
+
* four sides. Travel is stated in px rather than `calc(100% - Npx)`: that form
|
|
5778
|
+
* resolves against the thumb's own width, so the gap silently changed whenever a
|
|
5779
|
+
* thumb size did — `md` ended up with a 0.2px vertical inset and no gap at
|
|
5780
|
+
* either end, which read as a thumb bulging out of its track.
|
|
5781
|
+
*
|
|
5782
|
+
* inner = track - 2px border | thumb = innerHeight - 4 | on = innerWidth - thumb - 2
|
|
5783
|
+
*/
|
|
5775
5784
|
const switchSizes = {
|
|
5785
|
+
// track 28x16 → inner 26x14, thumb 10, on 14
|
|
5776
5786
|
sm: {
|
|
5777
5787
|
switch: 'h-4 w-7',
|
|
5778
|
-
thumb: 'size-
|
|
5779
|
-
translate: 'data-[state=checked]:translate-x-[
|
|
5788
|
+
thumb: 'size-2.5',
|
|
5789
|
+
translate: 'data-[state=unchecked]:translate-x-[2px] data-[state=checked]:translate-x-[14px]',
|
|
5780
5790
|
},
|
|
5791
|
+
// track 32x20 → inner 30x18, thumb 14, on 14
|
|
5781
5792
|
md: {
|
|
5782
|
-
switch: 'h-
|
|
5783
|
-
thumb: 'size-
|
|
5784
|
-
translate: 'data-[state=
|
|
5793
|
+
switch: 'h-5 w-8',
|
|
5794
|
+
thumb: 'size-3.5',
|
|
5795
|
+
translate: 'data-[state=unchecked]:translate-x-[2px] data-[state=checked]:translate-x-[14px]',
|
|
5785
5796
|
},
|
|
5797
|
+
// track 44x24 → inner 42x22, thumb 18, on 22
|
|
5786
5798
|
lg: {
|
|
5787
5799
|
switch: 'h-6 w-11',
|
|
5788
|
-
thumb: 'size-
|
|
5789
|
-
translate: 'data-[state=checked]:translate-x-[
|
|
5800
|
+
thumb: 'size-[1.125rem]',
|
|
5801
|
+
translate: 'data-[state=unchecked]:translate-x-[2px] data-[state=checked]:translate-x-[22px]',
|
|
5790
5802
|
},
|
|
5791
5803
|
};
|
|
5792
5804
|
|
|
@@ -5797,7 +5809,7 @@ function ToggleSwitch({ checked = false, onCheckedChange, disabled = false, id,
|
|
|
5797
5809
|
}
|
|
5798
5810
|
};
|
|
5799
5811
|
const currentSize = switchSizes[size];
|
|
5800
|
-
const switchButton = (jsxRuntime.jsx("button", { type: "button", role: "switch", "aria-checked": checked, "data-state": checked ? 'checked' : 'unchecked', value: checked ? 'on' : 'off', "data-slot": "switch", disabled: disabled, onClick: handleClick, id: id, name: name, className: cn('peer inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent transition-all outline-none', 'focus-visible:ring-ring/50 focus-visible:border-ring focus-visible:ring-[3px]', 'disabled:cursor-not-allowed disabled:opacity-50', 'data-[state=unchecked]:bg-muted', 'data-[state=checked]:bg-primary', currentSize.switch, className), ...props, children: jsxRuntime.jsx("span", { "data-state": checked ? 'checked' : 'unchecked', "data-slot": "switch-thumb", className: cn('pointer-events-none block rounded-full ring-0 transition-transform', 'bg-card data-[state=checked]:bg-primary-foreground',
|
|
5812
|
+
const switchButton = (jsxRuntime.jsx("button", { type: "button", role: "switch", "aria-checked": checked, "data-state": checked ? 'checked' : 'unchecked', value: checked ? 'on' : 'off', "data-slot": "switch", disabled: disabled, onClick: handleClick, id: id, name: name, className: cn('peer inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent transition-all outline-none', 'focus-visible:ring-ring/50 focus-visible:border-ring focus-visible:ring-[3px]', 'disabled:cursor-not-allowed disabled:opacity-50', 'data-[state=unchecked]:bg-muted', 'data-[state=checked]:bg-primary', currentSize.switch, className), ...props, children: jsxRuntime.jsx("span", { "data-state": checked ? 'checked' : 'unchecked', "data-slot": "switch-thumb", className: cn('pointer-events-none block rounded-full ring-0 transition-transform', 'bg-card data-[state=checked]:bg-primary-foreground', currentSize.thumb, currentSize.translate) }) }));
|
|
5801
5813
|
if (!label) {
|
|
5802
5814
|
return switchButton;
|
|
5803
5815
|
}
|
|
@@ -12119,18 +12131,18 @@ function requireMoment () {
|
|
|
12119
12131
|
var momentExports = requireMoment();
|
|
12120
12132
|
var moment = /*@__PURE__*/getDefaultExportFromCjs(momentExports);
|
|
12121
12133
|
|
|
12122
|
-
const DATE_FORMAT = 'DD-MM-YYYY';
|
|
12134
|
+
const DATE_FORMAT$1 = 'DD-MM-YYYY';
|
|
12123
12135
|
/**
|
|
12124
12136
|
* Canonical default thumbnail used wherever a gem/diamond/inventory item has
|
|
12125
12137
|
* no image of its own — single source of truth (mirrors the gem inventory grid).
|
|
12126
12138
|
*/
|
|
12127
12139
|
const DEFAULT_INVENTORY_THUMBNAIL = '/default%20thumbnail.png';
|
|
12128
12140
|
|
|
12129
|
-
const formatDate$
|
|
12141
|
+
const formatDate$2 = (iso) => {
|
|
12130
12142
|
if (!iso)
|
|
12131
12143
|
return '-';
|
|
12132
12144
|
try {
|
|
12133
|
-
return moment(iso).format(DATE_FORMAT);
|
|
12145
|
+
return moment(iso).format(DATE_FORMAT$1);
|
|
12134
12146
|
}
|
|
12135
12147
|
catch {
|
|
12136
12148
|
return iso;
|
|
@@ -12143,7 +12155,7 @@ const InfoCard = ({ info, title, refundToWallet, onRefundChange, }) => {
|
|
|
12143
12155
|
if (React.isValidElement(info))
|
|
12144
12156
|
return jsxRuntime.jsx("div", { className: "mt-3", children: info });
|
|
12145
12157
|
const i = info;
|
|
12146
|
-
return (jsxRuntime.jsx("div", { className: "mt-1 rounded-lg border bg-muted p-3 shadow-sm", children: jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [jsxRuntime.jsx("div", { className: "w-36 text-sm text-muted-foreground", children: "Date" }), jsxRuntime.jsx("div", { children: formatDate$
|
|
12158
|
+
return (jsxRuntime.jsx("div", { className: "mt-1 rounded-lg border bg-muted p-3 shadow-sm", children: jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [jsxRuntime.jsx("div", { className: "w-36 text-sm text-muted-foreground", children: "Date" }), jsxRuntime.jsx("div", { children: formatDate$2(i.invoiceDate) })] }), jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [jsxRuntime.jsx("div", { className: "w-36 text-sm text-muted-foreground", children: "Total" }), jsxRuntime.jsx("div", { className: "font-medium text-foreground", children: formatCurrencyWithTenantSymbol(i.totalAmount) })] }), i.paidAmount !== undefined && (jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [jsxRuntime.jsx("div", { className: "w-36 text-sm text-muted-foreground", children: "Paid" }), jsxRuntime.jsx("div", { className: "font-medium text-primary", children: formatCurrencyWithTenantSymbol(i.paidAmount) })] })), i.outstandingAmount !== undefined && (jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [jsxRuntime.jsx("div", { className: "w-36 text-sm text-muted-foreground", children: "Outstanding" }), jsxRuntime.jsx("div", { className: "font-medium text-muted-foreground", children: formatCurrencyWithTenantSymbol(i.outstandingAmount) })] })), title === 'Cancel Invoice' &&
|
|
12147
12159
|
!React.isValidElement(info) &&
|
|
12148
12160
|
(i?.paidAmount ?? 0) > 0 && (jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [jsxRuntime.jsx("div", { className: "w-36 whitespace-nowrap text-sm text-muted-foreground", children: "Refund to Wallet" }), jsxRuntime.jsx(Checkbox, { checked: !!refundToWallet, onCheckedChange: (v) => onRefundChange?.(Boolean(v)), className: "bg-card" })] })), (i.customerName || i.email) && (jsxRuntime.jsxs("div", { className: "mt-1 rounded bg-card p-2", children: [i.customerName && (jsxRuntime.jsx("div", { className: "text-sm font-medium", children: i.customerName })), i.email && (jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground", children: i.email }))] }))] }) }));
|
|
12149
12161
|
};
|
|
@@ -22605,7 +22617,7 @@ function parseDate(value, dateFormat, locale, strictParsing, refDate) {
|
|
|
22605
22617
|
var parsedDate = parse(value, format_1, refDate, {
|
|
22606
22618
|
locale: localeObject});
|
|
22607
22619
|
if (isValid(parsedDate) &&
|
|
22608
|
-
(!strictParsing || value === formatDate(parsedDate, format_1, locale))) {
|
|
22620
|
+
(!strictParsing || value === formatDate$1(parsedDate, format_1, locale))) {
|
|
22609
22621
|
return parsedDate;
|
|
22610
22622
|
}
|
|
22611
22623
|
}
|
|
@@ -22633,7 +22645,7 @@ function isValid(date, minDate) {
|
|
|
22633
22645
|
* @param locale - The locale.
|
|
22634
22646
|
* @returns - The formatted date.
|
|
22635
22647
|
*/
|
|
22636
|
-
function formatDate(date, formatStr, locale) {
|
|
22648
|
+
function formatDate$1(date, formatStr, locale) {
|
|
22637
22649
|
if (locale === "en") {
|
|
22638
22650
|
return format(date, formatStr, {
|
|
22639
22651
|
useAdditionalWeekYearTokens: true,
|
|
@@ -22663,7 +22675,7 @@ function safeDateFormat(date, _a) {
|
|
|
22663
22675
|
var formatStr = (Array.isArray(dateFormat) && dateFormat.length > 0
|
|
22664
22676
|
? dateFormat[0]
|
|
22665
22677
|
: dateFormat); // Cast to string because it's impossible to get `string | string[] | undefined` here and typescript doesn't know that
|
|
22666
|
-
return (date && formatDate(date, formatStr, locale)) || "";
|
|
22678
|
+
return (date && formatDate$1(date, formatStr, locale)) || "";
|
|
22667
22679
|
}
|
|
22668
22680
|
/**
|
|
22669
22681
|
* Used as a delimiter to separate two dates when formatting a date range
|
|
@@ -22737,7 +22749,7 @@ function getWeek(date) {
|
|
|
22737
22749
|
* @returns - The day of the week code.
|
|
22738
22750
|
*/
|
|
22739
22751
|
function getDayOfWeekCode(day, locale) {
|
|
22740
|
-
return formatDate(day, "ddd", locale);
|
|
22752
|
+
return formatDate$1(day, "ddd", locale);
|
|
22741
22753
|
}
|
|
22742
22754
|
// *** Start of ***
|
|
22743
22755
|
/**
|
|
@@ -22960,7 +22972,7 @@ function getLocaleObject(localeSpec) {
|
|
|
22960
22972
|
* @returns - The formatted weekday.
|
|
22961
22973
|
*/
|
|
22962
22974
|
function getFormattedWeekdayInLocale(date, formatFunc, locale) {
|
|
22963
|
-
return formatFunc(formatDate(date, "EEEE", locale));
|
|
22975
|
+
return formatFunc(formatDate$1(date, "EEEE", locale));
|
|
22964
22976
|
}
|
|
22965
22977
|
/**
|
|
22966
22978
|
* Gets the minimum weekday in a given locale.
|
|
@@ -22970,7 +22982,7 @@ function getFormattedWeekdayInLocale(date, formatFunc, locale) {
|
|
|
22970
22982
|
* @returns - The minimum weekday.
|
|
22971
22983
|
*/
|
|
22972
22984
|
function getWeekdayMinInLocale(date, locale) {
|
|
22973
|
-
return formatDate(date, "EEEEEE", locale);
|
|
22985
|
+
return formatDate$1(date, "EEEEEE", locale);
|
|
22974
22986
|
}
|
|
22975
22987
|
/**
|
|
22976
22988
|
* Gets the short weekday in a given locale.
|
|
@@ -22980,7 +22992,7 @@ function getWeekdayMinInLocale(date, locale) {
|
|
|
22980
22992
|
* @returns - The short weekday.
|
|
22981
22993
|
*/
|
|
22982
22994
|
function getWeekdayShortInLocale(date, locale) {
|
|
22983
|
-
return formatDate(date, "EEE", locale);
|
|
22995
|
+
return formatDate$1(date, "EEE", locale);
|
|
22984
22996
|
}
|
|
22985
22997
|
/**
|
|
22986
22998
|
* Gets the month in a given locale.
|
|
@@ -22990,7 +23002,7 @@ function getWeekdayShortInLocale(date, locale) {
|
|
|
22990
23002
|
* @returns - The month.
|
|
22991
23003
|
*/
|
|
22992
23004
|
function getMonthInLocale(month, locale) {
|
|
22993
|
-
return formatDate(setMonth(newDate(), month), "LLLL", locale);
|
|
23005
|
+
return formatDate$1(setMonth(newDate(), month), "LLLL", locale);
|
|
22994
23006
|
}
|
|
22995
23007
|
/**
|
|
22996
23008
|
* Gets the short month in a given locale.
|
|
@@ -23000,7 +23012,7 @@ function getMonthInLocale(month, locale) {
|
|
|
23000
23012
|
* @returns - The short month.
|
|
23001
23013
|
*/
|
|
23002
23014
|
function getMonthShortInLocale(month, locale) {
|
|
23003
|
-
return formatDate(setMonth(newDate(), month), "LLL", locale);
|
|
23015
|
+
return formatDate$1(setMonth(newDate(), month), "LLL", locale);
|
|
23004
23016
|
}
|
|
23005
23017
|
/**
|
|
23006
23018
|
* Gets the short quarter in a given locale.
|
|
@@ -23010,7 +23022,7 @@ function getMonthShortInLocale(month, locale) {
|
|
|
23010
23022
|
* @returns - The short quarter.
|
|
23011
23023
|
*/
|
|
23012
23024
|
function getQuarterShortInLocale(quarter, locale) {
|
|
23013
|
-
return formatDate(setQuarter(newDate(), quarter), "QQQ", locale);
|
|
23025
|
+
return formatDate$1(setQuarter(newDate(), quarter), "QQQ", locale);
|
|
23014
23026
|
}
|
|
23015
23027
|
/**
|
|
23016
23028
|
* Checks if a day is disabled.
|
|
@@ -23340,7 +23352,7 @@ function getHighLightDaysMap(highlightDates, defaultClassName) {
|
|
|
23340
23352
|
for (var i = 0, len = highlightDates.length; i < len; i++) {
|
|
23341
23353
|
var obj = highlightDates[i];
|
|
23342
23354
|
if (isDate(obj)) {
|
|
23343
|
-
var key = formatDate(obj, "MM.dd.yyyy");
|
|
23355
|
+
var key = formatDate$1(obj, "MM.dd.yyyy");
|
|
23344
23356
|
var classNamesArr = dateClasses.get(key) || [];
|
|
23345
23357
|
if (!classNamesArr.includes(defaultClassName)) {
|
|
23346
23358
|
classNamesArr.push(defaultClassName);
|
|
@@ -23355,7 +23367,7 @@ function getHighLightDaysMap(highlightDates, defaultClassName) {
|
|
|
23355
23367
|
for (var k = 0, len_1 = arrOfDates.length; k < len_1; k++) {
|
|
23356
23368
|
var dateK = arrOfDates[k];
|
|
23357
23369
|
if (dateK) {
|
|
23358
|
-
var key = formatDate(dateK, "MM.dd.yyyy");
|
|
23370
|
+
var key = formatDate$1(dateK, "MM.dd.yyyy");
|
|
23359
23371
|
var classNamesArr = dateClasses.get(key) || [];
|
|
23360
23372
|
if (!classNamesArr.includes(className)) {
|
|
23361
23373
|
classNamesArr.push(className);
|
|
@@ -23395,7 +23407,7 @@ function getHolidaysMap(holidayDates, defaultClassName) {
|
|
|
23395
23407
|
if (!isDate(dateObj)) {
|
|
23396
23408
|
return;
|
|
23397
23409
|
}
|
|
23398
|
-
var key = formatDate(dateObj, "MM.dd.yyyy");
|
|
23410
|
+
var key = formatDate$1(dateObj, "MM.dd.yyyy");
|
|
23399
23411
|
var classNamesObj = dateClasses.get(key) || {
|
|
23400
23412
|
className: "",
|
|
23401
23413
|
holidayNames: [],
|
|
@@ -23769,7 +23781,7 @@ var Day = /** @class */ (function (_super) {
|
|
|
23769
23781
|
return false;
|
|
23770
23782
|
}
|
|
23771
23783
|
// Looking for className in the Map of {'day string, 'className'}
|
|
23772
|
-
var dayStr = formatDate(day, "MM.dd.yyyy");
|
|
23784
|
+
var dayStr = formatDate$1(day, "MM.dd.yyyy");
|
|
23773
23785
|
return highlightDates.get(dayStr);
|
|
23774
23786
|
};
|
|
23775
23787
|
// Function to return the array containing className associated to the date
|
|
@@ -23780,7 +23792,7 @@ var Day = /** @class */ (function (_super) {
|
|
|
23780
23792
|
// For type consistency no other reasons
|
|
23781
23793
|
return [undefined];
|
|
23782
23794
|
}
|
|
23783
|
-
var dayStr = formatDate(day, "MM.dd.yyyy");
|
|
23795
|
+
var dayStr = formatDate$1(day, "MM.dd.yyyy");
|
|
23784
23796
|
// Looking for className in the Map of {day string: {className, holidayName}}
|
|
23785
23797
|
if (holidays.has(dayStr)) {
|
|
23786
23798
|
return [(_a = holidays.get(dayStr)) === null || _a === void 0 ? void 0 : _a.className];
|
|
@@ -23921,12 +23933,12 @@ var Day = /** @class */ (function (_super) {
|
|
|
23921
23933
|
var prefix = _this.isDisabled() || _this.isExcluded()
|
|
23922
23934
|
? ariaLabelPrefixWhenDisabled
|
|
23923
23935
|
: ariaLabelPrefixWhenEnabled;
|
|
23924
|
-
return "".concat(prefix, " ").concat(formatDate(day, "PPPP", _this.props.locale));
|
|
23936
|
+
return "".concat(prefix, " ").concat(formatDate$1(day, "PPPP", _this.props.locale));
|
|
23925
23937
|
};
|
|
23926
23938
|
// A function to return the holiday's name as title's content
|
|
23927
23939
|
_this.getTitle = function () {
|
|
23928
23940
|
var _a = _this.props, day = _a.day, _b = _a.holidays, holidays = _b === void 0 ? new Map() : _b, excludeDates = _a.excludeDates;
|
|
23929
|
-
var compareDt = formatDate(day, "MM.dd.yyyy");
|
|
23941
|
+
var compareDt = formatDate$1(day, "MM.dd.yyyy");
|
|
23930
23942
|
var titles = [];
|
|
23931
23943
|
if (holidays.has(compareDt)) {
|
|
23932
23944
|
titles.push.apply(titles, holidays.get(compareDt).holidayNames);
|
|
@@ -24852,7 +24864,7 @@ var Month = /** @class */ (function (_super) {
|
|
|
24852
24864
|
var prefix = _this.isDisabled(labelDate) || _this.isExcluded(labelDate)
|
|
24853
24865
|
? disabledDayAriaLabelPrefix
|
|
24854
24866
|
: chooseDayAriaLabelPrefix;
|
|
24855
|
-
return "".concat(prefix, " ").concat(formatDate(labelDate, "MMMM yyyy", locale));
|
|
24867
|
+
return "".concat(prefix, " ").concat(formatDate$1(labelDate, "MMMM yyyy", locale));
|
|
24856
24868
|
};
|
|
24857
24869
|
_this.getQuarterClassNames = function (q) {
|
|
24858
24870
|
var _a = _this.props, day = _a.day, startDate = _a.startDate, endDate = _a.endDate, minDate = _a.minDate, maxDate = _a.maxDate, excludeDates = _a.excludeDates, includeDates = _a.includeDates, filterDate = _a.filterDate, preSelection = _a.preSelection, disabledKeyboardNavigation = _a.disabledKeyboardNavigation, disabled = _a.disabled;
|
|
@@ -24954,7 +24966,7 @@ var Month = /** @class */ (function (_super) {
|
|
|
24954
24966
|
: "";
|
|
24955
24967
|
// Format aria-label, return empty string if date is invalid
|
|
24956
24968
|
var formattedAriaLabel = isValid(day)
|
|
24957
|
-
? "".concat(formattedAriaLabelPrefix).concat(formatDate(day, "MMMM, yyyy", this.props.locale))
|
|
24969
|
+
? "".concat(formattedAriaLabelPrefix).concat(formatDate$1(day, "MMMM, yyyy", this.props.locale))
|
|
24958
24970
|
: "";
|
|
24959
24971
|
var shouldUseListboxRole = showMonthYearPicker || showQuarterYearPicker;
|
|
24960
24972
|
if (shouldUseListboxRole) {
|
|
@@ -25097,7 +25109,7 @@ var MonthYearDropdownOptions = /** @class */ (function (_super) {
|
|
|
25097
25109
|
? "react-datepicker__month-year-option--selected_month-year"
|
|
25098
25110
|
: "react-datepicker__month-year-option", key: monthYearPoint, onClick: _this.onChange.bind(_this, monthYearPoint), "aria-selected": isSameMonthYear ? "true" : undefined },
|
|
25099
25111
|
isSameMonthYear ? (React.createElement("span", { className: "react-datepicker__month-year-option--selected" }, "\u2713")) : (""),
|
|
25100
|
-
formatDate(monthYear, _this.props.dateFormat, _this.props.locale)));
|
|
25112
|
+
formatDate$1(monthYear, _this.props.dateFormat, _this.props.locale)));
|
|
25101
25113
|
});
|
|
25102
25114
|
};
|
|
25103
25115
|
_this.onChange = function (monthYear) { return _this.props.onChange(monthYear); };
|
|
@@ -25132,7 +25144,7 @@ var MonthYearDropdown = /** @class */ (function (_super) {
|
|
|
25132
25144
|
var options = [];
|
|
25133
25145
|
while (!isAfter$1(currDate, lastDate)) {
|
|
25134
25146
|
var timePoint = getTime(currDate);
|
|
25135
|
-
options.push(React.createElement("option", { key: timePoint, value: timePoint }, formatDate(currDate, _this.props.dateFormat, _this.props.locale)));
|
|
25147
|
+
options.push(React.createElement("option", { key: timePoint, value: timePoint }, formatDate$1(currDate, _this.props.dateFormat, _this.props.locale)));
|
|
25136
25148
|
currDate = addMonths(currDate, 1);
|
|
25137
25149
|
}
|
|
25138
25150
|
return options;
|
|
@@ -25142,7 +25154,7 @@ var MonthYearDropdown = /** @class */ (function (_super) {
|
|
|
25142
25154
|
};
|
|
25143
25155
|
_this.renderSelectMode = function () { return (React.createElement("select", { value: getTime(getStartOfMonth(_this.props.date)), className: "react-datepicker__month-year-select", onChange: _this.onSelectChange }, _this.renderSelectOptions())); };
|
|
25144
25156
|
_this.renderReadView = function (visible) {
|
|
25145
|
-
var yearMonth = formatDate(_this.props.date, _this.props.dateFormat, _this.props.locale);
|
|
25157
|
+
var yearMonth = formatDate$1(_this.props.date, _this.props.dateFormat, _this.props.locale);
|
|
25146
25158
|
return (React.createElement("div", { key: "read", style: { visibility: visible ? "visible" : "hidden" }, className: "react-datepicker__month-year-read-view", onClick: _this.toggleDropdown },
|
|
25147
25159
|
React.createElement("span", { className: "react-datepicker__month-year-read-view--down-arrow" }),
|
|
25148
25160
|
React.createElement("span", { className: "react-datepicker__month-year-read-view--selected-month-year" }, yearMonth)));
|
|
@@ -25311,7 +25323,7 @@ var Time = /** @class */ (function (_super) {
|
|
|
25311
25323
|
}
|
|
25312
25324
|
}, onKeyDown: function (event) {
|
|
25313
25325
|
_this.handleOnKeyDown(event, time);
|
|
25314
|
-
}, tabIndex: time === timeToFocus ? 0 : -1, role: "option", "aria-selected": _this.isSelectedTime(time) ? "true" : undefined, "aria-disabled": _this.isDisabledTime(time) ? "true" : undefined }, formatDate(time, format, _this.props.locale)));
|
|
25326
|
+
}, tabIndex: time === timeToFocus ? 0 : -1, role: "option", "aria-selected": _this.isSelectedTime(time) ? "true" : undefined, "aria-disabled": _this.isDisabledTime(time) ? "true" : undefined }, formatDate$1(time, format, _this.props.locale)));
|
|
25315
25327
|
});
|
|
25316
25328
|
};
|
|
25317
25329
|
_this.renderTimeCaption = function () {
|
|
@@ -26082,7 +26094,7 @@ var Calendar = /** @class */ (function (_super) {
|
|
|
26082
26094
|
? _this.props.weekDayClassName(day)
|
|
26083
26095
|
: undefined;
|
|
26084
26096
|
return (React.createElement("div", { key: offset, role: "columnheader", className: clsx("react-datepicker__day-name", weekDayClassName, disabled ? "react-datepicker__day-name--disabled" : "") },
|
|
26085
|
-
React.createElement("span", { className: "react-datepicker__sr-only" }, formatDate(day, "EEEE", _this.props.locale)),
|
|
26097
|
+
React.createElement("span", { className: "react-datepicker__sr-only" }, formatDate$1(day, "EEEE", _this.props.locale)),
|
|
26086
26098
|
React.createElement("span", { "aria-hidden": "true" }, weekDayName)));
|
|
26087
26099
|
}));
|
|
26088
26100
|
};
|
|
@@ -26262,7 +26274,7 @@ var Calendar = /** @class */ (function (_super) {
|
|
|
26262
26274
|
classes.push("react-datepicker__current-month--hasMonthYearDropdown");
|
|
26263
26275
|
}
|
|
26264
26276
|
return (React.createElement("h2", { className: classes.join(" ") }, isValid(date)
|
|
26265
|
-
? formatDate(date, _this.props.dateFormat, _this.props.locale)
|
|
26277
|
+
? formatDate$1(date, _this.props.dateFormat, _this.props.locale)
|
|
26266
26278
|
: ""));
|
|
26267
26279
|
};
|
|
26268
26280
|
_this.renderYearDropdown = function (overrideHide) {
|
|
@@ -27246,7 +27258,7 @@ var DatePicker = /** @class */ (function (_super) {
|
|
|
27246
27258
|
var newMinutes = Math.min(maxMinutes, currentMinutes + timeIntervals);
|
|
27247
27259
|
newTime = addMinutes(baseDate, newMinutes);
|
|
27248
27260
|
}
|
|
27249
|
-
var formattedTime = formatDate(newTime, formatStr || DatePicker.defaultProps.dateFormat, _this.props.locale);
|
|
27261
|
+
var formattedTime = formatDate$1(newTime, formatStr || DatePicker.defaultProps.dateFormat, _this.props.locale);
|
|
27250
27262
|
_this.setState({
|
|
27251
27263
|
preSelection: newTime,
|
|
27252
27264
|
inputValue: formattedTime,
|
|
@@ -27838,24 +27850,77 @@ var PRESELECT_CHANGE_VIA_INPUT = "input";
|
|
|
27838
27850
|
var PRESELECT_CHANGE_VIA_NAVIGATE = "navigate";
|
|
27839
27851
|
|
|
27840
27852
|
const MONTHS = moment.months();
|
|
27853
|
+
/** The one format the field displays and accepts when typed. */
|
|
27854
|
+
const DATE_FORMAT = 'DD/MM/YYYY';
|
|
27855
|
+
const BOUND_FORMAT = 'YYYY-MM-DD';
|
|
27856
|
+
const MAX_DIGITS = 8;
|
|
27841
27857
|
function computeDateBounds(min, max) {
|
|
27842
27858
|
const minDate = min
|
|
27843
27859
|
? min instanceof Date
|
|
27844
|
-
? moment(min).format(
|
|
27860
|
+
? moment(min).format(BOUND_FORMAT)
|
|
27845
27861
|
: min
|
|
27846
27862
|
: undefined;
|
|
27847
27863
|
const maxDate = max
|
|
27848
27864
|
? max instanceof Date
|
|
27849
|
-
? moment(max).format(
|
|
27865
|
+
? moment(max).format(BOUND_FORMAT)
|
|
27850
27866
|
: max
|
|
27851
27867
|
: undefined;
|
|
27852
27868
|
return {
|
|
27853
27869
|
minDate,
|
|
27854
27870
|
maxDate,
|
|
27855
|
-
minYear: minDate ? moment(minDate,
|
|
27856
|
-
maxYear: maxDate ? moment(maxDate,
|
|
27871
|
+
minYear: minDate ? moment(minDate, BOUND_FORMAT).year() : undefined,
|
|
27872
|
+
maxYear: maxDate ? moment(maxDate, BOUND_FORMAT).year() : undefined,
|
|
27857
27873
|
};
|
|
27858
27874
|
}
|
|
27875
|
+
function formatDate(value) {
|
|
27876
|
+
return value ? moment(value).format(DATE_FORMAT) : '';
|
|
27877
|
+
}
|
|
27878
|
+
function toBoundDate(bound) {
|
|
27879
|
+
return bound ? moment(bound, BOUND_FORMAT).toDate() : undefined;
|
|
27880
|
+
}
|
|
27881
|
+
/**
|
|
27882
|
+
* Keep only the digits a date can hold and re-insert the separators, so typing
|
|
27883
|
+
* `25082026` reads back as `25/08/2026` and pasted junk cannot survive.
|
|
27884
|
+
*/
|
|
27885
|
+
function maskDateText(text) {
|
|
27886
|
+
const digits = text.replace(/\D/g, '').slice(0, MAX_DIGITS);
|
|
27887
|
+
if (digits.length <= 2)
|
|
27888
|
+
return digits;
|
|
27889
|
+
if (digits.length <= 4)
|
|
27890
|
+
return `${digits.slice(0, 2)}/${digits.slice(2)}`;
|
|
27891
|
+
return `${digits.slice(0, 2)}/${digits.slice(2, 4)}/${digits.slice(4)}`;
|
|
27892
|
+
}
|
|
27893
|
+
function countDigits(text) {
|
|
27894
|
+
return text.replace(/\D/g, '').length;
|
|
27895
|
+
}
|
|
27896
|
+
/** Offset in `text` that sits just after its nth digit. */
|
|
27897
|
+
function caretAfterDigits(text, digits) {
|
|
27898
|
+
if (digits <= 0)
|
|
27899
|
+
return 0;
|
|
27900
|
+
let seen = 0;
|
|
27901
|
+
for (let index = 0; index < text.length; index += 1) {
|
|
27902
|
+
if (text[index] >= '0' && text[index] <= '9') {
|
|
27903
|
+
seen += 1;
|
|
27904
|
+
if (seen === digits)
|
|
27905
|
+
return index + 1;
|
|
27906
|
+
}
|
|
27907
|
+
}
|
|
27908
|
+
return text.length;
|
|
27909
|
+
}
|
|
27910
|
+
function parseDateText(text) {
|
|
27911
|
+
const parsed = moment(text, DATE_FORMAT, true);
|
|
27912
|
+
return parsed.isValid() ? parsed.toDate() : undefined;
|
|
27913
|
+
}
|
|
27914
|
+
function isWithinBounds(date, { minDate, maxDate }) {
|
|
27915
|
+
const day = moment(date).startOf('day');
|
|
27916
|
+
if (minDate && day.isBefore(moment(minDate, BOUND_FORMAT).startOf('day'))) {
|
|
27917
|
+
return false;
|
|
27918
|
+
}
|
|
27919
|
+
if (maxDate && day.isAfter(moment(maxDate, BOUND_FORMAT).startOf('day'))) {
|
|
27920
|
+
return false;
|
|
27921
|
+
}
|
|
27922
|
+
return true;
|
|
27923
|
+
}
|
|
27859
27924
|
|
|
27860
27925
|
function DatePickerHeader({ monthDate, changeYear, changeMonth, decreaseMonth, increaseMonth, prevMonthButtonDisabled, nextMonthButtonDisabled, minYear, maxYear, hidePrev, hideNext, }) {
|
|
27861
27926
|
const current = moment(monthDate);
|
|
@@ -27870,25 +27935,39 @@ function DatePickerHeader({ monthDate, changeYear, changeMonth, decreaseMonth, i
|
|
|
27870
27935
|
return (jsxRuntime.jsxs("div", { className: "date-range-picker-header", children: [hidePrev ? (jsxRuntime.jsx("span", { className: "date-range-picker-nav-spacer", "aria-hidden": true })) : (jsxRuntime.jsx("button", { type: "button", onClick: decreaseMonth, disabled: prevMonthButtonDisabled, "aria-label": "Previous month", className: "date-range-picker-nav", children: jsxRuntime.jsx(ChevronLeft, { className: "h-4 w-4", strokeWidth: 2 }) })), jsxRuntime.jsxs("div", { className: "date-range-picker-selects", children: [jsxRuntime.jsx("div", { className: "date-range-picker-select-wrap", children: jsxRuntime.jsx("select", { "aria-label": "Select month", className: "date-range-picker-select", value: shownMonth, onChange: (event) => changeMonth(Number(event.target.value)), children: MONTHS.map((label, index) => (jsxRuntime.jsx("option", { value: index, children: label }, label))) }) }), jsxRuntime.jsx("div", { className: "date-range-picker-select-wrap", children: jsxRuntime.jsx("select", { "aria-label": "Select year", className: "date-range-picker-select", value: shownYear, onChange: (event) => changeYear(Number(event.target.value)), children: years.map((year) => (jsxRuntime.jsx("option", { value: year, children: year }, year))) }) })] }), hideNext ? (jsxRuntime.jsx("span", { className: "date-range-picker-nav-spacer", "aria-hidden": true })) : (jsxRuntime.jsx("button", { type: "button", onClick: increaseMonth, disabled: nextMonthButtonDisabled, "aria-label": "Next month", className: "date-range-picker-nav", children: jsxRuntime.jsx(ChevronRight, { className: "h-4 w-4", strokeWidth: 2 }) }))] }));
|
|
27871
27936
|
}
|
|
27872
27937
|
|
|
27873
|
-
var css_248z$2 = "@charset \"UTF-8\";.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:\"\";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:content-box;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:transparent;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;text-align:center;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__day--disabled,.react-datepicker__day-name--disabled,.react-datepicker__time-name--disabled{color:#ccc;cursor:default}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:rgba(33,107,165,.5)}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:content-box;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:transparent;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:\"×\";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:rgba(0,0,0,.8);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}";
|
|
27874
|
-
styleInject(css_248z$2);
|
|
27875
|
-
|
|
27876
|
-
var css_248z$1 = ".date-range-picker-popover[data-slot=popover-content]{max-width:calc(100vw - 2rem);width:fit-content}.date-range-picker-calendar.react-datepicker{background:transparent;border:0;display:flex;flex-direction:column;font-family:inherit;font-size:.875rem}.date-range-picker-calendar .react-datepicker__month-container{float:none;width:auto}.date-range-picker-calendar .react-datepicker__header{background:transparent;border-bottom:0;padding:0}.date-range-picker-calendar .react-datepicker__current-month{display:none}.date-range-picker-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;padding:0 .25rem .25rem}.date-range-picker-selects{align-items:center;display:flex;gap:.375rem}.date-range-picker-select-wrap{align-items:center;display:inline-flex;position:relative}.date-range-picker-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--background);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\");background-position:right .375rem center;background-repeat:no-repeat;background-size:.875rem;border:1px solid var(--input-border,var(--border));border-radius:.5rem;color:var(--foreground);cursor:pointer;font-size:.8125rem;font-weight:500;height:1.875rem;line-height:1.875rem;outline:none;padding:0 1.5rem 0 .625rem;transition:border-color .15s,box-shadow .15s}.date-range-picker-select:hover{background-color:var(--muted)}.date-range-picker-select:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 30%,transparent)}.date-range-picker-select option{background-color:var(--popover,var(--background));color:var(--foreground)}.date-range-picker-nav-spacer{display:inline-block;height:1.75rem;width:1.75rem}.date-range-picker-nav{align-items:center;background-color:var(--muted);border:0;border-radius:.5rem;color:var(--muted-foreground);cursor:pointer;display:inline-flex;height:1.75rem;justify-content:center;padding:0;transition:background-color .15s,color .15s;width:1.75rem}.date-range-picker-nav:hover{background-color:var(--accent);color:var(--foreground)}.date-range-picker-nav:disabled{cursor:not-allowed;opacity:.4}.date-range-picker-calendar .react-datepicker__day-names{display:flex;justify-content:space-between;margin:.5rem 0 .25rem}.date-range-picker-calendar .react-datepicker__day-name{color:var(--muted-foreground);font-size:.75rem;font-weight:400;line-height:1.75rem;margin:0;width:2.25rem}.date-range-picker-calendar .react-datepicker__month{margin:0}.date-range-picker-calendar .react-datepicker__week{display:flex;justify-content:space-between}.date-range-picker-calendar .react-datepicker__day{align-items:center;border-radius:.5rem;color:var(--foreground);display:inline-flex;font-size:.875rem;height:2.25rem;justify-content:center;line-height:2.25rem;margin:.125rem 0;width:2.25rem}.date-range-picker-calendar .react-datepicker__day--outside-month{color:var(--muted-foreground);opacity:.55}.date-range-picker-calendar .react-datepicker__day:hover{background-color:var(--muted);border-radius:.5rem}.date-range-picker-calendar .react-datepicker__day--today{background-color:var(--muted);color:var(--foreground);font-weight:600}.date-range-picker-calendar .react-datepicker__day--keyboard-selected,.date-range-picker-calendar .react-datepicker__day--selected{background-color:var(--primary);color:var(--primary-foreground);font-weight:500}.date-range-picker-calendar .react-datepicker__day--keyboard-selected:hover,.date-range-picker-calendar .react-datepicker__day--selected:hover{background-color:var(--primary);color:var(--primary-foreground);filter:brightness(.95)}.date-range-picker-calendar .react-datepicker__day--in-range,.date-range-picker-calendar .react-datepicker__day--in-selecting-range{background-color:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.date-range-picker-calendar .react-datepicker__day--range-end,.date-range-picker-calendar .react-datepicker__day--range-start{background-color:var(--primary);color:var(--primary-foreground)}.date-range-picker-calendar .react-datepicker__day--disabled{color:var(--muted-foreground);cursor:not-allowed;opacity:.4}.date-range-picker-calendar .react-datepicker__children-container{margin:0;padding:0;width:auto}.date-range-picker-footer{align-items:center;display:flex;justify-content:space-between;margin-top:.75rem;padding-top:.75rem;width:100%}.date-range-picker-action{align-items:center;background-color:color-mix(in srgb,var(--primary) 10%,transparent);border:0;border-radius:.5rem;color:var(--primary);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;height:2rem;justify-content:center;padding:0 .875rem;transition:background-color .15s}.date-range-picker-action:hover{background-color:color-mix(in srgb,var(--primary) 18%,transparent)}:is(.dark) .date-range-picker-calendar .react-datepicker__day--today{background-color:color-mix(in srgb,var(--muted) 80%,transparent)}:is(.dark) .date-range-picker-action{background-color:color-mix(in srgb,var(--primary) 18%,transparent)}:is(.dark) .date-range-picker-action:hover{background-color:color-mix(in srgb,var(--primary) 28%,transparent)}";
|
|
27877
|
-
styleInject(css_248z$1);
|
|
27878
|
-
|
|
27879
27938
|
// Only one DateInput popover should be open at a time. Because each instance is
|
|
27880
27939
|
// its own `modal` Radix Popover, opening a second one does not dismiss the first
|
|
27881
27940
|
// via outside-click. Instances coordinate through a window event: whoever opens
|
|
27882
27941
|
// broadcasts its id, and every other open instance closes itself.
|
|
27883
27942
|
const DATEINPUT_OPEN_EVENT = 'caratlogic:dateinput-open';
|
|
27884
|
-
function
|
|
27943
|
+
function useDateInput({ value, onChange, onBlur, min, max, disabled, }) {
|
|
27885
27944
|
const [open, setOpen] = React.useState(false);
|
|
27886
27945
|
const instanceId = React.useId();
|
|
27887
|
-
const
|
|
27888
|
-
|
|
27946
|
+
const inputRef = React.useRef(null);
|
|
27947
|
+
const caretRef = React.useRef(null);
|
|
27948
|
+
const bounds = computeDateBounds(min, max);
|
|
27949
|
+
const formatted = formatDate(value);
|
|
27950
|
+
const [text, setText] = React.useState(formatted);
|
|
27951
|
+
const [syncedValue, setSyncedValue] = React.useState(formatted);
|
|
27952
|
+
// Adopt `value` whenever it changes from the outside — a form reset, a
|
|
27953
|
+
// calendar pick, a sibling field narrowing the range — while leaving a
|
|
27954
|
+
// half-typed date alone.
|
|
27955
|
+
if (formatted !== syncedValue) {
|
|
27956
|
+
setSyncedValue(formatted);
|
|
27957
|
+
setText(formatted);
|
|
27958
|
+
}
|
|
27959
|
+
// Masking rewrites the whole string, which parks the caret at the end on any
|
|
27960
|
+
// keystroke that crosses a separator. Put it back once the DOM has the value.
|
|
27961
|
+
React.useLayoutEffect(() => {
|
|
27962
|
+
const caret = caretRef.current;
|
|
27963
|
+
if (caret === null || !inputRef.current)
|
|
27964
|
+
return;
|
|
27965
|
+
caretRef.current = null;
|
|
27966
|
+
inputRef.current.setSelectionRange(caret, caret);
|
|
27967
|
+
});
|
|
27889
27968
|
React.useEffect(() => {
|
|
27890
|
-
const onOtherOpen = (
|
|
27891
|
-
if (
|
|
27969
|
+
const onOtherOpen = (event) => {
|
|
27970
|
+
if (event.detail !== instanceId)
|
|
27892
27971
|
setOpen(false);
|
|
27893
27972
|
};
|
|
27894
27973
|
window.addEventListener(DATEINPUT_OPEN_EVENT, onOtherOpen);
|
|
@@ -27900,6 +27979,132 @@ function DateInput({ value, onChange, onBlur, name, className, min, max, disable
|
|
|
27900
27979
|
window.dispatchEvent(new CustomEvent(DATEINPUT_OPEN_EVENT, { detail: instanceId }));
|
|
27901
27980
|
}
|
|
27902
27981
|
};
|
|
27982
|
+
const commit = (date) => {
|
|
27983
|
+
const next = formatDate(date);
|
|
27984
|
+
setText(next);
|
|
27985
|
+
setSyncedValue(next);
|
|
27986
|
+
onChange(date);
|
|
27987
|
+
};
|
|
27988
|
+
/**
|
|
27989
|
+
* Show `masked` and report it upwards only once it is a whole, real,
|
|
27990
|
+
* in-range date — so `01/01/2` on the way to `01/01/2026` never lands in the
|
|
27991
|
+
* form, and an emptied field clears the value.
|
|
27992
|
+
*/
|
|
27993
|
+
const applyText = (masked, caret) => {
|
|
27994
|
+
caretRef.current = caret;
|
|
27995
|
+
setText(masked);
|
|
27996
|
+
if (masked === '') {
|
|
27997
|
+
setSyncedValue('');
|
|
27998
|
+
onChange(undefined);
|
|
27999
|
+
return;
|
|
28000
|
+
}
|
|
28001
|
+
if (masked.length < DATE_FORMAT.length)
|
|
28002
|
+
return;
|
|
28003
|
+
const parsed = parseDateText(masked);
|
|
28004
|
+
if (parsed && isWithinBounds(parsed, bounds)) {
|
|
28005
|
+
setSyncedValue(masked);
|
|
28006
|
+
onChange(parsed);
|
|
28007
|
+
}
|
|
28008
|
+
};
|
|
28009
|
+
const handleTextChange = (event) => {
|
|
28010
|
+
const raw = event.target.value;
|
|
28011
|
+
const caret = event.target.selectionStart ?? raw.length;
|
|
28012
|
+
const masked = maskDateText(raw);
|
|
28013
|
+
applyText(masked, caretAfterDigits(masked, countDigits(raw.slice(0, caret))));
|
|
28014
|
+
};
|
|
28015
|
+
/** Fall back to the committed value when the field is left mid-edit. */
|
|
28016
|
+
const normalize = () => {
|
|
28017
|
+
if (text === '')
|
|
28018
|
+
return;
|
|
28019
|
+
const parsed = parseDateText(text);
|
|
28020
|
+
if (!parsed || !isWithinBounds(parsed, bounds))
|
|
28021
|
+
setText(formatted);
|
|
28022
|
+
};
|
|
28023
|
+
const handleKeyDown = (event) => {
|
|
28024
|
+
if (event.key === 'Enter') {
|
|
28025
|
+
// Settle the field rather than submitting the form around it.
|
|
28026
|
+
event.preventDefault();
|
|
28027
|
+
setOpen(false);
|
|
28028
|
+
normalize();
|
|
28029
|
+
return;
|
|
28030
|
+
}
|
|
28031
|
+
if (event.key === 'Escape' && open) {
|
|
28032
|
+
setOpen(false);
|
|
28033
|
+
return;
|
|
28034
|
+
}
|
|
28035
|
+
if (event.key === 'ArrowDown' && event.altKey && !disabled) {
|
|
28036
|
+
event.preventDefault();
|
|
28037
|
+
handleOpenChange(true);
|
|
28038
|
+
return;
|
|
28039
|
+
}
|
|
28040
|
+
if (event.key !== 'Backspace')
|
|
28041
|
+
return;
|
|
28042
|
+
// A separator is not content: backspacing onto a `/` has to take the digit
|
|
28043
|
+
// in front of it, or the mask re-inserts the slash and the caret sticks.
|
|
28044
|
+
const input = event.currentTarget;
|
|
28045
|
+
const start = input.selectionStart ?? 0;
|
|
28046
|
+
if (start !== input.selectionEnd ||
|
|
28047
|
+
start < 2 ||
|
|
28048
|
+
input.value[start - 1] !== '/') {
|
|
28049
|
+
return;
|
|
28050
|
+
}
|
|
28051
|
+
event.preventDefault();
|
|
28052
|
+
const kept = input.value.slice(0, start - 2);
|
|
28053
|
+
const masked = maskDateText(kept + input.value.slice(start));
|
|
28054
|
+
applyText(masked, caretAfterDigits(masked, countDigits(kept)));
|
|
28055
|
+
};
|
|
28056
|
+
const handleTextBlur = () => {
|
|
28057
|
+
normalize();
|
|
28058
|
+
onBlur?.();
|
|
28059
|
+
};
|
|
28060
|
+
const parsedText = parseDateText(text);
|
|
28061
|
+
return {
|
|
28062
|
+
open,
|
|
28063
|
+
text,
|
|
28064
|
+
invalid: text.length === DATE_FORMAT.length &&
|
|
28065
|
+
(!parsedText || !isWithinBounds(parsedText, bounds)),
|
|
28066
|
+
bounds,
|
|
28067
|
+
inputRef,
|
|
28068
|
+
handleOpenChange,
|
|
28069
|
+
handleTextChange,
|
|
28070
|
+
handleKeyDown,
|
|
28071
|
+
handleTextBlur,
|
|
28072
|
+
toggleOpen: () => {
|
|
28073
|
+
if (!disabled)
|
|
28074
|
+
handleOpenChange(!open);
|
|
28075
|
+
},
|
|
28076
|
+
selectDate: (date) => {
|
|
28077
|
+
commit(date ?? undefined);
|
|
28078
|
+
if (date)
|
|
28079
|
+
setOpen(false);
|
|
28080
|
+
},
|
|
28081
|
+
clearDate: () => {
|
|
28082
|
+
commit(undefined);
|
|
28083
|
+
setOpen(false);
|
|
28084
|
+
},
|
|
28085
|
+
selectToday: () => {
|
|
28086
|
+
commit(new Date());
|
|
28087
|
+
setOpen(false);
|
|
28088
|
+
},
|
|
28089
|
+
};
|
|
28090
|
+
}
|
|
28091
|
+
|
|
28092
|
+
const CALENDAR_BUTTON_LABEL = 'Open calendar';
|
|
28093
|
+
/** Spells out what the field accepts, since the format is now typeable. */
|
|
28094
|
+
const DATE_FORMAT_HINT = `Date format ${DATE_FORMAT}`;
|
|
28095
|
+
|
|
28096
|
+
var css_248z$2 = "@charset \"UTF-8\";.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:\"\";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:content-box;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:transparent;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;text-align:center;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__day--disabled,.react-datepicker__day-name--disabled,.react-datepicker__time-name--disabled{color:#ccc;cursor:default}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:rgba(33,107,165,.5)}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:content-box;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:transparent;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:\"×\";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:rgba(0,0,0,.8);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}";
|
|
28097
|
+
styleInject(css_248z$2);
|
|
28098
|
+
|
|
28099
|
+
var css_248z$1 = ".date-range-picker-popover[data-slot=popover-content]{max-width:calc(100vw - 2rem);width:fit-content}.date-range-picker-calendar.react-datepicker{background:transparent;border:0;display:flex;flex-direction:column;font-family:inherit;font-size:.875rem}.date-range-picker-calendar .react-datepicker__month-container{float:none;width:auto}.date-range-picker-calendar .react-datepicker__header{background:transparent;border-bottom:0;padding:0}.date-range-picker-calendar .react-datepicker__current-month{display:none}.date-range-picker-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;padding:0 .25rem .25rem}.date-range-picker-selects{align-items:center;display:flex;gap:.375rem}.date-range-picker-select-wrap{align-items:center;display:inline-flex;position:relative}.date-range-picker-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--background);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\");background-position:right .375rem center;background-repeat:no-repeat;background-size:.875rem;border:1px solid var(--input-border,var(--border));border-radius:.5rem;color:var(--foreground);cursor:pointer;font-size:.8125rem;font-weight:500;height:1.875rem;line-height:1.875rem;outline:none;padding:0 1.5rem 0 .625rem;transition:border-color .15s,box-shadow .15s}.date-range-picker-select:hover{background-color:var(--muted)}.date-range-picker-select:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 30%,transparent)}.date-range-picker-select option{background-color:var(--popover,var(--background));color:var(--foreground)}.date-range-picker-nav-spacer{display:inline-block;height:1.75rem;width:1.75rem}.date-range-picker-nav{align-items:center;background-color:var(--muted);border:0;border-radius:.5rem;color:var(--muted-foreground);cursor:pointer;display:inline-flex;height:1.75rem;justify-content:center;padding:0;transition:background-color .15s,color .15s;width:1.75rem}.date-range-picker-nav:hover{background-color:var(--accent);color:var(--foreground)}.date-range-picker-nav:disabled{cursor:not-allowed;opacity:.4}.date-range-picker-calendar .react-datepicker__day-names{display:flex;justify-content:space-between;margin:.5rem 0 .25rem}.date-range-picker-calendar .react-datepicker__day-name{color:var(--muted-foreground);font-size:.75rem;font-weight:400;line-height:1.75rem;margin:0;width:2.25rem}.date-range-picker-calendar .react-datepicker__month{margin:0}.date-range-picker-calendar .react-datepicker__week{display:flex;justify-content:space-between}.date-range-picker-calendar .react-datepicker__day{align-items:center;border-radius:.5rem;color:var(--foreground);display:inline-flex;font-size:.875rem;height:2.25rem;justify-content:center;line-height:2.25rem;margin:.125rem 0;width:2.25rem}.date-range-picker-calendar .react-datepicker__day--outside-month{color:var(--muted-foreground);opacity:.55}.date-range-picker-calendar .react-datepicker__day:hover{background-color:var(--muted);border-radius:.5rem}.date-range-picker-calendar .react-datepicker__day--today{background-color:var(--muted);color:var(--foreground);font-weight:600}.date-range-picker-calendar .react-datepicker__day--keyboard-selected,.date-range-picker-calendar .react-datepicker__day--selected{background-color:var(--primary);color:var(--primary-foreground);font-weight:500}.date-range-picker-calendar .react-datepicker__day--keyboard-selected:hover,.date-range-picker-calendar .react-datepicker__day--selected:hover{background-color:var(--primary);color:var(--primary-foreground);filter:brightness(.95)}.date-range-picker-calendar .react-datepicker__day--in-range,.date-range-picker-calendar .react-datepicker__day--in-selecting-range{background-color:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.date-range-picker-calendar .react-datepicker__day--range-end,.date-range-picker-calendar .react-datepicker__day--range-start{background-color:var(--primary);color:var(--primary-foreground)}.date-range-picker-calendar .react-datepicker__day--disabled{color:var(--muted-foreground);cursor:not-allowed;opacity:.4}.date-range-picker-calendar .react-datepicker__children-container{margin:0;padding:0;width:auto}.date-range-picker-footer{align-items:center;display:flex;justify-content:space-between;margin-top:.75rem;padding-top:.75rem;width:100%}.date-range-picker-action{align-items:center;background-color:color-mix(in srgb,var(--primary) 10%,transparent);border:0;border-radius:.5rem;color:var(--primary);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;height:2rem;justify-content:center;padding:0 .875rem;transition:background-color .15s}.date-range-picker-action:hover{background-color:color-mix(in srgb,var(--primary) 18%,transparent)}:is(.dark) .date-range-picker-calendar .react-datepicker__day--today{background-color:color-mix(in srgb,var(--muted) 80%,transparent)}:is(.dark) .date-range-picker-action{background-color:color-mix(in srgb,var(--primary) 18%,transparent)}:is(.dark) .date-range-picker-action:hover{background-color:color-mix(in srgb,var(--primary) 28%,transparent)}";
|
|
28100
|
+
styleInject(css_248z$1);
|
|
28101
|
+
|
|
28102
|
+
/**
|
|
28103
|
+
* Date field that can be typed or picked. The text box takes a masked
|
|
28104
|
+
* `DD/MM/YYYY` entry; the trailing button opens the same calendar as before.
|
|
28105
|
+
*/
|
|
28106
|
+
function DateInput({ value, onChange, onBlur, name, id, className, min, max, disabled, placeholder = DATE_FORMAT, ariaLabel, }) {
|
|
28107
|
+
const { open, text, invalid, bounds, inputRef, handleOpenChange, handleTextChange, handleKeyDown, handleTextBlur, toggleOpen, selectDate, clearDate, selectToday, } = useDateInput({ value, onChange, onBlur, min, max, disabled });
|
|
27903
28108
|
// NOTE: We drive `open` ourselves from the button's onClick instead of using
|
|
27904
28109
|
// Radix's <PopoverTrigger> toggle. When this Popover is nested inside the
|
|
27905
28110
|
// modal <SlideOut> (Radix Dialog), the trigger's built-in toggle does not
|
|
@@ -27908,20 +28113,7 @@ function DateInput({ value, onChange, onBlur, name, className, min, max, disable
|
|
|
27908
28113
|
// source of truth — no double-fire, and it works across browsers. `modal`
|
|
27909
28114
|
// lets the open popover own pointer events above the dialog so the calendar
|
|
27910
28115
|
// (portalled to <body>) stays clickable.
|
|
27911
|
-
return (jsxRuntime.jsxs(Popover, { open: open, onOpenChange: handleOpenChange, modal: true, children: [jsxRuntime.jsx(PopoverAnchor, { asChild: true, children: jsxRuntime.jsxs("
|
|
27912
|
-
if (!disabled)
|
|
27913
|
-
handleOpenChange(!open);
|
|
27914
|
-
}, "data-slot": "input", "data-empty": !value || undefined, className: cn('border-input-border flex h-9 w-full min-w-0 cursor-pointer items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-1 text-left shadow-[0_1px_2px_0_#0000000d] transition-[color,box-shadow] outline-none', 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]', 'aria-invalid:ring-destructive/20 aria-invalid:border-destructive', disabled && 'cursor-not-allowed bg-muted/50 text-label', className), children: [jsxRuntime.jsx("span", { className: cn('truncate text-sm md:text-sm', value ? 'text-foreground' : 'text-placeholder'), children: value ? moment(value).format('DD/MM/YYYY') : placeholder }), jsxRuntime.jsx("span", { className: "inline-flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground", children: jsxRuntime.jsx(CalendarDays, { className: "h-4 w-4 stroke-[1.75]" }) })] }) }), jsxRuntime.jsx(PopoverContent, { align: "start", className: "date-range-picker-popover w-auto p-4", children: jsxRuntime.jsx(DatePicker, { inline: true, selected: value ?? null, minDate: minDate ? moment(minDate, 'YYYY-MM-DD').toDate() : undefined, maxDate: maxDate ? moment(maxDate, 'YYYY-MM-DD').toDate() : undefined, onChange: (date) => {
|
|
27915
|
-
onChange(date ?? undefined);
|
|
27916
|
-
if (date)
|
|
27917
|
-
setOpen(false);
|
|
27918
|
-
}, calendarClassName: "date-range-picker-calendar", formatWeekDay: (weekday) => weekday.slice(0, 2), renderCustomHeader: ({ monthDate, changeYear, changeMonth, decreaseMonth, increaseMonth, prevMonthButtonDisabled, nextMonthButtonDisabled, }) => (jsxRuntime.jsx(DatePickerHeader, { monthDate: monthDate, changeYear: changeYear, changeMonth: changeMonth, decreaseMonth: decreaseMonth, increaseMonth: increaseMonth, prevMonthButtonDisabled: prevMonthButtonDisabled, nextMonthButtonDisabled: nextMonthButtonDisabled, minYear: minYear, maxYear: maxYear })), children: jsxRuntime.jsxs("div", { className: "date-range-picker-footer", children: [jsxRuntime.jsx("button", { type: "button", onClick: () => {
|
|
27919
|
-
onChange(undefined);
|
|
27920
|
-
setOpen(false);
|
|
27921
|
-
}, className: "date-range-picker-action", children: "Clear" }), jsxRuntime.jsx("button", { type: "button", onClick: () => {
|
|
27922
|
-
onChange(new Date());
|
|
27923
|
-
setOpen(false);
|
|
27924
|
-
}, className: "date-range-picker-action", children: "Today" })] }) }) })] }));
|
|
28116
|
+
return (jsxRuntime.jsxs(Popover, { open: open, onOpenChange: handleOpenChange, modal: true, children: [jsxRuntime.jsx(PopoverAnchor, { asChild: true, children: jsxRuntime.jsxs("div", { "data-slot": "input", "data-empty": !value || undefined, "data-invalid": invalid || undefined, className: cn('border-input-border flex h-9 w-full min-w-0 items-center gap-2 rounded-md border bg-transparent px-3 py-1 shadow-[0_1px_2px_0_#0000000d] transition-[color,box-shadow] outline-none', 'focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]', 'data-[invalid]:border-destructive data-[invalid]:ring-destructive/20 data-[invalid]:ring-[3px]', disabled && 'cursor-not-allowed bg-muted/50 text-label', className), children: [jsxRuntime.jsx("input", { ref: inputRef, type: "text", inputMode: "numeric", autoComplete: "off", spellCheck: false, id: id, name: name, value: text, placeholder: placeholder, disabled: disabled, maxLength: DATE_FORMAT.length, "aria-label": ariaLabel, "aria-invalid": invalid || undefined, title: DATE_FORMAT_HINT, onChange: handleTextChange, onKeyDown: handleKeyDown, onBlur: handleTextBlur, className: "placeholder:text-placeholder selection:bg-primary selection:text-primary-foreground h-full min-w-0 flex-1 bg-transparent text-base text-foreground outline-none placeholder:text-sm disabled:cursor-not-allowed disabled:text-label md:text-sm" }), jsxRuntime.jsx("button", { type: "button", disabled: disabled, "aria-label": CALENDAR_BUTTON_LABEL, "aria-haspopup": "dialog", "aria-expanded": open, onClick: toggleOpen, className: "-mr-1 inline-flex h-6 w-6 shrink-0 cursor-pointer items-center justify-center rounded-sm text-muted-foreground outline-none hover:text-foreground focus-visible:ring-ring/50 focus-visible:ring-[2px] disabled:cursor-not-allowed", children: jsxRuntime.jsx(CalendarDays, { className: "h-4 w-4 stroke-[1.75]" }) })] }) }), jsxRuntime.jsx(PopoverContent, { align: "start", className: "date-range-picker-popover w-auto p-4", children: jsxRuntime.jsx(DatePicker, { inline: true, selected: value ?? null, minDate: toBoundDate(bounds.minDate), maxDate: toBoundDate(bounds.maxDate), onChange: selectDate, calendarClassName: "date-range-picker-calendar", formatWeekDay: (weekday) => weekday.slice(0, 2), renderCustomHeader: ({ monthDate, changeYear, changeMonth, decreaseMonth, increaseMonth, prevMonthButtonDisabled, nextMonthButtonDisabled, }) => (jsxRuntime.jsx(DatePickerHeader, { monthDate: monthDate, changeYear: changeYear, changeMonth: changeMonth, decreaseMonth: decreaseMonth, increaseMonth: increaseMonth, prevMonthButtonDisabled: prevMonthButtonDisabled, nextMonthButtonDisabled: nextMonthButtonDisabled, minYear: bounds.minYear, maxYear: bounds.maxYear })), children: jsxRuntime.jsxs("div", { className: "date-range-picker-footer", children: [jsxRuntime.jsx("button", { type: "button", onClick: clearDate, className: "date-range-picker-action", children: "Clear" }), jsxRuntime.jsx("button", { type: "button", onClick: selectToday, className: "date-range-picker-action", children: "Today" })] }) }) })] }));
|
|
27925
28117
|
}
|
|
27926
28118
|
|
|
27927
28119
|
const DropdownMenu = DropdownMenuPrimitive__namespace.Root;
|
|
@@ -58286,33 +58478,39 @@ function ZoomSplitViewer({ src, alt = 'Preview', zoom = 2, lensSize = 160, paneO
|
|
|
58286
58478
|
}) })), isTouchDevice && (jsxRuntime.jsx("p", { className: `text-xs text-muted-foreground text-center mt-2 ${isMobile ? 'text-2xs' : ''}`, children: isMobile ? 'Touch & hold to zoom' : 'Touch and hold to zoom' }))] }));
|
|
58287
58479
|
}
|
|
58288
58480
|
|
|
58289
|
-
|
|
58290
|
-
|
|
58291
|
-
|
|
58292
|
-
|
|
58293
|
-
|
|
58294
|
-
|
|
58295
|
-
},
|
|
58296
|
-
md: {
|
|
58297
|
-
track: { width: 44, height: 24 },
|
|
58298
|
-
thumb: 20,
|
|
58299
|
-
on: 22,
|
|
58300
|
-
off: 2,
|
|
58301
|
-
},
|
|
58302
|
-
lg: {
|
|
58303
|
-
track: { width: 52, height: 28 },
|
|
58304
|
-
thumb: 24,
|
|
58305
|
-
on: 26,
|
|
58306
|
-
off: 2,
|
|
58307
|
-
},
|
|
58481
|
+
/** 1px border on the track, and the gap between thumb and track. */
|
|
58482
|
+
const TRACK_BORDER = 1;
|
|
58483
|
+
const THUMB_INSET = 2;
|
|
58484
|
+
const TRACK_SIZE = {
|
|
58485
|
+
sm: { width: 28, height: 16 },
|
|
58486
|
+
md: { width: 44, height: 24 },
|
|
58487
|
+
lg: { width: 52, height: 28 },
|
|
58308
58488
|
};
|
|
58489
|
+
/**
|
|
58490
|
+
* Thumb size and travel are derived from the track rather than listed per size:
|
|
58491
|
+
* hardcoding them left the thumb 1px from the top and bottom but flush against
|
|
58492
|
+
* the inner right edge when on, so it bulged past the track's rounded end.
|
|
58493
|
+
* Deriving keeps the inset equal on all four sides at every size.
|
|
58494
|
+
*/
|
|
58495
|
+
function switchGeometry(size) {
|
|
58496
|
+
const track = TRACK_SIZE[size];
|
|
58497
|
+
const innerWidth = track.width - TRACK_BORDER * 2;
|
|
58498
|
+
const innerHeight = track.height - TRACK_BORDER * 2;
|
|
58499
|
+
const thumb = innerHeight - THUMB_INSET * 2;
|
|
58500
|
+
return {
|
|
58501
|
+
track,
|
|
58502
|
+
thumb,
|
|
58503
|
+
off: THUMB_INSET,
|
|
58504
|
+
on: innerWidth - thumb - THUMB_INSET,
|
|
58505
|
+
};
|
|
58506
|
+
}
|
|
58309
58507
|
const Switch = React__namespace.forwardRef(({ checked = false, onCheckedChange, disabled = false, id, name, className, size = 'md', 'aria-label': ariaLabel, }, ref) => {
|
|
58310
58508
|
const handleClick = () => {
|
|
58311
58509
|
if (!disabled && onCheckedChange) {
|
|
58312
58510
|
onCheckedChange(!checked);
|
|
58313
58511
|
}
|
|
58314
58512
|
};
|
|
58315
|
-
const dims =
|
|
58513
|
+
const dims = switchGeometry(size);
|
|
58316
58514
|
return (jsxRuntime.jsx("button", { type: "button", role: "switch", "aria-checked": checked, "aria-label": ariaLabel, "data-state": checked ? 'checked' : 'unchecked', disabled: disabled, onClick: handleClick, ref: ref, id: id, name: name, style: {
|
|
58317
58515
|
width: dims.track.width,
|
|
58318
58516
|
height: dims.track.height,
|
|
@@ -65936,7 +66134,13 @@ function CreateFormPageHeader({ title, onBack, backLabel = 'Go back', }) {
|
|
|
65936
66134
|
function CreateFormPageShell({ title, onBack, children, backLabel, scrollable = false, containerClassName, }) {
|
|
65937
66135
|
const content = (jsxRuntime.jsxs("div", { className: cn('mx-auto w-full max-w-4xl px-4 py-4', containerClassName), children: [jsxRuntime.jsx(CreateFormPageHeader, { title: title, onBack: onBack, backLabel: backLabel }), children] }));
|
|
65938
66136
|
if (scrollable) {
|
|
65939
|
-
|
|
66137
|
+
// `shrink-0` is the load-bearing part. As a flex item in the shell's
|
|
66138
|
+
// `flex-col overflow-y-auto` parent this div was shrunk to the parent's
|
|
66139
|
+
// height while its content overflowed, so the background stopped one
|
|
66140
|
+
// screenful down and taller forms showed the page background below it.
|
|
66141
|
+
// `min-h-full` alone cannot fix that — it resolves to the same shrunken
|
|
66142
|
+
// height. The parent already scrolls, so no inner scroller is needed.
|
|
66143
|
+
return (jsxRuntime.jsx("div", { className: "min-h-full shrink-0 bg-card", children: content }));
|
|
65940
66144
|
}
|
|
65941
66145
|
return content;
|
|
65942
66146
|
}
|