@react-spectrum/datepicker 3.9.5 → 3.10.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 (99) hide show
  1. package/dist/DateField.main.js +6 -4
  2. package/dist/DateField.main.js.map +1 -1
  3. package/dist/DateField.mjs +8 -6
  4. package/dist/DateField.module.js +7 -5
  5. package/dist/DateField.module.js.map +1 -1
  6. package/dist/DatePicker.main.js +32 -30
  7. package/dist/DatePicker.main.js.map +1 -1
  8. package/dist/DatePicker.mjs +34 -32
  9. package/dist/DatePicker.module.js +33 -31
  10. package/dist/DatePicker.module.js.map +1 -1
  11. package/dist/DatePickerField.main.js +5 -5
  12. package/dist/DatePickerField.main.js.map +1 -1
  13. package/dist/DatePickerField.mjs +6 -6
  14. package/dist/DatePickerField.module.js +5 -5
  15. package/dist/DatePickerField.module.js.map +1 -1
  16. package/dist/DatePickerSegment.main.js +12 -15
  17. package/dist/DatePickerSegment.main.js.map +1 -1
  18. package/dist/DatePickerSegment.mjs +13 -16
  19. package/dist/DatePickerSegment.module.js +12 -15
  20. package/dist/DatePickerSegment.module.js.map +1 -1
  21. package/dist/DateRangePicker.main.js +38 -35
  22. package/dist/DateRangePicker.main.js.map +1 -1
  23. package/dist/DateRangePicker.mjs +40 -37
  24. package/dist/DateRangePicker.module.js +39 -36
  25. package/dist/DateRangePicker.module.js.map +1 -1
  26. package/dist/Input.main.js +25 -19
  27. package/dist/Input.main.js.map +1 -1
  28. package/dist/Input.mjs +26 -20
  29. package/dist/Input.module.js +25 -19
  30. package/dist/Input.module.js.map +1 -1
  31. package/dist/TimeField.main.js +6 -4
  32. package/dist/TimeField.main.js.map +1 -1
  33. package/dist/TimeField.mjs +8 -6
  34. package/dist/TimeField.module.js +7 -5
  35. package/dist/TimeField.module.js.map +1 -1
  36. package/dist/ar-AE.mjs +1 -1
  37. package/dist/bg-BG.mjs +1 -1
  38. package/dist/cs-CZ.mjs +1 -1
  39. package/dist/da-DK.mjs +1 -1
  40. package/dist/de-DE.mjs +1 -1
  41. package/dist/el-GR.mjs +1 -1
  42. package/dist/en-US.mjs +1 -1
  43. package/dist/es-ES.mjs +1 -1
  44. package/dist/et-EE.mjs +1 -1
  45. package/dist/fi-FI.mjs +1 -1
  46. package/dist/fr-FR.mjs +1 -1
  47. package/dist/he-IL.mjs +1 -1
  48. package/dist/hr-HR.mjs +1 -1
  49. package/dist/hu-HU.mjs +1 -1
  50. package/dist/inputgroup_vars_css.mjs +1 -1
  51. package/dist/intlStrings.mjs +1 -1
  52. package/dist/it-IT.mjs +1 -1
  53. package/dist/ja-JP.mjs +1 -1
  54. package/dist/ko-KR.mjs +1 -1
  55. package/dist/lt-LT.mjs +1 -1
  56. package/dist/lv-LV.mjs +1 -1
  57. package/dist/nb-NO.mjs +1 -1
  58. package/dist/nl-NL.mjs +1 -1
  59. package/dist/pl-PL.mjs +1 -1
  60. package/dist/pt-BR.mjs +1 -1
  61. package/dist/pt-PT.mjs +1 -1
  62. package/dist/ro-RO.mjs +1 -1
  63. package/dist/ru-RU.mjs +1 -1
  64. package/dist/sk-SK.mjs +1 -1
  65. package/dist/sl-SI.mjs +1 -1
  66. package/dist/sr-SP.mjs +1 -1
  67. package/dist/{styles.36ea4632.css → styles.b562cf4b.css} +9 -13
  68. package/dist/styles.b562cf4b.css.map +1 -0
  69. package/dist/styles_css.main.js +3 -0
  70. package/dist/styles_css.main.js.map +1 -1
  71. package/dist/styles_css.mjs +4 -1
  72. package/dist/styles_css.module.js +3 -0
  73. package/dist/styles_css.module.js.map +1 -1
  74. package/dist/sv-SE.mjs +1 -1
  75. package/dist/textfield_vars_css.mjs +1 -1
  76. package/dist/tr-TR.mjs +1 -1
  77. package/dist/types.d.ts.map +1 -1
  78. package/dist/uk-UA.mjs +1 -1
  79. package/dist/utils.main.js +26 -11
  80. package/dist/utils.main.js.map +1 -1
  81. package/dist/utils.mjs +28 -14
  82. package/dist/utils.module.js +27 -13
  83. package/dist/utils.module.js.map +1 -1
  84. package/dist/{vars.3692148b.css → vars.3d0e5be0.css} +2 -1
  85. package/dist/vars.3d0e5be0.css.map +1 -0
  86. package/dist/zh-CN.mjs +1 -1
  87. package/dist/zh-TW.mjs +1 -1
  88. package/package.json +23 -23
  89. package/src/DateField.tsx +4 -1
  90. package/src/DatePicker.tsx +6 -3
  91. package/src/DatePickerField.tsx +2 -2
  92. package/src/DatePickerSegment.tsx +4 -7
  93. package/src/DateRangePicker.tsx +7 -3
  94. package/src/Input.tsx +10 -2
  95. package/src/TimeField.tsx +4 -1
  96. package/src/styles.css +8 -12
  97. package/src/utils.ts +15 -2
  98. package/dist/styles.36ea4632.css.map +0 -1
  99. package/dist/vars.3692148b.css.map +0 -1
@@ -1,5 +1,5 @@
1
1
  var $bd22dc8dad9522bc$exports = require("./DatePickerField.main.js");
2
- require("./styles.36ea4632.css");
2
+ require("./styles.b562cf4b.css");
3
3
  var $91c3db8c6a21ca71$exports = require("./styles_css.main.js");
4
4
  var $c3ebc4931d9b9977$exports = require("./Input.main.js");
5
5
  var $0045b32a117743a7$exports = require("./intlStrings.main.js");
