Skip to content

Commit 25ea367

Browse files
authored
Readonly and inputgroup styles (#1566)
1 parent 4cdc17d commit 25ea367

File tree

5 files changed

+74
-14
lines changed

5 files changed

+74
-14
lines changed

packages/@adobe/spectrum-css-temp/components/stepper/index.css

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,17 @@ governing permissions and limitations under the License.
3838
line-height: 0;
3939
border-radius: var(--spectrum-border-radius);
4040
transition: border-color var(--spectrum-global-animation-duration-100) ease-in-out, box-shadow var(--spectrum-global-animation-duration-100) ease-in-out;
41+
42+
&:not(.spectrum-Stepper--quiet):not(.spectrum-Stepper--showStepper) .spectrum-Stepper-input {
43+
border-inline-end-width: var(--spectrum-stepper-border-size-default);
44+
border-inline-end-style: solid;
45+
border-start-end-radius: var(--spectrum-border-radius);
46+
border-end-end-radius: var(--spectrum-border-radius);
47+
}
48+
49+
&.is-disabled:not(.spectrum-Stepper--quiet) .spectrum-Stepper-input {
50+
border: none;
51+
}
4152
}
4253

4354
.spectrum-Stepper-container {
@@ -119,10 +130,6 @@ governing permissions and limitations under the License.
119130
border-end-end-radius: var(--spectrum-stepper-border-radius-reset);
120131
}
121132

122-
.spectrum-Stepper-button {
123-
border-inline-start-style: none;
124-
}
125-
126133
&.spectrum-Stepper--isMobile {
127134
grid-template-rows: auto;
128135
grid-template-columns: auto 1fr auto;

packages/@adobe/spectrum-css-temp/components/stepper/skin.css

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ OF ANY KIND, either express or implied. See the License for the specific languag
1010
governing permissions and limitations under the License.
1111
*/
1212

13-
/* TODO: ReadOnly */
1413

1514
.spectrum-Stepper-button {
1615
background-color: var(--spectrum-actionbutton-background-color);
@@ -49,14 +48,17 @@ governing permissions and limitations under the License.
4948
}
5049
}
5150

52-
.spectrum-Stepper-button.spectrum-Stepper-button--isQuiet {
51+
.spectrum-Stepper-button.spectrum-Stepper-button--quiet {
5352
background-color: unset;
5453
&:hover {
5554
background-color: unset;
5655
}
5756
}
5857

5958
.spectrum-Stepper {
59+
.spectrum-Stepper-input {
60+
border-color: var(--spectrum-textfield-border-color);
61+
}
6062
.spectrum-Stepper-button {
6163
border-color: var(--spectrum-textfield-border-color);
6264
}
@@ -445,3 +447,25 @@ governing permissions and limitations under the License.
445447
}
446448
}
447449
}
450+
451+
.spectrum-Stepper.spectrum-Stepper--quiet.spectrum-Stepper--readonly {
452+
.spectrum-Stepper-button.spectrum-Stepper-button--stepDown {
453+
&.is-disabled {
454+
border-color: var(--spectrum-textfield-quiet-border-color);
455+
}
456+
}
457+
&:hover {
458+
.spectrum-Stepper-button.spectrum-Stepper-button--stepDown {
459+
&.is-disabled {
460+
border-color: var(--spectrum-actionbutton-border-color-hover);
461+
}
462+
}
463+
}
464+
&.is-focused {
465+
.spectrum-Stepper-button.spectrum-Stepper-button--stepDown {
466+
&.is-disabled {
467+
border-color: var(--spectrum-actionbutton-border-color-key-focus);
468+
}
469+
}
470+
}
471+
}

