@@ -36,16 +36,27 @@ import useSemantic from '../hooks/useSemantic';
3636
3737// TODO: isInvalidateDate with showTime.disabledTime should not provide `range` prop
3838
39- export interface BasePickerProps < DateType extends object = any >
40- extends SharedPickerProps < DateType > {
39+ export interface CustomTagProps < DateType extends object = any > {
40+ label : React . ReactNode ;
41+ value : DateType ;
42+ disabled : boolean ;
43+ onClose : ( event ?: React . MouseEvent < HTMLElement > ) => void ;
44+ closable : boolean ;
45+ }
46+
47+ export interface BasePickerProps <
48+ DateType extends object = any ,
49+ > extends SharedPickerProps < DateType > {
4150 // Structure
4251 id ?: string ;
4352
4453 /** Not support `time` or `datetime` picker */
4554 multiple ?: boolean ;
4655 removeIcon ?: React . ReactNode ;
47- /** Only work when `multiple` is in used */
56+ /** Only works when `multiple` is in use */
4857 maxTagCount ?: number | 'responsive' ;
58+ /** Only works when `multiple` is in use */
59+ tagRender ?: ( props : CustomTagProps < DateType > ) => React . ReactNode ;
4960
5061 // Value
5162 value ?: DateType | DateType [ ] | null ;
@@ -100,8 +111,7 @@ export interface BasePickerProps<DateType extends object = any>
100111}
101112
102113export interface PickerProps < DateType extends object = any >
103- extends BasePickerProps < DateType > ,
104- Omit < SharedTimeProps < DateType > , 'format' | 'defaultValue' > { }
114+ extends BasePickerProps < DateType > , Omit < SharedTimeProps < DateType > , 'format' | 'defaultValue' > { }
105115
106116/** Internal usage. For cross function get same aligned props */
107117export type ReplacedPickerProps < DateType extends object = any > = {
@@ -174,6 +184,7 @@ function Picker<DateType extends object = any>(
174184
175185 suffixIcon,
176186 removeIcon,
187+ tagRender,
177188
178189 // Focus
179190 onFocus,
@@ -657,6 +668,7 @@ function Picker<DateType extends object = any>(
657668 // Icon
658669 suffixIcon = { suffixIcon }
659670 removeIcon = { removeIcon }
671+ tagRender = { tagRender }
660672 // Active
661673 activeHelp = { ! ! internalHoverValue }
662674 allHelp = { ! ! internalHoverValue && hoverSource === 'preset' }
0 commit comments