@steroidsjs/core 3.0.0-beta.9 → 3.0.0-beta.90
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 +30076 -0
- package/en.json +824 -0
- package/hooks/index.d.ts +7 -1
- package/hooks/index.js +13 -1
- package/hooks/useAbsolutePositioning.d.ts +56 -7
- package/hooks/useAbsolutePositioning.js +39 -131
- package/hooks/useAddressBar.d.ts +11 -0
- package/hooks/useApplication.d.ts +4 -1
- package/hooks/useApplication.js +19 -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 +40 -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 +20 -5
- package/hooks/useList.js +64 -15
- package/hooks/useSaveCursorPosition.d.ts +6 -0
- package/hooks/useSaveCursorPosition.js +29 -0
- 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 +19 -10
- package/ui/content/Calendar/Calendar.js +9 -2
- package/ui/content/CalendarSystem/CalendarSystem.d.ts +56 -0
- package/ui/content/CalendarSystem/CalendarSystem.js +106 -0
- package/ui/content/CalendarSystem/enums/CalendarType.d.ts +6 -0
- package/ui/content/CalendarSystem/enums/CalendarType.js +38 -0
- package/ui/content/CalendarSystem/enums/DateControlType.d.ts +10 -0
- package/ui/content/CalendarSystem/enums/DateControlType.js +42 -0
- package/ui/content/CalendarSystem/helpers/addEventIfMatchDate.d.ts +3 -0
- package/ui/content/CalendarSystem/helpers/addEventIfMatchDate.js +21 -0
- package/ui/content/CalendarSystem/hooks/useCalendarControls.d.ts +8 -0
- package/ui/content/CalendarSystem/hooks/useCalendarControls.js +47 -0
- package/ui/content/CalendarSystem/hooks/useDisplayDate.d.ts +6 -0
- package/ui/content/CalendarSystem/hooks/useDisplayDate.js +27 -0
- package/ui/content/CalendarSystem/hooks/useMonthCalendar.d.ts +16 -0
- package/ui/content/CalendarSystem/hooks/useMonthCalendar.js +87 -0
- package/ui/content/CalendarSystem/hooks/useWeekCalendar.d.ts +15 -0
- package/ui/content/CalendarSystem/hooks/useWeekCalendar.js +86 -0
- package/ui/content/CalendarSystem/index.d.ts +2 -0
- package/ui/{list/LayoutNames/demo/basic.js → content/CalendarSystem/index.js} +2 -7
- package/ui/content/CalendarSystem/utils/utils.d.ts +3 -0
- package/ui/content/CalendarSystem/utils/utils.js +29 -0
- package/ui/content/Card/Card.d.ts +75 -45
- package/ui/content/Card/Card.js +0 -5
- package/ui/content/Chart/Chart.d.ts +37 -0
- package/ui/content/Chart/Chart.js +19 -0
- package/ui/content/Chart/index.d.ts +2 -0
- package/ui/content/Chart/index.js +7 -0
- 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 +22 -10
- package/ui/content/DropDown/DropDown.js +15 -3
- 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/content/Menu/index.js +7 -0
- 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 +8 -1
- package/ui/content/index.js +16 -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 +9 -8
- package/ui/form/CheckboxField/CheckboxField.js +36 -6
- package/ui/form/CheckboxListField/CheckboxListField.d.ts +23 -8
- package/ui/form/CheckboxListField/CheckboxListField.js +36 -8
- 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/useDateRange.d.ts +2 -1
- package/ui/form/DateField/useDateRange.js +23 -0
- package/ui/form/DateField/useDateTime.js +3 -2
- package/ui/form/DateRangeField/DateRangeField.d.ts +12 -21
- package/ui/form/DateRangeField/DateRangeField.js +6 -3
- package/ui/form/DateTimeField/DateTimeField.d.ts +9 -15
- package/ui/form/DateTimeField/DateTimeField.js +6 -8
- package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +7 -21
- package/ui/form/DateTimeRangeField/DateTimeRangeField.js +16 -3
- 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 +35 -14
- 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 +51 -50
- package/ui/form/InputField/InputField.js +57 -17
- 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 +15 -11
- package/ui/form/NumberField/NumberField.js +33 -10
- package/ui/form/NumberField/hooks/useInputTypeNumber.d.ts +10 -0
- package/ui/form/NumberField/hooks/useInputTypeNumber.js +45 -0
- package/ui/form/PasswordField/PasswordField.d.ts +20 -14
- package/ui/form/PasswordField/PasswordField.js +21 -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 +10 -9
- 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 +82 -0
- package/ui/{list/ControlsColumn/demo/basic.js → layout/Sidebar/Sidebar.js} +21 -13
- 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 +39 -12
- package/ui/layout/Tooltip/Tooltip.js +17 -46
- 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 +14 -4
- 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/list/TreeTable/TreeTable.d.ts +39 -0
- package/ui/list/{Grid/demo/indexing.js → TreeTable/TreeTable.js} +30 -9
- package/ui/list/TreeTable/index.d.ts +2 -0
- package/ui/list/TreeTable/index.js +7 -0
- 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 +13 -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 +41 -18
- package/ui/nav/index.d.ts +2 -1
- package/ui/nav/index.js +3 -1
- package/ui/typography/Text/Text.d.ts +10 -8
- package/ui/typography/Title/Title.d.ts +10 -8
- package/utils/calculateComponentAbsolutePosition.d.ts +6 -0
- package/{ui/layout/Tooltip/calculate.js → utils/calculateComponentAbsolutePosition.js} +67 -58
- package/utils/calendar.d.ts +1 -1
- package/utils/calendar.js +17 -15
- package/utils/form.d.ts +0 -2
- package/utils/form.js +1 -12
- package/utils/list.d.ts +1 -0
- package/utils/list.js +5 -0
- 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/hoc/layout.js +0 -48
- 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/calculate.d.ts +0 -6
- 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/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/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
|
@@ -19,6 +19,17 @@ var react_use_1 = require("react-use");
|
|
|
19
19
|
var useComponents_1 = __importDefault(require("../../../hooks/useComponents"));
|
|
20
20
|
var fieldWrapper_1 = __importDefault(require("../../../ui/form/Field/fieldWrapper"));
|
|
21
21
|
var hooks_1 = require("../../../hooks");
|
|
22
|
+
var getCategories = function (items) {
|
|
23
|
+
if (!items) {
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
return items.reduce(function (allCategories, item) {
|
|
27
|
+
if (item.category && !allCategories.includes(item.category)) {
|
|
28
|
+
allCategories.push(item.category);
|
|
29
|
+
}
|
|
30
|
+
return allCategories;
|
|
31
|
+
}, []);
|
|
32
|
+
};
|
|
22
33
|
function AutoCompleteField(props) {
|
|
23
34
|
var components = (0, useComponents_1["default"])();
|
|
24
35
|
// Query state
|
|
@@ -81,12 +92,15 @@ function AutoCompleteField(props) {
|
|
|
81
92
|
props.inputProps.onBlur(e);
|
|
82
93
|
}
|
|
83
94
|
}, [onClose, props.inputProps, props.isOpened]);
|
|
84
|
-
var inputProps = (0, react_1.useMemo)(function () {
|
|
95
|
+
var inputProps = (0, react_1.useMemo)(function () {
|
|
96
|
+
var _a;
|
|
97
|
+
return (__assign(__assign({}, props.inputProps), { type: 'text', name: props.input.name, defaultValue: (_a = props.input.value) !== null && _a !== void 0 ? _a : '', placeholder: props.placeholder, disabled: props.disabled, onChange: onChange, onBlur: onBlur }));
|
|
98
|
+
}, [onBlur, onChange, props.disabled, props.input.name, props.input.value, props.inputProps, props.placeholder]);
|
|
85
99
|
//Sync with form
|
|
86
100
|
(0, react_1.useEffect)(function () {
|
|
87
101
|
props.input.onChange.call(null, selectedIds[0] || null);
|
|
88
102
|
}, [props.input.onChange, selectedIds]);
|
|
89
|
-
return components.ui.renderView(props.view || 'form.AutoCompleteFieldView', __assign(__assign({}, props), { inputProps: inputProps, items: items, isLoading: isLoading, hoveredId: hoveredId, selectedIds: selectedIds, onOpen: onOpen, isOpened: isOpened, onClose: onClose, forwardedRef: forwardedRef, onItemHover: onItemHover, onItemSelect: onItemSelect }));
|
|
103
|
+
return components.ui.renderView(props.view || 'form.AutoCompleteFieldView', __assign(__assign({}, props), { inputProps: inputProps, items: items, isLoading: isLoading, hoveredId: hoveredId, selectedIds: selectedIds, onOpen: onOpen, isOpened: isOpened, onClose: onClose, forwardedRef: forwardedRef, onItemHover: onItemHover, onItemSelect: onItemSelect, categories: getCategories(props.items) }));
|
|
90
104
|
}
|
|
91
105
|
AutoCompleteField.defaultProps = {
|
|
92
106
|
primaryKey: 'label',
|
|
@@ -94,6 +108,6 @@ AutoCompleteField.defaultProps = {
|
|
|
94
108
|
multiple: false,
|
|
95
109
|
disabled: false,
|
|
96
110
|
required: false,
|
|
97
|
-
|
|
111
|
+
size: 'md'
|
|
98
112
|
};
|
|
99
113
|
exports["default"] = (0, fieldWrapper_1["default"])('AutoCompleteField', AutoCompleteField);
|
|
@@ -1,7 +1,25 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { IFieldWrapperInputProps } from '../Field/fieldWrapper';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* BlankField
|
|
5
|
+
*
|
|
6
|
+
* Пустое поле. Он отображает переданный текст или дочерние элементы.
|
|
7
|
+
*
|
|
8
|
+
* Компонент `BlankField` принимает следующие свойства:
|
|
9
|
+
*
|
|
10
|
+
* - `text`: текст для отображения (тип: string | React.ReactNode)
|
|
11
|
+
* - `children`: дочерние элементы (тип: React.ReactNode)
|
|
12
|
+
* - все остальные свойства являются наследниками интерфейсов `IFieldWrapperInputProps` и `IUiComponent`
|
|
13
|
+
*/
|
|
14
|
+
export interface IBlankFieldProps extends IFieldWrapperInputProps, IUiComponent {
|
|
15
|
+
/**
|
|
16
|
+
* Текст для отображения
|
|
17
|
+
* @example 'Hello World!'
|
|
18
|
+
*/
|
|
4
19
|
text?: string | React.ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* Дочерние элементы
|
|
22
|
+
*/
|
|
5
23
|
children?: React.ReactNode;
|
|
6
24
|
}
|
|
7
25
|
declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<IBlankFieldProps>;
|
|
@@ -1,8 +1,24 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
interface IButtonBadge {
|
|
2
|
+
export interface IButtonBadge {
|
|
3
|
+
/**
|
|
4
|
+
* Включить/выключить badge
|
|
5
|
+
* @example true
|
|
6
|
+
*/
|
|
3
7
|
enable?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Значение badge
|
|
10
|
+
* @example 'Badge'
|
|
11
|
+
*/
|
|
4
12
|
value?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Цвет
|
|
15
|
+
* @example 'secondary'
|
|
16
|
+
*/
|
|
5
17
|
color?: ColorName;
|
|
18
|
+
/**
|
|
19
|
+
* Дополнительный CSS-класс для элемента отображения
|
|
20
|
+
* @example bem.element('additional-class')
|
|
21
|
+
*/
|
|
6
22
|
className?: CssClassName;
|
|
7
23
|
}
|
|
8
24
|
/**
|
|
@@ -10,7 +26,7 @@ interface IButtonBadge {
|
|
|
10
26
|
* Кнопка или ссылка. Используется в интерфейсе для выполнения какого-либо действия по клику (onClick),
|
|
11
27
|
* смена страницы в рамках роутинга (goToRoute), переход по внешней ссылке (url) или отправки формы (submit form)
|
|
12
28
|
*/
|
|
13
|
-
export interface IButtonProps {
|
|
29
|
+
export interface IButtonProps extends IUiComponent {
|
|
14
30
|
/**
|
|
15
31
|
* Текст кнопки или ссылки
|
|
16
32
|
* @example Save
|
|
@@ -71,7 +87,7 @@ export interface IButtonProps {
|
|
|
71
87
|
target?: string;
|
|
72
88
|
/**
|
|
73
89
|
* Ссылка на внешнюю страницу, используется совместно с свойством `link`
|
|
74
|
-
* @example https://
|
|
90
|
+
* @example https://kozhindev.com
|
|
75
91
|
*/
|
|
76
92
|
url?: string;
|
|
77
93
|
/**
|
|
@@ -96,20 +112,6 @@ export interface IButtonProps {
|
|
|
96
112
|
* @example true
|
|
97
113
|
*/
|
|
98
114
|
block?: boolean;
|
|
99
|
-
/**
|
|
100
|
-
* Объект CSS стилей
|
|
101
|
-
* @example {width: '45%'}
|
|
102
|
-
*/
|
|
103
|
-
style?: any;
|
|
104
|
-
/**
|
|
105
|
-
* Дополнительный CSS-класс для кнопки или ссылки
|
|
106
|
-
*/
|
|
107
|
-
className?: CssClassName;
|
|
108
|
-
/**
|
|
109
|
-
* Переопределение view React компонента для кастомизации отображения
|
|
110
|
-
* @example MyCustomView
|
|
111
|
-
*/
|
|
112
|
-
view?: React.ComponentType;
|
|
113
115
|
/**
|
|
114
116
|
* Вложенные элементы
|
|
115
117
|
*/
|
|
@@ -125,14 +127,6 @@ export interface IButtonProps {
|
|
|
125
127
|
* @example {userId: 52}
|
|
126
128
|
*/
|
|
127
129
|
toRouteParams?: Record<string, unknown>;
|
|
128
|
-
/**
|
|
129
|
-
* Выбор макета для распложения кнопки в форме. Если кнопка находится внутри `<Form>...</Form>`, то `layout` будет
|
|
130
|
-
* взят из контекста формы и автоматически применен при отораженн. Для его отключения укажите `false`.
|
|
131
|
-
* Данное свойство так же может принимать объект, если нужно прокинуть дополнительные свойства в шаблон макета.
|
|
132
|
-
* Пример: `{layout: 'horizontal', cols: [2,6]}`
|
|
133
|
-
* @example horizontal
|
|
134
|
-
*/
|
|
135
|
-
layout?: FormLayout;
|
|
136
130
|
/**
|
|
137
131
|
* ID формы, для которой кнопка выполняет submit. При указании ID формы кнопка будет показывать состояние загрузки
|
|
138
132
|
* при отправке формы.
|
|
@@ -161,7 +155,6 @@ export interface IButtonViewProps extends IButtonProps {
|
|
|
161
155
|
badge?: IButtonBadge;
|
|
162
156
|
url?: string;
|
|
163
157
|
formId?: string;
|
|
164
|
-
layout?: string;
|
|
165
158
|
disabled?: boolean;
|
|
166
159
|
onClick?: any;
|
|
167
160
|
submitting?: boolean;
|
package/ui/form/Button/Button.js
CHANGED
|
@@ -33,19 +33,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
33
33
|
__setModuleDefault(result, mod);
|
|
34
34
|
return result;
|
|
35
35
|
};
|
|
36
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
-
};
|
|
39
36
|
exports.__esModule = true;
|
|
40
37
|
var React = __importStar(require("react"));
|
|
41
38
|
var react_redux_1 = require("react-redux");
|
|
42
39
|
var react_1 = require("react");
|
|
43
|
-
var FieldLayout_1 = __importDefault(require("../FieldLayout"));
|
|
44
40
|
var router_1 = require("../../../actions/router");
|
|
45
41
|
var router_2 = require("../../../reducers/router");
|
|
46
42
|
var hooks_1 = require("../../../hooks");
|
|
47
43
|
var Form_1 = require("../Form/Form");
|
|
48
|
-
var form_1 = require("../../../utils/form");
|
|
49
44
|
function Button(props) {
|
|
50
45
|
var components = (0, hooks_1.useComponents)();
|
|
51
46
|
var dispatch = (0, react_redux_1.useDispatch)();
|
|
@@ -71,7 +66,6 @@ function Button(props) {
|
|
|
71
66
|
}
|
|
72
67
|
var disabled = submitting || props.disabled;
|
|
73
68
|
var tag = props.tag || (props.link || url ? 'a' : 'button');
|
|
74
|
-
var layout = (0, react_1.useMemo)(function () { return (0, form_1.mergeLayoutProp)(context.layout, props.layout); }, [context.layout, props.layout]);
|
|
75
69
|
var failedTimer = (0, react_1.useRef)(null);
|
|
76
70
|
var onClick = (0, react_1.useCallback)(function (e) {
|
|
77
71
|
e.stopPropagation();
|
|
@@ -126,10 +120,7 @@ function Button(props) {
|
|
|
126
120
|
}
|
|
127
121
|
}
|
|
128
122
|
}, [dispatch, props, tag]);
|
|
129
|
-
var button = components.ui.renderView(props.view || 'form.ButtonView', __assign(__assign({}, props), { badge: badge,
|
|
130
|
-
if (layout) {
|
|
131
|
-
return (React.createElement(FieldLayout_1["default"], { layout: layout }, button));
|
|
132
|
-
}
|
|
123
|
+
var button = components.ui.renderView(props.view || 'form.ButtonView', __assign(__assign({}, props), { badge: badge, isFailed: isFailed, isLoading: isLoading, disabled: disabled, submitting: submitting, tag: tag, formId: (context === null || context === void 0 ? void 0 : context.formId) || null, url: url || (tag === 'a' ? '#' : null), onClick: !disabled ? onClick : undefined, children: props.label || props.children }));
|
|
133
124
|
return button;
|
|
134
125
|
}
|
|
135
126
|
Button.defaultProps = {
|
|
@@ -2,23 +2,24 @@ import * as React from 'react';
|
|
|
2
2
|
import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../Field/fieldWrapper';
|
|
3
3
|
/**
|
|
4
4
|
* CheckboxField
|
|
5
|
+
*
|
|
5
6
|
* Одиночный чекбокс. Используется в формах для отметки булевого значения.
|
|
6
7
|
*/
|
|
7
|
-
export interface ICheckboxFieldProps extends IFieldWrapperInputProps {
|
|
8
|
+
export interface ICheckboxFieldProps extends IFieldWrapperInputProps, IUiComponent {
|
|
8
9
|
/**
|
|
9
|
-
* Свойства для элемента
|
|
10
|
+
* Свойства для элемента input
|
|
10
11
|
* @example {onKeyDown: ...}
|
|
11
12
|
*/
|
|
12
13
|
inputProps?: any;
|
|
13
14
|
/**
|
|
14
|
-
*
|
|
15
|
+
* Флаг определяющий включен ли элемент
|
|
16
|
+
* @example true
|
|
15
17
|
*/
|
|
16
|
-
|
|
18
|
+
checked?: boolean;
|
|
17
19
|
/**
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
view?: CustomView;
|
|
20
|
+
* Пользовательский цвет для чекбокса
|
|
21
|
+
*/
|
|
22
|
+
color?: string;
|
|
22
23
|
[key: string]: any;
|
|
23
24
|
}
|
|
24
25
|
export interface ICheckboxFieldViewProps extends ICheckboxFieldProps, IFieldWrapperOutputProps {
|
|
@@ -10,28 +10,58 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
13
36
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
38
|
};
|
|
16
39
|
exports.__esModule = true;
|
|
17
|
-
var
|
|
40
|
+
var React = __importStar(require("react"));
|
|
18
41
|
var react_1 = require("react");
|
|
19
42
|
var fieldWrapper_1 = __importDefault(require("../Field/fieldWrapper"));
|
|
20
43
|
var hooks_1 = require("../../../hooks");
|
|
21
44
|
function CheckboxField(props) {
|
|
45
|
+
var _a, _b;
|
|
22
46
|
var components = (0, hooks_1.useComponents)();
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
47
|
+
var onChangeHandler = React.useCallback(function () {
|
|
48
|
+
var _a;
|
|
49
|
+
props.input.onChange(!((_a = props.input) === null || _a === void 0 ? void 0 : _a.value));
|
|
50
|
+
if (props.onChange) {
|
|
51
|
+
props.onChange();
|
|
26
52
|
}
|
|
27
|
-
});
|
|
28
|
-
var inputProps = (0, react_1.useMemo)(function () {
|
|
53
|
+
}, [props]);
|
|
54
|
+
var inputProps = (0, react_1.useMemo)(function () {
|
|
55
|
+
var _a, _b;
|
|
56
|
+
return (__assign({ name: (_a = props.input) === null || _a === void 0 ? void 0 : _a.name, type: 'checkbox', checked: !!((_b = props.input) === null || _b === void 0 ? void 0 : _b.value), onChange: onChangeHandler, disabled: props.disabled }, props.inputProps));
|
|
57
|
+
}, [onChangeHandler, props.disabled, (_a = props.input) === null || _a === void 0 ? void 0 : _a.name, (_b = props.input) === null || _b === void 0 ? void 0 : _b.value, props.inputProps]);
|
|
29
58
|
return components.ui.renderView(props.view || 'form.CheckboxFieldView', __assign(__assign({}, props), { inputProps: inputProps }));
|
|
30
59
|
}
|
|
31
60
|
CheckboxField.defaultProps = {
|
|
32
61
|
disabled: false,
|
|
33
62
|
required: false,
|
|
34
63
|
className: '',
|
|
64
|
+
size: 'md',
|
|
35
65
|
inputProps: {}
|
|
36
66
|
};
|
|
37
67
|
exports["default"] = (0, fieldWrapper_1["default"])('CheckboxField', CheckboxField, { label: false });
|
|
@@ -1,26 +1,37 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import Enum from '../../../base/Enum';
|
|
2
3
|
import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../../../ui/form/Field/fieldWrapper';
|
|
3
4
|
import { IDataProviderConfig } from '../../../hooks/useDataProvider';
|
|
4
5
|
import { IDataSelectConfig } from '../../../hooks/useDataSelect';
|
|
6
|
+
import { ICheckboxFieldViewProps } from '../CheckboxField/CheckboxField';
|
|
7
|
+
type CheckboxFieldListItems = string | ({
|
|
8
|
+
new (): Enum;
|
|
9
|
+
}) | (string | number | {
|
|
10
|
+
id: string | number | boolean;
|
|
11
|
+
label: string | any;
|
|
12
|
+
color?: string;
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
})[];
|
|
5
15
|
/**
|
|
6
16
|
* CheckboxListField
|
|
17
|
+
*
|
|
7
18
|
* Список с чекбоксами. Используется в формах для выбора нескольких значений.
|
|
8
19
|
*/
|
|
9
|
-
export interface ICheckboxListFieldProps extends IFieldWrapperInputProps, IDataProviderConfig, Omit<IDataSelectConfig, 'items'
|
|
20
|
+
export interface ICheckboxListFieldProps extends IFieldWrapperInputProps, Omit<IDataProviderConfig, 'items'>, Omit<IDataSelectConfig, 'items'>, IUiComponent {
|
|
10
21
|
/**
|
|
11
|
-
* Свойства для элемента
|
|
22
|
+
* Свойства для элемента input
|
|
12
23
|
* @example {onKeyDown: ...}
|
|
13
24
|
*/
|
|
14
25
|
inputProps?: any;
|
|
15
26
|
/**
|
|
16
|
-
*
|
|
27
|
+
* Ориентация списка
|
|
17
28
|
*/
|
|
18
|
-
|
|
29
|
+
orientation?: Orientation;
|
|
19
30
|
/**
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
31
|
+
* Коллекция элементов
|
|
32
|
+
* @example [{id: 1, label: 'Krasnoyarsk', color: 'red'}, {id: 2, label: 'Moscow', color: 'purple'}]
|
|
22
33
|
*/
|
|
23
|
-
|
|
34
|
+
items: CheckboxFieldListItems;
|
|
24
35
|
[key: string]: any;
|
|
25
36
|
}
|
|
26
37
|
export interface ICheckboxListFieldViewProps extends IFieldWrapperOutputProps {
|
|
@@ -35,10 +46,14 @@ export interface ICheckboxListFieldViewProps extends IFieldWrapperOutputProps {
|
|
|
35
46
|
label?: string;
|
|
36
47
|
isSelected: boolean;
|
|
37
48
|
isHovered: boolean;
|
|
49
|
+
color?: string;
|
|
38
50
|
}[];
|
|
39
51
|
selectedIds: (PrimaryKey | any)[];
|
|
40
52
|
onItemSelect: (id: PrimaryKey | any) => void;
|
|
41
|
-
|
|
53
|
+
orientation?: Orientation;
|
|
54
|
+
disabled?: boolean;
|
|
55
|
+
renderCheckbox: (checkboxProps: ICheckboxFieldViewProps) => JSX.Element;
|
|
56
|
+
size?: Size;
|
|
42
57
|
}
|
|
43
58
|
declare const _default: import("../../../ui/form/Field/fieldWrapper").FieldWrapperComponent<ICheckboxListFieldProps>;
|
|
44
59
|
export default _default;
|
|
@@ -10,39 +10,64 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
13
36
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
38
|
};
|
|
16
39
|
exports.__esModule = true;
|
|
40
|
+
var React = __importStar(require("react"));
|
|
17
41
|
var react_1 = require("react");
|
|
18
42
|
var react_use_1 = require("react-use");
|
|
19
43
|
var hooks_1 = require("../../../hooks");
|
|
20
44
|
var fieldWrapper_1 = __importDefault(require("../../../ui/form/Field/fieldWrapper"));
|
|
21
45
|
function CheckboxListField(props) {
|
|
22
46
|
var components = (0, hooks_1.useComponents)();
|
|
47
|
+
var inputSelectedIds = (0, react_1.useMemo)(function () { return props.selectedIds || [].concat(props.input.value || []); }, [props.input.value, props.selectedIds]);
|
|
23
48
|
// Data Provider
|
|
24
49
|
var items = (0, hooks_1.useDataProvider)({
|
|
25
50
|
items: props.items
|
|
26
51
|
}).items;
|
|
27
52
|
// Data select
|
|
28
53
|
var _a = (0, hooks_1.useDataSelect)({
|
|
54
|
+
selectedIds: inputSelectedIds,
|
|
29
55
|
multiple: props.multiple,
|
|
30
|
-
selectedIds: props.selectedIds,
|
|
31
56
|
primaryKey: props.primaryKey,
|
|
32
57
|
items: items,
|
|
33
58
|
inputValue: props.input.value
|
|
34
|
-
}),
|
|
59
|
+
}), selectedIds = _a.selectedIds, setSelectedIds = _a.setSelectedIds;
|
|
35
60
|
var onItemSelect = (0, react_1.useCallback)(function (id) {
|
|
36
61
|
setSelectedIds(id);
|
|
37
62
|
}, [setSelectedIds]);
|
|
38
|
-
var onItemHover = (0, react_1.useCallback)(function (id) {
|
|
39
|
-
setHoveredId(id);
|
|
40
|
-
}, [setHoveredId]);
|
|
41
63
|
var inputProps = (0, react_1.useMemo)(function () { return (__assign(__assign({}, props.inputProps), { type: 'checkbox', name: props.input.name, disabled: props.disabled })); }, [props.disabled, props.input, props.inputProps]);
|
|
42
64
|
// Sync with form
|
|
43
65
|
(0, react_1.useEffect)(function () {
|
|
44
66
|
props.input.onChange.call(null, selectedIds);
|
|
45
|
-
|
|
67
|
+
if (props.onChange) {
|
|
68
|
+
props.onChange(selectedIds);
|
|
69
|
+
}
|
|
70
|
+
}, [props, props.input.onChange, selectedIds]);
|
|
46
71
|
var onReset = (0, react_1.useCallback)(function () {
|
|
47
72
|
setSelectedIds([]);
|
|
48
73
|
}, [setSelectedIds]);
|
|
@@ -54,12 +79,15 @@ function CheckboxListField(props) {
|
|
|
54
79
|
onReset();
|
|
55
80
|
}
|
|
56
81
|
}, [onReset, prevInputValue, props.input.value, selectedIds.length]);
|
|
57
|
-
|
|
82
|
+
var CheckboxFieldView = components.ui.getView('form.CheckboxFieldView');
|
|
83
|
+
var renderCheckbox = function (checkboxProps) { return (React.createElement(CheckboxFieldView, __assign({}, checkboxProps))); };
|
|
84
|
+
return components.ui.renderView(props.view || 'form.CheckboxListFieldView', __assign(__assign({}, props), { items: items, inputProps: inputProps, onItemSelect: onItemSelect, selectedIds: selectedIds, renderCheckbox: renderCheckbox }));
|
|
58
85
|
}
|
|
59
86
|
CheckboxListField.defaultProps = {
|
|
60
87
|
disabled: false,
|
|
61
88
|
required: false,
|
|
62
89
|
className: '',
|
|
63
|
-
multiple: true
|
|
90
|
+
multiple: true,
|
|
91
|
+
orientation: 'vertical'
|
|
64
92
|
};
|
|
65
93
|
exports["default"] = (0, fieldWrapper_1["default"])('CheckboxListField', CheckboxListField);
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { MaskitoOptions } from '@maskito/core';
|
|
1
3
|
import { ICalendarProps } from '../../content/Calendar/Calendar';
|
|
2
4
|
import { IDateInputStateInput, IDateInputStateOutput } from './useDateInputState';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Переопределение view React компонента для кастомизации отображения
|
|
15
|
-
* @example MyCustomView
|
|
16
|
-
*/
|
|
17
|
-
view?: CustomView;
|
|
5
|
+
/**
|
|
6
|
+
* DateField
|
|
7
|
+
*
|
|
8
|
+
* Поле ввода с выпадающим календарём для выбора даты.
|
|
9
|
+
*
|
|
10
|
+
* Компонент `DateField` предоставляет возможность создания поля ввода с календарём для выбора даты.
|
|
11
|
+
* Он предоставляет пользователю удобный интерфейс для выбора даты с помощью календаря,
|
|
12
|
+
* а также поддерживает настройку формата отображения даты и другие параметры.
|
|
13
|
+
*/
|
|
14
|
+
export interface IDateFieldProps extends IDateInputStateInput, IUiComponent {
|
|
18
15
|
/**
|
|
19
16
|
* Свойства для view компонента
|
|
20
17
|
*/
|
|
@@ -23,9 +20,17 @@ export interface IDateFieldProps extends IDateInputStateInput {
|
|
|
23
20
|
* Свойства для компонента Calendar
|
|
24
21
|
*/
|
|
25
22
|
calendarProps?: ICalendarProps;
|
|
23
|
+
/**
|
|
24
|
+
* Опции маски для поля ввода
|
|
25
|
+
*/
|
|
26
|
+
maskOptions?: MaskitoOptions;
|
|
26
27
|
[key: string]: any;
|
|
27
28
|
}
|
|
28
29
|
export interface IDateFieldViewProps extends IDateInputStateOutput, Pick<IDateFieldProps, 'size' | 'icon' | 'errors' | 'showRemove' | 'className' | 'calendarProps'> {
|
|
30
|
+
/**
|
|
31
|
+
* Ref для input элемента, который накладывает маску
|
|
32
|
+
*/
|
|
33
|
+
maskInputRef?: React.RefCallback<HTMLElement>;
|
|
29
34
|
[key: string]: any;
|
|
30
35
|
}
|
|
31
36
|
declare const _default: import("../../form/Field/fieldWrapper").FieldWrapperComponent<IDateFieldProps>;
|
|
@@ -15,6 +15,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
15
|
};
|
|
16
16
|
exports.__esModule = true;
|
|
17
17
|
var react_1 = require("react");
|
|
18
|
+
var react_2 = require("@maskito/react");
|
|
19
|
+
var kit_1 = require("@maskito/kit");
|
|
18
20
|
var hooks_1 = require("../../../hooks");
|
|
19
21
|
var useDateInputState_1 = __importDefault(require("./useDateInputState"));
|
|
20
22
|
var fieldWrapper_1 = __importDefault(require("../../form/Field/fieldWrapper"));
|
|
@@ -24,6 +26,7 @@ var fieldWrapper_1 = __importDefault(require("../../form/Field/fieldWrapper"));
|
|
|
24
26
|
*/
|
|
25
27
|
function DateField(props) {
|
|
26
28
|
var components = (0, hooks_1.useComponents)();
|
|
29
|
+
var maskInputRef = (0, react_2.useMaskito)({ options: props.maskOptions });
|
|
27
30
|
var _a = (0, useDateInputState_1["default"])({
|
|
28
31
|
input: props.input,
|
|
29
32
|
disabled: props.disabled,
|
|
@@ -36,7 +39,7 @@ function DateField(props) {
|
|
|
36
39
|
}), onClear = _a.onClear, onClose = _a.onClose, isOpened = _a.isOpened, inputProps = _a.inputProps;
|
|
37
40
|
// Calendar props
|
|
38
41
|
var calendarProps = (0, react_1.useMemo)(function () { return (__assign({ value: props.input.value, onChange: props.input.onChange, valueFormat: props.valueFormat }, props.calendarProps)); }, [props.calendarProps, props.input.onChange, props.input.value, props.valueFormat]);
|
|
39
|
-
return components.ui.renderView(props.view || 'form.DateFieldView', __assign(__assign({}, props.viewProps), { onClear: onClear, onClose: onClose, isOpened: isOpened, inputProps: inputProps, calendarProps: calendarProps, size: props.size, icon: props.icon, errors: props.errors, label: props.label, disabled: props.disabled, className: props.className, showRemove: props.showRemove }));
|
|
42
|
+
return components.ui.renderView(props.view || 'form.DateFieldView', __assign(__assign({}, props.viewProps), { onClear: onClear, onClose: onClose, isOpened: isOpened, inputProps: inputProps, calendarProps: calendarProps, size: props.size, icon: props.icon, errors: props.errors, label: props.label, disabled: props.disabled, className: props.className, showRemove: props.showRemove, style: props.style, maskInputRef: maskInputRef }));
|
|
40
43
|
}
|
|
41
44
|
DateField.defaultProps = {
|
|
42
45
|
disabled: false,
|
|
@@ -44,6 +47,8 @@ DateField.defaultProps = {
|
|
|
44
47
|
icon: true,
|
|
45
48
|
required: false,
|
|
46
49
|
showRemove: true,
|
|
47
|
-
valueFormat: 'YYYY-MM-DD'
|
|
50
|
+
valueFormat: 'YYYY-MM-DD',
|
|
51
|
+
maskOptions: (0, kit_1.maskitoDateOptionsGenerator)({ mode: 'dd/mm/yyyy', separator: '.' }),
|
|
52
|
+
size: 'md'
|
|
48
53
|
};
|
|
49
54
|
exports["default"] = (0, fieldWrapper_1["default"])('DateField', DateField);
|
|
@@ -14,9 +14,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
exports.__esModule = true;
|
|
17
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
17
18
|
var react_1 = require("react");
|
|
18
19
|
var react_use_1 = require("react-use");
|
|
19
|
-
var
|
|
20
|
+
var dayjs_1 = __importDefault(require("dayjs"));
|
|
20
21
|
var calendar_1 = require("../../../utils/calendar");
|
|
21
22
|
function useDateInputState(props) {
|
|
22
23
|
// Get props value
|
|
@@ -78,10 +79,10 @@ function useDateInputState(props) {
|
|
|
78
79
|
onDisplayValueChange('');
|
|
79
80
|
}, [onDisplayValueChange]);
|
|
80
81
|
var onNow = (0, react_1.useCallback)(function () {
|
|
81
|
-
onDisplayValueChange((0,
|
|
82
|
+
onDisplayValueChange((0, dayjs_1["default"])().format(props.displayFormat));
|
|
82
83
|
}, [onDisplayValueChange, props.displayFormat]);
|
|
83
84
|
// Display input props
|
|
84
|
-
var inputProps = (0, react_1.useMemo)(function () { return (__assign({ value: displayValue, onChange: onDisplayValueChange, onFocus: onFocus, onBlur: onBlur, disabled: props.disabled, placeholder: props.placeholder || props.displayFormat, required: props.required, name: props.input.name, autoComplete: 'off', type: 'text' }, props.inputProps)); }, [displayValue, onBlur, onDisplayValueChange, onFocus, props.disabled, props.displayFormat,
|
|
85
|
+
var inputProps = (0, react_1.useMemo)(function () { return (__assign({ value: displayValue, onChange: onDisplayValueChange, onFocus: onFocus, onBlur: onBlur, disabled: props.disabled, placeholder: props.placeholder || props.displayFormat.toLowerCase(), required: props.required, name: props.input.name, autoComplete: 'off', type: 'text' }, props.inputProps)); }, [displayValue, onBlur, onDisplayValueChange, onFocus, props.disabled, props.displayFormat,
|
|
85
86
|
props.input.name, props.inputProps, props.placeholder, props.required]);
|
|
86
87
|
return {
|
|
87
88
|
isOpened: isOpened,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { IDateInputStateInput } from '@steroidsjs/core/ui/form/DateField/useDateInputState';
|
|
2
|
+
interface IUseDateRangeProps extends Pick<IDateInputStateInput, 'displayFormat' | 'valueFormat' | 'useUTC' | 'dateInUTC'> {
|
|
2
3
|
onCloseFrom: any;
|
|
3
4
|
onCloseTo: any;
|
|
4
5
|
onClearFrom: any;
|
|
@@ -10,9 +10,14 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
13
16
|
exports.__esModule = true;
|
|
14
17
|
var react_1 = require("react");
|
|
15
18
|
var react_use_1 = require("react-use");
|
|
19
|
+
var dayjs_1 = __importDefault(require("dayjs"));
|
|
20
|
+
var calendar_1 = require("@steroidsjs/core/utils/calendar");
|
|
16
21
|
function useDateRange(props) {
|
|
17
22
|
// Tracking focus for input being edited
|
|
18
23
|
var _a = (0, react_1.useState)('from'), focus = _a[0], setFocus = _a[1];
|
|
@@ -64,6 +69,24 @@ function useDateRange(props) {
|
|
|
64
69
|
}
|
|
65
70
|
// eslint-disable-next-line max-len
|
|
66
71
|
}, [focus, onClose, prevValueFrom, prevValueTo, props, props.inputFrom.onChange, props.inputFrom.value, props.inputTo.onChange, props.inputTo.value]);
|
|
72
|
+
// Swap start and end dates if start date is later than end date
|
|
73
|
+
(0, react_1.useEffect)(function () {
|
|
74
|
+
if (props.inputFrom.value
|
|
75
|
+
&& props.inputTo.value
|
|
76
|
+
&& ((0, dayjs_1["default"])(props.inputTo.value).isBefore((0, dayjs_1["default"])(props.inputFrom.value)))) {
|
|
77
|
+
var convertedDateFrom = (0, calendar_1.convertDate)(props.inputFrom.value, props.valueFormat, props.valueFormat, props.useUTC, props.dateInUTC);
|
|
78
|
+
var convertedDateTo = (0, calendar_1.convertDate)(props.inputTo.value, props.valueFormat, props.valueFormat, props.useUTC, props.dateInUTC);
|
|
79
|
+
props.inputFrom.onChange.call(null, convertedDateTo);
|
|
80
|
+
props.inputTo.onChange.call(null, convertedDateFrom);
|
|
81
|
+
}
|
|
82
|
+
}, [props.dateInUTC,
|
|
83
|
+
props.inputFrom.onChange,
|
|
84
|
+
props.inputFrom.value,
|
|
85
|
+
props.inputTo.onChange,
|
|
86
|
+
props.inputTo.value,
|
|
87
|
+
props.useUTC,
|
|
88
|
+
props.valueFormat,
|
|
89
|
+
]);
|
|
67
90
|
return {
|
|
68
91
|
focus: focus,
|
|
69
92
|
onClose: onClose,
|
|
@@ -3,8 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
6
7
|
var react_1 = require("react");
|
|
7
|
-
var
|
|
8
|
+
var dayjs_1 = __importDefault(require("dayjs"));
|
|
8
9
|
var calendar_1 = require("../../../utils/calendar");
|
|
9
10
|
/**
|
|
10
11
|
* useDateTime
|
|
@@ -26,7 +27,7 @@ function useDateTime(props) {
|
|
|
26
27
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
27
28
|
}, [props.dateTimeSeparator, props.input.onChange, props.valueFormat, timeValue]);
|
|
28
29
|
var onTimeSelect = (0, react_1.useCallback)(function (time) {
|
|
29
|
-
var result = (dateValue || (0,
|
|
30
|
+
var result = (dateValue || (0, dayjs_1["default"])().format(dateValueFormat)) + props.dateTimeSeparator + time;
|
|
30
31
|
props.input.onChange.call(null, (0, calendar_1.convertDate)(result, [props.valueFormat, 'YYYY-MM-DD HH:mm'], props.valueFormat,
|
|
31
32
|
// converting to UTC here depends on whether the date is stored in UTC
|
|
32
33
|
props.dateInUTC,
|