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/utils/debug.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/utils/debug.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * amis 运行时调试功能,为了避免循环引用,这个组件不要依赖 amis 里的组件\n */\n\nimport React, {Component, useEffect, useRef, useState} from 'react';\nimport cx from 'classnames';\nimport {findDOMNode, render} from 'react-dom';\nimport JsonView from 'react-json-view';\nimport {autorun, observable} from 'mobx';\nimport {observer} from 'mobx-react';\nimport {uuidv4} from './helper';\nimport position from './position';\n\nclass Log {\n @observable cat = '';\n @observable level = '';\n @observable msg = '';\n @observable ext? = '';\n}\n\nclass AMISDebugStore {\n /**\n * 当前 tab\n */\n @observable tab: 'log' | 'inspect' = 'log';\n\n /**\n * 显示位置,默认在右边\n */\n @observable position: 'left' | 'right' = 'right';\n\n /**\n * 组件日志\n */\n @observable logs: Log[] = [];\n\n /**\n * Debug 面板是否展开\n */\n @observable isExpanded = false;\n\n /**\n * 是否是 inspect 模式,在这个模式下可以查看数据域\n */\n @observable inspectMode = false;\n\n /**\n * 当前高亮的组件节点 id\n */\n @observable hoverId: string;\n\n /**\n * 当前选中的组件节点 id\n */\n @observable activeId: string;\n}\n\nconst store = new AMISDebugStore();\n\ninterface ComponentInspect {\n name: string;\n component: any;\n}\n\n// 存储组件信息用于 debug\nconst ComponentInfo = {} as {[propName: string]: ComponentInspect};\n\nconst LogView = observer(({store}: {store: AMISDebugStore}) => {\n const logs = store.logs;\n return (\n <>\n {logs.map((log, index) => {\n return (\n <div className=\"AMISDebug-logLine\" key={`log-${index}`}>\n <div className=\"AMISDebug-logLineMsg\">\n [{log.cat}] {log.msg}\n </div>\n {log.ext ? (\n <JsonView\n name={null}\n theme=\"monokai\"\n src={JSON.parse(log.ext)}\n collapsed={true}\n enableClipboard={false}\n displayDataTypes={false}\n iconStyle=\"square\"\n />\n ) : null}\n </div>\n );\n })}\n </>\n );\n});\n\nconst AMISDebug = observer(({store}: {store: AMISDebugStore}) => {\n const activeId = store.activeId;\n const activeComponentInspect = ComponentInfo[activeId];\n\n // 收集数据域里的数据\n let start = activeComponentInspect?.component?.props?.data || {};\n const stacks = [start];\n\n while (Object.getPrototypeOf(start) !== Object.prototype) {\n const superData = Object.getPrototypeOf(start);\n if (Object.prototype.toString.call(superData) !== '[object Object]') {\n break;\n }\n stacks.push(superData);\n start = superData;\n }\n\n const stackDataView = [];\n if (Object.keys(stacks[0]).length || stacks.length > 1) {\n let level = 0;\n for (const stack of stacks) {\n stackDataView.push(\n <div key={`data-${level}`}>\n <h3>Data Level-{level}</h3>\n <JsonView\n key={`dataview-${stack}`}\n name={null}\n theme=\"monokai\"\n src={stack}\n collapsed={level === 0 ? false : true}\n enableClipboard={false}\n displayDataTypes={false}\n iconStyle=\"square\"\n />\n </div>\n );\n level += 1;\n }\n }\n\n const panelRef = useRef(null);\n\n const [isResizing, setResizing] = useState(false);\n\n const [startX, setStartX] = useState(0);\n\n const [panelWidth, setPanelWidth] = useState(0);\n\n useEffect(() => {\n const handleMouseUp = () => {\n setResizing(false);\n };\n const handleMouseMove = (e: MouseEvent) => {\n if (!isResizing) {\n return;\n }\n const xOffset =\n store.position === 'right' ? e.clientX - startX : startX - e.clientX;\n const panel = panelRef.current! as HTMLElement;\n const targetWidth = Math.max(200, panelWidth - xOffset);\n panel.style.width = targetWidth + 'px';\n if (e.stopPropagation) e.stopPropagation();\n if (e.preventDefault) e.preventDefault();\n e.cancelBubble = true;\n return false;\n };\n if (isResizing) {\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n }\n\n return () => {\n if (isResizing) {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n }\n };\n }, [isResizing]);\n\n return (\n <div\n className={cx('AMISDebug', {\n 'is-expanded': store.isExpanded,\n 'is-left': store.position === 'left'\n })}\n ref={panelRef}\n >\n <div\n className=\"AMISDebug-toggle\"\n onClick={() => {\n store.isExpanded = true;\n }}\n >\n {store.isExpanded ? (\n <i className=\"fas fa-times\"></i>\n ) : (\n <i className=\"fas fa-bug\"></i>\n )}\n </div>\n <div className={cx('AMISDebug-content')}>\n <div\n className=\"AMISDebug-close\"\n title=\"Close\"\n onClick={() => {\n store.isExpanded = false;\n }}\n >\n <i className=\"fas fa-times\" />\n </div>\n <div\n className=\"AMISDebug-resize\"\n onMouseDown={event => {\n setStartX(event.clientX);\n setPanelWidth(\n parseInt(\n getComputedStyle(panelRef.current!).getPropertyValue('width'),\n 10\n )\n );\n setResizing(true);\n }}\n ></div>\n <div className=\"AMISDebug-tab\">\n <button\n className={cx({active: store.tab === 'log'})}\n onClick={() => {\n store.tab = 'log';\n }}\n >\n Log\n </button>\n <button\n className={cx({active: store.tab === 'inspect'})}\n onClick={() => {\n store.tab = 'inspect';\n }}\n >\n Inspect\n </button>\n </div>\n <div className=\"AMISDebug-changePosition\">\n {store.position === 'right' ? (\n <i\n className=\"fas fa-chevron-left\"\n title=\"move to left\"\n onClick={() => {\n store.position = 'left';\n }}\n />\n ) : (\n <i\n className=\"fas fa-chevron-right\"\n title=\"move to right\"\n onClick={() => {\n store.position = 'right';\n }}\n />\n )}\n </div>\n {store.tab === 'log' ? (\n <div className=\"AMISDebug-log\">\n <button\n onClick={() => {\n store.logs = [];\n }}\n >\n Clear Log\n </button>\n <LogView store={store} />\n </div>\n ) : null}\n {store.tab === 'inspect' ? (\n <div className=\"AMISDebug-inspect\">\n {activeId ? (\n <>\n <h3>\n Component:{' '}\n <span className=\"primary\">{activeComponentInspect.name}</span>\n </h3>\n {stackDataView}\n </>\n ) : (\n 'Click component to display inspect'\n )}\n </div>\n ) : null}\n </div>\n </div>\n );\n});\n\nexport let enableAMISDebug = false;\n\n// 开启 debug 有两种方法,一个是设置 enableAMISDebug 全局变量,另一个是通过 amisDebug=1 query\nif (\n (window as any).enableAMISDebug ||\n location.search.indexOf('amisDebug=1') !== -1\n) {\n enableAMISDebug = true;\n // 页面只有一个\n if (!(window as any).amisDebugElement) {\n const amisDebugElement = document.createElement('div');\n document.body.appendChild(amisDebugElement);\n const element = <AMISDebug store={store} />;\n render(element, amisDebugElement);\n (window as any).amisDebugElement = true;\n }\n}\n\n/**\n * 鼠标移动到某个组件的效果\n */\nfunction handleMouseMove(e: MouseEvent) {\n if (!store.isExpanded) {\n return;\n }\n const dom = e.target as HTMLElement;\n const target = dom.closest(`[data-debug-id]`);\n if (target) {\n store.hoverId = target.getAttribute('data-debug-id')!;\n }\n}\n\n/**\n * 点选某个组件\n */\nfunction handleMouseclick(e: MouseEvent) {\n if (!store.isExpanded) {\n return;\n }\n const dom = e.target as HTMLElement;\n const target = dom.closest(`[data-debug-id]`);\n if (target) {\n store.activeId = target.getAttribute('data-debug-id')!;\n store.tab = 'inspect';\n }\n}\n\n// hover 及点击后的高亮\nconst amisHoverBox = document.createElement('div');\namisHoverBox.className = 'AMISDebug-hoverBox';\nconst amisActiveBox = document.createElement('div');\namisActiveBox.className = 'AMISDebug-activeBox';\n\nautorun(() => {\n const hoverId = store.hoverId;\n const hoverElement = document.querySelector(\n `[data-debug-id=\"${hoverId}\"]`\n ) as HTMLElement;\n if (hoverElement) {\n const offset = position(hoverElement, document.body);\n amisHoverBox.style.top = `${offset.top}px`;\n amisHoverBox.style.left = `${offset.left}px`;\n amisHoverBox.style.width = `${offset.width}px`;\n amisHoverBox.style.height = `${offset.height}px`;\n }\n});\n\nautorun(() => {\n const activeId = store.activeId;\n const activeElement = document.querySelector(\n `[data-debug-id=\"${activeId}\"]`\n ) as HTMLElement;\n if (activeElement) {\n const offset = position(activeElement, document.body);\n amisActiveBox.style.top = `${offset.top}px`;\n amisActiveBox.style.left = `${offset.left}px`;\n amisActiveBox.style.width = `${offset.width}px`;\n amisActiveBox.style.height = `${offset.height}px`;\n }\n});\n\nif (enableAMISDebug) {\n document.body.appendChild(amisHoverBox);\n document.body.appendChild(amisActiveBox);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('click', handleMouseclick);\n}\n\ninterface DebugWrapperProps {\n renderer: any;\n}\n\nexport class DebugWrapper extends Component<DebugWrapperProps> {\n componentDidMount() {\n if (!enableAMISDebug) {\n return;\n }\n const root = findDOMNode(this) as HTMLElement;\n if (!root) {\n return;\n }\n const {renderer} = this.props;\n const debugId = uuidv4();\n root.setAttribute('data-debug-id', debugId);\n ComponentInfo[debugId] = {\n name: renderer.name,\n component: this.props.children\n };\n }\n\n render() {\n return this.props.children;\n }\n}\n\ntype Category = 'api' | 'event';\n\n/**\n * 一般调试日志\n * @param msg 简单消息\n * @param ext 扩展信息\n */\nexport function debug(cat: Category, msg: string, ext?: object) {\n if (!enableAMISDebug) {\n return;\n }\n const log = {\n cat,\n level: 'debug',\n msg: msg,\n ext: JSON.stringify(ext)\n };\n console.debug(log);\n store.logs.push(log);\n}\n\n/**\n * 警告日志\n * @param msg 简单消息\n * @param ext 扩展信息\n */\nexport function warning(cat: Category, msg: string, ext?: object) {\n if (!enableAMISDebug) {\n return;\n }\n store.logs.push({\n cat,\n level: 'warn',\n msg: msg,\n ext: JSON.stringify(ext)\n });\n}\n"
|
11
|
+
"/**\n * amis 运行时调试功能,为了避免循环引用,这个组件不要依赖 amis 里的组件\n */\n\nimport React, {Component, useEffect, useRef, useState} from 'react';\nimport cx from 'classnames';\nimport {findDOMNode, render} from 'react-dom';\nimport JsonView from 'react-json-view';\nimport {autorun, observable} from 'mobx';\nimport {observer} from 'mobx-react';\nimport {uuidv4} from './helper';\nimport position from './position';\n\nclass Log {\n @observable cat = '';\n @observable level = '';\n @observable msg = '';\n @observable ext? = '';\n}\n\nclass AMISDebugStore {\n /**\n * 当前 tab\n */\n @observable tab: 'log' | 'inspect' = 'log';\n\n /**\n * 显示位置,默认在右边\n */\n @observable position: 'left' | 'right' = 'right';\n\n /**\n * 组件日志\n */\n @observable logs: Log[] = [];\n\n /**\n * Debug 面板是否展开\n */\n @observable isExpanded = false;\n\n /**\n * 是否是 inspect 模式,在这个模式下可以查看数据域\n */\n @observable inspectMode = false;\n\n /**\n * 当前高亮的组件节点 id\n */\n @observable hoverId: string;\n\n /**\n * 当前选中的组件节点 id\n */\n @observable activeId: string;\n}\n\nconst store = new AMISDebugStore();\n\ninterface ComponentInspect {\n name: string;\n component: any;\n}\n\n// 存储组件信息用于 debug\nconst ComponentInfo = {} as {[propName: string]: ComponentInspect};\n\nconst LogView = observer(({store}: {store: AMISDebugStore}) => {\n const logs = store.logs;\n return (\n <>\n {logs.map((log, index) => {\n return (\n <div className=\"AMISDebug-logLine\" key={`log-${index}`}>\n <div className=\"AMISDebug-logLineMsg\">\n [{log.cat}] {log.msg}\n </div>\n {log.ext ? (\n <JsonView\n name={null}\n theme=\"monokai\"\n src={JSON.parse(log.ext)}\n collapsed={true}\n enableClipboard={false}\n displayDataTypes={false}\n iconStyle=\"square\"\n />\n ) : null}\n </div>\n );\n })}\n </>\n );\n});\n\nconst AMISDebug = observer(({store}: {store: AMISDebugStore}) => {\n const activeId = store.activeId;\n const activeComponentInspect = ComponentInfo[activeId];\n\n // 收集数据域里的数据\n let start = activeComponentInspect?.component?.props?.data || {};\n const stacks = [start];\n\n while (Object.getPrototypeOf(start) !== Object.prototype) {\n const superData = Object.getPrototypeOf(start);\n if (Object.prototype.toString.call(superData) !== '[object Object]') {\n break;\n }\n stacks.push(superData);\n start = superData;\n }\n\n const stackDataView = [];\n if (Object.keys(stacks[0]).length || stacks.length > 1) {\n let level = 0;\n for (const stack of stacks) {\n stackDataView.push(\n <div key={`data-${level}`}>\n <h3>Data Level-{level}</h3>\n <JsonView\n key={`dataview-${stack}`}\n name={null}\n theme=\"monokai\"\n src={stack}\n collapsed={level === 0 ? false : true}\n enableClipboard={false}\n displayDataTypes={false}\n iconStyle=\"square\"\n />\n </div>\n );\n level += 1;\n }\n }\n\n const panelRef = useRef(null);\n\n const [isResizing, setResizing] = useState(false);\n\n const [startX, setStartX] = useState(0);\n\n const [panelWidth, setPanelWidth] = useState(0);\n\n useEffect(() => {\n const handleMouseUp = () => {\n setResizing(false);\n };\n const handleMouseMove = (e: MouseEvent) => {\n if (!isResizing) {\n return;\n }\n const xOffset =\n store.position === 'right' ? e.clientX - startX : startX - e.clientX;\n const panel = panelRef.current! as HTMLElement;\n const targetWidth = Math.max(200, panelWidth - xOffset);\n panel.style.width = targetWidth + 'px';\n if (e.stopPropagation) e.stopPropagation();\n if (e.preventDefault) e.preventDefault();\n e.cancelBubble = true;\n return false;\n };\n if (isResizing) {\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n }\n\n return () => {\n if (isResizing) {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n }\n };\n }, [isResizing]);\n\n return (\n <div\n className={cx('AMISDebug', {\n 'is-expanded': store.isExpanded,\n 'is-left': store.position === 'left'\n })}\n ref={panelRef}\n >\n <div\n className=\"AMISDebug-toggle\"\n title=\"open debug\"\n onClick={() => {\n store.isExpanded = true;\n }}\n >\n {store.isExpanded ? (\n <i className=\"fas fa-times\"></i>\n ) : (\n <i className=\"fas fa-bug\"></i>\n )}\n </div>\n <div className={cx('AMISDebug-content')}>\n <div\n className=\"AMISDebug-close\"\n title=\"Close\"\n onClick={() => {\n store.isExpanded = false;\n }}\n >\n <i className=\"fas fa-times\" />\n </div>\n <div\n className=\"AMISDebug-resize\"\n onMouseDown={event => {\n setStartX(event.clientX);\n setPanelWidth(\n parseInt(\n getComputedStyle(panelRef.current!).getPropertyValue('width'),\n 10\n )\n );\n setResizing(true);\n }}\n ></div>\n <div className=\"AMISDebug-tab\">\n <button\n className={cx({active: store.tab === 'log'})}\n onClick={() => {\n store.tab = 'log';\n }}\n >\n Log\n </button>\n <button\n className={cx({active: store.tab === 'inspect'})}\n onClick={() => {\n store.tab = 'inspect';\n }}\n >\n Inspect\n </button>\n </div>\n <div className=\"AMISDebug-changePosition\">\n {store.position === 'right' ? (\n <i\n className=\"fas fa-chevron-left\"\n title=\"move to left\"\n onClick={() => {\n store.position = 'left';\n }}\n />\n ) : (\n <i\n className=\"fas fa-chevron-right\"\n title=\"move to right\"\n onClick={() => {\n store.position = 'right';\n }}\n />\n )}\n </div>\n {store.tab === 'log' ? (\n <div className=\"AMISDebug-log\">\n <button\n onClick={() => {\n store.logs = [];\n }}\n >\n Clear Log\n </button>\n <LogView store={store} />\n </div>\n ) : null}\n {store.tab === 'inspect' ? (\n <div className=\"AMISDebug-inspect\">\n {activeId ? (\n <>\n <h3>\n Component:{' '}\n <span className=\"primary\">{activeComponentInspect.name}</span>\n </h3>\n {stackDataView}\n </>\n ) : (\n 'Click component to display inspect'\n )}\n </div>\n ) : null}\n </div>\n </div>\n );\n});\n\n/**\n * 鼠标移动到某个组件的效果\n */\nfunction handleMouseMove(e: MouseEvent) {\n if (!store.isExpanded) {\n return;\n }\n const dom = e.target as HTMLElement;\n const target = dom.closest(`[data-debug-id]`);\n if (target) {\n store.hoverId = target.getAttribute('data-debug-id')!;\n }\n}\n\n/**\n * 点选某个组件\n */\nfunction handleMouseclick(e: MouseEvent) {\n if (!store.isExpanded) {\n return;\n }\n const dom = e.target as HTMLElement;\n const target = dom.closest(`[data-debug-id]`);\n if (target) {\n store.activeId = target.getAttribute('data-debug-id')!;\n store.tab = 'inspect';\n }\n}\n\n// hover 及点击后的高亮\nconst amisHoverBox = document.createElement('div');\namisHoverBox.className = 'AMISDebug-hoverBox';\nconst amisActiveBox = document.createElement('div');\namisActiveBox.className = 'AMISDebug-activeBox';\n\nautorun(() => {\n const hoverId = store.hoverId;\n const hoverElement = document.querySelector(\n `[data-debug-id=\"${hoverId}\"]`\n ) as HTMLElement;\n if (hoverElement) {\n const offset = position(hoverElement, document.body);\n amisHoverBox.style.top = `${offset.top}px`;\n amisHoverBox.style.left = `${offset.left}px`;\n amisHoverBox.style.width = `${offset.width}px`;\n amisHoverBox.style.height = `${offset.height}px`;\n }\n});\n\nautorun(() => {\n const activeId = store.activeId;\n const activeElement = document.querySelector(\n `[data-debug-id=\"${activeId}\"]`\n ) as HTMLElement;\n if (activeElement) {\n const offset = position(activeElement, document.body);\n amisActiveBox.style.top = `${offset.top}px`;\n amisActiveBox.style.left = `${offset.left}px`;\n amisActiveBox.style.width = `${offset.width}px`;\n amisActiveBox.style.height = `${offset.height}px`;\n }\n});\n\n// 页面中只能有一个实例\nlet isEnabled = false;\n\nexport function enableDebug() {\n if (isEnabled) {\n return;\n }\n isEnabled = true;\n\n const amisDebugElement = document.createElement('div');\n document.body.appendChild(amisDebugElement);\n const element = <AMISDebug store={store} />;\n render(element, amisDebugElement);\n\n document.body.appendChild(amisHoverBox);\n document.body.appendChild(amisActiveBox);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('click', handleMouseclick);\n}\n\ninterface DebugWrapperProps {\n renderer: any;\n}\n\nexport class DebugWrapper extends Component<DebugWrapperProps> {\n componentDidMount() {\n const root = findDOMNode(this) as HTMLElement;\n if (!root) {\n return;\n }\n const {renderer} = this.props;\n const debugId = uuidv4();\n root.setAttribute('data-debug-id', debugId);\n ComponentInfo[debugId] = {\n name: renderer.name,\n component: this.props.children\n };\n }\n\n render() {\n return this.props.children;\n }\n}\n\ntype Category = 'api' | 'event';\n\n/**\n * 一般调试日志\n * @param msg 简单消息\n * @param ext 扩展信息\n */\nexport function debug(cat: Category, msg: string, ext?: object) {\n if (!isEnabled) {\n return;\n }\n const log = {\n cat,\n level: 'debug',\n msg: msg,\n ext: JSON.stringify(ext)\n };\n console.debug(log);\n store.logs.push(log);\n}\n\n/**\n * 警告日志\n * @param msg 简单消息\n * @param ext 扩展信息\n */\nexport function warning(cat: Category, msg: string, ext?: object) {\n if (!isEnabled) {\n return;\n }\n store.logs.push({\n cat,\n level: 'warn',\n msg: msg,\n ext: JSON.stringify(ext)\n });\n}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/utils/dom.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
export declare function getContainer(container: any, defaultContainer: any): any;
|
2
2
|
export declare function ownerDocument(componentOrElement: any): Document;
|
3
|
-
export declare function calculatePosition(placement: any, overlayNode: any, target: HTMLElement, container: any, padding?: any): {
|
3
|
+
export declare function calculatePosition(placement: any, overlayNode: any, target: HTMLElement, container: any, padding?: any, customOffset?: [number, number]): {
|
4
4
|
positionLeft: number;
|
5
5
|
positionTop: number;
|
6
6
|
arrowOffsetLeft: number;
|
package/lib/utils/dom.js
CHANGED
@@ -61,8 +61,9 @@ function getLeftDelta(left, overlayWidth, container, padding) {
|
|
61
61
|
}
|
62
62
|
return 0;
|
63
63
|
}
|
64
|
-
function calculatePosition(placement, overlayNode, target, container, padding) {
|
64
|
+
function calculatePosition(placement, overlayNode, target, container, padding, customOffset) {
|
65
65
|
if (padding === void 0) { padding = 0; }
|
66
|
+
if (customOffset === void 0) { customOffset = [0, 0]; }
|
66
67
|
var childOffset = container.tagName === 'BODY'
|
67
68
|
? (0, offset_1.default)(target)
|
68
69
|
: (0, position_1.default)(target, container);
|
@@ -165,11 +166,12 @@ function calculatePosition(placement, overlayNode, target, container, padding) {
|
|
165
166
|
else {
|
166
167
|
throw new Error("calcOverlayPosition(): No such placement of \"".concat(placement, "\" found."));
|
167
168
|
}
|
169
|
+
var _c = customOffset[0], offSetX = _c === void 0 ? 0 : _c, _d = customOffset[1], offSetY = _d === void 0 ? 0 : _d;
|
168
170
|
return {
|
169
|
-
positionLeft: positionLeft / scaleX,
|
170
|
-
positionTop: positionTop / scaleY,
|
171
|
-
arrowOffsetLeft: arrowOffsetLeft / scaleX,
|
172
|
-
arrowOffsetTop: arrowOffsetTop / scaleY,
|
171
|
+
positionLeft: (positionLeft + offSetX) / scaleX,
|
172
|
+
positionTop: (positionTop + offSetY) / scaleY,
|
173
|
+
arrowOffsetLeft: (arrowOffsetLeft + offSetX) / scaleX,
|
174
|
+
arrowOffsetTop: (arrowOffsetTop + offSetY) / scaleY,
|
173
175
|
activePlacement: activePlacement
|
174
176
|
};
|
175
177
|
}
|
package/lib/utils/dom.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/utils/dom.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AACA,qEAAiC;AAEjC,iEAAiC;AACjC,qEAAqC;AAErC,SAAgB,YAAY,CAAC,SAAc,EAAE,gBAAqB;IAChE,SAAS,GAAG,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,OAAO,mBAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC;AAC7D,CAAC;AAHD,oCAGC;AAED,SAAgB,aAAa,CAAC,kBAAuB;;IACnD,OAAO,CACL,CAAA,MAAC,mBAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAa,0CAAE,aAAa;QACpE,QAAQ,CACT,CAAC;AACJ,CAAC;AALD,sCAKC;AAED,SAAS,sBAAsB,CAAC,aAAkB;;IAChD,IAAI,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAE1B,IAAI,aAAa,CAAC,OAAO,KAAK,MAAM,EAAE;QACpC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;QAC1B,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;QAE5B,MAAM;YACJ,aAAa,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,SAAS;iBACtD,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAA,CAAC;KAC5B;SAAM;QACL,CAAC,KAAkB,IAAA,gBAAS,EAAC,aAAa,CAAQ,EAAhD,KAAK,WAAA,EAAE,MAAM,YAAA,CAAoC,CAAC;QACpD,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC;KAClC;IAED,OAAO,EAAC,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA,EAAC,CAAC;AACjC,CAAC;AAED,SAAS,WAAW,CAClB,GAAQ,EACR,aAAkB,EAClB,SAAc,EACd,OAAY;IAEZ,IAAM,mBAAmB,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC9D,IAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC;IACnD,IAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAEnD,IAAM,aAAa,GAAG,GAAG,GAAG,OAAO,GAAG,eAAe,CAAC;IACtD,IAAM,gBAAgB,GAAG,GAAG,GAAG,OAAO,GAAG,eAAe,GAAG,aAAa,CAAC;IAEzE,IAAI,aAAa,GAAG,CAAC,EAAE;QACrB,OAAO,CAAC,aAAa,CAAC;KACvB;SAAM,IAAI,gBAAgB,GAAG,eAAe,EAAE;QAC7C,OAAO,eAAe,GAAG,gBAAgB,CAAC;KAC3C;SAAM;QACL,OAAO,CAAC,CAAC;KACV;AACH,CAAC;AAED,SAAS,YAAY,CACnB,IAAS,EACT,YAAiB,EACjB,SAAc,EACd,OAAY;IAEZ,IAAM,mBAAmB,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC9D,IAAM,cAAc,GAAG,mBAAmB,CAAC,KAAK,CAAC;IAEjD,IAAM,cAAc,GAAG,IAAI,GAAG,OAAO,CAAC;IACtC,IAAM,eAAe,GAAG,IAAI,GAAG,OAAO,GAAG,YAAY,CAAC;IAEtD,IAAI,cAAc,GAAG,CAAC,EAAE;QACtB,OAAO,CAAC,cAAc,CAAC;KACxB;SAAM,IAAI,eAAe,GAAG,cAAc,EAAE;QAC3C,OAAO,cAAc,GAAG,eAAe,CAAC;KACzC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,iBAAiB,CAC/B,SAAc,EACd,WAAgB,EAChB,MAAmB,EACnB,SAAc,EACd,OAAgB;
|
9
|
+
"mappings": ";;;;AACA,qEAAiC;AAEjC,iEAAiC;AACjC,qEAAqC;AAErC,SAAgB,YAAY,CAAC,SAAc,EAAE,gBAAqB;IAChE,SAAS,GAAG,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,OAAO,mBAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC;AAC7D,CAAC;AAHD,oCAGC;AAED,SAAgB,aAAa,CAAC,kBAAuB;;IACnD,OAAO,CACL,CAAA,MAAC,mBAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAa,0CAAE,aAAa;QACpE,QAAQ,CACT,CAAC;AACJ,CAAC;AALD,sCAKC;AAED,SAAS,sBAAsB,CAAC,aAAkB;;IAChD,IAAI,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAE1B,IAAI,aAAa,CAAC,OAAO,KAAK,MAAM,EAAE;QACpC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;QAC1B,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;QAE5B,MAAM;YACJ,aAAa,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,SAAS;iBACtD,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAA,CAAC;KAC5B;SAAM;QACL,CAAC,KAAkB,IAAA,gBAAS,EAAC,aAAa,CAAQ,EAAhD,KAAK,WAAA,EAAE,MAAM,YAAA,CAAoC,CAAC;QACpD,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC;KAClC;IAED,OAAO,EAAC,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA,EAAC,CAAC;AACjC,CAAC;AAED,SAAS,WAAW,CAClB,GAAQ,EACR,aAAkB,EAClB,SAAc,EACd,OAAY;IAEZ,IAAM,mBAAmB,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC9D,IAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC;IACnD,IAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAEnD,IAAM,aAAa,GAAG,GAAG,GAAG,OAAO,GAAG,eAAe,CAAC;IACtD,IAAM,gBAAgB,GAAG,GAAG,GAAG,OAAO,GAAG,eAAe,GAAG,aAAa,CAAC;IAEzE,IAAI,aAAa,GAAG,CAAC,EAAE;QACrB,OAAO,CAAC,aAAa,CAAC;KACvB;SAAM,IAAI,gBAAgB,GAAG,eAAe,EAAE;QAC7C,OAAO,eAAe,GAAG,gBAAgB,CAAC;KAC3C;SAAM;QACL,OAAO,CAAC,CAAC;KACV;AACH,CAAC;AAED,SAAS,YAAY,CACnB,IAAS,EACT,YAAiB,EACjB,SAAc,EACd,OAAY;IAEZ,IAAM,mBAAmB,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC9D,IAAM,cAAc,GAAG,mBAAmB,CAAC,KAAK,CAAC;IAEjD,IAAM,cAAc,GAAG,IAAI,GAAG,OAAO,CAAC;IACtC,IAAM,eAAe,GAAG,IAAI,GAAG,OAAO,GAAG,YAAY,CAAC;IAEtD,IAAI,cAAc,GAAG,CAAC,EAAE;QACtB,OAAO,CAAC,cAAc,CAAC;KACxB;SAAM,IAAI,eAAe,GAAG,cAAc,EAAE;QAC3C,OAAO,cAAc,GAAG,eAAe,CAAC;KACzC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,iBAAiB,CAC/B,SAAc,EACd,WAAgB,EAChB,MAAmB,EACnB,SAAc,EACd,OAAgB,EAChB,YAAuC;IADvC,wBAAA,EAAA,WAAgB;IAChB,6BAAA,EAAA,gBAAkC,CAAC,EAAE,CAAC,CAAC;IAEvC,IAAM,WAAW,GACf,SAAS,CAAC,OAAO,KAAK,MAAM;QAC1B,CAAC,CAAC,IAAA,gBAAS,EAAC,MAAM,CAAC;QACnB,CAAC,CAAC,IAAA,kBAAW,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/B,IAAA,KAA+C,IAAA,gBAAS,EAC5D,WAAW,CACL,EAFO,aAAa,YAAA,EAAS,YAAY,WAEzC,CAAC;IAET,IAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;IAC/C,IAAM,KAAK,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC;IAClD,IAAM,MAAM,GAAG,WAAW,CAAC,WAAW;QACpC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC,WAAW;QACvC,CAAC,CAAC,CAAC,CAAC;IACN,IAAM,MAAM,GAAG,WAAW,CAAC,YAAY;QACrC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,YAAY;QACzC,CAAC,CAAC,CAAC,CAAC;IAEN,iBAAiB;IACjB,SAAS;QACP,SAAS,KAAK,MAAM;YAClB,CAAC,CAAC,8GAA8G;YAChH,CAAC,CAAC,SAAS,CAAC;IAEhB,IAAI,YAAY,GAAG,CAAC,EAClB,WAAW,GAAG,CAAC,EACf,eAAe,GAAQ,EAAE,EACzB,cAAc,GAAQ,EAAE,EACxB,eAAe,GAAW,SAAS,CAAC;IAEtC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC3B,IAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAErC,OAAO,KAAK,CAAC,MAAM,EAAE;YACnB,IAAM,OAAO,GAAG,CAAC,eAAe,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,IAAA,KAAuB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAxC,GAAG,QAAA,EAAE,GAAG,QAAA,EAAE,GAAG,QAAA,EAAE,GAAG,QAAsB,CAAC;YAC9C,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC;YACjB,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC;YAEjB,YAAY;gBACV,GAAG,KAAK,MAAM;oBACZ,CAAC,CAAC,WAAW,CAAC,IAAI;oBAClB,CAAC,CAAC,GAAG,KAAK,OAAO;wBACjB,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK;wBACtC,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC;YAC/C,WAAW;gBACT,GAAG,KAAK,KAAK;oBACX,CAAC,CAAC,WAAW,CAAC,GAAG;oBACjB,CAAC,CAAC,GAAG,KAAK,QAAQ;wBAClB,CAAC,CAAC,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM;wBACtC,CAAC,CAAC,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YAE/C,YAAY;gBACV,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;YACzE,WAAW;gBACT,GAAG,KAAK,KAAK;oBACX,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,GAAG,KAAK,QAAQ;wBAClB,CAAC,CAAC,aAAa;wBACf,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC;YAExB,2CAA2C;YAC3C,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,IAAM,WAAW,GAAG;oBAClB,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,YAAY,GAAG,MAAM;oBACjC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,WAAW,GAAG,MAAM;oBAChC,KAAK,EAAE,YAAY;oBACnB,MAAM,EAAE,aAAa;iBACtB,CAAC;gBAEF,IACE,WAAW,CAAC,CAAC,GAAG,CAAC;oBACjB,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU;oBACrD,WAAW,CAAC,CAAC,GAAG,CAAC;oBACjB,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EACvD;oBACA,MAAM;iBACP;aACF;SACF;QAED,kBAAkB;KACnB;SAAM,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO,EAAE;QACxD,mBAAmB;QACnB,wBAAwB;QACxB,iDAAiD;QACjD,IAAI,SAAS,KAAK,MAAM,EAAE;YACxB,YAAY,GAAG,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC;SAChD;aAAM;YACL,YAAY,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC;SACrD;QAED,WAAW,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACzE,IAAM,QAAQ,GAAG,WAAW,CAC1B,WAAW,EACX,aAAa,EACb,SAAS,EACT,OAAO,CACR,CAAC;QAEF,WAAW,IAAI,QAAQ,CAAC;QACxB,cAAc,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC;KAClE;SAAM,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,QAAQ,EAAE;QACxD,mBAAmB;QACnB,wBAAwB;QACxB,+CAA+C;QAC/C,IAAI,SAAS,KAAK,KAAK,EAAE;YACvB,WAAW,GAAG,WAAW,CAAC,GAAG,GAAG,aAAa,CAAC;SAC/C;aAAM;YACL,WAAW,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC;SACpD;QAED,YAAY,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACzE,IAAM,SAAS,GAAG,YAAY,CAC5B,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,OAAO,CACR,CAAC;QAEF,YAAY,IAAI,SAAS,CAAC;QAC1B,eAAe,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC;KACpE;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE;QACjC,oCAAoC;QACpC,YAAY,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACzE,WAAW,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACzE,eAAe,GAAG,cAAc,GAAG,KAAK,CAAC,CAAC;KAC3C;SAAM;QACL,MAAM,IAAI,KAAK,CACb,wDAAgD,SAAS,cAAU,CACpE,CAAC;KACH;IACM,IAAA,KAA4B,YAAY,GAA7B,EAAX,OAAO,mBAAG,CAAC,KAAA,EAAE,KAAe,YAAY,GAAhB,EAAX,OAAO,mBAAG,CAAC,KAAA,CAAiB;IAChD,OAAO;QACL,YAAY,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,MAAM;QAC/C,WAAW,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,MAAM;QAC7C,eAAe,EAAE,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,MAAM;QACrD,cAAc,EAAE,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,MAAM;QACnD,eAAe,iBAAA;KAChB,CAAC;AACJ,CAAC;AAnJD,8CAmJC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,OAAoB,EAAE,SAAiB;IACpE,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,CAAC,CAAC;KACV;IACD,OAAO,CACL,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CACzE,CAAC;AACJ,CAAC;AAPD,wCAOC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport ReactDOM from 'react-dom';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport getOffset from './offset';\nimport getPosition from './position';\n\nexport function getContainer(container: any, defaultContainer: any) {\n container = typeof container === 'function' ? container() : container;\n return ReactDOM.findDOMNode(container) || defaultContainer;\n}\n\nexport function ownerDocument(componentOrElement: any) {\n return (\n (ReactDOM.findDOMNode(componentOrElement) as Element)?.ownerDocument ||\n document\n );\n}\n\nfunction getContainerDimensions(containerNode: any) {\n let width, height, scroll;\n\n if (containerNode.tagName === 'BODY') {\n width = window.innerWidth;\n height = window.innerHeight;\n\n scroll =\n ownerDocument(containerNode).documentElement.scrollTop ||\n containerNode?.scrollTop;\n } else {\n ({width, height} = getOffset(containerNode) as any);\n scroll = containerNode.scrollTop;\n }\n\n return {width, height, scroll};\n}\n\nfunction getTopDelta(\n top: any,\n overlayHeight: any,\n container: any,\n padding: any\n) {\n const containerDimensions = getContainerDimensions(container);\n const containerScroll = containerDimensions.scroll;\n const containerHeight = containerDimensions.height;\n\n const topEdgeOffset = top - padding - containerScroll;\n const bottomEdgeOffset = top + padding - containerScroll + overlayHeight;\n\n if (topEdgeOffset < 0) {\n return -topEdgeOffset;\n } else if (bottomEdgeOffset > containerHeight) {\n return containerHeight - bottomEdgeOffset;\n } else {\n return 0;\n }\n}\n\nfunction getLeftDelta(\n left: any,\n overlayWidth: any,\n container: any,\n padding: any\n) {\n const containerDimensions = getContainerDimensions(container);\n const containerWidth = containerDimensions.width;\n\n const leftEdgeOffset = left - padding;\n const rightEdgeOffset = left + padding + overlayWidth;\n\n if (leftEdgeOffset < 0) {\n return -leftEdgeOffset;\n } else if (rightEdgeOffset > containerWidth) {\n return containerWidth - rightEdgeOffset;\n }\n\n return 0;\n}\n\nexport function calculatePosition(\n placement: any,\n overlayNode: any,\n target: HTMLElement,\n container: any,\n padding: any = 0\n) {\n const childOffset: any =\n container.tagName === 'BODY'\n ? getOffset(target)\n : getPosition(target, container);\n const {height: overlayHeight, width: overlayWidth} = getOffset(\n overlayNode\n ) as any;\n\n const clip = container.getBoundingClientRect();\n const clip2 = overlayNode.getBoundingClientRect();\n const scaleX = overlayNode.offsetWidth\n ? clip2.width / overlayNode.offsetWidth\n : 1;\n const scaleY = overlayNode.offsetHeight\n ? clip2.height / overlayNode.offsetHeight\n : 1;\n\n // auto 尝试四个方向对齐。\n placement =\n placement === 'auto'\n ? 'left-bottom-left-top right-bottom-right-top left-top-left-bottom right-top-right-bottom left-bottom-left-top'\n : placement;\n\n let positionLeft = 0,\n positionTop = 0,\n arrowOffsetLeft: any = '',\n arrowOffsetTop: any = '',\n activePlacement: string = placement;\n\n if (~placement.indexOf('-')) {\n const tests = placement.split(/\\s+/);\n\n while (tests.length) {\n const current = (activePlacement = tests.shift());\n let [atX, atY, myX, myY] = current.split('-');\n myX = myX || atX;\n myY = myY || atY;\n\n positionLeft =\n atX === 'left'\n ? childOffset.left\n : atX === 'right'\n ? childOffset.left + childOffset.width\n : childOffset.left + childOffset.width / 2;\n positionTop =\n atY === 'top'\n ? childOffset.top\n : atY === 'bottom'\n ? childOffset.top + childOffset.height\n : childOffset.top + childOffset.height / 2;\n\n positionLeft -=\n myX === 'left' ? 0 : myX === 'right' ? overlayWidth : overlayWidth / 2;\n positionTop -=\n myY === 'top'\n ? 0\n : myY === 'bottom'\n ? overlayHeight\n : overlayHeight / 2;\n\n // 如果还有其他可选项,则做位置判断,是否在可视区域,不完全在则继续看其他定位情况。\n if (tests.length) {\n const transformed = {\n x: clip.x + positionLeft / scaleX,\n y: clip.y + positionTop / scaleY,\n width: overlayWidth,\n height: overlayHeight\n };\n\n if (\n transformed.x > 0 &&\n transformed.x + transformed.width < window.innerWidth &&\n transformed.y > 0 &&\n transformed.y + transformed.height < window.innerHeight\n ) {\n break;\n }\n }\n }\n\n // todo arrow 位置支持\n } else if (placement === 'left' || placement === 'right') {\n // atX = placement;\n // atY = myY = 'center';\n // myX = placement === 'left' ? 'right' : 'left';\n if (placement === 'left') {\n positionLeft = childOffset.left - overlayWidth;\n } else {\n positionLeft = childOffset.left + childOffset.width;\n }\n\n positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;\n const topDelta = getTopDelta(\n positionTop,\n overlayHeight,\n container,\n padding\n );\n\n positionTop += topDelta;\n arrowOffsetTop = 50 * (1 - (2 * topDelta) / overlayHeight) + '%';\n } else if (placement === 'top' || placement === 'bottom') {\n // atY = placement;\n // atX = myX = 'center';\n // myY = placement === 'top' ? 'bottom': 'top';\n if (placement === 'top') {\n positionTop = childOffset.top - overlayHeight;\n } else {\n positionTop = childOffset.top + childOffset.height;\n }\n\n positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;\n const leftDelta = getLeftDelta(\n positionLeft,\n overlayWidth,\n container,\n padding\n );\n\n positionLeft += leftDelta;\n arrowOffsetLeft = 50 * (1 - (2 * leftDelta) / overlayHeight) + '%';\n } else if (placement === 'center') {\n // atX = atY = myX = myY = 'center';\n positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;\n positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;\n arrowOffsetLeft = arrowOffsetTop = void 0;\n } else {\n throw new Error(\n `calcOverlayPosition(): No such placement of \"${placement}\" found.`\n );\n }\n
|
11
|
+
"import React from 'react';\nimport ReactDOM from 'react-dom';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport getOffset from './offset';\nimport getPosition from './position';\n\nexport function getContainer(container: any, defaultContainer: any) {\n container = typeof container === 'function' ? container() : container;\n return ReactDOM.findDOMNode(container) || defaultContainer;\n}\n\nexport function ownerDocument(componentOrElement: any) {\n return (\n (ReactDOM.findDOMNode(componentOrElement) as Element)?.ownerDocument ||\n document\n );\n}\n\nfunction getContainerDimensions(containerNode: any) {\n let width, height, scroll;\n\n if (containerNode.tagName === 'BODY') {\n width = window.innerWidth;\n height = window.innerHeight;\n\n scroll =\n ownerDocument(containerNode).documentElement.scrollTop ||\n containerNode?.scrollTop;\n } else {\n ({width, height} = getOffset(containerNode) as any);\n scroll = containerNode.scrollTop;\n }\n\n return {width, height, scroll};\n}\n\nfunction getTopDelta(\n top: any,\n overlayHeight: any,\n container: any,\n padding: any\n) {\n const containerDimensions = getContainerDimensions(container);\n const containerScroll = containerDimensions.scroll;\n const containerHeight = containerDimensions.height;\n\n const topEdgeOffset = top - padding - containerScroll;\n const bottomEdgeOffset = top + padding - containerScroll + overlayHeight;\n\n if (topEdgeOffset < 0) {\n return -topEdgeOffset;\n } else if (bottomEdgeOffset > containerHeight) {\n return containerHeight - bottomEdgeOffset;\n } else {\n return 0;\n }\n}\n\nfunction getLeftDelta(\n left: any,\n overlayWidth: any,\n container: any,\n padding: any\n) {\n const containerDimensions = getContainerDimensions(container);\n const containerWidth = containerDimensions.width;\n\n const leftEdgeOffset = left - padding;\n const rightEdgeOffset = left + padding + overlayWidth;\n\n if (leftEdgeOffset < 0) {\n return -leftEdgeOffset;\n } else if (rightEdgeOffset > containerWidth) {\n return containerWidth - rightEdgeOffset;\n }\n\n return 0;\n}\n\nexport function calculatePosition(\n placement: any,\n overlayNode: any,\n target: HTMLElement,\n container: any,\n padding: any = 0,\n customOffset: [number, number] = [0, 0]\n) {\n const childOffset: any =\n container.tagName === 'BODY'\n ? getOffset(target)\n : getPosition(target, container);\n const {height: overlayHeight, width: overlayWidth} = getOffset(\n overlayNode\n ) as any;\n\n const clip = container.getBoundingClientRect();\n const clip2 = overlayNode.getBoundingClientRect();\n const scaleX = overlayNode.offsetWidth\n ? clip2.width / overlayNode.offsetWidth\n : 1;\n const scaleY = overlayNode.offsetHeight\n ? clip2.height / overlayNode.offsetHeight\n : 1;\n\n // auto 尝试四个方向对齐。\n placement =\n placement === 'auto'\n ? 'left-bottom-left-top right-bottom-right-top left-top-left-bottom right-top-right-bottom left-bottom-left-top'\n : placement;\n\n let positionLeft = 0,\n positionTop = 0,\n arrowOffsetLeft: any = '',\n arrowOffsetTop: any = '',\n activePlacement: string = placement;\n\n if (~placement.indexOf('-')) {\n const tests = placement.split(/\\s+/);\n\n while (tests.length) {\n const current = (activePlacement = tests.shift());\n let [atX, atY, myX, myY] = current.split('-');\n myX = myX || atX;\n myY = myY || atY;\n\n positionLeft =\n atX === 'left'\n ? childOffset.left\n : atX === 'right'\n ? childOffset.left + childOffset.width\n : childOffset.left + childOffset.width / 2;\n positionTop =\n atY === 'top'\n ? childOffset.top\n : atY === 'bottom'\n ? childOffset.top + childOffset.height\n : childOffset.top + childOffset.height / 2;\n\n positionLeft -=\n myX === 'left' ? 0 : myX === 'right' ? overlayWidth : overlayWidth / 2;\n positionTop -=\n myY === 'top'\n ? 0\n : myY === 'bottom'\n ? overlayHeight\n : overlayHeight / 2;\n\n // 如果还有其他可选项,则做位置判断,是否在可视区域,不完全在则继续看其他定位情况。\n if (tests.length) {\n const transformed = {\n x: clip.x + positionLeft / scaleX,\n y: clip.y + positionTop / scaleY,\n width: overlayWidth,\n height: overlayHeight\n };\n\n if (\n transformed.x > 0 &&\n transformed.x + transformed.width < window.innerWidth &&\n transformed.y > 0 &&\n transformed.y + transformed.height < window.innerHeight\n ) {\n break;\n }\n }\n }\n\n // todo arrow 位置支持\n } else if (placement === 'left' || placement === 'right') {\n // atX = placement;\n // atY = myY = 'center';\n // myX = placement === 'left' ? 'right' : 'left';\n if (placement === 'left') {\n positionLeft = childOffset.left - overlayWidth;\n } else {\n positionLeft = childOffset.left + childOffset.width;\n }\n\n positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;\n const topDelta = getTopDelta(\n positionTop,\n overlayHeight,\n container,\n padding\n );\n\n positionTop += topDelta;\n arrowOffsetTop = 50 * (1 - (2 * topDelta) / overlayHeight) + '%';\n } else if (placement === 'top' || placement === 'bottom') {\n // atY = placement;\n // atX = myX = 'center';\n // myY = placement === 'top' ? 'bottom': 'top';\n if (placement === 'top') {\n positionTop = childOffset.top - overlayHeight;\n } else {\n positionTop = childOffset.top + childOffset.height;\n }\n\n positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;\n const leftDelta = getLeftDelta(\n positionLeft,\n overlayWidth,\n container,\n padding\n );\n\n positionLeft += leftDelta;\n arrowOffsetLeft = 50 * (1 - (2 * leftDelta) / overlayHeight) + '%';\n } else if (placement === 'center') {\n // atX = atY = myX = myY = 'center';\n positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;\n positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;\n arrowOffsetLeft = arrowOffsetTop = void 0;\n } else {\n throw new Error(\n `calcOverlayPosition(): No such placement of \"${placement}\" found.`\n );\n }\n const [offSetX = 0, offSetY = 0] = customOffset;\n return {\n positionLeft: (positionLeft + offSetX) / scaleX,\n positionTop: (positionTop + offSetY) / scaleY,\n arrowOffsetLeft: (arrowOffsetLeft + offSetX) / scaleX,\n arrowOffsetTop: (arrowOffsetTop + offSetY) / scaleY,\n activePlacement\n };\n}\n\n/**\n * 专门用来获取样式的像素值,默认返回 0\n */\nexport function getStyleNumber(element: HTMLElement, styleName: string) {\n if (!element) {\n return 0;\n }\n return (\n parseInt(getComputedStyle(element).getPropertyValue(styleName), 10) || 0\n );\n}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/utils/position.js
CHANGED
@@ -18,7 +18,6 @@ var nodeName = function (node) {
|
|
18
18
|
function position(node, offsetParent) {
|
19
19
|
var parentOffset = { top: 0, left: 0 };
|
20
20
|
var offset;
|
21
|
-
getComputedStyle;
|
22
21
|
// Fixed elements are offset from window (parentOffset = {top:0, left: 0},
|
23
22
|
// because it is its only offset parent
|
24
23
|
if (getComputedStyle(node).getPropertyValue('position') === 'fixed') {
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/utils/position.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";AAAA;;GAEG;;;AAEH,iEAAiC;AACjC,6EAA6C;AAE7C,IAAM,QAAQ,GAAG,UAAC,IAAa;IAC7B,OAAA,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;AAA5C,CAA4C,CAAC;AAE/C;;;;;GAKG;AACH,SAAwB,QAAQ,CAC9B,IAAiB,EACjB,YAA0B;IAE1B,IAAI,YAAY,GAAG,EAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;IACrC,IAAI,MAAM,CAAC;IACX,
|
9
|
+
"mappings": ";AAAA;;GAEG;;;AAEH,iEAAiC;AACjC,6EAA6C;AAE7C,IAAM,QAAQ,GAAG,UAAC,IAAa;IAC7B,OAAA,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;AAA5C,CAA4C,CAAC;AAE/C;;;;;GAKG;AACH,SAAwB,QAAQ,CAC9B,IAAiB,EACjB,YAA0B;IAE1B,IAAI,YAAY,GAAG,EAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;IACrC,IAAI,MAAM,CAAC;IACX,0EAA0E;IAC1E,uCAAuC;IACvC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,OAAO,EAAE;QACnE,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;KACvC;SAAM;QACL,IAAM,MAAM,GAAgB,YAAY,IAAI,IAAA,sBAAe,EAAC,IAAI,CAAC,CAAC;QAClE,MAAM,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM;YAAE,YAAY,GAAG,IAAA,gBAAS,EAAC,MAAM,CAAC,CAAC;QAClE,IAAM,SAAS,GAAG,MAAM,CACtB,gBAAgB,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CACnE,CAAC;QACF,YAAY,CAAC,GAAG,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAEpE,IAAM,UAAU,GAAG,MAAM,CACvB,gBAAgB,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CACpE,CAAC;QACF,YAAY,CAAC,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;KACxE;IAED,IAAM,SAAS,GAAG,MAAM,CACtB,gBAAgB,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAC3D,CAAC;IACF,IAAM,UAAU,GAAG,MAAM,CACvB,gBAAgB,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAC5D,CAAC;IACF,2CAA2C;IAC3C,uDACK,MAAM,KACT,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EACnE,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IACvE;AACJ,CAAC;AAtCD,2BAsCC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * 删减自 https://github.com/react-bootstrap/dom-helpers/blob/master/src/position.ts\n */\n\nimport getOffset from './offset';\nimport getOffsetParent from './offsetParent';\n\nconst nodeName = (node: Element) =>\n node.nodeName && node.nodeName.toLowerCase();\n\n/**\n * Returns the relative position of a given element.\n *\n * @param node the element\n * @param offsetParent the offset parent\n */\nexport default function position(\n node: HTMLElement,\n offsetParent?: HTMLElement\n) {\n let parentOffset = {top: 0, left: 0};\n let offset;\n
|
11
|
+
"/**\n * 删减自 https://github.com/react-bootstrap/dom-helpers/blob/master/src/position.ts\n */\n\nimport getOffset from './offset';\nimport getOffsetParent from './offsetParent';\n\nconst nodeName = (node: Element) =>\n node.nodeName && node.nodeName.toLowerCase();\n\n/**\n * Returns the relative position of a given element.\n *\n * @param node the element\n * @param offsetParent the offset parent\n */\nexport default function position(\n node: HTMLElement,\n offsetParent?: HTMLElement\n) {\n let parentOffset = {top: 0, left: 0};\n let offset;\n // Fixed elements are offset from window (parentOffset = {top:0, left: 0},\n // because it is its only offset parent\n if (getComputedStyle(node).getPropertyValue('position') === 'fixed') {\n offset = node.getBoundingClientRect();\n } else {\n const parent: HTMLElement = offsetParent || getOffsetParent(node);\n offset = getOffset(node);\n\n if (nodeName(parent) !== 'html') parentOffset = getOffset(parent);\n const borderTop = String(\n getComputedStyle(parent).getPropertyValue('border-top-width') || 0\n );\n parentOffset.top += parseInt(borderTop, 10) - parent.scrollTop || 0;\n\n const borderLeft = String(\n getComputedStyle(parent).getPropertyValue('border-left-width') || 0\n );\n parentOffset.left += parseInt(borderLeft, 10) - parent.scrollLeft || 0;\n }\n\n const marginTop = String(\n getComputedStyle(node).getPropertyValue('margin-top') || 0\n );\n const marginLeft = String(\n getComputedStyle(node).getPropertyValue('margin-left') || 0\n );\n // Subtract parent offsets and node margins\n return {\n ...offset,\n top: offset.top - parentOffset.top - (parseInt(marginTop, 10) || 0),\n left: offset.left - parentOffset.left - (parseInt(marginLeft, 10) || 0)\n };\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.scrollPosition = void 0;
|
4
|
+
var tslib_1 = require("tslib");
|
5
|
+
var position_1 = (0, tslib_1.__importDefault)(require("./position"));
|
6
|
+
function getScrollParent(element, includeHidden) {
|
7
|
+
if (!element) {
|
8
|
+
return document.body;
|
9
|
+
}
|
10
|
+
var style = getComputedStyle(element);
|
11
|
+
var excludeStaticParent = style.position === 'absolute';
|
12
|
+
var overflowRegex = includeHidden
|
13
|
+
? /(auto|scroll|hidden)/
|
14
|
+
: /(auto|scroll)/;
|
15
|
+
if (style.position === 'fixed')
|
16
|
+
return document.body;
|
17
|
+
for (var parent = element; (parent = parent.parentElement);) {
|
18
|
+
style = getComputedStyle(parent);
|
19
|
+
if (excludeStaticParent && style.position === 'static') {
|
20
|
+
continue;
|
21
|
+
}
|
22
|
+
if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX))
|
23
|
+
return parent;
|
24
|
+
}
|
25
|
+
return document.body;
|
26
|
+
}
|
27
|
+
function scrollPosition(dom) {
|
28
|
+
return (0, position_1.default)(dom, getScrollParent(dom));
|
29
|
+
}
|
30
|
+
exports.scrollPosition = scrollPosition;
|
31
|
+
//# sourceMappingURL=./utils/scrollPosition.js.map
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"file": "scrollPosition.js",
|
4
|
+
"sourceRoot": "",
|
5
|
+
"sources": [
|
6
|
+
"/src/utils/scrollPosition.ts"
|
7
|
+
],
|
8
|
+
"names": [],
|
9
|
+
"mappings": ";;;;AAAA,qEAAkC;AAElC,SAAS,eAAe,CAAC,OAA2B,EAAE,aAAuB;IAC3E,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,QAAQ,CAAC,IAAI,CAAC;KACtB;IAED,IAAI,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACtC,IAAM,mBAAmB,GAAG,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC;IAC1D,IAAM,aAAa,GAAG,aAAa;QACjC,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,eAAe,CAAC;IAEpB,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;IACrD,KAAK,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,aAAc,CAAC,GAAI;QAC7D,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,mBAAmB,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACtD,SAAS;SACV;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YACxE,OAAO,MAAM,CAAC;KACjB;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED,SAAgB,cAAc,CAAC,GAAgB;IAC7C,OAAO,IAAA,kBAAQ,EAAC,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC;AAFD,wCAEC",
|
10
|
+
"sourcesContent": [
|
11
|
+
"import position from './position';\n\nfunction getScrollParent(element: HTMLElement | null, includeHidden?: boolean) {\n if (!element) {\n return document.body;\n }\n\n let style = getComputedStyle(element);\n const excludeStaticParent = style.position === 'absolute';\n const overflowRegex = includeHidden\n ? /(auto|scroll|hidden)/\n : /(auto|scroll)/;\n\n if (style.position === 'fixed') return document.body;\n for (let parent = element; (parent = parent.parentElement!); ) {\n style = getComputedStyle(parent);\n if (excludeStaticParent && style.position === 'static') {\n continue;\n }\n if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX))\n return parent;\n }\n\n return document.body;\n}\n\nexport function scrollPosition(dom: HTMLElement) {\n return position(dom, getScrollParent(dom));\n}\n"
|
12
|
+
]
|
13
|
+
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "amis",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.8.0-beta.13",
|
4
4
|
"description": "一种MIS页面生成工具",
|
5
5
|
"main": "lib/index.js",
|
6
6
|
"scripts": {
|
@@ -43,7 +43,7 @@
|
|
43
43
|
]
|
44
44
|
},
|
45
45
|
"dependencies": {
|
46
|
-
"amis-formula": "^1.3.
|
46
|
+
"amis-formula": "^1.3.11",
|
47
47
|
"ansi-to-react": "^6.1.6",
|
48
48
|
"async": "2.6.0",
|
49
49
|
"attr-accept": "2.2.2",
|
@@ -78,6 +78,7 @@
|
|
78
78
|
"qrcode.react": "^1.0.1",
|
79
79
|
"qs": "6.9.7",
|
80
80
|
"rc-input-number": "^7.3.4",
|
81
|
+
"rc-overflow": "^1.2.4",
|
81
82
|
"rc-progress": "^3.1.4",
|
82
83
|
"react-color": "^2.19.3",
|
83
84
|
"react-cropper": "^2.1.8",
|