@steroidsjs/core 3.0.0-beta.8 → 3.0.0-beta.81
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 +23 -6
- package/actions/list.d.ts +71 -4
- package/actions/list.js +7 -9
- package/base/Enum.d.ts +3 -3
- package/components/ClientStorageComponent.d.ts +27 -1
- package/components/ClientStorageComponent.js +4 -3
- package/components/HttpComponent.d.ts +1 -0
- package/components/HttpComponent.js +4 -3
- package/components/LocaleComponent.d.ts +53 -6
- package/components/LocaleComponent.js +9 -8
- package/components/ResourceComponent.d.ts +88 -6
- package/components/ResourceComponent.js +11 -11
- package/components/UiComponent.d.ts +130 -1
- package/docs-autogen-result.json +29385 -0
- package/en.json +786 -0
- package/hooks/index.d.ts +2 -1
- package/hooks/index.js +3 -1
- package/hooks/useAddressBar.d.ts +11 -0
- package/hooks/useApplication.d.ts +4 -1
- package/hooks/useApplication.js +13 -1
- package/hooks/useDataProvider.d.ts +29 -29
- package/hooks/useDataProvider.js +4 -5
- package/hooks/useDataSelect.d.ts +10 -3
- package/hooks/useDataSelect.js +37 -23
- package/hooks/useFetch.d.ts +5 -6
- package/hooks/useFetch.js +0 -3
- package/hooks/useFile.d.ts +51 -2
- package/hooks/useForm.d.ts +0 -1
- package/hooks/useForm.js +0 -1
- package/hooks/useList.d.ts +14 -5
- package/hooks/useList.js +6 -2
- package/hooks/useTheme.d.ts +2 -0
- package/hooks/useTheme.js +8 -0
- package/index.d.ts +28 -15
- package/package.json +12 -7
- package/providers/ComponentsProvider.d.ts +8 -5
- package/providers/ThemeProvider.d.ts +14 -0
- package/providers/ThemeProvider.js +62 -0
- package/reducers/list.d.ts +1 -0
- package/reducers/list.js +4 -1
- package/reducers/router.d.ts +0 -1
- package/reducers/router.js +2 -2
- package/ui/content/Accordion/Accordion.d.ts +40 -15
- package/ui/content/Accordion/AccordionItem.d.ts +4 -3
- package/ui/content/Alert/Alert.d.ts +29 -10
- package/ui/content/Avatar/Avatar.d.ts +26 -24
- package/ui/content/Avatar/Avatar.js +1 -1
- package/ui/content/Avatar/AvatarGroup.d.ts +3 -3
- package/ui/content/Badge/Badge.d.ts +29 -16
- package/ui/content/Badge/Badge.js +1 -1
- package/ui/content/Calendar/Calendar.d.ts +15 -11
- package/ui/content/Calendar/Calendar.js +3 -1
- package/ui/content/Card/Card.d.ts +75 -45
- package/ui/content/Card/Card.js +0 -5
- package/ui/content/CopyToClipboard/CopyToClipboard.d.ts +68 -8
- package/ui/content/CopyToClipboard/CopyToClipboard.js +26 -59
- package/ui/content/Detail/Detail.d.ts +16 -11
- package/ui/content/Detail/DetailItem.d.ts +1 -1
- package/ui/content/DropDown/DropDown.d.ts +21 -9
- package/ui/content/DropDown/DropDown.js +14 -2
- package/ui/content/Icon/Icon.d.ts +13 -7
- package/ui/content/Icon/Icon.js +4 -1
- package/ui/content/Menu/Menu.d.ts +56 -0
- package/ui/content/Menu/Menu.js +23 -0
- package/ui/content/Menu/index.d.ts +2 -0
- package/ui/{list/LayoutNames/demo/basic.js → content/Menu/index.js} +2 -7
- package/ui/content/Slider/Slider.d.ts +28 -0
- package/ui/content/Slider/Slider.js +19 -0
- package/ui/content/Slider/index.d.ts +2 -0
- package/ui/content/Slider/index.js +7 -0
- package/ui/content/index.d.ts +6 -1
- package/ui/content/index.js +12 -1
- package/ui/crud/Crud/Crud.d.ts +116 -4
- package/ui/crud/Crud/CrudContent.d.ts +1 -2
- package/ui/crud/Crud/utils.js +10 -14
- package/ui/crud/index.d.ts +0 -1
- package/ui/form/AutoCompleteField/AutoCompleteField.d.ts +26 -6
- package/ui/form/AutoCompleteField/AutoCompleteField.js +17 -3
- package/ui/form/BlankField/BlankField.d.ts +19 -1
- package/ui/form/Button/Button.d.ts +19 -26
- package/ui/form/Button/Button.js +1 -10
- package/ui/form/CheckboxField/CheckboxField.d.ts +6 -9
- package/ui/form/CheckboxField/CheckboxField.js +36 -6
- package/ui/form/CheckboxListField/CheckboxListField.d.ts +10 -10
- package/ui/form/CheckboxListField/CheckboxListField.js +32 -7
- package/ui/form/DateField/DateField.d.ts +20 -15
- package/ui/form/DateField/DateField.js +7 -2
- package/ui/form/DateField/useDateInputState.js +4 -3
- package/ui/form/DateField/useDateTime.js +3 -2
- package/ui/form/DateRangeField/DateRangeField.d.ts +12 -21
- package/ui/form/DateRangeField/DateRangeField.js +3 -2
- package/ui/form/DateTimeField/DateTimeField.d.ts +9 -15
- package/ui/form/DateTimeField/DateTimeField.js +4 -2
- package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +7 -21
- package/ui/form/DateTimeRangeField/DateTimeRangeField.js +3 -2
- package/ui/form/DropDownField/DropDownField.d.ts +94 -23
- package/ui/form/DropDownField/DropDownField.js +113 -8
- package/ui/form/Field/Field.d.ts +3 -2
- package/ui/form/Field/fieldWrapper.d.ts +29 -9
- package/ui/form/Field/fieldWrapper.js +5 -5
- package/ui/form/FieldLayout/FieldLayout.d.ts +13 -20
- package/ui/form/FieldLayout/FieldLayout.js +1 -13
- package/ui/form/FieldList/FieldList.d.ts +11 -20
- package/ui/form/FieldList/FieldList.js +2 -3
- package/ui/form/FieldSet/FieldSet.d.ts +1 -1
- package/ui/form/FieldSet/FieldSet.js +2 -4
- package/ui/form/FileField/FileField.d.ts +54 -34
- package/ui/form/FileField/FileField.js +30 -10
- package/ui/form/Form/Form.d.ts +32 -40
- package/ui/form/Form/Form.js +26 -34
- package/ui/form/HtmlField/HtmlField.d.ts +2 -11
- package/ui/form/ImageField/ImageField.d.ts +15 -14
- package/ui/form/ImageField/ImageField.js +4 -0
- package/ui/form/InputField/InputField.d.ts +52 -50
- package/ui/form/InputField/InputField.js +51 -16
- package/ui/form/MaskField/MaskField.d.ts +10 -0
- package/ui/form/MaskField/MaskField.js +34 -0
- package/ui/form/MaskField/index.d.ts +2 -0
- package/ui/form/MaskField/index.js +7 -0
- package/ui/form/NavField/NavField.d.ts +6 -3
- package/ui/form/NumberField/NumberField.d.ts +10 -10
- package/ui/form/NumberField/NumberField.js +2 -7
- package/ui/form/PasswordField/PasswordField.d.ts +20 -14
- package/ui/form/PasswordField/PasswordField.js +20 -11
- package/ui/form/RadioField/RadioField.d.ts +31 -0
- package/{hoc/file.js → ui/form/RadioField/RadioField.js} +21 -5
- package/ui/form/RadioField/index.d.ts +2 -0
- package/ui/form/RadioField/index.js +7 -0
- package/ui/form/RadioListField/RadioListField.d.ts +10 -9
- package/ui/form/RadioListField/RadioListField.js +32 -2
- package/ui/form/RateField/RateField.d.ts +11 -13
- package/ui/form/RateField/RateField.js +2 -1
- package/ui/form/RateField/demo/errors.js +1 -1
- package/ui/form/ReCaptchaField/ReCaptchaField.d.ts +66 -5
- package/ui/form/ReCaptchaField/ReCaptchaField.js +22 -1
- package/ui/form/SliderField/SliderField.d.ts +3 -12
- package/ui/form/SliderField/SliderField.js +1 -1
- package/ui/form/SwitcherField/SwitcherField.d.ts +21 -15
- package/ui/form/SwitcherField/SwitcherField.js +34 -4
- package/ui/form/SwitcherField/demo/errors.js +1 -1
- package/ui/form/TextField/TextField.d.ts +8 -27
- package/ui/form/TextField/TextField.js +8 -8
- package/ui/form/TimeField/TimeField.d.ts +2 -16
- package/ui/form/TimeField/TimeField.js +3 -2
- package/ui/form/TimeField/demo/errors.js +1 -1
- package/ui/form/TimeRangeField/TimeRangeField.d.ts +58 -0
- package/ui/form/TimeRangeField/TimeRangeField.js +85 -0
- package/ui/form/TimeRangeField/index.d.ts +2 -0
- package/ui/form/TimeRangeField/index.js +7 -0
- package/ui/form/index.d.ts +37 -1
- package/ui/form/index.js +37 -1
- package/ui/form/validate.js +3 -2
- package/ui/format/BooleanFormatter/BooleanFormatter.d.ts +13 -0
- package/ui/format/DateFormatter/DateFormatter.d.ts +11 -1
- package/ui/format/DateFormatter/DateFormatter.js +1 -1
- package/ui/format/DateTimeFormatter/DateTimeFormatter.d.ts +11 -1
- package/ui/format/DateTimeFormatter/DateTimeFormatter.js +4 -3
- package/ui/format/EnumFormatter/EnumFormatter.d.ts +10 -0
- package/ui/format/FileSize/FileSize.d.ts +8 -3
- package/ui/format/FileSize/FileSize.js +1 -1
- package/ui/format/Format/Format.d.ts +6 -0
- package/ui/format/MoneyFormatter/MoneyFormatter.d.ts +9 -1
- package/ui/format/MoneyFormatter/MoneyFormatter.js +3 -2
- package/ui/layout/Header/Header.d.ts +92 -9
- package/ui/layout/Header/Header.js +20 -1
- package/ui/layout/Loader/Loader.d.ts +15 -1
- package/ui/layout/Meta/Meta.js +3 -3
- package/ui/layout/Notifications/Notifications.d.ts +32 -1
- package/ui/layout/ProgressBar/ProgressBar.js +8 -4
- package/ui/layout/Sidebar/Sidebar.d.ts +87 -0
- package/{hoc/layout.js → ui/layout/Sidebar/Sidebar.js} +24 -12
- package/ui/layout/Sidebar/index.d.ts +2 -0
- package/ui/layout/Sidebar/index.js +7 -0
- package/ui/layout/Skeleton/Skeleton.d.ts +25 -2
- package/ui/layout/Tooltip/Tooltip.d.ts +31 -5
- package/ui/layout/Tooltip/Tooltip.js +3 -0
- package/ui/layout/Tooltip/calculate.d.ts +3 -3
- package/ui/layout/Tooltip/calculate.js +4 -1
- package/ui/layout/index.d.ts +2 -1
- package/ui/layout/index.js +3 -1
- package/ui/list/CheckboxColumn/CheckboxColumn.d.ts +3 -2
- package/ui/list/CheckboxColumn/CheckboxColumn.js +4 -1
- package/ui/list/ControlsColumn/ControlsColumn.d.ts +4 -3
- package/ui/list/Empty/Empty.d.ts +1 -10
- package/ui/list/Empty/Empty.js +2 -2
- package/ui/list/FlexGrid/FlexGrid.d.ts +85 -0
- package/ui/list/FlexGrid/FlexGrid.js +51 -0
- package/ui/list/FlexGrid/index.d.ts +2 -0
- package/ui/list/FlexGrid/index.js +7 -0
- package/ui/list/Grid/Grid.d.ts +69 -3
- package/ui/list/Grid/Grid.js +12 -3
- package/ui/list/List/List.d.ts +2 -0
- package/ui/list/List/List.js +1 -0
- package/ui/list/Pagination/Pagination.d.ts +18 -5
- package/ui/list/Pagination/Pagination.js +15 -7
- package/ui/list/PaginationSize/PaginationSize.d.ts +10 -12
- package/ui/list/PaginationSize/PaginationSize.js +10 -9
- package/ui/list/SearchForm/SearchForm.d.ts +3 -0
- package/ui/list/SearchForm/demo/basic.js +5 -2
- package/ui/list/Steps/Steps.d.ts +6 -3
- package/ui/list/Steps/Steps.js +11 -5
- package/ui/modal/Modal/Modal.d.ts +5 -5
- package/ui/modal/Modal/Modal.js +1 -1
- package/ui/modal/ModalPortal/ModalPortal.d.ts +3 -0
- package/ui/modal/TwoFactorModal/TwoFactorModal.d.ts +10 -2
- package/ui/nav/Breadcrumbs/Breadcrumbs.d.ts +12 -2
- package/ui/nav/ButtonGroup/ButtonGroup.d.ts +44 -0
- package/ui/nav/ButtonGroup/ButtonGroup.js +59 -0
- package/ui/nav/ButtonGroup/index.d.ts +2 -0
- package/ui/nav/ButtonGroup/index.js +7 -0
- package/ui/nav/Controls/Controls.d.ts +3 -3
- package/ui/nav/Controls/Controls.js +6 -5
- package/ui/nav/Link/Link.d.ts +1 -0
- package/ui/nav/Link/Link.js +1 -1
- package/ui/nav/Nav/Nav.d.ts +13 -6
- package/ui/nav/Nav/Nav.js +29 -14
- package/ui/nav/Router/Router.d.ts +0 -10
- package/ui/nav/Router/Router.js +15 -77
- package/ui/nav/Router/helpers.d.ts +4 -0
- package/ui/nav/Router/helpers.js +81 -0
- package/ui/nav/Tree/Tree.d.ts +7 -2
- package/ui/nav/Tree/Tree.js +37 -14
- package/ui/nav/index.d.ts +2 -1
- package/ui/nav/index.js +3 -1
- package/ui/typography/Text/Text.d.ts +38 -0
- package/ui/typography/Text/Text.js +22 -0
- package/ui/typography/Text/index.d.ts +2 -0
- package/ui/typography/Text/index.js +7 -0
- package/ui/typography/Title/Title.d.ts +38 -0
- package/ui/typography/Title/Title.js +22 -0
- package/ui/typography/Title/index.d.ts +2 -0
- package/ui/typography/Title/index.js +7 -0
- package/ui/typography/index.d.ts +3 -0
- package/ui/typography/index.js +10 -0
- package/utils/calendar.d.ts +1 -1
- package/utils/calendar.js +15 -15
- package/utils/form.d.ts +0 -2
- package/utils/form.js +1 -12
- package/components/ApiComponent.d.ts +0 -23
- package/components/ApiComponent.js +0 -75
- package/hoc/application.d.ts +0 -8
- package/hoc/application.js +0 -50
- package/hoc/bem.d.ts +0 -14
- package/hoc/bem.js +0 -42
- package/hoc/components.d.ts +0 -11
- package/hoc/components.js +0 -62
- package/hoc/connect.d.ts +0 -6
- package/hoc/connect.js +0 -3
- package/hoc/fetch.d.ts +0 -13
- package/hoc/fetch.js +0 -60
- package/hoc/file.d.ts +0 -28
- package/hoc/http.d.ts +0 -7
- package/hoc/http.js +0 -53
- package/hoc/index.d.ts +0 -8
- package/hoc/index.js +0 -20
- package/hoc/layout.d.ts +0 -30
- package/ui/content/Card/demo/basic.d.ts +0 -8
- package/ui/content/Card/demo/basic.js +0 -39
- package/ui/content/Card/demo/border color.d.ts +0 -3
- package/ui/content/Card/demo/border color.js +0 -52
- package/ui/content/Card/demo/color.d.ts +0 -3
- package/ui/content/Card/demo/color.js +0 -52
- package/ui/content/Card/demo/header.d.ts +0 -3
- package/ui/content/Card/demo/header.js +0 -47
- package/ui/content/Card/demo/hover.d.ts +0 -3
- package/ui/content/Card/demo/hover.js +0 -42
- package/ui/content/Card/demo/link.d.ts +0 -3
- package/ui/content/Card/demo/link.js +0 -43
- package/ui/content/Card/demo/orientation.d.ts +0 -3
- package/ui/content/Card/demo/orientation.js +0 -46
- package/ui/content/Detail/demo/basic.d.ts +0 -8
- package/ui/content/Detail/demo/basic.js +0 -60
- package/ui/content/Detail/demo/colors.d.ts +0 -3
- package/ui/content/Detail/demo/colors.js +0 -44
- package/ui/content/Detail/demo/controls.d.ts +0 -8
- package/ui/content/Detail/demo/controls.js +0 -60
- package/ui/content/Detail/demo/layout.d.ts +0 -8
- package/ui/content/Detail/demo/layout.js +0 -60
- package/ui/content/Detail/demo/responsive.d.ts +0 -8
- package/ui/content/Detail/demo/responsive.js +0 -75
- package/ui/content/Detail/demo/sizes.d.ts +0 -8
- package/ui/content/Detail/demo/sizes.js +0 -65
- package/ui/content/Icon/demo/icon.d.ts +0 -3
- package/ui/content/Icon/demo/icon.js +0 -32
- package/ui/crud/Crud/demo/default.d.ts +0 -8
- package/ui/crud/Crud/demo/default.js +0 -76
- package/ui/form/AutoCompleteField/demo/basic.d.ts +0 -12
- package/ui/form/AutoCompleteField/demo/basic.js +0 -52
- package/ui/form/AutoCompleteField/demo/disabled.d.ts +0 -8
- package/ui/form/AutoCompleteField/demo/disabled.js +0 -38
- package/ui/form/AutoCompleteField/demo/errors.d.ts +0 -8
- package/ui/form/AutoCompleteField/demo/errors.js +0 -38
- package/ui/form/AutoCompleteField/demo/placeholder.d.ts +0 -8
- package/ui/form/AutoCompleteField/demo/placeholder.js +0 -38
- package/ui/form/AutoCompleteField/demo/required.d.ts +0 -8
- package/ui/form/AutoCompleteField/demo/required.js +0 -38
- package/ui/form/AutoCompleteField/demo/sizes.d.ts +0 -3
- package/ui/form/AutoCompleteField/demo/sizes.js +0 -43
- package/ui/form/BlankField/demo/basic.d.ts +0 -12
- package/ui/form/BlankField/demo/basic.js +0 -55
- package/ui/form/CheckboxListField/demo/basic.d.ts +0 -9
- package/ui/form/CheckboxListField/demo/basic.js +0 -43
- package/ui/form/CheckboxListField/demo/disabled.d.ts +0 -8
- package/ui/form/CheckboxListField/demo/disabled.js +0 -38
- package/ui/form/CheckboxListField/demo/errors.d.ts +0 -8
- package/ui/form/CheckboxListField/demo/errors.js +0 -38
- package/ui/form/CheckboxListField/demo/required.d.ts +0 -8
- package/ui/form/CheckboxListField/demo/required.js +0 -38
- package/ui/form/DateField/demo/basic.d.ts +0 -8
- package/ui/form/DateField/demo/basic.js +0 -37
- package/ui/form/DateField/demo/disabled.d.ts +0 -8
- package/ui/form/DateField/demo/disabled.js +0 -37
- package/ui/form/DateField/demo/errors.d.ts +0 -8
- package/ui/form/DateField/demo/errors.js +0 -37
- package/ui/form/DateField/demo/icon.d.ts +0 -8
- package/ui/form/DateField/demo/icon.js +0 -39
- package/ui/form/DateField/demo/placeholder.d.ts +0 -8
- package/ui/form/DateField/demo/placeholder.js +0 -37
- package/ui/form/DateField/demo/required.d.ts +0 -8
- package/ui/form/DateField/demo/required.js +0 -37
- package/ui/form/DateField/demo/sizes.d.ts +0 -8
- package/ui/form/DateField/demo/sizes.js +0 -43
- package/ui/form/DateRangeField/demo/basic.d.ts +0 -8
- package/ui/form/DateRangeField/demo/basic.js +0 -37
- package/ui/form/DateRangeField/demo/disabled.d.ts +0 -8
- package/ui/form/DateRangeField/demo/disabled.js +0 -37
- package/ui/form/DateRangeField/demo/errors.d.ts +0 -8
- package/ui/form/DateRangeField/demo/errors.js +0 -37
- package/ui/form/DateRangeField/demo/icon.d.ts +0 -8
- package/ui/form/DateRangeField/demo/icon.js +0 -39
- package/ui/form/DateRangeField/demo/placeholder.d.ts +0 -8
- package/ui/form/DateRangeField/demo/placeholder.js +0 -37
- package/ui/form/DateRangeField/demo/required.d.ts +0 -8
- package/ui/form/DateRangeField/demo/required.js +0 -37
- package/ui/form/DateTimeField/demo/basic.d.ts +0 -8
- package/ui/form/DateTimeField/demo/basic.js +0 -37
- package/ui/form/DateTimeField/demo/disabled.d.ts +0 -8
- package/ui/form/DateTimeField/demo/disabled.js +0 -38
- package/ui/form/DateTimeField/demo/errors.d.ts +0 -8
- package/ui/form/DateTimeField/demo/errors.js +0 -37
- package/ui/form/DateTimeField/demo/icon.d.ts +0 -8
- package/ui/form/DateTimeField/demo/icon.js +0 -39
- package/ui/form/DateTimeField/demo/placeholder.d.ts +0 -8
- package/ui/form/DateTimeField/demo/placeholder.js +0 -37
- package/ui/form/DateTimeField/demo/required.d.ts +0 -8
- package/ui/form/DateTimeField/demo/required.js +0 -37
- package/ui/form/DateTimeField/demo/showRemove.d.ts +0 -8
- package/ui/form/DateTimeField/demo/showRemove.js +0 -36
- package/ui/form/DateTimeRangeField/demo/basic.d.ts +0 -8
- package/ui/form/DateTimeRangeField/demo/basic.js +0 -36
- package/ui/form/DateTimeRangeField/demo/disabled.d.ts +0 -8
- package/ui/form/DateTimeRangeField/demo/disabled.js +0 -36
- package/ui/form/DateTimeRangeField/demo/errors.d.ts +0 -8
- package/ui/form/DateTimeRangeField/demo/errors.js +0 -37
- package/ui/form/DateTimeRangeField/demo/icon.d.ts +0 -8
- package/ui/form/DateTimeRangeField/demo/icon.js +0 -36
- package/ui/form/DateTimeRangeField/demo/placeholder.d.ts +0 -8
- package/ui/form/DateTimeRangeField/demo/placeholder.js +0 -37
- package/ui/form/DateTimeRangeField/demo/required.d.ts +0 -8
- package/ui/form/DateTimeRangeField/demo/required.js +0 -37
- package/ui/form/DateTimeRangeField/demo/showRemove.d.ts +0 -8
- package/ui/form/DateTimeRangeField/demo/showRemove.js +0 -36
- package/ui/form/DropDownField/demo/auto-complete.d.ts +0 -8
- package/ui/form/DropDownField/demo/auto-complete.js +0 -38
- package/ui/form/DropDownField/demo/basic.d.ts +0 -12
- package/ui/form/DropDownField/demo/basic.js +0 -56
- package/ui/form/DropDownField/demo/disabled.d.ts +0 -8
- package/ui/form/DropDownField/demo/disabled.js +0 -38
- package/ui/form/DropDownField/demo/errors.d.ts +0 -8
- package/ui/form/DropDownField/demo/errors.js +0 -38
- package/ui/form/DropDownField/demo/multiple.d.ts +0 -8
- package/ui/form/DropDownField/demo/multiple.js +0 -38
- package/ui/form/DropDownField/demo/no-border.d.ts +0 -8
- package/ui/form/DropDownField/demo/no-border.js +0 -38
- package/ui/form/DropDownField/demo/placeholder.d.ts +0 -8
- package/ui/form/DropDownField/demo/placeholder.js +0 -38
- package/ui/form/DropDownField/demo/required.d.ts +0 -8
- package/ui/form/DropDownField/demo/required.js +0 -38
- package/ui/form/DropDownField/demo/show-reset.d.ts +0 -8
- package/ui/form/DropDownField/demo/show-reset.js +0 -38
- package/ui/form/DropDownField/demo/size.d.ts +0 -8
- package/ui/form/DropDownField/demo/size.js +0 -45
- package/ui/form/Field/demo/basic.d.ts +0 -8
- package/ui/form/Field/demo/basic.js +0 -37
- package/ui/form/Field/demo/component.d.ts +0 -8
- package/ui/form/Field/demo/component.js +0 -38
- package/ui/form/Field/demo/model.d.ts +0 -8
- package/ui/form/Field/demo/model.js +0 -48
- package/ui/form/FieldLayout/demo/errors.d.ts +0 -8
- package/ui/form/FieldLayout/demo/errors.js +0 -38
- package/ui/form/FieldLayout/demo/layouts.d.ts +0 -8
- package/ui/form/FieldLayout/demo/layouts.js +0 -43
- package/ui/form/FieldLayout/demo/required.d.ts +0 -8
- package/ui/form/FieldLayout/demo/required.js +0 -38
- package/ui/form/FieldList/demo/basic.d.ts +0 -8
- package/ui/form/FieldList/demo/basic.js +0 -62
- package/ui/form/FieldList/demo/disabled.d.ts +0 -8
- package/ui/form/FieldList/demo/disabled.js +0 -62
- package/ui/form/FieldSet/demo/basic.d.ts +0 -8
- package/ui/form/FieldSet/demo/basic.js +0 -53
- package/ui/form/FileField/demo/basic.d.ts +0 -8
- package/ui/form/FileField/demo/basic.js +0 -37
- package/ui/form/Form/demo/basic.d.ts +0 -8
- package/ui/form/Form/demo/basic.js +0 -62
- package/ui/form/Form/demo/border.d.ts +0 -8
- package/ui/form/Form/demo/border.js +0 -62
- package/ui/form/Form/demo/horizontal.d.ts +0 -8
- package/ui/form/Form/demo/horizontal.js +0 -55
- package/ui/form/Form/demo/inline.d.ts +0 -8
- package/ui/form/Form/demo/inline.js +0 -53
- package/ui/form/HtmlField/demo/basic.d.ts +0 -8
- package/ui/form/HtmlField/demo/basic.js +0 -37
- package/ui/form/InputField/demo/addons.d.ts +0 -8
- package/ui/form/InputField/demo/addons.js +0 -37
- package/ui/form/InputField/demo/basic.d.ts +0 -8
- package/ui/form/InputField/demo/basic.js +0 -36
- package/ui/form/InputField/demo/disabled.d.ts +0 -8
- package/ui/form/InputField/demo/disabled.js +0 -36
- package/ui/form/InputField/demo/errors.d.ts +0 -8
- package/ui/form/InputField/demo/errors.js +0 -37
- package/ui/form/InputField/demo/mask.d.ts +0 -8
- package/ui/form/InputField/demo/mask.js +0 -39
- package/ui/form/InputField/demo/placeholder.d.ts +0 -8
- package/ui/form/InputField/demo/placeholder.js +0 -37
- package/ui/form/InputField/demo/required.d.ts +0 -8
- package/ui/form/InputField/demo/required.js +0 -37
- package/ui/form/InputField/demo/sizes.d.ts +0 -3
- package/ui/form/InputField/demo/sizes.js +0 -42
- package/ui/form/InputField/demo/textAddons.d.ts +0 -8
- package/ui/form/InputField/demo/textAddons.js +0 -37
- package/ui/form/InputField/demo/types.d.ts +0 -3
- package/ui/form/InputField/demo/types.js +0 -44
- package/ui/form/NavField/demo/basic.d.ts +0 -12
- package/ui/form/NavField/demo/basic.js +0 -56
- package/ui/form/NavField/demo/disabled.d.ts +0 -8
- package/ui/form/NavField/demo/disabled.js +0 -38
- package/ui/form/NavField/demo/errors.d.ts +0 -8
- package/ui/form/NavField/demo/errors.js +0 -38
- package/ui/form/NavField/demo/layouts.d.ts +0 -12
- package/ui/form/NavField/demo/layouts.js +0 -61
- package/ui/form/NavField/demo/required.d.ts +0 -8
- package/ui/form/NavField/demo/required.js +0 -38
- package/ui/form/NumberField/demo/basic.d.ts +0 -8
- package/ui/form/NumberField/demo/basic.js +0 -37
- package/ui/form/NumberField/demo/disabled.d.ts +0 -8
- package/ui/form/NumberField/demo/disabled.js +0 -37
- package/ui/form/NumberField/demo/errors.d.ts +0 -8
- package/ui/form/NumberField/demo/errors.js +0 -37
- package/ui/form/NumberField/demo/placeholder.d.ts +0 -8
- package/ui/form/NumberField/demo/placeholder.js +0 -37
- package/ui/form/NumberField/demo/required.d.ts +0 -8
- package/ui/form/NumberField/demo/required.js +0 -37
- package/ui/form/NumberField/demo/sizes.d.ts +0 -8
- package/ui/form/NumberField/demo/sizes.js +0 -42
- package/ui/form/PasswordField/demo/basic.d.ts +0 -8
- package/ui/form/PasswordField/demo/basic.js +0 -37
- package/ui/form/PasswordField/demo/disabled.d.ts +0 -8
- package/ui/form/PasswordField/demo/disabled.js +0 -37
- package/ui/form/PasswordField/demo/errors.d.ts +0 -8
- package/ui/form/PasswordField/demo/errors.js +0 -37
- package/ui/form/PasswordField/demo/placeholder.d.ts +0 -8
- package/ui/form/PasswordField/demo/placeholder.js +0 -37
- package/ui/form/PasswordField/demo/required.d.ts +0 -8
- package/ui/form/PasswordField/demo/required.js +0 -37
- package/ui/form/PasswordField/demo/security.d.ts +0 -8
- package/ui/form/PasswordField/demo/security.js +0 -37
- package/ui/form/PasswordField/demo/sizes.d.ts +0 -8
- package/ui/form/PasswordField/demo/sizes.js +0 -42
- package/ui/form/RadioListField/demo/basic.d.ts +0 -12
- package/ui/form/RadioListField/demo/basic.js +0 -56
- package/ui/form/RadioListField/demo/disabled.d.ts +0 -8
- package/ui/form/RadioListField/demo/disabled.js +0 -38
- package/ui/form/RadioListField/demo/errors.d.ts +0 -8
- package/ui/form/RadioListField/demo/errors.js +0 -38
- package/ui/form/RadioListField/demo/required.d.ts +0 -8
- package/ui/form/RadioListField/demo/required.js +0 -38
- package/ui/form/ReCaptchaField/demo/basic.d.ts +0 -8
- package/ui/form/ReCaptchaField/demo/basic.js +0 -43
- package/ui/form/SliderField/demo/basic.d.ts +0 -8
- package/ui/form/SliderField/demo/basic.js +0 -37
- package/ui/form/SliderField/demo/disabled.d.ts +0 -8
- package/ui/form/SliderField/demo/disabled.js +0 -37
- package/ui/form/SliderField/demo/errors.d.ts +0 -8
- package/ui/form/SliderField/demo/errors.js +0 -37
- package/ui/form/SliderField/demo/marks.d.ts +0 -3
- package/ui/form/SliderField/demo/marks.js +0 -49
- package/ui/form/SliderField/demo/min-max.d.ts +0 -8
- package/ui/form/SliderField/demo/min-max.js +0 -37
- package/ui/form/SliderField/demo/onAfterChange.d.ts +0 -8
- package/ui/form/SliderField/demo/onAfterChange.js +0 -43
- package/ui/form/SliderField/demo/onChange.d.ts +0 -8
- package/ui/form/SliderField/demo/onChange.js +0 -43
- package/ui/form/SliderField/demo/range.d.ts +0 -8
- package/ui/form/SliderField/demo/range.js +0 -37
- package/ui/form/TextField/demo/basic.d.ts +0 -8
- package/ui/form/TextField/demo/basic.js +0 -37
- package/ui/form/TextField/demo/disabled.d.ts +0 -8
- package/ui/form/TextField/demo/disabled.js +0 -37
- package/ui/form/TextField/demo/errors.d.ts +0 -8
- package/ui/form/TextField/demo/errors.js +0 -37
- package/ui/form/TextField/demo/placeholder.d.ts +0 -8
- package/ui/form/TextField/demo/placeholder.js +0 -37
- package/ui/form/TextField/demo/required.d.ts +0 -8
- package/ui/form/TextField/demo/required.js +0 -37
- package/ui/form/TextField/demo/sizes.d.ts +0 -3
- package/ui/form/TextField/demo/sizes.js +0 -43
- package/ui/form/TextField/demo/submit.d.ts +0 -8
- package/ui/form/TextField/demo/submit.js +0 -37
- package/ui/format/DateFormatter/demo/basic.d.ts +0 -3
- package/ui/format/DateFormatter/demo/basic.js +0 -32
- package/ui/format/DateTimeFormatter/demo/basic.d.ts +0 -3
- package/ui/format/DateTimeFormatter/demo/basic.js +0 -32
- package/ui/layout/Notifications/demo/basic.d.ts +0 -8
- package/ui/layout/Notifications/demo/basic.js +0 -57
- package/ui/layout/Notifications/demo/position.d.ts +0 -3
- package/ui/layout/Notifications/demo/position.js +0 -49
- package/ui/layout/Notifications/demo/timeOut.d.ts +0 -3
- package/ui/layout/Notifications/demo/timeOut.js +0 -49
- package/ui/layout/Tooltip/demo/basic.d.ts +0 -8
- package/ui/layout/Tooltip/demo/basic.js +0 -56
- package/ui/list/CheckboxColumn/demo/basic.d.ts +0 -8
- package/ui/list/CheckboxColumn/demo/basic.js +0 -51
- package/ui/list/ControlsColumn/demo/basic.d.ts +0 -8
- package/ui/list/ControlsColumn/demo/basic.js +0 -49
- package/ui/list/Empty/demo/basic.d.ts +0 -8
- package/ui/list/Empty/demo/basic.js +0 -37
- package/ui/list/Empty/demo/custom-text.d.ts +0 -8
- package/ui/list/Empty/demo/custom-text.js +0 -37
- package/ui/list/Grid/demo/basic.d.ts +0 -18
- package/ui/list/Grid/demo/basic.js +0 -72
- package/ui/list/Grid/demo/controls.d.ts +0 -8
- package/ui/list/Grid/demo/controls.js +0 -44
- package/ui/list/Grid/demo/empty.d.ts +0 -8
- package/ui/list/Grid/demo/empty.js +0 -38
- package/ui/list/Grid/demo/formatter.d.ts +0 -8
- package/ui/list/Grid/demo/formatter.js +0 -67
- package/ui/list/Grid/demo/indexing.d.ts +0 -8
- package/ui/list/Grid/demo/indexing.js +0 -52
- package/ui/list/Grid/demo/inner-search-form.d.ts +0 -16
- package/ui/list/Grid/demo/inner-search-form.js +0 -60
- package/ui/list/Grid/demo/load-more.d.ts +0 -8
- package/ui/list/Grid/demo/load-more.js +0 -43
- package/ui/list/Grid/demo/pagination.d.ts +0 -8
- package/ui/list/Grid/demo/pagination.js +0 -41
- package/ui/list/Grid/demo/search-form.d.ts +0 -8
- package/ui/list/Grid/demo/search-form.js +0 -50
- package/ui/list/Grid/demo/sort.d.ts +0 -8
- package/ui/list/Grid/demo/sort.js +0 -48
- package/ui/list/Grid/demo/visible.d.ts +0 -8
- package/ui/list/Grid/demo/visible.js +0 -52
- package/ui/list/LayoutNames/demo/basic.d.ts +0 -7
- package/ui/list/List/demo/basic.d.ts +0 -12
- package/ui/list/List/demo/basic.js +0 -61
- package/ui/list/List/demo/condition.d.ts +0 -8
- package/ui/list/List/demo/condition.js +0 -90
- package/ui/list/List/demo/empty.d.ts +0 -8
- package/ui/list/List/demo/empty.js +0 -36
- package/ui/list/List/demo/layout.d.ts +0 -8
- package/ui/list/List/demo/layout.js +0 -49
- package/ui/list/List/demo/load-more.d.ts +0 -8
- package/ui/list/List/demo/load-more.js +0 -45
- package/ui/list/List/demo/pagination.d.ts +0 -8
- package/ui/list/List/demo/pagination.js +0 -45
- package/ui/list/List/demo/search-form.d.ts +0 -30
- package/ui/list/List/demo/search-form.js +0 -107
- package/ui/list/List/demo/sort.d.ts +0 -17
- package/ui/list/List/demo/sort.js +0 -92
- package/ui/list/Pagination/demo/basic.d.ts +0 -8
- package/ui/list/Pagination/demo/basic.js +0 -45
- package/ui/list/Pagination/demo/load-more.d.ts +0 -8
- package/ui/list/Pagination/demo/load-more.js +0 -41
- package/ui/list/Pagination/demo/sizes.d.ts +0 -8
- package/ui/list/Pagination/demo/sizes.js +0 -48
- package/ui/list/PaginationSize/demo/basic.d.ts +0 -8
- package/ui/list/PaginationSize/demo/basic.js +0 -41
- package/ui/list/PaginationSize/demo/size.d.ts +0 -8
- package/ui/list/PaginationSize/demo/size.js +0 -49
- package/ui/modal/Modal/demo/basic.d.ts +0 -8
- package/ui/modal/Modal/demo/basic.js +0 -63
- package/ui/modal/Modal/demo/closeTimeout.d.ts +0 -8
- package/ui/modal/Modal/demo/closeTimeout.js +0 -64
- package/ui/modal/Modal/demo/closing.d.ts +0 -9
- package/ui/modal/Modal/demo/closing.js +0 -67
- package/ui/modal/Modal/demo/component.d.ts +0 -10
- package/ui/modal/Modal/demo/component.js +0 -55
- package/ui/modal/Modal/demo/controls.d.ts +0 -8
- package/ui/modal/Modal/demo/controls.js +0 -66
- package/ui/modal/Modal/demo/size.d.ts +0 -8
- package/ui/modal/Modal/demo/size.js +0 -70
- package/ui/nav/Breadcrumbs/demo/basic.d.ts +0 -8
- package/ui/nav/Breadcrumbs/demo/basic.js +0 -37
- package/ui/nav/Breadcrumbs/demo/items.d.ts +0 -8
- package/ui/nav/Breadcrumbs/demo/items.js +0 -42
- package/ui/nav/Breadcrumbs/demo/page-title.d.ts +0 -8
- package/ui/nav/Breadcrumbs/demo/page-title.js +0 -37
- package/ui/nav/Controls/demo/basic.d.ts +0 -12
- package/ui/nav/Controls/demo/basic.js +0 -59
- package/ui/nav/Link/demo/badge.d.ts +0 -8
- package/ui/nav/Link/demo/badge.js +0 -37
- package/ui/nav/Link/demo/basic.d.ts +0 -8
- package/ui/nav/Link/demo/basic.js +0 -37
- package/ui/nav/Link/demo/colors.d.ts +0 -8
- package/ui/nav/Link/demo/colors.js +0 -46
- package/ui/nav/Link/demo/confirm.d.ts +0 -8
- package/ui/nav/Link/demo/confirm.js +0 -37
- package/ui/nav/Link/demo/disabled.d.ts +0 -8
- package/ui/nav/Link/demo/disabled.js +0 -37
- package/ui/nav/Link/demo/hint.d.ts +0 -8
- package/ui/nav/Link/demo/hint.js +0 -37
- package/ui/nav/Link/demo/icon.d.ts +0 -8
- package/ui/nav/Link/demo/icon.js +0 -37
- package/ui/nav/Link/demo/sizes.d.ts +0 -8
- package/ui/nav/Link/demo/sizes.js +0 -41
- package/ui/nav/Nav/demo/basic.d.ts +0 -13
- package/ui/nav/Nav/demo/basic.js +0 -58
- package/ui/nav/Nav/demo/layout.d.ts +0 -8
- package/ui/nav/Nav/demo/layout.js +0 -56
- package/ui/nav/Router/ConnectedRouter.d.ts +0 -16
- package/ui/nav/Router/ConnectedRouter.js +0 -107
- package/ui/nav/Tree/demo/auto-open-levels.d.ts +0 -8
- package/ui/nav/Tree/demo/auto-open-levels.js +0 -38
- package/ui/nav/Tree/demo/basic.d.ts +0 -32
- package/ui/nav/Tree/demo/basic.js +0 -72
- package/ui/nav/Tree/demo/level.d.ts +0 -8
- package/ui/nav/Tree/demo/level.js +0 -38
- package/ui/nav/Tree/demo/routes.d.ts +0 -8
- package/ui/nav/Tree/demo/routes.js +0 -37
- package/ui/nav/Tree/demo/selected-item.d.ts +0 -8
- package/ui/nav/Tree/demo/selected-item.js +0 -38
|
@@ -42,7 +42,6 @@ var isString_1 = __importDefault(require("lodash-es/isString"));
|
|
|
42
42
|
var Field_1 = __importDefault(require("../Field"));
|
|
43
43
|
var Form_1 = require("../Form/Form");
|
|
44
44
|
var hooks_1 = require("../../../hooks");
|
|
45
|
-
var form_1 = require("../../../utils/form");
|
|
46
45
|
function FieldSet(props) {
|
|
47
46
|
var components = (0, hooks_1.useComponents)();
|
|
48
47
|
var context = (0, react_1.useContext)(Form_1.FormContext);
|
|
@@ -53,11 +52,10 @@ function FieldSet(props) {
|
|
|
53
52
|
.filter(Boolean)
|
|
54
53
|
.join('.'),
|
|
55
54
|
size: props.size || context.size,
|
|
56
|
-
layout: (0, form_1.mergeLayoutProp)(context.layout, props.layout),
|
|
57
55
|
provider: context.provider,
|
|
58
56
|
reducer: context.reducer
|
|
59
|
-
}); }, [context.formId, context.
|
|
60
|
-
context.size, props.formId, props.
|
|
57
|
+
}); }, [context.formId, context.model, context.prefix, context.provider, context.reducer,
|
|
58
|
+
context.size, props.formId, props.model, props.prefix, props.size]);
|
|
61
59
|
var FieldSetView = props.view || components.ui.getView('form.FieldSetView');
|
|
62
60
|
return (react_1["default"].createElement(Form_1.FormContext.Provider, { value: contextValue },
|
|
63
61
|
react_1["default"].createElement(FieldSetView, __assign({ className: props.className, label: props.label }, props),
|
|
@@ -1,27 +1,63 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { IFileHocInput, IFileHocOutput } from '../../../hoc/file';
|
|
1
|
+
import { IFileInput } from '../../../hooks/useFile';
|
|
3
2
|
import { IFieldWrapperInputProps } from '../Field/fieldWrapper';
|
|
4
|
-
|
|
3
|
+
import { IButtonProps } from '../Button/Button';
|
|
4
|
+
export declare enum FilesLayout {
|
|
5
|
+
list = "list",
|
|
6
|
+
wall = "wall"
|
|
7
|
+
}
|
|
8
|
+
interface IFileFieldCommonProps extends IFileInput {
|
|
5
9
|
/**
|
|
6
10
|
* Показать значок удаление файла
|
|
7
11
|
* @example true
|
|
8
12
|
*/
|
|
9
13
|
showRemove?: boolean;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Кастомная иконка для удаление файла
|
|
16
|
+
* @example true
|
|
17
|
+
*/
|
|
18
|
+
customRemoveIcon?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Вариант отображения файлов
|
|
21
|
+
* @example 'list'
|
|
22
|
+
*/
|
|
23
|
+
filesLayout?: FilesLayout | string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* FileField
|
|
27
|
+
*
|
|
28
|
+
* Компонент `FileField` представляет собой поле формы для загрузки файлов.
|
|
29
|
+
* Он использует хук `useFile` для управления состоянием файлов и выполнения операций с файлами, таких как выбор и удаление.
|
|
30
|
+
* Компонент поддерживает различные варианты отображения файлов (список или стена) с помощью перечисления `FilesLayout`.
|
|
31
|
+
**/
|
|
32
|
+
export interface IFileFieldProps extends IFieldWrapperInputProps, IFileFieldCommonProps, IUiComponent {
|
|
33
|
+
/**
|
|
34
|
+
* View компонент для кнопки
|
|
35
|
+
* @example true
|
|
36
|
+
*/
|
|
37
|
+
buttonView?: any;
|
|
38
|
+
/**
|
|
39
|
+
* Пропсы для кнопки
|
|
40
|
+
* @example true
|
|
41
|
+
*/
|
|
42
|
+
buttonProps?: IButtonProps;
|
|
43
|
+
/**
|
|
44
|
+
* View компонент для элемента списка файлов
|
|
45
|
+
* @example true
|
|
46
|
+
*/
|
|
47
|
+
itemView?: any;
|
|
48
|
+
/**
|
|
49
|
+
* Пропсы для элемента файла
|
|
50
|
+
* @example true
|
|
51
|
+
*/
|
|
52
|
+
itemProps?: Record<string, any>;
|
|
16
53
|
[key: string]: any;
|
|
17
54
|
}
|
|
18
|
-
export interface IFileFieldItemViewProps extends
|
|
55
|
+
export interface IFileFieldItemViewProps extends IFileFieldCommonProps {
|
|
19
56
|
/**
|
|
20
57
|
* Уникальный текстовый идентификатор
|
|
21
58
|
* @example e65f5867-0083-48a7-af43-1121ed9e6280
|
|
22
59
|
*/
|
|
23
60
|
uid?: string;
|
|
24
|
-
imagesOnly?: boolean;
|
|
25
61
|
/**
|
|
26
62
|
* ID файла
|
|
27
63
|
* @example 34
|
|
@@ -33,13 +69,14 @@ export interface IFileFieldItemViewProps extends IFileHocInput, IFileHocOutput {
|
|
|
33
69
|
*/
|
|
34
70
|
title?: string;
|
|
35
71
|
disabled?: boolean;
|
|
36
|
-
showRemove?: boolean;
|
|
37
72
|
/**
|
|
38
73
|
* Обработчик события удаления файла
|
|
39
74
|
* @param e
|
|
40
75
|
*/
|
|
41
76
|
onRemove?: () => void;
|
|
42
77
|
error?: string;
|
|
78
|
+
size?: number;
|
|
79
|
+
item?: Record<string, any>;
|
|
43
80
|
image?: {
|
|
44
81
|
/**
|
|
45
82
|
* Url файла
|
|
@@ -57,34 +94,17 @@ export interface IFileFieldItemViewProps extends IFileHocInput, IFileHocOutput {
|
|
|
57
94
|
*/
|
|
58
95
|
height: string;
|
|
59
96
|
};
|
|
97
|
+
/**
|
|
98
|
+
* Обработчик события загрузки файлов
|
|
99
|
+
* @param e
|
|
100
|
+
*/
|
|
101
|
+
onLoad?: () => void;
|
|
60
102
|
progress?: {
|
|
61
103
|
bytesUploaded: number;
|
|
62
104
|
percent: number;
|
|
63
105
|
};
|
|
64
106
|
}
|
|
65
107
|
export interface IFileFieldViewProps extends IFileFieldProps {
|
|
66
|
-
buttonComponent?: React.ReactNode | any;
|
|
67
|
-
imagesOnly?: boolean;
|
|
68
|
-
itemProps?: any;
|
|
69
|
-
buttonProps: {
|
|
70
|
-
/**
|
|
71
|
-
* Название поля
|
|
72
|
-
* @example Save
|
|
73
|
-
*/
|
|
74
|
-
label?: string | any;
|
|
75
|
-
size?: boolean;
|
|
76
|
-
/**
|
|
77
|
-
* Переводит в неактивное состояние
|
|
78
|
-
* @example true
|
|
79
|
-
*/
|
|
80
|
-
disabled?: boolean;
|
|
81
|
-
/**
|
|
82
|
-
* Обработчик события нажатия
|
|
83
|
-
* @param e
|
|
84
|
-
*/
|
|
85
|
-
onClick?: (e: Event) => void;
|
|
86
|
-
};
|
|
87
|
-
itemView?: React.ReactNode | any;
|
|
88
108
|
items: IFileFieldItemViewProps[];
|
|
89
109
|
}
|
|
90
110
|
declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<IFileFieldProps>;
|
|
@@ -37,25 +37,38 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
38
|
};
|
|
39
39
|
exports.__esModule = true;
|
|
40
|
+
exports.FilesLayout = void 0;
|
|
40
41
|
var React = __importStar(require("react"));
|
|
41
42
|
var File_1 = __importDefault(require("fileup-core/lib/models/File"));
|
|
42
43
|
var first_1 = __importDefault(require("lodash-es/first"));
|
|
43
44
|
var values_1 = __importDefault(require("lodash-es/values"));
|
|
45
|
+
var react_1 = require("react");
|
|
44
46
|
var useFile_1 = __importDefault(require("../../../hooks/useFile"));
|
|
45
47
|
var hooks_1 = require("../../../hooks");
|
|
46
48
|
var fieldWrapper_1 = __importDefault(require("../Field/fieldWrapper"));
|
|
47
|
-
|
|
49
|
+
var FilesLayout;
|
|
50
|
+
(function (FilesLayout) {
|
|
51
|
+
FilesLayout["list"] = "list";
|
|
52
|
+
FilesLayout["wall"] = "wall";
|
|
53
|
+
})(FilesLayout = exports.FilesLayout || (exports.FilesLayout = {}));
|
|
54
|
+
var FILE_STATUS_END = 'end';
|
|
55
|
+
function FileFieldComponent(props) {
|
|
48
56
|
var components = (0, hooks_1.useComponents)();
|
|
49
57
|
var _a = (0, useFile_1["default"])(props), files = _a.files, onBrowse = _a.onBrowse, onRemove = _a.onRemove;
|
|
58
|
+
var _b = React.useState(false), isFilesLoaded = _b[0], setIsFilesLoaded = _b[1];
|
|
50
59
|
var FileFieldView = props.view || components.ui.getView('form.FileFieldView');
|
|
51
60
|
var FileFieldItemView = props.itemView || components.ui.getView('form.FileFieldItemView');
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
61
|
+
(0, react_1.useEffect)(function () {
|
|
62
|
+
setIsFilesLoaded(files.filter(function (file) { return file._status === FILE_STATUS_END; }).length === files.length);
|
|
63
|
+
}, [files]);
|
|
64
|
+
(0, react_1.useEffect)(function () {
|
|
65
|
+
if (isFilesLoaded && props.onLoad) {
|
|
66
|
+
props.onLoad();
|
|
67
|
+
}
|
|
68
|
+
}, [isFilesLoaded, props]);
|
|
69
|
+
return (React.createElement(FileFieldView, __assign({}, props, { buttonView: props.buttonView, buttonProps: __assign({ label: props.filesLayout === FilesLayout.wall
|
|
70
|
+
? __('Upload')
|
|
71
|
+
: __('Click to Upload'), size: props.size, disabled: props.disabled, onClick: onBrowse }, props.buttonProps), itemView: FileFieldItemView, items: files.map(function (file) {
|
|
59
72
|
var data = file.getResultHttpMessage() || {};
|
|
60
73
|
var item = {
|
|
61
74
|
uid: file.getUid(),
|
|
@@ -84,7 +97,7 @@ function FileField(props) {
|
|
|
84
97
|
}
|
|
85
98
|
}
|
|
86
99
|
// Add thumbnail image
|
|
87
|
-
if (data.images) {
|
|
100
|
+
if (props.imagesOnly && data.images) {
|
|
88
101
|
// Image object has properties: url, width, height
|
|
89
102
|
item.image = data.images[props.imagesProcessor]
|
|
90
103
|
|| (0, first_1["default"])((0, values_1["default"])(data.images));
|
|
@@ -99,13 +112,20 @@ function FileField(props) {
|
|
|
99
112
|
return item;
|
|
100
113
|
}) })));
|
|
101
114
|
}
|
|
115
|
+
function FileField(props) {
|
|
116
|
+
if (process.env.IS_SSR) {
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
return (React.createElement(FileFieldComponent, __assign({}, props)));
|
|
120
|
+
}
|
|
102
121
|
FileField.defaultProps = {
|
|
103
122
|
disabled: false,
|
|
104
123
|
required: false,
|
|
124
|
+
filesLayout: FilesLayout.list,
|
|
105
125
|
className: '',
|
|
106
126
|
showRemove: true,
|
|
107
127
|
buttonProps: {
|
|
108
|
-
color: '
|
|
128
|
+
color: 'basic',
|
|
109
129
|
outline: true
|
|
110
130
|
},
|
|
111
131
|
multiple: false
|
package/ui/form/Form/Form.d.ts
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { IAddressBarConfig } from '../../../hooks/useAddressBar';
|
|
3
|
-
import { IApiMethod } from '../../../components/ApiComponent';
|
|
4
3
|
import { IFieldProps } from '../Field/Field';
|
|
5
4
|
/**
|
|
6
5
|
* Form
|
|
7
|
-
*
|
|
6
|
+
*
|
|
7
|
+
* Компонент для создания формы. Предоставляет управление и синхронизацию состояния формы,
|
|
8
|
+
* а также позволяет выполнять отправку данных формы на сервер с возможностью валидации и обработки результатов.
|
|
8
9
|
*/
|
|
9
|
-
export interface IFormProps {
|
|
10
|
+
export interface IFormProps extends IUiComponent {
|
|
10
11
|
/**
|
|
11
12
|
* Идентификатор формы
|
|
12
13
|
* @example BookingForm
|
|
13
14
|
*/
|
|
14
15
|
formId?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Префикс
|
|
18
|
+
*/
|
|
15
19
|
prefix?: string;
|
|
16
20
|
/**
|
|
17
21
|
* Модель с полями формы
|
|
@@ -22,7 +26,7 @@ export interface IFormProps {
|
|
|
22
26
|
* Url на который будет отправлена форма
|
|
23
27
|
* @example api/v1/handle-form
|
|
24
28
|
*/
|
|
25
|
-
action?: string
|
|
29
|
+
action?: string;
|
|
26
30
|
/**
|
|
27
31
|
* Тип HTTP запроса (GET | POST | PUT | DELETE)
|
|
28
32
|
* @example POST
|
|
@@ -33,11 +37,6 @@ export interface IFormProps {
|
|
|
33
37
|
* @example Упс, что-то пошло не так
|
|
34
38
|
*/
|
|
35
39
|
submitErrorMessage?: string;
|
|
36
|
-
/**
|
|
37
|
-
* Шаблон для полей в форме
|
|
38
|
-
* @example horizontal
|
|
39
|
-
*/
|
|
40
|
-
layout?: FormLayout;
|
|
41
40
|
/**
|
|
42
41
|
* Обработчик события отправки формы
|
|
43
42
|
* @param args
|
|
@@ -92,20 +91,7 @@ export interface IFormProps {
|
|
|
92
91
|
*/
|
|
93
92
|
initialValues?: any | any[];
|
|
94
93
|
/**
|
|
95
|
-
*
|
|
96
|
-
*/
|
|
97
|
-
className?: CssClassName;
|
|
98
|
-
/**
|
|
99
|
-
* Объект CSS стилей
|
|
100
|
-
* @example {width: '45%'}
|
|
101
|
-
*/
|
|
102
|
-
style?: any;
|
|
103
|
-
/**
|
|
104
|
-
* Переопределение view React компонента для кастомизации отображения
|
|
105
|
-
* @example MyCustomView
|
|
106
|
-
*/
|
|
107
|
-
view?: CustomView;
|
|
108
|
-
/**
|
|
94
|
+
* Свойства для представления
|
|
109
95
|
* @example {className: 'foo'}
|
|
110
96
|
*/
|
|
111
97
|
viewProps?: any;
|
|
@@ -140,11 +126,6 @@ export interface IFormProps {
|
|
|
140
126
|
* @example 'addComment'
|
|
141
127
|
*/
|
|
142
128
|
captchaActionName?: string;
|
|
143
|
-
/**
|
|
144
|
-
* Включает рамки и тень.
|
|
145
|
-
* @example true
|
|
146
|
-
*/
|
|
147
|
-
isBordered?: boolean;
|
|
148
129
|
/**
|
|
149
130
|
* Очищать ли данные формы с redux хранилища при размонтировании компонента. По-умолчанию - false
|
|
150
131
|
* @example false
|
|
@@ -156,18 +137,9 @@ export interface IFormViewProps {
|
|
|
156
137
|
submitLabel?: string;
|
|
157
138
|
fields?: (string | IFieldProps)[];
|
|
158
139
|
onSubmit: any;
|
|
159
|
-
isInvalid?: boolean;
|
|
160
140
|
className?: CssClassName;
|
|
161
|
-
isBordered?: boolean;
|
|
162
141
|
autoFocus?: boolean;
|
|
163
|
-
style?:
|
|
164
|
-
layout?: {
|
|
165
|
-
layout: FormLayoutName | boolean;
|
|
166
|
-
className: CssClassName;
|
|
167
|
-
label: boolean;
|
|
168
|
-
cols: number[];
|
|
169
|
-
[key: string]: any;
|
|
170
|
-
};
|
|
142
|
+
style?: CustomStyle;
|
|
171
143
|
children?: React.ReactNode;
|
|
172
144
|
}
|
|
173
145
|
export interface IFormReducerState {
|
|
@@ -178,16 +150,37 @@ export interface IFormReducerState {
|
|
|
178
150
|
isSubmitting: boolean;
|
|
179
151
|
}
|
|
180
152
|
export interface IFormContext {
|
|
153
|
+
/**
|
|
154
|
+
* Id формы
|
|
155
|
+
* @example {}
|
|
156
|
+
*/
|
|
181
157
|
formId?: string;
|
|
158
|
+
/**
|
|
159
|
+
* Модель с полями формы
|
|
160
|
+
*/
|
|
182
161
|
model?: any;
|
|
162
|
+
/**
|
|
163
|
+
* Префикс для полей формы
|
|
164
|
+
*/
|
|
183
165
|
prefix?: string | boolean;
|
|
184
|
-
|
|
166
|
+
/**
|
|
167
|
+
* Размер компонента
|
|
168
|
+
*/
|
|
185
169
|
size?: Size;
|
|
170
|
+
/**
|
|
171
|
+
* Провайдер
|
|
172
|
+
*/
|
|
186
173
|
provider?: any;
|
|
174
|
+
/**
|
|
175
|
+
* Редьюсер
|
|
176
|
+
*/
|
|
187
177
|
reducer?: {
|
|
188
178
|
dispatch: React.Dispatch<any>;
|
|
189
179
|
select: any;
|
|
190
180
|
};
|
|
181
|
+
/**
|
|
182
|
+
* Диспатч
|
|
183
|
+
*/
|
|
191
184
|
dispatch?: any;
|
|
192
185
|
}
|
|
193
186
|
export declare const FormContext: React.Context<IFormContext>;
|
|
@@ -196,7 +189,6 @@ declare namespace Form {
|
|
|
196
189
|
var defaultProps: {
|
|
197
190
|
actionMethod: string;
|
|
198
191
|
autoStartTwoFactor: boolean;
|
|
199
|
-
layout: string;
|
|
200
192
|
captchaActionName: string;
|
|
201
193
|
};
|
|
202
194
|
}
|
package/ui/form/Form/Form.js
CHANGED
|
@@ -111,8 +111,6 @@ function Form(props) {
|
|
|
111
111
|
// Get components and dispatch method
|
|
112
112
|
var components = (0, hooks_1.useComponents)();
|
|
113
113
|
var reduxDispatch = (0, hooks_1.useDispatch)();
|
|
114
|
-
// Normalize layout
|
|
115
|
-
var layout = (0, react_1.useMemo)(function () { return (0, form_1.normalizeLayout)(props.layout); }, [props.layout]);
|
|
116
114
|
// Address bar synchronization
|
|
117
115
|
var _a = (0, useAddressBar_1["default"])(__assign({ enable: !!props.addressBar, model: props.model }, (typeof props.addressBar === 'boolean' ? { enable: props.addressBar } : props.addressBar))), initialQuery = _a.initialQuery, updateQuery = _a.updateQuery;
|
|
118
116
|
// Resolve initial values
|
|
@@ -159,11 +157,11 @@ function Form(props) {
|
|
|
159
157
|
var onSubmit = (0, react_1.useCallback)(function (e) {
|
|
160
158
|
if (e === void 0) { e = null; }
|
|
161
159
|
return __awaiter(_this, void 0, void 0, function () {
|
|
162
|
-
var cleanedValues, submitResult, captchaAttribute, googleCaptcha, captchaToken, options, response,
|
|
163
|
-
var
|
|
160
|
+
var cleanedValues, submitResult, captchaAttribute, googleCaptcha, captchaToken, options, response, requestError_1, data;
|
|
161
|
+
var _a;
|
|
164
162
|
var _this = this;
|
|
165
|
-
return __generator(this, function (
|
|
166
|
-
switch (
|
|
163
|
+
return __generator(this, function (_b) {
|
|
164
|
+
switch (_b.label) {
|
|
167
165
|
case 0:
|
|
168
166
|
dispatch((0, form_2.formSetSubmitting)(props.formId, true));
|
|
169
167
|
// TODO
|
|
@@ -208,7 +206,7 @@ function Form(props) {
|
|
|
208
206
|
if (!props.onSubmit) return [3 /*break*/, 2];
|
|
209
207
|
return [4 /*yield*/, props.onSubmit.call(null, cleanedValues)];
|
|
210
208
|
case 1:
|
|
211
|
-
submitResult =
|
|
209
|
+
submitResult = _b.sent();
|
|
212
210
|
dispatch((0, form_2.formSetSubmitting)(props.formId, false));
|
|
213
211
|
return [2 /*return*/, submitResult];
|
|
214
212
|
case 2:
|
|
@@ -222,16 +220,16 @@ function Form(props) {
|
|
|
222
220
|
if (!(captchaAttribute && components.resource.googleCaptchaSiteKey)) return [3 /*break*/, 5];
|
|
223
221
|
return [4 /*yield*/, components.resource.loadGoogleCaptcha()];
|
|
224
222
|
case 3:
|
|
225
|
-
googleCaptcha =
|
|
223
|
+
googleCaptcha = _b.sent();
|
|
226
224
|
return [4 /*yield*/, getCaptchaToken({
|
|
227
225
|
googleCaptcha: googleCaptcha,
|
|
228
226
|
siteKey: components.resource.googleCaptchaSiteKey,
|
|
229
227
|
actionName: props.captchaActionName
|
|
230
228
|
})];
|
|
231
229
|
case 4:
|
|
232
|
-
captchaToken =
|
|
233
|
-
cleanedValues = __assign(__assign({}, cleanedValues), (
|
|
234
|
-
|
|
230
|
+
captchaToken = _b.sent();
|
|
231
|
+
cleanedValues = __assign(__assign({}, cleanedValues), (_a = {}, _a[captchaAttribute] = captchaToken, _a));
|
|
232
|
+
_b.label = 5;
|
|
235
233
|
case 5:
|
|
236
234
|
options = {
|
|
237
235
|
onTwoFactor: props.onTwoFactor
|
|
@@ -257,29 +255,25 @@ function Form(props) {
|
|
|
257
255
|
}); }
|
|
258
256
|
: undefined
|
|
259
257
|
};
|
|
260
|
-
|
|
258
|
+
_b.label = 6;
|
|
261
259
|
case 6:
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
return [4 /*yield*/, props.action.call(null, components.api, cleanedValues, options)];
|
|
260
|
+
_b.trys.push([6, 8, , 9]);
|
|
261
|
+
return [4 /*yield*/, components.http.send(props.actionMethod, props.action || window.location.pathname, cleanedValues, options)];
|
|
265
262
|
case 7:
|
|
266
|
-
|
|
267
|
-
return [3 /*break*/,
|
|
268
|
-
case 8:
|
|
269
|
-
|
|
270
|
-
_a = _c.sent();
|
|
271
|
-
_c.label = 10;
|
|
272
|
-
case 10:
|
|
273
|
-
response = _a;
|
|
274
|
-
return [3 /*break*/, 12];
|
|
275
|
-
case 11:
|
|
276
|
-
requestError_1 = _c.sent();
|
|
263
|
+
response = _b.sent();
|
|
264
|
+
return [3 /*break*/, 9];
|
|
265
|
+
case 8:
|
|
266
|
+
requestError_1 = _b.sent();
|
|
277
267
|
console.error(requestError_1); // eslint-disable-line no-console
|
|
278
268
|
dispatch((0, form_2.formSetSubmitting)(props.formId, false));
|
|
279
|
-
props.onError
|
|
280
|
-
|
|
269
|
+
if (typeof props.onError === 'function') {
|
|
270
|
+
props.onError(requestError_1);
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
reduxDispatch((0, notifications_1.showNotification)(props.submitErrorMessage || __('Ошибка сервера'), 'error'));
|
|
274
|
+
}
|
|
281
275
|
return [2 /*return*/, null];
|
|
282
|
-
case
|
|
276
|
+
case 9:
|
|
283
277
|
// Skip on 2fa
|
|
284
278
|
if (response.twoFactor) {
|
|
285
279
|
dispatch((0, form_2.formSetSubmitting)(props.formId, false));
|
|
@@ -312,7 +306,7 @@ function Form(props) {
|
|
|
312
306
|
});
|
|
313
307
|
});
|
|
314
308
|
}, [dispatch, props, values, components.ui, components.resource,
|
|
315
|
-
components.http,
|
|
309
|
+
components.http, reduxDispatch, setErrors]);
|
|
316
310
|
// Manual submit form by reducer action
|
|
317
311
|
var prevSubmitCounter = (0, react_use_1.usePrevious)(submitCounter);
|
|
318
312
|
(0, react_use_1.useUpdateEffect)(function () {
|
|
@@ -325,24 +319,22 @@ function Form(props) {
|
|
|
325
319
|
model: props.model,
|
|
326
320
|
prefix: props.prefix,
|
|
327
321
|
size: props.size,
|
|
328
|
-
layout: props.layout,
|
|
329
322
|
provider: provider,
|
|
330
323
|
reducer: reducer,
|
|
331
324
|
dispatch: dispatch
|
|
332
|
-
}); }, [dispatch, props.formId, props.
|
|
325
|
+
}); }, [dispatch, props.formId, props.model, props.prefix, props.size, provider, reducer]);
|
|
333
326
|
// Wait initialization (only for redux)
|
|
334
327
|
if (values === undefined) {
|
|
335
328
|
return null;
|
|
336
329
|
}
|
|
337
330
|
// Render context and form
|
|
338
331
|
return (React.createElement(exports.FormContext.Provider, { value: formContextValue }, props.view !== false
|
|
339
|
-
? components.ui.renderView(props.view || 'form.FormView', __assign(__assign({}, props.viewProps), {
|
|
332
|
+
? components.ui.renderView(props.view || 'form.FormView', __assign(__assign({}, props.viewProps), { isSubmitting: isSubmitting, onSubmit: onSubmit, submitLabel: props.submitLabel, fields: props.fields, children: props.children, className: props.className, style: props.style, autoFocus: props.autoFocus }))
|
|
340
333
|
: props.children));
|
|
341
334
|
}
|
|
342
335
|
Form.defaultProps = {
|
|
343
336
|
actionMethod: 'POST',
|
|
344
337
|
autoStartTwoFactor: true,
|
|
345
|
-
layout: 'default',
|
|
346
338
|
captchaActionName: 'submit'
|
|
347
339
|
};
|
|
348
340
|
exports["default"] = Form;
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../Field/fieldWrapper';
|
|
2
2
|
/**
|
|
3
3
|
* HtmlField
|
|
4
|
-
* Компонент для создания HTML-разметки, использующий WYSIWYG
|
|
4
|
+
* Компонент для создания HTML-разметки, использующий WYSIWYG редактор
|
|
5
5
|
*/
|
|
6
|
-
export interface IHtmlFieldProps extends IFieldWrapperInputProps, IFieldWrapperOutputProps {
|
|
6
|
+
export interface IHtmlFieldProps extends IFieldWrapperInputProps, IFieldWrapperOutputProps, IUiComponent {
|
|
7
7
|
/**
|
|
8
8
|
* Конфигурация wysiwyg реадактора
|
|
9
9
|
*/
|
|
10
10
|
editorProps?: any;
|
|
11
|
-
/**
|
|
12
|
-
* Дополнительный CSS-класс
|
|
13
|
-
*/
|
|
14
|
-
className?: CssClassName;
|
|
15
11
|
/**
|
|
16
12
|
* Url на который будет отправлена форма загрузки файла
|
|
17
13
|
* @example /api/v1/upload-files
|
|
@@ -23,11 +19,6 @@ export interface IHtmlFieldProps extends IFieldWrapperInputProps, IFieldWrapperO
|
|
|
23
19
|
* @example origin
|
|
24
20
|
*/
|
|
25
21
|
uploadImagesProcessor?: string;
|
|
26
|
-
/**
|
|
27
|
-
* Переопределение view React компонента для кастомизации отображения
|
|
28
|
-
* @example MyCustomView
|
|
29
|
-
*/
|
|
30
|
-
view?: CustomView;
|
|
31
22
|
/**
|
|
32
23
|
* Обработчик события при фокусе на редактора
|
|
33
24
|
* @param event
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import ReactCropProps, { Crop } from 'react-image-crop';
|
|
2
2
|
import { IModalProps } from '../../modal/Modal/Modal';
|
|
3
|
+
import { IFileInput } from '../../../hooks/useFile';
|
|
3
4
|
import { IFieldWrapperInputProps } from '../Field/fieldWrapper';
|
|
4
|
-
import {
|
|
5
|
-
export interface
|
|
5
|
+
import { IButtonProps } from '../Button/Button';
|
|
6
|
+
export interface ICropConfig {
|
|
6
7
|
/**
|
|
7
8
|
* Изначальные параметры обрезки изображения
|
|
8
9
|
* @example {unit: 'px', aspect: 1, x: 0, y: 0, width: 200, height: 200}
|
|
@@ -19,16 +20,12 @@ export interface ICropInputProps {
|
|
|
19
20
|
*/
|
|
20
21
|
reactImageCropProps?: ReactCropProps;
|
|
21
22
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
* Переопределение внешнего вида компонента
|
|
29
|
-
* @example MyCustomView
|
|
30
|
-
*/
|
|
31
|
-
view?: CustomView;
|
|
23
|
+
/**
|
|
24
|
+
* ImageField
|
|
25
|
+
*
|
|
26
|
+
* Компонент для загрузки изображений с возможностью обрезки и предпросмотра.
|
|
27
|
+
**/
|
|
28
|
+
export interface IImageFieldProps extends IFieldWrapperInputProps, Omit<IFileInput, 'multiple' | 'imagesOnly'>, IUiComponent {
|
|
32
29
|
/**
|
|
33
30
|
* Переопределение внешнего вида модального окна
|
|
34
31
|
* @example MyCustomModalView
|
|
@@ -41,15 +38,19 @@ export interface IImageFieldProps extends IFieldWrapperInputProps, Omit<IFileHoc
|
|
|
41
38
|
/**
|
|
42
39
|
* Параметры обрезки
|
|
43
40
|
*/
|
|
44
|
-
crop?:
|
|
41
|
+
crop?: ICropConfig;
|
|
45
42
|
/**
|
|
46
43
|
* Название кнопки
|
|
47
44
|
* @example 'Загрузить'
|
|
48
45
|
*/
|
|
49
46
|
label?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Пропсы для кнопки
|
|
49
|
+
*/
|
|
50
|
+
buttonProps?: IButtonProps;
|
|
50
51
|
[key: string]: any;
|
|
51
52
|
}
|
|
52
|
-
export interface ICropOutputProps extends
|
|
53
|
+
export interface ICropOutputProps extends ICropConfig {
|
|
53
54
|
onSubmit: (crop: Crop, imageId: any) => void;
|
|
54
55
|
}
|
|
55
56
|
export interface IImageFieldModalViewProps extends IModalProps {
|