@react-spectrum/datepicker 3.0.0-alpha.2 → 3.0.0-alpha.5
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.css +1 -2
- package/dist/main.js +819 -842
- package/dist/main.js.map +1 -1
- package/dist/module.js +803 -751
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +17 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +22 -22
- package/src/DateField.tsx +9 -4
- package/src/DatePicker.tsx +13 -22
- package/src/DatePickerField.tsx +3 -3
- package/src/DatePickerSegment.tsx +7 -21
- package/src/DateRangePicker.tsx +15 -31
- package/src/Input.tsx +4 -7
- package/src/TimeField.tsx +8 -5
- package/src/index.css +13 -18
- package/dist/main.css.map +0 -1
|
@@ -11,19 +11,17 @@
|
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import {classNames} from '@react-spectrum/utils';
|
|
14
|
+
import {DateFieldState, DateSegment} from '@react-stately/datepicker';
|
|
14
15
|
import {DatePickerBase, DateValue} from '@react-types/datepicker';
|
|
15
|
-
import {DatePickerFieldState, DateSegment} from '@react-stately/datepicker';
|
|
16
16
|
import {NumberParser} from '@internationalized/number';
|
|
17
17
|
import React, {useMemo, useRef} from 'react';
|
|
18
18
|
import styles from './index.css';
|
|
19
19
|
import {useDateSegment} from '@react-aria/datepicker';
|
|
20
|
-
import {useFocusManager} from '@react-aria/focus';
|
|
21
20
|
import {useLocale} from '@react-aria/i18n';
|
|
22
|
-
import {usePress} from '@react-aria/interactions';
|
|
23
21
|
|
|
24
22
|
interface DatePickerSegmentProps extends DatePickerBase<DateValue> {
|
|
25
23
|
segment: DateSegment,
|
|
26
|
-
state:
|
|
24
|
+
state: DateFieldState
|
|
27
25
|
}
|
|
28
26
|
|
|
29
27
|
interface LiteralSegmentProps {
|
|
@@ -43,47 +41,35 @@ export function DatePickerSegment({segment, state, ...otherProps}: DatePickerSeg
|
|
|
43
41
|
}
|
|
44
42
|
|
|
45
43
|
function LiteralSegment({segment}: LiteralSegmentProps) {
|
|
46
|
-
let focusManager = useFocusManager();
|
|
47
|
-
let {pressProps} = usePress({
|
|
48
|
-
onPressStart: (e) => {
|
|
49
|
-
if (e.pointerType === 'mouse') {
|
|
50
|
-
let res = focusManager.focusNext({from: e.target as HTMLElement});
|
|
51
|
-
if (!res) {
|
|
52
|
-
focusManager.focusPrevious({from: e.target as HTMLElement});
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
|
|
58
44
|
return (
|
|
59
45
|
<span
|
|
60
46
|
aria-hidden="true"
|
|
61
47
|
className={classNames(styles, 'react-spectrum-Datepicker-literal')}
|
|
62
|
-
{...pressProps}
|
|
63
48
|
data-testid={segment.type === 'literal' ? undefined : segment.type}>
|
|
64
49
|
{segment.text}
|
|
65
50
|
</span>
|
|
66
51
|
);
|
|
67
52
|
}
|
|
68
53
|
|
|
69
|
-
function EditableSegment({segment, state
|
|
54
|
+
function EditableSegment({segment, state}: DatePickerSegmentProps) {
|
|
70
55
|
let ref = useRef();
|
|
71
|
-
let {segmentProps} = useDateSegment(
|
|
56
|
+
let {segmentProps} = useDateSegment(segment, state, ref);
|
|
72
57
|
let {locale} = useLocale();
|
|
73
58
|
let parser = useMemo(() => new NumberParser(locale), [locale]);
|
|
74
59
|
let isNumeric = useMemo(() => parser.isValidPartialNumber(segment.text), [segment.text, parser]);
|
|
75
60
|
return (
|
|
76
61
|
<div
|
|
62
|
+
{...segmentProps}
|
|
77
63
|
ref={ref}
|
|
78
64
|
className={classNames(styles, 'react-spectrum-DatePicker-cell', {
|
|
79
65
|
'is-placeholder': segment.isPlaceholder,
|
|
80
66
|
'is-read-only': !segment.isEditable
|
|
81
67
|
})}
|
|
82
68
|
style={{
|
|
69
|
+
...segmentProps.style,
|
|
83
70
|
minWidth: !isNumeric ? null : String(segment.maxValue).length + 'ch'
|
|
84
71
|
}}
|
|
85
|
-
data-testid={segment.type}
|
|
86
|
-
{...segmentProps}>
|
|
72
|
+
data-testid={segment.type}>
|
|
87
73
|
{segment.isPlaceholder ? '' : segment.text}
|
|
88
74
|
</div>
|
|
89
75
|
);
|
package/src/DateRangePicker.tsx
CHANGED
|
@@ -34,13 +34,16 @@ import {useHover} from '@react-aria/interactions';
|
|
|
34
34
|
import {useLocale} from '@react-aria/i18n';
|
|
35
35
|
import {useProviderProps} from '@react-spectrum/provider';
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* DateRangePickers combine two DateFields and a RangeCalendar popover to allow users
|
|
39
|
+
* to enter or select a date and time range.
|
|
40
|
+
*/
|
|
37
41
|
export function DateRangePicker<T extends DateValue>(props: SpectrumDateRangePickerProps<T>) {
|
|
38
42
|
props = useProviderProps(props);
|
|
39
43
|
let {
|
|
40
44
|
isQuiet,
|
|
41
45
|
isDisabled,
|
|
42
46
|
isReadOnly,
|
|
43
|
-
isRequired,
|
|
44
47
|
autoFocus,
|
|
45
48
|
placeholderValue,
|
|
46
49
|
maxVisibleMonths = 1,
|
|
@@ -49,9 +52,12 @@ export function DateRangePicker<T extends DateValue>(props: SpectrumDateRangePic
|
|
|
49
52
|
let {styleProps} = useStyleProps(otherProps);
|
|
50
53
|
let {hoverProps, isHovered} = useHover({isDisabled});
|
|
51
54
|
let targetRef = useRef<HTMLDivElement>();
|
|
52
|
-
let state = useDateRangePickerState(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
let state = useDateRangePickerState({
|
|
56
|
+
...props,
|
|
57
|
+
shouldCloseOnSelect: () => !state.hasTime
|
|
58
|
+
});
|
|
59
|
+
let {labelProps, groupProps, buttonProps, dialogProps, startFieldProps, endFieldProps, descriptionProps, errorMessageProps, calendarProps} = useDateRangePicker(props, state, targetRef);
|
|
60
|
+
let {isOpen, setOpen} = state;
|
|
55
61
|
let {direction} = useLocale();
|
|
56
62
|
|
|
57
63
|
let {isFocused, isFocusVisible, focusProps} = useFocusRing({
|
|
@@ -102,6 +108,7 @@ export function DateRangePicker<T extends DateValue>(props: SpectrumDateRangePic
|
|
|
102
108
|
return (
|
|
103
109
|
<Field
|
|
104
110
|
{...props}
|
|
111
|
+
elementType="span"
|
|
105
112
|
ref={targetRef}
|
|
106
113
|
description={description}
|
|
107
114
|
labelProps={labelProps}
|
|
@@ -117,37 +124,18 @@ export function DateRangePicker<T extends DateValue>(props: SpectrumDateRangePic
|
|
|
117
124
|
isDisabled={isDisabled}
|
|
118
125
|
isQuiet={isQuiet}
|
|
119
126
|
validationState={state.validationState}
|
|
120
|
-
autoFocus={autoFocus}
|
|
121
127
|
className={classNames(styles, 'spectrum-InputGroup-field')}
|
|
122
128
|
inputClassName={fieldClassName}>
|
|
123
129
|
<DatePickerField
|
|
124
130
|
{...startFieldProps}
|
|
131
|
+
data-testid="start-date"
|
|
125
132
|
isQuiet={props.isQuiet}
|
|
126
|
-
isDisabled={isDisabled}
|
|
127
|
-
isReadOnly={isReadOnly}
|
|
128
|
-
isRequired={isRequired}
|
|
129
|
-
validationState={state.validationState}
|
|
130
|
-
placeholderValue={placeholderValue}
|
|
131
|
-
value={value?.start || null}
|
|
132
|
-
defaultValue={null}
|
|
133
|
-
onChange={start => state.setDateTime('start', start)}
|
|
134
|
-
granularity={props.granularity}
|
|
135
|
-
hourCycle={props.hourCycle}
|
|
136
133
|
inputClassName={classNames(datepickerStyles, 'react-spectrum-Datepicker-startField')} />
|
|
137
134
|
<DateRangeDash />
|
|
138
135
|
<DatePickerField
|
|
139
136
|
{...endFieldProps}
|
|
137
|
+
data-testid="end-date"
|
|
140
138
|
isQuiet={props.isQuiet}
|
|
141
|
-
isDisabled={isDisabled}
|
|
142
|
-
isReadOnly={isReadOnly}
|
|
143
|
-
isRequired={isRequired}
|
|
144
|
-
validationState={state.validationState}
|
|
145
|
-
placeholderValue={placeholderValue}
|
|
146
|
-
value={value?.end || null}
|
|
147
|
-
defaultValue={null}
|
|
148
|
-
onChange={end => state.setDateTime('end', end)}
|
|
149
|
-
granularity={props.granularity}
|
|
150
|
-
hourCycle={props.hourCycle}
|
|
151
139
|
inputClassName={classNames(
|
|
152
140
|
styles,
|
|
153
141
|
'spectrum-Datepicker-endField',
|
|
@@ -176,12 +164,8 @@ export function DateRangePicker<T extends DateValue>(props: SpectrumDateRangePic
|
|
|
176
164
|
<Dialog UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-dialog')} {...dialogProps}>
|
|
177
165
|
<Content UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-dialogContent')}>
|
|
178
166
|
<RangeCalendar
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
onChange={state.setDateRange}
|
|
182
|
-
visibleMonths={visibleMonths}
|
|
183
|
-
minValue={props.minValue}
|
|
184
|
-
maxValue={props.maxValue} />
|
|
167
|
+
{...calendarProps}
|
|
168
|
+
visibleMonths={visibleMonths} />
|
|
185
169
|
{showTimeField &&
|
|
186
170
|
<Flex gap="size-100" marginTop="size-100" UNSAFE_className={classNames(datepickerStyles, 'react-spectrum-Datepicker-timeFields')}>
|
|
187
171
|
<TimeField
|
package/src/Input.tsx
CHANGED
|
@@ -14,10 +14,10 @@ import Alert from '@spectrum-icons/ui/AlertMedium';
|
|
|
14
14
|
import Checkmark from '@spectrum-icons/ui/CheckmarkMedium';
|
|
15
15
|
import {classNames, useValueEffect} from '@react-spectrum/utils';
|
|
16
16
|
import datepickerStyles from './index.css';
|
|
17
|
-
import {FocusRing
|
|
18
|
-
import {mergeProps, useEvent, useLayoutEffect, useResizeObserver} from '@react-aria/utils';
|
|
17
|
+
import {FocusRing} from '@react-aria/focus';
|
|
19
18
|
import React, {useCallback, useRef} from 'react';
|
|
20
19
|
import textfieldStyles from '@adobe/spectrum-css-temp/components/textfield/vars.css';
|
|
20
|
+
import {useEvent, useLayoutEffect, useResizeObserver} from '@react-aria/utils';
|
|
21
21
|
|
|
22
22
|
export function Input(props) {
|
|
23
23
|
let defaultRef = useRef();
|
|
@@ -30,7 +30,6 @@ export function Input(props) {
|
|
|
30
30
|
fieldProps,
|
|
31
31
|
inputRef = defaultRef,
|
|
32
32
|
className,
|
|
33
|
-
autoFocus,
|
|
34
33
|
style
|
|
35
34
|
} = props;
|
|
36
35
|
|
|
@@ -113,13 +112,11 @@ export function Input(props) {
|
|
|
113
112
|
}
|
|
114
113
|
|
|
115
114
|
return (
|
|
116
|
-
<div {...
|
|
115
|
+
<div role="presentation" {...fieldProps} className={textfieldClass} style={style}>
|
|
117
116
|
<FocusRing focusClass={classNames(textfieldStyles, 'is-focused')} focusRingClass={classNames(textfieldStyles, 'focus-ring')} isTextInput within>
|
|
118
117
|
<div role="presentation" className={inputClass}>
|
|
119
118
|
<div role="presentation" className={classNames(datepickerStyles, 'react-spectrum-Datepicker-inputContents')} ref={inputRef}>
|
|
120
|
-
|
|
121
|
-
{children}
|
|
122
|
-
</FocusScope>
|
|
119
|
+
{children}
|
|
123
120
|
</div>
|
|
124
121
|
</div>
|
|
125
122
|
</FocusRing>
|
package/src/TimeField.tsx
CHANGED
|
@@ -11,18 +11,21 @@
|
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import {classNames} from '@react-spectrum/utils';
|
|
14
|
-
import {createCalendar} from '@internationalized/date';
|
|
15
14
|
import {DatePickerSegment} from './DatePickerSegment';
|
|
16
15
|
import datepickerStyles from './index.css';
|
|
17
16
|
import {Field} from '@react-spectrum/label';
|
|
18
17
|
import {Input} from './Input';
|
|
19
18
|
import React, {useRef} from 'react';
|
|
20
19
|
import {SpectrumTimePickerProps, TimeValue} from '@react-types/datepicker';
|
|
21
|
-
import {useDateField} from '@react-aria/datepicker';
|
|
22
20
|
import {useLocale} from '@react-aria/i18n';
|
|
23
21
|
import {useProviderProps} from '@react-spectrum/provider';
|
|
22
|
+
import {useTimeField} from '@react-aria/datepicker';
|
|
24
23
|
import {useTimeFieldState} from '@react-stately/datepicker';
|
|
25
24
|
|
|
25
|
+
/**
|
|
26
|
+
* TimeFields allow users to enter and edit time values using a keyboard.
|
|
27
|
+
* Each part of the time is displayed in an individually editable segment.
|
|
28
|
+
*/
|
|
26
29
|
export function TimeField<T extends TimeValue>(props: SpectrumTimePickerProps<T>) {
|
|
27
30
|
props = useProviderProps(props);
|
|
28
31
|
let {
|
|
@@ -37,15 +40,15 @@ export function TimeField<T extends TimeValue>(props: SpectrumTimePickerProps<T>
|
|
|
37
40
|
let {locale} = useLocale();
|
|
38
41
|
let state = useTimeFieldState({
|
|
39
42
|
...props,
|
|
40
|
-
locale
|
|
41
|
-
createCalendar
|
|
43
|
+
locale
|
|
42
44
|
});
|
|
43
45
|
|
|
44
|
-
let {labelProps, fieldProps, descriptionProps, errorMessageProps} =
|
|
46
|
+
let {labelProps, fieldProps, descriptionProps, errorMessageProps} = useTimeField(props, state, ref);
|
|
45
47
|
|
|
46
48
|
return (
|
|
47
49
|
<Field
|
|
48
50
|
{...props}
|
|
51
|
+
elementType="span"
|
|
49
52
|
labelProps={labelProps}
|
|
50
53
|
descriptionProps={descriptionProps}
|
|
51
54
|
errorMessageProps={errorMessageProps}
|
package/src/index.css
CHANGED
|
@@ -10,9 +10,10 @@
|
|
|
10
10
|
* governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
.react-spectrum-Datepicker-fieldWrapper.react-spectrum-Datepicker-fieldWrapper {
|
|
13
|
+
.react-spectrum-Datepicker-fieldWrapper.react-spectrum-Datepicker-fieldWrapper.react-spectrum-Datepicker-fieldWrapper {
|
|
14
14
|
width: auto;
|
|
15
15
|
min-width: var(--spectrum-global-dimension-size-2000);
|
|
16
|
+
max-width: 100%;
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
.react-spectrum-Datepicker-startField {
|
|
@@ -45,7 +46,7 @@
|
|
|
45
46
|
min-width: var(--spectrum-global-dimension-size-1250);
|
|
46
47
|
}
|
|
47
48
|
|
|
48
|
-
.react-spectrum-TimeField-fieldWrapper.react-spectrum-TimeField-fieldWrapper {
|
|
49
|
+
.react-spectrum-TimeField-fieldWrapper.react-spectrum-TimeField-fieldWrapper.react-spectrum-TimeField-fieldWrapper {
|
|
49
50
|
width: auto;
|
|
50
51
|
min-width: var(--spectrum-global-dimension-size-1250);
|
|
51
52
|
}
|
|
@@ -53,6 +54,7 @@
|
|
|
53
54
|
.react-spectrum-Datepicker-input.react-spectrum-Datepicker-input {
|
|
54
55
|
/* always reserve space for the validation icon */
|
|
55
56
|
padding-inline-end: calc(var(--spectrum-textfield-padding-x) + var(--spectrum-icon-alert-medium-width) + var(--spectrum-textfield-icon-margin-left));
|
|
57
|
+
cursor: text;
|
|
56
58
|
}
|
|
57
59
|
|
|
58
60
|
.react-spectrum-Datepicker-inputContents {
|
|
@@ -105,15 +107,8 @@
|
|
|
105
107
|
}
|
|
106
108
|
}
|
|
107
109
|
|
|
108
|
-
.react-spectrum-DatePicker-cell:focus {
|
|
109
|
-
background-color: var(--spectrum-global-color-static-blue);
|
|
110
|
-
color: white;
|
|
111
|
-
caret-color: transparent;
|
|
112
|
-
outline: none;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
110
|
.react-spectrum-DatePicker-cell.is-placeholder {
|
|
116
|
-
color: var(--spectrum-
|
|
111
|
+
color: var(--react-spectrum-datepicker-placeholder-color);
|
|
117
112
|
|
|
118
113
|
&:before {
|
|
119
114
|
content: attr(aria-placeholder);
|
|
@@ -124,18 +119,18 @@
|
|
|
124
119
|
color: var(--spectrum-textfield-placeholder-text-color, var(--spectrum-global-color-gray-600));
|
|
125
120
|
}
|
|
126
121
|
|
|
127
|
-
.react-spectrum-DatePicker-cell.is-placeholder:focus {
|
|
128
|
-
color: var(--spectrum-global-color-static-gray-400);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
122
|
.react-spectrum-DatePicker-cell.is-read-only {
|
|
132
123
|
color: var(--spectrum-global-color-gray-700);
|
|
133
|
-
&:focus {
|
|
134
|
-
color: var(--spectrum-global-color-static-gray-300);
|
|
135
|
-
}
|
|
136
124
|
}
|
|
137
125
|
|
|
138
|
-
.react-spectrum-
|
|
126
|
+
.react-spectrum-DatePicker-cell:focus {
|
|
127
|
+
background-color: var(--spectrum-global-color-static-blue);
|
|
128
|
+
color: white;
|
|
129
|
+
caret-color: transparent;
|
|
130
|
+
outline: none;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.react-spectrum-Datepicker-dialog.react-spectrum-Datepicker-dialog {
|
|
139
134
|
width: auto;
|
|
140
135
|
}
|
|
141
136
|
|
package/dist/main.css.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"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","sources":["./packages/@react-spectrum/datepicker/src/index.css","./node_modules/@adobe/spectrum-css-temp/components/textfield/index.css","./node_modules/@adobe/spectrum-css-temp/components/textfield/skin.css","./node_modules/@adobe/spectrum-css-temp/components/inputgroup/index.css","./node_modules/@adobe/spectrum-css-temp/components/inputgroup/skin.css"],"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.react-spectrum-Datepicker-fieldWrapper.react-spectrum-Datepicker-fieldWrapper {\n width: auto;\n min-width: var(--spectrum-global-dimension-size-2000);\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 {\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}\n\n.react-spectrum-Datepicker-inputContents {\n display: flex;\n align-items: center;\n /* width: auto; */\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-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-cell.is-placeholder {\n color: var(--spectrum-textfield-placeholder-text-color, var(--spectrum-global-color-gray-600));\n\n &:before {\n content: attr(aria-placeholder);\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-placeholder:focus {\n color: var(--spectrum-global-color-static-gray-400);\n}\n\n.react-spectrum-DatePicker-cell.is-read-only {\n color: var(--spectrum-global-color-gray-700);\n &:focus {\n color: var(--spectrum-global-color-static-gray-300);\n }\n}\n\n.react-spectrum-Datepicker-dialog {\n width: auto;\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 display: flex;\n flex-direction: column;\n align-items: center;\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","/*\nCopyright 2019 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n@import '../commons/index.css';\n\n:root {\n --spectrum-textfield-padding-top: 3px;\n --spectrum-textfield-padding-bottom: 5px;\n\n /* Todo fix in DNA */\n --spectrum-textfield-quiet-border-radius: 0;\n\n --spectrum-textfield-quiet-invalid-background-position: 100% 50%;\n\n --spectrum-textfield-multiline-height: auto;\n --spectrum-textfield-multiline-min-height: var(--spectrum-global-dimension-size-700);\n\n --spectrum-textfield-multiline-padding-x: var(--spectrum-textfield-padding-x);\n --spectrum-textfield-multiline-padding-top: var(--spectrum-textfield-padding-top);\n --spectrum-textfield-multiline-padding-bottom: var(--spectrum-textfield-padding-bottom);\n\n /* Todo: DNA uses incorrect font family \"Adobe Clean\" */;\n --spectrum-textfield-text-font-family-fixed: var(--spectrum-font-family-base);\n}\n\n.spectrum-Textfield {\n display: inline-flex;\n position: relative;\n min-width: var(--spectrum-textfield-min-width);\n width: var(--spectrum-component-single-line-width);\n\n &:not(.spectrum-Textfield--quiet).spectrum-Textfield--multiline .spectrum-Textfield-input:not(:disabled) {\n resize: vertical;\n }\n\n &.spectrum-Textfield--quiet.spectrum-Textfield--multiline .spectrum-Textfield-input {\n height: var(--spectrum-textfield-height);\n min-height: var(--spectrum-textfield-height);\n overflow-x: hidden;\n }\n}\n\n.spectrum-Textfield-input {\n /* box */\n box-sizing: border-box;\n border: var(--spectrum-textfield-border-size) solid;\n border-radius: var(--spectrum-textfield-border-radius);\n\n /* Apply padding by default to center text, giving consistency between input and textfield */\n padding: var(--spectrum-textfield-padding-top) var(--spectrum-textfield-padding-x) var(--spectrum-textfield-padding-bottom) calc(var(--spectrum-textfield-padding-x) - 1px);\n /* Use padding instead of text-indent because text-indent does not left align the text in Edge browser */\n text-indent: 0;\n\n inline-size: 100%;\n height: var(--spectrum-textfield-height);\n\n vertical-align: top; /* used to align them correctly in forms. */\n\n /* Remove the margin for input in Firefox and Safari. */\n margin: 0;\n\n /* Show the overflow for input in Edge. */\n overflow: visible;\n\n /* Change the input font styles in all browsers */\n font-family: var(--spectrum-textfield-text-font-family-fixed);\n font-size: var(--spectrum-textfield-text-size);\n line-height: var(--spectrum-textfield-text-line-height);\n text-overflow: ellipsis;\n\n transition: border-color var(--spectrum-global-animation-duration-100) ease-in-out,\n box-shadow var(--spectrum-global-animation-duration-100) ease-in-out;\n\n outline: none;\n\n -webkit-appearance: none;\n /*\n Removes the native spin buttons in Firefox; -moz-appearance: none results in spinners.\n This has to come after -webkit-appearance or it gets overridden (#214)\n Details: http://stackoverflow.com/questions/23372903/hide-spinner-in-input-number-firefox-29\n\n Sets the opacity to 1 as normalize.css sets an opacity to placeholders\n Details: https://github.com/csstools/normalize.css/blob/master/normalize.css#L297\n */\n -moz-appearance: textfield;\n\n &::placeholder,\n &.is-placeholder {\n font-weight: var(--spectrum-textfield-placeholder-text-font-weight);\n font-style: var(--spectrum-textfield-placeholder-text-font-style);\n font-synthesis: none;\n transition: color var(--spectrum-global-animation-duration-100) ease-in-out;\n opacity: 1;\n }\n\n /* added to work with Edge, note, it needs double ::\n * not single : which is what autoprefixer will add\n */\n &::-ms-input-placeholder {\n font-weight: var(--spectrum-textfield-placeholder-text-font-weight);\n font-style: var(--spectrum-textfield-placeholder-text-font-style);\n transition: color var(--spectrum-global-animation-duration-100) ease-in-out;\n opacity: 1;\n }\n\n /* placeholder gets clipped for synthetic italics, we rely on font-synthesis once\n * chrome supports it https://bugs.chromium.org/p/chromium/issues/detail?id=509989\n */\n &:lang(ja), &:lang(zh), &:lang(ko), &:lang(ar), &:lang(he) {\n &::placeholder,\n &.is-placeholder {\n font-style: normal;\n }\n &::-ms-input-placeholder { /* added to work with Edge, same as above */\n font-style: normal;\n }\n }\n\n &:hover {\n &::placeholder {\n font-weight: var(--spectrum-textfield-placeholder-text-font-weight);\n }\n }\n\n &:disabled {\n /* Disable the resize functionality when disabled */\n resize: none;\n\n /* The opacity must be set to 1 */\n opacity: 1;\n &::placeholder,\n &.is-placeholder {\n font-weight: var(--spectrum-textfield-placeholder-text-font-weight);\n }\n }\n\n /* Remove the native clear button in IE */\n /* http://stackoverflow.com/questions/14007655/remove-ie10s-clear-field-x-button-on-certain-inputs */\n &::-ms-clear {\n width: 0;\n height: 0;\n }\n\n /* removes the native spin buttons */\n /* http://stackoverflow.com/questions/23372903/hide-spinner-in-input-number-firefox-29 */\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n /* removes the red border that appears in Firefox */\n &:-moz-ui-invalid {\n box-shadow: none;\n }\n\n .spectrum-Textfield--multiline & {\n height: var(--spectrum-textfield-multiline-height);\n min-height: var(--spectrum-textfield-multiline-min-height);\n padding: var(--spectrum-textfield-multiline-padding-top) var(--spectrum-textfield-multiline-padding-x) var(--spectrum-textfield-multiline-padding-bottom) calc(var(--spectrum-textfield-multiline-padding-x) - 1px);\n\n /* Remove the default vertical scrollbar for textarea in IE. */\n overflow: auto;\n }\n\n .spectrum-Textfield--quiet & {\n border-radius: var(--spectrum-textfield-quiet-border-radius);\n border-width: 0 0 var(--spectrum-textfield-quiet-border-size) 0;\n\n /* removes the side padding to align the text properly */\n padding-inline-start: var(--spectrum-textfield-quiet-padding-x);\n padding-inline-end: var(--spectrum-textfield-quiet-padding-x);\n\n /* Treat all quiet inputs and textareas the same */\n resize: none;\n overflow-y: hidden;\n }\n\n .spectrum-Textfield--valid & {\n padding-inline-end: calc(var(--spectrum-textfield-padding-x) + var(--spectrum-icon-checkmark-medium-width) + var(--spectrum-textfield-icon-margin-left));\n }\n\n .spectrum-Textfield--invalid & {\n padding-inline-end: calc(var(--spectrum-textfield-padding-x) + var(--spectrum-icon-alert-medium-width) + var(--spectrum-textfield-icon-margin-left));\n }\n\n .spectrum-Textfield--loadable & {\n padding-inline-end: calc(var(--spectrum-textfield-padding-x) + var(--spectrum-icon-alert-medium-width) + var(--spectrum-textfield-icon-margin-left));\n }\n}\n\n.spectrum-Textfield-validationIcon {\n /* TODO: Confirm if this is ok for the validation icon sizing\n Note that the sizes are a bit different when compared with old background icons(more noticable for checkmark)\n */\n position: absolute;\n padding-inline-end: calc(var(--spectrum-textfield-padding-x, var(--spectrum-global-dimension-size-150)) / 2);\n pointer-events: all;\n transition: color var(--spectrum-global-animation-duration-100) ease-in-out;\n\n .spectrum-Textfield--quiet & {\n padding-inline-end: 0;\n }\n}\n\n.spectrum-Textfield--invalid .spectrum-Textfield-validationIcon {\n width: var(--spectrum-icon-alert-medium-width);\n height: var(--spectrum-icon-alert-medium-height);\n top: calc(calc(var(--spectrum-textfield-icon-frame) / 2) - calc(var(--spectrum-icon-alert-medium-height) / 2));\n inset-inline-end: calc(calc(var(--spectrum-textfield-icon-frame) / 2) - calc(var(--spectrum-icon-alert-medium-width) / 2));\n}\n.spectrum-Textfield--valid .spectrum-Textfield-validationIcon {\n width: var(--spectrum-icon-checkmark-medium-width);\n height: var(--spectrum-icon-checkmark-medium-height);\n top: calc(calc(var(--spectrum-textfield-icon-frame) / 2) - calc(var(--spectrum-icon-checkmark-medium-height) / 2));\n inset-inline-end: var(--spectrum-global-dimension-size-150);\n}\n\n/* styles the left icon for textfield, assumes usage of workflow icon sizing (18px by 18px) */\n.spectrum-Textfield-icon {\n display: block;\n position: absolute;\n height: var(--spectrum-icon-info-medium-height);\n width: var(--spectrum-icon-info-medium-width);\n /* This has a named variable in a future update of spectrum-css. */\n inset-inline-start: var(--spectrum-global-dimension-size-150);\n top: var(--spectrum-global-dimension-size-85);\n transition: fill var(--spectrum-global-animation-duration-100) ease-in-out;\n}\n\n/* styles the textfield properly if the left icon is provided */\n.spectrum-Textfield-inputIcon {\n /* Use padding instead of text-indent so long strings don't overlap the icon */\n /* These values have real names in a spectrum-css update, when we update, use those. */\n padding-inline-start: calc(\n var(--spectrum-global-dimension-size-150) +\n var(--spectrum-global-dimension-size-225) +\n var(--spectrum-global-dimension-size-65)\n );\n\n .spectrum-Textfield--quiet & {\n padding-inline-start: calc(var(--spectrum-global-dimension-size-100) + var(--spectrum-icon-info-medium-width));\n\n /* Since quiet button has no left padding, push the icon all the way to the left */\n & ~ .spectrum-Textfield-icon {\n inset-inline-start: 0;\n }\n }\n\n &.spectrum-Textfield--multiline {\n height: var(--spectrum-textfield-height);\n min-height: var(--spectrum-textfield-height);\n }\n}\n\n\n/* same positioning as invalid icon */\n.spectrum-Textfield--loadable .spectrum-Textfield-circleLoader {\n position: absolute;\n top: calc(calc(var(--spectrum-textfield-icon-frame) / 2) - calc(var(--spectrum-loader-circle-small-width) / 2));\n /* can't use padding right since it breaks the circle loader so add here */\n inset-inline-end: calc(calc(calc(var(--spectrum-textfield-icon-frame) / 2) - calc(var(--spectrum-icon-alert-medium-width) / 2)) + calc(var(--spectrum-textfield-padding-x, var(--spectrum-global-dimension-size-150)) / 2));\n\n .spectrum-Textfield--quiet& {\n padding-inline-end: 0;\n }\n}\n","/*\nCopyright 2019 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n.spectrum-Textfield-input {\n background-color: var(--spectrum-textfield-background-color);\n border-color: var(--spectrum-textfield-border-color);\n color: var(--spectrum-textfield-text-color);\n\n &::placeholder,\n &.is-placeholder {\n color: var(--spectrum-textfield-placeholder-text-color);\n }\n\n &:hover {\n border-color: var(--spectrum-textfield-border-color-hover);\n box-shadow: none;\n\n &::placeholder,\n &.is-placeholder {\n color: var(--spectrum-textfield-placeholder-text-color-hover);\n }\n\n & ~ .spectrum-Textfield-icon {\n fill: var(--spectrum-textfield-icon-color-hover);\n }\n }\n\n &:active {\n background-color: var(--spectrum-textfield-background-color-down);\n border-color: var(--spectrum-textfield-border-color-down);\n color: var(--spectrum-textfield-text-color-down);\n\n &::placeholder,\n &.is-placeholder {\n color: var(--spectrum-textfield-placeholder-text-color-down);\n }\n\n & ~ .spectrum-Textfield-icon {\n fill: var(--spectrum-textfield-icon-color-down);\n }\n }\n\n &:focus,\n &.is-focused {\n border-color: var(--spectrum-textfield-border-color-down);\n }\n\n &:focus-ring {\n &:not(:active) {\n border-color: var(--spectrum-textfield-border-color-key-focus);\n box-shadow: 0 0 0 1px var(--spectrum-textfield-border-color-key-focus);\n }\n }\n\n &[disabled],\n &.is-disabled {\n background-color: var(--spectrum-textfield-background-color-disabled);\n border-color: var(--spectrum-textfield-border-color-disabled);\n color: var(--spectrum-textfield-text-color-disabled);\n\n /* For safari mobile browser */\n -webkit-text-fill-color: var(--spectrum-textfield-text-color-disabled);\n\n &::placeholder,\n &.is-placeholder {\n color: var(--spectrum-textfield-placeholder-text-color-disabled);\n }\n\n & ~ .spectrum-Textfield-icon {\n fill: var(--spectrum-textfield-icon-color-disabled);\n }\n }\n\n &.spectrum-Textfield--invalid {\n border-color: var(--spectrum-textfield-border-color-error);\n\n &:hover {\n border-color: var(--spectrum-textfield-border-color-error-hover);\n }\n\n &:active {\n border-color: var(--spectrum-textfield-border-color-error-down);\n }\n\n &:focus-ring { /* might break things due to pre-defined focus-ring */\n &:not(:active) {\n border-color: var(--spectrum-textfield-border-color-error);\n box-shadow: 0 0 0 1px var(--spectrum-textfield-border-color-error);\n }\n }\n }\n\n .spectrum-Textfield--quiet & {\n background-color: var(--spectrum-textfield-quiet-background-color);\n border-color: var(--spectrum-textfield-quiet-border-color);\n\n &:hover {\n border-color: var(--spectrum-textfield-quiet-border-color-hover);\n }\n\n &:active {\n border-color: var(--spectrum-textfield-quiet-border-color-down);\n }\n\n &:focus,\n &.is-focused {\n border-color: var(--spectrum-textfield-quiet-border-color-key-focus);\n }\n\n &:focus-ring {\n &:not(:active) {\n border-color: var(--spectrum-textfield-border-color-key-focus);\n box-shadow: 0 1px 0 var(--spectrum-textfield-border-color-key-focus);\n }\n }\n\n &:disabled,\n &.is-disabled {\n background-color: var(--spectrum-textfield-quiet-background-color-disabled);\n border-color: var(--spectrum-textfield-quiet-border-color-disabled);\n }\n }\n\n .spectrum-Textfield.spectrum-Textfield--invalid & {\n border-color: var(--spectrum-textfield-border-color-error);\n\n &:focus-ring { /* might break things due to pre-defined focus-ring */\n &:not(:active) {\n border-color: var(--spectrum-textfield-border-color-error);\n box-shadow: 0 0 0 1px var(--spectrum-textfield-border-color-error);\n }\n }\n }\n\n .spectrum-Textfield--quiet.spectrum-Textfield--invalid & {\n &:focus-ring { /* might break things due to pre-defined focus-ring */\n &:not(:active) {\n box-shadow: 0 1px 0 var(--spectrum-textfield-border-color-error);\n }\n }\n }\n\n}\n\n.spectrum-Textfield-icon {\n fill: var(--spectrum-textfield-icon-color);\n}\n\n.spectrum-Textfield-validationIcon {\n .spectrum-Textfield--valid & {\n fill: var(--spectrum-alert-success-icon-color);\n }\n\n .spectrum-Textfield--invalid & {\n fill: var(--spectrum-alert-error-icon-color);\n }\n}\n","/*\nCopyright 2019 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n@import '../commons/index.css';\n\n:root {\n /* Todo: move to DNA */\n --spectrum-combobox-quiet-fieldbutton-border-radius: 0;\n --spectrum-combobox-quiet-fieldbutton-padding-right: 0;\n --spectrum-combobox-quiet-fieldbutton-padding-left: var(--spectrum-global-dimension-size-130);\n --spectrum-combobox-validation-icon-right: var(--spectrum-global-dimension-size-100);\n --spectrum-datepicker-input-width: calc(var(--spectrum-global-dimension-size-1600) - 2 * var(--spectrum-padding));\n --spectrum-datepicker-datetime-input-width: calc(var(--spectrum-datepicker-input-width) + var(--spectrum-global-dimension-size-700) - var(--spectrum-global-dimension-static-font-size-100) / 2);\n --spectrum-datepicker-range-dash-margin-left: calc(-0.5 * var(--spectrum-global-dimension-static-font-size-100));\n --spectrum-datepicker-range-dash-padding-top: 0;\n --spectrum-datepicker-range-dash-line-height: calc(var(--spectrum-textfield-height) - var(--spectrum-global-dimension-size-100));\n\n --spectrum-combobox-button-width: var(--spectrum-global-dimension-size-400);\n}\n\n.spectrum-InputGroup {\n position: relative;\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n min-width: calc(2.5 * var(--spectrum-dropdown-height));\n border-radius: var(--spectrum-border-radius);\n\n .spectrum-FieldButton {\n padding: 0;\n inline-size: var(--spectrum-combobox-button-width);\n border-start-start-radius: var(--spectrum-combobox-fieldbutton-border-top-left-radius);\n border-end-start-radius: var(--spectrum-combobox-fieldbutton-border-bottom-left-radius);\n border-width: 1px;\n flex-shrink: 0;\n }\n\n /* Quiet or invalid inputgroup field button should always have a border width. */\n &.is-disabled:not(.spectrum-InputGroup--invalid):not(.spectrum-InputGroup--quiet) {\n .spectrum-FieldButton {\n border-width: 0;\n }\n }\n\n .spectrum-InputGroup-field {\n .spectrum-InputGroup-input-validationIcon {\n padding-inline-end: 0;\n inset-inline-end: var(--spectrum-combobox-validation-icon-right);\n }\n\n .spectrum-InputGroup-input-circleLoader {\n padding-inline-end: 0;\n inset-inline-end: var(--spectrum-combobox-validation-icon-right);\n }\n }\n}\n\n.spectrum-InputGroup-field {\n flex: 1 1 auto;\n}\n\n.spectrum-InputGroup-input {\n border-start-end-radius: var(--spectrum-combobox-textfield-border-top-right-radius);\n border-end-end-radius: var(--spectrum-combobox-textfield-border-bottom-right-radius);\n border-inline-end-style: none;\n}\n\n.spectrum-InputGroup--quiet {\n border-radius: var(--spectrum-combobox-quiet-fieldbutton-border-radius);\n min-width: calc(2 * var(--spectrum-dropdown-height));\n\n .spectrum-FieldButton {\n inline-size: auto;\n position: relative;\n\n padding-inline-start: var(--spectrum-combobox-quiet-fieldbutton-padding-left);\n padding-inline-end: var(--spectrum-combobox-quiet-fieldbutton-padding-right);\n border-width: 0;\n border-bottom: var(--spectrum-textfield-quiet-affixed-border-size) solid;\n border-radius: var(--spectrum-combobox-quiet-fieldbutton-border-radius);\n\n /* More hitarea */\n &:after {\n content: '';\n position: absolute;\n block-size: 100%;\n inline-size: 10px;\n inset-inline-end: -10px;\n }\n }\n\n .spectrum-InputGroup-icon {\n inset-inline-end: 0;\n }\n\n &.is-disabled {\n .spectrum-FieldButton {\n border-bottom-width: 1px;\n }\n }\n\n .spectrum-InputGroup-field {\n .spectrum-InputGroup-input-validationIcon {\n padding-inline-end: 0;\n inset-inline-end: 0;\n }\n\n .spectrum-InputGroup-input-circleLoader {\n padding-inline-end: 0;\n inset-inline-end: var(--spectrum-global-dimension-size-10);\n }\n }\n}\n\n.spectrum-InputGroup-popover--quiet {\n /* Define this var so it can be read from JS */\n --spectrum-dropdown-quiet-offset: calc(var(--spectrum-dropdown-quiet-popover-offset-x) + var(--spectrum-popover-border-size));\n margin-inline-end: calc(var(--spectrum-dropdown-quiet-offset) * -1);\n}\n\n.spectrum-Datepicker--range {\n border-radius: var(--spectrum-border-radius);\n /* Input Group */\n &.spectrum-InputGroup--quiet {\n border-radius: var(--spectrum-combobox-quiet-fieldbutton-border-radius);\n .spectrum-FieldButton {\n border-radius: var(--spectrum-combobox-quiet-fieldbutton-border-radius);\n }\n }\n /* Datetime Range */\n &.spectrum-Datepicker--datetimeRange {\n /* Inputs */\n .spectrum-InputGroup-field {\n width: var(--spectrum-datepicker-datetime-input-width);\n min-width: var(--spectrum-datepicker-datetime-input-width);\n }\n }\n /* Inputs */\n .spectrum-InputGroup-field {\n width: var(--spectrum-datepicker-input-width);\n min-width: var(--spectrum-datepicker-input-width);\n flex: initial;\n }\n .spectrum-Datepicker-startField {\n .spectrum-InputGroup-field {\n border-inline-end: 0;\n padding-inline-end: var(--spectrum-padding);\n }\n\n svg {\n display: none;\n }\n }\n .spectrum-Datepicker-endField {\n .spectrum-InputGroup-input {\n flex: 1;\n border-inline-start: 0;\n border-radius: 0;\n padding-inline-start: var(--spectrum-padding);\n }\n }\n /* Em dash */\n .spectrum-Datepicker--rangeDash {\n line-height: var(--spectrum-datepicker-range-dash-line-height);\n padding-top: var(--spectrum-datepicker-range-dash-padding-top);\n flex: initial;\n width: 0;\n z-index: 1;\n &:before {\n content: '–';\n display: inline-block;\n margin: 0 var(--spectrum-datepicker-range-dash-margin-left);\n overflow: hidden;\n text-align: center;\n vertical-align: middle;\n width: var(--spectrum-global-dimension-static-font-size-100);\n }\n }\n /* Focus ring */\n &.is-focused {\n .spectrum-Datepicker-focusRing {\n position: absolute;\n border-radius: var(--spectrum-border-radius);\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n pointer-events: none;\n }\n }\n &.spectrum-InputGroup--quiet {\n &.is-focused {\n .spectrum-Datepicker-focusRing {\n border-radius: var(--spectrum-combobox-quiet-fieldbutton-border-radius);\n top: auto;\n }\n }\n .spectrum-Datepicker--rangeDash {\n &:before {\n margin-inline-start: var(--spectrum-datepicker-range-dash-margin-left);\n }\n }\n }\n}\n","/*\nCopyright 2019 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n.spectrum-InputGroup {\n &.is-focused {\n &:not(.spectrum-InputGroup--invalid):not(.is-disabled) {\n .spectrum-InputGroup-input {\n border-color: var(--spectrum-textfield-border-color-key-focus);\n }\n\n .spectrum-FieldButton {\n border-color: var(--spectrum-textfield-border-color-key-focus);\n }\n }\n }\n\n &:hover {\n &:not(.spectrum-InputGroup--invalid):not(.is-focused):not(.is-disabled) {\n .spectrum-InputGroup-input {\n border-color: var(--spectrum-textfield-border-color-hover);\n }\n\n .spectrum-FieldButton {\n border-color: var(--spectrum-textfield-border-color-hover);\n }\n }\n }\n}\n\n.spectrum-InputGroup.is-focused {\n .spectrum-FieldButton,\n .spectrum-InputGroup-input {\n border-color: var(--spectrum-dropdown-border-color-key-focus);\n }\n\n &.spectrum-InputGroup--invalid {\n .spectrum-FieldButton,\n .spectrum-InputGroup-input {\n border-color: var(--spectrum-dropdown-border-color-error);\n }\n }\n}\n\n/* Only add the 2px ring for keyboard focus */\n.spectrum-InputGroup:focus-ring:not(.spectrum-InputGroup--quiet) {\n .spectrum-FieldButton {\n z-index: 1;\n }\n\n .spectrum-FieldButton,\n .spectrum-InputGroup-input {\n box-shadow: 0 0 0 1px var(--spectrum-dropdown-border-color-key-focus);\n }\n\n &.spectrum-InputGroup--invalid {\n .spectrum-FieldButton,\n .spectrum-InputGroup-input {\n box-shadow: 0 0 0 1px var(--spectrum-dropdown-border-color-error);\n }\n }\n}\n\n.spectrum-InputGroup--quiet {\n /*\n specifically for readonly inputgroups that aren't disabled since the button will have the disabled class\n but we don't want the border color to be the disabled quiet one\n */\n &:not(.is-disabled) {\n .spectrum-FieldButton {\n &:disabled,\n &:disabled:hover {\n border-color: var(--spectrum-textfield-quiet-border-color);\n }\n }\n }\n\n .spectrum-FieldButton {\n &,\n &:hover,\n &:focus,\n &:active,\n &.is-selected,\n &.spectrum-FieldButton--invalid {\n border-color: var(--spectrum-textfield-quiet-border-color);\n }\n\n &:disabled,\n &:disabled:hover {\n border-color: var(--spectrum-textfield-quiet-border-color-disabled);\n }\n }\n\n &:hover:not(.spectrum-InputGroup--invalid):not(.is-focused):not(.is-disabled) {\n .spectrum-FieldButton {\n border-color: var(--spectrum-textfield-quiet-border-color-hover);\n }\n }\n\n &.spectrum-InputGroup {\n &.spectrum-InputGroup--invalid {\n .spectrum-FieldButton,\n .spectrum-InputGroup-input {\n border-color: var(--spectrum-textfield-border-color-error);\n }\n }\n\n &.is-focused {\n .spectrum-FieldButton {\n border-color: var(--spectrum-textfield-quiet-border-color-key-focus);\n }\n\n &.spectrum-InputGroup--invalid {\n .spectrum-FieldButton {\n border-color: var(--spectrum-textfield-border-color-error);\n }\n }\n }\n\n &:focus-ring {\n .spectrum-InputGroup-input {\n box-shadow: 0 1px 0 var(--spectrum-textfield-quiet-border-color-key-focus);\n }\n\n .spectrum-FieldButton {\n box-shadow: 0 1px 0 var(--spectrum-textfield-quiet-border-color-key-focus);\n border-color: var(--spectrum-textfield-quiet-border-color-key-focus);\n }\n\n &.spectrum-InputGroup--invalid {\n .spectrum-InputGroup-input {\n box-shadow: 0 1px 0 var(--spectrum-textfield-border-color-error);\n }\n\n .spectrum-FieldButton {\n box-shadow: 0 1px 0 var(--spectrum-textfield-border-color-error);\n }\n }\n }\n }\n}\n\n.spectrum-Datepicker--range {\n &:focus-ring {\n .spectrum-InputGroup-input {\n box-shadow: none !important;\n }\n }\n\n &.is-disabled {\n .spectrum-Datepicker--rangeDash {\n color: var(--spectrum-textfield-text-color-disabled);\n }\n }\n\n /* Focus ring: When one of the inputs or the button has keyboard focus, render the focus ring border around the entire input group by styling an adjacent descendant element. */\n &:focus-ring {\n box-shadow: 0 0 0 1px var(--spectrum-dropdown-border-color-key-focus);\n\n &.spectrum-InputGroup--invalid {\n box-shadow: 0 0 0 1px var(--spectrum-dropdown-border-color-error);\n\n .spectrum-FieldButton {\n box-shadow: 0 0 0 1px var(--spectrum-dropdown-border-color-error);\n }\n }\n }\n\n &.spectrum-InputGroup--invalid {\n .spectrum-InputGroup-input {\n border-color: var(--spectrum-dropdown-border-color-error) !important;\n }\n\n /* Focus ring: When one of the inputs or the button has keyboard focus, render the focus ring border around the entire input group by styling an adjacent descendant element. */\n &:focus-ring {\n .spectrum-FieldButton {\n border-color: var(--spectrum-dropdown-border-color-error);\n box-shadow: 0 0 0 1px var(--spectrum-dropdown-border-color-error);\n }\n }\n .spectrum-FieldButton {\n border-color: var(--spectrum-dropdown-border-color-error);\n &.spectrum-FieldButton--invalid {\n &:focus-ring {\n border-color: var(--spectrum-dropdown-border-color-error);\n box-shadow: 0 0 0 1px var(--spectrum-dropdown-border-color-error);\n }\n }\n }\n }\n &.spectrum-InputGroup--quiet {\n &.is-focused {\n box-shadow: 0 1px 0 0 var(--spectrum-dropdown-border-color-key-focus);\n\n &.spectrum-InputGroup--invalid {\n .spectrum-FieldButton {\n box-shadow: none;\n border-color: var(--spectrum-dropdown-border-color-error);\n &.spectrum-FieldButton--invalid {\n &:focus-ring {\n box-shadow: 0 2px 0 0 var(--spectrum-dropdown-border-color-error);\n }\n }\n }\n &:focus-ring {\n box-shadow: 0 0 0 1px var(--spectrum-dropdown-border-color-error);\n }\n }\n }\n }\n}\n"],"names":[],"version":3,"file":"main.css.map"}
|