amis 1.7.0 → 1.8.0-beta.13
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/lib/Schema.d.ts +10 -2
- package/lib/Schema.js +0 -1
- package/lib/Schema.js.map +2 -2
- package/lib/SchemaRenderer.js +19 -3
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/WithRootStore.d.ts +18 -0
- package/lib/WithStore.js +2 -1
- package/lib/WithStore.js.map +2 -2
- package/lib/actions/CmptAction.js +26 -4
- package/lib/actions/CmptAction.js.map +2 -2
- package/lib/actions/PageAction.d.ts +32 -0
- package/lib/actions/PageAction.js +72 -0
- package/lib/actions/PageAction.js.map +13 -0
- package/lib/actions/index.d.ts +1 -0
- package/lib/actions/index.js +1 -0
- package/lib/actions/index.js.map +2 -2
- package/lib/components/Alert2.js +4 -2
- package/lib/components/Alert2.js.map +2 -2
- package/lib/components/AssociatedSelection.js +9 -2
- package/lib/components/AssociatedSelection.js.map +2 -2
- package/lib/components/Avatar.d.ts +20 -20
- package/lib/components/BarCode.js +1 -1
- package/lib/components/BarCode.js.map +2 -2
- package/lib/components/CalendarMobile.d.ts +84 -84
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/Cascader.d.ts +2 -0
- package/lib/components/Cascader.js +28 -12
- package/lib/components/Cascader.js.map +2 -2
- package/lib/components/Checkbox.d.ts +24 -23
- package/lib/components/Checkbox.js +5 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/CityArea.js +3 -0
- package/lib/components/CityArea.js.map +2 -2
- package/lib/components/Collapse.d.ts +20 -20
- package/lib/components/DatePicker.d.ts +87 -84
- package/lib/components/DatePicker.js +48 -11
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +285 -171
- package/lib/components/DateRangePicker.js +471 -66
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/Drawer.js +1 -1
- package/lib/components/Drawer.js.map +2 -2
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/Modal.js +1 -1
- package/lib/components/Modal.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/Overlay.d.ts +1 -0
- package/lib/components/Overlay.js +4 -3
- package/lib/components/Overlay.js.map +2 -2
- package/lib/components/Progress.d.ts +29 -24
- package/lib/components/Progress.js +52 -21
- package/lib/components/Progress.js.map +2 -2
- package/lib/components/PullRefresh.d.ts +86 -0
- package/lib/components/PullRefresh.js +135 -0
- package/lib/components/PullRefresh.js.map +13 -0
- package/lib/components/Radios.d.ts +22 -22
- package/lib/components/Radios.js +3 -5
- package/lib/components/Radios.js.map +2 -2
- package/lib/components/Range.d.ts +2 -2
- package/lib/components/Range.js +24 -11
- package/lib/components/Range.js.map +2 -2
- package/lib/components/Spinner.d.ts +200 -107
- package/lib/components/Spinner.js +30 -26
- package/lib/components/Spinner.js.map +2 -2
- package/lib/components/Steps.d.ts +6 -0
- package/lib/components/Steps.js +13 -9
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/Tabs.d.ts +27 -23
- package/lib/components/Tabs.js +37 -22
- package/lib/components/Tabs.js.map +2 -2
- package/lib/components/Tooltip.d.ts +4 -0
- package/lib/components/Tooltip.js +6 -4
- package/lib/components/Tooltip.js.map +2 -2
- package/lib/components/TooltipWrapper.d.ts +87 -24
- package/lib/components/TooltipWrapper.js +40 -8
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/Transfer.d.ts +84 -84
- package/lib/components/TransferDropDown.d.ts +84 -84
- package/lib/components/Tree.d.ts +87 -85
- package/lib/components/Tree.js +13 -5
- package/lib/components/Tree.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +84 -84
- package/lib/components/calendar/Calendar.js +3 -12
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/TimeView.d.ts +1 -0
- package/lib/components/calendar/TimeView.js +7 -0
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/calendar/YearsView.js +3 -3
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/components/condition-builder/Expression.d.ts +1 -0
- package/lib/components/condition-builder/Expression.js +4 -4
- package/lib/components/condition-builder/Expression.js.map +2 -2
- package/lib/components/condition-builder/Field.d.ts +1 -0
- package/lib/components/condition-builder/Field.js +3 -2
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Group.d.ts +1 -0
- package/lib/components/condition-builder/Group.js +2 -2
- package/lib/components/condition-builder/Group.js.map +2 -2
- package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
- package/lib/components/condition-builder/GroupOrItem.js +2 -2
- package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
- package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
- package/lib/components/condition-builder/InputSwitch.js +2 -2
- package/lib/components/condition-builder/InputSwitch.js.map +2 -2
- package/lib/components/condition-builder/Item.d.ts +1 -0
- package/lib/components/condition-builder/Item.js +9 -8
- package/lib/components/condition-builder/Item.js.map +2 -2
- package/lib/components/condition-builder/Value.d.ts +1 -0
- package/lib/components/condition-builder/Value.js +5 -5
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/index.d.ts +1 -0
- package/lib/components/condition-builder/index.js +2 -2
- package/lib/components/condition-builder/index.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +90 -86
- package/lib/components/formula/Editor.js +26 -4
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.d.ts +5 -0
- package/lib/components/formula/Picker.js +21 -4
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/icons.js +2 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/factory.d.ts +5 -0
- package/lib/factory.js +24 -3
- package/lib/factory.js.map +2 -2
- package/lib/icons/trash.js +10 -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 +18 -1
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +18 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +18 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +3 -1
- package/lib/renderers/Action.js +23 -5
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/App.d.ts +1 -0
- package/lib/renderers/App.js +3 -0
- package/lib/renderers/App.js.map +2 -2
- package/lib/renderers/ButtonGroup.d.ts +2 -2
- package/lib/renderers/ButtonGroup.js.map +1 -1
- package/lib/renderers/CRUD.d.ts +8 -0
- package/lib/renderers/CRUD.js +12 -5
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Carousel.d.ts +1 -0
- package/lib/renderers/Carousel.js +13 -1
- package/lib/renderers/Carousel.js.map +2 -2
- package/lib/renderers/Chart.d.ts +1 -0
- package/lib/renderers/Chart.js +3 -0
- package/lib/renderers/Chart.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +5 -0
- package/lib/renderers/Dialog.js +7 -3
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.d.ts +1 -0
- package/lib/renderers/Drawer.js +6 -1
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +2 -0
- package/lib/renderers/DropDownButton.js +13 -4
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/Checkbox.d.ts +5 -2
- package/lib/renderers/Form/Checkbox.js +2 -2
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.d.ts +7 -2
- package/lib/renderers/Form/Checkboxes.js +101 -12
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/Combo.d.ts +6 -4
- package/lib/renderers/Form/Combo.js +132 -45
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +3 -2
- package/lib/renderers/Form/Editor.d.ts +2 -2
- package/lib/renderers/Form/InputCity.d.ts +87 -84
- package/lib/renderers/Form/InputCity.js +48 -3
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +10 -3
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.d.ts +5 -0
- package/lib/renderers/Form/InputDateRange.js +12 -3
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +19 -8
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +4 -0
- package/lib/renderers/Form/InputFormula.js +2 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +18 -7
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputMonthRange.js +5 -1
- package/lib/renderers/Form/InputMonthRange.js.map +2 -2
- package/lib/renderers/Form/InputRange.d.ts +2 -2
- package/lib/renderers/Form/InputRange.js +13 -14
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/InputTable.js +4 -2
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Form/InputText.d.ts +1 -1
- package/lib/renderers/Form/InputText.js +8 -10
- package/lib/renderers/Form/InputText.js.map +2 -2
- package/lib/renderers/Form/InputTree.d.ts +5 -0
- package/lib/renderers/Form/InputTree.js +51 -2
- package/lib/renderers/Form/InputTree.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +79 -76
- package/lib/renderers/Form/Item.js +3 -1
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.d.ts +4 -0
- package/lib/renderers/Form/NestedSelect.js +14 -5
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Options.js +61 -27
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.js +4 -2
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/Textarea.js +2 -1
- package/lib/renderers/Form/Textarea.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.d.ts +11 -2
- package/lib/renderers/Form/TreeSelect.js +56 -10
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.d.ts +3 -0
- package/lib/renderers/Form/index.js +53 -16
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.d.ts +10 -0
- package/lib/renderers/Form/wrapControl.js +41 -19
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Nav.d.ts +82 -67
- package/lib/renderers/Nav.js +49 -13
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.d.ts +21 -0
- package/lib/renderers/Page.js +56 -17
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Progress.d.ts +4 -7
- package/lib/renderers/Progress.js +3 -3
- package/lib/renderers/Progress.js.map +2 -2
- package/lib/renderers/Service.d.ts +3 -0
- package/lib/renderers/Service.js +55 -20
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Spinner.d.ts +58 -2
- package/lib/renderers/Spinner.js +8 -1
- package/lib/renderers/Spinner.js.map +2 -2
- package/lib/renderers/Steps.d.ts +8 -0
- package/lib/renderers/Steps.js +2 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
- package/lib/renderers/Table/ColumnToggler.js +11 -6
- package/lib/renderers/Table/ColumnToggler.js.map +2 -2
- package/lib/renderers/Table/TableCell.js +27 -1
- package/lib/renderers/Table/TableCell.js.map +2 -2
- package/lib/renderers/Table/TableRow.js +1 -1
- package/lib/renderers/Table/TableRow.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +2 -0
- package/lib/renderers/Table/index.js +23 -10
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +14 -2
- package/lib/renderers/Tabs.js +24 -8
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/TooltipWrapper.d.ts +133 -0
- package/lib/renderers/TooltipWrapper.js +70 -0
- package/lib/renderers/TooltipWrapper.js.map +13 -0
- package/lib/renderers/Wizard.d.ts +7 -3
- package/lib/renderers/Wizard.js +269 -152
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/store/combo.d.ts +2 -2
- package/lib/store/crud.d.ts +1 -0
- package/lib/store/crud.js +55 -19
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +1 -1
- package/lib/store/form.js +5 -1
- package/lib/store/form.js.map +2 -2
- package/lib/store/formItem.js +1 -1
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/index.d.ts +5 -0
- package/lib/store/index.js +14 -0
- package/lib/store/index.js.map +2 -2
- package/lib/store/table.d.ts +2 -2
- package/lib/store/table.js +4 -4
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +965 -210
- package/lib/themes/ang.css +955 -175
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +1080 -325
- package/lib/themes/antd.css +956 -176
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1048 -293
- package/lib/themes/cxd.css +961 -180
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +965 -210
- package/lib/themes/dark.css +955 -175
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +1048 -293
- package/lib/themes/default.css +961 -180
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +3 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/ColorScale.d.ts +19 -0
- package/lib/utils/ColorScale.js +104 -0
- package/lib/utils/ColorScale.js.map +13 -0
- package/lib/utils/api.js +20 -4
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/columnsSplit.d.ts +1 -0
- package/lib/utils/columnsSplit.js +40 -0
- package/lib/utils/columnsSplit.js.map +13 -0
- package/lib/utils/debug.d.ts +1 -1
- package/lib/utils/debug.js +16 -22
- package/lib/utils/debug.js.map +2 -2
- package/lib/utils/dom.d.ts +1 -1
- package/lib/utils/dom.js +7 -5
- package/lib/utils/dom.js.map +2 -2
- package/lib/utils/position.js +0 -1
- package/lib/utils/position.js.map +2 -2
- package/lib/utils/scrollPosition.d.ts +6 -0
- package/lib/utils/scrollPosition.js +31 -0
- package/lib/utils/scrollPosition.js.map +13 -0
- package/package.json +3 -2
- package/schema.json +30213 -29222
- package/scss/_properties.scss +67 -25
- package/scss/components/_alert.scss +1 -1
- package/scss/components/_barcode.scss +1 -1
- package/scss/components/_button-group.scss +15 -0
- package/scss/components/_carousel.scss +1 -0
- package/scss/components/_column-toggler.scss +21 -11
- package/scss/components/_debug.scss +3 -3
- package/scss/components/_formula.scss +19 -1
- package/scss/components/_nav.scss +51 -6
- package/scss/components/_progress.scss +7 -14
- package/scss/components/_pull-refresh.scss +25 -0
- package/scss/components/_spinner.scss +134 -56
- package/scss/components/_steps.scss +199 -8
- package/scss/components/_tabs.scss +145 -13
- package/scss/components/_tooltip.scss +76 -9
- package/scss/components/form/_checks.scss +125 -2
- package/scss/components/form/_combo.scss +13 -1
- package/scss/components/form/_date-range.scss +27 -2
- package/scss/components/form/_date.scss +25 -0
- package/scss/components/form/_editor.scss +2 -1
- package/scss/components/form/_file.scss +4 -0
- package/scss/components/form/_form.scss +31 -8
- package/scss/components/form/_number.scss +5 -2
- package/scss/components/form/_select.scss +0 -1
- package/scss/components/form/_textarea.scss +1 -23
- package/scss/components/form/_transfer.scss +3 -2
- package/scss/themes/_antd-variables.scss +1 -1
- package/scss/themes/_common.scss +1 -0
- package/scss/themes/_cxd-variables.scss +6 -5
- package/sdk/ang-ie11.css +1059 -198
- package/sdk/ang.css +1050 -164
- package/sdk/antd-ie11.css +1167 -306
- package/sdk/antd.css +1051 -165
- package/sdk/barcode.js +51 -51
- 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 +1145 -284
- package/sdk/cxd.css +1056 -169
- package/sdk/dark-ie11.css +1056 -195
- package/sdk/dark.css +1050 -164
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +18 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +17 -17
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +1145 -284
- package/sdk/sdk.css +1056 -169
- package/sdk/sdk.js +1321 -1273
- 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 +15 -2
- package/src/SchemaRenderer.tsx +32 -14
- package/src/WithStore.tsx +3 -1
- package/src/actions/CmptAction.ts +28 -0
- package/src/actions/PageAction.ts +62 -0
- package/src/actions/index.ts +1 -0
- package/src/components/Alert2.tsx +9 -3
- package/src/components/AssociatedSelection.tsx +9 -3
- package/src/components/BarCode.tsx +2 -2
- package/src/components/Cascader.tsx +37 -11
- package/src/components/Checkbox.tsx +11 -5
- package/src/components/CityArea.tsx +3 -0
- package/src/components/DatePicker.tsx +68 -22
- package/src/components/DateRangePicker.tsx +551 -88
- package/src/components/Drawer.tsx +1 -0
- package/src/components/Modal.tsx +1 -0
- package/src/components/Overlay.tsx +6 -3
- package/src/components/Progress.tsx +64 -33
- package/src/components/PullRefresh.tsx +197 -0
- package/src/components/Radios.tsx +6 -17
- package/src/components/Range.tsx +26 -12
- package/src/components/Spinner.tsx +77 -42
- package/src/components/Steps.tsx +28 -27
- package/src/components/Tabs.tsx +51 -21
- package/src/components/Tooltip.tsx +12 -3
- package/src/components/TooltipWrapper.tsx +140 -33
- package/src/components/Tree.tsx +19 -5
- package/src/components/calendar/Calendar.tsx +4 -13
- package/src/components/calendar/TimeView.tsx +12 -0
- package/src/components/calendar/YearsView.tsx +3 -4
- package/src/components/condition-builder/Expression.tsx +6 -1
- package/src/components/condition-builder/Field.tsx +5 -1
- package/src/components/condition-builder/Group.tsx +4 -1
- package/src/components/condition-builder/GroupOrItem.tsx +4 -1
- package/src/components/condition-builder/InputSwitch.tsx +4 -1
- package/src/components/condition-builder/Item.tsx +28 -4
- package/src/components/condition-builder/Value.tsx +7 -1
- package/src/components/condition-builder/index.tsx +4 -2
- package/src/components/formula/Editor.tsx +46 -10
- package/src/components/formula/Picker.tsx +32 -1
- package/src/components/icons.tsx +2 -0
- package/src/factory.tsx +31 -3
- package/src/icons/trash.svg +8 -0
- package/src/index.tsx +1 -0
- package/src/locale/de-DE.ts +18 -1
- package/src/locale/en-US.ts +18 -1
- package/src/locale/zh-CN.ts +18 -1
- package/src/renderers/Action.tsx +24 -2
- package/src/renderers/App.tsx +4 -0
- package/src/renderers/ButtonGroup.tsx +2 -2
- package/src/renderers/CRUD.tsx +23 -5
- package/src/renderers/Carousel.tsx +8 -0
- package/src/renderers/Chart.tsx +4 -0
- package/src/renderers/Dialog.tsx +21 -3
- package/src/renderers/Drawer.tsx +14 -2
- package/src/renderers/DropDownButton.tsx +14 -3
- package/src/renderers/Form/Checkbox.tsx +11 -2
- package/src/renderers/Form/Checkboxes.tsx +106 -23
- package/src/renderers/Form/Combo.tsx +179 -66
- package/src/renderers/Form/InputCity.tsx +46 -5
- package/src/renderers/Form/InputDate.tsx +18 -4
- package/src/renderers/Form/InputDateRange.tsx +27 -3
- package/src/renderers/Form/InputFile.tsx +23 -7
- package/src/renderers/Form/InputFormula.tsx +7 -0
- package/src/renderers/Form/InputImage.tsx +22 -6
- package/src/renderers/Form/InputMonthRange.tsx +7 -1
- package/src/renderers/Form/InputRange.tsx +20 -22
- package/src/renderers/Form/InputTable.tsx +6 -2
- package/src/renderers/Form/InputText.tsx +14 -4
- package/src/renderers/Form/InputTree.tsx +40 -2
- package/src/renderers/Form/Item.tsx +7 -0
- package/src/renderers/Form/NestedSelect.tsx +23 -4
- package/src/renderers/Form/Options.tsx +26 -7
- package/src/renderers/Form/Select.tsx +5 -3
- package/src/renderers/Form/Textarea.tsx +3 -1
- package/src/renderers/Form/TreeSelect.tsx +47 -9
- package/src/renderers/Form/index.tsx +56 -25
- package/src/renderers/Form/wrapControl.tsx +23 -12
- package/src/renderers/Nav.tsx +231 -33
- package/src/renderers/Page.tsx +97 -35
- package/src/renderers/Progress.tsx +9 -11
- package/src/renderers/Service.tsx +66 -27
- package/src/renderers/Spinner.tsx +85 -3
- package/src/renderers/Steps.tsx +14 -0
- package/src/renderers/Table/ColumnToggler.tsx +36 -11
- package/src/renderers/Table/TableCell.tsx +39 -1
- package/src/renderers/Table/TableRow.tsx +1 -1
- package/src/renderers/Table/index.tsx +43 -19
- package/src/renderers/Tabs.tsx +90 -31
- package/src/renderers/TooltipWrapper.tsx +262 -0
- package/src/renderers/Wizard.tsx +169 -93
- package/src/store/crud.ts +50 -5
- package/src/store/form.ts +8 -3
- package/src/store/formItem.ts +1 -2
- package/src/store/index.ts +20 -0
- package/src/store/table.ts +4 -4
- package/src/types.ts +8 -1
- package/src/utils/ColorScale.ts +138 -0
- package/src/utils/api.ts +26 -4
- package/src/utils/columnsSplit.tsx +57 -0
- package/src/utils/debug.tsx +17 -24
- package/src/utils/dom.tsx +7 -6
- package/src/utils/position.ts +0 -1
- package/src/utils/scrollPosition.ts +29 -0
package/lib/components/Modal.js
CHANGED
@@ -94,7 +94,7 @@ var Modal = /** @class */ (function (_super) {
|
|
94
94
|
Modal.prototype.render = function () {
|
95
95
|
var _this = this;
|
96
96
|
var _a = this.props, className = _a.className, contentClassName = _a.contentClassName, children = _a.children, container = _a.container, show = _a.show, size = _a.size, overlay = _a.overlay, cx = _a.classnames;
|
97
|
-
return (react_1.default.createElement(Transition_1.default, { mountOnEnter: true, unmountOnExit: true, in: show, timeout: 500, onEnter: this.handleEnter, onExited: this.handleExited, onEntered: this.handleEntered }, function (status) {
|
97
|
+
return (react_1.default.createElement(Transition_1.default, { mountOnEnter: true, unmountOnExit: true, appear: true, in: show, timeout: 500, onEnter: this.handleEnter, onExited: this.handleExited, onEntered: this.handleEntered }, function (status) {
|
98
98
|
var _a;
|
99
99
|
return (react_1.default.createElement(Portal_1.default, { container: container },
|
100
100
|
react_1.default.createElement("div", { ref: _this.modalRef, role: "dialog", className: cx("amis-dialog-widget Modal", (_a = {},
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/Modal.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";AAAA;;;;GAIG;;;;;AAEH,6DAA0B;AAC1B,2FAK2C;AAC3C,8EAA2C;AAC3C,+CAA8D;AAC9D,kCAA6D;AAC7D,iCAA6B;AAC7B,oCAAkD;AAClD,0CAA4D;AAiB5D,IAAM,UAAU;IAGd,GAAC,qBAAQ,IAAG,IAAI;IAChB,GAAC,oBAAO,IAAG,IAAI;IACf,GAAC,oBAAO,IAAG,KAAK;OACjB,CAAC;AACF;IAA2B,sCAAuC;IAAlE;QAAA,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file Modal\n * @description\n * @author fex\n */\n\nimport React from 'react';\nimport Transition, {\n ENTERED,\n ENTERING,\n EXITING,\n EXITED\n} from 'react-transition-group/Transition';\nimport Portal from 'react-overlays/Portal';\nimport {current, addModal, removeModal} from './ModalManager';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {Icon} from './icons';\nimport {LocaleProps, localeable} from '../locale';\nimport {autobind, getScrollbarWidth} from '../utils/helper';\n\nexport interface ModalProps extends ThemeProps, LocaleProps {\n className?: string;\n contentClassName?: string;\n size?: any;\n overlay?: boolean;\n onHide: (e: any) => void;\n closeOnEsc?: boolean;\n closeOnOutside?: boolean;\n container?: any;\n show?: boolean;\n disabled?: boolean;\n onExited?: () => void;\n onEntered?: () => void;\n}\nexport interface ModalState {}\nconst fadeStyles: {\n [propName: string]: string;\n} = {\n [ENTERING]: 'in',\n [ENTERED]: 'in',\n [EXITING]: 'out'\n};\nexport class Modal extends React.Component<ModalProps, ModalState> {\n static defaultProps = {\n container: document.body,\n size: '',\n overlay: true\n };\n\n isRootClosed = false;\n modalDom: HTMLElement;\n\n static Header = themeable(\n localeable(\n ({\n classnames: cx,\n className,\n showCloseButton,\n onClose,\n children,\n classPrefix,\n translate: __,\n ...rest\n }: ThemeProps &\n LocaleProps & {\n className?: string;\n showCloseButton?: boolean;\n onClose?: () => void;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-header', className)}>\n {showCloseButton !== false ? (\n <a\n data-tooltip={__('Dialog.close')}\n data-position=\"left\"\n onClick={onClose}\n className={cx('Modal-close')}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n {children}\n </div>\n )\n )\n );\n\n static Title = themeable(\n ({\n classnames: cx,\n className,\n children,\n classPrefix,\n ...rest\n }: ThemeProps & {\n className?: string;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-title', className)}>\n {children}\n </div>\n )\n );\n\n static Body = themeable(\n ({\n classnames: cx,\n className,\n children,\n classPrefix,\n ...rest\n }: ThemeProps & {\n className?: string;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-body', className)}>\n {children}\n </div>\n )\n );\n\n static Footer = themeable(\n ({\n classnames: cx,\n className,\n children,\n classPrefix,\n ...rest\n }: ThemeProps & {\n className?: string;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-footer', className)}>\n {children}\n </div>\n )\n );\n\n componentDidMount() {\n if (this.props.show) {\n this.handleEnter();\n this.handleEntered();\n }\n\n document.body.addEventListener('click', this.handleRootClickCapture, true);\n document.body.addEventListener('click', this.handleRootClick);\n }\n\n componentWillUnmount() {\n if (this.props.show) {\n this.handleExited();\n }\n\n document.body.removeEventListener('click', this.handleRootClick);\n document.body.removeEventListener(\n 'click',\n this.handleRootClickCapture,\n true\n );\n }\n\n handleEnter = () => {\n document.body.classList.add(`is-modalOpened`);\n if (\n window.innerWidth - document.documentElement.clientWidth > 0 ||\n document.body.scrollHeight > document.body.clientHeight\n ) {\n const scrollbarWidth = getScrollbarWidth();\n document.body.style.width = `calc(100% - ${scrollbarWidth}px)`;\n }\n };\n\n handleEntered = () => {\n const onEntered = this.props.onEntered;\n\n onEntered && onEntered();\n };\n handleExited = () => {\n const onExited = this.props.onExited;\n onExited && onExited();\n setTimeout(() => {\n if (!document.querySelector('.amis-dialog-widget')) {\n document.body.classList.remove(`is-modalOpened`);\n document.body.style.width = '';\n }\n }, 200);\n };\n\n modalRef = (ref: any) => {\n this.modalDom = ref;\n const {classPrefix: ns} = this.props;\n if (ref) {\n addModal(this);\n (ref as HTMLElement).classList.add(`${ns}Modal--${current()}th`);\n } else {\n removeModal(this);\n }\n };\n\n @autobind\n handleRootClickCapture(e: MouseEvent) {\n const target = e.target as HTMLElement;\n const {closeOnOutside, classPrefix: ns} = this.props;\n const isLeftButton =\n (e.button === 1 && window.event !== null) || e.button === 0;\n\n this.isRootClosed = !!(\n isLeftButton &&\n closeOnOutside &&\n target &&\n this.modalDom &&\n ((!this.modalDom.contains(target) && !target.closest('[role=dialog]')) ||\n (target.matches(`.${ns}Modal`) && target === this.modalDom))\n ); // 干脆过滤掉来自弹框里面的点击\n }\n\n @autobind\n handleRootClick(e: MouseEvent) {\n const {onHide} = this.props;\n this.isRootClosed && !e.defaultPrevented && onHide(e);\n }\n\n render() {\n const {\n className,\n contentClassName,\n children,\n container,\n show,\n size,\n overlay,\n classnames: cx\n } = this.props;\n\n return (\n <Transition\n mountOnEnter\n unmountOnExit\n in={show}\n timeout={500}\n onEnter={this.handleEnter}\n onExited={this.handleExited}\n onEntered={this.handleEntered}\n >\n {(status: string) => (\n <Portal container={container}>\n <div\n ref={this.modalRef}\n role=\"dialog\"\n className={cx(\n `amis-dialog-widget Modal`,\n {\n [`Modal--${size}`]: size\n },\n className\n )}\n >\n {overlay ? (\n <div className={cx(`Modal-overlay`, fadeStyles[status])} />\n ) : null}\n <div\n className={cx(\n `Modal-content`,\n contentClassName,\n fadeStyles[status]\n )}\n >\n {status === EXITED ? null : children}\n </div>\n </div>\n </Portal>\n )}\n </Transition>\n );\n }\n}\n\nconst FinalModal = themeable(localeable(Modal));\n\nexport default FinalModal as typeof FinalModal & {\n Header: typeof Modal.Header;\n Title: typeof Modal.Title;\n Body: typeof Modal.Body;\n Footer: typeof Modal.Footer;\n};\n"
|
11
|
+
"/**\n * @file Modal\n * @description\n * @author fex\n */\n\nimport React from 'react';\nimport Transition, {\n ENTERED,\n ENTERING,\n EXITING,\n EXITED\n} from 'react-transition-group/Transition';\nimport Portal from 'react-overlays/Portal';\nimport {current, addModal, removeModal} from './ModalManager';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {Icon} from './icons';\nimport {LocaleProps, localeable} from '../locale';\nimport {autobind, getScrollbarWidth} from '../utils/helper';\n\nexport interface ModalProps extends ThemeProps, LocaleProps {\n className?: string;\n contentClassName?: string;\n size?: any;\n overlay?: boolean;\n onHide: (e: any) => void;\n closeOnEsc?: boolean;\n closeOnOutside?: boolean;\n container?: any;\n show?: boolean;\n disabled?: boolean;\n onExited?: () => void;\n onEntered?: () => void;\n}\nexport interface ModalState {}\nconst fadeStyles: {\n [propName: string]: string;\n} = {\n [ENTERING]: 'in',\n [ENTERED]: 'in',\n [EXITING]: 'out'\n};\nexport class Modal extends React.Component<ModalProps, ModalState> {\n static defaultProps = {\n container: document.body,\n size: '',\n overlay: true\n };\n\n isRootClosed = false;\n modalDom: HTMLElement;\n\n static Header = themeable(\n localeable(\n ({\n classnames: cx,\n className,\n showCloseButton,\n onClose,\n children,\n classPrefix,\n translate: __,\n ...rest\n }: ThemeProps &\n LocaleProps & {\n className?: string;\n showCloseButton?: boolean;\n onClose?: () => void;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-header', className)}>\n {showCloseButton !== false ? (\n <a\n data-tooltip={__('Dialog.close')}\n data-position=\"left\"\n onClick={onClose}\n className={cx('Modal-close')}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n {children}\n </div>\n )\n )\n );\n\n static Title = themeable(\n ({\n classnames: cx,\n className,\n children,\n classPrefix,\n ...rest\n }: ThemeProps & {\n className?: string;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-title', className)}>\n {children}\n </div>\n )\n );\n\n static Body = themeable(\n ({\n classnames: cx,\n className,\n children,\n classPrefix,\n ...rest\n }: ThemeProps & {\n className?: string;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-body', className)}>\n {children}\n </div>\n )\n );\n\n static Footer = themeable(\n ({\n classnames: cx,\n className,\n children,\n classPrefix,\n ...rest\n }: ThemeProps & {\n className?: string;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-footer', className)}>\n {children}\n </div>\n )\n );\n\n componentDidMount() {\n if (this.props.show) {\n this.handleEnter();\n this.handleEntered();\n }\n\n document.body.addEventListener('click', this.handleRootClickCapture, true);\n document.body.addEventListener('click', this.handleRootClick);\n }\n\n componentWillUnmount() {\n if (this.props.show) {\n this.handleExited();\n }\n\n document.body.removeEventListener('click', this.handleRootClick);\n document.body.removeEventListener(\n 'click',\n this.handleRootClickCapture,\n true\n );\n }\n\n handleEnter = () => {\n document.body.classList.add(`is-modalOpened`);\n if (\n window.innerWidth - document.documentElement.clientWidth > 0 ||\n document.body.scrollHeight > document.body.clientHeight\n ) {\n const scrollbarWidth = getScrollbarWidth();\n document.body.style.width = `calc(100% - ${scrollbarWidth}px)`;\n }\n };\n\n handleEntered = () => {\n const onEntered = this.props.onEntered;\n\n onEntered && onEntered();\n };\n handleExited = () => {\n const onExited = this.props.onExited;\n onExited && onExited();\n setTimeout(() => {\n if (!document.querySelector('.amis-dialog-widget')) {\n document.body.classList.remove(`is-modalOpened`);\n document.body.style.width = '';\n }\n }, 200);\n };\n\n modalRef = (ref: any) => {\n this.modalDom = ref;\n const {classPrefix: ns} = this.props;\n if (ref) {\n addModal(this);\n (ref as HTMLElement).classList.add(`${ns}Modal--${current()}th`);\n } else {\n removeModal(this);\n }\n };\n\n @autobind\n handleRootClickCapture(e: MouseEvent) {\n const target = e.target as HTMLElement;\n const {closeOnOutside, classPrefix: ns} = this.props;\n const isLeftButton =\n (e.button === 1 && window.event !== null) || e.button === 0;\n\n this.isRootClosed = !!(\n isLeftButton &&\n closeOnOutside &&\n target &&\n this.modalDom &&\n ((!this.modalDom.contains(target) && !target.closest('[role=dialog]')) ||\n (target.matches(`.${ns}Modal`) && target === this.modalDom))\n ); // 干脆过滤掉来自弹框里面的点击\n }\n\n @autobind\n handleRootClick(e: MouseEvent) {\n const {onHide} = this.props;\n this.isRootClosed && !e.defaultPrevented && onHide(e);\n }\n\n render() {\n const {\n className,\n contentClassName,\n children,\n container,\n show,\n size,\n overlay,\n classnames: cx\n } = this.props;\n\n return (\n <Transition\n mountOnEnter\n unmountOnExit\n appear\n in={show}\n timeout={500}\n onEnter={this.handleEnter}\n onExited={this.handleExited}\n onEntered={this.handleEntered}\n >\n {(status: string) => (\n <Portal container={container}>\n <div\n ref={this.modalRef}\n role=\"dialog\"\n className={cx(\n `amis-dialog-widget Modal`,\n {\n [`Modal--${size}`]: size\n },\n className\n )}\n >\n {overlay ? (\n <div className={cx(`Modal-overlay`, fadeStyles[status])} />\n ) : null}\n <div\n className={cx(\n `Modal-content`,\n contentClassName,\n fadeStyles[status]\n )}\n >\n {status === EXITED ? null : children}\n </div>\n </div>\n </Portal>\n )}\n </Transition>\n );\n }\n}\n\nconst FinalModal = themeable(localeable(Modal));\n\nexport default FinalModal as typeof FinalModal & {\n Header: typeof Modal.Header;\n Title: typeof Modal.Title;\n Body: typeof Modal.Body;\n Footer: typeof Modal.Footer;\n};\n"
|
12
12
|
]
|
13
13
|
}
|