@@ -77,7 +77,7 @@ function $16cafb71dac155a4$var$DateRangePicker(props, ref) {
77
77
  let { hoverProps: hoverProps, isHovered: isHovered } = (0, $56Vum$reactariainteractions.useHover)({
78
78
  isDisabled: isDisabled
79
79
  });
80
- let targetRef = (0, $56Vum$react.useRef)();
80
+ let targetRef = (0, $56Vum$react.useRef)(undefined);
81
81
  let state = (0, $56Vum$reactstatelydatepicker.useDateRangePickerState)({
82
82
  ...props,
83
83
  shouldCloseOnSelect: ()=>!state.hasTime
@@ -86,7 +86,7 @@ function $16cafb71dac155a4$var$DateRangePicker(props, ref) {
86
86
  let { isOpen: isOpen, setOpen: setOpen } = state;
87
87
  let { direction: direction } = (0, $56Vum$reactariai18n.useLocale)();
88
88
  let domRef = (0, $4d2e419f522adb48$exports.useFocusManagerRef)(ref);
89
- let stringFormatter = (0, $56Vum$reactariai18n.useLocalizedStringFormatter)((0, ($parcel$interopDefault($0045b32a117743a7$exports))), "@react-spectrum/datepicker");
89
+ let stringFormatter = (0, $56Vum$reactariai18n.useLocalizedStringFormatter)((0, ($parcel$interopDefault($0045b32a117743a7$exports))), '@react-spectrum/datepicker');
90
90
  let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $56Vum$reactariafocus.useFocusRing)({
91
91
  within: true,
92
92
  isTextInput: true,
@@ -97,30 +97,32 @@ function $16cafb71dac155a4$var$DateRangePicker(props, ref) {
97
97
  isTextInput: false,
98
98
  autoFocus: autoFocus
99
99
  });
100
- let className = (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), "spectrum-InputGroup", {
101
- "spectrum-InputGroup--quiet": isQuiet,
102
- "spectrum-InputGroup--invalid": isInvalid && !isDisabled,
103
- "is-disabled": isDisabled,
104
- "is-hovered": isHovered,
105
- "is-focused": isFocused,
106
- "focus-ring": isFocusVisible && !isFocusedButton
100
+ let className = (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'spectrum-InputGroup', {
101
+ 'spectrum-InputGroup--quiet': isQuiet,
102
+ 'spectrum-InputGroup--invalid': isInvalid && !isDisabled,
103
+ 'is-disabled': isDisabled,
104
+ 'is-hovered': isHovered,
105
+ 'is-focused': isFocused,
106
+ 'focus-ring': isFocusVisible && !isFocusedButton
107
107
  });
108
- let fieldClassName = (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), "spectrum-InputGroup-input", {
109
- "is-disabled": isDisabled,
110
- "is-invalid": isInvalid && !isDisabled
108
+ let fieldClassName = (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'spectrum-InputGroup-input', {
109
+ 'is-disabled': isDisabled,
110
+ 'is-invalid': isInvalid && !isDisabled
111
111
  });
112
112
  // Note: this description is intentionally not passed to useDatePicker.
113
113
  // The format help text is unnecessary for screen reader users because each segment already has a label.
114
114
  let description = (0, $4d2e419f522adb48$exports.useFormatHelpText)(props);
115
115
  if (description && !props.description) descriptionProps.id = null;
116
116
  let placeholder = placeholderValue;
117
- let timePlaceholder = placeholder && "hour" in placeholder ? placeholder : null;
118
- let timeMinValue = props.minValue && "hour" in props.minValue ? props.minValue : null;
119
- let timeMaxValue = props.maxValue && "hour" in props.maxValue ? props.maxValue : null;
120
- let timeGranularity = state.granularity === "hour" || state.granularity === "minute" || state.granularity === "second" ? state.granularity : null;
117
+ let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : null;
118
+ let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : null;
119
+ let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : null;
120
+ let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second' ? state.granularity : null;
121
121
  let showTimeField = !!timeGranularity;
122
122
  let visibleMonths = (0, $4d2e419f522adb48$exports.useVisibleMonths)(maxVisibleMonths);
123
- let validationState = state.validationState || (isInvalid ? "invalid" : null);
123
+ let validationState = state.validationState || (isInvalid ? 'invalid' : null);
124
+ // Multiplying by two for the two dates, adding one character for the dash, and then the padding around the dash
125
+ let approximateWidth = `calc(${(0, $4d2e419f522adb48$exports.useFormattedDateWidth)(state) * 2 + 1}ch + 2 * var(--spectrum-global-dimension-size-100))`;
124
126
  return /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement((0, $56Vum$reactspectrumlabel.Field), {
125
127
  ...props,
126
128
  ref: domRef,
@@ -133,7 +135,7 @@ function $16cafb71dac155a4$var$DateRangePicker(props, ref) {
133
135
  isInvalid: isInvalid,
134
136
  validationErrors: validationErrors,
135
137
  validationDetails: validationDetails,
136
- wrapperClassName: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), "react-spectrum-Datepicker-fieldWrapper")
138
+ wrapperClassName: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), 'react-spectrum-Datepicker-fieldWrapper')
137
139
  }, /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement("div", {
138
140
  ...(0, $56Vum$reactariautils.mergeProps)(groupProps, hoverProps, focusProps),
139
141
  className: className,
@@ -142,23 +144,24 @@ function $16cafb71dac155a4$var$DateRangePicker(props, ref) {
142
144
  isDisabled: isDisabled,
143
145
  isQuiet: isQuiet,
144
146
  validationState: validationState,
145
- className: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), "spectrum-InputGroup-field"),
147
+ className: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'spectrum-InputGroup-field'),
146
148
  inputClassName: fieldClassName,
147
- disableFocusRing: true
149
+ disableFocusRing: true,
150
+ minWidth: approximateWidth
148
151
  }, /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement((0, $bd22dc8dad9522bc$exports.DatePickerField), {
149
152
  ...startFieldProps,
150
153
  "data-testid": "start-date",
151
154
  isQuiet: props.isQuiet,
152
- inputClassName: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), "react-spectrum-Datepicker-startField")
155
+ inputClassName: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), 'react-spectrum-Datepicker-startField')
153
156
  }), /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement($16cafb71dac155a4$var$DateRangeDash, null), /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement((0, $bd22dc8dad9522bc$exports.DatePickerField), {
154
157
  ...endFieldProps,
155
158
  "data-testid": "end-date",
156
159
  isQuiet: props.isQuiet,
157
- inputClassName: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), "spectrum-Datepicker-endField", (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), "react-spectrum-Datepicker-endField"))
160
+ inputClassName: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'spectrum-Datepicker-endField', (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), 'react-spectrum-Datepicker-endField'))
158
161
  })), /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement((0, $56Vum$reactspectrumdialog.DialogTrigger), {
159
162
  type: "popover",
160
163
  mobileType: "tray",
161
- placement: direction === "rtl" ? "bottom right" : "bottom left",
164
+ placement: direction === 'rtl' ? 'bottom right' : 'bottom left',
162
165
  targetRef: targetRef,
163
166
  hideArrow: true,
164
167
  isOpen: isOpen,
@@ -166,29 +169,29 @@ function $16cafb71dac155a4$var$DateRangePicker(props, ref) {
166
169
  shouldFlip: props.shouldFlip
167
170
  }, /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement((0, $56Vum$reactspectrumbutton.FieldButton), {
168
171
  ...(0, $56Vum$reactariautils.mergeProps)(buttonProps, focusPropsButton),
169
- UNSAFE_className: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), "spectrum-FieldButton"),
172
+ UNSAFE_className: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'spectrum-FieldButton'),
170
173
  isQuiet: isQuiet,
171
174
  validationState: validationState
172
175
  }, /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement((0, ($parcel$interopDefault($56Vum$spectrumiconsworkflowCalendar))), null)), /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement((0, $56Vum$reactspectrumdialog.Dialog), {
173
- UNSAFE_className: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), "react-spectrum-Datepicker-dialog"),
176
+ UNSAFE_className: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), 'react-spectrum-Datepicker-dialog'),
174
177
  ...dialogProps
175
178
  }, /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement((0, $56Vum$reactspectrumview.Content), null, /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement("div", {
176
- className: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), "react-spectrum-Datepicker-dialogContent")
179
+ className: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), 'react-spectrum-Datepicker-dialogContent')
177
180
  }, /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement((0, $56Vum$reactspectrumcalendar.RangeCalendar), {
178
181
  ...calendarProps,
179
182
  visibleMonths: visibleMonths,
180
183
  pageBehavior: pageBehavior,
181
- UNSAFE_className: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), "react-spectrum-Datepicker-calendar", {
182
- "is-invalid": validationState === "invalid"
184
+ UNSAFE_className: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), 'react-spectrum-Datepicker-calendar', {
185
+ 'is-invalid': validationState === 'invalid'
183
186
  })
