@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,185 @@
1
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
2
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
+ import React__default from 'react';
4
+ import { useDatesContext, getFormattedDate } from '@mantine/dates';
5
+ import '../Box/BaseBox/index.js';
6
+ import '../Icons/index.js';
7
+ import '../Input/BaseInput/index.js';
8
+ import '../../tokens/global/index.js';
9
+ import '../../utils/index.js';
10
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
11
+ import { BaseInput } from '../Input/BaseInput/BaseInput.js';
12
+ import { isReactNative } from '../../utils/platform/isReactNative.js';
13
+ import { size } from '../../tokens/global/size.js';
14
+ import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
15
+ import CalendarIcon from '../Icons/CalendarIcon/CalendarIcon.js';
16
+ import ArrowRightIcon from '../Icons/ArrowRightIcon/ArrowRightIcon.js';
17
+ import { makeSize } from '../../utils/makeSize/makeSize.js';
18
+
19
+ var _excluded = ["selectionType", "referenceProps", "inputRef", "date", "label", "labelPosition", "autoFocus", "name", "size"];
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 _DateInput = function _DateInput(props, ref) {
23
+ var _props$label;
24
+ return /*#__PURE__*/jsx(BaseInput, _objectSpread(_objectSpread({}, props), {}, {
25
+ ref: ref,
26
+ as: "button",
27
+ textAlign: "left",
28
+ hideLabelText: ((_props$label = props.label) === null || _props$label === void 0 ? void 0 : _props$label.length) === 0,
29
+ autoCompleteSuggestionType: "none",
30
+ hasPopup: "dialog",
31
+ onClick: function onClick(e) {
32
+ var _props$onClick;
33
+ if (props.isDisabled) {
34
+ return;
35
+ }
36
+ (_props$onClick = props.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props, e);
37
+ },
38
+ onKeyDown: function onKeyDown(_ref) {
39
+ var _props$onKeyDown;
40
+ var event = _ref.event;
41
+ // @ts-expect-error
42
+ (_props$onKeyDown = props.onKeyDown) === null || _props$onKeyDown === void 0 ? void 0 : _props$onKeyDown.call(props, event);
43
+ }
44
+ }));
45
+ };
46
+ var DateInput = /*#__PURE__*/React__default.forwardRef(_DateInput);
47
+ var HiddenInput = function HiddenInput(_ref2) {
48
+ var value = _ref2.value,
49
+ name = _ref2.name;
50
+ if (isReactNative()) return /*#__PURE__*/jsx(Fragment, {});
51
+ return /*#__PURE__*/jsx("input", {
52
+ hidden: true,
53
+ name: name,
54
+ value: value,
55
+ readOnly: true
56
+ });
57
+ };
58
+ var iconVerticalMargin = {
59
+ medium: size[16],
60
+ large: size[24]
61
+ };
62
+ var _DatePickerInput = function _DatePickerInput(_ref3, ref) {
63
+ var selectionType = _ref3.selectionType,
64
+ referenceProps = _ref3.referenceProps,
65
+ inputRef = _ref3.inputRef,
66
+ date = _ref3.date,
67
+ label = _ref3.label,
68
+ labelPosition = _ref3.labelPosition,
69
+ autoFocus = _ref3.autoFocus,
70
+ name = _ref3.name,
71
+ _ref3$size = _ref3.size,
72
+ size$1 = _ref3$size === void 0 ? 'medium' : _ref3$size,
73
+ props = _objectWithoutProperties(_ref3, _excluded);
74
+ var format = 'DD/MM/YYYY';
75
+ var isLarge = size$1 === 'large';
76
+ var isLabelPositionLeft = labelPosition === 'left';
77
+ var hasLabel = Boolean(label);
78
+ var _useDatesContext = useDatesContext(),
79
+ locale = _useDatesContext.locale;
80
+ if (selectionType == 'single') {
81
+ var dateValue = getFormattedDate({
82
+ date: date,
83
+ format: format,
84
+ labelSeparator: '-',
85
+ locale: locale,
86
+ type: 'default'
87
+ });
88
+ return /*#__PURE__*/jsxs(BaseBox, {
89
+ width: "100%",
90
+ children: [/*#__PURE__*/jsx(HiddenInput, {
91
+ value: dateValue,
92
+ name: name
93
+ }), /*#__PURE__*/jsx(DateInput, _objectSpread(_objectSpread({
94
+ ref: ref,
95
+ id: "start-date",
96
+ labelPosition: labelPosition,
97
+ label: label,
98
+ placeholder: format,
99
+ popupId: referenceProps['aria-controls'],
100
+ isPopupExpanded: referenceProps['aria-expanded'],
101
+ size: size$1,
102
+ autoFocus: autoFocus,
103
+ value: dateValue,
104
+ componentName: "DatePickerInput"
105
+ }, props), referenceProps))]
106
+ });
107
+ }
108
+ if (selectionType == 'range') {
109
+ var startValue = getFormattedDate({
110
+ type: 'default',
111
+ date: date[0],
112
+ format: format,
113
+ labelSeparator: '-',
114
+ locale: locale
115
+ });
116
+ var endValue = getFormattedDate({
117
+ type: 'default',
118
+ date: date[1],
119
+ format: format,
120
+ labelSeparator: '-',
121
+ locale: locale
122
+ });
123
+ return /*#__PURE__*/jsxs(BaseBox, {
124
+ width: "100%",
125
+ display: "flex",
126
+ flexDirection: "row",
127
+ gap: "spacing.4",
128
+ alignItems: "flex-end",
129
+ ref: ref,
130
+ children: [/*#__PURE__*/jsxs(BaseBox, {
131
+ flex: 1,
132
+ children: [/*#__PURE__*/jsx(HiddenInput, {
133
+ value: startValue,
134
+ name: name === null || name === void 0 ? void 0 : name.start
135
+ }), /*#__PURE__*/jsx(DateInput, _objectSpread(_objectSpread({
136
+ setInputWrapperRef: function setInputWrapperRef(node) {
137
+ return inputRef.current = node;
138
+ },
139
+ id: "start-date",
140
+ leadingIcon: CalendarIcon,
141
+ label: label === null || label === void 0 ? void 0 : label.start,
142
+ labelPosition: labelPosition,
143
+ placeholder: format,
144
+ popupId: referenceProps['aria-controls'],
145
+ isPopupExpanded: referenceProps['aria-expanded'],
146
+ size: size$1,
147
+ autoFocus: autoFocus,
148
+ value: startValue,
149
+ componentName: "DatePickerInputStart"
150
+ }, props), referenceProps))]
151
+ }), /*#__PURE__*/jsx(BaseBox, {
152
+ flexShrink: 0,
153
+ alignSelf: "start",
154
+ children: /*#__PURE__*/jsx(ArrowRightIcon, {
155
+ size: "medium",
156
+ marginTop:
157
+ // Hacky layouting because the we cannot put this inside the internal layout of BaseInput.
158
+ hasLabel && !isLabelPositionLeft ? "calc(".concat(makeSize(iconVerticalMargin[size$1]), " + ").concat(makeSize(isLarge ? size[20] : size[15]), ")") : makeSize(iconVerticalMargin[size$1])
159
+ })
160
+ }), /*#__PURE__*/jsxs(BaseBox, {
161
+ flex: 1,
162
+ children: [/*#__PURE__*/jsx(HiddenInput, {
163
+ value: endValue,
164
+ name: name === null || name === void 0 ? void 0 : name.end
165
+ }), /*#__PURE__*/jsx(DateInput, _objectSpread(_objectSpread({
166
+ id: "end-date",
167
+ placeholder: format,
168
+ leadingIcon: CalendarIcon,
169
+ label: isLabelPositionLeft ? undefined : label === null || label === void 0 ? void 0 : label.end,
170
+ labelPosition: isLabelPositionLeft ? undefined : labelPosition,
171
+ popupId: referenceProps['aria-controls'],
172
+ isPopupExpanded: referenceProps['aria-expanded'],
173
+ size: size$1,
174
+ value: endValue,
175
+ componentName: "DatePickerInputEnd"
176
+ }, props), referenceProps))]
177
+ })]
178
+ });
179
+ }
180
+ return /*#__PURE__*/jsx(Fragment, {});
181
+ };
182
+ var DatePickerInput = /*#__PURE__*/React__default.forwardRef(_DatePickerInput);
183
+
184
+ export { DatePickerInput };
185
+ //# sourceMappingURL=DateInput.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateInput.web.js","sources":["../../../../../../src/components/DatePicker/DateInput.web.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-autofocus */\n/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport { useDatesContext, getFormattedDate } from '@mantine/dates';\nimport type { DatePickerInputProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { ArrowRightIcon, CalendarIcon } from '~components/Icons';\nimport type { BaseInputProps } from '~components/Input/BaseInput';\nimport { BaseInput } from '~components/Input/BaseInput';\nimport { size as sizeTokens } from '~tokens/global';\nimport { isReactNative, makeSize } from '~utils';\nimport type { BladeElementRef } from '~utils/types';\n\nconst _DateInput = (\n props: BaseInputProps,\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n return (\n <BaseInput\n {...props}\n ref={ref}\n as=\"button\"\n textAlign=\"left\"\n hideLabelText={props.label?.length === 0}\n autoCompleteSuggestionType=\"none\"\n hasPopup=\"dialog\"\n onClick={(e) => {\n if (props.isDisabled) {\n return;\n }\n props.onClick?.(e);\n }}\n onKeyDown={({ event }) => {\n // @ts-expect-error\n props.onKeyDown?.(event);\n }}\n />\n );\n};\n\nconst DateInput = React.forwardRef(_DateInput);\n\nconst HiddenInput = ({ value, name }: { value: string; name?: string }): React.ReactElement => {\n if (isReactNative()) return <></>;\n\n return <input hidden={true} name={name} value={value} readOnly />;\n};\n\nconst iconVerticalMargin = {\n medium: sizeTokens[16],\n large: sizeTokens[24],\n} as const;\n\nconst _DatePickerInput = (\n {\n selectionType,\n referenceProps,\n inputRef,\n date,\n label,\n labelPosition,\n autoFocus,\n name,\n size = 'medium',\n ...props\n }: DatePickerInputProps,\n ref: React.ForwardedRef<any>,\n): React.ReactElement => {\n const format = 'DD/MM/YYYY';\n const isLarge = size === 'large';\n const isLabelPositionLeft = labelPosition === 'left';\n const hasLabel = Boolean(label);\n const { locale } = useDatesContext();\n\n if (selectionType == 'single') {\n const dateValue = getFormattedDate({\n date,\n format,\n labelSeparator: '-',\n locale,\n type: 'default',\n });\n return (\n <BaseBox width=\"100%\">\n <HiddenInput value={dateValue} name={name} />\n <DateInput\n ref={ref as never}\n id=\"start-date\"\n labelPosition={labelPosition}\n label={label}\n placeholder={format}\n popupId={referenceProps['aria-controls']}\n isPopupExpanded={referenceProps['aria-expanded']}\n size={size}\n autoFocus={autoFocus}\n value={dateValue}\n componentName=\"DatePickerInput\"\n {...props}\n {...referenceProps}\n />\n </BaseBox>\n );\n }\n\n if (selectionType == 'range') {\n const startValue = getFormattedDate({\n type: 'default',\n date: date[0],\n format,\n labelSeparator: '-',\n locale,\n });\n const endValue = getFormattedDate({\n type: 'default',\n date: date[1],\n format,\n labelSeparator: '-',\n locale,\n });\n return (\n <BaseBox\n width=\"100%\"\n display=\"flex\"\n flexDirection=\"row\"\n gap=\"spacing.4\"\n alignItems=\"flex-end\"\n ref={ref as never}\n >\n <BaseBox flex={1}>\n <HiddenInput value={startValue} name={name?.start} />\n <DateInput\n setInputWrapperRef={(node) => ((inputRef as any)!.current = node)}\n id=\"start-date\"\n leadingIcon={CalendarIcon}\n label={label?.start}\n labelPosition={labelPosition}\n placeholder={format}\n popupId={referenceProps['aria-controls']}\n isPopupExpanded={referenceProps['aria-expanded']}\n size={size}\n autoFocus={autoFocus}\n value={startValue}\n componentName=\"DatePickerInputStart\"\n {...props}\n {...referenceProps}\n />\n </BaseBox>\n <BaseBox flexShrink={0} alignSelf=\"start\">\n <ArrowRightIcon\n size=\"medium\"\n marginTop={\n // Hacky layouting because the we cannot put this inside the internal layout of BaseInput.\n hasLabel && !isLabelPositionLeft\n ? `calc(${makeSize(iconVerticalMargin[size])} + ${makeSize(\n isLarge ? sizeTokens[20] : sizeTokens[15],\n )})`\n : makeSize(iconVerticalMargin[size])\n }\n />\n </BaseBox>\n <BaseBox flex={1}>\n <HiddenInput value={endValue} name={name?.end} />\n <DateInput\n id=\"end-date\"\n placeholder={format}\n leadingIcon={CalendarIcon}\n label={isLabelPositionLeft ? undefined : label?.end}\n labelPosition={isLabelPositionLeft ? undefined : labelPosition}\n popupId={referenceProps['aria-controls']}\n isPopupExpanded={referenceProps['aria-expanded']}\n size={size}\n value={endValue}\n componentName=\"DatePickerInputEnd\"\n {...props}\n {...referenceProps}\n />\n </BaseBox>\n </BaseBox>\n );\n }\n\n return <></>;\n};\n\nconst DatePickerInput = React.forwardRef(_DatePickerInput);\nexport { DatePickerInput };\n"],"names":["_DateInput","props","ref","_props$label","_jsx","BaseInput","_objectSpread","as","textAlign","hideLabelText","label","length","autoCompleteSuggestionType","hasPopup","onClick","e","_props$onClick","isDisabled","call","onKeyDown","_ref","_props$onKeyDown","event","DateInput","React","forwardRef","HiddenInput","_ref2","value","name","isReactNative","_Fragment","hidden","readOnly","iconVerticalMargin","medium","sizeTokens","large","_DatePickerInput","_ref3","selectionType","referenceProps","inputRef","date","labelPosition","autoFocus","_ref3$size","size","_objectWithoutProperties","_excluded","format","isLarge","isLabelPositionLeft","hasLabel","Boolean","_useDatesContext","useDatesContext","locale","dateValue","getFormattedDate","labelSeparator","type","_jsxs","BaseBox","width","children","id","placeholder","popupId","isPopupExpanded","componentName","startValue","endValue","display","flexDirection","gap","alignItems","flex","start","setInputWrapperRef","node","current","leadingIcon","CalendarIcon","flexShrink","alignSelf","ArrowRightIcon","marginTop","concat","makeSize","end","undefined","DatePickerInput"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAcA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CACdC,KAAqB,EACrBC,GAAwC,EACjB;AAAA,EAAA,IAAAC,YAAA,CAAA;EACvB,oBACEC,GAAA,CAACC,SAAS,EAAAC,aAAA,CAAAA,aAAA,KACJL,KAAK,CAAA,EAAA,EAAA,EAAA;AACTC,IAAAA,GAAG,EAAEA,GAAI;AACTK,IAAAA,EAAE,EAAC,QAAQ;AACXC,IAAAA,SAAS,EAAC,MAAM;AAChBC,IAAAA,aAAa,EAAE,CAAA,CAAAN,YAAA,GAAAF,KAAK,CAACS,KAAK,MAAAP,IAAAA,IAAAA,YAAA,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAA,CAAaQ,MAAM,MAAK,CAAE;AACzCC,IAAAA,0BAA0B,EAAC,MAAM;AACjCC,IAAAA,QAAQ,EAAC,QAAQ;AACjBC,IAAAA,OAAO,EAAE,SAAAA,OAACC,CAAAA,CAAC,EAAK;AAAA,MAAA,IAAAC,cAAA,CAAA;MACd,IAAIf,KAAK,CAACgB,UAAU,EAAE;AACpB,QAAA,OAAA;AACF,OAAA;AACA,MAAA,CAAAD,cAAA,GAAAf,KAAK,CAACa,OAAO,MAAAE,IAAAA,IAAAA,cAAA,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,cAAA,CAAAE,IAAA,CAAAjB,KAAK,EAAWc,CAAC,CAAC,CAAA;KAClB;AACFI,IAAAA,SAAS,EAAE,SAAAA,SAAAC,CAAAA,IAAA,EAAe;AAAA,MAAA,IAAAC,gBAAA,CAAA;AAAA,MAAA,IAAZC,KAAK,GAAAF,IAAA,CAALE,KAAK,CAAA;AACjB;AACA,MAAA,CAAAD,gBAAA,GAAApB,KAAK,CAACkB,SAAS,MAAAE,IAAAA,IAAAA,gBAAA,KAAfA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAAAH,IAAA,CAAAjB,KAAK,EAAaqB,KAAK,CAAC,CAAA;AAC1B,KAAA;AAAE,GAAA,CACH,CAAC,CAAA;AAEN,CAAC,CAAA;AAED,IAAMC,SAAS,gBAAGC,cAAK,CAACC,UAAU,CAACzB,UAAU,CAAC,CAAA;AAE9C,IAAM0B,WAAW,GAAG,SAAdA,WAAWA,CAAAC,KAAA,EAA8E;AAAA,EAAA,IAAxEC,KAAK,GAAAD,KAAA,CAALC,KAAK;IAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI,CAAA;EAChC,IAAIC,aAAa,EAAE,EAAE,oBAAO1B,GAAA,CAAA2B,QAAA,EAAA,EAAI,CAAC,CAAA;AAEjC,EAAA,oBAAO3B,GAAA,CAAA,OAAA,EAAA;AAAO4B,IAAAA,MAAM,EAAE,IAAK;AAACH,IAAAA,IAAI,EAAEA,IAAK;AAACD,IAAAA,KAAK,EAAEA,KAAM;IAACK,QAAQ,EAAA,IAAA;AAAA,GAAE,CAAC,CAAA;AACnE,CAAC,CAAA;AAED,IAAMC,kBAAkB,GAAG;AACzBC,EAAAA,MAAM,EAAEC,IAAU,CAAC,EAAE,CAAC;EACtBC,KAAK,EAAED,IAAU,CAAC,EAAE,CAAA;AACtB,CAAU,CAAA;AAEV,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,KAAA,EAapBrC,GAA4B,EACL;AAAA,EAAA,IAZrBsC,aAAa,GAAAD,KAAA,CAAbC,aAAa;IACbC,cAAc,GAAAF,KAAA,CAAdE,cAAc;IACdC,QAAQ,GAAAH,KAAA,CAARG,QAAQ;IACRC,IAAI,GAAAJ,KAAA,CAAJI,IAAI;IACJjC,KAAK,GAAA6B,KAAA,CAAL7B,KAAK;IACLkC,aAAa,GAAAL,KAAA,CAAbK,aAAa;IACbC,SAAS,GAAAN,KAAA,CAATM,SAAS;IACThB,IAAI,GAAAU,KAAA,CAAJV,IAAI;IAAAiB,UAAA,GAAAP,KAAA,CACJQ,IAAI;AAAJA,IAAAA,MAAI,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,UAAA;AACZ7C,IAAAA,KAAK,GAAA+C,wBAAA,CAAAT,KAAA,EAAAU,SAAA,CAAA,CAAA;EAIV,IAAMC,MAAM,GAAG,YAAY,CAAA;AAC3B,EAAA,IAAMC,OAAO,GAAGJ,MAAI,KAAK,OAAO,CAAA;AAChC,EAAA,IAAMK,mBAAmB,GAAGR,aAAa,KAAK,MAAM,CAAA;AACpD,EAAA,IAAMS,QAAQ,GAAGC,OAAO,CAAC5C,KAAK,CAAC,CAAA;AAC/B,EAAA,IAAA6C,gBAAA,GAAmBC,eAAe,EAAE;IAA5BC,MAAM,GAAAF,gBAAA,CAANE,MAAM,CAAA;EAEd,IAAIjB,aAAa,IAAI,QAAQ,EAAE;IAC7B,IAAMkB,SAAS,GAAGC,gBAAgB,CAAC;AACjChB,MAAAA,IAAI,EAAJA,IAAI;AACJO,MAAAA,MAAM,EAANA,MAAM;AACNU,MAAAA,cAAc,EAAE,GAAG;AACnBH,MAAAA,MAAM,EAANA,MAAM;AACNI,MAAAA,IAAI,EAAE,SAAA;AACR,KAAC,CAAC,CAAA;IACF,oBACEC,IAAA,CAACC,OAAO,EAAA;AAACC,MAAAA,KAAK,EAAC,MAAM;MAAAC,QAAA,EAAA,cACnB7D,GAAA,CAACsB,WAAW,EAAA;AAACE,QAAAA,KAAK,EAAE8B,SAAU;AAAC7B,QAAAA,IAAI,EAAEA,IAAAA;OAAO,CAAC,eAC7CzB,GAAA,CAACmB,SAAS,EAAAjB,aAAA,CAAAA,aAAA,CAAA;AACRJ,QAAAA,GAAG,EAAEA,GAAa;AAClBgE,QAAAA,EAAE,EAAC,YAAY;AACftB,QAAAA,aAAa,EAAEA,aAAc;AAC7BlC,QAAAA,KAAK,EAAEA,KAAM;AACbyD,QAAAA,WAAW,EAAEjB,MAAO;AACpBkB,QAAAA,OAAO,EAAE3B,cAAc,CAAC,eAAe,CAAE;AACzC4B,QAAAA,eAAe,EAAE5B,cAAc,CAAC,eAAe,CAAE;AACjDM,QAAAA,IAAI,EAAEA,MAAK;AACXF,QAAAA,SAAS,EAAEA,SAAU;AACrBjB,QAAAA,KAAK,EAAE8B,SAAU;AACjBY,QAAAA,aAAa,EAAC,iBAAA;AAAiB,OAAA,EAC3BrE,KAAK,CAAA,EACLwC,cAAc,CACnB,CAAC,CAAA;AAAA,KACK,CAAC,CAAA;AAEd,GAAA;EAEA,IAAID,aAAa,IAAI,OAAO,EAAE;IAC5B,IAAM+B,UAAU,GAAGZ,gBAAgB,CAAC;AAClCE,MAAAA,IAAI,EAAE,SAAS;AACflB,MAAAA,IAAI,EAAEA,IAAI,CAAC,CAAC,CAAC;AACbO,MAAAA,MAAM,EAANA,MAAM;AACNU,MAAAA,cAAc,EAAE,GAAG;AACnBH,MAAAA,MAAM,EAANA,MAAAA;AACF,KAAC,CAAC,CAAA;IACF,IAAMe,QAAQ,GAAGb,gBAAgB,CAAC;AAChCE,MAAAA,IAAI,EAAE,SAAS;AACflB,MAAAA,IAAI,EAAEA,IAAI,CAAC,CAAC,CAAC;AACbO,MAAAA,MAAM,EAANA,MAAM;AACNU,MAAAA,cAAc,EAAE,GAAG;AACnBH,MAAAA,MAAM,EAANA,MAAAA;AACF,KAAC,CAAC,CAAA;IACF,oBACEK,IAAA,CAACC,OAAO,EAAA;AACNC,MAAAA,KAAK,EAAC,MAAM;AACZS,MAAAA,OAAO,EAAC,MAAM;AACdC,MAAAA,aAAa,EAAC,KAAK;AACnBC,MAAAA,GAAG,EAAC,WAAW;AACfC,MAAAA,UAAU,EAAC,UAAU;AACrB1E,MAAAA,GAAG,EAAEA,GAAa;MAAA+D,QAAA,EAAA,cAElBH,IAAA,CAACC,OAAO,EAAA;AAACc,QAAAA,IAAI,EAAE,CAAE;QAAAZ,QAAA,EAAA,cACf7D,GAAA,CAACsB,WAAW,EAAA;AAACE,UAAAA,KAAK,EAAE2C,UAAW;AAAC1C,UAAAA,IAAI,EAAEA,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEiD,KAAAA;SAAQ,CAAC,eACrD1E,GAAA,CAACmB,SAAS,EAAAjB,aAAA,CAAAA,aAAA,CAAA;UACRyE,kBAAkB,EAAE,SAAAA,kBAAAA,CAACC,IAAI,EAAA;AAAA,YAAA,OAAOtC,QAAQ,CAAUuC,OAAO,GAAGD,IAAI,CAAA;WAAE;AAClEd,UAAAA,EAAE,EAAC,YAAY;AACfgB,UAAAA,WAAW,EAAEC,YAAa;AAC1BzE,UAAAA,KAAK,EAAEA,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEoE,KAAM;AACpBlC,UAAAA,aAAa,EAAEA,aAAc;AAC7BuB,UAAAA,WAAW,EAAEjB,MAAO;AACpBkB,UAAAA,OAAO,EAAE3B,cAAc,CAAC,eAAe,CAAE;AACzC4B,UAAAA,eAAe,EAAE5B,cAAc,CAAC,eAAe,CAAE;AACjDM,UAAAA,IAAI,EAAEA,MAAK;AACXF,UAAAA,SAAS,EAAEA,SAAU;AACrBjB,UAAAA,KAAK,EAAE2C,UAAW;AAClBD,UAAAA,aAAa,EAAC,sBAAA;AAAsB,SAAA,EAChCrE,KAAK,CAAA,EACLwC,cAAc,CACnB,CAAC,CAAA;AAAA,OACK,CAAC,eACVrC,GAAA,CAAC2D,OAAO,EAAA;AAACqB,QAAAA,UAAU,EAAE,CAAE;AAACC,QAAAA,SAAS,EAAC,OAAO;QAAApB,QAAA,eACvC7D,GAAA,CAACkF,cAAc,EAAA;AACbvC,UAAAA,IAAI,EAAC,QAAQ;UACbwC,SAAS;AACP;AACAlC,UAAAA,QAAQ,IAAI,CAACD,mBAAmB,GAAAoC,OAAAA,CAAAA,MAAA,CACpBC,QAAQ,CAACvD,kBAAkB,CAACa,MAAI,CAAC,CAAC,EAAAyC,KAAAA,CAAAA,CAAAA,MAAA,CAAMC,QAAQ,CACtDtC,OAAO,GAAGf,IAAU,CAAC,EAAE,CAAC,GAAGA,IAAU,CAAC,EAAE,CAC1C,CAAC,SACDqD,QAAQ,CAACvD,kBAAkB,CAACa,MAAI,CAAC,CAAA;SAExC,CAAA;AAAC,OACK,CAAC,eACVe,IAAA,CAACC,OAAO,EAAA;AAACc,QAAAA,IAAI,EAAE,CAAE;QAAAZ,QAAA,EAAA,cACf7D,GAAA,CAACsB,WAAW,EAAA;AAACE,UAAAA,KAAK,EAAE4C,QAAS;AAAC3C,UAAAA,IAAI,EAAEA,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAE6D,GAAAA;SAAM,CAAC,eACjDtF,GAAA,CAACmB,SAAS,EAAAjB,aAAA,CAAAA,aAAA,CAAA;AACR4D,UAAAA,EAAE,EAAC,UAAU;AACbC,UAAAA,WAAW,EAAEjB,MAAO;AACpBgC,UAAAA,WAAW,EAAEC,YAAa;UAC1BzE,KAAK,EAAE0C,mBAAmB,GAAGuC,SAAS,GAAGjF,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEgF,GAAI;AACpD9C,UAAAA,aAAa,EAAEQ,mBAAmB,GAAGuC,SAAS,GAAG/C,aAAc;AAC/DwB,UAAAA,OAAO,EAAE3B,cAAc,CAAC,eAAe,CAAE;AACzC4B,UAAAA,eAAe,EAAE5B,cAAc,CAAC,eAAe,CAAE;AACjDM,UAAAA,IAAI,EAAEA,MAAK;AACXnB,UAAAA,KAAK,EAAE4C,QAAS;AAChBF,UAAAA,aAAa,EAAC,oBAAA;AAAoB,SAAA,EAC9BrE,KAAK,CAAA,EACLwC,cAAc,CACnB,CAAC,CAAA;AAAA,OACK,CAAC,CAAA;AAAA,KACH,CAAC,CAAA;AAEd,GAAA;AAEA,EAAA,oBAAOrC,GAAA,CAAA2B,QAAA,EAAA,EAAI,CAAC,CAAA;AACd,CAAC,CAAA;AAED,IAAM6D,eAAe,gBAAGpE,cAAK,CAACC,UAAU,CAACa,gBAAgB;;;;"}
@@ -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":"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"}