@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.
- package/dist/DateField.main.js +6 -4
- package/dist/DateField.main.js.map +1 -1
- package/dist/DateField.mjs +8 -6
- package/dist/DateField.module.js +7 -5
- package/dist/DateField.module.js.map +1 -1
- package/dist/DatePicker.main.js +32 -30
- package/dist/DatePicker.main.js.map +1 -1
- package/dist/DatePicker.mjs +34 -32
- package/dist/DatePicker.module.js +33 -31
- package/dist/DatePicker.module.js.map +1 -1
- package/dist/DatePickerField.main.js +5 -5
- package/dist/DatePickerField.main.js.map +1 -1
- package/dist/DatePickerField.mjs +6 -6
- package/dist/DatePickerField.module.js +5 -5
- package/dist/DatePickerField.module.js.map +1 -1
- package/dist/DatePickerSegment.main.js +12 -15
- package/dist/DatePickerSegment.main.js.map +1 -1
- package/dist/DatePickerSegment.mjs +13 -16
- package/dist/DatePickerSegment.module.js +12 -15
- package/dist/DatePickerSegment.module.js.map +1 -1
- package/dist/DateRangePicker.main.js +38 -35
- package/dist/DateRangePicker.main.js.map +1 -1
- package/dist/DateRangePicker.mjs +40 -37
- package/dist/DateRangePicker.module.js +39 -36
- package/dist/DateRangePicker.module.js.map +1 -1
- package/dist/Input.main.js +25 -19
- package/dist/Input.main.js.map +1 -1
- package/dist/Input.mjs +26 -20
- package/dist/Input.module.js +25 -19
- package/dist/Input.module.js.map +1 -1
- package/dist/TimeField.main.js +6 -4
- package/dist/TimeField.main.js.map +1 -1
- package/dist/TimeField.mjs +8 -6
- package/dist/TimeField.module.js +7 -5
- package/dist/TimeField.module.js.map +1 -1
- package/dist/ar-AE.mjs +1 -1
- package/dist/bg-BG.mjs +1 -1
- package/dist/cs-CZ.mjs +1 -1
- package/dist/da-DK.mjs +1 -1
- package/dist/de-DE.mjs +1 -1
- package/dist/el-GR.mjs +1 -1
- package/dist/en-US.mjs +1 -1
- package/dist/es-ES.mjs +1 -1
- package/dist/et-EE.mjs +1 -1
- package/dist/fi-FI.mjs +1 -1
- package/dist/fr-FR.mjs +1 -1
- package/dist/he-IL.mjs +1 -1
- package/dist/hr-HR.mjs +1 -1
- package/dist/hu-HU.mjs +1 -1
- package/dist/inputgroup_vars_css.mjs +1 -1
- package/dist/intlStrings.mjs +1 -1
- package/dist/it-IT.mjs +1 -1
- package/dist/ja-JP.mjs +1 -1
- package/dist/ko-KR.mjs +1 -1
- package/dist/lt-LT.mjs +1 -1
- package/dist/lv-LV.mjs +1 -1
- package/dist/nb-NO.mjs +1 -1
- package/dist/nl-NL.mjs +1 -1
- package/dist/pl-PL.mjs +1 -1
- package/dist/pt-BR.mjs +1 -1
- package/dist/pt-PT.mjs +1 -1
- package/dist/ro-RO.mjs +1 -1
- package/dist/ru-RU.mjs +1 -1
- package/dist/sk-SK.mjs +1 -1
- package/dist/sl-SI.mjs +1 -1
- package/dist/sr-SP.mjs +1 -1
- package/dist/{styles.36ea4632.css → styles.b562cf4b.css} +9 -13
- package/dist/styles.b562cf4b.css.map +1 -0
- package/dist/styles_css.main.js +3 -0
- package/dist/styles_css.main.js.map +1 -1
- package/dist/styles_css.mjs +4 -1
- package/dist/styles_css.module.js +3 -0
- package/dist/styles_css.module.js.map +1 -1
- package/dist/sv-SE.mjs +1 -1
- package/dist/textfield_vars_css.mjs +1 -1
- package/dist/tr-TR.mjs +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/uk-UA.mjs +1 -1
- package/dist/utils.main.js +26 -11
- package/dist/utils.main.js.map +1 -1
- package/dist/utils.mjs +28 -14
- package/dist/utils.module.js +27 -13
- package/dist/utils.module.js.map +1 -1
- package/dist/{vars.3692148b.css → vars.3d0e5be0.css} +2 -1
- package/dist/vars.3d0e5be0.css.map +1 -0
- package/dist/zh-CN.mjs +1 -1
- package/dist/zh-TW.mjs +1 -1
- package/package.json +23 -23
- package/src/DateField.tsx +4 -1
- package/src/DatePicker.tsx +6 -3
- package/src/DatePickerField.tsx +2 -2
- package/src/DatePickerSegment.tsx +4 -7
- package/src/DateRangePicker.tsx +7 -3
- package/src/Input.tsx +10 -2
- package/src/TimeField.tsx +4 -1
- package/src/styles.css +8 -12
- package/src/utils.ts +15 -2
- package/dist/styles.36ea4632.css.map +0 -1
- package/dist/vars.3692148b.css.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var $bd22dc8dad9522bc$exports = require("./DatePickerField.main.js");
|
|
2
|
-
require("./styles.
|
|
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))),
|
|
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))),
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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))),
|
|
109
|
-
|
|
110
|
-
|
|
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 &&
|
|
118
|
-
let timeMinValue = props.minValue &&
|
|
119
|
-
let timeMaxValue = props.maxValue &&
|
|
120
|
-
let timeGranularity = state.granularity ===
|
|
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 ?
|
|
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))),
|
|
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))),
|
|
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))),
|
|
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))),
|
|
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 ===
|
|
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))),
|
|
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))),
|
|
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))),
|
|
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))),
|
|
182
|
-
|
|
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))),
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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))),
|
|
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":"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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, 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"}
|
package/dist/DateRangePicker.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {DatePickerField as $d2bb88c82604b25f$export$34dc4cfa15ead1} from "./DatePickerField.mjs";
|
|
2
|
-
import "./styles.
|
|
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))),
|
|
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))),
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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))),
|
|
103
|
-
|
|
104
|
-
|
|
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 &&
|
|
112
|
-
let timeMinValue = props.minValue &&
|
|
113
|
-
let timeMaxValue = props.maxValue &&
|
|
114
|
-
let timeGranularity = state.granularity ===
|
|
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 ?
|
|
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))),
|
|
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))),
|
|
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))),
|
|
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))),
|
|
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 ===
|
|
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))),
|
|
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))),
|
|
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))),
|
|
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))),
|
|
176
|
-
|
|
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))),
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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))),
|
|
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.
|
|
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.
|
|
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))),
|
|
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))),
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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))),
|
|
103
|
-
|
|
104
|
-
|
|
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 &&
|
|
112
|
-
let timeMinValue = props.minValue &&
|
|
113
|
-
let timeMaxValue = props.maxValue &&
|
|
114
|
-
let timeGranularity = state.granularity ===
|
|
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 ?
|
|
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))),
|
|
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))),
|
|
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))),
|
|
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))),
|
|
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 ===
|
|
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))),
|
|
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))),
|
|
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))),
|
|
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))),
|
|
176
|
-
|
|
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))),
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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))),
|
|
213
|
+
className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$styles_cssmodulejs))), 'react-spectrum-Datepicker-rangeDash')
|
|
211
214
|
});
|
|
212
215
|
}
|
|
213
216
|
/**
|