184
187
  }), showTimeField && /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement((0, $56Vum$reactspectrumlayout.Flex), {
185
188
  gap: "size-100",
186
189
  marginTop: "size-100",
187
- UNSAFE_className: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), "react-spectrum-Datepicker-timeFields")
190
+ UNSAFE_className: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), 'react-spectrum-Datepicker-timeFields')
188
191
  }, /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement((0, $740ff83729a8f317$exports.TimeField), {
189
- label: stringFormatter.format("startTime"),
192
+ label: stringFormatter.format('startTime'),
190
193
  value: ((_state_timeRange = state.timeRange) === null || _state_timeRange === void 0 ? void 0 : _state_timeRange.start) || null,
191
- onChange: (v)=>state.setTime("start", v),
194
+ onChange: (v)=>state.setTime('start', v),
192
195
  placeholderValue: timePlaceholder,
193
196
  granularity: timeGranularity,
194
197
  minValue: timeMinValue,
@@ -197,9 +200,9 @@ function $16cafb71dac155a4$var$DateRangePicker(props, ref) {
197
200
  hideTimeZone: props.hideTimeZone,
198
201
  flex: true
199
202
  }), /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement((0, $740ff83729a8f317$exports.TimeField), {
200
- label: stringFormatter.format("endTime"),
203
+ label: stringFormatter.format('endTime'),
201
204
  value: ((_state_timeRange1 = state.timeRange) === null || _state_timeRange1 === void 0 ? void 0 : _state_timeRange1.end) || null,
202
- onChange: (v)=>state.setTime("end", v),
205
+ onChange: (v)=>state.setTime('end', v),
203
206
  placeholderValue: timePlaceholder,
204
207
  granularity: timeGranularity,
205
208
  minValue: timeMinValue,
@@ -213,7 +216,7 @@ function $16cafb71dac155a4$var$DateRangeDash() {
213
216
  return /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement("div", {
214
217
  "aria-hidden": "true",
215
218
  "data-testid": "date-range-dash",
216
- className: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), "react-spectrum-Datepicker-rangeDash")
219
+ className: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), 'react-spectrum-Datepicker-rangeDash')
217
220
  });
218
221
  }
