amis 1.3.5-beta.7 → 1.4.2-beta.11
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/README.md +1 -1
- package/lib/Schema.d.ts +26 -2
- package/lib/Schema.js.map +1 -1
- package/lib/components/Alert.js +3 -1
- package/lib/components/Alert.js.map +2 -2
- package/lib/components/AnchorNav.d.ts +22 -21
- package/lib/components/AnchorNav.js +7 -3
- package/lib/components/AnchorNav.js.map +2 -2
- package/lib/components/ArrayInput.d.ts +84 -84
- package/lib/components/AssociatedSelection.d.ts +930 -0
- package/lib/components/AssociatedSelection.js +89 -0
- package/lib/components/AssociatedSelection.js.map +13 -0
- package/lib/components/Badge.d.ts +16 -3
- package/lib/components/Badge.js +54 -5
- package/lib/components/Badge.js.map +2 -2
- package/lib/components/Button.d.ts +24 -22
- package/lib/components/Button.js +13 -7
- package/lib/components/Button.js.map +2 -2
- package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
- package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
- package/lib/components/ChainedSelection.js.map +13 -0
- package/lib/components/Checkbox.d.ts +1 -1
- package/lib/components/Checkbox.js +1 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/Collapse.js +1 -1
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/ColorPicker.d.ts +84 -84
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +1 -1
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +84 -84
- package/lib/components/DateRangePicker.js +1 -1
- 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/Editor.d.ts +84 -84
- package/lib/components/GroupedSelection.d.ts +907 -0
- package/lib/components/GroupedSelection.js +48 -0
- package/lib/components/GroupedSelection.js.map +13 -0
- package/lib/components/InputBox.js +1 -1
- package/lib/components/InputBox.js.map +2 -2
- package/lib/components/Link.d.ts +84 -0
- package/lib/components/Link.js +43 -0
- package/lib/components/Link.js.map +13 -0
- 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/ModalManager.js +1 -1
- package/lib/components/ModalManager.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/MonthRangePicker.js +1 -1
- package/lib/components/MonthRangePicker.js.map +2 -2
- package/lib/components/NumberInput.d.ts +20 -20
- package/lib/components/PickerColumn.d.ts +514 -0
- package/lib/components/PickerColumn.js +279 -0
- package/lib/components/PickerColumn.js.map +13 -0
- package/lib/components/PickerContainer.d.ts +513 -0
- package/lib/components/PickerContainer.js +96 -0
- package/lib/components/PickerContainer.js.map +13 -0
- package/lib/components/Radios.d.ts +22 -21
- package/lib/components/Radios.js +1 -0
- package/lib/components/Radios.js.map +2 -2
- package/lib/components/Rating.d.ts +21 -21
- package/lib/components/ResultBox.d.ts +84 -84
- package/lib/components/RichText.d.ts +6 -1
- package/lib/components/RichText.js +207 -8
- package/lib/components/RichText.js.map +2 -2
- package/lib/components/SearchBox.d.ts +84 -84
- package/lib/components/SearchBox.js +4 -4
- package/lib/components/SearchBox.js.map +2 -2
- package/lib/components/Select.d.ts +252 -237
- package/lib/components/Select.js +28 -4
- package/lib/components/Select.js.map +2 -2
- package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
- package/lib/components/Selection.js +134 -0
- package/lib/components/Selection.js.map +13 -0
- package/lib/components/SparkLine.d.ts +85 -84
- package/lib/components/SparkLine.js +2 -2
- package/lib/components/SparkLine.js.map +2 -2
- package/lib/components/Steps.d.ts +3 -3
- package/lib/components/Steps.js.map +1 -1
- package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
- package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
- package/lib/components/TableSelection.js.map +13 -0
- package/lib/components/Tabs.d.ts +20 -20
- package/lib/components/TabsTransfer.d.ts +84 -84
- package/lib/components/TabsTransfer.js +9 -9
- package/lib/components/TabsTransfer.js.map +2 -2
- package/lib/components/TabsTransferPicker.d.ts +489 -0
- package/lib/components/TabsTransferPicker.js +60 -0
- package/lib/components/TabsTransferPicker.js.map +13 -0
- package/lib/components/Toast.js +2 -2
- package/lib/components/Toast.js.map +2 -2
- package/lib/components/Transfer.d.ts +908 -274
- package/lib/components/Transfer.js +31 -24
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +487 -0
- package/lib/components/TransferDropDown.js +59 -0
- package/lib/components/TransferDropDown.js.map +13 -0
- package/lib/components/TransferPicker.d.ts +489 -0
- package/lib/components/TransferPicker.js +60 -0
- package/lib/components/TransferPicker.js.map +13 -0
- package/lib/components/Tree.d.ts +84 -84
- package/lib/components/Tree.js +5 -3
- package/lib/components/Tree.js.map +2 -2
- package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
- package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
- package/lib/components/TreeSelection.js.map +13 -0
- package/lib/components/WithRemoteConfig.d.ts +8 -0
- package/lib/components/WithRemoteConfig.js +29 -3
- package/lib/components/WithRemoteConfig.js.map +2 -2
- package/lib/components/calendar/DaysView.js +2 -2
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/condition-builder/Field.js +5 -3
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Func.js +2 -2
- package/lib/components/condition-builder/Func.js.map +2 -2
- 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.js +3 -3
- package/lib/components/condition-builder/Item.js.map +2 -2
- package/lib/components/condition-builder/Value.js +2 -1
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/types.d.ts +5 -0
- package/lib/components/condition-builder/types.js.map +1 -1
- package/lib/components/icons.js +14 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +8 -8
- package/lib/components/index.js +16 -16
- package/lib/components/index.js.map +2 -2
- package/lib/envOverwrite.js.map +2 -2
- package/lib/factory.d.ts +9 -1
- package/lib/factory.js +13 -6
- package/lib/factory.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/hooks/index.d.ts +5 -0
- package/lib/hooks/index.js +14 -0
- package/lib/hooks/index.js.map +13 -0
- package/lib/hooks/use-set-state.d.ts +2 -0
- package/lib/hooks/use-set-state.js +15 -0
- package/lib/hooks/use-set-state.js.map +13 -0
- package/lib/hooks/use-touch.d.ts +16 -0
- package/lib/hooks/use-touch.js +73 -0
- package/lib/hooks/use-touch.js.map +13 -0
- package/lib/hooks/use-update-effect.d.ts +3 -0
- package/lib/hooks/use-update-effect.js +17 -0
- package/lib/hooks/use-update-effect.js.map +13 -0
- package/lib/icons/clock.js +10 -0
- package/lib/icons/loading-outline.js +7 -0
- package/lib/icons/status-close.js +11 -0
- package/lib/icons/status-fail.js +11 -0
- package/lib/icons/status-info.js +10 -0
- package/lib/icons/status-success.js +11 -0
- package/lib/icons/status-warning.js +10 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +4 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +5 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +6 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +9 -4
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +17 -1
- package/lib/renderers/Action.js +21 -8
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/AnchorNav.d.ts +1 -0
- package/lib/renderers/AnchorNav.js +2 -2
- package/lib/renderers/AnchorNav.js.map +2 -2
- package/lib/renderers/Avatar.js +3 -3
- package/lib/renderers/Avatar.js.map +2 -2
- package/lib/renderers/Breadcrumb.js +1 -1
- package/lib/renderers/Breadcrumb.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +9 -0
- package/lib/renderers/CRUD.js +48 -23
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.d.ts +4 -0
- package/lib/renderers/Card.js +29 -23
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Chart.js +1 -1
- package/lib/renderers/Chart.js.map +2 -2
- package/lib/renderers/Collapse.d.ts +1 -1
- package/lib/renderers/Collapse.js +8 -3
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +0 -252
- package/lib/renderers/Dialog.js +1 -4
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.js +0 -3
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +13 -1
- package/lib/renderers/DropDownButton.js +9 -5
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/Checkbox.d.ts +5 -0
- package/lib/renderers/Form/Checkbox.js +4 -0
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Combo.js +2 -2
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +4 -5
- package/lib/renderers/Form/Editor.d.ts +3 -4
- package/lib/renderers/Form/Editor.js +1 -1
- package/lib/renderers/Form/Editor.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputCity.js +7 -6
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputColor.d.ts +84 -84
- package/lib/renderers/Form/InputExcel.d.ts +5 -0
- package/lib/renderers/Form/InputExcel.js +24 -3
- package/lib/renderers/Form/InputExcel.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +12 -6
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +8 -0
- package/lib/renderers/Form/InputImage.js +18 -8
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputTable.d.ts +23 -5
- package/lib/renderers/Form/InputTable.js +32 -3
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +1 -1
- package/lib/renderers/Form/Item.js.map +1 -1
- package/lib/renderers/Form/Options.js +19 -6
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Picker.js +2 -2
- package/lib/renderers/Form/Picker.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +41 -4
- package/lib/renderers/Form/Select.js +23 -3
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
- package/lib/renderers/Form/TabsTransferPicker.js +29 -0
- package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
- package/lib/renderers/Form/Transfer.js +3 -2
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/TransferPicker.d.ts +48 -0
- package/lib/renderers/Form/TransferPicker.js +29 -0
- package/lib/renderers/Form/TransferPicker.js.map +13 -0
- package/lib/renderers/Form/TreeSelect.js +2 -2
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +1 -1
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +15 -3
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/IFrame.js +3 -5
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Image.d.ts +1 -0
- package/lib/renderers/Image.js +15 -1
- package/lib/renderers/Image.js.map +2 -2
- package/lib/renderers/Json.d.ts +4 -0
- package/lib/renderers/Json.js +7 -12
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/Link.d.ts +18 -3
- package/lib/renderers/Link.js +27 -15
- package/lib/renderers/Link.js.map +2 -2
- package/lib/renderers/List.js +1 -1
- package/lib/renderers/List.js.map +2 -2
- package/lib/renderers/Log.d.ts +2 -2
- package/lib/renderers/Log.js +7 -1
- package/lib/renderers/Log.js.map +2 -2
- package/lib/renderers/Mapping.d.ts +9 -2
- package/lib/renderers/Mapping.js +18 -6
- package/lib/renderers/Mapping.js.map +2 -2
- package/lib/renderers/Nav.d.ts +81 -25
- package/lib/renderers/Nav.js +292 -31
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.js +4 -1
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Portlet.d.ts +125 -0
- package/lib/renderers/Portlet.js +156 -0
- package/lib/renderers/Portlet.js.map +13 -0
- package/lib/renderers/Property.js +2 -1
- package/lib/renderers/Property.js.map +2 -2
- package/lib/renderers/SearchBox.d.ts +6 -1
- package/lib/renderers/SearchBox.js +19 -5
- package/lib/renderers/SearchBox.js.map +2 -2
- package/lib/renderers/Service.d.ts +10 -1
- package/lib/renderers/Service.js +85 -3
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/SparkLine.d.ts +4 -0
- package/lib/renderers/SparkLine.js.map +2 -2
- package/lib/renderers/Steps.d.ts +4 -4
- package/lib/renderers/Steps.js +5 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/ColumnToggler.d.ts +113 -0
- package/lib/renderers/Table/ColumnToggler.js +216 -0
- package/lib/renderers/Table/ColumnToggler.js.map +13 -0
- package/lib/renderers/Table/ItemActionsWrapper.d.ts +11 -0
- package/lib/renderers/Table/ItemActionsWrapper.js +31 -0
- package/lib/renderers/Table/ItemActionsWrapper.js.map +13 -0
- package/lib/renderers/Table/TableBody.d.ts +5 -1
- package/lib/renderers/Table/TableBody.js.map +1 -1
- package/lib/renderers/Table/TableCell.js +3 -1
- package/lib/renderers/Table/TableCell.js.map +2 -2
- package/lib/renderers/Table/TableContent.d.ts +5 -2
- package/lib/renderers/Table/TableContent.js +21 -1
- package/lib/renderers/Table/TableContent.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +27 -5
- package/lib/renderers/Table/index.js +251 -101
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.js +9 -1
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/WebComponent.js +1 -1
- package/lib/renderers/WebComponent.js.map +2 -2
- package/lib/store/app.d.ts +0 -1
- package/lib/store/combo.d.ts +2 -18
- package/lib/store/crud.d.ts +0 -1
- package/lib/store/crud.js +3 -7
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +1 -2
- package/lib/store/form.js +5 -6
- package/lib/store/form.js.map +2 -2
- package/lib/store/modal.d.ts +1 -1
- package/lib/store/modal.js +4 -0
- package/lib/store/modal.js.map +2 -2
- package/lib/store/root.d.ts +0 -1
- package/lib/store/service.d.ts +0 -1
- package/lib/store/service.js +5 -17
- package/lib/store/service.js.map +2 -2
- package/lib/store/table.d.ts +260 -5
- package/lib/store/table.js +83 -7
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +1360 -244
- package/lib/themes/ang.css +1360 -244
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +1360 -244
- package/lib/themes/antd.css +1360 -244
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1960 -517
- package/lib/themes/cxd.css +1960 -517
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +1360 -244
- package/lib/themes/dark.css +1360 -244
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +1960 -517
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +37 -0
- package/lib/types.js +0 -5
- package/lib/types.js.map +2 -2
- package/lib/utils/api.d.ts +3 -2
- package/lib/utils/api.js +43 -15
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/attachmentAdpator.d.ts +7 -0
- package/lib/utils/attachmentAdpator.js +82 -0
- package/lib/utils/attachmentAdpator.js.map +13 -0
- package/lib/utils/dom.d.ts +4 -0
- package/lib/utils/dom.js +11 -1
- package/lib/utils/dom.js.map +2 -2
- package/lib/utils/handleAction.d.ts +7 -0
- package/lib/utils/handleAction.js +30 -0
- package/lib/utils/handleAction.js.map +13 -0
- package/lib/utils/helper.d.ts +3 -1
- package/lib/utils/helper.js +14 -5
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/icon.js +3 -0
- package/lib/utils/icon.js.map +2 -2
- package/lib/utils/tpl-builtin.d.ts +1 -1
- package/lib/utils/tpl-builtin.js +25 -15
- package/lib/utils/tpl-builtin.js.map +2 -2
- package/lib/utils/validations.js +62 -5
- package/lib/utils/validations.js.map +2 -2
- package/package.json +1 -2
- package/schema.json +3638 -1030
- package/scss/_mixins.scss +27 -0
- package/scss/_properties.scss +88 -13
- package/scss/_utilities.scss +4 -0
- package/scss/base/_normalize.scss +2 -0
- package/scss/components/_anchor-nav.scss +88 -29
- package/scss/components/_badge.scss +67 -2
- package/scss/components/_button.scss +34 -3
- package/scss/components/_card.scss +8 -14
- package/scss/components/_collapse.scss +41 -8
- package/scss/components/_column-toggler.scss +234 -0
- package/scss/components/_dropdown.scss +2 -1
- package/scss/components/_image-gallery.scss +1 -1
- package/scss/components/_images.scss +2 -1
- package/scss/components/_link.scss +6 -0
- package/scss/components/_mapping.scss +6 -0
- package/scss/components/_markdown.scss +266 -0
- package/scss/components/_nav.scss +236 -154
- package/scss/components/_page.scss +5 -4
- package/scss/components/_picker-columns.scss +123 -0
- package/scss/components/_popover.scss +17 -0
- package/scss/components/_portlet.scss +51 -0
- package/scss/components/_progress.scss +2 -0
- package/scss/components/_spinner.scss +6 -2
- package/scss/components/_status.scss +1 -1
- package/scss/components/_steps.scss +1 -1
- package/scss/components/_table.scss +51 -1
- package/scss/components/form/_checks.scss +0 -351
- package/scss/components/form/_color.scss +1 -0
- package/scss/components/form/_date-range.scss +2 -0
- package/scss/components/form/_date.scss +2 -0
- package/scss/components/form/_fieldset.scss +6 -3
- package/scss/components/form/_file.scss +5 -4
- package/scss/components/form/_group.scss +4 -0
- package/scss/components/form/_image.scss +7 -2
- package/scss/components/form/_list.scss +1 -0
- package/scss/components/form/_location.scss +1 -1
- package/scss/components/form/_selection.scss +354 -0
- package/scss/components/form/_text.scss +13 -0
- package/scss/components/form/_textarea.scss +10 -0
- package/scss/components/form/_transfer.scss +77 -18
- package/scss/themes/_common.scss +7 -0
- package/scss/themes/_cxd-colors.scss +56 -0
- package/scss/themes/_cxd-variables.scss +219 -91
- package/scss/themes/cxd.scss +370 -0
- package/sdk/ang-ie11.css +1752 -431
- package/sdk/ang.css +1706 -323
- package/sdk/antd-ie11.css +1739 -420
- package/sdk/antd.css +1706 -323
- package/sdk/charts.js +13 -13
- package/sdk/color-picker.js +65 -69
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +3015 -1397
- package/sdk/cxd.css +2402 -651
- package/sdk/dark-ie11.css +1750 -429
- package/sdk/dark.css +1706 -323
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/ie11-patch.css +1 -0
- package/sdk/locale/de-DE.js +5 -0
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +20 -30
- package/sdk/rich-text.js +62 -64
- package/sdk/sdk-ie11.css +3015 -1397
- package/sdk/sdk.css +2402 -651
- package/sdk/sdk.js +1278 -1220
- 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 +32 -0
- package/src/components/Alert.tsx +3 -1
- package/src/components/AnchorNav.tsx +15 -4
- package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +41 -37
- package/src/components/Badge.tsx +126 -23
- package/src/components/Button.tsx +23 -7
- package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
- package/src/components/Checkbox.tsx +5 -2
- package/src/components/Collapse.tsx +14 -9
- package/src/components/DatePicker.tsx +1 -1
- package/src/components/DateRangePicker.tsx +23 -11
- package/src/components/Drawer.tsx +3 -2
- package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
- package/src/components/InputBox.tsx +1 -1
- package/src/components/Link.tsx +85 -0
- package/src/components/Modal.tsx +3 -2
- package/src/components/ModalManager.ts +1 -1
- package/src/components/MonthRangePicker.tsx +10 -2
- package/src/components/PickerColumn.tsx +429 -0
- package/src/components/PickerContainer.tsx +128 -0
- package/src/components/Radios.tsx +3 -8
- package/src/components/RichText.tsx +244 -3
- package/src/components/SearchBox.tsx +4 -5
- package/src/components/Select.tsx +61 -5
- package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
- package/src/components/SparkLine.tsx +4 -1
- package/src/components/Steps.tsx +3 -3
- package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
- package/src/components/TabsTransfer.tsx +13 -7
- package/src/components/TabsTransferPicker.tsx +85 -0
- package/src/components/Toast.tsx +5 -5
- package/src/components/Transfer.tsx +71 -50
- package/src/components/TransferDropDown.tsx +117 -0
- package/src/components/TransferPicker.tsx +84 -0
- package/src/components/Tree.tsx +6 -8
- package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
- package/src/components/WithRemoteConfig.tsx +44 -4
- package/src/components/calendar/DaysView.tsx +2 -2
- package/src/components/condition-builder/Field.tsx +6 -7
- package/src/components/condition-builder/Func.tsx +3 -3
- package/src/components/condition-builder/InputSwitch.tsx +3 -3
- package/src/components/condition-builder/Item.tsx +5 -12
- package/src/components/condition-builder/Value.tsx +3 -0
- package/src/components/condition-builder/types.ts +6 -0
- package/src/components/icons.tsx +15 -0
- package/src/components/index.tsx +13 -13
- package/src/envOverwrite.ts +0 -1
- package/src/factory.tsx +31 -6
- package/src/hooks/index.ts +5 -0
- package/src/hooks/use-set-state.ts +19 -0
- package/src/hooks/use-touch.ts +100 -0
- package/src/hooks/use-update-effect.ts +16 -0
- package/src/icons/clock.svg +1 -0
- package/src/icons/loading-outline.svg +4 -0
- package/src/icons/status-close.svg +10 -0
- package/src/icons/status-fail.svg +10 -0
- package/src/icons/status-info.svg +8 -0
- package/src/icons/status-success.svg +10 -0
- package/src/icons/status-warning.svg +8 -0
- package/src/index.tsx +3 -0
- package/src/locale/de-DE.ts +5 -0
- package/src/locale/en-US.ts +6 -1
- package/src/locale/zh-CN.ts +9 -4
- package/src/renderers/Action.tsx +99 -15
- package/src/renderers/AnchorNav.tsx +4 -0
- package/src/renderers/Avatar.tsx +8 -4
- package/src/renderers/Breadcrumb.tsx +5 -1
- package/src/renderers/CRUD.tsx +70 -56
- package/src/renderers/Card.tsx +63 -34
- package/src/renderers/Chart.tsx +6 -2
- package/src/renderers/Collapse.tsx +9 -3
- package/src/renderers/Dialog.tsx +1 -5
- package/src/renderers/Drawer.tsx +0 -4
- package/src/renderers/DropDownButton.tsx +34 -12
- package/src/renderers/Form/Checkbox.tsx +8 -0
- package/src/renderers/Form/Combo.tsx +2 -3
- package/src/renderers/Form/Editor.tsx +19 -20
- package/src/renderers/Form/InputCity.tsx +4 -8
- package/src/renderers/Form/InputExcel.tsx +28 -3
- package/src/renderers/Form/InputFile.tsx +30 -20
- package/src/renderers/Form/InputImage.tsx +39 -13
- package/src/renderers/Form/InputTable.tsx +88 -9
- package/src/renderers/Form/Item.tsx +1 -1
- package/src/renderers/Form/Options.tsx +32 -7
- package/src/renderers/Form/Picker.tsx +3 -2
- package/src/renderers/Form/Select.tsx +144 -21
- package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
- package/src/renderers/Form/Transfer.tsx +3 -2
- package/src/renderers/Form/TransferPicker.tsx +123 -0
- package/src/renderers/Form/TreeSelect.tsx +25 -0
- package/src/renderers/Form/index.tsx +1 -1
- package/src/renderers/Form/wrapControl.tsx +28 -3
- package/src/renderers/IFrame.tsx +4 -5
- package/src/renderers/Image.tsx +10 -0
- package/src/renderers/Json.tsx +19 -10
- package/src/renderers/Link.tsx +53 -14
- package/src/renderers/List.tsx +1 -1
- package/src/renderers/Log.tsx +16 -3
- package/src/renderers/Mapping.tsx +27 -11
- package/src/renderers/Nav.tsx +392 -60
- package/src/renderers/Page.tsx +3 -1
- package/src/renderers/Portlet.tsx +423 -0
- package/src/renderers/Property.tsx +3 -2
- package/src/renderers/SearchBox.tsx +23 -4
- package/src/renderers/Service.tsx +101 -3
- package/src/renderers/SparkLine.tsx +5 -0
- package/src/renderers/Steps.tsx +12 -9
- package/src/renderers/Table/ColumnToggler.tsx +544 -0
- package/src/renderers/Table/ItemActionsWrapper.tsx +44 -0
- package/src/renderers/Table/TableBody.tsx +1 -1
- package/src/renderers/Table/TableCell.tsx +16 -1
- package/src/renderers/Table/TableContent.tsx +41 -3
- package/src/renderers/Table/index.tsx +318 -92
- package/src/renderers/Tabs.tsx +9 -1
- package/src/renderers/WebComponent.tsx +2 -2
- package/src/store/crud.ts +3 -8
- package/src/store/form.ts +5 -10
- package/src/store/modal.ts +4 -0
- package/src/store/service.ts +5 -23
- package/src/store/table.ts +103 -4
- package/src/types.ts +57 -0
- package/src/utils/api.ts +63 -23
- package/src/utils/attachmentAdpator.ts +90 -0
- package/src/utils/dom.tsx +12 -0
- package/src/utils/handleAction.ts +41 -0
- package/src/utils/helper.ts +12 -3
- package/src/utils/icon.tsx +4 -0
- package/src/utils/tpl-builtin.ts +48 -17
- package/src/utils/validations.ts +80 -12
- package/dump.rdb +0 -0
- package/lib/components/AssociatedCheckboxes.d.ts +0 -762
- package/lib/components/AssociatedCheckboxes.js +0 -90
- package/lib/components/AssociatedCheckboxes.js.map +0 -13
- package/lib/components/ChainedCheckboxes.js.map +0 -13
- package/lib/components/Checkboxes.js +0 -101
- package/lib/components/Checkboxes.js.map +0 -13
- package/lib/components/ListCheckboxes.d.ts +0 -739
- package/lib/components/ListCheckboxes.js +0 -48
- package/lib/components/ListCheckboxes.js.map +0 -13
- package/lib/components/ListRadios.d.ts +0 -763
- package/lib/components/ListRadios.js +0 -86
- package/lib/components/ListRadios.js.map +0 -13
- package/lib/components/TableCheckboxes.js.map +0 -13
- package/lib/components/TreeCheckboxes.js.map +0 -13
- package/lib/components/TreeRadios.d.ts +0 -838
- package/lib/components/TreeRadios.js +0 -116
- package/lib/components/TreeRadios.js.map +0 -13
- package/src/components/ListRadios.tsx +0 -159
- package/src/components/TreeRadios.tsx +0 -202
package/README.md
CHANGED
package/lib/Schema.d.ts
CHANGED
@@ -39,6 +39,7 @@ import { QRCodeSchema } from './renderers/QRCode';
|
|
39
39
|
import { ServiceSchema } from './renderers/Service';
|
40
40
|
import { StatusSchema } from './renderers/Status';
|
41
41
|
import { TabsSchema } from './renderers/Tabs';
|
42
|
+
import { PortletSchema } from './renderers/Portlet';
|
42
43
|
import { TasksSchema } from './renderers/Tasks';
|
43
44
|
import { VBoxSchema } from './renderers/VBox';
|
44
45
|
import { VideoSchema } from './renderers/Video';
|
@@ -102,8 +103,10 @@ import { TransferControlSchema } from './renderers/Form/Transfer';
|
|
102
103
|
import { TreeSelectControlSchema } from './renderers/Form/TreeSelect';
|
103
104
|
import { UUIDControlSchema } from './renderers/Form/UUID';
|
104
105
|
import { FormControlSchema } from './renderers/Form/Control';
|
105
|
-
|
106
|
-
|
106
|
+
import { TransferPickerControlSchema } from './renderers/Form/TransferPicker';
|
107
|
+
import { TabsTransferPickerControlSchema } from './renderers/Form/TabsTransferPicker';
|
108
|
+
export declare type SchemaType = 'form' | 'button' | 'submit' | 'reset' | 'alert' | 'app' | 'audio' | 'avatar' | 'button-group' | 'button-toolbar' | 'breadcrumb' | 'card' | 'cards' | 'carousel' | 'chart' | 'collapse' | 'color' | 'container' | 'crud' | 'custom' | 'date' | 'static-date' | 'datetime' | 'static-datetime' | 'time' | 'static-time' | 'month' | 'static-month' | 'dialog' | 'divider' | 'dropdown-button' | 'drawer' | 'each' | 'flex' | 'flex-item' | 'grid' | 'grid-2d' | 'hbox' | 'icon' | 'iframe' | 'image' | 'static-image' | 'images' | 'static-images' | 'json' | 'static-json' | 'link' | 'list' | 'log' | 'static-list' | 'map' | 'mapping' | 'markdown' | 'nav' | 'page' | 'pagination' | 'pagination-wrapper' | 'property' | 'operation' | 'panel' | 'plain' | 'text' | 'progress' | 'qrcode' | 'qr-code' | 'remark' | 'search-box' | 'service' | 'sparkline' | 'status' | 'switch' | 'table' | 'static-table' | 'tabs' | 'html' | 'tpl' | 'tasks' | 'vbox' | 'video' | 'wizard' | 'wrapper' | 'web-component' | 'anchor-nav' | 'steps' | 'control' | 'input-array' | 'button' | 'submit' | 'reset' | 'button-group-select' | 'button-toolbar' | 'chained-select' | 'chart-radios' | 'checkbox' | 'checkboxes' | 'input-city' | 'input-color' | 'combo' | 'condition-builder' | 'container' | 'input-date' | 'input-datetime' | 'input-time' | 'input-quarter' | 'input-year' | 'input-month' | 'input-date-range' | 'input-time-range' | 'input-datetime-range' | 'input-excel' | 'diff-editor' | 'editor' | 'bat-editor' | 'c-editor' | 'coffeescript-editor' | 'cpp-editor' | 'csharp-editor' | 'css-editor' | 'dockerfile-editor' | 'fsharp-editor' | 'go-editor' | 'handlebars-editor' | 'html-editor' | 'ini-editor' | 'java-editor' | 'javascript-editor' | 'json-editor' | 'less-editor' | 'lua-editor' | 'markdown-editor' | 'msdax-editor' | 'objective-c-editor' | 'php-editor' | 'plaintext-editor' | 'postiats-editor' | 'powershell-editor' | 'pug-editor' | 'python-editor' | 'r-editor' | 'razor-editor' | 'ruby-editor' | 'sb-editor' | 'scss-editor' | 'sol-editor' | 'sql-editor' | 'swift-editor' | 'typescript-editor' | 'vb-editor' | 'xml-editor' | 'yaml-editor' | 'fieldset' | 'fieldSet' | 'input-file' | 'formula' | 'grid' | 'group' | 'hbox' | 'hidden' | 'icon-picker' | 'input-image' | 'input-group' | 'list-select' | 'location-picker' | 'matrix-checkboxes' | 'input-month-range' | 'input-quarter-range' | 'nested-select' | 'input-number' | 'panel' | 'picker' | 'radios' | 'input-range' | 'input-rating' | 'input-repeat' | 'input-rich-text' | 'select' | 'service' | 'static' | 'input-sub-form' | 'switch' | 'input-table' | 'tabs' | 'tabs-transfer' | 'input-tag' | 'input-text' | 'input-password' | 'input-email' | 'input-url' | 'uuid' | 'multi-select' | 'textarea' | 'transfer' | 'transfer-picker' | 'tabs-transfer-picker' | 'input-tree' | 'tree-select' | 'table-view' | 'portlet' | 'native-date' | 'native-time' | 'native-number' | 'code';
|
109
|
+
export declare type SchemaObject = PageSchema | TplSchema | RemarkSchema | ActionSchema | AlertSchema | AudioSchema | AvatarSchema | ButtonGroupSchema | ButtonToolbarSchema | CardSchema | CardsSchema | CarouselSchema | ChartSchema | CollapseSchema | ColorSchema | ContainerSchema | CRUDSchema | DateSchema | DialogSchema | DividerSchema | DrawerSchema | DropdownButtonSchema | EachSchema | GridSchema | Grid2DSchema | HBoxSchema | IconSchema | IFrameSchema | ImageSchema | ImagesSchema | JsonSchema | LinkSchema | ListSchema | MappingSchema | NavSchema | OperationSchema | PaginationSchema | PaginationWrapperSchema | PanelSchema | PlainSchema | ProgressSchema | QRCodeSchema | SearchBoxSchema | ServiceSchema | SparkLineSchema | StatusSchema | TableSchema | TabsSchema | TasksSchema | VBoxSchema | VideoSchema | WizardSchema | WrapperSchema | FormSchema | AnchorNavSchema | StepsSchema | PortletSchema | FormControlSchema | ArrayControlSchema | ButtonGroupControlSchema | ChainedSelectControlSchema | CheckboxControlSchema | CheckboxesControlSchema | InputCityControlSchema | InputColorControlSchema | ComboControlSchema | ConditionBuilderControlSchema | DateControlSchema | DateTimeControlSchema | TimeControlSchema | MonthControlSchema | MonthControlSchema | QuarterControlSchema | YearControlSchema | DateRangeControlSchema | DiffControlSchema | EditorControlSchema | FieldSetControlSchema | FileControlSchema | FormulaControlSchema | GroupControlSchema | HiddenControlSchema | IconPickerControlSchema | ImageControlSchema | InputGroupControlSchema | ListControlSchema | LocationControlSchema | UUIDControlSchema | MatrixControlSchema | MonthRangeControlSchema | QuarterRangeControlSchema | NestedSelectControlSchema | NumberControlSchema | PickerControlSchema | RadiosControlSchema | RangeControlSchema | RatingControlSchema | RichTextControlSchema | RepeatControlSchema | SelectControlSchema | SubFormControlSchema | SwitchControlSchema | StaticExactControlSchema | TableControlSchema | TabsTransferControlSchema | TagControlSchema | TextControlSchema | TextareaControlSchema | TransferControlSchema | TransferPickerControlSchema | TabsTransferPickerControlSchema | TreeControlSchema | TreeSelectControlSchema;
|
107
110
|
export declare type SchemaCollection = SchemaObject | SchemaTpl | Array<SchemaObject | SchemaTpl>;
|
108
111
|
/**
|
109
112
|
* 表达式,语法 `data.xxx > 5`。
|
@@ -139,6 +142,23 @@ export interface SchemaApiObject {
|
|
139
142
|
data?: {
|
140
143
|
[propName: string]: any;
|
141
144
|
};
|
145
|
+
/**
|
146
|
+
* 默认数据映射中的key如果带点,或者带大括号,会转成对象比如:
|
147
|
+
*
|
148
|
+
* {
|
149
|
+
* 'a.b': '123'
|
150
|
+
* }
|
151
|
+
*
|
152
|
+
* 经过数据映射后变成
|
153
|
+
* {
|
154
|
+
* a: {
|
155
|
+
* b: '123
|
156
|
+
* }
|
157
|
+
* }
|
158
|
+
*
|
159
|
+
* 如果想要关闭此功能,请设置 convertKeyToPath 为 false
|
160
|
+
*/
|
161
|
+
convertKeyToPath?: boolean;
|
142
162
|
/**
|
143
163
|
* 用来做接口返回的数据映射。
|
144
164
|
*/
|
@@ -313,6 +333,10 @@ export interface BaseSchema {
|
|
313
333
|
* 是否显示表达式
|
314
334
|
*/
|
315
335
|
visibleOn?: SchemaExpression;
|
336
|
+
/**
|
337
|
+
* 是否使用移动端交互
|
338
|
+
*/
|
339
|
+
useMobileUI?: boolean;
|
316
340
|
}
|
317
341
|
export interface Option {
|
318
342
|
/**
|
package/lib/Schema.js.map
CHANGED
@@ -8,6 +8,6 @@
|
|
8
8
|
"names": [],
|
9
9
|
"mappings": "",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {PageSchema} from './renderers/Page';\nimport {TplSchema} from './renderers/Tpl';\nimport {RemarkSchema} from './renderers/Remark';\nimport {ActionSchema} from './renderers/Action';\nimport {AlertSchema} from './renderers/Alert';\nimport {AudioSchema} from './renderers/Audio';\nimport {ButtonGroupSchema} from './renderers/ButtonGroup';\nimport {ButtonToolbarSchema} from './renderers/Form/ButtonToolbar';\nimport {CardSchema} from './renderers/Card';\nimport {CardsSchema} from './renderers/Cards';\nimport {FormSchema} from './renderers/Form';\nimport {CarouselSchema} from './renderers/Carousel';\nimport {ChartSchema} from './renderers/Chart';\nimport {CollapseSchema} from './renderers/Collapse';\nimport {ColorSchema} from './renderers/Color';\nimport {ContainerSchema} from './renderers/Container';\nimport {CRUDSchema} from './renderers/CRUD';\nimport {DateSchema} from './renderers/Date';\nimport {DividerSchema} from './renderers/Divider';\nimport {DropdownButtonSchema} from './renderers/DropDownButton';\nimport {EachSchema} from './renderers/Each';\nimport {GridSchema} from './renderers/Grid';\nimport {Grid2DSchema} from './renderers/Grid2D';\nimport {HBoxSchema} from './renderers/HBox';\nimport {IconSchema} from './renderers/Icon';\nimport {IFrameSchema} from './renderers/IFrame';\nimport {ImageSchema} from './renderers/Image';\nimport {ImagesSchema} from './renderers/Images';\nimport {JsonSchema} from './renderers/Json';\nimport {LinkSchema} from './renderers/Link';\nimport {ListSchema} from './renderers/List';\nimport {MappingSchema} from './renderers/Mapping';\nimport {NavSchema} from './renderers/Nav';\nimport {OperationSchema} from './renderers/Operation';\nimport {PanelSchema} from './renderers/Panel';\nimport {PlainSchema} from './renderers/Plain';\nimport {ProgressSchema} from './renderers/Progress';\nimport {QRCodeSchema} from './renderers/QRCode';\nimport {ServiceSchema} from './renderers/Service';\nimport {StatusSchema} from './renderers/Status';\nimport {TabsSchema} from './renderers/Tabs';\nimport {TasksSchema} from './renderers/Tasks';\nimport {VBoxSchema} from './renderers/VBox';\nimport {VideoSchema} from './renderers/Video';\nimport {WizardSchema} from './renderers/Wizard';\nimport {WrapperSchema} from './renderers/Wrapper';\nimport {TableSchema} from './renderers/Table';\nimport {DialogSchema, DialogSchemaBase} from './renderers/Dialog';\nimport {DrawerSchema} from './renderers/Drawer';\nimport {SearchBoxSchema} from './renderers/SearchBox';\nimport {SparkLineSchema} from './renderers/SparkLine';\nimport {PaginationWrapperSchema} from './renderers/PaginationWrapper';\nimport {PaginationSchema} from './renderers/Pagination';\nimport {AnchorNavSchema} from './renderers/AnchorNav';\nimport {AvatarSchema} from './renderers/Avatar';\nimport {StepsSchema} from './renderers/Steps';\nimport {ArrayControlSchema} from './renderers/Form/InputArray';\nimport {ButtonGroupControlSchema} from './renderers/Form/ButtonGroupSelect';\nimport {ChainedSelectControlSchema} from './renderers/Form/ChainedSelect';\nimport {CheckboxControlSchema} from './renderers/Form/Checkbox';\nimport {CheckboxesControlSchema} from './renderers/Form/Checkboxes';\nimport {ComboControlSchema} from './renderers/Form/Combo';\nimport {ConditionBuilderControlSchema} from './renderers/Form/ConditionBuilder';\nimport {DiffControlSchema} from './renderers/Form/DiffEditor';\nimport {EditorControlSchema} from './renderers/Form/Editor';\nimport {FieldSetControlSchema} from './renderers/Form/FieldSet';\nimport {FormulaControlSchema} from './renderers/Form/Formula';\nimport {GroupControlSchema} from './renderers/Form/Group';\nimport {HiddenControlSchema} from './renderers/Form/Hidden';\nimport {IconPickerControlSchema} from './renderers/Form/IconPicker';\nimport {InputCityControlSchema} from './renderers/Form/InputCity';\nimport {InputColorControlSchema} from './renderers/Form/InputColor';\nimport {\n DateControlSchema,\n DateTimeControlSchema,\n TimeControlSchema,\n MonthControlSchema,\n QuarterControlSchema,\n YearControlSchema\n} from './renderers/Form/InputDate';\nimport {DateRangeControlSchema} from './renderers/Form/InputDateRange';\nimport {FileControlSchema} from './renderers/Form/InputFile';\nimport {InputGroupControlSchema} from './renderers/Form/InputGroup';\nimport {ImageControlSchema} from './renderers/Form/InputImage';\nimport {MonthRangeControlSchema} from './renderers/Form/InputMonthRange';\nimport {QuarterRangeControlSchema} from './renderers/Form/InputQuarterRange';\nimport {NumberControlSchema} from './renderers/Form/InputNumber';\nimport {RangeControlSchema} from './renderers/Form/InputRange';\nimport {RatingControlSchema} from './renderers/Form/InputRating';\nimport {RepeatControlSchema} from './renderers/Form/InputRepeat';\nimport {RichTextControlSchema} from './renderers/Form/InputRichText';\nimport {SubFormControlSchema} from './renderers/Form/InputSubForm';\nimport {TableControlSchema} from './renderers/Form/InputTable';\nimport {TagControlSchema} from './renderers/Form/InputTag';\nimport {TextControlSchema} from './renderers/Form/InputText';\nimport {TreeControlSchema} from './renderers/Form/InputTree';\nimport {ListControlSchema} from './renderers/Form/ListSelect';\nimport {LocationControlSchema} from './renderers/Form/LocationPicker';\nimport {MatrixControlSchema} from './renderers/Form/MatrixCheckboxes';\nimport {NestedSelectControlSchema} from './renderers/Form/NestedSelect';\nimport {PickerControlSchema} from './renderers/Form/Picker';\nimport {RadiosControlSchema} from './renderers/Form/Radios';\nimport {SelectControlSchema} from './renderers/Form/Select';\nimport {StaticExactControlSchema} from './renderers/Form/Static';\nimport {SwitchControlSchema} from './renderers/Form/Switch';\nimport {TabsTransferControlSchema} from './renderers/Form/TabsTransfer';\nimport {TextareaControlSchema} from './renderers/Form/Textarea';\nimport {TransferControlSchema} from './renderers/Form/Transfer';\nimport {TreeSelectControlSchema} from './renderers/Form/TreeSelect';\nimport {UUIDControlSchema} from './renderers/Form/UUID';\nimport {FormControlSchema} from './renderers/Form/Control';\n\n// 每加个类型,这补充一下。\nexport type SchemaType =\n | 'form'\n | 'button'\n | 'submit'\n | 'reset'\n | 'alert'\n | 'app'\n | 'audio'\n | 'avatar'\n | 'button-group'\n | 'button-toolbar'\n | 'breadcrumb'\n | 'card'\n | 'cards'\n | 'carousel'\n | 'chart'\n | 'collapse'\n | 'color'\n | 'container'\n | 'crud'\n | 'custom'\n | 'date'\n | 'static-date' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'datetime'\n | 'static-datetime' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'time'\n | 'static-time' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'month'\n | 'static-month' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'dialog'\n | 'divider'\n | 'dropdown-button'\n | 'drawer'\n | 'each'\n | 'flex'\n | 'flex-item'\n | 'grid'\n | 'grid-2d'\n | 'hbox'\n | 'icon'\n | 'iframe'\n | 'image'\n | 'static-image' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'images'\n | 'static-images' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'json'\n | 'static-json' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'link'\n | 'list'\n | 'log'\n | 'static-list' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'map'\n | 'mapping'\n | 'markdown'\n | 'nav'\n | 'page'\n | 'pagination'\n | 'pagination-wrapper'\n | 'property'\n | 'operation'\n | 'panel'\n | 'plain'\n | 'text'\n | 'progress'\n | 'qrcode'\n | 'qr-code'\n | 'remark'\n | 'search-box'\n | 'service'\n | 'sparkline'\n | 'status'\n | 'switch'\n | 'table'\n | 'static-table' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'tabs'\n | 'html'\n | 'tpl'\n | 'tasks'\n | 'vbox'\n | 'video'\n | 'wizard'\n | 'wrapper'\n | 'web-component'\n | 'anchor-nav'\n | 'steps'\n | 'control'\n | 'input-array'\n | 'button'\n | 'submit'\n | 'reset'\n | 'button-group-select'\n | 'button-toolbar'\n | 'chained-select'\n | 'chart-radios'\n | 'checkbox'\n | 'checkboxes'\n | 'input-city'\n | 'input-color'\n | 'combo'\n | 'condition-builder'\n | 'container'\n | 'input-date'\n | 'input-datetime'\n | 'input-time'\n | 'input-quarter'\n | 'input-year'\n | 'input-month'\n | 'input-date-range'\n | 'input-time-range'\n | 'input-datetime-range'\n | 'input-excel'\n | 'diff-editor'\n\n // editor 系列\n | 'editor'\n | 'bat-editor'\n | 'c-editor'\n | 'coffeescript-editor'\n | 'cpp-editor'\n | 'csharp-editor'\n | 'css-editor'\n | 'dockerfile-editor'\n | 'fsharp-editor'\n | 'go-editor'\n | 'handlebars-editor'\n | 'html-editor'\n | 'ini-editor'\n | 'java-editor'\n | 'javascript-editor'\n | 'json-editor'\n | 'less-editor'\n | 'lua-editor'\n | 'markdown-editor'\n | 'msdax-editor'\n | 'objective-c-editor'\n | 'php-editor'\n | 'plaintext-editor'\n | 'postiats-editor'\n | 'powershell-editor'\n | 'pug-editor'\n | 'python-editor'\n | 'r-editor'\n | 'razor-editor'\n | 'ruby-editor'\n | 'sb-editor'\n | 'scss-editor'\n | 'sol-editor'\n | 'sql-editor'\n | 'swift-editor'\n | 'typescript-editor'\n | 'vb-editor'\n | 'xml-editor'\n | 'yaml-editor'\n\n //\n | 'fieldset'\n | 'fieldSet'\n | 'input-file'\n | 'formula'\n | 'grid'\n | 'group'\n | 'hbox'\n | 'hidden'\n | 'icon-picker'\n | 'input-image'\n | 'input-group'\n | 'list-select'\n | 'location-picker'\n | 'matrix-checkboxes'\n | 'input-month-range'\n | 'input-quarter-range'\n | 'nested-select'\n | 'input-number'\n | 'panel'\n | 'picker'\n | 'radios'\n | 'input-range'\n | 'input-rating'\n | 'input-repeat'\n | 'input-rich-text'\n | 'select'\n | 'service'\n | 'static'\n | 'input-sub-form'\n | 'switch'\n | 'input-table'\n | 'tabs'\n | 'tabs-transfer'\n | 'input-tag'\n | 'input-text'\n | 'input-password'\n | 'input-email'\n | 'input-url'\n | 'uuid'\n | 'multi-select'\n | 'textarea'\n | 'transfer'\n | 'input-tree'\n | 'tree-select'\n | 'table-view'\n\n // 原生 input 类型\n | 'native-date'\n | 'native-time'\n | 'native-number'\n | 'code';\n\nexport type SchemaObject =\n | PageSchema\n | TplSchema\n | RemarkSchema\n | ActionSchema\n | AlertSchema\n | AudioSchema\n | AvatarSchema\n | ButtonGroupSchema\n | ButtonToolbarSchema\n | CardSchema\n | CardsSchema\n | CarouselSchema\n | ChartSchema\n | CollapseSchema\n | ColorSchema\n | ContainerSchema\n | CRUDSchema\n | DateSchema\n | DialogSchema\n | DividerSchema\n | DrawerSchema\n | DropdownButtonSchema\n | EachSchema\n | GridSchema\n | Grid2DSchema\n | HBoxSchema\n | IconSchema\n | IFrameSchema\n | ImageSchema\n | ImagesSchema\n | JsonSchema\n | LinkSchema\n | ListSchema\n | MappingSchema\n | NavSchema\n | OperationSchema\n | PaginationSchema\n | PaginationWrapperSchema\n | PanelSchema\n | PlainSchema\n | ProgressSchema\n | QRCodeSchema\n | SearchBoxSchema\n | ServiceSchema\n | SparkLineSchema\n | StatusSchema\n | TableSchema\n | TabsSchema\n | TasksSchema\n | VBoxSchema\n | VideoSchema\n | WizardSchema\n | WrapperSchema\n | FormSchema\n | AnchorNavSchema\n | StepsSchema\n\n // 表单项\n | FormControlSchema\n | ArrayControlSchema\n | ButtonGroupControlSchema\n | ChainedSelectControlSchema\n | CheckboxControlSchema\n | CheckboxesControlSchema\n | InputCityControlSchema\n | InputColorControlSchema\n | ComboControlSchema\n | ConditionBuilderControlSchema\n | DateControlSchema\n | DateTimeControlSchema\n | TimeControlSchema\n | MonthControlSchema\n | MonthControlSchema\n | QuarterControlSchema\n | YearControlSchema\n | DateRangeControlSchema\n | DiffControlSchema\n | EditorControlSchema\n | FieldSetControlSchema\n | FileControlSchema\n | FormulaControlSchema\n | GroupControlSchema\n | HiddenControlSchema\n | IconPickerControlSchema\n | ImageControlSchema\n | InputGroupControlSchema\n | ListControlSchema\n | LocationControlSchema\n | UUIDControlSchema\n | MatrixControlSchema\n | MonthRangeControlSchema\n | QuarterRangeControlSchema\n | NestedSelectControlSchema\n | NumberControlSchema\n | PickerControlSchema\n | RadiosControlSchema\n | RangeControlSchema\n | RatingControlSchema\n | RichTextControlSchema\n | RepeatControlSchema\n | SelectControlSchema\n | SubFormControlSchema\n | SwitchControlSchema\n | StaticExactControlSchema\n | TableControlSchema\n | TabsTransferControlSchema\n | TagControlSchema\n | TextControlSchema\n | TextareaControlSchema\n | TransferControlSchema\n | TreeControlSchema\n | TreeSelectControlSchema;\n\nexport type SchemaCollection =\n | SchemaObject\n | SchemaTpl\n | Array<SchemaObject | SchemaTpl>;\n\n/**\n * 表达式,语法 `data.xxx > 5`。\n */\nexport type SchemaExpression = string;\n\n/**\n * css类名,配置字符串,或者对象。\n *\n * className: \"red\"\n *\n * 用对象配置时意味着你能跟表达式一起搭配使用,如:\n *\n * className: {\n * \"red\": \"data.progress > 80\",\n * \"blue\": \"data.progress > 60\"\n * }\n */\nexport type SchemaClassName =\n | string\n | {\n [propName: string]: boolean | undefined | null | SchemaExpression;\n };\n\n// /**\n// * css类名,配置字符串,或者对象。\n// *\n// * className: \"red\"\n// *\n// * 用对象配置时意味着你能跟表达式一起搭配使用,如:\n// *\n// * className: {\n// * \"red\": \"data.progress > 80\",\n// * \"blue\": \"data.progress > 60\"\n// * }\n// */\n// export type SchemaClassName = string;\n\nexport interface SchemaApiObject {\n /**\n * API 发送类型\n */\n method?: 'get' | 'post' | 'put' | 'delete' | 'patch';\n\n /**\n * API 发送目标地址\n */\n url: SchemaUrlPath;\n\n /**\n * 用来控制携带数据. 当key 为 `&` 值为 `$$` 时, 将所有原始数据打平设置到 data 中. 当值为 $$ 将所有原始数据赋值到对应的 key 中. 当值为 $ 打头时, 将变量值设置到 key 中.\n */\n data?: {\n [propName: string]: any;\n };\n\n /**\n * 用来做接口返回的数据映射。\n */\n responseData?: {\n [propName: string]: any;\n };\n\n /**\n * 如果 method 为 get 的接口,设置了 data 信息。\n * 默认 data 会自动附带在 query 里面发送给后端。\n *\n * 如果想通过 body 发送给后端,那么请把这个配置成 false。\n *\n * 但是,浏览器还不支持啊,设置了只是摆设。除非服务端支持 method-override\n */\n attachDataToQuery?: boolean;\n\n /**\n * 发送体的格式\n */\n dataType?: 'json' | 'form-data' | 'form';\n\n /**\n * 如果是文件下载接口,请配置这个。\n */\n responseType?: 'blob';\n\n /**\n * 携带 headers,用法和 data 一样,可以用变量。\n */\n headers?: {\n [propName: string]: string | number;\n };\n\n /**\n * 设置发送条件\n */\n sendOn?: SchemaExpression;\n\n /**\n * 默认都是追加模式,如果想完全替换把这个配置成 true\n */\n replaceData?: boolean;\n\n /**\n * 是否自动刷新,当 url 中的取值结果变化时,自动刷新数据。\n *\n * @default true\n */\n autoRefresh?: boolean;\n\n /**\n * 当开启自动刷新的时候,默认是 api 的 url 来自动跟踪变量变化的。\n * 如果你希望监控 url 外的变量,请配置 traceExpression。\n */\n trackExpression?: string;\n\n /**\n * 如果设置了值,同一个接口,相同参数,指定的时间(单位:ms)内请求将直接走缓存。\n */\n cache?: number;\n\n /**\n * qs 配置项\n */\n qsOptions?: {\n arrayFormat?: 'indices' | 'brackets' | 'repeat' | 'comma';\n indices?: boolean;\n allowDots?: boolean;\n };\n}\n\nexport type SchemaApi = string | SchemaApiObject;\n\n/**\n * 组件名字,这个名字可以用来定位,用于组件通信\n */\nexport type SchemaName = string;\n\n/**\n * 配置刷新动作,这个动作通常在完成渲染器本省的固定动作后出发。\n *\n * 一般用来配置目标组件的 name 属性。多个目标可以用逗号隔开。\n *\n * 当目标是 windows 时表示刷新整个页面。\n *\n * 刷新目标的同时还支持传递参数如: `foo?a=${a}&b=${b},boo?c=${c}`\n */\nexport type SchemaReload = string;\n\n/**\n * 页面跳转地址,支持相对地址。\n */\nexport type SchemaRedirect = string;\n\n/**\n * 支持两种语法,但是不能混着用。分别是:\n *\n * 1. `${xxx}` 或者 `${xxx|upperCase}`\n * 2. `<%= data.xxx %>`\n *\n *\n * 更多文档:https://baidu.gitee.io/amis/docs/concepts/template\n */\nexport type SchemaTpl = string;\n\n/**\n * 初始数据,设置得值可用于组件内部模板使用。\n */\nexport type SchemaDefaultData = {\n [propName: string]: any;\n};\n\n/**\n * 用来关联 json schema 的,不用管。\n */\nexport type SchemaSchema = string;\n\n/**\n * iconfont 里面的类名。\n */\nexport type SchemaIcon = string;\n\nexport type SchemaTokenizeableString = string;\n\nexport type SchemaUrlPath = SchemaTokenizeableString;\n\nexport type SchemaTooltip =\n | string\n | {\n /**\n * 标题\n */\n title?: string;\n\n /**\n * 内容\n */\n content: string;\n };\n\n/**\n * 消息文案配置,记住这个优先级是最低的,如果你的接口返回了 msg,接口返回的优先。\n */\nexport type SchemaMessage = {\n /**\n * 获取失败时的提示\n */\n fetchFailed?: string;\n\n /**\n * 获取成功的提示,默认为空。\n */\n fetchSuccess?: string;\n\n /**\n * 保存失败时的提示。\n */\n saveFailed?: string;\n\n /**\n * 保存成功时的提示。\n */\n saveSuccess?: string;\n};\n\nexport type SchemaFunction = string | Function;\n\nexport interface BaseSchema {\n type: SchemaType;\n\n /**\n * 容器 css 类名\n */\n className?: SchemaClassName;\n\n /**\n * 配合 definitions 一起使用,可以实现无限循环的渲染器。\n */\n $ref?: string;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n\n /**\n * 是否禁用表达式\n */\n disabledOn?: SchemaExpression;\n\n /**\n * 是否隐藏\n * @deprecated 推荐用 visible\n */\n hidden?: boolean;\n\n /**\n * 是否隐藏表达式\n * @deprecated 推荐用 visibleOn\n */\n hiddenOn?: SchemaExpression;\n\n /**\n * 是否显示\n */\n\n visible?: boolean;\n\n /**\n * 是否显示表达式\n */\n visibleOn?: SchemaExpression;\n}\n\nexport interface Option {\n /**\n * 用来显示的文字\n */\n label?: string;\n\n /**\n * 可以用来给 Option 标记个范围,让数据展示更清晰。\n *\n * 这个只有在数值展示的时候显示。\n */\n scopeLabel?: string;\n\n /**\n * 请保证数值唯一,多个选项值一致会认为是同一个选项。\n */\n value?: any;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n\n /**\n * 支持嵌套\n */\n children?: Options;\n\n /**\n * 是否可见\n */\n visible?: boolean;\n\n /**\n * 最好不要用!因为有 visible 就够了。\n *\n * @deprecated 用 visible\n */\n hidden?: boolean;\n\n /**\n * 描述,部分控件支持\n */\n description?: string;\n\n /**\n * 标记后数据延时加载\n */\n defer?: boolean;\n\n /**\n * 如果设置了,优先级更高,不设置走 source 接口加载。\n */\n deferApi?: SchemaApi;\n\n /**\n * 标记正在加载。只有 defer 为 true 时有意义。内部字段不可以外部设置\n */\n loading?: boolean;\n\n /**\n * 只有设置了 defer 才有意义,内部字段不可以外部设置\n */\n loaded?: boolean;\n\n [propName: string]: any;\n}\nexport interface Options extends Array<Option> {}\n\nexport interface FeedbackDialog extends DialogSchemaBase {\n /**\n * 可以用来配置 feedback 的出现条件\n */\n visibleOn?: string;\n\n /**\n * feedback 弹框取消是否中断后续操作\n */\n skipRestOnCancel?: boolean;\n\n /**\n * feedback 弹框确认是否中断后续操作\n */\n skipRestOnConfirm?: boolean;\n}\n\nexport type RootSchema = PageSchema;\n"
|
11
|
+
"import {PageSchema} from './renderers/Page';\nimport {TplSchema} from './renderers/Tpl';\nimport {RemarkSchema} from './renderers/Remark';\nimport {ActionSchema} from './renderers/Action';\nimport {AlertSchema} from './renderers/Alert';\nimport {AudioSchema} from './renderers/Audio';\nimport {ButtonGroupSchema} from './renderers/ButtonGroup';\nimport {ButtonToolbarSchema} from './renderers/Form/ButtonToolbar';\nimport {CardSchema} from './renderers/Card';\nimport {CardsSchema} from './renderers/Cards';\nimport {FormSchema} from './renderers/Form';\nimport {CarouselSchema} from './renderers/Carousel';\nimport {ChartSchema} from './renderers/Chart';\nimport {CollapseSchema} from './renderers/Collapse';\nimport {ColorSchema} from './renderers/Color';\nimport {ContainerSchema} from './renderers/Container';\nimport {CRUDSchema} from './renderers/CRUD';\nimport {DateSchema} from './renderers/Date';\nimport {DividerSchema} from './renderers/Divider';\nimport {DropdownButtonSchema} from './renderers/DropDownButton';\nimport {EachSchema} from './renderers/Each';\nimport {GridSchema} from './renderers/Grid';\nimport {Grid2DSchema} from './renderers/Grid2D';\nimport {HBoxSchema} from './renderers/HBox';\nimport {IconSchema} from './renderers/Icon';\nimport {IFrameSchema} from './renderers/IFrame';\nimport {ImageSchema} from './renderers/Image';\nimport {ImagesSchema} from './renderers/Images';\nimport {JsonSchema} from './renderers/Json';\nimport {LinkSchema} from './renderers/Link';\nimport {ListSchema} from './renderers/List';\nimport {MappingSchema} from './renderers/Mapping';\nimport {NavSchema} from './renderers/Nav';\nimport {OperationSchema} from './renderers/Operation';\nimport {PanelSchema} from './renderers/Panel';\nimport {PlainSchema} from './renderers/Plain';\nimport {ProgressSchema} from './renderers/Progress';\nimport {QRCodeSchema} from './renderers/QRCode';\nimport {ServiceSchema} from './renderers/Service';\nimport {StatusSchema} from './renderers/Status';\nimport {TabsSchema} from './renderers/Tabs';\nimport {PortletSchema} from './renderers/Portlet';\nimport {TasksSchema} from './renderers/Tasks';\nimport {VBoxSchema} from './renderers/VBox';\nimport {VideoSchema} from './renderers/Video';\nimport {WizardSchema} from './renderers/Wizard';\nimport {WrapperSchema} from './renderers/Wrapper';\nimport {TableSchema} from './renderers/Table';\nimport {DialogSchema, DialogSchemaBase} from './renderers/Dialog';\nimport {DrawerSchema} from './renderers/Drawer';\nimport {SearchBoxSchema} from './renderers/SearchBox';\nimport {SparkLineSchema} from './renderers/SparkLine';\nimport {PaginationWrapperSchema} from './renderers/PaginationWrapper';\nimport {PaginationSchema} from './renderers/Pagination';\nimport {AnchorNavSchema} from './renderers/AnchorNav';\nimport {AvatarSchema} from './renderers/Avatar';\nimport {StepsSchema} from './renderers/Steps';\nimport {ArrayControlSchema} from './renderers/Form/InputArray';\nimport {ButtonGroupControlSchema} from './renderers/Form/ButtonGroupSelect';\nimport {ChainedSelectControlSchema} from './renderers/Form/ChainedSelect';\nimport {CheckboxControlSchema} from './renderers/Form/Checkbox';\nimport {CheckboxesControlSchema} from './renderers/Form/Checkboxes';\nimport {ComboControlSchema} from './renderers/Form/Combo';\nimport {ConditionBuilderControlSchema} from './renderers/Form/ConditionBuilder';\nimport {DiffControlSchema} from './renderers/Form/DiffEditor';\nimport {EditorControlSchema} from './renderers/Form/Editor';\nimport {FieldSetControlSchema} from './renderers/Form/FieldSet';\nimport {FormulaControlSchema} from './renderers/Form/Formula';\nimport {GroupControlSchema} from './renderers/Form/Group';\nimport {HiddenControlSchema} from './renderers/Form/Hidden';\nimport {IconPickerControlSchema} from './renderers/Form/IconPicker';\nimport {InputCityControlSchema} from './renderers/Form/InputCity';\nimport {InputColorControlSchema} from './renderers/Form/InputColor';\nimport {\n DateControlSchema,\n DateTimeControlSchema,\n TimeControlSchema,\n MonthControlSchema,\n QuarterControlSchema,\n YearControlSchema\n} from './renderers/Form/InputDate';\nimport {DateRangeControlSchema} from './renderers/Form/InputDateRange';\nimport {FileControlSchema} from './renderers/Form/InputFile';\nimport {InputGroupControlSchema} from './renderers/Form/InputGroup';\nimport {ImageControlSchema} from './renderers/Form/InputImage';\nimport {MonthRangeControlSchema} from './renderers/Form/InputMonthRange';\nimport {QuarterRangeControlSchema} from './renderers/Form/InputQuarterRange';\nimport {NumberControlSchema} from './renderers/Form/InputNumber';\nimport {RangeControlSchema} from './renderers/Form/InputRange';\nimport {RatingControlSchema} from './renderers/Form/InputRating';\nimport {RepeatControlSchema} from './renderers/Form/InputRepeat';\nimport {RichTextControlSchema} from './renderers/Form/InputRichText';\nimport {SubFormControlSchema} from './renderers/Form/InputSubForm';\nimport {TableControlSchema} from './renderers/Form/InputTable';\nimport {TagControlSchema} from './renderers/Form/InputTag';\nimport {TextControlSchema} from './renderers/Form/InputText';\nimport {TreeControlSchema} from './renderers/Form/InputTree';\nimport {ListControlSchema} from './renderers/Form/ListSelect';\nimport {LocationControlSchema} from './renderers/Form/LocationPicker';\nimport {MatrixControlSchema} from './renderers/Form/MatrixCheckboxes';\nimport {NestedSelectControlSchema} from './renderers/Form/NestedSelect';\nimport {PickerControlSchema} from './renderers/Form/Picker';\nimport {RadiosControlSchema} from './renderers/Form/Radios';\nimport {SelectControlSchema} from './renderers/Form/Select';\nimport {StaticExactControlSchema} from './renderers/Form/Static';\nimport {SwitchControlSchema} from './renderers/Form/Switch';\nimport {TabsTransferControlSchema} from './renderers/Form/TabsTransfer';\nimport {TextareaControlSchema} from './renderers/Form/Textarea';\nimport {TransferControlSchema} from './renderers/Form/Transfer';\nimport {TreeSelectControlSchema} from './renderers/Form/TreeSelect';\nimport {UUIDControlSchema} from './renderers/Form/UUID';\nimport {FormControlSchema} from './renderers/Form/Control';\nimport {TransferPickerControlSchema} from './renderers/Form/TransferPicker';\nimport {TabsTransferPickerControlSchema} from './renderers/Form/TabsTransferPicker';\n\n// 每加个类型,这补充一下。\nexport type SchemaType =\n | 'form'\n | 'button'\n | 'submit'\n | 'reset'\n | 'alert'\n | 'app'\n | 'audio'\n | 'avatar'\n | 'button-group'\n | 'button-toolbar'\n | 'breadcrumb'\n | 'card'\n | 'cards'\n | 'carousel'\n | 'chart'\n | 'collapse'\n | 'color'\n | 'container'\n | 'crud'\n | 'custom'\n | 'date'\n | 'static-date' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'datetime'\n | 'static-datetime' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'time'\n | 'static-time' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'month'\n | 'static-month' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'dialog'\n | 'divider'\n | 'dropdown-button'\n | 'drawer'\n | 'each'\n | 'flex'\n | 'flex-item'\n | 'grid'\n | 'grid-2d'\n | 'hbox'\n | 'icon'\n | 'iframe'\n | 'image'\n | 'static-image' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'images'\n | 'static-images' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'json'\n | 'static-json' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'link'\n | 'list'\n | 'log'\n | 'static-list' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'map'\n | 'mapping'\n | 'markdown'\n | 'nav'\n | 'page'\n | 'pagination'\n | 'pagination-wrapper'\n | 'property'\n | 'operation'\n | 'panel'\n | 'plain'\n | 'text'\n | 'progress'\n | 'qrcode'\n | 'qr-code'\n | 'remark'\n | 'search-box'\n | 'service'\n | 'sparkline'\n | 'status'\n | 'switch'\n | 'table'\n | 'static-table' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'tabs'\n | 'html'\n | 'tpl'\n | 'tasks'\n | 'vbox'\n | 'video'\n | 'wizard'\n | 'wrapper'\n | 'web-component'\n | 'anchor-nav'\n | 'steps'\n | 'control'\n | 'input-array'\n | 'button'\n | 'submit'\n | 'reset'\n | 'button-group-select'\n | 'button-toolbar'\n | 'chained-select'\n | 'chart-radios'\n | 'checkbox'\n | 'checkboxes'\n | 'input-city'\n | 'input-color'\n | 'combo'\n | 'condition-builder'\n | 'container'\n | 'input-date'\n | 'input-datetime'\n | 'input-time'\n | 'input-quarter'\n | 'input-year'\n | 'input-month'\n | 'input-date-range'\n | 'input-time-range'\n | 'input-datetime-range'\n | 'input-excel'\n | 'diff-editor'\n\n // editor 系列\n | 'editor'\n | 'bat-editor'\n | 'c-editor'\n | 'coffeescript-editor'\n | 'cpp-editor'\n | 'csharp-editor'\n | 'css-editor'\n | 'dockerfile-editor'\n | 'fsharp-editor'\n | 'go-editor'\n | 'handlebars-editor'\n | 'html-editor'\n | 'ini-editor'\n | 'java-editor'\n | 'javascript-editor'\n | 'json-editor'\n | 'less-editor'\n | 'lua-editor'\n | 'markdown-editor'\n | 'msdax-editor'\n | 'objective-c-editor'\n | 'php-editor'\n | 'plaintext-editor'\n | 'postiats-editor'\n | 'powershell-editor'\n | 'pug-editor'\n | 'python-editor'\n | 'r-editor'\n | 'razor-editor'\n | 'ruby-editor'\n | 'sb-editor'\n | 'scss-editor'\n | 'sol-editor'\n | 'sql-editor'\n | 'swift-editor'\n | 'typescript-editor'\n | 'vb-editor'\n | 'xml-editor'\n | 'yaml-editor'\n\n //\n | 'fieldset'\n | 'fieldSet'\n | 'input-file'\n | 'formula'\n | 'grid'\n | 'group'\n | 'hbox'\n | 'hidden'\n | 'icon-picker'\n | 'input-image'\n | 'input-group'\n | 'list-select'\n | 'location-picker'\n | 'matrix-checkboxes'\n | 'input-month-range'\n | 'input-quarter-range'\n | 'nested-select'\n | 'input-number'\n | 'panel'\n | 'picker'\n | 'radios'\n | 'input-range'\n | 'input-rating'\n | 'input-repeat'\n | 'input-rich-text'\n | 'select'\n | 'service'\n | 'static'\n | 'input-sub-form'\n | 'switch'\n | 'input-table'\n | 'tabs'\n | 'tabs-transfer'\n | 'input-tag'\n | 'input-text'\n | 'input-password'\n | 'input-email'\n | 'input-url'\n | 'uuid'\n | 'multi-select'\n | 'textarea'\n | 'transfer'\n | 'transfer-picker'\n | 'tabs-transfer-picker'\n | 'input-tree'\n | 'tree-select'\n | 'table-view'\n | 'portlet'\n\n // 原生 input 类型\n | 'native-date'\n | 'native-time'\n | 'native-number'\n | 'code';\n\nexport type SchemaObject =\n | PageSchema\n | TplSchema\n | RemarkSchema\n | ActionSchema\n | AlertSchema\n | AudioSchema\n | AvatarSchema\n | ButtonGroupSchema\n | ButtonToolbarSchema\n | CardSchema\n | CardsSchema\n | CarouselSchema\n | ChartSchema\n | CollapseSchema\n | ColorSchema\n | ContainerSchema\n | CRUDSchema\n | DateSchema\n | DialogSchema\n | DividerSchema\n | DrawerSchema\n | DropdownButtonSchema\n | EachSchema\n | GridSchema\n | Grid2DSchema\n | HBoxSchema\n | IconSchema\n | IFrameSchema\n | ImageSchema\n | ImagesSchema\n | JsonSchema\n | LinkSchema\n | ListSchema\n | MappingSchema\n | NavSchema\n | OperationSchema\n | PaginationSchema\n | PaginationWrapperSchema\n | PanelSchema\n | PlainSchema\n | ProgressSchema\n | QRCodeSchema\n | SearchBoxSchema\n | ServiceSchema\n | SparkLineSchema\n | StatusSchema\n | TableSchema\n | TabsSchema\n | TasksSchema\n | VBoxSchema\n | VideoSchema\n | WizardSchema\n | WrapperSchema\n | FormSchema\n | AnchorNavSchema\n | StepsSchema\n | PortletSchema\n\n // 表单项\n | FormControlSchema\n | ArrayControlSchema\n | ButtonGroupControlSchema\n | ChainedSelectControlSchema\n | CheckboxControlSchema\n | CheckboxesControlSchema\n | InputCityControlSchema\n | InputColorControlSchema\n | ComboControlSchema\n | ConditionBuilderControlSchema\n | DateControlSchema\n | DateTimeControlSchema\n | TimeControlSchema\n | MonthControlSchema\n | MonthControlSchema\n | QuarterControlSchema\n | YearControlSchema\n | DateRangeControlSchema\n | DiffControlSchema\n | EditorControlSchema\n | FieldSetControlSchema\n | FileControlSchema\n | FormulaControlSchema\n | GroupControlSchema\n | HiddenControlSchema\n | IconPickerControlSchema\n | ImageControlSchema\n | InputGroupControlSchema\n | ListControlSchema\n | LocationControlSchema\n | UUIDControlSchema\n | MatrixControlSchema\n | MonthRangeControlSchema\n | QuarterRangeControlSchema\n | NestedSelectControlSchema\n | NumberControlSchema\n | PickerControlSchema\n | RadiosControlSchema\n | RangeControlSchema\n | RatingControlSchema\n | RichTextControlSchema\n | RepeatControlSchema\n | SelectControlSchema\n | SubFormControlSchema\n | SwitchControlSchema\n | StaticExactControlSchema\n | TableControlSchema\n | TabsTransferControlSchema\n | TagControlSchema\n | TextControlSchema\n | TextareaControlSchema\n | TransferControlSchema\n | TransferPickerControlSchema\n | TabsTransferPickerControlSchema\n | TreeControlSchema\n | TreeSelectControlSchema;\n\nexport type SchemaCollection =\n | SchemaObject\n | SchemaTpl\n | Array<SchemaObject | SchemaTpl>;\n\n/**\n * 表达式,语法 `data.xxx > 5`。\n */\nexport type SchemaExpression = string;\n\n/**\n * css类名,配置字符串,或者对象。\n *\n * className: \"red\"\n *\n * 用对象配置时意味着你能跟表达式一起搭配使用,如:\n *\n * className: {\n * \"red\": \"data.progress > 80\",\n * \"blue\": \"data.progress > 60\"\n * }\n */\nexport type SchemaClassName =\n | string\n | {\n [propName: string]: boolean | undefined | null | SchemaExpression;\n };\n\n// /**\n// * css类名,配置字符串,或者对象。\n// *\n// * className: \"red\"\n// *\n// * 用对象配置时意味着你能跟表达式一起搭配使用,如:\n// *\n// * className: {\n// * \"red\": \"data.progress > 80\",\n// * \"blue\": \"data.progress > 60\"\n// * }\n// */\n// export type SchemaClassName = string;\n\nexport interface SchemaApiObject {\n /**\n * API 发送类型\n */\n method?: 'get' | 'post' | 'put' | 'delete' | 'patch';\n\n /**\n * API 发送目标地址\n */\n url: SchemaUrlPath;\n\n /**\n * 用来控制携带数据. 当key 为 `&` 值为 `$$` 时, 将所有原始数据打平设置到 data 中. 当值为 $$ 将所有原始数据赋值到对应的 key 中. 当值为 $ 打头时, 将变量值设置到 key 中.\n */\n data?: {\n [propName: string]: any;\n };\n\n /**\n * 默认数据映射中的key如果带点,或者带大括号,会转成对象比如:\n *\n * {\n * 'a.b': '123'\n * }\n *\n * 经过数据映射后变成\n * {\n * a: {\n * b: '123\n * }\n * }\n *\n * 如果想要关闭此功能,请设置 convertKeyToPath 为 false\n */\n convertKeyToPath?: boolean;\n\n /**\n * 用来做接口返回的数据映射。\n */\n responseData?: {\n [propName: string]: any;\n };\n\n /**\n * 如果 method 为 get 的接口,设置了 data 信息。\n * 默认 data 会自动附带在 query 里面发送给后端。\n *\n * 如果想通过 body 发送给后端,那么请把这个配置成 false。\n *\n * 但是,浏览器还不支持啊,设置了只是摆设。除非服务端支持 method-override\n */\n attachDataToQuery?: boolean;\n\n /**\n * 发送体的格式\n */\n dataType?: 'json' | 'form-data' | 'form';\n\n /**\n * 如果是文件下载接口,请配置这个。\n */\n responseType?: 'blob';\n\n /**\n * 携带 headers,用法和 data 一样,可以用变量。\n */\n headers?: {\n [propName: string]: string | number;\n };\n\n /**\n * 设置发送条件\n */\n sendOn?: SchemaExpression;\n\n /**\n * 默认都是追加模式,如果想完全替换把这个配置成 true\n */\n replaceData?: boolean;\n\n /**\n * 是否自动刷新,当 url 中的取值结果变化时,自动刷新数据。\n *\n * @default true\n */\n autoRefresh?: boolean;\n\n /**\n * 当开启自动刷新的时候,默认是 api 的 url 来自动跟踪变量变化的。\n * 如果你希望监控 url 外的变量,请配置 traceExpression。\n */\n trackExpression?: string;\n\n /**\n * 如果设置了值,同一个接口,相同参数,指定的时间(单位:ms)内请求将直接走缓存。\n */\n cache?: number;\n\n /**\n * qs 配置项\n */\n qsOptions?: {\n arrayFormat?: 'indices' | 'brackets' | 'repeat' | 'comma';\n indices?: boolean;\n allowDots?: boolean;\n };\n}\n\nexport type SchemaApi = string | SchemaApiObject;\n\n/**\n * 组件名字,这个名字可以用来定位,用于组件通信\n */\nexport type SchemaName = string;\n\n/**\n * 配置刷新动作,这个动作通常在完成渲染器本省的固定动作后出发。\n *\n * 一般用来配置目标组件的 name 属性。多个目标可以用逗号隔开。\n *\n * 当目标是 windows 时表示刷新整个页面。\n *\n * 刷新目标的同时还支持传递参数如: `foo?a=${a}&b=${b},boo?c=${c}`\n */\nexport type SchemaReload = string;\n\n/**\n * 页面跳转地址,支持相对地址。\n */\nexport type SchemaRedirect = string;\n\n/**\n * 支持两种语法,但是不能混着用。分别是:\n *\n * 1. `${xxx}` 或者 `${xxx|upperCase}`\n * 2. `<%= data.xxx %>`\n *\n *\n * 更多文档:https://baidu.gitee.io/amis/docs/concepts/template\n */\nexport type SchemaTpl = string;\n\n/**\n * 初始数据,设置得值可用于组件内部模板使用。\n */\nexport type SchemaDefaultData = {\n [propName: string]: any;\n};\n\n/**\n * 用来关联 json schema 的,不用管。\n */\nexport type SchemaSchema = string;\n\n/**\n * iconfont 里面的类名。\n */\nexport type SchemaIcon = string;\n\nexport type SchemaTokenizeableString = string;\n\nexport type SchemaUrlPath = SchemaTokenizeableString;\n\nexport type SchemaTooltip =\n | string\n | {\n /**\n * 标题\n */\n title?: string;\n\n /**\n * 内容\n */\n content: string;\n };\n\n/**\n * 消息文案配置,记住这个优先级是最低的,如果你的接口返回了 msg,接口返回的优先。\n */\nexport type SchemaMessage = {\n /**\n * 获取失败时的提示\n */\n fetchFailed?: string;\n\n /**\n * 获取成功的提示,默认为空。\n */\n fetchSuccess?: string;\n\n /**\n * 保存失败时的提示。\n */\n saveFailed?: string;\n\n /**\n * 保存成功时的提示。\n */\n saveSuccess?: string;\n};\n\nexport type SchemaFunction = string | Function;\n\nexport interface BaseSchema {\n type: SchemaType;\n\n /**\n * 容器 css 类名\n */\n className?: SchemaClassName;\n\n /**\n * 配合 definitions 一起使用,可以实现无限循环的渲染器。\n */\n $ref?: string;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n\n /**\n * 是否禁用表达式\n */\n disabledOn?: SchemaExpression;\n\n /**\n * 是否隐藏\n * @deprecated 推荐用 visible\n */\n hidden?: boolean;\n\n /**\n * 是否隐藏表达式\n * @deprecated 推荐用 visibleOn\n */\n hiddenOn?: SchemaExpression;\n\n /**\n * 是否显示\n */\n\n visible?: boolean;\n\n /**\n * 是否显示表达式\n */\n visibleOn?: SchemaExpression;\n\n /**\n * 是否使用移动端交互\n */\n useMobileUI?: boolean;\n}\n\nexport interface Option {\n /**\n * 用来显示的文字\n */\n label?: string;\n\n /**\n * 可以用来给 Option 标记个范围,让数据展示更清晰。\n *\n * 这个只有在数值展示的时候显示。\n */\n scopeLabel?: string;\n\n /**\n * 请保证数值唯一,多个选项值一致会认为是同一个选项。\n */\n value?: any;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n\n /**\n * 支持嵌套\n */\n children?: Options;\n\n /**\n * 是否可见\n */\n visible?: boolean;\n\n /**\n * 最好不要用!因为有 visible 就够了。\n *\n * @deprecated 用 visible\n */\n hidden?: boolean;\n\n /**\n * 描述,部分控件支持\n */\n description?: string;\n\n /**\n * 标记后数据延时加载\n */\n defer?: boolean;\n\n /**\n * 如果设置了,优先级更高,不设置走 source 接口加载。\n */\n deferApi?: SchemaApi;\n\n /**\n * 标记正在加载。只有 defer 为 true 时有意义。内部字段不可以外部设置\n */\n loading?: boolean;\n\n /**\n * 只有设置了 defer 才有意义,内部字段不可以外部设置\n */\n loaded?: boolean;\n\n [propName: string]: any;\n}\nexport interface Options extends Array<Option> {}\n\nexport interface FeedbackDialog extends DialogSchemaBase {\n /**\n * 可以用来配置 feedback 的出现条件\n */\n visibleOn?: string;\n\n /**\n * feedback 弹框取消是否中断后续操作\n */\n skipRestOnCancel?: boolean;\n\n /**\n * feedback 弹框确认是否中断后续操作\n */\n skipRestOnConfirm?: boolean;\n}\n\nexport type RootSchema = PageSchema;\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/components/Alert.js
CHANGED
@@ -73,7 +73,9 @@ var Alert = /** @class */ (function (_super) {
|
|
73
73
|
var _this = this;
|
74
74
|
var isConfirm = this.state.confirm || this.state.prompt;
|
75
75
|
this.setState({
|
76
|
-
show: false
|
76
|
+
show: false,
|
77
|
+
prompt: false,
|
78
|
+
confirm: false
|
77
79
|
}, isConfirm ? function () { return _this._resolve(confirmed); } /*this._reject()*/ : undefined);
|
78
80
|
};
|
79
81
|
Alert.prototype.alert = function (content, title) {
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/Alert.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";AAAA;;;GAGG;;;;AAEH,6DAA0B;AAC1B,uCAAiC;AACjC,+DAA4B;AAC5B,iEAA8B;AAC9B,kCAA6D;AAC7D,oCAAkD;AAClD,6DAA0B;AAsB1B;IAA2B,sCAAuC;IAuBhE,eAAY,KAAiB;QAA7B,YACE,kBAAM,KAAK,CAAC,SAUb;QAjBD,WAAK,GAAe;YAClB,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,KAAK;SACf,CAAC;QAIA,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACnC,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACnD,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACjD,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACzC,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACzD,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAEzC,KAAK,CAAC,QAAQ,GAAG,KAAI,CAAC;;IACxB,CAAC;IAhCM,iBAAW,GAAlB;QACE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACnB,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAChD,IAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;YAChC,IAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1C,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAA,kBAAM,EAAC,8BAAC,mBAAW,OAAG,EAAE,GAAG,CAAC,CAAC;SAC9B;QAED,OAAO,KAAK,CAAC,QAAQ,CAAC;IACxB,CAAC;IAgCD,iCAAiB,GAAjB;QACE,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,kCAAkB,GAAlB,UAAmB,SAAqB,EAAE,SAAqB;QAC7D,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAC5C,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC3D;IACH,CAAC;IAED,oCAAoB,GAApB;QACE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxB,CAAC;IAGD,wBAAQ,GAAR,UAAS,UAAe;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,6BAAa,GAAb;;QACE,IAAM,IAAI,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAEzD,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAClB;IACH,CAAC;IAED,4BAAY,GAAZ;QACE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,qBAAK,GAAL,UAAM,SAAkB;QAAxB,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file Alert\n * @author fex\n */\n\nimport React from 'react';\nimport {render} from 'react-dom';\nimport Modal from './Modal';\nimport Button from './Button';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {LocaleProps, localeable} from '../locale';\nimport Html from './Html';\nimport {PlainObject} from '../types';\nexport interface AlertProps extends ThemeProps, LocaleProps {\n container?: any;\n confirmText?: string;\n cancelText?: string;\n title?: string;\n confirmBtnLevel?: string;\n alertBtnLevel?: string;\n}\n\nexport interface AlertState {\n show: boolean;\n title?: string;\n content: string;\n confirm: boolean;\n prompt?: boolean;\n controls?: any;\n value?: any;\n confirmText?: string;\n}\n\nexport class Alert extends React.Component<AlertProps, AlertState> {\n static instance: any = null;\n static getInstance() {\n if (!Alert.instance) {\n console.warn('Alert 组件应该没有被渲染,所以隐性的渲染到 body 了');\n const container = document.body;\n const div = document.createElement('div');\n container.appendChild(div);\n render(<FinnalAlert />, div);\n }\n\n return Alert.instance;\n }\n\n _resolve: (value: any) => void;\n _modal: any;\n _body: any;\n state: AlertState = {\n show: false,\n title: '',\n content: '',\n confirm: false\n };\n constructor(props: AlertProps) {\n super(props);\n\n this.close = this.close.bind(this);\n this.handleConfirm = this.handleConfirm.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.modalRef = this.modalRef.bind(this);\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\n this.scopeRef = this.scopeRef.bind(this);\n\n Alert.instance = this;\n }\n\n static defaultProps = {\n confirmText: 'confirm',\n cancelText: 'cancel',\n title: 'Alert.info',\n alertBtnLevel: 'primary',\n confirmBtnLevel: 'danger'\n };\n\n componentDidMount() {\n this._body && (this._body.innerHTML = this.state.content);\n }\n\n componentDidUpdate(prevProps: AlertProps, prevState: AlertState) {\n if (prevState.content !== this.state.content) {\n this._body && (this._body.innerHTML = this.state.content);\n }\n }\n\n componentWillUnmount() {\n Alert.instance = null;\n }\n\n schemaSope: any;\n scopeRef(schemaSope: any) {\n this.schemaSope = schemaSope;\n }\n\n handleConfirm() {\n const form = this.schemaSope?.getComponentByName('form');\n\n if (form) {\n form.doAction({type: 'submit'});\n } else {\n this.close(true);\n }\n }\n\n handleCancel() {\n this.close(false);\n }\n\n close(confirmed: boolean) {\n const isConfirm = this.state.confirm || this.state.prompt;\n\n this.setState(\n {\n show: false\n },\n isConfirm ? () => this._resolve(confirmed) /*this._reject()*/ : undefined\n );\n }\n\n alert(content: string, title?: string) {\n this.setState({\n title,\n content,\n show: true,\n confirm: false\n });\n }\n\n confirm(content: string, title?: string, confirmText?: string) {\n this.setState({\n title,\n content,\n show: true,\n confirm: true,\n confirmText\n });\n\n return new Promise(resolve => {\n this._resolve = resolve;\n });\n }\n\n prompt(\n controls: any,\n defaultValue?: any,\n title: string = 'placeholder.enter',\n confirmText: string = 'confirm'\n ) {\n if (typeof controls === 'string') {\n // 兼容浏览器标准用法。\n controls = [\n {\n name: 'text',\n label: controls,\n type: 'text'\n }\n ];\n\n if (typeof defaultValue === 'string') {\n defaultValue = {\n text: defaultValue\n };\n }\n } else if (!Array.isArray(controls)) {\n controls = [controls];\n }\n\n this.setState({\n title,\n controls,\n show: true,\n prompt: true,\n value: defaultValue,\n confirmText\n });\n\n return new Promise(resolve => {\n this._resolve = resolve;\n });\n }\n\n modalRef(ref: any) {\n this._modal = ref;\n }\n\n handleFormSubmit(values: any) {\n this.close(values);\n }\n\n render() {\n const {\n container,\n cancelText,\n confirmText,\n title,\n confirmBtnLevel,\n alertBtnLevel,\n classnames: cx\n } = this.props;\n let theme = this.props.theme || 'cxd';\n if (theme === 'default') {\n theme = 'cxd';\n }\n const __ = this.props.translate;\n const finalTitle = __(this.state.title ?? title);\n const finalConfirmText = __(this.state.confirmText ?? confirmText);\n\n return (\n <Modal\n show={this.state.show}\n onHide={this.handleCancel}\n container={container}\n ref={this.modalRef}\n closeOnEsc\n >\n {finalTitle ? (\n <div className={cx('Modal-header')}>\n <div className={cx('Modal-title')}>{finalTitle}</div>\n </div>\n ) : null}\n <div className={cx('Modal-body')}>\n {this.state.prompt ? (\n renderForm(\n this.state.controls,\n this.state.value,\n this.handleFormSubmit,\n this.scopeRef,\n theme\n )\n ) : (\n <Html html={this.state.content} />\n )}\n </div>\n {finalConfirmText ? (\n <div className={cx('Modal-footer')}>\n {this.state.confirm || this.state.prompt ? (\n <Button onClick={this.handleCancel}>{__(cancelText)}</Button>\n ) : null}\n <Button\n level={\n this.state.confirm || this.state.prompt\n ? confirmBtnLevel\n : alertBtnLevel\n }\n onClick={this.handleConfirm}\n >\n {finalConfirmText}\n </Button>\n </div>\n ) : null}\n </Modal>\n );\n }\n}\n\nexport type renderSchemaFn = (\n controls: Array<any>,\n value: PlainObject,\n callback?: (values: PlainObject) => void,\n scopeRef?: (value: any) => void,\n theme?: string\n) => JSX.Element;\nlet renderSchemaFn: renderSchemaFn;\nexport function setRenderSchemaFn(fn: renderSchemaFn) {\n renderSchemaFn = fn;\n}\n\nfunction renderForm(\n controls: Array<any>,\n value: PlainObject = {},\n callback?: (values: PlainObject) => void,\n scopeRef?: (value: any) => void,\n theme?: string\n) {\n return renderSchemaFn?.(controls, value, callback, scopeRef, theme);\n}\n\nexport const alert: (content: string, title?: string) => void = (\n content,\n title\n) => Alert.getInstance().alert(content, title);\nexport const confirm: (\n content: string,\n title?: string,\n confirmText?: string\n) => Promise<any> = (content, title, confirmText) =>\n Alert.getInstance().confirm(content, title, confirmText);\nexport const prompt: (\n controls: any,\n defaultvalue?: any,\n title?: string,\n confirmText?: string\n) => Promise<any> = (controls, defaultvalue, title, confirmText) =>\n Alert.getInstance().prompt(controls, defaultvalue, title, confirmText);\nexport const FinnalAlert = themeable(localeable(Alert));\nexport default FinnalAlert;\n"
|
11
|
+
"/**\n * @file Alert\n * @author fex\n */\n\nimport React from 'react';\nimport {render} from 'react-dom';\nimport Modal from './Modal';\nimport Button from './Button';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {LocaleProps, localeable} from '../locale';\nimport Html from './Html';\nimport {PlainObject} from '../types';\nexport interface AlertProps extends ThemeProps, LocaleProps {\n container?: any;\n confirmText?: string;\n cancelText?: string;\n title?: string;\n confirmBtnLevel?: string;\n alertBtnLevel?: string;\n}\n\nexport interface AlertState {\n show: boolean;\n title?: string;\n content: string;\n confirm: boolean;\n prompt?: boolean;\n controls?: any;\n value?: any;\n confirmText?: string;\n}\n\nexport class Alert extends React.Component<AlertProps, AlertState> {\n static instance: any = null;\n static getInstance() {\n if (!Alert.instance) {\n console.warn('Alert 组件应该没有被渲染,所以隐性的渲染到 body 了');\n const container = document.body;\n const div = document.createElement('div');\n container.appendChild(div);\n render(<FinnalAlert />, div);\n }\n\n return Alert.instance;\n }\n\n _resolve: (value: any) => void;\n _modal: any;\n _body: any;\n state: AlertState = {\n show: false,\n title: '',\n content: '',\n confirm: false\n };\n constructor(props: AlertProps) {\n super(props);\n\n this.close = this.close.bind(this);\n this.handleConfirm = this.handleConfirm.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.modalRef = this.modalRef.bind(this);\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\n this.scopeRef = this.scopeRef.bind(this);\n\n Alert.instance = this;\n }\n\n static defaultProps = {\n confirmText: 'confirm',\n cancelText: 'cancel',\n title: 'Alert.info',\n alertBtnLevel: 'primary',\n confirmBtnLevel: 'danger'\n };\n\n componentDidMount() {\n this._body && (this._body.innerHTML = this.state.content);\n }\n\n componentDidUpdate(prevProps: AlertProps, prevState: AlertState) {\n if (prevState.content !== this.state.content) {\n this._body && (this._body.innerHTML = this.state.content);\n }\n }\n\n componentWillUnmount() {\n Alert.instance = null;\n }\n\n schemaSope: any;\n scopeRef(schemaSope: any) {\n this.schemaSope = schemaSope;\n }\n\n handleConfirm() {\n const form = this.schemaSope?.getComponentByName('form');\n\n if (form) {\n form.doAction({type: 'submit'});\n } else {\n this.close(true);\n }\n }\n\n handleCancel() {\n this.close(false);\n }\n\n close(confirmed: boolean) {\n const isConfirm = this.state.confirm || this.state.prompt;\n\n this.setState(\n {\n show: false,\n prompt: false,\n confirm: false\n },\n isConfirm ? () => this._resolve(confirmed) /*this._reject()*/ : undefined\n );\n }\n\n alert(content: string, title?: string) {\n this.setState({\n title,\n content,\n show: true,\n confirm: false\n });\n }\n\n confirm(content: string, title?: string, confirmText?: string) {\n this.setState({\n title,\n content,\n show: true,\n confirm: true,\n confirmText\n });\n\n return new Promise(resolve => {\n this._resolve = resolve;\n });\n }\n\n prompt(\n controls: any,\n defaultValue?: any,\n title: string = 'placeholder.enter',\n confirmText: string = 'confirm'\n ) {\n if (typeof controls === 'string') {\n // 兼容浏览器标准用法。\n controls = [\n {\n name: 'text',\n label: controls,\n type: 'text'\n }\n ];\n\n if (typeof defaultValue === 'string') {\n defaultValue = {\n text: defaultValue\n };\n }\n } else if (!Array.isArray(controls)) {\n controls = [controls];\n }\n\n this.setState({\n title,\n controls,\n show: true,\n prompt: true,\n value: defaultValue,\n confirmText\n });\n\n return new Promise(resolve => {\n this._resolve = resolve;\n });\n }\n\n modalRef(ref: any) {\n this._modal = ref;\n }\n\n handleFormSubmit(values: any) {\n this.close(values);\n }\n\n render() {\n const {\n container,\n cancelText,\n confirmText,\n title,\n confirmBtnLevel,\n alertBtnLevel,\n classnames: cx\n } = this.props;\n let theme = this.props.theme || 'cxd';\n if (theme === 'default') {\n theme = 'cxd';\n }\n const __ = this.props.translate;\n const finalTitle = __(this.state.title ?? title);\n const finalConfirmText = __(this.state.confirmText ?? confirmText);\n\n return (\n <Modal\n show={this.state.show}\n onHide={this.handleCancel}\n container={container}\n ref={this.modalRef}\n closeOnEsc\n >\n {finalTitle ? (\n <div className={cx('Modal-header')}>\n <div className={cx('Modal-title')}>{finalTitle}</div>\n </div>\n ) : null}\n <div className={cx('Modal-body')}>\n {this.state.prompt ? (\n renderForm(\n this.state.controls,\n this.state.value,\n this.handleFormSubmit,\n this.scopeRef,\n theme\n )\n ) : (\n <Html html={this.state.content} />\n )}\n </div>\n {finalConfirmText ? (\n <div className={cx('Modal-footer')}>\n {this.state.confirm || this.state.prompt ? (\n <Button onClick={this.handleCancel}>{__(cancelText)}</Button>\n ) : null}\n <Button\n level={\n this.state.confirm || this.state.prompt\n ? confirmBtnLevel\n : alertBtnLevel\n }\n onClick={this.handleConfirm}\n >\n {finalConfirmText}\n </Button>\n </div>\n ) : null}\n </Modal>\n );\n }\n}\n\nexport type renderSchemaFn = (\n controls: Array<any>,\n value: PlainObject,\n callback?: (values: PlainObject) => void,\n scopeRef?: (value: any) => void,\n theme?: string\n) => JSX.Element;\nlet renderSchemaFn: renderSchemaFn;\nexport function setRenderSchemaFn(fn: renderSchemaFn) {\n renderSchemaFn = fn;\n}\n\nfunction renderForm(\n controls: Array<any>,\n value: PlainObject = {},\n callback?: (values: PlainObject) => void,\n scopeRef?: (value: any) => void,\n theme?: string\n) {\n return renderSchemaFn?.(controls, value, callback, scopeRef, theme);\n}\n\nexport const alert: (content: string, title?: string) => void = (\n content,\n title\n) => Alert.getInstance().alert(content, title);\nexport const confirm: (\n content: string,\n title?: string,\n confirmText?: string\n) => Promise<any> = (content, title, confirmText) =>\n Alert.getInstance().confirm(content, title, confirmText);\nexport const prompt: (\n controls: any,\n defaultvalue?: any,\n title?: string,\n confirmText?: string\n) => Promise<any> = (controls, defaultvalue, title, confirmText) =>\n Alert.getInstance().prompt(controls, defaultvalue, title, confirmText);\nexport const FinnalAlert = themeable(localeable(Alert));\nexport default FinnalAlert;\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -83,13 +83,14 @@ export interface AnchorNavProps extends ThemeProps {
|
|
83
83
|
sectionClassName?: string;
|
84
84
|
sectionRender?: (section: AnchorNavSectionProps, props?: AnchorNavProps) => JSX.Element;
|
85
85
|
onSelect?: (key: string | number) => void;
|
86
|
+
direction?: 'vertical' | 'horizontal';
|
86
87
|
}
|
87
88
|
export interface AnchorNavState {
|
88
89
|
offsetArr: PlainObject[];
|
89
90
|
fromSelect: boolean;
|
90
91
|
}
|
91
92
|
export declare class AnchorNav extends React.Component<AnchorNavProps, AnchorNavState> {
|
92
|
-
static defaultProps: Pick<AnchorNavProps, 'linkClassName' | 'sectionClassName'>;
|
93
|
+
static defaultProps: Pick<AnchorNavProps, 'linkClassName' | 'sectionClassName' | 'direction'>;
|
93
94
|
contentDom: React.RefObject<HTMLDivElement>;
|
94
95
|
componentDidMount(): void;
|
95
96
|
scrollToNav(e: Event): void;
|
@@ -101,12 +102,12 @@ export declare class AnchorNav extends React.Component<AnchorNavProps, AnchorNav
|
|
101
102
|
render(): JSX.Element | null;
|
102
103
|
}
|
103
104
|
declare const _default: {
|
104
|
-
new (props: (Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>): {
|
105
|
+
new (props: (Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>): {
|
105
106
|
render(): JSX.Element;
|
106
107
|
context: any;
|
107
|
-
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
108
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
108
109
|
forceUpdate(callback?: (() => void) | undefined): void;
|
109
|
-
readonly props: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
|
110
|
+
readonly props: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
|
110
111
|
children?: React.ReactNode;
|
111
112
|
}>;
|
112
113
|
state: Readonly<{}>;
|
@@ -114,24 +115,24 @@ declare const _default: {
|
|
114
115
|
[key: string]: React.ReactInstance;
|
115
116
|
};
|
116
117
|
componentDidMount?(): void;
|
117
|
-
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
118
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
118
119
|
componentWillUnmount?(): void;
|
119
120
|
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
120
|
-
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
121
|
-
componentDidUpdate?(prevProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
121
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
122
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
122
123
|
componentWillMount?(): void;
|
123
124
|
UNSAFE_componentWillMount?(): void;
|
124
|
-
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
125
|
-
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
126
|
-
componentWillUpdate?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
127
|
-
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
125
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
126
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
127
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
128
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
128
129
|
};
|
129
|
-
new (props: Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps, context: any): {
|
130
|
+
new (props: Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps, context: any): {
|
130
131
|
render(): JSX.Element;
|
131
132
|
context: any;
|
132
|
-
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
133
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
133
134
|
forceUpdate(callback?: (() => void) | undefined): void;
|
134
|
-
readonly props: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
|
135
|
+
readonly props: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
|
135
136
|
children?: React.ReactNode;
|
136
137
|
}>;
|
137
138
|
state: Readonly<{}>;
|
@@ -139,17 +140,17 @@ declare const _default: {
|
|
139
140
|
[key: string]: React.ReactInstance;
|
140
141
|
};
|
141
142
|
componentDidMount?(): void;
|
142
|
-
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
143
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
143
144
|
componentWillUnmount?(): void;
|
144
145
|
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
145
|
-
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
146
|
-
componentDidUpdate?(prevProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
146
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
147
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
147
148
|
componentWillMount?(): void;
|
148
149
|
UNSAFE_componentWillMount?(): void;
|
149
|
-
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
150
|
-
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
151
|
-
componentWillUpdate?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
152
|
-
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
150
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
151
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
152
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
153
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "active" | "links" | "onSelect" | "sectionRender"> & Partial<Pick<Omit<AnchorNavProps, keyof ThemeProps>, "direction" | "linkClassName" | "sectionClassName">> & Partial<Pick<Pick<AnchorNavProps, "direction" | "linkClassName" | "sectionClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
153
154
|
};
|
154
155
|
displayName: string;
|
155
156
|
contextType: React.Context<string>;
|
@@ -135,12 +135,15 @@ var AnchorNav = /** @class */ (function (_super) {
|
|
135
135
|
return react_1.default.cloneElement(section, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, section.props), { key: index, classnames: classnames, active: active }));
|
136
136
|
};
|
137
137
|
AnchorNav.prototype.render = function () {
|
138
|
+
var _a;
|
138
139
|
var _this = this;
|
139
|
-
var
|
140
|
+
var _b = this.props, cx = _b.classnames, className = _b.className, linkClassName = _b.linkClassName, sectionClassName = _b.sectionClassName, children = _b.children, direction = _b.direction;
|
140
141
|
if (!Array.isArray(children)) {
|
141
142
|
return null;
|
142
143
|
}
|
143
|
-
return (react_1.default.createElement("div", { className: cx(
|
144
|
+
return (react_1.default.createElement("div", { className: cx('AnchorNav', (_a = {},
|
145
|
+
_a["AnchorNav--" + direction] = direction,
|
146
|
+
_a), className) },
|
144
147
|
react_1.default.createElement("ul", { className: cx('AnchorNav-link-wrap', linkClassName), role: "anchorlist" }, children.map(function (link, index) { return _this.renderLink(link, index); })),
|
145
148
|
react_1.default.createElement("div", { className: cx('AnchorNav-section-wrap', sectionClassName), ref: this.contentDom }, children.map(function (section, index) {
|
146
149
|
return _this.renderSection(section, index);
|
@@ -149,7 +152,8 @@ var AnchorNav = /** @class */ (function (_super) {
|
|
149
152
|
var _a;
|
150
153
|
AnchorNav.defaultProps = {
|
151
154
|
linkClassName: '',
|
152
|
-
sectionClassName: ''
|
155
|
+
sectionClassName: '',
|
156
|
+
direction: 'vertical'
|
153
157
|
};
|
154
158
|
(0, tslib_1.__decorate)([
|
155
159
|
helper_1.autobind,
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/AnchorNav.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";AAAA;;;;GAIG;;;;AAEH,6DAA0B;AAE1B,kCAA+C;AAE/C,0CAAyC;AACzC,iDAA8C;AAC9C,kEAA+B;AAS/B;IAAwC,0DAA0C;IAAlF;QAAA,qEAaC;QAXC,gBAAU,GAAG,UAAC,GAAQ,IAAK,OAAA,CAAC,KAAI,CAAC,UAAU,GAAG,GAAG,CAAC,EAAvB,CAAuB,CAAC;;IAWrD,CAAC;IATC,0CAAM,GAAN;QACQ,IAAA,KAAwC,IAAI,CAAC,KAAK,EAArC,EAAE,gBAAA,EAAE,QAAQ,cAAA,EAAE,SAAS,eAAc,CAAC;QAEzD,OAAO,CACL,uCAAK,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,mBAAmB,EAAE,SAAS,CAAC,IACrE,QAAQ,CACL,CACP,CAAC;IACJ,CAAC;IACH,gCAAC;AAAD,CAAC,AAbD,CAAwC,eAAK,CAAC,aAAa,GAa1D;AAEY,QAAA,gBAAgB,GAAG,IAAA,iBAAS,EAAC,yBAAyB,CAAC,CAAC;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file AnchorNav\n * @description 锚点导航\n * @author hsm-lv\n */\n\nimport React from 'react';\nimport {Schema} from '../types';\nimport {ThemeProps, themeable} from '../theme';\nimport {PlainObject} from '../types';\nimport {autobind} from '../utils/helper';\nimport {uncontrollable} from 'uncontrollable';\nimport find from 'lodash/find';\n\nexport interface AnchorNavSectionProps extends ThemeProps {\n title?: string; // 标题\n name: string | number; // 标识\n body?: Schema; // Schema\n className?: string; // 样式名\n}\n\nclass AnchorNavSectionComponent extends React.PureComponent<AnchorNavSectionProps> {\n contentDom: any;\n contentRef = (ref: any) => (this.contentDom = ref);\n\n render() {\n const {classnames: cx, children, className} = this.props;\n\n return (\n <div ref={this.contentRef} className={cx('AnchorNav-section', className)}>\n {children}\n </div>\n );\n }\n}\n\nexport const AnchorNavSection = themeable(AnchorNavSectionComponent);\n\nexport interface AnchorNavProps extends ThemeProps {\n links?: Array<AnchorNavSectionProps>; // 锚点数据\n active?: string | number; // 激活标识\n linkClassName?: string; // 导航 CSS类名\n sectionClassName?: string; // 区域 CSS类名\n sectionRender?: (\n section: AnchorNavSectionProps,\n props?: AnchorNavProps\n ) => JSX.Element; // 锚点区域渲染器\n onSelect?: (key: string | number) => void; // 选中回调方法\n}\n\nexport interface AnchorNavState {\n offsetArr: PlainObject[]; // 记录每个段落的offsetTop\n fromSelect: boolean; // 标识滚动触发来源\n}\n\nexport class AnchorNav extends React.Component<AnchorNavProps, AnchorNavState> {\n static defaultProps: Pick<\n AnchorNavProps,\n 'linkClassName' | 'sectionClassName'\n > = {\n linkClassName: '',\n sectionClassName: ''\n };\n\n // 滚动区域DOM\n contentDom: React.RefObject<HTMLDivElement> = React.createRef();\n\n componentDidMount() {\n // 初始化\b滚动标识\n this.setState({fromSelect: false});\n\n // add scroll event\n const sectionRootDom =\n this.contentDom && (this.contentDom.current as HTMLElement);\n sectionRootDom.addEventListener('scroll', this.scrollToNav);\n let offsetArr: Array<object> = [];\n const {children, active} = this.props;\n\n // 收集段落区域offsetTop\n children &&\n React.Children.forEach(\n children,\n (section: AnchorNavSectionComponent, index: number) => {\n offsetArr.push({\n key: section.props.name,\n offsetTop: (sectionRootDom.children[index] as HTMLElement).offsetTop\n });\n }\n );\n\n this.setState(\n {\n offsetArr\n },\n () => active && this.scrollToSection(active)\n );\n }\n\n @autobind\n scrollToNav(e: Event) {\n if (this.state.fromSelect) {\n return;\n }\n\n // 获取滚动的scrollTop\n const scrollTop: number = (e.target as HTMLElement).scrollTop;\n\n // 判断scrollTop所在区域\n const offsetArr = this.state.offsetArr;\n const firstSection = offsetArr[0];\n const lastSection = offsetArr[offsetArr.length - 1];\n // 首层偏移\n const offset = scrollTop + firstSection.offsetTop;\n\n // 首层\n if (offset <= firstSection.offsetTop) {\n this.fireSelect(firstSection.key);\n }\n // 最后一层\n else if (offset >= lastSection.offsetTop) {\n this.fireSelect(lastSection.key);\n } else {\n // 段落区间判断\n offsetArr.forEach((item, index) => {\n if (\n offset >= item.offsetTop &&\n offset < offsetArr[index + 1].offsetTop\n ) {\n this.fireSelect(item.key);\n }\n });\n }\n }\n\n scrollToSection(key: string | number) {\n // 获取指定段落的offsettop\n const offsetArr = this.state.offsetArr;\n const section = find(offsetArr, item => item.key === key);\n const sectionRootDom =\n this.contentDom && (this.contentDom.current as HTMLElement);\n\n // 滚动到指定段落\n section &&\n (sectionRootDom.scrollTop = section.offsetTop - offsetArr[0].offsetTop);\n }\n\n handleSelect(key: string | number) {\n // 标记滚动来自导航选择\n this.setState({fromSelect: true});\n // 滚动到对应段落\n this.scrollToSection(key);\n\n const sectionRootDom =\n this.contentDom && (this.contentDom.current as HTMLElement);\n\n // 如果已经滚到底就不去更新导航选中了\n if (\n sectionRootDom.scrollHeight - sectionRootDom.scrollTop <\n sectionRootDom.clientHeight\n ) {\n // fire event\n this.fireSelect(key);\n }\n\n // 取消标记\n this.setState({fromSelect: false});\n }\n\n fireSelect(key: string | number) {\n const {onSelect} = this.props;\n onSelect && onSelect(key);\n }\n\n renderLink(link: any, index: number) {\n if (!link) {\n return;\n }\n\n const {classnames: cx, active: activeProp} = this.props;\n const {title, name} = link.props;\n const active = activeProp === undefined && index === 0 ? name : activeProp;\n\n return (\n <li\n className={cx('AnchorNav-link', active === name ? 'is-active' : '')}\n key={index}\n onClick={() => this.handleSelect(name)}\n >\n <a>{title}</a>\n </li>\n );\n }\n\n renderSection(section: any, index: number) {\n if (!section) {\n return;\n }\n\n const {active: activeProp, classnames} = this.props;\n const name = section.props.name;\n const active = activeProp === undefined && index === 0 ? name : activeProp;\n\n return React.cloneElement(section, {\n ...section.props,\n key: index,\n classnames,\n active\n });\n }\n\n render() {\n const {\n classnames: cx,\n className,\n linkClassName,\n sectionClassName,\n children\n } = this.props;\n\n if (!Array.isArray(children)) {\n return null;\n }\n\n return (\n <div
|
11
|
+
"/**\n * @file AnchorNav\n * @description 锚点导航\n * @author hsm-lv\n */\n\nimport React from 'react';\nimport {Schema} from '../types';\nimport {ThemeProps, themeable} from '../theme';\nimport {PlainObject} from '../types';\nimport {autobind} from '../utils/helper';\nimport {uncontrollable} from 'uncontrollable';\nimport find from 'lodash/find';\n\nexport interface AnchorNavSectionProps extends ThemeProps {\n title?: string; // 标题\n name: string | number; // 标识\n body?: Schema; // Schema\n className?: string; // 样式名\n}\n\nclass AnchorNavSectionComponent extends React.PureComponent<AnchorNavSectionProps> {\n contentDom: any;\n contentRef = (ref: any) => (this.contentDom = ref);\n\n render() {\n const {classnames: cx, children, className} = this.props;\n\n return (\n <div ref={this.contentRef} className={cx('AnchorNav-section', className)}>\n {children}\n </div>\n );\n }\n}\n\nexport const AnchorNavSection = themeable(AnchorNavSectionComponent);\n\nexport interface AnchorNavProps extends ThemeProps {\n links?: Array<AnchorNavSectionProps>; // 锚点数据\n active?: string | number; // 激活标识\n linkClassName?: string; // 导航 CSS类名\n sectionClassName?: string; // 区域 CSS类名\n sectionRender?: (\n section: AnchorNavSectionProps,\n props?: AnchorNavProps\n ) => JSX.Element; // 锚点区域渲染器\n onSelect?: (key: string | number) => void; // 选中回调方法\n direction?: 'vertical' | 'horizontal'; // 导航方向\n}\n\nexport interface AnchorNavState {\n offsetArr: PlainObject[]; // 记录每个段落的offsetTop\n fromSelect: boolean; // 标识滚动触发来源\n}\n\nexport class AnchorNav extends React.Component<AnchorNavProps, AnchorNavState> {\n static defaultProps: Pick<\n AnchorNavProps,\n 'linkClassName' | 'sectionClassName' | 'direction'\n > = {\n linkClassName: '',\n sectionClassName: '',\n direction: 'vertical'\n };\n\n // 滚动区域DOM\n contentDom: React.RefObject<HTMLDivElement> = React.createRef();\n\n componentDidMount() {\n // 初始化\b滚动标识\n this.setState({fromSelect: false});\n\n // add scroll event\n const sectionRootDom =\n this.contentDom && (this.contentDom.current as HTMLElement);\n sectionRootDom.addEventListener('scroll', this.scrollToNav);\n let offsetArr: Array<object> = [];\n const {children, active} = this.props;\n\n // 收集段落区域offsetTop\n children &&\n React.Children.forEach(\n children,\n (section: AnchorNavSectionComponent, index: number) => {\n offsetArr.push({\n key: section.props.name,\n offsetTop: (sectionRootDom.children[index] as HTMLElement).offsetTop\n });\n }\n );\n\n this.setState(\n {\n offsetArr\n },\n () => active && this.scrollToSection(active)\n );\n }\n\n @autobind\n scrollToNav(e: Event) {\n if (this.state.fromSelect) {\n return;\n }\n\n // 获取滚动的scrollTop\n const scrollTop: number = (e.target as HTMLElement).scrollTop;\n\n // 判断scrollTop所在区域\n const offsetArr = this.state.offsetArr;\n const firstSection = offsetArr[0];\n const lastSection = offsetArr[offsetArr.length - 1];\n // 首层偏移\n const offset = scrollTop + firstSection.offsetTop;\n\n // 首层\n if (offset <= firstSection.offsetTop) {\n this.fireSelect(firstSection.key);\n }\n // 最后一层\n else if (offset >= lastSection.offsetTop) {\n this.fireSelect(lastSection.key);\n } else {\n // 段落区间判断\n offsetArr.forEach((item, index) => {\n if (\n offset >= item.offsetTop &&\n offset < offsetArr[index + 1].offsetTop\n ) {\n this.fireSelect(item.key);\n }\n });\n }\n }\n\n scrollToSection(key: string | number) {\n // 获取指定段落的offsettop\n const offsetArr = this.state.offsetArr;\n const section = find(offsetArr, item => item.key === key);\n const sectionRootDom =\n this.contentDom && (this.contentDom.current as HTMLElement);\n\n // 滚动到指定段落\n section &&\n (sectionRootDom.scrollTop = section.offsetTop - offsetArr[0].offsetTop);\n }\n\n handleSelect(key: string | number) {\n // 标记滚动来自导航选择\n this.setState({fromSelect: true});\n // 滚动到对应段落\n this.scrollToSection(key);\n\n const sectionRootDom =\n this.contentDom && (this.contentDom.current as HTMLElement);\n\n // 如果已经滚到底就不去更新导航选中了\n if (\n sectionRootDom.scrollHeight - sectionRootDom.scrollTop <\n sectionRootDom.clientHeight\n ) {\n // fire event\n this.fireSelect(key);\n }\n\n // 取消标记\n this.setState({fromSelect: false});\n }\n\n fireSelect(key: string | number) {\n const {onSelect} = this.props;\n onSelect && onSelect(key);\n }\n\n renderLink(link: any, index: number) {\n if (!link) {\n return;\n }\n\n const {classnames: cx, active: activeProp} = this.props;\n const {title, name} = link.props;\n const active = activeProp === undefined && index === 0 ? name : activeProp;\n\n return (\n <li\n className={cx('AnchorNav-link', active === name ? 'is-active' : '')}\n key={index}\n onClick={() => this.handleSelect(name)}\n >\n <a>{title}</a>\n </li>\n );\n }\n\n renderSection(section: any, index: number) {\n if (!section) {\n return;\n }\n\n const {active: activeProp, classnames} = this.props;\n const name = section.props.name;\n const active = activeProp === undefined && index === 0 ? name : activeProp;\n\n return React.cloneElement(section, {\n ...section.props,\n key: index,\n classnames,\n active\n });\n }\n\n render() {\n const {\n classnames: cx,\n className,\n linkClassName,\n sectionClassName,\n children,\n direction\n } = this.props;\n\n if (!Array.isArray(children)) {\n return null;\n }\n\n return (\n <div\n className={cx(\n 'AnchorNav',\n {\n [`AnchorNav--${direction}`]: direction\n },\n className\n )}\n >\n <ul\n className={cx('AnchorNav-link-wrap', linkClassName)}\n role=\"anchorlist\"\n >\n {children.map((link, index) => this.renderLink(link, index))}\n </ul>\n\n <div\n className={cx('AnchorNav-section-wrap', sectionClassName)}\n ref={this.contentDom}\n >\n {children.map((section, index) => {\n return this.renderSection(section, index);\n })}\n </div>\n </div>\n );\n }\n}\n\nconst ThemedAnchorNav = themeable(\n uncontrollable(AnchorNav, {\n active: 'onSelect'\n })\n);\n\nexport default ThemedAnchorNav as typeof ThemedAnchorNav & {\n AnchorNavSection: typeof AnchorNavSection;\n};\n"
|
12
12
|
]
|
13
13
|
}
|