@react-spectrum/datepicker 3.9.6 → 3.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DateField.main.js +3 -1
- package/dist/DateField.main.js.map +1 -1
- package/dist/DateField.mjs +4 -2
- package/dist/DateField.module.js +4 -2
- package/dist/DateField.module.js.map +1 -1
- package/dist/DatePicker.main.js +6 -4
- package/dist/DatePicker.main.js.map +1 -1
- package/dist/DatePicker.mjs +7 -5
- package/dist/DatePicker.module.js +7 -5
- package/dist/DatePicker.module.js.map +1 -1
- package/dist/DatePickerField.main.js +3 -3
- package/dist/DatePickerField.main.js.map +1 -1
- package/dist/DatePickerField.mjs +3 -3
- package/dist/DatePickerField.module.js +3 -3
- package/dist/DatePickerField.module.js.map +1 -1
- package/dist/DatePickerSegment.main.js +5 -8
- package/dist/DatePickerSegment.main.js.map +1 -1
- package/dist/DatePickerSegment.mjs +5 -8
- package/dist/DatePickerSegment.module.js +5 -8
- package/dist/DatePickerSegment.module.js.map +1 -1
- package/dist/DateRangePicker.main.js +6 -3
- package/dist/DateRangePicker.main.js.map +1 -1
- package/dist/DateRangePicker.mjs +7 -4
- package/dist/DateRangePicker.module.js +7 -4
- package/dist/DateRangePicker.module.js.map +1 -1
- package/dist/Input.main.js +9 -3
- package/dist/Input.main.js.map +1 -1
- package/dist/Input.mjs +9 -3
- package/dist/Input.module.js +9 -3
- package/dist/Input.module.js.map +1 -1
- package/dist/TimeField.main.js +3 -1
- package/dist/TimeField.main.js.map +1 -1
- package/dist/TimeField.mjs +4 -2
- package/dist/TimeField.module.js +4 -2
- package/dist/TimeField.module.js.map +1 -1
- package/dist/{styles.36ea4632.css → styles.b562cf4b.css} +9 -13
- package/dist/styles.b562cf4b.css.map +1 -0
- package/dist/styles_css.main.js +3 -0
- package/dist/styles_css.main.js.map +1 -1
- package/dist/styles_css.mjs +3 -0
- package/dist/styles_css.module.js +3 -0
- package/dist/styles_css.module.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.main.js +16 -1
- package/dist/utils.main.js.map +1 -1
- package/dist/utils.mjs +17 -3
- package/dist/utils.module.js +17 -3
- package/dist/utils.module.js.map +1 -1
- package/dist/{vars.3692148b.css → vars.3d0e5be0.css} +2 -1
- package/dist/vars.3d0e5be0.css.map +1 -0
- package/package.json +23 -23
- package/src/DateField.tsx +4 -1
- package/src/DatePicker.tsx +6 -3
- package/src/DatePickerField.tsx +2 -2
- package/src/DatePickerSegment.tsx +4 -7
- package/src/DateRangePicker.tsx +7 -3
- package/src/Input.tsx +10 -2
- package/src/TimeField.tsx +4 -1
- package/src/styles.css +8 -12
- package/src/utils.ts +15 -2
- package/dist/styles.36ea4632.css.map +0 -1
- package/dist/vars.3692148b.css.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./styles.
|
|
1
|
+
import "./styles.b562cf4b.css";
|
|
2
2
|
import $jOVo7$styles_cssmodulejs from "./styles_css.module.js";
|
|
3
3
|
import {classNames as $jOVo7$classNames} from "@react-spectrum/utils";
|
|
4
4
|
import $jOVo7$react, {useRef as $jOVo7$useRef} from "react";
|
|
@@ -46,7 +46,7 @@ function $cfa347761f172638$var$LiteralSegment({ segment: segment }) {
|
|
|
46
46
|
}, segment.text);
|
|
47
47
|
}
|
|
48
48
|
function $cfa347761f172638$var$EditableSegment({ segment: segment, state: state }) {
|
|
49
|
-
let ref = (0, $jOVo7$useRef)();
|
|
49
|
+
let ref = (0, $jOVo7$useRef)(undefined);
|
|
50
50
|
let { segmentProps: segmentProps } = (0, $jOVo7$useDateSegment)(segment, state, ref);
|
|
51
51
|
return /*#__PURE__*/ (0, $jOVo7$react).createElement("div", {
|
|
52
52
|
...segmentProps,
|
|
@@ -55,15 +55,12 @@ function $cfa347761f172638$var$EditableSegment({ segment: segment, state: state
|
|
|
55
55
|
'is-placeholder': segment.isPlaceholder,
|
|
56
56
|
'is-read-only': !segment.isEditable
|
|
57
57
|
}),
|
|
58
|
-
style:
|
|
59
|
-
...segmentProps.style,
|
|
60
|
-
minWidth: segment.maxValue != null ? String(segment.maxValue).length + 'ch' : null
|
|
61
|
-
},
|
|
58
|
+
style: segmentProps.style,
|
|
62
59
|
"data-testid": segment.type
|
|
63
|
-
}, /*#__PURE__*/ (0, $jOVo7$react).createElement("span", {
|
|
60
|
+
}, segment.isPlaceholder ? /*#__PURE__*/ (0, $jOVo7$react).createElement("span", {
|
|
64
61
|
"aria-hidden": "true",
|
|
65
62
|
className: (0, $jOVo7$classNames)((0, ($parcel$interopDefault($jOVo7$styles_cssmodulejs))), 'react-spectrum-DatePicker-placeholder')
|
|
66
|
-
}, segment.placeholder)
|
|
63
|
+
}, segment.placeholder) : segment.text);
|
|
67
64
|
}
|
|
68
65
|
|
|
69
66
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;AAkBM,SAAS,0CAAkB,WAAC,OAAO,SAAE,KAAK,EAAE,GAAG,YAAmC;IACvF,OAAQ,QAAQ,IAAI;QAClB,gCAAgC;QAChC,KAAK;YACH,qBAAO,gCAAC;gBAAe,SAAS;;QAElC,mBAAmB;QACnB;YACE,qBAAO,gCAAC;gBAAgB,SAAS;gBAAS,OAAO;gBAAQ,GAAG,UAAU;;IAC1E;AACF;AAEA,SAAS,qCAAe,WAAC,OAAO,EAAsB;IACpD,qBACE,gCAAC;QACC,eAAY;QACZ,WAAW,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;QAC9B,eAAa,QAAQ,IAAI,KAAK,YAAY,YAAY,QAAQ,IAAI;OACjE,QAAQ,IAAI;AAGnB;AAEA,SAAS,sCAAgB,WAAC,OAAO,SAAE,KAAK,EAAyB;IAC/D,IAAI,MAAM,CAAA,GAAA,aAAK;
|
|
1
|
+
{"mappings":";;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;AAkBM,SAAS,0CAAkB,WAAC,OAAO,SAAE,KAAK,EAAE,GAAG,YAAmC;IACvF,OAAQ,QAAQ,IAAI;QAClB,gCAAgC;QAChC,KAAK;YACH,qBAAO,gCAAC;gBAAe,SAAS;;QAElC,mBAAmB;QACnB;YACE,qBAAO,gCAAC;gBAAgB,SAAS;gBAAS,OAAO;gBAAQ,GAAG,UAAU;;IAC1E;AACF;AAEA,SAAS,qCAAe,WAAC,OAAO,EAAsB;IACpD,qBACE,gCAAC;QACC,eAAY;QACZ,WAAW,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;QAC9B,eAAa,QAAQ,IAAI,KAAK,YAAY,YAAY,QAAQ,IAAI;OACjE,QAAQ,IAAI;AAGnB;AAEA,SAAS,sCAAgB,WAAC,OAAO,SAAE,KAAK,EAAyB;IAC/D,IAAI,MAAM,CAAA,GAAA,aAAK,EAAE;IACjB,IAAI,gBAAC,YAAY,EAAC,GAAG,CAAA,GAAA,qBAAa,EAAE,SAAS,OAAO;IAEpD,qBACE,gCAAC;QACE,GAAG,YAAY;QAChB,KAAK;QACL,WAAW,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,mDAAK,GAAG,kCAAkC;YAC9D,kBAAkB,QAAQ,aAAa;YACvC,gBAAgB,CAAC,QAAQ,UAAU;QACrC;QACA,OAAO,aAAa,KAAK;QACzB,eAAa,QAAQ,IAAI;OACxB,QAAQ,aAAa,iBAAG,gCAAC;QAAK,eAAY;QAAO,WAAW,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;OAA2C,QAAQ,WAAW,IAAW,QAAQ,IAAI;AAG3K","sources":["packages/@react-spectrum/datepicker/src/DatePickerSegment.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {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(undefined);\n let {segmentProps} = useDateSegment(segment, state, ref);\n\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={segmentProps.style}\n data-testid={segment.type}>\n {segment.isPlaceholder ? <span aria-hidden=\"true\" className={classNames(styles, 'react-spectrum-DatePicker-placeholder')}>{segment.placeholder}</span> : segment.text}\n </div>\n );\n}\n"],"names":[],"version":3,"file":"DatePickerSegment.module.js.map"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var $bd22dc8dad9522bc$exports = require("./DatePickerField.main.js");
|
|
2
|
-
require("./styles.
|
|
2
|
+
require("./styles.b562cf4b.css");
|
|
3
3
|
var $91c3db8c6a21ca71$exports = require("./styles_css.main.js");
|
|
4
4
|
var $c3ebc4931d9b9977$exports = require("./Input.main.js");
|
|
5
5
|
var $0045b32a117743a7$exports = require("./intlStrings.main.js");
|
|
@@ -77,7 +77,7 @@ function $16cafb71dac155a4$var$DateRangePicker(props, ref) {
|
|
|
77
77
|
let { hoverProps: hoverProps, isHovered: isHovered } = (0, $56Vum$reactariainteractions.useHover)({
|
|
78
78
|
isDisabled: isDisabled
|
|
79
79
|
});
|
|
80
|
-
let targetRef = (0, $56Vum$react.useRef)();
|
|
80
|
+
let targetRef = (0, $56Vum$react.useRef)(undefined);
|
|
81
81
|
let state = (0, $56Vum$reactstatelydatepicker.useDateRangePickerState)({
|
|
82
82
|
...props,
|
|
83
83
|
shouldCloseOnSelect: ()=>!state.hasTime
|
|
@@ -121,6 +121,8 @@ function $16cafb71dac155a4$var$DateRangePicker(props, ref) {
|
|
|
121
121
|
let showTimeField = !!timeGranularity;
|
|
122
122
|
let visibleMonths = (0, $4d2e419f522adb48$exports.useVisibleMonths)(maxVisibleMonths);
|
|
123
123
|
let validationState = state.validationState || (isInvalid ? 'invalid' : null);
|
|
124
|
+
// Multiplying by two for the two dates, adding one character for the dash, and then the padding around the dash
|
|
125
|
+
let approximateWidth = `calc(${(0, $4d2e419f522adb48$exports.useFormattedDateWidth)(state) * 2 + 1}ch + 2 * var(--spectrum-global-dimension-size-100))`;
|
|
124
126
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement((0, $56Vum$reactspectrumlabel.Field), {
|
|
125
127
|
...props,
|
|
126
128
|
ref: domRef,
|
|
@@ -144,7 +146,8 @@ function $16cafb71dac155a4$var$DateRangePicker(props, ref) {
|
|
|
144
146
|
validationState: validationState,
|
|
145
147
|
className: (0, $56Vum$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'spectrum-InputGroup-field'),
|
|
146
148
|
inputClassName: fieldClassName,
|
|
147
|
-
disableFocusRing: true
|
|
149
|
+
disableFocusRing: true,
|
|
150
|
+
minWidth: approximateWidth
|
|
148
151
|
}, /*#__PURE__*/ (0, ($parcel$interopDefault($56Vum$react))).createElement((0, $bd22dc8dad9522bc$exports.DatePickerField), {
|
|
149
152
|
...startFieldProps,
|
|
150
153
|
"data-testid": "start-date",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/@react-spectrum/datepicker/src/DateRangePicker.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport CalendarIcon from '@spectrum-icons/workflow/Calendar';\nimport {classNames} from '@react-spectrum/utils';\nimport {Content} from '@react-spectrum/view';\nimport {DatePickerField} from './DatePickerField';\nimport datepickerStyles from './styles.css';\nimport {DateValue, SpectrumDateRangePickerProps} from '@react-types/datepicker';\nimport {Dialog, DialogTrigger} from '@react-spectrum/dialog';\nimport {Field} from '@react-spectrum/label';\nimport {FieldButton} from '@react-spectrum/button';\nimport {Flex} from '@react-spectrum/layout';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {mergeProps} from '@react-aria/utils';\nimport {RangeCalendar} from '@react-spectrum/calendar';\nimport React, {ReactElement, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/inputgroup/vars.css';\nimport {TimeField} from './TimeField';\nimport {useDateRangePicker} from '@react-aria/datepicker';\nimport {useDateRangePickerState} from '@react-stately/datepicker';\nimport {useFocusManagerRef, useFormatHelpText, useVisibleMonths} from './utils';\nimport {useFocusRing} from '@react-aria/focus';\nimport {useFormProps} from '@react-spectrum/form';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction DateRangePicker<T extends DateValue>(props: SpectrumDateRangePickerProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n props = useFormProps(props);\n let {\n isQuiet,\n isDisabled,\n autoFocus,\n placeholderValue,\n maxVisibleMonths = 1,\n pageBehavior\n } = props;\n let {hoverProps, isHovered} = useHover({isDisabled});\n let targetRef = useRef<HTMLDivElement>();\n let state = useDateRangePickerState({\n ...props,\n shouldCloseOnSelect: () => !state.hasTime\n });\n let {labelProps, groupProps, buttonProps, dialogProps, startFieldProps, endFieldProps, descriptionProps, errorMessageProps, calendarProps, isInvalid, validationErrors, validationDetails} = useDateRangePicker(props, state, targetRef);\n let {isOpen, setOpen} = state;\n let {direction} = useLocale();\n let domRef = useFocusManagerRef(ref);\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/datepicker');\n\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({\n within: true,\n isTextInput: true,\n autoFocus\n });\n\n let {isFocused: isFocusedButton, focusProps: focusPropsButton} = useFocusRing({\n within: false,\n isTextInput: false,\n autoFocus\n });\n\n let className = classNames(\n styles,\n 'spectrum-InputGroup',\n {\n 'spectrum-InputGroup--quiet': isQuiet,\n 'spectrum-InputGroup--invalid': isInvalid && !isDisabled,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered,\n 'is-focused': isFocused,\n 'focus-ring': isFocusVisible && !isFocusedButton\n }\n );\n\n let fieldClassName = classNames(\n styles,\n 'spectrum-InputGroup-input',\n {\n 'is-disabled': isDisabled,\n 'is-invalid': isInvalid && !isDisabled\n }\n );\n\n // Note: this description is intentionally not passed to useDatePicker.\n // The format help text is unnecessary for screen reader users because each segment already has a label.\n let description = useFormatHelpText(props);\n if (description && !props.description) {\n descriptionProps.id = null;\n }\n\n let placeholder: DateValue = placeholderValue;\n let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : null;\n let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : null;\n let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : null;\n let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second' ? state.granularity : null;\n let showTimeField = !!timeGranularity;\n\n let visibleMonths = useVisibleMonths(maxVisibleMonths);\n let validationState = state.validationState || (isInvalid ? 'invalid' : null);\n\n return (\n <Field\n {...props}\n ref={domRef}\n elementType=\"span\"\n description={description}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n validationState={validationState}\n isInvalid={isInvalid}\n validationErrors={validationErrors}\n validationDetails={validationDetails}\n wrapperClassName={classNames(datepickerStyles, 'react-spectrum-Datepicker-fieldWrapper')}>\n <div\n {...mergeProps(groupProps, hoverProps, focusProps)}\n className={className}\n ref={targetRef}>\n <Input\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n validationState={validationState}\n className={classNames(styles, 'spectrum-InputGroup-field')}\n inputClassName={fieldClassName}\n disableFocusRing>\n <DatePickerField\n {...startFieldProps}\n data-testid=\"start-date\"\n isQuiet={props.isQuiet}\n inputClassName={classNames(datepickerStyles, 'react-spectrum-Datepicker-startField')} />\n <DateRangeDash />\n <DatePickerField\n {...endFieldProps}\n data-testid=\"end-date\"\n isQuiet={props.isQuiet}\n inputClassName={classNames(\n styles,\n 'spectrum-Datepicker-endField',\n classNames(\n datepickerStyles,\n 'react-spectrum-Datepicker-endField'\n )\n )} />\n </Input>\n <DialogTrigger\n type=\"popover\"\n mobileType=\"tray\"\n placement={direction === 'rtl' ? 'bottom right' : 'bottom left'}\n targetRef={targetRef}\n hideArrow\n isOpen={isOpen}\n onOpenChange={setOpen}\n shouldFlip={props.shouldFlip}>\n <FieldButton\n {...mergeProps(buttonProps, focusPropsButton)}\n UNSAFE_className={classNames(styles, 'spectrum-FieldButton')}\n isQuiet={isQuiet}\n validationState={validationState}>\n <CalendarIcon />\n </FieldButton>\n <Dialog UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-dialog')} {...dialogProps}>\n <Content>\n <div className={classNames(datepickerStyles, 'react-spectrum-Datepicker-dialogContent')}>\n <RangeCalendar\n {...calendarProps}\n visibleMonths={visibleMonths}\n pageBehavior={pageBehavior}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-calendar', {'is-invalid': validationState === 'invalid'})} />\n {showTimeField &&\n <Flex gap=\"size-100\" marginTop=\"size-100\" UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-timeFields')}>\n <TimeField\n label={stringFormatter.format('startTime')}\n value={state.timeRange?.start || null}\n onChange={v => state.setTime('start', v)}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n flex />\n <TimeField\n label={stringFormatter.format('endTime')}\n value={state.timeRange?.end || null}\n onChange={v => state.setTime('end', v)}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n flex />\n </Flex>\n }\n </div>\n </Content>\n </Dialog>\n </DialogTrigger>\n </div>\n </Field>\n );\n}\n\nfunction DateRangeDash() {\n return (\n <div\n aria-hidden=\"true\"\n data-testid=\"date-range-dash\"\n className={classNames(datepickerStyles, 'react-spectrum-Datepicker-rangeDash')} />\n );\n}\n\n/**\n * DateRangePickers combine two DateFields and a RangeCalendar popover to allow users\n * to enter or select a date and time range.\n */\nconst _DateRangePicker = React.forwardRef(DateRangePicker) as <T extends DateValue>(props: SpectrumDateRangePickerProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_DateRangePicker as DateRangePicker};\n"],"names":[],"version":3,"file":"DateRangePicker.main.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/datepicker/src/DateRangePicker.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport CalendarIcon from '@spectrum-icons/workflow/Calendar';\nimport {classNames} from '@react-spectrum/utils';\nimport {Content} from '@react-spectrum/view';\nimport {DatePickerField} from './DatePickerField';\nimport datepickerStyles from './styles.css';\nimport {DateValue, SpectrumDateRangePickerProps} from '@react-types/datepicker';\nimport {Dialog, DialogTrigger} from '@react-spectrum/dialog';\nimport {Field} from '@react-spectrum/label';\nimport {FieldButton} from '@react-spectrum/button';\nimport {Flex} from '@react-spectrum/layout';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {mergeProps} from '@react-aria/utils';\nimport {RangeCalendar} from '@react-spectrum/calendar';\nimport React, {ReactElement, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/inputgroup/vars.css';\nimport {TimeField} from './TimeField';\nimport {useDateRangePicker} from '@react-aria/datepicker';\nimport {useDateRangePickerState} from '@react-stately/datepicker';\nimport {useFocusManagerRef, useFormatHelpText, useFormattedDateWidth, useVisibleMonths} from './utils';\nimport {useFocusRing} from '@react-aria/focus';\nimport {useFormProps} from '@react-spectrum/form';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction DateRangePicker<T extends DateValue>(props: SpectrumDateRangePickerProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n props = useFormProps(props);\n let {\n isQuiet,\n isDisabled,\n autoFocus,\n placeholderValue,\n maxVisibleMonths = 1,\n pageBehavior\n } = props;\n let {hoverProps, isHovered} = useHover({isDisabled});\n let targetRef = useRef<HTMLDivElement>(undefined);\n let state = useDateRangePickerState({\n ...props,\n shouldCloseOnSelect: () => !state.hasTime\n });\n let {labelProps, groupProps, buttonProps, dialogProps, startFieldProps, endFieldProps, descriptionProps, errorMessageProps, calendarProps, isInvalid, validationErrors, validationDetails} = useDateRangePicker(props, state, targetRef);\n let {isOpen, setOpen} = state;\n let {direction} = useLocale();\n let domRef = useFocusManagerRef(ref);\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/datepicker');\n\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({\n within: true,\n isTextInput: true,\n autoFocus\n });\n\n let {isFocused: isFocusedButton, focusProps: focusPropsButton} = useFocusRing({\n within: false,\n isTextInput: false,\n autoFocus\n });\n\n let className = classNames(\n styles,\n 'spectrum-InputGroup',\n {\n 'spectrum-InputGroup--quiet': isQuiet,\n 'spectrum-InputGroup--invalid': isInvalid && !isDisabled,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered,\n 'is-focused': isFocused,\n 'focus-ring': isFocusVisible && !isFocusedButton\n }\n );\n\n let fieldClassName = classNames(\n styles,\n 'spectrum-InputGroup-input',\n {\n 'is-disabled': isDisabled,\n 'is-invalid': isInvalid && !isDisabled\n }\n );\n\n // Note: this description is intentionally not passed to useDatePicker.\n // The format help text is unnecessary for screen reader users because each segment already has a label.\n let description = useFormatHelpText(props);\n if (description && !props.description) {\n descriptionProps.id = null;\n }\n\n let placeholder: DateValue = placeholderValue;\n let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : null;\n let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : null;\n let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : null;\n let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second' ? state.granularity : null;\n let showTimeField = !!timeGranularity;\n\n let visibleMonths = useVisibleMonths(maxVisibleMonths);\n let validationState = state.validationState || (isInvalid ? 'invalid' : null);\n\n // Multiplying by two for the two dates, adding one character for the dash, and then the padding around the dash\n let approximateWidth = `calc(${useFormattedDateWidth(state) * 2 + 1}ch + 2 * var(--spectrum-global-dimension-size-100))`;\n\n return (\n <Field\n {...props}\n ref={domRef}\n elementType=\"span\"\n description={description}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n validationState={validationState}\n isInvalid={isInvalid}\n validationErrors={validationErrors}\n validationDetails={validationDetails}\n wrapperClassName={classNames(datepickerStyles, 'react-spectrum-Datepicker-fieldWrapper')}>\n <div\n {...mergeProps(groupProps, hoverProps, focusProps)}\n className={className}\n ref={targetRef}>\n <Input\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n validationState={validationState}\n className={classNames(styles, 'spectrum-InputGroup-field')}\n inputClassName={fieldClassName}\n disableFocusRing\n minWidth={approximateWidth}>\n <DatePickerField\n {...startFieldProps}\n data-testid=\"start-date\"\n isQuiet={props.isQuiet}\n inputClassName={classNames(datepickerStyles, 'react-spectrum-Datepicker-startField')} />\n <DateRangeDash />\n <DatePickerField\n {...endFieldProps}\n data-testid=\"end-date\"\n isQuiet={props.isQuiet}\n inputClassName={classNames(\n styles,\n 'spectrum-Datepicker-endField',\n classNames(\n datepickerStyles,\n 'react-spectrum-Datepicker-endField'\n )\n )} />\n </Input>\n <DialogTrigger\n type=\"popover\"\n mobileType=\"tray\"\n placement={direction === 'rtl' ? 'bottom right' : 'bottom left'}\n targetRef={targetRef}\n hideArrow\n isOpen={isOpen}\n onOpenChange={setOpen}\n shouldFlip={props.shouldFlip}>\n <FieldButton\n {...mergeProps(buttonProps, focusPropsButton)}\n UNSAFE_className={classNames(styles, 'spectrum-FieldButton')}\n isQuiet={isQuiet}\n validationState={validationState}>\n <CalendarIcon />\n </FieldButton>\n <Dialog UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-dialog')} {...dialogProps}>\n <Content>\n <div className={classNames(datepickerStyles, 'react-spectrum-Datepicker-dialogContent')}>\n <RangeCalendar\n {...calendarProps}\n visibleMonths={visibleMonths}\n pageBehavior={pageBehavior}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-calendar', {'is-invalid': validationState === 'invalid'})} />\n {showTimeField &&\n <Flex gap=\"size-100\" marginTop=\"size-100\" UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-timeFields')}>\n <TimeField\n label={stringFormatter.format('startTime')}\n value={state.timeRange?.start || null}\n onChange={v => state.setTime('start', v)}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n flex />\n <TimeField\n label={stringFormatter.format('endTime')}\n value={state.timeRange?.end || null}\n onChange={v => state.setTime('end', v)}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n flex />\n </Flex>\n }\n </div>\n </Content>\n </Dialog>\n </DialogTrigger>\n </div>\n </Field>\n );\n}\n\nfunction DateRangeDash() {\n return (\n <div\n aria-hidden=\"true\"\n data-testid=\"date-range-dash\"\n className={classNames(datepickerStyles, 'react-spectrum-Datepicker-rangeDash')} />\n );\n}\n\n/**\n * DateRangePickers combine two DateFields and a RangeCalendar popover to allow users\n * to enter or select a date and time range.\n */\nconst _DateRangePicker = React.forwardRef(DateRangePicker) as <T extends DateValue>(props: SpectrumDateRangePickerProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_DateRangePicker as DateRangePicker};\n"],"names":[],"version":3,"file":"DateRangePicker.main.js.map"}
|
package/dist/DateRangePicker.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {DatePickerField as $d2bb88c82604b25f$export$34dc4cfa15ead1} from "./DatePickerField.mjs";
|
|
2
|
-
import "./styles.
|
|
2
|
+
import "./styles.b562cf4b.css";
|
|
3
3
|
import $dUbU7$styles_cssmodulejs from "./styles_css.mjs";
|
|
4
4
|
import {Input as $79348162c55d687f$export$f5b8910cec6cf069} from "./Input.mjs";
|
|
5
5
|
import $dUbU7$intlStringsmodulejs from "./intlStrings.mjs";
|
|
6
6
|
import "./vars.ccbd2e3f.css";
|
|
7
7
|
import $dUbU7$inputgroup_vars_cssmodulejs from "./inputgroup_vars_css.mjs";
|
|
8
8
|
import {TimeField as $f0a04554754386b6$export$5eaee2322dd727eb} from "./TimeField.mjs";
|
|
9
|
-
import {useFocusManagerRef as $04e96200274b03de$export$71a23a36270e4bf0, useFormatHelpText as $04e96200274b03de$export$322f4580ccd8dde6, useVisibleMonths as $04e96200274b03de$export$12ce2869ce471b1f} from "./utils.mjs";
|
|
9
|
+
import {useFocusManagerRef as $04e96200274b03de$export$71a23a36270e4bf0, useFormatHelpText as $04e96200274b03de$export$322f4580ccd8dde6, useFormattedDateWidth as $04e96200274b03de$export$31e22e3c931fc056, useVisibleMonths as $04e96200274b03de$export$12ce2869ce471b1f} from "./utils.mjs";
|
|
10
10
|
import $dUbU7$spectrumiconsworkflowCalendar from "@spectrum-icons/workflow/Calendar";
|
|
11
11
|
import {classNames as $dUbU7$classNames} from "@react-spectrum/utils";
|
|
12
12
|
import {Content as $dUbU7$Content} from "@react-spectrum/view";
|
|
@@ -71,7 +71,7 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
|
|
|
71
71
|
let { hoverProps: hoverProps, isHovered: isHovered } = (0, $dUbU7$useHover)({
|
|
72
72
|
isDisabled: isDisabled
|
|
73
73
|
});
|
|
74
|
-
let targetRef = (0, $dUbU7$useRef)();
|
|
74
|
+
let targetRef = (0, $dUbU7$useRef)(undefined);
|
|
75
75
|
let state = (0, $dUbU7$useDateRangePickerState)({
|
|
76
76
|
...props,
|
|
77
77
|
shouldCloseOnSelect: ()=>!state.hasTime
|
|
@@ -115,6 +115,8 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
|
|
|
115
115
|
let showTimeField = !!timeGranularity;
|
|
116
116
|
let visibleMonths = (0, $04e96200274b03de$export$12ce2869ce471b1f)(maxVisibleMonths);
|
|
117
117
|
let validationState = state.validationState || (isInvalid ? 'invalid' : null);
|
|
118
|
+
// Multiplying by two for the two dates, adding one character for the dash, and then the padding around the dash
|
|
119
|
+
let approximateWidth = `calc(${(0, $04e96200274b03de$export$31e22e3c931fc056)(state) * 2 + 1}ch + 2 * var(--spectrum-global-dimension-size-100))`;
|
|
118
120
|
return /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$Field), {
|
|
119
121
|
...props,
|
|
120
122
|
ref: domRef,
|
|
@@ -138,7 +140,8 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
|
|
|
138
140
|
validationState: validationState,
|
|
139
141
|
className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), 'spectrum-InputGroup-field'),
|
|
140
142
|
inputClassName: fieldClassName,
|
|
141
|
-
disableFocusRing: true
|
|
143
|
+
disableFocusRing: true,
|
|
144
|
+
minWidth: approximateWidth
|
|
142
145
|
}, /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $d2bb88c82604b25f$export$34dc4cfa15ead1), {
|
|
143
146
|
...startFieldProps,
|
|
144
147
|
"data-testid": "start-date",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {DatePickerField as $d2bb88c82604b25f$export$34dc4cfa15ead1} from "./DatePickerField.module.js";
|
|
2
|
-
import "./styles.
|
|
2
|
+
import "./styles.b562cf4b.css";
|
|
3
3
|
import $dUbU7$styles_cssmodulejs from "./styles_css.module.js";
|
|
4
4
|
import {Input as $79348162c55d687f$export$f5b8910cec6cf069} from "./Input.module.js";
|
|
5
5
|
import $dUbU7$intlStringsmodulejs from "./intlStrings.module.js";
|
|
6
6
|
import "./vars.ccbd2e3f.css";
|
|
7
7
|
import $dUbU7$inputgroup_vars_cssmodulejs from "./inputgroup_vars_css.module.js";
|
|
8
8
|
import {TimeField as $f0a04554754386b6$export$5eaee2322dd727eb} from "./TimeField.module.js";
|
|
9
|
-
import {useFocusManagerRef as $04e96200274b03de$export$71a23a36270e4bf0, useFormatHelpText as $04e96200274b03de$export$322f4580ccd8dde6, useVisibleMonths as $04e96200274b03de$export$12ce2869ce471b1f} from "./utils.module.js";
|
|
9
|
+
import {useFocusManagerRef as $04e96200274b03de$export$71a23a36270e4bf0, useFormatHelpText as $04e96200274b03de$export$322f4580ccd8dde6, useFormattedDateWidth as $04e96200274b03de$export$31e22e3c931fc056, useVisibleMonths as $04e96200274b03de$export$12ce2869ce471b1f} from "./utils.module.js";
|
|
10
10
|
import $dUbU7$spectrumiconsworkflowCalendar from "@spectrum-icons/workflow/Calendar";
|
|
11
11
|
import {classNames as $dUbU7$classNames} from "@react-spectrum/utils";
|
|
12
12
|
import {Content as $dUbU7$Content} from "@react-spectrum/view";
|
|
@@ -71,7 +71,7 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
|
|
|
71
71
|
let { hoverProps: hoverProps, isHovered: isHovered } = (0, $dUbU7$useHover)({
|
|
72
72
|
isDisabled: isDisabled
|
|
73
73
|
});
|
|
74
|
-
let targetRef = (0, $dUbU7$useRef)();
|
|
74
|
+
let targetRef = (0, $dUbU7$useRef)(undefined);
|
|
75
75
|
let state = (0, $dUbU7$useDateRangePickerState)({
|
|
76
76
|
...props,
|
|
77
77
|
shouldCloseOnSelect: ()=>!state.hasTime
|
|
@@ -115,6 +115,8 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
|
|
|
115
115
|
let showTimeField = !!timeGranularity;
|
|
116
116
|
let visibleMonths = (0, $04e96200274b03de$export$12ce2869ce471b1f)(maxVisibleMonths);
|
|
117
117
|
let validationState = state.validationState || (isInvalid ? 'invalid' : null);
|
|
118
|
+
// Multiplying by two for the two dates, adding one character for the dash, and then the padding around the dash
|
|
119
|
+
let approximateWidth = `calc(${(0, $04e96200274b03de$export$31e22e3c931fc056)(state) * 2 + 1}ch + 2 * var(--spectrum-global-dimension-size-100))`;
|
|
118
120
|
return /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $dUbU7$Field), {
|
|
119
121
|
...props,
|
|
120
122
|
ref: domRef,
|
|
@@ -138,7 +140,8 @@ function $cb301300011a98f7$var$DateRangePicker(props, ref) {
|
|
|
138
140
|
validationState: validationState,
|
|
139
141
|
className: (0, $dUbU7$classNames)((0, ($parcel$interopDefault($dUbU7$inputgroup_vars_cssmodulejs))), 'spectrum-InputGroup-field'),
|
|
140
142
|
inputClassName: fieldClassName,
|
|
141
|
-
disableFocusRing: true
|
|
143
|
+
disableFocusRing: true,
|
|
144
|
+
minWidth: approximateWidth
|
|
142
145
|
}, /*#__PURE__*/ (0, $dUbU7$react).createElement((0, $d2bb88c82604b25f$export$34dc4cfa15ead1), {
|
|
143
146
|
...startFieldProps,
|
|
144
147
|
"data-testid": "start-date",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/@react-spectrum/datepicker/src/DateRangePicker.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport CalendarIcon from '@spectrum-icons/workflow/Calendar';\nimport {classNames} from '@react-spectrum/utils';\nimport {Content} from '@react-spectrum/view';\nimport {DatePickerField} from './DatePickerField';\nimport datepickerStyles from './styles.css';\nimport {DateValue, SpectrumDateRangePickerProps} from '@react-types/datepicker';\nimport {Dialog, DialogTrigger} from '@react-spectrum/dialog';\nimport {Field} from '@react-spectrum/label';\nimport {FieldButton} from '@react-spectrum/button';\nimport {Flex} from '@react-spectrum/layout';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {mergeProps} from '@react-aria/utils';\nimport {RangeCalendar} from '@react-spectrum/calendar';\nimport React, {ReactElement, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/inputgroup/vars.css';\nimport {TimeField} from './TimeField';\nimport {useDateRangePicker} from '@react-aria/datepicker';\nimport {useDateRangePickerState} from '@react-stately/datepicker';\nimport {useFocusManagerRef, useFormatHelpText, useVisibleMonths} from './utils';\nimport {useFocusRing} from '@react-aria/focus';\nimport {useFormProps} from '@react-spectrum/form';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction DateRangePicker<T extends DateValue>(props: SpectrumDateRangePickerProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n props = useFormProps(props);\n let {\n isQuiet,\n isDisabled,\n autoFocus,\n placeholderValue,\n maxVisibleMonths = 1,\n pageBehavior\n } = props;\n let {hoverProps, isHovered} = useHover({isDisabled});\n let targetRef = useRef<HTMLDivElement>();\n let state = useDateRangePickerState({\n ...props,\n shouldCloseOnSelect: () => !state.hasTime\n });\n let {labelProps, groupProps, buttonProps, dialogProps, startFieldProps, endFieldProps, descriptionProps, errorMessageProps, calendarProps, isInvalid, validationErrors, validationDetails} = useDateRangePicker(props, state, targetRef);\n let {isOpen, setOpen} = state;\n let {direction} = useLocale();\n let domRef = useFocusManagerRef(ref);\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/datepicker');\n\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({\n within: true,\n isTextInput: true,\n autoFocus\n });\n\n let {isFocused: isFocusedButton, focusProps: focusPropsButton} = useFocusRing({\n within: false,\n isTextInput: false,\n autoFocus\n });\n\n let className = classNames(\n styles,\n 'spectrum-InputGroup',\n {\n 'spectrum-InputGroup--quiet': isQuiet,\n 'spectrum-InputGroup--invalid': isInvalid && !isDisabled,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered,\n 'is-focused': isFocused,\n 'focus-ring': isFocusVisible && !isFocusedButton\n }\n );\n\n let fieldClassName = classNames(\n styles,\n 'spectrum-InputGroup-input',\n {\n 'is-disabled': isDisabled,\n 'is-invalid': isInvalid && !isDisabled\n }\n );\n\n // Note: this description is intentionally not passed to useDatePicker.\n // The format help text is unnecessary for screen reader users because each segment already has a label.\n let description = useFormatHelpText(props);\n if (description && !props.description) {\n descriptionProps.id = null;\n }\n\n let placeholder: DateValue = placeholderValue;\n let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : null;\n let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : null;\n let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : null;\n let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second' ? state.granularity : null;\n let showTimeField = !!timeGranularity;\n\n let visibleMonths = useVisibleMonths(maxVisibleMonths);\n let validationState = state.validationState || (isInvalid ? 'invalid' : null);\n\n return (\n <Field\n {...props}\n ref={domRef}\n elementType=\"span\"\n description={description}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n validationState={validationState}\n isInvalid={isInvalid}\n validationErrors={validationErrors}\n validationDetails={validationDetails}\n wrapperClassName={classNames(datepickerStyles, 'react-spectrum-Datepicker-fieldWrapper')}>\n <div\n {...mergeProps(groupProps, hoverProps, focusProps)}\n className={className}\n ref={targetRef}>\n <Input\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n validationState={validationState}\n className={classNames(styles, 'spectrum-InputGroup-field')}\n inputClassName={fieldClassName}\n disableFocusRing>\n <DatePickerField\n {...startFieldProps}\n data-testid=\"start-date\"\n isQuiet={props.isQuiet}\n inputClassName={classNames(datepickerStyles, 'react-spectrum-Datepicker-startField')} />\n <DateRangeDash />\n <DatePickerField\n {...endFieldProps}\n data-testid=\"end-date\"\n isQuiet={props.isQuiet}\n inputClassName={classNames(\n styles,\n 'spectrum-Datepicker-endField',\n classNames(\n datepickerStyles,\n 'react-spectrum-Datepicker-endField'\n )\n )} />\n </Input>\n <DialogTrigger\n type=\"popover\"\n mobileType=\"tray\"\n placement={direction === 'rtl' ? 'bottom right' : 'bottom left'}\n targetRef={targetRef}\n hideArrow\n isOpen={isOpen}\n onOpenChange={setOpen}\n shouldFlip={props.shouldFlip}>\n <FieldButton\n {...mergeProps(buttonProps, focusPropsButton)}\n UNSAFE_className={classNames(styles, 'spectrum-FieldButton')}\n isQuiet={isQuiet}\n validationState={validationState}>\n <CalendarIcon />\n </FieldButton>\n <Dialog UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-dialog')} {...dialogProps}>\n <Content>\n <div className={classNames(datepickerStyles, 'react-spectrum-Datepicker-dialogContent')}>\n <RangeCalendar\n {...calendarProps}\n visibleMonths={visibleMonths}\n pageBehavior={pageBehavior}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-calendar', {'is-invalid': validationState === 'invalid'})} />\n {showTimeField &&\n <Flex gap=\"size-100\" marginTop=\"size-100\" UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-timeFields')}>\n <TimeField\n label={stringFormatter.format('startTime')}\n value={state.timeRange?.start || null}\n onChange={v => state.setTime('start', v)}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n flex />\n <TimeField\n label={stringFormatter.format('endTime')}\n value={state.timeRange?.end || null}\n onChange={v => state.setTime('end', v)}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n flex />\n </Flex>\n }\n </div>\n </Content>\n </Dialog>\n </DialogTrigger>\n </div>\n </Field>\n );\n}\n\nfunction DateRangeDash() {\n return (\n <div\n aria-hidden=\"true\"\n data-testid=\"date-range-dash\"\n className={classNames(datepickerStyles, 'react-spectrum-Datepicker-rangeDash')} />\n );\n}\n\n/**\n * DateRangePickers combine two DateFields and a RangeCalendar popover to allow users\n * to enter or select a date and time range.\n */\nconst _DateRangePicker = React.forwardRef(DateRangePicker) as <T extends DateValue>(props: SpectrumDateRangePickerProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_DateRangePicker as DateRangePicker};\n"],"names":[],"version":3,"file":"DateRangePicker.module.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/datepicker/src/DateRangePicker.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport CalendarIcon from '@spectrum-icons/workflow/Calendar';\nimport {classNames} from '@react-spectrum/utils';\nimport {Content} from '@react-spectrum/view';\nimport {DatePickerField} from './DatePickerField';\nimport datepickerStyles from './styles.css';\nimport {DateValue, SpectrumDateRangePickerProps} from '@react-types/datepicker';\nimport {Dialog, DialogTrigger} from '@react-spectrum/dialog';\nimport {Field} from '@react-spectrum/label';\nimport {FieldButton} from '@react-spectrum/button';\nimport {Flex} from '@react-spectrum/layout';\nimport {FocusableRef} from '@react-types/shared';\nimport {Input} from './Input';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {mergeProps} from '@react-aria/utils';\nimport {RangeCalendar} from '@react-spectrum/calendar';\nimport React, {ReactElement, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/inputgroup/vars.css';\nimport {TimeField} from './TimeField';\nimport {useDateRangePicker} from '@react-aria/datepicker';\nimport {useDateRangePickerState} from '@react-stately/datepicker';\nimport {useFocusManagerRef, useFormatHelpText, useFormattedDateWidth, useVisibleMonths} from './utils';\nimport {useFocusRing} from '@react-aria/focus';\nimport {useFormProps} from '@react-spectrum/form';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction DateRangePicker<T extends DateValue>(props: SpectrumDateRangePickerProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n props = useFormProps(props);\n let {\n isQuiet,\n isDisabled,\n autoFocus,\n placeholderValue,\n maxVisibleMonths = 1,\n pageBehavior\n } = props;\n let {hoverProps, isHovered} = useHover({isDisabled});\n let targetRef = useRef<HTMLDivElement>(undefined);\n let state = useDateRangePickerState({\n ...props,\n shouldCloseOnSelect: () => !state.hasTime\n });\n let {labelProps, groupProps, buttonProps, dialogProps, startFieldProps, endFieldProps, descriptionProps, errorMessageProps, calendarProps, isInvalid, validationErrors, validationDetails} = useDateRangePicker(props, state, targetRef);\n let {isOpen, setOpen} = state;\n let {direction} = useLocale();\n let domRef = useFocusManagerRef(ref);\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/datepicker');\n\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({\n within: true,\n isTextInput: true,\n autoFocus\n });\n\n let {isFocused: isFocusedButton, focusProps: focusPropsButton} = useFocusRing({\n within: false,\n isTextInput: false,\n autoFocus\n });\n\n let className = classNames(\n styles,\n 'spectrum-InputGroup',\n {\n 'spectrum-InputGroup--quiet': isQuiet,\n 'spectrum-InputGroup--invalid': isInvalid && !isDisabled,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered,\n 'is-focused': isFocused,\n 'focus-ring': isFocusVisible && !isFocusedButton\n }\n );\n\n let fieldClassName = classNames(\n styles,\n 'spectrum-InputGroup-input',\n {\n 'is-disabled': isDisabled,\n 'is-invalid': isInvalid && !isDisabled\n }\n );\n\n // Note: this description is intentionally not passed to useDatePicker.\n // The format help text is unnecessary for screen reader users because each segment already has a label.\n let description = useFormatHelpText(props);\n if (description && !props.description) {\n descriptionProps.id = null;\n }\n\n let placeholder: DateValue = placeholderValue;\n let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : null;\n let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : null;\n let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : null;\n let timeGranularity = state.granularity === 'hour' || state.granularity === 'minute' || state.granularity === 'second' ? state.granularity : null;\n let showTimeField = !!timeGranularity;\n\n let visibleMonths = useVisibleMonths(maxVisibleMonths);\n let validationState = state.validationState || (isInvalid ? 'invalid' : null);\n\n // Multiplying by two for the two dates, adding one character for the dash, and then the padding around the dash\n let approximateWidth = `calc(${useFormattedDateWidth(state) * 2 + 1}ch + 2 * var(--spectrum-global-dimension-size-100))`;\n\n return (\n <Field\n {...props}\n ref={domRef}\n elementType=\"span\"\n description={description}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n validationState={validationState}\n isInvalid={isInvalid}\n validationErrors={validationErrors}\n validationDetails={validationDetails}\n wrapperClassName={classNames(datepickerStyles, 'react-spectrum-Datepicker-fieldWrapper')}>\n <div\n {...mergeProps(groupProps, hoverProps, focusProps)}\n className={className}\n ref={targetRef}>\n <Input\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n validationState={validationState}\n className={classNames(styles, 'spectrum-InputGroup-field')}\n inputClassName={fieldClassName}\n disableFocusRing\n minWidth={approximateWidth}>\n <DatePickerField\n {...startFieldProps}\n data-testid=\"start-date\"\n isQuiet={props.isQuiet}\n inputClassName={classNames(datepickerStyles, 'react-spectrum-Datepicker-startField')} />\n <DateRangeDash />\n <DatePickerField\n {...endFieldProps}\n data-testid=\"end-date\"\n isQuiet={props.isQuiet}\n inputClassName={classNames(\n styles,\n 'spectrum-Datepicker-endField',\n classNames(\n datepickerStyles,\n 'react-spectrum-Datepicker-endField'\n )\n )} />\n </Input>\n <DialogTrigger\n type=\"popover\"\n mobileType=\"tray\"\n placement={direction === 'rtl' ? 'bottom right' : 'bottom left'}\n targetRef={targetRef}\n hideArrow\n isOpen={isOpen}\n onOpenChange={setOpen}\n shouldFlip={props.shouldFlip}>\n <FieldButton\n {...mergeProps(buttonProps, focusPropsButton)}\n UNSAFE_className={classNames(styles, 'spectrum-FieldButton')}\n isQuiet={isQuiet}\n validationState={validationState}>\n <CalendarIcon />\n </FieldButton>\n <Dialog UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-dialog')} {...dialogProps}>\n <Content>\n <div className={classNames(datepickerStyles, 'react-spectrum-Datepicker-dialogContent')}>\n <RangeCalendar\n {...calendarProps}\n visibleMonths={visibleMonths}\n pageBehavior={pageBehavior}\n UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-calendar', {'is-invalid': validationState === 'invalid'})} />\n {showTimeField &&\n <Flex gap=\"size-100\" marginTop=\"size-100\" UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-timeFields')}>\n <TimeField\n label={stringFormatter.format('startTime')}\n value={state.timeRange?.start || null}\n onChange={v => state.setTime('start', v)}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n flex />\n <TimeField\n label={stringFormatter.format('endTime')}\n value={state.timeRange?.end || null}\n onChange={v => state.setTime('end', v)}\n placeholderValue={timePlaceholder}\n granularity={timeGranularity}\n minValue={timeMinValue}\n maxValue={timeMaxValue}\n hourCycle={props.hourCycle}\n hideTimeZone={props.hideTimeZone}\n flex />\n </Flex>\n }\n </div>\n </Content>\n </Dialog>\n </DialogTrigger>\n </div>\n </Field>\n );\n}\n\nfunction DateRangeDash() {\n return (\n <div\n aria-hidden=\"true\"\n data-testid=\"date-range-dash\"\n className={classNames(datepickerStyles, 'react-spectrum-Datepicker-rangeDash')} />\n );\n}\n\n/**\n * DateRangePickers combine two DateFields and a RangeCalendar popover to allow users\n * to enter or select a date and time range.\n */\nconst _DateRangePicker = React.forwardRef(DateRangePicker) as <T extends DateValue>(props: SpectrumDateRangePickerProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_DateRangePicker as DateRangePicker};\n"],"names":[],"version":3,"file":"DateRangePicker.module.js.map"}
|
package/dist/Input.main.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
require("./styles.
|
|
1
|
+
require("./styles.b562cf4b.css");
|
|
2
2
|
var $91c3db8c6a21ca71$exports = require("./styles_css.main.js");
|
|
3
|
-
require("./vars.
|
|
3
|
+
require("./vars.3d0e5be0.css");
|
|
4
4
|
var $40cb3a00c193680f$exports = require("./textfield_vars_css.main.js");
|
|
5
5
|
var $9cini$spectrumiconsuiAlertMedium = require("@spectrum-icons/ui/AlertMedium");
|
|
6
6
|
var $9cini$spectrumiconsuiCheckmarkMedium = require("@spectrum-icons/ui/CheckmarkMedium");
|
|
@@ -115,7 +115,13 @@ function $c3ebc4931d9b9977$var$Input(props, ref) {
|
|
|
115
115
|
role: "presentation",
|
|
116
116
|
className: (0, $9cini$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), 'react-spectrum-Datepicker-inputContents'),
|
|
117
117
|
ref: (0, $9cini$reactariautils.mergeRefs)(ref, inputRef)
|
|
118
|
-
},
|
|
118
|
+
}, /*#__PURE__*/ (0, ($parcel$interopDefault($9cini$react))).createElement("div", {
|
|
119
|
+
role: "presentation",
|
|
120
|
+
className: (0, $9cini$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), 'react-spectrum-Datepicker-inputSized'),
|
|
121
|
+
style: {
|
|
122
|
+
minWidth: props.minWidth
|
|
123
|
+
}
|
|
124
|
+
}, children))), validationIcon);
|
|
119
125
|
}
|
|
120
126
|
const $c3ebc4931d9b9977$export$f5b8910cec6cf069 = /*#__PURE__*/ (0, ($parcel$interopDefault($9cini$react))).forwardRef($c3ebc4931d9b9977$var$Input);
|
|
121
127
|
|
package/dist/Input.main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/datepicker/src/Input.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport 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 {mergeProps, 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';\nimport {useFocusRing} from '@react-aria/focus';\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 disableFocusRing\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 {focusProps, isFocusVisible, isFocused} = useFocusRing({\n isTextInput: true,\n within: true\n });\n\n let isInvalid = validationState === 'invalid' && !isDisabled;\n let textfieldClass = classNames(\n textfieldStyles,\n 'spectrum-Textfield',\n {\n 'spectrum-Textfield--invalid': isInvalid,\n 'spectrum-Textfield--valid': validationState === 'valid' && !isDisabled,\n 'spectrum-Textfield--quiet': isQuiet,\n 'focus-ring': isFocusVisible && !disableFocusRing\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-focused': isFocused\n },\n classNames(datepickerStyles, 'react-spectrum-DateField-Input'),\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' && !isDisabled) {\n validationIcon = <Alert data-testid=\"invalid-icon\" UNSAFE_className={iconClass} />;\n } else if (validationState === 'valid' && !isDisabled) {\n validationIcon = <Checkmark data-testid=\"valid-icon\" UNSAFE_className={iconClass} />;\n }\n\n return (\n <div role=\"presentation\" {...mergeProps(fieldProps, focusProps)} className={textfieldClass} style={style}>\n <div role=\"presentation\" className={inputClass}>\n <div\n role=\"presentation\"\n className={classNames(datepickerStyles, 'react-spectrum-Datepicker-inputContents')}\n ref={mergeRefs(ref, inputRef)}>\n <div\n role=\"presentation\"\n className={classNames(datepickerStyles, 'react-spectrum-Datepicker-inputSized')}\n style={{minWidth: props.minWidth}}>\n {children}\n </div>\n </div>\n </div>\n {validationIcon}\n </div>\n );\n}\n\nconst _Input = React.forwardRef(Input);\nexport {_Input as Input};\n"],"names":[],"version":3,"file":"Input.main.js.map"}
|
package/dist/Input.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import "./styles.
|
|
1
|
+
import "./styles.b562cf4b.css";
|
|
2
2
|
import $fVzF9$styles_cssmodulejs from "./styles_css.mjs";
|
|
3
|
-
import "./vars.
|
|
3
|
+
import "./vars.3d0e5be0.css";
|
|
4
4
|
import $fVzF9$textfield_vars_cssmodulejs from "./textfield_vars_css.mjs";
|
|
5
5
|
import $fVzF9$spectrumiconsuiAlertMedium from "@spectrum-icons/ui/AlertMedium";
|
|
6
6
|
import $fVzF9$spectrumiconsuiCheckmarkMedium from "@spectrum-icons/ui/CheckmarkMedium";
|
|
@@ -109,7 +109,13 @@ function $79348162c55d687f$var$Input(props, ref) {
|
|
|
109
109
|
role: "presentation",
|
|
110
110
|
className: (0, $fVzF9$classNames)((0, ($parcel$interopDefault($fVzF9$styles_cssmodulejs))), 'react-spectrum-Datepicker-inputContents'),
|
|
111
111
|
ref: (0, $fVzF9$mergeRefs)(ref, inputRef)
|
|
112
|
-
},
|
|
112
|
+
}, /*#__PURE__*/ (0, $fVzF9$react).createElement("div", {
|
|
113
|
+
role: "presentation",
|
|
114
|
+
className: (0, $fVzF9$classNames)((0, ($parcel$interopDefault($fVzF9$styles_cssmodulejs))), 'react-spectrum-Datepicker-inputSized'),
|
|
115
|
+
style: {
|
|
116
|
+
minWidth: props.minWidth
|
|
117
|
+
}
|
|
118
|
+
}, children))), validationIcon);
|
|
113
119
|
}
|
|
114
120
|
const $79348162c55d687f$export$f5b8910cec6cf069 = /*#__PURE__*/ (0, $fVzF9$react).forwardRef($79348162c55d687f$var$Input);
|
|
115
121
|
|
package/dist/Input.module.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import "./styles.
|
|
1
|
+
import "./styles.b562cf4b.css";
|
|
2
2
|
import $fVzF9$styles_cssmodulejs from "./styles_css.module.js";
|
|
3
|
-
import "./vars.
|
|
3
|
+
import "./vars.3d0e5be0.css";
|
|
4
4
|
import $fVzF9$textfield_vars_cssmodulejs from "./textfield_vars_css.module.js";
|
|
5
5
|
import $fVzF9$spectrumiconsuiAlertMedium from "@spectrum-icons/ui/AlertMedium";
|
|
6
6
|
import $fVzF9$spectrumiconsuiCheckmarkMedium from "@spectrum-icons/ui/CheckmarkMedium";
|
|
@@ -109,7 +109,13 @@ function $79348162c55d687f$var$Input(props, ref) {
|
|
|
109
109
|
role: "presentation",
|
|
110
110
|
className: (0, $fVzF9$classNames)((0, ($parcel$interopDefault($fVzF9$styles_cssmodulejs))), 'react-spectrum-Datepicker-inputContents'),
|
|
111
111
|
ref: (0, $fVzF9$mergeRefs)(ref, inputRef)
|
|
112
|
-
},
|
|
112
|
+
}, /*#__PURE__*/ (0, $fVzF9$react).createElement("div", {
|
|
113
|
+
role: "presentation",
|
|
114
|
+
className: (0, $fVzF9$classNames)((0, ($parcel$interopDefault($fVzF9$styles_cssmodulejs))), 'react-spectrum-Datepicker-inputSized'),
|
|
115
|
+
style: {
|
|
116
|
+
minWidth: props.minWidth
|
|
117
|
+
}
|
|
118
|
+
}, children))), validationIcon);
|
|
113
119
|
}
|
|
114
120
|
const $79348162c55d687f$export$f5b8910cec6cf069 = /*#__PURE__*/ (0, $fVzF9$react).forwardRef($79348162c55d687f$var$Input);
|
|
115
121
|
|
package/dist/Input.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/datepicker/src/Input.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport 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 {mergeProps, 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';\nimport {useFocusRing} from '@react-aria/focus';\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 disableFocusRing\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 {focusProps, isFocusVisible, isFocused} = useFocusRing({\n isTextInput: true,\n within: true\n });\n\n let isInvalid = validationState === 'invalid' && !isDisabled;\n let textfieldClass = classNames(\n textfieldStyles,\n 'spectrum-Textfield',\n {\n 'spectrum-Textfield--invalid': isInvalid,\n 'spectrum-Textfield--valid': validationState === 'valid' && !isDisabled,\n 'spectrum-Textfield--quiet': isQuiet,\n 'focus-ring': isFocusVisible && !disableFocusRing\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-focused': isFocused\n },\n classNames(datepickerStyles, 'react-spectrum-DateField-Input'),\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' && !isDisabled) {\n validationIcon = <Alert data-testid=\"invalid-icon\" UNSAFE_className={iconClass} />;\n } else if (validationState === 'valid' && !isDisabled) {\n validationIcon = <Checkmark data-testid=\"valid-icon\" UNSAFE_className={iconClass} />;\n }\n\n return (\n <div role=\"presentation\" {...mergeProps(fieldProps, focusProps)} className={textfieldClass} style={style}>\n <div role=\"presentation\" className={inputClass}>\n <div\n role=\"presentation\"\n className={classNames(datepickerStyles, 'react-spectrum-Datepicker-inputContents')}\n ref={mergeRefs(ref, inputRef)}>\n <div\n role=\"presentation\"\n className={classNames(datepickerStyles, 'react-spectrum-Datepicker-inputSized')}\n style={{minWidth: props.minWidth}}>\n {children}\n </div>\n </div>\n </div>\n {validationIcon}\n </div>\n );\n}\n\nconst _Input = React.forwardRef(Input);\nexport {_Input as Input};\n"],"names":[],"version":3,"file":"Input.module.js.map"}
|
package/dist/TimeField.main.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var $edac158d20ebe4a9$exports = require("./DatePickerSegment.main.js");
|
|
2
|
-
require("./styles.
|
|
2
|
+
require("./styles.b562cf4b.css");
|
|
3
3
|
var $91c3db8c6a21ca71$exports = require("./styles_css.main.js");
|
|
4
4
|
var $c3ebc4931d9b9977$exports = require("./Input.main.js");
|
|
5
5
|
var $4d2e419f522adb48$exports = require("./utils.main.js");
|
|
@@ -61,6 +61,7 @@ function $740ff83729a8f317$var$TimeField(props, ref) {
|
|
|
61
61
|
inputRef: inputRef
|
|
62
62
|
}, state, fieldRef);
|
|
63
63
|
let validationState = state.validationState || (isInvalid ? 'invalid' : null);
|
|
64
|
+
let approximateWidth = (0, $4d2e419f522adb48$exports.useFormattedDateWidth)(state) + 'ch';
|
|
64
65
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($gfZkn$react))).createElement((0, $gfZkn$reactspectrumlabel.Field), {
|
|
65
66
|
...props,
|
|
66
67
|
ref: domRef,
|
|
@@ -80,6 +81,7 @@ function $740ff83729a8f317$var$TimeField(props, ref) {
|
|
|
80
81
|
isQuiet: isQuiet,
|
|
81
82
|
autoFocus: autoFocus,
|
|
82
83
|
validationState: validationState,
|
|
84
|
+
minWidth: approximateWidth,
|
|
83
85
|
className: (0, $gfZkn$reactspectrumutils.classNames)((0, ($parcel$interopDefault($91c3db8c6a21ca71$exports))), 'react-spectrum-TimeField')
|
|
84
86
|
}, state.segments.map((segment, i)=>/*#__PURE__*/ (0, ($parcel$interopDefault($gfZkn$react))).createElement((0, $edac158d20ebe4a9$exports.DatePickerSegment), {
|
|
85
87
|
key: i,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;AAiBD,SAAS,gCAA+B,KAAgC,EAAE,GAA8B;IACtG,QAAQ,CAAA,GAAA,6CAAe,EAAE;IACzB,QAAQ,CAAA,GAAA,qCAAW,EAAE;IACrB,IAAI,aACF,SAAS,cACT,UAAU,cACV,UAAU,cACV,UAAU,WACV,OAAO,EACR,GAAG;IAEJ,IAAI,SAAS,CAAA,GAAA,4CAAiB,EAAE;IAChC,IAAI,UAAC,MAAM,EAAC,GAAG,CAAA,GAAA,8BAAQ;IACvB,IAAI,QAAQ,CAAA,GAAA,+CAAgB,EAAE;QAC5B,GAAG,KAAK;gBACR;IACF;IAEA,IAAI,WAAW,CAAA,GAAA,mBAAK,EAAE;IACtB,IAAI,WAAW,CAAA,GAAA,mBAAK,EAAE;IACtB,IAAI,cAAC,UAAU,cAAE,UAAU,cAAE,UAAU,oBAAE,gBAAgB,qBAAE,iBAAiB,aAAE,SAAS,oBAAE,gBAAgB,qBAAE,iBAAiB,EAAC,GAAG,CAAA,GAAA,uCAAW,EAAE;QAC3I,GAAG,KAAK;kBACR;IACF,GAAG,OAAO;IAEV,IAAI,kBAAkB,MAAM,eAAe,IAAK,CAAA,YAAY,YAAY,IAAG;IAE3E,qBACE,0DAAC,CAAA,GAAA,+BAAI;QACF,GAAG,KAAK;QACT,KAAK;QACL,aAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,mBAAmB;QACnB,iBAAiB;QACjB,WAAW;QACX,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAe,GAAG;qBAC/C,0DAAC,CAAA,GAAA,+BAAI;QACH,KAAK;QACL,YAAY;QACZ,YAAY;QACZ,SAAS;QACT,WAAW;QACX,iBAAiB;QACjB,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAe,GAAG;OACvC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,kBAC3B,0DAAC,CAAA,GAAA,2CAAgB;YAChB,KAAK;YACL,SAAS;YACT,OAAO;YACP,YAAY;YACZ,YAAY;YACZ,YAAY;2BAEhB,0DAAC;QAAO,GAAG,UAAU;QAAE,KAAK;;AAIpC;AAEA;;;CAGC,GACD,MAAM,0DAAa,CAAA,GAAA,sCAAI,EAAE,UAAU,CAAC","sources":["packages/@react-spectrum/datepicker/src/TimeField.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {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, useRef} from 'react';\nimport {SpectrumTimeFieldProps, TimeValue} from '@react-types/datepicker';\nimport {useFocusManagerRef} from './utils';\nimport {useFormProps} from '@react-spectrum/form';\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 props = useFormProps(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 fieldRef = useRef(null);\n let inputRef = useRef(null);\n let {labelProps, fieldProps, inputProps, descriptionProps, errorMessageProps, isInvalid, validationErrors, validationDetails} = useTimeField({\n ...props,\n inputRef\n }, state, fieldRef);\n\n let validationState = state.validationState || (isInvalid ? 'invalid' : null);\n\n return (\n <Field\n {...props}\n ref={domRef}\n elementType=\"span\"\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n validationState={validationState}\n isInvalid={isInvalid}\n validationErrors={validationErrors}\n validationDetails={validationDetails}\n wrapperClassName={classNames(datepickerStyles, 'react-spectrum-TimeField-fieldWrapper')}>\n <Input\n ref={fieldRef}\n fieldProps={fieldProps}\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n autoFocus={autoFocus}\n validationState={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 {...inputProps} ref={inputRef} />\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"],"names":[],"version":3,"file":"TimeField.main.js.map"}
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;AAiBD,SAAS,gCAA+B,KAAgC,EAAE,GAA8B;IACtG,QAAQ,CAAA,GAAA,6CAAe,EAAE;IACzB,QAAQ,CAAA,GAAA,qCAAW,EAAE;IACrB,IAAI,aACF,SAAS,cACT,UAAU,cACV,UAAU,cACV,UAAU,WACV,OAAO,EACR,GAAG;IAEJ,IAAI,SAAS,CAAA,GAAA,4CAAiB,EAAE;IAChC,IAAI,UAAC,MAAM,EAAC,GAAG,CAAA,GAAA,8BAAQ;IACvB,IAAI,QAAQ,CAAA,GAAA,+CAAgB,EAAE;QAC5B,GAAG,KAAK;gBACR;IACF;IAEA,IAAI,WAAW,CAAA,GAAA,mBAAK,EAAE;IACtB,IAAI,WAAW,CAAA,GAAA,mBAAK,EAAE;IACtB,IAAI,cAAC,UAAU,cAAE,UAAU,cAAE,UAAU,oBAAE,gBAAgB,qBAAE,iBAAiB,aAAE,SAAS,oBAAE,gBAAgB,qBAAE,iBAAiB,EAAC,GAAG,CAAA,GAAA,uCAAW,EAAE;QAC3I,GAAG,KAAK;kBACR;IACF,GAAG,OAAO;IAEV,IAAI,kBAAkB,MAAM,eAAe,IAAK,CAAA,YAAY,YAAY,IAAG;IAE3E,IAAI,mBAAmB,CAAA,GAAA,+CAAoB,EAAE,SAAS;IAEtD,qBACE,0DAAC,CAAA,GAAA,+BAAI;QACF,GAAG,KAAK;QACT,KAAK;QACL,aAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,mBAAmB;QACnB,iBAAiB;QACjB,WAAW;QACX,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAe,GAAG;qBAC/C,0DAAC,CAAA,GAAA,+BAAI;QACH,KAAK;QACL,YAAY;QACZ,YAAY;QACZ,SAAS;QACT,WAAW;QACX,iBAAiB;QACjB,UAAU;QACV,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAe,GAAG;OACvC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,kBAC3B,0DAAC,CAAA,GAAA,2CAAgB;YAChB,KAAK;YACL,SAAS;YACT,OAAO;YACP,YAAY;YACZ,YAAY;YACZ,YAAY;2BAEhB,0DAAC;QAAO,GAAG,UAAU;QAAE,KAAK;;AAIpC;AAEA;;;CAGC,GACD,MAAM,0DAAa,CAAA,GAAA,sCAAI,EAAE,UAAU,CAAC","sources":["packages/@react-spectrum/datepicker/src/TimeField.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {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, useRef} from 'react';\nimport {SpectrumTimeFieldProps, TimeValue} from '@react-types/datepicker';\nimport {useFocusManagerRef, useFormattedDateWidth} from './utils';\nimport {useFormProps} from '@react-spectrum/form';\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 props = useFormProps(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 fieldRef = useRef(null);\n let inputRef = useRef(null);\n let {labelProps, fieldProps, inputProps, descriptionProps, errorMessageProps, isInvalid, validationErrors, validationDetails} = useTimeField({\n ...props,\n inputRef\n }, state, fieldRef);\n\n let validationState = state.validationState || (isInvalid ? 'invalid' : null);\n\n let approximateWidth = useFormattedDateWidth(state) + 'ch';\n\n return (\n <Field\n {...props}\n ref={domRef}\n elementType=\"span\"\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n validationState={validationState}\n isInvalid={isInvalid}\n validationErrors={validationErrors}\n validationDetails={validationDetails}\n wrapperClassName={classNames(datepickerStyles, 'react-spectrum-TimeField-fieldWrapper')}>\n <Input\n ref={fieldRef}\n fieldProps={fieldProps}\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n autoFocus={autoFocus}\n validationState={validationState}\n minWidth={approximateWidth}\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 {...inputProps} ref={inputRef} />\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"],"names":[],"version":3,"file":"TimeField.main.js.map"}
|
package/dist/TimeField.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {DatePickerSegment as $cfa347761f172638$export$6388987c5223b54e} from "./DatePickerSegment.mjs";
|
|
2
|
-
import "./styles.
|
|
2
|
+
import "./styles.b562cf4b.css";
|
|
3
3
|
import $immgY$styles_cssmodulejs from "./styles_css.mjs";
|
|
4
4
|
import {Input as $79348162c55d687f$export$f5b8910cec6cf069} from "./Input.mjs";
|
|
5
|
-
import {useFocusManagerRef as $04e96200274b03de$export$71a23a36270e4bf0} from "./utils.mjs";
|
|
5
|
+
import {useFocusManagerRef as $04e96200274b03de$export$71a23a36270e4bf0, useFormattedDateWidth as $04e96200274b03de$export$31e22e3c931fc056} from "./utils.mjs";
|
|
6
6
|
import {classNames as $immgY$classNames} from "@react-spectrum/utils";
|
|
7
7
|
import {Field as $immgY$Field} from "@react-spectrum/label";
|
|
8
8
|
import $immgY$react, {useRef as $immgY$useRef} from "react";
|
|
@@ -55,6 +55,7 @@ function $f0a04554754386b6$var$TimeField(props, ref) {
|
|
|
55
55
|
inputRef: inputRef
|
|
56
56
|
}, state, fieldRef);
|
|
57
57
|
let validationState = state.validationState || (isInvalid ? 'invalid' : null);
|
|
58
|
+
let approximateWidth = (0, $04e96200274b03de$export$31e22e3c931fc056)(state) + 'ch';
|
|
58
59
|
return /*#__PURE__*/ (0, $immgY$react).createElement((0, $immgY$Field), {
|
|
59
60
|
...props,
|
|
60
61
|
ref: domRef,
|
|
@@ -74,6 +75,7 @@ function $f0a04554754386b6$var$TimeField(props, ref) {
|
|
|
74
75
|
isQuiet: isQuiet,
|
|
75
76
|
autoFocus: autoFocus,
|
|
76
77
|
validationState: validationState,
|
|
78
|
+
minWidth: approximateWidth,
|
|
77
79
|
className: (0, $immgY$classNames)((0, ($parcel$interopDefault($immgY$styles_cssmodulejs))), 'react-spectrum-TimeField')
|
|
78
80
|
}, state.segments.map((segment, i)=>/*#__PURE__*/ (0, $immgY$react).createElement((0, $cfa347761f172638$export$6388987c5223b54e), {
|
|
79
81
|
key: i,
|
package/dist/TimeField.module.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {DatePickerSegment as $cfa347761f172638$export$6388987c5223b54e} from "./DatePickerSegment.module.js";
|
|
2
|
-
import "./styles.
|
|
2
|
+
import "./styles.b562cf4b.css";
|
|
3
3
|
import $immgY$styles_cssmodulejs from "./styles_css.module.js";
|
|
4
4
|
import {Input as $79348162c55d687f$export$f5b8910cec6cf069} from "./Input.module.js";
|
|
5
|
-
import {useFocusManagerRef as $04e96200274b03de$export$71a23a36270e4bf0} from "./utils.module.js";
|
|
5
|
+
import {useFocusManagerRef as $04e96200274b03de$export$71a23a36270e4bf0, useFormattedDateWidth as $04e96200274b03de$export$31e22e3c931fc056} from "./utils.module.js";
|
|
6
6
|
import {classNames as $immgY$classNames} from "@react-spectrum/utils";
|
|
7
7
|
import {Field as $immgY$Field} from "@react-spectrum/label";
|
|
8
8
|
import $immgY$react, {useRef as $immgY$useRef} from "react";
|
|
@@ -55,6 +55,7 @@ function $f0a04554754386b6$var$TimeField(props, ref) {
|
|
|
55
55
|
inputRef: inputRef
|
|
56
56
|
}, state, fieldRef);
|
|
57
57
|
let validationState = state.validationState || (isInvalid ? 'invalid' : null);
|
|
58
|
+
let approximateWidth = (0, $04e96200274b03de$export$31e22e3c931fc056)(state) + 'ch';
|
|
58
59
|
return /*#__PURE__*/ (0, $immgY$react).createElement((0, $immgY$Field), {
|
|
59
60
|
...props,
|
|
60
61
|
ref: domRef,
|
|
@@ -74,6 +75,7 @@ function $f0a04554754386b6$var$TimeField(props, ref) {
|
|
|
74
75
|
isQuiet: isQuiet,
|
|
75
76
|
autoFocus: autoFocus,
|
|
76
77
|
validationState: validationState,
|
|
78
|
+
minWidth: approximateWidth,
|
|
77
79
|
className: (0, $immgY$classNames)((0, ($parcel$interopDefault($immgY$styles_cssmodulejs))), 'react-spectrum-TimeField')
|
|
78
80
|
}, state.segments.map((segment, i)=>/*#__PURE__*/ (0, $immgY$react).createElement((0, $cfa347761f172638$export$6388987c5223b54e), {
|
|
79
81
|
key: i,
|