@steroidsjs/core 2.1.0-beta.6 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/actions/form.d.ts +12 -3
- package/actions/form.js +21 -8
- package/actions/list.d.ts +1 -0
- package/actions/list.js +5 -0
- package/actions/modal.d.ts +3 -2
- package/components/ClientStorageComponent.d.ts +3 -3
- package/components/ClientStorageComponent.js +28 -22
- package/components/HttpComponent.js +32 -15
- package/components/LocaleComponent.js +9 -9
- package/components/MetaComponent.d.ts +4 -4
- package/components/MetricsComponent.js +3 -1
- package/components/SocialComponent.d.ts +1 -1
- package/components/SocialComponent.js +12 -10
- package/components/StoreComponent.d.ts +6 -0
- package/components/StoreComponent.js +6 -7
- package/components/UiComponent.d.ts +1 -1
- package/components/WebSocketComponent.d.ts +1 -1
- package/components/social/FacebookProvider.d.ts +1 -1
- package/components/social/FacebookProvider.js +5 -6
- package/components/social/GitlabProvider.d.ts +8 -0
- package/components/social/GitlabProvider.js +98 -0
- package/components/social/GoogleProvider.d.ts +1 -1
- package/components/social/GoogleProvider.js +2 -2
- package/components/social/SteamProvider.d.ts +1 -1
- package/components/social/SteamProvider.js +8 -9
- package/components/social/VkProvider.d.ts +1 -1
- package/components/social/VkProvider.js +8 -9
- package/hoc/components.d.ts +1 -1
- package/hoc/components.js +1 -1
- package/hoc/file.d.ts +1 -0
- package/hoc/layout.d.ts +1 -2
- package/hooks/index.d.ts +2 -1
- package/hooks/index.js +3 -1
- package/hooks/useAbsolutePositioning.d.ts +5 -0
- package/hooks/useAbsolutePositioning.js +6 -6
- package/hooks/useAddressBar.js +23 -13
- package/hooks/useApplication.d.ts +29 -26
- package/hooks/useApplication.js +17 -82
- package/hooks/useComponents.d.ts +1 -14
- package/hooks/useComponents.js +4 -5
- package/hooks/useDataProvider.d.ts +8 -0
- package/hooks/useDataProvider.js +8 -7
- package/hooks/useDataSelect.d.ts +15 -8
- package/hooks/useDataSelect.js +60 -14
- package/hooks/useDispatch.d.ts +1 -1
- package/hooks/useFetch.d.ts +11 -3
- package/hooks/useFetch.js +37 -31
- package/hooks/useFile.js +13 -2
- package/hooks/useLayout.d.ts +9 -0
- package/hooks/useLayout.js +86 -56
- package/hooks/useList.d.ts +54 -13
- package/hooks/useList.js +89 -58
- package/hooks/useModel.js +1 -1
- package/hooks/useScreen.d.ts +1 -1
- package/hooks/useScreen.js +2 -2
- package/hooks/useSsr.d.ts +2 -0
- package/hooks/useSsr.js +8 -0
- package/index.d.ts +8 -2
- package/package.json +7 -4
- package/providers/ComponentsProvider.d.ts +26 -0
- package/providers/ComponentsProvider.js +28 -0
- package/providers/ScreenProvider.d.ts +20 -0
- package/providers/ScreenProvider.js +87 -0
- package/providers/SsrProvider.d.ts +17 -0
- package/providers/SsrProvider.js +32 -0
- package/providers/index.d.ts +4 -0
- package/providers/index.js +12 -0
- package/reducers/form.d.ts +2 -1
- package/reducers/form.js +16 -3
- package/reducers/index.js +1 -1
- package/reducers/list.js +1 -3
- package/reducers/modal.d.ts +1 -1
- package/reducers/router.d.ts +12 -25
- package/reducers/router.js +16 -10
- package/ui/content/Alert/Alert.d.ts +60 -0
- package/ui/content/Alert/Alert.js +38 -0
- package/ui/content/Alert/demo/description.d.ts +9 -0
- package/ui/content/Alert/demo/description.js +43 -0
- package/ui/content/Alert/demo/icon.d.ts +8 -0
- package/ui/content/Alert/demo/icon.js +42 -0
- package/ui/content/Alert/demo/text.d.ts +8 -0
- package/ui/content/Alert/demo/text.js +42 -0
- package/ui/content/Alert/index.d.ts +2 -0
- package/ui/content/Alert/index.js +7 -0
- package/ui/content/Avatar/Avatar.d.ts +54 -13
- package/ui/content/Avatar/Avatar.js +25 -4
- package/ui/content/Avatar/AvatarGroup.d.ts +3 -5
- package/ui/content/Avatar/AvatarGroup.js +27 -11
- package/ui/{form/TimeField/demo/show-remove.d.ts → content/Avatar/demo/custome size.d.ts } +2 -2
- package/ui/content/Avatar/demo/custome size.js +35 -0
- package/ui/{form/SwitcherField/demo/sizes.d.ts → content/Avatar/demo/group.d.ts} +1 -1
- package/ui/content/Avatar/demo/group.js +49 -0
- package/ui/content/Avatar/demo/shape.d.ts +8 -0
- package/ui/content/Avatar/demo/shape.js +41 -0
- package/ui/content/Avatar/demo/size.d.ts +8 -0
- package/ui/content/Avatar/demo/size.js +41 -0
- package/ui/content/Avatar/demo/title.d.ts +8 -0
- package/ui/content/Avatar/demo/title.js +41 -0
- package/ui/content/Avatar/index.d.ts +6 -1
- package/ui/content/Avatar/index.js +4 -0
- package/ui/content/Calendar/demo/basic.d.ts +8 -0
- package/ui/{form/FieldLayout → content/Calendar}/demo/basic.js +3 -3
- package/ui/content/Card/Card.d.ts +62 -14
- package/ui/content/Card/Card.js +3 -2
- package/ui/{form/FieldLayout/demo/hint.d.ts → content/Card/demo/basic.d.ts} +2 -2
- package/ui/{form/SwitcherField/demo/sizes.js → content/Card/demo/basic.js} +6 -12
- package/ui/content/Card/demo/border color.d.ts +3 -0
- package/ui/content/Card/demo/border color.js +47 -0
- package/ui/content/Card/demo/color.d.ts +3 -0
- package/ui/content/Card/demo/color.js +47 -0
- package/ui/{form/DateTimeField/demo/sizes.d.ts → content/Card/demo/header.d.ts} +2 -2
- package/ui/content/Card/demo/header.js +42 -0
- package/ui/content/Card/demo/hover.d.ts +8 -0
- package/ui/content/Card/demo/hover.js +37 -0
- package/ui/content/Card/demo/link.d.ts +8 -0
- package/ui/content/Card/demo/link.js +38 -0
- package/ui/content/Card/demo/orientation.d.ts +3 -0
- package/ui/content/Card/demo/orientation.js +41 -0
- package/ui/content/Collapse/Collapse.d.ts +63 -0
- package/ui/content/Collapse/Collapse.js +80 -0
- package/ui/content/Collapse/CollapseItem.d.ts +67 -0
- package/ui/content/Collapse/CollapseItem.js +22 -0
- package/ui/content/Collapse/demo/accordion.d.ts +8 -0
- package/ui/content/Collapse/demo/accordion.js +37 -0
- package/ui/{form/FieldLayout → content/Collapse}/demo/basic.d.ts +0 -0
- package/ui/content/Collapse/demo/basic.js +37 -0
- package/ui/{form/SliderField/demo/required.d.ts → content/Collapse/demo/borderless.d.ts} +2 -2
- package/ui/content/Collapse/demo/borderless.js +37 -0
- package/ui/content/Collapse/demo/disable.d.ts +8 -0
- package/ui/content/Collapse/demo/disable.js +37 -0
- package/ui/content/Collapse/demo/icon position.d.ts +8 -0
- package/ui/content/Collapse/demo/icon position.js +37 -0
- package/ui/{form/SliderField/demo/size.d.ts → content/Collapse/demo/icon.d.ts} +1 -1
- package/ui/content/Collapse/demo/icon.js +52 -0
- package/ui/content/Collapse/demo/onChange.d.ts +8 -0
- package/ui/content/Collapse/demo/onChange.js +47 -0
- package/ui/content/Collapse/demo/show icon.d.ts +8 -0
- package/ui/content/Collapse/demo/show icon.js +37 -0
- package/ui/content/Collapse/index.d.ts +7 -0
- package/ui/content/Collapse/index.js +8 -0
- package/ui/content/CopyToClipboard/CopyToClipboard.d.ts +15 -0
- package/ui/content/CopyToClipboard/CopyToClipboard.js +124 -0
- package/ui/content/CopyToClipboard/index.d.ts +2 -0
- package/ui/content/CopyToClipboard/index.js +7 -0
- package/ui/content/Detail/Detail.d.ts +102 -0
- package/ui/content/Detail/Detail.js +155 -0
- package/ui/content/Detail/DetailItem.d.ts +43 -0
- package/ui/content/Detail/DetailItem.js +10 -0
- package/ui/content/Detail/demo/basic.d.ts +8 -0
- package/ui/content/Detail/demo/basic.js +56 -0
- package/ui/content/Detail/demo/colors.d.ts +3 -0
- package/ui/content/Detail/demo/colors.js +39 -0
- package/ui/content/Detail/demo/controls.d.ts +8 -0
- package/ui/content/Detail/demo/controls.js +56 -0
- package/ui/content/Detail/demo/layout.d.ts +8 -0
- package/ui/content/Detail/demo/layout.js +56 -0
- package/ui/content/Detail/demo/responsive.d.ts +8 -0
- package/ui/content/Detail/demo/responsive.js +71 -0
- package/ui/content/Detail/demo/sizes.d.ts +8 -0
- package/ui/content/Detail/demo/sizes.js +61 -0
- package/ui/content/Detail/index.d.ts +3 -0
- package/ui/content/Detail/index.js +10 -0
- package/ui/content/DropDown/DropDown.d.ts +1 -0
- package/ui/content/DropDown/DropDown.js +1 -0
- package/ui/content/index.d.ts +13 -0
- package/ui/content/index.js +22 -0
- package/ui/crud/Crud/Crud.d.ts +1 -1
- package/ui/crud/Crud/Crud.js +5 -3
- package/ui/crud/Crud/CrudContent.d.ts +5 -1
- package/ui/crud/Crud/CrudContent.js +5 -5
- package/ui/crud/index.d.ts +2 -0
- package/ui/form/AutoCompleteField/AutoCompleteField.d.ts +1 -6
- package/ui/form/AutoCompleteField/demo/basic.d.ts +5 -5
- package/ui/form/AutoCompleteField/demo/basic.js +5 -5
- package/ui/form/AutoCompleteField/demo/disabled.d.ts +1 -1
- package/ui/form/AutoCompleteField/demo/disabled.js +1 -1
- package/ui/form/AutoCompleteField/demo/errors.d.ts +1 -1
- package/ui/form/AutoCompleteField/demo/errors.js +2 -2
- package/ui/form/AutoCompleteField/demo/placeholder.d.ts +1 -1
- package/ui/form/AutoCompleteField/demo/placeholder.js +1 -1
- package/ui/form/AutoCompleteField/demo/required.d.ts +1 -1
- package/ui/form/AutoCompleteField/demo/required.js +1 -1
- package/ui/form/AutoCompleteField/demo/sizes.d.ts +0 -5
- package/ui/form/AutoCompleteField/demo/sizes.js +5 -5
- package/ui/form/BlankField/BlankField.d.ts +6 -7
- package/ui/form/BlankField/demo/basic.d.ts +12 -0
- package/ui/form/BlankField/demo/basic.js +51 -0
- package/ui/form/Button/Button.d.ts +1 -0
- package/ui/form/Button/Button.js +1 -0
- package/ui/form/Button/demo/badge.d.ts +1 -1
- package/ui/form/Button/demo/badge.js +1 -1
- package/ui/form/Button/demo/basic.d.ts +1 -1
- package/ui/form/Button/demo/basic.js +1 -1
- package/ui/form/Button/demo/block.d.ts +1 -1
- package/ui/form/Button/demo/block.js +1 -1
- package/ui/form/Button/demo/colors.d.ts +1 -1
- package/ui/form/Button/demo/colors.js +3 -3
- package/ui/form/Button/demo/confirm.d.ts +1 -1
- package/ui/form/Button/demo/confirm.js +2 -2
- package/ui/form/Button/demo/disabled.d.ts +1 -1
- package/ui/form/Button/demo/disabled.js +1 -1
- package/ui/form/Button/demo/hint.d.ts +1 -1
- package/ui/form/Button/demo/hint.js +1 -1
- package/ui/form/Button/demo/icon.d.ts +1 -1
- package/ui/form/Button/demo/icon.js +1 -1
- package/ui/form/Button/demo/link.d.ts +1 -1
- package/ui/form/Button/demo/link.js +1 -1
- package/ui/form/Button/demo/sizes.d.ts +0 -5
- package/ui/form/Button/demo/sizes.js +5 -5
- package/ui/form/Button/demo/tags.d.ts +1 -1
- package/ui/form/Button/demo/tags.js +1 -1
- package/ui/form/CheckboxField/CheckboxField.d.ts +1 -6
- package/ui/form/CheckboxField/demo/basic.d.ts +1 -1
- package/ui/form/CheckboxField/demo/basic.js +1 -1
- package/ui/form/CheckboxField/demo/disabled.d.ts +1 -1
- package/ui/form/CheckboxField/demo/disabled.js +1 -1
- package/ui/form/CheckboxField/demo/errors.d.ts +1 -1
- package/ui/form/CheckboxField/demo/errors.js +2 -2
- package/ui/form/CheckboxField/demo/required.d.ts +1 -1
- package/ui/form/CheckboxField/demo/required.js +1 -1
- package/ui/form/CheckboxListField/CheckboxListField.d.ts +1 -6
- package/ui/form/CheckboxListField/demo/basic.d.ts +3 -3
- package/ui/form/CheckboxListField/demo/basic.js +5 -5
- package/ui/form/CheckboxListField/demo/disabled.d.ts +1 -1
- package/ui/form/CheckboxListField/demo/disabled.js +1 -1
- package/ui/form/CheckboxListField/demo/errors.d.ts +1 -1
- package/ui/form/CheckboxListField/demo/errors.js +2 -2
- package/ui/form/CheckboxListField/demo/required.d.ts +1 -1
- package/ui/form/CheckboxListField/demo/required.js +1 -1
- package/ui/form/DateField/DateField.d.ts +1 -7
- package/ui/form/DateField/DateField.js +1 -1
- package/ui/form/DateField/demo/basic.d.ts +1 -1
- package/ui/form/DateField/demo/basic.js +1 -1
- package/ui/form/DateField/demo/disabled.d.ts +1 -1
- package/ui/form/DateField/demo/disabled.js +1 -1
- package/ui/form/DateField/demo/errors.d.ts +1 -1
- package/ui/form/DateField/demo/errors.js +1 -1
- package/ui/form/DateField/demo/icon.d.ts +1 -1
- package/ui/form/DateField/demo/icon.js +2 -2
- package/ui/form/DateField/demo/placeholder.d.ts +1 -1
- package/ui/form/DateField/demo/placeholder.js +1 -1
- package/ui/form/DateField/demo/required.d.ts +1 -1
- package/ui/form/DateField/demo/required.js +1 -1
- package/ui/form/DateField/demo/sizes.d.ts +1 -1
- package/ui/form/DateField/demo/sizes.js +1 -1
- package/ui/form/DateField/useDateInputState.d.ts +4 -0
- package/ui/form/DateField/useDateInputState.js +3 -3
- package/ui/form/DateField/useDateTime.js +8 -6
- package/ui/form/DateRangeField/DateRangeField.d.ts +1 -7
- package/ui/form/DateRangeField/DateRangeField.js +3 -2
- package/ui/form/DateRangeField/demo/basic.d.ts +1 -1
- package/ui/form/DateRangeField/demo/basic.js +1 -1
- package/ui/form/DateRangeField/demo/disabled.d.ts +8 -0
- package/ui/form/DateRangeField/demo/disabled.js +33 -0
- package/ui/form/DateRangeField/demo/errors.d.ts +8 -0
- package/ui/form/DateRangeField/demo/errors.js +33 -0
- package/ui/form/DateRangeField/demo/icon.d.ts +8 -0
- package/ui/form/DateRangeField/demo/icon.js +35 -0
- package/ui/form/DateRangeField/demo/placeholder.d.ts +8 -0
- package/ui/form/DateRangeField/demo/placeholder.js +33 -0
- package/ui/form/DateRangeField/demo/required.d.ts +8 -0
- package/ui/form/DateRangeField/demo/required.js +33 -0
- package/ui/form/DateTimeField/DateTimeField.d.ts +1 -7
- package/ui/form/DateTimeField/DateTimeField.js +3 -2
- package/ui/form/DateTimeField/demo/basic.d.ts +1 -1
- package/ui/form/DateTimeField/demo/basic.js +1 -1
- package/ui/form/DateTimeField/demo/disabled.d.ts +1 -1
- package/ui/form/DateTimeField/demo/disabled.js +1 -1
- package/ui/form/DateTimeField/demo/errors.d.ts +1 -1
- package/ui/form/DateTimeField/demo/errors.js +2 -2
- package/ui/form/DateTimeField/demo/icon.d.ts +1 -1
- package/ui/form/DateTimeField/demo/icon.js +2 -2
- package/ui/form/DateTimeField/demo/placeholder.d.ts +1 -1
- package/ui/form/DateTimeField/demo/placeholder.js +2 -6
- package/ui/form/DateTimeField/demo/required.d.ts +1 -1
- package/ui/form/DateTimeField/demo/required.js +1 -1
- package/ui/form/DateTimeField/demo/showRemove.d.ts +8 -0
- package/ui/form/DateTimeField/demo/showRemove.js +32 -0
- package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +1 -7
- package/ui/form/DateTimeRangeField/DateTimeRangeField.js +11 -2
- package/ui/form/DateTimeRangeField/demo/basic.d.ts +8 -0
- package/ui/form/DateTimeRangeField/demo/basic.js +32 -0
- package/ui/form/DateTimeRangeField/demo/disabled.d.ts +8 -0
- package/ui/form/{FieldLayout/demo/hint.js → DateTimeRangeField/demo/disabled.js} +4 -5
- package/ui/form/DateTimeRangeField/demo/errors.d.ts +8 -0
- package/ui/form/DateTimeRangeField/demo/errors.js +33 -0
- package/ui/form/DateTimeRangeField/demo/icon.d.ts +8 -0
- package/ui/form/DateTimeRangeField/demo/icon.js +32 -0
- package/ui/form/DateTimeRangeField/demo/placeholder.d.ts +8 -0
- package/ui/form/DateTimeRangeField/demo/placeholder.js +33 -0
- package/ui/form/DateTimeRangeField/demo/required.d.ts +8 -0
- package/ui/form/DateTimeRangeField/demo/required.js +33 -0
- package/ui/form/DateTimeRangeField/demo/showRemove.d.ts +8 -0
- package/ui/form/DateTimeRangeField/demo/showRemove.js +32 -0
- package/ui/form/DropDownField/DropDownField.d.ts +3 -8
- package/ui/form/DropDownField/DropDownField.js +23 -13
- package/ui/form/DropDownField/demo/auto-complete.d.ts +1 -1
- package/ui/form/DropDownField/demo/auto-complete.js +1 -1
- package/ui/form/DropDownField/demo/basic.d.ts +5 -5
- package/ui/form/DropDownField/demo/basic.js +6 -6
- package/ui/form/DropDownField/demo/disabled.d.ts +1 -1
- package/ui/form/DropDownField/demo/disabled.js +1 -1
- package/ui/form/DropDownField/demo/errors.d.ts +1 -1
- package/ui/form/DropDownField/demo/errors.js +2 -2
- package/ui/form/DropDownField/demo/multiple.d.ts +1 -1
- package/ui/form/DropDownField/demo/multiple.js +1 -1
- package/ui/form/DropDownField/demo/no-border.d.ts +1 -1
- package/ui/form/DropDownField/demo/no-border.js +1 -1
- package/ui/form/DropDownField/demo/placeholder.d.ts +1 -1
- package/ui/form/DropDownField/demo/placeholder.js +1 -1
- package/ui/form/DropDownField/demo/required.d.ts +1 -1
- package/ui/form/DropDownField/demo/required.js +1 -1
- package/ui/form/DropDownField/demo/show-reset.d.ts +1 -1
- package/ui/form/DropDownField/demo/show-reset.js +1 -1
- package/ui/form/DropDownField/demo/size.d.ts +1 -1
- package/ui/form/DropDownField/demo/size.js +1 -1
- package/ui/form/Field/demo/basic.d.ts +1 -1
- package/ui/form/Field/demo/basic.js +1 -1
- package/ui/form/Field/demo/component.d.ts +1 -1
- package/ui/form/Field/demo/component.js +1 -1
- package/ui/form/Field/demo/model.d.ts +1 -1
- package/ui/form/Field/demo/model.js +1 -1
- package/ui/form/Field/fieldWrapper.d.ts +4 -4
- package/ui/form/FieldLayout/demo/errors.d.ts +1 -1
- package/ui/form/FieldLayout/demo/errors.js +4 -3
- package/ui/form/FieldLayout/demo/layouts.d.ts +1 -1
- package/ui/form/FieldLayout/demo/layouts.js +4 -3
- package/ui/form/FieldLayout/demo/required.d.ts +1 -1
- package/ui/form/FieldLayout/demo/required.js +3 -2
- package/ui/form/FieldList/FieldList.d.ts +1 -6
- package/ui/form/FieldList/demo/basic.d.ts +1 -1
- package/ui/form/FieldList/demo/basic.js +1 -1
- package/ui/form/FieldList/demo/disabled.d.ts +8 -0
- package/ui/form/FieldList/demo/disabled.js +58 -0
- package/ui/form/FieldSet/demo/basic.d.ts +1 -1
- package/ui/form/FieldSet/demo/basic.js +1 -1
- package/ui/form/FileField/FileField.d.ts +1 -6
- package/ui/form/FileField/demo/basic.d.ts +8 -0
- package/ui/form/FileField/demo/basic.js +33 -0
- package/ui/form/Form/Form.d.ts +9 -10
- package/ui/form/Form/Form.js +126 -126
- package/ui/form/Form/demo/basic.d.ts +1 -1
- package/ui/form/Form/demo/basic.js +2 -2
- package/ui/form/Form/demo/border.d.ts +8 -0
- package/ui/form/Form/demo/border.js +58 -0
- package/ui/form/Form/demo/horizontal.d.ts +8 -0
- package/ui/form/Form/demo/horizontal.js +51 -0
- package/ui/form/Form/demo/inline.d.ts +8 -0
- package/ui/form/Form/demo/inline.js +49 -0
- package/ui/form/HtmlField/HtmlField.d.ts +1 -7
- package/ui/form/HtmlField/demo/basic.d.ts +1 -1
- package/ui/form/HtmlField/demo/basic.js +1 -1
- package/ui/form/ImageField/ImageField.d.ts +81 -0
- package/ui/form/ImageField/ImageField.js +145 -0
- package/ui/form/ImageField/index.d.ts +2 -0
- package/ui/form/ImageField/index.js +7 -0
- package/ui/form/InputField/InputField.d.ts +8 -6
- package/ui/form/InputField/InputField.js +2 -1
- package/ui/form/InputField/demo/addons.d.ts +3 -3
- package/ui/form/InputField/demo/addons.js +3 -3
- package/ui/form/InputField/demo/basic.d.ts +1 -1
- package/ui/form/InputField/demo/basic.js +2 -3
- package/ui/form/InputField/demo/disabled.d.ts +1 -1
- package/ui/form/InputField/demo/disabled.js +2 -3
- package/ui/form/InputField/demo/errors.d.ts +2 -2
- package/ui/form/InputField/demo/errors.js +3 -3
- package/ui/form/InputField/demo/mask.d.ts +2 -2
- package/ui/form/InputField/demo/mask.js +2 -2
- package/ui/form/InputField/demo/placeholder.d.ts +1 -1
- package/ui/form/InputField/demo/placeholder.js +1 -1
- package/ui/form/InputField/demo/required.d.ts +1 -1
- package/ui/form/InputField/demo/required.js +1 -1
- package/ui/form/InputField/demo/sizes.d.ts +0 -5
- package/ui/form/InputField/demo/sizes.js +5 -5
- package/ui/form/InputField/demo/textAddons.d.ts +3 -3
- package/ui/form/InputField/demo/textAddons.js +3 -3
- package/ui/form/InputField/demo/types.d.ts +0 -5
- package/ui/form/InputField/demo/types.js +7 -7
- package/ui/form/NavField/NavField.d.ts +2 -8
- package/ui/form/NavField/NavField.js +6 -3
- package/ui/form/NavField/demo/basic.d.ts +5 -5
- package/ui/form/NavField/demo/basic.js +6 -6
- package/ui/form/NavField/demo/disabled.d.ts +2 -2
- package/ui/form/NavField/demo/disabled.js +3 -3
- package/ui/form/NavField/demo/errors.d.ts +2 -2
- package/ui/form/NavField/demo/errors.js +4 -4
- package/ui/form/NavField/demo/layouts.d.ts +12 -0
- package/ui/form/NavField/demo/layouts.js +57 -0
- package/ui/form/NavField/demo/required.d.ts +2 -2
- package/ui/form/NavField/demo/required.js +3 -3
- package/ui/form/NumberField/NumberField.d.ts +1 -6
- package/ui/form/NumberField/demo/basic.d.ts +1 -1
- package/ui/form/NumberField/demo/basic.js +1 -1
- package/ui/form/NumberField/demo/disabled.d.ts +1 -1
- package/ui/form/NumberField/demo/disabled.js +1 -1
- package/ui/form/NumberField/demo/errors.d.ts +1 -1
- package/ui/form/NumberField/demo/errors.js +2 -2
- package/ui/form/NumberField/demo/placeholder.d.ts +1 -1
- package/ui/form/NumberField/demo/placeholder.js +1 -1
- package/ui/form/NumberField/demo/required.d.ts +1 -1
- package/ui/form/NumberField/demo/required.js +1 -1
- package/ui/form/NumberField/demo/sizes.d.ts +2 -2
- package/ui/form/NumberField/demo/sizes.js +2 -2
- package/ui/form/PasswordField/PasswordField.d.ts +1 -6
- package/ui/form/PasswordField/demo/basic.d.ts +1 -1
- package/ui/form/PasswordField/demo/basic.js +1 -1
- package/ui/form/PasswordField/demo/disabled.d.ts +1 -1
- package/ui/form/PasswordField/demo/disabled.js +1 -1
- package/ui/form/PasswordField/demo/errors.d.ts +1 -1
- package/ui/form/PasswordField/demo/errors.js +2 -2
- package/ui/form/PasswordField/demo/placeholder.d.ts +1 -1
- package/ui/form/PasswordField/demo/placeholder.js +1 -1
- package/ui/form/PasswordField/demo/required.d.ts +1 -1
- package/ui/form/PasswordField/demo/required.js +1 -1
- package/ui/form/PasswordField/demo/security.d.ts +1 -1
- package/ui/form/PasswordField/demo/security.js +1 -1
- package/ui/form/PasswordField/demo/sizes.d.ts +2 -2
- package/ui/form/PasswordField/demo/sizes.js +2 -2
- package/ui/form/RadioListField/RadioListField.d.ts +1 -6
- package/ui/form/RadioListField/demo/basic.d.ts +5 -5
- package/ui/form/RadioListField/demo/basic.js +5 -5
- package/ui/form/RadioListField/demo/disabled.d.ts +1 -1
- package/ui/form/RadioListField/demo/disabled.js +1 -1
- package/ui/form/RadioListField/demo/errors.d.ts +1 -1
- package/ui/form/RadioListField/demo/errors.js +2 -2
- package/ui/form/RadioListField/demo/required.d.ts +1 -1
- package/ui/form/RadioListField/demo/required.js +1 -1
- package/ui/form/RateField/RateField.d.ts +2 -8
- package/ui/form/RateField/demo/allow-clear.d.ts +1 -1
- package/ui/form/RateField/demo/allow-clear.js +1 -1
- package/ui/form/RateField/demo/basic.d.ts +1 -1
- package/ui/form/RateField/demo/basic.js +1 -1
- package/ui/form/RateField/demo/default-value.d.ts +1 -1
- package/ui/form/RateField/demo/default-value.js +1 -1
- package/ui/form/RateField/demo/disabled.d.ts +1 -1
- package/ui/form/RateField/demo/disabled.js +1 -1
- package/ui/form/RateField/demo/errors.d.ts +1 -1
- package/ui/form/RateField/demo/errors.js +2 -2
- package/ui/form/RateField/demo/items-count.d.ts +1 -1
- package/ui/form/RateField/demo/items-count.js +1 -1
- package/ui/form/RateField/demo/required.d.ts +1 -1
- package/ui/form/RateField/demo/required.js +1 -1
- package/ui/form/ReCaptchaField/ReCaptchaField.d.ts +1 -7
- package/ui/form/ReCaptchaField/demo/basic.d.ts +1 -1
- package/ui/form/ReCaptchaField/demo/basic.js +1 -1
- package/ui/form/SliderField/SliderField.d.ts +42 -15
- package/ui/form/SliderField/SliderField.js +18 -9
- package/ui/form/SliderField/demo/basic.d.ts +1 -1
- package/ui/form/SliderField/demo/basic.js +2 -2
- package/ui/form/SliderField/demo/disabled.d.ts +1 -1
- package/ui/form/SliderField/demo/disabled.js +2 -2
- package/ui/form/SliderField/demo/errors.d.ts +2 -2
- package/ui/form/SliderField/demo/errors.js +4 -4
- package/ui/form/SliderField/demo/marks.d.ts +3 -0
- package/ui/form/SliderField/demo/marks.js +45 -0
- package/ui/form/SliderField/demo/min-max.d.ts +2 -2
- package/ui/form/SliderField/demo/min-max.js +3 -3
- package/ui/form/SliderField/demo/onAfterChange.d.ts +8 -0
- package/ui/form/SliderField/demo/onAfterChange.js +39 -0
- package/ui/form/SliderField/demo/onChange.d.ts +8 -0
- package/ui/form/SliderField/demo/onChange.js +39 -0
- package/ui/form/SliderField/demo/range.d.ts +8 -0
- package/ui/form/SliderField/demo/{size.js → range.js} +5 -10
- package/ui/form/SwitcherField/SwitcherField.d.ts +1 -7
- package/ui/form/SwitcherField/demo/basic.d.ts +5 -5
- package/ui/form/SwitcherField/demo/basic.js +5 -5
- package/ui/form/SwitcherField/demo/disabled.d.ts +1 -1
- package/ui/form/SwitcherField/demo/disabled.js +2 -2
- package/ui/form/SwitcherField/demo/errors.d.ts +1 -1
- package/ui/form/SwitcherField/demo/errors.js +3 -3
- package/ui/form/SwitcherField/demo/required.d.ts +1 -1
- package/ui/form/SwitcherField/demo/required.js +2 -2
- package/ui/form/TextField/TextField.d.ts +3 -7
- package/ui/form/TextField/TextField.js +1 -1
- package/ui/form/TextField/demo/basic.d.ts +1 -1
- package/ui/form/TextField/demo/basic.js +1 -1
- package/ui/form/TextField/demo/disabled.d.ts +1 -1
- package/ui/form/TextField/demo/disabled.js +1 -1
- package/ui/form/TextField/demo/errors.d.ts +1 -1
- package/ui/form/TextField/demo/errors.js +2 -2
- package/ui/form/TextField/demo/placeholder.d.ts +1 -1
- package/ui/form/TextField/demo/placeholder.js +1 -1
- package/ui/form/TextField/demo/required.d.ts +1 -1
- package/ui/form/TextField/demo/required.js +1 -1
- package/ui/form/TextField/demo/sizes.d.ts +0 -5
- package/ui/form/TextField/demo/sizes.js +5 -5
- package/ui/form/TextField/demo/submit.d.ts +2 -2
- package/ui/form/TextField/demo/submit.js +2 -2
- package/ui/form/TimeField/TimeField.d.ts +1 -7
- package/ui/form/TimeField/TimeField.js +1 -1
- package/ui/form/TimeField/demo/basic.d.ts +1 -1
- package/ui/form/TimeField/demo/basic.js +1 -1
- package/ui/form/TimeField/demo/disabled.d.ts +1 -1
- package/ui/form/TimeField/demo/disabled.js +1 -1
- package/ui/form/TimeField/demo/errors.d.ts +1 -1
- package/ui/form/TimeField/demo/errors.js +2 -2
- package/ui/form/TimeField/demo/icon.d.ts +8 -0
- package/ui/form/TimeField/demo/icon.js +33 -0
- package/ui/form/TimeField/demo/{no-border.d.ts → noBorder.d.ts} +1 -1
- package/ui/form/TimeField/demo/{no-border.js → noBorder.js} +1 -1
- package/ui/form/TimeField/demo/placeholder.d.ts +1 -1
- package/ui/form/TimeField/demo/placeholder.js +1 -1
- package/ui/form/TimeField/demo/required.d.ts +1 -1
- package/ui/form/TimeField/demo/required.js +1 -1
- package/ui/form/TimeField/demo/showRemove.d.ts +8 -0
- package/ui/form/TimeField/demo/{show-remove.js → showRemove.js} +1 -1
- package/ui/form/index.d.ts +22 -132
- package/ui/format/EnumFormatter/EnumFormatter.js +1 -1
- package/ui/icon/Icon/Icon.js +3 -0
- package/ui/icon/Icon/demo/icon.d.ts +3 -0
- package/ui/{form/SliderField/demo/required.js → icon/Icon/demo/icon.js} +2 -7
- package/ui/layout/Meta/Meta.d.ts +56 -0
- package/ui/layout/Meta/Meta.js +38 -0
- package/ui/layout/Meta/index.d.ts +2 -0
- package/ui/layout/Meta/index.js +7 -0
- package/ui/layout/Notifications/Notifications.d.ts +14 -0
- package/ui/layout/Notifications/Notifications.js +1 -1
- package/ui/layout/Notifications/demo/basic.d.ts +8 -0
- package/ui/layout/Notifications/demo/basic.js +53 -0
- package/ui/layout/Notifications/demo/position.d.ts +3 -0
- package/ui/layout/Notifications/demo/position.js +45 -0
- package/ui/layout/Notifications/demo/timeOut.d.ts +3 -0
- package/ui/layout/Notifications/demo/timeOut.js +45 -0
- package/ui/layout/Portal.js +3 -0
- package/ui/layout/ProgressBar/ProgressBar.d.ts +55 -0
- package/ui/layout/ProgressBar/ProgressBar.js +53 -0
- package/ui/layout/ProgressBar/demo/percent.d.ts +8 -0
- package/ui/layout/ProgressBar/demo/percent.js +49 -0
- package/ui/layout/ProgressBar/demo/showLabel.d.ts +8 -0
- package/ui/layout/ProgressBar/demo/showLabel.js +40 -0
- package/ui/{form/TimeField → layout/ProgressBar}/demo/sizes.d.ts +1 -1
- package/ui/layout/ProgressBar/demo/sizes.js +40 -0
- package/ui/layout/ProgressBar/demo/status.d.ts +8 -0
- package/ui/{form/DateTimeField/demo/sizes.js → layout/ProgressBar/demo/status.js} +8 -12
- package/ui/layout/ProgressBar/demo/type.d.ts +8 -0
- package/ui/layout/ProgressBar/demo/type.js +40 -0
- package/ui/layout/ProgressBar/index.d.ts +2 -0
- package/ui/layout/ProgressBar/index.js +7 -0
- package/ui/layout/Skeleton/Skeleton.d.ts +25 -0
- package/ui/layout/Skeleton/Skeleton.js +11 -0
- package/ui/layout/Skeleton/demo/animations.d.ts +8 -0
- package/ui/layout/Skeleton/demo/animations.js +49 -0
- package/ui/layout/Skeleton/demo/width height.d.ts +8 -0
- package/ui/layout/Skeleton/demo/width height.js +38 -0
- package/ui/layout/Skeleton/index.d.ts +2 -0
- package/ui/layout/Skeleton/index.js +7 -0
- package/ui/layout/Tooltip/demo/basic.d.ts +5 -0
- package/ui/layout/Tooltip/demo/basic.js +20 -9
- package/ui/list/Grid/Grid.js +3 -1
- package/ui/list/Grid/demo/inner-search-form.d.ts +1 -6
- package/ui/list/LayoutNames/LayoutNames.js +4 -3
- package/ui/list/List/List.js +4 -6
- package/ui/list/PaginationSize/PaginationSize.d.ts +2 -2
- package/ui/list/Steps/Steps.d.ts +32 -0
- package/ui/list/Steps/Steps.js +23 -0
- package/ui/list/Steps/index.d.ts +2 -0
- package/ui/list/Steps/index.js +7 -0
- package/ui/modal/Modal/Modal.d.ts +52 -32
- package/ui/modal/Modal/Modal.js +3 -1
- package/ui/modal/Modal/demo/basic.d.ts +1 -1
- package/ui/modal/Modal/demo/basic.js +16 -7
- package/ui/modal/Modal/demo/closeTimeout.d.ts +8 -0
- package/ui/modal/Modal/demo/closeTimeout.js +60 -0
- package/ui/modal/Modal/demo/closing.d.ts +9 -0
- package/ui/modal/Modal/demo/closing.js +63 -0
- package/ui/modal/Modal/demo/component.d.ts +10 -0
- package/ui/modal/Modal/demo/component.js +51 -0
- package/ui/modal/Modal/demo/controls.d.ts +8 -0
- package/ui/modal/Modal/demo/controls.js +62 -0
- package/ui/modal/Modal/demo/size.d.ts +8 -0
- package/ui/modal/Modal/demo/size.js +66 -0
- package/ui/modal/ModalPortal/ModalPortal.d.ts +8 -0
- package/ui/modal/ModalPortal/ModalPortal.js +7 -9
- package/ui/nav/Breadcrumbs/Breadcrumbs.d.ts +12 -6
- package/ui/nav/Breadcrumbs/demo/basic.d.ts +1 -1
- package/ui/nav/Breadcrumbs/demo/basic.js +1 -1
- package/ui/nav/Breadcrumbs/demo/items.d.ts +8 -0
- package/ui/{form/TimeField/demo/sizes.js → nav/Breadcrumbs/demo/items.js} +9 -10
- package/ui/nav/Breadcrumbs/demo/page-title.d.ts +1 -1
- package/ui/nav/Breadcrumbs/demo/page-title.js +1 -1
- package/ui/nav/Nav/Nav.js +1 -1
- package/ui/nav/Router/Router.d.ts +21 -0
- package/ui/nav/Router/Router.js +40 -4
- package/utils/calendar.d.ts +1 -1
- package/utils/calendar.js +8 -1
- package/utils/form.d.ts +2 -7
- package/components/social/index.d.ts +0 -11
- package/components/social/index.js +0 -15
- package/ui/content/Avatar/SizeContext.d.ts +0 -1
- package/ui/content/Avatar/SizeContext.js +0 -14
- package/ui/form/Form/SyncAddressBarHelper.d.ts +0 -13
- package/ui/form/Form/SyncAddressBarHelper.js +0 -119
- package/ui/nav/Router/SsrProvider.d.ts +0 -15
- package/ui/nav/Router/SsrProvider.js +0 -55
- package/utils/query.d.ts +0 -1
- package/utils/query.js +0 -46
package/hooks/useApplication.js
CHANGED
|
@@ -44,86 +44,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
44
44
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
45
45
|
};
|
|
46
46
|
exports.__esModule = true;
|
|
47
|
-
exports.
|
|
47
|
+
exports.defaultComponents = void 0;
|
|
48
48
|
var React = __importStar(require("react"));
|
|
49
49
|
var react_redux_1 = require("react-redux");
|
|
50
50
|
var merge_1 = __importDefault(require("lodash-es/merge"));
|
|
51
51
|
var react_1 = require("react");
|
|
52
|
-
var react_use_1 = require("react-use");
|
|
53
52
|
var ClientStorageComponent_1 = __importDefault(require("../components/ClientStorageComponent"));
|
|
54
53
|
var HtmlComponent_1 = __importDefault(require("../components/HtmlComponent"));
|
|
55
54
|
var StoreComponent_1 = __importDefault(require("../components/StoreComponent"));
|
|
56
55
|
var UiComponent_1 = __importDefault(require("../components/UiComponent"));
|
|
57
56
|
var MetaComponent_1 = __importDefault(require("../components/MetaComponent"));
|
|
57
|
+
var ComponentsProvider_1 = __importDefault(require("../providers/ComponentsProvider"));
|
|
58
58
|
var Router_1 = __importDefault(require("../ui/nav/Router/Router"));
|
|
59
59
|
var MetricsComponent_1 = __importDefault(require("../components/MetricsComponent"));
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
exports.
|
|
63
|
-
exports.SCREEN_DESKTOP = 'desktop';
|
|
64
|
-
function ScreenProvider(props) {
|
|
65
|
-
var _a;
|
|
66
|
-
var _b = react_1.useState(typeof window !== 'undefined' ? window.innerWidth : 1280), width = _b[0], setWidth = _b[1];
|
|
67
|
-
var _c = react_1.useState(props.media || (_a = {},
|
|
68
|
-
_a[exports.SCREEN_PHONE] = 320,
|
|
69
|
-
_a[exports.SCREEN_TABLET] = 768,
|
|
70
|
-
_a[exports.SCREEN_DESKTOP] = 1024,
|
|
71
|
-
_a)), media = _c[0], setMedia = _c[1];
|
|
72
|
-
var timer = null;
|
|
73
|
-
var onResize = function () {
|
|
74
|
-
if (timer) {
|
|
75
|
-
clearTimeout(timer);
|
|
76
|
-
}
|
|
77
|
-
if (props.skipTimeout) {
|
|
78
|
-
setWidth(window.innerWidth);
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
timer = setTimeout(function () { return setWidth(window.innerWidth); }, 100);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
react_use_1.useMount(function () {
|
|
85
|
-
if (typeof window !== 'undefined') {
|
|
86
|
-
window.addEventListener('resize', onResize, false);
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
react_use_1.useUnmount(function () {
|
|
90
|
-
if (typeof window !== 'undefined') {
|
|
91
|
-
window.removeEventListener('resize', onResize);
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
var getDeviceType = react_1.useCallback(function () {
|
|
95
|
-
if (width < media[exports.SCREEN_TABLET]) {
|
|
96
|
-
return exports.SCREEN_PHONE;
|
|
97
|
-
}
|
|
98
|
-
if (width < media[exports.SCREEN_DESKTOP]) {
|
|
99
|
-
return exports.SCREEN_TABLET;
|
|
100
|
-
}
|
|
101
|
-
return exports.SCREEN_DESKTOP;
|
|
102
|
-
}, [width, media]);
|
|
103
|
-
var isPhone = react_1.useCallback(function () { return getDeviceType() === exports.SCREEN_PHONE; }, [getDeviceType]);
|
|
104
|
-
var isTablet = react_1.useCallback(function () { return getDeviceType() === exports.SCREEN_TABLET; }, [getDeviceType]);
|
|
105
|
-
var isDesktop = react_1.useCallback(function () { return getDeviceType() === exports.SCREEN_DESKTOP; }, [getDeviceType]);
|
|
106
|
-
var value = react_1.useMemo(function () { return ({
|
|
107
|
-
width: width,
|
|
108
|
-
media: media,
|
|
109
|
-
setMedia: setMedia,
|
|
110
|
-
isPhone: isPhone,
|
|
111
|
-
isTablet: isTablet,
|
|
112
|
-
isDesktop: isDesktop,
|
|
113
|
-
getDeviceType: getDeviceType
|
|
114
|
-
}); }, [
|
|
115
|
-
width,
|
|
116
|
-
media,
|
|
117
|
-
setMedia,
|
|
118
|
-
isPhone,
|
|
119
|
-
isTablet,
|
|
120
|
-
isDesktop,
|
|
121
|
-
getDeviceType,
|
|
122
|
-
]);
|
|
123
|
-
return (React.createElement(exports.ScreenContext.Provider, { value: value }, props.children));
|
|
124
|
-
}
|
|
125
|
-
exports.ComponentsContext = React.createContext({});
|
|
126
|
-
var defaultComponents = {
|
|
60
|
+
var ScreenProvider_1 = __importDefault(require("../providers/ScreenProvider"));
|
|
61
|
+
var useComponents_1 = __importDefault(require("./useComponents"));
|
|
62
|
+
exports.defaultComponents = {
|
|
127
63
|
clientStorage: {
|
|
128
64
|
className: ClientStorageComponent_1["default"]
|
|
129
65
|
},
|
|
@@ -151,31 +87,30 @@ var defaultComponents = {
|
|
|
151
87
|
};
|
|
152
88
|
function useApplication(config) {
|
|
153
89
|
if (config === void 0) { config = {}; }
|
|
154
|
-
var
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
if (useGlobal) {
|
|
90
|
+
var useGlobal = config.useGlobal !== false;
|
|
91
|
+
var components = useComponents_1["default"]();
|
|
92
|
+
if (useGlobal && !process.env.IS_SSR) {
|
|
158
93
|
components = window.SteroidsComponents || null;
|
|
159
94
|
}
|
|
160
95
|
// Create components
|
|
161
96
|
if (!components) {
|
|
162
97
|
components = {};
|
|
163
|
-
var componentsConfig_1 = merge_1["default"]({}, defaultComponents, config.components);
|
|
98
|
+
var componentsConfig_1 = merge_1["default"]({}, exports.defaultComponents, config.components);
|
|
164
99
|
Object.keys(componentsConfig_1).forEach(function (name) {
|
|
165
100
|
if (typeof componentsConfig_1[name] === 'function') {
|
|
166
101
|
componentsConfig_1[name] = { className: componentsConfig_1[name] };
|
|
167
102
|
}
|
|
168
103
|
var _a = componentsConfig_1[name], className = _a.className, componentConfig = __rest(_a, ["className"]);
|
|
169
104
|
// Append reducers to store
|
|
170
|
-
if (name === 'store'
|
|
171
|
-
|
|
105
|
+
if (name === 'store') {
|
|
106
|
+
if (config.reducers) {
|
|
107
|
+
componentConfig.reducers = config.reducers;
|
|
108
|
+
}
|
|
172
109
|
}
|
|
173
110
|
// eslint-disable-next-line new-cap
|
|
174
111
|
components[name] = new className(components, componentConfig);
|
|
175
112
|
});
|
|
176
|
-
|
|
177
|
-
window.SteroidsComponents = components;
|
|
178
|
-
}
|
|
113
|
+
window.SteroidsComponents = components;
|
|
179
114
|
// Init callback
|
|
180
115
|
if (config.onInit) {
|
|
181
116
|
config.onInit(components);
|
|
@@ -190,10 +125,10 @@ function useApplication(config) {
|
|
|
190
125
|
content = (React.createElement(Router_1["default"], { routes: config.routes(), wrapperView: config.layoutView(), wrapperProps: config.layoutProps }));
|
|
191
126
|
}
|
|
192
127
|
if (config.screen) {
|
|
193
|
-
content = (React.createElement(
|
|
128
|
+
content = (React.createElement(ScreenProvider_1["default"], __assign({}, config.screen), content));
|
|
194
129
|
}
|
|
195
|
-
if (!useGlobal) {
|
|
196
|
-
content = (React.createElement(
|
|
130
|
+
if (!(useGlobal || process.env.IS_SSR)) {
|
|
131
|
+
content = (React.createElement(ComponentsProvider_1["default"], { components: components }, content));
|
|
197
132
|
}
|
|
198
133
|
return (React.createElement(react_redux_1.Provider, { store: components.store.store }, content));
|
|
199
134
|
}, [components, config, useGlobal]);
|
package/hooks/useComponents.d.ts
CHANGED
|
@@ -1,15 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
api?: any;
|
|
3
|
-
clientStorage?: any;
|
|
4
|
-
html?: any;
|
|
5
|
-
http?: any;
|
|
6
|
-
locale?: any;
|
|
7
|
-
store?: any;
|
|
8
|
-
ui?: any;
|
|
9
|
-
resource?: any;
|
|
10
|
-
ws?: any;
|
|
11
|
-
pushNotification?: any;
|
|
12
|
-
meta?: any;
|
|
13
|
-
[key: string]: any;
|
|
14
|
-
}
|
|
1
|
+
import { IComponents } from '../providers/ComponentsProvider';
|
|
15
2
|
export default function useComponents(): IComponents;
|
package/hooks/useComponents.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
//import {useContext} from 'react';
|
|
3
2
|
exports.__esModule = true;
|
|
3
|
+
var react_1 = require("react");
|
|
4
|
+
var ComponentsProvider_1 = require("../providers/ComponentsProvider");
|
|
4
5
|
function useComponents() {
|
|
5
|
-
if (
|
|
6
|
+
if (!process.env.IS_SSR) {
|
|
6
7
|
return window.SteroidsComponents;
|
|
7
8
|
}
|
|
8
|
-
|
|
9
|
-
//return useContext(ComponentsContext);
|
|
10
|
-
return null;
|
|
9
|
+
return react_1.useContext(ComponentsProvider_1.ComponentsContext); // eslint-disable-line react-hooks/rules-of-hooks
|
|
11
10
|
}
|
|
12
11
|
exports["default"] = useComponents;
|
|
@@ -22,6 +22,7 @@ export declare type DataProviderItems = string | ({
|
|
|
22
22
|
}) | (string | number | {
|
|
23
23
|
id: string | number | boolean;
|
|
24
24
|
label: string | any;
|
|
25
|
+
[key: string]: any;
|
|
25
26
|
})[];
|
|
26
27
|
export interface IDataProviderConfig {
|
|
27
28
|
/**
|
|
@@ -69,6 +70,13 @@ export interface IDataProviderConfig {
|
|
|
69
70
|
* @example true
|
|
70
71
|
*/
|
|
71
72
|
autoFetch?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Идентификаторы выбранных значений, которые необходимо подгрузить при `autoFetch` режиме.
|
|
75
|
+
* На бекенд будут переданы идентификаторы в параметре `ids`, которые необходимо вернуть.
|
|
76
|
+
* Используется только при `autoFetch = true`
|
|
77
|
+
* @example [1, 22]
|
|
78
|
+
*/
|
|
79
|
+
initialSelectedIds?: number[];
|
|
72
80
|
}
|
|
73
81
|
export interface IDataProviderResult {
|
|
74
82
|
items?: {
|
package/hooks/useDataProvider.js
CHANGED
|
@@ -54,6 +54,7 @@ var react_redux_1 = require("react-redux");
|
|
|
54
54
|
var isString_1 = __importDefault(require("lodash-es/isString"));
|
|
55
55
|
var isFunction_1 = __importDefault(require("lodash-es/isFunction"));
|
|
56
56
|
var react_1 = require("react");
|
|
57
|
+
var react_use_1 = require("react-use");
|
|
57
58
|
var data_1 = require("../utils/data");
|
|
58
59
|
var index_1 = require("./index");
|
|
59
60
|
var fields_1 = require("../reducers/fields");
|
|
@@ -88,8 +89,9 @@ function useDataProvider(config) {
|
|
|
88
89
|
// Fetch data
|
|
89
90
|
var delayTimerRef = react_1.useRef(null);
|
|
90
91
|
var isAutoFetchedRef = react_1.useRef(false);
|
|
92
|
+
var prevQuery = react_use_1.usePrevious(config.query);
|
|
91
93
|
react_1.useEffect(function () {
|
|
92
|
-
var fetchRemote = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
94
|
+
var fetchRemote = function (isAuto) { return __awaiter(_this, void 0, void 0, function () {
|
|
93
95
|
var searchHandler, result, newItems;
|
|
94
96
|
return __generator(this, function (_a) {
|
|
95
97
|
switch (_a.label) {
|
|
@@ -98,7 +100,7 @@ function useDataProvider(config) {
|
|
|
98
100
|
? function (method, params) { return method(components.api, params).then(function (response) { return response.data; }); }
|
|
99
101
|
: function (method, params) { return components.http.send(dataProvider.actionMethod, method, params)
|
|
100
102
|
.then(function (response) { return response.data; }); });
|
|
101
|
-
result = searchHandler(dataProvider.action, __assign({ query: config.query }, config.dataProvider.params));
|
|
103
|
+
result = searchHandler(dataProvider.action, __assign(__assign({ query: config.query }, (isAuto ? { ids: config.initialSelectedIds } : null)), config.dataProvider.params));
|
|
102
104
|
if (!(result && isFunction_1["default"](result.then))) return [3 /*break*/, 2];
|
|
103
105
|
setIsLoading(true);
|
|
104
106
|
return [4 /*yield*/, result];
|
|
@@ -123,20 +125,19 @@ function useDataProvider(config) {
|
|
|
123
125
|
}
|
|
124
126
|
else if (config.autoFetch && isAutoFetchedRef.current === false) {
|
|
125
127
|
isAutoFetchedRef.current = true;
|
|
126
|
-
fetchRemote();
|
|
128
|
+
fetchRemote(true);
|
|
127
129
|
}
|
|
128
130
|
else if (autoComplete.enable) {
|
|
129
131
|
if (delayTimerRef.current) {
|
|
130
132
|
clearTimeout(delayTimerRef.current);
|
|
131
133
|
}
|
|
132
|
-
//
|
|
133
|
-
if (
|
|
134
|
+
// Changed query logic
|
|
135
|
+
if (prevQuery !== config.query) {
|
|
134
136
|
// Search with delay
|
|
135
137
|
delayTimerRef.current = setTimeout(fetchRemote, autoComplete.delay);
|
|
136
138
|
}
|
|
137
139
|
}
|
|
138
|
-
}, [autoComplete, components.api, components.http, config.autoFetch, config.dataProvider, config.query,
|
|
139
|
-
dataProvider, dataProvider.action, dataProvider.onSearch, sourceItems]);
|
|
140
|
+
}, [autoComplete, components.api, components.http, config.autoFetch, config.dataProvider, config.initialSelectedIds, config.query, dataProvider, dataProvider.action, dataProvider.onSearch, prevQuery, sourceItems]);
|
|
140
141
|
return {
|
|
141
142
|
sourceItems: sourceItems,
|
|
142
143
|
items: items,
|
package/hooks/useDataSelect.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
interface IDataSelectItem {
|
|
2
|
+
id: number | string | boolean;
|
|
3
|
+
label?: string;
|
|
4
|
+
[key: string]: unknown;
|
|
5
|
+
}
|
|
1
6
|
export interface IDataSelectConfig {
|
|
2
7
|
/**
|
|
3
8
|
* Возможность множественного выбора
|
|
@@ -5,14 +10,10 @@ export interface IDataSelectConfig {
|
|
|
5
10
|
*/
|
|
6
11
|
multiple?: boolean;
|
|
7
12
|
/**
|
|
8
|
-
* Список с элементами
|
|
13
|
+
* Список с видимыми элементами
|
|
9
14
|
* @example [{id: 1, label: 'Krasnoyarsk'}, {id: 2, label: 'Moscow'}]
|
|
10
15
|
*/
|
|
11
|
-
items
|
|
12
|
-
id: number | string | boolean;
|
|
13
|
-
label?: string;
|
|
14
|
-
[key: string]: unknown;
|
|
15
|
-
}[];
|
|
16
|
+
items?: IDataSelectItem[];
|
|
16
17
|
/**
|
|
17
18
|
* Сделать активным первый элемент в списке
|
|
18
19
|
* @example true
|
|
@@ -22,7 +23,7 @@ export interface IDataSelectConfig {
|
|
|
22
23
|
* Список с идентификаторами выбранных элементов
|
|
23
24
|
* @example [1, 4]
|
|
24
25
|
*/
|
|
25
|
-
selectedIds
|
|
26
|
+
selectedIds?: any;
|
|
26
27
|
/**
|
|
27
28
|
* Первичный ключ для item
|
|
28
29
|
* @example id
|
|
@@ -31,7 +32,11 @@ export interface IDataSelectConfig {
|
|
|
31
32
|
/**
|
|
32
33
|
* Значение поля в форме
|
|
33
34
|
*/
|
|
34
|
-
inputValue
|
|
35
|
+
inputValue?: any;
|
|
36
|
+
/**
|
|
37
|
+
* Список со всеми элементами
|
|
38
|
+
*/
|
|
39
|
+
sourceItems?: IDataSelectItem[];
|
|
35
40
|
}
|
|
36
41
|
export interface IDataSelectResult {
|
|
37
42
|
isOpened: boolean;
|
|
@@ -42,5 +47,7 @@ export interface IDataSelectResult {
|
|
|
42
47
|
setHoveredId: (id: PrimaryKey) => void;
|
|
43
48
|
selectedIds: PrimaryKey[];
|
|
44
49
|
setSelectedIds: (ids: PrimaryKey | PrimaryKey[], skipToggle?: boolean) => void;
|
|
50
|
+
selectedItems: IDataSelectItem[];
|
|
45
51
|
}
|
|
46
52
|
export default function useDataSelect(config: IDataSelectConfig): IDataSelectResult;
|
|
53
|
+
export {};
|
package/hooks/useDataSelect.js
CHANGED
|
@@ -21,7 +21,8 @@ function useDataSelect(config) {
|
|
|
21
21
|
var primaryKey = config.primaryKey || defaultProps.primaryKey;
|
|
22
22
|
// Initial select
|
|
23
23
|
var initialSelectedIds = react_1.useMemo(function () {
|
|
24
|
-
|
|
24
|
+
var _a;
|
|
25
|
+
if (((_a = config.selectedIds) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
25
26
|
return [].concat(config.selectedIds || []);
|
|
26
27
|
}
|
|
27
28
|
if (!isNil_1["default"](config.inputValue)) {
|
|
@@ -31,12 +32,18 @@ function useDataSelect(config) {
|
|
|
31
32
|
? [config.items[0][primaryKey]]
|
|
32
33
|
: [];
|
|
33
34
|
}, [config.items, config.selectFirst, config.selectedIds, primaryKey, config.inputValue]);
|
|
34
|
-
|
|
35
|
+
var initialSelectedItems = react_1.useMemo(function () { return config.items.length > 0
|
|
36
|
+
&& initialSelectedIds.length > 0
|
|
37
|
+
? initialSelectedIds
|
|
38
|
+
.map(function (selectedId) { return config.items.find(function (item) { return item.id === selectedId; }); })
|
|
39
|
+
.filter(Boolean)
|
|
40
|
+
: []; }, [initialSelectedIds, config.items]);
|
|
35
41
|
// State
|
|
36
42
|
var _a = react_1.useState(false), isOpened = _a[0], setIsOpened = _a[1];
|
|
37
43
|
var _b = react_1.useState(false), isFocused = _b[0], setIsFocused = _b[1];
|
|
38
44
|
var _c = react_1.useState(null), hoveredId = _c[0], setHoveredId = _c[1];
|
|
39
45
|
var _d = react_1.useState(initialSelectedIds), selectedIds = _d[0], setSelectedIdsInternal = _d[1];
|
|
46
|
+
var _e = react_1.useState(initialSelectedItems), selectedItems = _e[0], setSelectedItemsInternal = _e[1];
|
|
40
47
|
// Handler for select/toggle item by id
|
|
41
48
|
var setSelectedIds = react_1.useCallback(function (ids, skipToggle) {
|
|
42
49
|
if (skipToggle === void 0) { skipToggle = false; }
|
|
@@ -44,7 +51,7 @@ function useDataSelect(config) {
|
|
|
44
51
|
if (!config.multiple && ids.length > 1) {
|
|
45
52
|
ids = [ids[0]];
|
|
46
53
|
}
|
|
47
|
-
setSelectedIdsInternal(ids);
|
|
54
|
+
setSelectedIdsInternal(ids.sort());
|
|
48
55
|
}
|
|
49
56
|
else {
|
|
50
57
|
var id_1 = ids;
|
|
@@ -54,11 +61,11 @@ function useDataSelect(config) {
|
|
|
54
61
|
else if (config.multiple) {
|
|
55
62
|
if (selectedIds.indexOf(id_1) !== -1) {
|
|
56
63
|
if (!skipToggle) {
|
|
57
|
-
setSelectedIdsInternal(selectedIds.filter(function (itemValue) { return itemValue !== id_1; }));
|
|
64
|
+
setSelectedIdsInternal(selectedIds.filter(function (itemValue) { return itemValue !== id_1; }).sort());
|
|
58
65
|
}
|
|
59
66
|
}
|
|
60
67
|
else {
|
|
61
|
-
setSelectedIdsInternal(__spreadArray(__spreadArray([], selectedIds), [id_1]));
|
|
68
|
+
setSelectedIdsInternal(__spreadArray(__spreadArray([], selectedIds), [id_1]).sort());
|
|
62
69
|
}
|
|
63
70
|
}
|
|
64
71
|
else {
|
|
@@ -69,6 +76,29 @@ function useDataSelect(config) {
|
|
|
69
76
|
}
|
|
70
77
|
}
|
|
71
78
|
}, [config.multiple, selectedIds]);
|
|
79
|
+
// Update selected items on change selectedIds or items or source items
|
|
80
|
+
var prevSelectedIdsLength = react_use_1.usePrevious(selectedIds.length);
|
|
81
|
+
react_use_1.useUpdateEffect(function () {
|
|
82
|
+
var newSelectedItems = [];
|
|
83
|
+
var hasChanges = false;
|
|
84
|
+
selectedIds.forEach(function (selectedId) {
|
|
85
|
+
var finedItem = config.items.find(function (item) { return item[primaryKey] === selectedId; });
|
|
86
|
+
if (!finedItem && config.sourceItems) {
|
|
87
|
+
finedItem = config.sourceItems.find(function (item) { return item[primaryKey] === selectedId; });
|
|
88
|
+
}
|
|
89
|
+
var selectedItem = selectedItems.find(function (item) { return item[primaryKey] === selectedId; });
|
|
90
|
+
if (finedItem || selectedItem) {
|
|
91
|
+
newSelectedItems.push(finedItem || selectedItem);
|
|
92
|
+
}
|
|
93
|
+
if (finedItem
|
|
94
|
+
&& (!selectedItem || selectedItem !== finedItem)) {
|
|
95
|
+
hasChanges = true;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
if (hasChanges || prevSelectedIdsLength !== selectedIds.length) {
|
|
99
|
+
setSelectedItemsInternal(newSelectedItems);
|
|
100
|
+
}
|
|
101
|
+
}, [config.items, config.sourceItems, primaryKey, selectedIds, selectedItems, prevSelectedIdsLength]);
|
|
72
102
|
// Select first after fetch data
|
|
73
103
|
var prevItemsLength = react_use_1.usePrevious(config.items.length);
|
|
74
104
|
react_use_1.useUpdateEffect(function () {
|
|
@@ -79,20 +109,27 @@ function useDataSelect(config) {
|
|
|
79
109
|
// Update selected items on change value
|
|
80
110
|
var prevConfigSelectedIds = react_use_1.usePrevious(config.selectedIds || []);
|
|
81
111
|
react_use_1.useUpdateEffect(function () {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
112
|
+
var newSelectedIds = config.selectedIds;
|
|
113
|
+
selectedItems.forEach(function (selectedItem) {
|
|
114
|
+
if (!newSelectedIds.includes(selectedItem.id) && config.selectedIds
|
|
115
|
+
&& config.selectedIds.includes(selectedItem.id)) {
|
|
116
|
+
newSelectedIds.push(selectedItem.id);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
newSelectedIds.sort();
|
|
120
|
+
if (!isEqual_1["default"](prevConfigSelectedIds, newSelectedIds)
|
|
121
|
+
&& !isEqual_1["default"](selectedIds, newSelectedIds) && newSelectedIds.length !== 0) {
|
|
87
122
|
setSelectedIdsInternal(newSelectedIds);
|
|
88
123
|
}
|
|
89
|
-
}, [config.items, config.selectedIds, primaryKey, prevConfigSelectedIds
|
|
124
|
+
}, [config.items, config.selectedIds, primaryKey, prevConfigSelectedIds,
|
|
125
|
+
selectedItems, config.sourceItems, selectedIds]);
|
|
90
126
|
// Global key down handler for navigate on items
|
|
91
127
|
// Support keys:
|
|
92
128
|
// - tab
|
|
93
129
|
// - esc
|
|
94
130
|
// - enter
|
|
95
131
|
// - up/down arrows
|
|
132
|
+
// - space
|
|
96
133
|
var onKeyDown = react_1.useCallback(function (e) {
|
|
97
134
|
// Skip no active
|
|
98
135
|
if (!isFocused && !isOpened) {
|
|
@@ -102,9 +139,8 @@ function useDataSelect(config) {
|
|
|
102
139
|
if ([9, 27].includes(e.which)) {
|
|
103
140
|
e.preventDefault();
|
|
104
141
|
setIsOpened(false);
|
|
105
|
-
return;
|
|
106
142
|
}
|
|
107
|
-
// Keys: enter
|
|
143
|
+
// Keys: enter (select and close)
|
|
108
144
|
if (e.which === 13 && isOpened) {
|
|
109
145
|
e.preventDefault();
|
|
110
146
|
if (hoveredId) {
|
|
@@ -119,6 +155,15 @@ function useDataSelect(config) {
|
|
|
119
155
|
// Select first result
|
|
120
156
|
setSelectedIds(config.items[0], true);
|
|
121
157
|
}
|
|
158
|
+
setIsOpened(false);
|
|
159
|
+
}
|
|
160
|
+
// Keys: space (toggle select)
|
|
161
|
+
if (e.which === 32 && isOpened) {
|
|
162
|
+
e.preventDefault();
|
|
163
|
+
if (hoveredId) {
|
|
164
|
+
// Select hovered
|
|
165
|
+
setSelectedIds(hoveredId);
|
|
166
|
+
}
|
|
122
167
|
}
|
|
123
168
|
// Keys: arrow up, arrow down
|
|
124
169
|
if ([38, 40].includes(e.which)) {
|
|
@@ -157,7 +202,8 @@ function useDataSelect(config) {
|
|
|
157
202
|
hoveredId: hoveredId,
|
|
158
203
|
setHoveredId: setHoveredId,
|
|
159
204
|
selectedIds: selectedIds,
|
|
160
|
-
setSelectedIds: setSelectedIds
|
|
205
|
+
setSelectedIds: setSelectedIds,
|
|
206
|
+
selectedItems: selectedItems
|
|
161
207
|
};
|
|
162
208
|
}
|
|
163
209
|
exports["default"] = useDataSelect;
|
package/hooks/useDispatch.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function useDispatch():
|
|
1
|
+
export default function useDispatch(): any;
|
package/hooks/useFetch.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import { IComponents } from '
|
|
1
|
+
import { IComponents } from '../providers/ComponentsProvider';
|
|
2
2
|
import { IApiMethod } from '../components/ApiComponent';
|
|
3
|
+
declare global {
|
|
4
|
+
interface Window {
|
|
5
|
+
APP_PRELOADED_DATA: any;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
3
8
|
export interface IFetchConfig {
|
|
4
9
|
id?: string | number;
|
|
5
10
|
url?: string | IApiMethod;
|
|
@@ -18,6 +23,10 @@ export interface IFetchResult {
|
|
|
18
23
|
isLoading: boolean;
|
|
19
24
|
fetch?: (newParams?: Record<string, unknown>) => void;
|
|
20
25
|
}
|
|
26
|
+
export declare const normalizeConfig: (config: any) => any;
|
|
27
|
+
export declare const getConfigId: (config: any) => any;
|
|
28
|
+
export declare const defaultFetchHandler: (config: any, components: any, addCancelToken: any) => any;
|
|
29
|
+
export declare const fetchData: (config: any, components: any, addCancelToken: any) => any;
|
|
21
30
|
/**
|
|
22
31
|
* Fetch
|
|
23
32
|
* Используется для подгрузки данных с бекенда перед рендером компонента, на котором он применяется.
|
|
@@ -25,7 +34,6 @@ export interface IFetchResult {
|
|
|
25
34
|
* которые описывают откуда нужно подтянуть данные.
|
|
26
35
|
*
|
|
27
36
|
* В процесс загрузки HOC будет отображать "Загрузка...", а после уже отрендерит компонент, передав данные в указанный
|
|
28
|
-
* ключ `key`.
|
|
29
|
-
* SSR.
|
|
37
|
+
* ключ `key`.
|
|
30
38
|
*/
|
|
31
39
|
export default function useFetch(rawConfig?: IFetchConfig): IFetchResult;
|
package/hooks/useFetch.js
CHANGED
|
@@ -50,12 +50,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
50
50
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
51
|
};
|
|
52
52
|
exports.__esModule = true;
|
|
53
|
+
exports.fetchData = exports.defaultFetchHandler = exports.getConfigId = exports.normalizeConfig = void 0;
|
|
53
54
|
var react_1 = require("react");
|
|
54
55
|
var react_use_1 = require("react-use");
|
|
56
|
+
var trim_1 = __importDefault(require("lodash-es/trim"));
|
|
55
57
|
var axios_1 = __importDefault(require("axios"));
|
|
56
58
|
var index_1 = require("./index");
|
|
57
59
|
var normalizeConfig = function (config) { return (config
|
|
58
60
|
? __assign({ id: null, url: '', method: 'get', params: {}, options: null, onFetch: null }, config) : null); };
|
|
61
|
+
exports.normalizeConfig = normalizeConfig;
|
|
62
|
+
var getConfigId = function (config) {
|
|
63
|
+
if (config === null) {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
var result = trim_1["default"](config.id || config.url, '/');
|
|
67
|
+
if (!result) {
|
|
68
|
+
// eslint-disable-next-line no-console
|
|
69
|
+
console.warn('Please set id for fetch config, it`s necessary for SSR to work properly');
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
72
|
+
};
|
|
73
|
+
exports.getConfigId = getConfigId;
|
|
59
74
|
var defaultFetchHandler = function (config, components, addCancelToken) {
|
|
60
75
|
var cancelToken = new axios_1["default"].CancelToken(function (cancel) {
|
|
61
76
|
addCancelToken(cancel);
|
|
@@ -67,6 +82,9 @@ var defaultFetchHandler = function (config, components, addCancelToken) {
|
|
|
67
82
|
.send(config.method, config.url, config.params, __assign(__assign({}, config.options), { cancelToken: cancelToken }))
|
|
68
83
|
.then(function (result) { return result.data; });
|
|
69
84
|
};
|
|
85
|
+
exports.defaultFetchHandler = defaultFetchHandler;
|
|
86
|
+
var fetchData = function (config, components, addCancelToken) { return ((config.onFetch || exports.defaultFetchHandler).call(null, config, components, addCancelToken)); };
|
|
87
|
+
exports.fetchData = fetchData;
|
|
70
88
|
/**
|
|
71
89
|
* Fetch
|
|
72
90
|
* Используется для подгрузки данных с бекенда перед рендером компонента, на котором он применяется.
|
|
@@ -74,26 +92,26 @@ var defaultFetchHandler = function (config, components, addCancelToken) {
|
|
|
74
92
|
* которые описывают откуда нужно подтянуть данные.
|
|
75
93
|
*
|
|
76
94
|
* В процесс загрузки HOC будет отображать "Загрузка...", а после уже отрендерит компонент, передав данные в указанный
|
|
77
|
-
* ключ `key`.
|
|
78
|
-
* SSR.
|
|
95
|
+
* ключ `key`.
|
|
79
96
|
*/
|
|
80
97
|
function useFetch(rawConfig) {
|
|
81
98
|
var _this = this;
|
|
82
99
|
if (rawConfig === void 0) { rawConfig = null; }
|
|
83
100
|
var components = index_1.useComponents();
|
|
84
101
|
// Store config in state
|
|
85
|
-
var _a = react_1.useState(normalizeConfig(rawConfig)), config = _a[0], setConfig = _a[1];
|
|
102
|
+
var _a = react_1.useState(exports.normalizeConfig(rawConfig)), config = _a[0], setConfig = _a[1];
|
|
86
103
|
// Update config in state on raw config updated
|
|
87
104
|
react_use_1.useUpdateEffect(function () {
|
|
88
105
|
setConfig(rawConfig);
|
|
89
106
|
}, [rawConfig]);
|
|
90
|
-
//
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
107
|
+
// Get preloaded data
|
|
108
|
+
var configId = exports.getConfigId(config);
|
|
109
|
+
var ssrValueContext = index_1.useSsr();
|
|
110
|
+
var preloadedData = process.env.IS_SSR ? ssrValueContext.preloadedData : window.APP_PRELOADED_DATA;
|
|
111
|
+
var preloadedDataByConfigId = (preloadedData && configId) ? preloadedData[configId] : null;
|
|
94
112
|
// State for data and loading flag
|
|
95
|
-
var _b = react_1.useState(null), data = _b[0], setData = _b[1];
|
|
96
|
-
var _c = react_1.useState(!!config), isLoading = _c[0], setIsLoading = _c[1];
|
|
113
|
+
var _b = react_1.useState(preloadedDataByConfigId || null), data = _b[0], setData = _b[1];
|
|
114
|
+
var _c = react_1.useState(!!config && !data), isLoading = _c[0], setIsLoading = _c[1];
|
|
97
115
|
// Cancel tokens
|
|
98
116
|
var cancelTokens = react_1.useRef([]);
|
|
99
117
|
var addCancelToken = function (token) { return cancelTokens.current.push(token); };
|
|
@@ -109,10 +127,11 @@ function useFetch(rawConfig) {
|
|
|
109
127
|
if (newConfig) {
|
|
110
128
|
setConfig(__assign(__assign(__assign({}, config), newConfig), { params: __assign(__assign({}, config === null || config === void 0 ? void 0 : config.params), newConfig === null || newConfig === void 0 ? void 0 : newConfig.params) }));
|
|
111
129
|
}
|
|
130
|
+
setData(null);
|
|
112
131
|
if (!config) return [3 /*break*/, 2];
|
|
113
132
|
setIsLoading(true);
|
|
114
133
|
_a = setData;
|
|
115
|
-
return [4 /*yield*/,
|
|
134
|
+
return [4 /*yield*/, exports.fetchData(config, components, addCancelToken)];
|
|
116
135
|
case 1:
|
|
117
136
|
_a.apply(void 0, [_b.sent()]);
|
|
118
137
|
setIsLoading(false);
|
|
@@ -122,28 +141,15 @@ function useFetch(rawConfig) {
|
|
|
122
141
|
});
|
|
123
142
|
});
|
|
124
143
|
}, [components, config]);
|
|
144
|
+
react_use_1.useEffectOnce(function () {
|
|
145
|
+
if (!data) {
|
|
146
|
+
fetch();
|
|
147
|
+
}
|
|
148
|
+
});
|
|
125
149
|
// Fetch data on config update
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return __generator(this, function (_b) {
|
|
130
|
-
switch (_b.label) {
|
|
131
|
-
case 0:
|
|
132
|
-
setData(null);
|
|
133
|
-
if (!config) return [3 /*break*/, 2];
|
|
134
|
-
setIsLoading(true);
|
|
135
|
-
_a = setData;
|
|
136
|
-
return [4 /*yield*/, (config.onFetch || defaultFetchHandler).call(null, config, components, addCancelToken)];
|
|
137
|
-
case 1:
|
|
138
|
-
_a.apply(void 0, [_b.sent()]);
|
|
139
|
-
setIsLoading(false);
|
|
140
|
-
_b.label = 2;
|
|
141
|
-
case 2: return [2 /*return*/];
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
}); };
|
|
145
|
-
fetchData();
|
|
146
|
-
}, [components, config]);
|
|
150
|
+
react_use_1.useUpdateEffect(function () {
|
|
151
|
+
fetch();
|
|
152
|
+
}, [fetch]);
|
|
147
153
|
return { data: data, isLoading: isLoading, fetch: fetch };
|
|
148
154
|
}
|
|
149
155
|
exports["default"] = useFetch;
|
package/hooks/useFile.js
CHANGED
|
@@ -178,18 +178,29 @@ function useFile(props) {
|
|
|
178
178
|
/**
|
|
179
179
|
* Remove selected file from uploader
|
|
180
180
|
* @param {File} fileToRemove
|
|
181
|
-
* @private
|
|
182
181
|
*/
|
|
183
182
|
var onRemove = function (fileToRemove) {
|
|
184
183
|
uploader.queue.remove([fileToRemove]);
|
|
185
184
|
forceUpdate();
|
|
186
185
|
};
|
|
187
186
|
var files = [].concat(uploader.queue.getFiles());
|
|
187
|
+
/**
|
|
188
|
+
* Add file to uploader
|
|
189
|
+
* @param {File} newFile
|
|
190
|
+
*/
|
|
191
|
+
var onAdd = function (newFile) {
|
|
192
|
+
if (!props.multiple) {
|
|
193
|
+
uploader.queue.remove(files);
|
|
194
|
+
}
|
|
195
|
+
uploader.queue.add([newFile]);
|
|
196
|
+
forceUpdate();
|
|
197
|
+
};
|
|
188
198
|
return {
|
|
189
199
|
uploader: uploader,
|
|
190
200
|
files: files,
|
|
191
201
|
onBrowse: onBrowse,
|
|
192
|
-
onRemove: onRemove
|
|
202
|
+
onRemove: onRemove,
|
|
203
|
+
onAdd: onAdd
|
|
193
204
|
};
|
|
194
205
|
}
|
|
195
206
|
exports["default"] = useFile;
|