11import { useEvent , useMergedState } from '@rc-component/util' ;
2+ import cls from 'classnames' ;
23import useLayoutEffect from '@rc-component/util/lib/hooks/useLayoutEffect' ;
34import omit from '@rc-component/util/lib/omit' ;
45import pickAttrs from '@rc-component/util/lib/pickAttrs' ;
@@ -35,6 +36,7 @@ import useRangeValue, { useInnerValue } from './hooks/useRangeValue';
3536import useShowNow from './hooks/useShowNow' ;
3637import Popup , { type PopupShowTimeConfig } from './Popup' ;
3738import RangeSelector , { type SelectorIdType } from './Selector/RangeSelector' ;
39+ import useSemantic from '../hooks/useSemantic' ;
3840
3941function separateConfig < T > ( config : T | [ T , T ] | null | undefined , defaultConfig : T ) : [ T , T ] {
4042 const singleConfig = config ?? defaultConfig ;
@@ -158,8 +160,9 @@ function RangePicker<DateType extends object = any>(
158160 const {
159161 // Style
160162 prefixCls,
161- styles,
162- classNames,
163+ rootClassName,
164+ styles : propStyles ,
165+ classNames : propClassNames ,
163166
164167 // Value
165168 defaultValue,
@@ -224,6 +227,9 @@ function RangePicker<DateType extends object = any>(
224227 // ========================= Refs =========================
225228 const selectorRef = usePickerRef ( ref ) ;
226229
230+ // ======================= Semantic =======================
231+ const [ mergedClassNames , mergedStyles ] = useSemantic ( propClassNames , propStyles ) ;
232+
227233 // ========================= Open =========================
228234 const [ mergedOpen , setMergeOpen ] = useOpen ( open , defaultOpen , disabled , onOpenChange ) ;
229235
@@ -562,6 +568,8 @@ function RangePicker<DateType extends object = any>(
562568 'className' ,
563569 'onPanelChange' ,
564570 'disabledTime' ,
571+ 'classNames' ,
572+ 'styles' ,
565573 ] ) ;
566574 return restProps ;
567575 } , [ filledProps ] ) ;
@@ -693,10 +701,18 @@ function RangePicker<DateType extends object = any>(
693701 generateConfig,
694702 button : components . button ,
695703 input : components . input ,
696- styles ,
697- classNames ,
704+ classNames : mergedClassNames ,
705+ styles : mergedStyles ,
698706 } ) ,
699- [ prefixCls , locale , generateConfig , components . button , components . input , classNames , styles ] ,
707+ [
708+ prefixCls ,
709+ locale ,
710+ generateConfig ,
711+ components . button ,
712+ components . input ,
713+ mergedClassNames ,
714+ mergedStyles ,
715+ ] ,
700716 ) ;
701717
702718 // ======================== Effect ========================
@@ -755,8 +771,8 @@ function RangePicker<DateType extends object = any>(
755771 < PickerTrigger
756772 { ...pickTriggerProps ( filledProps ) }
757773 popupElement = { panel }
758- popupStyle = { styles . popup }
759- popupClassName = { classNames . popup }
774+ popupStyle = { mergedStyles . popup . root }
775+ popupClassName = { cls ( rootClassName , mergedClassNames . popup . root ) }
760776 // Visible
761777 visible = { mergedOpen }
762778 onClose = { onPopupClose }
@@ -768,6 +784,12 @@ function RangePicker<DateType extends object = any>(
768784 { ...filledProps }
769785 // Ref
770786 ref = { selectorRef }
787+ // Style
788+ className = { cls ( filledProps . className , rootClassName , mergedClassNames . root ) }
789+ style = { {
790+ ...mergedStyles . root ,
791+ ...filledProps . style ,
792+ } }
771793 // Icon
772794 suffixIcon = { suffixIcon }
773795 // Active
0 commit comments