tdesign-react 0.35.0-alpha.1 → 0.35.0-alpha.2
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/dist/tdesign.css +70 -53
- package/dist/tdesign.css.map +1 -1
- package/dist/tdesign.js +1681 -1041
- package/dist/tdesign.js.map +1 -1
- package/dist/tdesign.min.css +1 -1
- package/dist/tdesign.min.css.map +1 -1
- package/dist/tdesign.min.js +4 -4
- package/dist/tdesign.min.js.map +1 -1
- package/{esm/_chunks/dep-22976878.js → es/_chunks/dep-2ed7eef7.js} +2 -2
- package/{esm/_chunks/dep-22976878.js.map → es/_chunks/dep-2ed7eef7.js.map} +1 -1
- package/es/_chunks/{dep-a1ce2324.js → dep-3a109495.js} +1 -1
- package/es/_chunks/{dep-a1ce2324.js.map → dep-3a109495.js.map} +1 -1
- package/es/_chunks/{dep-619d2589.js → dep-aec4b56c.js} +1 -1
- package/es/_chunks/{dep-619d2589.js.map → dep-aec4b56c.js.map} +1 -1
- package/es/addon/Addon.js +1 -1
- package/es/addon/Addon.js.map +1 -1
- package/es/calendar/Calendar.js +1 -1
- package/es/calendar/index.js +1 -1
- package/es/card/Card.js +1 -1
- package/es/card/Card.js.map +1 -1
- package/es/cascader/Cascader.js +1 -1
- package/es/cascader/components/Item.js +1 -1
- package/es/cascader/components/Panel.js +1 -1
- package/es/cascader/index.js +1 -1
- package/es/checkbox/Checkbox.js +1 -1
- package/es/checkbox/CheckboxGroup.js +1 -1
- package/es/checkbox/index.js +1 -1
- package/es/color-picker/ColorPicker.js +1 -1
- package/es/color-picker/ColorPickerPanel.js +1 -1
- package/es/color-picker/components/panel/header.js +1 -1
- package/es/color-picker/components/panel/index.js +1 -1
- package/es/color-picker/index.js +1 -1
- package/es/comment/Comment.js +1 -1
- package/es/comment/Comment.js.map +1 -1
- package/es/common/Check.js +1 -1
- package/es/common/Check.js.map +1 -1
- package/es/date-picker/DatePicker.js +23 -30
- package/es/date-picker/DatePicker.js.map +1 -1
- package/es/date-picker/DatePickerPanel.d.ts +7 -0
- package/es/date-picker/DatePickerPanel.js +349 -0
- package/es/date-picker/DatePickerPanel.js.map +1 -0
- package/es/date-picker/DateRangePicker.js +22 -15
- package/es/date-picker/DateRangePicker.js.map +1 -1
- package/es/date-picker/DateRangePickerPanel.d.ts +7 -0
- package/es/date-picker/DateRangePickerPanel.js +457 -0
- package/es/date-picker/DateRangePickerPanel.js.map +1 -0
- package/es/date-picker/base/Cell.d.ts +1 -1
- package/es/date-picker/base/Cell.js +5 -5
- package/es/date-picker/base/Cell.js.map +1 -1
- package/es/date-picker/base/Footer.js +3 -2
- package/es/date-picker/base/Footer.js.map +1 -1
- package/es/date-picker/base/Header.js +2 -2
- package/es/date-picker/base/Header.js.map +1 -1
- package/es/date-picker/base/Table.d.ts +3 -3
- package/es/date-picker/base/Table.js +2 -2
- package/es/date-picker/base/Table.js.map +1 -1
- package/es/date-picker/defaultProps.js +0 -2
- package/es/date-picker/defaultProps.js.map +1 -1
- package/es/date-picker/hooks/useFormat.d.ts +4 -1
- package/es/date-picker/hooks/useFormat.js +31 -19
- package/es/date-picker/hooks/useFormat.js.map +1 -1
- package/es/date-picker/hooks/useRange.d.ts +2 -2
- package/es/date-picker/hooks/useRange.js +52 -113
- package/es/date-picker/hooks/useRange.js.map +1 -1
- package/es/date-picker/hooks/useRangeValue.d.ts +24 -0
- package/es/date-picker/hooks/useRangeValue.js +156 -0
- package/es/date-picker/hooks/useRangeValue.js.map +1 -0
- package/es/date-picker/hooks/useSingle.d.ts +6 -10
- package/es/date-picker/hooks/useSingle.js +52 -72
- package/es/date-picker/hooks/useSingle.js.map +1 -1
- package/es/date-picker/hooks/useSingleValue.d.ts +14 -0
- package/es/date-picker/hooks/useSingleValue.js +101 -0
- package/es/date-picker/hooks/useSingleValue.js.map +1 -0
- package/es/date-picker/{panel → hooks}/useTableData.d.ts +2 -2
- package/es/date-picker/{panel → hooks}/useTableData.js +0 -0
- package/es/date-picker/hooks/useTableData.js.map +1 -0
- package/es/date-picker/index.d.ts +4 -20
- package/es/date-picker/index.js +19 -15
- package/es/date-picker/index.js.map +1 -1
- package/es/date-picker/panel/ExtraContent.d.ts +2 -2
- package/es/date-picker/panel/ExtraContent.js +1 -1
- package/es/date-picker/panel/ExtraContent.js.map +1 -1
- package/es/date-picker/panel/PanelContent.d.ts +17 -17
- package/es/date-picker/panel/PanelContent.js +7 -6
- package/es/date-picker/panel/PanelContent.js.map +1 -1
- package/{lib/date-picker/panel/DateRangePickerPanel.d.ts → es/date-picker/panel/RangePanel.d.ts} +4 -12
- package/es/date-picker/panel/{DateRangePickerPanel.js → RangePanel.js} +23 -17
- package/es/date-picker/panel/RangePanel.js.map +1 -0
- package/es/date-picker/panel/{DatePickerPanel.d.ts → SinglePanel.d.ts} +5 -13
- package/es/date-picker/panel/{DatePickerPanel.js → SinglePanel.js} +33 -27
- package/es/date-picker/panel/SinglePanel.js.map +1 -0
- package/es/date-picker/style/index.css +4 -4
- package/es/date-picker/type.d.ts +138 -9
- package/es/dialog/Dialog.js +1 -0
- package/es/dialog/Dialog.js.map +1 -1
- package/es/dialog/RenderDialog.js +44 -34
- package/es/dialog/RenderDialog.js.map +1 -1
- package/es/dialog/index.js +1 -0
- package/es/dialog/index.js.map +1 -1
- package/es/dialog/plugin.js +1 -0
- package/es/dialog/plugin.js.map +1 -1
- package/es/dialog/style/index.css +34 -23
- package/es/form/Form.js +6 -5
- package/es/form/Form.js.map +1 -1
- package/es/form/FormItem.js +5 -4
- package/es/form/FormItem.js.map +1 -1
- package/es/form/hooks/useFormItemStyle.js +5 -4
- package/es/form/hooks/useFormItemStyle.js.map +1 -1
- package/es/form/index.js +5 -4
- package/es/form/index.js.map +1 -1
- package/es/form/useInitialData.js +4 -3
- package/es/form/useInitialData.js.map +1 -1
- package/es/index.js +11 -6
- package/es/index.js.map +1 -1
- package/es/input/Input.js +1 -1
- package/es/input/Input.js.map +1 -1
- package/es/input/InputGroup.js +1 -1
- package/es/input/InputGroup.js.map +1 -1
- package/es/input-number/InputNumber.js +1 -1
- package/es/input-number/InputNumber.js.map +1 -1
- package/es/input-number/style/index.css +26 -26
- package/es/list/List.js +1 -1
- package/es/list/List.js.map +1 -1
- package/es/list/ListItem.js +1 -1
- package/es/list/ListItem.js.map +1 -1
- package/es/menu/HeadMenu.js +1 -1
- package/es/menu/HeadMenu.js.map +1 -1
- package/es/menu/Menu.js +1 -1
- package/es/menu/Menu.js.map +1 -1
- package/es/menu/MenuItem.js +1 -1
- package/es/menu/MenuItem.js.map +1 -1
- package/es/menu/SubMenu.js +2 -2
- package/es/menu/SubMenu.js.map +1 -1
- package/es/radio/Radio.js +1 -1
- package/es/radio/RadioGroup.js +1 -1
- package/es/radio/index.js +1 -1
- package/es/slider/Slider.js +1 -1
- package/es/slider/Slider.js.map +1 -1
- package/es/table/BaseTable.js +1 -0
- package/es/table/BaseTable.js.map +1 -1
- package/es/table/EnhancedTable.js +3 -2
- package/es/table/EnhancedTable.js.map +1 -1
- package/es/table/FilterController.js +2 -2
- package/es/table/PrimaryTable.js +3 -2
- package/es/table/PrimaryTable.js.map +1 -1
- package/es/table/TBody.js +6 -23
- package/es/table/TBody.js.map +1 -1
- package/es/table/TR.d.ts +2 -2
- package/es/table/TR.js +4 -14
- package/es/table/TR.js.map +1 -1
- package/es/table/hooks/useColumnController.js +1 -1
- package/es/table/hooks/useFilter.js +2 -2
- package/es/table/hooks/useRowSelect.js +2 -2
- package/es/table/hooks/useRowspanAndColspan.d.ts +10 -0
- package/es/table/hooks/useRowspanAndColspan.js +74 -0
- package/es/table/hooks/useRowspanAndColspan.js.map +1 -0
- package/es/table/index.js +3 -2
- package/es/table/index.js.map +1 -1
- package/es/table/style/index.css +6 -0
- package/es/textarea/Textarea.js +2 -2
- package/es/textarea/Textarea.js.map +1 -1
- package/es/transfer/Transfer.js +1 -1
- package/es/transfer/TransferList.js +1 -1
- package/es/transfer/index.js +1 -1
- package/es/tree/Tree.js +1 -1
- package/es/tree/TreeItem.js +1 -1
- package/es/tree/index.js +1 -1
- package/es/tree-select/TreeSelect.js +1 -1
- package/es/tree-select/index.js +1 -1
- package/es/upload/index.js +1 -0
- package/es/upload/index.js.map +1 -1
- package/es/upload/themes/image-card.js +1 -0
- package/es/upload/themes/image-card.js.map +1 -1
- package/es/upload/upload.js +1 -0
- package/es/upload/upload.js.map +1 -1
- package/{es/_chunks/dep-6e402ba5.js → esm/_chunks/dep-04427594.js} +2 -2
- package/{es/_chunks/dep-6e402ba5.js.map → esm/_chunks/dep-04427594.js.map} +1 -1
- package/esm/_chunks/{dep-a1ce2324.js → dep-3a109495.js} +1 -1
- package/esm/_chunks/{dep-a1ce2324.js.map → dep-3a109495.js.map} +1 -1
- package/esm/_chunks/{dep-619d2589.js → dep-aec4b56c.js} +1 -1
- package/esm/_chunks/{dep-619d2589.js.map → dep-aec4b56c.js.map} +1 -1
- package/esm/_common/style/web/components/date-picker-new/_index.less +4 -4
- package/esm/_common/style/web/components/dialog/_index.less +36 -23
- package/esm/_common/style/web/components/input-number/_index.less +4 -4
- package/esm/_common/style/web/components/table/_index.less +7 -0
- package/esm/addon/Addon.js +1 -1
- package/esm/addon/Addon.js.map +1 -1
- package/esm/calendar/Calendar.js +1 -1
- package/esm/calendar/index.js +1 -1
- package/esm/card/Card.js +1 -1
- package/esm/card/Card.js.map +1 -1
- package/esm/cascader/Cascader.js +1 -1
- package/esm/cascader/components/Item.js +1 -1
- package/esm/cascader/components/Panel.js +1 -1
- package/esm/cascader/index.js +1 -1
- package/esm/checkbox/Checkbox.js +1 -1
- package/esm/checkbox/CheckboxGroup.js +1 -1
- package/esm/checkbox/index.js +1 -1
- package/esm/color-picker/ColorPicker.js +1 -1
- package/esm/color-picker/ColorPickerPanel.js +1 -1
- package/esm/color-picker/components/panel/header.js +1 -1
- package/esm/color-picker/components/panel/index.js +1 -1
- package/esm/color-picker/index.js +1 -1
- package/esm/comment/Comment.js +1 -1
- package/esm/comment/Comment.js.map +1 -1
- package/esm/common/Check.js +1 -1
- package/esm/common/Check.js.map +1 -1
- package/esm/date-picker/DatePicker.js +23 -30
- package/esm/date-picker/DatePicker.js.map +1 -1
- package/esm/date-picker/DatePickerPanel.d.ts +7 -0
- package/esm/date-picker/DatePickerPanel.js +356 -0
- package/esm/date-picker/DatePickerPanel.js.map +1 -0
- package/esm/date-picker/DateRangePicker.js +22 -15
- package/esm/date-picker/DateRangePicker.js.map +1 -1
- package/esm/date-picker/DateRangePickerPanel.d.ts +7 -0
- package/esm/date-picker/DateRangePickerPanel.js +464 -0
- package/esm/date-picker/DateRangePickerPanel.js.map +1 -0
- package/esm/date-picker/base/Cell.d.ts +1 -1
- package/esm/date-picker/base/Cell.js +5 -5
- package/esm/date-picker/base/Cell.js.map +1 -1
- package/esm/date-picker/base/Footer.js +3 -2
- package/esm/date-picker/base/Footer.js.map +1 -1
- package/esm/date-picker/base/Header.js +2 -2
- package/esm/date-picker/base/Header.js.map +1 -1
- package/esm/date-picker/base/Table.d.ts +3 -3
- package/esm/date-picker/base/Table.js +2 -2
- package/esm/date-picker/base/Table.js.map +1 -1
- package/esm/date-picker/defaultProps.js +0 -2
- package/esm/date-picker/defaultProps.js.map +1 -1
- package/esm/date-picker/hooks/useFormat.d.ts +4 -1
- package/esm/date-picker/hooks/useFormat.js +31 -19
- package/esm/date-picker/hooks/useFormat.js.map +1 -1
- package/esm/date-picker/hooks/useRange.d.ts +2 -2
- package/esm/date-picker/hooks/useRange.js +52 -113
- package/esm/date-picker/hooks/useRange.js.map +1 -1
- package/esm/date-picker/hooks/useRangeValue.d.ts +24 -0
- package/esm/date-picker/hooks/useRangeValue.js +156 -0
- package/esm/date-picker/hooks/useRangeValue.js.map +1 -0
- package/esm/date-picker/hooks/useSingle.d.ts +6 -10
- package/esm/date-picker/hooks/useSingle.js +52 -72
- package/esm/date-picker/hooks/useSingle.js.map +1 -1
- package/esm/date-picker/hooks/useSingleValue.d.ts +14 -0
- package/esm/date-picker/hooks/useSingleValue.js +101 -0
- package/esm/date-picker/hooks/useSingleValue.js.map +1 -0
- package/esm/date-picker/{panel → hooks}/useTableData.d.ts +2 -2
- package/esm/date-picker/{panel → hooks}/useTableData.js +0 -0
- package/esm/date-picker/hooks/useTableData.js.map +1 -0
- package/esm/date-picker/index.d.ts +4 -20
- package/esm/date-picker/index.js +20 -16
- package/esm/date-picker/index.js.map +1 -1
- package/esm/date-picker/panel/ExtraContent.d.ts +2 -2
- package/esm/date-picker/panel/ExtraContent.js +1 -1
- package/esm/date-picker/panel/ExtraContent.js.map +1 -1
- package/esm/date-picker/panel/PanelContent.d.ts +17 -17
- package/esm/date-picker/panel/PanelContent.js +7 -6
- package/esm/date-picker/panel/PanelContent.js.map +1 -1
- package/{es/date-picker/panel/DateRangePickerPanel.d.ts → esm/date-picker/panel/RangePanel.d.ts} +4 -12
- package/esm/date-picker/panel/{DateRangePickerPanel.js → RangePanel.js} +23 -17
- package/esm/date-picker/panel/RangePanel.js.map +1 -0
- package/{lib/date-picker/panel/DatePickerPanel.d.ts → esm/date-picker/panel/SinglePanel.d.ts} +5 -13
- package/esm/date-picker/panel/{DatePickerPanel.js → SinglePanel.js} +33 -27
- package/esm/date-picker/panel/SinglePanel.js.map +1 -0
- package/esm/date-picker/type.d.ts +138 -9
- package/esm/dialog/Dialog.js +1 -0
- package/esm/dialog/Dialog.js.map +1 -1
- package/esm/dialog/RenderDialog.js +44 -34
- package/esm/dialog/RenderDialog.js.map +1 -1
- package/esm/dialog/index.js +1 -0
- package/esm/dialog/index.js.map +1 -1
- package/esm/dialog/plugin.js +1 -0
- package/esm/dialog/plugin.js.map +1 -1
- package/esm/form/Form.js +6 -5
- package/esm/form/Form.js.map +1 -1
- package/esm/form/FormItem.js +5 -4
- package/esm/form/FormItem.js.map +1 -1
- package/esm/form/hooks/useFormItemStyle.js +5 -4
- package/esm/form/hooks/useFormItemStyle.js.map +1 -1
- package/esm/form/index.js +5 -4
- package/esm/form/index.js.map +1 -1
- package/esm/form/useInitialData.js +4 -3
- package/esm/form/useInitialData.js.map +1 -1
- package/esm/index.js +11 -6
- package/esm/index.js.map +1 -1
- package/esm/input/Input.js +1 -1
- package/esm/input/Input.js.map +1 -1
- package/esm/input/InputGroup.js +1 -1
- package/esm/input/InputGroup.js.map +1 -1
- package/esm/input-number/InputNumber.js +1 -1
- package/esm/input-number/InputNumber.js.map +1 -1
- package/esm/list/List.js +1 -1
- package/esm/list/List.js.map +1 -1
- package/esm/list/ListItem.js +1 -1
- package/esm/list/ListItem.js.map +1 -1
- package/esm/menu/HeadMenu.js +1 -1
- package/esm/menu/HeadMenu.js.map +1 -1
- package/esm/menu/Menu.js +1 -1
- package/esm/menu/Menu.js.map +1 -1
- package/esm/menu/MenuItem.js +1 -1
- package/esm/menu/MenuItem.js.map +1 -1
- package/esm/menu/SubMenu.js +2 -2
- package/esm/menu/SubMenu.js.map +1 -1
- package/esm/radio/Radio.js +1 -1
- package/esm/radio/RadioGroup.js +1 -1
- package/esm/radio/index.js +1 -1
- package/esm/slider/Slider.js +1 -1
- package/esm/slider/Slider.js.map +1 -1
- package/esm/table/BaseTable.js +1 -0
- package/esm/table/BaseTable.js.map +1 -1
- package/esm/table/EnhancedTable.js +3 -2
- package/esm/table/EnhancedTable.js.map +1 -1
- package/esm/table/FilterController.js +2 -2
- package/esm/table/PrimaryTable.js +3 -2
- package/esm/table/PrimaryTable.js.map +1 -1
- package/esm/table/TBody.js +6 -23
- package/esm/table/TBody.js.map +1 -1
- package/esm/table/TR.d.ts +2 -2
- package/esm/table/TR.js +4 -14
- package/esm/table/TR.js.map +1 -1
- package/esm/table/hooks/useColumnController.js +1 -1
- package/esm/table/hooks/useFilter.js +2 -2
- package/esm/table/hooks/useRowSelect.js +2 -2
- package/esm/table/hooks/useRowspanAndColspan.d.ts +10 -0
- package/esm/table/hooks/useRowspanAndColspan.js +74 -0
- package/esm/table/hooks/useRowspanAndColspan.js.map +1 -0
- package/esm/table/index.js +3 -2
- package/esm/table/index.js.map +1 -1
- package/esm/textarea/Textarea.js +2 -2
- package/esm/textarea/Textarea.js.map +1 -1
- package/esm/transfer/Transfer.js +1 -1
- package/esm/transfer/TransferList.js +1 -1
- package/esm/transfer/index.js +1 -1
- package/esm/tree/Tree.js +1 -1
- package/esm/tree/TreeItem.js +1 -1
- package/esm/tree/index.js +1 -1
- package/esm/tree-select/TreeSelect.js +1 -1
- package/esm/tree-select/index.js +1 -1
- package/esm/upload/index.js +1 -0
- package/esm/upload/index.js.map +1 -1
- package/esm/upload/themes/image-card.js +1 -0
- package/esm/upload/themes/image-card.js.map +1 -1
- package/esm/upload/upload.js +1 -0
- package/esm/upload/upload.js.map +1 -1
- package/lib/_chunks/{dep-6f4603f8.js → dep-92e2ca45.js} +2 -2
- package/lib/_chunks/{dep-6f4603f8.js.map → dep-92e2ca45.js.map} +1 -1
- package/lib/_chunks/{dep-1b0236bc.js → dep-b8f2445b.js} +1 -1
- package/lib/_chunks/{dep-1b0236bc.js.map → dep-b8f2445b.js.map} +1 -1
- package/lib/_chunks/{dep-202d2d2a.js → dep-cd7ea040.js} +1 -1
- package/lib/_chunks/{dep-202d2d2a.js.map → dep-cd7ea040.js.map} +1 -1
- package/lib/addon/Addon.js +1 -1
- package/lib/addon/Addon.js.map +1 -1
- package/lib/calendar/Calendar.js +1 -1
- package/lib/calendar/index.js +1 -1
- package/lib/card/Card.js +1 -1
- package/lib/card/Card.js.map +1 -1
- package/lib/cascader/Cascader.js +1 -1
- package/lib/cascader/components/Item.js +1 -1
- package/lib/cascader/components/Panel.js +1 -1
- package/lib/cascader/index.js +1 -1
- package/lib/checkbox/Checkbox.js +1 -1
- package/lib/checkbox/CheckboxGroup.js +1 -1
- package/lib/checkbox/index.js +1 -1
- package/lib/color-picker/ColorPicker.js +1 -1
- package/lib/color-picker/ColorPickerPanel.js +1 -1
- package/lib/color-picker/components/panel/header.js +1 -1
- package/lib/color-picker/components/panel/index.js +1 -1
- package/lib/color-picker/index.js +1 -1
- package/lib/comment/Comment.js +1 -1
- package/lib/comment/Comment.js.map +1 -1
- package/lib/common/Check.js +1 -1
- package/lib/common/Check.js.map +1 -1
- package/lib/date-picker/DatePicker.js +21 -28
- package/lib/date-picker/DatePicker.js.map +1 -1
- package/lib/date-picker/DatePickerPanel.d.ts +7 -0
- package/lib/date-picker/DatePickerPanel.js +343 -0
- package/lib/date-picker/DatePickerPanel.js.map +1 -0
- package/lib/date-picker/DateRangePicker.js +22 -15
- package/lib/date-picker/DateRangePicker.js.map +1 -1
- package/lib/date-picker/DateRangePickerPanel.d.ts +7 -0
- package/lib/date-picker/DateRangePickerPanel.js +451 -0
- package/lib/date-picker/DateRangePickerPanel.js.map +1 -0
- package/lib/date-picker/base/Cell.d.ts +1 -1
- package/lib/date-picker/base/Cell.js +5 -5
- package/lib/date-picker/base/Cell.js.map +1 -1
- package/lib/date-picker/base/Footer.js +3 -2
- package/lib/date-picker/base/Footer.js.map +1 -1
- package/lib/date-picker/base/Header.js +2 -2
- package/lib/date-picker/base/Header.js.map +1 -1
- package/lib/date-picker/base/Table.d.ts +3 -3
- package/lib/date-picker/base/Table.js +2 -2
- package/lib/date-picker/base/Table.js.map +1 -1
- package/lib/date-picker/defaultProps.js +0 -2
- package/lib/date-picker/defaultProps.js.map +1 -1
- package/lib/date-picker/hooks/useFormat.d.ts +4 -1
- package/lib/date-picker/hooks/useFormat.js +31 -19
- package/lib/date-picker/hooks/useFormat.js.map +1 -1
- package/lib/date-picker/hooks/useRange.d.ts +2 -2
- package/lib/date-picker/hooks/useRange.js +52 -113
- package/lib/date-picker/hooks/useRange.js.map +1 -1
- package/lib/date-picker/hooks/useRangeValue.d.ts +24 -0
- package/lib/date-picker/hooks/useRangeValue.js +162 -0
- package/lib/date-picker/hooks/useRangeValue.js.map +1 -0
- package/lib/date-picker/hooks/useSingle.d.ts +6 -10
- package/lib/date-picker/hooks/useSingle.js +52 -72
- package/lib/date-picker/hooks/useSingle.js.map +1 -1
- package/lib/date-picker/hooks/useSingleValue.d.ts +14 -0
- package/lib/date-picker/hooks/useSingleValue.js +106 -0
- package/lib/date-picker/hooks/useSingleValue.js.map +1 -0
- package/lib/date-picker/{panel → hooks}/useTableData.d.ts +2 -2
- package/lib/date-picker/{panel → hooks}/useTableData.js +0 -0
- package/lib/date-picker/hooks/useTableData.js.map +1 -0
- package/lib/date-picker/index.d.ts +4 -20
- package/lib/date-picker/index.js +20 -16
- package/lib/date-picker/index.js.map +1 -1
- package/lib/date-picker/panel/ExtraContent.d.ts +2 -2
- package/lib/date-picker/panel/ExtraContent.js +1 -1
- package/lib/date-picker/panel/ExtraContent.js.map +1 -1
- package/lib/date-picker/panel/PanelContent.d.ts +17 -17
- package/lib/date-picker/panel/PanelContent.js +7 -6
- package/lib/date-picker/panel/PanelContent.js.map +1 -1
- package/{esm/date-picker/panel/DateRangePickerPanel.d.ts → lib/date-picker/panel/RangePanel.d.ts} +4 -12
- package/lib/date-picker/panel/{DateRangePickerPanel.js → RangePanel.js} +24 -18
- package/lib/date-picker/panel/RangePanel.js.map +1 -0
- package/{esm/date-picker/panel/DatePickerPanel.d.ts → lib/date-picker/panel/SinglePanel.d.ts} +5 -13
- package/lib/date-picker/panel/{DatePickerPanel.js → SinglePanel.js} +33 -27
- package/lib/date-picker/panel/SinglePanel.js.map +1 -0
- package/lib/date-picker/type.d.ts +138 -9
- package/lib/dialog/Dialog.js +1 -0
- package/lib/dialog/Dialog.js.map +1 -1
- package/lib/dialog/RenderDialog.js +43 -33
- package/lib/dialog/RenderDialog.js.map +1 -1
- package/lib/dialog/index.js +1 -0
- package/lib/dialog/index.js.map +1 -1
- package/lib/dialog/plugin.js +1 -0
- package/lib/dialog/plugin.js.map +1 -1
- package/lib/form/Form.js +6 -5
- package/lib/form/Form.js.map +1 -1
- package/lib/form/FormItem.js +5 -4
- package/lib/form/FormItem.js.map +1 -1
- package/lib/form/hooks/useFormItemStyle.js +5 -4
- package/lib/form/hooks/useFormItemStyle.js.map +1 -1
- package/lib/form/index.js +5 -4
- package/lib/form/index.js.map +1 -1
- package/lib/form/useInitialData.js +4 -3
- package/lib/form/useInitialData.js.map +1 -1
- package/lib/index-lib.js +11 -6
- package/lib/index-lib.js.map +1 -1
- package/lib/index.js +11 -6
- package/lib/index.js.map +1 -1
- package/lib/input/Input.js +1 -1
- package/lib/input/Input.js.map +1 -1
- package/lib/input/InputGroup.js +1 -1
- package/lib/input/InputGroup.js.map +1 -1
- package/lib/input-number/InputNumber.js +1 -1
- package/lib/input-number/InputNumber.js.map +1 -1
- package/lib/list/List.js +1 -1
- package/lib/list/List.js.map +1 -1
- package/lib/list/ListItem.js +1 -1
- package/lib/list/ListItem.js.map +1 -1
- package/lib/menu/HeadMenu.js +1 -1
- package/lib/menu/HeadMenu.js.map +1 -1
- package/lib/menu/Menu.js +1 -1
- package/lib/menu/Menu.js.map +1 -1
- package/lib/menu/MenuItem.js +1 -1
- package/lib/menu/MenuItem.js.map +1 -1
- package/lib/menu/SubMenu.js +2 -2
- package/lib/menu/SubMenu.js.map +1 -1
- package/lib/radio/Radio.js +1 -1
- package/lib/radio/RadioGroup.js +1 -1
- package/lib/radio/index.js +1 -1
- package/lib/slider/Slider.js +1 -1
- package/lib/slider/Slider.js.map +1 -1
- package/lib/table/BaseTable.js +1 -0
- package/lib/table/BaseTable.js.map +1 -1
- package/lib/table/EnhancedTable.js +3 -2
- package/lib/table/EnhancedTable.js.map +1 -1
- package/lib/table/FilterController.js +2 -2
- package/lib/table/PrimaryTable.js +3 -2
- package/lib/table/PrimaryTable.js.map +1 -1
- package/lib/table/TBody.js +6 -23
- package/lib/table/TBody.js.map +1 -1
- package/lib/table/TR.d.ts +2 -2
- package/lib/table/TR.js +4 -14
- package/lib/table/TR.js.map +1 -1
- package/lib/table/hooks/useColumnController.js +1 -1
- package/lib/table/hooks/useFilter.js +2 -2
- package/lib/table/hooks/useRowSelect.js +2 -2
- package/lib/table/hooks/useRowspanAndColspan.d.ts +10 -0
- package/lib/table/hooks/useRowspanAndColspan.js +78 -0
- package/lib/table/hooks/useRowspanAndColspan.js.map +1 -0
- package/lib/table/index.js +3 -2
- package/lib/table/index.js.map +1 -1
- package/lib/textarea/Textarea.js +2 -2
- package/lib/textarea/Textarea.js.map +1 -1
- package/lib/transfer/Transfer.js +1 -1
- package/lib/transfer/TransferList.js +1 -1
- package/lib/transfer/index.js +1 -1
- package/lib/tree/Tree.js +1 -1
- package/lib/tree/TreeItem.js +1 -1
- package/lib/tree/index.js +1 -1
- package/lib/tree-select/TreeSelect.js +1 -1
- package/lib/tree-select/index.js +1 -1
- package/lib/upload/index.js +1 -0
- package/lib/upload/index.js.map +1 -1
- package/lib/upload/themes/image-card.js +1 -0
- package/lib/upload/themes/image-card.js.map +1 -1
- package/lib/upload/upload.js +1 -0
- package/lib/upload/upload.js.map +1 -1
- package/package.json +1 -1
- package/es/date-picker/panel/DatePickerPanel.js.map +0 -1
- package/es/date-picker/panel/DateRangePickerPanel.js.map +0 -1
- package/es/date-picker/panel/useTableData.js.map +0 -1
- package/esm/date-picker/panel/DatePickerPanel.js.map +0 -1
- package/esm/date-picker/panel/DateRangePickerPanel.js.map +0 -1
- package/esm/date-picker/panel/useTableData.js.map +0 -1
- package/lib/date-picker/panel/DatePickerPanel.js.map +0 -1
- package/lib/date-picker/panel/DateRangePickerPanel.js.map +0 -1
- package/lib/date-picker/panel/useTableData.js.map +0 -1
|
@@ -15,8 +15,8 @@ var tdesignIconsReact = require('tdesign-icons-react');
|
|
|
15
15
|
var dayjs = require('dayjs');
|
|
16
16
|
var classNames = require('classnames');
|
|
17
17
|
var _util_useConfig = require('../../_util/useConfig.js');
|
|
18
|
-
var hooks_useControlled = require('../../hooks/useControlled.js');
|
|
19
18
|
var datePicker_hooks_useFormat = require('./useFormat.js');
|
|
19
|
+
var datePicker_hooks_useRangeValue = require('./useRangeValue.js');
|
|
20
20
|
require('../../_chunks/dep-19841e1d.js');
|
|
21
21
|
require('../../_chunks/dep-b15f51d2.js');
|
|
22
22
|
require('../../_chunks/dep-acf33b68.js');
|
|
@@ -40,16 +40,17 @@ require('../../_chunks/dep-542cc308.js');
|
|
|
40
40
|
require('../../_chunks/dep-c6637e11.js');
|
|
41
41
|
require('../../_common/js/global-config/locale/zh_CN.js');
|
|
42
42
|
require('../../config-provider/zh_CN_config.js');
|
|
43
|
-
require('../../_chunks/dep-f3090217.js');
|
|
44
|
-
require('../../_chunks/dep-d4a0b3f0.js');
|
|
45
|
-
require('../../_chunks/dep-6dfb2577.js');
|
|
46
|
-
require('../../_chunks/dep-86abec96.js');
|
|
47
|
-
require('../../_chunks/dep-cb0f33ac.js');
|
|
48
|
-
require('../../_util/noop.js');
|
|
49
43
|
require('../../_common/js/date-picker/utils-new.js');
|
|
50
44
|
require('../../_chunks/dep-e9185c09.js');
|
|
45
|
+
require('../../_chunks/dep-6dfb2577.js');
|
|
51
46
|
require('../../_chunks/dep-d97f1281.js');
|
|
52
47
|
require('../../_chunks/dep-e19f22f6.js');
|
|
48
|
+
require('../../_chunks/dep-cb0f33ac.js');
|
|
49
|
+
require('../../hooks/useControlled.js');
|
|
50
|
+
require('../../_chunks/dep-f3090217.js');
|
|
51
|
+
require('../../_chunks/dep-d4a0b3f0.js');
|
|
52
|
+
require('../../_chunks/dep-86abec96.js');
|
|
53
|
+
require('../../_util/noop.js');
|
|
53
54
|
|
|
54
55
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
55
56
|
|
|
@@ -64,44 +65,8 @@ var PARTIAL_MAP = {
|
|
|
64
65
|
first: "start",
|
|
65
66
|
second: "end"
|
|
66
67
|
};
|
|
67
|
-
|
|
68
|
-
function initYearMonthTime(value) {
|
|
69
|
-
var mode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "date";
|
|
70
|
-
var format = arguments.length > 2 ? arguments[2] : undefined;
|
|
71
|
-
var timeFormat = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "HH:mm:ss";
|
|
72
|
-
var defaultYearMonthTime = {
|
|
73
|
-
year: [dayjs__default["default"]().year(), dayjs__default["default"]().year()],
|
|
74
|
-
month: [dayjs__default["default"]().month(), dayjs__default["default"]().month()],
|
|
75
|
-
time: [dayjs__default["default"]().format(timeFormat), dayjs__default["default"]().format(timeFormat)]
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
if (mode === "year") {
|
|
79
|
-
defaultYearMonthTime.year[1] += 10;
|
|
80
|
-
} else if (mode === "month") {
|
|
81
|
-
defaultYearMonthTime.year[1] += 1;
|
|
82
|
-
} else if (mode === "date") {
|
|
83
|
-
defaultYearMonthTime.month[1] += 1;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
if (!value || !Array.isArray(value) || !value.length) {
|
|
87
|
-
return defaultYearMonthTime;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
return {
|
|
91
|
-
year: value.map(function (v) {
|
|
92
|
-
return dayjs__default["default"](v, format).year();
|
|
93
|
-
}),
|
|
94
|
-
month: value.map(function (v) {
|
|
95
|
-
return dayjs__default["default"](v, format).month();
|
|
96
|
-
}),
|
|
97
|
-
time: value.map(function (v) {
|
|
98
|
-
return dayjs__default["default"](v, format).format(timeFormat);
|
|
99
|
-
})
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
|
|
103
68
|
function useRange(props) {
|
|
104
|
-
var
|
|
69
|
+
var _props$placeholder, _props$suffixIcon, _props$popupProps$ove, _props$popupProps, _props$popupProps2;
|
|
105
70
|
|
|
106
71
|
var _useConfig = _util_useConfig["default"](),
|
|
107
72
|
classPrefix = _useConfig.classPrefix,
|
|
@@ -110,36 +75,31 @@ function useRange(props) {
|
|
|
110
75
|
var name = "".concat(classPrefix, "-date-range-picker");
|
|
111
76
|
var isMountedRef = React.useRef(false);
|
|
112
77
|
var inputRef = React.useRef();
|
|
113
|
-
var mode = props.mode,
|
|
114
|
-
prefixIcon = props.prefixIcon,
|
|
115
|
-
suffixIcon = props.suffixIcon,
|
|
116
|
-
rangeInputPropsFromProps = props.rangeInputProps,
|
|
117
|
-
popupPropsFromProps = props.popupProps,
|
|
118
|
-
allowInput = props.allowInput,
|
|
119
|
-
clearable = props.clearable,
|
|
120
|
-
_props$placeholder = props.placeholder,
|
|
121
|
-
placeholder = _props$placeholder === void 0 ? globalDatePickerConfig.placeholder[mode] : _props$placeholder,
|
|
122
|
-
_onBlur = props.onBlur,
|
|
123
|
-
_onFocus = props.onFocus,
|
|
124
|
-
onInput = props.onInput;
|
|
125
78
|
|
|
126
|
-
var
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
79
|
+
var _useRangeValue = datePicker_hooks_useRangeValue["default"](props),
|
|
80
|
+
value = _useRangeValue.value,
|
|
81
|
+
onChange = _useRangeValue.onChange,
|
|
82
|
+
time = _useRangeValue.time,
|
|
83
|
+
setTime = _useRangeValue.setTime,
|
|
84
|
+
month = _useRangeValue.month,
|
|
85
|
+
setMonth = _useRangeValue.setMonth,
|
|
86
|
+
year = _useRangeValue.year,
|
|
87
|
+
setYear = _useRangeValue.setYear,
|
|
88
|
+
cacheValue = _useRangeValue.cacheValue,
|
|
89
|
+
setCacheValue = _useRangeValue.setCacheValue,
|
|
90
|
+
isFirstValueSelected = _useRangeValue.isFirstValueSelected,
|
|
91
|
+
setIsFirstValueSelected = _useRangeValue.setIsFirstValueSelected;
|
|
130
92
|
|
|
131
93
|
var _useFormat = datePicker_hooks_useFormat["default"]({
|
|
132
|
-
mode: mode,
|
|
133
94
|
value: value,
|
|
95
|
+
mode: props.mode,
|
|
134
96
|
format: props.format,
|
|
135
97
|
valueType: props.valueType,
|
|
136
98
|
enableTimePicker: props.enableTimePicker
|
|
137
99
|
}),
|
|
138
|
-
format = _useFormat.format,
|
|
139
100
|
isValidDate = _useFormat.isValidDate,
|
|
140
101
|
timeFormat = _useFormat.timeFormat,
|
|
141
|
-
formatDate = _useFormat.formatDate
|
|
142
|
-
formatTime = _useFormat.formatTime;
|
|
102
|
+
formatDate = _useFormat.formatDate;
|
|
143
103
|
|
|
144
104
|
if (!Array.isArray(value)) {
|
|
145
105
|
console.error("typeof value: ".concat(value, " must be Array!"));
|
|
@@ -162,44 +122,19 @@ function useRange(props) {
|
|
|
162
122
|
activeIndex = _useState6[0],
|
|
163
123
|
setActiveIndex = _useState6[1];
|
|
164
124
|
|
|
165
|
-
var _useState7 = React.useState(
|
|
125
|
+
var _useState7 = React.useState(formatDate(value)),
|
|
166
126
|
_useState8 = slicedToArray._slicedToArray(_useState7, 2),
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
var _useState9 = React.useState(initYearMonthTime(value, mode, format, timeFormat).time),
|
|
171
|
-
_useState10 = slicedToArray._slicedToArray(_useState9, 2),
|
|
172
|
-
timeValue = _useState10[0],
|
|
173
|
-
setTimeValue = _useState10[1];
|
|
127
|
+
inputValue = _useState8[0],
|
|
128
|
+
setInputValue = _useState8[1];
|
|
174
129
|
|
|
175
|
-
var
|
|
176
|
-
_useState12 = slicedToArray._slicedToArray(_useState11, 2),
|
|
177
|
-
month = _useState12[0],
|
|
178
|
-
setMonth = _useState12[1];
|
|
179
|
-
|
|
180
|
-
var _useState13 = React.useState(initYearMonthTime(value, mode, format).year),
|
|
181
|
-
_useState14 = slicedToArray._slicedToArray(_useState13, 2),
|
|
182
|
-
year = _useState14[0],
|
|
183
|
-
setYear = _useState14[1];
|
|
184
|
-
|
|
185
|
-
var _useState15 = React.useState(formatDate(value)),
|
|
186
|
-
_useState16 = slicedToArray._slicedToArray(_useState15, 2),
|
|
187
|
-
inputValue = _useState16[0],
|
|
188
|
-
setInputValue = _useState16[1];
|
|
189
|
-
|
|
190
|
-
var _useState17 = React.useState(formatDate(value)),
|
|
191
|
-
_useState18 = slicedToArray._slicedToArray(_useState17, 2),
|
|
192
|
-
cacheValue = _useState18[0],
|
|
193
|
-
setCacheValue = _useState18[1];
|
|
194
|
-
|
|
195
|
-
var rangeInputProps = _objectSpread(_objectSpread({}, rangeInputPropsFromProps), {}, {
|
|
130
|
+
var rangeInputProps = _objectSpread(_objectSpread({}, props.rangeInputProps), {}, {
|
|
196
131
|
ref: inputRef,
|
|
197
|
-
clearable: clearable,
|
|
198
|
-
prefixIcon: prefixIcon,
|
|
199
|
-
readonly: !allowInput,
|
|
200
|
-
placeholder: placeholder,
|
|
132
|
+
clearable: props.clearable,
|
|
133
|
+
prefixIcon: props.prefixIcon,
|
|
134
|
+
readonly: !props.allowInput,
|
|
135
|
+
placeholder: (_props$placeholder = props.placeholder) !== null && _props$placeholder !== void 0 ? _props$placeholder : globalDatePickerConfig.placeholder[props.mode],
|
|
201
136
|
activeIndex: popupVisible ? activeIndex : void 0,
|
|
202
|
-
suffixIcon: suffixIcon
|
|
137
|
+
suffixIcon: (_props$suffixIcon = props.suffixIcon) !== null && _props$suffixIcon !== void 0 ? _props$suffixIcon : /* @__PURE__ */React__default["default"].createElement(tdesignIconsReact.CalendarIcon, null),
|
|
203
138
|
className: classNames__default["default"](defineProperty._defineProperty({}, "".concat(name, "__input--placeholder"), isHoverCell)),
|
|
204
139
|
onClick: function onClick(_ref) {
|
|
205
140
|
var position = _ref.position;
|
|
@@ -215,18 +150,22 @@ function useRange(props) {
|
|
|
215
150
|
});
|
|
216
151
|
},
|
|
217
152
|
onBlur: function onBlur(newVal, _ref3) {
|
|
153
|
+
var _props$onBlur;
|
|
154
|
+
|
|
218
155
|
var e = _ref3.e,
|
|
219
156
|
position = _ref3.position;
|
|
220
|
-
|
|
157
|
+
(_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 ? void 0 : _props$onBlur.call(props, {
|
|
221
158
|
value: newVal,
|
|
222
159
|
partial: PARTIAL_MAP[position],
|
|
223
160
|
e: e
|
|
224
161
|
});
|
|
225
162
|
},
|
|
226
163
|
onFocus: function onFocus(newVal, _ref4) {
|
|
164
|
+
var _props$onFocus;
|
|
165
|
+
|
|
227
166
|
var e = _ref4.e,
|
|
228
167
|
position = _ref4.position;
|
|
229
|
-
|
|
168
|
+
(_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 ? void 0 : _props$onFocus.call(props, {
|
|
230
169
|
value: newVal,
|
|
231
170
|
partial: PARTIAL_MAP[position],
|
|
232
171
|
e: e
|
|
@@ -234,10 +173,12 @@ function useRange(props) {
|
|
|
234
173
|
setActiveIndex(position === "first" ? 0 : 1);
|
|
235
174
|
},
|
|
236
175
|
onChange: function onChange(newVal, _ref5) {
|
|
176
|
+
var _props$onInput;
|
|
177
|
+
|
|
237
178
|
var e = _ref5.e,
|
|
238
179
|
position = _ref5.position;
|
|
239
180
|
var index = position === "first" ? 0 : 1;
|
|
240
|
-
onInput === null || onInput === void 0 ? void 0 : onInput({
|
|
181
|
+
(_props$onInput = props.onInput) === null || _props$onInput === void 0 ? void 0 : _props$onInput.call(props, {
|
|
241
182
|
input: newVal[index],
|
|
242
183
|
value: value,
|
|
243
184
|
partial: PARTIAL_MAP[position],
|
|
@@ -251,18 +192,20 @@ function useRange(props) {
|
|
|
251
192
|
newVal.forEach(function (v, i) {
|
|
252
193
|
newYear.push(dayjs__default["default"](v).year() || year[i]);
|
|
253
194
|
newMonth.push(dayjs__default["default"](v).month() || month[i]);
|
|
254
|
-
newTime.push(dayjs__default["default"](v).format(timeFormat) ||
|
|
195
|
+
newTime.push(dayjs__default["default"](v).format(timeFormat) || time[i]);
|
|
255
196
|
});
|
|
256
197
|
setYear(newYear);
|
|
257
198
|
setMonth(newMonth);
|
|
258
|
-
|
|
199
|
+
setTime(newTime);
|
|
259
200
|
},
|
|
260
201
|
onEnter: function onEnter(newVal) {
|
|
261
202
|
if (!isValidDate(newVal) && !isValidDate(value)) return;
|
|
262
203
|
setPopupVisible(false);
|
|
263
204
|
|
|
264
205
|
if (isValidDate(newVal)) {
|
|
265
|
-
onChange(formatDate(newVal,
|
|
206
|
+
onChange(formatDate(newVal, {
|
|
207
|
+
formatType: "valueType"
|
|
208
|
+
}), {
|
|
266
209
|
dayjsValue: newVal.map(function (v) {
|
|
267
210
|
return dayjs__default["default"](v);
|
|
268
211
|
}),
|
|
@@ -278,11 +221,11 @@ function useRange(props) {
|
|
|
278
221
|
|
|
279
222
|
var popupProps = _objectSpread(_objectSpread({
|
|
280
223
|
expandAnimation: true
|
|
281
|
-
},
|
|
282
|
-
overlayStyle: (
|
|
224
|
+
}, props.popupProps), {}, {
|
|
225
|
+
overlayStyle: (_props$popupProps$ove = (_props$popupProps = props.popupProps) === null || _props$popupProps === void 0 ? void 0 : _props$popupProps.overlayStyle) !== null && _props$popupProps$ove !== void 0 ? _props$popupProps$ove : {
|
|
283
226
|
width: "auto"
|
|
284
227
|
},
|
|
285
|
-
overlayClassName: classNames__default["default"](
|
|
228
|
+
overlayClassName: classNames__default["default"]((_props$popupProps2 = props.popupProps) === null || _props$popupProps2 === void 0 ? void 0 : _props$popupProps2.overlayClassName, "".concat(name, "__panel-container")),
|
|
286
229
|
onVisibleChange: function onVisibleChange(visible, context) {
|
|
287
230
|
if (context.trigger === "trigger-element-click") {
|
|
288
231
|
var indexMap = {
|
|
@@ -309,15 +252,11 @@ function useRange(props) {
|
|
|
309
252
|
React.useEffect(function () {
|
|
310
253
|
if (!value) {
|
|
311
254
|
setInputValue([]);
|
|
312
|
-
setCacheValue([]);
|
|
313
|
-
setTimeValue([dayjs__default["default"]().format(timeFormat), dayjs__default["default"]().format(timeFormat)]);
|
|
314
255
|
return;
|
|
315
256
|
}
|
|
316
257
|
|
|
317
258
|
if (!isValidDate(value, "valueType")) return;
|
|
318
259
|
setInputValue(formatDate(value));
|
|
319
|
-
setCacheValue(formatDate(value));
|
|
320
|
-
setTimeValue(formatTime(value));
|
|
321
260
|
}, [value]);
|
|
322
261
|
React.useEffect(function () {
|
|
323
262
|
if (!isMountedRef.current) {
|
|
@@ -337,7 +276,7 @@ function useRange(props) {
|
|
|
337
276
|
year: year,
|
|
338
277
|
month: month,
|
|
339
278
|
value: value,
|
|
340
|
-
|
|
279
|
+
time: time,
|
|
341
280
|
inputValue: inputValue,
|
|
342
281
|
popupVisible: popupVisible,
|
|
343
282
|
rangeInputProps: rangeInputProps,
|
|
@@ -346,7 +285,7 @@ function useRange(props) {
|
|
|
346
285
|
onChange: onChange,
|
|
347
286
|
setYear: setYear,
|
|
348
287
|
setMonth: setMonth,
|
|
349
|
-
|
|
288
|
+
setTime: setTime,
|
|
350
289
|
setIsHoverCell: setIsHoverCell,
|
|
351
290
|
setInputValue: setInputValue,
|
|
352
291
|
setPopupVisible: setPopupVisible,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRange.js","sources":["../../../src/date-picker/hooks/useRange.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { CalendarIcon } from 'tdesign-icons-react';\nimport dayjs from 'dayjs';\nimport classNames from 'classnames';\nimport useConfig from '../../_util/useConfig';\nimport useControlled from '../../hooks/useControlled';\nimport { RangeInputRefInterface } from '../../range-input';\nimport { TdDateRangePickerProps, DateValue } from '../type';\nimport useFormat from './useFormat';\n\nexport const PARTIAL_MAP = { first: 'start', second: 'end' };\n\n// 初始化面板年份月份\nfunction initYearMonthTime(value: DateValue[], mode = 'date', format: string, timeFormat = 'HH:mm:ss') {\n const defaultYearMonthTime = {\n year: [dayjs().year(), dayjs().year()],\n month: [dayjs().month(), dayjs().month()],\n time: [dayjs().format(timeFormat), dayjs().format(timeFormat)],\n };\n if (mode === 'year') {\n defaultYearMonthTime.year[1] += 10;\n } else if (mode === 'month') {\n defaultYearMonthTime.year[1] += 1;\n } else if (mode === 'date') {\n defaultYearMonthTime.month[1] += 1;\n }\n\n if (!value || !Array.isArray(value) || !value.length) {\n return defaultYearMonthTime;\n }\n\n return {\n year: value.map((v) => dayjs(v, format).year()),\n month: value.map((v) => dayjs(v, format).month()),\n time: value.map((v) => dayjs(v, format).format(timeFormat)),\n };\n}\n\nexport default function useRange(props: TdDateRangePickerProps) {\n const { classPrefix, datePicker: globalDatePickerConfig } = useConfig();\n const name = `${classPrefix}-date-range-picker`;\n\n const isMountedRef = useRef(false);\n const inputRef = useRef<RangeInputRefInterface>();\n\n const {\n mode,\n prefixIcon,\n suffixIcon,\n rangeInputProps: rangeInputPropsFromProps,\n popupProps: popupPropsFromProps,\n allowInput,\n clearable,\n placeholder = globalDatePickerConfig.placeholder[mode],\n onBlur,\n onFocus,\n onInput,\n } = props;\n\n const [value, onChange] = useControlled(props, 'value', props.onChange);\n const { format, isValidDate, timeFormat, formatDate, formatTime } = useFormat({\n mode,\n value,\n format: props.format,\n valueType: props.valueType,\n enableTimePicker: props.enableTimePicker,\n });\n\n // warning invalid value\n if (!Array.isArray(value)) {\n console.error(`typeof value: ${value} must be Array!`);\n } else if (!isValidDate(value, 'valueType')) {\n console.error(`value: ${value} is invalid datetime!`);\n }\n\n const [popupVisible, setPopupVisible] = useState(false);\n const [isHoverCell, setIsHoverCell] = useState(false);\n const [activeIndex, setActiveIndex] = useState(0); // 确定当前选中的输入框序号\n const [isFirstValueSelected, setIsFirstValueSelected] = useState(false); // 记录面板点击次数,两次后才自动关闭\n const [timeValue, setTimeValue] = useState(initYearMonthTime(value, mode, format, timeFormat).time);\n const [month, setMonth] = useState<Array<number>>(initYearMonthTime(value, mode, format).month);\n const [year, setYear] = useState<Array<number>>(initYearMonthTime(value, mode, format).year);\n // 未真正选中前可能不断变更输入框的内容\n const [inputValue, setInputValue] = useState(formatDate(value));\n // 选择阶段预选状态\n const [cacheValue, setCacheValue] = useState(formatDate(value));\n\n // input 设置\n const rangeInputProps = {\n ...rangeInputPropsFromProps,\n ref: inputRef,\n clearable,\n prefixIcon,\n readonly: !allowInput,\n placeholder,\n activeIndex: popupVisible ? activeIndex : undefined,\n suffixIcon: suffixIcon || <CalendarIcon />,\n className: classNames({\n [`${name}__input--placeholder`]: isHoverCell,\n }),\n onClick: ({ position }) => {\n setActiveIndex(position === 'first' ? 0 : 1);\n },\n onClear: ({ e }) => {\n e.stopPropagation();\n setPopupVisible(false);\n onChange([], { dayjsValue: [], trigger: 'clear' });\n },\n onBlur: (newVal: string[], { e, position }) => {\n onBlur?.({ value: newVal, partial: PARTIAL_MAP[position], e });\n },\n onFocus: (newVal: string[], { e, position }) => {\n onFocus?.({ value: newVal, partial: PARTIAL_MAP[position], e });\n setActiveIndex(position === 'first' ? 0 : 1);\n },\n onChange: (newVal: string[], { e, position }) => {\n const index = position === 'first' ? 0 : 1;\n\n onInput?.({ input: newVal[index], value, partial: PARTIAL_MAP[position], e });\n setInputValue(newVal);\n\n // 跳过不符合格式化的输入框内容\n if (!isValidDate(newVal)) return;\n const newYear = [];\n const newMonth = [];\n const newTime = [];\n newVal.forEach((v, i) => {\n newYear.push(dayjs(v).year() || year[i]);\n newMonth.push(dayjs(v).month() || month[i]);\n newTime.push(dayjs(v).format(timeFormat) || timeValue[i]);\n });\n setYear(newYear);\n setMonth(newMonth);\n setTimeValue(newTime);\n },\n onEnter: (newVal: string[]) => {\n if (!isValidDate(newVal) && !isValidDate(value)) return;\n\n setPopupVisible(false);\n if (isValidDate(newVal)) {\n onChange(formatDate(newVal, 'valueType') as DateValue[], {\n dayjsValue: newVal.map((v) => dayjs(v)),\n trigger: 'enter',\n });\n } else if (isValidDate(value)) {\n setInputValue(formatDate(value));\n } else {\n setInputValue([]);\n }\n },\n };\n\n // popup 设置\n const popupProps = {\n expandAnimation: true,\n ...popupPropsFromProps,\n overlayStyle: popupPropsFromProps?.overlayStyle ?? { width: 'auto' },\n overlayClassName: classNames(popupPropsFromProps?.overlayClassName, `${name}__panel-container`),\n onVisibleChange: (visible: boolean, context) => {\n // 输入框点击不关闭面板\n if (context.trigger === 'trigger-element-click') {\n const indexMap = { 0: 'first', 1: 'second' };\n inputRef.current.focus({ position: indexMap[activeIndex] });\n return setPopupVisible(true);\n }\n if (visible) {\n // 展开后重置点击次数\n setIsFirstValueSelected(false);\n } else {\n setIsHoverCell(false);\n setInputValue(formatDate(value));\n }\n\n setPopupVisible(visible);\n },\n };\n\n // 输入框响应 value 变化\n useEffect(() => {\n if (!value) {\n setInputValue([]);\n setCacheValue([]);\n setTimeValue([dayjs().format(timeFormat), dayjs().format(timeFormat)]);\n return;\n }\n if (!isValidDate(value, 'valueType')) return;\n\n setInputValue(formatDate(value));\n setCacheValue(formatDate(value));\n setTimeValue(formatTime(value));\n // eslint-disable-next-line\n }, [value]);\n\n // activeIndex 变化自动 focus 对应输入框\n useEffect(() => {\n if (!isMountedRef.current) {\n isMountedRef.current = true;\n return;\n }\n const indexMap = { 0: 'first', 1: 'second' };\n inputRef.current.focus({ position: indexMap[activeIndex] });\n // eslint-disable-next-line\n }, [activeIndex]);\n\n return {\n year,\n month,\n value,\n timeValue,\n inputValue,\n popupVisible,\n rangeInputProps,\n popupProps,\n isHoverCell,\n onChange,\n setYear,\n setMonth,\n setTimeValue,\n setIsHoverCell,\n setInputValue,\n setPopupVisible,\n activeIndex,\n setActiveIndex,\n isFirstValueSelected,\n setIsFirstValueSelected,\n cacheValue,\n setCacheValue,\n };\n}\n"],"names":["PARTIAL_MAP","first","second","initYearMonthTime","value","mode","format","timeFormat","defaultYearMonthTime","year","dayjs","month","time","Array","isArray","length","map","v","useRange","props","useConfig","classPrefix","globalDatePickerConfig","datePicker","name","isMountedRef","useRef","inputRef","prefixIcon","suffixIcon","rangeInputPropsFromProps","rangeInputProps","popupPropsFromProps","popupProps","allowInput","clearable","placeholder","onBlur","onFocus","onInput","useControlled","onChange","_slicedToArray","useFormat","valueType","enableTimePicker","isValidDate","formatDate","formatTime","console","error","useState","popupVisible","setPopupVisible","isHoverCell","setIsHoverCell","activeIndex","setActiveIndex","isFirstValueSelected","setIsFirstValueSelected","timeValue","setTimeValue","setMonth","setYear","inputValue","setInputValue","cacheValue","setCacheValue","ref","readonly","React","createElement","CalendarIcon","className","classNames","_defineProperty","onClick","position","onClear","e","stopPropagation","dayjsValue","trigger","newVal","partial","index","input","newYear","newMonth","newTime","forEach","i","push","onEnter","expandAnimation","overlayStyle","width","overlayClassName","onVisibleChange","visible","context","indexMap","current","focus","useEffect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useRange.js","sources":["../../../src/date-picker/hooks/useRange.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { CalendarIcon } from 'tdesign-icons-react';\nimport dayjs from 'dayjs';\nimport classNames from 'classnames';\nimport useConfig from '../../_util/useConfig';\nimport { RangeInputRefInterface } from '../../range-input';\nimport { TdDateRangePickerProps, DateValue } from '../type';\nimport useFormat from './useFormat';\nimport useRangeValue from './useRangeValue';\n\nexport const PARTIAL_MAP = { first: 'start', second: 'end' };\n\nexport default function useRange(props: TdDateRangePickerProps) {\n const { classPrefix, datePicker: globalDatePickerConfig } = useConfig();\n const name = `${classPrefix}-date-range-picker`;\n\n const isMountedRef = useRef(false);\n const inputRef = useRef<RangeInputRefInterface>();\n\n const {\n value,\n onChange,\n time,\n setTime,\n month,\n setMonth,\n year,\n setYear,\n cacheValue,\n setCacheValue,\n isFirstValueSelected,\n setIsFirstValueSelected,\n } = useRangeValue(props);\n\n const { isValidDate, timeFormat, formatDate } = useFormat({\n value,\n mode: props.mode,\n format: props.format,\n valueType: props.valueType,\n enableTimePicker: props.enableTimePicker,\n });\n\n // warning invalid value\n if (!Array.isArray(value)) {\n console.error(`typeof value: ${value} must be Array!`);\n } else if (!isValidDate(value, 'valueType')) {\n console.error(`value: ${value} is invalid datetime!`);\n }\n\n const [popupVisible, setPopupVisible] = useState(false);\n const [isHoverCell, setIsHoverCell] = useState(false);\n const [activeIndex, setActiveIndex] = useState(0); // 确定当前选中的输入框序号\n // 未真正选中前可能不断变更输入框的内容\n const [inputValue, setInputValue] = useState(formatDate(value));\n\n // input 设置\n const rangeInputProps = {\n ...props.rangeInputProps,\n ref: inputRef,\n clearable: props.clearable,\n prefixIcon: props.prefixIcon,\n readonly: !props.allowInput,\n placeholder: props.placeholder ?? globalDatePickerConfig.placeholder[props.mode],\n activeIndex: popupVisible ? activeIndex : undefined,\n suffixIcon: props.suffixIcon ?? <CalendarIcon />,\n className: classNames({\n [`${name}__input--placeholder`]: isHoverCell,\n }),\n onClick: ({ position }) => {\n setActiveIndex(position === 'first' ? 0 : 1);\n },\n onClear: ({ e }) => {\n e.stopPropagation();\n setPopupVisible(false);\n onChange([], { dayjsValue: [], trigger: 'clear' });\n },\n onBlur: (newVal: string[], { e, position }) => {\n props.onBlur?.({ value: newVal, partial: PARTIAL_MAP[position], e });\n },\n onFocus: (newVal: string[], { e, position }) => {\n props.onFocus?.({ value: newVal, partial: PARTIAL_MAP[position], e });\n setActiveIndex(position === 'first' ? 0 : 1);\n },\n onChange: (newVal: string[], { e, position }) => {\n const index = position === 'first' ? 0 : 1;\n\n props.onInput?.({ input: newVal[index], value, partial: PARTIAL_MAP[position], e });\n setInputValue(newVal);\n\n // 跳过不符合格式化的输入框内容\n if (!isValidDate(newVal)) return;\n const newYear = [];\n const newMonth = [];\n const newTime = [];\n newVal.forEach((v, i) => {\n newYear.push(dayjs(v).year() || year[i]);\n newMonth.push(dayjs(v).month() || month[i]);\n newTime.push(dayjs(v).format(timeFormat) || time[i]);\n });\n setYear(newYear);\n setMonth(newMonth);\n setTime(newTime);\n },\n onEnter: (newVal: string[]) => {\n if (!isValidDate(newVal) && !isValidDate(value)) return;\n\n setPopupVisible(false);\n if (isValidDate(newVal)) {\n onChange(formatDate(newVal, { formatType: 'valueType' }) as DateValue[], {\n dayjsValue: newVal.map((v) => dayjs(v)),\n trigger: 'enter',\n });\n } else if (isValidDate(value)) {\n setInputValue(formatDate(value));\n } else {\n setInputValue([]);\n }\n },\n };\n\n // popup 设置\n const popupProps = {\n expandAnimation: true,\n ...props.popupProps,\n overlayStyle: props.popupProps?.overlayStyle ?? { width: 'auto' },\n overlayClassName: classNames(props.popupProps?.overlayClassName, `${name}__panel-container`),\n onVisibleChange: (visible: boolean, context) => {\n // 输入框点击不关闭面板\n if (context.trigger === 'trigger-element-click') {\n const indexMap = { 0: 'first', 1: 'second' };\n inputRef.current.focus({ position: indexMap[activeIndex] });\n return setPopupVisible(true);\n }\n if (visible) {\n // 展开后重置点击次数\n setIsFirstValueSelected(false);\n } else {\n setIsHoverCell(false);\n setInputValue(formatDate(value));\n }\n\n setPopupVisible(visible);\n },\n };\n\n // 输入框响应 value 变化\n useEffect(() => {\n if (!value) {\n setInputValue([]);\n return;\n }\n if (!isValidDate(value, 'valueType')) return;\n\n setInputValue(formatDate(value));\n // eslint-disable-next-line\n }, [value]);\n\n // activeIndex 变化自动 focus 对应输入框\n useEffect(() => {\n if (!isMountedRef.current) {\n isMountedRef.current = true;\n return;\n }\n const indexMap = { 0: 'first', 1: 'second' };\n inputRef.current.focus({ position: indexMap[activeIndex] });\n // eslint-disable-next-line\n }, [activeIndex]);\n\n return {\n year,\n month,\n value,\n time,\n inputValue,\n popupVisible,\n rangeInputProps,\n popupProps,\n isHoverCell,\n onChange,\n setYear,\n setMonth,\n setTime,\n setIsHoverCell,\n setInputValue,\n setPopupVisible,\n activeIndex,\n setActiveIndex,\n isFirstValueSelected,\n setIsFirstValueSelected,\n cacheValue,\n setCacheValue,\n };\n}\n"],"names":["PARTIAL_MAP","first","second","useRange","props","useConfig","classPrefix","globalDatePickerConfig","datePicker","name","isMountedRef","useRef","inputRef","useRangeValue","value","onChange","time","setTime","month","setMonth","year","setYear","cacheValue","setCacheValue","isFirstValueSelected","setIsFirstValueSelected","useFormat","mode","format","valueType","enableTimePicker","isValidDate","timeFormat","formatDate","Array","isArray","console","error","useState","_slicedToArray","popupVisible","setPopupVisible","isHoverCell","setIsHoverCell","activeIndex","setActiveIndex","inputValue","setInputValue","rangeInputProps","ref","clearable","prefixIcon","readonly","allowInput","placeholder","suffixIcon","React","createElement","CalendarIcon","className","classNames","_defineProperty","onClick","position","onClear","e","stopPropagation","dayjsValue","trigger","onBlur","newVal","partial","onFocus","index","onInput","input","newYear","newMonth","newTime","forEach","v","i","push","dayjs","onEnter","formatType","map","popupProps","expandAnimation","overlayStyle","width","overlayClassName","onVisibleChange","visible","context","indexMap","current","focus","useEffect"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import dayjs from 'dayjs';
|
|
3
|
+
import { TdDateRangePickerProps } from '../type';
|
|
4
|
+
export declare const PARTIAL_MAP: {
|
|
5
|
+
first: string;
|
|
6
|
+
second: string;
|
|
7
|
+
};
|
|
8
|
+
export default function useRange(props: TdDateRangePickerProps): {
|
|
9
|
+
value: import("../type").DateRangeValue;
|
|
10
|
+
onChange: import("../../hooks/useControlled").ChangeHandler<import("../type").DateRangeValue, [context: {
|
|
11
|
+
dayjsValue?: dayjs.Dayjs[];
|
|
12
|
+
trigger?: import("../type").DatePickerTriggerSource;
|
|
13
|
+
}]>;
|
|
14
|
+
year: number[];
|
|
15
|
+
setYear: import("react").Dispatch<import("react").SetStateAction<number[]>>;
|
|
16
|
+
month: number[];
|
|
17
|
+
setMonth: import("react").Dispatch<import("react").SetStateAction<number[]>>;
|
|
18
|
+
time: string[];
|
|
19
|
+
setTime: import("react").Dispatch<import("react").SetStateAction<string[]>>;
|
|
20
|
+
isFirstValueSelected: boolean;
|
|
21
|
+
setIsFirstValueSelected: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
22
|
+
cacheValue: any;
|
|
23
|
+
setCacheValue: import("react").Dispatch<any>;
|
|
24
|
+
};
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v0.34.4
|
|
3
|
+
* (c) 2022 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
'use strict';
|
|
8
|
+
|
|
9
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
10
|
+
|
|
11
|
+
var slicedToArray = require('../../_chunks/dep-3cf9becb.js');
|
|
12
|
+
var React = require('react');
|
|
13
|
+
var dayjs = require('dayjs');
|
|
14
|
+
var hooks_useControlled = require('../../hooks/useControlled.js');
|
|
15
|
+
var datePicker_hooks_useFormat = require('./useFormat.js');
|
|
16
|
+
require('../../_chunks/dep-19841e1d.js');
|
|
17
|
+
require('../../_chunks/dep-f3090217.js');
|
|
18
|
+
require('../../_chunks/dep-d4a0b3f0.js');
|
|
19
|
+
require('../../_chunks/dep-6dfb2577.js');
|
|
20
|
+
require('../../_chunks/dep-86abec96.js');
|
|
21
|
+
require('../../_chunks/dep-fcf32c81.js');
|
|
22
|
+
require('../../_chunks/dep-3405bda4.js');
|
|
23
|
+
require('../../_chunks/dep-c90cc28f.js');
|
|
24
|
+
require('../../_chunks/dep-cb0f33ac.js');
|
|
25
|
+
require('../../_chunks/dep-b1a67107.js');
|
|
26
|
+
require('../../_util/noop.js');
|
|
27
|
+
require('../../_common/js/date-picker/utils-new.js');
|
|
28
|
+
require('../../_chunks/dep-e9185c09.js');
|
|
29
|
+
require('../../_chunks/dep-c6637e11.js');
|
|
30
|
+
require('../../_chunks/dep-c40d75ac.js');
|
|
31
|
+
require('../../_chunks/dep-633a5671.js');
|
|
32
|
+
require('../../_chunks/dep-e266830c.js');
|
|
33
|
+
require('../../_chunks/dep-15a4424e.js');
|
|
34
|
+
require('../../_chunks/dep-9c339ffc.js');
|
|
35
|
+
require('../../_chunks/dep-542cc308.js');
|
|
36
|
+
require('../../_chunks/dep-d97f1281.js');
|
|
37
|
+
require('../../_chunks/dep-e19f22f6.js');
|
|
38
|
+
|
|
39
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
40
|
+
|
|
41
|
+
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
42
|
+
|
|
43
|
+
var PARTIAL_MAP = {
|
|
44
|
+
first: "start",
|
|
45
|
+
second: "end"
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
function initYearMonthTime(value) {
|
|
49
|
+
var mode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "date";
|
|
50
|
+
var format = arguments.length > 2 ? arguments[2] : undefined;
|
|
51
|
+
var timeFormat = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "HH:mm:ss";
|
|
52
|
+
var defaultYearMonthTime = {
|
|
53
|
+
year: [dayjs__default["default"]().year(), dayjs__default["default"]().year()],
|
|
54
|
+
month: [dayjs__default["default"]().month(), dayjs__default["default"]().month()],
|
|
55
|
+
time: [dayjs__default["default"]().format(timeFormat), dayjs__default["default"]().format(timeFormat)]
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
if (mode === "year") {
|
|
59
|
+
defaultYearMonthTime.year[1] += 10;
|
|
60
|
+
} else if (mode === "month") {
|
|
61
|
+
defaultYearMonthTime.year[1] += 1;
|
|
62
|
+
} else if (mode === "date") {
|
|
63
|
+
defaultYearMonthTime.month[1] += 1;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (!value || !Array.isArray(value) || !value.length) {
|
|
67
|
+
return defaultYearMonthTime;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return {
|
|
71
|
+
year: value.map(function (v) {
|
|
72
|
+
return dayjs__default["default"](v, format).year();
|
|
73
|
+
}),
|
|
74
|
+
month: value.map(function (v) {
|
|
75
|
+
return dayjs__default["default"](v, format).month();
|
|
76
|
+
}),
|
|
77
|
+
time: value.map(function (v) {
|
|
78
|
+
return dayjs__default["default"](v, format).format(timeFormat);
|
|
79
|
+
})
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function useRange(props) {
|
|
84
|
+
var _useControlled = hooks_useControlled["default"](props, "value", props.onChange),
|
|
85
|
+
_useControlled2 = slicedToArray._slicedToArray(_useControlled, 2),
|
|
86
|
+
value = _useControlled2[0],
|
|
87
|
+
onChange = _useControlled2[1];
|
|
88
|
+
|
|
89
|
+
var _useFormat = datePicker_hooks_useFormat["default"]({
|
|
90
|
+
value: value,
|
|
91
|
+
mode: props.mode,
|
|
92
|
+
format: props.format,
|
|
93
|
+
valueType: props.valueType,
|
|
94
|
+
enableTimePicker: props.enableTimePicker
|
|
95
|
+
}),
|
|
96
|
+
format = _useFormat.format,
|
|
97
|
+
isValidDate = _useFormat.isValidDate,
|
|
98
|
+
timeFormat = _useFormat.timeFormat,
|
|
99
|
+
formatDate = _useFormat.formatDate,
|
|
100
|
+
formatTime = _useFormat.formatTime;
|
|
101
|
+
|
|
102
|
+
if (!Array.isArray(value)) {
|
|
103
|
+
console.error("typeof value: ".concat(value, " must be Array!"));
|
|
104
|
+
} else if (!isValidDate(value, "valueType")) {
|
|
105
|
+
console.error("value: ".concat(value, " is invalid datetime!"));
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
var _useState = React.useState(false),
|
|
109
|
+
_useState2 = slicedToArray._slicedToArray(_useState, 2),
|
|
110
|
+
isFirstValueSelected = _useState2[0],
|
|
111
|
+
setIsFirstValueSelected = _useState2[1];
|
|
112
|
+
|
|
113
|
+
var _useState3 = React.useState(initYearMonthTime(value, props.mode, format, timeFormat).time),
|
|
114
|
+
_useState4 = slicedToArray._slicedToArray(_useState3, 2),
|
|
115
|
+
time = _useState4[0],
|
|
116
|
+
setTime = _useState4[1];
|
|
117
|
+
|
|
118
|
+
var _useState5 = React.useState(initYearMonthTime(value, props.mode, format).month),
|
|
119
|
+
_useState6 = slicedToArray._slicedToArray(_useState5, 2),
|
|
120
|
+
month = _useState6[0],
|
|
121
|
+
setMonth = _useState6[1];
|
|
122
|
+
|
|
123
|
+
var _useState7 = React.useState(initYearMonthTime(value, props.mode, format).year),
|
|
124
|
+
_useState8 = slicedToArray._slicedToArray(_useState7, 2),
|
|
125
|
+
year = _useState8[0],
|
|
126
|
+
setYear = _useState8[1];
|
|
127
|
+
|
|
128
|
+
var _useState9 = React.useState(formatDate(value)),
|
|
129
|
+
_useState10 = slicedToArray._slicedToArray(_useState9, 2),
|
|
130
|
+
cacheValue = _useState10[0],
|
|
131
|
+
setCacheValue = _useState10[1];
|
|
132
|
+
|
|
133
|
+
React.useEffect(function () {
|
|
134
|
+
if (!value) {
|
|
135
|
+
setCacheValue([]);
|
|
136
|
+
setTime([dayjs__default["default"]().format(timeFormat), dayjs__default["default"]().format(timeFormat)]);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
if (!isValidDate(value, "valueType")) return;
|
|
141
|
+
setCacheValue(formatDate(value));
|
|
142
|
+
setTime(formatTime(value));
|
|
143
|
+
}, [value]);
|
|
144
|
+
return {
|
|
145
|
+
value: value,
|
|
146
|
+
onChange: onChange,
|
|
147
|
+
year: year,
|
|
148
|
+
setYear: setYear,
|
|
149
|
+
month: month,
|
|
150
|
+
setMonth: setMonth,
|
|
151
|
+
time: time,
|
|
152
|
+
setTime: setTime,
|
|
153
|
+
isFirstValueSelected: isFirstValueSelected,
|
|
154
|
+
setIsFirstValueSelected: setIsFirstValueSelected,
|
|
155
|
+
cacheValue: cacheValue,
|
|
156
|
+
setCacheValue: setCacheValue
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
exports.PARTIAL_MAP = PARTIAL_MAP;
|
|
161
|
+
exports["default"] = useRange;
|
|
162
|
+
//# sourceMappingURL=useRangeValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRangeValue.js","sources":["../../../src/date-picker/hooks/useRangeValue.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport dayjs from 'dayjs';\nimport useControlled from '../../hooks/useControlled';\nimport { TdDateRangePickerProps, DateValue } from '../type';\nimport useFormat from './useFormat';\n\nexport const PARTIAL_MAP = { first: 'start', second: 'end' };\n\n// 初始化面板年份月份\nfunction initYearMonthTime(value: DateValue[], mode = 'date', format: string, timeFormat = 'HH:mm:ss') {\n const defaultYearMonthTime = {\n year: [dayjs().year(), dayjs().year()],\n month: [dayjs().month(), dayjs().month()],\n time: [dayjs().format(timeFormat), dayjs().format(timeFormat)],\n };\n if (mode === 'year') {\n defaultYearMonthTime.year[1] += 10;\n } else if (mode === 'month') {\n defaultYearMonthTime.year[1] += 1;\n } else if (mode === 'date') {\n defaultYearMonthTime.month[1] += 1;\n }\n\n if (!value || !Array.isArray(value) || !value.length) {\n return defaultYearMonthTime;\n }\n\n return {\n year: value.map((v) => dayjs(v, format).year()),\n month: value.map((v) => dayjs(v, format).month()),\n time: value.map((v) => dayjs(v, format).format(timeFormat)),\n };\n}\n\nexport default function useRange(props: TdDateRangePickerProps) {\n const [value, onChange] = useControlled(props, 'value', props.onChange);\n const { format, isValidDate, timeFormat, formatDate, formatTime } = useFormat({\n value,\n mode: props.mode,\n format: props.format,\n valueType: props.valueType,\n enableTimePicker: props.enableTimePicker,\n });\n\n // warning invalid value\n if (!Array.isArray(value)) {\n console.error(`typeof value: ${value} must be Array!`);\n } else if (!isValidDate(value, 'valueType')) {\n console.error(`value: ${value} is invalid datetime!`);\n }\n\n const [isFirstValueSelected, setIsFirstValueSelected] = useState(false); // 记录面板点击次数,两次后才自动关闭\n const [time, setTime] = useState(initYearMonthTime(value, props.mode, format, timeFormat).time);\n const [month, setMonth] = useState<Array<number>>(initYearMonthTime(value, props.mode, format).month);\n const [year, setYear] = useState<Array<number>>(initYearMonthTime(value, props.mode, format).year);\n const [cacheValue, setCacheValue] = useState(formatDate(value)); // 缓存选中值,panel 点击时更改\n\n // 输入框响应 value 变化\n useEffect(() => {\n if (!value) {\n setCacheValue([]);\n setTime([dayjs().format(timeFormat), dayjs().format(timeFormat)]);\n return;\n }\n if (!isValidDate(value, 'valueType')) return;\n\n setCacheValue(formatDate(value));\n setTime(formatTime(value));\n // eslint-disable-next-line\n }, [value]);\n\n return {\n value,\n onChange,\n year,\n setYear,\n month,\n setMonth,\n time,\n setTime,\n isFirstValueSelected,\n setIsFirstValueSelected,\n cacheValue,\n setCacheValue,\n };\n}\n"],"names":["PARTIAL_MAP","first","second","initYearMonthTime","value","mode","format","timeFormat","defaultYearMonthTime","year","dayjs","month","time","Array","isArray","length","map","v","useRange","props","useControlled","onChange","_slicedToArray","useFormat","valueType","enableTimePicker","isValidDate","formatDate","formatTime","console","error","useState","isFirstValueSelected","setIsFirstValueSelected","setTime","setMonth","setYear","cacheValue","setCacheValue","useEffect"],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
export default function useSingle(props: TdDatePickerProps): {
|
|
2
|
+
import { TdDatePickerProps } from '../type';
|
|
3
|
+
export default function useSingleInput(props: TdDatePickerProps): {
|
|
5
4
|
year: number;
|
|
6
5
|
month: number;
|
|
7
|
-
value:
|
|
8
|
-
|
|
6
|
+
value: string;
|
|
7
|
+
time: any;
|
|
9
8
|
inputValue: any;
|
|
10
9
|
popupVisible: boolean;
|
|
11
10
|
inputProps: {
|
|
@@ -112,13 +111,10 @@ export default function useSingle(props: TdDatePickerProps): {
|
|
|
112
111
|
};
|
|
113
112
|
inputRef: React.MutableRefObject<HTMLInputElement>;
|
|
114
113
|
cacheValue: any;
|
|
115
|
-
onChange: import("../../hooks/useControlled").ChangeHandler<
|
|
116
|
-
dayjsValue?: dayjs.Dayjs;
|
|
117
|
-
trigger?: import("../type").DatePickerTriggerSource;
|
|
118
|
-
}]>;
|
|
114
|
+
onChange: import("../../hooks/useControlled").ChangeHandler<string, any>;
|
|
119
115
|
setYear: React.Dispatch<React.SetStateAction<number>>;
|
|
120
116
|
setMonth: React.Dispatch<React.SetStateAction<number>>;
|
|
121
|
-
|
|
117
|
+
setTime: React.Dispatch<any>;
|
|
122
118
|
setIsHoverCell: React.Dispatch<React.SetStateAction<boolean>>;
|
|
123
119
|
setInputValue: React.Dispatch<any>;
|
|
124
120
|
setPopupVisible: React.Dispatch<React.SetStateAction<boolean>>;
|