219
222
  /**
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@react-spectrum/datepicker/src/DateRangePicker.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport CalendarIcon from '@spectrum-icons/workflow/Calendar';\nimport {classNames} from '@react-spectrum/utils';\nimport {Content} from '@react-spectrum/view';\nimport {DatePickerField} from './DatePickerField';\nimport datepickerStyles from './styles.css';\nimport {DateValue, SpectrumDateRangePickerProps} from '@react-types/datepicker';\nimport {Dialog, DialogTrigger} from '@react-spectrum/dialog';\nimport {Field} from '@react-spectrum/label';\nimport {FieldButton} from '@react-spectrum/button';\nimport {Flex} from '@react-spectrum/layout';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {mergeProps} from '@react-aria/utils';\nimport {RangeCalendar} from '@react-spectrum/calendar';\nimport React, {ReactElement, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/inputgroup/vars.css';\nimport {TimeField} from './TimeField';\nimport {useDateRangePicker} from '@react-aria/datepicker';\nimport {useDateRangePickerState} from '@react-stately/datepicker';\nimport {useFocusManagerRef, useFormatHelpText, useVisibleMonths} from './utils';\nimport {useFocusRing} from '@react-aria/focus';\nimport {useFormProps} from '@react-spectrum/form';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction DateRangePicker<T extends DateValue>(props: SpectrumDateRangePickerProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n props = useFormProps(props);\n let {\n isQuiet,\n isDisabled,\n autoFocus,\n placeholderValue,\n maxVisibleMonths = 1,\n pageBehavior\n } = props;\n let {hoverProps, isHovered} = useHover({isDisabled});\n let targetRef = useRef<HTMLDivElement>();\n let state = useDateRangePickerState({\n ...props,\n shouldCloseOnSelect: () => !state.hasTime\n });\n let {labelProps, groupProps, buttonProps, dialogProps, startFieldProps, endFieldProps, descriptionProps, errorMessageProps, calendarProps, isInvalid, validationErrors, validationDetails} = useDateRangePicker(props, state, targetRef);\n let {isOpen, setOpen} = state;\n let {direction} = useLocale();\n let domRef = useFocusManagerRef(ref);\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/datepicker');\n\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({\n within: true,\n isTextInput: true,\n autoFocus\n });\n\n let {isFocused: isFocusedButton, focusProps: focusPropsButton} = useFocusRing({\n within: false,\n isTextInput: false,\n autoFocus\n });\n\n let className = classNames(\n styles,\n 'spectrum-InputGroup',\n {\n 'spectrum-InputGroup--quiet': isQuiet,\n 'spectrum-InputGroup--invalid': isInvalid && !isDisabled,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered,\n 'is-focused': isFocused,\n 'focus-ring': isFocusVisible && !isFocusedButton\n }\n );\n\n let fieldClassName = classNames(\n styles,\n 'spectrum-InputGroup-input',\n {\n 'is-disabled': isDisabled,\n 'is-invalid': isInvalid && !isDisabled\n }\n );\n\n // Note: this description is intentionally not passed to useDatePicker.\n // The format help text is unnecessary for screen reader users because each segment already has a label.\n let description = useFormatHelpText(props);\n if (description && !props.description) {\n descriptionProps.id = null;\n }\n\n let placeholder: DateValue = placeholderValue;\n let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : null;\n let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : null;\n let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : null;\n let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second' ? state.granularity : null;\n let showTimeField = !!timeGranularity;\n\n let visibleMonths = useVisibleMonths(maxVisibleMonths);\n let validationState = state.validationState || (isInvalid ? 'invalid' : null);\n\n return (\n <Field\n {...props}\n ref={domRef}\n elementType=\"span\"\n description={description}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n validationState={validationState}\n isInvalid={isInvalid}\n validationErrors={validationErrors}\n validationDetails={validationDetails}\n wrapperClassName={classNames(datepickerStyles, 'react-spectrum-Datepicker-fieldWrapper')}>\n <div\n {...mergeProps(groupProps, hoverProps, focusProps)}\n className={className}\n ref={targetRef}>\n <Input\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n validationState={validationState}\n className={classNames(styles, 'spectrum-InputGroup-field')}\n inputClassName={fieldClassName}\n disableFocusRing>\n <DatePickerField\n {...startFieldProps}\n data-testid=\"start-date\"\n isQuiet={props.isQuiet}\n inputClassName={classNames(datepickerStyles, 'react-spectrum-Datepicker-startField')} />\n <DateRangeDash />\n <DatePickerField\n {...endFieldProps}\n data-testid=\"end-date\"\n isQuiet={props.isQuiet}\n inputClassName={classNames(\n styles,\n 'spectrum-Datepicker-endField',\n classNames(\n datepickerStyles,\n 'react-spectrum-Datepicker-endField'\n )\n )} />\n </Input>\n <DialogTrigger\n type=\"popover\"\n mobileType=\"tray\"\n placement={direction === 'rtl' ? 'bottom right' : 'bottom left'}\n targetRef={targetRef}\n hideArrow\n isOpen={isOpen}\n onOpenChange={setOpen}\n shouldFlip={props.shouldFlip}>\n <FieldButton\n {...mergeProps(buttonProps, focusPropsButton)}\n UNSAFE_className={classNames(styles, 'spectrum-FieldButton')}\n isQuiet={isQuiet}\n validationState={validationState}>\n <CalendarIcon />\n </FieldButton>\n <Dialog UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-dialog')} {...dialogProps}>\n <Content>\n <div className={classNames(datepickerStyles, 'react-spectrum-Datepicker-dialogContent')}>\n <RangeCalendar\n {...calendarProps}\n visibleMonths={visibleMonths}\n pageBehavior={pageBehavior}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-calendar', {'is-invalid': validationState === 'invalid'})} />\n {showTimeField &&\n <Flex gap=\"size-100\" marginTop=\"size-100\" UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-timeFields')}>\n <TimeField\n label={stringFormatter.format('startTime')}\n value={state.timeRange?.start || null}\n onChange={v => state.setTime('start', v)}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n flex />\n <TimeField\n label={stringFormatter.format('endTime')}\n value={state.timeRange?.end || null}\n onChange={v => state.setTime('end', v)}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n flex />\n </Flex>\n }\n </div>\n </Content>\n </Dialog>\n </DialogTrigger>\n </div>\n </Field>\n );\n}\n\nfunction DateRangeDash() {\n return (\n <div\n aria-hidden=\"true\"\n data-testid=\"date-range-dash\"\n className={classNames(datepickerStyles, 'react-spectrum-Datepicker-rangeDash')} />\n );\n}\n\n/**\n * DateRangePickers combine two DateFields and a RangeCalendar popover to allow users\n * to enter or select a date and time range.\n */\nconst _DateRangePicker = React.forwardRef(DateRangePicker) as <T extends DateValue>(props: SpectrumDateRangePickerProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_DateRangePicker as DateRangePicker};\n"],"names":[],"version":3,"file":"DateRangePicker.main.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;;;;;;;;;;;;AA8BD,SAAS,sCAAqC,KAAsC,EAAE,GAA8B;QAsJvF,kBAWA;IAhK3B,QAAQ,CAAA,GAAA,6CAAe,EAAE;IACzB,QAAQ,CAAA,GAAA,qCAAW,EAAE;IACrB,IAAI,WACF,OAAO,cACP,UAAU,aACV,SAAS,oBACT,gBAAgB,oBAChB,mBAAmB,iBACnB,YAAY,EACb,GAAG;IACJ,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,qCAAO,EAAE;oBAAC;IAAU;IAClD,IAAI,YAAY,CAAA,GAAA,mBAAK,EAAkB;IACvC,IAAI,QAAQ,CAAA,GAAA,qDAAsB,EAAE;QAClC,GAAG,KAAK;QACR,qBAAqB,IAAM,CAAC,MAAM,OAAO;IAC3C;IACA,IAAI,cAAC,UAAU,cAAE,UAAU,eAAE,WAAW,eAAE,WAAW,mBAAE,eAAe,iBAAE,aAAa,oBAAE,gBAAgB,qBAAE,iBAAiB,iBAAE,aAAa,aAAE,SAAS,oBAAE,gBAAgB,qBAAE,iBAAiB,EAAC,GAAG,CAAA,GAAA,6CAAiB,EAAE,OAAO,OAAO;IAC9N,IAAI,UAAC,MAAM,WAAE,OAAO,EAAC,GAAG;IACxB,IAAI,aAAC,SAAS,EAAC,GAAG,CAAA,GAAA,8BAAQ;IAC1B,IAAI,SAAS,CAAA,GAAA,4CAAiB,EAAE;IAChC,IAAI,kBAAkB,CAAA,GAAA,gDAA0B,EAAE,CAAA,GAAA,mDAAW,GAAG;IAEhE,IAAI,aAAC,SAAS,kBAAE,cAAc,cAAE,UAAU,EAAC,GAAG,CAAA,GAAA,kCAAW,EAAE;QACzD,QAAQ;QACR,aAAa;mBACb;IACF;IAEA,IAAI,EAAC,WAAW,eAAe,EAAE,YAAY,gBAAgB,EAAC,GAAG,CAAA,GAAA,kCAAW,EAAE;QAC5E,QAAQ;QACR,aAAa;mBACb;IACF;IAEA,IAAI,YAAY,CAAA,GAAA,oCAAS,EACvB,CAAA,GAAA,mDAAK,GACL,uBACA;QACE,8BAA8B;QAC9B,gCAAgC,aAAa,CAAC;QAC9C,eAAe;QACf,cAAc;QACd,cAAc;QACd,cAAc,kBAAkB,CAAC;IACnC;IAGF,IAAI,iBAAiB,CAAA,GAAA,oCAAS,EAC5B,CAAA,GAAA,mDAAK,GACL,6BACA;QACE,eAAe;QACf,cAAc,aAAa,CAAC;IAC9B;IAGF,uEAAuE;IACvE,wGAAwG;IACxG,IAAI,cAAc,CAAA,GAAA,2CAAgB,EAAE;IACpC,IAAI,eAAe,CAAC,MAAM,WAAW,EACnC,iBAAiB,EAAE,GAAG;IAGxB,IAAI,cAAyB;IAC7B,IAAI,kBAAkB,eAAe,UAAU,cAAc,cAAc;IAC3E,IAAI,eAAe,MAAM,QAAQ,IAAI,UAAU,MAAM,QAAQ,GAAG,MAAM,QAAQ,GAAG;IACjF,IAAI,eAAe,MAAM,QAAQ,IAAI,UAAU,MAAM,QAAQ,GAAG,MAAM,QAAQ,GAAG;IACjF,IAAI,kBAAkB,MAAM,WAAW,KAAK,UAAU,MAAM,WAAW,KAAK,YAAY,MAAM,WAAW,KAAK,WAAW,MAAM,WAAW,GAAG;IAC7I,IAAI,gBAAgB,CAAC,CAAC;IAEtB,IAAI,gBAAgB,CAAA,GAAA,0CAAe,EAAE;IACrC,IAAI,kBAAkB,MAAM,eAAe,IAAK,CAAA,YAAY,YAAY,IAAG;IAE3E,gHAAgH;IAChH,IAAI,mBAAmB,CAAC,KAAK,EAAE,CAAA,GAAA,+CAAoB,EAAE,SAAS,IAAI,EAAE,mDAAmD,CAAC;IAExH,qBACE,0DAAC,CAAA,GAAA,+BAAI;QACF,GAAG,KAAK;QACT,KAAK;QACL,aAAY;QACZ,aAAa;QACb,YAAY;QACZ,kBAAkB;QAClB,mBAAmB;QACnB,iBAAiB;QACjB,WAAW;QACX,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAe,GAAG;qBAC/C,0DAAC;QACE,GAAG,CAAA,GAAA,gCAAS,EAAE,YAAY,YAAY,WAAW;QAClD,WAAW;QACX,KAAK;qBACL,0DAAC,CAAA,GAAA,+BAAI;QACH,YAAY;QACZ,SAAS;QACT,iBAAiB;QACjB,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;QAC9B,gBAAgB;QAChB,kBAAA;QACA,UAAU;qBACV,0DAAC,CAAA,GAAA,yCAAc;QACZ,GAAG,eAAe;QACnB,eAAY;QACZ,SAAS,MAAM,OAAO;QACtB,gBAAgB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAe,GAAG;sBAC/C,0DAAC,0DACD,0DAAC,CAAA,GAAA,yCAAc;QACZ,GAAG,aAAa;QACjB,eAAY;QACZ,SAAS,MAAM,OAAO;QACtB,gBAAgB,CAAA,GAAA,oCAAS,EACvB,CAAA,GAAA,mDAAK,GACL,gCACA,CAAA,GAAA,oCAAS,EACP,CAAA,GAAA,mDAAe,GACf;uBAIR,0DAAC,CAAA,GAAA,wCAAY;QACX,MAAK;QACL,YAAW;QACX,WAAW,cAAc,QAAQ,iBAAiB;QAClD,WAAW;QACX,WAAA;QACA,QAAQ;QACR,cAAc;QACd,YAAY,MAAM,UAAU;qBAC5B,0DAAC,CAAA,GAAA,sCAAU;QACR,GAAG,CAAA,GAAA,gCAAS,EAAE,aAAa,iBAAiB;QAC7C,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;QACrC,SAAS;QACT,iBAAiB;qBACjB,0DAAC,CAAA,GAAA,8DAAW,yBAEd,0DAAC,CAAA,GAAA,iCAAK;QAAE,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAe,GAAG;QAAsC,GAAG,WAAW;qBACzG,0DAAC,CAAA,GAAA,gCAAM,uBACL,0DAAC;QAAI,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAe,GAAG;qBAC3C,0DAAC,CAAA,GAAA,0CAAY;QACV,GAAG,aAAa;QACjB,eAAe;QACf,cAAc;QACd,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAe,GAAG,sCAAsC;YAAC,cAAc,oBAAoB;QAAS;QAClI,+BACC,0DAAC,CAAA,GAAA,+BAAG;QAAE,KAAI;QAAW,WAAU;QAAW,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAe,GAAG;qBACvF,0DAAC,CAAA,GAAA,mCAAQ;QACP,OAAO,gBAAgB,MAAM,CAAC;QAC9B,OAAO,EAAA,mBAAA,MAAM,SAAS,cAAf,uCAAA,iBAAiB,KAAK,KAAI;QACjC,UAAU,CAAA,IAAK,MAAM,OAAO,CAAC,SAAS;QACtC,kBAAkB;QAClB,aAAa;QACb,UAAU;QACV,UAAU;QACV,WAAW,MAAM,SAAS;QAC1B,cAAc,MAAM,YAAY;QAChC,MAAA;sBACF,0DAAC,CAAA,GAAA,mCAAQ;QACP,OAAO,gBAAgB,MAAM,CAAC;QAC9B,OAAO,EAAA,oBAAA,MAAM,SAAS,cAAf,wCAAA,kBAAiB,GAAG,KAAI;QAC/B,UAAU,CAAA,IAAK,MAAM,OAAO,CAAC,OAAO;QACpC,kBAAkB;QAClB,aAAa;QACb,UAAU;QACV,UAAU;QACV,WAAW,MAAM,SAAS;QAC1B,cAAc,MAAM,YAAY;QAChC,MAAA;;AAUtB;AAEA,SAAS;IACP,qBACE,0DAAC;QACC,eAAY;QACZ,eAAY;QACZ,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAe,GAAG;;AAE9C;AAEA;;;CAGC,GACD,MAAM,0DAAmB,CAAA,GAAA,sCAAI,EAAE,UAAU,CAAC","sources":["packages/@react-spectrum/datepicker/src/DateRangePicker.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport CalendarIcon from '@spectrum-icons/workflow/Calendar';\nimport {classNames} from '@react-spectrum/utils';\nimport {Content} from '@react-spectrum/view';\nimport {DatePickerField} from './DatePickerField';\nimport datepickerStyles from './styles.css';\nimport {DateValue, SpectrumDateRangePickerProps} from '@react-types/datepicker';\nimport {Dialog, DialogTrigger} from '@react-spectrum/dialog';\nimport {Field} from '@react-spectrum/label';\nimport {FieldButton} from '@react-spectrum/button';\nimport {Flex} from '@react-spectrum/layout';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {mergeProps} from '@react-aria/utils';\nimport {RangeCalendar} from '@react-spectrum/calendar';\nimport React, {ReactElement, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/inputgroup/vars.css';\nimport {TimeField} from './TimeField';\nimport {useDateRangePicker} from '@react-aria/datepicker';\nimport {useDateRangePickerState} from '@react-stately/datepicker';\nimport {useFocusManagerRef, useFormatHelpText, useFormattedDateWidth, useVisibleMonths} from './utils';\nimport {useFocusRing} from '@react-aria/focus';\nimport {useFormProps} from '@react-spectrum/form';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction DateRangePicker<T extends DateValue>(props: SpectrumDateRangePickerProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n props = useFormProps(props);\n let {\n isQuiet,\n isDisabled,\n autoFocus,\n placeholderValue,\n maxVisibleMonths = 1,\n pageBehavior\n } = props;\n let {hoverProps, isHovered} = useHover({isDisabled});\n let targetRef = useRef<HTMLDivElement>(undefined);\n let state = useDateRangePickerState({\n ...props,\n shouldCloseOnSelect: () => !state.hasTime\n });\n let {labelProps, groupProps, buttonProps, dialogProps, startFieldProps, endFieldProps, descriptionProps, errorMessageProps, calendarProps, isInvalid, validationErrors, validationDetails} = useDateRangePicker(props, state, targetRef);\n let {isOpen, setOpen} = state;\n let {direction} = useLocale();\n let domRef = useFocusManagerRef(ref);\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/datepicker');\n\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({\n within: true,\n isTextInput: true,\n autoFocus\n });\n\n let {isFocused: isFocusedButton, focusProps: focusPropsButton} = useFocusRing({\n within: false,\n isTextInput: false,\n autoFocus\n });\n\n let className = classNames(\n styles,\n 'spectrum-InputGroup',\n {\n 'spectrum-InputGroup--quiet': isQuiet,\n 'spectrum-InputGroup--invalid': isInvalid && !isDisabled,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered,\n 'is-focused': isFocused,\n 'focus-ring': isFocusVisible && !isFocusedButton\n }\n );\n\n let fieldClassName = classNames(\n styles,\n 'spectrum-InputGroup-input',\n {\n 'is-disabled': isDisabled,\n 'is-invalid': isInvalid && !isDisabled\n }\n );\n\n // Note: this description is intentionally not passed to useDatePicker.\n // The format help text is unnecessary for screen reader users because each segment already has a label.\n let description = useFormatHelpText(props);\n if (description && !props.description) {\n descriptionProps.id = null;\n }\n\n let placeholder: DateValue = placeholderValue;\n let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : null;\n let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : null;\n let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : null;\n let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second' ? state.granularity : null;\n let showTimeField = !!timeGranularity;\n\n let visibleMonths = useVisibleMonths(maxVisibleMonths);\n let validationState = state.validationState || (isInvalid ? 'invalid' : null);\n\n // Multiplying by two for the two dates, adding one character for the dash, and then the padding around the dash\n let approximateWidth = `calc(${useFormattedDateWidth(state) * 2 + 1}ch + 2 * var(--spectrum-global-dimension-size-100))`;\n\n return (\n <Field\n {...props}\n ref={domRef}\n elementType=\"span\"\n description={description}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n validationState={validationState}\n isInvalid={isInvalid}\n validationErrors={validationErrors}\n validationDetails={validationDetails}\n wrapperClassName={classNames(datepickerStyles, 'react-spectrum-Datepicker-fieldWrapper')}>\n <div\n {...mergeProps(groupProps, hoverProps, focusProps)}\n className={className}\n ref={targetRef}>\n <Input\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n validationState={validationState}\n className={classNames(styles, 'spectrum-InputGroup-field')}\n inputClassName={fieldClassName}\n disableFocusRing\n minWidth={approximateWidth}>\n <DatePickerField\n {...startFieldProps}\n data-testid=\"start-date\"\n isQuiet={props.isQuiet}\n inputClassName={classNames(datepickerStyles, 'react-spectrum-Datepicker-startField')} />\n <DateRangeDash />\n <DatePickerField\n {...endFieldProps}\n data-testid=\"end-date\"\n isQuiet={props.isQuiet}\n inputClassName={classNames(\n styles,\n 'spectrum-Datepicker-endField',\n classNames(\n datepickerStyles,\n 'react-spectrum-Datepicker-endField'\n )\n )} />\n </Input>\n <DialogTrigger\n type=\"popover\"\n mobileType=\"tray\"\n placement={direction === 'rtl' ? 'bottom right' : 'bottom left'}\n targetRef={targetRef}\n hideArrow\n isOpen={isOpen}\n onOpenChange={setOpen}\n shouldFlip={props.shouldFlip}>\n <FieldButton\n {...mergeProps(buttonProps, focusPropsButton)}\n UNSAFE_className={classNames(styles, 'spectrum-FieldButton')}\n isQuiet={isQuiet}\n validationState={validationState}>\n <CalendarIcon />\n </FieldButton>\n <Dialog UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-dialog')} {...dialogProps}>\n <Content>\n <div className={classNames(datepickerStyles, 'react-spectrum-Datepicker-dialogContent')}>\n <RangeCalendar\n {...calendarProps}\n visibleMonths={visibleMonths}\n pageBehavior={pageBehavior}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-calendar', {'is-invalid': validationState === 'invalid'})} />\n {showTimeField &&\n <Flex gap=\"size-100\" marginTop=\"size-100\" UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-timeFields')}>\n <TimeField\n label={stringFormatter.format('startTime')}\n value={state.timeRange?.start || null}\n onChange={v => state.setTime('start', v)}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n flex />\n <TimeField\n label={stringFormatter.format('endTime')}\n value={state.timeRange?.end || null}\n onChange={v => state.setTime('end', v)}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n flex />\n </Flex>\n }\n </div>\n </Content>\n </Dialog>\n </DialogTrigger>\n </div>\n </Field>\n );\n}\n\nfunction DateRangeDash() {\n return (\n <div\n aria-hidden=\"true\"\n data-testid=\"date-range-dash\"\n className={classNames(datepickerStyles, 'react-spectrum-Datepicker-rangeDash')} />\n );\n}\n\n/**\n * DateRangePickers combine two DateFields and a RangeCalendar popover to allow users\n * to enter or select a date and time range.\n */\nconst _DateRangePicker = React.forwardRef(DateRangePicker) as <T extends DateValue>(props: SpectrumDateRangePickerProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_DateRangePicker as DateRangePicker};\n"],"names":[],"version":3,"file":"DateRangePicker.main.js.map"}
@@ -1,12 +1,12 @@
1
1
  import {DatePickerField as $d2bb88c82604b25f$export$34dc4cfa15ead1} from "./DatePickerField.mjs";
