@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
|
@@ -3,7 +3,6 @@ import React, { forwardRef, useEffect } from 'react';
|
|
|
3
3
|
import { addMonths, startOfMonth } from 'date-fns';
|
|
4
4
|
import ruLocale from 'date-fns/locale/ru';
|
|
5
5
|
import { useFlag } from '../../../hooks/useFlag/useFlag';
|
|
6
|
-
import { DateTimeAdditionalControls } from '../DateTimeAdditionalControls/DateTimeAdditionalControls';
|
|
7
6
|
import { DateTimeLabel } from '../DateTimeLabel/DateTimeLabel';
|
|
8
7
|
import { DateTimeMonth } from '../DateTimeMonth/DateTimeMonth';
|
|
9
8
|
import { DateTimeToggler } from '../DateTimeToggler/DateTimeToggler';
|
|
@@ -13,24 +12,24 @@ import { getDaysOfMonth, getDaysOfWeek, getHandleSelectDate, getMouthLabelWithYe
|
|
|
13
12
|
import { dateTimePropView, dateTimePropViewDefault } from '../helpers/types';
|
|
14
13
|
import { cnDateTimeMixLayout } from '../mixs';
|
|
15
14
|
export var DateTimeTypeDate = forwardRef(function (props, ref) {
|
|
16
|
-
var className = props.className, minDate = props.minDate, maxDate = props.maxDate, value = props.value, onChange = props.onChange, onChangeRange = props.onChangeRange, currentVisibleDateProp = props.currentVisibleDate, events = props.events, _a = props.locale, locale = _a === void 0 ? ruLocale : _a, _b = props.view, view = _b === void 0 ? dateTimePropViewDefault : _b, onMove = props.onMove, onChangeCurrentVisibleDate = props.onChangeCurrentVisibleDate,
|
|
17
|
-
var _c = __read(useFlag(), 2), changeMonth = _c[0],
|
|
15
|
+
var className = props.className, minDate = props.minDate, maxDate = props.maxDate, value = props.value, onChange = props.onChange, onChangeRange = props.onChangeRange, currentVisibleDateProp = props.currentVisibleDate, events = props.events, _a = props.locale, locale = _a === void 0 ? ruLocale : _a, _b = props.view, view = _b === void 0 ? dateTimePropViewDefault : _b, onMove = props.onMove, onChangeCurrentVisibleDate = props.onChangeCurrentVisibleDate, otherProps = __rest(props, ["className", "minDate", "maxDate", "value", "onChange", "onChangeRange", "currentVisibleDate", "events", "locale", "view", "onMove", "onChangeCurrentVisibleDate"]);
|
|
16
|
+
var _c = __read(useFlag(), 2), changeMonth = _c[0], setChangeMonth = _c[1];
|
|
18
17
|
useEffect(function () {
|
|
19
18
|
!changeMonth && (onMove === null || onMove === void 0 ? void 0 : onMove(moveTypes[2]));
|
|
20
19
|
}, [changeMonth]);
|
|
21
|
-
var
|
|
20
|
+
var _d = __read(useCurrentVisibleDate({
|
|
22
21
|
currentVisibleDate: currentVisibleDateProp,
|
|
23
22
|
maxDate: maxDate,
|
|
24
23
|
minDate: minDate,
|
|
25
24
|
value: value,
|
|
26
25
|
startOfUnit: startOfMonth,
|
|
27
26
|
onChangeCurrentVisibleDate: onChangeCurrentVisibleDate
|
|
28
|
-
}), 2), currentVisibleDate =
|
|
27
|
+
}), 2), currentVisibleDate = _d[0], setCurrentVisibleDate = _d[1];
|
|
29
28
|
if (changeMonth) {
|
|
30
29
|
return (React.createElement(DateTimeTypeMonth, __assign({}, otherProps, { ref: ref, className: className, minDate: minDate, maxDate: maxDate, locale: locale, events: events, currentVisibleDate: currentVisibleDate, view: view, onChange: function (_a) {
|
|
31
30
|
var value = _a.value;
|
|
32
31
|
setCurrentVisibleDate(value);
|
|
33
|
-
off();
|
|
32
|
+
setChangeMonth.off();
|
|
34
33
|
}, onMove: onMove })));
|
|
35
34
|
}
|
|
36
35
|
var handleSelectDate = getHandleSelectDate({
|
|
@@ -56,9 +55,8 @@ export var DateTimeTypeDate = forwardRef(function (props, ref) {
|
|
|
56
55
|
var prevMonthHandle = function () { return setCurrentVisibleDate(addMonths(currentVisibleDate, -1)); };
|
|
57
56
|
if (view === dateTimePropView[0]) {
|
|
58
57
|
return (React.createElement("div", __assign({}, otherProps, { ref: ref, className: cnDateTimeMixLayout({ view: view }, [className]) }),
|
|
59
|
-
React.createElement(DateTimeToggler, { className: cnDateTimeMixLayout('Label'), prevOnClick: prevMonthHandle, nextOnClick: nextMonthHandle, label: pageOneLabel, onLabelClick: on }),
|
|
60
|
-
React.createElement(DateTimeMonth, { daysOfWeek: daysOfWeek, daysOfMonth: pageOneDaysOfMonth })
|
|
61
|
-
React.createElement(DateTimeAdditionalControls, { currentVisibleDate: currentVisibleDate, renderAdditionalControls: renderAdditionalControls })));
|
|
58
|
+
React.createElement(DateTimeToggler, { className: cnDateTimeMixLayout('Label'), prevOnClick: prevMonthHandle, nextOnClick: nextMonthHandle, label: pageOneLabel, onLabelClick: setChangeMonth.on }),
|
|
59
|
+
React.createElement(DateTimeMonth, { daysOfWeek: daysOfWeek, daysOfMonth: pageOneDaysOfMonth })));
|
|
62
60
|
}
|
|
63
61
|
var pageTwoCurrentVisibleDate = addMonths(currentVisibleDate, 1);
|
|
64
62
|
var pageTwoDaysOfMonth = getDaysOfMonth({
|
|
@@ -75,21 +73,19 @@ export var DateTimeTypeDate = forwardRef(function (props, ref) {
|
|
|
75
73
|
return (React.createElement(React.Fragment, null,
|
|
76
74
|
React.createElement("div", __assign({}, otherProps, { ref: ref, className: cnDateTimeMixLayout({ view: view }, [className]) }),
|
|
77
75
|
React.createElement("div", { className: cnDateTimeMixLayout('Page') },
|
|
78
|
-
React.createElement(DateTimeToggler, { className: cnDateTimeMixLayout('Label'), prevOnClick: prevMonthHandle, label: pageOneLabel, onLabelClick: on }),
|
|
76
|
+
React.createElement(DateTimeToggler, { className: cnDateTimeMixLayout('Label'), prevOnClick: prevMonthHandle, label: pageOneLabel, onLabelClick: setChangeMonth.on }),
|
|
79
77
|
React.createElement(DateTimeMonth, { daysOfWeek: daysOfWeek, daysOfMonth: pageOneDaysOfMonth })),
|
|
80
78
|
React.createElement("div", { className: cnDateTimeMixLayout('Page') },
|
|
81
|
-
React.createElement(DateTimeToggler, { className: cnDateTimeMixLayout('Label'), nextOnClick: nextMonthHandle, label: pageTwoLabel, onLabelClick: on }),
|
|
82
|
-
React.createElement(DateTimeMonth, { daysOfWeek: daysOfWeek, daysOfMonth: pageTwoDaysOfMonth })))
|
|
83
|
-
React.createElement(DateTimeAdditionalControls, { currentVisibleDate: currentVisibleDate, renderAdditionalControls: renderAdditionalControls })));
|
|
79
|
+
React.createElement(DateTimeToggler, { className: cnDateTimeMixLayout('Label'), nextOnClick: nextMonthHandle, label: pageTwoLabel, onLabelClick: setChangeMonth.on }),
|
|
80
|
+
React.createElement(DateTimeMonth, { daysOfWeek: daysOfWeek, daysOfMonth: pageTwoDaysOfMonth })))));
|
|
84
81
|
}
|
|
85
82
|
return (React.createElement("div", __assign({}, otherProps, { ref: ref, className: cnDateTimeMixLayout({ view: view }, [className]) }),
|
|
86
83
|
React.createElement(DateTimeYearSlider, { className: cnDateTimeMixLayout('Slider'), currentVisibleDate: currentVisibleDate, onChange: setCurrentVisibleDate, value: value, locale: locale }),
|
|
87
84
|
React.createElement("div", { className: cnDateTimeMixLayout('PageWrapper') },
|
|
88
85
|
React.createElement("div", { className: cnDateTimeMixLayout('Page') },
|
|
89
|
-
React.createElement(DateTimeLabel, { className: cnDateTimeMixLayout('Label'), label: pageOneLabel, onClick: on, cursor: "pointer" }),
|
|
86
|
+
React.createElement(DateTimeLabel, { className: cnDateTimeMixLayout('Label'), label: pageOneLabel, onClick: setChangeMonth.on, cursor: "pointer" }),
|
|
90
87
|
React.createElement(DateTimeMonth, { daysOfWeek: daysOfWeek, daysOfMonth: pageOneDaysOfMonth })),
|
|
91
88
|
React.createElement("div", { className: cnDateTimeMixLayout('Page') },
|
|
92
|
-
React.createElement(DateTimeLabel, { className: cnDateTimeMixLayout('Label'), label: pageTwoLabel, onClick: on, cursor: "pointer" }),
|
|
93
|
-
React.createElement(DateTimeMonth, { daysOfWeek: daysOfWeek, daysOfMonth: pageTwoDaysOfMonth })))
|
|
94
|
-
React.createElement(DateTimeAdditionalControls, { currentVisibleDate: currentVisibleDate, renderAdditionalControls: renderAdditionalControls })));
|
|
89
|
+
React.createElement(DateTimeLabel, { className: cnDateTimeMixLayout('Label'), label: pageTwoLabel, onClick: setChangeMonth.on, cursor: "pointer" }),
|
|
90
|
+
React.createElement(DateTimeMonth, { daysOfWeek: daysOfWeek, daysOfMonth: pageTwoDaysOfMonth })))));
|
|
95
91
|
});
|
package/__internal__/src/components/DateTimeCanary/DateTimeTypeDateTime/DateTimeTypeDateTime.js
CHANGED
|
@@ -3,14 +3,13 @@ import './DateTimeTypeDateTime.css';
|
|
|
3
3
|
import React, { forwardRef, useEffect, useRef, useState } from 'react';
|
|
4
4
|
import { useForkRef } from '../../../hooks/useForkRef/useForkRef';
|
|
5
5
|
import { cn } from '../../../utils/bem';
|
|
6
|
-
import { DateTimeAdditionalControls } from '../DateTimeAdditionalControls/DateTimeAdditionalControls';
|
|
7
6
|
import { DateTimeTypeDate } from '../DateTimeTypeDate/DateTimeTypeDate';
|
|
8
7
|
import { DateTimeTypeTime } from '../DateTimeTypeTime/DateTimeTypeTime';
|
|
9
8
|
import { moveTypes } from '../helpers';
|
|
10
9
|
import { useOnChange } from './useOnChange';
|
|
11
10
|
var cnDateTimeTypeDateTime = cn('DateTimeTypeDateTime');
|
|
12
11
|
export var DateTimeTypeDateTime = forwardRef(function (props, ref) {
|
|
13
|
-
var className = props.className, onMoveProp = props.onMove, currentVisibleDate = props.currentVisibleDate, value = props.value, onChange = props.onChange, onChangeRange = props.onChangeRange, minDate = props.minDate, maxDate = props.maxDate, events = props.events, locale = props.locale, onChangeCurrentVisibleDate = props.onChangeCurrentVisibleDate, multiplicitySeconds = props.multiplicitySeconds, multiplicityMinutes = props.multiplicityMinutes, multiplicityHours = props.multiplicityHours, style = props.style,
|
|
12
|
+
var className = props.className, onMoveProp = props.onMove, currentVisibleDate = props.currentVisibleDate, value = props.value, onChange = props.onChange, onChangeRange = props.onChangeRange, minDate = props.minDate, maxDate = props.maxDate, events = props.events, locale = props.locale, onChangeCurrentVisibleDate = props.onChangeCurrentVisibleDate, multiplicitySeconds = props.multiplicitySeconds, multiplicityMinutes = props.multiplicityMinutes, multiplicityHours = props.multiplicityHours, style = props.style, _a = props.timeFor, timeFor = _a === void 0 ? 'start' : _a, otherProps = __rest(props, ["className", "onMove", "currentVisibleDate", "value", "onChange", "onChangeRange", "minDate", "maxDate", "events", "locale", "onChangeCurrentVisibleDate", "multiplicitySeconds", "multiplicityMinutes", "multiplicityHours", "style", "timeFor"]);
|
|
14
13
|
var _b = __read(useState(moveTypes[2]), 2), moveType = _b[0], setMoveType = _b[1];
|
|
15
14
|
var _c = __read(useState({
|
|
16
15
|
'--root-padding-left': '0px'
|
|
@@ -31,7 +30,6 @@ export var DateTimeTypeDateTime = forwardRef(function (props, ref) {
|
|
|
31
30
|
}, []);
|
|
32
31
|
return (React.createElement(React.Fragment, null,
|
|
33
32
|
React.createElement("div", __assign({}, otherProps, { className: cnDateTimeTypeDateTime({ withTime: withTime }, [className]), ref: useForkRef([rootRef, ref]), style: __assign(__assign({}, style), cssVars) }),
|
|
34
|
-
React.createElement(DateTimeTypeDate, { className: cnDateTimeTypeDateTime('Date', { withTime: withTime }), onMove: onMove, currentVisibleDate: currentVisibleDate, value: value, onChange: onDateChange, onChangeRange: onDateChangeRange, minDate: minDate, maxDate: maxDate, events: events, locale: locale,
|
|
35
|
-
withTime && (React.createElement(DateTimeTypeTime, { className: cnDateTimeTypeDateTime('Time'), value: valueTime, onChange: onTimeChange, minDate: minDate, maxDate: maxDate, locale: locale, multiplicitySeconds: multiplicitySeconds, multiplicityMinutes: multiplicityMinutes, multiplicityHours: multiplicityHours })))
|
|
36
|
-
React.createElement(DateTimeAdditionalControls, { currentVisibleDate: currentVisibleDate, renderAdditionalControls: withTime ? renderAdditionalControls : undefined })));
|
|
33
|
+
React.createElement(DateTimeTypeDate, { className: cnDateTimeTypeDateTime('Date', { withTime: withTime }), onMove: onMove, currentVisibleDate: currentVisibleDate, value: value, onChange: onDateChange, onChangeRange: onDateChangeRange, minDate: minDate, maxDate: maxDate, events: events, locale: locale, onChangeCurrentVisibleDate: onChangeCurrentVisibleDate }),
|
|
34
|
+
withTime && (React.createElement(DateTimeTypeTime, { className: cnDateTimeTypeDateTime('Time'), value: valueTime, onChange: onTimeChange, minDate: minDate, maxDate: maxDate, locale: locale, multiplicitySeconds: multiplicitySeconds, multiplicityMinutes: multiplicityMinutes, multiplicityHours: multiplicityHours })))));
|
|
37
35
|
});
|
|
@@ -5,7 +5,6 @@ import ruLocale from 'date-fns/locale/ru';
|
|
|
5
5
|
import { useFlag } from '../../../hooks/useFlag/useFlag';
|
|
6
6
|
import { DateTime10Years } from '../DateTime10Years/DateTime10Years';
|
|
7
7
|
import { DateTime10YearSlider } from '../DateTime10YearSlider/DateTime10YearSlider';
|
|
8
|
-
import { DateTimeAdditionalControls } from '../DateTimeAdditionalControls/DateTimeAdditionalControls';
|
|
9
8
|
import { DateTimeLabel } from '../DateTimeLabel/DateTimeLabel';
|
|
10
9
|
import { DateTimeToggler } from '../DateTimeToggler/DateTimeToggler';
|
|
11
10
|
import { DateTimeTypeYear } from '../DateTimeTypeYear/DateTimeTypeYear';
|
|
@@ -14,7 +13,7 @@ import { getHandleSelectDate, getMonthsOfYear, getYearTitle, isEqualMount, moveT
|
|
|
14
13
|
import { dateTimePropView, dateTimePropViewDefault } from '../helpers/types';
|
|
15
14
|
import { cnDateTimeMixLayout } from '../mixs';
|
|
16
15
|
export var DateTimeTypeMonth = forwardRef(function (props, ref) {
|
|
17
|
-
var minDate = props.minDate, maxDate = props.maxDate, value = props.value, onChange = props.onChange, onChangeRange = props.onChangeRange, currentVisibleDateProp = props.currentVisibleDate, events = props.events, _a = props.locale, locale = _a === void 0 ? ruLocale : _a, className = props.className, _b = props.view, view = _b === void 0 ? dateTimePropViewDefault : _b, onMove = props.onMove, onChangeCurrentVisibleDate = props.onChangeCurrentVisibleDate,
|
|
16
|
+
var minDate = props.minDate, maxDate = props.maxDate, value = props.value, onChange = props.onChange, onChangeRange = props.onChangeRange, currentVisibleDateProp = props.currentVisibleDate, events = props.events, _a = props.locale, locale = _a === void 0 ? ruLocale : _a, className = props.className, _b = props.view, view = _b === void 0 ? dateTimePropViewDefault : _b, onMove = props.onMove, onChangeCurrentVisibleDate = props.onChangeCurrentVisibleDate, otherProps = __rest(props, ["minDate", "maxDate", "value", "onChange", "onChangeRange", "currentVisibleDate", "events", "locale", "className", "view", "onMove", "onChangeCurrentVisibleDate"]);
|
|
18
17
|
var _c = __read(useFlag(), 2), changeYear = _c[0], _d = _c[1], on = _d.on, off = _d.off;
|
|
19
18
|
useEffect(function () {
|
|
20
19
|
!changeYear && (onMove === null || onMove === void 0 ? void 0 : onMove(moveTypes[1]));
|
|
@@ -57,8 +56,7 @@ export var DateTimeTypeMonth = forwardRef(function (props, ref) {
|
|
|
57
56
|
if (view === dateTimePropView[0]) {
|
|
58
57
|
return (React.createElement("div", __assign({}, otherProps, { className: cnDateTimeMixLayout({ view: view }, [className]), ref: ref }),
|
|
59
58
|
React.createElement(DateTimeToggler, { className: cnDateTimeMixLayout('Label'), prevOnClick: handlePrev, nextOnClick: handleNext, label: pageOneLabel, onLabelClick: on }),
|
|
60
|
-
React.createElement(DateTimeYear, { years: pageOneMonthsOfYear })
|
|
61
|
-
React.createElement(DateTimeAdditionalControls, { renderAdditionalControls: renderAdditionalControls, currentVisibleDate: currentVisibleDate })));
|
|
59
|
+
React.createElement(DateTimeYear, { years: pageOneMonthsOfYear })));
|
|
62
60
|
}
|
|
63
61
|
var pageTwoCurrentVisibleDate = addYears(currentVisibleDate, 1);
|
|
64
62
|
var pageTwoLabel = getYearTitle(pageTwoCurrentVisibleDate);
|
|
@@ -79,8 +77,7 @@ export var DateTimeTypeMonth = forwardRef(function (props, ref) {
|
|
|
79
77
|
React.createElement(DateTime10Years, { years: pageOneMonthsOfYear })),
|
|
80
78
|
React.createElement("div", { className: cnDateTimeMixLayout('Page') },
|
|
81
79
|
React.createElement(DateTimeToggler, { className: cnDateTimeMixLayout('Label'), nextOnClick: handleNext, label: pageTwoLabel, onLabelClick: on }),
|
|
82
|
-
React.createElement(DateTime10Years, { years: pageTwoMonthsOfYear })))
|
|
83
|
-
React.createElement(DateTimeAdditionalControls, { renderAdditionalControls: renderAdditionalControls, currentVisibleDate: currentVisibleDate })));
|
|
80
|
+
React.createElement(DateTime10Years, { years: pageTwoMonthsOfYear })))));
|
|
84
81
|
}
|
|
85
82
|
return (React.createElement("div", __assign({}, otherProps, { className: cnDateTimeMixLayout({ view: view }, [className]), ref: ref }),
|
|
86
83
|
React.createElement(DateTime10YearSlider, { className: cnDateTimeMixLayout('Slider'), currentVisibleDate: currentVisibleDate, onChange: setCurrentVisibleDate, value: value, locale: locale }),
|
|
@@ -90,6 +87,5 @@ export var DateTimeTypeMonth = forwardRef(function (props, ref) {
|
|
|
90
87
|
React.createElement(DateTime10Years, { years: pageOneMonthsOfYear })),
|
|
91
88
|
React.createElement("div", { className: cnDateTimeMixLayout('Page') },
|
|
92
89
|
React.createElement(DateTimeLabel, { className: cnDateTimeMixLayout('Label'), label: pageTwoLabel, onClick: on, cursor: "pointer" }),
|
|
93
|
-
React.createElement(DateTime10Years, { years: pageTwoMonthsOfYear })))
|
|
94
|
-
React.createElement(DateTimeAdditionalControls, { renderAdditionalControls: renderAdditionalControls, currentVisibleDate: currentVisibleDate })));
|
|
90
|
+
React.createElement(DateTime10Years, { years: pageTwoMonthsOfYear })))));
|
|
95
91
|
});
|
|
@@ -2,7 +2,6 @@ import { __assign, __read, __rest } from "tslib";
|
|
|
2
2
|
import './DateTimeTypeTime.css';
|
|
3
3
|
import React, { forwardRef, useEffect, useMemo } from 'react';
|
|
4
4
|
import { cn } from '../../../utils/bem';
|
|
5
|
-
import { DateTimeAdditionalControls } from '../DateTimeAdditionalControls/DateTimeAdditionalControls';
|
|
6
5
|
import { DateTimeLabel } from '../DateTimeLabel/DateTimeLabel';
|
|
7
6
|
import { DateTimeTimeColumn } from '../DateTimeTimeColumn/DateTimeTimeColumn';
|
|
8
7
|
import { getTimeTitle, moveTypes } from '../helpers';
|
|
@@ -11,7 +10,7 @@ var cnDateTimeTypeTime = cn('DateTimeTypeTime');
|
|
|
11
10
|
export var DateTimeTypeTime = forwardRef(function (props, ref) {
|
|
12
11
|
var _a;
|
|
13
12
|
var _b, _c, _d;
|
|
14
|
-
var localeProp = props.locale, value = props.value, className = props.className, onChange = props.onChange, maxDate = props.maxDate, minDate = props.minDate, _e = props.multiplicityHours, multiplicityHours = _e === void 0 ? 1 : _e, _f = props.multiplicityMinutes, multiplicityMinutes = _f === void 0 ? 1 : _f, _g = props.multiplicitySeconds, multiplicitySeconds = _g === void 0 ? 1 : _g, onMove = props.onMove,
|
|
13
|
+
var localeProp = props.locale, value = props.value, className = props.className, onChange = props.onChange, maxDate = props.maxDate, minDate = props.minDate, _e = props.multiplicityHours, multiplicityHours = _e === void 0 ? 1 : _e, _f = props.multiplicityMinutes, multiplicityMinutes = _f === void 0 ? 1 : _f, _g = props.multiplicitySeconds, multiplicitySeconds = _g === void 0 ? 1 : _g, onMove = props.onMove, otherProps = __rest(props, ["locale", "value", "className", "onChange", "maxDate", "minDate", "multiplicityHours", "multiplicityMinutes", "multiplicitySeconds", "onMove"]);
|
|
15
14
|
useEffect(function () {
|
|
16
15
|
onMove === null || onMove === void 0 ? void 0 : onMove(moveTypes[3]);
|
|
17
16
|
}, []);
|
|
@@ -29,6 +28,5 @@ export var DateTimeTypeTime = forwardRef(function (props, ref) {
|
|
|
29
28
|
React.createElement("div", { className: cnDateTimeTypeTime('Grid') },
|
|
30
29
|
React.createElement(DateTimeTimeColumn, { label: locale.hours, items: hours }),
|
|
31
30
|
React.createElement(DateTimeTimeColumn, { label: locale.minutes, items: minutes }),
|
|
32
|
-
React.createElement(DateTimeTimeColumn, { label: locale.seconds, items: seconds }))
|
|
33
|
-
React.createElement(DateTimeAdditionalControls, { renderAdditionalControls: renderAdditionalControls })));
|
|
31
|
+
React.createElement(DateTimeTimeColumn, { label: locale.seconds, items: seconds }))));
|
|
34
32
|
});
|
|
@@ -4,14 +4,13 @@ import { addYears, startOfDecade } from 'date-fns';
|
|
|
4
4
|
import ruLocale from 'date-fns/locale/ru';
|
|
5
5
|
import { DateTime10Years } from '../DateTime10Years/DateTime10Years';
|
|
6
6
|
import { DateTime100YearSlider } from '../DateTime100YearSlider/DateTime100YearSlider';
|
|
7
|
-
import { DateTimeAdditionalControls } from '../DateTimeAdditionalControls/DateTimeAdditionalControls';
|
|
8
7
|
import { DateTimeLabel } from '../DateTimeLabel/DateTimeLabel';
|
|
9
8
|
import { DateTimeToggler } from '../DateTimeToggler/DateTimeToggler';
|
|
10
9
|
import { getDecadeTitle, getHandleSelectDate, getYearsOfDecade, isEqualYear, moveTypes, useCurrentVisibleDate, } from '../helpers';
|
|
11
10
|
import { dateTimePropView, dateTimePropViewDefault } from '../helpers/types';
|
|
12
11
|
import { cnDateTimeMixLayout } from '../mixs';
|
|
13
12
|
export var DateTimeTypeYear = forwardRef(function (props, ref) {
|
|
14
|
-
var minDate = props.minDate, maxDate = props.maxDate, value = props.value, onChange = props.onChange, onChangeRange = props.onChangeRange, currentVisibleDateProp = props.currentVisibleDate, events = props.events, _a = props.locale, locale = _a === void 0 ? ruLocale : _a, className = props.className, _b = props.view, view = _b === void 0 ? dateTimePropViewDefault : _b, onMove = props.onMove, onChangeCurrentVisibleDate = props.onChangeCurrentVisibleDate,
|
|
13
|
+
var minDate = props.minDate, maxDate = props.maxDate, value = props.value, onChange = props.onChange, onChangeRange = props.onChangeRange, currentVisibleDateProp = props.currentVisibleDate, events = props.events, _a = props.locale, locale = _a === void 0 ? ruLocale : _a, className = props.className, _b = props.view, view = _b === void 0 ? dateTimePropViewDefault : _b, onMove = props.onMove, onChangeCurrentVisibleDate = props.onChangeCurrentVisibleDate, otherProps = __rest(props, ["minDate", "maxDate", "value", "onChange", "onChangeRange", "currentVisibleDate", "events", "locale", "className", "view", "onMove", "onChangeCurrentVisibleDate"]);
|
|
15
14
|
useEffect(function () {
|
|
16
15
|
onMove === null || onMove === void 0 ? void 0 : onMove(moveTypes[0]);
|
|
17
16
|
}, []);
|
|
@@ -46,8 +45,7 @@ export var DateTimeTypeYear = forwardRef(function (props, ref) {
|
|
|
46
45
|
if (view === dateTimePropView[0]) {
|
|
47
46
|
return (React.createElement("div", __assign({}, otherProps, { className: cnDateTimeMixLayout({ view: view }, [className]), ref: ref }),
|
|
48
47
|
React.createElement(DateTimeToggler, { className: cnDateTimeMixLayout('Label'), prevOnClick: handlePrev, nextOnClick: handleNext, label: pageOneLabel }),
|
|
49
|
-
React.createElement(DateTime10Years, { years: pageOneYearsOfDecade })
|
|
50
|
-
React.createElement(DateTimeAdditionalControls, { renderAdditionalControls: renderAdditionalControls, currentVisibleDate: currentVisibleDate })));
|
|
48
|
+
React.createElement(DateTime10Years, { years: pageOneYearsOfDecade })));
|
|
51
49
|
}
|
|
52
50
|
var pageTwoCurrentVisibleDate = addYears(currentVisibleDate, 10);
|
|
53
51
|
var pageTwoYearsOfDecade = getYearsOfDecade({
|
|
@@ -61,15 +59,13 @@ export var DateTimeTypeYear = forwardRef(function (props, ref) {
|
|
|
61
59
|
});
|
|
62
60
|
var pageTwoLabel = getDecadeTitle(pageTwoCurrentVisibleDate);
|
|
63
61
|
if (view === dateTimePropView[1]) {
|
|
64
|
-
return (React.createElement(
|
|
65
|
-
React.createElement("div",
|
|
66
|
-
React.createElement(
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
React.createElement(
|
|
70
|
-
|
|
71
|
-
React.createElement(DateTime10Years, { years: pageTwoYearsOfDecade }))),
|
|
72
|
-
React.createElement(DateTimeAdditionalControls, { renderAdditionalControls: renderAdditionalControls, currentVisibleDate: currentVisibleDate })));
|
|
62
|
+
return (React.createElement("div", __assign({}, otherProps, { className: cnDateTimeMixLayout({ view: view }, [className]), ref: ref }),
|
|
63
|
+
React.createElement("div", { className: cnDateTimeMixLayout('Page') },
|
|
64
|
+
React.createElement(DateTimeToggler, { className: cnDateTimeMixLayout('Label'), prevOnClick: handlePrev, label: pageOneLabel }),
|
|
65
|
+
React.createElement(DateTime10Years, { years: pageOneYearsOfDecade })),
|
|
66
|
+
React.createElement("div", { className: cnDateTimeMixLayout('Page') },
|
|
67
|
+
React.createElement(DateTimeToggler, { className: cnDateTimeMixLayout('Label'), nextOnClick: handleNext, label: pageTwoLabel }),
|
|
68
|
+
React.createElement(DateTime10Years, { years: pageTwoYearsOfDecade }))));
|
|
73
69
|
}
|
|
74
70
|
return (React.createElement("div", __assign({}, otherProps, { className: cnDateTimeMixLayout({ view: view }, [className]), ref: ref }),
|
|
75
71
|
React.createElement(DateTime100YearSlider, { className: cnDateTimeMixLayout('Slider'), currentVisibleDate: currentVisibleDate, onChange: setCurrentVisibleDate, value: value, locale: locale }),
|
|
@@ -79,6 +75,5 @@ export var DateTimeTypeYear = forwardRef(function (props, ref) {
|
|
|
79
75
|
React.createElement(DateTime10Years, { years: pageOneYearsOfDecade })),
|
|
80
76
|
React.createElement("div", { className: cnDateTimeMixLayout('Page') },
|
|
81
77
|
React.createElement(DateTimeLabel, { className: cnDateTimeMixLayout('Label'), label: pageTwoLabel }),
|
|
82
|
-
React.createElement(DateTime10Years, { years: pageTwoYearsOfDecade })))
|
|
83
|
-
React.createElement(DateTimeAdditionalControls, { renderAdditionalControls: renderAdditionalControls, currentVisibleDate: currentVisibleDate })));
|
|
78
|
+
React.createElement(DateTime10Years, { years: pageTwoYearsOfDecade })))));
|
|
84
79
|
});
|
|
@@ -45,14 +45,8 @@ export declare type DateTimeProps<TYPE extends DateTimePropType = 'date'> = Prop
|
|
|
45
45
|
multiplicityMinutes?: number;
|
|
46
46
|
multiplicityHours?: number;
|
|
47
47
|
onMove?: (type: MoveType) => void;
|
|
48
|
-
renderAdditionalControls?: DateTimeAdditionalControlRenderProp;
|
|
49
48
|
timeFor?: DateTimePropTimeFor<TYPE>;
|
|
50
49
|
}, HTMLDivElement>;
|
|
51
|
-
export declare type DateTimeAdditionalControlRenderProp = React.ReactNode | React.ReactNode[] | AdditionalControlRenderType;
|
|
52
|
-
export declare type AdditionalControlRenderType = (props: DateTimeAdditionalControlRenderProps) => React.ReactNode | React.ReactNode[];
|
|
53
|
-
export declare type DateTimeAdditionalControlRenderProps = {
|
|
54
|
-
currentVisibleDate?: Date;
|
|
55
|
-
};
|
|
56
50
|
export declare type DateTimeComponent = <TYPE extends DateTimePropType = 'date'>(props: DateTimeProps<TYPE>) => React.ReactElement | null;
|
|
57
51
|
export declare type DateTimeTypeComponent<TYPE extends DateTimePropType> = (props: Omit<DateTimeProps<TYPE>, 'type'>) => React.ReactElement | null;
|
|
58
52
|
export declare type HandleSelectDate = (props: {
|
|
@@ -4,9 +4,13 @@ declare type GetCurrentVisibleDateProps = {
|
|
|
4
4
|
currentVisibleDate: Date | undefined;
|
|
5
5
|
minDate: Date | undefined;
|
|
6
6
|
maxDate: Date | undefined;
|
|
7
|
-
value: Date | DateRange | undefined;
|
|
7
|
+
value: Date | DateRange | undefined | null;
|
|
8
8
|
startOfUnit: (date: Date) => Date;
|
|
9
9
|
onChangeCurrentVisibleDate?: (date: Date) => void;
|
|
10
10
|
};
|
|
11
|
-
export declare
|
|
11
|
+
export declare type UseCurrentVisibleDateProps = GetCurrentVisibleDateProps & {
|
|
12
|
+
onChangeCurrentVisibleDate?: (date: Date) => void;
|
|
13
|
+
};
|
|
14
|
+
export declare const getCurrentVisibleDate: (props: GetCurrentVisibleDateProps) => Date;
|
|
15
|
+
export declare const useCurrentVisibleDate: (props: UseCurrentVisibleDateProps) => [Date, import("react").Dispatch<import("react").SetStateAction<Date>>];
|
|
12
16
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect, useMemo, useState } from 'react';
|
|
2
2
|
import { isDateInRange } from './isDateInRange';
|
|
3
|
-
var
|
|
3
|
+
var calculateCurrentVisibleDate = function (_a) {
|
|
4
4
|
var currentVisibleDate = _a.currentVisibleDate, minDate = _a.minDate, maxDate = _a.maxDate, value = _a.value;
|
|
5
5
|
if (currentVisibleDate) {
|
|
6
6
|
return currentVisibleDate;
|
|
@@ -34,10 +34,13 @@ var getCurrentVisibleDate = function (_a) {
|
|
|
34
34
|
}
|
|
35
35
|
return currentDate;
|
|
36
36
|
};
|
|
37
|
+
export var getCurrentVisibleDate = function (props) {
|
|
38
|
+
return props.startOfUnit(calculateCurrentVisibleDate(props));
|
|
39
|
+
};
|
|
37
40
|
export var useCurrentVisibleDate = function (props) {
|
|
38
|
-
var _a, _b, _c;
|
|
41
|
+
var _a, _b, _c, _d;
|
|
39
42
|
var currentVisibleDate = useMemo(function () {
|
|
40
|
-
return
|
|
43
|
+
return getCurrentVisibleDate(props);
|
|
41
44
|
}, [
|
|
42
45
|
((_a = props.currentVisibleDate) === null || _a === void 0 ? void 0 : _a.getTime()) || 0,
|
|
43
46
|
((_b = props.minDate) === null || _b === void 0 ? void 0 : _b.getTime()) || 0,
|
|
@@ -45,6 +48,6 @@ export var useCurrentVisibleDate = function (props) {
|
|
|
45
48
|
]);
|
|
46
49
|
var state = useState(currentVisibleDate);
|
|
47
50
|
useEffect(function () { return state[1](currentVisibleDate); }, [currentVisibleDate.getTime()]);
|
|
48
|
-
useEffect(function () { var _a; return (_a = props.onChangeCurrentVisibleDate) === null || _a === void 0 ? void 0 : _a.call(props, state[0]); }, [state[0].getTime()]);
|
|
51
|
+
useEffect(function () { var _a; return state[0] && ((_a = props.onChangeCurrentVisibleDate) === null || _a === void 0 ? void 0 : _a.call(props, state[0])); }, [(_d = state[0]) === null || _d === void 0 ? void 0 : _d.getTime()]);
|
|
49
52
|
return state;
|
|
50
53
|
};
|
|
@@ -1,8 +1,42 @@
|
|
|
1
1
|
.Popover {
|
|
2
2
|
position: absolute;
|
|
3
|
-
top: var(--popover-top);
|
|
4
|
-
left: var(--popover-left);
|
|
5
3
|
visibility: var(--popover-visibility);
|
|
6
4
|
width: var(--popover-width);
|
|
7
5
|
pointer-events: var(--popover-pointer-events);
|
|
8
6
|
}
|
|
7
|
+
|
|
8
|
+
.Popover_direction_downCenter,
|
|
9
|
+
.Popover_direction_downRight,
|
|
10
|
+
.Popover_direction_downLeft,
|
|
11
|
+
.Popover_direction_downStartLeft,
|
|
12
|
+
.Popover_direction_downStartRight {
|
|
13
|
+
top: calc(var(--popover-top) + var(--popover-offset));
|
|
14
|
+
left: var(--popover-left);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.Popover_direction_upCenter,
|
|
18
|
+
.Popover_direction_upRight,
|
|
19
|
+
.Popover_direction_upLeft,
|
|
20
|
+
.Popover_direction_upStartLeft,
|
|
21
|
+
.Popover_direction_upStartRight {
|
|
22
|
+
top: calc(var(--popover-top) - var(--popover-offset));
|
|
23
|
+
left: var(--popover-left);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.Popover_direction_leftUp,
|
|
27
|
+
.Popover_direction_leftCenter,
|
|
28
|
+
.Popover_direction_leftDown,
|
|
29
|
+
.Popover_direction_leftStartUp,
|
|
30
|
+
.Popover_direction_leftStartDown {
|
|
31
|
+
top: var(--popover-top);
|
|
32
|
+
left: calc(var(--popover-left) - var(--popover-offset));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.Popover_direction_rightUp,
|
|
36
|
+
.Popover_direction_rightCenter,
|
|
37
|
+
.Popover_direction_rightDown,
|
|
38
|
+
.Popover_direction_rightStartUp,
|
|
39
|
+
.Popover_direction_rightStartDown {
|
|
40
|
+
top: var(--popover-top);
|
|
41
|
+
left: calc(var(--popover-left) + var(--popover-offset));
|
|
42
|
+
}
|
|
@@ -4,7 +4,6 @@ import React, { useEffect } from 'react';
|
|
|
4
4
|
import { useClickOutside } from '../../hooks/useClickOutside/useClickOutside';
|
|
5
5
|
import { useComponentSize } from '../../hooks/useComponentSize/useComponentSize';
|
|
6
6
|
import { useForkRef } from '../../hooks/useForkRef/useForkRef';
|
|
7
|
-
import { useThemeVars } from '../../hooks/useThemeVars/useThemeVars';
|
|
8
7
|
import { cn } from '../../utils/bem';
|
|
9
8
|
import { PortalWithTheme, usePortalContext } from '../PortalWithTheme/PortalWithTheme';
|
|
10
9
|
import { useTheme } from '../Theme/Theme';
|
|
@@ -86,7 +85,6 @@ export var Popover = React.forwardRef(function (props, componentRef) {
|
|
|
86
85
|
setBannedDirections(function (state) { return (state.length ? [] : state); });
|
|
87
86
|
previousDirectionRef.current = null;
|
|
88
87
|
};
|
|
89
|
-
var vars = useThemeVars();
|
|
90
88
|
var updateAnchorClientRect = function () { var _a; return setAnchorClientRect((_a = anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()); };
|
|
91
89
|
React.useLayoutEffect(updateAnchorClientRect, [anchorSize]);
|
|
92
90
|
usePopoverReposition({
|
|
@@ -104,9 +102,6 @@ export var Popover = React.forwardRef(function (props, componentRef) {
|
|
|
104
102
|
width: document.documentElement.clientWidth,
|
|
105
103
|
height: document.documentElement.clientHeight
|
|
106
104
|
},
|
|
107
|
-
offset: typeof offset === 'string'
|
|
108
|
-
? vars.space["--space-" + offset]
|
|
109
|
-
: offset,
|
|
110
105
|
arrowOffset: arrowOffset,
|
|
111
106
|
direction: passedDirection,
|
|
112
107
|
possibleDirections: possibleDirections,
|
|
@@ -134,6 +129,6 @@ export var Popover = React.forwardRef(function (props, componentRef) {
|
|
|
134
129
|
// Главное не сбрасывать при изменении размеров поповера, т.к. именно оно может вызвать бесконечный перебор
|
|
135
130
|
React.useLayoutEffect(resetBannedDirections, [props]);
|
|
136
131
|
var content = isRenderProp(children) ? children(direction) : children;
|
|
137
|
-
return (React.createElement(PortalWithTheme, __assign({}, otherProps, { preset: theme, className: cnPopover(
|
|
132
|
+
return (React.createElement(PortalWithTheme, __assign({}, otherProps, { preset: theme, className: cnPopover({ direction: direction }, [className]), container: window.document.body, ref: useForkRef([ref, componentRef]), style: __assign(__assign({}, style), (_a = {}, _a['--popover-top'] = ((position === null || position === void 0 ? void 0 : position.y) || 0) + window.scrollY + "px", _a['--popover-left'] = ((position === null || position === void 0 ? void 0 : position.x) || 0) + window.scrollX + "px", _a["--popover-width"] = equalAnchorWidth ? anchorSize.width + "px" : undefined, _a["--popover-pointer-events"] = isInteractive ? undefined : 'none', _a["--popover-visibility"] = position ? undefined : 'hidden', _a["--popover-offset"] = typeof offset === 'string' ? "var(--space-" + offset + ")" : offset + "px", _a)) }),
|
|
138
133
|
React.createElement(ContextConsumer, { onClickOutside: onClickOutside, ignoreClicksInsideRefs: [ref, anchorRef || { current: null }] }, content)));
|
|
139
134
|
});
|
|
@@ -2,11 +2,10 @@ import { Direction, Position } from './Popover';
|
|
|
2
2
|
declare type Size = Pick<ClientRect, 'width' | 'height'>;
|
|
3
3
|
declare type PositionsByDirection = Record<Direction, NonNullable<Position>>;
|
|
4
4
|
export declare const convertPixelsToNumber: (pixels: string) => number;
|
|
5
|
-
export declare const getPositionsByDirection: ({ contentSize, anchorSize, position: { x, y },
|
|
5
|
+
export declare const getPositionsByDirection: ({ contentSize, anchorSize, position: { x, y }, arrowOffset, }: {
|
|
6
6
|
contentSize: Size;
|
|
7
7
|
anchorSize: Size;
|
|
8
8
|
position: NonNullable<Position>;
|
|
9
|
-
offset: number;
|
|
10
9
|
arrowOffset?: number | undefined;
|
|
11
10
|
}) => PositionsByDirection;
|
|
12
11
|
declare type ComputedPositionAndDirectionParams = {
|
|
@@ -21,7 +20,7 @@ declare type ComputedPositionAndDirectionParams = {
|
|
|
21
20
|
possibleDirections: readonly Direction[];
|
|
22
21
|
bannedDirections: readonly Direction[];
|
|
23
22
|
};
|
|
24
|
-
export declare const getComputedPositionAndDirection: ({ position: initialPosition, contentSize, viewportSize, anchorSize,
|
|
23
|
+
export declare const getComputedPositionAndDirection: ({ position: initialPosition, contentSize, viewportSize, anchorSize, arrowOffset, direction: initialDirection, possibleDirections, bannedDirections, spareDirection, }: ComputedPositionAndDirectionParams) => {
|
|
25
24
|
direction: Direction;
|
|
26
25
|
position: Position;
|
|
27
26
|
};
|
|
@@ -7,22 +7,22 @@ export var convertPixelsToNumber = function (pixels) {
|
|
|
7
7
|
return Number(pixels.slice(0, pixels.length - 2));
|
|
8
8
|
};
|
|
9
9
|
export var getPositionsByDirection = function (_a) {
|
|
10
|
-
var contentSize = _a.contentSize, anchorSize = _a.anchorSize, _b = _a.position, x = _b.x, y = _b.y,
|
|
10
|
+
var contentSize = _a.contentSize, anchorSize = _a.anchorSize, _b = _a.position, x = _b.x, y = _b.y, _c = _a.arrowOffset, arrowOffset = _c === void 0 ? 0 : _c;
|
|
11
11
|
var contentWidth = contentSize.width, contentHeight = contentSize.height;
|
|
12
12
|
var anchorWidth = anchorSize.width, anchorHeight = anchorSize.height;
|
|
13
13
|
var anchorCenter = {
|
|
14
14
|
x: x + anchorWidth / 2,
|
|
15
15
|
y: y + anchorHeight / 2
|
|
16
16
|
};
|
|
17
|
-
var xForRightDirections = x + anchorWidth
|
|
18
|
-
var xForLeftDirections = x - contentWidth
|
|
17
|
+
var xForRightDirections = x + anchorWidth;
|
|
18
|
+
var xForLeftDirections = x - contentWidth;
|
|
19
19
|
var xForVerticalDirections = {
|
|
20
20
|
right: anchorCenter.x - arrowOffset,
|
|
21
21
|
center: anchorCenter.x - contentWidth / 2,
|
|
22
22
|
left: anchorCenter.x - contentWidth + arrowOffset
|
|
23
23
|
};
|
|
24
|
-
var yForDownDirections = y + anchorHeight
|
|
25
|
-
var yForUpDirections = y - contentHeight
|
|
24
|
+
var yForDownDirections = y + anchorHeight;
|
|
25
|
+
var yForUpDirections = y - contentHeight;
|
|
26
26
|
var yForHorizontalDirections = {
|
|
27
27
|
up: anchorCenter.y - contentHeight + arrowOffset,
|
|
28
28
|
center: anchorCenter.y - contentHeight / 2,
|
|
@@ -56,16 +56,14 @@ export var getPositionsByDirection = function (_a) {
|
|
|
56
56
|
};
|
|
57
57
|
};
|
|
58
58
|
export var getComputedPositionAndDirection = function (_a) {
|
|
59
|
-
var initialPosition = _a.position, contentSize = _a.contentSize, viewportSize = _a.viewportSize, _b = _a.anchorSize, anchorSize = _b === void 0 ? { width: 0, height: 0 } : _b,
|
|
59
|
+
var initialPosition = _a.position, contentSize = _a.contentSize, viewportSize = _a.viewportSize, _b = _a.anchorSize, anchorSize = _b === void 0 ? { width: 0, height: 0 } : _b, arrowOffset = _a.arrowOffset, initialDirection = _a.direction, possibleDirections = _a.possibleDirections, bannedDirections = _a.bannedDirections, spareDirection = _a.spareDirection;
|
|
60
60
|
if (!initialPosition) {
|
|
61
61
|
return { position: initialPosition, direction: initialDirection };
|
|
62
62
|
}
|
|
63
|
-
var currentOffset = typeof offset === 'string' ? convertPixelsToNumber(offset) : offset;
|
|
64
63
|
var positionsByDirection = getPositionsByDirection({
|
|
65
64
|
contentSize: contentSize,
|
|
66
65
|
anchorSize: anchorSize,
|
|
67
66
|
position: initialPosition,
|
|
68
|
-
offset: currentOffset,
|
|
69
67
|
arrowOffset: arrowOffset
|
|
70
68
|
});
|
|
71
69
|
var direction = __spread([initialDirection], possibleDirections).filter(function (dir) { return !bannedDirections.includes(dir); })
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
.RadioGroup {
|
|
2
|
+
display: -webkit-box;
|
|
3
|
+
display: -ms-flexbox;
|
|
4
|
+
display: flex;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.RadioGroup_direction_column {
|
|
8
|
+
-webkit-box-orient: vertical;
|
|
9
|
+
-webkit-box-direction: normal;
|
|
10
|
+
-ms-flex-direction: column;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.RadioGroup_direction_column .RadioGroup-Item:not(:last-child) {
|
|
15
|
+
margin-bottom: var(--offset);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.RadioGroup_direction_row {
|
|
19
|
+
-webkit-box-orient: horizontal;
|
|
20
|
+
-webkit-box-direction: normal;
|
|
21
|
+
-ms-flex-direction: row;
|
|
22
|
+
flex-direction: row;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.RadioGroup_direction_row .RadioGroup-Item:not(:last-child) {
|
|
26
|
+
margin-right: var(--offset);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.RadioGroup_size_m {
|
|
30
|
+
--offset: var(--space-xs);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.RadioGroup_size_l {
|
|
34
|
+
--offset: var(--space-s);
|
|
35
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
import './RadioGroup.css';
|
|
3
|
+
import React, { forwardRef } from 'react';
|
|
4
|
+
import { useChoiceGroup } from '../../hooks/useChoiceGroup/useChoiceGroup';
|
|
5
|
+
import { cn } from '../../utils/bem';
|
|
6
|
+
import { Radio } from '../Radio/Radio';
|
|
7
|
+
import { withDefaultGetters } from './helper';
|
|
8
|
+
import { radioGroupDefaultDirection, radioGroupDefaultSize, radioGroupDefaultView, radioGroupPropAlignDefault, } from './types';
|
|
9
|
+
export var cnRadioGroup = cn('RadioGroup');
|
|
10
|
+
function RadioGroupRender(props, ref) {
|
|
11
|
+
var _a = withDefaultGetters(props), _b = _a.value, value = _b === void 0 ? null : _b, items = _a.items, getItemLabel = _a.getItemLabel, getItemDisabled = _a.getItemDisabled, onChange = _a.onChange, name = _a.name, _c = _a.direction, direction = _c === void 0 ? radioGroupDefaultDirection : _c, _d = _a.size, size = _d === void 0 ? radioGroupDefaultSize : _d, _e = _a.view, view = _e === void 0 ? radioGroupDefaultView : _e, _f = _a.align, align = _f === void 0 ? radioGroupPropAlignDefault : _f, _g = _a.disabled, disabled = _g === void 0 ? false : _g, className = _a.className, otherProps = __rest(_a, ["value", "items", "getItemLabel", "getItemDisabled", "onChange", "name", "direction", "size", "view", "align", "disabled", "className"]);
|
|
12
|
+
var _h = useChoiceGroup({
|
|
13
|
+
value: value,
|
|
14
|
+
getKey: getItemLabel,
|
|
15
|
+
callBack: onChange,
|
|
16
|
+
multiple: false
|
|
17
|
+
}), getOnChange = _h.getOnChange, getChecked = _h.getChecked;
|
|
18
|
+
return (React.createElement("div", __assign({}, otherProps, { ref: ref, className: cnRadioGroup({ direction: direction, size: size, view: view }, [className]) }), items.map(function (item) { return (React.createElement(Radio, { align: align, key: getItemLabel(item), label: getItemLabel(item), size: size, view: view, name: name, disabled: disabled || (!!getItemDisabled && getItemDisabled(item)), checked: getChecked(item), onChange: function (_a) {
|
|
19
|
+
var e = _a.e;
|
|
20
|
+
return getOnChange(item)(e);
|
|
21
|
+
}, className: cnRadioGroup('Item') })); })));
|
|
22
|
+
}
|
|
23
|
+
export var RadioGroup = forwardRef(RadioGroupRender);
|
|
24
|
+
export * from './types';
|