Skip to content

Commit 934ed6c

Browse files
authored
fix(DatePicker): fix wrong style
fix wrong style when Range DatePicker is disabled & readonly close #81
1 parent b0c38a2 commit 934ed6c

File tree

5 files changed

+31
-21
lines changed

5 files changed

+31
-21
lines changed

.lintstagedrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"stylelint './src/style/*.js'",
66
"stylelint './src/components/**/*.(jsx|js)'",
77
"eslint",
8-
"jest --bail --findRelatedTests"
8+
"jest --bail --findRelatedTests --collectCoverage"
99
],
1010
"*.{json,css,md}": ["prettier --write", "git add"]
1111
}

src/components/DatePicker/Range.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ class Range extends Component {
181181
value: 'custom'
182182
});
183183
const { range, custom: _c } = rules;
184-
let modifyAble = option === 'custom';
184+
let readonly = option !== 'custom';
185185
let [start, end] = value;
186186
start = moment(+start);
187187
end = moment(+end);
@@ -257,7 +257,7 @@ class Range extends Component {
257257
onVisibleChange={this.handleVisibleChange}
258258
trigger={['click']}
259259
>
260-
<RangeDateWrap size={size} modifyAble={modifyAble} disabled={disabled}>
260+
<RangeDateWrap size={size} readonly={readonly} disabled={disabled}>
261261
<span>{start.format(rangeFormat || formatString[type])}</span>
262262
<RangeDateSeparator />
263263
<span>{end.format(rangeFormat || formatString[type])}</span>

src/components/DatePicker/__tests__/__snapshots__/demo.test.js.snap

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4725,6 +4725,7 @@ exports[`DatePicker demo -- range-disabled 1`] = `
47254725
pointer-events: none;
47264726
background: #f7f7f7;
47274727
border-color: #d9d9d9;
4728+
border-width: 1px;
47284729
color: #bbb;
47294730
}
47304731
@@ -4778,7 +4779,7 @@ exports[`DatePicker demo -- range-disabled 1`] = `
47784779
</div>
47794780
</div>
47804781
<div
4781-
class="uc-fe-datepicker-range-date-wrap c5"
4782+
class="uc-fe-datepicker-range-date-wrap uc-fe-datepicker-range-date-wrap-disabled c5"
47824783
disabled=""
47834784
>
47844785
<span>
@@ -5246,7 +5247,7 @@ exports[`DatePicker demo -- range-onInitialChange 1`] = `
52465247
display: inline-block;
52475248
vertical-align: middle;
52485249
pointer-events: none;
5249-
border: none;
5250+
border-width: 0;
52505251
line-height: 28px;
52515252
}
52525253
@@ -5288,7 +5289,7 @@ exports[`DatePicker demo -- range-onInitialChange 1`] = `
52885289
</div>
52895290
</div>
52905291
<div
5291-
class="uc-fe-datepicker-range-date-wrap c5"
5292+
class="uc-fe-datepicker-range-date-wrap uc-fe-datepicker-range-date-wrap-readonly c5"
52925293
>
52935294
<span>
52945295
Invalid date

src/components/DatePicker/style/index.js

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,14 @@ export const RangeSelect = styled(Select)`
119119
`;
120120

121121
export const RangeDateWrap = styled.div.attrs({
122-
className: `${prefixCls}-range-date-wrap`
122+
className: ({ readonly, disabled }) =>
123+
classnames(
124+
`${prefixCls}-range-date-wrap`,
125+
readonly && `${prefixCls}-range-date-wrap-readonly`,
126+
disabled && `${prefixCls}-range-date-wrap-disabled`
127+
)
123128
})(
124-
({ theme: { Height, HeightNumber, colorMap }, size, modifyAble, disabled }) => css`
129+
({ theme: { Height, HeightNumber, colorMap }, size, readonly, disabled }) => css`
125130
border: 1px solid ${colorMap.default.border};
126131
padding: 0 8px;
127132
border-radius: 2px;
@@ -133,24 +138,25 @@ export const RangeDateWrap = styled.div.attrs({
133138
134139
${inlineBlockWithVerticalMixin};
135140
136-
${disabled &&
137-
css`
138-
pointer-events: none;
139-
background: ${colorMap.disabled.background};
140-
border-color: ${colorMap.disabled.border};
141-
color: ${colorMap.disabled.text};
142-
`};
143-
144-
${!modifyAble &&
141+
${readonly &&
145142
css`
146143
pointer-events: none;
147-
border: none;
144+
border-width: 0;
148145
line-height: ${Height[size]};
149146
150147
${/* sc-sel */ PickerIcon} {
151148
display: none;
152149
}
153150
`};
151+
152+
${disabled &&
153+
css`
154+
pointer-events: none;
155+
background: ${colorMap.disabled.background};
156+
border-color: ${colorMap.disabled.border};
157+
border-width: 1px;
158+
color: ${colorMap.disabled.text};
159+
`};
154160
`
155161
);
156162
export const RangeDateSeparator = styled.span(

src/components/ThemeProvider/material.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ export default theme => {
225225
'&': {
226226
[`.${datePickerPrefixCls}-date-wrap`]: {
227227
boxShadow: materialVars.whiteBoxShadow,
228-
borderWidth: '0',
228+
borderWidth: 0,
229229
paddingTop: '1px',
230230
paddingBottom: '1px'
231231
},
@@ -236,13 +236,16 @@ export default theme => {
236236
},
237237
Range: {
238238
[`.${datePickerPrefixCls}-range-date-wrap`]: {
239-
borderWidth: '0px',
239+
borderWidth: 0,
240240
boxShadow: materialVars.whiteBoxShadow,
241241
':hover': {
242242
boxShadow: materialVars.whiteBoxShadowActive
243243
}
244244
},
245-
[`&.${datePickerPrefixCls}-range-disabled .${datePickerPrefixCls}-range-date-wrap`]: {
245+
[`.${datePickerPrefixCls}-range-date-wrap-readonly`]: {
246+
boxShadow: 'none'
247+
},
248+
[`.${datePickerPrefixCls}-range-date-wrap-disabled`]: {
246249
borderWidth: '1px',
247250
boxShadow: 'none'
248251
}

0 commit comments

Comments
 (0)