2
- import "./styles.36ea4632.css";
2
+ import "./styles.b562cf4b.css";
3
3
  import $dUbU7$styles_cssmodulejs from "./styles_css.mjs";
4
4
  import {Input as $79348162c55d687f$export$f5b8910cec6cf069} from "./Input.mjs";
5
5
  import $dUbU7$intlStringsmodulejs from "./intlStrings.mjs";
6
6
  import "./vars.ccbd2e3f.css";
7
7
  import $dUbU7$inputgroup_vars_cssmodulejs from "./inputgroup_vars_css.mjs";
8
8
  import {TimeField as $f0a04554754386b6$export$5eaee2322dd727eb} from "./TimeField.mjs";
9
- import {useFocusManagerRef as $04e96200274b03de$export$71a23a36270e4bf0, useFormatHelpText as $04e96200274b03de$export$322f4580ccd8dde6, useVisibleMonths as $04e96200274b03de$export$12ce2869ce471b1f} from "./utils.mjs";
9
+ import {useFocusManagerRef as $04e96200274b03de$export$71a23a36270e4bf0, useFormatHelpText as $04e96200274b03de$export$322f4580ccd8dde6, useFormattedDateWidth as $04e96200274b03de$export$31e22e3c931fc056, useVisibleMonths as $04e96200274b03de$export$12ce2869ce471b1f} from "./utils.mjs";
10
10
  import $dUbU7$spectrumiconsworkflowCalendar from "@spectrum-icons/workflow/Calendar";
