@@ -17,6 +17,7 @@ import { commonProps, datePickerProps } from './props';
17
17
import devWarning from '../../vc-util/devWarning' ;
18
18
import { FormItemInputContext , useInjectFormItemContext } from '../../form/FormItemContext' ;
19
19
import { getMergedStatus , getStatusClassNames } from '../../_util/statusUtils' ;
20
+ import { useCompactItemContext } from '../../space/Compact' ;
20
21
21
22
//CSSINJS
22
23
import useStyle from '../style' ;
@@ -55,22 +56,36 @@ export default function generateSinglePicker<DateType, ExtraProps = {}>(
55
56
ExtraProps ;
56
57
const formItemContext = useInjectFormItemContext ( ) ;
57
58
const formItemInputContext = FormItemInputContext . useInject ( ) ;
58
- devWarning (
59
- ! ( props . monthCellContentRender || slots . monthCellContentRender ) ,
60
- 'DatePicker' ,
61
- '`monthCellContentRender` is deprecated. Please use `monthCellRender"` instead.' ,
62
- ) ;
59
+ // =================== Warning =====================
60
+ if ( process . env . NODE_ENV !== 'production' ) {
61
+ devWarning (
62
+ picker !== 'quarter' ,
63
+ displayName || 'DatePicker' ,
64
+ `DatePicker.${ displayName } is legacy usage. Please use DatePicker[picker='${ picker } '] directly.` ,
65
+ ) ;
63
66
64
- devWarning (
65
- ! attrs . getCalendarContainer ,
66
- 'DatePicker' ,
67
- '`getCalendarContainer` is deprecated. Please use `getPopupContainer"` instead.' ,
68
- ) ;
69
- const { prefixCls, direction, getPopupContainer, size, rootPrefixCls } = useConfigInject (
70
- 'picker' ,
71
- props ,
72
- ) ;
67
+ devWarning (
68
+ ! props . dropdownClassName ,
69
+ displayName || 'DatePicker' ,
70
+ '`dropdownClassName` is deprecated. Please use `popupClassName` instead.' ,
71
+ ) ;
72
+ devWarning (
73
+ ! ( props . monthCellContentRender || slots . monthCellContentRender ) ,
74
+ displayName || 'DatePicker' ,
75
+ '`monthCellContentRender` is deprecated. Please use `monthCellRender"` instead.' ,
76
+ ) ;
73
77
78
+ devWarning (
79
+ ! attrs . getCalendarContainer ,
80
+ displayName || 'DatePicker' ,
81
+ '`getCalendarContainer` is deprecated. Please use `getPopupContainer"` instead.' ,
82
+ ) ;
83
+ }
84
+
85
+ const { prefixCls, direction, getPopupContainer, size, rootPrefixCls, disabled } =
86
+ useConfigInject ( 'picker' , props ) ;
87
+ const { compactSize, compactItemClassnames } = useCompactItemContext ( prefixCls , direction ) ;
88
+ const mergedSize = computed ( ( ) => compactSize . value || size . value ) ;
74
89
// style
75
90
const [ wrapSSR , hashId ] = useStyle ( prefixCls ) ;
76
91
@@ -198,7 +213,7 @@ export default function generateSinglePicker<DateType, ExtraProps = {}>(
198
213
dateRender = { dateRender }
199
214
renderExtraFooter = { renderExtraFooter }
200
215
ref = { pickerRef }
201
- placeholder = { getPlaceholder ( mergedPicker , locale , placeholder ) }
216
+ placeholder = { getPlaceholder ( locale , mergedPicker , placeholder ) }
202
217
suffixIcon = { suffixNode }
203
218
dropdownAlign = { transPlacement2DropdownAlign ( direction . value , props . placement ) }
204
219
clearIcon = { clearIcon || < CloseCircleFilled /> }
@@ -215,7 +230,7 @@ export default function generateSinglePicker<DateType, ExtraProps = {}>(
215
230
locale = { locale ! . lang }
216
231
class = { classNames (
217
232
{
218
- [ `${ pre } -${ size . value } ` ] : size . value ,
233
+ [ `${ pre } -${ mergedSize . value } ` ] : mergedSize . value ,
219
234
[ `${ pre } -borderless` ] : ! bordered ,
220
235
} ,
221
236
getStatusClassNames (
@@ -225,7 +240,9 @@ export default function generateSinglePicker<DateType, ExtraProps = {}>(
225
240
) ,
226
241
attrs . class ,
227
242
hashId . value ,
243
+ compactItemClassnames . value ,
228
244
) }
245
+ disabled = { disabled . value }
229
246
prefixCls = { pre }
230
247
getPopupContainer = { attrs . getCalendarContainer || getPopupContainer . value }
231
248
generateConfig = { generateConfig }
@@ -235,7 +252,11 @@ export default function generateSinglePicker<DateType, ExtraProps = {}>(
235
252
superNextIcon = { slots . superNextIcon ?.( ) || < span class = { `${ pre } -super-next-icon` } /> }
236
253
components = { Components }
237
254
direction = { direction . value }
238
- dropdownClassName = { classNames ( hashId . value ) }
255
+ dropdownClassName = { classNames (
256
+ hashId . value ,
257
+ props . popupClassName ,
258
+ props . dropdownClassName ,
259
+ ) }
239
260
onChange = { onChange }
240
261
onOpenChange = { onOpenChange }
241
262
onFocus = { onFocus }
0 commit comments