@razorpay/blade 11.18.2 → 11.19.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 (105) hide show
  1. package/build/lib/native/components/Button/BaseButton/BaseButton.js +1 -1
  2. package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
  3. package/build/lib/native/components/Button/BaseButton/buttonTokens.js +1 -1
  4. package/build/lib/native/components/Button/BaseButton/buttonTokens.js.map +1 -1
  5. package/build/lib/native/components/DatePicker/DatePicker.native.js +7 -0
  6. package/build/lib/native/components/DatePicker/DatePicker.native.js.map +1 -0
  7. package/build/lib/native/components/index.js +1 -0
  8. package/build/lib/native/components/index.js.map +1 -1
  9. package/build/lib/native/tokens/global/size.js +1 -1
  10. package/build/lib/native/tokens/global/size.js.map +1 -1
  11. package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
  12. package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
  13. package/build/lib/web/development/components/BottomSheet/BottomSheetBody.web.js +6 -4
  14. package/build/lib/web/development/components/BottomSheet/BottomSheetBody.web.js.map +1 -1
  15. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +1 -1
  16. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
  17. package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js +2 -2
  18. package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js.map +1 -1
  19. package/build/lib/web/development/components/DatePicker/Calendar.web.js +182 -0
  20. package/build/lib/web/development/components/DatePicker/Calendar.web.js.map +1 -0
  21. package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js +46 -0
  22. package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js.map +1 -0
  23. package/build/lib/web/development/components/DatePicker/CalendarHeader.web.js +162 -0
  24. package/build/lib/web/development/components/DatePicker/CalendarHeader.web.js.map +1 -0
  25. package/build/lib/web/development/components/DatePicker/CalendarStyles.web.js +310 -0
  26. package/build/lib/web/development/components/DatePicker/CalendarStyles.web.js.map +1 -0
  27. package/build/lib/web/development/components/DatePicker/DateInput.web.js +185 -0
  28. package/build/lib/web/development/components/DatePicker/DateInput.web.js.map +1 -0
  29. package/build/lib/web/development/components/DatePicker/DatePicker.web.js +364 -0
  30. package/build/lib/web/development/components/DatePicker/DatePicker.web.js.map +1 -0
  31. package/build/lib/web/development/components/DatePicker/QuickSelection/PresetSideBar.web.js +86 -0
  32. package/build/lib/web/development/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -0
  33. package/build/lib/web/development/components/DatePicker/QuickSelection/QuickSelectionItem.web.js +43 -0
  34. package/build/lib/web/development/components/DatePicker/QuickSelection/QuickSelectionItem.web.js.map +1 -0
  35. package/build/lib/web/development/components/DatePicker/constants.js +22 -0
  36. package/build/lib/web/development/components/DatePicker/constants.js.map +1 -0
  37. package/build/lib/web/development/components/DatePicker/index.js +2 -0
  38. package/build/lib/web/development/components/DatePicker/index.js.map +1 -0
  39. package/build/lib/web/development/components/DatePicker/useControlledDates.js +75 -0
  40. package/build/lib/web/development/components/DatePicker/useControlledDates.js.map +1 -0
  41. package/build/lib/web/development/components/DatePicker/useDatesState.js +149 -0
  42. package/build/lib/web/development/components/DatePicker/useDatesState.js.map +1 -0
  43. package/build/lib/web/development/components/DatePicker/usePopup.js +90 -0
  44. package/build/lib/web/development/components/DatePicker/usePopup.js.map +1 -0
  45. package/build/lib/web/development/components/DatePicker/utils.js +39 -0
  46. package/build/lib/web/development/components/DatePicker/utils.js.map +1 -0
  47. package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +3 -2
  48. package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -1
  49. package/build/lib/web/development/components/index.js +2 -0
  50. package/build/lib/web/development/components/index.js.map +1 -1
  51. package/build/lib/web/development/tokens/global/size.js +2 -0
  52. package/build/lib/web/development/tokens/global/size.js.map +1 -1
  53. package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js +6 -3
  54. package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
  55. package/build/lib/web/development/utils/metaAttribute/metaConstants.js +2 -0
  56. package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
  57. package/build/lib/web/production/components/BottomSheet/BottomSheetBody.web.js +6 -4
  58. package/build/lib/web/production/components/BottomSheet/BottomSheetBody.web.js.map +1 -1
  59. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +1 -1
  60. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
  61. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js +2 -2
  62. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js.map +1 -1
  63. package/build/lib/web/production/components/DatePicker/Calendar.web.js +182 -0
  64. package/build/lib/web/production/components/DatePicker/Calendar.web.js.map +1 -0
  65. package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js +46 -0
  66. package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js.map +1 -0
  67. package/build/lib/web/production/components/DatePicker/CalendarHeader.web.js +162 -0
  68. package/build/lib/web/production/components/DatePicker/CalendarHeader.web.js.map +1 -0
  69. package/build/lib/web/production/components/DatePicker/CalendarStyles.web.js +310 -0
  70. package/build/lib/web/production/components/DatePicker/CalendarStyles.web.js.map +1 -0
  71. package/build/lib/web/production/components/DatePicker/DateInput.web.js +185 -0
  72. package/build/lib/web/production/components/DatePicker/DateInput.web.js.map +1 -0
  73. package/build/lib/web/production/components/DatePicker/DatePicker.web.js +364 -0
  74. package/build/lib/web/production/components/DatePicker/DatePicker.web.js.map +1 -0
  75. package/build/lib/web/production/components/DatePicker/QuickSelection/PresetSideBar.web.js +86 -0
  76. package/build/lib/web/production/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -0
  77. package/build/lib/web/production/components/DatePicker/QuickSelection/QuickSelectionItem.web.js +43 -0
  78. package/build/lib/web/production/components/DatePicker/QuickSelection/QuickSelectionItem.web.js.map +1 -0
  79. package/build/lib/web/production/components/DatePicker/constants.js +22 -0
  80. package/build/lib/web/production/components/DatePicker/constants.js.map +1 -0
  81. package/build/lib/web/production/components/DatePicker/index.js +2 -0
  82. package/build/lib/web/production/components/DatePicker/index.js.map +1 -0
  83. package/build/lib/web/production/components/DatePicker/useControlledDates.js +75 -0
  84. package/build/lib/web/production/components/DatePicker/useControlledDates.js.map +1 -0
  85. package/build/lib/web/production/components/DatePicker/useDatesState.js +149 -0
  86. package/build/lib/web/production/components/DatePicker/useDatesState.js.map +1 -0
  87. package/build/lib/web/production/components/DatePicker/usePopup.js +90 -0
  88. package/build/lib/web/production/components/DatePicker/usePopup.js.map +1 -0
  89. package/build/lib/web/production/components/DatePicker/utils.js +39 -0
  90. package/build/lib/web/production/components/DatePicker/utils.js.map +1 -0
  91. package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +3 -2
  92. package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -1
  93. package/build/lib/web/production/components/index.js +2 -0
  94. package/build/lib/web/production/components/index.js.map +1 -1
  95. package/build/lib/web/production/tokens/global/size.js +2 -0
  96. package/build/lib/web/production/tokens/global/size.js.map +1 -1
  97. package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js +6 -3
  98. package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
  99. package/build/lib/web/production/utils/metaAttribute/metaConstants.js +2 -0
  100. package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
  101. package/build/types/components/index.d.ts +1242 -527
  102. package/build/types/components/index.native.d.ts +550 -406
  103. package/build/types/tokens/index.d.ts +2 -0
  104. package/build/types/tokens/index.native.d.ts +2 -0
  105. package/package.json +7 -3