11
11
  import {classNames as $dUbU7$classNames} from "@react-spectrum/utils";
12
12
  import {Content as $dUbU7$Content} from "@react-spectrum/view";
@@ -71,7 +71,7 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
71
71
  let { hoverProps: hoverProps, isHovered: isHovered } = (0, $dUbU7$useHover)({
72
72
  isDisabled: isDisabled
73
73
  });
74
- let targetRef = (0, $dUbU7$useRef)();
74
+ let targetRef = (0, $dUbU7$useRef)(undefined);
75
75
  let state = (0, $dUbU7$useDateRangePickerState)({
76
76
  ...props,
77
77
  shouldCloseOnSelect: ()=>!state.hasTime
@@ -80,7 +80,7 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
80
80
  let { isOpen: isOpen, setOpen: setOpen } = state;
81
81
  let { direction: direction } = (0, $dUbU7$useLocale)();
82
82
  let domRef = (0, $04e96200274b03de$export$71a23a36270e4bf0)(ref);
83
- let stringFormatter = (0, $dUbU7$useLocalizedStringFormatter)((0, ($parcel$interopDefault($dUbU7$intlStringsmodulejs))), "@react-spectrum/datepicker");
83
+ let stringFormatter = (0, $dUbU7$useLocalizedStringFormatter)((0, ($parcel$interopDefault($dUbU7$intlStringsmodulejs))), '@react-spectrum/datepicker');
84
84
  let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $dUbU7$useFocusRing)({
85
85
  within: true,
86
86
  isTextInput: true,
@@ -91,30 +91,32 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
91
91
  isTextInput: false,
92
92
  autoFocus: autoFocus
93
93
  });
94
- let className = (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), "spectrum-InputGroup", {
95
- "spectrum-InputGroup--quiet": isQuiet,
96
- "spectrum-InputGroup--invalid": isInvalid && !isDisabled,
97
- "is-disabled": isDisabled,
98
- "is-hovered": isHovered,
99
- "is-focused": isFocused,
100
- "focus-ring": isFocusVisible && !isFocusedButton
94
+ let className = (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), 'spectrum-InputGroup', {
95
+ 'spectrum-InputGroup--quiet': isQuiet,
96
+ 'spectrum-InputGroup--invalid': isInvalid && !isDisabled,
97
+ 'is-disabled': isDisabled,
98
+ 'is-hovered': isHovered,
99
+ 'is-focused': isFocused,
100
+ 'focus-ring': isFocusVisible && !isFocusedButton
101
101
  });
102
- let fieldClassName = (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), "spectrum-InputGroup-input", {
103
- "is-disabled": isDisabled,
104
- "is-invalid": isInvalid && !isDisabled
102
+ let fieldClassName = (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), 'spectrum-InputGroup-input', {
103
+ 'is-disabled': isDisabled,
104
+ 'is-invalid': isInvalid && !isDisabled
105
105
  });
106
106
  // Note: this description is intentionally not passed to useDatePicker.
107
107
  // The format help text is unnecessary for screen reader users because each segment already has a label.
108
108
  let description = (0, $04e96200274b03de$export$322f4580ccd8dde6)(props);
109
109
  if (description && !props.description) descriptionProps.id = null;
110
110
  let placeholder = placeholderValue;
111
- let timePlaceholder = placeholder && "hour" in placeholder ? placeholder : null;
112
- let timeMinValue = props.minValue && "hour" in props.minValue ? props.minValue : null;
113
- let timeMaxValue = props.maxValue && "hour" in props.maxValue ? props.maxValue : null;
114
- let timeGranularity = state.granularity === "hour" || state.granularity === "minute" || state.granularity === "second" ? state.granularity : null;
111
+ let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : null;
112
+ let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : null;
113
+ let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : null;
114
+ let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second' ? state.granularity : null;
115
115
  let showTimeField = !!timeGranularity;
116
116
  let visibleMonths = (0, $04e96200274b03de$export$12ce2869ce471b1f)(maxVisibleMonths);
117
- let validationState = state.validationState || (isInvalid ? "invalid" : null);
117
+ let validationState = state.validationState || (isInvalid ? 'invalid' : null);
118
+ // Multiplying by two for the two dates, adding one character for the dash, and then the padding around the dash
119
+ let approximateWidth = `calc(${(0, $04e96200274b03de$export$31e22e3c931fc056)(state) * 2 + 1}ch + 2 * var(--spectrum-global-dimension-size-100))`;
118
120
  return /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$Field), {
119
121
  ...props,
120
122
  ref: domRef,
@@ -127,7 +129,7 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
127
129
  isInvalid: isInvalid,
128
130
  validationErrors: validationErrors,
129
131
  validationDetails: validationDetails,
130
- wrapperClassName: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-fieldWrapper")
132
+ wrapperClassName: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-fieldWrapper')
131
133
  }, /*#__PURE__*/ (0, $dUbU7$react).createElement("div", {
132
134
  ...(0, $dUbU7$mergeProps)(groupProps, hoverProps, focusProps),
133
135
  className: className,
@@ -136,23 +138,24 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
136
138
  isDisabled: isDisabled,
137
139
  isQuiet: isQuiet,
138
140
  validationState: validationState,
139
- className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), "spectrum-InputGroup-field"),
141
+ className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), 'spectrum-InputGroup-field'),
140
142
  inputClassName: fieldClassName,
