@consta/uikit 3.23.1 → 3.24.0
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/Attach/package.json +1 -1
- package/Attachment/package.json +1 -1
- package/Avatar/package.json +1 -1
- package/Badge/package.json +1 -1
- package/BasicSelectDeprecated/package.json +1 -1
- package/Breadcrumbs/package.json +1 -1
- package/BreadcrumbsCanary/package.json +1 -1
- package/Button/package.json +1 -1
- package/CHANGELOG.md +22 -9
- package/Calendar/package.json +1 -1
- package/Card/package.json +1 -1
- package/Checkbox/package.json +1 -1
- package/CheckboxGroup/package.json +1 -1
- package/CheckboxGroupCanary/es.js +1 -0
- package/CheckboxGroupCanary/index.d.ts +1 -0
- package/CheckboxGroupCanary/index.js +4 -0
- package/CheckboxGroupCanary/package.json +9 -0
- package/ChoiceGroup/package.json +1 -1
- package/ChoiceGroupCanary/es.js +1 -0
- package/ChoiceGroupCanary/index.d.ts +1 -0
- package/ChoiceGroupCanary/index.js +4 -0
- package/ChoiceGroupCanary/package.json +9 -0
- package/Collapse/package.json +1 -1
- package/CollapseGroup/package.json +1 -1
- package/Combobox/package.json +1 -1
- package/ComboboxDeprecated/package.json +1 -1
- package/ContextMenu/package.json +1 -1
- package/ContextMenuCanary/package.json +1 -1
- package/DatePickerCanary/package.json +1 -1
- package/DateTimeCanary/package.json +1 -1
- package/DragNDropField/package.json +1 -1
- package/EventInterceptor/package.json +1 -1
- package/FieldCaption/package.json +1 -1
- package/FieldLabel/package.json +1 -1
- package/File/package.json +1 -1
- package/FileField/package.json +1 -1
- package/FileIcon/package.json +1 -1
- package/FileIconAvi/package.json +1 -1
- package/FileIconBmp/package.json +1 -1
- package/FileIconCsv/package.json +1 -1
- package/FileIconDoc/package.json +1 -1
- package/FileIconExe/package.json +1 -1
- package/FileIconGif/package.json +1 -1
- package/FileIconJpg/package.json +1 -1
- package/FileIconJson/package.json +1 -1
- package/FileIconLoading/package.json +1 -1
- package/FileIconMov/package.json +1 -1
- package/FileIconMp3/package.json +1 -1
- package/FileIconMp4/package.json +1 -1
- package/FileIconPdf/package.json +1 -1
- package/FileIconPng/package.json +1 -1
- package/FileIconPpt/package.json +1 -1
- package/FileIconRar/package.json +1 -1
- package/FileIconRtf/package.json +1 -1
- package/FileIconTiff/package.json +1 -1
- package/FileIconTxt/package.json +1 -1
- package/FileIconUndefined/package.json +1 -1
- package/FileIconWav/package.json +1 -1
- package/FileIconXls/package.json +1 -1
- package/FileIconZip/package.json +1 -1
- package/Grid/package.json +1 -1
- package/Header/package.json +1 -1
- package/Icon/package.json +1 -1
- package/IconAdd/package.json +1 -1
- package/IconAddToComparison/package.json +1 -1
- package/IconAlert/package.json +1 -1
- package/IconAlignBlocksLeft/package.json +1 -1
- package/IconAlignBlocksRight/package.json +1 -1
- package/IconAlignCenter/package.json +1 -1
- package/IconAlignJustify/package.json +1 -1
- package/IconAlignLeft/package.json +1 -1
- package/IconAlignRight/package.json +1 -1
- package/IconAllDone/package.json +1 -1
- package/IconArrowDown/package.json +1 -1
- package/IconArrowLeft/package.json +1 -1
- package/IconArrowRight/package.json +1 -1
- package/IconArrowUp/package.json +1 -1
- package/IconArtBrush/package.json +1 -1
- package/IconAttach/package.json +1 -1
- package/IconBackward/package.json +1 -1
- package/IconBag/package.json +1 -1
- package/IconBarrier/package.json +1 -1
- package/IconBento/package.json +1 -1
- package/IconBold/package.json +1 -1
- package/IconBook/package.json +1 -1
- package/IconBookmarkFilled/package.json +1 -1
- package/IconBookmarkStroked/package.json +1 -1
- package/IconCalculator/package.json +1 -1
- package/IconCalendar/package.json +1 -1
- package/IconCamera/package.json +1 -1
- package/IconCancel/package.json +1 -1
- package/IconCards/package.json +1 -1
- package/IconChat/package.json +1 -1
- package/IconCheck/package.json +1 -1
- package/IconClose/package.json +1 -1
- package/IconCollapse/package.json +1 -1
- package/IconColorFill/package.json +1 -1
- package/IconColorText/package.json +1 -1
- package/IconColumns/package.json +1 -1
- package/IconComment/package.json +1 -1
- package/IconConnection/package.json +1 -1
- package/IconCopy/package.json +1 -1
- package/IconCrown/package.json +1 -1
- package/IconCursorMouse/package.json +1 -1
- package/IconDataNull/package.json +1 -1
- package/IconDiamond/package.json +1 -1
- package/IconDinosaur/package.json +1 -1
- package/IconDisconnection/package.json +1 -1
- package/IconDocAdd/package.json +1 -1
- package/IconDocBlank/package.json +1 -1
- package/IconDocDelete/package.json +1 -1
- package/IconDocExport/package.json +1 -1
- package/IconDocFilled/package.json +1 -1
- package/IconDown/package.json +1 -1
- package/IconDownload/package.json +1 -1
- package/IconDrag/package.json +1 -1
- package/IconDraggable/package.json +1 -1
- package/IconDrillingRig/package.json +1 -1
- package/IconDrop/package.json +1 -1
- package/IconEdit/package.json +1 -1
- package/IconExit/package.json +1 -1
- package/IconExpand/package.json +1 -1
- package/IconEye/package.json +1 -1
- package/IconEyeClose/package.json +1 -1
- package/IconFacebook/package.json +1 -1
- package/IconFavorite/package.json +1 -1
- package/IconFilter/package.json +1 -1
- package/IconFitToDefault/package.json +1 -1
- package/IconFlagFilled/package.json +1 -1
- package/IconFlagStroked/package.json +1 -1
- package/IconFolders/package.json +1 -1
- package/IconForward/package.json +1 -1
- package/IconFunnel/package.json +1 -1
- package/IconGas/package.json +1 -1
- package/IconGeo/package.json +1 -1
- package/IconGrouping/package.json +1 -1
- package/IconHamburger/package.json +1 -1
- package/IconHand/package.json +1 -1
- package/IconHealth/package.json +1 -1
- package/IconHome/package.json +1 -1
- package/IconInComparison/package.json +1 -1
- package/IconInfo/package.json +1 -1
- package/IconInstagram/package.json +1 -1
- package/IconIntroduction/package.json +1 -1
- package/IconIpad/package.json +1 -1
- package/IconItalic/package.json +1 -1
- package/IconKebab/package.json +1 -1
- package/IconLaptop/package.json +1 -1
- package/IconLayers/package.json +1 -1
- package/IconLeaf/package.json +1 -1
- package/IconLightningBolt/package.json +1 -1
- package/IconLineAndBarChart/package.json +1 -1
- package/IconLink/package.json +1 -1
- package/IconList/package.json +1 -1
- package/IconListNumbered/package.json +1 -1
- package/IconLock/package.json +1 -1
- package/IconLogicalElement/package.json +1 -1
- package/IconMBU/package.json +1 -1
- package/IconMGRP/package.json +1 -1
- package/IconMLSP/package.json +1 -1
- package/IconMMP/package.json +1 -1
- package/IconMail/package.json +1 -1
- package/IconMap/package.json +1 -1
- package/IconMaxHeight/package.json +1 -1
- package/IconMaxWidth/package.json +1 -1
- package/IconMeatball/package.json +1 -1
- package/IconMic/package.json +1 -1
- package/IconMolecules/package.json +1 -1
- package/IconMoon/package.json +1 -1
- package/IconNodeEnd/package.json +1 -1
- package/IconNodeStart/package.json +1 -1
- package/IconNodeStep/package.json +1 -1
- package/IconNodes/package.json +1 -1
- package/IconOpenInNew/package.json +1 -1
- package/IconOperators/package.json +1 -1
- package/IconPanelBottom/package.json +1 -1
- package/IconPanelLeft/package.json +1 -1
- package/IconPanelRight/package.json +1 -1
- package/IconPanelTop/package.json +1 -1
- package/IconPaste/package.json +1 -1
- package/IconPause/package.json +1 -1
- package/IconPhone/package.json +1 -1
- package/IconPhoto/package.json +1 -1
- package/IconPicture/package.json +1 -1
- package/IconPlay/package.json +1 -1
- package/IconPressure/package.json +1 -1
- package/IconPriceLabel/package.json +1 -1
- package/IconProcessing/package.json +1 -1
- package/IconQuestion/package.json +1 -1
- package/IconQuote/package.json +1 -1
- package/IconRUO/package.json +1 -1
- package/IconRUS/package.json +1 -1
- package/IconRecord/package.json +1 -1
- package/IconRemove/package.json +1 -1
- package/IconRemoveFromComparison/package.json +1 -1
- package/IconReply/package.json +1 -1
- package/IconResize/package.json +1 -1
- package/IconRestart/package.json +1 -1
- package/IconRevert/package.json +1 -1
- package/IconRing/package.json +1 -1
- package/IconRouble/package.json +1 -1
- package/IconRuler/package.json +1 -1
- package/IconSave/package.json +1 -1
- package/IconScreen/package.json +1 -1
- package/IconSearch/package.json +1 -1
- package/IconSelect/package.json +1 -1
- package/IconSelectOpen/package.json +1 -1
- package/IconSendMessage/package.json +1 -1
- package/IconSettings/package.json +1 -1
- package/IconShape/package.json +1 -1
- package/IconShuffle/package.json +1 -1
- package/IconSmile/package.json +1 -1
- package/IconSortDown/package.json +1 -1
- package/IconSortDownCenter/package.json +1 -1
- package/IconSortUp/package.json +1 -1
- package/IconSortUpCenter/package.json +1 -1
- package/IconStop/package.json +1 -1
- package/IconStorage/package.json +1 -1
- package/IconStrikethrough/package.json +1 -1
- package/IconSun/package.json +1 -1
- package/IconTable/package.json +1 -1
- package/IconTable2/package.json +1 -1
- package/IconTarget/package.json +1 -1
- package/IconTeam/package.json +1 -1
- package/IconTechResponse/package.json +1 -1
- package/IconTest/package.json +1 -1
- package/IconThumbUp/package.json +1 -1
- package/IconTie/package.json +1 -1
- package/IconTop/package.json +1 -1
- package/IconTrash/package.json +1 -1
- package/IconType/package.json +1 -1
- package/IconUnderline/package.json +1 -1
- package/IconUnlock/package.json +1 -1
- package/IconUnsort/package.json +1 -1
- package/IconUnsortCenter/package.json +1 -1
- package/IconUpload/package.json +1 -1
- package/IconUser/package.json +1 -1
- package/IconVZD/package.json +1 -1
- package/IconVideo/package.json +1 -1
- package/IconVkontakte/package.json +1 -1
- package/IconWarning/package.json +1 -1
- package/IconWatch/package.json +1 -1
- package/IconWideScreen/package.json +1 -1
- package/IconWorld/package.json +1 -1
- package/IconWrench/package.json +1 -1
- package/IconYandexDzen/package.json +1 -1
- package/IconYoutube/package.json +1 -1
- package/Informer/package.json +1 -1
- package/LayoutCanary/package.json +1 -1
- package/Loader/package.json +1 -1
- package/MixCard/package.json +1 -1
- package/MixFocus/package.json +1 -1
- package/MixPopoverAnimate/package.json +1 -1
- package/MixPopoverArrow/package.json +1 -1
- package/MixSpace/package.json +1 -1
- package/MixVisuallyHidden/package.json +1 -1
- package/Modal/package.json +1 -1
- package/MultiComboboxDeprecated/package.json +1 -1
- package/Pagination/package.json +1 -1
- package/Popover/package.json +1 -1
- package/PortalWithTheme/package.json +1 -1
- package/ProgressSpin/package.json +1 -1
- package/ProgressStepBarCanary/package.json +1 -1
- package/Radio/package.json +1 -1
- package/RadioGroup/package.json +1 -1
- package/Responses/package.json +1 -1
- package/Responses403/package.json +1 -1
- package/Responses404/package.json +1 -1
- package/Responses500/package.json +1 -1
- package/Responses503/package.json +1 -1
- package/ResponsesConnectionError/package.json +1 -1
- package/ResponsesDeleted/package.json +1 -1
- package/ResponsesEmptyBox/package.json +1 -1
- package/ResponsesEmptyPockets/package.json +1 -1
- package/ResponsesExit/package.json +1 -1
- package/ResponsesImage/package.json +1 -1
- package/ResponsesImage403/package.json +1 -1
- package/ResponsesImage404/package.json +1 -1
- package/ResponsesImage500/package.json +1 -1
- package/ResponsesImage503/package.json +1 -1
- package/ResponsesImageConnectionError/package.json +1 -1
- package/ResponsesImageDeleted/package.json +1 -1
- package/ResponsesImageEmptyBox/package.json +1 -1
- package/ResponsesImageEmptyPockets/package.json +1 -1
- package/ResponsesImageNothingFound/package.json +1 -1
- package/ResponsesImageSuccess/package.json +1 -1
- package/ResponsesNothingFound/package.json +1 -1
- package/ResponsesSuccess/package.json +1 -1
- package/Select/package.json +1 -1
- package/Sidebar/package.json +1 -1
- package/Skeleton/package.json +1 -1
- package/SliderCanary/package.json +1 -1
- package/SnackBar/package.json +1 -1
- package/Steps/package.json +1 -1
- package/StepsCanary/package.json +1 -1
- package/Switch/package.json +1 -1
- package/SwitchGroup/package.json +1 -1
- package/SwitchGroupCanary/es.js +1 -0
- package/SwitchGroupCanary/index.d.ts +1 -0
- package/SwitchGroupCanary/index.js +4 -0
- package/SwitchGroupCanary/package.json +9 -0
- package/Table/package.json +1 -1
- package/Tabs/package.json +1 -1
- package/TabsCanary/es.js +1 -0
- package/TabsCanary/index.d.ts +1 -0
- package/TabsCanary/index.js +4 -0
- package/TabsCanary/package.json +9 -0
- package/Tag/package.json +1 -1
- package/TagBase/package.json +1 -1
- package/Text/package.json +1 -1
- package/TextField/package.json +1 -1
- package/Theme/package.json +1 -1
- package/ThemeToggler/package.json +1 -1
- package/Timer/package.json +1 -1
- package/Tooltip/package.json +1 -1
- package/User/package.json +1 -1
- package/UserSelect/package.json +1 -1
- package/UserSelectDeprecated/package.json +1 -1
- package/__internal__/cjs-src/components/CheckboxGroupCanary/CheckboxGroup.css +35 -0
- package/__internal__/cjs-src/components/CheckboxGroupCanary/CheckboxGroupCanary.d.ts +5 -0
- package/__internal__/cjs-src/components/CheckboxGroupCanary/CheckboxGroupCanary.js +27 -0
- package/__internal__/cjs-src/components/CheckboxGroupCanary/helper.d.ts +274 -0
- package/__internal__/cjs-src/components/CheckboxGroupCanary/helper.js +11 -0
- package/__internal__/cjs-src/components/CheckboxGroupCanary/types.d.ts +38 -0
- package/__internal__/cjs-src/components/CheckboxGroupCanary/types.js +9 -0
- package/__internal__/cjs-src/components/ChoiceGroupCanary/ChoiceGroup.css +231 -0
- package/__internal__/cjs-src/components/ChoiceGroupCanary/ChoiceGroupCanary.d.ts +5 -0
- package/__internal__/cjs-src/components/ChoiceGroupCanary/ChoiceGroupCanary.js +43 -0
- package/__internal__/cjs-src/components/ChoiceGroupCanary/Item/ChoiceGroup-Item.d.ts +15 -0
- package/__internal__/cjs-src/components/ChoiceGroupCanary/Item/ChoiceGroup-Item.js +17 -0
- package/__internal__/cjs-src/components/ChoiceGroupCanary/helper.d.ts +277 -0
- package/__internal__/cjs-src/components/ChoiceGroupCanary/helper.js +12 -0
- package/__internal__/cjs-src/components/ChoiceGroupCanary/types.d.ts +63 -0
- package/__internal__/cjs-src/components/ChoiceGroupCanary/types.js +11 -0
- package/__internal__/cjs-src/components/DatePickerCanary/DatePickerAdditionalControls/DatePickerAdditionalControls.css +36 -0
- package/__internal__/cjs-src/components/DatePickerCanary/DatePickerAdditionalControls/DatePickerAdditionalControls.d.ts +12 -0
- package/__internal__/cjs-src/components/DatePickerCanary/DatePickerAdditionalControls/DatePickerAdditionalControls.js +21 -0
- package/__internal__/cjs-src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.d.ts +5 -5
- package/__internal__/cjs-src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.js +18 -2
- package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeDate/DatePickerTypeDate.js +22 -17
- package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeDateRange/DatePickerTypeDateRange.js +23 -22
- package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeDateTime/DatePickerTypeDateTime.js +21 -16
- package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +19 -18
- package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeMonth/DatePickerTypeMonth.js +26 -20
- package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +32 -30
- package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeTime/DatePickerTypeTime.js +7 -6
- package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeYear/DatePickerTypeYear.js +22 -17
- package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeYearRange/DatePickerTypeYearRange.js +21 -20
- package/__internal__/cjs-src/components/DatePickerCanary/helpers.d.ts +2 -0
- package/__internal__/cjs-src/components/DatePickerCanary/helpers.js +4 -1
- package/__internal__/cjs-src/components/DatePickerCanary/types.d.ts +8 -2
- package/__internal__/cjs-src/components/DatePickerCanary/types.js +3 -1
- package/__internal__/cjs-src/components/DatePickerCanary/useCurrentVisibleDate.d.ts +5 -2
- package/__internal__/cjs-src/components/DatePickerCanary/useCurrentVisibleDate.js +8 -5
- package/__internal__/cjs-src/components/DateTimeCanary/DateTimeSlider/DateTimeSlider.css +1 -1
- package/__internal__/cjs-src/components/DateTimeCanary/DateTimeTypeDate/DateTimeTypeDate.js +13 -17
- package/__internal__/cjs-src/components/DateTimeCanary/DateTimeTypeDateTime/DateTimeTypeDateTime.js +3 -5
- package/__internal__/cjs-src/components/DateTimeCanary/DateTimeTypeMonth/DateTimeTypeMonth.js +4 -8
- package/__internal__/cjs-src/components/DateTimeCanary/DateTimeTypeTime/DateTimeTypeTime.js +2 -4
- package/__internal__/cjs-src/components/DateTimeCanary/DateTimeTypeYear/DateTimeTypeYear.js +10 -15
- package/__internal__/cjs-src/components/DateTimeCanary/helpers/types.d.ts +0 -6
- package/__internal__/cjs-src/components/DateTimeCanary/helpers/useCurrentVisibleDate.d.ts +6 -2
- package/__internal__/cjs-src/components/DateTimeCanary/helpers/useCurrentVisibleDate.js +8 -5
- package/__internal__/cjs-src/components/Popover/Popover.css +36 -2
- package/__internal__/cjs-src/components/Popover/Popover.js +1 -6
- package/__internal__/cjs-src/components/Popover/helpers.d.ts +2 -3
- package/__internal__/cjs-src/components/Popover/helpers.js +6 -8
- package/__internal__/cjs-src/components/RadioGroupCanary/RadioGroup.css +35 -0
- package/__internal__/cjs-src/components/RadioGroupCanary/RadioGroupCannary.d.ts +5 -0
- package/__internal__/cjs-src/components/RadioGroupCanary/RadioGroupCannary.js +27 -0
- package/__internal__/cjs-src/components/RadioGroupCanary/helper.d.ts +275 -0
- package/__internal__/cjs-src/components/RadioGroupCanary/helper.js +9 -0
- package/__internal__/cjs-src/components/RadioGroupCanary/types.d.ts +42 -0
- package/__internal__/cjs-src/components/RadioGroupCanary/types.js +11 -0
- package/__internal__/cjs-src/components/SwitchGroupCanary/SwitchGroup.css +35 -0
- package/__internal__/cjs-src/components/SwitchGroupCanary/SwitchGroupCanary.d.ts +5 -0
- package/__internal__/cjs-src/components/SwitchGroupCanary/SwitchGroupCanary.js +27 -0
- package/__internal__/cjs-src/components/SwitchGroupCanary/helpers.d.ts +274 -0
- package/__internal__/cjs-src/components/SwitchGroupCanary/helpers.js +11 -0
- package/__internal__/cjs-src/components/SwitchGroupCanary/types.d.ts +38 -0
- package/__internal__/cjs-src/components/SwitchGroupCanary/types.js +9 -0
- package/__internal__/cjs-src/components/TabsCanary/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.css +24 -0
- package/__internal__/cjs-src/components/TabsCanary/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.d.ts +4 -0
- package/__internal__/cjs-src/components/TabsCanary/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.js +40 -0
- package/__internal__/cjs-src/components/TabsCanary/FitModeDropdownWrapper/useFittingItems.d.ts +15 -0
- package/__internal__/cjs-src/components/TabsCanary/FitModeDropdownWrapper/useFittingItems.js +51 -0
- package/__internal__/cjs-src/components/TabsCanary/FitModeScrollWrapper/TabsFitModeScrollWrapper.css +57 -0
- package/__internal__/cjs-src/components/TabsCanary/FitModeScrollWrapper/TabsFitModeScrollWrapper.d.ts +4 -0
- package/__internal__/cjs-src/components/TabsCanary/FitModeScrollWrapper/TabsFitModeScrollWrapper.js +66 -0
- package/__internal__/cjs-src/components/TabsCanary/Line/TabsLine.css +51 -0
- package/__internal__/cjs-src/components/TabsCanary/Line/TabsLine.d.ts +11 -0
- package/__internal__/cjs-src/components/TabsCanary/Line/TabsLine.js +30 -0
- package/__internal__/cjs-src/components/TabsCanary/MoreItems/TabsMoreItems.css +45 -0
- package/__internal__/cjs-src/components/TabsCanary/MoreItems/TabsMoreItems.d.ts +3 -0
- package/__internal__/cjs-src/components/TabsCanary/MoreItems/TabsMoreItems.js +52 -0
- package/__internal__/cjs-src/components/TabsCanary/Tab/TabsTab.css +69 -0
- package/__internal__/cjs-src/components/TabsCanary/Tab/TabsTab.d.ts +5 -0
- package/__internal__/cjs-src/components/TabsCanary/Tab/TabsTab.js +21 -0
- package/__internal__/cjs-src/components/TabsCanary/Tabs.css +57 -0
- package/__internal__/cjs-src/components/TabsCanary/TabsCanary.d.ts +7 -0
- package/__internal__/cjs-src/components/TabsCanary/TabsCanary.js +71 -0
- package/__internal__/cjs-src/components/TabsCanary/helpers.d.ts +552 -0
- package/__internal__/cjs-src/components/TabsCanary/helpers.js +51 -0
- package/__internal__/cjs-src/components/TabsCanary/types.d.ts +97 -0
- package/__internal__/cjs-src/components/TabsCanary/types.js +11 -0
- package/__internal__/cjs-src/utils/getByMap.d.ts +1 -1
- package/__internal__/cjs-src/utils/getByMap.js +4 -4
- package/__internal__/cjs-src/utils/getGroups.js +5 -1
- package/__internal__/src/components/CheckboxGroupCanary/CheckboxGroup.css +35 -0
- package/__internal__/src/components/CheckboxGroupCanary/CheckboxGroupCanary.d.ts +5 -0
- package/__internal__/src/components/CheckboxGroupCanary/CheckboxGroupCanary.js +24 -0
- package/__internal__/src/components/CheckboxGroupCanary/helper.d.ts +274 -0
- package/__internal__/src/components/CheckboxGroupCanary/helper.js +8 -0
- package/__internal__/src/components/CheckboxGroupCanary/types.d.ts +38 -0
- package/__internal__/src/components/CheckboxGroupCanary/types.js +6 -0
- package/__internal__/src/components/ChoiceGroupCanary/ChoiceGroup.css +231 -0
- package/__internal__/src/components/ChoiceGroupCanary/ChoiceGroupCanary.d.ts +5 -0
- package/__internal__/src/components/ChoiceGroupCanary/ChoiceGroupCanary.js +40 -0
- package/__internal__/src/components/ChoiceGroupCanary/Item/ChoiceGroup-Item.d.ts +15 -0
- package/__internal__/src/components/ChoiceGroupCanary/Item/ChoiceGroup-Item.js +14 -0
- package/__internal__/src/components/ChoiceGroupCanary/helper.d.ts +277 -0
- package/__internal__/src/components/ChoiceGroupCanary/helper.js +9 -0
- package/__internal__/src/components/ChoiceGroupCanary/types.d.ts +63 -0
- package/__internal__/src/components/ChoiceGroupCanary/types.js +8 -0
- package/__internal__/src/components/DatePickerCanary/DatePickerAdditionalControls/DatePickerAdditionalControls.css +36 -0
- package/__internal__/src/components/DatePickerCanary/DatePickerAdditionalControls/DatePickerAdditionalControls.d.ts +12 -0
- package/__internal__/src/components/DatePickerCanary/DatePickerAdditionalControls/DatePickerAdditionalControls.js +18 -0
- package/__internal__/src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.d.ts +5 -5
- package/__internal__/src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.js +19 -3
- package/__internal__/src/components/DatePickerCanary/DatePickerTypeDate/DatePickerTypeDate.js +23 -18
- package/__internal__/src/components/DatePickerCanary/DatePickerTypeDateRange/DatePickerTypeDateRange.js +25 -24
- package/__internal__/src/components/DatePickerCanary/DatePickerTypeDateTime/DatePickerTypeDateTime.js +23 -18
- package/__internal__/src/components/DatePickerCanary/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +21 -20
- package/__internal__/src/components/DatePickerCanary/DatePickerTypeMonth/DatePickerTypeMonth.js +25 -19
- package/__internal__/src/components/DatePickerCanary/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +30 -28
- package/__internal__/src/components/DatePickerCanary/DatePickerTypeTime/DatePickerTypeTime.js +8 -7
- package/__internal__/src/components/DatePickerCanary/DatePickerTypeYear/DatePickerTypeYear.js +23 -18
- package/__internal__/src/components/DatePickerCanary/DatePickerTypeYearRange/DatePickerTypeYearRange.js +22 -21
- package/__internal__/src/components/DatePickerCanary/helpers.d.ts +2 -0
- package/__internal__/src/components/DatePickerCanary/helpers.js +3 -0
- package/__internal__/src/components/DatePickerCanary/types.d.ts +8 -2
- package/__internal__/src/components/DatePickerCanary/types.js +2 -0
- package/__internal__/src/components/DatePickerCanary/useCurrentVisibleDate.d.ts +5 -2
- package/__internal__/src/components/DatePickerCanary/useCurrentVisibleDate.js +9 -6
- package/__internal__/src/components/DateTimeCanary/DateTimeSlider/DateTimeSlider.css +1 -1
- package/__internal__/src/components/DateTimeCanary/DateTimeTypeDate/DateTimeTypeDate.js +13 -17
- package/__internal__/src/components/DateTimeCanary/DateTimeTypeDateTime/DateTimeTypeDateTime.js +3 -5
- package/__internal__/src/components/DateTimeCanary/DateTimeTypeMonth/DateTimeTypeMonth.js +4 -8
- package/__internal__/src/components/DateTimeCanary/DateTimeTypeTime/DateTimeTypeTime.js +2 -4
- package/__internal__/src/components/DateTimeCanary/DateTimeTypeYear/DateTimeTypeYear.js +10 -15
- package/__internal__/src/components/DateTimeCanary/helpers/types.d.ts +0 -6
- package/__internal__/src/components/DateTimeCanary/helpers/useCurrentVisibleDate.d.ts +6 -2
- package/__internal__/src/components/DateTimeCanary/helpers/useCurrentVisibleDate.js +7 -4
- package/__internal__/src/components/Popover/Popover.css +36 -2
- package/__internal__/src/components/Popover/Popover.js +1 -6
- package/__internal__/src/components/Popover/helpers.d.ts +2 -3
- package/__internal__/src/components/Popover/helpers.js +6 -8
- package/__internal__/src/components/RadioGroupCanary/RadioGroup.css +35 -0
- package/__internal__/src/components/RadioGroupCanary/RadioGroupCannary.d.ts +5 -0
- package/__internal__/src/components/RadioGroupCanary/RadioGroupCannary.js +24 -0
- package/__internal__/src/components/RadioGroupCanary/helper.d.ts +275 -0
- package/__internal__/src/components/RadioGroupCanary/helper.js +6 -0
- package/__internal__/src/components/RadioGroupCanary/types.d.ts +42 -0
- package/__internal__/src/components/RadioGroupCanary/types.js +8 -0
- package/__internal__/src/components/SwitchGroupCanary/SwitchGroup.css +35 -0
- package/__internal__/src/components/SwitchGroupCanary/SwitchGroupCanary.d.ts +5 -0
- package/__internal__/src/components/SwitchGroupCanary/SwitchGroupCanary.js +24 -0
- package/__internal__/src/components/SwitchGroupCanary/helpers.d.ts +274 -0
- package/__internal__/src/components/SwitchGroupCanary/helpers.js +8 -0
- package/__internal__/src/components/SwitchGroupCanary/types.d.ts +38 -0
- package/__internal__/src/components/SwitchGroupCanary/types.js +6 -0
- package/__internal__/src/components/TabsCanary/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.css +24 -0
- package/__internal__/src/components/TabsCanary/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.d.ts +4 -0
- package/__internal__/src/components/TabsCanary/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.js +37 -0
- package/__internal__/src/components/TabsCanary/FitModeDropdownWrapper/useFittingItems.d.ts +15 -0
- package/__internal__/src/components/TabsCanary/FitModeDropdownWrapper/useFittingItems.js +48 -0
- package/__internal__/src/components/TabsCanary/FitModeScrollWrapper/TabsFitModeScrollWrapper.css +57 -0
- package/__internal__/src/components/TabsCanary/FitModeScrollWrapper/TabsFitModeScrollWrapper.d.ts +4 -0
- package/__internal__/src/components/TabsCanary/FitModeScrollWrapper/TabsFitModeScrollWrapper.js +63 -0
- package/__internal__/src/components/TabsCanary/Line/TabsLine.css +51 -0
- package/__internal__/src/components/TabsCanary/Line/TabsLine.d.ts +11 -0
- package/__internal__/src/components/TabsCanary/Line/TabsLine.js +26 -0
- package/__internal__/src/components/TabsCanary/MoreItems/TabsMoreItems.css +45 -0
- package/__internal__/src/components/TabsCanary/MoreItems/TabsMoreItems.d.ts +3 -0
- package/__internal__/src/components/TabsCanary/MoreItems/TabsMoreItems.js +49 -0
- package/__internal__/src/components/TabsCanary/Tab/TabsTab.css +69 -0
- package/__internal__/src/components/TabsCanary/Tab/TabsTab.d.ts +5 -0
- package/__internal__/src/components/TabsCanary/Tab/TabsTab.js +17 -0
- package/__internal__/src/components/TabsCanary/Tabs.css +57 -0
- package/__internal__/src/components/TabsCanary/TabsCanary.d.ts +7 -0
- package/__internal__/src/components/TabsCanary/TabsCanary.js +67 -0
- package/__internal__/src/components/TabsCanary/helpers.d.ts +552 -0
- package/__internal__/src/components/TabsCanary/helpers.js +48 -0
- package/__internal__/src/components/TabsCanary/types.d.ts +97 -0
- package/__internal__/src/components/TabsCanary/types.js +8 -0
- package/__internal__/src/utils/getByMap.d.ts +1 -1
- package/__internal__/src/utils/getByMap.js +4 -4
- package/__internal__/src/utils/getGroups.js +5 -1
- package/createIcon/package.json +1 -1
- package/createResponsesImage/package.json +1 -1
- package/package.json +5 -1
- package/useBreakpoints/package.json +1 -1
- package/useChoiceGroup/package.json +1 -1
- package/useChoiceGroupIndexed/package.json +1 -1
- package/useClickOutside/package.json +1 -1
- package/useComponentSize/package.json +1 -1
- package/useDebounce/package.json +1 -1
- package/useFlag/package.json +1 -1
- package/useForkRef/package.json +1 -1
- package/useGlobalKeys/package.json +1 -1
- package/useHideElementsInLine/package.json +1 -1
- package/useKeys/package.json +1 -1
- package/useMutableRef/package.json +1 -1
- package/useOverflow/package.json +1 -1
- package/usePrevious/package.json +1 -1
- package/useRefs/package.json +1 -1
- package/useResizeObserved/package.json +1 -1
- package/useScrollElements/package.json +1 -1
- package/useScrollPosition/package.json +1 -1
- package/useSelect/package.json +1 -1
- package/useSortSteps/package.json +1 -1
- package/useThemeVars/package.json +1 -1
- package/useTimer/package.json +1 -1
- package/withTooltip/package.json +1 -1
- package/__internal__/cjs-src/components/DateTimeCanary/DateTimeAdditionalControls/DateTimeAdditionalControls.css +0 -9
- package/__internal__/cjs-src/components/DateTimeCanary/DateTimeAdditionalControls/DateTimeAdditionalControls.d.ts +0 -9
- package/__internal__/cjs-src/components/DateTimeCanary/DateTimeAdditionalControls/DateTimeAdditionalControls.js +0 -21
- package/__internal__/src/components/DateTimeCanary/DateTimeAdditionalControls/DateTimeAdditionalControls.css +0 -9
- package/__internal__/src/components/DateTimeCanary/DateTimeAdditionalControls/DateTimeAdditionalControls.d.ts +0 -9
- package/__internal__/src/components/DateTimeCanary/DateTimeAdditionalControls/DateTimeAdditionalControls.js +0 -17
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { IconComponent, IconPropSize } from '../../icons/Icon/Icon';
|
|
3
|
+
import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
|
|
4
|
+
export declare type ChoiceGroupDefaultItem = {
|
|
5
|
+
label: string;
|
|
6
|
+
icon?: IconComponent;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const choiceGroupForms: readonly ["default", "brick", "round"];
|
|
10
|
+
export declare type ChoiceGroupPropForm = typeof choiceGroupForms[number];
|
|
11
|
+
export declare const choiceGroupDefaultForm: ChoiceGroupPropForm;
|
|
12
|
+
export declare const choiceGroupSizes: readonly ["xs", "s", "m", "l"];
|
|
13
|
+
export declare type ChoiceGroupPropSize = typeof choiceGroupSizes[number];
|
|
14
|
+
export declare const choiceGroupDefaultSize: ChoiceGroupPropSize;
|
|
15
|
+
export declare const choiceGroupViews: readonly ["primary", "ghost", "secondary"];
|
|
16
|
+
export declare type ChoiceGroupPropView = typeof choiceGroupViews[number];
|
|
17
|
+
export declare const choiceGroupDefaultView: ChoiceGroupPropView;
|
|
18
|
+
export declare const choiceGroupWidth: readonly ["default", "full"];
|
|
19
|
+
export declare type СhoiceGroupPropWidth = typeof choiceGroupWidth[number];
|
|
20
|
+
export declare const choiceGroupWidthDefault: СhoiceGroupPropWidth;
|
|
21
|
+
export declare type ChoiceGroupPropGetItemLabel<ITEM> = (item: ITEM) => string | number;
|
|
22
|
+
export declare type ChoiceGroupPropGetItemIcon<ITEM> = (item: ITEM) => IconComponent | undefined;
|
|
23
|
+
export declare type ChoiceGroupPropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;
|
|
24
|
+
export declare type ChoiceGroupPropValue<ITEM, MULTIPLE extends boolean> = (MULTIPLE extends true ? ITEM[] : ITEM) | null;
|
|
25
|
+
export declare type ChoiceGroupPropOnChange<ITEM, MULTIPLE extends boolean> = (props: {
|
|
26
|
+
e: React.ChangeEvent<HTMLInputElement>;
|
|
27
|
+
value: MULTIPLE extends true ? ITEM[] | null : ITEM;
|
|
28
|
+
}) => void;
|
|
29
|
+
export declare type ChoiceGroupProps<ITEM = ChoiceGroupDefaultItem, MULTIPLE extends boolean = false> = PropsWithHTMLAttributesAndRef<{
|
|
30
|
+
size?: ChoiceGroupPropSize;
|
|
31
|
+
form?: ChoiceGroupPropForm;
|
|
32
|
+
view?: ChoiceGroupPropView;
|
|
33
|
+
width?: СhoiceGroupPropWidth;
|
|
34
|
+
onlyIcon?: boolean;
|
|
35
|
+
iconSize?: IconPropSize;
|
|
36
|
+
items: ITEM[];
|
|
37
|
+
getItemLabel?: ChoiceGroupPropGetItemLabel<ITEM>;
|
|
38
|
+
getItemIcon?: ChoiceGroupPropGetItemIcon<ITEM>;
|
|
39
|
+
name: string;
|
|
40
|
+
disabled?: boolean;
|
|
41
|
+
getItemDisabled?: ChoiceGroupPropGetItemDisabled<ITEM>;
|
|
42
|
+
value?: ChoiceGroupPropValue<ITEM, MULTIPLE>;
|
|
43
|
+
onChange?: ChoiceGroupPropOnChange<ITEM, MULTIPLE>;
|
|
44
|
+
multiple?: MULTIPLE;
|
|
45
|
+
truncate?: boolean;
|
|
46
|
+
children?: never;
|
|
47
|
+
}, HTMLDivElement> & (ITEM extends {
|
|
48
|
+
label: ChoiceGroupDefaultItem['label'];
|
|
49
|
+
} ? {} : {
|
|
50
|
+
getItemLabel: ChoiceGroupPropGetItemLabel<ITEM>;
|
|
51
|
+
});
|
|
52
|
+
export declare type ChoiceGroupItemProps = {
|
|
53
|
+
icon?: IconComponent;
|
|
54
|
+
onlyIcon?: boolean;
|
|
55
|
+
iconSize?: IconPropSize;
|
|
56
|
+
label: string;
|
|
57
|
+
name: string;
|
|
58
|
+
onChange: React.ChangeEventHandler<HTMLInputElement>;
|
|
59
|
+
checked: boolean;
|
|
60
|
+
multiple: boolean;
|
|
61
|
+
disabled?: boolean;
|
|
62
|
+
};
|
|
63
|
+
export declare type ChoiceGroupComponent = <ITEM, MULTIPLE extends boolean = false>(props: ChoiceGroupProps<ITEM, MULTIPLE>) => React.ReactElement | null;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export var choiceGroupForms = ['default', 'brick', 'round'];
|
|
2
|
+
export var choiceGroupDefaultForm = 'default';
|
|
3
|
+
export var choiceGroupSizes = ['xs', 's', 'm', 'l'];
|
|
4
|
+
export var choiceGroupDefaultSize = 'm';
|
|
5
|
+
export var choiceGroupViews = ['primary', 'ghost', 'secondary'];
|
|
6
|
+
export var choiceGroupDefaultView = 'primary';
|
|
7
|
+
export var choiceGroupWidth = ['default', 'full'];
|
|
8
|
+
export var choiceGroupWidthDefault = choiceGroupWidth[0];
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
.DatePickerAdditionalControls {
|
|
2
|
+
--date-picker-cell-width: calc(var(--control-height-s) + (var(--space-3xs) * 2));
|
|
3
|
+
padding-top: var(--space-l);
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.DatePickerAdditionalControls_type_date.DatePickerAdditionalControls_view_classic,
|
|
7
|
+
.DatePickerAdditionalControls_type_year.DatePickerAdditionalControls_view_classic,
|
|
8
|
+
.DatePickerAdditionalControls_type_month.DatePickerAdditionalControls_view_classic {
|
|
9
|
+
width: calc(var(--date-picker-cell-width) * 7);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.DatePickerAdditionalControls_type_date.DatePickerAdditionalControls_view_book,
|
|
13
|
+
.DatePickerAdditionalControls_type_year.DatePickerAdditionalControls_view_book,
|
|
14
|
+
.DatePickerAdditionalControls_type_month.DatePickerAdditionalControls_view_book,
|
|
15
|
+
.DatePickerAdditionalControls_type_date.DatePickerAdditionalControls_view_slider,
|
|
16
|
+
.DatePickerAdditionalControls_type_year.DatePickerAdditionalControls_view_slider,
|
|
17
|
+
.DatePickerAdditionalControls_type_month.DatePickerAdditionalControls_view_slider {
|
|
18
|
+
width: calc(var(--date-picker-cell-width) * 14 + var(--space-m));
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.DatePickerAdditionalControls_type_time {
|
|
22
|
+
width: calc(var(--date-picker-cell-width) * 3);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.DatePickerAdditionalControls_type_date-time {
|
|
26
|
+
width: calc(var(--date-picker-cell-width) * 10 + var(--space-s) * 2);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.DatePickerAdditionalControls_contentType_array {
|
|
30
|
+
display: -webkit-box;
|
|
31
|
+
display: -ms-flexbox;
|
|
32
|
+
display: flex;
|
|
33
|
+
gap: var(--space-s);
|
|
34
|
+
-ms-flex-wrap: wrap;
|
|
35
|
+
flex-wrap: wrap;
|
|
36
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import './DatePickerAdditionalControls.css';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { PropsWithHTMLAttributes } from '../../../utils/types/PropsWithHTMLAttributes';
|
|
4
|
+
import { DatePickerAdditionalControlRenderProp, DatePickerPropDateTimeView, DatePickerPropType } from '../types';
|
|
5
|
+
declare type Props = PropsWithHTMLAttributes<{
|
|
6
|
+
renderAdditionalControls?: DatePickerAdditionalControlRenderProp;
|
|
7
|
+
currentVisibleDate?: Date;
|
|
8
|
+
type: DatePickerPropType;
|
|
9
|
+
view: DatePickerPropDateTimeView;
|
|
10
|
+
}, HTMLDivElement>;
|
|
11
|
+
export declare const DatePickerAdditionalControls: React.FC<Props>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
import './DatePickerAdditionalControls.css';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { cn } from '../../../utils/bem';
|
|
5
|
+
function isRenderFn(fn) {
|
|
6
|
+
return fn.call !== undefined;
|
|
7
|
+
}
|
|
8
|
+
var cnDatePickerAdditionalControls = cn('DatePickerAdditionalControls');
|
|
9
|
+
export var DatePickerAdditionalControls = function (props) {
|
|
10
|
+
var renderAdditionalControls = props.renderAdditionalControls, currentVisibleDate = props.currentVisibleDate, className = props.className, type = props.type, view = props.view, otherProps = __rest(props, ["renderAdditionalControls", "currentVisibleDate", "className", "type", "view"]);
|
|
11
|
+
if (typeof renderAdditionalControls !== 'undefined') {
|
|
12
|
+
var content = isRenderFn(renderAdditionalControls)
|
|
13
|
+
? renderAdditionalControls({ currentVisibleDate: currentVisibleDate })
|
|
14
|
+
: renderAdditionalControls;
|
|
15
|
+
return (React.createElement("div", __assign({}, otherProps, { className: cnDatePickerAdditionalControls({ type: type, view: view, contentType: Array.isArray(content) && 'array' }, [className]) }), content));
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
};
|
package/__internal__/src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.d.ts
CHANGED
|
@@ -2,26 +2,26 @@ import './DatePickerDropdown.css';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { DateRange } from '../../../utils/types/Date';
|
|
4
4
|
import { PropsWithHTMLAttributesAndRef } from '../../../utils/types/PropsWithHTMLAttributes';
|
|
5
|
-
import {
|
|
6
|
-
import { DatePickerPropDateTimeView, DatePickerPropDropdownForm } from '../types';
|
|
5
|
+
import { DateTimePropOnChange, DateTimePropType } from '../../DateTimeCanary/DateTimeCanary';
|
|
6
|
+
import { DatePickerAdditionalControlRenderProp, DatePickerPropDateTimeView, DatePickerPropDropdownForm } from '../types';
|
|
7
7
|
export declare type DatePickerDropdownPropOnChange = DateTimePropOnChange;
|
|
8
8
|
export declare type DatePickerDropdownProps = PropsWithHTMLAttributesAndRef<{
|
|
9
9
|
anchorRef: React.RefObject<HTMLElement>;
|
|
10
10
|
currentVisibleDate?: Date;
|
|
11
|
-
type
|
|
11
|
+
type: DateTimePropType;
|
|
12
12
|
value?: Date | DateRange;
|
|
13
13
|
onChange?: DatePickerDropdownPropOnChange;
|
|
14
14
|
minDate?: Date;
|
|
15
15
|
maxDate?: Date;
|
|
16
16
|
events?: Date[];
|
|
17
|
-
view
|
|
17
|
+
view: DatePickerPropDateTimeView;
|
|
18
18
|
locale?: Locale;
|
|
19
19
|
children?: never;
|
|
20
20
|
form?: DatePickerPropDropdownForm;
|
|
21
21
|
isOpen?: boolean;
|
|
22
22
|
onChangeCurrentVisibleDate?: (date: Date) => void;
|
|
23
23
|
zIndex?: number;
|
|
24
|
-
renderAdditionalControls?:
|
|
24
|
+
renderAdditionalControls?: DatePickerAdditionalControlRenderProp;
|
|
25
25
|
multiplicitySeconds?: number;
|
|
26
26
|
multiplicityMinutes?: number;
|
|
27
27
|
multiplicityHours?: number;
|
package/__internal__/src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.js
CHANGED
|
@@ -1,24 +1,40 @@
|
|
|
1
1
|
import { __assign, __read, __rest } from "tslib";
|
|
2
2
|
import './DatePickerDropdown.css';
|
|
3
|
-
import React, { forwardRef, useRef, useState } from 'react';
|
|
3
|
+
import React, { forwardRef, useCallback, useRef, useState } from 'react';
|
|
4
4
|
import { Transition } from 'react-transition-group';
|
|
5
|
+
import { useFlag } from '../../../hooks/useFlag/useFlag';
|
|
5
6
|
import { useForkRef } from '../../../hooks/useForkRef/useForkRef';
|
|
6
7
|
import { animateTimeout, cnMixPopoverAnimate, } from '../../../mixs/MixPopoverAnimate/MixPopoverAnimate';
|
|
7
8
|
import { cn } from '../../../utils/bem';
|
|
8
9
|
import { DateTime, } from '../../DateTimeCanary/DateTimeCanary';
|
|
9
10
|
import { Popover } from '../../Popover/Popover';
|
|
11
|
+
import { DatePickerAdditionalControls } from '../DatePickerAdditionalControls/DatePickerAdditionalControls';
|
|
10
12
|
import { datePickerPropDropdownFormDefault, } from '../types';
|
|
13
|
+
var moveMap = {
|
|
14
|
+
'year': 'year',
|
|
15
|
+
'month': 'month',
|
|
16
|
+
'date': 'day',
|
|
17
|
+
'time': 'time',
|
|
18
|
+
'date-time': 'day'
|
|
19
|
+
};
|
|
11
20
|
var cnDatePickerDropdown = cn('DatePickerDropdown');
|
|
12
21
|
export var DatePickerDropdown = forwardRef(function (props, componentRef) {
|
|
13
|
-
var _a = props.form, form = _a === void 0 ? datePickerPropDropdownFormDefault : _a, anchorRef = props.anchorRef, isOpen = props.isOpen, className = props.className, zIndex = props.zIndex, otherProps = __rest(props, ["form", "anchorRef", "isOpen", "className", "zIndex"]);
|
|
22
|
+
var _a = props.form, form = _a === void 0 ? datePickerPropDropdownFormDefault : _a, anchorRef = props.anchorRef, isOpen = props.isOpen, className = props.className, zIndex = props.zIndex, renderAdditionalControls = props.renderAdditionalControls, otherProps = __rest(props, ["form", "anchorRef", "isOpen", "className", "zIndex", "renderAdditionalControls"]);
|
|
14
23
|
var rootRef = useRef(null);
|
|
15
24
|
var _b = __read(useState(), 2), direction = _b[0], setDirection = _b[1];
|
|
25
|
+
var _c = __read(useFlag(true), 2), visibleAdditionalControls = _c[0], setVisibleAdditionalControls = _c[1];
|
|
26
|
+
var onMove = useCallback(function (to) {
|
|
27
|
+
to === moveMap[props.type]
|
|
28
|
+
? setVisibleAdditionalControls.on()
|
|
29
|
+
: setVisibleAdditionalControls.off();
|
|
30
|
+
}, [props.type]);
|
|
16
31
|
var ref = useForkRef([componentRef, rootRef]);
|
|
17
32
|
return (React.createElement(Transition, { "in": isOpen, unmountOnExit: true, timeout: animateTimeout, nodeRef: rootRef }, function (animate) {
|
|
18
33
|
return (React.createElement(Popover, { ref: ref, anchorRef: anchorRef, className: cnDatePickerDropdown({ form: form }, [
|
|
19
34
|
className,
|
|
20
35
|
cnMixPopoverAnimate({ direction: direction, animate: animate }),
|
|
21
36
|
]), direction: "downStartLeft", spareDirection: "downStartLeft", possibleDirections: ['downStartLeft', 'upStartLeft', 'downStartRight', 'upStartRight'], style: { zIndex: zIndex }, role: "listbox", onSetDirection: setDirection },
|
|
22
|
-
React.createElement(DateTime, __assign({}, otherProps))
|
|
37
|
+
React.createElement(DateTime, __assign({}, otherProps, { onMove: onMove })),
|
|
38
|
+
visibleAdditionalControls && (React.createElement(DatePickerAdditionalControls, { currentVisibleDate: props.currentVisibleDate, renderAdditionalControls: renderAdditionalControls, type: props.type, view: props.view }))));
|
|
23
39
|
}));
|
|
24
40
|
});
|
package/__internal__/src/components/DatePickerCanary/DatePickerTypeDate/DatePickerTypeDate.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __assign, __read, __rest } from "tslib";
|
|
2
|
-
import React, { forwardRef, useEffect, useRef
|
|
2
|
+
import React, { forwardRef, useEffect, useRef } from 'react';
|
|
3
3
|
import addMonths from 'date-fns/addMonths';
|
|
4
4
|
import startOfMonth from 'date-fns/startOfMonth';
|
|
5
5
|
import { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';
|
|
@@ -7,14 +7,23 @@ import { useFlag } from '../../../hooks/useFlag/useFlag';
|
|
|
7
7
|
import { setRef } from '../../../utils/setRef';
|
|
8
8
|
import { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';
|
|
9
9
|
import { DatePickerFieldTypeDate } from '../DatePickerFieldTypeDate/DatePickerFieldTypeDate';
|
|
10
|
+
import { getDropdownZIndex } from '../helpers';
|
|
11
|
+
import { datePickerPropDateTimeViewDefault } from '../types';
|
|
10
12
|
import { useCurrentVisibleDate } from '../useCurrentVisibleDate';
|
|
11
13
|
export var DatePickerTypeDate = forwardRef(function (props, ref) {
|
|
12
|
-
var events = props.events,
|
|
14
|
+
var events = props.events, _a = props.dateTimeView, dateTimeView = _a === void 0 ? datePickerPropDateTimeViewDefault : _a, locale = props.locale, dropdownForm = props.dropdownForm, onFocus = props.onFocus, currentVisibleDateProp = props.currentVisibleDate, onChangeCurrentVisibleDate = props.onChangeCurrentVisibleDate, renderAdditionalControls = props.renderAdditionalControls, otherProps = __rest(props, ["events", "dateTimeView", "locale", "dropdownForm", "onFocus", "currentVisibleDate", "onChangeCurrentVisibleDate", "renderAdditionalControls"]);
|
|
13
15
|
var fieldRef = useRef(null);
|
|
14
16
|
var calendarRef = useRef(null);
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
|
|
17
|
+
var _b = __read(useFlag(false), 2), calendarVisible = _b[0], setCalendarVisible = _b[1];
|
|
18
|
+
var _c = __read(useCurrentVisibleDate({
|
|
19
|
+
currentVisibleDate: currentVisibleDateProp,
|
|
20
|
+
maxDate: props.maxDate,
|
|
21
|
+
minDate: props.minDate,
|
|
22
|
+
value: props.value,
|
|
23
|
+
startOfUnit: startOfMonth,
|
|
24
|
+
onChangeCurrentVisibleDate: onChangeCurrentVisibleDate,
|
|
25
|
+
calendarVisible: calendarVisible
|
|
26
|
+
}), 2), currentVisibleDate = _c[0], setCurrentVisibleDate = _c[1];
|
|
18
27
|
var onFocusHandler = function (e) {
|
|
19
28
|
onFocus && onFocus(e);
|
|
20
29
|
setCalendarVisible.on();
|
|
@@ -25,35 +34,31 @@ export var DatePickerTypeDate = forwardRef(function (props, ref) {
|
|
|
25
34
|
}
|
|
26
35
|
}, [ref, fieldRef]);
|
|
27
36
|
useEffect(function () {
|
|
28
|
-
if (props.value &&
|
|
37
|
+
if (props.value && dateTimeView === 'classic' && currentVisibleDate) {
|
|
29
38
|
var newVisibleDate = startOfMonth(props.value);
|
|
30
|
-
if (newVisibleDate.getTime() !==
|
|
39
|
+
if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {
|
|
31
40
|
setCurrentVisibleDate(newVisibleDate);
|
|
32
41
|
}
|
|
33
42
|
return;
|
|
34
43
|
}
|
|
35
|
-
if (props.value &&
|
|
44
|
+
if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {
|
|
36
45
|
var newVisibleDate = startOfMonth(props.value);
|
|
37
|
-
if (newVisibleDate.getTime() !==
|
|
38
|
-
newVisibleDate.getTime() !== addMonths(
|
|
46
|
+
if (newVisibleDate.getTime() !== currentVisibleDate.getTime() &&
|
|
47
|
+
newVisibleDate.getTime() !== addMonths(currentVisibleDate, 1).getTime()) {
|
|
39
48
|
setCurrentVisibleDate(newVisibleDate);
|
|
40
49
|
}
|
|
41
50
|
}
|
|
42
51
|
}, [props.value]);
|
|
43
|
-
var handleClose = function () {
|
|
44
|
-
setCalendarVisible.off();
|
|
45
|
-
setCurrentVisibleDate(props.value ? undefined : currentVisibleDateProp);
|
|
46
|
-
};
|
|
47
52
|
useClickOutside({
|
|
48
53
|
isActive: calendarVisible,
|
|
49
54
|
ignoreClicksInsideRefs: [fieldRef, calendarRef],
|
|
50
|
-
handler:
|
|
55
|
+
handler: setCalendarVisible.off
|
|
51
56
|
});
|
|
52
57
|
return (React.createElement(React.Fragment, null,
|
|
53
|
-
React.createElement(DatePickerFieldTypeDate, __assign({}, otherProps, { ref: fieldRef, onFocus: onFocusHandler
|
|
58
|
+
React.createElement(DatePickerFieldTypeDate, __assign({}, otherProps, { ref: fieldRef, onFocus: onFocusHandler })),
|
|
54
59
|
React.createElement(DatePickerDropdown, { ref: calendarRef, anchorRef: fieldRef, isOpen: calendarVisible, value: props.value || undefined, type: "date", view: dateTimeView, events: events, locale: locale, minDate: props.minDate, maxDate: props.maxDate, currentVisibleDate: currentVisibleDate, form: dropdownForm, onChange: function (params) {
|
|
55
60
|
var _a;
|
|
56
61
|
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, params);
|
|
57
|
-
|
|
58
|
-
}, renderAdditionalControls: renderAdditionalControls, zIndex:
|
|
62
|
+
setCalendarVisible.off();
|
|
63
|
+
}, renderAdditionalControls: renderAdditionalControls, zIndex: getDropdownZIndex(props.style), onChangeCurrentVisibleDate: setCurrentVisibleDate })));
|
|
59
64
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __assign, __read, __rest } from "tslib";
|
|
2
|
-
import React, { forwardRef, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import React, { forwardRef, useCallback, useEffect, useRef, useState } from 'react';
|
|
3
3
|
import addMonths from 'date-fns/addMonths';
|
|
4
4
|
import startOfMonth from 'date-fns/startOfMonth';
|
|
5
5
|
import { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';
|
|
@@ -7,17 +7,18 @@ import { useFlag } from '../../../hooks/useFlag/useFlag';
|
|
|
7
7
|
import { useForkRef } from '../../../hooks/useForkRef/useForkRef';
|
|
8
8
|
import { DatePickerDropdown, } from '../DatePickerDropdown/DatePickerDropdown';
|
|
9
9
|
import { DatePickerFieldTypeDateRange } from '../DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange';
|
|
10
|
-
import { getFieldName, normalizeRangeValue } from '../helpers';
|
|
10
|
+
import { getDropdownZIndex, getFieldName, normalizeRangeValue } from '../helpers';
|
|
11
|
+
import { datePickerPropDateTimeViewDefault } from '../types';
|
|
11
12
|
import { useCurrentVisibleDate } from '../useCurrentVisibleDate';
|
|
12
13
|
export var DatePickerTypeDateRange = forwardRef(function (props, ref) {
|
|
13
14
|
var _a, _b, _c, _d;
|
|
14
|
-
var events = props.events,
|
|
15
|
+
var events = props.events, _e = props.dateTimeView, dateTimeView = _e === void 0 ? datePickerPropDateTimeViewDefault : _e, locale = props.locale, dropdownForm = props.dropdownForm, onFocus = props.onFocus, onBlur = props.onBlur, leftSide = props.leftSide, rightSide = props.rightSide, currentVisibleDateProp = props.currentVisibleDate, onChangeCurrentVisibleDate = props.onChangeCurrentVisibleDate, renderAdditionalControls = props.renderAdditionalControls, inputRef = props.inputRef, name = props.name, fieldProps = __rest(props, ["events", "dateTimeView", "locale", "dropdownForm", "onFocus", "onBlur", "leftSide", "rightSide", "currentVisibleDate", "onChangeCurrentVisibleDate", "renderAdditionalControls", "inputRef", "name"]);
|
|
15
16
|
var startFieldRef = useRef(null);
|
|
16
17
|
var endFieldRef = useRef(null);
|
|
17
18
|
var startFieldInputRef = useRef(null);
|
|
18
19
|
var endFieldInputRef = useRef(null);
|
|
19
20
|
var calendarRef = useRef(null);
|
|
20
|
-
var
|
|
21
|
+
var _f = __read(useState(false), 2), fieldFocused = _f[0], setFieldFocused = _f[1];
|
|
21
22
|
var startFocused = fieldFocused === 'start';
|
|
22
23
|
var endFocused = fieldFocused === 'end';
|
|
23
24
|
var hadleChange = function (_a) {
|
|
@@ -30,8 +31,16 @@ export var DatePickerTypeDateRange = forwardRef(function (props, ref) {
|
|
|
30
31
|
(_d = props.onChange) === null || _d === void 0 ? void 0 : _d.call(props, { e: e, value: normalizeRangeValue([(_e = props === null || props === void 0 ? void 0 : props.value) === null || _e === void 0 ? void 0 : _e[0], value]) });
|
|
31
32
|
}
|
|
32
33
|
};
|
|
33
|
-
var
|
|
34
|
-
var
|
|
34
|
+
var _g = __read(useFlag(false), 2), calendarVisible = _g[0], setCalendarVisible = _g[1];
|
|
35
|
+
var _h = __read(useCurrentVisibleDate({
|
|
36
|
+
currentVisibleDate: currentVisibleDateProp,
|
|
37
|
+
maxDate: props.maxDate,
|
|
38
|
+
minDate: props.minDate,
|
|
39
|
+
value: props.value,
|
|
40
|
+
startOfUnit: startOfMonth,
|
|
41
|
+
onChangeCurrentVisibleDate: onChangeCurrentVisibleDate,
|
|
42
|
+
calendarVisible: calendarVisible
|
|
43
|
+
}), 2), currentVisibleDate = _h[0], setCurrentVisibleDate = _h[1];
|
|
35
44
|
var startFieldOnBlurHandler = function (e) { var _a; return Array.isArray(onBlur) ? (_a = onBlur[0]) === null || _a === void 0 ? void 0 : _a.call(onBlur, e) : onBlur === null || onBlur === void 0 ? void 0 : onBlur(e); };
|
|
36
45
|
var endFieldOnBlurHandler = function (e) { var _a; return Array.isArray(onBlur) ? (_a = onBlur[1]) === null || _a === void 0 ? void 0 : _a.call(onBlur, e) : onBlur === null || onBlur === void 0 ? void 0 : onBlur(e); };
|
|
37
46
|
var startFieldOnFocusHandler = function (e) {
|
|
@@ -48,58 +57,50 @@ export var DatePickerTypeDateRange = forwardRef(function (props, ref) {
|
|
|
48
57
|
};
|
|
49
58
|
// эфект для того чтобы календарь переключался при вводе с клавиатуры
|
|
50
59
|
useEffect(function () {
|
|
51
|
-
var _a, _b
|
|
52
|
-
if (((_a = props.value) === null || _a === void 0 ? void 0 : _a[0]) &&
|
|
60
|
+
var _a, _b;
|
|
61
|
+
if (((_a = props.value) === null || _a === void 0 ? void 0 : _a[0]) && dateTimeView === 'classic' && startFocused) {
|
|
53
62
|
var newVisibleDate = startOfMonth(props.value[0]);
|
|
54
63
|
if (newVisibleDate.getTime() !== (currentVisibleDate === null || currentVisibleDate === void 0 ? void 0 : currentVisibleDate.getTime())) {
|
|
55
64
|
setCurrentVisibleDate(newVisibleDate);
|
|
56
65
|
}
|
|
57
66
|
return;
|
|
58
67
|
}
|
|
59
|
-
if (((_b = props.value) === null || _b === void 0 ? void 0 : _b[0]) &&
|
|
68
|
+
if (((_b = props.value) === null || _b === void 0 ? void 0 : _b[0]) && dateTimeView !== 'classic' && startFocused) {
|
|
60
69
|
var newVisibleDate = startOfMonth(props.value[0]);
|
|
61
70
|
if (newVisibleDate.getTime() !== (currentVisibleDate === null || currentVisibleDate === void 0 ? void 0 : currentVisibleDate.getTime()) &&
|
|
62
71
|
newVisibleDate.getTime() !==
|
|
63
72
|
(currentVisibleDate && addMonths(currentVisibleDate, 1).getTime())) {
|
|
64
73
|
setCurrentVisibleDate(newVisibleDate);
|
|
65
74
|
}
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
if (!((_c = props.value) === null || _c === void 0 ? void 0 : _c[0]) && startFocused) {
|
|
69
|
-
setCurrentVisibleDate(currentVisibleDateProp);
|
|
70
75
|
}
|
|
71
76
|
}, [(_b = (_a = props.value) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.getTime(), calendarVisible, startFocused]);
|
|
72
77
|
useEffect(function () {
|
|
73
|
-
var _a, _b
|
|
74
|
-
if (((_a = props.value) === null || _a === void 0 ? void 0 : _a[1]) &&
|
|
78
|
+
var _a, _b;
|
|
79
|
+
if (((_a = props.value) === null || _a === void 0 ? void 0 : _a[1]) && dateTimeView === 'classic' && endFocused) {
|
|
75
80
|
var newVisibleDate = startOfMonth(props.value[1]);
|
|
76
81
|
if (newVisibleDate.getTime() !== (currentVisibleDate === null || currentVisibleDate === void 0 ? void 0 : currentVisibleDate.getTime())) {
|
|
77
82
|
setCurrentVisibleDate(newVisibleDate);
|
|
78
83
|
}
|
|
79
84
|
return;
|
|
80
85
|
}
|
|
81
|
-
if (((_b = props.value) === null || _b === void 0 ? void 0 : _b[1]) &&
|
|
86
|
+
if (((_b = props.value) === null || _b === void 0 ? void 0 : _b[1]) && dateTimeView !== 'classic' && endFocused) {
|
|
82
87
|
var newVisibleDate = startOfMonth(props.value[1]);
|
|
83
88
|
if (newVisibleDate.getTime() !== (currentVisibleDate === null || currentVisibleDate === void 0 ? void 0 : currentVisibleDate.getTime()) &&
|
|
84
89
|
newVisibleDate.getTime() !==
|
|
85
90
|
(currentVisibleDate && addMonths(currentVisibleDate, 1).getTime())) {
|
|
86
91
|
setCurrentVisibleDate(addMonths(newVisibleDate, -1));
|
|
87
92
|
}
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
if (!((_c = props.value) === null || _c === void 0 ? void 0 : _c[1]) && endFocused) {
|
|
91
|
-
setCurrentVisibleDate(currentVisibleDateProp);
|
|
92
93
|
}
|
|
93
94
|
}, [(_d = (_c = props.value) === null || _c === void 0 ? void 0 : _c[1]) === null || _d === void 0 ? void 0 : _d.getTime(), calendarVisible, endFocused]);
|
|
94
95
|
useClickOutside({
|
|
95
96
|
isActive: calendarVisible,
|
|
96
97
|
ignoreClicksInsideRefs: [startFieldRef, endFieldRef, calendarRef],
|
|
97
|
-
handler: function () {
|
|
98
|
+
handler: useCallback(function () {
|
|
98
99
|
setFieldFocused(false);
|
|
99
100
|
setCalendarVisible.off();
|
|
100
|
-
}
|
|
101
|
+
}, [])
|
|
101
102
|
});
|
|
102
103
|
return (React.createElement(React.Fragment, null,
|
|
103
|
-
React.createElement(DatePickerFieldTypeDateRange, __assign({}, fieldProps, {
|
|
104
|
-
React.createElement(DatePickerDropdown, { type: "date", ref: calendarRef, anchorRef: startFieldRef, isOpen: calendarVisible, onChangeCurrentVisibleDate: setCurrentVisibleDate, currentVisibleDate: currentVisibleDate, value: props.value || undefined, view: dateTimeView, events: events, locale: locale, minDate: props.minDate, maxDate: props.maxDate, form: dropdownForm, onChange: hadleChange, renderAdditionalControls: renderAdditionalControls, zIndex:
|
|
104
|
+
React.createElement(DatePickerFieldTypeDateRange, __assign({}, fieldProps, { ref: ref, startFieldRef: startFieldRef, endFieldRef: endFieldRef, startFieldInputRef: useForkRef([startFieldInputRef, inputRef === null || inputRef === void 0 ? void 0 : inputRef[0]]), endFieldInputRef: useForkRef([endFieldInputRef, inputRef === null || inputRef === void 0 ? void 0 : inputRef[1]]), startFieldOnFocus: startFieldOnFocusHandler, endFieldOnFocus: endFieldOnFocusHandler, startFieldLeftSide: Array.isArray(leftSide) ? leftSide === null || leftSide === void 0 ? void 0 : leftSide[0] : leftSide, startFieldRightSide: Array.isArray(rightSide) ? rightSide === null || rightSide === void 0 ? void 0 : rightSide[0] : undefined, endFieldLeftSide: Array.isArray(leftSide) ? leftSide === null || leftSide === void 0 ? void 0 : leftSide[1] : undefined, endFieldRightSide: Array.isArray(rightSide) ? rightSide === null || rightSide === void 0 ? void 0 : rightSide[1] : rightSide, startFieldOnBlur: startFieldOnBlurHandler, endFieldOnBlur: endFieldOnBlurHandler, startFocused: startFocused, endFocused: endFocused, startFieldName: getFieldName(name, 0), endFieldName: getFieldName(name, 1) })),
|
|
105
|
+
React.createElement(DatePickerDropdown, { type: "date", ref: calendarRef, anchorRef: startFieldRef, isOpen: calendarVisible, onChangeCurrentVisibleDate: setCurrentVisibleDate, currentVisibleDate: currentVisibleDate, value: props.value || undefined, view: dateTimeView, events: events, locale: locale, minDate: props.minDate, maxDate: props.maxDate, form: dropdownForm, onChange: hadleChange, renderAdditionalControls: renderAdditionalControls, zIndex: getDropdownZIndex(props.style) })));
|
|
105
106
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __assign, __read, __rest } from "tslib";
|
|
2
|
-
import React, { forwardRef, useEffect, useRef
|
|
2
|
+
import React, { forwardRef, useEffect, useRef } from 'react';
|
|
3
3
|
import addMonths from 'date-fns/addMonths';
|
|
4
4
|
import startOfMonth from 'date-fns/startOfMonth';
|
|
5
5
|
import { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';
|
|
@@ -7,16 +7,24 @@ import { useFlag } from '../../../hooks/useFlag/useFlag';
|
|
|
7
7
|
import { setRef } from '../../../utils/setRef';
|
|
8
8
|
import { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';
|
|
9
9
|
import { DatePickerFieldTypeDateTime } from '../DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime';
|
|
10
|
-
import { datePickerPropFormatTypeDateTime, getMultiplicityTime } from '../helpers';
|
|
10
|
+
import { datePickerPropFormatTypeDateTime, getDropdownZIndex, getMultiplicityTime, } from '../helpers';
|
|
11
|
+
import { datePickerPropDateTimeViewDefault } from '../types';
|
|
11
12
|
import { useCurrentVisibleDate } from '../useCurrentVisibleDate';
|
|
12
13
|
export var DatePickerTypeDateTime = forwardRef(function (props, ref) {
|
|
13
|
-
var events = props.events,
|
|
14
|
-
var
|
|
14
|
+
var events = props.events, _a = props.dateTimeView, dateTimeView = _a === void 0 ? datePickerPropDateTimeViewDefault : _a, locale = props.locale, dropdownForm = props.dropdownForm, onFocus = props.onFocus, currentVisibleDateProp = props.currentVisibleDate, onChangeCurrentVisibleDate = props.onChangeCurrentVisibleDate, multiplicityHoursProp = props.multiplicityHours, multiplicityMinutesProp = props.multiplicityMinutes, multiplicitySecondsProp = props.multiplicitySeconds, renderAdditionalControls = props.renderAdditionalControls, otherProps = __rest(props, ["events", "dateTimeView", "locale", "dropdownForm", "onFocus", "currentVisibleDate", "onChangeCurrentVisibleDate", "multiplicityHours", "multiplicityMinutes", "multiplicitySeconds", "renderAdditionalControls"]);
|
|
15
|
+
var _b = __read(getMultiplicityTime(otherProps.format || datePickerPropFormatTypeDateTime, multiplicityHoursProp, multiplicityMinutesProp, multiplicitySecondsProp), 3), multiplicityHours = _b[0], multiplicityMinutes = _b[1], multiplicitySeconds = _b[2];
|
|
15
16
|
var fieldRef = useRef(null);
|
|
16
17
|
var calendarRef = useRef(null);
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
|
|
18
|
+
var _c = __read(useFlag(false), 2), calendarVisible = _c[0], setCalendarVisible = _c[1];
|
|
19
|
+
var _d = __read(useCurrentVisibleDate({
|
|
20
|
+
currentVisibleDate: currentVisibleDateProp,
|
|
21
|
+
maxDate: props.maxDate,
|
|
22
|
+
minDate: props.minDate,
|
|
23
|
+
value: props.value,
|
|
24
|
+
startOfUnit: startOfMonth,
|
|
25
|
+
onChangeCurrentVisibleDate: onChangeCurrentVisibleDate,
|
|
26
|
+
calendarVisible: calendarVisible
|
|
27
|
+
}), 2), currentVisibleDate = _d[0], setCurrentVisibleDate = _d[1];
|
|
20
28
|
var onFocusHandler = function (e) {
|
|
21
29
|
onFocus && onFocus(e);
|
|
22
30
|
setCalendarVisible.on();
|
|
@@ -27,17 +35,17 @@ export var DatePickerTypeDateTime = forwardRef(function (props, ref) {
|
|
|
27
35
|
}
|
|
28
36
|
}, [ref, fieldRef]);
|
|
29
37
|
useEffect(function () {
|
|
30
|
-
if (props.value &&
|
|
38
|
+
if (props.value && dateTimeView === 'classic' && currentVisibleDate) {
|
|
31
39
|
var newVisibleDate = startOfMonth(props.value);
|
|
32
|
-
if (newVisibleDate.getTime() !==
|
|
40
|
+
if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {
|
|
33
41
|
setCurrentVisibleDate(newVisibleDate);
|
|
34
42
|
}
|
|
35
43
|
return;
|
|
36
44
|
}
|
|
37
|
-
if (props.value &&
|
|
45
|
+
if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {
|
|
38
46
|
var newVisibleDate = startOfMonth(props.value);
|
|
39
|
-
if (newVisibleDate.getTime() !==
|
|
40
|
-
newVisibleDate.getTime() !== addMonths(
|
|
47
|
+
if (newVisibleDate.getTime() !== currentVisibleDate.getTime() &&
|
|
48
|
+
newVisibleDate.getTime() !== addMonths(currentVisibleDate, 1).getTime()) {
|
|
41
49
|
setCurrentVisibleDate(newVisibleDate);
|
|
42
50
|
}
|
|
43
51
|
}
|
|
@@ -45,12 +53,9 @@ export var DatePickerTypeDateTime = forwardRef(function (props, ref) {
|
|
|
45
53
|
useClickOutside({
|
|
46
54
|
isActive: calendarVisible,
|
|
47
55
|
ignoreClicksInsideRefs: [fieldRef, calendarRef],
|
|
48
|
-
handler:
|
|
49
|
-
setCalendarVisible.off();
|
|
50
|
-
setCurrentVisibleDate(props.value ? undefined : currentVisibleDateProp);
|
|
51
|
-
}
|
|
56
|
+
handler: setCalendarVisible.off
|
|
52
57
|
});
|
|
53
58
|
return (React.createElement(React.Fragment, null,
|
|
54
|
-
React.createElement(DatePickerFieldTypeDateTime, __assign({}, otherProps, { ref: fieldRef, onFocus: onFocusHandler, multiplicityHours: multiplicityHours, multiplicitySeconds: multiplicitySeconds, multiplicityMinutes: multiplicityMinutes
|
|
55
|
-
React.createElement(DatePickerDropdown, { ref: calendarRef, anchorRef: fieldRef, isOpen: calendarVisible, value: props.value || undefined, type: "date-time", view: dateTimeView, events: events, locale: locale, minDate: props.minDate, maxDate: props.maxDate, currentVisibleDate: currentVisibleDate, form: dropdownForm, onChange: props.onChange, renderAdditionalControls: renderAdditionalControls, onChangeCurrentVisibleDate:
|
|
59
|
+
React.createElement(DatePickerFieldTypeDateTime, __assign({}, otherProps, { ref: fieldRef, onFocus: onFocusHandler, multiplicityHours: multiplicityHours, multiplicitySeconds: multiplicitySeconds, multiplicityMinutes: multiplicityMinutes })),
|
|
60
|
+
React.createElement(DatePickerDropdown, { ref: calendarRef, anchorRef: fieldRef, isOpen: calendarVisible, value: props.value || undefined, type: "date-time", view: dateTimeView, events: events, locale: locale, minDate: props.minDate, maxDate: props.maxDate, currentVisibleDate: currentVisibleDate, form: dropdownForm, onChange: props.onChange, renderAdditionalControls: renderAdditionalControls, onChangeCurrentVisibleDate: setCurrentVisibleDate, multiplicityHours: multiplicityHours, multiplicitySeconds: multiplicitySeconds, multiplicityMinutes: multiplicityMinutes, zIndex: getDropdownZIndex(props.style) })));
|
|
56
61
|
});
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import { __assign, __read, __rest } from "tslib";
|
|
2
|
-
import React, { forwardRef, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import React, { forwardRef, useCallback, useEffect, useRef, useState } from 'react';
|
|
3
3
|
import startOfMonth from 'date-fns/startOfMonth';
|
|
4
4
|
import { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';
|
|
5
5
|
import { useFlag } from '../../../hooks/useFlag/useFlag';
|
|
6
6
|
import { useForkRef } from '../../../hooks/useForkRef/useForkRef';
|
|
7
7
|
import { DatePickerDropdown, } from '../DatePickerDropdown/DatePickerDropdown';
|
|
8
8
|
import { DatePickerFieldTypeDateTimeRange } from '../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange';
|
|
9
|
-
import { getFieldName, normalizeRangeValue } from '../helpers';
|
|
9
|
+
import { getDropdownZIndex, getFieldName, normalizeRangeValue } from '../helpers';
|
|
10
|
+
import { datePickerPropDateTimeViewDefault } from '../types';
|
|
10
11
|
import { useCurrentVisibleDate } from '../useCurrentVisibleDate';
|
|
11
12
|
export var DatePickerTypeDateTimeRange = forwardRef(function (props, ref) {
|
|
12
13
|
var _a, _b, _c, _d;
|
|
13
|
-
var events = props.events,
|
|
14
|
+
var events = props.events, _e = props.dateTimeView, dateTimeView = _e === void 0 ? datePickerPropDateTimeViewDefault : _e, locale = props.locale, dropdownForm = props.dropdownForm, onFocus = props.onFocus, onBlur = props.onBlur, leftSide = props.leftSide, rightSide = props.rightSide, currentVisibleDateProp = props.currentVisibleDate, onChangeCurrentVisibleDate = props.onChangeCurrentVisibleDate, renderAdditionalControls = props.renderAdditionalControls, inputRef = props.inputRef, name = props.name, multiplicityMinutes = props.multiplicityMinutes, multiplicitySeconds = props.multiplicitySeconds, multiplicityHours = props.multiplicityHours, fieldProps = __rest(props, ["events", "dateTimeView", "locale", "dropdownForm", "onFocus", "onBlur", "leftSide", "rightSide", "currentVisibleDate", "onChangeCurrentVisibleDate", "renderAdditionalControls", "inputRef", "name", "multiplicityMinutes", "multiplicitySeconds", "multiplicityHours"]);
|
|
14
15
|
var startFieldRef = useRef(null);
|
|
15
16
|
var endFieldRef = useRef(null);
|
|
16
17
|
var startFieldInputRef = useRef(null);
|
|
17
18
|
var endFieldInputRef = useRef(null);
|
|
18
19
|
var calendarRef = useRef(null);
|
|
19
|
-
var
|
|
20
|
+
var _f = __read(useState(false), 2), fieldFocused = _f[0], setFieldFocused = _f[1];
|
|
20
21
|
var startFocused = fieldFocused === 'start';
|
|
21
22
|
var endFocused = fieldFocused === 'end';
|
|
22
23
|
var hadleChange = function (_a) {
|
|
@@ -29,8 +30,16 @@ export var DatePickerTypeDateTimeRange = forwardRef(function (props, ref) {
|
|
|
29
30
|
(_d = props.onChange) === null || _d === void 0 ? void 0 : _d.call(props, { e: e, value: normalizeRangeValue([(_e = props === null || props === void 0 ? void 0 : props.value) === null || _e === void 0 ? void 0 : _e[0], value]) });
|
|
30
31
|
}
|
|
31
32
|
};
|
|
32
|
-
var
|
|
33
|
-
var
|
|
33
|
+
var _g = __read(useFlag(false), 2), calendarVisible = _g[0], setCalendarVisible = _g[1];
|
|
34
|
+
var _h = __read(useCurrentVisibleDate({
|
|
35
|
+
currentVisibleDate: currentVisibleDateProp,
|
|
36
|
+
maxDate: props.maxDate,
|
|
37
|
+
minDate: props.minDate,
|
|
38
|
+
value: props.value,
|
|
39
|
+
startOfUnit: startOfMonth,
|
|
40
|
+
onChangeCurrentVisibleDate: onChangeCurrentVisibleDate,
|
|
41
|
+
calendarVisible: calendarVisible
|
|
42
|
+
}), 2), currentVisibleDate = _h[0], setCurrentVisibleDate = _h[1];
|
|
34
43
|
var startFieldOnBlurHandler = function (e) { var _a; return Array.isArray(onBlur) ? (_a = onBlur[0]) === null || _a === void 0 ? void 0 : _a.call(onBlur, e) : onBlur === null || onBlur === void 0 ? void 0 : onBlur(e); };
|
|
35
44
|
var endFieldOnBlurHandler = function (e) { var _a; return Array.isArray(onBlur) ? (_a = onBlur[1]) === null || _a === void 0 ? void 0 : _a.call(onBlur, e) : onBlur === null || onBlur === void 0 ? void 0 : onBlur(e); };
|
|
36
45
|
var startFieldOnFocusHandler = function (e) {
|
|
@@ -47,40 +56,32 @@ export var DatePickerTypeDateTimeRange = forwardRef(function (props, ref) {
|
|
|
47
56
|
};
|
|
48
57
|
// эфект для того чтобы календарь переключался при вводе с клавиатуры
|
|
49
58
|
useEffect(function () {
|
|
50
|
-
var _a
|
|
59
|
+
var _a;
|
|
51
60
|
if (((_a = props.value) === null || _a === void 0 ? void 0 : _a[0]) && startFocused) {
|
|
52
61
|
var newVisibleDate = startOfMonth(props.value[0]);
|
|
53
62
|
if (newVisibleDate.getTime() !== (currentVisibleDate === null || currentVisibleDate === void 0 ? void 0 : currentVisibleDate.getTime())) {
|
|
54
63
|
setCurrentVisibleDate(newVisibleDate);
|
|
55
64
|
}
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
if (!((_b = props.value) === null || _b === void 0 ? void 0 : _b[0]) && startFocused) {
|
|
59
|
-
setCurrentVisibleDate(currentVisibleDateProp);
|
|
60
65
|
}
|
|
61
66
|
}, [(_b = (_a = props.value) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.getTime(), calendarVisible, startFocused]);
|
|
62
67
|
useEffect(function () {
|
|
63
|
-
var _a
|
|
68
|
+
var _a;
|
|
64
69
|
if (((_a = props.value) === null || _a === void 0 ? void 0 : _a[1]) && endFocused) {
|
|
65
70
|
var newVisibleDate = startOfMonth(props.value[1]);
|
|
66
71
|
if (newVisibleDate.getTime() !== (currentVisibleDate === null || currentVisibleDate === void 0 ? void 0 : currentVisibleDate.getTime())) {
|
|
67
72
|
setCurrentVisibleDate(newVisibleDate);
|
|
68
73
|
}
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
if (!((_b = props.value) === null || _b === void 0 ? void 0 : _b[1]) && endFocused) {
|
|
72
|
-
setCurrentVisibleDate(currentVisibleDateProp);
|
|
73
74
|
}
|
|
74
75
|
}, [(_d = (_c = props.value) === null || _c === void 0 ? void 0 : _c[1]) === null || _d === void 0 ? void 0 : _d.getTime(), calendarVisible, endFocused]);
|
|
75
76
|
useClickOutside({
|
|
76
77
|
isActive: calendarVisible,
|
|
77
78
|
ignoreClicksInsideRefs: [startFieldRef, endFieldRef, calendarRef],
|
|
78
|
-
handler: function () {
|
|
79
|
+
handler: useCallback(function () {
|
|
79
80
|
setFieldFocused(false);
|
|
80
81
|
setCalendarVisible.off();
|
|
81
|
-
}
|
|
82
|
+
}, [])
|
|
82
83
|
});
|
|
83
84
|
return (React.createElement(React.Fragment, null,
|
|
84
|
-
React.createElement(DatePickerFieldTypeDateTimeRange, __assign({}, fieldProps, {
|
|
85
|
-
React.createElement(DatePickerDropdown, { type: "date-time", ref: calendarRef, anchorRef: startFieldRef, isOpen: calendarVisible, onChangeCurrentVisibleDate: setCurrentVisibleDate, currentVisibleDate: currentVisibleDate, value: props.value || undefined, timeFor: fieldFocused || undefined, view: dateTimeView, events: events, locale: locale, minDate: props.minDate, maxDate: props.maxDate, form: dropdownForm, onChange: hadleChange, renderAdditionalControls: renderAdditionalControls, multiplicityMinutes: multiplicityMinutes, multiplicitySeconds: multiplicitySeconds, multiplicityHours: multiplicityHours, zIndex:
|
|
85
|
+
React.createElement(DatePickerFieldTypeDateTimeRange, __assign({}, fieldProps, { ref: ref, startFieldRef: startFieldRef, endFieldRef: endFieldRef, startFieldInputRef: useForkRef([startFieldInputRef, inputRef === null || inputRef === void 0 ? void 0 : inputRef[0]]), endFieldInputRef: useForkRef([endFieldInputRef, inputRef === null || inputRef === void 0 ? void 0 : inputRef[1]]), startFieldOnFocus: startFieldOnFocusHandler, endFieldOnFocus: endFieldOnFocusHandler, startFieldLeftSide: Array.isArray(leftSide) ? leftSide === null || leftSide === void 0 ? void 0 : leftSide[0] : leftSide, startFieldRightSide: Array.isArray(rightSide) ? rightSide === null || rightSide === void 0 ? void 0 : rightSide[0] : undefined, endFieldLeftSide: Array.isArray(leftSide) ? leftSide === null || leftSide === void 0 ? void 0 : leftSide[1] : undefined, endFieldRightSide: Array.isArray(rightSide) ? rightSide === null || rightSide === void 0 ? void 0 : rightSide[1] : rightSide, startFieldOnBlur: startFieldOnBlurHandler, endFieldOnBlur: endFieldOnBlurHandler, startFocused: startFocused, endFocused: endFocused, startFieldName: getFieldName(name, 0), endFieldName: getFieldName(name, 1) })),
|
|
86
|
+
React.createElement(DatePickerDropdown, { type: "date-time", ref: calendarRef, anchorRef: startFieldRef, isOpen: calendarVisible, onChangeCurrentVisibleDate: setCurrentVisibleDate, currentVisibleDate: currentVisibleDate, value: props.value || undefined, timeFor: fieldFocused || undefined, view: dateTimeView, events: events, locale: locale, minDate: props.minDate, maxDate: props.maxDate, form: dropdownForm, onChange: hadleChange, renderAdditionalControls: renderAdditionalControls, multiplicityMinutes: multiplicityMinutes, multiplicitySeconds: multiplicitySeconds, multiplicityHours: multiplicityHours, zIndex: getDropdownZIndex(props.style) })));
|
|
86
87
|
});
|