@rc-component/picker 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +9 -0
- package/README.md +154 -0
- package/assets/index.css +407 -0
- package/assets/index.less +570 -0
- package/es/PickerInput/Popup/Footer.d.ts +19 -0
- package/es/PickerInput/Popup/Footer.js +78 -0
- package/es/PickerInput/Popup/PopupPanel.d.ts +10 -0
- package/es/PickerInput/Popup/PopupPanel.js +84 -0
- package/es/PickerInput/Popup/PresetPanel.d.ts +9 -0
- package/es/PickerInput/Popup/PresetPanel.js +31 -0
- package/es/PickerInput/Popup/index.d.ts +20 -0
- package/es/PickerInput/Popup/index.js +198 -0
- package/es/PickerInput/RangePicker.d.ts +54 -0
- package/es/PickerInput/RangePicker.js +641 -0
- package/es/PickerInput/Selector/Icon.d.ts +10 -0
- package/es/PickerInput/Selector/Icon.js +32 -0
- package/es/PickerInput/Selector/Input.d.ts +28 -0
- package/es/PickerInput/Selector/Input.js +377 -0
- package/es/PickerInput/Selector/MaskFormat.d.ts +22 -0
- package/es/PickerInput/Selector/MaskFormat.js +107 -0
- package/es/PickerInput/Selector/RangeSelector.d.ts +26 -0
- package/es/PickerInput/Selector/RangeSelector.js +218 -0
- package/es/PickerInput/Selector/SingleSelector/MultipleDates.d.ts +12 -0
- package/es/PickerInput/Selector/SingleSelector/MultipleDates.js +66 -0
- package/es/PickerInput/Selector/SingleSelector/index.d.ts +18 -0
- package/es/PickerInput/Selector/SingleSelector/index.js +187 -0
- package/es/PickerInput/Selector/hooks/useClearIcon.d.ts +8 -0
- package/es/PickerInput/Selector/hooks/useClearIcon.js +19 -0
- package/es/PickerInput/Selector/hooks/useInputProps.d.ts +16 -0
- package/es/PickerInput/Selector/hooks/useInputProps.js +178 -0
- package/es/PickerInput/Selector/hooks/useRootProps.d.ts +2 -0
- package/es/PickerInput/Selector/hooks/useRootProps.js +8 -0
- package/es/PickerInput/Selector/util.d.ts +1 -0
- package/es/PickerInput/Selector/util.js +12 -0
- package/es/PickerInput/SinglePicker.d.ts +51 -0
- package/es/PickerInput/SinglePicker.js +545 -0
- package/es/PickerInput/context.d.ts +13 -0
- package/es/PickerInput/context.js +3 -0
- package/es/PickerInput/hooks/useCellRender.d.ts +2 -0
- package/es/PickerInput/hooks/useCellRender.js +41 -0
- package/es/PickerInput/hooks/useDelayState.d.ts +5 -0
- package/es/PickerInput/hooks/useDelayState.js +48 -0
- package/es/PickerInput/hooks/useDisabledBoundary.d.ts +7 -0
- package/es/PickerInput/hooks/useDisabledBoundary.js +20 -0
- package/es/PickerInput/hooks/useFieldFormat.d.ts +2 -0
- package/es/PickerInput/hooks/useFieldFormat.js +18 -0
- package/es/PickerInput/hooks/useFieldsInvalidate.d.ts +5 -0
- package/es/PickerInput/hooks/useFieldsInvalidate.js +55 -0
- package/es/PickerInput/hooks/useFilledProps.d.ts +37 -0
- package/es/PickerInput/hooks/useFilledProps.js +155 -0
- package/es/PickerInput/hooks/useInputReadOnly.d.ts +2 -0
- package/es/PickerInput/hooks/useInputReadOnly.js +6 -0
- package/es/PickerInput/hooks/useInvalidate.d.ts +9 -0
- package/es/PickerInput/hooks/useInvalidate.js +61 -0
- package/es/PickerInput/hooks/useLockEffect.d.ts +5 -0
- package/es/PickerInput/hooks/useLockEffect.js +25 -0
- package/es/PickerInput/hooks/useOpen.d.ts +6 -0
- package/es/PickerInput/hooks/useOpen.js +33 -0
- package/es/PickerInput/hooks/usePickerRef.d.ts +7 -0
- package/es/PickerInput/hooks/usePickerRef.js +19 -0
- package/es/PickerInput/hooks/usePresets.d.ts +2 -0
- package/es/PickerInput/hooks/usePresets.js +28 -0
- package/es/PickerInput/hooks/useRangeActive.d.ts +19 -0
- package/es/PickerInput/hooks/useRangeActive.js +74 -0
- package/es/PickerInput/hooks/useRangeDisabledDate.d.ts +8 -0
- package/es/PickerInput/hooks/useRangeDisabledDate.js +53 -0
- package/es/PickerInput/hooks/useRangePickerValue.d.ts +5 -0
- package/es/PickerInput/hooks/useRangePickerValue.js +192 -0
- package/es/PickerInput/hooks/useRangeValue.d.ts +28 -0
- package/es/PickerInput/hooks/useRangeValue.js +297 -0
- package/es/PickerInput/hooks/useShowNow.d.ts +2 -0
- package/es/PickerInput/hooks/useShowNow.js +14 -0
- package/es/PickerPanel/DatePanel/index.d.ts +10 -0
- package/es/PickerPanel/DatePanel/index.js +190 -0
- package/es/PickerPanel/DateTimePanel/index.d.ts +3 -0
- package/es/PickerPanel/DateTimePanel/index.js +55 -0
- package/es/PickerPanel/DecadePanel/index.d.ts +3 -0
- package/es/PickerPanel/DecadePanel/index.js +113 -0
- package/es/PickerPanel/MonthPanel/index.d.ts +3 -0
- package/es/PickerPanel/MonthPanel/index.js +106 -0
- package/es/PickerPanel/PanelBody.d.ts +17 -0
- package/es/PickerPanel/PanelBody.js +153 -0
- package/es/PickerPanel/PanelHeader.d.ts +11 -0
- package/es/PickerPanel/PanelHeader.js +133 -0
- package/es/PickerPanel/QuarterPanel/index.d.ts +3 -0
- package/es/PickerPanel/QuarterPanel/index.js +92 -0
- package/es/PickerPanel/TimePanel/TimePanelBody/TimeColumn.d.ts +17 -0
- package/es/PickerPanel/TimePanel/TimePanelBody/TimeColumn.js +149 -0
- package/es/PickerPanel/TimePanel/TimePanelBody/index.d.ts +4 -0
- package/es/PickerPanel/TimePanel/TimePanelBody/index.js +283 -0
- package/es/PickerPanel/TimePanel/TimePanelBody/useScrollTo.d.ts +2 -0
- package/es/PickerPanel/TimePanel/TimePanelBody/useScrollTo.js +72 -0
- package/es/PickerPanel/TimePanel/TimePanelBody/util.d.ts +3 -0
- package/es/PickerPanel/TimePanel/TimePanelBody/util.js +43 -0
- package/es/PickerPanel/TimePanel/index.d.ts +4 -0
- package/es/PickerPanel/TimePanel/index.js +38 -0
- package/es/PickerPanel/WeekPanel/index.d.ts +3 -0
- package/es/PickerPanel/WeekPanel/index.js +55 -0
- package/es/PickerPanel/YearPanel/index.d.ts +3 -0
- package/es/PickerPanel/YearPanel/index.js +116 -0
- package/es/PickerPanel/context.d.ts +24 -0
- package/es/PickerPanel/context.js +67 -0
- package/es/PickerPanel/index.d.ts +60 -0
- package/es/PickerPanel/index.js +315 -0
- package/es/PickerTrigger/index.d.ts +19 -0
- package/es/PickerTrigger/index.js +86 -0
- package/es/PickerTrigger/util.d.ts +2 -0
- package/es/PickerTrigger/util.js +4 -0
- package/es/generate/dateFns.d.ts +3 -0
- package/es/generate/dateFns.js +163 -0
- package/es/generate/dayjs.d.ts +4 -0
- package/es/generate/dayjs.js +233 -0
- package/es/generate/index.d.ts +37 -0
- package/es/generate/index.js +1 -0
- package/es/generate/luxon.d.ts +4 -0
- package/es/generate/luxon.js +197 -0
- package/es/generate/moment.d.ts +4 -0
- package/es/generate/moment.js +152 -0
- package/es/hooks/useLocale.d.ts +6 -0
- package/es/hooks/useLocale.js +82 -0
- package/es/hooks/useSyncState.d.ts +6 -0
- package/es/hooks/useSyncState.js +27 -0
- package/es/hooks/useTimeConfig.d.ts +18 -0
- package/es/hooks/useTimeConfig.js +166 -0
- package/es/hooks/useTimeInfo.d.ts +12 -0
- package/es/hooks/useTimeInfo.js +164 -0
- package/es/hooks/useToggleDates.d.ts +8 -0
- package/es/hooks/useToggleDates.js +26 -0
- package/es/index.d.ts +35 -0
- package/es/index.js +34 -0
- package/es/interface.d.ts +365 -0
- package/es/interface.js +1 -0
- package/es/locale/am_ET.d.ts +3 -0
- package/es/locale/am_ET.js +31 -0
- package/es/locale/ar_EG.d.ts +3 -0
- package/es/locale/ar_EG.js +34 -0
- package/es/locale/az_AZ.d.ts +3 -0
- package/es/locale/az_AZ.js +35 -0
- package/es/locale/bg_BG.d.ts +3 -0
- package/es/locale/bg_BG.js +34 -0
- package/es/locale/bn_BD.d.ts +3 -0
- package/es/locale/bn_BD.js +35 -0
- package/es/locale/by_BY.d.ts +3 -0
- package/es/locale/by_BY.js +35 -0
- package/es/locale/ca_ES.d.ts +3 -0
- package/es/locale/ca_ES.js +34 -0
- package/es/locale/common.d.ts +2 -0
- package/es/locale/common.js +6 -0
- package/es/locale/cs_CZ.d.ts +3 -0
- package/es/locale/cs_CZ.js +34 -0
- package/es/locale/da_DK.d.ts +3 -0
- package/es/locale/da_DK.js +34 -0
- package/es/locale/de_DE.d.ts +3 -0
- package/es/locale/de_DE.js +34 -0
- package/es/locale/el_GR.d.ts +3 -0
- package/es/locale/el_GR.js +34 -0
- package/es/locale/en_GB.d.ts +3 -0
- package/es/locale/en_GB.js +34 -0
- package/es/locale/en_US.d.ts +3 -0
- package/es/locale/en_US.js +35 -0
- package/es/locale/es_ES.d.ts +3 -0
- package/es/locale/es_ES.js +34 -0
- package/es/locale/es_MX.d.ts +3 -0
- package/es/locale/es_MX.js +35 -0
- package/es/locale/et_EE.d.ts +3 -0
- package/es/locale/et_EE.js +34 -0
- package/es/locale/eu_ES.d.ts +3 -0
- package/es/locale/eu_ES.js +36 -0
- package/es/locale/fa_IR.d.ts +3 -0
- package/es/locale/fa_IR.js +34 -0
- package/es/locale/fi_FI.d.ts +3 -0
- package/es/locale/fi_FI.js +34 -0
- package/es/locale/fr_BE.d.ts +3 -0
- package/es/locale/fr_BE.js +34 -0
- package/es/locale/fr_CA.d.ts +3 -0
- package/es/locale/fr_CA.js +35 -0
- package/es/locale/fr_FR.d.ts +3 -0
- package/es/locale/fr_FR.js +35 -0
- package/es/locale/ga_IE.d.ts +3 -0
- package/es/locale/ga_IE.js +35 -0
- package/es/locale/gl_ES.d.ts +3 -0
- package/es/locale/gl_ES.js +34 -0
- package/es/locale/he_IL.d.ts +3 -0
- package/es/locale/he_IL.js +35 -0
- package/es/locale/hi_IN.d.ts +3 -0
- package/es/locale/hi_IN.js +35 -0
- package/es/locale/hr_HR.d.ts +3 -0
- package/es/locale/hr_HR.js +35 -0
- package/es/locale/hu_HU.d.ts +3 -0
- package/es/locale/hu_HU.js +58 -0
- package/es/locale/id_ID.d.ts +3 -0
- package/es/locale/id_ID.js +35 -0
- package/es/locale/is_IS.d.ts +3 -0
- package/es/locale/is_IS.js +34 -0
- package/es/locale/it_IT.d.ts +3 -0
- package/es/locale/it_IT.js +34 -0
- package/es/locale/ja_JP.d.ts +3 -0
- package/es/locale/ja_JP.js +37 -0
- package/es/locale/ka_GE.d.ts +3 -0
- package/es/locale/ka_GE.js +35 -0
- package/es/locale/kk_KZ.d.ts +3 -0
- package/es/locale/kk_KZ.js +34 -0
- package/es/locale/km_KH.d.ts +3 -0
- package/es/locale/km_KH.js +36 -0
- package/es/locale/kmr_IQ.d.ts +3 -0
- package/es/locale/kmr_IQ.js +34 -0
- package/es/locale/kn_IN.d.ts +3 -0
- package/es/locale/kn_IN.js +35 -0
- package/es/locale/ko_KR.d.ts +3 -0
- package/es/locale/ko_KR.js +36 -0
- package/es/locale/lt_LT.d.ts +3 -0
- package/es/locale/lt_LT.js +36 -0
- package/es/locale/lv_LV.d.ts +3 -0
- package/es/locale/lv_LV.js +34 -0
- package/es/locale/mk_MK.d.ts +3 -0
- package/es/locale/mk_MK.js +34 -0
- package/es/locale/ml_IN.d.ts +3 -0
- package/es/locale/ml_IN.js +35 -0
- package/es/locale/mn_MN.d.ts +3 -0
- package/es/locale/mn_MN.js +36 -0
- package/es/locale/ms_MY.d.ts +3 -0
- package/es/locale/ms_MY.js +36 -0
- package/es/locale/my_MM.d.ts +3 -0
- package/es/locale/my_MM.js +35 -0
- package/es/locale/nb_NO.d.ts +3 -0
- package/es/locale/nb_NO.js +36 -0
- package/es/locale/ne_NP.d.ts +3 -0
- package/es/locale/ne_NP.js +35 -0
- package/es/locale/nl_BE.d.ts +3 -0
- package/es/locale/nl_BE.js +34 -0
- package/es/locale/nl_NL.d.ts +3 -0
- package/es/locale/nl_NL.js +34 -0
- package/es/locale/pl_PL.d.ts +3 -0
- package/es/locale/pl_PL.js +34 -0
- package/es/locale/pt_BR.d.ts +3 -0
- package/es/locale/pt_BR.js +37 -0
- package/es/locale/pt_PT.d.ts +3 -0
- package/es/locale/pt_PT.js +36 -0
- package/es/locale/ro_RO.d.ts +3 -0
- package/es/locale/ro_RO.js +35 -0
- package/es/locale/ru_RU.d.ts +3 -0
- package/es/locale/ru_RU.js +34 -0
- package/es/locale/si_LK.d.ts +3 -0
- package/es/locale/si_LK.js +36 -0
- package/es/locale/sk_SK.d.ts +3 -0
- package/es/locale/sk_SK.js +34 -0
- package/es/locale/sl_SI.d.ts +3 -0
- package/es/locale/sl_SI.js +34 -0
- package/es/locale/sr_Cyrl_RS.d.ts +3 -0
- package/es/locale/sr_Cyrl_RS.js +34 -0
- package/es/locale/sr_RS.d.ts +3 -0
- package/es/locale/sr_RS.js +34 -0
- package/es/locale/sv_SE.d.ts +3 -0
- package/es/locale/sv_SE.js +34 -0
- package/es/locale/ta_IN.d.ts +3 -0
- package/es/locale/ta_IN.js +35 -0
- package/es/locale/th_TH.d.ts +3 -0
- package/es/locale/th_TH.js +34 -0
- package/es/locale/tk_TK.d.ts +3 -0
- package/es/locale/tk_TK.js +34 -0
- package/es/locale/tr_TR.d.ts +3 -0
- package/es/locale/tr_TR.js +36 -0
- package/es/locale/ug_CN.d.ts +3 -0
- package/es/locale/ug_CN.js +37 -0
- package/es/locale/uk_UA.d.ts +3 -0
- package/es/locale/uk_UA.js +34 -0
- package/es/locale/ur_PK.d.ts +3 -0
- package/es/locale/ur_PK.js +35 -0
- package/es/locale/uz_UZ.d.ts +3 -0
- package/es/locale/uz_UZ.js +35 -0
- package/es/locale/vi_VN.d.ts +3 -0
- package/es/locale/vi_VN.js +35 -0
- package/es/locale/zh_CN.d.ts +3 -0
- package/es/locale/zh_CN.js +36 -0
- package/es/locale/zh_TW.d.ts +3 -0
- package/es/locale/zh_TW.js +38 -0
- package/es/utils/dateUtil.d.ts +29 -0
- package/es/utils/dateUtil.js +140 -0
- package/es/utils/getClearIcon.d.ts +5 -0
- package/es/utils/getClearIcon.js +8 -0
- package/es/utils/miscUtil.d.ts +14 -0
- package/es/utils/miscUtil.js +70 -0
- package/es/utils/uiUtil.d.ts +1 -0
- package/es/utils/uiUtil.js +7 -0
- package/es/utils/warnUtil.d.ts +5 -0
- package/es/utils/warnUtil.js +10 -0
- package/lib/PickerInput/Popup/Footer.d.ts +19 -0
- package/lib/PickerInput/Popup/Footer.js +88 -0
- package/lib/PickerInput/Popup/PopupPanel.d.ts +10 -0
- package/lib/PickerInput/Popup/PopupPanel.js +93 -0
- package/lib/PickerInput/Popup/PresetPanel.d.ts +9 -0
- package/lib/PickerInput/Popup/PresetPanel.js +40 -0
- package/lib/PickerInput/Popup/index.d.ts +20 -0
- package/lib/PickerInput/Popup/index.js +207 -0
- package/lib/PickerInput/RangePicker.d.ts +54 -0
- package/lib/PickerInput/RangePicker.js +650 -0
- package/lib/PickerInput/Selector/Icon.d.ts +10 -0
- package/lib/PickerInput/Selector/Icon.js +43 -0
- package/lib/PickerInput/Selector/Input.d.ts +28 -0
- package/lib/PickerInput/Selector/Input.js +385 -0
- package/lib/PickerInput/Selector/MaskFormat.d.ts +22 -0
- package/lib/PickerInput/Selector/MaskFormat.js +112 -0
- package/lib/PickerInput/Selector/RangeSelector.d.ts +26 -0
- package/lib/PickerInput/Selector/RangeSelector.js +227 -0
- package/lib/PickerInput/Selector/SingleSelector/MultipleDates.d.ts +12 -0
- package/lib/PickerInput/Selector/SingleSelector/MultipleDates.js +76 -0
- package/lib/PickerInput/Selector/SingleSelector/index.d.ts +18 -0
- package/lib/PickerInput/Selector/SingleSelector/index.js +196 -0
- package/lib/PickerInput/Selector/hooks/useClearIcon.d.ts +8 -0
- package/lib/PickerInput/Selector/hooks/useClearIcon.js +27 -0
- package/lib/PickerInput/Selector/hooks/useInputProps.d.ts +16 -0
- package/lib/PickerInput/Selector/hooks/useInputProps.js +187 -0
- package/lib/PickerInput/Selector/hooks/useRootProps.d.ts +2 -0
- package/lib/PickerInput/Selector/hooks/useRootProps.js +17 -0
- package/lib/PickerInput/Selector/util.d.ts +1 -0
- package/lib/PickerInput/Selector/util.js +18 -0
- package/lib/PickerInput/SinglePicker.d.ts +51 -0
- package/lib/PickerInput/SinglePicker.js +553 -0
- package/lib/PickerInput/context.d.ts +13 -0
- package/lib/PickerInput/context.js +12 -0
- package/lib/PickerInput/hooks/useCellRender.d.ts +2 -0
- package/lib/PickerInput/hooks/useCellRender.js +49 -0
- package/lib/PickerInput/hooks/useDelayState.d.ts +5 -0
- package/lib/PickerInput/hooks/useDelayState.js +54 -0
- package/lib/PickerInput/hooks/useDisabledBoundary.d.ts +7 -0
- package/lib/PickerInput/hooks/useDisabledBoundary.js +26 -0
- package/lib/PickerInput/hooks/useFieldFormat.d.ts +2 -0
- package/lib/PickerInput/hooks/useFieldFormat.js +26 -0
- package/lib/PickerInput/hooks/useFieldsInvalidate.d.ts +5 -0
- package/lib/PickerInput/hooks/useFieldsInvalidate.js +64 -0
- package/lib/PickerInput/hooks/useFilledProps.d.ts +37 -0
- package/lib/PickerInput/hooks/useFilledProps.js +164 -0
- package/lib/PickerInput/hooks/useInputReadOnly.d.ts +2 -0
- package/lib/PickerInput/hooks/useInputReadOnly.js +12 -0
- package/lib/PickerInput/hooks/useInvalidate.d.ts +9 -0
- package/lib/PickerInput/hooks/useInvalidate.js +67 -0
- package/lib/PickerInput/hooks/useLockEffect.d.ts +5 -0
- package/lib/PickerInput/hooks/useLockEffect.js +34 -0
- package/lib/PickerInput/hooks/useOpen.d.ts +6 -0
- package/lib/PickerInput/hooks/useOpen.js +39 -0
- package/lib/PickerInput/hooks/usePickerRef.d.ts +7 -0
- package/lib/PickerInput/hooks/usePickerRef.js +28 -0
- package/lib/PickerInput/hooks/usePresets.d.ts +2 -0
- package/lib/PickerInput/hooks/usePresets.js +38 -0
- package/lib/PickerInput/hooks/useRangeActive.d.ts +19 -0
- package/lib/PickerInput/hooks/useRangeActive.js +84 -0
- package/lib/PickerInput/hooks/useRangeDisabledDate.d.ts +8 -0
- package/lib/PickerInput/hooks/useRangeDisabledDate.js +58 -0
- package/lib/PickerInput/hooks/useRangePickerValue.d.ts +5 -0
- package/lib/PickerInput/hooks/useRangePickerValue.js +203 -0
- package/lib/PickerInput/hooks/useRangeValue.d.ts +28 -0
- package/lib/PickerInput/hooks/useRangeValue.js +308 -0
- package/lib/PickerInput/hooks/useShowNow.d.ts +2 -0
- package/lib/PickerInput/hooks/useShowNow.js +20 -0
- package/lib/PickerPanel/DatePanel/index.d.ts +10 -0
- package/lib/PickerPanel/DatePanel/index.js +199 -0
- package/lib/PickerPanel/DateTimePanel/index.d.ts +3 -0
- package/lib/PickerPanel/DateTimePanel/index.js +65 -0
- package/lib/PickerPanel/DecadePanel/index.d.ts +3 -0
- package/lib/PickerPanel/DecadePanel/index.js +122 -0
- package/lib/PickerPanel/MonthPanel/index.d.ts +3 -0
- package/lib/PickerPanel/MonthPanel/index.js +115 -0
- package/lib/PickerPanel/PanelBody.d.ts +17 -0
- package/lib/PickerPanel/PanelBody.js +162 -0
- package/lib/PickerPanel/PanelHeader.d.ts +11 -0
- package/lib/PickerPanel/PanelHeader.js +143 -0
- package/lib/PickerPanel/QuarterPanel/index.d.ts +3 -0
- package/lib/PickerPanel/QuarterPanel/index.js +101 -0
- package/lib/PickerPanel/TimePanel/TimePanelBody/TimeColumn.d.ts +17 -0
- package/lib/PickerPanel/TimePanel/TimePanelBody/TimeColumn.js +158 -0
- package/lib/PickerPanel/TimePanel/TimePanelBody/index.d.ts +4 -0
- package/lib/PickerPanel/TimePanel/TimePanelBody/index.js +293 -0
- package/lib/PickerPanel/TimePanel/TimePanelBody/useScrollTo.d.ts +2 -0
- package/lib/PickerPanel/TimePanel/TimePanelBody/useScrollTo.js +82 -0
- package/lib/PickerPanel/TimePanel/TimePanelBody/util.d.ts +3 -0
- package/lib/PickerPanel/TimePanel/TimePanelBody/util.js +49 -0
- package/lib/PickerPanel/TimePanel/index.d.ts +4 -0
- package/lib/PickerPanel/TimePanel/index.js +48 -0
- package/lib/PickerPanel/WeekPanel/index.d.ts +3 -0
- package/lib/PickerPanel/WeekPanel/index.js +64 -0
- package/lib/PickerPanel/YearPanel/index.d.ts +3 -0
- package/lib/PickerPanel/YearPanel/index.js +125 -0
- package/lib/PickerPanel/context.d.ts +24 -0
- package/lib/PickerPanel/context.js +78 -0
- package/lib/PickerPanel/index.d.ts +60 -0
- package/lib/PickerPanel/index.js +324 -0
- package/lib/PickerTrigger/index.d.ts +19 -0
- package/lib/PickerTrigger/index.js +95 -0
- package/lib/PickerTrigger/util.d.ts +2 -0
- package/lib/PickerTrigger/util.js +10 -0
- package/lib/generate/dateFns.d.ts +3 -0
- package/lib/generate/dateFns.js +172 -0
- package/lib/generate/dayjs.d.ts +4 -0
- package/lib/generate/dayjs.js +240 -0
- package/lib/generate/index.d.ts +37 -0
- package/lib/generate/index.js +5 -0
- package/lib/generate/luxon.d.ts +4 -0
- package/lib/generate/luxon.js +203 -0
- package/lib/generate/moment.d.ts +4 -0
- package/lib/generate/moment.js +159 -0
- package/lib/hooks/useLocale.d.ts +6 -0
- package/lib/hooks/useLocale.js +90 -0
- package/lib/hooks/useSyncState.d.ts +6 -0
- package/lib/hooks/useSyncState.js +35 -0
- package/lib/hooks/useTimeConfig.d.ts +18 -0
- package/lib/hooks/useTimeConfig.js +173 -0
- package/lib/hooks/useTimeInfo.d.ts +12 -0
- package/lib/hooks/useTimeInfo.js +172 -0
- package/lib/hooks/useToggleDates.d.ts +8 -0
- package/lib/hooks/useToggleDates.js +32 -0
- package/lib/index.d.ts +35 -0
- package/lib/index.js +57 -0
- package/lib/interface.d.ts +365 -0
- package/lib/interface.js +5 -0
- package/lib/locale/am_ET.d.ts +3 -0
- package/lib/locale/am_ET.js +37 -0
- package/lib/locale/ar_EG.d.ts +3 -0
- package/lib/locale/ar_EG.js +40 -0
- package/lib/locale/az_AZ.d.ts +3 -0
- package/lib/locale/az_AZ.js +41 -0
- package/lib/locale/bg_BG.d.ts +3 -0
- package/lib/locale/bg_BG.js +40 -0
- package/lib/locale/bn_BD.d.ts +3 -0
- package/lib/locale/bn_BD.js +41 -0
- package/lib/locale/by_BY.d.ts +3 -0
- package/lib/locale/by_BY.js +41 -0
- package/lib/locale/ca_ES.d.ts +3 -0
- package/lib/locale/ca_ES.js +40 -0
- package/lib/locale/common.d.ts +2 -0
- package/lib/locale/common.js +12 -0
- package/lib/locale/cs_CZ.d.ts +3 -0
- package/lib/locale/cs_CZ.js +40 -0
- package/lib/locale/da_DK.d.ts +3 -0
- package/lib/locale/da_DK.js +40 -0
- package/lib/locale/de_DE.d.ts +3 -0
- package/lib/locale/de_DE.js +40 -0
- package/lib/locale/el_GR.d.ts +3 -0
- package/lib/locale/el_GR.js +40 -0
- package/lib/locale/en_GB.d.ts +3 -0
- package/lib/locale/en_GB.js +40 -0
- package/lib/locale/en_US.d.ts +3 -0
- package/lib/locale/en_US.js +41 -0
- package/lib/locale/es_ES.d.ts +3 -0
- package/lib/locale/es_ES.js +40 -0
- package/lib/locale/es_MX.d.ts +3 -0
- package/lib/locale/es_MX.js +41 -0
- package/lib/locale/et_EE.d.ts +3 -0
- package/lib/locale/et_EE.js +40 -0
- package/lib/locale/eu_ES.d.ts +3 -0
- package/lib/locale/eu_ES.js +42 -0
- package/lib/locale/fa_IR.d.ts +3 -0
- package/lib/locale/fa_IR.js +40 -0
- package/lib/locale/fi_FI.d.ts +3 -0
- package/lib/locale/fi_FI.js +40 -0
- package/lib/locale/fr_BE.d.ts +3 -0
- package/lib/locale/fr_BE.js +40 -0
- package/lib/locale/fr_CA.d.ts +3 -0
- package/lib/locale/fr_CA.js +41 -0
- package/lib/locale/fr_FR.d.ts +3 -0
- package/lib/locale/fr_FR.js +41 -0
- package/lib/locale/ga_IE.d.ts +3 -0
- package/lib/locale/ga_IE.js +41 -0
- package/lib/locale/gl_ES.d.ts +3 -0
- package/lib/locale/gl_ES.js +40 -0
- package/lib/locale/he_IL.d.ts +3 -0
- package/lib/locale/he_IL.js +41 -0
- package/lib/locale/hi_IN.d.ts +3 -0
- package/lib/locale/hi_IN.js +41 -0
- package/lib/locale/hr_HR.d.ts +3 -0
- package/lib/locale/hr_HR.js +41 -0
- package/lib/locale/hu_HU.d.ts +3 -0
- package/lib/locale/hu_HU.js +64 -0
- package/lib/locale/id_ID.d.ts +3 -0
- package/lib/locale/id_ID.js +41 -0
- package/lib/locale/is_IS.d.ts +3 -0
- package/lib/locale/is_IS.js +40 -0
- package/lib/locale/it_IT.d.ts +3 -0
- package/lib/locale/it_IT.js +40 -0
- package/lib/locale/ja_JP.d.ts +3 -0
- package/lib/locale/ja_JP.js +43 -0
- package/lib/locale/ka_GE.d.ts +3 -0
- package/lib/locale/ka_GE.js +41 -0
- package/lib/locale/kk_KZ.d.ts +3 -0
- package/lib/locale/kk_KZ.js +40 -0
- package/lib/locale/km_KH.d.ts +3 -0
- package/lib/locale/km_KH.js +42 -0
- package/lib/locale/kmr_IQ.d.ts +3 -0
- package/lib/locale/kmr_IQ.js +40 -0
- package/lib/locale/kn_IN.d.ts +3 -0
- package/lib/locale/kn_IN.js +41 -0
- package/lib/locale/ko_KR.d.ts +3 -0
- package/lib/locale/ko_KR.js +42 -0
- package/lib/locale/lt_LT.d.ts +3 -0
- package/lib/locale/lt_LT.js +42 -0
- package/lib/locale/lv_LV.d.ts +3 -0
- package/lib/locale/lv_LV.js +40 -0
- package/lib/locale/mk_MK.d.ts +3 -0
- package/lib/locale/mk_MK.js +40 -0
- package/lib/locale/ml_IN.d.ts +3 -0
- package/lib/locale/ml_IN.js +41 -0
- package/lib/locale/mn_MN.d.ts +3 -0
- package/lib/locale/mn_MN.js +42 -0
- package/lib/locale/ms_MY.d.ts +3 -0
- package/lib/locale/ms_MY.js +42 -0
- package/lib/locale/my_MM.d.ts +3 -0
- package/lib/locale/my_MM.js +41 -0
- package/lib/locale/nb_NO.d.ts +3 -0
- package/lib/locale/nb_NO.js +42 -0
- package/lib/locale/ne_NP.d.ts +3 -0
- package/lib/locale/ne_NP.js +41 -0
- package/lib/locale/nl_BE.d.ts +3 -0
- package/lib/locale/nl_BE.js +40 -0
- package/lib/locale/nl_NL.d.ts +3 -0
- package/lib/locale/nl_NL.js +40 -0
- package/lib/locale/pl_PL.d.ts +3 -0
- package/lib/locale/pl_PL.js +40 -0
- package/lib/locale/pt_BR.d.ts +3 -0
- package/lib/locale/pt_BR.js +43 -0
- package/lib/locale/pt_PT.d.ts +3 -0
- package/lib/locale/pt_PT.js +42 -0
- package/lib/locale/ro_RO.d.ts +3 -0
- package/lib/locale/ro_RO.js +41 -0
- package/lib/locale/ru_RU.d.ts +3 -0
- package/lib/locale/ru_RU.js +40 -0
- package/lib/locale/si_LK.d.ts +3 -0
- package/lib/locale/si_LK.js +42 -0
- package/lib/locale/sk_SK.d.ts +3 -0
- package/lib/locale/sk_SK.js +40 -0
- package/lib/locale/sl_SI.d.ts +3 -0
- package/lib/locale/sl_SI.js +40 -0
- package/lib/locale/sr_Cyrl_RS.d.ts +3 -0
- package/lib/locale/sr_Cyrl_RS.js +40 -0
- package/lib/locale/sr_RS.d.ts +3 -0
- package/lib/locale/sr_RS.js +40 -0
- package/lib/locale/sv_SE.d.ts +3 -0
- package/lib/locale/sv_SE.js +40 -0
- package/lib/locale/ta_IN.d.ts +3 -0
- package/lib/locale/ta_IN.js +41 -0
- package/lib/locale/th_TH.d.ts +3 -0
- package/lib/locale/th_TH.js +40 -0
- package/lib/locale/tk_TK.d.ts +3 -0
- package/lib/locale/tk_TK.js +40 -0
- package/lib/locale/tr_TR.d.ts +3 -0
- package/lib/locale/tr_TR.js +42 -0
- package/lib/locale/ug_CN.d.ts +3 -0
- package/lib/locale/ug_CN.js +43 -0
- package/lib/locale/uk_UA.d.ts +3 -0
- package/lib/locale/uk_UA.js +40 -0
- package/lib/locale/ur_PK.d.ts +3 -0
- package/lib/locale/ur_PK.js +41 -0
- package/lib/locale/uz_UZ.d.ts +3 -0
- package/lib/locale/uz_UZ.js +41 -0
- package/lib/locale/vi_VN.d.ts +3 -0
- package/lib/locale/vi_VN.js +41 -0
- package/lib/locale/zh_CN.d.ts +3 -0
- package/lib/locale/zh_CN.js +42 -0
- package/lib/locale/zh_TW.d.ts +3 -0
- package/lib/locale/zh_TW.js +44 -0
- package/lib/utils/dateUtil.d.ts +29 -0
- package/lib/utils/dateUtil.js +161 -0
- package/lib/utils/getClearIcon.d.ts +5 -0
- package/lib/utils/getClearIcon.js +15 -0
- package/lib/utils/miscUtil.d.ts +14 -0
- package/lib/utils/miscUtil.js +81 -0
- package/lib/utils/uiUtil.d.ts +1 -0
- package/lib/utils/uiUtil.js +13 -0
- package/lib/utils/warnUtil.d.ts +5 -0
- package/lib/utils/warnUtil.js +17 -0
- package/package.json +107 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface HeaderProps<DateType extends object> {
|
|
3
|
+
offset?: (distance: number, date: DateType) => DateType;
|
|
4
|
+
superOffset?: (distance: number, date: DateType) => DateType;
|
|
5
|
+
onChange?: (date: DateType) => void;
|
|
6
|
+
getStart?: (date: DateType) => DateType;
|
|
7
|
+
getEnd?: (date: DateType) => DateType;
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
declare function PanelHeader<DateType extends object>(props: HeaderProps<DateType>): React.JSX.Element;
|
|
11
|
+
export default PanelHeader;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import classNames from 'classnames';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { isSameOrAfter } from "../utils/dateUtil";
|
|
4
|
+
import { PickerHackContext, usePanelContext } from "./context";
|
|
5
|
+
var HIDDEN_STYLE = {
|
|
6
|
+
visibility: 'hidden'
|
|
7
|
+
};
|
|
8
|
+
function PanelHeader(props) {
|
|
9
|
+
var offset = props.offset,
|
|
10
|
+
superOffset = props.superOffset,
|
|
11
|
+
onChange = props.onChange,
|
|
12
|
+
getStart = props.getStart,
|
|
13
|
+
getEnd = props.getEnd,
|
|
14
|
+
children = props.children;
|
|
15
|
+
var _usePanelContext = usePanelContext(),
|
|
16
|
+
prefixCls = _usePanelContext.prefixCls,
|
|
17
|
+
_usePanelContext$prev = _usePanelContext.prevIcon,
|
|
18
|
+
prevIcon = _usePanelContext$prev === void 0 ? "\u2039" : _usePanelContext$prev,
|
|
19
|
+
_usePanelContext$next = _usePanelContext.nextIcon,
|
|
20
|
+
nextIcon = _usePanelContext$next === void 0 ? "\u203A" : _usePanelContext$next,
|
|
21
|
+
_usePanelContext$supe = _usePanelContext.superPrevIcon,
|
|
22
|
+
superPrevIcon = _usePanelContext$supe === void 0 ? "\xAB" : _usePanelContext$supe,
|
|
23
|
+
_usePanelContext$supe2 = _usePanelContext.superNextIcon,
|
|
24
|
+
superNextIcon = _usePanelContext$supe2 === void 0 ? "\xBB" : _usePanelContext$supe2,
|
|
25
|
+
minDate = _usePanelContext.minDate,
|
|
26
|
+
maxDate = _usePanelContext.maxDate,
|
|
27
|
+
generateConfig = _usePanelContext.generateConfig,
|
|
28
|
+
locale = _usePanelContext.locale,
|
|
29
|
+
pickerValue = _usePanelContext.pickerValue,
|
|
30
|
+
type = _usePanelContext.panelType;
|
|
31
|
+
var headerPrefixCls = "".concat(prefixCls, "-header");
|
|
32
|
+
var _React$useContext = React.useContext(PickerHackContext),
|
|
33
|
+
hidePrev = _React$useContext.hidePrev,
|
|
34
|
+
hideNext = _React$useContext.hideNext,
|
|
35
|
+
hideHeader = _React$useContext.hideHeader;
|
|
36
|
+
|
|
37
|
+
// ======================= Limitation =======================
|
|
38
|
+
var disabledOffsetPrev = React.useMemo(function () {
|
|
39
|
+
if (!minDate || !offset || !getEnd) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
var prevPanelLimitDate = getEnd(offset(-1, pickerValue));
|
|
43
|
+
return !isSameOrAfter(generateConfig, locale, prevPanelLimitDate, minDate, type);
|
|
44
|
+
}, [minDate, offset, pickerValue, getEnd, generateConfig, locale, type]);
|
|
45
|
+
var disabledSuperOffsetPrev = React.useMemo(function () {
|
|
46
|
+
if (!minDate || !superOffset || !getEnd) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
var prevPanelLimitDate = getEnd(superOffset(-1, pickerValue));
|
|
50
|
+
return !isSameOrAfter(generateConfig, locale, prevPanelLimitDate, minDate, type);
|
|
51
|
+
}, [minDate, superOffset, pickerValue, getEnd, generateConfig, locale, type]);
|
|
52
|
+
var disabledOffsetNext = React.useMemo(function () {
|
|
53
|
+
if (!maxDate || !offset || !getStart) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
var nextPanelLimitDate = getStart(offset(1, pickerValue));
|
|
57
|
+
return !isSameOrAfter(generateConfig, locale, maxDate, nextPanelLimitDate, type);
|
|
58
|
+
}, [maxDate, offset, pickerValue, getStart, generateConfig, locale, type]);
|
|
59
|
+
var disabledSuperOffsetNext = React.useMemo(function () {
|
|
60
|
+
if (!maxDate || !superOffset || !getStart) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
var nextPanelLimitDate = getStart(superOffset(1, pickerValue));
|
|
64
|
+
return !isSameOrAfter(generateConfig, locale, maxDate, nextPanelLimitDate, type);
|
|
65
|
+
}, [maxDate, superOffset, pickerValue, getStart, generateConfig, locale, type]);
|
|
66
|
+
|
|
67
|
+
// ========================= Offset =========================
|
|
68
|
+
var onOffset = function onOffset(distance) {
|
|
69
|
+
if (offset) {
|
|
70
|
+
onChange(offset(distance, pickerValue));
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
var onSuperOffset = function onSuperOffset(distance) {
|
|
74
|
+
if (superOffset) {
|
|
75
|
+
onChange(superOffset(distance, pickerValue));
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
// ========================= Render =========================
|
|
80
|
+
if (hideHeader) {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
var prevBtnCls = "".concat(headerPrefixCls, "-prev-btn");
|
|
84
|
+
var nextBtnCls = "".concat(headerPrefixCls, "-next-btn");
|
|
85
|
+
var superPrevBtnCls = "".concat(headerPrefixCls, "-super-prev-btn");
|
|
86
|
+
var superNextBtnCls = "".concat(headerPrefixCls, "-super-next-btn");
|
|
87
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
88
|
+
className: headerPrefixCls
|
|
89
|
+
}, superOffset && /*#__PURE__*/React.createElement("button", {
|
|
90
|
+
type: "button",
|
|
91
|
+
"aria-label": locale.previousYear,
|
|
92
|
+
onClick: function onClick() {
|
|
93
|
+
return onSuperOffset(-1);
|
|
94
|
+
},
|
|
95
|
+
tabIndex: -1,
|
|
96
|
+
className: classNames(superPrevBtnCls, disabledSuperOffsetPrev && "".concat(superPrevBtnCls, "-disabled")),
|
|
97
|
+
disabled: disabledSuperOffsetPrev,
|
|
98
|
+
style: hidePrev ? HIDDEN_STYLE : {}
|
|
99
|
+
}, superPrevIcon), offset && /*#__PURE__*/React.createElement("button", {
|
|
100
|
+
type: "button",
|
|
101
|
+
"aria-label": locale.previousMonth,
|
|
102
|
+
onClick: function onClick() {
|
|
103
|
+
return onOffset(-1);
|
|
104
|
+
},
|
|
105
|
+
tabIndex: -1,
|
|
106
|
+
className: classNames(prevBtnCls, disabledOffsetPrev && "".concat(prevBtnCls, "-disabled")),
|
|
107
|
+
disabled: disabledOffsetPrev,
|
|
108
|
+
style: hidePrev ? HIDDEN_STYLE : {}
|
|
109
|
+
}, prevIcon), /*#__PURE__*/React.createElement("div", {
|
|
110
|
+
className: "".concat(headerPrefixCls, "-view")
|
|
111
|
+
}, children), offset && /*#__PURE__*/React.createElement("button", {
|
|
112
|
+
type: "button",
|
|
113
|
+
"aria-label": locale.nextMonth,
|
|
114
|
+
onClick: function onClick() {
|
|
115
|
+
return onOffset(1);
|
|
116
|
+
},
|
|
117
|
+
tabIndex: -1,
|
|
118
|
+
className: classNames(nextBtnCls, disabledOffsetNext && "".concat(nextBtnCls, "-disabled")),
|
|
119
|
+
disabled: disabledOffsetNext,
|
|
120
|
+
style: hideNext ? HIDDEN_STYLE : {}
|
|
121
|
+
}, nextIcon), superOffset && /*#__PURE__*/React.createElement("button", {
|
|
122
|
+
type: "button",
|
|
123
|
+
"aria-label": locale.nextYear,
|
|
124
|
+
onClick: function onClick() {
|
|
125
|
+
return onSuperOffset(1);
|
|
126
|
+
},
|
|
127
|
+
tabIndex: -1,
|
|
128
|
+
className: classNames(superNextBtnCls, disabledSuperOffsetNext && "".concat(superNextBtnCls, "-disabled")),
|
|
129
|
+
disabled: disabledSuperOffsetNext,
|
|
130
|
+
style: hideNext ? HIDDEN_STYLE : {}
|
|
131
|
+
}, superNextIcon));
|
|
132
|
+
}
|
|
133
|
+
export default PanelHeader;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
3
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
5
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
6
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
7
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
8
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
9
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
10
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
11
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
|
+
import * as React from 'react';
|
|
13
|
+
import { formatValue } from "../../utils/dateUtil";
|
|
14
|
+
import { PanelContext, useInfo } from "../context";
|
|
15
|
+
import PanelBody from "../PanelBody";
|
|
16
|
+
import PanelHeader from "../PanelHeader";
|
|
17
|
+
export default function QuarterPanel(props) {
|
|
18
|
+
var prefixCls = props.prefixCls,
|
|
19
|
+
locale = props.locale,
|
|
20
|
+
generateConfig = props.generateConfig,
|
|
21
|
+
pickerValue = props.pickerValue,
|
|
22
|
+
onPickerValueChange = props.onPickerValueChange,
|
|
23
|
+
onModeChange = props.onModeChange;
|
|
24
|
+
var panelPrefixCls = "".concat(prefixCls, "-quarter-panel");
|
|
25
|
+
|
|
26
|
+
// ========================== Base ==========================
|
|
27
|
+
var _useInfo = useInfo(props, 'quarter'),
|
|
28
|
+
_useInfo2 = _slicedToArray(_useInfo, 1),
|
|
29
|
+
info = _useInfo2[0];
|
|
30
|
+
var baseDate = generateConfig.setMonth(pickerValue, 0);
|
|
31
|
+
|
|
32
|
+
// ========================= Cells ==========================
|
|
33
|
+
var getCellDate = function getCellDate(date, offset) {
|
|
34
|
+
return generateConfig.addMonth(date, offset * 3);
|
|
35
|
+
};
|
|
36
|
+
var getCellText = function getCellText(date) {
|
|
37
|
+
return formatValue(date, {
|
|
38
|
+
locale: locale,
|
|
39
|
+
format: locale.cellQuarterFormat,
|
|
40
|
+
generateConfig: generateConfig
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
var getCellClassName = function getCellClassName() {
|
|
44
|
+
return _defineProperty({}, "".concat(prefixCls, "-cell-in-view"), true);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
// ========================= Header =========================
|
|
48
|
+
var yearNode = /*#__PURE__*/React.createElement("button", {
|
|
49
|
+
type: "button",
|
|
50
|
+
key: "year",
|
|
51
|
+
"aria-label": locale.yearSelect,
|
|
52
|
+
onClick: function onClick() {
|
|
53
|
+
onModeChange('year');
|
|
54
|
+
},
|
|
55
|
+
tabIndex: -1,
|
|
56
|
+
className: "".concat(prefixCls, "-year-btn")
|
|
57
|
+
}, formatValue(pickerValue, {
|
|
58
|
+
locale: locale,
|
|
59
|
+
format: locale.yearFormat,
|
|
60
|
+
generateConfig: generateConfig
|
|
61
|
+
}));
|
|
62
|
+
|
|
63
|
+
// ========================= Render =========================
|
|
64
|
+
return /*#__PURE__*/React.createElement(PanelContext.Provider, {
|
|
65
|
+
value: info
|
|
66
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
67
|
+
className: panelPrefixCls
|
|
68
|
+
}, /*#__PURE__*/React.createElement(PanelHeader, {
|
|
69
|
+
superOffset: function superOffset(distance) {
|
|
70
|
+
return generateConfig.addYear(pickerValue, distance);
|
|
71
|
+
},
|
|
72
|
+
onChange: onPickerValueChange
|
|
73
|
+
// Limitation
|
|
74
|
+
,
|
|
75
|
+
getStart: function getStart(date) {
|
|
76
|
+
return generateConfig.setMonth(date, 0);
|
|
77
|
+
},
|
|
78
|
+
getEnd: function getEnd(date) {
|
|
79
|
+
return generateConfig.setMonth(date, 11);
|
|
80
|
+
}
|
|
81
|
+
}, yearNode), /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {
|
|
82
|
+
titleFormat: locale.fieldQuarterFormat,
|
|
83
|
+
colNum: 4,
|
|
84
|
+
rowNum: 1,
|
|
85
|
+
baseDate: baseDate
|
|
86
|
+
// Body
|
|
87
|
+
,
|
|
88
|
+
getCellDate: getCellDate,
|
|
89
|
+
getCellText: getCellText,
|
|
90
|
+
getCellClassName: getCellClassName
|
|
91
|
+
}))));
|
|
92
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export type Unit<ValueType = number | string> = {
|
|
3
|
+
label: React.ReactText;
|
|
4
|
+
value: ValueType;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export interface TimeUnitColumnProps {
|
|
8
|
+
units: Unit[];
|
|
9
|
+
value: number | string;
|
|
10
|
+
optionalValue?: number | string;
|
|
11
|
+
type: 'hour' | 'minute' | 'second' | 'millisecond' | 'meridiem';
|
|
12
|
+
onChange: (value: number | string) => void;
|
|
13
|
+
onHover: (value: number | string) => void;
|
|
14
|
+
onDblClick?: VoidFunction;
|
|
15
|
+
changeOnScroll?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export default function TimeColumn<DateType extends object>(props: TimeUnitColumnProps): React.JSX.Element;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
4
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
5
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
6
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
7
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
8
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
9
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
10
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
12
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
14
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
15
|
+
import classNames from 'classnames';
|
|
16
|
+
import useLayoutEffect from "@rc-component/util/es/hooks/useLayoutEffect";
|
|
17
|
+
import * as React from 'react';
|
|
18
|
+
import { usePanelContext } from "../../context";
|
|
19
|
+
import useScrollTo from "./useScrollTo";
|
|
20
|
+
var SCROLL_DELAY = 300;
|
|
21
|
+
// Not use JSON.stringify to avoid dead loop
|
|
22
|
+
function flattenUnits(units) {
|
|
23
|
+
return units.map(function (_ref) {
|
|
24
|
+
var value = _ref.value,
|
|
25
|
+
label = _ref.label,
|
|
26
|
+
disabled = _ref.disabled;
|
|
27
|
+
return [value, label, disabled].join(',');
|
|
28
|
+
}).join(';');
|
|
29
|
+
}
|
|
30
|
+
export default function TimeColumn(props) {
|
|
31
|
+
var units = props.units,
|
|
32
|
+
value = props.value,
|
|
33
|
+
optionalValue = props.optionalValue,
|
|
34
|
+
type = props.type,
|
|
35
|
+
onChange = props.onChange,
|
|
36
|
+
onHover = props.onHover,
|
|
37
|
+
onDblClick = props.onDblClick,
|
|
38
|
+
changeOnScroll = props.changeOnScroll;
|
|
39
|
+
var _usePanelContext = usePanelContext(),
|
|
40
|
+
prefixCls = _usePanelContext.prefixCls,
|
|
41
|
+
cellRender = _usePanelContext.cellRender,
|
|
42
|
+
now = _usePanelContext.now,
|
|
43
|
+
locale = _usePanelContext.locale;
|
|
44
|
+
var panelPrefixCls = "".concat(prefixCls, "-time-panel");
|
|
45
|
+
var cellPrefixCls = "".concat(prefixCls, "-time-panel-cell");
|
|
46
|
+
|
|
47
|
+
// ========================== Refs ==========================
|
|
48
|
+
var ulRef = React.useRef(null);
|
|
49
|
+
|
|
50
|
+
// ========================= Scroll =========================
|
|
51
|
+
var checkDelayRef = React.useRef();
|
|
52
|
+
var clearDelayCheck = function clearDelayCheck() {
|
|
53
|
+
clearTimeout(checkDelayRef.current);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
// ========================== Sync ==========================
|
|
57
|
+
var _useScrollTo = useScrollTo(ulRef, value !== null && value !== void 0 ? value : optionalValue),
|
|
58
|
+
_useScrollTo2 = _slicedToArray(_useScrollTo, 3),
|
|
59
|
+
syncScroll = _useScrollTo2[0],
|
|
60
|
+
stopScroll = _useScrollTo2[1],
|
|
61
|
+
isScrolling = _useScrollTo2[2];
|
|
62
|
+
|
|
63
|
+
// Effect sync value scroll
|
|
64
|
+
useLayoutEffect(function () {
|
|
65
|
+
syncScroll();
|
|
66
|
+
clearDelayCheck();
|
|
67
|
+
return function () {
|
|
68
|
+
stopScroll();
|
|
69
|
+
clearDelayCheck();
|
|
70
|
+
};
|
|
71
|
+
}, [value, optionalValue, flattenUnits(units)]);
|
|
72
|
+
|
|
73
|
+
// ========================= Change =========================
|
|
74
|
+
// Scroll event if sync onScroll
|
|
75
|
+
var onInternalScroll = function onInternalScroll(event) {
|
|
76
|
+
clearDelayCheck();
|
|
77
|
+
var target = event.target;
|
|
78
|
+
if (!isScrolling() && changeOnScroll) {
|
|
79
|
+
checkDelayRef.current = setTimeout(function () {
|
|
80
|
+
var ul = ulRef.current;
|
|
81
|
+
var firstLiTop = ul.querySelector("li").offsetTop;
|
|
82
|
+
var liList = Array.from(ul.querySelectorAll("li"));
|
|
83
|
+
var liTopList = liList.map(function (li) {
|
|
84
|
+
return li.offsetTop - firstLiTop;
|
|
85
|
+
});
|
|
86
|
+
var liDistList = liTopList.map(function (top, index) {
|
|
87
|
+
if (units[index].disabled) {
|
|
88
|
+
return Number.MAX_SAFE_INTEGER;
|
|
89
|
+
}
|
|
90
|
+
return Math.abs(top - target.scrollTop);
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
// Find min distance index
|
|
94
|
+
var minDist = Math.min.apply(Math, _toConsumableArray(liDistList));
|
|
95
|
+
var minDistIndex = liDistList.findIndex(function (dist) {
|
|
96
|
+
return dist === minDist;
|
|
97
|
+
});
|
|
98
|
+
var targetUnit = units[minDistIndex];
|
|
99
|
+
if (targetUnit && !targetUnit.disabled) {
|
|
100
|
+
onChange(targetUnit.value);
|
|
101
|
+
}
|
|
102
|
+
}, SCROLL_DELAY);
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
// ========================= Render =========================
|
|
107
|
+
var columnPrefixCls = "".concat(panelPrefixCls, "-column");
|
|
108
|
+
return /*#__PURE__*/React.createElement("ul", {
|
|
109
|
+
className: columnPrefixCls,
|
|
110
|
+
ref: ulRef,
|
|
111
|
+
"data-type": type,
|
|
112
|
+
onScroll: onInternalScroll
|
|
113
|
+
}, units.map(function (_ref2) {
|
|
114
|
+
var label = _ref2.label,
|
|
115
|
+
unitValue = _ref2.value,
|
|
116
|
+
disabled = _ref2.disabled;
|
|
117
|
+
var inner = /*#__PURE__*/React.createElement("div", {
|
|
118
|
+
className: "".concat(cellPrefixCls, "-inner")
|
|
119
|
+
}, label);
|
|
120
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
121
|
+
key: unitValue,
|
|
122
|
+
className: classNames(cellPrefixCls, _defineProperty(_defineProperty({}, "".concat(cellPrefixCls, "-selected"), value === unitValue), "".concat(cellPrefixCls, "-disabled"), disabled)),
|
|
123
|
+
onClick: function onClick() {
|
|
124
|
+
if (!disabled) {
|
|
125
|
+
onChange(unitValue);
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
onDoubleClick: function onDoubleClick() {
|
|
129
|
+
if (!disabled && onDblClick) {
|
|
130
|
+
onDblClick();
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
onMouseEnter: function onMouseEnter() {
|
|
134
|
+
onHover(unitValue);
|
|
135
|
+
},
|
|
136
|
+
onMouseLeave: function onMouseLeave() {
|
|
137
|
+
onHover(null);
|
|
138
|
+
},
|
|
139
|
+
"data-value": unitValue
|
|
140
|
+
}, cellRender ? cellRender(unitValue, {
|
|
141
|
+
prefixCls: prefixCls,
|
|
142
|
+
originNode: inner,
|
|
143
|
+
today: now,
|
|
144
|
+
type: 'time',
|
|
145
|
+
subType: type,
|
|
146
|
+
locale: locale
|
|
147
|
+
}) : inner);
|
|
148
|
+
}));
|
|
149
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { SharedPanelProps, SharedTimeProps } from '../../../interface';
|
|
3
|
+
export type TimePanelBodyProps<DateType extends object = any> = SharedPanelProps<DateType>;
|
|
4
|
+
export default function TimePanelBody<DateType extends object = any>(props: SharedTimeProps<DateType>): React.JSX.Element;
|