@@ -0,0 +1,364 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
4
+ import { useDatesContext, shiftTimezone, DatesProvider } from '@mantine/dates';
5
+ import React__default from 'react';
6
+ import { FloatingPortal, FloatingFocusManager } from '@floating-ui/react';
7
+ import { useI18nContext } from '../../node_modules/@razorpay/i18nify-react/lib/esm/index.js';
8
+ import { HeadlessMantineProvider } from '@mantine/core';
9
+ import dayjs from 'dayjs';
10
+ import { Calendar } from './Calendar.web.js';
11
+ import { PresetSideBar } from './QuickSelection/PresetSideBar.web.js';
12
+ import { useDatesState } from './useDatesState.js';
13
+ import { DatePickerInput } from './DateInput.web.js';
14
+ import { usePopup } from './usePopup.js';
15
+ import { CalendarFooter } from './CalendarFooter.web.js';
16
+ import { convertIntlToDayjsLocale, loadScript } from './utils.js';
17
+ import '../Box/BaseBox/index.js';
18
+ import { useControllableState } from '../../utils/useControllable.js';
19
+ import '../../utils/index.js';
20
+ import { useId } from '../../utils/useId.js';
21
+ import '../../utils/makeAccessible/index.js';
22
+ import { useIsMobile } from '../../utils/useIsMobile.js';
23
+ import '../BottomSheet/index.js';
24
+ import '../../utils/logger/index.js';
25
+ import '../Box/styledProps/index.js';
26
+ import '../../utils/metaAttribute/index.js';
27
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
28
+ import useTheme from '../BladeProvider/useTheme.js';
29
+ import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
30
+ import { logger } from '../../utils/logger/logger.js';
31
+ import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
32
+ import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
33
+ import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
34
+ import { BottomSheet } from '../BottomSheet/BottomSheet.web.js';
35
+ import { BottomSheetHeader } from '../BottomSheet/BottomSheetHeader.web.js';
36
+ import { BottomSheetBody } from '../BottomSheet/BottomSheetBody.web.js';
37
+ import { BottomSheetFooter } from '../BottomSheet/BottomSheetFooter.web.js';
38
+ import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
39
+
40
+ var _excluded = ["selectionType", "allowSingleDateInRange", "value", "defaultValue", "onChange", "presets", "isOpen", "defaultIsOpen", "onOpenChange", "label", "labelPosition", "accessibilityLabel", "errorText", "helpText", "isDisabled", "isRequired", "successText", "validationState", "size", "autoFocus", "necessityIndicator", "name", "defaultPicker", "picker", "onPickerChange"];
41
+ 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; }
42
+ 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; }
43
+ var DatePicker = function DatePicker(_ref) {
44
+ var selectionType = _ref.selectionType,
45
+ allowSingleDateInRange = _ref.allowSingleDateInRange,
46
+ value = _ref.value,
47
+ defaultValue = _ref.defaultValue,
48
+ _onChange = _ref.onChange,
49
+ presets = _ref.presets,
50
+ isOpen = _ref.isOpen,
51
+ defaultIsOpen = _ref.defaultIsOpen,
52
+ onOpenChange = _ref.onOpenChange,
53
+ label = _ref.label,
54
+ _ref$labelPosition = _ref.labelPosition,
55
+ labelPosition = _ref$labelPosition === void 0 ? 'top' : _ref$labelPosition,
56
+ accessibilityLabel = _ref.accessibilityLabel,
57
+ errorText = _ref.errorText,
58
+ helpText = _ref.helpText,
59
+ isDisabled = _ref.isDisabled,
60
+ isRequired = _ref.isRequired,
61
+ successText = _ref.successText,
62
+ validationState = _ref.validationState,
63
+ size = _ref.size,
64
+ autoFocus = _ref.autoFocus,
65
+ necessityIndicator = _ref.necessityIndicator,
66
+ name = _ref.name,
67
+ _ref$defaultPicker = _ref.defaultPicker,
68
+ defaultPicker = _ref$defaultPicker === void 0 ? 'day' : _ref$defaultPicker,
69
+ picker = _ref.picker,
70
+ onPickerChange = _ref.onPickerChange,
71
+ props = _objectWithoutProperties(_ref, _excluded);
72
+ var _useI18nContext = useI18nContext(),
73
+ i18nState = _useI18nContext.i18nState;
74
+ var _selectionType = selectionType !== null && selectionType !== void 0 ? selectionType : 'single';
75
+ var _useTheme = useTheme(),
76
+ theme = _useTheme.theme;
77
+ var ctx = useDatesContext();
78
+ var isSingle = _selectionType === 'single';
79
+ var _React$useReducer = React__default.useReducer(function (x) {
80
+ return x + 1;
81
+ }, 0),
82
+ _React$useReducer2 = _slicedToArray(_React$useReducer, 2),
83
+ _ = _React$useReducer2[0],
84
+ forceRerender = _React$useReducer2[1];
85
+ var _React$useState = React__default.useState(null),
86
+ _React$useState2 = _slicedToArray(_React$useState, 2),
87
+ selectedPreset = _React$useState2[0],
88
+ setSelectedPreset = _React$useState2[1];
89
+ var _useControllableState = useControllableState({
90
+ defaultValue: defaultPicker,
91
+ value: picker,
92
+ onChange: function onChange(picker) {
93
+ onPickerChange === null || onPickerChange === void 0 ? void 0 : onPickerChange(picker);
94
+ }
95
+ }),
96
+ _useControllableState2 = _slicedToArray(_useControllableState, 2),
97
+ _picker = _useControllableState2[0],
98
+ setPicker = _useControllableState2[1];
99
+ var _useDatesState = useDatesState({
100
+ level: _picker,
101
+ type: isSingle ? 'default' : 'range',
102
+ allowDeselect: false,
103
+ allowSingleDateInRange: allowSingleDateInRange,
104
+ value: value,
105
+ defaultValue: defaultValue,
106
+ onChange: function onChange(date) {
107
+ _onChange === null || _onChange === void 0 ? void 0 : _onChange(date);
108
+ if (isSingle) return;
109
+ // sync selected preset with value
110
+ setSelectedPreset(date);
111
+ }
112
+ }),
113
+ onDateChange = _useDatesState.onDateChange,
114
+ onRootMouseLeave = _useDatesState.onRootMouseLeave,
115
+ onHoveredDateChange = _useDatesState.onHoveredDateChange,
116
+ getControlProps = _useDatesState.getControlProps,
117
+ setPickedDate = _useDatesState.setPickedDate,
118
+ controlledValue = _useDatesState.controlledValue,
119
+ setControlledValue = _useDatesState.setControlledValue;
120
+ var _useControllableState3 = useControllableState({
121
+ value: isOpen,
122
+ defaultValue: defaultIsOpen,
123
+ onChange: function onChange(isOpen) {
124
+ return onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange({
125
+ isOpen: isOpen
126
+ });
127
+ }
128
+ }),
129
+ _useControllableState4 = _slicedToArray(_useControllableState3, 2),
130
+ controllableIsOpen = _useControllableState4[0],
131
+ controllableSetIsOpen = _useControllableState4[1];
132
+ var currentDate = shiftTimezone('add', new Date(), ctx.getTimezone());
133
+ var _React$useState3 = React__default.useState(controlledValue),
134
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
135
+ oldValue = _React$useState4[0],
136
+ setOldValue = _React$useState4[1];
137
+ var close = React__default.useCallback(function () {
138
+ controllableSetIsOpen(function () {
139
+ return false;
140
+ });
141
+ }, [controllableSetIsOpen]);
142
+ var handleApply = function handleApply() {
143
+ _onChange === null || _onChange === void 0 ? void 0 : _onChange(controlledValue);
144
+ setOldValue(controlledValue);
145
+ close();
146
+ };
147
+ var handleCancel = function handleCancel() {
148
+ setControlledValue(oldValue);
149
+ setPickedDate(null);
150
+ close();
151
+ };
152
+ var isMobile = useIsMobile();
153
+ var defaultInitialFocusRef = React__default.useRef(null);
154
+ var titleId = useId('datepicker-title');
155
+ var referenceRef = React__default.useRef(null);
156
+ var _usePopup = usePopup({
157
+ enabled: !isMobile,
158
+ placement: 'bottom-start',
159
+ open: controllableIsOpen,
160
+ onOpenChange: function onOpenChange(isOpen, _, reason) {
161
+ controllableSetIsOpen(function () {
162
+ return isOpen;
163
+ });
164
+ if (reason === 'escape-key' || reason === 'outside-press') {
165
+ handleCancel();
166
+ }
167
+ },
168
+ referenceRef: referenceRef
169
+ }),
170
+ context = _usePopup.context,
171
+ refs = _usePopup.refs,
172
+ isMounted = _usePopup.isMounted,
173
+ floatingStyles = _usePopup.floatingStyles,
174
+ animationStyles = _usePopup.animationStyles,
175
+ getReferenceProps = _usePopup.getReferenceProps,
176
+ getFloatingProps = _usePopup.getFloatingProps;
177
+ var shouldRenderPresets = !isSingle && !isMobile;
178
+ var content = /*#__PURE__*/jsxs(Fragment, {
179
+ children: [shouldRenderPresets ? /*#__PURE__*/jsx(PresetSideBar, {
180
+ presets: presets,
181
+ date: currentDate,
182
+ selectedPreset: selectedPreset,
183
+ onSelection: function onSelection(preset) {
184
+ var presetValue = preset === null || preset === void 0 ? void 0 : preset(currentDate);
185
+ setControlledValue(presetValue);
186
+ setSelectedPreset(presetValue);
187
+ }
188
+ }) : null, /*#__PURE__*/jsxs(BaseBox, {
189
+ width: "100%",
190
+ display: "flex",
191
+ flexDirection: "column",
192
+ gap: "spacing.5",
193
+ padding: {
194
+ m: 'spacing.6',
195
+ s: 'spacing.0'
196
+ },
197
+ backgroundColor: "surface.background.gray.intense",
198
+ children: [/*#__PURE__*/jsx(Calendar, _objectSpread(_objectSpread({}, props), {}, {
199
+ selectionType: _selectionType,
200
+ defaultValue: defaultValue,
201
+ onMouseLeave: onRootMouseLeave,
202
+ __onDayMouseEnter: function __onDayMouseEnter(_event, date) {
203
+ onHoveredDateChange(date);
204
+ },
205
+ __onDayClick: function __onDayClick(_event, date) {
206
+ onDateChange(date);
207
+ },
208
+ getMonthControlProps: function getMonthControlProps(date) {
209
+ return getControlProps(date);
210
+ },
211
+ getYearControlProps: function getYearControlProps(date) {
212
+ return getControlProps(date);
213
+ },
214
+ getDayProps: function getDayProps(date) {
215
+ return getControlProps(date);
216
+ },
217
+ onMonthSelect: function onMonthSelect(date) {
218
+ var _props$onMonthSelect;
219
+ props === null || props === void 0 ? void 0 : (_props$onMonthSelect = props.onMonthSelect) === null || _props$onMonthSelect === void 0 ? void 0 : _props$onMonthSelect.call(props, date);
220
+ onDateChange(date);
221
+ },
222
+ onYearSelect: function onYearSelect(date) {
223
+ var _props$onYearSelect;
224
+ props === null || props === void 0 ? void 0 : (_props$onYearSelect = props.onYearSelect) === null || _props$onYearSelect === void 0 ? void 0 : _props$onYearSelect.call(props, date);
225
+ onDateChange(date);
226
+ },
227
+ onNext: function onNext(data) {
228
+ var _props$onNext;
229
+ props === null || props === void 0 ? void 0 : (_props$onNext = props.onNext) === null || _props$onNext === void 0 ? void 0 : _props$onNext.call(props, data);
230
+ forceRerender();
231
+ },
232
+ onPrevious: function onPrevious(data) {
233
+ var _props$onPrevious;
234
+ props === null || props === void 0 ? void 0 : (_props$onPrevious = props.onPrevious) === null || _props$onPrevious === void 0 ? void 0 : _props$onPrevious.call(props, data);
235
+ forceRerender();
236
+ },
237
+ picker: _picker,
238
+ onPickerChange: function onPickerChange(picker) {
239
+ setPicker(function () {
240
+ return picker;
241
+ });
242
+ forceRerender();
243
+ }
244
+ })), isMobile ? null : /*#__PURE__*/jsx(CalendarFooter, {
245
+ onApply: handleApply,
246
+ onCancel: handleCancel
247
+ })]
248
+ })]
249
+ });
250
+ var dateProviderValue = React__default.useMemo(function () {
251
+ var _i18nState$locale;
252
+ var locale = convertIntlToDayjsLocale((_i18nState$locale = i18nState === null || i18nState === void 0 ? void 0 : i18nState.locale) !== null && _i18nState$locale !== void 0 ? _i18nState$locale : 'en-IN');
253
+ return {
254
+ locale: locale
255
+ };
256
+ }, [i18nState === null || i18nState === void 0 ? void 0 : i18nState.locale]);
257
+
258
+ // Dynamically load dayjs locales
259
+ React__default.useLayoutEffect(function () {
260
+ try {
261
+ var _i18nState$locale2;
262
+ var locale = convertIntlToDayjsLocale((_i18nState$locale2 = i18nState === null || i18nState === void 0 ? void 0 : i18nState.locale) !== null && _i18nState$locale2 !== void 0 ? _i18nState$locale2 : 'en-IN');
263
+ // dayjs needs to be loaded into window so that once the locale is loaded it can be parsed
264
+ if (!window.dayjs) {
265
+ window.dayjs = dayjs;
266
+ }
267
+ loadScript("https://cdn.jsdelivr.net/npm/dayjs@1/locale/".concat(locale, ".js"), function () {
268
+ forceRerender();
269
+ });
270
+ } catch (e) {
271
+ logger({
272
+ type: 'warn',
273
+ message: 'Failed to load dayjs locale'
274
+ });
275
+ }
276
+ }, [i18nState === null || i18nState === void 0 ? void 0 : i18nState.locale]);
277
+ return /*#__PURE__*/jsx(HeadlessMantineProvider, {
278
+ children: /*#__PURE__*/jsx(DatesProvider, {
279
+ settings: dateProviderValue,
280
+ children: /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread(_objectSpread({
281
+ width: "100%"
282
+ }, getStyledProps(props)), metaAttribute({
283
+ name: MetaConstants.DatePicker
284
+ })), {}, {
285
+ children: [/*#__PURE__*/jsx(DatePickerInput, {
286
+ selectionType: _selectionType,
287
+ date: controlledValue,
288
+ ref: referenceRef,
289
+ inputRef: refs.reference,
290
+ referenceProps: getReferenceProps(),
291
+ name: name,
292
+ label: label,
293
+ labelPosition: labelPosition,
294
+ accessibilityLabel: accessibilityLabel,
295
+ size: size,
296
+ errorText: errorText,
297
+ helpText: helpText,
298
+ isDisabled: isDisabled,
299
+ isRequired: isRequired,
300
+ successText: successText,
301
+ validationState: validationState,
302
+ autoFocus: autoFocus,
303
+ necessityIndicator: necessityIndicator
304
+ }), isMobile ? /*#__PURE__*/jsxs(BottomSheet, {
305
+ snapPoints: [0.9, 0.9, 1],
306
+ isOpen: controllableIsOpen,
307
+ onDismiss: function onDismiss() {
308
+ handleCancel();
309
+ },
310
+ children: [/*#__PURE__*/jsx(BottomSheetHeader, {
311
+ title: isSingle ? 'Select Date' : 'Select Date Range'
312
+ }), /*#__PURE__*/jsxs(BottomSheetBody, {
313
+ children: [content, !isSingle && /*#__PURE__*/jsx(PresetSideBar, {
314
+ isMobile: true,
315
+ presets: presets,
316
+ date: currentDate,
317
+ selectedPreset: selectedPreset,
318
+ onSelection: function onSelection(preset) {
319
+ var presetValue = preset === null || preset === void 0 ? void 0 : preset(currentDate);
320
+ setControlledValue(presetValue);
321
+ setSelectedPreset(presetValue);
322
+ }
323
+ })]
324
+ }), /*#__PURE__*/jsx(BottomSheetFooter, {
325
+ children: /*#__PURE__*/jsx(CalendarFooter, {
326
+ onCancel: handleCancel,
327
+ onApply: handleApply
328
+ })
329
+ })]
330
+ }) : isMounted && /*#__PURE__*/jsx(FloatingPortal, {
331
+ children: /*#__PURE__*/jsx(FloatingFocusManager, {
332
+ initialFocus: defaultInitialFocusRef,
333
+ context: context,
334
+ guards: true,
335
+ children: /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread({
336
+ ref: refs.setFloating,
337
+ style: floatingStyles
338
+ }, getFloatingProps()), makeAccessible({
339
+ labelledBy: titleId
340
+ })), {}, {
341
+ children: /*#__PURE__*/jsx(BaseBox, {
342
+ display: "flex",
343
+ flexDirection: "row",
344
+ borderColor: "surface.border.gray.subtle",
345
+ borderWidth: "thin",
346
+ borderStyle: "solid",
347
+ borderRadius: "medium",
348
+ overflow: "hidden",
349
+ minWidth: "320px",
350
+ style: _objectSpread(_objectSpread({}, animationStyles), {}, {
351
+ boxShadow: "".concat(theme.elevation.lowRaised)
352
+ }),
353
+ children: content
354
+ })
355
+ }))
356
+ })
357
+ })]
358
+ }))
359
+ })
360
+ });
361
+ };
362
+
363
+ export { DatePicker };
364
+ //# sourceMappingURL=DatePicker.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker.web.js","sources":["../../../../../../src/components/DatePicker/DatePicker.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, shiftTimezone, useDatesContext } from '@mantine/dates';\nimport React from 'react';\nimport { FloatingFocusManager, FloatingPortal } from '@floating-ui/react';\nimport { useI18nContext } from '@razorpay/i18nify-react';\nimport { HeadlessMantineProvider } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport type { DatesRangeValue, DatePickerProps, DateSelectionType, PickerType } from './types';\nimport { Calendar } from './Calendar';\nimport { PresetSideBar } from './QuickSelection/PresetSideBar';\nimport { useDatesState } from './useDatesState';\nimport { DatePickerInput } from './DateInput';\nimport { usePopup } from './usePopup';\nimport { CalendarFooter } from './CalendarFooter';\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';\n\nconst DatePicker = <Type extends DateSelectionType = 'single'>({\n selectionType,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange,\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 ...props\n}: DatePickerProps<Type> & StyledPropsBlade): React.ReactElement => {\n const { i18nState } = useI18nContext();\n const _selectionType = selectionType ?? 'single';\n const { theme } = useTheme();\n const ctx = useDatesContext();\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\n const [_picker, setPicker] = useControllableState<PickerType>({\n defaultValue: defaultPicker,\n value: picker,\n onChange: (picker) => {\n onPickerChange?.(picker);\n },\n });\n\n const {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n setPickedDate,\n controlledValue,\n setControlledValue,\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 if (isSingle) return;\n // sync selected preset with value\n setSelectedPreset(date as DatesRangeValue);\n },\n });\n\n const [controllableIsOpen, controllableSetIsOpen] = useControllableState({\n value: isOpen,\n defaultValue: defaultIsOpen,\n onChange: (isOpen) => onOpenChange?.({ isOpen }),\n });\n\n const currentDate = shiftTimezone('add', new Date(), ctx.getTimezone());\n const [oldValue, setOldValue] = React.useState<DatesRangeValue | null>(controlledValue);\n\n const close = React.useCallback(() => {\n controllableSetIsOpen(() => false);\n }, [controllableSetIsOpen]);\n\n const handleApply = (): void => {\n onChange?.(controlledValue);\n setOldValue(controlledValue);\n close();\n };\n\n const handleCancel = (): void => {\n setControlledValue(oldValue);\n setPickedDate(null);\n close();\n };\n\n const isMobile = useIsMobile();\n const defaultInitialFocusRef = React.useRef<HTMLButtonElement>(null);\n const titleId = useId('datepicker-title');\n const referenceRef = React.useRef<HTMLButtonElement>(null);\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 backgroundColor=\"surface.background.gray.intense\"\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);\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);\n }}\n onYearSelect={(date) => {\n props?.onYearSelect?.(date);\n onDateChange(date);\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 onPickerChange={(picker) => {\n setPicker(() => picker);\n forceRerender();\n }}\n />\n {isMobile ? null : <CalendarFooter onApply={handleApply} onCancel={handleCancel} />}\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 <HeadlessMantineProvider>\n <DatesProvider settings={dateProviderValue}>\n <BaseBox\n width=\"100%\"\n {...getStyledProps(props)}\n {...metaAttribute({ name: MetaConstants.DatePicker })}\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}\n helpText={helpText}\n isDisabled={isDisabled}\n isRequired={isRequired}\n successText={successText}\n validationState={validationState}\n autoFocus={autoFocus}\n necessityIndicator={necessityIndicator}\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 {...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 </HeadlessMantineProvider>\n );\n};\n\nexport { DatePicker };\n"],"names":["DatePicker","_ref","selectionType","allowSingleDateInRange","value","defaultValue","onChange","presets","isOpen","defaultIsOpen","onOpenChange","label","_ref$labelPosition","labelPosition","accessibilityLabel","errorText","helpText","isDisabled","isRequired","successText","validationState","size","autoFocus","necessityIndicator","name","_ref$defaultPicker","defaultPicker","picker","onPickerChange","props","_objectWithoutProperties","_excluded","_useI18nContext","useI18nContext","i18nState","_selectionType","_useTheme","useTheme","theme","ctx","useDatesContext","isSingle","_React$useReducer","React","useReducer","x","_React$useReducer2","_slicedToArray","_","forceRerender","_React$useState","useState","_React$useState2","selectedPreset","setSelectedPreset","_useControllableState","useControllableState","_useControllableState2","_picker","setPicker","_useDatesState","useDatesState","level","type","allowDeselect","date","onDateChange","onRootMouseLeave","onHoveredDateChange","getControlProps","setPickedDate","controlledValue","setControlledValue","_useControllableState3","_useControllableState4","controllableIsOpen","controllableSetIsOpen","currentDate","shiftTimezone","Date","getTimezone","_React$useState3","_React$useState4","oldValue","setOldValue","close","useCallback","handleApply","handleCancel","isMobile","useIsMobile","defaultInitialFocusRef","useRef","titleId","useId","referenceRef","_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","backgroundColor","Calendar","_objectSpread","onMouseLeave","__onDayMouseEnter","_event","__onDayClick","getMonthControlProps","getYearControlProps","getDayProps","onMonthSelect","_props$onMonthSelect","call","onYearSelect","_props$onYearSelect","onNext","data","_props$onNext","onPrevious","_props$onPrevious","CalendarFooter","onApply","onCancel","dateProviderValue","useMemo","_i18nState$locale","locale","convertIntlToDayjsLocale","useLayoutEffect","_i18nState$locale2","window","dayjs","loadScript","concat","e","logger","message","HeadlessMantineProvider","DatesProvider","settings","getStyledProps","metaAttribute","MetaConstants","DatePickerInput","ref","inputRef","reference","referenceProps","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EA2BoD;AAAA,EAAA,IA1BlEC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,sBAAsB,GAAAF,IAAA,CAAtBE,sBAAsB;IACtBC,KAAK,GAAAH,IAAA,CAALG,KAAK;IACLC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;IACZC,SAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,OAAO,GAAAN,IAAA,CAAPM,OAAO;IACPC,MAAM,GAAAP,IAAA,CAANO,MAAM;IACNC,aAAa,GAAAR,IAAA,CAAbQ,aAAa;IACbC,YAAY,GAAAT,IAAA,CAAZS,YAAY;IACZC,KAAK,GAAAV,IAAA,CAALU,KAAK;IAAAC,kBAAA,GAAAX,IAAA,CACLY,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,kBAAA;IACrBE,kBAAkB,GAAAb,IAAA,CAAlBa,kBAAkB;IAClBC,SAAS,GAAAd,IAAA,CAATc,SAAS;IACTC,QAAQ,GAAAf,IAAA,CAARe,QAAQ;IACRC,UAAU,GAAAhB,IAAA,CAAVgB,UAAU;IACVC,UAAU,GAAAjB,IAAA,CAAViB,UAAU;IACVC,WAAW,GAAAlB,IAAA,CAAXkB,WAAW;IACXC,eAAe,GAAAnB,IAAA,CAAfmB,eAAe;IACfC,IAAI,GAAApB,IAAA,CAAJoB,IAAI;IACJC,SAAS,GAAArB,IAAA,CAATqB,SAAS;IACTC,kBAAkB,GAAAtB,IAAA,CAAlBsB,kBAAkB;IAClBC,IAAI,GAAAvB,IAAA,CAAJuB,IAAI;IAAAC,kBAAA,GAAAxB,IAAA,CACJyB,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,kBAAA;IACrBE,MAAM,GAAA1B,IAAA,CAAN0B,MAAM;IACNC,cAAc,GAAA3B,IAAA,CAAd2B,cAAc;AACXC,IAAAA,KAAK,GAAAC,wBAAA,CAAA7B,IAAA,EAAA8B,SAAA,CAAA,CAAA;AAER,EAAA,IAAAC,eAAA,GAAsBC,cAAc,EAAE;IAA9BC,SAAS,GAAAF,eAAA,CAATE,SAAS,CAAA;EACjB,IAAMC,cAAc,GAAGjC,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAbA,KAAAA,CAAAA,GAAAA,aAAa,GAAI,QAAQ,CAAA;AAChD,EAAA,IAAAkC,SAAA,GAAkBC,QAAQ,EAAE;IAApBC,KAAK,GAAAF,SAAA,CAALE,KAAK,CAAA;AACb,EAAA,IAAMC,GAAG,GAAGC,eAAe,EAAE,CAAA;AAC7B,EAAA,IAAMC,QAAQ,GAAGN,cAAc,KAAK,QAAQ,CAAA;AAC5C,EAAA,IAAAO,iBAAA,GAA2BC,cAAK,CAACC,UAAU,CAAC,UAACC,CAAS,EAAA;MAAA,OAAKA,CAAC,GAAG,CAAC,CAAA;AAAA,KAAA,EAAE,CAAC,CAAC;IAAAC,kBAAA,GAAAC,cAAA,CAAAL,iBAAA,EAAA,CAAA,CAAA;AAA7DM,IAAAA,CAAC,GAAAF,kBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,kBAAA,CAAA,CAAA,CAAA,CAAA;AACvB,EAAA,IAAAI,eAAA,GAA4CP,cAAK,CAACQ,QAAQ,CAAyB,IAAI,CAAC;IAAAC,gBAAA,GAAAL,cAAA,CAAAG,eAAA,EAAA,CAAA,CAAA;AAAjFG,IAAAA,cAAc,GAAAD,gBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,gBAAA,CAAA,CAAA,CAAA,CAAA;EAExC,IAAAG,qBAAA,GAA6BC,oBAAoB,CAAa;AAC5DnD,MAAAA,YAAY,EAAEqB,aAAa;AAC3BtB,MAAAA,KAAK,EAAEuB,MAAM;AACbrB,MAAAA,QAAQ,EAAE,SAAAA,QAACqB,CAAAA,MAAM,EAAK;AACpBC,QAAAA,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAGD,MAAM,CAAC,CAAA;AAC1B,OAAA;AACF,KAAC,CAAC;IAAA8B,sBAAA,GAAAV,cAAA,CAAAQ,qBAAA,EAAA,CAAA,CAAA;AANKG,IAAAA,OAAO,GAAAD,sBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,SAAS,GAAAF,sBAAA,CAAA,CAAA,CAAA,CAAA;EAQzB,IAAAG,cAAA,GAQIC,aAAa,CAAC;AAChBC,MAAAA,KAAK,EAAEJ,OAAO;AACdK,MAAAA,IAAI,EAAEtB,QAAQ,GAAG,SAAS,GAAG,OAAO;AACpCuB,MAAAA,aAAa,EAAE,KAAK;AACpB7D,MAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBC,MAAAA,KAAK,EAALA,KAAK;AACLC,MAAAA,YAAY,EAAZA,YAAY;AACZC,MAAAA,QAAQ,EAAE,SAAAA,QAAC2D,CAAAA,IAAI,EAAK;AAClB3D,QAAAA,SAAQ,aAARA,SAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,SAAQ,CAAG2D,IAAa,CAAC,CAAA;AACzB,QAAA,IAAIxB,QAAQ,EAAE,OAAA;AACd;QACAa,iBAAiB,CAACW,IAAuB,CAAC,CAAA;AAC5C,OAAA;AACF,KAAC,CAAC;IApBAC,YAAY,GAAAN,cAAA,CAAZM,YAAY;IACZC,gBAAgB,GAAAP,cAAA,CAAhBO,gBAAgB;IAChBC,mBAAmB,GAAAR,cAAA,CAAnBQ,mBAAmB;IACnBC,eAAe,GAAAT,cAAA,CAAfS,eAAe;IACfC,aAAa,GAAAV,cAAA,CAAbU,aAAa;IACbC,eAAe,GAAAX,cAAA,CAAfW,eAAe;IACfC,kBAAkB,GAAAZ,cAAA,CAAlBY,kBAAkB,CAAA;EAgBpB,IAAAC,sBAAA,GAAoDjB,oBAAoB,CAAC;AACvEpD,MAAAA,KAAK,EAAEI,MAAM;AACbH,MAAAA,YAAY,EAAEI,aAAa;MAC3BH,QAAQ,EAAE,SAAAA,QAAAA,CAACE,MAAM,EAAA;AAAA,QAAA,OAAKE,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAG;AAAEF,UAAAA,MAAM,EAANA,MAAAA;AAAO,SAAC,CAAC,CAAA;AAAA,OAAA;AAClD,KAAC,CAAC;IAAAkE,sBAAA,GAAA3B,cAAA,CAAA0B,sBAAA,EAAA,CAAA,CAAA;AAJKE,IAAAA,kBAAkB,GAAAD,sBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,qBAAqB,GAAAF,sBAAA,CAAA,CAAA,CAAA,CAAA;AAMhD,EAAA,IAAMG,WAAW,GAAGC,aAAa,CAAC,KAAK,EAAE,IAAIC,IAAI,EAAE,EAAExC,GAAG,CAACyC,WAAW,EAAE,CAAC,CAAA;AACvE,EAAA,IAAAC,gBAAA,GAAgCtC,cAAK,CAACQ,QAAQ,CAAyBoB,eAAe,CAAC;IAAAW,gBAAA,GAAAnC,cAAA,CAAAkC,gBAAA,EAAA,CAAA,CAAA;AAAhFE,IAAAA,QAAQ,GAAAD,gBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,WAAW,GAAAF,gBAAA,CAAA,CAAA,CAAA,CAAA;AAE5B,EAAA,IAAMG,KAAK,GAAG1C,cAAK,CAAC2C,WAAW,CAAC,YAAM;AACpCV,IAAAA,qBAAqB,CAAC,YAAA;AAAA,MAAA,OAAM,KAAK,CAAA;KAAC,CAAA,CAAA;AACpC,GAAC,EAAE,CAACA,qBAAqB,CAAC,CAAC,CAAA;AAE3B,EAAA,IAAMW,WAAW,GAAG,SAAdA,WAAWA,GAAe;AAC9BjF,IAAAA,SAAQ,aAARA,SAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,SAAQ,CAAGiE,eAAe,CAAC,CAAA;IAC3Ba,WAAW,CAACb,eAAe,CAAC,CAAA;AAC5Bc,IAAAA,KAAK,EAAE,CAAA;GACR,CAAA;AAED,EAAA,IAAMG,YAAY,GAAG,SAAfA,YAAYA,GAAe;IAC/BhB,kBAAkB,CAACW,QAAQ,CAAC,CAAA;IAC5Bb,aAAa,CAAC,IAAI,CAAC,CAAA;AACnBe,IAAAA,KAAK,EAAE,CAAA;GACR,CAAA;AAED,EAAA,IAAMI,QAAQ,GAAGC,WAAW,EAAE,CAAA;AAC9B,EAAA,IAAMC,sBAAsB,GAAGhD,cAAK,CAACiD,MAAM,CAAoB,IAAI,CAAC,CAAA;AACpE,EAAA,IAAMC,OAAO,GAAGC,KAAK,CAAC,kBAAkB,CAAC,CAAA;AACzC,EAAA,IAAMC,YAAY,GAAGpD,cAAK,CAACiD,MAAM,CAAoB,IAAI,CAAC,CAAA;EAC1D,IAAAI,SAAA,GAQIC,QAAQ,CAAC;MACXC,OAAO,EAAE,CAACT,QAAQ;AAClBU,MAAAA,SAAS,EAAE,cAAc;AACzBC,MAAAA,IAAI,EAAEzB,kBAAkB;MACxBjE,YAAY,EAAE,SAAAA,YAACF,CAAAA,MAAM,EAAEwC,CAAC,EAAEqD,MAAM,EAAK;AACnCzB,QAAAA,qBAAqB,CAAC,YAAA;AAAA,UAAA,OAAMpE,MAAM,CAAA;SAAC,CAAA,CAAA;AACnC,QAAA,IAAI6F,MAAM,KAAK,YAAY,IAAIA,MAAM,KAAK,eAAe,EAAE;AACzDb,UAAAA,YAAY,EAAE,CAAA;AAChB,SAAA;OACD;AACDO,MAAAA,YAAY,EAAZA,YAAAA;AACF,KAAC,CAAC;IAlBAO,OAAO,GAAAN,SAAA,CAAPM,OAAO;IACPC,IAAI,GAAAP,SAAA,CAAJO,IAAI;IACJC,SAAS,GAAAR,SAAA,CAATQ,SAAS;IACTC,cAAc,GAAAT,SAAA,CAAdS,cAAc;IACdC,eAAe,GAAAV,SAAA,CAAfU,eAAe;IACfC,iBAAiB,GAAAX,SAAA,CAAjBW,iBAAiB;IACjBC,gBAAgB,GAAAZ,SAAA,CAAhBY,gBAAgB,CAAA;AAclB,EAAA,IAAMC,mBAAmB,GAAG,CAACpE,QAAQ,IAAI,CAACgD,QAAQ,CAAA;AAElD,EAAA,IAAMqB,OAAO,gBACXC,IAAA,CAAAC,QAAA,EAAA;AAAAC,IAAAA,QAAA,EACGJ,CAAAA,mBAAmB,gBAClBK,GAAA,CAACC,aAAa,EAAA;AACZ5G,MAAAA,OAAO,EAAEA,OAAQ;AACjB0D,MAAAA,IAAI,EAAEY,WAAY;AAClBxB,MAAAA,cAAc,EAAEA,cAAe;AAC/B+D,MAAAA,WAAW,EAAE,SAAAA,WAACC,CAAAA,MAAM,EAAK;QACvB,IAAMC,WAAW,GAAGD,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAGxC,WAAW,CAAC,CAAA;QACzCL,kBAAkB,CAAC8C,WAAW,CAAC,CAAA;QAC/BhE,iBAAiB,CAACgE,WAAW,CAAC,CAAA;AAChC,OAAA;AAAE,KACH,CAAC,GACA,IAAI,eACRP,IAAA,CAACQ,OAAO,EAAA;AACNC,MAAAA,KAAK,EAAC,MAAM;AACZC,MAAAA,OAAO,EAAC,MAAM;AACdC,MAAAA,aAAa,EAAC,QAAQ;AACtBC,MAAAA,GAAG,EAAC,WAAW;AACfC,MAAAA,OAAO,EAAE;AAAEC,QAAAA,CAAC,EAAE,WAAW;AAAEC,QAAAA,CAAC,EAAE,WAAA;OAAc;AAC5CC,MAAAA,eAAe,EAAC,iCAAiC;MAAAd,QAAA,EAAA,cAEjDC,GAAA,CAACc,QAAQ,EAAAC,aAAA,CAAAA,aAAA,CAAA,EAAA,EACHpG,KAAK,CAAA,EAAA,EAAA,EAAA;AACT3B,QAAAA,aAAa,EAAEiC,cAAe;AAC9B9B,QAAAA,YAAY,EAAEA,YAAa;AAC3B6H,QAAAA,YAAY,EAAE/D,gBAAiB;AAC/BgE,QAAAA,iBAAiB,EAAE,SAAAA,iBAAAA,CAACC,MAAM,EAAEnE,IAAI,EAAK;UACnCG,mBAAmB,CAACH,IAAI,CAAC,CAAA;SACzB;AACFoE,QAAAA,YAAY,EAAE,SAAAA,YAAAA,CAACD,MAAM,EAAEnE,IAAI,EAAK;UAC9BC,YAAY,CAACD,IAAI,CAAC,CAAA;SAClB;AACFqE,QAAAA,oBAAoB,EAAE,SAAAA,oBAACrE,CAAAA,IAAI,EAAK;UAC9B,OAAOI,eAAe,CAACJ,IAAI,CAAC,CAAA;SAC5B;AACFsE,QAAAA,mBAAmB,EAAE,SAAAA,mBAACtE,CAAAA,IAAI,EAAK;UAC7B,OAAOI,eAAe,CAACJ,IAAI,CAAC,CAAA;SAC5B;AACFuE,QAAAA,WAAW,EAAE,SAAAA,WAACvE,CAAAA,IAAI,EAAK;UACrB,OAAOI,eAAe,CAACJ,IAAI,CAAC,CAAA;SAC5B;AACFwE,QAAAA,aAAa,EAAE,SAAAA,aAACxE,CAAAA,IAAI,EAAK;AAAA,UAAA,IAAAyE,oBAAA,CAAA;AACvB7G,UAAAA,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA6G,oBAAA,GAAL7G,KAAK,CAAE4G,aAAa,MAAA,IAAA,IAAAC,oBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,oBAAA,CAAAC,IAAA,CAAA9G,KAAK,EAAkBoC,IAAI,CAAC,CAAA;UAC5BC,YAAY,CAACD,IAAI,CAAC,CAAA;SAClB;AACF2E,QAAAA,YAAY,EAAE,SAAAA,YAAC3E,CAAAA,IAAI,EAAK;AAAA,UAAA,IAAA4E,mBAAA,CAAA;AACtBhH,UAAAA,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAgH,mBAAA,GAALhH,KAAK,CAAE+G,YAAY,MAAA,IAAA,IAAAC,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,mBAAA,CAAAF,IAAA,CAAA9G,KAAK,EAAiBoC,IAAI,CAAC,CAAA;UAC3BC,YAAY,CAACD,IAAI,CAAC,CAAA;SAClB;AACF6E,QAAAA,MAAM,EAAE,SAAAA,MAACC,CAAAA,IAAI,EAAK;AAAA,UAAA,IAAAC,aAAA,CAAA;AAChBnH,UAAAA,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAmH,aAAA,GAALnH,KAAK,CAAEiH,MAAM,MAAA,IAAA,IAAAE,aAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAA,CAAAL,IAAA,CAAA9G,KAAK,EAAWkH,IAAI,CAAC,CAAA;AACrB9F,UAAAA,aAAa,EAAE,CAAA;SACf;AACFgG,QAAAA,UAAU,EAAE,SAAAA,UAACF,CAAAA,IAAI,EAAK;AAAA,UAAA,IAAAG,iBAAA,CAAA;AACpBrH,UAAAA,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAqH,iBAAA,GAALrH,KAAK,CAAEoH,UAAU,MAAA,IAAA,IAAAC,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,iBAAA,CAAAP,IAAA,CAAA9G,KAAK,EAAekH,IAAI,CAAC,CAAA;AACzB9F,UAAAA,aAAa,EAAE,CAAA;SACf;AACFtB,QAAAA,MAAM,EAAE+B,OAAQ;AAChB9B,QAAAA,cAAc,EAAE,SAAAA,cAACD,CAAAA,MAAM,EAAK;AAC1BgC,UAAAA,SAAS,CAAC,YAAA;AAAA,YAAA,OAAMhC,MAAM,CAAA;WAAC,CAAA,CAAA;AACvBsB,UAAAA,aAAa,EAAE,CAAA;AACjB,SAAA;OACD,CAAA,CAAC,EACDwC,QAAQ,GAAG,IAAI,gBAAGyB,GAAA,CAACiC,cAAc,EAAA;AAACC,QAAAA,OAAO,EAAE7D,WAAY;AAAC8D,QAAAA,QAAQ,EAAE7D,YAAAA;AAAa,OAAE,CAAC,CAAA;AAAA,KAC5E,CAAC,CAAA;AAAA,GACV,CACH,CAAA;AAED,EAAA,IAAM8D,iBAAiB,GAAG3G,cAAK,CAAC4G,OAAO,CAAC,YAAM;AAAA,IAAA,IAAAC,iBAAA,CAAA;AAC5C,IAAA,IAAMC,MAAM,GAAGC,wBAAwB,EAAAF,iBAAA,GAACtH,SAAS,KAATA,IAAAA,IAAAA,SAAS,uBAATA,SAAS,CAAEuH,MAAM,MAAAD,IAAAA,IAAAA,iBAAA,cAAAA,iBAAA,GAAI,OAAO,CAAC,CAAA;IACrE,OAAO;AACLC,MAAAA,MAAM,EAANA,MAAAA;KACD,CAAA;GACF,EAAE,CAACvH,SAAS,KAATA,IAAAA,IAAAA,SAAS,uBAATA,SAAS,CAAEuH,MAAM,CAAC,CAAC,CAAA;;AAEvB;EACA9G,cAAK,CAACgH,eAAe,CAAC,YAAM;IAC1B,IAAI;AAAA,MAAA,IAAAC,kBAAA,CAAA;AACF,MAAA,IAAMH,MAAM,GAAGC,wBAAwB,EAAAE,kBAAA,GAAC1H,SAAS,KAATA,IAAAA,IAAAA,SAAS,uBAATA,SAAS,CAAEuH,MAAM,MAAAG,IAAAA,IAAAA,kBAAA,cAAAA,kBAAA,GAAI,OAAO,CAAC,CAAA;AACrE;AACA,MAAA,IAAI,CAAEC,MAAM,CAASC,KAAK,EAAE;QACzBD,MAAM,CAASC,KAAK,GAAGA,KAAK,CAAA;AAC/B,OAAA;AACAC,MAAAA,UAAU,CAAAC,8CAAAA,CAAAA,MAAA,CAAgDP,MAAM,UAAO,YAAM;AAC3ExG,QAAAA,aAAa,EAAE,CAAA;AACjB,OAAC,CAAC,CAAA;KACH,CAAC,OAAOgH,CAAU,EAAE;AACnBC,MAAAA,MAAM,CAAC;AAAEnG,QAAAA,IAAI,EAAE,MAAM;AAAEoG,QAAAA,OAAO,EAAE,6BAAA;AAA8B,OAAC,CAAC,CAAA;AAClE,KAAA;GACD,EAAE,CAACjI,SAAS,KAATA,IAAAA,IAAAA,SAAS,uBAATA,SAAS,CAAEuH,MAAM,CAAC,CAAC,CAAA;EAEvB,oBACEvC,GAAA,CAACkD,uBAAuB,EAAA;IAAAnD,QAAA,eACtBC,GAAA,CAACmD,aAAa,EAAA;AAACC,MAAAA,QAAQ,EAAEhB,iBAAkB;MAAArC,QAAA,eACzCF,IAAA,CAACQ,OAAO,EAAAU,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AACNT,QAAAA,KAAK,EAAC,MAAA;AAAM,OAAA,EACR+C,cAAc,CAAC1I,KAAK,CAAC,CAAA,EACrB2I,aAAa,CAAC;QAAEhJ,IAAI,EAAEiJ,aAAa,CAACzK,UAAAA;AAAW,OAAC,CAAC,CAAA,EAAA,EAAA,EAAA;QAAAiH,QAAA,EAAA,cAErDC,GAAA,CAACwD,eAAe,EAAA;AACdxK,UAAAA,aAAa,EAAEiC,cAAe;AAC9B8B,UAAAA,IAAI,EAAEM,eAAgB;AACtBoG,UAAAA,GAAG,EAAE5E,YAAa;UAClB6E,QAAQ,EAAErE,IAAI,CAACsE,SAAU;UACzBC,cAAc,EAAEnE,iBAAiB,EAAG;AACpCnF,UAAAA,IAAI,EAAEA,IAAc;AACpBb,UAAAA,KAAK,EAAEA,KAAe;AACtBE,UAAAA,aAAa,EAAEA,aAAc;AAC7BC,UAAAA,kBAAkB,EAAEA,kBAAmB;AACvCO,UAAAA,IAAI,EAAEA,IAAK;AACXN,UAAAA,SAAS,EAAEA,SAAU;AACrBC,UAAAA,QAAQ,EAAEA,QAAS;AACnBC,UAAAA,UAAU,EAAEA,UAAW;AACvBC,UAAAA,UAAU,EAAEA,UAAW;AACvBC,UAAAA,WAAW,EAAEA,WAAY;AACzBC,UAAAA,eAAe,EAAEA,eAAgB;AACjCE,UAAAA,SAAS,EAAEA,SAAU;AACrBC,UAAAA,kBAAkB,EAAEA,kBAAAA;AAAmB,SACxC,CAAC,EACDkE,QAAQ,gBACPsB,IAAA,CAACgE,WAAW,EAAA;AACVC,UAAAA,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAE;AAC1BxK,UAAAA,MAAM,EAAEmE,kBAAmB;UAC3BsG,SAAS,EAAE,SAAAA,SAAAA,GAAM;AACfzF,YAAAA,YAAY,EAAE,CAAA;WACd;UAAAyB,QAAA,EAAA,cAEFC,GAAA,CAACgE,iBAAiB,EAAA;AAACC,YAAAA,KAAK,EAAE1I,QAAQ,GAAG,aAAa,GAAG,mBAAA;AAAoB,WAAE,CAAC,eAC5EsE,IAAA,CAACqE,eAAe,EAAA;YAAAnE,QAAA,EAAA,CACbH,OAAO,EACP,CAACrE,QAAQ,iBACRyE,GAAA,CAACC,aAAa,EAAA;cACZ1B,QAAQ,EAAA,IAAA;AACRlF,cAAAA,OAAO,EAAEA,OAAQ;AACjB0D,cAAAA,IAAI,EAAEY,WAAY;AAClBxB,cAAAA,cAAc,EAAEA,cAAe;AAC/B+D,cAAAA,WAAW,EAAE,SAAAA,WAACC,CAAAA,MAAM,EAAK;gBACvB,IAAMC,WAAW,GAAGD,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAGxC,WAAW,CAAC,CAAA;gBACzCL,kBAAkB,CAAC8C,WAAW,CAAC,CAAA;gBAC/BhE,iBAAiB,CAACgE,WAAW,CAAC,CAAA;AAChC,eAAA;AAAE,aACH,CACF,CAAA;AAAA,WACc,CAAC,eAClBJ,GAAA,CAACmE,iBAAiB,EAAA;YAAApE,QAAA,eAChBC,GAAA,CAACiC,cAAc,EAAA;AAACE,cAAAA,QAAQ,EAAE7D,YAAa;AAAC4D,cAAAA,OAAO,EAAE7D,WAAAA;aAAc,CAAA;AAAC,WAC/C,CAAC,CAAA;AAAA,SACT,CAAC,GAEdiB,SAAS,iBACPU,GAAA,CAACoE,cAAc,EAAA;UAAArE,QAAA,eACbC,GAAA,CAACqE,oBAAoB,EAAA;AACnBC,YAAAA,YAAY,EAAE7F,sBAAuB;AACrCW,YAAAA,OAAO,EAAEA,OAAQ;AACjBmF,YAAAA,MAAM,EAAE,IAAK;YAAAxE,QAAA,eAEbC,GAAA,CAACK,OAAO,EAAAU,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;cACN0C,GAAG,EAAEpE,IAAI,CAACmF,WAAY;AACtBC,cAAAA,KAAK,EAAElF,cAAAA;AAAe,aAAA,EAClBG,gBAAgB,EAAE,CAAA,EAClBgF,cAAc,CAAC;AAAEC,cAAAA,UAAU,EAAEhG,OAAAA;AAAQ,aAAC,CAAC,CAAA,EAAA,EAAA,EAAA;cAAAoB,QAAA,eAE3CC,GAAA,CAACK,OAAO,EAAA;AACNE,gBAAAA,OAAO,EAAC,MAAM;AACdC,gBAAAA,aAAa,EAAC,KAAK;AACnBoE,gBAAAA,WAAW,EAAC,4BAA4B;AACxCC,gBAAAA,WAAW,EAAC,MAAM;AAClBC,gBAAAA,WAAW,EAAC,OAAO;AACnBC,gBAAAA,YAAY,EAAC,QAAQ;AACrBC,gBAAAA,QAAQ,EAAC,QAAQ;AACjBC,gBAAAA,QAAQ,EAAC,OAAO;AAChBR,gBAAAA,KAAK,EAAA1D,aAAA,CAAAA,aAAA,KAAOvB,eAAe,CAAA,EAAA,EAAA,EAAA;AAAE0F,kBAAAA,SAAS,KAAApC,MAAA,CAAK1H,KAAK,CAAC+J,SAAS,CAACC,SAAS,CAAA;iBAAK,CAAA;AAAArF,gBAAAA,QAAA,EAExEH,OAAAA;eACM,CAAA;aACF,CAAA,CAAA;WACW,CAAA;AAAC,SACT,CAEnB,CAAA;OACM,CAAA,CAAA;KACI,CAAA;AAAC,GACO,CAAC,CAAA;AAE9B;;;;"}
@@ -0,0 +1,86 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { QuickSelectionItem } from './QuickSelectionItem.web.js';
3
+ import '../../Box/index.js';
4
+ import '../../../utils/index.js';
5
+ import '../../Chip/index.js';
6
+ import '../../Divider/index.js';
7
+ import '../../Box/BaseBox/index.js';
8
+ import '../../../utils/makeAccessible/index.js';
9
+ import '../../../tokens/global/index.js';
10
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
11
+ import { Box } from '../../Box/Box.js';
12
+ import { Divider } from '../../Divider/Divider.js';
13
+ import { ChipGroup } from '../../Chip/ChipGroup.js';
14
+ import { Chip } from '../../Chip/Chip.js';
15
+ import { BaseBox } from '../../Box/BaseBox/BaseBox.web.js';
16
+ import { makeSpace } from '../../../utils/makeSpace/makeSpace.js';
17
+ import { size } from '../../../tokens/global/size.js';
18
+ import { makeAccessible } from '../../../utils/makeAccessible/makeAccessible.web.js';
19
+
20
+ 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; }
21
+ 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; }
22
+ var isSamePreset = function isSamePreset(value1, value2) {
23
+ if (!(value1 !== null && value1 !== void 0 && value1[0]) || !(value1 !== null && value1 !== void 0 && value1[1])) return false;
24
+ if (!(value2 !== null && value2 !== void 0 && value2[0]) || !(value2 !== null && value2 !== void 0 && value2[1])) return false;
25
+ return value1[0].toDateString() === value2[0].toDateString() && value1[1].toDateString() === value2[1].toDateString();
26
+ };
27
+ var PresetSideBar = function PresetSideBar(_ref) {
28
+ var date = _ref.date,
29
+ presets = _ref.presets,
30
+ selectedPreset = _ref.selectedPreset,
31
+ onSelection = _ref.onSelection,
32
+ isMobile = _ref.isMobile;
33
+ if (!presets) return /*#__PURE__*/jsx(Fragment, {});
34
+ if (isMobile) {
35
+ return /*#__PURE__*/jsxs(Box, {
36
+ children: [/*#__PURE__*/jsx(Divider, {
37
+ marginTop: "spacing.4"
38
+ }), /*#__PURE__*/jsx(ChipGroup, {
39
+ marginTop: "spacing.7",
40
+ size: "small",
41
+ selectionType: "single",
42
+ accessibilityLabel: "Select Presets",
43
+ onChange: function onChange(_ref2) {
44
+ var values = _ref2.values;
45
+ onSelection(presets.find(function (preset) {
46
+ return preset.label === values[0];
47
+ }).value);
48
+ },
49
+ children: presets.map(function (preset, index) {
50
+ return /*#__PURE__*/jsx(Chip, {
51
+ value: preset.label,
52
+ children: preset.label
53
+ }, index);
54
+ })
55
+ })]
56
+ });
57
+ }
58
+ return /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread({
59
+ padding: "spacing.5",
60
+ display: "flex",
61
+ flexDirection: "column",
62
+ gap: "spacing.2",
63
+ backgroundColor: "surface.background.gray.moderate",
64
+ minWidth: makeSpace(size[160]),
65
+ borderRightColor: "surface.border.gray.muted",
66
+ borderRightStyle: "solid",
67
+ borderRightWidth: "thin"
68
+ }, makeAccessible({
69
+ role: 'listbox',
70
+ label: 'Select Presets'
71
+ })), {}, {
72
+ children: presets.map(function (preset, index) {
73
+ var isSelected = isSamePreset(selectedPreset, preset.value(date));
74
+ return /*#__PURE__*/jsx(QuickSelectionItem, {
75
+ isSelected: isSelected,
76
+ onClick: function onClick() {
77
+ return onSelection(preset.value);
78
+ },
79
+ children: preset.label
80
+ }, index);
81
+ })
82
+ }));
83
+ };
84
+
85
+ export { PresetSideBar };
86
+ //# sourceMappingURL=PresetSideBar.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PresetSideBar.web.js","sources":["../../../../../../../src/components/DatePicker/QuickSelection/PresetSideBar.web.tsx"],"sourcesContent":["import type { CalendarProps, DatesRangeValue } from '../types';\nimport { QuickSelectionItem } from './QuickSelectionItem.web';\nimport { Box } from '~components/Box';\nimport { makeSpace } from '~utils';\nimport { Chip, ChipGroup } from '~components/Chip';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { size } from '~tokens/global';\n\nconst isSamePreset = (value1: DatesRangeValue | null, value2: DatesRangeValue | null): boolean => {\n if (!value1?.[0] || !value1?.[1]) return false;\n if (!value2?.[0] || !value2?.[1]) return false;\n\n return (\n value1[0].toDateString() === value2[0].toDateString() &&\n value1[1].toDateString() === value2[1].toDateString()\n );\n};\n\ntype PresetSideBarProps = {\n isMobile?: boolean;\n date: Date;\n presets: CalendarProps<'single'>['presets'];\n onSelection: (value: (date: Date) => DatesRangeValue) => void;\n selectedPreset: DatesRangeValue | null;\n};\n\nconst PresetSideBar = ({\n date,\n presets,\n selectedPreset,\n onSelection,\n isMobile,\n}: PresetSideBarProps): React.ReactElement => {\n if (!presets) return <></>;\n\n if (isMobile) {\n return (\n <Box>\n <Divider marginTop=\"spacing.4\" />\n <ChipGroup\n marginTop=\"spacing.7\"\n size=\"small\"\n selectionType=\"single\"\n accessibilityLabel=\"Select Presets\"\n onChange={({ values }) => {\n onSelection(presets.find((preset) => preset.label === values[0])!.value);\n }}\n >\n {presets.map((preset, index) => {\n return (\n <Chip value={preset.label} key={index}>\n {preset.label}\n </Chip>\n );\n })}\n </ChipGroup>\n </Box>\n );\n }\n\n return (\n <BaseBox\n padding=\"spacing.5\"\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"spacing.2\"\n backgroundColor=\"surface.background.gray.moderate\"\n minWidth={makeSpace(size[160])}\n borderRightColor=\"surface.border.gray.muted\"\n borderRightStyle=\"solid\"\n borderRightWidth=\"thin\"\n {...makeAccessible({ role: 'listbox', label: 'Select Presets' })}\n >\n {presets.map((preset, index) => {\n const isSelected = isSamePreset(selectedPreset, preset.value(date));\n return (\n <QuickSelectionItem\n key={index}\n isSelected={isSelected}\n onClick={() => onSelection(preset.value)}\n >\n {preset.label}\n </QuickSelectionItem>\n );\n })}\n </BaseBox>\n );\n};\n\nexport { PresetSideBar };\n"],"names":["isSamePreset","value1","value2","toDateString","PresetSideBar","_ref","date","presets","selectedPreset","onSelection","isMobile","_jsx","_Fragment","_jsxs","Box","children","Divider","marginTop","ChipGroup","size","selectionType","accessibilityLabel","onChange","_ref2","values","find","preset","label","value","map","index","Chip","BaseBox","_objectSpread","padding","display","flexDirection","gap","backgroundColor","minWidth","makeSpace","borderRightColor","borderRightStyle","borderRightWidth","makeAccessible","role","isSelected","QuickSelectionItem","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAUA,IAAMA,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAA8B,EAAEC,MAA8B,EAAc;EAChG,IAAI,EAACD,MAAM,KAANA,IAAAA,IAAAA,MAAM,eAANA,MAAM,CAAG,CAAC,CAAC,CAAA,IAAI,EAACA,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,IAAAA,MAAM,CAAG,CAAC,CAAC,CAAE,EAAA,OAAO,KAAK,CAAA;EAC9C,IAAI,EAACC,MAAM,KAANA,IAAAA,IAAAA,MAAM,eAANA,MAAM,CAAG,CAAC,CAAC,CAAA,IAAI,EAACA,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,IAAAA,MAAM,CAAG,CAAC,CAAC,CAAE,EAAA,OAAO,KAAK,CAAA;AAE9C,EAAA,OACED,MAAM,CAAC,CAAC,CAAC,CAACE,YAAY,EAAE,KAAKD,MAAM,CAAC,CAAC,CAAC,CAACC,YAAY,EAAE,IACrDF,MAAM,CAAC,CAAC,CAAC,CAACE,YAAY,EAAE,KAAKD,MAAM,CAAC,CAAC,CAAC,CAACC,YAAY,EAAE,CAAA;AAEzD,CAAC,CAAA;AAUD,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAM2B;AAAA,EAAA,IAL5CC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,cAAc,GAAAH,IAAA,CAAdG,cAAc;IACdC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IACXC,QAAQ,GAAAL,IAAA,CAARK,QAAQ,CAAA;EAER,IAAI,CAACH,OAAO,EAAE,oBAAOI,GAAA,CAAAC,QAAA,IAAI,CAAC,CAAA;AAE1B,EAAA,IAAIF,QAAQ,EAAE;IACZ,oBACEG,IAAA,CAACC,GAAG,EAAA;MAAAC,QAAA,EAAA,cACFJ,GAAA,CAACK,OAAO,EAAA;AAACC,QAAAA,SAAS,EAAC,WAAA;AAAW,OAAE,CAAC,eACjCN,GAAA,CAACO,SAAS,EAAA;AACRD,QAAAA,SAAS,EAAC,WAAW;AACrBE,QAAAA,IAAI,EAAC,OAAO;AACZC,QAAAA,aAAa,EAAC,QAAQ;AACtBC,QAAAA,kBAAkB,EAAC,gBAAgB;AACnCC,QAAAA,QAAQ,EAAE,SAAAA,QAAAC,CAAAA,KAAA,EAAgB;AAAA,UAAA,IAAbC,MAAM,GAAAD,KAAA,CAANC,MAAM,CAAA;AACjBf,UAAAA,WAAW,CAACF,OAAO,CAACkB,IAAI,CAAC,UAACC,MAAM,EAAA;AAAA,YAAA,OAAKA,MAAM,CAACC,KAAK,KAAKH,MAAM,CAAC,CAAC,CAAC,CAAA;WAAC,CAAA,CAAEI,KAAK,CAAC,CAAA;SACxE;QAAAb,QAAA,EAEDR,OAAO,CAACsB,GAAG,CAAC,UAACH,MAAM,EAAEI,KAAK,EAAK;UAC9B,oBACEnB,GAAA,CAACoB,IAAI,EAAA;YAACH,KAAK,EAAEF,MAAM,CAACC,KAAM;YAAAZ,QAAA,EACvBW,MAAM,CAACC,KAAAA;AAAK,WAAA,EADiBG,KAE1B,CAAC,CAAA;SAEV,CAAA;AAAC,OACO,CAAC,CAAA;AAAA,KACT,CAAC,CAAA;AAEV,GAAA;AAEA,EAAA,oBACEnB,GAAA,CAACqB,OAAO,EAAAC,aAAA,CAAAA,aAAA,CAAA;AACNC,IAAAA,OAAO,EAAC,WAAW;AACnBC,IAAAA,OAAO,EAAC,MAAM;AACdC,IAAAA,aAAa,EAAC,QAAQ;AACtBC,IAAAA,GAAG,EAAC,WAAW;AACfC,IAAAA,eAAe,EAAC,kCAAkC;AAClDC,IAAAA,QAAQ,EAAEC,SAAS,CAACrB,IAAI,CAAC,GAAG,CAAC,CAAE;AAC/BsB,IAAAA,gBAAgB,EAAC,2BAA2B;AAC5CC,IAAAA,gBAAgB,EAAC,OAAO;AACxBC,IAAAA,gBAAgB,EAAC,MAAA;AAAM,GAAA,EACnBC,cAAc,CAAC;AAAEC,IAAAA,IAAI,EAAE,SAAS;AAAElB,IAAAA,KAAK,EAAE,gBAAA;AAAiB,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;IAAAZ,QAAA,EAE/DR,OAAO,CAACsB,GAAG,CAAC,UAACH,MAAM,EAAEI,KAAK,EAAK;AAC9B,MAAA,IAAMgB,UAAU,GAAG9C,YAAY,CAACQ,cAAc,EAAEkB,MAAM,CAACE,KAAK,CAACtB,IAAI,CAAC,CAAC,CAAA;MACnE,oBACEK,GAAA,CAACoC,kBAAkB,EAAA;AAEjBD,QAAAA,UAAU,EAAEA,UAAW;QACvBE,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,UAAA,OAAMvC,WAAW,CAACiB,MAAM,CAACE,KAAK,CAAC,CAAA;SAAC;QAAAb,QAAA,EAExCW,MAAM,CAACC,KAAAA;AAAK,OAAA,EAJRG,KAKa,CAAC,CAAA;KAExB,CAAA;AAAC,GAAA,CACK,CAAC,CAAA;AAEd;;;;"}
@@ -0,0 +1,43 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { StyledActionListItem } from '../../ActionList/styles/StyledActionListItem.web.js';
3
+ import '../../Typography/index.js';
4
+ import '../../../utils/index.js';
5
+ import '../../../utils/makeAccessible/index.js';
6
+ import { useIsMobile } from '../../../utils/useIsMobile.js';
7
+ import { jsx } from 'react/jsx-runtime';
8
+ import { isReactNative } from '../../../utils/platform/isReactNative.js';
9
+ import { makeAccessible } from '../../../utils/makeAccessible/makeAccessible.web.js';
10
+ import { Text } from '../../Typography/Text/Text.js';
11
+
12
+ 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; }
13
+ 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; }
14
+ var QuickSelectionItem = function QuickSelectionItem(_ref) {
15
+ var children = _ref.children,
16
+ onClick = _ref.onClick,
17
+ isSelected = _ref.isSelected;
18
+ var isMobile = useIsMobile();
19
+ return /*#__PURE__*/jsx(StyledActionListItem, _objectSpread(_objectSpread({
20
+ as: !isReactNative() ? 'button' : undefined,
21
+ selectionType: "single",
22
+ hasDescription: true,
23
+ isMobile: isMobile,
24
+ isKeydownPressed: false,
25
+ isSelected: isSelected,
26
+ onClick: onClick,
27
+ isVisible: true
28
+ }, makeAccessible({
29
+ selected: isSelected,
30
+ current: true,
31
+ role: 'option'
32
+ })), {}, {
33
+ children: /*#__PURE__*/jsx(Text, {
34
+ size: "small",
35
+ weight: "medium",
36
+ color: "interactive.text.gray.normal",
37
+ children: children
38
+ })
39
+ }));
40
+ };
41
+
42
+ export { QuickSelectionItem };
43
+ //# sourceMappingURL=QuickSelectionItem.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuickSelectionItem.web.js","sources":["../../../../../../../src/components/DatePicker/QuickSelection/QuickSelectionItem.web.tsx"],"sourcesContent":["import { StyledActionListItem } from '~components/ActionList/styles/StyledActionListItem';\nimport { Text } from '~components/Typography';\nimport { isReactNative } from '~utils';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useIsMobile } from '~utils/useIsMobile';\n\ntype QuickSelectionItemProps = {\n children: React.ReactNode;\n isSelected: boolean;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n};\nconst QuickSelectionItem = ({\n children,\n onClick,\n isSelected,\n}: QuickSelectionItemProps): React.ReactElement => {\n const isMobile = useIsMobile();\n return (\n <StyledActionListItem\n as={!isReactNative() ? 'button' : undefined}\n selectionType=\"single\"\n hasDescription={true}\n isMobile={isMobile}\n isKeydownPressed={false}\n isSelected={isSelected}\n onClick={onClick}\n isVisible\n {...makeAccessible({\n selected: isSelected,\n current: true,\n role: 'option',\n })}\n >\n <Text size=\"small\" weight=\"medium\" color=\"interactive.text.gray.normal\">\n {children}\n </Text>\n </StyledActionListItem>\n );\n};\n\nexport { QuickSelectionItem };\n"],"names":["QuickSelectionItem","_ref","children","onClick","isSelected","isMobile","useIsMobile","_jsx","StyledActionListItem","_objectSpread","as","isReactNative","undefined","selectionType","hasDescription","isKeydownPressed","isVisible","makeAccessible","selected","current","role","Text","size","weight","color"],"mappings":";;;;;;;;;;;;;AAWA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAI2B;AAAA,EAAA,IAHjDC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,UAAU,GAAAH,IAAA,CAAVG,UAAU,CAAA;AAEV,EAAA,IAAMC,QAAQ,GAAGC,WAAW,EAAE,CAAA;AAC9B,EAAA,oBACEC,GAAA,CAACC,oBAAoB,EAAAC,aAAA,CAAAA,aAAA,CAAA;IACnBC,EAAE,EAAE,CAACC,aAAa,EAAE,GAAG,QAAQ,GAAGC,SAAU;AAC5CC,IAAAA,aAAa,EAAC,QAAQ;AACtBC,IAAAA,cAAc,EAAE,IAAK;AACrBT,IAAAA,QAAQ,EAAEA,QAAS;AACnBU,IAAAA,gBAAgB,EAAE,KAAM;AACxBX,IAAAA,UAAU,EAAEA,UAAW;AACvBD,IAAAA,OAAO,EAAEA,OAAQ;IACjBa,SAAS,EAAA,IAAA;AAAA,GAAA,EACLC,cAAc,CAAC;AACjBC,IAAAA,QAAQ,EAAEd,UAAU;AACpBe,IAAAA,OAAO,EAAE,IAAI;AACbC,IAAAA,IAAI,EAAE,QAAA;AACR,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;IAAAlB,QAAA,eAEFK,GAAA,CAACc,IAAI,EAAA;AAACC,MAAAA,IAAI,EAAC,OAAO;AAACC,MAAAA,MAAM,EAAC,QAAQ;AAACC,MAAAA,KAAK,EAAC,8BAA8B;AAAAtB,MAAAA,QAAA,EACpEA,QAAAA;KACG,CAAA;AAAC,GAAA,CACa,CAAC,CAAA;AAE3B;;;;"}
@@ -0,0 +1,22 @@
1
+ var classes = {
2
+ levelsGroup: 'DatePicker-levelsGroup',
3
+ dayCell: 'DatePicker-cell',
4
+ monthsListControl: 'DatePicker-cell',
5
+ yearsListControl: 'DatePicker-cell',
6
+ calendarHeader: 'DatePicker-header',
7
+ row: 'DatePicker-row',
8
+ weekday: 'DatePicker-weekday'
9
+ };
10
+ var pickerToLevel = {
11
+ day: 'month',
12
+ month: 'year',
13
+ year: 'decade'
14
+ };
15
+ var levelToPicker = {
16
+ month: 'day',
17
+ year: 'month',
18
+ decade: 'year'
19
+ };
20
+
21
+ export { classes, levelToPicker, pickerToLevel };
22
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../../../src/components/DatePicker/constants.ts"],"sourcesContent":["const classes = {\n levelsGroup: 'DatePicker-levelsGroup',\n dayCell: 'DatePicker-cell',\n monthsListControl: 'DatePicker-cell',\n yearsListControl: 'DatePicker-cell',\n calendarHeader: 'DatePicker-header',\n row: 'DatePicker-row',\n weekday: 'DatePicker-weekday',\n} as const;\n\nconst pickerToLevel = {\n day: 'month',\n month: 'year',\n year: 'decade',\n} as const;\n\nconst levelToPicker = {\n month: 'day',\n year: 'month',\n decade: 'year',\n} as const;\n\nexport { levelToPicker, pickerToLevel, classes };\n"],"names":["classes","levelsGroup","dayCell","monthsListControl","yearsListControl","calendarHeader","row","weekday","pickerToLevel","day","month","year","levelToPicker","decade"],"mappings":"AAAA,IAAMA,OAAO,GAAG;AACdC,EAAAA,WAAW,EAAE,wBAAwB;AACrCC,EAAAA,OAAO,EAAE,iBAAiB;AAC1BC,EAAAA,iBAAiB,EAAE,iBAAiB;AACpCC,EAAAA,gBAAgB,EAAE,iBAAiB;AACnCC,EAAAA,cAAc,EAAE,mBAAmB;AACnCC,EAAAA,GAAG,EAAE,gBAAgB;AACrBC,EAAAA,OAAO,EAAE,oBAAA;AACX,EAAU;AAEV,IAAMC,aAAa,GAAG;AACpBC,EAAAA,GAAG,EAAE,OAAO;AACZC,EAAAA,KAAK,EAAE,MAAM;AACbC,EAAAA,IAAI,EAAE,QAAA;AACR,EAAU;AAEV,IAAMC,aAAa,GAAG;AACpBF,EAAAA,KAAK,EAAE,KAAK;AACZC,EAAAA,IAAI,EAAE,OAAO;AACbE,EAAAA,MAAM,EAAE,MAAA;AACV;;;;"}
@@ -0,0 +1,2 @@
1
+ export { DatePicker } from './DatePicker.web.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}