@razorpay/blade 12.47.1 → 12.48.0
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/build/lib/native/components/Input/TextInput/TextInput.js +1 -1
- package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/native/components/Input/TextInput/useFormattedInput.js +1 -1
- package/build/lib/native/components/Input/TextInput/useFormattedInput.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js +162 -113
- package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js +1 -1
- package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/DateInput.web.js +202 -147
- package/build/lib/web/development/components/DatePicker/DateInput.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/QuickSelection/PresetContext.js +122 -0
- package/build/lib/web/development/components/DatePicker/QuickSelection/PresetContext.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/QuickSelection/PresetDropdown.web.js +46 -0
- package/build/lib/web/development/components/DatePicker/QuickSelection/PresetDropdown.web.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/QuickSelection/PresetSideBar.web.js +19 -19
- package/build/lib/web/development/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/QuickSelection/utils.js +9 -0
- package/build/lib/web/development/components/DatePicker/QuickSelection/utils.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/usePopup.js +10 -2
- package/build/lib/web/development/components/DatePicker/usePopup.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/utils.js +419 -1
- package/build/lib/web/development/components/DatePicker/utils.js.map +1 -1
- package/build/lib/web/development/components/Input/TextInput/TextInput.js +3 -1
- package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/development/components/Input/TextInput/useFormattedInput.js +21 -0
- package/build/lib/web/development/components/Input/TextInput/useFormattedInput.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js +162 -113
- package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js +1 -1
- package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/DateInput.web.js +202 -147
- package/build/lib/web/production/components/DatePicker/DateInput.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/QuickSelection/PresetContext.js +122 -0
- package/build/lib/web/production/components/DatePicker/QuickSelection/PresetContext.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/QuickSelection/PresetDropdown.web.js +46 -0
- package/build/lib/web/production/components/DatePicker/QuickSelection/PresetDropdown.web.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/QuickSelection/PresetSideBar.web.js +19 -19
- package/build/lib/web/production/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/QuickSelection/utils.js +9 -0
- package/build/lib/web/production/components/DatePicker/QuickSelection/utils.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/usePopup.js +10 -2
- package/build/lib/web/production/components/DatePicker/usePopup.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/utils.js +419 -1
- package/build/lib/web/production/components/DatePicker/utils.js.map +1 -1
- package/build/lib/web/production/components/Input/TextInput/TextInput.js +3 -1
- package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/production/components/Input/TextInput/useFormattedInput.js +21 -0
- package/build/lib/web/production/components/Input/TextInput/useFormattedInput.js.map +1 -1
- package/build/types/components/index.d.ts +10 -5
- package/build/types/components/index.native.d.ts +10 -5
- package/package.json +1 -1
|
@@ -10,14 +10,16 @@ import { useI18nContext } from '@razorpay/i18nify-react';
|
|
|
10
10
|
import { MantineProvider } from '@mantine/core';
|
|
11
11
|
import dayjs from 'dayjs';
|
|
12
12
|
import { Calendar } from './Calendar.web.js';
|
|
13
|
+
import { CalendarFooter } from './CalendarFooter.web.js';
|
|
14
|
+
import { DatePickerInput } from './DateInput.web.js';
|
|
15
|
+
import { DatePickerFilterChip } from './FilterChipDatePicker/DatePickerFilterChip.web.js';
|
|
16
|
+
import { PresetDropdown } from './QuickSelection/PresetDropdown.web.js';
|
|
17
|
+
import { PresetProvider } from './QuickSelection/PresetContext.js';
|
|
13
18
|
import { PresetSideBar } from './QuickSelection/PresetSideBar.web.js';
|
|
19
|
+
import { shiftTimezone } from './shiftTimezone.js';
|
|
14
20
|
import { useDatesState } from './useDatesState.js';
|
|
15
21
|
import { usePopup } from './usePopup.js';
|
|
16
|
-
import { CalendarFooter } from './CalendarFooter.web.js';
|
|
17
22
|
import { convertIntlToDayjsLocale, loadScript } from './utils.js';
|
|
18
|
-
import { shiftTimezone } from './shiftTimezone.js';
|
|
19
|
-
import { DatePickerInput } from './DateInput.web.js';
|
|
20
|
-
import { DatePickerFilterChip } from './FilterChipDatePicker/DatePickerFilterChip.web.js';
|
|
21
23
|
import '../Box/BaseBox/index.js';
|
|
22
24
|
import { useControllableState } from '../../utils/useControllable.js';
|
|
23
25
|
import '../../utils/index.js';
|
|
@@ -48,11 +50,15 @@ import { BottomSheetBody } from '../BottomSheet/BottomSheetBody.web.js';
|
|
|
48
50
|
import { BottomSheetFooter } from '../BottomSheet/BottomSheetFooter.web.js';
|
|
49
51
|
import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
|
|
50
52
|
|
|
51
|
-
var _excluded = ["selectionType", "allowSingleDateInRange", "value", "defaultValue", "onChange", "onApply", "presets", "isOpen", "defaultIsOpen", "onOpenChange", "label", "labelPosition", "accessibilityLabel", "errorText", "helpText", "isDisabled", "isRequired", "successText", "validationState", "size", "autoFocus", "necessityIndicator", "name", "defaultPicker", "picker", "onPickerChange", "zIndex", "format", "inputPlaceHolder", "inputElementType", "onClearButtonClick", "labelSuffix", "labelTrailing"];
|
|
53
|
+
var _excluded = ["selectionType", "allowSingleDateInRange", "value", "defaultValue", "onChange", "onApply", "presets", "isOpen", "defaultIsOpen", "onOpenChange", "label", "labelPosition", "accessibilityLabel", "errorText", "helpText", "isDisabled", "isRequired", "successText", "validationState", "size", "autoFocus", "necessityIndicator", "name", "defaultPicker", "picker", "onPickerChange", "zIndex", "format", "inputPlaceHolder", "inputElementType", "onClearButtonClick", "labelSuffix", "labelTrailing", "showFooterActions"];
|
|
52
54
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
53
55
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
54
56
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
55
57
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
58
|
+
var CALENDAR_HEIGHTS = {
|
|
59
|
+
// Height includes: Calendar grid (6 weeks * ~44px) + header (~48px) + footer actions (~64px) + padding
|
|
60
|
+
DAY_PICKER_WITH_FOOTER: '447px'
|
|
61
|
+
};
|
|
56
62
|
var BaseDatePicker = function BaseDatePicker(_ref) {
|
|
57
63
|
var selectionType = _ref.selectionType,
|
|
58
64
|
allowSingleDateInRange = _ref.allowSingleDateInRange,
|
|
@@ -92,6 +98,8 @@ var BaseDatePicker = function BaseDatePicker(_ref) {
|
|
|
92
98
|
onClearButtonClick = _ref.onClearButtonClick,
|
|
93
99
|
labelSuffix = _ref.labelSuffix,
|
|
94
100
|
labelTrailing = _ref.labelTrailing,
|
|
101
|
+
_ref$showFooterAction = _ref.showFooterActions,
|
|
102
|
+
showFooterActions = _ref$showFooterAction === void 0 ? true : _ref$showFooterAction,
|
|
95
103
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
96
104
|
var _useI18nContext = useI18nContext(),
|
|
97
105
|
i18nState = _useI18nContext.i18nState;
|
|
@@ -171,6 +179,13 @@ var BaseDatePicker = function BaseDatePicker(_ref) {
|
|
|
171
179
|
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
172
180
|
oldValue = _React$useState4[0],
|
|
173
181
|
setOldValue = _React$useState4[1];
|
|
182
|
+
|
|
183
|
+
// Sync selectedPreset with controlledValue for initial preset matching
|
|
184
|
+
React__default.useEffect(function () {
|
|
185
|
+
if (!isSingle && controlledValue) {
|
|
186
|
+
setSelectedPreset(controlledValue);
|
|
187
|
+
}
|
|
188
|
+
}, []);
|
|
174
189
|
var _useControllableState3 = useControllableState({
|
|
175
190
|
value: isOpen,
|
|
176
191
|
defaultValue: defaultIsOpen,
|
|
@@ -276,7 +291,6 @@ var BaseDatePicker = function BaseDatePicker(_ref) {
|
|
|
276
291
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
277
292
|
}, [clearFilterCallbackTriggerer]);
|
|
278
293
|
var isMobile = useIsMobile();
|
|
279
|
-
var defaultInitialFocusRef = React__default.useRef(null);
|
|
280
294
|
var titleId = useId('datepicker-title');
|
|
281
295
|
var _usePopup = usePopup({
|
|
282
296
|
enabled: !isMobile,
|
|
@@ -286,11 +300,12 @@ var BaseDatePicker = function BaseDatePicker(_ref) {
|
|
|
286
300
|
controllableSetIsOpen(function () {
|
|
287
301
|
return isOpen;
|
|
288
302
|
});
|
|
289
|
-
if (reason === 'escape-key'
|
|
303
|
+
if (reason === 'escape-key') {
|
|
290
304
|
handleCancel();
|
|
291
305
|
}
|
|
292
306
|
},
|
|
293
|
-
referenceRef: referenceRef
|
|
307
|
+
referenceRef: referenceRef,
|
|
308
|
+
crossAxisOffset: -28
|
|
294
309
|
}),
|
|
295
310
|
context = _usePopup.context,
|
|
296
311
|
refs = _usePopup.refs,
|
|
@@ -300,11 +315,25 @@ var BaseDatePicker = function BaseDatePicker(_ref) {
|
|
|
300
315
|
getReferenceProps = _usePopup.getReferenceProps,
|
|
301
316
|
getFloatingProps = _usePopup.getFloatingProps;
|
|
302
317
|
var shouldRenderPresets = !isSingle && !isMobile;
|
|
318
|
+
|
|
319
|
+
// MOBILE: Blur input when bottom sheet opens to prevent keyboard + sheet overlap
|
|
320
|
+
// Use setTimeout(0) instead of requestAnimationFrame: BottomSheet captures document.activeElement
|
|
321
|
+
// on open for focus restoration. Deferring blur to next macrotask ensures BottomSheet first
|
|
322
|
+
// snapshots the focused input, then we blur to hide keyboard. On close, focus auto-restores.
|
|
323
|
+
React__default.useEffect(function () {
|
|
324
|
+
if (isMobile && controllableIsOpen) {
|
|
325
|
+
var _refs$reference;
|
|
326
|
+
var refEl = (_refs$reference = refs.reference) === null || _refs$reference === void 0 ? void 0 : _refs$reference.current;
|
|
327
|
+
if (refEl !== null && refEl !== void 0 && refEl.blur) {
|
|
328
|
+
setTimeout(function () {
|
|
329
|
+
var _refEl$blur;
|
|
330
|
+
(_refEl$blur = refEl.blur) === null || _refEl$blur === void 0 ? void 0 : _refEl$blur.call(refEl);
|
|
331
|
+
}, 0);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}, [isMobile, controllableIsOpen, refs.reference]);
|
|
303
335
|
var content = /*#__PURE__*/jsxs(Fragment, {
|
|
304
336
|
children: [shouldRenderPresets ? /*#__PURE__*/jsx(PresetSideBar, {
|
|
305
|
-
presets: presets,
|
|
306
|
-
date: currentDate,
|
|
307
|
-
selectedPreset: selectedPreset,
|
|
308
337
|
onSelection: function onSelection(preset) {
|
|
309
338
|
var presetValue = preset === null || preset === void 0 ? void 0 : preset(currentDate);
|
|
310
339
|
setControlledValue(presetValue);
|
|
@@ -320,8 +349,8 @@ var BaseDatePicker = function BaseDatePicker(_ref) {
|
|
|
320
349
|
s: 'spacing.0'
|
|
321
350
|
}
|
|
322
351
|
/* We only need to set height for day picker, for year picker
|
|
323
|
-
or month
|
|
324
|
-
height: _picker === 'day' ?
|
|
352
|
+
or month it should be auto. */,
|
|
353
|
+
height: _picker === 'day' && showFooterActions ? CALENDAR_HEIGHTS.DAY_PICKER_WITH_FOOTER : 'auto',
|
|
325
354
|
backgroundColor: "surface.background.gray.intense",
|
|
326
355
|
justifyContent: "space-between",
|
|
327
356
|
children: [/*#__PURE__*/jsx(Calendar, _objectSpread(_objectSpread({}, props), {}, {
|
|
@@ -372,11 +401,11 @@ var BaseDatePicker = function BaseDatePicker(_ref) {
|
|
|
372
401
|
forceRerender();
|
|
373
402
|
},
|
|
374
403
|
selectedValue: controlledValue
|
|
375
|
-
})), isMobile ? null : /*#__PURE__*/jsx(CalendarFooter, {
|
|
404
|
+
})), showFooterActions && (isMobile ? null : /*#__PURE__*/jsx(CalendarFooter, {
|
|
376
405
|
isButtonDisabled: applyButtonDisabled,
|
|
377
406
|
onApply: handleApply,
|
|
378
407
|
onCancel: handleCancel
|
|
379
|
-
})]
|
|
408
|
+
}))]
|
|
380
409
|
})]
|
|
381
410
|
});
|
|
382
411
|
var dateProviderValue = React__default.useMemo(function () {
|
|
@@ -409,112 +438,132 @@ var BaseDatePicker = function BaseDatePicker(_ref) {
|
|
|
409
438
|
return /*#__PURE__*/jsx(MantineProvider, {
|
|
410
439
|
children: /*#__PURE__*/jsx(DatesProvider, {
|
|
411
440
|
settings: dateProviderValue,
|
|
412
|
-
children: /*#__PURE__*/
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
isMobile: true,
|
|
473
|
-
presets: presets,
|
|
474
|
-
date: currentDate,
|
|
475
|
-
selectedPreset: selectedPreset,
|
|
441
|
+
children: /*#__PURE__*/jsx(PresetProvider, {
|
|
442
|
+
presets: presets,
|
|
443
|
+
selectedPreset: selectedPreset,
|
|
444
|
+
currentDate: currentDate,
|
|
445
|
+
children: /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread(_objectSpread({
|
|
446
|
+
width: inputElementType === 'chip' ? 'fit-content' : '100%'
|
|
447
|
+
}, getStyledProps(props)), metaAttribute({
|
|
448
|
+
name: MetaConstants.DatePicker
|
|
449
|
+
})), {}, {
|
|
450
|
+
children: [inputElementType === 'chip' ? /*#__PURE__*/jsx(DatePickerFilterChip, _objectSpread({
|
|
451
|
+
selectionType: _selectionType,
|
|
452
|
+
date: controlledValue,
|
|
453
|
+
ref: referenceRef,
|
|
454
|
+
inputRef: refs.reference,
|
|
455
|
+
referenceProps: getReferenceProps(),
|
|
456
|
+
name: name,
|
|
457
|
+
label: label,
|
|
458
|
+
labelPosition: labelPosition,
|
|
459
|
+
accessibilityLabel: accessibilityLabel,
|
|
460
|
+
size: size,
|
|
461
|
+
errorText: errorText,
|
|
462
|
+
helpText: helpText,
|
|
463
|
+
successText: successText,
|
|
464
|
+
isDisabled: isDisabled,
|
|
465
|
+
isRequired: isRequired,
|
|
466
|
+
validationState: validationState,
|
|
467
|
+
autoFocus: autoFocus,
|
|
468
|
+
necessityIndicator: necessityIndicator,
|
|
469
|
+
format: finalFormat,
|
|
470
|
+
placeholder: finalInputPlaceHolder,
|
|
471
|
+
onClearButtonChange: handleClear
|
|
472
|
+
}, makeAnalyticsAttribute(props))) : /*#__PURE__*/jsx(DatePickerInput, _objectSpread({
|
|
473
|
+
selectionType: _selectionType,
|
|
474
|
+
date: controlledValue,
|
|
475
|
+
ref: referenceRef,
|
|
476
|
+
inputRef: refs.reference,
|
|
477
|
+
referenceProps: getReferenceProps(),
|
|
478
|
+
name: name,
|
|
479
|
+
label: label,
|
|
480
|
+
labelPosition: labelPosition,
|
|
481
|
+
accessibilityLabel: accessibilityLabel,
|
|
482
|
+
size: size,
|
|
483
|
+
errorText: errorText,
|
|
484
|
+
helpText: helpText,
|
|
485
|
+
successText: successText,
|
|
486
|
+
isDisabled: isDisabled,
|
|
487
|
+
isRequired: isRequired,
|
|
488
|
+
validationState: validationState,
|
|
489
|
+
autoFocus: autoFocus,
|
|
490
|
+
necessityIndicator: necessityIndicator,
|
|
491
|
+
format: finalFormat,
|
|
492
|
+
placeholder: finalInputPlaceHolder,
|
|
493
|
+
labelSuffix: labelSuffix,
|
|
494
|
+
labelTrailing: labelTrailing,
|
|
495
|
+
setControlledValue: setControlledValue,
|
|
496
|
+
selectedPreset: selectedPreset,
|
|
497
|
+
excludeDate: props.excludeDate,
|
|
498
|
+
minDate: props.minDate,
|
|
499
|
+
maxDate: props.maxDate,
|
|
500
|
+
leadingDropdown: presets && !isSingle ? /*#__PURE__*/jsx(PresetDropdown, {
|
|
476
501
|
onSelection: function onSelection(preset) {
|
|
477
502
|
var presetValue = preset === null || preset === void 0 ? void 0 : preset(currentDate);
|
|
478
503
|
setControlledValue(presetValue);
|
|
479
504
|
setSelectedPreset(presetValue);
|
|
505
|
+
},
|
|
506
|
+
onOpenCalendar: function onOpenCalendar() {
|
|
507
|
+
controllableSetIsOpen(function () {
|
|
508
|
+
return true;
|
|
509
|
+
});
|
|
480
510
|
}
|
|
511
|
+
}) : undefined
|
|
512
|
+
}, makeAnalyticsAttribute(props))), isMobile ? /*#__PURE__*/jsxs(BottomSheet, {
|
|
513
|
+
snapPoints: [0.9, 0.9, 1],
|
|
514
|
+
isOpen: controllableIsOpen,
|
|
515
|
+
onDismiss: function onDismiss() {
|
|
516
|
+
handleCancel();
|
|
517
|
+
},
|
|
518
|
+
children: [/*#__PURE__*/jsx(BottomSheetHeader, {
|
|
519
|
+
title: isSingle ? 'Select Date' : 'Select Date Range'
|
|
520
|
+
}), /*#__PURE__*/jsxs(BottomSheetBody, {
|
|
521
|
+
children: [content, !isSingle && /*#__PURE__*/jsx(PresetSideBar, {
|
|
522
|
+
isMobile: true,
|
|
523
|
+
onSelection: function onSelection(preset) {
|
|
524
|
+
var presetValue = preset === null || preset === void 0 ? void 0 : preset(currentDate);
|
|
525
|
+
setControlledValue(presetValue);
|
|
526
|
+
setSelectedPreset(presetValue);
|
|
527
|
+
}
|
|
528
|
+
})]
|
|
529
|
+
}), showFooterActions && /*#__PURE__*/jsx(BottomSheetFooter, {
|
|
530
|
+
children: /*#__PURE__*/jsx(CalendarFooter, {
|
|
531
|
+
onCancel: handleCancel,
|
|
532
|
+
onApply: handleApply
|
|
533
|
+
})
|
|
481
534
|
})]
|
|
482
|
-
})
|
|
483
|
-
children: /*#__PURE__*/jsx(
|
|
484
|
-
|
|
485
|
-
|
|
535
|
+
}) : isMounted && /*#__PURE__*/jsx(FloatingPortal, {
|
|
536
|
+
children: /*#__PURE__*/jsx(FloatingFocusManager, {
|
|
537
|
+
initialFocus: -1,
|
|
538
|
+
context: context,
|
|
539
|
+
guards: true,
|
|
540
|
+
order: ['reference', 'content'],
|
|
541
|
+
children: /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread({
|
|
542
|
+
ref: refs.setFloating,
|
|
543
|
+
style: floatingStyles,
|
|
544
|
+
zIndex: zIndex
|
|
545
|
+
}, getFloatingProps()), makeAccessible({
|
|
546
|
+
labelledBy: titleId
|
|
547
|
+
})), {}, {
|
|
548
|
+
children: /*#__PURE__*/jsx(BaseBox, {
|
|
549
|
+
display: "flex",
|
|
550
|
+
flexDirection: "row",
|
|
551
|
+
borderColor: "surface.border.gray.subtle",
|
|
552
|
+
borderWidth: "thin",
|
|
553
|
+
borderStyle: "solid",
|
|
554
|
+
borderRadius: "medium",
|
|
555
|
+
overflow: "hidden",
|
|
556
|
+
minWidth: "320px",
|
|
557
|
+
style: _objectSpread(_objectSpread({}, animationStyles), {}, {
|
|
558
|
+
boxShadow: "".concat(theme.elevation.lowRaised)
|
|
559
|
+
}),
|
|
560
|
+
children: content
|
|
561
|
+
})
|
|
562
|
+
}))
|
|
486
563
|
})
|
|
487
564
|
})]
|
|
488
|
-
})
|
|
489
|
-
|
|
490
|
-
initialFocus: defaultInitialFocusRef,
|
|
491
|
-
context: context,
|
|
492
|
-
guards: true,
|
|
493
|
-
children: /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread({
|
|
494
|
-
ref: refs.setFloating,
|
|
495
|
-
style: floatingStyles,
|
|
496
|
-
zIndex: zIndex
|
|
497
|
-
}, getFloatingProps()), makeAccessible({
|
|
498
|
-
labelledBy: titleId
|
|
499
|
-
})), {}, {
|
|
500
|
-
children: /*#__PURE__*/jsx(BaseBox, {
|
|
501
|
-
display: "flex",
|
|
502
|
-
flexDirection: "row",
|
|
503
|
-
borderColor: "surface.border.gray.subtle",
|
|
504
|
-
borderWidth: "thin",
|
|
505
|
-
borderStyle: "solid",
|
|
506
|
-
borderRadius: "medium",
|
|
507
|
-
overflow: "hidden",
|
|
508
|
-
minWidth: "320px",
|
|
509
|
-
style: _objectSpread(_objectSpread({}, animationStyles), {}, {
|
|
510
|
-
boxShadow: "".concat(theme.elevation.lowRaised)
|
|
511
|
-
}),
|
|
512
|
-
children: content
|
|
513
|
-
})
|
|
514
|
-
}))
|
|
515
|
-
})
|
|
516
|
-
})]
|
|
517
|
-
}))
|
|
565
|
+
}))
|
|
566
|
+
})
|
|
518
567
|
})
|
|
519
568
|
});
|
|
520
569
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDatePicker.web.js","sources":["../../../../../../src/components/DatePicker/BaseDatePicker.web.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-autofocus */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { DatesProvider } from '@mantine/dates';\nimport React from 'react';\nimport { FloatingFocusManager, FloatingPortal } from '@floating-ui/react';\nimport { useI18nContext } from '@razorpay/i18nify-react';\nimport { MantineProvider } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport type { DatesRangeValue, DatePickerProps, DateSelectionType, PickerType } from './types';\nimport { Calendar } from './Calendar.web';\nimport { PresetSideBar } from './QuickSelection/PresetSideBar.web';\nimport { useDatesState } from './useDatesState';\nimport { usePopup } from './usePopup';\nimport { CalendarFooter } from './CalendarFooter.web';\nimport { convertIntlToDayjsLocale, loadScript } from './utils';\nimport { shiftTimezone } from './shiftTimezone';\nimport { DatePickerInput } from './DateInput.web';\nimport { DatePickerFilterChip } from './FilterChipDatePicker/DatePickerFilterChip.web';\nimport BaseBox from '~components/Box/BaseBox';\nimport { useControllableState } from '~utils/useControllable';\nimport { useTheme } from '~utils';\nimport { useId } from '~utils/useId';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport {\n BottomSheet,\n BottomSheetBody,\n BottomSheetFooter,\n BottomSheetHeader,\n} from '~components/BottomSheet';\nimport { logger } from '~utils/logger';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { componentZIndices } from '~utils/componentZIndices';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { fireNativeEvent } from '~utils/fireNativeEvent';\nimport { useListViewFilterContext } from '~components/ListView/ListViewFiltersContext.web';\nimport { useFilterChipGroupContext } from '~components/Dropdown/FilterChipGroupContext.web';\n\nconst BaseDatePicker = <Type extends DateSelectionType = 'single'>({\n selectionType,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange,\n onApply,\n presets,\n isOpen,\n defaultIsOpen,\n onOpenChange,\n label,\n labelPosition = 'top',\n accessibilityLabel,\n errorText,\n helpText,\n isDisabled,\n isRequired,\n successText,\n validationState,\n size,\n autoFocus,\n necessityIndicator,\n name,\n defaultPicker = 'day',\n picker,\n onPickerChange,\n zIndex = componentZIndices.popover,\n format = 'DD/MM/YYYY',\n inputPlaceHolder,\n inputElementType = 'datePickerInput',\n onClearButtonClick,\n labelSuffix,\n labelTrailing,\n ...props\n}: DatePickerProps<Type> &\n StyledPropsBlade &\n DataAnalyticsAttribute & {\n inputElementType: 'chip' | 'datePickerInput';\n onClearButtonClick?: () => void;\n }): React.ReactElement => {\n const { i18nState } = useI18nContext();\n const _selectionType = selectionType ?? 'single';\n const { theme } = useTheme();\n const isSingle = _selectionType === 'single';\n const [_, forceRerender] = React.useReducer((x: number) => x + 1, 0);\n const [selectedPreset, setSelectedPreset] = React.useState<DatesRangeValue | null>(null);\n const referenceRef = React.useRef<HTMLButtonElement>(null);\n\n const [_picker, setPicker] = useControllableState<PickerType>({\n defaultValue: defaultPicker,\n value: picker,\n onChange: (picker) => {\n onPickerChange?.(picker);\n },\n });\n const finalFormat = React.useMemo(() => {\n if (format) {\n return format;\n }\n if (picker === 'month') {\n return 'MMMM';\n }\n if (picker === 'year') {\n return 'YYYY';\n }\n return 'DD/MM/YYYY';\n }, [format, picker]);\n\n const finalInputPlaceHolder = React.useMemo(() => {\n if (inputPlaceHolder) {\n return inputPlaceHolder;\n }\n if (picker === 'month') {\n return 'Month';\n }\n if (picker === 'year') {\n return 'Year';\n }\n return 'DD/MM/YYYY';\n }, [inputPlaceHolder, picker]);\n\n const {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n setPickedDate,\n controlledValue,\n setControlledValue,\n handleReset,\n } = useDatesState({\n level: _picker,\n type: isSingle ? 'default' : 'range',\n allowDeselect: false,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange: (date) => {\n onChange?.(date as never);\n fireNativeEvent(referenceRef, ['input']);\n if (isSingle) return;\n // sync selected preset with value\n setSelectedPreset(date as DatesRangeValue);\n },\n });\n const [oldValue, setOldValue] = React.useState<DatesRangeValue | null>(controlledValue);\n\n const [controllableIsOpen, controllableSetIsOpen] = useControllableState({\n value: isOpen,\n defaultValue: defaultIsOpen,\n onChange: (isOpen) => {\n onOpenChange?.({ isOpen });\n // we need to update old value everytime datepicker is opened or closed\n setOldValue(controlledValue);\n setPicker(() => defaultPicker);\n },\n });\n\n const currentDate = shiftTimezone('add', new Date());\n const hasBothDatesSelected = controlledValue?.[0] && controlledValue?.[1];\n const { listViewSelectedFilters, setListViewSelectedFilters } = useListViewFilterContext();\n const {\n clearFilterCallbackTriggerer,\n setFilterChipGroupSelectedFilters,\n } = useFilterChipGroupContext();\n let applyButtonDisabled = !hasBothDatesSelected;\n if (isSingle) {\n applyButtonDisabled = !Boolean(controlledValue);\n }\n\n const close = React.useCallback(() => {\n controllableSetIsOpen(() => false);\n }, [controllableSetIsOpen]);\n\n const handleApply = (): void => {\n const updateSelectedFilters = () => {\n setFilterChipGroupSelectedFilters((prev: string[]) => [...prev, label as string]);\n };\n const storeSelectedFiltersAndValueInListViewContext = () => {\n setListViewSelectedFilters((prev) => {\n if (isSingle) {\n return { ...prev, [label as string]: [controlledValue as string] };\n }\n return { ...prev, [label as string]: controlledValue as string[] };\n });\n };\n if (isSingle) {\n onChange?.(controlledValue);\n fireNativeEvent(referenceRef, ['change']);\n setOldValue(controlledValue);\n onApply?.(controlledValue);\n close();\n storeSelectedFiltersAndValueInListViewContext();\n updateSelectedFilters();\n return;\n }\n // only apply if both dates are selected\n if (hasBothDatesSelected) {\n onChange?.(controlledValue);\n fireNativeEvent(referenceRef, ['change']);\n setOldValue(controlledValue);\n onApply?.(controlledValue);\n close();\n }\n\n storeSelectedFiltersAndValueInListViewContext();\n updateSelectedFilters();\n };\n\n const handleCancel = (): void => {\n setControlledValue(oldValue);\n fireNativeEvent(referenceRef, ['change']);\n setPickedDate(null);\n close();\n };\n\n const handleClear = (): void => {\n fireNativeEvent(referenceRef, ['change']);\n handleReset();\n close();\n setFilterChipGroupSelectedFilters((prev: string[]) =>\n prev.filter((filter) => filter !== label),\n );\n\n setListViewSelectedFilters((prev) => {\n const { [label as string]: _, ...rest } = prev;\n return rest;\n });\n onClearButtonClick?.();\n };\n\n React.useEffect(() => {\n if (listViewSelectedFilters[label as string]) {\n setControlledValue(\n (listViewSelectedFilters[\n label as keyof typeof listViewSelectedFilters\n ] as unknown) as DatesRangeValue,\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.useEffect(() => {\n if (clearFilterCallbackTriggerer) {\n handleClear();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clearFilterCallbackTriggerer]);\n\n const isMobile = useIsMobile();\n const defaultInitialFocusRef = React.useRef<HTMLButtonElement>(null);\n const titleId = useId('datepicker-title');\n const {\n context,\n refs,\n isMounted,\n floatingStyles,\n animationStyles,\n getReferenceProps,\n getFloatingProps,\n } = usePopup({\n enabled: !isMobile,\n placement: 'bottom-start',\n open: controllableIsOpen,\n onOpenChange: (isOpen, _, reason) => {\n controllableSetIsOpen(() => isOpen);\n if (reason === 'escape-key' || reason === 'outside-press') {\n handleCancel();\n }\n },\n referenceRef,\n });\n\n const shouldRenderPresets = !isSingle && !isMobile;\n\n const content = (\n <>\n {shouldRenderPresets ? (\n <PresetSideBar\n presets={presets}\n date={currentDate}\n selectedPreset={selectedPreset}\n onSelection={(preset) => {\n const presetValue = preset?.(currentDate);\n setControlledValue(presetValue);\n setSelectedPreset(presetValue);\n }}\n />\n ) : null}\n <BaseBox\n width=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"spacing.5\"\n padding={{ m: 'spacing.6', s: 'spacing.0' }}\n /* We only need to set height for day picker, for year picker\n or month it should be auto. */\n height={_picker === 'day' ? '447px' : 'auto'}\n backgroundColor=\"surface.background.gray.intense\"\n justifyContent=\"space-between\"\n >\n <Calendar\n {...props}\n selectionType={_selectionType}\n defaultValue={defaultValue}\n onMouseLeave={onRootMouseLeave}\n __onDayMouseEnter={(_event, date) => {\n onHoveredDateChange(date);\n }}\n __onDayClick={(_event, date) => {\n onDateChange(date, 'day');\n }}\n getMonthControlProps={(date) => {\n return getControlProps(date);\n }}\n getYearControlProps={(date) => {\n return getControlProps(date);\n }}\n getDayProps={(date) => {\n return getControlProps(date);\n }}\n onMonthSelect={(date) => {\n props?.onMonthSelect?.(date);\n onDateChange(date, 'month');\n }}\n onYearSelect={(date) => {\n props?.onYearSelect?.(date);\n onDateChange(date, 'year');\n }}\n onNext={(data) => {\n props?.onNext?.(data);\n forceRerender();\n }}\n onPrevious={(data) => {\n props?.onPrevious?.(data);\n forceRerender();\n }}\n picker={_picker}\n showLevelChangeLink={!picker}\n onPickerChange={(picker) => {\n setPicker(() => picker);\n forceRerender();\n }}\n selectedValue={controlledValue}\n />\n {isMobile ? null : (\n <CalendarFooter\n isButtonDisabled={applyButtonDisabled}\n onApply={handleApply}\n onCancel={handleCancel}\n />\n )}\n </BaseBox>\n </>\n );\n\n const dateProviderValue = React.useMemo(() => {\n const locale = convertIntlToDayjsLocale(i18nState?.locale ?? 'en-IN');\n return {\n locale,\n };\n }, [i18nState?.locale]);\n\n // Dynamically load dayjs locales\n React.useLayoutEffect(() => {\n try {\n const locale = convertIntlToDayjsLocale(i18nState?.locale ?? 'en-IN');\n // dayjs needs to be loaded into window so that once the locale is loaded it can be parsed\n if (!(window as any).dayjs) {\n (window as any).dayjs = dayjs;\n }\n loadScript(`https://cdn.jsdelivr.net/npm/dayjs@1/locale/${locale}.js`, () => {\n forceRerender();\n });\n } catch (e: unknown) {\n logger({ type: 'warn', message: 'Failed to load dayjs locale' });\n }\n }, [i18nState?.locale]);\n\n return (\n <MantineProvider>\n <DatesProvider settings={dateProviderValue}>\n <BaseBox\n width={inputElementType === 'chip' ? 'fit-content' : '100%'}\n {...getStyledProps(props)}\n {...metaAttribute({ name: MetaConstants.DatePicker })}\n >\n {inputElementType === 'chip' ? (\n <DatePickerFilterChip\n selectionType={_selectionType}\n date={controlledValue}\n ref={referenceRef}\n inputRef={refs.reference}\n referenceProps={getReferenceProps()}\n name={name as never}\n label={label as never}\n labelPosition={labelPosition}\n accessibilityLabel={accessibilityLabel}\n size={size}\n errorText={errorText as never}\n helpText={helpText as never}\n successText={successText as never}\n isDisabled={isDisabled}\n isRequired={isRequired}\n validationState={validationState}\n autoFocus={autoFocus}\n necessityIndicator={necessityIndicator}\n format={finalFormat}\n placeholder={finalInputPlaceHolder}\n onClearButtonChange={handleClear}\n {...makeAnalyticsAttribute(props)}\n />\n ) : (\n <DatePickerInput\n selectionType={_selectionType}\n date={controlledValue}\n ref={referenceRef}\n inputRef={refs.reference}\n referenceProps={getReferenceProps()}\n name={name as never}\n label={label as never}\n labelPosition={labelPosition}\n accessibilityLabel={accessibilityLabel}\n size={size}\n errorText={errorText as never}\n helpText={helpText as never}\n successText={successText as never}\n isDisabled={isDisabled}\n isRequired={isRequired}\n validationState={validationState}\n autoFocus={autoFocus}\n necessityIndicator={necessityIndicator}\n format={finalFormat}\n placeholder={finalInputPlaceHolder}\n labelSuffix={labelSuffix}\n labelTrailing={labelTrailing}\n {...makeAnalyticsAttribute(props)}\n />\n )}\n {isMobile ? (\n <BottomSheet\n snapPoints={[0.9, 0.9, 1]}\n isOpen={controllableIsOpen}\n onDismiss={() => {\n handleCancel();\n }}\n >\n <BottomSheetHeader title={isSingle ? 'Select Date' : 'Select Date Range'} />\n <BottomSheetBody>\n {content}\n {!isSingle && (\n <PresetSideBar\n isMobile\n presets={presets}\n date={currentDate}\n selectedPreset={selectedPreset}\n onSelection={(preset) => {\n const presetValue = preset?.(currentDate);\n setControlledValue(presetValue);\n setSelectedPreset(presetValue);\n }}\n />\n )}\n </BottomSheetBody>\n <BottomSheetFooter>\n <CalendarFooter onCancel={handleCancel} onApply={handleApply} />\n </BottomSheetFooter>\n </BottomSheet>\n ) : (\n isMounted && (\n <FloatingPortal>\n <FloatingFocusManager\n initialFocus={defaultInitialFocusRef}\n context={context}\n guards={true}\n >\n <BaseBox\n ref={refs.setFloating}\n style={floatingStyles}\n zIndex={zIndex}\n {...getFloatingProps()}\n {...makeAccessible({ labelledBy: titleId })}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n borderColor=\"surface.border.gray.subtle\"\n borderWidth=\"thin\"\n borderStyle=\"solid\"\n borderRadius=\"medium\"\n overflow=\"hidden\"\n minWidth=\"320px\"\n style={{ ...animationStyles, boxShadow: `${theme.elevation.lowRaised}` }}\n >\n {content}\n </BaseBox>\n </BaseBox>\n </FloatingFocusManager>\n </FloatingPortal>\n )\n )}\n </BaseBox>\n </DatesProvider>\n </MantineProvider>\n );\n};\n\nexport { BaseDatePicker };\n"],"names":["BaseDatePicker","_ref","selectionType","allowSingleDateInRange","value","defaultValue","onChange","onApply","presets","isOpen","defaultIsOpen","onOpenChange","label","_ref$labelPosition","labelPosition","accessibilityLabel","errorText","helpText","isDisabled","isRequired","successText","validationState","size","autoFocus","necessityIndicator","name","_ref$defaultPicker","defaultPicker","picker","onPickerChange","_ref$zIndex","zIndex","componentZIndices","popover","_ref$format","format","inputPlaceHolder","_ref$inputElementType","inputElementType","onClearButtonClick","labelSuffix","labelTrailing","props","_objectWithoutProperties","_excluded","_useI18nContext","useI18nContext","i18nState","_selectionType","_useTheme","useTheme","theme","isSingle","_React$useReducer","React","useReducer","x","_React$useReducer2","_slicedToArray","_","forceRerender","_React$useState","useState","_React$useState2","selectedPreset","setSelectedPreset","referenceRef","useRef","_useControllableState","useControllableState","_useControllableState2","_picker","setPicker","finalFormat","useMemo","finalInputPlaceHolder","_useDatesState","useDatesState","level","type","allowDeselect","date","fireNativeEvent","onDateChange","onRootMouseLeave","onHoveredDateChange","getControlProps","setPickedDate","controlledValue","setControlledValue","handleReset","_React$useState3","_React$useState4","oldValue","setOldValue","_useControllableState3","_useControllableState4","controllableIsOpen","controllableSetIsOpen","currentDate","shiftTimezone","Date","hasBothDatesSelected","_useListViewFilterCon","useListViewFilterContext","listViewSelectedFilters","setListViewSelectedFilters","_useFilterChipGroupCo","useFilterChipGroupContext","clearFilterCallbackTriggerer","setFilterChipGroupSelectedFilters","applyButtonDisabled","Boolean","close","useCallback","handleApply","updateSelectedFilters","prev","concat","_toConsumableArray","storeSelectedFiltersAndValueInListViewContext","_objectSpread","_defineProperty","handleCancel","handleClear","filter","_ref2","rest","map","_toPropertyKey","useEffect","isMobile","useIsMobile","defaultInitialFocusRef","titleId","useId","_usePopup","usePopup","enabled","placement","open","reason","context","refs","isMounted","floatingStyles","animationStyles","getReferenceProps","getFloatingProps","shouldRenderPresets","content","_jsxs","_Fragment","children","_jsx","PresetSideBar","onSelection","preset","presetValue","BaseBox","width","display","flexDirection","gap","padding","m","s","height","backgroundColor","justifyContent","Calendar","onMouseLeave","__onDayMouseEnter","_event","__onDayClick","getMonthControlProps","getYearControlProps","getDayProps","onMonthSelect","_props$onMonthSelect","call","onYearSelect","_props$onYearSelect","onNext","data","_props$onNext","onPrevious","_props$onPrevious","showLevelChangeLink","selectedValue","CalendarFooter","isButtonDisabled","onCancel","dateProviderValue","_i18nState$locale","locale","convertIntlToDayjsLocale","useLayoutEffect","_i18nState$locale2","window","dayjs","loadScript","e","logger","message","MantineProvider","DatesProvider","settings","getStyledProps","metaAttribute","MetaConstants","DatePicker","DatePickerFilterChip","ref","inputRef","reference","referenceProps","placeholder","onClearButtonChange","makeAnalyticsAttribute","DatePickerInput","BottomSheet","snapPoints","onDismiss","BottomSheetHeader","title","BottomSheetBody","BottomSheetFooter","FloatingPortal","FloatingFocusManager","initialFocus","guards","setFloating","style","makeAccessible","labelledBy","borderColor","borderWidth","borderStyle","borderRadius","overflow","minWidth","boxShadow","elevation","lowRaised"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseDatePicker.web.js","sources":["../../../../../../src/components/DatePicker/BaseDatePicker.web.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-autofocus */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { DatesProvider } from '@mantine/dates';\nimport React from 'react';\nimport { FloatingFocusManager, FloatingPortal } from '@floating-ui/react';\nimport { useI18nContext } from '@razorpay/i18nify-react';\nimport { MantineProvider } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport type { DatesRangeValue, DatePickerProps, DateSelectionType, PickerType } from './types';\nimport { Calendar } from './Calendar.web';\nimport { CalendarFooter } from './CalendarFooter.web';\nimport { DatePickerInput } from './DateInput.web';\nimport { DatePickerFilterChip } from './FilterChipDatePicker/DatePickerFilterChip.web';\nimport { PresetDropdown } from './QuickSelection/PresetDropdown.web';\nimport { PresetProvider } from './QuickSelection/PresetContext';\nimport { PresetSideBar } from './QuickSelection/PresetSideBar.web';\nimport { shiftTimezone } from './shiftTimezone';\nimport { useDatesState } from './useDatesState';\nimport { usePopup } from './usePopup';\nimport { convertIntlToDayjsLocale, loadScript } from './utils';\nimport BaseBox from '~components/Box/BaseBox';\nimport { useControllableState } from '~utils/useControllable';\nimport { useTheme } from '~utils';\nimport { useId } from '~utils/useId';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport {\n BottomSheet,\n BottomSheetBody,\n BottomSheetFooter,\n BottomSheetHeader,\n} from '~components/BottomSheet';\nimport { logger } from '~utils/logger';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { componentZIndices } from '~utils/componentZIndices';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { fireNativeEvent } from '~utils/fireNativeEvent';\nimport { useListViewFilterContext } from '~components/ListView/ListViewFiltersContext.web';\nimport { useFilterChipGroupContext } from '~components/Dropdown/FilterChipGroupContext.web';\n\n// Calendar dimensions for consistent layout\nconst CALENDAR_HEIGHTS = {\n // Height includes: Calendar grid (6 weeks * ~44px) + header (~48px) + footer actions (~64px) + padding\n DAY_PICKER_WITH_FOOTER: '447px',\n} as const;\n\nconst BaseDatePicker = <Type extends DateSelectionType = 'single'>({\n selectionType,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange,\n onApply,\n presets,\n isOpen,\n defaultIsOpen,\n onOpenChange,\n label,\n labelPosition = 'top',\n accessibilityLabel,\n errorText,\n helpText,\n isDisabled,\n isRequired,\n successText,\n validationState,\n size,\n autoFocus,\n necessityIndicator,\n name,\n defaultPicker = 'day',\n picker,\n onPickerChange,\n zIndex = componentZIndices.popover,\n format = 'DD/MM/YYYY',\n inputPlaceHolder,\n inputElementType = 'datePickerInput',\n onClearButtonClick,\n labelSuffix,\n labelTrailing,\n showFooterActions = true,\n ...props\n}: DatePickerProps<Type> &\n StyledPropsBlade &\n DataAnalyticsAttribute & {\n inputElementType: 'chip' | 'datePickerInput';\n onClearButtonClick?: () => void;\n }): React.ReactElement => {\n const { i18nState } = useI18nContext();\n const _selectionType = selectionType ?? 'single';\n const { theme } = useTheme();\n const isSingle = _selectionType === 'single';\n const [_, forceRerender] = React.useReducer((x: number) => x + 1, 0);\n const [selectedPreset, setSelectedPreset] = React.useState<DatesRangeValue | null>(null);\n const referenceRef = React.useRef<HTMLButtonElement>(null);\n\n const [_picker, setPicker] = useControllableState<PickerType>({\n defaultValue: defaultPicker,\n value: picker,\n onChange: (picker) => {\n onPickerChange?.(picker);\n },\n });\n const finalFormat = React.useMemo(() => {\n if (format) {\n return format;\n }\n if (picker === 'month') {\n return 'MMMM';\n }\n if (picker === 'year') {\n return 'YYYY';\n }\n return 'DD/MM/YYYY';\n }, [format, picker]);\n\n const finalInputPlaceHolder = React.useMemo(() => {\n if (inputPlaceHolder) {\n return inputPlaceHolder;\n }\n if (picker === 'month') {\n return 'Month';\n }\n if (picker === 'year') {\n return 'Year';\n }\n return 'DD/MM/YYYY';\n }, [inputPlaceHolder, picker]);\n\n const {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n setPickedDate,\n controlledValue,\n setControlledValue,\n handleReset,\n } = useDatesState({\n level: _picker,\n type: isSingle ? 'default' : 'range',\n allowDeselect: false,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange: (date) => {\n onChange?.(date as never);\n fireNativeEvent(referenceRef, ['input']);\n if (isSingle) return;\n // sync selected preset with value\n setSelectedPreset(date as DatesRangeValue);\n },\n });\n const [oldValue, setOldValue] = React.useState<DatesRangeValue | null>(controlledValue);\n\n // Sync selectedPreset with controlledValue for initial preset matching\n React.useEffect(() => {\n if (!isSingle && controlledValue) {\n setSelectedPreset(controlledValue as DatesRangeValue);\n }\n }, []);\n\n const [controllableIsOpen, controllableSetIsOpen] = useControllableState({\n value: isOpen,\n defaultValue: defaultIsOpen,\n onChange: (isOpen) => {\n onOpenChange?.({ isOpen });\n // we need to update old value everytime datepicker is opened or closed\n setOldValue(controlledValue);\n setPicker(() => defaultPicker);\n },\n });\n\n const currentDate = shiftTimezone('add', new Date());\n const hasBothDatesSelected = controlledValue?.[0] && controlledValue?.[1];\n const { listViewSelectedFilters, setListViewSelectedFilters } = useListViewFilterContext();\n const {\n clearFilterCallbackTriggerer,\n setFilterChipGroupSelectedFilters,\n } = useFilterChipGroupContext();\n let applyButtonDisabled = !hasBothDatesSelected;\n if (isSingle) {\n applyButtonDisabled = !Boolean(controlledValue);\n }\n\n const close = React.useCallback(() => {\n controllableSetIsOpen(() => false);\n }, [controllableSetIsOpen]);\n\n const handleApply = (): void => {\n const updateSelectedFilters = () => {\n setFilterChipGroupSelectedFilters((prev: string[]) => [...prev, label as string]);\n };\n const storeSelectedFiltersAndValueInListViewContext = () => {\n setListViewSelectedFilters((prev) => {\n if (isSingle) {\n return { ...prev, [label as string]: [controlledValue as string] };\n }\n return { ...prev, [label as string]: controlledValue as string[] };\n });\n };\n if (isSingle) {\n onChange?.(controlledValue);\n fireNativeEvent(referenceRef, ['change']);\n setOldValue(controlledValue);\n onApply?.(controlledValue);\n close();\n storeSelectedFiltersAndValueInListViewContext();\n updateSelectedFilters();\n return;\n }\n // only apply if both dates are selected\n if (hasBothDatesSelected) {\n onChange?.(controlledValue);\n fireNativeEvent(referenceRef, ['change']);\n setOldValue(controlledValue);\n onApply?.(controlledValue);\n close();\n }\n\n storeSelectedFiltersAndValueInListViewContext();\n updateSelectedFilters();\n };\n\n const handleCancel = (): void => {\n setControlledValue(oldValue);\n fireNativeEvent(referenceRef, ['change']);\n setPickedDate(null);\n close();\n };\n\n const handleClear = (): void => {\n fireNativeEvent(referenceRef, ['change']);\n handleReset();\n close();\n setFilterChipGroupSelectedFilters((prev: string[]) =>\n prev.filter((filter) => filter !== label),\n );\n\n setListViewSelectedFilters((prev) => {\n const { [label as string]: _, ...rest } = prev;\n return rest;\n });\n onClearButtonClick?.();\n };\n\n React.useEffect(() => {\n if (listViewSelectedFilters[label as string]) {\n setControlledValue(\n (listViewSelectedFilters[\n label as keyof typeof listViewSelectedFilters\n ] as unknown) as DatesRangeValue,\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.useEffect(() => {\n if (clearFilterCallbackTriggerer) {\n handleClear();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clearFilterCallbackTriggerer]);\n\n const isMobile = useIsMobile();\n const titleId = useId('datepicker-title');\n const {\n context,\n refs,\n isMounted,\n floatingStyles,\n animationStyles,\n getReferenceProps,\n getFloatingProps,\n } = usePopup({\n enabled: !isMobile,\n placement: 'bottom-start',\n open: controllableIsOpen,\n onOpenChange: (isOpen, _, reason) => {\n controllableSetIsOpen(() => isOpen);\n if (reason === 'escape-key') {\n handleCancel();\n }\n },\n referenceRef,\n crossAxisOffset: -28,\n });\n\n const shouldRenderPresets = !isSingle && !isMobile;\n\n // MOBILE: Blur input when bottom sheet opens to prevent keyboard + sheet overlap\n // Use setTimeout(0) instead of requestAnimationFrame: BottomSheet captures document.activeElement\n // on open for focus restoration. Deferring blur to next macrotask ensures BottomSheet first\n // snapshots the focused input, then we blur to hide keyboard. On close, focus auto-restores.\n React.useEffect(() => {\n if (isMobile && controllableIsOpen) {\n const refEl = (refs.reference?.current as unknown) as { blur?: () => void } | null;\n if (refEl?.blur) {\n setTimeout(() => {\n refEl.blur?.();\n }, 0);\n }\n }\n }, [isMobile, controllableIsOpen, refs.reference]);\n\n const content = (\n <>\n {shouldRenderPresets ? (\n <PresetSideBar\n onSelection={(preset) => {\n const presetValue = preset?.(currentDate);\n setControlledValue(presetValue);\n setSelectedPreset(presetValue);\n }}\n />\n ) : null}\n <BaseBox\n width=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"spacing.5\"\n padding={{ m: 'spacing.6', s: 'spacing.0' }}\n /* We only need to set height for day picker, for year picker\n or month it should be auto. */\n height={\n _picker === 'day' && showFooterActions ? CALENDAR_HEIGHTS.DAY_PICKER_WITH_FOOTER : 'auto'\n }\n backgroundColor=\"surface.background.gray.intense\"\n justifyContent=\"space-between\"\n >\n <Calendar\n {...props}\n selectionType={_selectionType}\n defaultValue={defaultValue}\n onMouseLeave={onRootMouseLeave}\n __onDayMouseEnter={(_event, date) => {\n onHoveredDateChange(date);\n }}\n __onDayClick={(_event, date) => {\n onDateChange(date, 'day');\n }}\n getMonthControlProps={(date) => {\n return getControlProps(date);\n }}\n getYearControlProps={(date) => {\n return getControlProps(date);\n }}\n getDayProps={(date) => {\n return getControlProps(date);\n }}\n onMonthSelect={(date) => {\n props?.onMonthSelect?.(date);\n onDateChange(date, 'month');\n }}\n onYearSelect={(date) => {\n props?.onYearSelect?.(date);\n onDateChange(date, 'year');\n }}\n onNext={(data) => {\n props?.onNext?.(data);\n forceRerender();\n }}\n onPrevious={(data) => {\n props?.onPrevious?.(data);\n forceRerender();\n }}\n picker={_picker}\n showLevelChangeLink={!picker}\n onPickerChange={(picker) => {\n setPicker(() => picker);\n forceRerender();\n }}\n selectedValue={controlledValue}\n />\n {showFooterActions &&\n (isMobile ? null : (\n <CalendarFooter\n isButtonDisabled={applyButtonDisabled}\n onApply={handleApply}\n onCancel={handleCancel}\n />\n ))}\n </BaseBox>\n </>\n );\n\n const dateProviderValue = React.useMemo(() => {\n const locale = convertIntlToDayjsLocale(i18nState?.locale ?? 'en-IN');\n return {\n locale,\n };\n }, [i18nState?.locale]);\n\n // Dynamically load dayjs locales\n React.useLayoutEffect(() => {\n try {\n const locale = convertIntlToDayjsLocale(i18nState?.locale ?? 'en-IN');\n // dayjs needs to be loaded into window so that once the locale is loaded it can be parsed\n if (!(window as any).dayjs) {\n (window as any).dayjs = dayjs;\n }\n loadScript(`https://cdn.jsdelivr.net/npm/dayjs@1/locale/${locale}.js`, () => {\n forceRerender();\n });\n } catch (e: unknown) {\n logger({ type: 'warn', message: 'Failed to load dayjs locale' });\n }\n }, [i18nState?.locale]);\n\n return (\n <MantineProvider>\n <DatesProvider settings={dateProviderValue}>\n <PresetProvider presets={presets} selectedPreset={selectedPreset} currentDate={currentDate}>\n <BaseBox\n width={inputElementType === 'chip' ? 'fit-content' : '100%'}\n {...getStyledProps(props)}\n {...metaAttribute({ name: MetaConstants.DatePicker })}\n >\n {inputElementType === 'chip' ? (\n <DatePickerFilterChip\n selectionType={_selectionType}\n date={controlledValue}\n ref={referenceRef}\n inputRef={refs.reference}\n referenceProps={getReferenceProps()}\n name={name as never}\n label={label as never}\n labelPosition={labelPosition}\n accessibilityLabel={accessibilityLabel}\n size={size}\n errorText={errorText as never}\n helpText={helpText as never}\n successText={successText as never}\n isDisabled={isDisabled}\n isRequired={isRequired}\n validationState={validationState}\n autoFocus={autoFocus}\n necessityIndicator={necessityIndicator}\n format={finalFormat}\n placeholder={finalInputPlaceHolder}\n onClearButtonChange={handleClear}\n {...makeAnalyticsAttribute(props)}\n />\n ) : (\n <DatePickerInput\n selectionType={_selectionType}\n date={controlledValue}\n ref={referenceRef}\n inputRef={refs.reference}\n referenceProps={getReferenceProps()}\n name={name as never}\n label={label as never}\n labelPosition={labelPosition}\n accessibilityLabel={accessibilityLabel}\n size={size}\n errorText={errorText as never}\n helpText={helpText as never}\n successText={successText as never}\n isDisabled={isDisabled}\n isRequired={isRequired}\n validationState={validationState}\n autoFocus={autoFocus}\n necessityIndicator={necessityIndicator}\n format={finalFormat}\n placeholder={finalInputPlaceHolder}\n labelSuffix={labelSuffix}\n labelTrailing={labelTrailing}\n setControlledValue={setControlledValue}\n selectedPreset={selectedPreset}\n excludeDate={props.excludeDate}\n minDate={props.minDate}\n maxDate={props.maxDate}\n leadingDropdown={\n presets && !isSingle ? (\n <PresetDropdown\n onSelection={(preset) => {\n const presetValue = preset?.(currentDate);\n setControlledValue(presetValue);\n setSelectedPreset(presetValue);\n }}\n onOpenCalendar={() => {\n controllableSetIsOpen(() => true);\n }}\n />\n ) : undefined\n }\n {...makeAnalyticsAttribute(props)}\n />\n )}\n {isMobile ? (\n <BottomSheet\n snapPoints={[0.9, 0.9, 1]}\n isOpen={controllableIsOpen}\n onDismiss={() => {\n handleCancel();\n }}\n >\n <BottomSheetHeader title={isSingle ? 'Select Date' : 'Select Date Range'} />\n <BottomSheetBody>\n {content}\n {!isSingle && (\n <PresetSideBar\n isMobile\n onSelection={(preset) => {\n const presetValue = preset?.(currentDate);\n setControlledValue(presetValue);\n setSelectedPreset(presetValue);\n }}\n />\n )}\n </BottomSheetBody>\n {showFooterActions && (\n <BottomSheetFooter>\n <CalendarFooter onCancel={handleCancel} onApply={handleApply} />\n </BottomSheetFooter>\n )}\n </BottomSheet>\n ) : (\n isMounted && (\n <FloatingPortal>\n <FloatingFocusManager\n initialFocus={-1}\n context={context}\n guards={true}\n order={['reference', 'content']}\n >\n <BaseBox\n ref={refs.setFloating}\n style={floatingStyles}\n zIndex={zIndex}\n {...getFloatingProps()}\n {...makeAccessible({ labelledBy: titleId })}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n borderColor=\"surface.border.gray.subtle\"\n borderWidth=\"thin\"\n borderStyle=\"solid\"\n borderRadius=\"medium\"\n overflow=\"hidden\"\n minWidth=\"320px\"\n style={{ ...animationStyles, boxShadow: `${theme.elevation.lowRaised}` }}\n >\n {content}\n </BaseBox>\n </BaseBox>\n </FloatingFocusManager>\n </FloatingPortal>\n )\n )}\n </BaseBox>\n </PresetProvider>\n </DatesProvider>\n </MantineProvider>\n );\n};\n\nexport { BaseDatePicker };\n"],"names":["CALENDAR_HEIGHTS","DAY_PICKER_WITH_FOOTER","BaseDatePicker","_ref","selectionType","allowSingleDateInRange","value","defaultValue","onChange","onApply","presets","isOpen","defaultIsOpen","onOpenChange","label","_ref$labelPosition","labelPosition","accessibilityLabel","errorText","helpText","isDisabled","isRequired","successText","validationState","size","autoFocus","necessityIndicator","name","_ref$defaultPicker","defaultPicker","picker","onPickerChange","_ref$zIndex","zIndex","componentZIndices","popover","_ref$format","format","inputPlaceHolder","_ref$inputElementType","inputElementType","onClearButtonClick","labelSuffix","labelTrailing","_ref$showFooterAction","showFooterActions","props","_objectWithoutProperties","_excluded","_useI18nContext","useI18nContext","i18nState","_selectionType","_useTheme","useTheme","theme","isSingle","_React$useReducer","React","useReducer","x","_React$useReducer2","_slicedToArray","_","forceRerender","_React$useState","useState","_React$useState2","selectedPreset","setSelectedPreset","referenceRef","useRef","_useControllableState","useControllableState","_useControllableState2","_picker","setPicker","finalFormat","useMemo","finalInputPlaceHolder","_useDatesState","useDatesState","level","type","allowDeselect","date","fireNativeEvent","onDateChange","onRootMouseLeave","onHoveredDateChange","getControlProps","setPickedDate","controlledValue","setControlledValue","handleReset","_React$useState3","_React$useState4","oldValue","setOldValue","useEffect","_useControllableState3","_useControllableState4","controllableIsOpen","controllableSetIsOpen","currentDate","shiftTimezone","Date","hasBothDatesSelected","_useListViewFilterCon","useListViewFilterContext","listViewSelectedFilters","setListViewSelectedFilters","_useFilterChipGroupCo","useFilterChipGroupContext","clearFilterCallbackTriggerer","setFilterChipGroupSelectedFilters","applyButtonDisabled","Boolean","close","useCallback","handleApply","updateSelectedFilters","prev","concat","_toConsumableArray","storeSelectedFiltersAndValueInListViewContext","_objectSpread","_defineProperty","handleCancel","handleClear","filter","_ref2","rest","map","_toPropertyKey","isMobile","useIsMobile","titleId","useId","_usePopup","usePopup","enabled","placement","open","reason","crossAxisOffset","context","refs","isMounted","floatingStyles","animationStyles","getReferenceProps","getFloatingProps","shouldRenderPresets","_refs$reference","refEl","reference","current","blur","setTimeout","_refEl$blur","call","content","_jsxs","_Fragment","children","_jsx","PresetSideBar","onSelection","preset","presetValue","BaseBox","width","display","flexDirection","gap","padding","m","s","height","backgroundColor","justifyContent","Calendar","onMouseLeave","__onDayMouseEnter","_event","__onDayClick","getMonthControlProps","getYearControlProps","getDayProps","onMonthSelect","_props$onMonthSelect","onYearSelect","_props$onYearSelect","onNext","data","_props$onNext","onPrevious","_props$onPrevious","showLevelChangeLink","selectedValue","CalendarFooter","isButtonDisabled","onCancel","dateProviderValue","_i18nState$locale","locale","convertIntlToDayjsLocale","useLayoutEffect","_i18nState$locale2","window","dayjs","loadScript","e","logger","message","MantineProvider","DatesProvider","settings","PresetProvider","getStyledProps","metaAttribute","MetaConstants","DatePicker","DatePickerFilterChip","ref","inputRef","referenceProps","placeholder","onClearButtonChange","makeAnalyticsAttribute","DatePickerInput","excludeDate","minDate","maxDate","leadingDropdown","PresetDropdown","onOpenCalendar","undefined","BottomSheet","snapPoints","onDismiss","BottomSheetHeader","title","BottomSheetBody","BottomSheetFooter","FloatingPortal","FloatingFocusManager","initialFocus","guards","order","setFloating","style","makeAccessible","labelledBy","borderColor","borderWidth","borderStyle","borderRadius","overflow","minWidth","boxShadow","elevation","lowRaised"],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ var CalendarFooter = function CalendarFooter(_ref) {
|
|
|
27
27
|
marginLeft: "auto",
|
|
28
28
|
display: "flex",
|
|
29
29
|
flexDirection: "row",
|
|
30
|
-
gap:
|
|
30
|
+
gap: isMobile ? 'spacing.5' : 'spacing.3',
|
|
31
31
|
children: [/*#__PURE__*/jsx(Button, {
|
|
32
32
|
isFullWidth: isMobile,
|
|
33
33
|
variant: "tertiary",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarFooter.web.js","sources":["../../../../../../src/components/DatePicker/CalendarFooter.web.tsx"],"sourcesContent":["import React from 'react';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Button } from '~components/Button';\nimport { Divider } from '~components/Divider';\nimport { MAKE_ANALYTICS_CONSTANTS } from '~utils/makeAnalyticsAttribute';\nimport { useIsMobile } from '~utils/useIsMobile';\n\ntype CalendarFooterProps = {\n onApply: () => void;\n onCancel: () => void;\n isButtonDisabled?: boolean;\n};\nconst CalendarFooter = ({\n onApply,\n onCancel,\n isButtonDisabled,\n}: CalendarFooterProps): React.ReactElement => {\n const isMobile = useIsMobile();\n\n return (\n <BaseBox display=\"flex\" flexDirection=\"column\" gap=\"spacing.5\">\n {isMobile ? null : <Divider />}\n <BaseBox\n width={{ base: '100%', m: 'auto' }}\n marginLeft=\"auto\"\n display=\"flex\"\n flexDirection=\"row\"\n gap
|
|
1
|
+
{"version":3,"file":"CalendarFooter.web.js","sources":["../../../../../../src/components/DatePicker/CalendarFooter.web.tsx"],"sourcesContent":["import React from 'react';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Button } from '~components/Button';\nimport { Divider } from '~components/Divider';\nimport { MAKE_ANALYTICS_CONSTANTS } from '~utils/makeAnalyticsAttribute';\nimport { useIsMobile } from '~utils/useIsMobile';\n\ntype CalendarFooterProps = {\n onApply: () => void;\n onCancel: () => void;\n isButtonDisabled?: boolean;\n};\nconst CalendarFooter = ({\n onApply,\n onCancel,\n isButtonDisabled,\n}: CalendarFooterProps): React.ReactElement => {\n const isMobile = useIsMobile();\n\n return (\n <BaseBox display=\"flex\" flexDirection=\"column\" gap=\"spacing.5\">\n {isMobile ? null : <Divider />}\n <BaseBox\n width={{ base: '100%', m: 'auto' }}\n marginLeft=\"auto\"\n display=\"flex\"\n flexDirection=\"row\"\n gap={isMobile ? 'spacing.5' : 'spacing.3'}\n >\n <Button\n isFullWidth={isMobile}\n variant=\"tertiary\"\n size=\"medium\"\n onClick={onCancel}\n data-analytics-name={MAKE_ANALYTICS_CONSTANTS.DATE_PICKER.CANCEL_BUTTON}\n >\n Cancel\n </Button>\n <Button\n isDisabled={isButtonDisabled}\n isFullWidth={isMobile}\n variant=\"primary\"\n size=\"medium\"\n onClick={onApply}\n data-analytics-name={MAKE_ANALYTICS_CONSTANTS.DATE_PICKER.APPLY_BUTTON}\n >\n Apply\n </Button>\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport { CalendarFooter };\n"],"names":["CalendarFooter","_ref","onApply","onCancel","isButtonDisabled","isMobile","useIsMobile","_jsxs","BaseBox","display","flexDirection","gap","children","_jsx","Divider","width","base","m","marginLeft","Button","isFullWidth","variant","size","onClick","MAKE_ANALYTICS_CONSTANTS","DATE_PICKER","CANCEL_BUTTON","isDisabled","APPLY_BUTTON"],"mappings":";;;;;;;;;;;;AAYA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAI2B;AAAA,EAAA,IAH7CC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,gBAAgB,GAAAH,IAAA,CAAhBG,gBAAgB,CAAA;AAEhB,EAAA,IAAMC,QAAQ,GAAGC,WAAW,EAAE,CAAA;EAE9B,oBACEC,IAAA,CAACC,OAAO,EAAA;AAACC,IAAAA,OAAO,EAAC,MAAM;AAACC,IAAAA,aAAa,EAAC,QAAQ;AAACC,IAAAA,GAAG,EAAC,WAAW;AAAAC,IAAAA,QAAA,EAC3DP,CAAAA,QAAQ,GAAG,IAAI,gBAAGQ,GAAA,CAACC,OAAO,EAAE,EAAA,CAAC,eAC9BP,IAAA,CAACC,OAAO,EAAA;AACNO,MAAAA,KAAK,EAAE;AAAEC,QAAAA,IAAI,EAAE,MAAM;AAAEC,QAAAA,CAAC,EAAE,MAAA;OAAS;AACnCC,MAAAA,UAAU,EAAC,MAAM;AACjBT,MAAAA,OAAO,EAAC,MAAM;AACdC,MAAAA,aAAa,EAAC,KAAK;AACnBC,MAAAA,GAAG,EAAEN,QAAQ,GAAG,WAAW,GAAG,WAAY;MAAAO,QAAA,EAAA,cAE1CC,GAAA,CAACM,MAAM,EAAA;AACLC,QAAAA,WAAW,EAAEf,QAAS;AACtBgB,QAAAA,OAAO,EAAC,UAAU;AAClBC,QAAAA,IAAI,EAAC,QAAQ;AACbC,QAAAA,OAAO,EAAEpB,QAAS;AAClB,QAAA,qBAAA,EAAqBqB,wBAAwB,CAACC,WAAW,CAACC,aAAc;AAAAd,QAAAA,QAAA,EACzE,QAAA;AAED,OAAQ,CAAC,eACTC,GAAA,CAACM,MAAM,EAAA;AACLQ,QAAAA,UAAU,EAAEvB,gBAAiB;AAC7BgB,QAAAA,WAAW,EAAEf,QAAS;AACtBgB,QAAAA,OAAO,EAAC,SAAS;AACjBC,QAAAA,IAAI,EAAC,QAAQ;AACbC,QAAAA,OAAO,EAAErB,OAAQ;AACjB,QAAA,qBAAA,EAAqBsB,wBAAwB,CAACC,WAAW,CAACG,YAAa;AAAAhB,QAAAA,QAAA,EACxE,OAAA;AAED,OAAQ,CAAC,CAAA;AAAA,KACF,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEd;;;;"}
|