@steroidsjs/core 3.0.0-beta.9 → 3.0.0-beta.91
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/Kanban/Kanban.d.ts +104 -0
- package/ui/content/Kanban/Kanban.js +56 -0
- package/ui/content/Kanban/actions/index.d.ts +2 -0
- package/ui/content/Kanban/actions/index.js +10 -0
- package/ui/content/Kanban/actions/kanban.d.ts +19 -0
- package/ui/content/Kanban/actions/kanban.js +25 -0
- package/ui/content/Kanban/hooks/index.d.ts +2 -0
- package/ui/content/Kanban/hooks/index.js +8 -0
- package/ui/content/Kanban/hooks/useKanban.d.ts +25 -0
- package/ui/content/Kanban/hooks/useKanban.js +76 -0
- package/ui/content/Kanban/index.d.ts +2 -0
- package/ui/content/Kanban/index.js +7 -0
- package/ui/content/Kanban/reducers/index.d.ts +3 -0
- package/ui/content/{Icon/demo/icon.js → Kanban/reducers/index.js} +4 -7
- package/ui/content/Kanban/reducers/kanban.d.ts +5 -0
- package/ui/content/Kanban/reducers/kanban.js +77 -0
- 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 +9 -1
- package/ui/content/index.js +18 -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 +11 -9
- 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/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
|
@@ -1,5 +1,18 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { DayPickerProps } from 'react-day-picker';
|
|
2
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Calendar
|
|
5
|
+
*
|
|
6
|
+
* Компонент календаря, который позволяет выбирать даты или диапазоны дат.
|
|
7
|
+
* Он предоставляет пользователю удобный способ выбора даты и может использоваться для различных целей,
|
|
8
|
+
* таких как выбор даты доставки, даты резервирования и т.д.
|
|
9
|
+
*
|
|
10
|
+
* Компонент `Calendar` позволяет указать значение даты или диапазона дат, формат значения, callback функцию при изменении,
|
|
11
|
+
* свойства для компонента `DayPicker`, отображение панели выбора месяца/года, количество отображаемых месяцев и другие свойства.
|
|
12
|
+
*
|
|
13
|
+
* Если установлено значение `showFooter`, то будет отображаться футер с кнопкой "Today".
|
|
14
|
+
*/
|
|
15
|
+
export interface ICalendarProps extends IUiComponent {
|
|
3
16
|
/**
|
|
4
17
|
* Значение задает выбранные в календаре дату или диапазон дат.
|
|
5
18
|
* Необходимо передать валидную дату в виде строки (массива строк)
|
|
@@ -19,11 +32,6 @@ export interface ICalendarProps {
|
|
|
19
32
|
* @example {dayPickerProps: {showWeekNumbers: true}}
|
|
20
33
|
*/
|
|
21
34
|
pickerProps?: DayPickerProps | any;
|
|
22
|
-
/**
|
|
23
|
-
* Переопределение view React компонента для кастомизации отображения
|
|
24
|
-
* @example MyCustomView
|
|
25
|
-
*/
|
|
26
|
-
view?: CustomView;
|
|
27
35
|
/**
|
|
28
36
|
* Пропсы для компонента отображения
|
|
29
37
|
*/
|
|
@@ -38,9 +46,10 @@ export interface ICalendarProps {
|
|
|
38
46
|
*/
|
|
39
47
|
numberOfMonths?: number;
|
|
40
48
|
/**
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
49
|
+
* Callback вызываемый при нажатии на смену года или месяца в шапке Calendar
|
|
50
|
+
* @param newDate - дата первого дня нового месяца
|
|
51
|
+
*/
|
|
52
|
+
onMonthChange?: (newDate: Date) => void;
|
|
44
53
|
}
|
|
45
54
|
export interface ICalendarViewProps extends ICalendarProps {
|
|
46
55
|
/**
|
|
@@ -76,7 +85,7 @@ export interface ICalendarViewProps extends ICalendarProps {
|
|
|
76
85
|
*/
|
|
77
86
|
toggleCaptionPanel: () => void;
|
|
78
87
|
}
|
|
79
|
-
declare function Calendar(props: ICalendarProps): any
|
|
88
|
+
declare function Calendar(props: ICalendarProps): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
80
89
|
declare namespace Calendar {
|
|
81
90
|
var defaultProps: {
|
|
82
91
|
numberOfMonths: number;
|
|
@@ -31,13 +31,20 @@ function Calendar(props) {
|
|
|
31
31
|
setMonth(selectedDates[0]);
|
|
32
32
|
}
|
|
33
33
|
}, [selectedDates]);
|
|
34
|
-
var onDaySelect = (0, react_1.useCallback)(function (date) {
|
|
34
|
+
var onDaySelect = (0, react_1.useCallback)(function (date) {
|
|
35
|
+
if (props.onChange) {
|
|
36
|
+
props.onChange.call(null, (0, calendar_1.convertDate)(date, null, props.valueFormat, false, true));
|
|
37
|
+
}
|
|
38
|
+
}, [props.onChange, props.valueFormat]);
|
|
35
39
|
var toggleCaptionPanel = (0, react_1.useCallback)(function () {
|
|
36
40
|
setIsCaptionPanelVisible(!isCaptionPanelVisible);
|
|
37
41
|
}, [isCaptionPanelVisible]);
|
|
38
42
|
var onMonthSelect = (0, react_1.useCallback)(function (newMonth) {
|
|
39
43
|
setMonth(newMonth);
|
|
40
|
-
|
|
44
|
+
if (props.onMonthChange) {
|
|
45
|
+
props.onMonthChange(newMonth);
|
|
46
|
+
}
|
|
47
|
+
}, [props]);
|
|
41
48
|
return components.ui.renderView(props.view || 'content.CalendarView', __assign(__assign(__assign({}, props.viewProps), props.pickerProps), { month: month, toYear: toYear, fromYear: fromYear, onDaySelect: onDaySelect, onMonthSelect: onMonthSelect, selectedDates: selectedDates, toggleCaptionPanel: toggleCaptionPanel, isCaptionPanelVisible: isCaptionPanelVisible, className: props.className, showFooter: props.showFooter, numberOfMonths: props.numberOfMonths }));
|
|
42
49
|
}
|
|
43
50
|
Calendar.defaultProps = {
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IModalProps } from '../../../ui/modal/Modal/Modal';
|
|
3
|
+
import CalendarEnum from './enums/CalendarType';
|
|
4
|
+
export interface IDay {
|
|
5
|
+
dayNumber: number;
|
|
6
|
+
date: Date;
|
|
7
|
+
outOfRange?: boolean;
|
|
8
|
+
isToday?: boolean;
|
|
9
|
+
formattedDisplay?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface IPresentDateInfo {
|
|
12
|
+
currentYear: number;
|
|
13
|
+
currentMonth: number;
|
|
14
|
+
dateToDisplay: string;
|
|
15
|
+
}
|
|
16
|
+
export interface IEvent {
|
|
17
|
+
date: Date;
|
|
18
|
+
title: string;
|
|
19
|
+
color?: string;
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
}
|
|
22
|
+
export interface IEventGroup {
|
|
23
|
+
id: number;
|
|
24
|
+
label: string;
|
|
25
|
+
color?: string;
|
|
26
|
+
events: IEvent[];
|
|
27
|
+
}
|
|
28
|
+
export interface ICalendarSystemProps extends IUiComponent {
|
|
29
|
+
onCreateEvent?: () => void;
|
|
30
|
+
onChangeCalendarType?: (newType: string) => void;
|
|
31
|
+
createEventModalProps?: IModalProps;
|
|
32
|
+
eventBlock: {
|
|
33
|
+
title: string;
|
|
34
|
+
eventGroups: IEventGroup[];
|
|
35
|
+
};
|
|
36
|
+
[key: string]: any;
|
|
37
|
+
}
|
|
38
|
+
export interface ICalendarSystemViewProps extends Omit<ICalendarSystemProps, 'calendarGroups'> {
|
|
39
|
+
monthCalendarDays: IDay[];
|
|
40
|
+
currentWeekDays: IDay[];
|
|
41
|
+
allHours: string[];
|
|
42
|
+
calendarType: CalendarEnum;
|
|
43
|
+
dateToDisplay: string;
|
|
44
|
+
eventGroups: IEventGroup[];
|
|
45
|
+
eventGroupsTitle: string;
|
|
46
|
+
selectedCalendarGroupsIds: number[];
|
|
47
|
+
onChangeCalendarType: (newType: string) => void;
|
|
48
|
+
onMonthChange: (newDate: Date) => void;
|
|
49
|
+
applyControl: (event: React.MouseEvent<HTMLElement>) => void;
|
|
50
|
+
onClickCreate: VoidFunction;
|
|
51
|
+
getEventsFromDate: (dateFromDay: Date, isMonth: boolean) => IEvent[];
|
|
52
|
+
onChangeEventGroupsIds: (selectedIds: number[]) => void;
|
|
53
|
+
weekDays: string[];
|
|
54
|
+
}
|
|
55
|
+
export type ICalendarSystemModalViewProps = IModalProps;
|
|
56
|
+
export default function CalendarSystem(props: ICalendarSystemProps): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
exports.__esModule = true;
|
|
17
|
+
/* eslint-disable default-case */
|
|
18
|
+
/* eslint-disable no-unused-expressions */
|
|
19
|
+
/* eslint-disable no-plusplus */
|
|
20
|
+
var react_1 = __importDefault(require("react"));
|
|
21
|
+
var dayjs_1 = __importDefault(require("dayjs"));
|
|
22
|
+
var concat_1 = __importDefault(require("lodash-es/concat"));
|
|
23
|
+
var slice_1 = __importDefault(require("lodash-es/slice"));
|
|
24
|
+
var localeData_1 = __importDefault(require("dayjs/plugin/localeData"));
|
|
25
|
+
var upperFirst_1 = __importDefault(require("lodash-es/upperFirst"));
|
|
26
|
+
var modal_1 = require("../../../actions/modal");
|
|
27
|
+
var useCalendarControls_1 = __importDefault(require("./hooks/useCalendarControls"));
|
|
28
|
+
var useDisplayDate_1 = __importDefault(require("./hooks/useDisplayDate"));
|
|
29
|
+
var useMonthCalendar_1 = __importDefault(require("./hooks/useMonthCalendar"));
|
|
30
|
+
var hooks_1 = require("../../../hooks");
|
|
31
|
+
var addEventIfMatchDate_1 = require("./helpers/addEventIfMatchDate");
|
|
32
|
+
var CalendarType_1 = __importDefault(require("./enums/CalendarType"));
|
|
33
|
+
dayjs_1["default"].extend(localeData_1["default"]);
|
|
34
|
+
function CalendarSystem(props) {
|
|
35
|
+
var _a;
|
|
36
|
+
var components = (0, hooks_1.useComponents)();
|
|
37
|
+
var dispatch = (0, hooks_1.useDispatch)();
|
|
38
|
+
var _b = react_1["default"].useState(props.eventBlock.eventGroups || []), innerEventGroups = _b[0], _ = _b[1];
|
|
39
|
+
var _c = react_1["default"].useState([]), selectedEventGroupsIds = _c[0], setSelectedEventGroupsIds = _c[1];
|
|
40
|
+
var _d = (0, useDisplayDate_1["default"])(), dateToDisplay = _d.dateToDisplay, setNewDateToDisplay = _d.setNewDateToDisplay;
|
|
41
|
+
var _e = react_1["default"].useState(CalendarType_1["default"].MONTH), calendarType = _e[0], setCalendarType = _e[1];
|
|
42
|
+
var _f = (0, useMonthCalendar_1["default"])(), monthCalendarDays = _f.calendarArray, setCurrentMonthDate = _f.setCurrentMonthDate, currentMonthDate = _f.currentMonthDate;
|
|
43
|
+
var _g = (0, hooks_1.useWeekCalendar)(currentMonthDate), currentWeekDays = _g.currentWeek, weekControls = _g.weekControls, forceUpdateWeekOnMonthChange = _g.forceUpdateWeekOnMonthChange;
|
|
44
|
+
var applyControl = (0, useCalendarControls_1["default"])(calendarType, weekControls);
|
|
45
|
+
var onChangeCalendarType = react_1["default"].useCallback(function (newType) {
|
|
46
|
+
setCalendarType(newType);
|
|
47
|
+
if (props.onChangeCalendarType) {
|
|
48
|
+
props.onChangeCalendarType(newType);
|
|
49
|
+
}
|
|
50
|
+
}, [props]);
|
|
51
|
+
var onMonthChange = react_1["default"].useCallback(function (newDate) {
|
|
52
|
+
setNewDateToDisplay(newDate);
|
|
53
|
+
setCurrentMonthDate(newDate);
|
|
54
|
+
forceUpdateWeekOnMonthChange(newDate);
|
|
55
|
+
}, [forceUpdateWeekOnMonthChange, setCurrentMonthDate, setNewDateToDisplay]);
|
|
56
|
+
var getEventsFromDate = function (date, currentCalendarType) {
|
|
57
|
+
var eventsOnDate = [];
|
|
58
|
+
var dayjsDate = (0, dayjs_1["default"])(date);
|
|
59
|
+
var iterateEventGroups = function (callback) {
|
|
60
|
+
innerEventGroups.forEach(function (eventGroup) {
|
|
61
|
+
eventGroup.events.forEach(function (event) {
|
|
62
|
+
callback(event, eventGroup);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
switch (currentCalendarType) {
|
|
67
|
+
case CalendarType_1["default"].MONTH: {
|
|
68
|
+
iterateEventGroups(function (event, eventGroup) {
|
|
69
|
+
var eventDateDayJs = (0, dayjs_1["default"])(event.date);
|
|
70
|
+
(0, addEventIfMatchDate_1.addEventIfMatchDate)(eventDateDayJs, dayjsDate, eventGroup, event, 'day', selectedEventGroupsIds, eventsOnDate);
|
|
71
|
+
});
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
case CalendarType_1["default"].WEEK: {
|
|
75
|
+
iterateEventGroups(function (event, eventGroup) {
|
|
76
|
+
var eventDate = new Date(event.date);
|
|
77
|
+
eventDate.setHours(eventDate.getHours(), 0, 0, 0);
|
|
78
|
+
var eventDateDayJs = (0, dayjs_1["default"])(eventDate);
|
|
79
|
+
(0, addEventIfMatchDate_1.addEventIfMatchDate)(eventDateDayJs, dayjsDate, eventGroup, event, 'hours', selectedEventGroupsIds, eventsOnDate);
|
|
80
|
+
});
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// eslint-disable-next-line consistent-return
|
|
85
|
+
return eventsOnDate;
|
|
86
|
+
};
|
|
87
|
+
var weekDays = react_1["default"].useMemo(function () {
|
|
88
|
+
var unformattedDaysOfWeek = dayjs_1["default"].weekdaysMin();
|
|
89
|
+
return (0, concat_1["default"])((0, slice_1["default"])(unformattedDaysOfWeek, 1), unformattedDaysOfWeek[0]).map(function (weekDay) { return __("".concat((0, upperFirst_1["default"])(weekDay))); });
|
|
90
|
+
}, []);
|
|
91
|
+
var allHours = react_1["default"].useMemo(function () {
|
|
92
|
+
var hoursArray = [];
|
|
93
|
+
for (var i = 0; i < 24; i++) {
|
|
94
|
+
var formattedHour = (0, dayjs_1["default"])().startOf('day').add(i, 'hour').format('HH:00');
|
|
95
|
+
hoursArray.push(formattedHour);
|
|
96
|
+
}
|
|
97
|
+
return hoursArray;
|
|
98
|
+
}, []);
|
|
99
|
+
var createModalView = ((_a = props.createEventModalProps) === null || _a === void 0 ? void 0 : _a.component) || components.ui.getView('content.CalendarSystemModalView');
|
|
100
|
+
var createModalProps = react_1["default"].useMemo(function () { return (__assign(__assign({}, props.createEventModalProps), { component: createModalView })); }, [createModalView, props.createEventModalProps]);
|
|
101
|
+
var onClickCreate = react_1["default"].useCallback(function () {
|
|
102
|
+
dispatch((0, modal_1.openModal)(createModalView, createModalProps));
|
|
103
|
+
}, [createModalProps, createModalView, dispatch]);
|
|
104
|
+
return components.ui.renderView(props.view || 'content.CalendarSystemView', __assign(__assign({}, props), { dateToDisplay: dateToDisplay, monthCalendarDays: monthCalendarDays, calendarType: calendarType, currentWeekDays: currentWeekDays, createModalProps: createModalProps, eventGroups: innerEventGroups, eventGroupsTitle: props.eventBlock.title, allHours: allHours, selectedEventGroupsIds: selectedEventGroupsIds, onChangeCalendarType: onChangeCalendarType, onMonthChange: onMonthChange, applyControl: applyControl, onClickCreate: onClickCreate, getEventsFromDate: getEventsFromDate, onChangeEventGroupsIds: function (newSelectedEventGroupsIds) { return setSelectedEventGroupsIds(newSelectedEventGroupsIds); }, weekDays: weekDays }));
|
|
105
|
+
}
|
|
106
|
+
exports["default"] = CalendarSystem;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
20
|
+
exports.__esModule = true;
|
|
21
|
+
var Enum_1 = __importDefault(require("../../../../base/Enum"));
|
|
22
|
+
var CalendarType = /** @class */ (function (_super) {
|
|
23
|
+
__extends(CalendarType, _super);
|
|
24
|
+
function CalendarType() {
|
|
25
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
26
|
+
}
|
|
27
|
+
CalendarType.getLabels = function () {
|
|
28
|
+
var _a;
|
|
29
|
+
return _a = {},
|
|
30
|
+
_a[this.WEEK] = __('Неделя'),
|
|
31
|
+
_a[this.MONTH] = __('Месяц'),
|
|
32
|
+
_a;
|
|
33
|
+
};
|
|
34
|
+
CalendarType.WEEK = 'Week';
|
|
35
|
+
CalendarType.MONTH = 'Month';
|
|
36
|
+
return CalendarType;
|
|
37
|
+
}(Enum_1["default"]));
|
|
38
|
+
exports["default"] = CalendarType;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Enum from '../../../../base/Enum';
|
|
2
|
+
export default class DateControlType extends Enum {
|
|
3
|
+
static PREV_DOUBLE: string;
|
|
4
|
+
static PREV_ONE: string;
|
|
5
|
+
static NEXT_ONE: string;
|
|
6
|
+
static NEXT_DOUBLE: string;
|
|
7
|
+
static getIcons(): {
|
|
8
|
+
[x: string]: string;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
20
|
+
exports.__esModule = true;
|
|
21
|
+
var Enum_1 = __importDefault(require("../../../../base/Enum"));
|
|
22
|
+
var DateControlType = /** @class */ (function (_super) {
|
|
23
|
+
__extends(DateControlType, _super);
|
|
24
|
+
function DateControlType() {
|
|
25
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
26
|
+
}
|
|
27
|
+
DateControlType.getIcons = function () {
|
|
28
|
+
var _a;
|
|
29
|
+
return _a = {},
|
|
30
|
+
_a[this.PREV_DOUBLE] = 'double_arrow_left',
|
|
31
|
+
_a[this.PREV_ONE] = 'arrow_left_24x24',
|
|
32
|
+
_a[this.NEXT_ONE] = 'arrow_right_24x24',
|
|
33
|
+
_a[this.NEXT_DOUBLE] = 'double_arrow_right',
|
|
34
|
+
_a;
|
|
35
|
+
};
|
|
36
|
+
DateControlType.PREV_DOUBLE = 'PREV_DOUBLE';
|
|
37
|
+
DateControlType.PREV_ONE = 'PREV_ONE';
|
|
38
|
+
DateControlType.NEXT_ONE = 'NEXT_ONE';
|
|
39
|
+
DateControlType.NEXT_DOUBLE = 'NEXT_DOUBLE';
|
|
40
|
+
return DateControlType;
|
|
41
|
+
}(Enum_1["default"]));
|
|
42
|
+
exports["default"] = DateControlType;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
import { IEventGroup, IEvent } from '../CalendarSystem';
|
|
3
|
+
export declare const addEventIfMatchDate: (eventDateDayJs: dayjs.Dayjs, sourceDateInDayJs: dayjs.Dayjs, calendarGroup: IEventGroup, originalEvent: IEvent, unit: 'hours' | 'day', selectedEventGroupsIds: number[], resultEventsOnDate: IEvent[]) => void;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
exports.__esModule = true;
|
|
14
|
+
exports.addEventIfMatchDate = void 0;
|
|
15
|
+
var addEventIfMatchDate = function (eventDateDayJs, sourceDateInDayJs, calendarGroup, originalEvent, unit, selectedEventGroupsIds, resultEventsOnDate) {
|
|
16
|
+
var _a;
|
|
17
|
+
if (eventDateDayJs.isSame(sourceDateInDayJs, unit) && selectedEventGroupsIds.includes(calendarGroup.id)) {
|
|
18
|
+
resultEventsOnDate.push(__assign(__assign({}, originalEvent), { color: (_a = originalEvent.color) !== null && _a !== void 0 ? _a : calendarGroup.color }));
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
exports.addEventIfMatchDate = addEventIfMatchDate;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import CalendarEnum from '../enums/CalendarType';
|
|
3
|
+
import DateControlEnum from '../enums/DateControlType';
|
|
4
|
+
export declare const getSourceCalendarControl: (control: string) => HTMLElement;
|
|
5
|
+
declare const useCalendarControls: (calendarType: CalendarEnum, weekControls: {
|
|
6
|
+
[key: string]: () => void | DateControlEnum;
|
|
7
|
+
}) => (event: React.MouseEvent<HTMLElement>) => void;
|
|
8
|
+
export default useCalendarControls;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.getSourceCalendarControl = void 0;
|
|
7
|
+
/* eslint-disable no-unneeded-ternary */
|
|
8
|
+
/* eslint-disable default-case */
|
|
9
|
+
/* eslint-disable no-unused-expressions */
|
|
10
|
+
var react_1 = __importDefault(require("react"));
|
|
11
|
+
var isFunction_1 = __importDefault(require("lodash-es/isFunction"));
|
|
12
|
+
var get_1 = __importDefault(require("lodash-es/get"));
|
|
13
|
+
var CalendarType_1 = __importDefault(require("../enums/CalendarType"));
|
|
14
|
+
var CUSTOM_CONTROL_PATH = 'dataset.control';
|
|
15
|
+
var getSourceCalendarControl = function (control) { return document.querySelector("[data-sourcecontrol=\"".concat(control, "\"]")); };
|
|
16
|
+
exports.getSourceCalendarControl = getSourceCalendarControl;
|
|
17
|
+
var useCalendarControls = function (calendarType, weekControls) {
|
|
18
|
+
var getCustomControlType = function (event) {
|
|
19
|
+
var target = event.target;
|
|
20
|
+
var customControlType = (0, get_1["default"])(target, CUSTOM_CONTROL_PATH);
|
|
21
|
+
return customControlType ? customControlType : null;
|
|
22
|
+
};
|
|
23
|
+
var applyControl = react_1["default"].useCallback(function (event) {
|
|
24
|
+
var customControlType = getCustomControlType(event);
|
|
25
|
+
var sourceCalendarControl = (0, exports.getSourceCalendarControl)(customControlType);
|
|
26
|
+
if (!sourceCalendarControl) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
switch (calendarType) {
|
|
30
|
+
case CalendarType_1["default"].MONTH: {
|
|
31
|
+
sourceCalendarControl.click();
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
case CalendarType_1["default"].WEEK: {
|
|
35
|
+
if ((0, isFunction_1["default"])(weekControls[customControlType])) {
|
|
36
|
+
weekControls[customControlType]();
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
var sourceControlType = weekControls[customControlType];
|
|
40
|
+
(0, exports.getSourceCalendarControl)(sourceControlType).click();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}, [calendarType, weekControls]);
|
|
45
|
+
return applyControl;
|
|
46
|
+
};
|
|
47
|
+
exports["default"] = useCalendarControls;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.MONTH_CONVERT_FORMAT = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var upperFirst_1 = __importDefault(require("lodash-es/upperFirst"));
|
|
9
|
+
var calendar_1 = require("../../../../utils/calendar");
|
|
10
|
+
exports.MONTH_CONVERT_FORMAT = 'MMMM YYYY';
|
|
11
|
+
var getFirstDayOfCurrentMonth = function () {
|
|
12
|
+
var currentDate = new Date();
|
|
13
|
+
var firstDayOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1);
|
|
14
|
+
return firstDayOfMonth;
|
|
15
|
+
};
|
|
16
|
+
var convertDateToRequiredFormat = function (date) { return (0, calendar_1.convertDate)(date, null, exports.MONTH_CONVERT_FORMAT); };
|
|
17
|
+
var useDisplayDate = function () {
|
|
18
|
+
var _a = react_1["default"].useState((0, upperFirst_1["default"])(convertDateToRequiredFormat(getFirstDayOfCurrentMonth()))), dateToDisplay = _a[0], setDateToDisplay = _a[1];
|
|
19
|
+
var setNewDateToDisplay = function (newDate) {
|
|
20
|
+
setDateToDisplay(convertDateToRequiredFormat(newDate));
|
|
21
|
+
};
|
|
22
|
+
return {
|
|
23
|
+
dateToDisplay: dateToDisplay,
|
|
24
|
+
setNewDateToDisplay: setNewDateToDisplay
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
exports["default"] = useDisplayDate;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IDay } from '../CalendarSystem';
|
|
3
|
+
declare const useMonthCalendar: () => {
|
|
4
|
+
getCalendarArray: () => IDay[];
|
|
5
|
+
getCurrentMonthDataUTC: () => {
|
|
6
|
+
currentMonth: number;
|
|
7
|
+
lastDayOfCurrentMonth: number;
|
|
8
|
+
firstDayOfCurrentMonth: Date;
|
|
9
|
+
daysInCurrentMonth: any[];
|
|
10
|
+
};
|
|
11
|
+
getWeekFromDate: (date: Date) => IDay[];
|
|
12
|
+
calendarArray: IDay[];
|
|
13
|
+
setCurrentMonthDate: React.Dispatch<React.SetStateAction<Date>>;
|
|
14
|
+
currentMonthDate: Date;
|
|
15
|
+
};
|
|
16
|
+
export default useMonthCalendar;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
exports.__esModule = true;
|
|
17
|
+
/* eslint-disable no-plusplus */
|
|
18
|
+
/* eslint-disable import/order */
|
|
19
|
+
var react_1 = __importDefault(require("react"));
|
|
20
|
+
var utils_1 = require("../utils/utils");
|
|
21
|
+
var FIRST_DAY = 1;
|
|
22
|
+
var ONE_MONTH = 1;
|
|
23
|
+
var TOTAL_DAYS_IN_CALENDAR = 42;
|
|
24
|
+
var useMonthCalendar = function () {
|
|
25
|
+
var _a = react_1["default"].useState(null), currentMonthDate = _a[0], setCurrentMonthDate = _a[1];
|
|
26
|
+
var getCurrentMonthDataUTC = react_1["default"].useCallback(function () {
|
|
27
|
+
var currentYear = (currentMonthDate === null || currentMonthDate === void 0 ? void 0 : currentMonthDate.getFullYear()) || new Date().getFullYear();
|
|
28
|
+
var month = (currentMonthDate === null || currentMonthDate === void 0 ? void 0 : currentMonthDate.getMonth()) || new Date().getMonth();
|
|
29
|
+
var nextMonthFirstDay = new Date(currentYear, month + ONE_MONTH, FIRST_DAY);
|
|
30
|
+
var lastDayOfCurrentMonth = new Date(nextMonthFirstDay.getTime() - FIRST_DAY).getDate();
|
|
31
|
+
var firstDayOfCurrentMonth = new Date(Date.UTC(currentYear, month, FIRST_DAY));
|
|
32
|
+
if (currentMonthDate === null) {
|
|
33
|
+
setCurrentMonthDate(firstDayOfCurrentMonth);
|
|
34
|
+
}
|
|
35
|
+
var daysInCurrentMonth = [];
|
|
36
|
+
// Пройдемся по всем дням месяца и добавим их в массив
|
|
37
|
+
for (var dayNumber = 1; dayNumber <= lastDayOfCurrentMonth; dayNumber++) {
|
|
38
|
+
var date = new Date(Date.UTC(currentYear, month, dayNumber));
|
|
39
|
+
daysInCurrentMonth.push({ date: date, dayNumber: dayNumber });
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
currentMonth: month,
|
|
43
|
+
lastDayOfCurrentMonth: lastDayOfCurrentMonth,
|
|
44
|
+
firstDayOfCurrentMonth: firstDayOfCurrentMonth,
|
|
45
|
+
daysInCurrentMonth: daysInCurrentMonth
|
|
46
|
+
};
|
|
47
|
+
}, [currentMonthDate]);
|
|
48
|
+
var getCalendarArray = react_1["default"].useCallback(function () {
|
|
49
|
+
var calendarArray = [];
|
|
50
|
+
var _a = getCurrentMonthDataUTC(), firstDayOfCurrentMonth = _a.firstDayOfCurrentMonth, month = _a.currentMonth, daysInCurrentMonth = _a.daysInCurrentMonth;
|
|
51
|
+
var firstWeekInMonth = (0, utils_1.getWeekDaysFromDate)(firstDayOfCurrentMonth);
|
|
52
|
+
firstWeekInMonth.forEach(function (day) { return calendarArray.push({
|
|
53
|
+
date: day.date,
|
|
54
|
+
dayNumber: day.dayNumber,
|
|
55
|
+
outOfRange: day.date.getMonth() < month
|
|
56
|
+
}); });
|
|
57
|
+
daysInCurrentMonth.forEach(function (day) {
|
|
58
|
+
var existingDay = calendarArray.find(function (item) { return item.date.getTime() === day.date.getTime(); });
|
|
59
|
+
if (!existingDay) {
|
|
60
|
+
calendarArray.push({
|
|
61
|
+
date: day.date,
|
|
62
|
+
dayNumber: day.dayNumber,
|
|
63
|
+
outOfRange: false
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
var daysAfterCurrentMonth = TOTAL_DAYS_IN_CALENDAR - calendarArray.length;
|
|
68
|
+
for (var i = 1; i <= daysAfterCurrentMonth; i++) {
|
|
69
|
+
var currentDate = new Date(currentMonthDate === null || currentMonthDate === void 0 ? void 0 : currentMonthDate.getFullYear(), month + 1, i);
|
|
70
|
+
calendarArray.push({
|
|
71
|
+
date: currentDate,
|
|
72
|
+
dayNumber: currentDate.getDate(),
|
|
73
|
+
outOfRange: currentDate.getMonth() > month
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return calendarArray.map(function (day) { return (0, utils_1.isDateIsToday)(day.date) ? (__assign(__assign({}, day), { isToday: true })) : day; });
|
|
77
|
+
}, [currentMonthDate, getCurrentMonthDataUTC]);
|
|
78
|
+
return {
|
|
79
|
+
getCalendarArray: getCalendarArray,
|
|
80
|
+
getCurrentMonthDataUTC: getCurrentMonthDataUTC,
|
|
81
|
+
getWeekFromDate: utils_1.getWeekDaysFromDate,
|
|
82
|
+
calendarArray: getCalendarArray(),
|
|
83
|
+
setCurrentMonthDate: setCurrentMonthDate,
|
|
84
|
+
currentMonthDate: currentMonthDate
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
exports["default"] = useMonthCalendar;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import DateControlEnum from '../enums/DateControlType';
|
|
2
|
+
declare const useWeekCalendar: (currentMonthDate: Date) => {
|
|
3
|
+
currentWeek: {
|
|
4
|
+
dayNumber: number;
|
|
5
|
+
date: Date;
|
|
6
|
+
outOfRange?: boolean;
|
|
7
|
+
isToday?: boolean;
|
|
8
|
+
formattedDisplay?: string;
|
|
9
|
+
}[];
|
|
10
|
+
weekControls: {
|
|
11
|
+
[key: string]: () => void | DateControlEnum;
|
|
12
|
+
};
|
|
13
|
+
forceUpdateWeekOnMonthChange: (newMonthDate: Date) => void;
|
|
14
|
+
};
|
|
15
|
+
export default useWeekCalendar;
|