@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.
Files changed (51) hide show
  1. package/build/lib/native/components/Input/TextInput/TextInput.js +1 -1
  2. package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
  3. package/build/lib/native/components/Input/TextInput/useFormattedInput.js +1 -1
  4. package/build/lib/native/components/Input/TextInput/useFormattedInput.js.map +1 -1
  5. package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js +162 -113
  6. package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js.map +1 -1
  7. package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js +1 -1
  8. package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js.map +1 -1
  9. package/build/lib/web/development/components/DatePicker/DateInput.web.js +202 -147
  10. package/build/lib/web/development/components/DatePicker/DateInput.web.js.map +1 -1
  11. package/build/lib/web/development/components/DatePicker/QuickSelection/PresetContext.js +122 -0
  12. package/build/lib/web/development/components/DatePicker/QuickSelection/PresetContext.js.map +1 -0
  13. package/build/lib/web/development/components/DatePicker/QuickSelection/PresetDropdown.web.js +46 -0
  14. package/build/lib/web/development/components/DatePicker/QuickSelection/PresetDropdown.web.js.map +1 -0
  15. package/build/lib/web/development/components/DatePicker/QuickSelection/PresetSideBar.web.js +19 -19
  16. package/build/lib/web/development/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -1
  17. package/build/lib/web/development/components/DatePicker/QuickSelection/utils.js +9 -0
  18. package/build/lib/web/development/components/DatePicker/QuickSelection/utils.js.map +1 -0
  19. package/build/lib/web/development/components/DatePicker/usePopup.js +10 -2
  20. package/build/lib/web/development/components/DatePicker/usePopup.js.map +1 -1
  21. package/build/lib/web/development/components/DatePicker/utils.js +419 -1
  22. package/build/lib/web/development/components/DatePicker/utils.js.map +1 -1
  23. package/build/lib/web/development/components/Input/TextInput/TextInput.js +3 -1
  24. package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
  25. package/build/lib/web/development/components/Input/TextInput/useFormattedInput.js +21 -0
  26. package/build/lib/web/development/components/Input/TextInput/useFormattedInput.js.map +1 -1
  27. package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js +162 -113
  28. package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js.map +1 -1
  29. package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js +1 -1
  30. package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js.map +1 -1
  31. package/build/lib/web/production/components/DatePicker/DateInput.web.js +202 -147
  32. package/build/lib/web/production/components/DatePicker/DateInput.web.js.map +1 -1
  33. package/build/lib/web/production/components/DatePicker/QuickSelection/PresetContext.js +122 -0
  34. package/build/lib/web/production/components/DatePicker/QuickSelection/PresetContext.js.map +1 -0
  35. package/build/lib/web/production/components/DatePicker/QuickSelection/PresetDropdown.web.js +46 -0
  36. package/build/lib/web/production/components/DatePicker/QuickSelection/PresetDropdown.web.js.map +1 -0
  37. package/build/lib/web/production/components/DatePicker/QuickSelection/PresetSideBar.web.js +19 -19
  38. package/build/lib/web/production/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -1
  39. package/build/lib/web/production/components/DatePicker/QuickSelection/utils.js +9 -0
  40. package/build/lib/web/production/components/DatePicker/QuickSelection/utils.js.map +1 -0
  41. package/build/lib/web/production/components/DatePicker/usePopup.js +10 -2
  42. package/build/lib/web/production/components/DatePicker/usePopup.js.map +1 -1
  43. package/build/lib/web/production/components/DatePicker/utils.js +419 -1
  44. package/build/lib/web/production/components/DatePicker/utils.js.map +1 -1
  45. package/build/lib/web/production/components/Input/TextInput/TextInput.js +3 -1
  46. package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
  47. package/build/lib/web/production/components/Input/TextInput/useFormattedInput.js +21 -0
  48. package/build/lib/web/production/components/Input/TextInput/useFormattedInput.js.map +1 -1
  49. package/build/types/components/index.d.ts +10 -5
  50. package/build/types/components/index.native.d.ts +10 -5
  51. 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' || reason === 'outside-press') {
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 it should be auto. */,
324
- height: _picker === 'day' ? '447px' : 'auto',
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__*/jsxs(BaseBox, _objectSpread(_objectSpread(_objectSpread({
413
- width: inputElementType === 'chip' ? 'fit-content' : '100%'
414
- }, getStyledProps(props)), metaAttribute({
415
- name: MetaConstants.DatePicker
416
- })), {}, {
417
- children: [inputElementType === 'chip' ? /*#__PURE__*/jsx(DatePickerFilterChip, _objectSpread({
418
- selectionType: _selectionType,
419
- date: controlledValue,
420
- ref: referenceRef,
421
- inputRef: refs.reference,
422
- referenceProps: getReferenceProps(),
423
- name: name,
424
- label: label,
425
- labelPosition: labelPosition,
426
- accessibilityLabel: accessibilityLabel,
427
- size: size,
428
- errorText: errorText,
429
- helpText: helpText,
430
- successText: successText,
431
- isDisabled: isDisabled,
432
- isRequired: isRequired,
433
- validationState: validationState,
434
- autoFocus: autoFocus,
435
- necessityIndicator: necessityIndicator,
436
- format: finalFormat,
437
- placeholder: finalInputPlaceHolder,
438
- onClearButtonChange: handleClear
439
- }, makeAnalyticsAttribute(props))) : /*#__PURE__*/jsx(DatePickerInput, _objectSpread({
440
- selectionType: _selectionType,
441
- date: controlledValue,
442
- ref: referenceRef,
443
- inputRef: refs.reference,
444
- referenceProps: getReferenceProps(),
445
- name: name,
446
- label: label,
447
- labelPosition: labelPosition,
448
- accessibilityLabel: accessibilityLabel,
449
- size: size,
450
- errorText: errorText,
451
- helpText: helpText,
452
- successText: successText,
453
- isDisabled: isDisabled,
454
- isRequired: isRequired,
455
- validationState: validationState,
456
- autoFocus: autoFocus,
457
- necessityIndicator: necessityIndicator,
458
- format: finalFormat,
459
- placeholder: finalInputPlaceHolder,
460
- labelSuffix: labelSuffix,
461
- labelTrailing: labelTrailing
462
- }, makeAnalyticsAttribute(props))), isMobile ? /*#__PURE__*/jsxs(BottomSheet, {
463
- snapPoints: [0.9, 0.9, 1],
464
- isOpen: controllableIsOpen,
465
- onDismiss: function onDismiss() {
466
- handleCancel();
467
- },
468
- children: [/*#__PURE__*/jsx(BottomSheetHeader, {
469
- title: isSingle ? 'Select Date' : 'Select Date Range'
470
- }), /*#__PURE__*/jsxs(BottomSheetBody, {
471
- children: [content, !isSingle && /*#__PURE__*/jsx(PresetSideBar, {
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
- }), /*#__PURE__*/jsx(BottomSheetFooter, {
483
- children: /*#__PURE__*/jsx(CalendarFooter, {
484
- onCancel: handleCancel,
485
- onApply: handleApply
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
- }) : isMounted && /*#__PURE__*/jsx(FloatingPortal, {
489
- children: /*#__PURE__*/jsx(FloatingFocusManager, {
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: "spacing.4",
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=\"spacing.4\"\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,EAAC,WAAW;MAAAC,QAAA,EAAA,cAEfC,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;;;;"}
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;;;;"}