packages/@react-spectrum/numberfield/src/NumberField.tsx

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ function NumberField(props: SpectrumNumberFieldProps, ref: FocusableRef<HTMLElem
3535
let provider = useProvider();
3636
let {
3737
isQuiet,
38+
isReadOnly,
3839
isDisabled,
3940
hideStepper
4041
} = props;
@@ -62,14 +63,17 @@ function NumberField(props: SpectrumNumberFieldProps, ref: FocusableRef<HTMLElem
6263
'spectrum-InputGroup',
6364
{
6465
'spectrum-InputGroup--quiet': isQuiet,
65-
'is-invalid': props.validationState === 'invalid',
66-
'is-disabled': isDisabled
66+
'spectrum-InputGroup--invalid': props.validationState === 'invalid',
67+
'is-disabled': isDisabled,
68+
'is-hovered': isHovered
6769
},
6870
classNames(
6971
stepperStyle,
7072
'spectrum-Stepper',
7173
{
7274
'spectrum-Stepper--quiet': isQuiet,
75+
'is-disabled': isDisabled,
76+
'spectrum-Stepper--readonly': isReadOnly,
7377
'is-invalid': props.validationState === 'invalid',
7478
'spectrum-Stepper--showStepper': showStepper,
7579
'spectrum-Stepper--isMobile': isMobile,
@@ -79,7 +83,6 @@ function NumberField(props: SpectrumNumberFieldProps, ref: FocusableRef<HTMLElem
7983
}
8084
)
8185
);
82-
// TODO: how to ignore a right click on the stepper buttons to prevent focus of just them
8386

8487
return (
8588
<Field
@@ -146,9 +149,31 @@ const NumberFieldInput = React.forwardRef(function NumberFieldInput(props: Numbe
146149
style={style}
147150
className={className}>
148151
<TextFieldBase
149-
UNSAFE_className={classNames(stepperStyle, 'spectrum-Stepper-field')}
152+
UNSAFE_className={
153+
classNames(
154+
stepperStyle,
155+
'spectrum-Stepper-field',
156+
classNames(inputgroupStyles,
157+
'spectrum-InputGroup-field'
158+
)
159+
)
160+
}
150161
isQuiet={isQuiet}
151-
inputClassName={classNames(stepperStyle, 'spectrum-Stepper-input')}
162+
inputClassName={
163+
classNames(
164+
stepperStyle,
165+
'spectrum-Stepper-input',
166+
classNames(inputgroupStyles,
167+
'spectrum-InputGroup-input'
168+
)
169+
)
170+
}
171+
validationIconClassName={
172+
classNames(
173+
inputgroupStyles,
174+
'spectrum-InputGroup-input-validationIcon'
175+
)
176+
}
152177
inputRef={inputRef}
153178
validationState={validationState}
154179
inputProps={inputProps} />

packages/@react-spectrum/numberfield/src/StepButton.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ function StepButton(props: StepButtonProps, ref: RefObject<HTMLDivElement>) {
4949
{
5050
'spectrum-Stepper-button--stepUp': direction === 'up',
5151
'spectrum-Stepper-button--stepDown': direction === 'down',
52-
'spectrum-Stepper-button--isQuiet': isQuiet,
52+
'spectrum-Stepper-button--quiet': isQuiet,
5353
'is-hovered': isHovered,
5454
'is-active': isPressed,
5555
'is-disabled': isDisabled

packages/@react-spectrum/numberfield/stories/NumberField.stories.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ storiesOf('NumberField', module)
6868
'disabled',
6969
() => render({isDisabled: true})
7070
)
71+
.add(
72+
'readonly',
73+
() => render({defaultValue: 10, isReadOnly: true})
74+
)
7175
.add(
7276
'isQuiet',
7377
() => render({isQuiet: true})
@@ -77,8 +81,8 @@ storiesOf('NumberField', module)
7781
() => render({isQuiet: true, isDisabled: true})
7882
)
7983
.add(
80-
'readonly',
81-
() => render({defaultValue: 10, isReadOnly: true})
84+
'quiet readonly',
85+
() => render({isQuiet: true, isReadOnly: true})
8286
)
8387
.add(
8488
'validationState: invalid',

0 commit comments

Comments
 (0)