@react-spectrum/datepicker 3.0.0-nightly.1718 → 3.0.0-nightly.1729
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/main.js +36 -17
- package/dist/main.js.map +1 -1
- package/dist/module.js +37 -18
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +24 -24
- package/src/DatePicker.tsx +6 -3
- package/src/DateRangePicker.tsx +7 -4
- package/src/Input.tsx +20 -17
package/dist/main.js
CHANGED
|
@@ -257,20 +257,22 @@ function $c3ebc4931d9b9977$var$Input(props, ref) {
|
|
|
257
257
|
// not cause a layout shift.
|
|
258
258
|
let [reservePadding1, setReservePadding] = $9kQ8p$reactspectrumutils.useValueEffect(false);
|
|
259
259
|
let onResize = $9kQ8p$react.useCallback(()=>setReservePadding(function*(reservePadding) {
|
|
260
|
-
if (
|
|
261
|
-
|
|
262
|
-
|
|
260
|
+
if (inputRef.current) {
|
|
261
|
+
if (reservePadding) // Try to collapse padding if the content is clipped.
|
|
262
|
+
{
|
|
263
|
+
if (inputRef.current.scrollWidth > inputRef.current.offsetWidth) {
|
|
264
|
+
let width = inputRef.current.parentElement.offsetWidth;
|
|
265
|
+
yield false;
|
|
266
|
+
// If removing padding causes a layout shift, add it back.
|
|
267
|
+
if (inputRef.current.parentElement.offsetWidth !== width) yield true;
|
|
268
|
+
}
|
|
269
|
+
} else // Try to add padding if the content is not clipped.
|
|
270
|
+
if (inputRef.current.offsetWidth >= inputRef.current.scrollWidth) {
|
|
263
271
|
let width = inputRef.current.parentElement.offsetWidth;
|
|
264
|
-
yield
|
|
265
|
-
// If
|
|
266
|
-
if (inputRef.current.parentElement.offsetWidth
|
|
272
|
+
yield true;
|
|
273
|
+
// If adding padding does not change the width (i.e. width is constrained), remove it again.
|
|
274
|
+
if (inputRef.current.parentElement.offsetWidth === width) yield false;
|
|
267
275
|
}
|
|
268
|
-
} else // Try to add padding if the content is not clipped.
|
|
269
|
-
if (inputRef.current.offsetWidth >= inputRef.current.scrollWidth) {
|
|
270
|
-
let width = inputRef.current.parentElement.offsetWidth;
|
|
271
|
-
yield true;
|
|
272
|
-
// If adding padding does not change the width (i.e. width is constrained), remove it again.
|
|
273
|
-
if (inputRef.current.parentElement.offsetWidth === width) yield false;
|
|
274
276
|
}
|
|
275
277
|
})
|
|
276
278
|
, [
|
|
@@ -331,6 +333,20 @@ function $c3ebc4931d9b9977$var$Input(props, ref) {
|
|
|
331
333
|
const $c3ebc4931d9b9977$export$f5b8910cec6cf069 = /*#__PURE__*/ ($parcel$interopDefault($9kQ8p$react)).forwardRef($c3ebc4931d9b9977$var$Input);
|
|
332
334
|
|
|
333
335
|
|
|
336
|
+
var $dc9e5db3fad3e690$exports = {};
|
|
337
|
+
var $4390d311cc480168$exports = {};
|
|
338
|
+
$4390d311cc480168$exports = {
|
|
339
|
+
"time": `Time`,
|
|
340
|
+
"startTime": `Start time`,
|
|
341
|
+
"endTime": `End time`
|
|
342
|
+
};
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
$dc9e5db3fad3e690$exports = {
|
|
346
|
+
"en-US": $4390d311cc480168$exports
|
|
347
|
+
};
|
|
348
|
+
|
|
349
|
+
|
|
334
350
|
|
|
335
351
|
|
|
336
352
|
|
|
@@ -542,6 +558,7 @@ function $5c1ddf85d7c27889$var$DatePicker(props, ref) {
|
|
|
542
558
|
let { isOpen: isOpen , setOpen: setOpen } = state;
|
|
543
559
|
let { direction: direction } = $9kQ8p$reactariai18n.useLocale();
|
|
544
560
|
let domRef = $4d2e419f522adb48$export$71a23a36270e4bf0(ref);
|
|
561
|
+
let stringFormatter = $9kQ8p$reactariai18n.useLocalizedStringFormatter((/*@__PURE__*/$parcel$interopDefault($dc9e5db3fad3e690$exports)));
|
|
545
562
|
let { isFocused: isFocused , isFocusVisible: isFocusVisible , focusProps: focusProps } = $9kQ8p$reactariafocus.useFocusRing({
|
|
546
563
|
within: true,
|
|
547
564
|
isTextInput: true,
|
|
@@ -572,7 +589,7 @@ function $5c1ddf85d7c27889$var$DatePicker(props, ref) {
|
|
|
572
589
|
let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : null;
|
|
573
590
|
let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : null;
|
|
574
591
|
let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : null;
|
|
575
|
-
let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second'
|
|
592
|
+
let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second' ? state.granularity : null;
|
|
576
593
|
let showTimeField = !!timeGranularity;
|
|
577
594
|
let visibleMonths = $4d2e419f522adb48$export$12ce2869ce471b1f(maxVisibleMonths);
|
|
578
595
|
return(/*#__PURE__*/ ($parcel$interopDefault($9kQ8p$react)).createElement($9kQ8p$reactspectrumlabel.Field, {
|
|
@@ -628,7 +645,7 @@ function $5c1ddf85d7c27889$var$DatePicker(props, ref) {
|
|
|
628
645
|
}), showTimeField && /*#__PURE__*/ ($parcel$interopDefault($9kQ8p$react)).createElement("div", {
|
|
629
646
|
className: $9kQ8p$reactspectrumutils.classNames((/*@__PURE__*/$parcel$interopDefault($91c3db8c6a21ca71$exports)), 'react-spectrum-Datepicker-timeFields')
|
|
630
647
|
}, /*#__PURE__*/ ($parcel$interopDefault($9kQ8p$react)).createElement($740ff83729a8f317$export$5eaee2322dd727eb, {
|
|
631
|
-
label:
|
|
648
|
+
label: stringFormatter.format('time'),
|
|
632
649
|
value: state.timeValue,
|
|
633
650
|
onChange: state.setTimeValue,
|
|
634
651
|
placeholderValue: timePlaceholder,
|
|
@@ -665,6 +682,7 @@ function $5c1ddf85d7c27889$var$DatePicker(props, ref) {
|
|
|
665
682
|
|
|
666
683
|
|
|
667
684
|
|
|
685
|
+
|
|
668
686
|
|
|
669
687
|
|
|
670
688
|
function $16cafb71dac155a4$var$DateRangePicker(props, ref) {
|
|
@@ -683,6 +701,7 @@ function $16cafb71dac155a4$var$DateRangePicker(props, ref) {
|
|
|
683
701
|
let { isOpen: isOpen , setOpen: setOpen } = state;
|
|
684
702
|
let { direction: direction } = $9kQ8p$reactariai18n.useLocale();
|
|
685
703
|
let domRef = $4d2e419f522adb48$export$71a23a36270e4bf0(ref);
|
|
704
|
+
let stringFormatter = $9kQ8p$reactariai18n.useLocalizedStringFormatter((/*@__PURE__*/$parcel$interopDefault($dc9e5db3fad3e690$exports)));
|
|
686
705
|
let { isFocused: isFocused , isFocusVisible: isFocusVisible , focusProps: focusProps } = $9kQ8p$reactariafocus.useFocusRing({
|
|
687
706
|
within: true,
|
|
688
707
|
isTextInput: true,
|
|
@@ -713,7 +732,7 @@ function $16cafb71dac155a4$var$DateRangePicker(props, ref) {
|
|
|
713
732
|
let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : null;
|
|
714
733
|
let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : null;
|
|
715
734
|
let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : null;
|
|
716
|
-
let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second'
|
|
735
|
+
let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second' ? state.granularity : null;
|
|
717
736
|
let showTimeField = !!timeGranularity;
|
|
718
737
|
let visibleMonths = $4d2e419f522adb48$export$12ce2869ce471b1f(maxVisibleMonths);
|
|
719
738
|
return(/*#__PURE__*/ ($parcel$interopDefault($9kQ8p$react)).createElement($9kQ8p$reactspectrumlabel.Field, {
|
|
@@ -777,7 +796,7 @@ function $16cafb71dac155a4$var$DateRangePicker(props, ref) {
|
|
|
777
796
|
marginTop: "size-100",
|
|
778
797
|
UNSAFE_className: $9kQ8p$reactspectrumutils.classNames((/*@__PURE__*/$parcel$interopDefault($91c3db8c6a21ca71$exports)), 'react-spectrum-Datepicker-timeFields')
|
|
779
798
|
}, /*#__PURE__*/ ($parcel$interopDefault($9kQ8p$react)).createElement($740ff83729a8f317$export$5eaee2322dd727eb, {
|
|
780
|
-
label:
|
|
799
|
+
label: stringFormatter.format('startTime'),
|
|
781
800
|
value: ((ref1 = state.timeRange) === null || ref1 === void 0 ? void 0 : ref1.start) || null,
|
|
782
801
|
onChange: (v)=>state.setTime('start', v)
|
|
783
802
|
,
|
|
@@ -789,7 +808,7 @@ function $16cafb71dac155a4$var$DateRangePicker(props, ref) {
|
|
|
789
808
|
hideTimeZone: props.hideTimeZone,
|
|
790
809
|
flex: true
|
|
791
810
|
}), /*#__PURE__*/ ($parcel$interopDefault($9kQ8p$react)).createElement($740ff83729a8f317$export$5eaee2322dd727eb, {
|
|
792
|
-
label:
|
|
811
|
+
label: stringFormatter.format('endTime'),
|
|
793
812
|
value: ((ref2 = state.timeRange) === null || ref2 === void 0 ? void 0 : ref2.end) || null,
|
|
794
813
|
onChange: (v)=>state.setTime('end', v)
|
|
795
814
|
,
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/@react-spectrum/datepicker/src/index.ts","packages/@react-spectrum/datepicker/src/DatePicker.tsx","packages/@react-spectrum/datepicker/src/DatePickerField.tsx","packages/@react-spectrum/datepicker/src/DatePickerSegment.tsx","packages/@react-spectrum/datepicker/src/styles.css","packages/@react-spectrum/datepicker/src/Input.tsx","packages/@adobe/spectrum-css-temp/components/textfield/vars.css","packages/@adobe/spectrum-css-temp/components/inputgroup/vars.css","packages/@react-spectrum/datepicker/src/TimeField.tsx","packages/@react-spectrum/datepicker/src/utils.ts","packages/@react-spectrum/datepicker/src/DateRangePicker.tsx","packages/@react-spectrum/datepicker/src/DateField.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\n/// <reference types=\"css-module-types\" />\n\nexport {DatePicker} from './DatePicker';\nexport {DateRangePicker} from './DateRangePicker';\nexport {TimeField} from './TimeField';\nexport {DateField} from './DateField';\nexport type {SpectrumDateFieldProps, SpectrumDatePickerProps, SpectrumDateRangePickerProps, SpectrumTimeFieldProps} from '@react-types/datepicker';\n","/*\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 {Calendar} from '@react-spectrum/calendar';\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, SpectrumDatePickerProps} from '@react-types/datepicker';\nimport {Dialog, DialogTrigger} from '@react-spectrum/dialog';\nimport {Field} from '@react-spectrum/label';\nimport {FieldButton} from '@react-spectrum/button';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\nimport {mergeProps} from '@react-aria/utils';\nimport React, {ReactElement, useRef} from 'react';\nimport '@adobe/spectrum-css-temp/components/textfield/vars.css'; // HACK: must be included BEFORE inputgroup\nimport styles from '@adobe/spectrum-css-temp/components/inputgroup/vars.css';\nimport {TimeField} from './TimeField';\nimport {useDatePicker} from '@react-aria/datepicker';\nimport {useDatePickerState} from '@react-stately/datepicker';\nimport {useFocusManagerRef, useFormatHelpText, useVisibleMonths} from './utils';\nimport {useFocusRing} from '@react-aria/focus';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction DatePicker<T extends DateValue>(props: SpectrumDatePickerProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n let {\n autoFocus,\n isQuiet,\n isDisabled,\n isReadOnly,\n placeholderValue,\n maxVisibleMonths = 1\n } = props;\n let {hoverProps, isHovered} = useHover({isDisabled});\n let targetRef = useRef<HTMLDivElement>();\n let state = useDatePickerState({\n ...props,\n shouldCloseOnSelect: () => !state.hasTime\n });\n let {groupProps, labelProps, fieldProps, descriptionProps, errorMessageProps, buttonProps, dialogProps, calendarProps} = useDatePicker(props, state, targetRef);\n let {isOpen, setOpen} = state;\n let {direction} = useLocale();\n let domRef = useFocusManagerRef(ref);\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': state.validationState === 'invalid',\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': state.validationState === 'invalid'\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 === 'millisecond' ? state.granularity : null;\n let showTimeField = !!timeGranularity;\n\n let visibleMonths = useVisibleMonths(maxVisibleMonths);\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={state.validationState}\n UNSAFE_className={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={state.validationState}\n className={classNames(styles, 'spectrum-InputGroup-field')}\n inputClassName={fieldClassName}>\n <DatePickerField\n {...fieldProps}\n data-testid=\"date-field\"\n isQuiet={isQuiet} />\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={state.validationState}\n isDisabled={isDisabled || isReadOnly}>\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 <Calendar\n {...calendarProps}\n visibleMonths={visibleMonths}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-calendar', {'is-invalid': state.validationState === 'invalid'})} />\n {showTimeField &&\n <div className={classNames(datepickerStyles, 'react-spectrum-Datepicker-timeFields')}>\n <TimeField\n label=\"Time\"\n value={state.timeValue}\n onChange={state.setTimeValue}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n marginTop=\"size-100\" />\n </div>\n }\n </div>\n </Content>\n </Dialog>\n </DialogTrigger>\n </div>\n </Field>\n );\n}\n\n/**\n * DatePickers combine a DateField and a Calendar popover to allow users to enter or select a date and time value.\n */\nconst _DatePicker = React.forwardRef(DatePicker) as <T extends DateValue>(props: SpectrumDatePickerProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_DatePicker as DatePicker};\n","/*\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 {classNames} from '@react-spectrum/utils';\nimport {createCalendar} from '@internationalized/date';\nimport {DatePickerSegment} from './DatePickerSegment';\nimport datepickerStyles from './styles.css';\nimport {DateValue, SpectrumDatePickerProps} from '@react-types/datepicker';\nimport React, {useRef} from 'react';\nimport {useDateField} from '@react-aria/datepicker';\nimport {useDateFieldState} from '@react-stately/datepicker';\nimport {useLocale} from '@react-aria/i18n';\n\ninterface DatePickerFieldProps<T extends DateValue> extends SpectrumDatePickerProps<T> {\n inputClassName?: string,\n hideValidationIcon?: boolean,\n maxGranularity?: SpectrumDatePickerProps<T>['granularity']\n}\n\nexport function DatePickerField<T extends DateValue>(props: DatePickerFieldProps<T>) {\n let {\n isDisabled,\n isReadOnly,\n isRequired,\n inputClassName\n } = props;\n let ref = useRef();\n let {locale} = useLocale();\n let state = useDateFieldState({\n ...props,\n locale,\n createCalendar\n });\n\n let {fieldProps} = useDateField(props, state, ref);\n\n return (\n <div {...fieldProps} data-testid={props['data-testid']} className={classNames(datepickerStyles, 'react-spectrum-Datepicker-segments', inputClassName)} ref={ref}>\n {state.segments.map((segment, i) =>\n (<DatePickerSegment\n key={i}\n segment={segment}\n state={state}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isRequired={isRequired} />)\n )}\n </div>\n );\n}\n","/*\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 {classNames} from '@react-spectrum/utils';\nimport {DateFieldState, DateSegment} from '@react-stately/datepicker';\nimport {DatePickerBase, DateValue} from '@react-types/datepicker';\nimport React, {useRef} from 'react';\nimport styles from './styles.css';\nimport {useDateSegment} from '@react-aria/datepicker';\n\ninterface DatePickerSegmentProps extends DatePickerBase<DateValue> {\n segment: DateSegment,\n state: DateFieldState\n}\n\ninterface LiteralSegmentProps {\n segment: DateSegment\n}\n\nexport function DatePickerSegment({segment, state, ...otherProps}: DatePickerSegmentProps) {\n switch (segment.type) {\n // A separator, e.g. punctuation\n case 'literal':\n return <LiteralSegment segment={segment} />;\n\n // Editable segment\n default:\n return <EditableSegment segment={segment} state={state} {...otherProps} />;\n }\n}\n\nfunction LiteralSegment({segment}: LiteralSegmentProps) {\n return (\n <span\n aria-hidden=\"true\"\n className={classNames(styles, 'react-spectrum-Datepicker-literal')}\n data-testid={segment.type === 'literal' ? undefined : segment.type}>\n {segment.text}\n </span>\n );\n}\n\nfunction EditableSegment({segment, state}: DatePickerSegmentProps) {\n let ref = useRef();\n let {segmentProps} = useDateSegment(segment, state, ref);\n return (\n <div\n {...segmentProps}\n ref={ref}\n className={classNames(styles, 'react-spectrum-DatePicker-cell', {\n 'is-placeholder': segment.isPlaceholder,\n 'is-read-only': !segment.isEditable\n })}\n style={{\n ...segmentProps.style,\n minWidth: segment.maxValue != null ? String(segment.maxValue).length + 'ch' : null\n }}\n data-testid={segment.type}>\n <span aria-hidden=\"true\" className={classNames(styles, 'react-spectrum-DatePicker-placeholder')}>{segment.placeholder}</span>\n {segment.isPlaceholder ? '' : segment.text}\n </div>\n );\n}\n","/*\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\n.react-spectrum-Datepicker-fieldWrapper.react-spectrum-Datepicker-fieldWrapper.react-spectrum-Datepicker-fieldWrapper {\n width: auto;\n min-width: var(--spectrum-global-dimension-size-2000);\n max-width: 100%;\n }\n\n.react-spectrum-Datepicker-startField {\n width: auto;\n padding-inline-end: var(--spectrum-global-dimension-size-100);\n}\n\n.react-spectrum-Datepicker-endField {\n width: auto;\n flex: 1;\n padding-inline-start: var(--spectrum-global-dimension-size-100);\n}\n\n.react-spectrum-Datepicker-field ~ .react-spectrum-Datepicker-endField > .react-spectrum-Datepicker-input {\n border-inline-start-width: 0;\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n}\n\n.react-spectrum-Datepicker-field.react-spectrum-Datepicker-field {\n width: auto;\n}\n\n/* specificity war with .spectrum-Field--positionSide etc. */\n.react-spectrum-DateField.react-spectrum-DateField.react-spectrum-DateField.react-spectrum-DateField {\n min-width: var(--spectrum-global-dimension-size-2000)\n}\n\n.react-spectrum-TimeField.react-spectrum-TimeField.react-spectrum-TimeField.react-spectrum-TimeField {\n min-width: var(--spectrum-global-dimension-size-1250);\n}\n\n.react-spectrum-TimeField-fieldWrapper.react-spectrum-TimeField-fieldWrapper.react-spectrum-TimeField-fieldWrapper {\n width: auto;\n min-width: var(--spectrum-global-dimension-size-1250);\n}\n\n.react-spectrum-Datepicker-input.react-spectrum-Datepicker-input {\n /* always reserve space for the validation icon */\n padding-inline-end: calc(var(--spectrum-textfield-padding-x) + var(--spectrum-icon-alert-medium-width) + var(--spectrum-textfield-icon-margin-left));\n cursor: text;\n}\n\n.react-spectrum-Datepicker-inputContents {\n display: flex;\n align-items: center;\n height: 100%;\n overflow-x: auto;\n scrollbar-width: none; /* Firefox */\n -ms-overflow-style: none; /* Internet Explorer 10+ */\n\n &::-webkit-scrollbar { /* WebKit */\n width: 0;\n height: 0;\n display: none;\n }\n}\n\n.react-spectrum-Datepicker-rangeDash {\n &:before {\n content: '–';\n }\n}\n\n.react-spectrum-Datepicker-segments {\n display: flex;\n align-items: center;\n}\n\n.react-spectrum-Datepicker-literal {\n white-space: pre;\n user-select: none;\n color: var(--spectrum-textfield-text-color);\n}\n\n.react-spectrum-DatePicker-cell {\n border: none;\n background: none;\n padding: 0 2px;\n border-radius: 2px;\n font-variant-numeric: tabular-nums;\n text-align: end;\n box-sizing: content-box;\n white-space: nowrap;\n color: var(--spectrum-textfield-text-color);\n\n &::selection {\n /* hide the selection because there is no way to fully prevent it in Firefox */\n /* https://bugzilla.mozilla.org/show_bug.cgi?id=1742153 */\n background: transparent;\n }\n}\n\n.react-spectrum-DatePicker-placeholder {\n display: block;\n width: 100%;\n text-align: center;\n font-style: italic;\n visibility: hidden;\n height: 0;\n pointer-events: none;\n}\n\n.react-spectrum-DatePicker-cell.is-placeholder {\n color: var(--react-spectrum-datepicker-placeholder-color);\n\n .react-spectrum-DatePicker-placeholder {\n visibility: visible;\n height: auto;\n }\n}\n\n.react-spectrum-DatePicker-cell.is-placeholder ~ .react-spectrum-Datepicker-literal {\n color: var(--spectrum-textfield-placeholder-text-color, var(--spectrum-global-color-gray-600));\n}\n\n.react-spectrum-DatePicker-cell.is-read-only {\n color: var(--spectrum-global-color-gray-700);\n}\n\n.react-spectrum-DatePicker-cell:focus {\n background-color: var(--spectrum-global-color-static-blue);\n color: white;\n caret-color: transparent;\n outline: none;\n}\n\n.react-spectrum-Datepicker-dialog.react-spectrum-Datepicker-dialog {\n width: auto;\n}\n\n.react-spectrum-Datepicker-dialogContent {\n display: flex;\n flex-direction: column;\n\n .react-spectrum-Datepicker-calendar.is-invalid {\n /* Only apply display: contents when the calendar is invalid, which allows us to move the\n * error message below the time fields. Otherwise, don't do this because it breaks dragging\n * the selected range on Android. */\n display: contents;\n }\n\n /* Push the help text within the calendar down to the bottom of the dialog, below the time fields. */\n :global(.spectrum-Calendar-helpText) {\n order: 10;\n margin: var(--spectrum-global-dimension-size-200) var(--spectrum-calendar-day-padding) 0 var(--spectrum-calendar-day-padding);\n }\n}\n\n/* when displayed in a tray, reduce the padding of the dialog */\n@media (max-width: 700px) {\n .react-spectrum-Datepicker-dialog {\n --spectrum-dialog-padding-x: 8px;\n\n .react-spectrum-Datepicker-dialogContent {\n margin: 0 auto;\n max-width: calc((var(--spectrum-calendar-day-width) * 7) + (var(--spectrum-calendar-day-padding) * 12));\n }\n }\n}\n\n.react-spectrum-Datepicker-timeFields {\n width: 100%;\n min-width: calc(var(--spectrum-calendar-day-width) * 7);\n max-width: calc((var(--spectrum-calendar-day-width) * 7) + (var(--spectrum-calendar-day-padding) * 12));\n padding: 0 var(--spectrum-calendar-day-padding);\n box-sizing: border-box;\n}\n\n@media (forced-colors:active) {\n .react-spectrum-DatePicker-cell:focus {\n forced-color-adjust: none;\n background-color: Highlight;\n color: HighlightText;\n }\n .react-spectrum-DatePicker-cell.is-read-only {\n color: ButtonText;\n &:focus {\n color: HighlightText;\n }\n }\n .react-spectrum-DatePicker-cell.is-placeholder {\n color: ButtonText;\n &:focus {\n color: HighlightText;\n }\n }\n}\n","/*\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 Alert from '@spectrum-icons/ui/AlertMedium';\nimport Checkmark from '@spectrum-icons/ui/CheckmarkMedium';\nimport {classNames, useValueEffect} from '@react-spectrum/utils';\nimport datepickerStyles from './styles.css';\nimport {FocusRing} from '@react-aria/focus';\nimport {mergeRefs, useEvent, useLayoutEffect, useResizeObserver} from '@react-aria/utils';\nimport React, {useCallback, useRef} from 'react';\nimport textfieldStyles from '@adobe/spectrum-css-temp/components/textfield/vars.css';\n\nfunction Input(props, ref) {\n let inputRef = useRef(null);\n let {\n isDisabled,\n isQuiet,\n inputClassName,\n validationState,\n children,\n fieldProps,\n className,\n style\n } = props;\n\n // Reserve padding for the error icon when the width of the input is unconstrained.\n // When constrained, don't reserve space because adding it only when invalid will\n // not cause a layout shift.\n let [reservePadding, setReservePadding] = useValueEffect(false);\n let onResize = useCallback(() => setReservePadding(function *(reservePadding) {\n if (reservePadding) {\n // Try to collapse padding if the content is clipped.\n if (inputRef.current.scrollWidth > inputRef.current.offsetWidth) {\n let width = inputRef.current.parentElement.offsetWidth;\n yield false;\n\n // If removing padding causes a layout shift, add it back.\n if (inputRef.current.parentElement.offsetWidth !== width) {\n yield true;\n }\n }\n } else {\n // Try to add padding if the content is not clipped.\n if (inputRef.current.offsetWidth >= inputRef.current.scrollWidth) {\n let width = inputRef.current.parentElement.offsetWidth;\n yield true;\n\n // If adding padding does not change the width (i.e. width is constrained), remove it again.\n if (inputRef.current.parentElement.offsetWidth === width) {\n yield false;\n }\n }\n }\n }), [inputRef, setReservePadding]);\n\n useLayoutEffect(onResize, [onResize]);\n useResizeObserver({\n ref: inputRef,\n onResize\n });\n\n // We also need to listen for resize events of the window so we can detect\n // when there is enough space for the padding to be re-added. Ideally we'd\n // use a resize observer on a parent element, but it's hard to know _what_\n // parent element.\n useEvent(useRef(typeof window !== 'undefined' ? window : null), 'resize', onResize);\n\n let isInvalid = validationState === 'invalid';\n let textfieldClass = classNames(\n textfieldStyles,\n 'spectrum-Textfield',\n {\n 'spectrum-Textfield--invalid': isInvalid,\n 'spectrum-Textfield--valid': validationState === 'valid',\n 'spectrum-Textfield--quiet': isQuiet\n },\n classNames(datepickerStyles, 'react-spectrum-Datepicker-field'),\n className\n );\n\n let inputClass = classNames(\n textfieldStyles,\n 'spectrum-Textfield-input',\n {\n 'is-disabled': isDisabled,\n 'is-invalid': isInvalid\n },\n reservePadding && classNames(datepickerStyles, 'react-spectrum-Datepicker-input'),\n inputClassName\n );\n\n let iconClass = classNames(\n textfieldStyles,\n 'spectrum-Textfield-validationIcon'\n );\n\n let validationIcon = null;\n if (validationState === 'invalid') {\n validationIcon = <Alert data-testid=\"invalid-icon\" UNSAFE_className={iconClass} />;\n } else if (validationState === 'valid') {\n validationIcon = <Checkmark data-testid=\"valid-icon\" UNSAFE_className={iconClass} />;\n }\n\n return (\n <div role=\"presentation\" {...fieldProps} className={textfieldClass} style={style}>\n <FocusRing focusClass={classNames(textfieldStyles, 'is-focused')} focusRingClass={classNames(textfieldStyles, 'focus-ring')} isTextInput within>\n <div role=\"presentation\" className={inputClass}>\n <div role=\"presentation\" className={classNames(datepickerStyles, 'react-spectrum-Datepicker-inputContents')} ref={mergeRefs(ref, inputRef)}>\n {children}\n </div>\n </div>\n </FocusRing>\n {validationIcon}\n </div>\n );\n}\n\nconst _Input = React.forwardRef(Input);\nexport {_Input as Input};\n","/*\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\n@import './index.css';\n@import './skin.css';\n","/*\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\n@import './index.css';\n@import './skin.css';\n","/*\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 {classNames} from '@react-spectrum/utils';\nimport {DatePickerSegment} from './DatePickerSegment';\nimport datepickerStyles from './styles.css';\nimport {Field} from '@react-spectrum/label';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\nimport React, {ReactElement} from 'react';\nimport {SpectrumTimeFieldProps, TimeValue} from '@react-types/datepicker';\nimport {useFocusManagerRef} from './utils';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\nimport {useTimeField} from '@react-aria/datepicker';\nimport {useTimeFieldState} from '@react-stately/datepicker';\n\nfunction TimeField<T extends TimeValue>(props: SpectrumTimeFieldProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n let {\n autoFocus,\n isDisabled,\n isReadOnly,\n isRequired,\n isQuiet\n } = props;\n\n let domRef = useFocusManagerRef(ref);\n let {locale} = useLocale();\n let state = useTimeFieldState({\n ...props,\n locale\n });\n\n let {labelProps, fieldProps, descriptionProps, errorMessageProps} = useTimeField(props, state, domRef);\n\n return (\n <Field\n {...props}\n ref={domRef}\n elementType=\"span\"\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n validationState={state.validationState}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-TimeField-fieldWrapper')}>\n <Input\n fieldProps={fieldProps}\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n autoFocus={autoFocus}\n validationState={state.validationState}\n className={classNames(datepickerStyles, 'react-spectrum-TimeField')}>\n {state.segments.map((segment, i) =>\n (<DatePickerSegment\n key={i}\n segment={segment}\n state={state}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isRequired={isRequired} />)\n )}\n </Input>\n </Field>\n );\n}\n\n/**\n * TimeFields allow users to enter and edit time values using a keyboard.\n * Each part of the time is displayed in an individually editable segment.\n */\nconst _TimeField = React.forwardRef(TimeField) as <T extends TimeValue>(props: SpectrumTimeFieldProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_TimeField as TimeField};\n","/*\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 */\nimport {createDOMRef} from '@react-spectrum/utils';\nimport {createFocusManager} from '@react-aria/focus';\nimport {FocusableRef} from '@react-types/shared';\nimport {SpectrumDatePickerBase} from '@react-types/datepicker';\nimport {useDateFormatter} from '@react-aria/i18n';\nimport {useDisplayNames} from '@react-aria/datepicker';\nimport {useImperativeHandle, useMemo, useRef, useState} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\nimport {useProvider} from '@react-spectrum/provider';\n\nexport function useFormatHelpText(props: Pick<SpectrumDatePickerBase<any>, 'description' | 'showFormatHelpText'>) {\n let formatter = useDateFormatter({dateStyle: 'short'});\n let displayNames = useDisplayNames();\n return useMemo(() => {\n if (props.description) {\n return props.description;\n }\n\n if (props.showFormatHelpText) {\n return formatter.formatToParts(new Date()).map(s => {\n if (s.type === 'literal') {\n return s.value;\n }\n\n return displayNames.of(s.type);\n }).join(' ');\n }\n\n return '';\n }, [props.description, props.showFormatHelpText, formatter, displayNames]);\n}\n\nexport function useVisibleMonths(maxVisibleMonths: number) {\n let {scale} = useProvider();\n let [visibleMonths, setVisibleMonths] = useState(getVisibleMonths(scale));\n useLayoutEffect(() => {\n let onResize = () => setVisibleMonths(getVisibleMonths(scale));\n onResize();\n\n window.addEventListener('resize', onResize);\n return () => {\n window.removeEventListener('resize', onResize);\n };\n }, [scale]);\n\n return Math.max(1, Math.min(visibleMonths, maxVisibleMonths, 3));\n}\n\nfunction getVisibleMonths(scale) {\n if (typeof window === 'undefined') {\n return 1;\n }\n let monthWidth = scale === 'large' ? 336 : 280;\n let gap = scale === 'large' ? 30 : 24;\n let popoverPadding = scale === 'large' ? 32 : 48;\n return Math.floor((window.innerWidth - popoverPadding * 2) / (monthWidth + gap));\n}\n\nexport function useFocusManagerRef(ref: FocusableRef<HTMLElement>) {\n let domRef = useRef();\n useImperativeHandle(ref, () => ({\n ...createDOMRef(domRef),\n focus() {\n createFocusManager(domRef).focusFirst({tabbable: true});\n }\n }));\n return domRef;\n}\n","/*\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';\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 {useHover} from '@react-aria/interactions';\nimport {useLocale} 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 let {\n isQuiet,\n isDisabled,\n isReadOnly,\n autoFocus,\n placeholderValue,\n maxVisibleMonths = 1\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} = useDateRangePicker(props, state, targetRef);\n let {isOpen, setOpen} = state;\n let {direction} = useLocale();\n let domRef = useFocusManagerRef(ref);\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': state.validationState === 'invalid',\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': state.validationState === 'invalid'\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 === 'millisecond' ? state.granularity : null;\n let showTimeField = !!timeGranularity;\n\n let visibleMonths = useVisibleMonths(maxVisibleMonths);\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={state.validationState}\n UNSAFE_className={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={state.validationState}\n className={classNames(styles, 'spectrum-InputGroup-field')}\n inputClassName={fieldClassName}>\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={state.validationState}\n isDisabled={isDisabled || isReadOnly}>\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 UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-calendar', {'is-invalid': state.validationState === 'invalid'})} />\n {showTimeField &&\n <Flex gap=\"size-100\" marginTop=\"size-100\" UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-timeFields')}>\n <TimeField\n label=\"Start time\"\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=\"End time\"\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","/*\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 {classNames} from '@react-spectrum/utils';\nimport {createCalendar} from '@internationalized/date';\nimport {DatePickerSegment} from './DatePickerSegment';\nimport datepickerStyles from './styles.css';\nimport {DateValue, SpectrumDateFieldProps} from '@react-types/datepicker';\nimport {Field} from '@react-spectrum/label';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\nimport React, {ReactElement} from 'react';\nimport {useDateField} from '@react-aria/datepicker';\nimport {useDateFieldState} from '@react-stately/datepicker';\nimport {useFocusManagerRef, useFormatHelpText} from './utils';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction DateField<T extends DateValue>(props: SpectrumDateFieldProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n let {\n autoFocus,\n isDisabled,\n isReadOnly,\n isRequired,\n isQuiet\n } = props;\n\n let domRef = useFocusManagerRef(ref);\n let {locale} = useLocale();\n let state = useDateFieldState({\n ...props,\n locale,\n createCalendar\n });\n\n let {labelProps, fieldProps, descriptionProps, errorMessageProps} = useDateField(props, state, domRef);\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 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={state.validationState}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-fieldWrapper')}>\n <Input\n fieldProps={fieldProps}\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n autoFocus={autoFocus}\n validationState={state.validationState}\n className={classNames(datepickerStyles, 'react-spectrum-DateField')}>\n {state.segments.map((segment, i) =>\n (<DatePickerSegment\n key={i}\n segment={segment}\n state={state}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isRequired={isRequired} />)\n )}\n </Input>\n </Field>\n );\n}\n\n/**\n * DateFields allow users to enter and edit date and time values using a keyboard.\n * Each part of a date value is displayed in an individually editable segment.\n */\nconst _DateField = React.forwardRef(DateField) as <T extends DateValue>(props: SpectrumDateFieldProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_DateField as DateField};\n"],"names":[],"version":3,"file":"main.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/datepicker/src/index.ts","packages/@react-spectrum/datepicker/src/DatePicker.tsx","packages/@react-spectrum/datepicker/src/DatePickerField.tsx","packages/@react-spectrum/datepicker/src/DatePickerSegment.tsx","packages/@react-spectrum/datepicker/src/styles.css","packages/@react-spectrum/datepicker/src/Input.tsx","packages/@adobe/spectrum-css-temp/components/textfield/vars.css","packages/@react-spectrum/datepicker/intl/*.js","packages/@react-spectrum/datepicker/intl/en-US.json","packages/@adobe/spectrum-css-temp/components/inputgroup/vars.css","packages/@react-spectrum/datepicker/src/TimeField.tsx","packages/@react-spectrum/datepicker/src/utils.ts","packages/@react-spectrum/datepicker/src/DateRangePicker.tsx","packages/@react-spectrum/datepicker/src/DateField.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\n/// <reference types=\"css-module-types\" />\n\nexport {DatePicker} from './DatePicker';\nexport {DateRangePicker} from './DateRangePicker';\nexport {TimeField} from './TimeField';\nexport {DateField} from './DateField';\nexport type {SpectrumDateFieldProps, SpectrumDatePickerProps, SpectrumDateRangePickerProps, SpectrumTimeFieldProps} from '@react-types/datepicker';\n","/*\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 {Calendar} from '@react-spectrum/calendar';\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, SpectrumDatePickerProps} from '@react-types/datepicker';\nimport {Dialog, DialogTrigger} from '@react-spectrum/dialog';\nimport {Field} from '@react-spectrum/label';\nimport {FieldButton} from '@react-spectrum/button';\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 React, {ReactElement, useRef} from 'react';\nimport '@adobe/spectrum-css-temp/components/textfield/vars.css'; // HACK: must be included BEFORE inputgroup\nimport styles from '@adobe/spectrum-css-temp/components/inputgroup/vars.css';\nimport {TimeField} from './TimeField';\nimport {useDatePicker} from '@react-aria/datepicker';\nimport {useDatePickerState} from '@react-stately/datepicker';\nimport {useFocusManagerRef, useFormatHelpText, useVisibleMonths} from './utils';\nimport {useFocusRing} from '@react-aria/focus';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction DatePicker<T extends DateValue>(props: SpectrumDatePickerProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n let {\n autoFocus,\n isQuiet,\n isDisabled,\n isReadOnly,\n placeholderValue,\n maxVisibleMonths = 1\n } = props;\n let {hoverProps, isHovered} = useHover({isDisabled});\n let targetRef = useRef<HTMLDivElement>();\n let state = useDatePickerState({\n ...props,\n shouldCloseOnSelect: () => !state.hasTime\n });\n let {groupProps, labelProps, fieldProps, descriptionProps, errorMessageProps, buttonProps, dialogProps, calendarProps} = useDatePicker(props, state, targetRef);\n let {isOpen, setOpen} = state;\n let {direction} = useLocale();\n let domRef = useFocusManagerRef(ref);\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\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': state.validationState === 'invalid',\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': state.validationState === 'invalid'\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\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={state.validationState}\n UNSAFE_className={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={state.validationState}\n className={classNames(styles, 'spectrum-InputGroup-field')}\n inputClassName={fieldClassName}>\n <DatePickerField\n {...fieldProps}\n data-testid=\"date-field\"\n isQuiet={isQuiet} />\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={state.validationState}\n isDisabled={isDisabled || isReadOnly}>\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 <Calendar\n {...calendarProps}\n visibleMonths={visibleMonths}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-calendar', {'is-invalid': state.validationState === 'invalid'})} />\n {showTimeField &&\n <div className={classNames(datepickerStyles, 'react-spectrum-Datepicker-timeFields')}>\n <TimeField\n label={stringFormatter.format('time')}\n value={state.timeValue}\n onChange={state.setTimeValue}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n marginTop=\"size-100\" />\n </div>\n }\n </div>\n </Content>\n </Dialog>\n </DialogTrigger>\n </div>\n </Field>\n );\n}\n\n/**\n * DatePickers combine a DateField and a Calendar popover to allow users to enter or select a date and time value.\n */\nconst _DatePicker = React.forwardRef(DatePicker) as <T extends DateValue>(props: SpectrumDatePickerProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_DatePicker as DatePicker};\n","/*\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 {classNames} from '@react-spectrum/utils';\nimport {createCalendar} from '@internationalized/date';\nimport {DatePickerSegment} from './DatePickerSegment';\nimport datepickerStyles from './styles.css';\nimport {DateValue, SpectrumDatePickerProps} from '@react-types/datepicker';\nimport React, {useRef} from 'react';\nimport {useDateField} from '@react-aria/datepicker';\nimport {useDateFieldState} from '@react-stately/datepicker';\nimport {useLocale} from '@react-aria/i18n';\n\ninterface DatePickerFieldProps<T extends DateValue> extends SpectrumDatePickerProps<T> {\n inputClassName?: string,\n hideValidationIcon?: boolean,\n maxGranularity?: SpectrumDatePickerProps<T>['granularity']\n}\n\nexport function DatePickerField<T extends DateValue>(props: DatePickerFieldProps<T>) {\n let {\n isDisabled,\n isReadOnly,\n isRequired,\n inputClassName\n } = props;\n let ref = useRef();\n let {locale} = useLocale();\n let state = useDateFieldState({\n ...props,\n locale,\n createCalendar\n });\n\n let {fieldProps} = useDateField(props, state, ref);\n\n return (\n <div {...fieldProps} data-testid={props['data-testid']} className={classNames(datepickerStyles, 'react-spectrum-Datepicker-segments', inputClassName)} ref={ref}>\n {state.segments.map((segment, i) =>\n (<DatePickerSegment\n key={i}\n segment={segment}\n state={state}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isRequired={isRequired} />)\n )}\n </div>\n );\n}\n","/*\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 {classNames} from '@react-spectrum/utils';\nimport {DateFieldState, DateSegment} from '@react-stately/datepicker';\nimport {DatePickerBase, DateValue} from '@react-types/datepicker';\nimport React, {useRef} from 'react';\nimport styles from './styles.css';\nimport {useDateSegment} from '@react-aria/datepicker';\n\ninterface DatePickerSegmentProps extends DatePickerBase<DateValue> {\n segment: DateSegment,\n state: DateFieldState\n}\n\ninterface LiteralSegmentProps {\n segment: DateSegment\n}\n\nexport function DatePickerSegment({segment, state, ...otherProps}: DatePickerSegmentProps) {\n switch (segment.type) {\n // A separator, e.g. punctuation\n case 'literal':\n return <LiteralSegment segment={segment} />;\n\n // Editable segment\n default:\n return <EditableSegment segment={segment} state={state} {...otherProps} />;\n }\n}\n\nfunction LiteralSegment({segment}: LiteralSegmentProps) {\n return (\n <span\n aria-hidden=\"true\"\n className={classNames(styles, 'react-spectrum-Datepicker-literal')}\n data-testid={segment.type === 'literal' ? undefined : segment.type}>\n {segment.text}\n </span>\n );\n}\n\nfunction EditableSegment({segment, state}: DatePickerSegmentProps) {\n let ref = useRef();\n let {segmentProps} = useDateSegment(segment, state, ref);\n return (\n <div\n {...segmentProps}\n ref={ref}\n className={classNames(styles, 'react-spectrum-DatePicker-cell', {\n 'is-placeholder': segment.isPlaceholder,\n 'is-read-only': !segment.isEditable\n })}\n style={{\n ...segmentProps.style,\n minWidth: segment.maxValue != null ? String(segment.maxValue).length + 'ch' : null\n }}\n data-testid={segment.type}>\n <span aria-hidden=\"true\" className={classNames(styles, 'react-spectrum-DatePicker-placeholder')}>{segment.placeholder}</span>\n {segment.isPlaceholder ? '' : segment.text}\n </div>\n );\n}\n","/*\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\n.react-spectrum-Datepicker-fieldWrapper.react-spectrum-Datepicker-fieldWrapper.react-spectrum-Datepicker-fieldWrapper {\n width: auto;\n min-width: var(--spectrum-global-dimension-size-2000);\n max-width: 100%;\n }\n\n.react-spectrum-Datepicker-startField {\n width: auto;\n padding-inline-end: var(--spectrum-global-dimension-size-100);\n}\n\n.react-spectrum-Datepicker-endField {\n width: auto;\n flex: 1;\n padding-inline-start: var(--spectrum-global-dimension-size-100);\n}\n\n.react-spectrum-Datepicker-field ~ .react-spectrum-Datepicker-endField > .react-spectrum-Datepicker-input {\n border-inline-start-width: 0;\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n}\n\n.react-spectrum-Datepicker-field.react-spectrum-Datepicker-field {\n width: auto;\n}\n\n/* specificity war with .spectrum-Field--positionSide etc. */\n.react-spectrum-DateField.react-spectrum-DateField.react-spectrum-DateField.react-spectrum-DateField {\n min-width: var(--spectrum-global-dimension-size-2000)\n}\n\n.react-spectrum-TimeField.react-spectrum-TimeField.react-spectrum-TimeField.react-spectrum-TimeField {\n min-width: var(--spectrum-global-dimension-size-1250);\n}\n\n.react-spectrum-TimeField-fieldWrapper.react-spectrum-TimeField-fieldWrapper.react-spectrum-TimeField-fieldWrapper {\n width: auto;\n min-width: var(--spectrum-global-dimension-size-1250);\n}\n\n.react-spectrum-Datepicker-input.react-spectrum-Datepicker-input {\n /* always reserve space for the validation icon */\n padding-inline-end: calc(var(--spectrum-textfield-padding-x) + var(--spectrum-icon-alert-medium-width) + var(--spectrum-textfield-icon-margin-left));\n cursor: text;\n}\n\n.react-spectrum-Datepicker-inputContents {\n display: flex;\n align-items: center;\n height: 100%;\n overflow-x: auto;\n scrollbar-width: none; /* Firefox */\n -ms-overflow-style: none; /* Internet Explorer 10+ */\n\n &::-webkit-scrollbar { /* WebKit */\n width: 0;\n height: 0;\n display: none;\n }\n}\n\n.react-spectrum-Datepicker-rangeDash {\n &:before {\n content: '–';\n }\n}\n\n.react-spectrum-Datepicker-segments {\n display: flex;\n align-items: center;\n}\n\n.react-spectrum-Datepicker-literal {\n white-space: pre;\n user-select: none;\n color: var(--spectrum-textfield-text-color);\n}\n\n.react-spectrum-DatePicker-cell {\n border: none;\n background: none;\n padding: 0 2px;\n border-radius: 2px;\n font-variant-numeric: tabular-nums;\n text-align: end;\n box-sizing: content-box;\n white-space: nowrap;\n color: var(--spectrum-textfield-text-color);\n\n &::selection {\n /* hide the selection because there is no way to fully prevent it in Firefox */\n /* https://bugzilla.mozilla.org/show_bug.cgi?id=1742153 */\n background: transparent;\n }\n}\n\n.react-spectrum-DatePicker-placeholder {\n display: block;\n width: 100%;\n text-align: center;\n font-style: italic;\n visibility: hidden;\n height: 0;\n pointer-events: none;\n}\n\n.react-spectrum-DatePicker-cell.is-placeholder {\n color: var(--react-spectrum-datepicker-placeholder-color);\n\n .react-spectrum-DatePicker-placeholder {\n visibility: visible;\n height: auto;\n }\n}\n\n.react-spectrum-DatePicker-cell.is-placeholder ~ .react-spectrum-Datepicker-literal {\n color: var(--spectrum-textfield-placeholder-text-color, var(--spectrum-global-color-gray-600));\n}\n\n.react-spectrum-DatePicker-cell.is-read-only {\n color: var(--spectrum-global-color-gray-700);\n}\n\n.react-spectrum-DatePicker-cell:focus {\n background-color: var(--spectrum-global-color-static-blue);\n color: white;\n caret-color: transparent;\n outline: none;\n}\n\n.react-spectrum-Datepicker-dialog.react-spectrum-Datepicker-dialog {\n width: auto;\n}\n\n.react-spectrum-Datepicker-dialogContent {\n display: flex;\n flex-direction: column;\n\n .react-spectrum-Datepicker-calendar.is-invalid {\n /* Only apply display: contents when the calendar is invalid, which allows us to move the\n * error message below the time fields. Otherwise, don't do this because it breaks dragging\n * the selected range on Android. */\n display: contents;\n }\n\n /* Push the help text within the calendar down to the bottom of the dialog, below the time fields. */\n :global(.spectrum-Calendar-helpText) {\n order: 10;\n margin: var(--spectrum-global-dimension-size-200) var(--spectrum-calendar-day-padding) 0 var(--spectrum-calendar-day-padding);\n }\n}\n\n/* when displayed in a tray, reduce the padding of the dialog */\n@media (max-width: 700px) {\n .react-spectrum-Datepicker-dialog {\n --spectrum-dialog-padding-x: 8px;\n\n .react-spectrum-Datepicker-dialogContent {\n margin: 0 auto;\n max-width: calc((var(--spectrum-calendar-day-width) * 7) + (var(--spectrum-calendar-day-padding) * 12));\n }\n }\n}\n\n.react-spectrum-Datepicker-timeFields {\n width: 100%;\n min-width: calc(var(--spectrum-calendar-day-width) * 7);\n max-width: calc((var(--spectrum-calendar-day-width) * 7) + (var(--spectrum-calendar-day-padding) * 12));\n padding: 0 var(--spectrum-calendar-day-padding);\n box-sizing: border-box;\n}\n\n@media (forced-colors:active) {\n .react-spectrum-DatePicker-cell:focus {\n forced-color-adjust: none;\n background-color: Highlight;\n color: HighlightText;\n }\n .react-spectrum-DatePicker-cell.is-read-only {\n color: ButtonText;\n &:focus {\n color: HighlightText;\n }\n }\n .react-spectrum-DatePicker-cell.is-placeholder {\n color: ButtonText;\n &:focus {\n color: HighlightText;\n }\n }\n}\n","/*\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 Alert from '@spectrum-icons/ui/AlertMedium';\nimport Checkmark from '@spectrum-icons/ui/CheckmarkMedium';\nimport {classNames, useValueEffect} from '@react-spectrum/utils';\nimport datepickerStyles from './styles.css';\nimport {FocusRing} from '@react-aria/focus';\nimport {mergeRefs, useEvent, useLayoutEffect, useResizeObserver} from '@react-aria/utils';\nimport React, {useCallback, useRef} from 'react';\nimport textfieldStyles from '@adobe/spectrum-css-temp/components/textfield/vars.css';\n\nfunction Input(props, ref) {\n let inputRef = useRef(null);\n let {\n isDisabled,\n isQuiet,\n inputClassName,\n validationState,\n children,\n fieldProps,\n className,\n style\n } = props;\n\n // Reserve padding for the error icon when the width of the input is unconstrained.\n // When constrained, don't reserve space because adding it only when invalid will\n // not cause a layout shift.\n let [reservePadding, setReservePadding] = useValueEffect(false);\n let onResize = useCallback(() => setReservePadding(function *(reservePadding) {\n if (inputRef.current) {\n if (reservePadding) {\n // Try to collapse padding if the content is clipped.\n if (inputRef.current.scrollWidth > inputRef.current.offsetWidth) {\n let width = inputRef.current.parentElement.offsetWidth;\n yield false;\n\n // If removing padding causes a layout shift, add it back.\n if (inputRef.current.parentElement.offsetWidth !== width) {\n yield true;\n }\n }\n } else {\n // Try to add padding if the content is not clipped.\n if (inputRef.current.offsetWidth >= inputRef.current.scrollWidth) {\n let width = inputRef.current.parentElement.offsetWidth;\n yield true;\n\n // If adding padding does not change the width (i.e. width is constrained), remove it again.\n if (inputRef.current.parentElement.offsetWidth === width) {\n yield false;\n }\n }\n }\n }\n\n }), [inputRef, setReservePadding]);\n\n useLayoutEffect(onResize, [onResize]);\n useResizeObserver({\n ref: inputRef,\n onResize\n });\n\n // We also need to listen for resize events of the window so we can detect\n // when there is enough space for the padding to be re-added. Ideally we'd\n // use a resize observer on a parent element, but it's hard to know _what_\n // parent element.\n useEvent(useRef(typeof window !== 'undefined' ? window : null), 'resize', onResize);\n\n let isInvalid = validationState === 'invalid';\n let textfieldClass = classNames(\n textfieldStyles,\n 'spectrum-Textfield',\n {\n 'spectrum-Textfield--invalid': isInvalid,\n 'spectrum-Textfield--valid': validationState === 'valid',\n 'spectrum-Textfield--quiet': isQuiet\n },\n classNames(datepickerStyles, 'react-spectrum-Datepicker-field'),\n className\n );\n\n let inputClass = classNames(\n textfieldStyles,\n 'spectrum-Textfield-input',\n {\n 'is-disabled': isDisabled,\n 'is-invalid': isInvalid\n },\n reservePadding && classNames(datepickerStyles, 'react-spectrum-Datepicker-input'),\n inputClassName\n );\n\n let iconClass = classNames(\n textfieldStyles,\n 'spectrum-Textfield-validationIcon'\n );\n\n let validationIcon = null;\n if (validationState === 'invalid') {\n validationIcon = <Alert data-testid=\"invalid-icon\" UNSAFE_className={iconClass} />;\n } else if (validationState === 'valid') {\n validationIcon = <Checkmark data-testid=\"valid-icon\" UNSAFE_className={iconClass} />;\n }\n\n return (\n <div role=\"presentation\" {...fieldProps} className={textfieldClass} style={style}>\n <FocusRing focusClass={classNames(textfieldStyles, 'is-focused')} focusRingClass={classNames(textfieldStyles, 'focus-ring')} isTextInput within>\n <div role=\"presentation\" className={inputClass}>\n <div role=\"presentation\" className={classNames(datepickerStyles, 'react-spectrum-Datepicker-inputContents')} ref={mergeRefs(ref, inputRef)}>\n {children}\n </div>\n </div>\n </FocusRing>\n {validationIcon}\n </div>\n );\n}\n\nconst _Input = React.forwardRef(Input);\nexport {_Input as Input};\n","/*\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\n@import './index.css';\n@import './skin.css';\n","const _temp0 = require(\"./en-US.json\");\nmodule.exports = {\n \"en-US\": _temp0\n}","{\n \"time\": \"Time\",\n \"startTime\": \"Start time\",\n \"endTime\": \"End time\"\n}\n","/*\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\n@import './index.css';\n@import './skin.css';\n","/*\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 {classNames} from '@react-spectrum/utils';\nimport {DatePickerSegment} from './DatePickerSegment';\nimport datepickerStyles from './styles.css';\nimport {Field} from '@react-spectrum/label';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\nimport React, {ReactElement} from 'react';\nimport {SpectrumTimeFieldProps, TimeValue} from '@react-types/datepicker';\nimport {useFocusManagerRef} from './utils';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\nimport {useTimeField} from '@react-aria/datepicker';\nimport {useTimeFieldState} from '@react-stately/datepicker';\n\nfunction TimeField<T extends TimeValue>(props: SpectrumTimeFieldProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n let {\n autoFocus,\n isDisabled,\n isReadOnly,\n isRequired,\n isQuiet\n } = props;\n\n let domRef = useFocusManagerRef(ref);\n let {locale} = useLocale();\n let state = useTimeFieldState({\n ...props,\n locale\n });\n\n let {labelProps, fieldProps, descriptionProps, errorMessageProps} = useTimeField(props, state, domRef);\n\n return (\n <Field\n {...props}\n ref={domRef}\n elementType=\"span\"\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n validationState={state.validationState}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-TimeField-fieldWrapper')}>\n <Input\n fieldProps={fieldProps}\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n autoFocus={autoFocus}\n validationState={state.validationState}\n className={classNames(datepickerStyles, 'react-spectrum-TimeField')}>\n {state.segments.map((segment, i) =>\n (<DatePickerSegment\n key={i}\n segment={segment}\n state={state}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isRequired={isRequired} />)\n )}\n </Input>\n </Field>\n );\n}\n\n/**\n * TimeFields allow users to enter and edit time values using a keyboard.\n * Each part of the time is displayed in an individually editable segment.\n */\nconst _TimeField = React.forwardRef(TimeField) as <T extends TimeValue>(props: SpectrumTimeFieldProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_TimeField as TimeField};\n","/*\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 */\nimport {createDOMRef} from '@react-spectrum/utils';\nimport {createFocusManager} from '@react-aria/focus';\nimport {FocusableRef} from '@react-types/shared';\nimport {SpectrumDatePickerBase} from '@react-types/datepicker';\nimport {useDateFormatter} from '@react-aria/i18n';\nimport {useDisplayNames} from '@react-aria/datepicker';\nimport {useImperativeHandle, useMemo, useRef, useState} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\nimport {useProvider} from '@react-spectrum/provider';\n\nexport function useFormatHelpText(props: Pick<SpectrumDatePickerBase<any>, 'description' | 'showFormatHelpText'>) {\n let formatter = useDateFormatter({dateStyle: 'short'});\n let displayNames = useDisplayNames();\n return useMemo(() => {\n if (props.description) {\n return props.description;\n }\n\n if (props.showFormatHelpText) {\n return formatter.formatToParts(new Date()).map(s => {\n if (s.type === 'literal') {\n return s.value;\n }\n\n return displayNames.of(s.type);\n }).join(' ');\n }\n\n return '';\n }, [props.description, props.showFormatHelpText, formatter, displayNames]);\n}\n\nexport function useVisibleMonths(maxVisibleMonths: number) {\n let {scale} = useProvider();\n let [visibleMonths, setVisibleMonths] = useState(getVisibleMonths(scale));\n useLayoutEffect(() => {\n let onResize = () => setVisibleMonths(getVisibleMonths(scale));\n onResize();\n\n window.addEventListener('resize', onResize);\n return () => {\n window.removeEventListener('resize', onResize);\n };\n }, [scale]);\n\n return Math.max(1, Math.min(visibleMonths, maxVisibleMonths, 3));\n}\n\nfunction getVisibleMonths(scale) {\n if (typeof window === 'undefined') {\n return 1;\n }\n let monthWidth = scale === 'large' ? 336 : 280;\n let gap = scale === 'large' ? 30 : 24;\n let popoverPadding = scale === 'large' ? 32 : 48;\n return Math.floor((window.innerWidth - popoverPadding * 2) / (monthWidth + gap));\n}\n\nexport function useFocusManagerRef(ref: FocusableRef<HTMLElement>) {\n let domRef = useRef();\n useImperativeHandle(ref, () => ({\n ...createDOMRef(domRef),\n focus() {\n createFocusManager(domRef).focusFirst({tabbable: true});\n }\n }));\n return domRef;\n}\n","/*\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 {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 let {\n isQuiet,\n isDisabled,\n isReadOnly,\n autoFocus,\n placeholderValue,\n maxVisibleMonths = 1\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} = useDateRangePicker(props, state, targetRef);\n let {isOpen, setOpen} = state;\n let {direction} = useLocale();\n let domRef = useFocusManagerRef(ref);\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\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': state.validationState === 'invalid',\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': state.validationState === 'invalid'\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\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={state.validationState}\n UNSAFE_className={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={state.validationState}\n className={classNames(styles, 'spectrum-InputGroup-field')}\n inputClassName={fieldClassName}>\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={state.validationState}\n isDisabled={isDisabled || isReadOnly}>\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 UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-calendar', {'is-invalid': state.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","/*\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 {classNames} from '@react-spectrum/utils';\nimport {createCalendar} from '@internationalized/date';\nimport {DatePickerSegment} from './DatePickerSegment';\nimport datepickerStyles from './styles.css';\nimport {DateValue, SpectrumDateFieldProps} from '@react-types/datepicker';\nimport {Field} from '@react-spectrum/label';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\nimport React, {ReactElement} from 'react';\nimport {useDateField} from '@react-aria/datepicker';\nimport {useDateFieldState} from '@react-stately/datepicker';\nimport {useFocusManagerRef, useFormatHelpText} from './utils';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction DateField<T extends DateValue>(props: SpectrumDateFieldProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n let {\n autoFocus,\n isDisabled,\n isReadOnly,\n isRequired,\n isQuiet\n } = props;\n\n let domRef = useFocusManagerRef(ref);\n let {locale} = useLocale();\n let state = useDateFieldState({\n ...props,\n locale,\n createCalendar\n });\n\n let {labelProps, fieldProps, descriptionProps, errorMessageProps} = useDateField(props, state, domRef);\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 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={state.validationState}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-fieldWrapper')}>\n <Input\n fieldProps={fieldProps}\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n autoFocus={autoFocus}\n validationState={state.validationState}\n className={classNames(datepickerStyles, 'react-spectrum-DateField')}>\n {state.segments.map((segment, i) =>\n (<DatePickerSegment\n key={i}\n segment={segment}\n state={state}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isRequired={isRequired} />)\n )}\n </Input>\n </Field>\n );\n}\n\n/**\n * DateFields allow users to enter and edit date and time values using a keyboard.\n * Each part of a date value is displayed in an individually editable segment.\n */\nconst _DateField = React.forwardRef(DateField) as <T extends DateValue>(props: SpectrumDateFieldProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_DateField as DateField};\n"],"names":[],"version":3,"file":"main.js.map"}
|
package/dist/module.js
CHANGED
|
@@ -12,7 +12,7 @@ import {useDatePicker as $aayOp$useDatePicker, useDateField as $aayOp$useDateFie
|
|
|
12
12
|
import {useDatePickerState as $aayOp$useDatePickerState, useDateFieldState as $aayOp$useDateFieldState, useTimeFieldState as $aayOp$useTimeFieldState, useDateRangePickerState as $aayOp$useDateRangePickerState} from "@react-stately/datepicker";
|
|
13
13
|
import {useFocusRing as $aayOp$useFocusRing, FocusRing as $aayOp$FocusRing, createFocusManager as $aayOp$createFocusManager} from "@react-aria/focus";
|
|
14
14
|
import {useHover as $aayOp$useHover} from "@react-aria/interactions";
|
|
15
|
-
import {useLocale as $aayOp$useLocale, useDateFormatter as $aayOp$useDateFormatter} from "@react-aria/i18n";
|
|
15
|
+
import {useLocale as $aayOp$useLocale, useLocalizedStringFormatter as $aayOp$useLocalizedStringFormatter, useDateFormatter as $aayOp$useDateFormatter} from "@react-aria/i18n";
|
|
16
16
|
import {useProviderProps as $aayOp$useProviderProps, useProvider as $aayOp$useProvider} from "@react-spectrum/provider";
|
|
17
17
|
import {createCalendar as $aayOp$createCalendar} from "@internationalized/date";
|
|
18
18
|
import $aayOp$spectrumiconsuiAlertMedium from "@spectrum-icons/ui/AlertMedium";
|
|
@@ -252,20 +252,22 @@ function $79348162c55d687f$var$Input(props, ref) {
|
|
|
252
252
|
// not cause a layout shift.
|
|
253
253
|
let [reservePadding1, setReservePadding] = $aayOp$useValueEffect(false);
|
|
254
254
|
let onResize = $aayOp$useCallback(()=>setReservePadding(function*(reservePadding) {
|
|
255
|
-
if (
|
|
256
|
-
|
|
257
|
-
|
|
255
|
+
if (inputRef.current) {
|
|
256
|
+
if (reservePadding) // Try to collapse padding if the content is clipped.
|
|
257
|
+
{
|
|
258
|
+
if (inputRef.current.scrollWidth > inputRef.current.offsetWidth) {
|
|
259
|
+
let width = inputRef.current.parentElement.offsetWidth;
|
|
260
|
+
yield false;
|
|
261
|
+
// If removing padding causes a layout shift, add it back.
|
|
262
|
+
if (inputRef.current.parentElement.offsetWidth !== width) yield true;
|
|
263
|
+
}
|
|
264
|
+
} else // Try to add padding if the content is not clipped.
|
|
265
|
+
if (inputRef.current.offsetWidth >= inputRef.current.scrollWidth) {
|
|
258
266
|
let width = inputRef.current.parentElement.offsetWidth;
|
|
259
|
-
yield
|
|
260
|
-
// If
|
|
261
|
-
if (inputRef.current.parentElement.offsetWidth
|
|
267
|
+
yield true;
|
|
268
|
+
// If adding padding does not change the width (i.e. width is constrained), remove it again.
|
|
269
|
+
if (inputRef.current.parentElement.offsetWidth === width) yield false;
|
|
262
270
|
}
|
|
263
|
-
} else // Try to add padding if the content is not clipped.
|
|
264
|
-
if (inputRef.current.offsetWidth >= inputRef.current.scrollWidth) {
|
|
265
|
-
let width = inputRef.current.parentElement.offsetWidth;
|
|
266
|
-
yield true;
|
|
267
|
-
// If adding padding does not change the width (i.e. width is constrained), remove it again.
|
|
268
|
-
if (inputRef.current.parentElement.offsetWidth === width) yield false;
|
|
269
271
|
}
|
|
270
272
|
})
|
|
271
273
|
, [
|
|
@@ -326,6 +328,20 @@ function $79348162c55d687f$var$Input(props, ref) {
|
|
|
326
328
|
const $79348162c55d687f$export$f5b8910cec6cf069 = /*#__PURE__*/ $aayOp$react.forwardRef($79348162c55d687f$var$Input);
|
|
327
329
|
|
|
328
330
|
|
|
331
|
+
var $ac1a7d8d9ccff97f$exports = {};
|
|
332
|
+
var $1729b68fc5d3f126$exports = {};
|
|
333
|
+
$1729b68fc5d3f126$exports = {
|
|
334
|
+
"time": `Time`,
|
|
335
|
+
"startTime": `Start time`,
|
|
336
|
+
"endTime": `End time`
|
|
337
|
+
};
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
$ac1a7d8d9ccff97f$exports = {
|
|
341
|
+
"en-US": $1729b68fc5d3f126$exports
|
|
342
|
+
};
|
|
343
|
+
|
|
344
|
+
|
|
329
345
|
|
|
330
346
|
|
|
331
347
|
|
|
@@ -537,6 +553,7 @@ function $beaeefa091999363$var$DatePicker(props, ref) {
|
|
|
537
553
|
let { isOpen: isOpen , setOpen: setOpen } = state;
|
|
538
554
|
let { direction: direction } = $aayOp$useLocale();
|
|
539
555
|
let domRef = $04e96200274b03de$export$71a23a36270e4bf0(ref);
|
|
556
|
+
let stringFormatter = $aayOp$useLocalizedStringFormatter((/*@__PURE__*/$parcel$interopDefault($ac1a7d8d9ccff97f$exports)));
|
|
540
557
|
let { isFocused: isFocused , isFocusVisible: isFocusVisible , focusProps: focusProps } = $aayOp$useFocusRing({
|
|
541
558
|
within: true,
|
|
542
559
|
isTextInput: true,
|
|
@@ -567,7 +584,7 @@ function $beaeefa091999363$var$DatePicker(props, ref) {
|
|
|
567
584
|
let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : null;
|
|
568
585
|
let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : null;
|
|
569
586
|
let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : null;
|
|
570
|
-
let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second'
|
|
587
|
+
let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second' ? state.granularity : null;
|
|
571
588
|
let showTimeField = !!timeGranularity;
|
|
572
589
|
let visibleMonths = $04e96200274b03de$export$12ce2869ce471b1f(maxVisibleMonths);
|
|
573
590
|
return(/*#__PURE__*/ $aayOp$react.createElement($aayOp$Field, {
|
|
@@ -623,7 +640,7 @@ function $beaeefa091999363$var$DatePicker(props, ref) {
|
|
|
623
640
|
}), showTimeField && /*#__PURE__*/ $aayOp$react.createElement("div", {
|
|
624
641
|
className: $aayOp$classNames((/*@__PURE__*/$parcel$interopDefault($465eb3a688ef3440$exports)), 'react-spectrum-Datepicker-timeFields')
|
|
625
642
|
}, /*#__PURE__*/ $aayOp$react.createElement($f0a04554754386b6$export$5eaee2322dd727eb, {
|
|
626
|
-
label:
|
|
643
|
+
label: stringFormatter.format('time'),
|
|
627
644
|
value: state.timeValue,
|
|
628
645
|
onChange: state.setTimeValue,
|
|
629
646
|
placeholderValue: timePlaceholder,
|
|
@@ -660,6 +677,7 @@ function $beaeefa091999363$var$DatePicker(props, ref) {
|
|
|
660
677
|
|
|
661
678
|
|
|
662
679
|
|
|
680
|
+
|
|
663
681
|
|
|
664
682
|
|
|
665
683
|
function $cb301300011a98f7$var$DateRangePicker(props, ref) {
|
|
@@ -678,6 +696,7 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
|
|
|
678
696
|
let { isOpen: isOpen , setOpen: setOpen } = state;
|
|
679
697
|
let { direction: direction } = $aayOp$useLocale();
|
|
680
698
|
let domRef = $04e96200274b03de$export$71a23a36270e4bf0(ref);
|
|
699
|
+
let stringFormatter = $aayOp$useLocalizedStringFormatter((/*@__PURE__*/$parcel$interopDefault($ac1a7d8d9ccff97f$exports)));
|
|
681
700
|
let { isFocused: isFocused , isFocusVisible: isFocusVisible , focusProps: focusProps } = $aayOp$useFocusRing({
|
|
682
701
|
within: true,
|
|
683
702
|
isTextInput: true,
|
|
@@ -708,7 +727,7 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
|
|
|
708
727
|
let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : null;
|
|
709
728
|
let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : null;
|
|
710
729
|
let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : null;
|
|
711
|
-
let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second'
|
|
730
|
+
let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second' ? state.granularity : null;
|
|
712
731
|
let showTimeField = !!timeGranularity;
|
|
713
732
|
let visibleMonths = $04e96200274b03de$export$12ce2869ce471b1f(maxVisibleMonths);
|
|
714
733
|
return(/*#__PURE__*/ $aayOp$react.createElement($aayOp$Field, {
|
|
@@ -772,7 +791,7 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
|
|
|
772
791
|
marginTop: "size-100",
|
|
773
792
|
UNSAFE_className: $aayOp$classNames((/*@__PURE__*/$parcel$interopDefault($465eb3a688ef3440$exports)), 'react-spectrum-Datepicker-timeFields')
|
|
774
793
|
}, /*#__PURE__*/ $aayOp$react.createElement($f0a04554754386b6$export$5eaee2322dd727eb, {
|
|
775
|
-
label:
|
|
794
|
+
label: stringFormatter.format('startTime'),
|
|
776
795
|
value: ((ref1 = state.timeRange) === null || ref1 === void 0 ? void 0 : ref1.start) || null,
|
|
777
796
|
onChange: (v)=>state.setTime('start', v)
|
|
778
797
|
,
|
|
@@ -784,7 +803,7 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
|
|
|
784
803
|
hideTimeZone: props.hideTimeZone,
|
|
785
804
|
flex: true
|
|
786
805
|
}), /*#__PURE__*/ $aayOp$react.createElement($f0a04554754386b6$export$5eaee2322dd727eb, {
|
|
787
|
-
label:
|
|
806
|
+
label: stringFormatter.format('endTime'),
|
|
788
807
|
value: ((ref2 = state.timeRange) === null || ref2 === void 0 ? void 0 : ref2.end) || null,
|
|
789
808
|
onChange: (v)=>state.setTime('end', v)
|
|
790
809
|
,
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/@react-spectrum/datepicker/src/index.ts","packages/@react-spectrum/datepicker/src/DatePicker.tsx","packages/@react-spectrum/datepicker/src/DatePickerField.tsx","packages/@react-spectrum/datepicker/src/DatePickerSegment.tsx","packages/@react-spectrum/datepicker/src/styles.css","packages/@react-spectrum/datepicker/src/Input.tsx","packages/@adobe/spectrum-css-temp/components/textfield/vars.css","packages/@adobe/spectrum-css-temp/components/inputgroup/vars.css","packages/@react-spectrum/datepicker/src/TimeField.tsx","packages/@react-spectrum/datepicker/src/utils.ts","packages/@react-spectrum/datepicker/src/DateRangePicker.tsx","packages/@react-spectrum/datepicker/src/DateField.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\n/// <reference types=\"css-module-types\" />\n\nexport {DatePicker} from './DatePicker';\nexport {DateRangePicker} from './DateRangePicker';\nexport {TimeField} from './TimeField';\nexport {DateField} from './DateField';\nexport type {SpectrumDateFieldProps, SpectrumDatePickerProps, SpectrumDateRangePickerProps, SpectrumTimeFieldProps} from '@react-types/datepicker';\n","/*\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 {Calendar} from '@react-spectrum/calendar';\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, SpectrumDatePickerProps} from '@react-types/datepicker';\nimport {Dialog, DialogTrigger} from '@react-spectrum/dialog';\nimport {Field} from '@react-spectrum/label';\nimport {FieldButton} from '@react-spectrum/button';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\nimport {mergeProps} from '@react-aria/utils';\nimport React, {ReactElement, useRef} from 'react';\nimport '@adobe/spectrum-css-temp/components/textfield/vars.css'; // HACK: must be included BEFORE inputgroup\nimport styles from '@adobe/spectrum-css-temp/components/inputgroup/vars.css';\nimport {TimeField} from './TimeField';\nimport {useDatePicker} from '@react-aria/datepicker';\nimport {useDatePickerState} from '@react-stately/datepicker';\nimport {useFocusManagerRef, useFormatHelpText, useVisibleMonths} from './utils';\nimport {useFocusRing} from '@react-aria/focus';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction DatePicker<T extends DateValue>(props: SpectrumDatePickerProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n let {\n autoFocus,\n isQuiet,\n isDisabled,\n isReadOnly,\n placeholderValue,\n maxVisibleMonths = 1\n } = props;\n let {hoverProps, isHovered} = useHover({isDisabled});\n let targetRef = useRef<HTMLDivElement>();\n let state = useDatePickerState({\n ...props,\n shouldCloseOnSelect: () => !state.hasTime\n });\n let {groupProps, labelProps, fieldProps, descriptionProps, errorMessageProps, buttonProps, dialogProps, calendarProps} = useDatePicker(props, state, targetRef);\n let {isOpen, setOpen} = state;\n let {direction} = useLocale();\n let domRef = useFocusManagerRef(ref);\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': state.validationState === 'invalid',\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': state.validationState === 'invalid'\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 === 'millisecond' ? state.granularity : null;\n let showTimeField = !!timeGranularity;\n\n let visibleMonths = useVisibleMonths(maxVisibleMonths);\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={state.validationState}\n UNSAFE_className={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={state.validationState}\n className={classNames(styles, 'spectrum-InputGroup-field')}\n inputClassName={fieldClassName}>\n <DatePickerField\n {...fieldProps}\n data-testid=\"date-field\"\n isQuiet={isQuiet} />\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={state.validationState}\n isDisabled={isDisabled || isReadOnly}>\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 <Calendar\n {...calendarProps}\n visibleMonths={visibleMonths}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-calendar', {'is-invalid': state.validationState === 'invalid'})} />\n {showTimeField &&\n <div className={classNames(datepickerStyles, 'react-spectrum-Datepicker-timeFields')}>\n <TimeField\n label=\"Time\"\n value={state.timeValue}\n onChange={state.setTimeValue}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n marginTop=\"size-100\" />\n </div>\n }\n </div>\n </Content>\n </Dialog>\n </DialogTrigger>\n </div>\n </Field>\n );\n}\n\n/**\n * DatePickers combine a DateField and a Calendar popover to allow users to enter or select a date and time value.\n */\nconst _DatePicker = React.forwardRef(DatePicker) as <T extends DateValue>(props: SpectrumDatePickerProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_DatePicker as DatePicker};\n","/*\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 {classNames} from '@react-spectrum/utils';\nimport {createCalendar} from '@internationalized/date';\nimport {DatePickerSegment} from './DatePickerSegment';\nimport datepickerStyles from './styles.css';\nimport {DateValue, SpectrumDatePickerProps} from '@react-types/datepicker';\nimport React, {useRef} from 'react';\nimport {useDateField} from '@react-aria/datepicker';\nimport {useDateFieldState} from '@react-stately/datepicker';\nimport {useLocale} from '@react-aria/i18n';\n\ninterface DatePickerFieldProps<T extends DateValue> extends SpectrumDatePickerProps<T> {\n inputClassName?: string,\n hideValidationIcon?: boolean,\n maxGranularity?: SpectrumDatePickerProps<T>['granularity']\n}\n\nexport function DatePickerField<T extends DateValue>(props: DatePickerFieldProps<T>) {\n let {\n isDisabled,\n isReadOnly,\n isRequired,\n inputClassName\n } = props;\n let ref = useRef();\n let {locale} = useLocale();\n let state = useDateFieldState({\n ...props,\n locale,\n createCalendar\n });\n\n let {fieldProps} = useDateField(props, state, ref);\n\n return (\n <div {...fieldProps} data-testid={props['data-testid']} className={classNames(datepickerStyles, 'react-spectrum-Datepicker-segments', inputClassName)} ref={ref}>\n {state.segments.map((segment, i) =>\n (<DatePickerSegment\n key={i}\n segment={segment}\n state={state}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isRequired={isRequired} />)\n )}\n </div>\n );\n}\n","/*\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 {classNames} from '@react-spectrum/utils';\nimport {DateFieldState, DateSegment} from '@react-stately/datepicker';\nimport {DatePickerBase, DateValue} from '@react-types/datepicker';\nimport React, {useRef} from 'react';\nimport styles from './styles.css';\nimport {useDateSegment} from '@react-aria/datepicker';\n\ninterface DatePickerSegmentProps extends DatePickerBase<DateValue> {\n segment: DateSegment,\n state: DateFieldState\n}\n\ninterface LiteralSegmentProps {\n segment: DateSegment\n}\n\nexport function DatePickerSegment({segment, state, ...otherProps}: DatePickerSegmentProps) {\n switch (segment.type) {\n // A separator, e.g. punctuation\n case 'literal':\n return <LiteralSegment segment={segment} />;\n\n // Editable segment\n default:\n return <EditableSegment segment={segment} state={state} {...otherProps} />;\n }\n}\n\nfunction LiteralSegment({segment}: LiteralSegmentProps) {\n return (\n <span\n aria-hidden=\"true\"\n className={classNames(styles, 'react-spectrum-Datepicker-literal')}\n data-testid={segment.type === 'literal' ? undefined : segment.type}>\n {segment.text}\n </span>\n );\n}\n\nfunction EditableSegment({segment, state}: DatePickerSegmentProps) {\n let ref = useRef();\n let {segmentProps} = useDateSegment(segment, state, ref);\n return (\n <div\n {...segmentProps}\n ref={ref}\n className={classNames(styles, 'react-spectrum-DatePicker-cell', {\n 'is-placeholder': segment.isPlaceholder,\n 'is-read-only': !segment.isEditable\n })}\n style={{\n ...segmentProps.style,\n minWidth: segment.maxValue != null ? String(segment.maxValue).length + 'ch' : null\n }}\n data-testid={segment.type}>\n <span aria-hidden=\"true\" className={classNames(styles, 'react-spectrum-DatePicker-placeholder')}>{segment.placeholder}</span>\n {segment.isPlaceholder ? '' : segment.text}\n </div>\n );\n}\n","/*\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\n.react-spectrum-Datepicker-fieldWrapper.react-spectrum-Datepicker-fieldWrapper.react-spectrum-Datepicker-fieldWrapper {\n width: auto;\n min-width: var(--spectrum-global-dimension-size-2000);\n max-width: 100%;\n }\n\n.react-spectrum-Datepicker-startField {\n width: auto;\n padding-inline-end: var(--spectrum-global-dimension-size-100);\n}\n\n.react-spectrum-Datepicker-endField {\n width: auto;\n flex: 1;\n padding-inline-start: var(--spectrum-global-dimension-size-100);\n}\n\n.react-spectrum-Datepicker-field ~ .react-spectrum-Datepicker-endField > .react-spectrum-Datepicker-input {\n border-inline-start-width: 0;\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n}\n\n.react-spectrum-Datepicker-field.react-spectrum-Datepicker-field {\n width: auto;\n}\n\n/* specificity war with .spectrum-Field--positionSide etc. */\n.react-spectrum-DateField.react-spectrum-DateField.react-spectrum-DateField.react-spectrum-DateField {\n min-width: var(--spectrum-global-dimension-size-2000)\n}\n\n.react-spectrum-TimeField.react-spectrum-TimeField.react-spectrum-TimeField.react-spectrum-TimeField {\n min-width: var(--spectrum-global-dimension-size-1250);\n}\n\n.react-spectrum-TimeField-fieldWrapper.react-spectrum-TimeField-fieldWrapper.react-spectrum-TimeField-fieldWrapper {\n width: auto;\n min-width: var(--spectrum-global-dimension-size-1250);\n}\n\n.react-spectrum-Datepicker-input.react-spectrum-Datepicker-input {\n /* always reserve space for the validation icon */\n padding-inline-end: calc(var(--spectrum-textfield-padding-x) + var(--spectrum-icon-alert-medium-width) + var(--spectrum-textfield-icon-margin-left));\n cursor: text;\n}\n\n.react-spectrum-Datepicker-inputContents {\n display: flex;\n align-items: center;\n height: 100%;\n overflow-x: auto;\n scrollbar-width: none; /* Firefox */\n -ms-overflow-style: none; /* Internet Explorer 10+ */\n\n &::-webkit-scrollbar { /* WebKit */\n width: 0;\n height: 0;\n display: none;\n }\n}\n\n.react-spectrum-Datepicker-rangeDash {\n &:before {\n content: '–';\n }\n}\n\n.react-spectrum-Datepicker-segments {\n display: flex;\n align-items: center;\n}\n\n.react-spectrum-Datepicker-literal {\n white-space: pre;\n user-select: none;\n color: var(--spectrum-textfield-text-color);\n}\n\n.react-spectrum-DatePicker-cell {\n border: none;\n background: none;\n padding: 0 2px;\n border-radius: 2px;\n font-variant-numeric: tabular-nums;\n text-align: end;\n box-sizing: content-box;\n white-space: nowrap;\n color: var(--spectrum-textfield-text-color);\n\n &::selection {\n /* hide the selection because there is no way to fully prevent it in Firefox */\n /* https://bugzilla.mozilla.org/show_bug.cgi?id=1742153 */\n background: transparent;\n }\n}\n\n.react-spectrum-DatePicker-placeholder {\n display: block;\n width: 100%;\n text-align: center;\n font-style: italic;\n visibility: hidden;\n height: 0;\n pointer-events: none;\n}\n\n.react-spectrum-DatePicker-cell.is-placeholder {\n color: var(--react-spectrum-datepicker-placeholder-color);\n\n .react-spectrum-DatePicker-placeholder {\n visibility: visible;\n height: auto;\n }\n}\n\n.react-spectrum-DatePicker-cell.is-placeholder ~ .react-spectrum-Datepicker-literal {\n color: var(--spectrum-textfield-placeholder-text-color, var(--spectrum-global-color-gray-600));\n}\n\n.react-spectrum-DatePicker-cell.is-read-only {\n color: var(--spectrum-global-color-gray-700);\n}\n\n.react-spectrum-DatePicker-cell:focus {\n background-color: var(--spectrum-global-color-static-blue);\n color: white;\n caret-color: transparent;\n outline: none;\n}\n\n.react-spectrum-Datepicker-dialog.react-spectrum-Datepicker-dialog {\n width: auto;\n}\n\n.react-spectrum-Datepicker-dialogContent {\n display: flex;\n flex-direction: column;\n\n .react-spectrum-Datepicker-calendar.is-invalid {\n /* Only apply display: contents when the calendar is invalid, which allows us to move the\n * error message below the time fields. Otherwise, don't do this because it breaks dragging\n * the selected range on Android. */\n display: contents;\n }\n\n /* Push the help text within the calendar down to the bottom of the dialog, below the time fields. */\n :global(.spectrum-Calendar-helpText) {\n order: 10;\n margin: var(--spectrum-global-dimension-size-200) var(--spectrum-calendar-day-padding) 0 var(--spectrum-calendar-day-padding);\n }\n}\n\n/* when displayed in a tray, reduce the padding of the dialog */\n@media (max-width: 700px) {\n .react-spectrum-Datepicker-dialog {\n --spectrum-dialog-padding-x: 8px;\n\n .react-spectrum-Datepicker-dialogContent {\n margin: 0 auto;\n max-width: calc((var(--spectrum-calendar-day-width) * 7) + (var(--spectrum-calendar-day-padding) * 12));\n }\n }\n}\n\n.react-spectrum-Datepicker-timeFields {\n width: 100%;\n min-width: calc(var(--spectrum-calendar-day-width) * 7);\n max-width: calc((var(--spectrum-calendar-day-width) * 7) + (var(--spectrum-calendar-day-padding) * 12));\n padding: 0 var(--spectrum-calendar-day-padding);\n box-sizing: border-box;\n}\n\n@media (forced-colors:active) {\n .react-spectrum-DatePicker-cell:focus {\n forced-color-adjust: none;\n background-color: Highlight;\n color: HighlightText;\n }\n .react-spectrum-DatePicker-cell.is-read-only {\n color: ButtonText;\n &:focus {\n color: HighlightText;\n }\n }\n .react-spectrum-DatePicker-cell.is-placeholder {\n color: ButtonText;\n &:focus {\n color: HighlightText;\n }\n }\n}\n","/*\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 Alert from '@spectrum-icons/ui/AlertMedium';\nimport Checkmark from '@spectrum-icons/ui/CheckmarkMedium';\nimport {classNames, useValueEffect} from '@react-spectrum/utils';\nimport datepickerStyles from './styles.css';\nimport {FocusRing} from '@react-aria/focus';\nimport {mergeRefs, useEvent, useLayoutEffect, useResizeObserver} from '@react-aria/utils';\nimport React, {useCallback, useRef} from 'react';\nimport textfieldStyles from '@adobe/spectrum-css-temp/components/textfield/vars.css';\n\nfunction Input(props, ref) {\n let inputRef = useRef(null);\n let {\n isDisabled,\n isQuiet,\n inputClassName,\n validationState,\n children,\n fieldProps,\n className,\n style\n } = props;\n\n // Reserve padding for the error icon when the width of the input is unconstrained.\n // When constrained, don't reserve space because adding it only when invalid will\n // not cause a layout shift.\n let [reservePadding, setReservePadding] = useValueEffect(false);\n let onResize = useCallback(() => setReservePadding(function *(reservePadding) {\n if (reservePadding) {\n // Try to collapse padding if the content is clipped.\n if (inputRef.current.scrollWidth > inputRef.current.offsetWidth) {\n let width = inputRef.current.parentElement.offsetWidth;\n yield false;\n\n // If removing padding causes a layout shift, add it back.\n if (inputRef.current.parentElement.offsetWidth !== width) {\n yield true;\n }\n }\n } else {\n // Try to add padding if the content is not clipped.\n if (inputRef.current.offsetWidth >= inputRef.current.scrollWidth) {\n let width = inputRef.current.parentElement.offsetWidth;\n yield true;\n\n // If adding padding does not change the width (i.e. width is constrained), remove it again.\n if (inputRef.current.parentElement.offsetWidth === width) {\n yield false;\n }\n }\n }\n }), [inputRef, setReservePadding]);\n\n useLayoutEffect(onResize, [onResize]);\n useResizeObserver({\n ref: inputRef,\n onResize\n });\n\n // We also need to listen for resize events of the window so we can detect\n // when there is enough space for the padding to be re-added. Ideally we'd\n // use a resize observer on a parent element, but it's hard to know _what_\n // parent element.\n useEvent(useRef(typeof window !== 'undefined' ? window : null), 'resize', onResize);\n\n let isInvalid = validationState === 'invalid';\n let textfieldClass = classNames(\n textfieldStyles,\n 'spectrum-Textfield',\n {\n 'spectrum-Textfield--invalid': isInvalid,\n 'spectrum-Textfield--valid': validationState === 'valid',\n 'spectrum-Textfield--quiet': isQuiet\n },\n classNames(datepickerStyles, 'react-spectrum-Datepicker-field'),\n className\n );\n\n let inputClass = classNames(\n textfieldStyles,\n 'spectrum-Textfield-input',\n {\n 'is-disabled': isDisabled,\n 'is-invalid': isInvalid\n },\n reservePadding && classNames(datepickerStyles, 'react-spectrum-Datepicker-input'),\n inputClassName\n );\n\n let iconClass = classNames(\n textfieldStyles,\n 'spectrum-Textfield-validationIcon'\n );\n\n let validationIcon = null;\n if (validationState === 'invalid') {\n validationIcon = <Alert data-testid=\"invalid-icon\" UNSAFE_className={iconClass} />;\n } else if (validationState === 'valid') {\n validationIcon = <Checkmark data-testid=\"valid-icon\" UNSAFE_className={iconClass} />;\n }\n\n return (\n <div role=\"presentation\" {...fieldProps} className={textfieldClass} style={style}>\n <FocusRing focusClass={classNames(textfieldStyles, 'is-focused')} focusRingClass={classNames(textfieldStyles, 'focus-ring')} isTextInput within>\n <div role=\"presentation\" className={inputClass}>\n <div role=\"presentation\" className={classNames(datepickerStyles, 'react-spectrum-Datepicker-inputContents')} ref={mergeRefs(ref, inputRef)}>\n {children}\n </div>\n </div>\n </FocusRing>\n {validationIcon}\n </div>\n );\n}\n\nconst _Input = React.forwardRef(Input);\nexport {_Input as Input};\n","/*\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\n@import './index.css';\n@import './skin.css';\n","/*\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\n@import './index.css';\n@import './skin.css';\n","/*\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 {classNames} from '@react-spectrum/utils';\nimport {DatePickerSegment} from './DatePickerSegment';\nimport datepickerStyles from './styles.css';\nimport {Field} from '@react-spectrum/label';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\nimport React, {ReactElement} from 'react';\nimport {SpectrumTimeFieldProps, TimeValue} from '@react-types/datepicker';\nimport {useFocusManagerRef} from './utils';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\nimport {useTimeField} from '@react-aria/datepicker';\nimport {useTimeFieldState} from '@react-stately/datepicker';\n\nfunction TimeField<T extends TimeValue>(props: SpectrumTimeFieldProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n let {\n autoFocus,\n isDisabled,\n isReadOnly,\n isRequired,\n isQuiet\n } = props;\n\n let domRef = useFocusManagerRef(ref);\n let {locale} = useLocale();\n let state = useTimeFieldState({\n ...props,\n locale\n });\n\n let {labelProps, fieldProps, descriptionProps, errorMessageProps} = useTimeField(props, state, domRef);\n\n return (\n <Field\n {...props}\n ref={domRef}\n elementType=\"span\"\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n validationState={state.validationState}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-TimeField-fieldWrapper')}>\n <Input\n fieldProps={fieldProps}\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n autoFocus={autoFocus}\n validationState={state.validationState}\n className={classNames(datepickerStyles, 'react-spectrum-TimeField')}>\n {state.segments.map((segment, i) =>\n (<DatePickerSegment\n key={i}\n segment={segment}\n state={state}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isRequired={isRequired} />)\n )}\n </Input>\n </Field>\n );\n}\n\n/**\n * TimeFields allow users to enter and edit time values using a keyboard.\n * Each part of the time is displayed in an individually editable segment.\n */\nconst _TimeField = React.forwardRef(TimeField) as <T extends TimeValue>(props: SpectrumTimeFieldProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_TimeField as TimeField};\n","/*\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 */\nimport {createDOMRef} from '@react-spectrum/utils';\nimport {createFocusManager} from '@react-aria/focus';\nimport {FocusableRef} from '@react-types/shared';\nimport {SpectrumDatePickerBase} from '@react-types/datepicker';\nimport {useDateFormatter} from '@react-aria/i18n';\nimport {useDisplayNames} from '@react-aria/datepicker';\nimport {useImperativeHandle, useMemo, useRef, useState} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\nimport {useProvider} from '@react-spectrum/provider';\n\nexport function useFormatHelpText(props: Pick<SpectrumDatePickerBase<any>, 'description' | 'showFormatHelpText'>) {\n let formatter = useDateFormatter({dateStyle: 'short'});\n let displayNames = useDisplayNames();\n return useMemo(() => {\n if (props.description) {\n return props.description;\n }\n\n if (props.showFormatHelpText) {\n return formatter.formatToParts(new Date()).map(s => {\n if (s.type === 'literal') {\n return s.value;\n }\n\n return displayNames.of(s.type);\n }).join(' ');\n }\n\n return '';\n }, [props.description, props.showFormatHelpText, formatter, displayNames]);\n}\n\nexport function useVisibleMonths(maxVisibleMonths: number) {\n let {scale} = useProvider();\n let [visibleMonths, setVisibleMonths] = useState(getVisibleMonths(scale));\n useLayoutEffect(() => {\n let onResize = () => setVisibleMonths(getVisibleMonths(scale));\n onResize();\n\n window.addEventListener('resize', onResize);\n return () => {\n window.removeEventListener('resize', onResize);\n };\n }, [scale]);\n\n return Math.max(1, Math.min(visibleMonths, maxVisibleMonths, 3));\n}\n\nfunction getVisibleMonths(scale) {\n if (typeof window === 'undefined') {\n return 1;\n }\n let monthWidth = scale === 'large' ? 336 : 280;\n let gap = scale === 'large' ? 30 : 24;\n let popoverPadding = scale === 'large' ? 32 : 48;\n return Math.floor((window.innerWidth - popoverPadding * 2) / (monthWidth + gap));\n}\n\nexport function useFocusManagerRef(ref: FocusableRef<HTMLElement>) {\n let domRef = useRef();\n useImperativeHandle(ref, () => ({\n ...createDOMRef(domRef),\n focus() {\n createFocusManager(domRef).focusFirst({tabbable: true});\n }\n }));\n return domRef;\n}\n","/*\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';\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 {useHover} from '@react-aria/interactions';\nimport {useLocale} 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 let {\n isQuiet,\n isDisabled,\n isReadOnly,\n autoFocus,\n placeholderValue,\n maxVisibleMonths = 1\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} = useDateRangePicker(props, state, targetRef);\n let {isOpen, setOpen} = state;\n let {direction} = useLocale();\n let domRef = useFocusManagerRef(ref);\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': state.validationState === 'invalid',\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': state.validationState === 'invalid'\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 === 'millisecond' ? state.granularity : null;\n let showTimeField = !!timeGranularity;\n\n let visibleMonths = useVisibleMonths(maxVisibleMonths);\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={state.validationState}\n UNSAFE_className={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={state.validationState}\n className={classNames(styles, 'spectrum-InputGroup-field')}\n inputClassName={fieldClassName}>\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={state.validationState}\n isDisabled={isDisabled || isReadOnly}>\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 UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-calendar', {'is-invalid': state.validationState === 'invalid'})} />\n {showTimeField &&\n <Flex gap=\"size-100\" marginTop=\"size-100\" UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-timeFields')}>\n <TimeField\n label=\"Start time\"\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=\"End time\"\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","/*\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 {classNames} from '@react-spectrum/utils';\nimport {createCalendar} from '@internationalized/date';\nimport {DatePickerSegment} from './DatePickerSegment';\nimport datepickerStyles from './styles.css';\nimport {DateValue, SpectrumDateFieldProps} from '@react-types/datepicker';\nimport {Field} from '@react-spectrum/label';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\nimport React, {ReactElement} from 'react';\nimport {useDateField} from '@react-aria/datepicker';\nimport {useDateFieldState} from '@react-stately/datepicker';\nimport {useFocusManagerRef, useFormatHelpText} from './utils';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction DateField<T extends DateValue>(props: SpectrumDateFieldProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n let {\n autoFocus,\n isDisabled,\n isReadOnly,\n isRequired,\n isQuiet\n } = props;\n\n let domRef = useFocusManagerRef(ref);\n let {locale} = useLocale();\n let state = useDateFieldState({\n ...props,\n locale,\n createCalendar\n });\n\n let {labelProps, fieldProps, descriptionProps, errorMessageProps} = useDateField(props, state, domRef);\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 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={state.validationState}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-fieldWrapper')}>\n <Input\n fieldProps={fieldProps}\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n autoFocus={autoFocus}\n validationState={state.validationState}\n className={classNames(datepickerStyles, 'react-spectrum-DateField')}>\n {state.segments.map((segment, i) =>\n (<DatePickerSegment\n key={i}\n segment={segment}\n state={state}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isRequired={isRequired} />)\n )}\n </Input>\n </Field>\n );\n}\n\n/**\n * DateFields allow users to enter and edit date and time values using a keyboard.\n * Each part of a date value is displayed in an individually editable segment.\n */\nconst _DateField = React.forwardRef(DateField) as <T extends DateValue>(props: SpectrumDateFieldProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_DateField as DateField};\n"],"names":[],"version":3,"file":"module.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/datepicker/src/index.ts","packages/@react-spectrum/datepicker/src/DatePicker.tsx","packages/@react-spectrum/datepicker/src/DatePickerField.tsx","packages/@react-spectrum/datepicker/src/DatePickerSegment.tsx","packages/@react-spectrum/datepicker/src/styles.css","packages/@react-spectrum/datepicker/src/Input.tsx","packages/@adobe/spectrum-css-temp/components/textfield/vars.css","packages/@react-spectrum/datepicker/intl/*.js","packages/@react-spectrum/datepicker/intl/en-US.json","packages/@adobe/spectrum-css-temp/components/inputgroup/vars.css","packages/@react-spectrum/datepicker/src/TimeField.tsx","packages/@react-spectrum/datepicker/src/utils.ts","packages/@react-spectrum/datepicker/src/DateRangePicker.tsx","packages/@react-spectrum/datepicker/src/DateField.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\n/// <reference types=\"css-module-types\" />\n\nexport {DatePicker} from './DatePicker';\nexport {DateRangePicker} from './DateRangePicker';\nexport {TimeField} from './TimeField';\nexport {DateField} from './DateField';\nexport type {SpectrumDateFieldProps, SpectrumDatePickerProps, SpectrumDateRangePickerProps, SpectrumTimeFieldProps} from '@react-types/datepicker';\n","/*\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 {Calendar} from '@react-spectrum/calendar';\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, SpectrumDatePickerProps} from '@react-types/datepicker';\nimport {Dialog, DialogTrigger} from '@react-spectrum/dialog';\nimport {Field} from '@react-spectrum/label';\nimport {FieldButton} from '@react-spectrum/button';\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 React, {ReactElement, useRef} from 'react';\nimport '@adobe/spectrum-css-temp/components/textfield/vars.css'; // HACK: must be included BEFORE inputgroup\nimport styles from '@adobe/spectrum-css-temp/components/inputgroup/vars.css';\nimport {TimeField} from './TimeField';\nimport {useDatePicker} from '@react-aria/datepicker';\nimport {useDatePickerState} from '@react-stately/datepicker';\nimport {useFocusManagerRef, useFormatHelpText, useVisibleMonths} from './utils';\nimport {useFocusRing} from '@react-aria/focus';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction DatePicker<T extends DateValue>(props: SpectrumDatePickerProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n let {\n autoFocus,\n isQuiet,\n isDisabled,\n isReadOnly,\n placeholderValue,\n maxVisibleMonths = 1\n } = props;\n let {hoverProps, isHovered} = useHover({isDisabled});\n let targetRef = useRef<HTMLDivElement>();\n let state = useDatePickerState({\n ...props,\n shouldCloseOnSelect: () => !state.hasTime\n });\n let {groupProps, labelProps, fieldProps, descriptionProps, errorMessageProps, buttonProps, dialogProps, calendarProps} = useDatePicker(props, state, targetRef);\n let {isOpen, setOpen} = state;\n let {direction} = useLocale();\n let domRef = useFocusManagerRef(ref);\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\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': state.validationState === 'invalid',\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': state.validationState === 'invalid'\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\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={state.validationState}\n UNSAFE_className={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={state.validationState}\n className={classNames(styles, 'spectrum-InputGroup-field')}\n inputClassName={fieldClassName}>\n <DatePickerField\n {...fieldProps}\n data-testid=\"date-field\"\n isQuiet={isQuiet} />\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={state.validationState}\n isDisabled={isDisabled || isReadOnly}>\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 <Calendar\n {...calendarProps}\n visibleMonths={visibleMonths}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-calendar', {'is-invalid': state.validationState === 'invalid'})} />\n {showTimeField &&\n <div className={classNames(datepickerStyles, 'react-spectrum-Datepicker-timeFields')}>\n <TimeField\n label={stringFormatter.format('time')}\n value={state.timeValue}\n onChange={state.setTimeValue}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n marginTop=\"size-100\" />\n </div>\n }\n </div>\n </Content>\n </Dialog>\n </DialogTrigger>\n </div>\n </Field>\n );\n}\n\n/**\n * DatePickers combine a DateField and a Calendar popover to allow users to enter or select a date and time value.\n */\nconst _DatePicker = React.forwardRef(DatePicker) as <T extends DateValue>(props: SpectrumDatePickerProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_DatePicker as DatePicker};\n","/*\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 {classNames} from '@react-spectrum/utils';\nimport {createCalendar} from '@internationalized/date';\nimport {DatePickerSegment} from './DatePickerSegment';\nimport datepickerStyles from './styles.css';\nimport {DateValue, SpectrumDatePickerProps} from '@react-types/datepicker';\nimport React, {useRef} from 'react';\nimport {useDateField} from '@react-aria/datepicker';\nimport {useDateFieldState} from '@react-stately/datepicker';\nimport {useLocale} from '@react-aria/i18n';\n\ninterface DatePickerFieldProps<T extends DateValue> extends SpectrumDatePickerProps<T> {\n inputClassName?: string,\n hideValidationIcon?: boolean,\n maxGranularity?: SpectrumDatePickerProps<T>['granularity']\n}\n\nexport function DatePickerField<T extends DateValue>(props: DatePickerFieldProps<T>) {\n let {\n isDisabled,\n isReadOnly,\n isRequired,\n inputClassName\n } = props;\n let ref = useRef();\n let {locale} = useLocale();\n let state = useDateFieldState({\n ...props,\n locale,\n createCalendar\n });\n\n let {fieldProps} = useDateField(props, state, ref);\n\n return (\n <div {...fieldProps} data-testid={props['data-testid']} className={classNames(datepickerStyles, 'react-spectrum-Datepicker-segments', inputClassName)} ref={ref}>\n {state.segments.map((segment, i) =>\n (<DatePickerSegment\n key={i}\n segment={segment}\n state={state}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isRequired={isRequired} />)\n )}\n </div>\n );\n}\n","/*\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 {classNames} from '@react-spectrum/utils';\nimport {DateFieldState, DateSegment} from '@react-stately/datepicker';\nimport {DatePickerBase, DateValue} from '@react-types/datepicker';\nimport React, {useRef} from 'react';\nimport styles from './styles.css';\nimport {useDateSegment} from '@react-aria/datepicker';\n\ninterface DatePickerSegmentProps extends DatePickerBase<DateValue> {\n segment: DateSegment,\n state: DateFieldState\n}\n\ninterface LiteralSegmentProps {\n segment: DateSegment\n}\n\nexport function DatePickerSegment({segment, state, ...otherProps}: DatePickerSegmentProps) {\n switch (segment.type) {\n // A separator, e.g. punctuation\n case 'literal':\n return <LiteralSegment segment={segment} />;\n\n // Editable segment\n default:\n return <EditableSegment segment={segment} state={state} {...otherProps} />;\n }\n}\n\nfunction LiteralSegment({segment}: LiteralSegmentProps) {\n return (\n <span\n aria-hidden=\"true\"\n className={classNames(styles, 'react-spectrum-Datepicker-literal')}\n data-testid={segment.type === 'literal' ? undefined : segment.type}>\n {segment.text}\n </span>\n );\n}\n\nfunction EditableSegment({segment, state}: DatePickerSegmentProps) {\n let ref = useRef();\n let {segmentProps} = useDateSegment(segment, state, ref);\n return (\n <div\n {...segmentProps}\n ref={ref}\n className={classNames(styles, 'react-spectrum-DatePicker-cell', {\n 'is-placeholder': segment.isPlaceholder,\n 'is-read-only': !segment.isEditable\n })}\n style={{\n ...segmentProps.style,\n minWidth: segment.maxValue != null ? String(segment.maxValue).length + 'ch' : null\n }}\n data-testid={segment.type}>\n <span aria-hidden=\"true\" className={classNames(styles, 'react-spectrum-DatePicker-placeholder')}>{segment.placeholder}</span>\n {segment.isPlaceholder ? '' : segment.text}\n </div>\n );\n}\n","/*\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\n.react-spectrum-Datepicker-fieldWrapper.react-spectrum-Datepicker-fieldWrapper.react-spectrum-Datepicker-fieldWrapper {\n width: auto;\n min-width: var(--spectrum-global-dimension-size-2000);\n max-width: 100%;\n }\n\n.react-spectrum-Datepicker-startField {\n width: auto;\n padding-inline-end: var(--spectrum-global-dimension-size-100);\n}\n\n.react-spectrum-Datepicker-endField {\n width: auto;\n flex: 1;\n padding-inline-start: var(--spectrum-global-dimension-size-100);\n}\n\n.react-spectrum-Datepicker-field ~ .react-spectrum-Datepicker-endField > .react-spectrum-Datepicker-input {\n border-inline-start-width: 0;\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n}\n\n.react-spectrum-Datepicker-field.react-spectrum-Datepicker-field {\n width: auto;\n}\n\n/* specificity war with .spectrum-Field--positionSide etc. */\n.react-spectrum-DateField.react-spectrum-DateField.react-spectrum-DateField.react-spectrum-DateField {\n min-width: var(--spectrum-global-dimension-size-2000)\n}\n\n.react-spectrum-TimeField.react-spectrum-TimeField.react-spectrum-TimeField.react-spectrum-TimeField {\n min-width: var(--spectrum-global-dimension-size-1250);\n}\n\n.react-spectrum-TimeField-fieldWrapper.react-spectrum-TimeField-fieldWrapper.react-spectrum-TimeField-fieldWrapper {\n width: auto;\n min-width: var(--spectrum-global-dimension-size-1250);\n}\n\n.react-spectrum-Datepicker-input.react-spectrum-Datepicker-input {\n /* always reserve space for the validation icon */\n padding-inline-end: calc(var(--spectrum-textfield-padding-x) + var(--spectrum-icon-alert-medium-width) + var(--spectrum-textfield-icon-margin-left));\n cursor: text;\n}\n\n.react-spectrum-Datepicker-inputContents {\n display: flex;\n align-items: center;\n height: 100%;\n overflow-x: auto;\n scrollbar-width: none; /* Firefox */\n -ms-overflow-style: none; /* Internet Explorer 10+ */\n\n &::-webkit-scrollbar { /* WebKit */\n width: 0;\n height: 0;\n display: none;\n }\n}\n\n.react-spectrum-Datepicker-rangeDash {\n &:before {\n content: '–';\n }\n}\n\n.react-spectrum-Datepicker-segments {\n display: flex;\n align-items: center;\n}\n\n.react-spectrum-Datepicker-literal {\n white-space: pre;\n user-select: none;\n color: var(--spectrum-textfield-text-color);\n}\n\n.react-spectrum-DatePicker-cell {\n border: none;\n background: none;\n padding: 0 2px;\n border-radius: 2px;\n font-variant-numeric: tabular-nums;\n text-align: end;\n box-sizing: content-box;\n white-space: nowrap;\n color: var(--spectrum-textfield-text-color);\n\n &::selection {\n /* hide the selection because there is no way to fully prevent it in Firefox */\n /* https://bugzilla.mozilla.org/show_bug.cgi?id=1742153 */\n background: transparent;\n }\n}\n\n.react-spectrum-DatePicker-placeholder {\n display: block;\n width: 100%;\n text-align: center;\n font-style: italic;\n visibility: hidden;\n height: 0;\n pointer-events: none;\n}\n\n.react-spectrum-DatePicker-cell.is-placeholder {\n color: var(--react-spectrum-datepicker-placeholder-color);\n\n .react-spectrum-DatePicker-placeholder {\n visibility: visible;\n height: auto;\n }\n}\n\n.react-spectrum-DatePicker-cell.is-placeholder ~ .react-spectrum-Datepicker-literal {\n color: var(--spectrum-textfield-placeholder-text-color, var(--spectrum-global-color-gray-600));\n}\n\n.react-spectrum-DatePicker-cell.is-read-only {\n color: var(--spectrum-global-color-gray-700);\n}\n\n.react-spectrum-DatePicker-cell:focus {\n background-color: var(--spectrum-global-color-static-blue);\n color: white;\n caret-color: transparent;\n outline: none;\n}\n\n.react-spectrum-Datepicker-dialog.react-spectrum-Datepicker-dialog {\n width: auto;\n}\n\n.react-spectrum-Datepicker-dialogContent {\n display: flex;\n flex-direction: column;\n\n .react-spectrum-Datepicker-calendar.is-invalid {\n /* Only apply display: contents when the calendar is invalid, which allows us to move the\n * error message below the time fields. Otherwise, don't do this because it breaks dragging\n * the selected range on Android. */\n display: contents;\n }\n\n /* Push the help text within the calendar down to the bottom of the dialog, below the time fields. */\n :global(.spectrum-Calendar-helpText) {\n order: 10;\n margin: var(--spectrum-global-dimension-size-200) var(--spectrum-calendar-day-padding) 0 var(--spectrum-calendar-day-padding);\n }\n}\n\n/* when displayed in a tray, reduce the padding of the dialog */\n@media (max-width: 700px) {\n .react-spectrum-Datepicker-dialog {\n --spectrum-dialog-padding-x: 8px;\n\n .react-spectrum-Datepicker-dialogContent {\n margin: 0 auto;\n max-width: calc((var(--spectrum-calendar-day-width) * 7) + (var(--spectrum-calendar-day-padding) * 12));\n }\n }\n}\n\n.react-spectrum-Datepicker-timeFields {\n width: 100%;\n min-width: calc(var(--spectrum-calendar-day-width) * 7);\n max-width: calc((var(--spectrum-calendar-day-width) * 7) + (var(--spectrum-calendar-day-padding) * 12));\n padding: 0 var(--spectrum-calendar-day-padding);\n box-sizing: border-box;\n}\n\n@media (forced-colors:active) {\n .react-spectrum-DatePicker-cell:focus {\n forced-color-adjust: none;\n background-color: Highlight;\n color: HighlightText;\n }\n .react-spectrum-DatePicker-cell.is-read-only {\n color: ButtonText;\n &:focus {\n color: HighlightText;\n }\n }\n .react-spectrum-DatePicker-cell.is-placeholder {\n color: ButtonText;\n &:focus {\n color: HighlightText;\n }\n }\n}\n","/*\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 Alert from '@spectrum-icons/ui/AlertMedium';\nimport Checkmark from '@spectrum-icons/ui/CheckmarkMedium';\nimport {classNames, useValueEffect} from '@react-spectrum/utils';\nimport datepickerStyles from './styles.css';\nimport {FocusRing} from '@react-aria/focus';\nimport {mergeRefs, useEvent, useLayoutEffect, useResizeObserver} from '@react-aria/utils';\nimport React, {useCallback, useRef} from 'react';\nimport textfieldStyles from '@adobe/spectrum-css-temp/components/textfield/vars.css';\n\nfunction Input(props, ref) {\n let inputRef = useRef(null);\n let {\n isDisabled,\n isQuiet,\n inputClassName,\n validationState,\n children,\n fieldProps,\n className,\n style\n } = props;\n\n // Reserve padding for the error icon when the width of the input is unconstrained.\n // When constrained, don't reserve space because adding it only when invalid will\n // not cause a layout shift.\n let [reservePadding, setReservePadding] = useValueEffect(false);\n let onResize = useCallback(() => setReservePadding(function *(reservePadding) {\n if (inputRef.current) {\n if (reservePadding) {\n // Try to collapse padding if the content is clipped.\n if (inputRef.current.scrollWidth > inputRef.current.offsetWidth) {\n let width = inputRef.current.parentElement.offsetWidth;\n yield false;\n\n // If removing padding causes a layout shift, add it back.\n if (inputRef.current.parentElement.offsetWidth !== width) {\n yield true;\n }\n }\n } else {\n // Try to add padding if the content is not clipped.\n if (inputRef.current.offsetWidth >= inputRef.current.scrollWidth) {\n let width = inputRef.current.parentElement.offsetWidth;\n yield true;\n\n // If adding padding does not change the width (i.e. width is constrained), remove it again.\n if (inputRef.current.parentElement.offsetWidth === width) {\n yield false;\n }\n }\n }\n }\n\n }), [inputRef, setReservePadding]);\n\n useLayoutEffect(onResize, [onResize]);\n useResizeObserver({\n ref: inputRef,\n onResize\n });\n\n // We also need to listen for resize events of the window so we can detect\n // when there is enough space for the padding to be re-added. Ideally we'd\n // use a resize observer on a parent element, but it's hard to know _what_\n // parent element.\n useEvent(useRef(typeof window !== 'undefined' ? window : null), 'resize', onResize);\n\n let isInvalid = validationState === 'invalid';\n let textfieldClass = classNames(\n textfieldStyles,\n 'spectrum-Textfield',\n {\n 'spectrum-Textfield--invalid': isInvalid,\n 'spectrum-Textfield--valid': validationState === 'valid',\n 'spectrum-Textfield--quiet': isQuiet\n },\n classNames(datepickerStyles, 'react-spectrum-Datepicker-field'),\n className\n );\n\n let inputClass = classNames(\n textfieldStyles,\n 'spectrum-Textfield-input',\n {\n 'is-disabled': isDisabled,\n 'is-invalid': isInvalid\n },\n reservePadding && classNames(datepickerStyles, 'react-spectrum-Datepicker-input'),\n inputClassName\n );\n\n let iconClass = classNames(\n textfieldStyles,\n 'spectrum-Textfield-validationIcon'\n );\n\n let validationIcon = null;\n if (validationState === 'invalid') {\n validationIcon = <Alert data-testid=\"invalid-icon\" UNSAFE_className={iconClass} />;\n } else if (validationState === 'valid') {\n validationIcon = <Checkmark data-testid=\"valid-icon\" UNSAFE_className={iconClass} />;\n }\n\n return (\n <div role=\"presentation\" {...fieldProps} className={textfieldClass} style={style}>\n <FocusRing focusClass={classNames(textfieldStyles, 'is-focused')} focusRingClass={classNames(textfieldStyles, 'focus-ring')} isTextInput within>\n <div role=\"presentation\" className={inputClass}>\n <div role=\"presentation\" className={classNames(datepickerStyles, 'react-spectrum-Datepicker-inputContents')} ref={mergeRefs(ref, inputRef)}>\n {children}\n </div>\n </div>\n </FocusRing>\n {validationIcon}\n </div>\n );\n}\n\nconst _Input = React.forwardRef(Input);\nexport {_Input as Input};\n","/*\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\n@import './index.css';\n@import './skin.css';\n","const _temp0 = require(\"./en-US.json\");\nmodule.exports = {\n \"en-US\": _temp0\n}","{\n \"time\": \"Time\",\n \"startTime\": \"Start time\",\n \"endTime\": \"End time\"\n}\n","/*\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\n@import './index.css';\n@import './skin.css';\n","/*\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 {classNames} from '@react-spectrum/utils';\nimport {DatePickerSegment} from './DatePickerSegment';\nimport datepickerStyles from './styles.css';\nimport {Field} from '@react-spectrum/label';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\nimport React, {ReactElement} from 'react';\nimport {SpectrumTimeFieldProps, TimeValue} from '@react-types/datepicker';\nimport {useFocusManagerRef} from './utils';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\nimport {useTimeField} from '@react-aria/datepicker';\nimport {useTimeFieldState} from '@react-stately/datepicker';\n\nfunction TimeField<T extends TimeValue>(props: SpectrumTimeFieldProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n let {\n autoFocus,\n isDisabled,\n isReadOnly,\n isRequired,\n isQuiet\n } = props;\n\n let domRef = useFocusManagerRef(ref);\n let {locale} = useLocale();\n let state = useTimeFieldState({\n ...props,\n locale\n });\n\n let {labelProps, fieldProps, descriptionProps, errorMessageProps} = useTimeField(props, state, domRef);\n\n return (\n <Field\n {...props}\n ref={domRef}\n elementType=\"span\"\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n validationState={state.validationState}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-TimeField-fieldWrapper')}>\n <Input\n fieldProps={fieldProps}\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n autoFocus={autoFocus}\n validationState={state.validationState}\n className={classNames(datepickerStyles, 'react-spectrum-TimeField')}>\n {state.segments.map((segment, i) =>\n (<DatePickerSegment\n key={i}\n segment={segment}\n state={state}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isRequired={isRequired} />)\n )}\n </Input>\n </Field>\n );\n}\n\n/**\n * TimeFields allow users to enter and edit time values using a keyboard.\n * Each part of the time is displayed in an individually editable segment.\n */\nconst _TimeField = React.forwardRef(TimeField) as <T extends TimeValue>(props: SpectrumTimeFieldProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_TimeField as TimeField};\n","/*\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 */\nimport {createDOMRef} from '@react-spectrum/utils';\nimport {createFocusManager} from '@react-aria/focus';\nimport {FocusableRef} from '@react-types/shared';\nimport {SpectrumDatePickerBase} from '@react-types/datepicker';\nimport {useDateFormatter} from '@react-aria/i18n';\nimport {useDisplayNames} from '@react-aria/datepicker';\nimport {useImperativeHandle, useMemo, useRef, useState} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\nimport {useProvider} from '@react-spectrum/provider';\n\nexport function useFormatHelpText(props: Pick<SpectrumDatePickerBase<any>, 'description' | 'showFormatHelpText'>) {\n let formatter = useDateFormatter({dateStyle: 'short'});\n let displayNames = useDisplayNames();\n return useMemo(() => {\n if (props.description) {\n return props.description;\n }\n\n if (props.showFormatHelpText) {\n return formatter.formatToParts(new Date()).map(s => {\n if (s.type === 'literal') {\n return s.value;\n }\n\n return displayNames.of(s.type);\n }).join(' ');\n }\n\n return '';\n }, [props.description, props.showFormatHelpText, formatter, displayNames]);\n}\n\nexport function useVisibleMonths(maxVisibleMonths: number) {\n let {scale} = useProvider();\n let [visibleMonths, setVisibleMonths] = useState(getVisibleMonths(scale));\n useLayoutEffect(() => {\n let onResize = () => setVisibleMonths(getVisibleMonths(scale));\n onResize();\n\n window.addEventListener('resize', onResize);\n return () => {\n window.removeEventListener('resize', onResize);\n };\n }, [scale]);\n\n return Math.max(1, Math.min(visibleMonths, maxVisibleMonths, 3));\n}\n\nfunction getVisibleMonths(scale) {\n if (typeof window === 'undefined') {\n return 1;\n }\n let monthWidth = scale === 'large' ? 336 : 280;\n let gap = scale === 'large' ? 30 : 24;\n let popoverPadding = scale === 'large' ? 32 : 48;\n return Math.floor((window.innerWidth - popoverPadding * 2) / (monthWidth + gap));\n}\n\nexport function useFocusManagerRef(ref: FocusableRef<HTMLElement>) {\n let domRef = useRef();\n useImperativeHandle(ref, () => ({\n ...createDOMRef(domRef),\n focus() {\n createFocusManager(domRef).focusFirst({tabbable: true});\n }\n }));\n return domRef;\n}\n","/*\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 {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 let {\n isQuiet,\n isDisabled,\n isReadOnly,\n autoFocus,\n placeholderValue,\n maxVisibleMonths = 1\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} = useDateRangePicker(props, state, targetRef);\n let {isOpen, setOpen} = state;\n let {direction} = useLocale();\n let domRef = useFocusManagerRef(ref);\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\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': state.validationState === 'invalid',\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': state.validationState === 'invalid'\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\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={state.validationState}\n UNSAFE_className={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={state.validationState}\n className={classNames(styles, 'spectrum-InputGroup-field')}\n inputClassName={fieldClassName}>\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={state.validationState}\n isDisabled={isDisabled || isReadOnly}>\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 UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-calendar', {'is-invalid': state.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","/*\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 {classNames} from '@react-spectrum/utils';\nimport {createCalendar} from '@internationalized/date';\nimport {DatePickerSegment} from './DatePickerSegment';\nimport datepickerStyles from './styles.css';\nimport {DateValue, SpectrumDateFieldProps} from '@react-types/datepicker';\nimport {Field} from '@react-spectrum/label';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\nimport React, {ReactElement} from 'react';\nimport {useDateField} from '@react-aria/datepicker';\nimport {useDateFieldState} from '@react-stately/datepicker';\nimport {useFocusManagerRef, useFormatHelpText} from './utils';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction DateField<T extends DateValue>(props: SpectrumDateFieldProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n let {\n autoFocus,\n isDisabled,\n isReadOnly,\n isRequired,\n isQuiet\n } = props;\n\n let domRef = useFocusManagerRef(ref);\n let {locale} = useLocale();\n let state = useDateFieldState({\n ...props,\n locale,\n createCalendar\n });\n\n let {labelProps, fieldProps, descriptionProps, errorMessageProps} = useDateField(props, state, domRef);\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 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={state.validationState}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-fieldWrapper')}>\n <Input\n fieldProps={fieldProps}\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n autoFocus={autoFocus}\n validationState={state.validationState}\n className={classNames(datepickerStyles, 'react-spectrum-DateField')}>\n {state.segments.map((segment, i) =>\n (<DatePickerSegment\n key={i}\n segment={segment}\n state={state}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isRequired={isRequired} />)\n )}\n </Input>\n </Field>\n );\n}\n\n/**\n * DateFields allow users to enter and edit date and time values using a keyboard.\n * Each part of a date value is displayed in an individually editable segment.\n */\nconst _DateField = React.forwardRef(DateField) as <T extends DateValue>(props: SpectrumDateFieldProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_DateField as DateField};\n"],"names":[],"version":3,"file":"module.js.map"}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;AI4EA;;;GAGG;AACH,OAAA,MAAM;UAA4G,aAAa,WAAW,CAAC;MAAM,YAAY,CAAC;
|
|
1
|
+
{"mappings":";;;AI4EA;;;GAGG;AACH,OAAA,MAAM;UAA4G,aAAa,WAAW,CAAC;MAAM,YAAY,CAAC;ACyG9J;;GAEG;AACH,OAAA,MAAM;UAA+G,aAAa,WAAW,CAAC;MAAM,YAAY,CAAC;AC+BjK;;;GAGG;AACH,OAAA,MAAM;UAA8H,aAAa,WAAW,CAAC;MAAM,YAAY,CAAC;ACzIhL;;;GAGG;AACH,OAAA,MAAM;UAA4G,aAAa,WAAW,CAAC;MAAM,YAAY,CAAC;ACxE9J,YAAY,EAAC,sBAAsB,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,sBAAsB,EAAC,MAAM,yBAAyB,CAAC","sources":["packages/@react-spectrum/datepicker/src/packages/@react-spectrum/datepicker/src/DatePickerSegment.tsx","packages/@react-spectrum/datepicker/src/packages/@react-spectrum/datepicker/src/DatePickerField.tsx","packages/@react-spectrum/datepicker/src/packages/@react-spectrum/datepicker/src/Input.tsx","packages/@react-spectrum/datepicker/src/packages/@react-spectrum/datepicker/src/utils.ts","packages/@react-spectrum/datepicker/src/packages/@react-spectrum/datepicker/src/TimeField.tsx","packages/@react-spectrum/datepicker/src/packages/@react-spectrum/datepicker/src/DatePicker.tsx","packages/@react-spectrum/datepicker/src/packages/@react-spectrum/datepicker/src/DateRangePicker.tsx","packages/@react-spectrum/datepicker/src/packages/@react-spectrum/datepicker/src/DateField.tsx","packages/@react-spectrum/datepicker/src/packages/@react-spectrum/datepicker/src/index.ts","packages/@react-spectrum/datepicker/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,"/*\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\n/// <reference types=\"css-module-types\" />\n\nexport {DatePicker} from './DatePicker';\nexport {DateRangePicker} from './DateRangePicker';\nexport {TimeField} from './TimeField';\nexport {DateField} from './DateField';\nexport type {SpectrumDateFieldProps, SpectrumDatePickerProps, SpectrumDateRangePickerProps, SpectrumTimeFieldProps} from '@react-types/datepicker';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-spectrum/datepicker",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.1729+13696a97a",
|
|
4
4
|
"description": "Spectrum UI components in React",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "dist/main.js",
|
|
@@ -32,30 +32,30 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@babel/runtime": "^7.6.2",
|
|
35
|
-
"@internationalized/date": "3.0.2-nightly.
|
|
36
|
-
"@internationalized/number": "3.1.2-nightly.
|
|
37
|
-
"@react-aria/datepicker": "3.0.0-nightly.
|
|
38
|
-
"@react-aria/focus": "3.0.0-nightly.
|
|
39
|
-
"@react-aria/i18n": "3.0.0-nightly.
|
|
40
|
-
"@react-aria/interactions": "3.0.0-nightly.
|
|
41
|
-
"@react-aria/utils": "3.0.0-nightly.
|
|
42
|
-
"@react-spectrum/button": "3.0.0-nightly.
|
|
43
|
-
"@react-spectrum/calendar": "3.0.0-nightly.
|
|
44
|
-
"@react-spectrum/dialog": "3.0.0-nightly.
|
|
45
|
-
"@react-spectrum/label": "3.7.1-nightly.
|
|
46
|
-
"@react-spectrum/layout": "3.4.1-nightly.
|
|
47
|
-
"@react-spectrum/utils": "3.0.0-nightly.
|
|
48
|
-
"@react-spectrum/view": "3.0.0-nightly.
|
|
49
|
-
"@react-stately/datepicker": "3.0.0-nightly.
|
|
50
|
-
"@react-stately/utils": "3.0.0-nightly.
|
|
51
|
-
"@react-types/datepicker": "3.0.0-nightly.
|
|
52
|
-
"@react-types/shared": "3.0.0-nightly.
|
|
53
|
-
"@spectrum-icons/ui": "3.0.0-nightly.
|
|
54
|
-
"@spectrum-icons/workflow": "3.0.0-nightly.
|
|
35
|
+
"@internationalized/date": "3.0.2-nightly.3429+13696a97a",
|
|
36
|
+
"@internationalized/number": "3.1.2-nightly.3429+13696a97a",
|
|
37
|
+
"@react-aria/datepicker": "3.0.0-nightly.1729+13696a97a",
|
|
38
|
+
"@react-aria/focus": "3.0.0-nightly.1729+13696a97a",
|
|
39
|
+
"@react-aria/i18n": "3.0.0-nightly.1729+13696a97a",
|
|
40
|
+
"@react-aria/interactions": "3.0.0-nightly.1729+13696a97a",
|
|
41
|
+
"@react-aria/utils": "3.0.0-nightly.1729+13696a97a",
|
|
42
|
+
"@react-spectrum/button": "3.0.0-nightly.1729+13696a97a",
|
|
43
|
+
"@react-spectrum/calendar": "3.0.0-nightly.1729+13696a97a",
|
|
44
|
+
"@react-spectrum/dialog": "3.0.0-nightly.1729+13696a97a",
|
|
45
|
+
"@react-spectrum/label": "3.7.1-nightly.3429+13696a97a",
|
|
46
|
+
"@react-spectrum/layout": "3.4.1-nightly.3429+13696a97a",
|
|
47
|
+
"@react-spectrum/utils": "3.0.0-nightly.1729+13696a97a",
|
|
48
|
+
"@react-spectrum/view": "3.0.0-nightly.1729+13696a97a",
|
|
49
|
+
"@react-stately/datepicker": "3.0.0-nightly.1729+13696a97a",
|
|
50
|
+
"@react-stately/utils": "3.0.0-nightly.1729+13696a97a",
|
|
51
|
+
"@react-types/datepicker": "3.0.0-nightly.1729+13696a97a",
|
|
52
|
+
"@react-types/shared": "3.0.0-nightly.1729+13696a97a",
|
|
53
|
+
"@spectrum-icons/ui": "3.0.0-nightly.1729+13696a97a",
|
|
54
|
+
"@spectrum-icons/workflow": "3.0.0-nightly.1729+13696a97a"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@adobe/spectrum-css-temp": "3.0.0-nightly.
|
|
58
|
-
"@react-spectrum/test-utils": "3.0.0-nightly.
|
|
57
|
+
"@adobe/spectrum-css-temp": "3.0.0-nightly.1729+13696a97a",
|
|
58
|
+
"@react-spectrum/test-utils": "3.0.0-nightly.1729+13696a97a"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"@react-spectrum/provider": "^3.0.0",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"publishConfig": {
|
|
66
66
|
"access": "public"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "13696a97a7742eb84cb31f5cb50123a2da8f090e"
|
|
69
69
|
}
|
package/src/DatePicker.tsx
CHANGED
|
@@ -22,6 +22,8 @@ import {Field} from '@react-spectrum/label';
|
|
|
22
22
|
import {FieldButton} from '@react-spectrum/button';
|
|
23
23
|
import {FocusableRef} from '@react-types/shared';
|
|
24
24
|
import {Input} from './Input';
|
|
25
|
+
// @ts-ignore
|
|
26
|
+
import intlMessages from '../intl/*.json';
|
|
25
27
|
import {mergeProps} from '@react-aria/utils';
|
|
26
28
|
import React, {ReactElement, useRef} from 'react';
|
|
27
29
|
import '@adobe/spectrum-css-temp/components/textfield/vars.css'; // HACK: must be included BEFORE inputgroup
|
|
@@ -32,7 +34,7 @@ import {useDatePickerState} from '@react-stately/datepicker';
|
|
|
32
34
|
import {useFocusManagerRef, useFormatHelpText, useVisibleMonths} from './utils';
|
|
33
35
|
import {useFocusRing} from '@react-aria/focus';
|
|
34
36
|
import {useHover} from '@react-aria/interactions';
|
|
35
|
-
import {useLocale} from '@react-aria/i18n';
|
|
37
|
+
import {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';
|
|
36
38
|
import {useProviderProps} from '@react-spectrum/provider';
|
|
37
39
|
|
|
38
40
|
function DatePicker<T extends DateValue>(props: SpectrumDatePickerProps<T>, ref: FocusableRef<HTMLElement>) {
|
|
@@ -55,6 +57,7 @@ function DatePicker<T extends DateValue>(props: SpectrumDatePickerProps<T>, ref:
|
|
|
55
57
|
let {isOpen, setOpen} = state;
|
|
56
58
|
let {direction} = useLocale();
|
|
57
59
|
let domRef = useFocusManagerRef(ref);
|
|
60
|
+
let stringFormatter = useLocalizedStringFormatter(intlMessages);
|
|
58
61
|
|
|
59
62
|
let {isFocused, isFocusVisible, focusProps} = useFocusRing({
|
|
60
63
|
within: true,
|
|
@@ -101,7 +104,7 @@ function DatePicker<T extends DateValue>(props: SpectrumDatePickerProps<T>, ref:
|
|
|
101
104
|
let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : null;
|
|
102
105
|
let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : null;
|
|
103
106
|
let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : null;
|
|
104
|
-
let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second'
|
|
107
|
+
let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second' ? state.granularity : null;
|
|
105
108
|
let showTimeField = !!timeGranularity;
|
|
106
109
|
|
|
107
110
|
let visibleMonths = useVisibleMonths(maxVisibleMonths);
|
|
@@ -159,7 +162,7 @@ function DatePicker<T extends DateValue>(props: SpectrumDatePickerProps<T>, ref:
|
|
|
159
162
|
{showTimeField &&
|
|
160
163
|
<div className={classNames(datepickerStyles, 'react-spectrum-Datepicker-timeFields')}>
|
|
161
164
|
<TimeField
|
|
162
|
-
label=
|
|
165
|
+
label={stringFormatter.format('time')}
|
|
163
166
|
value={state.timeValue}
|
|
164
167
|
onChange={state.setTimeValue}
|
|
165
168
|
placeholderValue={timePlaceholder}
|
package/src/DateRangePicker.tsx
CHANGED
|
@@ -22,6 +22,8 @@ import {FieldButton} from '@react-spectrum/button';
|
|
|
22
22
|
import {Flex} from '@react-spectrum/layout';
|
|
23
23
|
import {FocusableRef} from '@react-types/shared';
|
|
24
24
|
import {Input} from './Input';
|
|
25
|
+
// @ts-ignore
|
|
26
|
+
import intlMessages from '../intl/*.json';
|
|
25
27
|
import {mergeProps} from '@react-aria/utils';
|
|
26
28
|
import {RangeCalendar} from '@react-spectrum/calendar';
|
|
27
29
|
import React, {ReactElement, useRef} from 'react';
|
|
@@ -32,7 +34,7 @@ import {useDateRangePickerState} from '@react-stately/datepicker';
|
|
|
32
34
|
import {useFocusManagerRef, useFormatHelpText, useVisibleMonths} from './utils';
|
|
33
35
|
import {useFocusRing} from '@react-aria/focus';
|
|
34
36
|
import {useHover} from '@react-aria/interactions';
|
|
35
|
-
import {useLocale} from '@react-aria/i18n';
|
|
37
|
+
import {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';
|
|
36
38
|
import {useProviderProps} from '@react-spectrum/provider';
|
|
37
39
|
|
|
38
40
|
function DateRangePicker<T extends DateValue>(props: SpectrumDateRangePickerProps<T>, ref: FocusableRef<HTMLElement>) {
|
|
@@ -55,6 +57,7 @@ function DateRangePicker<T extends DateValue>(props: SpectrumDateRangePickerProp
|
|
|
55
57
|
let {isOpen, setOpen} = state;
|
|
56
58
|
let {direction} = useLocale();
|
|
57
59
|
let domRef = useFocusManagerRef(ref);
|
|
60
|
+
let stringFormatter = useLocalizedStringFormatter(intlMessages);
|
|
58
61
|
|
|
59
62
|
let {isFocused, isFocusVisible, focusProps} = useFocusRing({
|
|
60
63
|
within: true,
|
|
@@ -101,7 +104,7 @@ function DateRangePicker<T extends DateValue>(props: SpectrumDateRangePickerProp
|
|
|
101
104
|
let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : null;
|
|
102
105
|
let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : null;
|
|
103
106
|
let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : null;
|
|
104
|
-
let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second'
|
|
107
|
+
let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second' ? state.granularity : null;
|
|
105
108
|
let showTimeField = !!timeGranularity;
|
|
106
109
|
|
|
107
110
|
let visibleMonths = useVisibleMonths(maxVisibleMonths);
|
|
@@ -173,7 +176,7 @@ function DateRangePicker<T extends DateValue>(props: SpectrumDateRangePickerProp
|
|
|
173
176
|
{showTimeField &&
|
|
174
177
|
<Flex gap="size-100" marginTop="size-100" UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-timeFields')}>
|
|
175
178
|
<TimeField
|
|
176
|
-
label=
|
|
179
|
+
label={stringFormatter.format('startTime')}
|
|
177
180
|
value={state.timeRange?.start || null}
|
|
178
181
|
onChange={v => state.setTime('start', v)}
|
|
179
182
|
placeholderValue={timePlaceholder}
|
|
@@ -184,7 +187,7 @@ function DateRangePicker<T extends DateValue>(props: SpectrumDateRangePickerProp
|
|
|
184
187
|
hideTimeZone={props.hideTimeZone}
|
|
185
188
|
flex />
|
|
186
189
|
<TimeField
|
|
187
|
-
label=
|
|
190
|
+
label={stringFormatter.format('endTime')}
|
|
188
191
|
value={state.timeRange?.end || null}
|
|
189
192
|
onChange={v => state.setTime('end', v)}
|
|
190
193
|
placeholderValue={timePlaceholder}
|
package/src/Input.tsx
CHANGED
|
@@ -37,29 +37,32 @@ function Input(props, ref) {
|
|
|
37
37
|
// not cause a layout shift.
|
|
38
38
|
let [reservePadding, setReservePadding] = useValueEffect(false);
|
|
39
39
|
let onResize = useCallback(() => setReservePadding(function *(reservePadding) {
|
|
40
|
-
if (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
if (inputRef.current) {
|
|
41
|
+
if (reservePadding) {
|
|
42
|
+
// Try to collapse padding if the content is clipped.
|
|
43
|
+
if (inputRef.current.scrollWidth > inputRef.current.offsetWidth) {
|
|
44
|
+
let width = inputRef.current.parentElement.offsetWidth;
|
|
45
|
+
yield false;
|
|
45
46
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
// If removing padding causes a layout shift, add it back.
|
|
48
|
+
if (inputRef.current.parentElement.offsetWidth !== width) {
|
|
49
|
+
yield true;
|
|
50
|
+
}
|
|
49
51
|
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
yield true;
|
|
52
|
+
} else {
|
|
53
|
+
// Try to add padding if the content is not clipped.
|
|
54
|
+
if (inputRef.current.offsetWidth >= inputRef.current.scrollWidth) {
|
|
55
|
+
let width = inputRef.current.parentElement.offsetWidth;
|
|
56
|
+
yield true;
|
|
56
57
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
// If adding padding does not change the width (i.e. width is constrained), remove it again.
|
|
59
|
+
if (inputRef.current.parentElement.offsetWidth === width) {
|
|
60
|
+
yield false;
|
|
61
|
+
}
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
}
|
|
65
|
+
|
|
63
66
|
}), [inputRef, setReservePadding]);
|
|
64
67
|
|
|
65
68
|
useLayoutEffect(onResize, [onResize]);
|