141
- disableFocusRing: true
143
+ disableFocusRing: true,
144
+ minWidth: approximateWidth
142
145
  }, /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $d2bb88c82604b25f$export$34dc4cfa15ead1), {
143
146
  ...startFieldProps,
144
147
  "data-testid": "start-date",
145
148
  isQuiet: props.isQuiet,
146
- inputClassName: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-startField")
149
+ inputClassName: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-startField')
147
150
  }), /*#__PURE__*/ (0, $dUbU7$react).createElement($cb301300011a98f7$var$DateRangeDash, null), /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $d2bb88c82604b25f$export$34dc4cfa15ead1), {
148
151
  ...endFieldProps,
149
152
  "data-testid": "end-date",
150
153
  isQuiet: props.isQuiet,
151
- inputClassName: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), "spectrum-Datepicker-endField", (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-endField"))
154
+ inputClassName: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), 'spectrum-Datepicker-endField', (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-endField'))
152
155
  })), /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$DialogTrigger), {
153
156
  type: "popover",
154
157
  mobileType: "tray",
155
- placement: direction === "rtl" ? "bottom right" : "bottom left",
158
+ placement: direction === 'rtl' ? 'bottom right' : 'bottom left',
156
159
  targetRef: targetRef,
157
160
  hideArrow: true,
158
161
  isOpen: isOpen,
@@ -160,29 +163,29 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
160
163
  shouldFlip: props.shouldFlip
161
164
  }, /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$FieldButton), {
162
165
  ...(0, $dUbU7$mergeProps)(buttonProps, focusPropsButton),
163
- UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), "spectrum-FieldButton"),
166
+ UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), 'spectrum-FieldButton'),
164
167
  isQuiet: isQuiet,
165
168
  validationState: validationState
166
169
  }, /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$spectrumiconsworkflowCalendar), null)), /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$Dialog), {
167
- UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-dialog"),
170
+ UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-dialog'),
168
171
  ...dialogProps
169
172
  }, /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$Content), null, /*#__PURE__*/ (0, $dUbU7$react).createElement("div", {
170
- className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-dialogContent")
173
+ className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-dialogContent')
171
174
  }, /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$RangeCalendar), {
172
175
  ...calendarProps,
173
176
  visibleMonths: visibleMonths,
174
177
  pageBehavior: pageBehavior,
175
- UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-calendar", {
176
- "is-invalid": validationState === "invalid"
178
+ UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-calendar', {
179
+ 'is-invalid': validationState === 'invalid'
177
180
  })
178
181
  }), showTimeField && /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$Flex), {
179
182
  gap: "size-100",
180
183
  marginTop: "size-100",
181
- UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-timeFields")
184
+ UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-timeFields')
182
185
  }, /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $f0a04554754386b6$export$5eaee2322dd727eb), {
183
- label: stringFormatter.format("startTime"),
186
+ label: stringFormatter.format('startTime'),
184
187
  value: ((_state_timeRange = state.timeRange) === null || _state_timeRange === void 0 ? void 0 : _state_timeRange.start) || null,
185
- onChange: (v)=>state.setTime("start", v),
188
+ onChange: (v)=>state.setTime('start', v),
186
189
  placeholderValue: timePlaceholder,
187
190
  granularity: timeGranularity,
188
191
  minValue: timeMinValue,
@@ -191,9 +194,9 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
191
194
  hideTimeZone: props.hideTimeZone,
192
195
  flex: true
193
196
  }), /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $f0a04554754386b6$export$5eaee2322dd727eb), {
194
- label: stringFormatter.format("endTime"),
197
+ label: stringFormatter.format('endTime'),
195
198
  value: ((_state_timeRange1 = state.timeRange) === null || _state_timeRange1 === void 0 ? void 0 : _state_timeRange1.end) || null,
196
- onChange: (v)=>state.setTime("end", v),
199
+ onChange: (v)=>state.setTime('end', v),
197
200
  placeholderValue: timePlaceholder,
198
201
  granularity: timeGranularity,
199
202
  minValue: timeMinValue,
@@ -207,7 +210,7 @@ function $cb301300011a98f7$var$DateRangeDash() {
207
210
  return /*#__PURE__*/ (0, $dUbU7$react).createElement("div", {
208
211
  "aria-hidden": "true",
209
212
  "data-testid": "date-range-dash",
210
- className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-rangeDash")
213
+ className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-rangeDash')
211
214
  });
212
215
  }
213
216
  /**
@@ -217,4 +220,4 @@ function $cb301300011a98f7$var$DateRangeDash() {
217
220
 
218
221
 
219
222
  export {$cb301300011a98f7$export$17334619f3ac2224 as DateRangePicker};
220
- //# sourceMappingURL=DateRangePicker.mjs.map
223
+ //# sourceMappingURL=DateRangePicker.module.js.map
@@ -1,12 +1,12 @@
1
1
  import {DatePickerField as $d2bb88c82604b25f$export$34dc4cfa15ead1} from "./DatePickerField.module.js";
2
- import "./styles.36ea4632.css";
2
+ import "./styles.b562cf4b.css";
3
3
  import $dUbU7$styles_cssmodulejs from "./styles_css.module.js";
4
4
  import {Input as $79348162c55d687f$export$f5b8910cec6cf069} from "./Input.module.js";
5
5
  import $dUbU7$intlStringsmodulejs from "./intlStrings.module.js";
6
6
  import "./vars.ccbd2e3f.css";
7
7
  import $dUbU7$inputgroup_vars_cssmodulejs from "./inputgroup_vars_css.module.js";
8
8
  import {TimeField as $f0a04554754386b6$export$5eaee2322dd727eb} from "./TimeField.module.js";
9
- import {useFocusManagerRef as $04e96200274b03de$export$71a23a36270e4bf0, useFormatHelpText as $04e96200274b03de$export$322f4580ccd8dde6, useVisibleMonths as $04e96200274b03de$export$12ce2869ce471b1f} from "./utils.module.js";
9
+ import {useFocusManagerRef as $04e96200274b03de$export$71a23a36270e4bf0, useFormatHelpText as $04e96200274b03de$export$322f4580ccd8dde6, useFormattedDateWidth as $04e96200274b03de$export$31e22e3c931fc056, useVisibleMonths as $04e96200274b03de$export$12ce2869ce471b1f} from "./utils.module.js";
10
10
  import $dUbU7$spectrumiconsworkflowCalendar from "@spectrum-icons/workflow/Calendar";
11
11
  import {classNames as $dUbU7$classNames} from "@react-spectrum/utils";
12
12
  import {Content as $dUbU7$Content} from "@react-spectrum/view";
@@ -71,7 +71,7 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
71
71
  let { hoverProps: hoverProps, isHovered: isHovered } = (0, $dUbU7$useHover)({
72
72
  isDisabled: isDisabled
73
73
  });
74
- let targetRef = (0, $dUbU7$useRef)();
74
+ let targetRef = (0, $dUbU7$useRef)(undefined);
75
75
  let state = (0, $dUbU7$useDateRangePickerState)({
76
76
  ...props,
77
77
  shouldCloseOnSelect: ()=>!state.hasTime
@@ -80,7 +80,7 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
80
80
  let { isOpen: isOpen, setOpen: setOpen } = state;
81
81
  let { direction: direction } = (0, $dUbU7$useLocale)();
82
82
  let domRef = (0, $04e96200274b03de$export$71a23a36270e4bf0)(ref);
83
- let stringFormatter = (0, $dUbU7$useLocalizedStringFormatter)((0, ($parcel$interopDefault($dUbU7$intlStringsmodulejs))), "@react-spectrum/datepicker");
83
+ let stringFormatter = (0, $dUbU7$useLocalizedStringFormatter)((0, ($parcel$interopDefault($dUbU7$intlStringsmodulejs))), '@react-spectrum/datepicker');
84
84
  let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $dUbU7$useFocusRing)({
85
85
  within: true,
86
86
  isTextInput: true,
@@ -91,30 +91,32 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
91
91
  isTextInput: false,
92
92
  autoFocus: autoFocus
93
93
  });
94
- let className = (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), "spectrum-InputGroup", {
95
- "spectrum-InputGroup--quiet": isQuiet,
96
- "spectrum-InputGroup--invalid": isInvalid && !isDisabled,
97
- "is-disabled": isDisabled,
98
- "is-hovered": isHovered,
99
- "is-focused": isFocused,
100
- "focus-ring": isFocusVisible && !isFocusedButton
94
+ let className = (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), 'spectrum-InputGroup', {
95
+ 'spectrum-InputGroup--quiet': isQuiet,
96
+ 'spectrum-InputGroup--invalid': isInvalid && !isDisabled,
97
+ 'is-disabled': isDisabled,
98
+ 'is-hovered': isHovered,
99
+ 'is-focused': isFocused,
100
+ 'focus-ring': isFocusVisible && !isFocusedButton
101
101
  });
102
- let fieldClassName = (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), "spectrum-InputGroup-input", {
103
- "is-disabled": isDisabled,
104
- "is-invalid": isInvalid && !isDisabled
102
+ let fieldClassName = (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), 'spectrum-InputGroup-input', {
103
+ 'is-disabled': isDisabled,
104
+ 'is-invalid': isInvalid && !isDisabled
105
105
  });
106
106
  // Note: this description is intentionally not passed to useDatePicker.
107
107
  // The format help text is unnecessary for screen reader users because each segment already has a label.
108
108
  let description = (0, $04e96200274b03de$export$322f4580ccd8dde6)(props);
109
109
  if (description && !props.description) descriptionProps.id = null;
110
110
  let placeholder = placeholderValue;
111
- let timePlaceholder = placeholder && "hour" in placeholder ? placeholder : null;
112
- let timeMinValue = props.minValue && "hour" in props.minValue ? props.minValue : null;
113
- let timeMaxValue = props.maxValue && "hour" in props.maxValue ? props.maxValue : null;
114
- let timeGranularity = state.granularity === "hour" || state.granularity === "minute" || state.granularity === "second" ? state.granularity : null;
111
+ let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : null;
112
+ let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : null;
113
+ let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : null;
114
+ let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second' ? state.granularity : null;
115
115
  let showTimeField = !!timeGranularity;
116
116
  let visibleMonths = (0, $04e96200274b03de$export$12ce2869ce471b1f)(maxVisibleMonths);
117
- let validationState = state.validationState || (isInvalid ? "invalid" : null);
117
+ let validationState = state.validationState || (isInvalid ? 'invalid' : null);
118
+ // Multiplying by two for the two dates, adding one character for the dash, and then the padding around the dash
119
+ let approximateWidth = `calc(${(0, $04e96200274b03de$export$31e22e3c931fc056)(state) * 2 + 1}ch + 2 * var(--spectrum-global-dimension-size-100))`;
118
120
  return /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$Field), {
119
121
  ...props,
120
122
  ref: domRef,
@@ -127,7 +129,7 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
127
129
  isInvalid: isInvalid,
128
130
  validationErrors: validationErrors,
129
131
  validationDetails: validationDetails,
130
- wrapperClassName: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-fieldWrapper")
132
+ wrapperClassName: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-fieldWrapper')
131
133
  }, /*#__PURE__*/ (0, $dUbU7$react).createElement("div", {
132
134
  ...(0, $dUbU7$mergeProps)(groupProps, hoverProps, focusProps),
133
135
  className: className,
@@ -136,23 +138,24 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
136
138
  isDisabled: isDisabled,
137
139
  isQuiet: isQuiet,
138
140
  validationState: validationState,
139
- className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), "spectrum-InputGroup-field"),
141
+ className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), 'spectrum-InputGroup-field'),
140
142
  inputClassName: fieldClassName,
