amis 1.5.6-beta.5 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.husky/pre-commit +1 -1
- package/lib/Schema.d.ts +3 -2
- package/lib/Schema.js.map +1 -1
- package/lib/components/AssociatedSelection.d.ts +84 -84
- package/lib/components/AssociatedSelection.js +2 -2
- package/lib/components/AssociatedSelection.js.map +2 -2
- package/lib/components/Avatar.d.ts +135 -0
- package/lib/components/Avatar.js +120 -0
- package/lib/components/Avatar.js.map +13 -0
- package/lib/components/BaiduMapPicker.js.map +2 -2
- package/lib/components/CalendarMobile.d.ts +547 -0
- package/lib/components/CalendarMobile.js +432 -0
- package/lib/components/CalendarMobile.js.map +13 -0
- package/lib/components/Card.js +1 -1
- package/lib/components/Card.js.map +2 -2
- package/lib/components/Cascader.d.ts +123 -0
- package/lib/components/Cascader.js +487 -0
- package/lib/components/Cascader.js.map +13 -0
- package/lib/components/ChainedSelection.d.ts +84 -84
- package/lib/components/ChainedSelection.js +15 -3
- package/lib/components/ChainedSelection.js.map +2 -2
- package/lib/components/CityArea.d.ts +527 -0
- package/lib/components/CityArea.js +177 -0
- package/lib/components/CityArea.js.map +13 -0
- package/lib/components/Collapse.js +1 -1
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/ColorPicker.d.ts +84 -84
- package/lib/components/ColorPicker.js +4 -3
- package/lib/components/ColorPicker.js.map +2 -2
- package/lib/components/DatePicker.d.ts +85 -84
- package/lib/components/DatePicker.js +15 -8
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +85 -84
- package/lib/components/DateRangePicker.js +18 -6
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/GroupedSelection.d.ts +84 -84
- package/lib/components/GroupedSelection.js +14 -2
- package/lib/components/GroupedSelection.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +85 -84
- package/lib/components/MonthRangePicker.js +16 -6
- package/lib/components/MonthRangePicker.js.map +2 -2
- package/lib/components/Overlay.d.ts +1 -1
- package/lib/components/Overlay.js.map +1 -1
- package/lib/components/Picker.d.ts +1 -0
- package/lib/components/Picker.js +16 -7
- package/lib/components/Picker.js.map +2 -2
- package/lib/components/PickerColumn.d.ts +1 -0
- package/lib/components/PickerColumn.js +21 -18
- package/lib/components/PickerColumn.js.map +2 -2
- package/lib/components/PickerContainer.d.ts +3 -0
- package/lib/components/PickerContainer.js +12 -5
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/PopOverContainer.d.ts +1 -0
- package/lib/components/PopOverContainer.js +5 -3
- package/lib/components/PopOverContainer.js.map +2 -2
- package/lib/components/PopUp.d.ts +1041 -28
- package/lib/components/PopUp.js +32 -8
- package/lib/components/PopUp.js.map +2 -2
- package/lib/components/Rating.d.ts +203 -73
- package/lib/components/Rating.js +147 -31
- package/lib/components/Rating.js.map +2 -2
- package/lib/components/ResultBox.d.ts +85 -84
- package/lib/components/ResultBox.js +9 -4
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/ResultList.d.ts +9 -2
- package/lib/components/ResultList.js +22 -2
- package/lib/components/ResultList.js.map +2 -2
- package/lib/components/Select.d.ts +237 -237
- package/lib/components/Select.js +9 -6
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Selection.d.ts +94 -86
- package/lib/components/Selection.js +11 -2
- package/lib/components/Selection.js.map +2 -2
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/TableSelection.d.ts +85 -85
- package/lib/components/TableSelection.js +1 -9
- package/lib/components/TableSelection.js.map +2 -2
- package/lib/components/Tabs.js +31 -33
- package/lib/components/Tabs.js.map +2 -2
- package/lib/components/TabsTransfer.d.ts +87 -256
- package/lib/components/TabsTransfer.js +52 -9
- package/lib/components/TabsTransfer.js.map +2 -2
- package/lib/components/TabsTransferPicker.d.ts +1 -1
- package/lib/components/TabsTransferPicker.js +20 -18
- package/lib/components/TabsTransferPicker.js.map +2 -2
- package/lib/components/Timeline.d.ts +69 -0
- package/lib/components/Timeline.js +16 -0
- package/lib/components/Timeline.js.map +13 -0
- package/lib/components/TimelineItem.d.ts +516 -0
- package/lib/components/TimelineItem.js +41 -0
- package/lib/components/TimelineItem.js.map +13 -0
- package/lib/components/Transfer.d.ts +100 -98
- package/lib/components/Transfer.js +2 -3
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +85 -84
- package/lib/components/TransferDropDown.js +9 -10
- package/lib/components/TransferDropDown.js.map +2 -2
- package/lib/components/TransferPicker.d.ts +1 -0
- package/lib/components/TransferPicker.js +19 -4
- package/lib/components/TransferPicker.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +85 -85
- package/lib/components/TreeSelection.js +7 -1
- package/lib/components/TreeSelection.js.map +2 -2
- package/lib/components/calendar/Calendar.d.ts +19 -0
- package/lib/components/calendar/Calendar.js +71 -1
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/DaysView.d.ts +21 -0
- package/lib/components/calendar/DaysView.js +76 -17
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/calendar/MonthsView.d.ts +34 -0
- package/lib/components/calendar/MonthsView.js +68 -3
- package/lib/components/calendar/MonthsView.js.map +2 -2
- package/lib/components/calendar/QuartersView.d.ts +1 -0
- package/lib/components/calendar/QuartersView.js +2 -2
- package/lib/components/calendar/QuartersView.js.map +2 -2
- package/lib/components/calendar/TimeView.d.ts +30 -18
- package/lib/components/calendar/TimeView.js +47 -8
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/calendar/YearsView.d.ts +6 -0
- package/lib/components/calendar/YearsView.js +21 -10
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/components/condition-builder/Field.js +1 -4
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Func.js +1 -1
- package/lib/components/condition-builder/Func.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +3 -0
- package/lib/components/formula/Editor.js +3 -2
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/FuncList.js +2 -1
- package/lib/components/formula/FuncList.js.map +2 -2
- package/lib/components/formula/Picker.js +1 -1
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/icons.js +4 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +4 -2
- package/lib/components/index.js.map +2 -2
- package/lib/components/virtual-list/SizeAndPositionManager.js.map +2 -2
- package/lib/components/virtual-list/index.js +1 -2
- package/lib/components/virtual-list/index.js.map +2 -2
- package/lib/factory.js +5 -0
- package/lib/factory.js.map +2 -2
- package/lib/icons/star.js +12 -0
- package/lib/icons/tree-down.js +7 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +17 -2
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +17 -2
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +16 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Avatar.d.ts +35 -26
- package/lib/renderers/Avatar.js +14 -19
- package/lib/renderers/Avatar.js.map +2 -2
- package/lib/renderers/CRUD.js +1 -2
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.js +6 -5
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Custom.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +11 -2
- package/lib/renderers/DropDownButton.js +30 -12
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Each.js +5 -2
- package/lib/renderers/Each.js.map +2 -2
- package/lib/renderers/Flex.js +1 -5
- package/lib/renderers/Flex.js.map +2 -2
- package/lib/renderers/Form/ChartRadios.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/CityDB.js +526 -2
- package/lib/renderers/Form/CityDB.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.js +2 -1
- package/lib/renderers/Form/DiffEditor.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +85 -84
- package/lib/renderers/Form/InputCity.js +4 -2
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputColor.d.ts +84 -84
- package/lib/renderers/Form/InputColor.js +6 -2
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +10 -5
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +6 -2
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +4 -1
- package/lib/renderers/Form/InputFormula.js +2 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +1 -0
- package/lib/renderers/Form/InputImage.js +8 -4
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputMonthRange.js +1 -1
- package/lib/renderers/Form/InputMonthRange.js.map +2 -2
- package/lib/renderers/Form/InputQuarterRange.js +1 -1
- package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
- package/lib/renderers/Form/InputRating.d.ts +37 -0
- package/lib/renderers/Form/InputRating.js +6 -2
- package/lib/renderers/Form/InputRating.js.map +2 -2
- package/lib/renderers/Form/InputYearRange.js +1 -1
- package/lib/renderers/Form/InputYearRange.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +10 -14
- package/lib/renderers/Form/Item.js +18 -9
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.d.ts +1 -0
- package/lib/renderers/Form/NestedSelect.js +8 -4
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +2 -0
- package/lib/renderers/Form/Select.js +7 -4
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
- package/lib/renderers/Form/TabsTransfer.js +20 -1
- package/lib/renderers/Form/TabsTransfer.js.map +2 -2
- package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
- package/lib/renderers/Form/TabsTransferPicker.js +21 -2
- package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
- package/lib/renderers/Form/Transfer.d.ts +15 -4
- package/lib/renderers/Form/Transfer.js +55 -18
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/TransferPicker.d.ts +3 -32
- package/lib/renderers/Form/TransferPicker.js +1 -1
- package/lib/renderers/Form/TransferPicker.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.js +4 -4
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +2 -1
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/IFrame.js +0 -2
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Json.js +7 -0
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/Nav.js +4 -1
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Remark.d.ts +4 -0
- package/lib/renderers/Remark.js +39 -7
- package/lib/renderers/Remark.js.map +2 -2
- package/lib/renderers/Steps.js +5 -5
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/TableRow.js +4 -1
- package/lib/renderers/Table/TableRow.js.map +2 -2
- package/lib/renderers/Table/index.js +4 -1
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.js +1 -1
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/Timeline.d.ts +65 -0
- package/lib/renderers/Timeline.js +54 -0
- package/lib/renderers/Timeline.js.map +13 -0
- package/lib/renderers/Video.js.map +2 -2
- package/lib/schemaExtend.js +23 -9
- package/lib/schemaExtend.js.map +2 -2
- package/lib/store/combo.js.map +2 -2
- package/lib/store/formItem.js +6 -6
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/table.js +1 -1
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +1018 -67
- package/lib/themes/ang.css +1018 -67
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +1053 -67
- package/lib/themes/antd.css +1053 -67
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1058 -78
- package/lib/themes/cxd.css +1058 -78
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +1019 -67
- package/lib/themes/dark.css +1019 -67
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +1058 -78
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/RootClose.js +3 -1
- package/lib/utils/RootClose.js.map +2 -2
- package/lib/utils/helper.d.ts +1 -6
- package/lib/utils/helper.js +6 -17
- package/lib/utils/helper.js.map +2 -2
- package/package.json +12 -6
- package/schema.json +3696 -971
- package/scss/_properties.scss +21 -7
- package/scss/components/_avatar.scss +27 -9
- package/scss/components/_calendar.scss +287 -0
- package/scss/components/_card.scss +1 -1
- package/scss/components/_cascader.scss +102 -0
- package/scss/components/_city-area.scss +27 -0
- package/scss/components/_collapse-group.scss +1 -3
- package/scss/components/_dropdown.scss +39 -9
- package/scss/components/_formula.scss +30 -6
- package/scss/components/_modal.scss +18 -0
- package/scss/components/_panel.scss +45 -0
- package/scss/components/_picker-columns.scss +15 -5
- package/scss/components/_popup.scss +42 -15
- package/scss/components/_result-box.scss +31 -0
- package/scss/components/_timeline.scss +198 -0
- package/scss/components/form/_checks.scss +2 -0
- package/scss/components/form/_color.scss +2 -2
- package/scss/components/form/_date-range.scss +1 -1
- package/scss/components/form/_date.scss +46 -1
- package/scss/components/form/_form.scss +168 -0
- package/scss/components/form/_nested-select.scss +3 -0
- package/scss/components/form/_rating.scss +60 -21
- package/scss/components/form/_result-list.scss +2 -0
- package/scss/components/form/_select.scss +32 -3
- package/scss/components/form/_selection.scss +5 -4
- package/scss/components/form/_transfer.scss +3 -0
- package/scss/components/form/_tree-select.scss +1 -1
- package/scss/themes/_antd-variables.scss +42 -0
- package/scss/themes/_common.scss +3 -0
- package/scss/themes/_cxd-variables.scss +51 -2
- package/scss/themes/_dark-variables.scss +1 -0
- package/scss/themes/cxd.scss +0 -12
- package/sdk/ang-ie11.css +1278 -141
- package/sdk/ang.css +1296 -153
- package/sdk/antd-ie11.css +1278 -141
- package/sdk/antd.css +1331 -153
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +1258 -132
- package/sdk/cxd.css +1338 -168
- package/sdk/dark-ie11.css +1278 -141
- package/sdk/dark.css +1297 -153
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +17 -2
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +18 -18
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +1258 -132
- package/sdk/sdk.css +1338 -168
- package/sdk/sdk.js +1242 -1218
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +3 -0
- package/src/components/AssociatedSelection.tsx +5 -1
- package/src/components/Avatar.tsx +253 -0
- package/src/components/BaiduMapPicker.tsx +19 -14
- package/src/components/CalendarMobile.tsx +563 -0
- package/src/components/Card.tsx +2 -2
- package/src/components/Cascader.tsx +564 -0
- package/src/components/ChainedSelection.tsx +16 -3
- package/src/components/CityArea.tsx +315 -0
- package/src/components/Collapse.tsx +1 -1
- package/src/components/ColorPicker.tsx +41 -40
- package/src/components/DatePicker.tsx +54 -38
- package/src/components/DateRangePicker.tsx +83 -29
- package/src/components/GroupedSelection.tsx +14 -2
- package/src/components/MonthRangePicker.tsx +76 -30
- package/src/components/Overlay.tsx +1 -1
- package/src/components/Picker.tsx +55 -35
- package/src/components/PickerColumn.tsx +43 -36
- package/src/components/PickerContainer.tsx +13 -1
- package/src/components/PopOverContainer.tsx +31 -17
- package/src/components/PopUp.tsx +84 -57
- package/src/components/Rating.tsx +235 -47
- package/src/components/ResultBox.tsx +14 -2
- package/src/components/ResultList.tsx +36 -6
- package/src/components/Select.tsx +20 -23
- package/src/components/Selection.tsx +21 -3
- package/src/components/Steps.tsx +23 -10
- package/src/components/TableSelection.tsx +1 -44
- package/src/components/Tabs.tsx +65 -54
- package/src/components/TabsTransfer.tsx +78 -9
- package/src/components/TabsTransferPicker.tsx +25 -13
- package/src/components/Timeline.tsx +31 -0
- package/src/components/TimelineItem.tsx +107 -0
- package/src/components/Transfer.tsx +11 -8
- package/src/components/TransferDropDown.tsx +20 -12
- package/src/components/TransferPicker.tsx +25 -4
- package/src/components/TreeSelection.tsx +7 -1
- package/src/components/calendar/Calendar.tsx +101 -4
- package/src/components/calendar/DaysView.tsx +165 -33
- package/src/components/calendar/MonthsView.tsx +108 -1
- package/src/components/calendar/QuartersView.tsx +3 -2
- package/src/components/calendar/TimeView.tsx +104 -41
- package/src/components/calendar/YearsView.tsx +34 -17
- package/src/components/condition-builder/Field.tsx +1 -3
- package/src/components/condition-builder/Func.tsx +1 -1
- package/src/components/formula/Editor.tsx +16 -11
- package/src/components/formula/FuncList.tsx +3 -1
- package/src/components/formula/Picker.tsx +2 -1
- package/src/components/icons.tsx +4 -0
- package/src/components/index.tsx +2 -0
- package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
- package/src/components/virtual-list/index.tsx +4 -6
- package/src/factory.tsx +6 -0
- package/src/icons/star.svg +12 -0
- package/src/icons/tree-down.svg +5 -0
- package/src/index.tsx +1 -0
- package/src/locale/de-DE.ts +17 -2
- package/src/locale/en-US.ts +17 -2
- package/src/locale/zh-CN.ts +16 -1
- package/src/renderers/Avatar.tsx +83 -74
- package/src/renderers/CRUD.tsx +1 -3
- package/src/renderers/Card.tsx +10 -6
- package/src/renderers/Custom.tsx +6 -3
- package/src/renderers/DropDownButton.tsx +69 -35
- package/src/renderers/Each.tsx +4 -4
- package/src/renderers/Flex.tsx +3 -7
- package/src/renderers/Form/ChartRadios.tsx +2 -7
- package/src/renderers/Form/Checkboxes.tsx +1 -1
- package/src/renderers/Form/CityDB.ts +526 -2
- package/src/renderers/Form/DiffEditor.tsx +2 -3
- package/src/renderers/Form/InputCity.tsx +23 -3
- package/src/renderers/Form/InputColor.tsx +21 -2
- package/src/renderers/Form/InputDate.tsx +48 -20
- package/src/renderers/Form/InputDateRange.tsx +9 -2
- package/src/renderers/Form/InputFormula.tsx +9 -4
- package/src/renderers/Form/InputImage.tsx +9 -4
- package/src/renderers/Form/InputMonthRange.tsx +0 -1
- package/src/renderers/Form/InputQuarterRange.tsx +0 -1
- package/src/renderers/Form/InputRating.tsx +66 -3
- package/src/renderers/Form/InputYearRange.tsx +0 -1
- package/src/renderers/Form/Item.tsx +29 -8
- package/src/renderers/Form/NestedSelect.tsx +32 -4
- package/src/renderers/Form/Select.tsx +15 -3
- package/src/renderers/Form/TabsTransfer.tsx +28 -38
- package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
- package/src/renderers/Form/Transfer.tsx +75 -24
- package/src/renderers/Form/TransferPicker.tsx +6 -38
- package/src/renderers/Form/TreeSelect.tsx +18 -16
- package/src/renderers/Form/index.tsx +2 -1
- package/src/renderers/IFrame.tsx +0 -2
- package/src/renderers/Json.tsx +5 -0
- package/src/renderers/Nav.tsx +4 -1
- package/src/renderers/Remark.tsx +68 -18
- package/src/renderers/Steps.tsx +11 -13
- package/src/renderers/Table/TableRow.tsx +3 -1
- package/src/renderers/Table/index.tsx +7 -1
- package/src/renderers/Tabs.tsx +6 -2
- package/src/renderers/Timeline.tsx +141 -0
- package/src/renderers/Video.tsx +4 -20
- package/src/schemaExtend.ts +22 -10
- package/src/store/combo.ts +1 -3
- package/src/store/formItem.ts +2 -2
- package/src/store/table.ts +2 -1
- package/src/utils/RootClose.ts +5 -1
- package/src/utils/helper.ts +6 -16
package/src/components/Steps.tsx
CHANGED
@@ -2,7 +2,7 @@ import React from 'react';
|
|
2
2
|
import {themeable, ThemeProps} from '../theme';
|
3
3
|
import {Icon} from './icons';
|
4
4
|
import {BaseSchema} from '../Schema';
|
5
|
-
import {
|
5
|
+
import {isMobile} from '../utils/helper';
|
6
6
|
|
7
7
|
export enum StepStatus {
|
8
8
|
wait = 'wait',
|
@@ -63,7 +63,7 @@ export interface StepsSchema extends BaseSchema {
|
|
63
63
|
*/
|
64
64
|
name?: string;
|
65
65
|
|
66
|
-
status: StepStatus
|
66
|
+
status: StepStatus;
|
67
67
|
|
68
68
|
/**
|
69
69
|
* 展示模式
|
@@ -75,9 +75,11 @@ export interface StepsProps extends ThemeProps {
|
|
75
75
|
steps: StepSchema[];
|
76
76
|
className: string;
|
77
77
|
current: number;
|
78
|
-
status?:
|
79
|
-
|
80
|
-
|
78
|
+
status?:
|
79
|
+
| StepStatus
|
80
|
+
| {
|
81
|
+
[propName: string]: StepStatus;
|
82
|
+
};
|
81
83
|
mode?: 'horizontal' | 'vertical';
|
82
84
|
useMobileUI?: boolean;
|
83
85
|
}
|
@@ -127,7 +129,14 @@ export function Steps(props: StepsProps) {
|
|
127
129
|
|
128
130
|
const mobileUI = useMobileUI && isMobile();
|
129
131
|
return (
|
130
|
-
<ul
|
132
|
+
<ul
|
133
|
+
className={cx(
|
134
|
+
'Steps',
|
135
|
+
`Steps--${mode}`,
|
136
|
+
mobileUI ? 'Steps-mobile' : '',
|
137
|
+
className
|
138
|
+
)}
|
139
|
+
>
|
131
140
|
{stepsRow.map((step, i) => {
|
132
141
|
const {stepStatus, icon} = getStepStatus(step, i);
|
133
142
|
|
@@ -137,8 +146,12 @@ export function Steps(props: StepsProps) {
|
|
137
146
|
className={cx('StepsItem', `is-${stepStatus}`, step.className)}
|
138
147
|
>
|
139
148
|
<div className={cx('StepsItem-container')}>
|
140
|
-
<div
|
141
|
-
|
149
|
+
<div
|
150
|
+
className={cx(
|
151
|
+
'StepsItem-containerIcon',
|
152
|
+
i < current && 'is-success'
|
153
|
+
)}
|
154
|
+
>
|
142
155
|
<span className={cx('StepsItem-icon')}>
|
143
156
|
{icon ? <Icon icon={icon} className="icon" /> : i + 1}
|
144
157
|
</span>
|
@@ -166,7 +179,7 @@ export function Steps(props: StepsProps) {
|
|
166
179
|
);
|
167
180
|
})}
|
168
181
|
</ul>
|
169
|
-
)
|
182
|
+
);
|
170
183
|
}
|
171
184
|
|
172
|
-
export default themeable(Steps);
|
185
|
+
export default themeable(Steps);
|
@@ -153,50 +153,7 @@ export class TableSelection extends BaseSelection<TableSelectionProps> {
|
|
153
153
|
}
|
154
154
|
|
155
155
|
render() {
|
156
|
-
const {
|
157
|
-
value,
|
158
|
-
options,
|
159
|
-
className,
|
160
|
-
labelClassName,
|
161
|
-
disabled,
|
162
|
-
classnames: cx,
|
163
|
-
option2value,
|
164
|
-
itemClassName,
|
165
|
-
itemRender,
|
166
|
-
multiple
|
167
|
-
} = this.props;
|
168
|
-
|
169
|
-
let valueArray = BaseSelection.value2array(value, options, option2value);
|
170
|
-
let body: Array<React.ReactNode> = [];
|
171
|
-
|
172
|
-
if (Array.isArray(options) && options.length) {
|
173
|
-
body = options.map((option, key) => (
|
174
|
-
<div
|
175
|
-
key={key}
|
176
|
-
className={cx(
|
177
|
-
'TableSelection-item',
|
178
|
-
itemClassName,
|
179
|
-
option.className,
|
180
|
-
disabled || option.disabled ? 'is-disabled' : ''
|
181
|
-
)}
|
182
|
-
onClick={() => this.toggleOption(option)}
|
183
|
-
>
|
184
|
-
<div className={cx('TableSelection-itemLabel')}>
|
185
|
-
{itemRender(option)}
|
186
|
-
</div>
|
187
|
-
|
188
|
-
{multiple ? (
|
189
|
-
<Checkbox
|
190
|
-
size="sm"
|
191
|
-
checked={!!~valueArray.indexOf(option)}
|
192
|
-
disabled={disabled || option.disabled}
|
193
|
-
labelClassName={labelClassName}
|
194
|
-
description={option.description}
|
195
|
-
/>
|
196
|
-
) : null}
|
197
|
-
</div>
|
198
|
-
));
|
199
|
-
}
|
156
|
+
const {className, classnames: cx} = this.props;
|
200
157
|
|
201
158
|
return (
|
202
159
|
<div className={cx('TableSelection', className)}>
|
package/src/components/Tabs.tsx
CHANGED
@@ -96,7 +96,7 @@ export interface TabsProps extends ThemeProps {
|
|
96
96
|
tabs?: Array<TabProps>;
|
97
97
|
tabRender?: (tab: TabProps, props?: TabsProps) => JSX.Element;
|
98
98
|
toolbar?: React.ReactNode;
|
99
|
-
scrollable?: boolean // 是否支持溢出滚动
|
99
|
+
scrollable?: boolean; // 是否支持溢出滚动
|
100
100
|
}
|
101
101
|
|
102
102
|
export class Tabs extends React.Component<TabsProps, any> {
|
@@ -107,23 +107,25 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
107
107
|
|
108
108
|
static Tab = Tab;
|
109
109
|
navMain = React.createRef<HTMLDivElement>();
|
110
|
-
scroll:boolean = false;
|
110
|
+
scroll: boolean = false;
|
111
111
|
|
112
112
|
checkArrowStatus = debounce(
|
113
113
|
() => {
|
114
|
-
const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
}
|
114
|
+
const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current || {
|
115
|
+
scrollLeft: 0,
|
116
|
+
scrollWidth: 0,
|
117
|
+
clientWidth: 0
|
118
|
+
};
|
120
119
|
const {arrowRightDisabled, arrowLeftDisabled} = this.state;
|
121
120
|
if (scrollLeft === 0 && !arrowLeftDisabled) {
|
122
121
|
this.setState({
|
123
122
|
arrowRightDisabled: false,
|
124
123
|
arrowLeftDisabled: true
|
125
124
|
});
|
126
|
-
} else if (
|
125
|
+
} else if (
|
126
|
+
scrollWidth === scrollLeft + clientWidth &&
|
127
|
+
!arrowRightDisabled
|
128
|
+
) {
|
127
129
|
this.setState({
|
128
130
|
arrowRightDisabled: true,
|
129
131
|
arrowLeftDisabled: false
|
@@ -132,7 +134,10 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
132
134
|
this.setState({
|
133
135
|
arrowLeftDisabled: false
|
134
136
|
});
|
135
|
-
} else if (
|
137
|
+
} else if (
|
138
|
+
scrollWidth !== scrollLeft + clientWidth &&
|
139
|
+
arrowRightDisabled
|
140
|
+
) {
|
136
141
|
this.setState({
|
137
142
|
arrowRightDisabled: false
|
138
143
|
});
|
@@ -143,21 +148,23 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
143
148
|
trailing: true,
|
144
149
|
leading: false
|
145
150
|
}
|
146
|
-
)
|
151
|
+
);
|
147
152
|
|
148
153
|
constructor(props: TabsProps) {
|
149
154
|
super(props);
|
150
155
|
this.state = {
|
151
156
|
isOverflow: false,
|
152
157
|
arrowLeftDisabled: false,
|
153
|
-
arrowRightDisabled: false
|
158
|
+
arrowRightDisabled: false
|
154
159
|
};
|
155
160
|
}
|
156
161
|
|
157
162
|
componentDidMount() {
|
158
163
|
this.computedWidth();
|
159
164
|
if (this.navMain) {
|
160
|
-
this.navMain.current?.addEventListener('wheel', this.handleWheel, {
|
165
|
+
this.navMain.current?.addEventListener('wheel', this.handleWheel, {
|
166
|
+
passive: false
|
167
|
+
});
|
161
168
|
this.checkArrowStatus();
|
162
169
|
}
|
163
170
|
}
|
@@ -207,7 +214,9 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
207
214
|
}
|
208
215
|
const {activeKey, children} = this.props;
|
209
216
|
const currentKey = key !== undefined ? key : activeKey;
|
210
|
-
const currentIndex = (children as any[])?.findIndex(
|
217
|
+
const currentIndex = (children as any[])?.findIndex(
|
218
|
+
(item: any) => item.props.eventKey === currentKey
|
219
|
+
);
|
211
220
|
const li = this.navMain.current?.children[0]?.children || [];
|
212
221
|
const currentLi = li[currentIndex] as HTMLElement;
|
213
222
|
const liOffsetLeft = currentLi?.offsetLeft - 20;
|
@@ -241,12 +250,11 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
241
250
|
}
|
242
251
|
|
243
252
|
handleArrow(type: 'left' | 'right') {
|
244
|
-
const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
}
|
253
|
+
const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current || {
|
254
|
+
scrollLeft: 0,
|
255
|
+
scrollWidth: 0,
|
256
|
+
clientWidth: 0
|
257
|
+
};
|
250
258
|
if (type === 'left' && scrollLeft > 0) {
|
251
259
|
this.navMain.current?.scrollTo({
|
252
260
|
left: 0,
|
@@ -369,7 +377,7 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
369
377
|
}
|
370
378
|
|
371
379
|
renderArrow(type: 'left' | 'right') {
|
372
|
-
const {mode: dMode, tabsMode
|
380
|
+
const {mode: dMode, tabsMode} = this.props;
|
373
381
|
const mode = tabsMode || dMode;
|
374
382
|
if (mode === 'vertical') {
|
375
383
|
return;
|
@@ -377,17 +385,18 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
377
385
|
const {classnames: cx} = this.props;
|
378
386
|
const {isOverflow, arrowLeftDisabled, arrowRightDisabled} = this.state;
|
379
387
|
const disabled = type === 'left' ? arrowLeftDisabled : arrowRightDisabled;
|
380
|
-
return (
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
388
|
+
return isOverflow ? (
|
389
|
+
<div
|
390
|
+
onClick={() => this.handleArrow(type)}
|
391
|
+
className={cx(
|
392
|
+
'Tabs-linksContainer-arrow',
|
393
|
+
'Tabs-linksContainer-arrow--' + type,
|
394
|
+
disabled && 'Tabs-linksContainer-arrow--disabled'
|
395
|
+
)}
|
396
|
+
>
|
397
|
+
<i className={'iconfont icon-arrow-' + type} />
|
398
|
+
</div>
|
399
|
+
) : null;
|
391
400
|
}
|
392
401
|
|
393
402
|
render() {
|
@@ -421,28 +430,30 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
421
430
|
className
|
422
431
|
)}
|
423
432
|
>
|
424
|
-
{
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
</
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
433
|
+
{scrollable && !['vertical', 'chrome'].includes(mode) ? (
|
434
|
+
<div
|
435
|
+
className={cx(
|
436
|
+
'Tabs-linksContainer',
|
437
|
+
isOverflow && 'Tabs-linksContainer--overflow'
|
438
|
+
)}
|
439
|
+
>
|
440
|
+
{this.renderArrow('left')}
|
441
|
+
<div className={cx('Tabs-linksContainer-main')} ref={this.navMain}>
|
442
|
+
<ul className={cx('Tabs-links', linksClassName)} role="tablist">
|
443
|
+
{children.map((tab, index) => this.renderNav(tab, index))}
|
444
|
+
{additionBtns}
|
445
|
+
{toolbar}
|
446
|
+
</ul>
|
447
|
+
</div>
|
448
|
+
{this.renderArrow('right')}
|
449
|
+
</div>
|
450
|
+
) : (
|
451
|
+
<ul className={cx('Tabs-links', linksClassName)} role="tablist">
|
452
|
+
{children.map((tab, index) => this.renderNav(tab, index))}
|
453
|
+
{additionBtns}
|
454
|
+
{toolbar}
|
455
|
+
</ul>
|
456
|
+
)}
|
446
457
|
|
447
458
|
<div className={cx('Tabs-content', contentClassName)}>
|
448
459
|
{children.map((child, index) => {
|
@@ -11,12 +11,22 @@ import Transfer, {TransferProps} from './Transfer';
|
|
11
11
|
import {themeable} from '../theme';
|
12
12
|
import AssociatedCheckboxes from './AssociatedSelection';
|
13
13
|
import {localeable} from '../locale';
|
14
|
+
import {ItemRenderStates} from './Selection';
|
14
15
|
|
15
16
|
export interface TabsTransferProps
|
16
17
|
extends Omit<
|
17
18
|
TransferProps,
|
18
|
-
|
19
|
+
| 'selectMode'
|
20
|
+
| 'columns'
|
21
|
+
| 'selectRender'
|
22
|
+
| 'statistics'
|
23
|
+
| 'optionItemRender'
|
19
24
|
> {
|
25
|
+
optionItemRender?: (
|
26
|
+
option: Option,
|
27
|
+
states: ItemRenderStates,
|
28
|
+
tab: Option
|
29
|
+
) => JSX.Element;
|
20
30
|
cellRender?: (
|
21
31
|
column: {
|
22
32
|
name: string;
|
@@ -30,10 +40,6 @@ export interface TabsTransferProps
|
|
30
40
|
}
|
31
41
|
|
32
42
|
export class TabsTransfer extends React.Component<TabsTransferProps> {
|
33
|
-
static defaultProps = {
|
34
|
-
itemRender: (option: Option) => <span>{option.label}</span>
|
35
|
-
};
|
36
|
-
|
37
43
|
renderSearchResult(searchResult: Options | null) {
|
38
44
|
const {
|
39
45
|
searchResultMode,
|
@@ -44,7 +50,8 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
44
50
|
disabled,
|
45
51
|
onChange,
|
46
52
|
option2value,
|
47
|
-
cellRender
|
53
|
+
cellRender,
|
54
|
+
optionItemRender
|
48
55
|
} = this.props;
|
49
56
|
const options = searchResult || [];
|
50
57
|
const mode = searchResultMode;
|
@@ -70,6 +77,14 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
70
77
|
disabled={disabled}
|
71
78
|
onChange={onChange}
|
72
79
|
option2value={option2value}
|
80
|
+
itemRender={
|
81
|
+
optionItemRender
|
82
|
+
? (item: Option, states: ItemRenderStates) =>
|
83
|
+
optionItemRender(item, states, {
|
84
|
+
panel: 'result'
|
85
|
+
})
|
86
|
+
: undefined
|
87
|
+
}
|
73
88
|
/>
|
74
89
|
) : mode === 'chained' ? (
|
75
90
|
<ChainedCheckboxes
|
@@ -80,6 +95,14 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
80
95
|
disabled={disabled}
|
81
96
|
onChange={onChange}
|
82
97
|
option2value={option2value}
|
98
|
+
itemRender={
|
99
|
+
optionItemRender
|
100
|
+
? (item: Option, states: ItemRenderStates) =>
|
101
|
+
optionItemRender(item, states, {
|
102
|
+
panel: 'result'
|
103
|
+
})
|
104
|
+
: undefined
|
105
|
+
}
|
83
106
|
/>
|
84
107
|
) : (
|
85
108
|
<ListCheckboxes
|
@@ -90,6 +113,14 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
90
113
|
disabled={disabled}
|
91
114
|
onChange={onChange}
|
92
115
|
option2value={option2value}
|
116
|
+
itemRender={
|
117
|
+
optionItemRender
|
118
|
+
? (item: Option, states: ItemRenderStates) =>
|
119
|
+
optionItemRender(item, states, {
|
120
|
+
panel: 'result'
|
121
|
+
})
|
122
|
+
: undefined
|
123
|
+
}
|
93
124
|
/>
|
94
125
|
);
|
95
126
|
}
|
@@ -107,7 +138,8 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
107
138
|
option2value,
|
108
139
|
onDeferLoad,
|
109
140
|
cellRender,
|
110
|
-
translate: __
|
141
|
+
translate: __,
|
142
|
+
optionItemRender
|
111
143
|
} = this.props;
|
112
144
|
|
113
145
|
if (!Array.isArray(options) || !options.length) {
|
@@ -171,6 +203,15 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
171
203
|
onChange={onChange}
|
172
204
|
option2value={option2value}
|
173
205
|
onDeferLoad={onDeferLoad}
|
206
|
+
itemRender={
|
207
|
+
optionItemRender
|
208
|
+
? (item: Option, states: ItemRenderStates) =>
|
209
|
+
optionItemRender(item, states, {
|
210
|
+
panel: 'tab',
|
211
|
+
tag: option
|
212
|
+
})
|
213
|
+
: undefined
|
214
|
+
}
|
174
215
|
/>
|
175
216
|
) : option.selectMode === 'chained' ? (
|
176
217
|
<ChainedCheckboxes
|
@@ -182,6 +223,15 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
182
223
|
option2value={option2value}
|
183
224
|
onDeferLoad={onDeferLoad}
|
184
225
|
defaultSelectedIndex={option.defaultSelectedIndex}
|
226
|
+
itemRender={
|
227
|
+
optionItemRender
|
228
|
+
? (item: Option, states: ItemRenderStates) =>
|
229
|
+
optionItemRender(item, states, {
|
230
|
+
panel: 'tab',
|
231
|
+
tag: option
|
232
|
+
})
|
233
|
+
: undefined
|
234
|
+
}
|
185
235
|
/>
|
186
236
|
) : option.selectMode === 'associated' ? (
|
187
237
|
<AssociatedCheckboxes
|
@@ -195,6 +245,15 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
195
245
|
leftMode={option.leftMode}
|
196
246
|
leftOptions={option.leftOptions}
|
197
247
|
leftDefaultValue={option.leftDefaultValue}
|
248
|
+
itemRender={
|
249
|
+
optionItemRender
|
250
|
+
? (item: Option, states: ItemRenderStates) =>
|
251
|
+
optionItemRender(item, states, {
|
252
|
+
panel: 'tab',
|
253
|
+
tag: option
|
254
|
+
})
|
255
|
+
: undefined
|
256
|
+
}
|
198
257
|
/>
|
199
258
|
) : (
|
200
259
|
<ListCheckboxes
|
@@ -205,6 +264,15 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
205
264
|
onChange={onChange}
|
206
265
|
option2value={option2value}
|
207
266
|
onDeferLoad={onDeferLoad}
|
267
|
+
itemRender={
|
268
|
+
optionItemRender
|
269
|
+
? (item: Option, states: ItemRenderStates) =>
|
270
|
+
optionItemRender(item, states, {
|
271
|
+
panel: 'tab',
|
272
|
+
tag: option
|
273
|
+
})
|
274
|
+
: undefined
|
275
|
+
}
|
208
276
|
/>
|
209
277
|
)}
|
210
278
|
</Tab>
|
@@ -214,12 +282,13 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
214
282
|
}
|
215
283
|
|
216
284
|
render() {
|
217
|
-
const {className, classnames: cx} = this.props;
|
285
|
+
const {className, classnames: cx, optionItemRender, ...reset} = this.props;
|
218
286
|
|
219
287
|
return (
|
220
288
|
<Transfer
|
221
|
-
{...
|
289
|
+
{...reset}
|
222
290
|
statistics={false}
|
291
|
+
classnames={cx}
|
223
292
|
className={cx('TabsTransfer', className)}
|
224
293
|
selectRender={this.renderSelect}
|
225
294
|
/>
|
@@ -5,7 +5,7 @@ import React from 'react';
|
|
5
5
|
import ResultBox from './ResultBox';
|
6
6
|
import {Icon} from './icons';
|
7
7
|
import PickerContainer from './PickerContainer';
|
8
|
-
import {autobind} from '../utils/helper';
|
8
|
+
import {autobind, mapTree} from '../utils/helper';
|
9
9
|
import TabsTransfer, {TabsTransferProps} from './TabsTransfer';
|
10
10
|
|
11
11
|
export interface TabsTransferPickerProps
|
@@ -15,18 +15,12 @@ export interface TabsTransferPickerProps
|
|
15
15
|
}
|
16
16
|
|
17
17
|
export class TransferPicker extends React.Component<TabsTransferPickerProps> {
|
18
|
-
|
19
|
-
handleClose() {
|
20
|
-
this.setState({
|
21
|
-
inputValue: '',
|
22
|
-
searchResult: null
|
23
|
-
});
|
24
|
-
}
|
18
|
+
optionModified = false;
|
25
19
|
|
26
20
|
@autobind
|
27
21
|
handleConfirm(value: any) {
|
28
|
-
this.props.onChange?.(value);
|
29
|
-
this.
|
22
|
+
this.props.onChange?.(value, this.optionModified);
|
23
|
+
this.optionModified = false;
|
30
24
|
}
|
31
25
|
|
32
26
|
render() {
|
@@ -44,12 +38,30 @@ export class TransferPicker extends React.Component<TabsTransferPickerProps> {
|
|
44
38
|
return (
|
45
39
|
<PickerContainer
|
46
40
|
title={__('Select.placeholder')}
|
47
|
-
bodyRender={({onClose, value, onChange}) => {
|
48
|
-
return
|
41
|
+
bodyRender={({onClose, value, onChange, setState, ...states}) => {
|
42
|
+
return (
|
43
|
+
<TabsTransfer
|
44
|
+
{...rest}
|
45
|
+
{...states}
|
46
|
+
value={value}
|
47
|
+
onChange={(value: any, optionModified) => {
|
48
|
+
if (optionModified) {
|
49
|
+
let options = mapTree(rest.options, item => {
|
50
|
+
return (
|
51
|
+
value.find((a: any) => a.value === item.value) || item
|
52
|
+
);
|
53
|
+
});
|
54
|
+
this.optionModified = true;
|
55
|
+
setState({options, value});
|
56
|
+
} else {
|
57
|
+
onChange(value);
|
58
|
+
}
|
59
|
+
}}
|
60
|
+
/>
|
61
|
+
);
|
49
62
|
}}
|
50
63
|
value={value}
|
51
64
|
onConfirm={this.handleConfirm}
|
52
|
-
onCancel={this.handleClose}
|
53
65
|
size={size}
|
54
66
|
>
|
55
67
|
{({onClick, isOpened}) => (
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import {themeable, ThemeProps} from '../theme';
|
3
|
+
import TimelineItem, {TimelineItemProps} from './TimelineItem';
|
4
|
+
|
5
|
+
export interface TimelineProps extends ThemeProps {
|
6
|
+
items: Array<TimelineItemProps>;
|
7
|
+
direction?: 'vertical' | 'horizontal';
|
8
|
+
reverse?: boolean;
|
9
|
+
mode?: 'left' | 'right' | 'alternate';
|
10
|
+
}
|
11
|
+
|
12
|
+
export function Timeline(props: TimelineProps) {
|
13
|
+
const {
|
14
|
+
items,
|
15
|
+
classnames: cx,
|
16
|
+
direction = 'vertical',
|
17
|
+
reverse = false,
|
18
|
+
mode = 'right',
|
19
|
+
} = props;
|
20
|
+
|
21
|
+
const timelineDatasource = items?.slice();
|
22
|
+
|
23
|
+
reverse && timelineDatasource?.reverse();
|
24
|
+
|
25
|
+
return (
|
26
|
+
<div className={cx('Timeline', `Timeline-${direction}`, `Timeline-${mode}`)}>
|
27
|
+
{timelineDatasource?.map((item: TimelineItemProps) => <TimelineItem {...item} />)}
|
28
|
+
</div>)
|
29
|
+
}
|
30
|
+
|
31
|
+
export default themeable(Timeline);
|