@douyinfe/semi-ui 2.22.0-beta.0 → 2.22.0-beta.1
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/css/semi.css +438 -38
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +4084 -5300
- package/dist/umd/semi-ui.js.map +1 -1
- package/dist/umd/semi-ui.min.js +1 -1
- package/dist/umd/semi-ui.min.js.map +1 -1
- package/lib/cjs/_cssAnimation/index.d.ts +39 -0
- package/lib/cjs/_cssAnimation/index.js +133 -0
- package/lib/cjs/anchor/index.d.ts +3 -3
- package/lib/cjs/anchor/link.d.ts +1 -1
- package/lib/cjs/autoComplete/index.d.ts +7 -8
- package/lib/cjs/autoComplete/option.d.ts +1 -1
- package/lib/cjs/banner/index.d.ts +2 -2
- package/lib/cjs/breadcrumb/index.d.ts +3 -3
- package/lib/cjs/breadcrumb/item.d.ts +3 -3
- package/lib/cjs/button/index.d.ts +2 -2
- package/lib/cjs/calendar/dayCalendar.d.ts +2 -2
- package/lib/cjs/calendar/index.d.ts +2 -2
- package/lib/cjs/calendar/monthCalendar.d.ts +2 -2
- package/lib/cjs/calendar/rangeCalendar.d.ts +2 -2
- package/lib/cjs/calendar/weekCalendar.d.ts +2 -2
- package/lib/cjs/card/cardGroup.d.ts +1 -1
- package/lib/cjs/carousel/index.d.ts +1 -1
- package/lib/cjs/cascader/index.d.ts +7 -8
- package/lib/cjs/cascader/index.js +8 -6
- package/lib/cjs/collapse/collapse-context.d.ts +1 -2
- package/lib/cjs/collapse/index.d.ts +3 -3
- package/lib/cjs/collapse/item.d.ts +2 -2
- package/lib/cjs/collapsible/index.d.ts +32 -19
- package/lib/cjs/collapsible/index.js +157 -121
- package/lib/cjs/configProvider/index.d.ts +1 -1
- package/lib/cjs/datePicker/dateInput.d.ts +3 -3
- package/lib/cjs/datePicker/datePicker.d.ts +12 -9
- package/lib/cjs/datePicker/datePicker.js +11 -13
- package/lib/cjs/datePicker/month.d.ts +1 -1
- package/lib/cjs/datePicker/month.js +5 -1
- package/lib/cjs/datePicker/monthsGrid.d.ts +7 -6
- package/lib/cjs/datePicker/monthsGrid.js +9 -26
- package/lib/cjs/datePicker/quickControl.d.ts +1 -1
- package/lib/cjs/datePicker/yearAndMonth.d.ts +1 -1
- package/lib/cjs/datePicker/yearAndMonth.js +13 -8
- package/lib/cjs/descriptions/index.d.ts +1 -1
- package/lib/cjs/dropdown/dropdownItem.d.ts +2 -1
- package/lib/cjs/dropdown/dropdownItem.js +3 -1
- package/lib/cjs/dropdown/index.d.ts +5 -6
- package/lib/cjs/form/baseForm.d.ts +7 -5
- package/lib/cjs/form/errorMessage.d.ts +1 -1
- package/lib/cjs/form/field.d.ts +4 -2
- package/lib/cjs/form/label.d.ts +1 -1
- package/lib/cjs/grid/col.d.ts +6 -6
- package/lib/cjs/grid/row.d.ts +1 -1
- package/lib/cjs/iconButton/index.d.ts +2 -2
- package/lib/cjs/image/image.d.ts +4 -4
- package/lib/cjs/image/preview.d.ts +1 -1
- package/lib/cjs/image/previewInner.d.ts +1 -1
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.js +8 -0
- package/lib/cjs/inputNumber/index.d.ts +2 -2
- package/lib/cjs/locale/source/ro.d.ts +3 -3
- package/lib/cjs/modal/Modal.d.ts +6 -6
- package/lib/cjs/modal/Modal.js +80 -56
- package/lib/cjs/modal/ModalContent.js +6 -5
- package/lib/cjs/modal/confirm.d.ts +10 -10
- package/lib/cjs/modal/confirm.js +1 -15
- package/lib/cjs/modal/useModal/HookModal.d.ts +0 -2
- package/lib/cjs/modal/useModal/HookModal.js +6 -18
- package/lib/cjs/navigation/Footer.d.ts +1 -1
- package/lib/cjs/navigation/Header.d.ts +3 -3
- package/lib/cjs/navigation/Item.d.ts +4 -4
- package/lib/cjs/navigation/Item.js +11 -5
- package/lib/cjs/navigation/OpenIconTransition.d.ts +1 -15
- package/lib/cjs/navigation/OpenIconTransition.js +1 -82
- package/lib/cjs/navigation/SubNav.d.ts +4 -4
- package/lib/cjs/navigation/SubNav.js +43 -27
- package/lib/cjs/navigation/index.d.ts +8 -11
- package/lib/cjs/notification/index.d.ts +0 -1
- package/lib/cjs/notification/index.js +25 -15
- package/lib/cjs/notification/notice.d.ts +3 -1
- package/lib/cjs/notification/notice.js +3 -1
- package/lib/cjs/popconfirm/index.d.ts +4 -5
- package/lib/cjs/popover/index.d.ts +8 -8
- package/lib/cjs/popover/index.js +1 -1
- package/lib/cjs/progress/index.d.ts +4 -4
- package/lib/cjs/rating/index.d.ts +1 -1
- package/lib/cjs/rating/item.d.ts +1 -1
- package/lib/cjs/scrollList/index.d.ts +1 -1
- package/lib/cjs/scrollList/scrollItem.d.ts +3 -3
- package/lib/cjs/scrollList/scrollItem.js +2 -2
- package/lib/cjs/select/index.d.ts +11 -6
- package/lib/cjs/select/index.js +108 -60
- package/lib/cjs/select/option.d.ts +1 -1
- package/lib/cjs/select/optionGroup.d.ts +1 -1
- package/lib/cjs/sideSheet/SideSheetContent.d.ts +8 -0
- package/lib/cjs/sideSheet/SideSheetContent.js +10 -6
- package/lib/cjs/sideSheet/index.d.ts +4 -4
- package/lib/cjs/sideSheet/index.js +69 -39
- package/lib/cjs/space/index.d.ts +1 -1
- package/lib/cjs/spin/index.js +1 -4
- package/lib/cjs/table/Body/BaseRow.d.ts +5 -5
- package/lib/cjs/table/Body/ExpandedRow.d.ts +3 -3
- package/lib/cjs/table/Body/SectionRow.d.ts +3 -3
- package/lib/cjs/table/Column.d.ts +4 -4
- package/lib/cjs/table/ColumnShape.d.ts +4 -4
- package/lib/cjs/table/ColumnSorter.d.ts +1 -1
- package/lib/cjs/table/CustomExpandIcon.d.ts +1 -1
- package/lib/cjs/table/CustomExpandIcon.js +13 -5
- package/lib/cjs/table/Table.d.ts +16 -16
- package/lib/cjs/table/TableCell.d.ts +4 -4
- package/lib/cjs/table/TableHeaderRow.d.ts +2 -2
- package/lib/cjs/table/TablePagination.d.ts +1 -1
- package/lib/cjs/table/index.d.ts +15 -15
- package/lib/cjs/tabs/TabPane.d.ts +2 -8
- package/lib/cjs/tabs/TabPane.js +40 -38
- package/lib/cjs/tabs/index.d.ts +5 -3
- package/lib/cjs/tabs/index.js +26 -4
- package/lib/cjs/tabs/interface.d.ts +2 -0
- package/lib/cjs/tag/group.d.ts +1 -0
- package/lib/cjs/tag/group.js +6 -3
- package/lib/cjs/tag/index.d.ts +1 -1
- package/lib/cjs/tag/index.js +1 -0
- package/lib/cjs/tag/interface.d.ts +3 -1
- package/lib/cjs/tagInput/index.d.ts +3 -3
- package/lib/cjs/timePicker/Combobox.js +4 -8
- package/lib/cjs/timePicker/PanelShape.d.ts +2 -2
- package/lib/cjs/timePicker/TimePicker.d.ts +11 -11
- package/lib/cjs/timePicker/TimePicker.js +3 -1
- package/lib/cjs/timePicker/TimeShape.d.ts +1 -1
- package/lib/cjs/timePicker/index.d.ts +10 -9
- package/lib/cjs/timeline/index.d.ts +1 -1
- package/lib/cjs/toast/index.d.ts +2 -4
- package/lib/cjs/toast/index.js +29 -14
- package/lib/cjs/toast/toast.d.ts +4 -2
- package/lib/cjs/toast/toast.js +3 -1
- package/lib/cjs/tooltip/index.d.ts +8 -9
- package/lib/cjs/tooltip/index.js +30 -37
- package/lib/cjs/transfer/index.d.ts +1 -1
- package/lib/cjs/tree/autoSizer.d.ts +2 -2
- package/lib/cjs/tree/index.d.ts +5 -5
- package/lib/cjs/tree/nodeCollapsible.d.ts +11 -0
- package/lib/cjs/tree/nodeCollapsible.js +50 -0
- package/lib/cjs/tree/nodeList.js +6 -5
- package/lib/cjs/tree/treeNode.d.ts +1 -1
- package/lib/cjs/treeSelect/index.d.ts +12 -9
- package/lib/cjs/treeSelect/index.js +23 -9
- package/lib/cjs/trigger/index.d.ts +1 -1
- package/lib/cjs/typography/base.d.ts +8 -8
- package/lib/cjs/typography/index.d.ts +2 -0
- package/lib/cjs/typography/index.js +3 -0
- package/lib/cjs/typography/interface.d.ts +2 -0
- package/lib/cjs/typography/numeral.d.ts +68 -0
- package/lib/cjs/typography/numeral.js +106 -0
- package/lib/cjs/typography/paragraph.d.ts +3 -3
- package/lib/cjs/typography/text.d.ts +4 -4
- package/lib/cjs/typography/title.d.ts +4 -4
- package/lib/cjs/upload/fileCard.d.ts +1 -1
- package/lib/es/_cssAnimation/index.d.ts +39 -0
- package/lib/es/_cssAnimation/index.js +122 -0
- package/lib/es/anchor/index.d.ts +3 -3
- package/lib/es/anchor/link.d.ts +1 -1
- package/lib/es/autoComplete/index.d.ts +7 -8
- package/lib/es/autoComplete/option.d.ts +1 -1
- package/lib/es/banner/index.d.ts +2 -2
- package/lib/es/breadcrumb/index.d.ts +3 -3
- package/lib/es/breadcrumb/item.d.ts +3 -3
- package/lib/es/button/index.d.ts +2 -2
- package/lib/es/calendar/dayCalendar.d.ts +2 -2
- package/lib/es/calendar/index.d.ts +2 -2
- package/lib/es/calendar/monthCalendar.d.ts +2 -2
- package/lib/es/calendar/rangeCalendar.d.ts +2 -2
- package/lib/es/calendar/weekCalendar.d.ts +2 -2
- package/lib/es/card/cardGroup.d.ts +1 -1
- package/lib/es/carousel/index.d.ts +1 -1
- package/lib/es/cascader/index.d.ts +7 -8
- package/lib/es/cascader/index.js +8 -6
- package/lib/es/collapse/collapse-context.d.ts +1 -2
- package/lib/es/collapse/index.d.ts +3 -3
- package/lib/es/collapse/item.d.ts +2 -2
- package/lib/es/collapsible/index.d.ts +32 -19
- package/lib/es/collapsible/index.js +158 -119
- package/lib/es/configProvider/index.d.ts +1 -1
- package/lib/es/datePicker/dateInput.d.ts +3 -3
- package/lib/es/datePicker/datePicker.d.ts +12 -9
- package/lib/es/datePicker/datePicker.js +11 -13
- package/lib/es/datePicker/month.d.ts +1 -1
- package/lib/es/datePicker/month.js +5 -1
- package/lib/es/datePicker/monthsGrid.d.ts +7 -6
- package/lib/es/datePicker/monthsGrid.js +9 -26
- package/lib/es/datePicker/quickControl.d.ts +1 -1
- package/lib/es/datePicker/yearAndMonth.d.ts +1 -1
- package/lib/es/datePicker/yearAndMonth.js +13 -8
- package/lib/es/descriptions/index.d.ts +1 -1
- package/lib/es/dropdown/dropdownItem.d.ts +2 -1
- package/lib/es/dropdown/dropdownItem.js +3 -1
- package/lib/es/dropdown/index.d.ts +5 -6
- package/lib/es/form/baseForm.d.ts +7 -5
- package/lib/es/form/errorMessage.d.ts +1 -1
- package/lib/es/form/field.d.ts +4 -2
- package/lib/es/form/label.d.ts +1 -1
- package/lib/es/grid/col.d.ts +6 -6
- package/lib/es/grid/row.d.ts +1 -1
- package/lib/es/iconButton/index.d.ts +2 -2
- package/lib/es/image/image.d.ts +4 -4
- package/lib/es/image/preview.d.ts +1 -1
- package/lib/es/image/previewInner.d.ts +1 -1
- package/lib/es/index.d.ts +1 -0
- package/lib/es/index.js +1 -0
- package/lib/es/inputNumber/index.d.ts +2 -2
- package/lib/es/locale/source/ro.d.ts +3 -3
- package/lib/es/modal/Modal.d.ts +6 -6
- package/lib/es/modal/Modal.js +79 -56
- package/lib/es/modal/ModalContent.js +6 -5
- package/lib/es/modal/confirm.d.ts +10 -10
- package/lib/es/modal/confirm.js +1 -14
- package/lib/es/modal/useModal/HookModal.d.ts +0 -2
- package/lib/es/modal/useModal/HookModal.js +7 -19
- package/lib/es/navigation/Footer.d.ts +1 -1
- package/lib/es/navigation/Header.d.ts +3 -3
- package/lib/es/navigation/Item.d.ts +4 -4
- package/lib/es/navigation/Item.js +11 -5
- package/lib/es/navigation/OpenIconTransition.d.ts +1 -15
- package/lib/es/navigation/OpenIconTransition.js +1 -66
- package/lib/es/navigation/SubNav.d.ts +4 -4
- package/lib/es/navigation/SubNav.js +43 -28
- package/lib/es/navigation/index.d.ts +8 -11
- package/lib/es/notification/index.d.ts +0 -1
- package/lib/es/notification/index.js +24 -14
- package/lib/es/notification/notice.d.ts +3 -1
- package/lib/es/notification/notice.js +3 -1
- package/lib/es/popconfirm/index.d.ts +4 -5
- package/lib/es/popover/index.d.ts +8 -8
- package/lib/es/popover/index.js +1 -1
- package/lib/es/progress/index.d.ts +4 -4
- package/lib/es/rating/index.d.ts +1 -1
- package/lib/es/rating/item.d.ts +1 -1
- package/lib/es/scrollList/index.d.ts +1 -1
- package/lib/es/scrollList/scrollItem.d.ts +3 -3
- package/lib/es/scrollList/scrollItem.js +3 -3
- package/lib/es/select/index.d.ts +11 -6
- package/lib/es/select/index.js +108 -60
- package/lib/es/select/option.d.ts +1 -1
- package/lib/es/select/optionGroup.d.ts +1 -1
- package/lib/es/sideSheet/SideSheetContent.d.ts +8 -0
- package/lib/es/sideSheet/SideSheetContent.js +10 -6
- package/lib/es/sideSheet/index.d.ts +4 -4
- package/lib/es/sideSheet/index.js +67 -37
- package/lib/es/space/index.d.ts +1 -1
- package/lib/es/spin/index.js +1 -4
- package/lib/es/table/Body/BaseRow.d.ts +5 -5
- package/lib/es/table/Body/ExpandedRow.d.ts +3 -3
- package/lib/es/table/Body/SectionRow.d.ts +3 -3
- package/lib/es/table/Column.d.ts +4 -4
- package/lib/es/table/ColumnShape.d.ts +4 -4
- package/lib/es/table/ColumnSorter.d.ts +1 -1
- package/lib/es/table/CustomExpandIcon.d.ts +1 -1
- package/lib/es/table/CustomExpandIcon.js +13 -5
- package/lib/es/table/Table.d.ts +16 -16
- package/lib/es/table/TableCell.d.ts +4 -4
- package/lib/es/table/TableHeaderRow.d.ts +2 -2
- package/lib/es/table/TablePagination.d.ts +1 -1
- package/lib/es/table/index.d.ts +15 -15
- package/lib/es/tabs/TabPane.d.ts +2 -8
- package/lib/es/tabs/TabPane.js +40 -38
- package/lib/es/tabs/index.d.ts +5 -3
- package/lib/es/tabs/index.js +26 -4
- package/lib/es/tabs/interface.d.ts +2 -0
- package/lib/es/tag/group.d.ts +1 -0
- package/lib/es/tag/group.js +6 -3
- package/lib/es/tag/index.d.ts +1 -1
- package/lib/es/tag/index.js +1 -0
- package/lib/es/tag/interface.d.ts +3 -1
- package/lib/es/tagInput/index.d.ts +3 -3
- package/lib/es/timePicker/Combobox.js +4 -8
- package/lib/es/timePicker/PanelShape.d.ts +2 -2
- package/lib/es/timePicker/TimePicker.d.ts +11 -11
- package/lib/es/timePicker/TimePicker.js +3 -1
- package/lib/es/timePicker/TimeShape.d.ts +1 -1
- package/lib/es/timePicker/index.d.ts +10 -9
- package/lib/es/timeline/index.d.ts +1 -1
- package/lib/es/toast/index.d.ts +2 -4
- package/lib/es/toast/index.js +27 -13
- package/lib/es/toast/toast.d.ts +4 -2
- package/lib/es/toast/toast.js +3 -1
- package/lib/es/tooltip/index.d.ts +8 -9
- package/lib/es/tooltip/index.js +27 -36
- package/lib/es/transfer/index.d.ts +1 -1
- package/lib/es/tree/autoSizer.d.ts +2 -2
- package/lib/es/tree/index.d.ts +5 -5
- package/lib/es/tree/nodeCollapsible.d.ts +11 -0
- package/lib/es/tree/nodeCollapsible.js +35 -0
- package/lib/es/tree/nodeList.js +6 -5
- package/lib/es/tree/treeNode.d.ts +1 -1
- package/lib/es/treeSelect/index.d.ts +12 -9
- package/lib/es/treeSelect/index.js +22 -8
- package/lib/es/trigger/index.d.ts +1 -1
- package/lib/es/typography/base.d.ts +8 -8
- package/lib/es/typography/index.d.ts +2 -0
- package/lib/es/typography/index.js +2 -0
- package/lib/es/typography/interface.d.ts +2 -0
- package/lib/es/typography/numeral.d.ts +68 -0
- package/lib/es/typography/numeral.js +86 -0
- package/lib/es/typography/paragraph.d.ts +3 -3
- package/lib/es/typography/text.d.ts +4 -4
- package/lib/es/typography/title.d.ts +4 -4
- package/lib/es/upload/fileCard.d.ts +1 -1
- package/package.json +7 -7
- package/lib/cjs/motions/Rotate.d.ts +0 -23
- package/lib/cjs/motions/Rotate.js +0 -76
- package/lib/cjs/navigation/SubNavTransition.d.ts +0 -17
- package/lib/cjs/navigation/SubNavTransition.js +0 -83
- package/lib/cjs/notification/NoticeTransition.d.ts +0 -10
- package/lib/cjs/notification/NoticeTransition.js +0 -85
- package/lib/cjs/sideSheet/SideSheetTransition.d.ts +0 -12
- package/lib/cjs/sideSheet/SideSheetTransition.js +0 -115
- package/lib/cjs/tabs/TabPaneTransition.d.ts +0 -4
- package/lib/cjs/tabs/TabPaneTransition.js +0 -114
- package/lib/cjs/toast/ToastTransition.d.ts +0 -7
- package/lib/cjs/toast/ToastTransition.js +0 -66
- package/lib/cjs/tooltip/TooltipStyledTransition.d.ts +0 -9
- package/lib/cjs/tooltip/TooltipStyledTransition.js +0 -52
- package/lib/cjs/tree/collapse.d.ts +0 -29
- package/lib/cjs/tree/collapse.js +0 -155
- package/lib/es/motions/Rotate.d.ts +0 -23
- package/lib/es/motions/Rotate.js +0 -60
- package/lib/es/navigation/SubNavTransition.d.ts +0 -17
- package/lib/es/navigation/SubNavTransition.js +0 -66
- package/lib/es/notification/NoticeTransition.d.ts +0 -10
- package/lib/es/notification/NoticeTransition.js +0 -74
- package/lib/es/sideSheet/SideSheetTransition.d.ts +0 -12
- package/lib/es/sideSheet/SideSheetTransition.js +0 -102
- package/lib/es/tabs/TabPaneTransition.d.ts +0 -4
- package/lib/es/tabs/TabPaneTransition.js +0 -103
- package/lib/es/toast/ToastTransition.d.ts +0 -7
- package/lib/es/toast/ToastTransition.js +0 -55
- package/lib/es/tooltip/TooltipStyledTransition.d.ts +0 -9
- package/lib/es/tooltip/TooltipStyledTransition.js +0 -38
- package/lib/es/tree/collapse.d.ts +0 -29
- package/lib/es/tree/collapse.js +0 -136
|
@@ -5,155 +5,198 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _foundation = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/collapsible/foundation"));
|
|
13
|
+
|
|
14
|
+
var _baseComponent = _interopRequireDefault(require("../_base/baseComponent"));
|
|
9
15
|
|
|
10
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
17
|
|
|
12
18
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
19
|
|
|
14
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
-
|
|
16
20
|
var _constants = require("@douyinfe/semi-foundation/lib/cjs/collapsible/constants");
|
|
17
21
|
|
|
18
|
-
|
|
22
|
+
require("@douyinfe/semi-foundation/lib/cjs/collapsible/collapsible.css");
|
|
19
23
|
|
|
20
|
-
function
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
25
|
|
|
22
|
-
|
|
26
|
+
class Collapsible extends _baseComponent.default {
|
|
27
|
+
constructor(props) {
|
|
28
|
+
super(props);
|
|
29
|
+
this.domRef = /*#__PURE__*/_react.default.createRef();
|
|
23
30
|
|
|
24
|
-
|
|
31
|
+
this.handleResize = entryList => {
|
|
32
|
+
const entry = entryList[0];
|
|
25
33
|
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
children,
|
|
33
|
-
isOpen,
|
|
34
|
-
duration,
|
|
35
|
-
keepDOM,
|
|
36
|
-
collapseHeight,
|
|
37
|
-
style,
|
|
38
|
-
className,
|
|
39
|
-
reCalcKey,
|
|
40
|
-
id
|
|
41
|
-
} = props;
|
|
42
|
-
const ref = (0, _react.useRef)(null);
|
|
43
|
-
const [maxHeight, setMaxHeight] = (0, _react.useState)(0);
|
|
44
|
-
const [open, setOpen] = (0, _react.useState)(props.isOpen);
|
|
45
|
-
const [isFirst, setIsFirst] = (0, _react.useState)(true);
|
|
46
|
-
const [transitionImmediate, setTransitionImmediate] = (0, _react.useState)(open && isFirst);
|
|
47
|
-
const [left, setLeft] = (0, _react.useState)(!props.isOpen);
|
|
48
|
-
|
|
49
|
-
if (isOpen !== open) {
|
|
50
|
-
setOpen(isOpen);
|
|
51
|
-
|
|
52
|
-
if (isFirst) {
|
|
53
|
-
setIsFirst(false);
|
|
54
|
-
setTransitionImmediate(false);
|
|
55
|
-
}
|
|
34
|
+
if (entry) {
|
|
35
|
+
const entryInfo = Collapsible.getEntryInfo(entry);
|
|
36
|
+
this.foundation.updateDOMHeight(entryInfo.height);
|
|
37
|
+
this.foundation.updateDOMInRenderTree(entryInfo.isShown);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
56
40
|
|
|
57
|
-
|
|
58
|
-
|
|
41
|
+
this.isChildrenInRenderTree = () => {
|
|
42
|
+
if (this.domRef.current) {
|
|
43
|
+
return this.domRef.current.offsetHeight > 0;
|
|
44
|
+
} else {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
59
48
|
|
|
60
|
-
|
|
61
|
-
|
|
49
|
+
this.state = {
|
|
50
|
+
domInRenderTree: false,
|
|
51
|
+
domHeight: 0,
|
|
52
|
+
visible: this.props.isOpen,
|
|
53
|
+
isTransitioning: false
|
|
54
|
+
};
|
|
55
|
+
this.foundation = new _foundation.default(this.adapter);
|
|
56
|
+
}
|
|
62
57
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
58
|
+
get adapter() {
|
|
59
|
+
return Object.assign(Object.assign({}, super.adapter), {
|
|
60
|
+
setDOMInRenderTree: domInRenderTree => {
|
|
61
|
+
if (this.state.domInRenderTree !== domInRenderTree) {
|
|
62
|
+
this.setState({
|
|
63
|
+
domInRenderTree
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
setDOMHeight: domHeight => {
|
|
68
|
+
if (this.state.domHeight !== domHeight) {
|
|
69
|
+
this.setState({
|
|
70
|
+
domHeight
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
setVisible: visible => {
|
|
75
|
+
if (this.state.visible !== visible) {
|
|
76
|
+
this.setState({
|
|
77
|
+
visible
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
setIsTransitioning: isTransitioning => {
|
|
82
|
+
if (this.state.isTransitioning !== isTransitioning) {
|
|
83
|
+
this.setState({
|
|
84
|
+
isTransitioning
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
66
90
|
|
|
67
|
-
|
|
91
|
+
componentDidMount() {
|
|
92
|
+
super.componentDidMount();
|
|
93
|
+
this.resizeObserver = new ResizeObserver(this.handleResize);
|
|
94
|
+
this.resizeObserver.observe(this.domRef.current);
|
|
95
|
+
const domInRenderTree = this.isChildrenInRenderTree();
|
|
96
|
+
this.foundation.updateDOMInRenderTree(domInRenderTree);
|
|
68
97
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
98
|
+
if (domInRenderTree) {
|
|
99
|
+
this.foundation.updateDOMHeight(this.domRef.current.scrollHeight);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
72
102
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
} = _ref;
|
|
77
|
-
return {
|
|
78
|
-
maxHeight: maxHeightInTransitionStyle
|
|
79
|
-
};
|
|
80
|
-
};
|
|
103
|
+
componentDidUpdate(prevProps, prevState, snapshot) {
|
|
104
|
+
const changedPropKeys = Object.keys(this.props).filter(key => !(0, _isEqual2.default)(this.props[key], prevProps[key]));
|
|
105
|
+
const changedStateKeys = Object.keys(this.state).filter(key => !(0, _isEqual2.default)(this.state[key], prevState[key]));
|
|
81
106
|
|
|
82
|
-
|
|
107
|
+
if (changedPropKeys.includes("reCalcKey")) {
|
|
108
|
+
this.foundation.updateDOMHeight(this.domRef.current.scrollHeight);
|
|
109
|
+
}
|
|
83
110
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
111
|
+
if (changedStateKeys.includes("domInRenderTree") && this.state.domInRenderTree) {
|
|
112
|
+
this.foundation.updateDOMHeight(this.domRef.current.scrollHeight);
|
|
113
|
+
}
|
|
87
114
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}, style), transition);
|
|
115
|
+
if (changedPropKeys.includes("isOpen")) {
|
|
116
|
+
if (this.props.isOpen || !this.props.motion) {
|
|
117
|
+
this.foundation.updateVisible(this.props.isOpen);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
94
120
|
|
|
95
|
-
if (
|
|
96
|
-
|
|
121
|
+
if (this.props.motion && prevProps.isOpen !== this.props.isOpen) {
|
|
122
|
+
this.foundation.updateIsTransitioning(true);
|
|
97
123
|
}
|
|
124
|
+
}
|
|
98
125
|
|
|
99
|
-
|
|
126
|
+
componentWillUnmount() {
|
|
127
|
+
super.componentWillUnmount();
|
|
128
|
+
this.resizeObserver.disconnect();
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
render() {
|
|
132
|
+
const wrapperStyle = Object.assign({
|
|
133
|
+
overflow: 'hidden',
|
|
134
|
+
height: this.props.isOpen ? this.state.domHeight : this.props.collapseHeight,
|
|
135
|
+
opacity: this.props.isOpen || !this.props.fade || this.props.collapseHeight !== 0 ? 1 : 0,
|
|
136
|
+
transitionDuration: "".concat(this.props.motion && this.state.isTransitioning ? this.props.duration : 0, "ms")
|
|
137
|
+
}, this.props.style);
|
|
138
|
+
const wrapperCls = (0, _classnames.default)("".concat(_constants.cssClasses.PREFIX, "-wrapper"), {
|
|
139
|
+
["".concat(_constants.cssClasses.PREFIX, "-transition")]: this.props.motion && this.state.isTransitioning
|
|
140
|
+
}, this.props.className);
|
|
100
141
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
101
|
-
style: wrapperstyle,
|
|
102
142
|
className: wrapperCls,
|
|
103
|
-
|
|
143
|
+
style: wrapperStyle,
|
|
144
|
+
onTransitionEnd: () => {
|
|
145
|
+
if (!this.props.isOpen) {
|
|
146
|
+
this.foundation.updateVisible(false);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
this.foundation.updateIsTransitioning(false);
|
|
150
|
+
this.props.onMotionEnd();
|
|
151
|
+
}
|
|
104
152
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
105
|
-
|
|
153
|
+
"x-semi-prop": "children",
|
|
154
|
+
ref: this.domRef,
|
|
106
155
|
style: {
|
|
107
156
|
overflow: 'hidden'
|
|
108
157
|
},
|
|
109
|
-
id: id
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
};
|
|
158
|
+
id: this.props.id
|
|
159
|
+
}, (this.props.keepDOM || this.props.collapseHeight !== 0 || this.state.visible || this.props.isOpen) && this.props.children));
|
|
160
|
+
}
|
|
113
161
|
|
|
114
|
-
|
|
115
|
-
setLeft(true);
|
|
116
|
-
!shouldKeepDOM() && setMaxHeight(collapseHeight);
|
|
117
|
-
};
|
|
162
|
+
}
|
|
118
163
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
164
|
+
Collapsible.defaultProps = {
|
|
165
|
+
isOpen: false,
|
|
166
|
+
duration: 250,
|
|
167
|
+
motion: true,
|
|
168
|
+
keepDOM: false,
|
|
169
|
+
collapseHeight: 0,
|
|
170
|
+
fade: false
|
|
171
|
+
};
|
|
123
172
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
motion
|
|
128
|
-
});
|
|
129
|
-
return /*#__PURE__*/_react.default.createElement(_semiAnimationReact.Transition, Object.assign({
|
|
130
|
-
state: isOpen ? 'enter' : 'leave',
|
|
131
|
-
immediate: transitionImmediate,
|
|
132
|
-
from: {
|
|
133
|
-
maxHeight: 0
|
|
134
|
-
},
|
|
135
|
-
enter: {
|
|
136
|
-
maxHeight: {
|
|
137
|
-
val: maxHeight,
|
|
138
|
-
easing: ease,
|
|
139
|
-
duration
|
|
140
|
-
}
|
|
141
|
-
},
|
|
142
|
-
leave: {
|
|
143
|
-
maxHeight: {
|
|
144
|
-
val: collapseHeight,
|
|
145
|
-
easing: ease,
|
|
146
|
-
duration
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}, mergedMotion), transitionStyle => renderChildren(motion ? transitionStyle : null));
|
|
150
|
-
};
|
|
173
|
+
Collapsible.getEntryInfo = entry => {
|
|
174
|
+
//judge whether parent or self display none
|
|
175
|
+
let inRenderTree;
|
|
151
176
|
|
|
152
|
-
|
|
177
|
+
if (entry.borderBoxSize) {
|
|
178
|
+
inRenderTree = !(entry.borderBoxSize[0].blockSize === 0 && entry.borderBoxSize[0].inlineSize === 0);
|
|
179
|
+
} else {
|
|
180
|
+
inRenderTree = !(entry.contentRect.height === 0 && entry.contentRect.width === 0);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
let height = 0;
|
|
184
|
+
|
|
185
|
+
if (entry.borderBoxSize) {
|
|
186
|
+
height = Math.ceil(entry.borderBoxSize[0].blockSize);
|
|
187
|
+
} else {
|
|
188
|
+
const target = entry.target;
|
|
189
|
+
height = target.clientHeight;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
return {
|
|
193
|
+
isShown: inRenderTree,
|
|
194
|
+
height
|
|
195
|
+
};
|
|
153
196
|
};
|
|
154
197
|
|
|
155
|
-
Collapsible.
|
|
156
|
-
motion: _propTypes.default.
|
|
198
|
+
Collapsible.propTypes = {
|
|
199
|
+
motion: _propTypes.default.bool,
|
|
157
200
|
children: _propTypes.default.node,
|
|
158
201
|
isOpen: _propTypes.default.bool,
|
|
159
202
|
duration: _propTypes.default.number,
|
|
@@ -163,12 +206,5 @@ Collapsible.propType = {
|
|
|
163
206
|
className: _propTypes.default.string,
|
|
164
207
|
reCalcKey: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
|
|
165
208
|
};
|
|
166
|
-
Collapsible.defaultProps = {
|
|
167
|
-
isOpen: false,
|
|
168
|
-
duration: 250,
|
|
169
|
-
motion: true,
|
|
170
|
-
keepDOM: false,
|
|
171
|
-
collapseHeight: 0
|
|
172
|
-
};
|
|
173
209
|
var _default = Collapsible;
|
|
174
210
|
exports.default = _default;
|
|
@@ -6,7 +6,7 @@ export interface ConfigProviderProps extends ContextValue {
|
|
|
6
6
|
export default class ConfigProvider extends React.Component<ConfigProviderProps> {
|
|
7
7
|
static propTypes: {
|
|
8
8
|
locale: PropTypes.Requireable<object>;
|
|
9
|
-
timeZone: PropTypes.Requireable<string | number
|
|
9
|
+
timeZone: PropTypes.Requireable<NonNullable<string | number>>;
|
|
10
10
|
getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>;
|
|
11
11
|
direction: PropTypes.Requireable<string>;
|
|
12
12
|
};
|
|
@@ -36,14 +36,14 @@ export default class DateInput extends BaseComponent<DateInputProps, {}> {
|
|
|
36
36
|
prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
37
37
|
prefixCls: PropTypes.Requireable<string>;
|
|
38
38
|
dateFnsLocale: PropTypes.Validator<object>;
|
|
39
|
-
placeholder: PropTypes.Requireable<string | any[]
|
|
40
|
-
rangeInputFocus: PropTypes.Requireable<string | boolean
|
|
39
|
+
placeholder: PropTypes.Requireable<NonNullable<string | any[]>>;
|
|
40
|
+
rangeInputFocus: PropTypes.Requireable<NonNullable<string | boolean>>;
|
|
41
41
|
rangeInputStartRef: PropTypes.Requireable<object>;
|
|
42
42
|
rangeInputEndRef: PropTypes.Requireable<object>;
|
|
43
43
|
rangeSeparator: PropTypes.Requireable<string>;
|
|
44
44
|
insetInput: PropTypes.Requireable<boolean>;
|
|
45
45
|
insetInputValue: PropTypes.Requireable<object>;
|
|
46
|
-
defaultPickerValue: PropTypes.Requireable<string | number | object
|
|
46
|
+
defaultPickerValue: PropTypes.Requireable<NonNullable<string | number | object>>;
|
|
47
47
|
};
|
|
48
48
|
static defaultProps: {
|
|
49
49
|
showClear: boolean;
|
|
@@ -9,6 +9,7 @@ import { YearAndMonthProps } from './yearAndMonth';
|
|
|
9
9
|
import '@douyinfe/semi-foundation/lib/cjs/datePicker/datePicker.css';
|
|
10
10
|
import { Locale } from '../locale/interface';
|
|
11
11
|
import { TimePickerProps } from '../timePicker/TimePicker';
|
|
12
|
+
import { ScrollItemProps } from '../scrollList/scrollItem';
|
|
12
13
|
import { InsetInputChangeProps } from '@douyinfe/semi-foundation/lib/cjs/datePicker/inputFoundation';
|
|
13
14
|
export interface DatePickerProps extends DatePickerFoundationProps {
|
|
14
15
|
'aria-describedby'?: React.AriaAttributes['aria-describedby'];
|
|
@@ -31,6 +32,7 @@ export interface DatePickerProps extends DatePickerFoundationProps {
|
|
|
31
32
|
onPresetClick?: (item: PresetType, e: React.MouseEvent<HTMLDivElement>) => void;
|
|
32
33
|
locale?: Locale['DatePicker'];
|
|
33
34
|
dateFnsLocale?: Locale['dateFnsLocale'];
|
|
35
|
+
yearAndMonthOpts?: ScrollItemProps<any>;
|
|
34
36
|
}
|
|
35
37
|
export declare type DatePickerState = DatePickerFoundationState;
|
|
36
38
|
export default class DatePicker extends BaseComponent<DatePickerProps, DatePickerState> {
|
|
@@ -44,9 +46,9 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
|
|
|
44
46
|
type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
|
|
45
47
|
size: PropTypes.Requireable<"default" | "small" | "large">;
|
|
46
48
|
density: PropTypes.Requireable<"default" | "compact">;
|
|
47
|
-
defaultValue: PropTypes.Requireable<string | number | object
|
|
48
|
-
value: PropTypes.Requireable<string | number | object
|
|
49
|
-
defaultPickerValue: PropTypes.Requireable<string | number | object
|
|
49
|
+
defaultValue: PropTypes.Requireable<NonNullable<string | number | object>>;
|
|
50
|
+
value: PropTypes.Requireable<NonNullable<string | number | object>>;
|
|
51
|
+
defaultPickerValue: PropTypes.Requireable<NonNullable<string | number | object>>;
|
|
50
52
|
disabledTime: PropTypes.Requireable<(...args: any[]) => any>;
|
|
51
53
|
disabledTimePicker: PropTypes.Requireable<boolean>;
|
|
52
54
|
hideDisabledOptions: PropTypes.Requireable<boolean>;
|
|
@@ -54,9 +56,9 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
|
|
|
54
56
|
disabled: PropTypes.Requireable<boolean>;
|
|
55
57
|
multiple: PropTypes.Requireable<boolean>;
|
|
56
58
|
max: PropTypes.Requireable<number>;
|
|
57
|
-
placeholder: PropTypes.Requireable<string | any[]
|
|
59
|
+
placeholder: PropTypes.Requireable<NonNullable<string | any[]>>;
|
|
58
60
|
presets: PropTypes.Requireable<any[]>;
|
|
59
|
-
presetPosition: PropTypes.Requireable<"
|
|
61
|
+
presetPosition: PropTypes.Requireable<"left" | "top" | "right" | "bottom">;
|
|
60
62
|
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
61
63
|
onChangeWithDateFirst: PropTypes.Requireable<boolean>;
|
|
62
64
|
weekStartsOn: PropTypes.Requireable<number>;
|
|
@@ -66,22 +68,22 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
|
|
|
66
68
|
onOpenChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
67
69
|
open: PropTypes.Requireable<boolean>;
|
|
68
70
|
defaultOpen: PropTypes.Requireable<boolean>;
|
|
69
|
-
motion: PropTypes.Requireable<boolean | object
|
|
71
|
+
motion: PropTypes.Requireable<NonNullable<boolean | object>>;
|
|
70
72
|
className: PropTypes.Requireable<string>;
|
|
71
73
|
prefixCls: PropTypes.Requireable<string>;
|
|
72
74
|
prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
73
75
|
insetLabel: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
74
76
|
insetLabelId: PropTypes.Requireable<string>;
|
|
75
77
|
zIndex: PropTypes.Requireable<number>;
|
|
76
|
-
position: PropTypes.Requireable<"
|
|
78
|
+
position: PropTypes.Requireable<"left" | "top" | "right" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver">;
|
|
77
79
|
getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>;
|
|
78
80
|
onCancel: PropTypes.Requireable<(...args: any[]) => any>;
|
|
79
81
|
onConfirm: PropTypes.Requireable<(...args: any[]) => any>;
|
|
80
82
|
needConfirm: PropTypes.Requireable<boolean>;
|
|
81
83
|
inputStyle: PropTypes.Requireable<object>;
|
|
82
|
-
timeZone: PropTypes.Requireable<string | number
|
|
84
|
+
timeZone: PropTypes.Requireable<NonNullable<string | number>>;
|
|
83
85
|
triggerRender: PropTypes.Requireable<(...args: any[]) => any>;
|
|
84
|
-
stopPropagation: PropTypes.Requireable<string | boolean
|
|
86
|
+
stopPropagation: PropTypes.Requireable<NonNullable<string | boolean>>;
|
|
85
87
|
autoAdjustOverflow: PropTypes.Requireable<boolean>;
|
|
86
88
|
onBlur: PropTypes.Requireable<(...args: any[]) => any>;
|
|
87
89
|
onFocus: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -105,6 +107,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
|
|
|
105
107
|
onPanelChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
106
108
|
rangeSeparator: PropTypes.Requireable<string>;
|
|
107
109
|
preventScroll: PropTypes.Requireable<boolean>;
|
|
110
|
+
yearAndMonthOpts: PropTypes.Requireable<object>;
|
|
108
111
|
};
|
|
109
112
|
static defaultProps: {
|
|
110
113
|
onChangeWithDateFirst: boolean;
|
|
@@ -219,7 +219,8 @@ class DatePicker extends _baseComponent.default {
|
|
|
219
219
|
this.renderYearMonthPanel = (locale, localeCode) => {
|
|
220
220
|
const {
|
|
221
221
|
density,
|
|
222
|
-
presetPosition
|
|
222
|
+
presetPosition,
|
|
223
|
+
yearAndMonthOpts
|
|
223
224
|
} = this.props;
|
|
224
225
|
const date = this.state.value[0];
|
|
225
226
|
let year = 0;
|
|
@@ -242,7 +243,8 @@ class DatePicker extends _baseComponent.default {
|
|
|
242
243
|
density: density,
|
|
243
244
|
presetPosition: presetPosition,
|
|
244
245
|
renderQuickControls: this.renderQuickControls(),
|
|
245
|
-
renderDateInput: this.renderDateInput()
|
|
246
|
+
renderDateInput: this.renderDateInput(),
|
|
247
|
+
yearAndMonthOpts: yearAndMonthOpts
|
|
246
248
|
});
|
|
247
249
|
};
|
|
248
250
|
|
|
@@ -267,13 +269,12 @@ class DatePicker extends _baseComponent.default {
|
|
|
267
269
|
autoAdjustOverflow,
|
|
268
270
|
spacing
|
|
269
271
|
} = this.props;
|
|
270
|
-
const mergedMotion = this.foundation.getMergedMotion(motion);
|
|
271
272
|
return /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
272
273
|
getPopupContainer: getPopupContainer,
|
|
273
274
|
// wrapWhenSpecial={false}
|
|
274
275
|
autoAdjustOverflow: autoAdjustOverflow,
|
|
275
276
|
zIndex: zIndex,
|
|
276
|
-
motion:
|
|
277
|
+
motion: motion,
|
|
277
278
|
content: this.renderPanel(locale, localeCode, dateFnsLocale),
|
|
278
279
|
trigger: "custom",
|
|
279
280
|
position: position,
|
|
@@ -291,7 +292,6 @@ class DatePicker extends _baseComponent.default {
|
|
|
291
292
|
value: [],
|
|
292
293
|
cachedSelectedValue: null,
|
|
293
294
|
prevTimeZone: null,
|
|
294
|
-
motionEnd: false,
|
|
295
295
|
rangeInputFocus: undefined,
|
|
296
296
|
autofocus: props.autoFocus || this.isRangeType(props.type, props.triggerRender) && (props.open || props.defaultOpen),
|
|
297
297
|
insetInputValue: null,
|
|
@@ -411,9 +411,6 @@ class DatePicker extends _baseComponent.default {
|
|
|
411
411
|
},
|
|
412
412
|
needConfirm: () => ['dateTime', 'dateTimeRange'].includes(this.props.type) && this.props.needConfirm === true,
|
|
413
413
|
typeIsYearOrMonth: () => ['month', 'year'].includes(this.props.type),
|
|
414
|
-
setMotionEnd: motionEnd => this.setState({
|
|
415
|
-
motionEnd
|
|
416
|
-
}),
|
|
417
414
|
setRangeInputFocus: rangeInputFocus => {
|
|
418
415
|
const {
|
|
419
416
|
preventScroll
|
|
@@ -575,11 +572,11 @@ class DatePicker extends _baseComponent.default {
|
|
|
575
572
|
timeZone,
|
|
576
573
|
triggerRender,
|
|
577
574
|
insetInput,
|
|
578
|
-
presetPosition
|
|
575
|
+
presetPosition,
|
|
576
|
+
yearAndMonthOpts
|
|
579
577
|
} = this.props;
|
|
580
578
|
const {
|
|
581
579
|
cachedSelectedValue,
|
|
582
|
-
motionEnd,
|
|
583
580
|
rangeInputFocus
|
|
584
581
|
} = this.state;
|
|
585
582
|
const defaultValue = cachedSelectedValue;
|
|
@@ -607,7 +604,6 @@ class DatePicker extends _baseComponent.default {
|
|
|
607
604
|
startDateOffset: startDateOffset,
|
|
608
605
|
endDateOffset: endDateOffset,
|
|
609
606
|
autoSwitchDate: autoSwitchDate,
|
|
610
|
-
motionEnd: motionEnd,
|
|
611
607
|
density: density,
|
|
612
608
|
rangeInputFocus: rangeInputFocus,
|
|
613
609
|
setRangeInputFocus: this.handleSetRangeFocus,
|
|
@@ -620,7 +616,8 @@ class DatePicker extends _baseComponent.default {
|
|
|
620
616
|
insetInput: insetInput,
|
|
621
617
|
presetPosition: presetPosition,
|
|
622
618
|
renderQuickControls: this.renderQuickControls(),
|
|
623
|
-
renderDateInput: this.renderDateInput()
|
|
619
|
+
renderDateInput: this.renderDateInput(),
|
|
620
|
+
yearAndMonthOpts: yearAndMonthOpts
|
|
624
621
|
});
|
|
625
622
|
}
|
|
626
623
|
|
|
@@ -863,7 +860,8 @@ DatePicker.propTypes = {
|
|
|
863
860
|
// Callback function for panel date switching
|
|
864
861
|
onPanelChange: _propTypes.default.func,
|
|
865
862
|
rangeSeparator: _propTypes.default.string,
|
|
866
|
-
preventScroll: _propTypes.default.bool
|
|
863
|
+
preventScroll: _propTypes.default.bool,
|
|
864
|
+
yearAndMonthOpts: _propTypes.default.object
|
|
867
865
|
};
|
|
868
866
|
DatePicker.defaultProps = {
|
|
869
867
|
onChangeWithDateFirst: true,
|
|
@@ -31,7 +31,7 @@ export default class Month extends BaseComponent<MonthProps, MonthState> {
|
|
|
31
31
|
hoverDay: PropTypes.Requireable<string>;
|
|
32
32
|
startDateOffset: PropTypes.Requireable<(...args: any[]) => any>;
|
|
33
33
|
endDateOffset: PropTypes.Requireable<(...args: any[]) => any>;
|
|
34
|
-
rangeInputFocus: PropTypes.Requireable<string | boolean
|
|
34
|
+
rangeInputFocus: PropTypes.Requireable<NonNullable<string | boolean>>;
|
|
35
35
|
focusRecordsRef: PropTypes.Requireable<object>;
|
|
36
36
|
multiple: PropTypes.Requireable<boolean>;
|
|
37
37
|
};
|
|
@@ -85,6 +85,9 @@ class Month extends _baseComponent.default {
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
getSingleDayStatus(options) {
|
|
88
|
+
const {
|
|
89
|
+
rangeInputFocus
|
|
90
|
+
} = this.props;
|
|
88
91
|
const {
|
|
89
92
|
fullDate,
|
|
90
93
|
todayText,
|
|
@@ -95,7 +98,8 @@ class Month extends _baseComponent.default {
|
|
|
95
98
|
} = options;
|
|
96
99
|
const disabledOptions = {
|
|
97
100
|
rangeStart,
|
|
98
|
-
rangeEnd
|
|
101
|
+
rangeEnd,
|
|
102
|
+
rangeInputFocus
|
|
99
103
|
};
|
|
100
104
|
const isToday = fullDate === todayText;
|
|
101
105
|
const isSelected = selected.has(fullDate);
|
|
@@ -4,6 +4,7 @@ import MonthsGridFoundation, { MonthInfo, MonthsGridAdapter, MonthsGridDateAdapt
|
|
|
4
4
|
import BaseComponent, { BaseProps } from '../_base/baseComponent';
|
|
5
5
|
import Combobox from '../timePicker/Combobox';
|
|
6
6
|
import YearAndMonth from './yearAndMonth';
|
|
7
|
+
import { ScrollItemProps } from '../scrollList/scrollItem';
|
|
7
8
|
export interface MonthsGridProps extends MonthsGridFoundationProps, BaseProps {
|
|
8
9
|
navPrev?: React.ReactNode;
|
|
9
10
|
navNext?: React.ReactNode;
|
|
@@ -13,13 +14,14 @@ export interface MonthsGridProps extends MonthsGridFoundationProps, BaseProps {
|
|
|
13
14
|
rangeStart: boolean;
|
|
14
15
|
rangeEnd: boolean;
|
|
15
16
|
}>;
|
|
17
|
+
yearAndMonthOpts?: ScrollItemProps<any>;
|
|
16
18
|
}
|
|
17
19
|
export declare type MonthsGridState = MonthsGridFoundationState;
|
|
18
20
|
export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGridState> {
|
|
19
21
|
static propTypes: {
|
|
20
22
|
type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
|
|
21
|
-
defaultValue: PropTypes.Requireable<string | number | object
|
|
22
|
-
defaultPickerValue: PropTypes.Requireable<string | number | object
|
|
23
|
+
defaultValue: PropTypes.Requireable<NonNullable<string | number | object>>;
|
|
24
|
+
defaultPickerValue: PropTypes.Requireable<NonNullable<string | number | object>>;
|
|
23
25
|
multiple: PropTypes.Requireable<boolean>;
|
|
24
26
|
max: PropTypes.Requireable<number>;
|
|
25
27
|
weekStartsOn: PropTypes.Requireable<number>;
|
|
@@ -33,7 +35,7 @@ export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGri
|
|
|
33
35
|
timePickerOpts: PropTypes.Requireable<object>;
|
|
34
36
|
isControlledComponent: PropTypes.Requireable<boolean>;
|
|
35
37
|
rangeStart: PropTypes.Requireable<string>;
|
|
36
|
-
rangeInputFocus: PropTypes.Requireable<string | boolean
|
|
38
|
+
rangeInputFocus: PropTypes.Requireable<NonNullable<string | boolean>>;
|
|
37
39
|
locale: PropTypes.Requireable<object>;
|
|
38
40
|
localeCode: PropTypes.Requireable<string>;
|
|
39
41
|
format: PropTypes.Requireable<string>;
|
|
@@ -42,15 +44,14 @@ export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGri
|
|
|
42
44
|
startDateOffset: PropTypes.Requireable<(...args: any[]) => any>;
|
|
43
45
|
endDateOffset: PropTypes.Requireable<(...args: any[]) => any>;
|
|
44
46
|
autoSwitchDate: PropTypes.Requireable<boolean>;
|
|
45
|
-
motionEnd: PropTypes.Requireable<boolean>;
|
|
46
47
|
density: PropTypes.Requireable<string>;
|
|
47
48
|
dateFnsLocale: PropTypes.Validator<object>;
|
|
48
|
-
timeZone: PropTypes.Requireable<string | number
|
|
49
|
+
timeZone: PropTypes.Requireable<NonNullable<string | number>>;
|
|
49
50
|
syncSwitchMonth: PropTypes.Requireable<boolean>;
|
|
50
51
|
onPanelChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
51
52
|
focusRecordsRef: PropTypes.Requireable<object>;
|
|
52
53
|
triggerRender: PropTypes.Requireable<(...args: any[]) => any>;
|
|
53
|
-
presetPosition: PropTypes.Requireable<"
|
|
54
|
+
presetPosition: PropTypes.Requireable<"left" | "top" | "right" | "bottom">;
|
|
54
55
|
renderQuickControls: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
55
56
|
renderDateInput: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
56
57
|
};
|