141
- disableFocusRing: true
143
+ disableFocusRing: true,
144
+ minWidth: approximateWidth
142
145
  }, /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $d2bb88c82604b25f$export$34dc4cfa15ead1), {
143
146
  ...startFieldProps,
144
147
  "data-testid": "start-date",
145
148
  isQuiet: props.isQuiet,
146
- inputClassName: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-startField")
149
+ inputClassName: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-startField')
147
150
  }), /*#__PURE__*/ (0, $dUbU7$react).createElement($cb301300011a98f7$var$DateRangeDash, null), /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $d2bb88c82604b25f$export$34dc4cfa15ead1), {
148
151
  ...endFieldProps,
149
152
  "data-testid": "end-date",
150
153
  isQuiet: props.isQuiet,
151
- inputClassName: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), "spectrum-Datepicker-endField", (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-endField"))
154
+ inputClassName: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), 'spectrum-Datepicker-endField', (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-endField'))
152
155
  })), /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$DialogTrigger), {
153
156
  type: "popover",
154
157
  mobileType: "tray",
155
- placement: direction === "rtl" ? "bottom right" : "bottom left",
158
+ placement: direction === 'rtl' ? 'bottom right' : 'bottom left',
156
159
  targetRef: targetRef,
157
160
  hideArrow: true,
158
161
  isOpen: isOpen,
@@ -160,29 +163,29 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
160
163
  shouldFlip: props.shouldFlip
161
164
  }, /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$FieldButton), {
162
165
  ...(0, $dUbU7$mergeProps)(buttonProps, focusPropsButton),
163
- UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), "spectrum-FieldButton"),
166
+ UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), 'spectrum-FieldButton'),
164
167
  isQuiet: isQuiet,
165
168
  validationState: validationState
166
169
  }, /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$spectrumiconsworkflowCalendar), null)), /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$Dialog), {
167
- UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-dialog"),
170
+ UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-dialog'),
168
171
  ...dialogProps
169
172
  }, /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$Content), null, /*#__PURE__*/ (0, $dUbU7$react).createElement("div", {
170
- className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-dialogContent")
173
+ className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-dialogContent')
171
174
  }, /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$RangeCalendar), {
172
175
  ...calendarProps,
173
176
  visibleMonths: visibleMonths,
174
177
  pageBehavior: pageBehavior,
175
- UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-calendar", {
176
- "is-invalid": validationState === "invalid"
178
+ UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-calendar', {
179
+ 'is-invalid': validationState === 'invalid'
177
180
  })
178
181
  }), showTimeField && /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$Flex), {
179
182
  gap: "size-100",
180
183
  marginTop: "size-100",
181
- UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-timeFields")
184
+ UNSAFE_className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-timeFields')
182
185
  }, /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $f0a04554754386b6$export$5eaee2322dd727eb), {
183
- label: stringFormatter.format("startTime"),
186
+ label: stringFormatter.format('startTime'),
184
187
  value: ((_state_timeRange = state.timeRange) === null || _state_timeRange === void 0 ? void 0 : _state_timeRange.start) || null,
185
- onChange: (v)=>state.setTime("start", v),
188
+ onChange: (v)=>state.setTime('start', v),
186
189
  placeholderValue: timePlaceholder,
187
190
  granularity: timeGranularity,
188
191
  minValue: timeMinValue,
@@ -191,9 +194,9 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
191
194
  hideTimeZone: props.hideTimeZone,
192
195
  flex: true
193
196
  }), /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $f0a04554754386b6$export$5eaee2322dd727eb), {
194
- label: stringFormatter.format("endTime"),
197
+ label: stringFormatter.format('endTime'),
195
198
  value: ((_state_timeRange1 = state.timeRange) === null || _state_timeRange1 === void 0 ? void 0 : _state_timeRange1.end) || null,
196
- onChange: (v)=>state.setTime("end", v),
199
+ onChange: (v)=>state.setTime('end', v),
197
200
  placeholderValue: timePlaceholder,
198
201
  granularity: timeGranularity,
199
202
  minValue: timeMinValue,
@@ -207,7 +210,7 @@ function $cb301300011a98f7$var$DateRangeDash() {
207
210
  return /*#__PURE__*/ (0, $dUbU7$react).createElement("div", {
208
211
  "aria-hidden": "true",
209
212
  "data-testid": "date-range-dash",
210
- className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), "react-spectrum-Datepicker-rangeDash")
213
+ className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-rangeDash')
211
214
  });
212
215
  }
213
216
  /**