@sberbusiness/triplex-next 1.47.0 → 1.48.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/chunks/{AlertProcessSpoiler-Bws9nhT_.js → AlertProcessSpoiler-Sz4nOpAx.js} +16 -16
- package/chunks/{AlertProcessSpoiler-Bws9nhT_.js.map → AlertProcessSpoiler-Sz4nOpAx.js.map} +1 -1
- package/chunks/{CalendarViewItem-Bikp6svb.js → CalendarViewItem-8tfDv-A9.js} +20 -20
- package/chunks/{CalendarViewItem-Bikp6svb.js.map → CalendarViewItem-8tfDv-A9.js.map} +1 -1
- package/chunks/Card.module-kIFwMArU.js +32 -0
- package/chunks/Card.module-kIFwMArU.js.map +1 -0
- package/chunks/Carousel.module-D_IzMMFv.js +30 -0
- package/chunks/Carousel.module-D_IzMMFv.js.map +1 -0
- package/chunks/CheckboxTreeExtended.module-C5EvlwgD.js +24 -0
- package/chunks/CheckboxTreeExtended.module-C5EvlwgD.js.map +1 -0
- package/chunks/{Chip-DNn2jKWv.js → Chip-DF_tx9l4.js} +16 -16
- package/chunks/{Chip-DNn2jKWv.js.map → Chip-DF_tx9l4.js.map} +1 -1
- package/chunks/Confirm.module-DoO5fE2O.js +24 -0
- package/chunks/Confirm.module-DoO5fE2O.js.map +1 -0
- package/chunks/{DropdownListItem-B9cIx_8A.js → DropdownListItem-cXbzcYKR.js} +10 -10
- package/chunks/{DropdownListItem-B9cIx_8A.js.map → DropdownListItem-cXbzcYKR.js.map} +1 -1
- package/chunks/DropdownMobile.module-TkQoE9iE.js +40 -0
- package/chunks/DropdownMobile.module-TkQoE9iE.js.map +1 -0
- package/chunks/Footer.module-C4IbSGY2.js +12 -0
- package/chunks/Footer.module-C4IbSGY2.js.map +1 -0
- package/chunks/{HeaderLayoutSidebar.module-CNgPkokh.js → HeaderLayoutSidebar.module-lDoPFfsH.js} +4 -4
- package/chunks/HeaderLayoutSidebar.module-lDoPFfsH.js.map +1 -0
- package/chunks/HeaderTabs.module-VdomyB_Y.js +12 -0
- package/chunks/HeaderTabs.module-VdomyB_Y.js.map +1 -0
- package/chunks/{HeaderTitle.module-CFABp2sW.js → HeaderTitle.module-C9E0q3CQ.js} +4 -4
- package/chunks/HeaderTitle.module-C9E0q3CQ.js.map +1 -0
- package/chunks/ImageGalleryExtendedMain.module-Cagrj_Nc.js +28 -0
- package/chunks/ImageGalleryExtendedMain.module-Cagrj_Nc.js.map +1 -0
- package/chunks/{ImageGalleryExtendedThumb-Bm2vFDwB.js → ImageGalleryExtendedThumb-CDVXTjWG.js} +5 -5
- package/chunks/{ImageGalleryExtendedThumb-Bm2vFDwB.js.map → ImageGalleryExtendedThumb-CDVXTjWG.js.map} +1 -1
- package/chunks/IslandAccordion.module-Dws2bgrw.js +44 -0
- package/chunks/IslandAccordion.module-Dws2bgrw.js.map +1 -0
- package/chunks/IslandWidgetFooter.module-CYjuqDDS.js +18 -0
- package/chunks/IslandWidgetFooter.module-CYjuqDDS.js.map +1 -0
- package/chunks/IslandWidgetHeader.module-B-ANb6Z4.js +28 -0
- package/chunks/IslandWidgetHeader.module-B-ANb6Z4.js.map +1 -0
- package/chunks/{LightBoxContent-b3ATzdz4.js → LightBoxContent-DVF6KT49.js} +16 -16
- package/chunks/{LightBoxContent-b3ATzdz4.js.map → LightBoxContent-DVF6KT49.js.map} +1 -1
- package/chunks/LightBoxControls.module-B5LZnYV0.js +26 -0
- package/chunks/LightBoxControls.module-B5LZnYV0.js.map +1 -0
- package/chunks/{LightBoxSideOverlayClose.module-rUoDHQx6.js → LightBoxSideOverlayClose.module-B0gINWmN.js} +4 -4
- package/chunks/LightBoxSideOverlayClose.module-B0gINWmN.js.map +1 -0
- package/chunks/{ListItemControlsButton-DATlwch8.js → ListItemControlsButton-DkpPeYFO.js} +9 -9
- package/chunks/{ListItemControlsButton-DATlwch8.js.map → ListItemControlsButton-DkpPeYFO.js.map} +1 -1
- package/chunks/ListItemTail.module-C6aqPWcB.js +18 -0
- package/chunks/ListItemTail.module-C6aqPWcB.js.map +1 -0
- package/chunks/ListMasterFooter.module-zjZkQ-qB.js +14 -0
- package/chunks/ListMasterFooter.module-zjZkQ-qB.js.map +1 -0
- package/chunks/ModalWindow.module-DdNfkkzZ.js +28 -0
- package/chunks/ModalWindow.module-DdNfkkzZ.js.map +1 -0
- package/chunks/Notification.module-DCYm_eyJ.js +34 -0
- package/chunks/Notification.module-DCYm_eyJ.js.map +1 -0
- package/chunks/Overlay.module-HJMjZts7.js +30 -0
- package/chunks/Overlay.module-HJMjZts7.js.map +1 -0
- package/chunks/Page.module-DEYdpdTe.js +17 -0
- package/chunks/Page.module-DEYdpdTe.js.map +1 -0
- package/chunks/SMSField.module-BxScHd0G.js +30 -0
- package/chunks/SMSField.module-BxScHd0G.js.map +1 -0
- package/chunks/SliderExtendedMarks.module-qzI-tGBX.js +24 -0
- package/chunks/SliderExtendedMarks.module-qzI-tGBX.js.map +1 -0
- package/chunks/{SliderExtendedRail-CQjM0BDm.js → SliderExtendedRail-Co04cta-.js} +5 -5
- package/chunks/{SliderExtendedRail-CQjM0BDm.js.map → SliderExtendedRail-Co04cta-.js.map} +1 -1
- package/chunks/StatusTracker.module-L20Tw6M8.js +44 -0
- package/chunks/StatusTracker.module-L20Tw6M8.js.map +1 -0
- package/chunks/{StepperStepArrowBorder-DDMmOSKy.js → StepperStepArrowBorder-B5HGnDby.js} +16 -16
- package/chunks/{StepperStepArrowBorder-DDMmOSKy.js.map → StepperStepArrowBorder-B5HGnDby.js.map} +1 -1
- package/chunks/{SuggestFieldMobileDropdownHint-BESIIDZs.js → SuggestFieldMobileDropdownHint-BeT6Ch46.js} +3 -3
- package/chunks/SuggestFieldMobileDropdownHint-BeT6Ch46.js.map +1 -0
- package/chunks/TableFooter.module-BivJuNYR.js +22 -0
- package/chunks/TableFooter.module-BivJuNYR.js.map +1 -0
- package/chunks/TabsExtended.module-Bv7Xqx7g.js +26 -0
- package/chunks/TabsExtended.module-Bv7Xqx7g.js.map +1 -0
- package/chunks/TabsLine.module-v6dP7lY_.js +36 -0
- package/chunks/TabsLine.module-v6dP7lY_.js.map +1 -0
- package/chunks/TooltipDesktop.module-Bg6ol2mk.js +32 -0
- package/chunks/TooltipDesktop.module-Bg6ol2mk.js.map +1 -0
- package/chunks/TreeView.module-BeU0CUun.js +12 -0
- package/chunks/TreeView.module-BeU0CUun.js.map +1 -0
- package/chunks/UploadZoneInput-85sqlQnz.js +53 -0
- package/chunks/UploadZoneInput-85sqlQnz.js.map +1 -0
- package/chunks/{constants-DUgeKsf9.js → constants-Cdrw5rn3.js} +27 -27
- package/chunks/{constants-DUgeKsf9.js.map → constants-Cdrw5rn3.js.map} +1 -1
- package/chunks/{utils-DhEse9-I.js → utils-BtxCEP1y.js} +6 -6
- package/chunks/{utils-DhEse9-I.js.map → utils-BtxCEP1y.js.map} +1 -1
- package/chunks/{utils-c0Fgm-SD.js → utils-DTHPgHei.js} +27 -27
- package/chunks/{utils-c0Fgm-SD.js.map → utils-DTHPgHei.js.map} +1 -1
- package/chunks/{utils-tt7vKg1E.js → utils-Dfb5lzLn.js} +11 -11
- package/chunks/{utils-tt7vKg1E.js.map → utils-Dfb5lzLn.js.map} +1 -1
- package/chunks/{utils-CvDoNsRH.js → utils-Xoc7ar3d.js} +10 -10
- package/chunks/{utils-CvDoNsRH.js.map → utils-Xoc7ar3d.js.map} +1 -1
- package/components/Alert/AlertContext/AlertContext.js +7 -7
- package/components/Alert/AlertProcess/AlertProcess.js +2 -2
- package/components/Alert/AlertProcess/components/AlertProcessSpoiler.js +1 -1
- package/components/Amount/Amount.js +2 -2
- package/components/AmountField/AmountField.js +8 -8
- package/components/Avatar/Avatar.js +13 -13
- package/components/Badge/Badge.js +4 -4
- package/components/Badge/BadgeDot.js +4 -4
- package/components/Badge/components/BadgeContent.js +6 -6
- package/components/Badge/components/BadgePostfix.js +1 -1
- package/components/Badge/components/BadgePrefix.js +1 -1
- package/components/Body/Body.js +3 -3
- package/components/Button/Button.js +20 -20
- package/components/Button/ButtonBase.js +1 -1
- package/components/Button/ButtonDropdown.js +8 -8
- package/components/Button/ButtonDropdownExtended.js +2 -2
- package/components/Button/ButtonIcon.js +3 -3
- package/components/Calendar/Calendar.js +4 -4
- package/components/Calendar/components/CalendarControls.js +17 -2
- package/components/Calendar/components/CalendarControls.js.map +1 -1
- package/components/Calendar/components/CalendarFooter.js +1 -1
- package/components/Calendar/components/CalendarViewDays.js +1 -1
- package/components/Calendar/components/CalendarViewItem.js +1 -1
- package/components/Calendar/components/CalendarViewMonths.js +1 -1
- package/components/Calendar/components/CalendarViewYears.js +1 -1
- package/components/Card/CardAction.js +5 -5
- package/components/Card/CardStatic.js +2 -2
- package/components/Card/components/CardContent/CardContent.js +1 -1
- package/components/Card/components/CardContent/components/CardContentBody.js +1 -1
- package/components/Card/components/CardContent/components/CardContentFooter.js +1 -1
- package/components/Card/components/CardContent/components/CardContentHeader.js +1 -1
- package/components/Card/components/CardMedia.js +1 -1
- package/components/Card/utils.js +1 -1
- package/components/Carousel/Carousel.js +1 -1
- package/components/Carousel/CarouselButton.js +1 -1
- package/components/Carousel/CarouselIndicators.js +1 -1
- package/components/Carousel/CarouselItem.js +1 -1
- package/components/Carousel/CarouselTrack.js +1 -1
- package/components/Carousel/CarouselViewport.js +1 -1
- package/components/CarouselExtended/CarouselExtended.js +1 -1
- package/components/Checkbox/Checkbox.js +10 -10
- package/components/Checkbox/CheckboxXGroup.js +8 -8
- package/components/Checkbox/CheckboxYGroup.js +1 -1
- package/components/CheckboxTreeExtended/CheckboxTreeExtended.js +1 -1
- package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedArrow.js +1 -1
- package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedCheckbox.js +1 -1
- package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedNode.js +1 -1
- package/components/Chip/Chip.js +1 -1
- package/components/Chip/ChipClearButton.js +1 -1
- package/components/Chip/ChipDatePicker/ChipDatePicker.js +1 -1
- package/components/Chip/ChipDatePicker/ChipDatePickerTarget.js +1 -1
- package/components/Chip/ChipDropdownArrow.js +2 -2
- package/components/Chip/ChipIcon.js +1 -1
- package/components/Chip/ChipMonthYearPicker/ChipMonthYearPicker.js +7 -3
- package/components/Chip/ChipMonthYearPicker/ChipMonthYearPicker.js.map +1 -1
- package/components/Chip/ChipMonthYearPicker/ChipMonthYearPickerTarget.js +1 -1
- package/components/Chip/ChipMultiselect.js +1 -1
- package/components/Chip/ChipOptions.js +2 -2
- package/components/Chip/ChipSelect/ChipSelect.js +1 -1
- package/components/Chip/ChipSelect/ChipSelectTarget.js +1 -1
- package/components/Chip/ChipSort.js +1 -1
- package/components/Chip/ChipSuggest/ChipSuggest.js +1 -1
- package/components/Chip/ChipSuggest/ChipSuggestDropdown.js +1 -1
- package/components/Chip/ChipSuggest/ChipSuggestTarget.js +1 -1
- package/components/Chip/ChipSuggest/desktop/ChipSuggestDesktopDropdownField.js +1 -1
- package/components/Chip/index.js +1 -1
- package/components/ChipGroup/ChipGroup.js +7 -7
- package/components/Col/Col.js +132 -132
- package/components/CollapsibleTree/CollapsibleTree.js +1 -1
- package/components/CollapsibleTree/components/CollapsibleTreeLeafContent.js +1 -1
- package/components/CollapsibleTree/components/CollapsibleTreeLeafNode.js +1 -1
- package/components/CollapsibleTree/components/CollapsibleTreeNodeHeader.js +4 -4
- package/components/CollapsibleTreeExtended/components/CollapsibleTreeExtendedNode.js +1 -1
- package/components/Confirm/Confirm.js +1 -1
- package/components/Confirm/components/ConfirmCloseButton.js +1 -1
- package/components/Confirm/components/ConfirmContent.js +1 -1
- package/components/Confirm/components/ConfirmContentTitle.js +1 -1
- package/components/Confirm/components/ConfirmControls.js +1 -1
- package/components/DateField/DateFieldTarget.js +4 -4
- package/components/DatePickerExtended/DatePickerExtended.js +2 -2
- package/components/DatePickerExtended/DatePickerExtendedDropdown.js +1 -1
- package/components/DateRange/DateRange.js +3 -3
- package/components/DesignTokens/DesignTokenUtils.js +1 -1
- package/components/Divider/Divider.js +17 -17
- package/components/DocumentNumberEdit/DocumentNumberEdit.js +3 -3
- package/components/Dropdown/desktop/DropdownDesktop.js +6 -6
- package/components/Dropdown/desktop/DropdownList.js +1 -1
- package/components/Dropdown/desktop/DropdownListItem.js +1 -1
- package/components/Dropdown/desktop/index.js +1 -1
- package/components/Dropdown/index.js +1 -1
- package/components/Dropdown/mobile/DropdownMobile.js +2 -2
- package/components/Dropdown/mobile/DropdownMobileBody.js +1 -1
- package/components/Dropdown/mobile/DropdownMobileClose.js +1 -1
- package/components/Dropdown/mobile/DropdownMobileFooter.js +1 -1
- package/components/Dropdown/mobile/DropdownMobileHeader.js +1 -1
- package/components/Dropdown/mobile/DropdownMobileInner.js +1 -1
- package/components/Dropdown/mobile/DropdownMobileInput.js +1 -1
- package/components/Dropdown/mobile/DropdownMobileList.js +1 -1
- package/components/Dropdown/mobile/DropdownMobileListItem.js +1 -1
- package/components/Dropdown/mobile/DropdownMobileLoader.js +1 -1
- package/components/Dropdown/mobile/DropdownMobileMaskedInput.js +1 -1
- package/components/Ellipsis/Ellipsis.js +3 -3
- package/components/EmptyView/EmptyView.js +4 -4
- package/components/ExpandAnimation/ExpandAnimation.js +1 -1
- package/components/Footer/Footer.js +1 -1
- package/components/Footer/components/FooterDescription.js +1 -1
- package/components/Footer/components/FooterDescriptionContent.js +1 -1
- package/components/Footer/components/FooterDescriptionControls.js +1 -1
- package/components/FormField/FormField.js +17 -12
- package/components/FormField/FormField.js.map +1 -1
- package/components/FormField/components/FormFieldClear.js +1 -1
- package/components/FormField/components/FormFieldCounter.js +1 -1
- package/components/FormField/components/FormFieldDescription.js +2 -2
- package/components/FormField/components/FormFieldInput.js +4 -4
- package/components/FormField/components/FormFieldLabel.js +7 -7
- package/components/FormField/components/FormFieldMaskedInput.js +8 -8
- package/components/FormField/components/FormFieldPostfix.js +1 -1
- package/components/FormField/components/FormFieldPrefix.js +1 -1
- package/components/FormField/components/FormFieldTarget.js +8 -8
- package/components/FormField/components/FormFieldTextarea.js +4 -4
- package/components/Gap/Gap.js +8 -8
- package/components/Header/Header.js +1 -1
- package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebar.js +1 -1
- package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarContent.js +1 -1
- package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarSidebar.js +1 -1
- package/components/Header/components/HeaderSubheader/HeaderSubheader.js +2 -2
- package/components/Header/components/HeaderTabs/HeaderTabs.js +1 -1
- package/components/Header/components/HeaderTabs/HeaderTabsContent.js +1 -1
- package/components/Header/components/HeaderTabs/HeaderTabsControls.js +1 -1
- package/components/Header/components/HeaderTitle/HeaderTitle.js +1 -1
- package/components/Header/components/HeaderTitle/HeaderTitleContent.js +1 -1
- package/components/Header/components/HeaderTitle/HeaderTitleControls.js +1 -1
- package/components/HelpBox/HelpBox.js +1 -1
- package/components/IconWrapper/IconWrapper.js +2 -2
- package/components/ImageGallery/ImageGallery.js +1 -1
- package/components/ImageGalleryExtended/ImageGalleryExtended.js +2 -2
- package/components/ImageGalleryExtended/components/ImageGalleryExtendedArrow.js +1 -1
- package/components/ImageGalleryExtended/components/ImageGalleryExtendedDots.js +3 -3
- package/components/ImageGalleryExtended/components/ImageGalleryExtendedMain.js +1 -1
- package/components/ImageGalleryExtended/components/ImageGalleryExtendedSlide.js +1 -1
- package/components/ImageGalleryExtended/components/ImageGalleryExtendedSwipeTrack.js +1 -1
- package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumb.js +1 -1
- package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumbnails.js +1 -1
- package/components/ImageGalleryExtended/components/index.js +1 -1
- package/components/ImageGalleryExtended/index.js +1 -1
- package/components/Island/Island.js +1 -1
- package/components/Island/components/IslandBody.js +1 -1
- package/components/Island/components/IslandFooter.js +1 -1
- package/components/Island/components/IslandHeader.js +1 -1
- package/components/Island/utils.js +1 -1
- package/components/IslandAccordion/IslandAccordion.js +2 -2
- package/components/IslandAccordion/components/IslandAccordionContent.js +1 -1
- package/components/IslandAccordion/components/IslandAccordionFooter.js +1 -1
- package/components/IslandAccordion/components/IslandAccordionItem.js +2 -2
- package/components/IslandWidget/IslandWidget.js +3 -3
- package/components/IslandWidget/components/IslandWidgetBody.js +4 -4
- package/components/IslandWidget/components/IslandWidgetExtraFooter.js +1 -1
- package/components/IslandWidget/components/IslandWidgetFooter.js +1 -1
- package/components/IslandWidget/components/IslandWidgetFooterContent.js +1 -1
- package/components/IslandWidget/components/IslandWidgetFooterControls.js +1 -1
- package/components/IslandWidget/components/IslandWidgetHeader.js +1 -1
- package/components/IslandWidget/components/IslandWidgetHeaderControls.js +1 -1
- package/components/IslandWidget/components/IslandWidgetHeaderDescription.js +1 -1
- package/components/IslandWidget/components/IslandWidgetHeaderTitle.js +1 -1
- package/components/IslandWidget/components/IslandWidgetWrapper.js +1 -1
- package/components/LightBox/LightBox.js +5 -5
- package/components/LightBox/LightBoxContent.js +1 -1
- package/components/LightBox/LightBoxControls/LightBoxArrow.js +1 -1
- package/components/LightBox/LightBoxControls/LightBoxClose.js +1 -1
- package/components/LightBox/LightBoxControls/LightBoxControls.js +1 -1
- package/components/LightBox/LightBoxControls/LightBoxNext.js +1 -1
- package/components/LightBox/LightBoxControls/LightBoxPrev.js +1 -1
- package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js +12 -12
- package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseDesktop.js +1 -1
- package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseMobile.js +1 -1
- package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js +1 -1
- package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js +3 -3
- package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js +3 -3
- package/components/Link/Link.js +5 -5
- package/components/List/List.js +3 -3
- package/components/List/components/ListActionItem.js +1 -1
- package/components/List/components/ListEmptyState.js +1 -1
- package/components/List/components/ListItem.js +1 -1
- package/components/List/components/ListItemContent.js +4 -4
- package/components/List/components/ListItemControls.js +1 -1
- package/components/List/components/ListItemControlsButton.js +1 -1
- package/components/List/components/ListItemControlsButtonDropdown.js +1 -1
- package/components/List/components/ListItemLoading.js +1 -1
- package/components/List/components/ListItemSelectable.js +6 -6
- package/components/List/components/ListItemTailLeft.js +1 -1
- package/components/List/components/ListItemTailRight.js +1 -1
- package/components/List/components/ListSortableItem.js +2 -2
- package/components/List/components/ListSortableItemControls.js +1 -1
- package/components/List/components/ListSortableItemTarget.js +4 -4
- package/components/List/components/ListTableItem.js +3 -3
- package/components/List/index.js +1 -1
- package/components/ListMaster/ListMaster.js +1 -1
- package/components/ListMaster/components/ListMasterBody.js +1 -1
- package/components/ListMaster/components/ListMasterChipGroup.js +1 -1
- package/components/ListMaster/components/ListMasterFooter.js +1 -1
- package/components/ListMaster/components/ListMasterFooterControls.js +1 -1
- package/components/ListMaster/components/ListMasterFooterDescription.js +1 -1
- package/components/ListMaster/components/ListMasterHeader.js +2 -2
- package/components/ListMaster/components/SelectionControls.js +2 -2
- package/components/Loader/LoaderMiddle/LoaderMiddle.js +8 -8
- package/components/Loader/LoaderSmall/LoaderSmall.js +10 -10
- package/components/LoaderScreen/LoaderScreen.js +5 -5
- package/components/Marker/Marker.js +1 -1
- package/components/Marker/utils.js +1 -1
- package/components/MarkerStatus/MarkerStatus.js +7 -7
- package/components/ModalWindow/ModalWindow.js +1 -1
- package/components/ModalWindow/components/ModalWindowBody.js +1 -1
- package/components/ModalWindow/components/ModalWindowClose.js +1 -1
- package/components/ModalWindow/components/ModalWindowContent.js +1 -1
- package/components/ModalWindow/components/ModalWindowHeader.js +1 -1
- package/components/ModalWindow/components/ModalWindowViewManager.js +1 -1
- package/components/MonthYearField/MonthYearField.js +6 -4
- package/components/MonthYearField/MonthYearField.js.map +1 -1
- package/components/MonthYearField/MonthYearFieldTarget.js +4 -4
- package/components/MonthYearRange/MonthYearRange.js +3 -3
- package/components/MultiselectField/components/MultiselectFieldDropdown.js +1 -1
- package/components/MultiselectField/components/MultiselectFieldDropdownContent.js +5 -5
- package/components/MultiselectField/components/MultiselectFieldDropdownFooter.js +1 -1
- package/components/MultiselectField/components/MultiselectFieldDropdownHeader.js +1 -1
- package/components/Notification/Notification.js +2 -2
- package/components/Notification/NotificationGrouped.js +1 -1
- package/components/Notification/components/NotificationBody.js +1 -1
- package/components/Notification/components/NotificationBodyList.js +1 -1
- package/components/Notification/components/NotificationClose.js +1 -1
- package/components/Notification/components/NotificationFooter.js +1 -1
- package/components/Notification/components/NotificationGroupedFooter.js +1 -1
- package/components/Notification/components/NotificationHeader.js +1 -1
- package/components/Notification/components/NotificationIcon.js +1 -1
- package/components/Notification/components/NotificationTime.js +1 -1
- package/components/OrderedList/OrderedList.js +2 -2
- package/components/OrderedList/OrderedListItem.js +2 -2
- package/components/Overlay/Overlay.js +1 -1
- package/components/Overlay/OverlayMask.js +1 -1
- package/components/Overlay/OverlayPanel.js +1 -1
- package/components/Page/Page.js +1 -1
- package/components/Page/components/BodyPage.js +7 -7
- package/components/Page/components/FooterPage.js +1 -1
- package/components/Page/components/HeaderPage.js +1 -1
- package/components/Pagination/components/PaginationExtended.js +2 -2
- package/components/Pagination/components/PaginationNavigationButton.js +2 -2
- package/components/Pagination/components/PaginationNavigationExtended.js +1 -1
- package/components/Pagination/components/PaginationPageButton.js +2 -2
- package/components/Pagination/components/PaginationPageEllipsis.js +1 -1
- package/components/Pagination/components/PaginationSelect.js +2 -2
- package/components/Radio/Radio.js +9 -9
- package/components/Radio/RadioXGroup.js +8 -8
- package/components/Radio/RadioYGroup.js +1 -1
- package/components/Row/Row.js +4 -4
- package/components/SMSField/SMSField.js +2 -2
- package/components/SMSField/components/RefreshIcon.js +1 -1
- package/components/SMSField/components/SMSFieldInput.js +1 -1
- package/components/SMSField/components/SMSFieldRefresh.js +1 -1
- package/components/SMSField/components/SMSFieldSubmit.js +1 -1
- package/components/SegmentedControl/SegmentedControl.js +9 -9
- package/components/SegmentedControl/SegmentedControlSegment.js +3 -3
- package/components/SelectExtendedField/SelectExtendedField.js +1 -1
- package/components/SelectExtendedField/components/SelectExtendedFieldDropdown.js +1 -1
- package/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js +1 -1
- package/components/SelectExtendedField/components/SelectExtendedFieldTarget.js +7 -7
- package/components/SelectField/SelectField.js +1 -1
- package/components/Skeleton/Skeleton.js +5 -5
- package/components/SliderExtended/SliderExtended.js +2 -2
- package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js +5 -5
- package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMark.js +1 -1
- package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarks.js +1 -1
- package/components/SliderExtended/components/SliderExtendedRail.js +1 -1
- package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js +4 -4
- package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js +6 -6
- package/components/SmallInput/SmallInput.js +1 -1
- package/components/Spoiler/Spoiler.js +10 -10
- package/components/StatusTracker/StatusTracker.js +2 -2
- package/components/StatusTracker/StatusTracker.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerAlert.js +6 -5
- package/components/StatusTracker/components/StatusTrackerAlert.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerBody.js +1 -1
- package/components/StatusTracker/components/StatusTrackerBody.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerButton.js +7 -2
- package/components/StatusTracker/components/StatusTrackerButton.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerDescription.js +18 -14
- package/components/StatusTracker/components/StatusTrackerDescription.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerFooter.js +1 -1
- package/components/StatusTracker/components/StatusTrackerFooter.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerHeader.js +1 -1
- package/components/StatusTracker/components/StatusTrackerHeader.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerMedia.js +6 -5
- package/components/StatusTracker/components/StatusTrackerMedia.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerStatus.js +6 -5
- package/components/StatusTracker/components/StatusTrackerStatus.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerStatusGroup.js +4 -2
- package/components/StatusTracker/components/StatusTrackerStatusGroup.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerSum.js +6 -4
- package/components/StatusTracker/components/StatusTrackerSum.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerTitle.js +6 -4
- package/components/StatusTracker/components/StatusTrackerTitle.js.map +1 -1
- package/components/Step/Step.js +10 -10
- package/components/Stepper/Stepper.js +92 -99
- package/components/Stepper/Stepper.js.map +1 -1
- package/components/Stepper/StepperExtended.js +40 -19
- package/components/Stepper/StepperExtended.js.map +1 -1
- package/components/Stepper/StepperExtendedContext.js +1 -1
- package/components/Stepper/StepperExtendedContext.js.map +1 -1
- package/components/Stepper/StepperStep.js +2 -2
- package/components/Stepper/StepperStepArrowBorder.js +1 -1
- package/components/Suggest/SuggestMobileDropdownContent.js +3 -3
- package/components/SuggestField/SuggestField.js +1 -1
- package/components/SuggestField/desktop/SuggestFieldDesktop.js +18 -28
- package/components/SuggestField/desktop/SuggestFieldDesktop.js.map +1 -1
- package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js +4 -4
- package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js.map +1 -1
- package/components/SuggestField/index.js +1 -1
- package/components/SuggestField/mobile/SuggestFieldMobile.js +3 -3
- package/components/SuggestField/mobile/SuggestFieldMobile.js.map +1 -1
- package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js +3 -4
- package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js.map +1 -1
- package/components/SuggestField/mobile/SuggestFieldMobileDropdownHint.js +1 -1
- package/components/SuggestField/mobile/index.js +1 -1
- package/components/SwipeableArea/SwipeableArea.js +8 -8
- package/components/Table/ChipPanel.js +1 -1
- package/components/Table/ChipPanelLinks.js +1 -1
- package/components/Table/FilterPanel.js +2 -2
- package/components/Table/MasterTable.js +2 -2
- package/components/Table/NoColumns.js +2 -2
- package/components/Table/PaginationPanel.js +2 -2
- package/components/Table/TableBasic/TableBasic.js +1 -1
- package/components/Table/TableBasic/components/TableBasicBody.js +1 -1
- package/components/Table/TableBasic/components/TableBasicHeader.js +1 -1
- package/components/Table/TableBasic/components/TableBasicRow.js +1 -1
- package/components/Table/TableBasicSettings/TableBasicSettings.js +2 -2
- package/components/Table/TableBasicSettings/components/ColumnSettingsSortableListItemTarget.js +2 -2
- package/components/Table/TableBasicSettings/components/ColumnSettingsStaticListItem.js +1 -1
- package/components/Table/TableBasicSettings/components/TableBasicSettingsBody.js +1 -1
- package/components/Table/TableBasicSettings/components/TableBasicSettingsFooter.js +1 -1
- package/components/Table/TableBasicSettings/components/TableBasicSettingsHeader.js +1 -1
- package/components/Table/TableFooter/TableFooter.js +1 -1
- package/components/Table/TableFooter/components/TableFooterSummary.js +1 -1
- package/components/Table/TableFooter/components/TableFooterSummaryAmount.js +1 -1
- package/components/Table/TableFooter/components/TableFooterSummarySelectAllButton.js +1 -1
- package/components/Table/TableFooter/components/TableFooterSummarySelectedCount.js +1 -1
- package/components/Table/utils.js +1 -1
- package/components/Tabs/Tabs.js +114 -96
- package/components/Tabs/Tabs.js.map +1 -1
- package/components/TabsExtended/TabsExtended.js +2 -2
- package/components/TabsExtended/components/TabsExtendedContent.js +1 -1
- package/components/TabsExtended/components/TabsExtendedDropdownWrapper.js +1 -1
- package/components/TabsExtended/components/TabsExtendedTab.js +1 -1
- package/components/TabsExtended/components/TabsExtendedTabButton.js +1 -1
- package/components/TabsExtended/components/TabsExtendedTabsWrapper.js +1 -1
- package/components/TabsExtended/utils.js +1 -1
- package/components/TabsLine/TabsLine.js +1 -1
- package/components/TabsLine/components/TabsLineDesktop.js +1 -1
- package/components/TabsLine/components/TabsLineDropdown.js +2 -2
- package/components/TabsLine/components/TabsLineItem.js +1 -1
- package/components/TabsLine/components/TabsLineMobile.js +2 -2
- package/components/Tag/Tag.js +5 -5
- package/components/TagColor/TagColor.js +10 -10
- package/components/TagColor/TagColor.js.map +1 -1
- package/components/TagColor/enums.js.map +1 -1
- package/components/TagGroup/TagGroup.js +7 -6
- package/components/TagGroup/TagGroup.js.map +1 -1
- package/components/Tooltip/components/common/TooltipBody.js +1 -1
- package/components/Tooltip/components/common/TooltipLink.js +4 -4
- package/components/Tooltip/components/common/TooltipXButton.js +1 -1
- package/components/Tooltip/components/desktop/components/TooltipDesktopBase.js +1 -1
- package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js +1 -1
- package/components/Tooltip/components/mobile/TooltipMobile.js +4 -4
- package/components/TopOverlay/TopOverlay.js +6 -6
- package/components/TreeView/TreeView.js +1 -1
- package/components/TreeView/components/TreeViewGroup.js +1 -1
- package/components/TreeView/components/TreeViewNode.js +1 -1
- package/components/Typography/Caption.js +7 -7
- package/components/Typography/CodeText.js +2 -2
- package/components/Typography/Text.js +9 -9
- package/components/Typography/Title.js +9 -9
- package/components/Typography/constants.js +1 -1
- package/components/UnorderedListExtended/UnorderedListExtended.js +2 -2
- package/components/UnorderedListExtended/UnorderedListExtendedItem.js +2 -2
- package/components/UnorderedListExtended/UnorderedListExtendedItemMarker.js +3 -3
- package/components/UploadZone/UploadZone.js +43 -67
- package/components/UploadZone/UploadZone.js.map +1 -1
- package/components/UploadZone/UploadZoneContext.js +1 -1
- package/components/UploadZone/UploadZoneContext.js.map +1 -1
- package/components/UploadZone/components/UploadZoneInput.js +3 -2
- package/components/UploadZone/components/UploadZoneInput.js.map +1 -1
- package/components/UploadZone/index.js +1 -1
- package/components/index.js +6 -6
- package/index.d.ts +124 -50
- package/index.js +6 -6
- package/package.json +1 -1
- package/styles/triplex-next.css +3025 -3018
- package/chunks/Card.module-BX03G_qX.js +0 -32
- package/chunks/Card.module-BX03G_qX.js.map +0 -1
- package/chunks/Carousel.module-Doem7_zb.js +0 -30
- package/chunks/Carousel.module-Doem7_zb.js.map +0 -1
- package/chunks/CheckboxTreeExtended.module-Bn7_t4on.js +0 -24
- package/chunks/CheckboxTreeExtended.module-Bn7_t4on.js.map +0 -1
- package/chunks/Confirm.module-Cu7K98Sg.js +0 -24
- package/chunks/Confirm.module-Cu7K98Sg.js.map +0 -1
- package/chunks/DropdownMobile.module-DnkRPsic.js +0 -40
- package/chunks/DropdownMobile.module-DnkRPsic.js.map +0 -1
- package/chunks/Footer.module-_S9ZcA7b.js +0 -12
- package/chunks/Footer.module-_S9ZcA7b.js.map +0 -1
- package/chunks/HeaderLayoutSidebar.module-CNgPkokh.js.map +0 -1
- package/chunks/HeaderTabs.module-2XAHGidd.js +0 -12
- package/chunks/HeaderTabs.module-2XAHGidd.js.map +0 -1
- package/chunks/HeaderTitle.module-CFABp2sW.js.map +0 -1
- package/chunks/ImageGalleryExtendedMain.module-DfFkrw4n.js +0 -28
- package/chunks/ImageGalleryExtendedMain.module-DfFkrw4n.js.map +0 -1
- package/chunks/IslandAccordion.module-CARpAvhk.js +0 -44
- package/chunks/IslandAccordion.module-CARpAvhk.js.map +0 -1
- package/chunks/IslandWidgetFooter.module-E0IBRK6A.js +0 -18
- package/chunks/IslandWidgetFooter.module-E0IBRK6A.js.map +0 -1
- package/chunks/IslandWidgetHeader.module-DgysHiDv.js +0 -28
- package/chunks/IslandWidgetHeader.module-DgysHiDv.js.map +0 -1
- package/chunks/LightBoxControls.module-CFiw2WEe.js +0 -26
- package/chunks/LightBoxControls.module-CFiw2WEe.js.map +0 -1
- package/chunks/LightBoxSideOverlayClose.module-rUoDHQx6.js.map +0 -1
- package/chunks/ListItemTail.module-DEbIYD0x.js +0 -18
- package/chunks/ListItemTail.module-DEbIYD0x.js.map +0 -1
- package/chunks/ListMasterFooter.module-Dw_g_Hqv.js +0 -14
- package/chunks/ListMasterFooter.module-Dw_g_Hqv.js.map +0 -1
- package/chunks/ModalWindow.module-BIeL2Dm9.js +0 -28
- package/chunks/ModalWindow.module-BIeL2Dm9.js.map +0 -1
- package/chunks/Notification.module-CAVClo9k.js +0 -34
- package/chunks/Notification.module-CAVClo9k.js.map +0 -1
- package/chunks/Overlay.module-dRFf4RgK.js +0 -30
- package/chunks/Overlay.module-dRFf4RgK.js.map +0 -1
- package/chunks/Page.module-Bq4qHw4a.js +0 -17
- package/chunks/Page.module-Bq4qHw4a.js.map +0 -1
- package/chunks/SMSField.module-BFaDeCmy.js +0 -30
- package/chunks/SMSField.module-BFaDeCmy.js.map +0 -1
- package/chunks/SliderExtendedMarks.module-I5oq_ntW.js +0 -24
- package/chunks/SliderExtendedMarks.module-I5oq_ntW.js.map +0 -1
- package/chunks/StatusTracker.module-CLL7XYcX.js +0 -44
- package/chunks/StatusTracker.module-CLL7XYcX.js.map +0 -1
- package/chunks/SuggestFieldMobileDropdownHint-BESIIDZs.js.map +0 -1
- package/chunks/TableFooter.module-DyFW1z3j.js +0 -22
- package/chunks/TableFooter.module-DyFW1z3j.js.map +0 -1
- package/chunks/TabsExtended.module-DPptPKmZ.js +0 -26
- package/chunks/TabsExtended.module-DPptPKmZ.js.map +0 -1
- package/chunks/TabsLine.module-BOD6aGpU.js +0 -36
- package/chunks/TabsLine.module-BOD6aGpU.js.map +0 -1
- package/chunks/TooltipDesktop.module-_lk-8WZV.js +0 -32
- package/chunks/TooltipDesktop.module-_lk-8WZV.js.map +0 -1
- package/chunks/TreeView.module-mCVJ7u_z.js +0 -12
- package/chunks/TreeView.module-mCVJ7u_z.js.map +0 -1
- package/chunks/UploadZoneInput-1DuaS4IR.js +0 -40
- package/chunks/UploadZoneInput-1DuaS4IR.js.map +0 -1
|
@@ -2,7 +2,7 @@ import "./enums.js";
|
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useState, useRef, useCallback, useEffect } from "react";
|
|
4
4
|
import { c as clsx } from "../../chunks/vendor-CUIykw0y.js";
|
|
5
|
-
import {
|
|
5
|
+
import { CaretrightStrokeSrvIcon24, CaretleftStrokeSrvIcon24 } from "@sberbusiness/icons-next";
|
|
6
6
|
import { CarouselExtended } from "../CarouselExtended/CarouselExtended.js";
|
|
7
7
|
import { ButtonIcon } from "../Button/ButtonIcon.js";
|
|
8
8
|
import { StepperExtended } from "./StepperExtended.js";
|
|
@@ -12,14 +12,14 @@ import { scrollSmoothHorizontally } from "../../utils/scroll.js";
|
|
|
12
12
|
import { EComponentSize } from "../../enums/EComponentSize.js";
|
|
13
13
|
import { EScreenWidth } from "../../helpers/breakpoints.js";
|
|
14
14
|
import "./StepperStepIcon.js";
|
|
15
|
-
const stepperCarousel = "
|
|
16
|
-
const stepperButtonWrapper = "
|
|
17
|
-
const prev = "
|
|
18
|
-
const next = "
|
|
19
|
-
const stepperButton = "
|
|
20
|
-
const sm = "
|
|
21
|
-
const md = "
|
|
22
|
-
const lg = "
|
|
15
|
+
const stepperCarousel = "stepperCarousel__be16f637";
|
|
16
|
+
const stepperButtonWrapper = "stepperButtonWrapper__a35be5c4";
|
|
17
|
+
const prev = "prev__7cd3ec52";
|
|
18
|
+
const next = "next__00d715cc";
|
|
19
|
+
const stepperButton = "stepperButton__1ba8a34e";
|
|
20
|
+
const sm = "sm__fa9ababe";
|
|
21
|
+
const md = "md__1f497eba";
|
|
22
|
+
const lg = "lg__3a3ce190";
|
|
23
23
|
const styles = {
|
|
24
24
|
stepperCarousel,
|
|
25
25
|
stepperButtonWrapper,
|
|
@@ -32,39 +32,74 @@ const styles = {
|
|
|
32
32
|
};
|
|
33
33
|
const sizeToClassNameMap = createSizeToClassNameMap(styles);
|
|
34
34
|
const SCROLL_STEP_RATIO = 0.3;
|
|
35
|
+
const DIRECTION_TO_CLASS_NAME_MAP = {
|
|
36
|
+
prev: styles.prev,
|
|
37
|
+
next: styles.next
|
|
38
|
+
};
|
|
39
|
+
const DIRECTION_TO_ICON_MAP = {
|
|
40
|
+
prev: /* @__PURE__ */ jsx(CaretleftStrokeSrvIcon24, { paletteIndex: 5 }),
|
|
41
|
+
next: /* @__PURE__ */ jsx(CaretrightStrokeSrvIcon24, { paletteIndex: 5 })
|
|
42
|
+
};
|
|
43
|
+
const StepperScrollButton = ({ direction, size, hidden, ...restButtonProps }) => hidden ? null : /* @__PURE__ */ jsx("div", { className: clsx(styles.stepperButtonWrapper, DIRECTION_TO_CLASS_NAME_MAP[direction]), children: /* @__PURE__ */ jsx(
|
|
44
|
+
ButtonIcon,
|
|
45
|
+
{
|
|
46
|
+
className: clsx(styles.stepperButton, sizeToClassNameMap[size]),
|
|
47
|
+
tabIndex: -1,
|
|
48
|
+
...restButtonProps,
|
|
49
|
+
children: DIRECTION_TO_ICON_MAP[direction]
|
|
50
|
+
}
|
|
51
|
+
) });
|
|
52
|
+
const alignStepRight = (carousel, step, delta, stepRight) => {
|
|
53
|
+
if (delta <= 0) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const nextStep = step.nextElementSibling;
|
|
57
|
+
const scrollAmount = nextStep ? delta - (stepRight - nextStep.getBoundingClientRect().right) : delta;
|
|
58
|
+
scrollSmoothHorizontally(carousel, Math.ceil(scrollAmount));
|
|
59
|
+
};
|
|
60
|
+
const alignStepLeft = (carousel, step, delta, stepLeft) => {
|
|
61
|
+
if (delta >= 0) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const prevStep = step.previousElementSibling;
|
|
65
|
+
const scrollAmount = prevStep ? delta - (stepLeft - prevStep.getBoundingClientRect().left) : delta;
|
|
66
|
+
scrollSmoothHorizontally(carousel, Math.floor(scrollAmount));
|
|
67
|
+
};
|
|
68
|
+
const alignStepCenter = (carousel, delta) => {
|
|
69
|
+
if (delta) {
|
|
70
|
+
scrollSmoothHorizontally(carousel, delta);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const alignStep = (carousel, step) => {
|
|
74
|
+
const { left: carouselLeft, right: carouselRight, width: carouselWidth } = carousel.getBoundingClientRect();
|
|
75
|
+
const { left: stepLeft, right: stepRight, width: stepWidth } = step.getBoundingClientRect();
|
|
76
|
+
const carouselCenter = carouselLeft + carouselWidth / 2;
|
|
77
|
+
const stepCenter = stepLeft + stepWidth / 2;
|
|
78
|
+
if (window.matchMedia(`(max-width: ${EScreenWidth.SM_MAX})`).matches) {
|
|
79
|
+
alignStepCenter(carousel, stepCenter - carouselCenter);
|
|
80
|
+
} else if (carouselCenter > stepCenter) {
|
|
81
|
+
alignStepLeft(carousel, step, stepLeft - carouselLeft, stepLeft);
|
|
82
|
+
} else if (carouselCenter < stepCenter) {
|
|
83
|
+
alignStepRight(carousel, step, stepRight - carouselRight, stepRight);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
35
86
|
const Stepper = ({
|
|
36
87
|
className,
|
|
37
88
|
steps,
|
|
38
|
-
size = EComponentSize.
|
|
89
|
+
size = EComponentSize.MD,
|
|
39
90
|
selectedStepId,
|
|
40
91
|
...restProps
|
|
41
92
|
}) => {
|
|
42
|
-
const [
|
|
93
|
+
const [scrollStep, setScrollStep] = useState(0);
|
|
43
94
|
const carouselRef = useRef(null);
|
|
44
95
|
const stepRefs = useRef({});
|
|
45
96
|
const selectedIndex = steps.findIndex((step) => step.id === selectedStepId);
|
|
46
97
|
const renderPrevButton = useCallback(
|
|
47
|
-
(
|
|
48
|
-
ButtonIcon,
|
|
49
|
-
{
|
|
50
|
-
className: clsx(styles.stepperButton, sizeToClassNameMap[size]),
|
|
51
|
-
tabIndex: -1,
|
|
52
|
-
...restButtonProps,
|
|
53
|
-
children: /* @__PURE__ */ jsx(CaretleftStrokeSrvIcon24, { paletteIndex: 5 })
|
|
54
|
-
}
|
|
55
|
-
) }),
|
|
98
|
+
(buttonProps) => /* @__PURE__ */ jsx(StepperScrollButton, { ...buttonProps, direction: "prev", size }),
|
|
56
99
|
[size]
|
|
57
100
|
);
|
|
58
101
|
const renderNextButton = useCallback(
|
|
59
|
-
(
|
|
60
|
-
ButtonIcon,
|
|
61
|
-
{
|
|
62
|
-
className: clsx(styles.stepperButton, sizeToClassNameMap[size]),
|
|
63
|
-
tabIndex: -1,
|
|
64
|
-
...restButtonProps,
|
|
65
|
-
children: /* @__PURE__ */ jsx(CaretrightStrokeSrvIcon24, { paletteIndex: 5 })
|
|
66
|
-
}
|
|
67
|
-
) }),
|
|
102
|
+
(buttonProps) => /* @__PURE__ */ jsx(StepperScrollButton, { ...buttonProps, direction: "next", size }),
|
|
68
103
|
[size]
|
|
69
104
|
);
|
|
70
105
|
useEffect(() => {
|
|
@@ -73,91 +108,49 @@ const Stepper = ({
|
|
|
73
108
|
return;
|
|
74
109
|
}
|
|
75
110
|
const resizeObserver = new ResizeObserver((entries) => {
|
|
76
|
-
|
|
77
|
-
const scrollStep = width * SCROLL_STEP_RATIO;
|
|
78
|
-
setState({
|
|
79
|
-
stepNext: scrollStep,
|
|
80
|
-
stepPrev: scrollStep
|
|
81
|
-
});
|
|
111
|
+
setScrollStep(entries[0].contentRect.width * SCROLL_STEP_RATIO);
|
|
82
112
|
});
|
|
83
113
|
resizeObserver.observe(carouselNode);
|
|
84
114
|
return () => {
|
|
85
115
|
resizeObserver.disconnect();
|
|
86
116
|
};
|
|
87
117
|
}, []);
|
|
88
|
-
const alignStepRight = useCallback(
|
|
89
|
-
(carousel, step, delta, stepRight) => {
|
|
90
|
-
if (delta > 0) {
|
|
91
|
-
if (step.nextElementSibling) {
|
|
92
|
-
delta -= stepRight - step.nextElementSibling.getBoundingClientRect().right;
|
|
93
|
-
}
|
|
94
|
-
scrollSmoothHorizontally(carousel, Math.ceil(delta));
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
[]
|
|
98
|
-
);
|
|
99
|
-
const alignStepLeft = useCallback(
|
|
100
|
-
(carousel, step, delta, stepLeft) => {
|
|
101
|
-
if (delta < 0) {
|
|
102
|
-
if (step.previousElementSibling) {
|
|
103
|
-
delta -= stepLeft - step.previousElementSibling.getBoundingClientRect().left;
|
|
104
|
-
}
|
|
105
|
-
scrollSmoothHorizontally(carousel, Math.floor(delta));
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
[]
|
|
109
|
-
);
|
|
110
|
-
const alignStepCenter = useCallback((carousel, delta) => {
|
|
111
|
-
if (delta) {
|
|
112
|
-
scrollSmoothHorizontally(carousel, delta);
|
|
113
|
-
}
|
|
114
|
-
}, []);
|
|
115
|
-
const alignStep = useCallback(
|
|
116
|
-
(carousel, step) => {
|
|
117
|
-
const { left: carouselLeft, right: carouselRight, width: carouselWidth } = carousel.getBoundingClientRect();
|
|
118
|
-
const { left: stepLeft, right: stepRight, width: stepWidth } = step.getBoundingClientRect();
|
|
119
|
-
const carouselCenter = carouselLeft + carouselWidth / 2;
|
|
120
|
-
const stepCenter = stepLeft + stepWidth / 2;
|
|
121
|
-
if (window.matchMedia(`(max-width: ${EScreenWidth.SM_MAX})`).matches) {
|
|
122
|
-
alignStepCenter(carousel, stepCenter - carouselCenter);
|
|
123
|
-
} else if (carouselCenter > stepCenter) {
|
|
124
|
-
alignStepLeft(carousel, step, stepLeft - carouselLeft, stepLeft);
|
|
125
|
-
} else if (carouselCenter < stepCenter) {
|
|
126
|
-
alignStepRight(carousel, step, stepRight - carouselRight, stepRight);
|
|
127
|
-
}
|
|
128
|
-
},
|
|
129
|
-
[alignStepCenter, alignStepLeft, alignStepRight]
|
|
130
|
-
);
|
|
131
118
|
useEffect(() => {
|
|
132
|
-
if (selectedStepId) {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
119
|
+
if (!selectedStepId) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const carousel = carouselRef.current;
|
|
123
|
+
const step = stepRefs.current[selectedStepId];
|
|
124
|
+
if (carousel && step) {
|
|
125
|
+
alignStep(carousel, step);
|
|
126
|
+
}
|
|
127
|
+
}, [selectedStepId]);
|
|
128
|
+
const setStepRef = (id) => (instance) => {
|
|
129
|
+
if (instance === null) {
|
|
130
|
+
delete stepRefs.current[id];
|
|
131
|
+
} else {
|
|
132
|
+
stepRefs.current[id] = instance;
|
|
138
133
|
}
|
|
139
|
-
}
|
|
134
|
+
};
|
|
140
135
|
return /* @__PURE__ */ jsx(
|
|
141
136
|
CarouselExtended,
|
|
142
137
|
{
|
|
143
138
|
className: clsx(styles.stepperCarousel, sizeToClassNameMap[size], className),
|
|
144
139
|
buttonPrev: renderPrevButton,
|
|
145
140
|
buttonNext: renderNextButton,
|
|
146
|
-
stepPrev:
|
|
147
|
-
stepNext:
|
|
141
|
+
stepPrev: scrollStep,
|
|
142
|
+
stepNext: scrollStep,
|
|
148
143
|
ref: carouselRef,
|
|
149
|
-
children: /* @__PURE__ */ jsx(StepperExtended, { selectedStepId, size, ...restProps, children: steps.map(({ label, ...step }, index) =>
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
);
|
|
160
|
-
}) })
|
|
144
|
+
children: /* @__PURE__ */ jsx(StepperExtended, { selectedStepId, size, ...restProps, children: steps.map(({ label, ...step }, index) => /* @__PURE__ */ jsx(
|
|
145
|
+
StepperExtended.Step,
|
|
146
|
+
{
|
|
147
|
+
forwardedRef: setStepRef(step.id),
|
|
148
|
+
...step,
|
|
149
|
+
isInActiveStep: index > selectedIndex,
|
|
150
|
+
children: label
|
|
151
|
+
},
|
|
152
|
+
step.id
|
|
153
|
+
)) })
|
|
161
154
|
}
|
|
162
155
|
);
|
|
163
156
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper.js","sources":["../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import React, { useState, useRef, useCallback, useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport { CaretleftStrokeSrvIcon24, CaretrightStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport { CarouselExtended, ICarouselExtendedButtonProvideProps } from \"../CarouselExtended/CarouselExtended\";\nimport { ButtonIcon } from \"../Button/ButtonIcon\";\nimport { StepperExtended } from \"./StepperExtended\";\nimport { StepperStep } from \"./StepperStep\";\nimport { createSizeToClassNameMap, scrollSmoothHorizontally } from \"../../utils\";\nimport { IStepperProps } from \"./types\";\nimport { EComponentSize } from \"../../enums\";\nimport { EScreenWidth } from \"../../helpers/breakpoints\";\nimport styles from \"./styles/Stepper.module.less\";\n\n/** Внутренние составляющие Stepper. */\ninterface IStepperComposition {\n Step: typeof StepperStep;\n}\n\n/** Соответствие размера имени класса. */\nconst sizeToClassNameMap = createSizeToClassNameMap(styles);\n\nconst SCROLL_STEP_RATIO = 0.3;\n\n/** Компонент Stepper, список шагов */\nexport const Stepper: React.FC<IStepperProps> & IStepperComposition = ({\n className,\n steps,\n size = EComponentSize.LG,\n selectedStepId,\n ...restProps\n}) => {\n const [state, setState] = useState({ stepNext: 0, stepPrev: 0 });\n const carouselRef = useRef<HTMLDivElement>(null);\n const stepRefs = useRef<Record<string, HTMLLIElement | null>>({});\n const selectedIndex = steps.findIndex((step) => step.id === selectedStepId);\n\n const renderPrevButton = useCallback(\n ({ hidden, ...restButtonProps }: ICarouselExtendedButtonProvideProps) =>\n hidden ? null : (\n <div className={clsx(styles.stepperButtonWrapper, styles.prev)}>\n <ButtonIcon\n className={clsx(styles.stepperButton, sizeToClassNameMap[size])}\n tabIndex={-1}\n {...restButtonProps}\n >\n <CaretleftStrokeSrvIcon24 paletteIndex={5} />\n </ButtonIcon>\n </div>\n ),\n [size],\n );\n\n const renderNextButton = useCallback(\n ({ hidden, ...restButtonProps }: ICarouselExtendedButtonProvideProps) =>\n hidden ? null : (\n <div className={clsx(styles.stepperButtonWrapper, styles.next)}>\n <ButtonIcon\n className={clsx(styles.stepperButton, sizeToClassNameMap[size])}\n tabIndex={-1}\n {...restButtonProps}\n >\n <CaretrightStrokeSrvIcon24 paletteIndex={5} />\n </ButtonIcon>\n </div>\n ),\n [size],\n );\n\n useEffect(() => {\n const carouselNode = carouselRef.current;\n\n if (carouselNode === null) {\n return;\n }\n\n const resizeObserver = new ResizeObserver((entries) => {\n const width = entries[0].contentRect.width;\n const scrollStep = width * SCROLL_STEP_RATIO;\n\n setState({\n stepNext: scrollStep,\n stepPrev: scrollStep,\n });\n });\n\n resizeObserver.observe(carouselNode);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n /** Выравнивание шага по правой части карусели. */\n const alignStepRight = useCallback(\n (carousel: HTMLDivElement, step: HTMLLIElement, delta: number, stepRight: number) => {\n if (delta > 0) {\n // Текущий шаг – не последний, необходимо показать следующий шаг.\n if (step.nextElementSibling) {\n delta -= stepRight - step.nextElementSibling.getBoundingClientRect().right;\n }\n scrollSmoothHorizontally(carousel, Math.ceil(delta));\n }\n },\n [],\n );\n\n /** Выравнивание шага по левой части карусели. */\n const alignStepLeft = useCallback(\n (carousel: HTMLDivElement, step: HTMLLIElement, delta: number, stepLeft: number) => {\n if (delta < 0) {\n // Текущий шаг – не первый, необходимо показать предыдущий шаг.\n if (step.previousElementSibling) {\n delta -= stepLeft - step.previousElementSibling.getBoundingClientRect().left;\n }\n scrollSmoothHorizontally(carousel, Math.floor(delta));\n }\n },\n [],\n );\n\n /** Выравнивание шага по центру карусели. */\n const alignStepCenter = useCallback((carousel: HTMLDivElement, delta: number) => {\n if (delta) {\n scrollSmoothHorizontally(carousel, delta);\n }\n }, []);\n\n /** Выравнивание шага в карусели. */\n const alignStep = useCallback(\n (carousel: HTMLDivElement, step: HTMLLIElement) => {\n const { left: carouselLeft, right: carouselRight, width: carouselWidth } = carousel.getBoundingClientRect();\n const { left: stepLeft, right: stepRight, width: stepWidth } = step.getBoundingClientRect();\n const carouselCenter = carouselLeft + carouselWidth / 2;\n const stepCenter = stepLeft + stepWidth / 2;\n\n if (window.matchMedia(`(max-width: ${EScreenWidth.SM_MAX})`).matches) {\n alignStepCenter(carousel, stepCenter - carouselCenter);\n } else if (carouselCenter > stepCenter) {\n alignStepLeft(carousel, step, stepLeft - carouselLeft, stepLeft);\n } else if (carouselCenter < stepCenter) {\n alignStepRight(carousel, step, stepRight - carouselRight, stepRight);\n }\n },\n [alignStepCenter, alignStepLeft, alignStepRight],\n );\n\n useEffect(() => {\n if (selectedStepId) {\n const { current: carousel } = carouselRef;\n const step = stepRefs.current[selectedStepId];\n\n if (carousel && step) {\n alignStep(carousel, step);\n }\n }\n }, [selectedStepId, alignStep]);\n\n return (\n <CarouselExtended\n className={clsx(styles.stepperCarousel, sizeToClassNameMap[size], className)}\n buttonPrev={renderPrevButton}\n buttonNext={renderNextButton}\n stepPrev={state.stepPrev}\n stepNext={state.stepNext}\n ref={carouselRef}\n >\n <StepperExtended selectedStepId={selectedStepId} size={size} {...restProps}>\n {steps.map(({ label, ...step }, index) => {\n return (\n <StepperExtended.Step\n key={step.id}\n forwardedRef={(instance) => (stepRefs.current[step.id] = instance)}\n {...step}\n isInActiveStep={index > selectedIndex}\n >\n {label}\n </StepperExtended.Step>\n );\n })}\n </StepperExtended>\n </CarouselExtended>\n );\n};\n\nStepper.Step = StepperStep;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Stepper.js","sources":["../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import React, { useState, useRef, useCallback, useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport { CaretleftStrokeSrvIcon24, CaretrightStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport { CarouselExtended, ICarouselExtendedButtonProvideProps } from \"../CarouselExtended/CarouselExtended\";\nimport { ButtonIcon } from \"../Button/ButtonIcon\";\nimport { StepperExtended } from \"./StepperExtended\";\nimport { StepperStep } from \"./StepperStep\";\nimport { createSizeToClassNameMap, scrollSmoothHorizontally } from \"../../utils\";\nimport { IStepperProps } from \"./types\";\nimport { EComponentSize } from \"../../enums\";\nimport { EScreenWidth } from \"../../helpers/breakpoints\";\nimport styles from \"./styles/Stepper.module.less\";\n\n/** Внутренние составляющие Stepper. */\ninterface IStepperComposition {\n Step: typeof StepperStep;\n}\n\n/** Направление прокрутки ленты шагов. */\ntype TStepperScrollDirection = \"prev\" | \"next\";\n\n/** Соответствие размера имени класса. */\nconst sizeToClassNameMap = createSizeToClassNameMap(styles);\n\n/** Доля ширины видимой области ленты, на которую прокручивает один клик по кнопке. */\nconst SCROLL_STEP_RATIO = 0.3;\n\n/** Соответствие направления прокрутки имени класса. */\nconst DIRECTION_TO_CLASS_NAME_MAP: Record<TStepperScrollDirection, string> = {\n prev: styles.prev,\n next: styles.next,\n};\n\n/** Соответствие направления прокрутки иконке кнопки. */\nconst DIRECTION_TO_ICON_MAP: Record<TStepperScrollDirection, React.ReactNode> = {\n prev: <CaretleftStrokeSrvIcon24 paletteIndex={5} />,\n next: <CaretrightStrokeSrvIcon24 paletteIndex={5} />,\n};\n\n/** Свойства кнопки прокрутки ленты шагов. */\ninterface IStepperScrollButtonProps extends ICarouselExtendedButtonProvideProps {\n /** Направление прокрутки. */\n direction: TStepperScrollDirection;\n /** Размер Stepper — от него зависит размер кнопки. */\n size: EComponentSize;\n}\n\n/**\n * Кнопка прокрутки ленты шагов. Рендерится по запросу CarouselExtended, который передаёт\n * `hidden` (прокрутка не нужна), `disabled` (достигнут край) и `onClick`.\n * Из таб-порядка исключена (`tabIndex = -1`): до любого шага можно дойти клавиатурой и без неё.\n */\nconst StepperScrollButton = ({ direction, size, hidden, ...restButtonProps }: IStepperScrollButtonProps) =>\n hidden ? null : (\n <div className={clsx(styles.stepperButtonWrapper, DIRECTION_TO_CLASS_NAME_MAP[direction])}>\n <ButtonIcon\n className={clsx(styles.stepperButton, sizeToClassNameMap[size])}\n tabIndex={-1}\n {...restButtonProps}\n >\n {DIRECTION_TO_ICON_MAP[direction]}\n </ButtonIcon>\n </div>\n );\n\n/**\n * Прокручивает ленту так, чтобы шаг прижался к правому краю видимой области.\n * Если справа есть следующий шаг, лента подтягивается ещё и на него — подсказка, что лента не кончилась.\n */\nconst alignStepRight = (carousel: HTMLDivElement, step: HTMLLIElement, delta: number, stepRight: number): void => {\n if (delta <= 0) {\n return;\n }\n\n const nextStep = step.nextElementSibling;\n // Текущий шаг – не последний, необходимо показать следующий шаг.\n const scrollAmount = nextStep ? delta - (stepRight - nextStep.getBoundingClientRect().right) : delta;\n\n scrollSmoothHorizontally(carousel, Math.ceil(scrollAmount));\n};\n\n/**\n * Прокручивает ленту так, чтобы шаг прижался к левому краю видимой области.\n * Если слева есть предыдущий шаг, лента подтягивается ещё и на него — подсказка, что лента не кончилась.\n */\nconst alignStepLeft = (carousel: HTMLDivElement, step: HTMLLIElement, delta: number, stepLeft: number): void => {\n if (delta >= 0) {\n return;\n }\n\n const prevStep = step.previousElementSibling;\n // Текущий шаг – не первый, необходимо показать предыдущий шаг.\n const scrollAmount = prevStep ? delta - (stepLeft - prevStep.getBoundingClientRect().left) : delta;\n\n scrollSmoothHorizontally(carousel, Math.floor(scrollAmount));\n};\n\n/** Прокручивает ленту так, чтобы шаг встал по центру видимой области. */\nconst alignStepCenter = (carousel: HTMLDivElement, delta: number): void => {\n if (delta) {\n scrollSmoothHorizontally(carousel, delta);\n }\n};\n\n/**\n * Подводит выбранный шаг в видимую область ленты.\n * На узких экранах шаг центрируется, на широких — прижимается к ближайшему краю.\n */\nconst alignStep = (carousel: HTMLDivElement, step: HTMLLIElement): void => {\n const { left: carouselLeft, right: carouselRight, width: carouselWidth } = carousel.getBoundingClientRect();\n const { left: stepLeft, right: stepRight, width: stepWidth } = step.getBoundingClientRect();\n const carouselCenter = carouselLeft + carouselWidth / 2;\n const stepCenter = stepLeft + stepWidth / 2;\n\n if (window.matchMedia(`(max-width: ${EScreenWidth.SM_MAX})`).matches) {\n alignStepCenter(carousel, stepCenter - carouselCenter);\n } else if (carouselCenter > stepCenter) {\n alignStepLeft(carousel, step, stepLeft - carouselLeft, stepLeft);\n } else if (carouselCenter < stepCenter) {\n alignStepRight(carousel, step, stepRight - carouselRight, stepRight);\n }\n};\n\n/** Компонент Stepper, список шагов */\nexport const Stepper: React.FC<IStepperProps> & IStepperComposition = ({\n className,\n steps,\n size = EComponentSize.MD,\n selectedStepId,\n ...restProps\n}) => {\n const [scrollStep, setScrollStep] = useState(0);\n const carouselRef = useRef<HTMLDivElement>(null);\n const stepRefs = useRef<Record<string, HTMLLIElement | null>>({});\n const selectedIndex = steps.findIndex((step) => step.id === selectedStepId);\n\n const renderPrevButton = useCallback(\n (buttonProps: ICarouselExtendedButtonProvideProps) => (\n <StepperScrollButton {...buttonProps} direction=\"prev\" size={size} />\n ),\n [size],\n );\n\n const renderNextButton = useCallback(\n (buttonProps: ICarouselExtendedButtonProvideProps) => (\n <StepperScrollButton {...buttonProps} direction=\"next\" size={size} />\n ),\n [size],\n );\n\n useEffect(() => {\n const carouselNode = carouselRef.current;\n\n if (carouselNode === null) {\n return;\n }\n\n const resizeObserver = new ResizeObserver((entries) => {\n setScrollStep(entries[0].contentRect.width * SCROLL_STEP_RATIO);\n });\n\n resizeObserver.observe(carouselNode);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (!selectedStepId) {\n return;\n }\n\n const carousel = carouselRef.current;\n const step = stepRefs.current[selectedStepId];\n\n if (carousel && step) {\n alignStep(carousel, step);\n }\n }, [selectedStepId]);\n\n /** Запоминает узел шага, чтобы подвести его в видимую область при выборе. */\n const setStepRef = (id: string) => (instance: HTMLLIElement | null) => {\n if (instance === null) {\n delete stepRefs.current[id];\n } else {\n stepRefs.current[id] = instance;\n }\n };\n\n return (\n <CarouselExtended\n className={clsx(styles.stepperCarousel, sizeToClassNameMap[size], className)}\n buttonPrev={renderPrevButton}\n buttonNext={renderNextButton}\n stepPrev={scrollStep}\n stepNext={scrollStep}\n ref={carouselRef}\n >\n <StepperExtended selectedStepId={selectedStepId} size={size} {...restProps}>\n {steps.map(({ label, ...step }, index) => (\n <StepperExtended.Step\n key={step.id}\n forwardedRef={setStepRef(step.id)}\n {...step}\n isInActiveStep={index > selectedIndex}\n >\n {label}\n </StepperExtended.Step>\n ))}\n </StepperExtended>\n </CarouselExtended>\n );\n};\n\nStepper.Step = StepperStep;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,qBAAqB,yBAAyB,MAAM;AAG1D,MAAM,oBAAoB;AAG1B,MAAM,8BAAuE;AAAA,EACzE,MAAM,OAAO;AAAA,EACb,MAAM,OAAO;AACjB;AAGA,MAAM,wBAA0E;AAAA,EAC5E,MAAM,oBAAC,0BAAA,EAAyB,cAAc,EAAA,CAAG;AAAA,EACjD,MAAM,oBAAC,2BAAA,EAA0B,cAAc,EAAA,CAAG;AACtD;AAeA,MAAM,sBAAsB,CAAC,EAAE,WAAW,MAAM,QAAQ,GAAG,sBACvD,SAAS,OACL,oBAAC,OAAA,EAAI,WAAW,KAAK,OAAO,sBAAsB,4BAA4B,SAAS,CAAC,GACpF,UAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,WAAW,KAAK,OAAO,eAAe,mBAAmB,IAAI,CAAC;AAAA,IAC9D,UAAU;AAAA,IACT,GAAG;AAAA,IAEH,gCAAsB,SAAS;AAAA,EAAA;AACpC,GACJ;AAOR,MAAM,iBAAiB,CAAC,UAA0B,MAAqB,OAAe,cAA4B;AAC9G,MAAI,SAAS,GAAG;AACZ;AAAA,EACJ;AAEA,QAAM,WAAW,KAAK;AAEtB,QAAM,eAAe,WAAW,SAAS,YAAY,SAAS,sBAAA,EAAwB,SAAS;AAE/F,2BAAyB,UAAU,KAAK,KAAK,YAAY,CAAC;AAC9D;AAMA,MAAM,gBAAgB,CAAC,UAA0B,MAAqB,OAAe,aAA2B;AAC5G,MAAI,SAAS,GAAG;AACZ;AAAA,EACJ;AAEA,QAAM,WAAW,KAAK;AAEtB,QAAM,eAAe,WAAW,SAAS,WAAW,SAAS,sBAAA,EAAwB,QAAQ;AAE7F,2BAAyB,UAAU,KAAK,MAAM,YAAY,CAAC;AAC/D;AAGA,MAAM,kBAAkB,CAAC,UAA0B,UAAwB;AACvE,MAAI,OAAO;AACP,6BAAyB,UAAU,KAAK;AAAA,EAC5C;AACJ;AAMA,MAAM,YAAY,CAAC,UAA0B,SAA8B;AACvE,QAAM,EAAE,MAAM,cAAc,OAAO,eAAe,OAAO,cAAA,IAAkB,SAAS,sBAAA;AACpF,QAAM,EAAE,MAAM,UAAU,OAAO,WAAW,OAAO,UAAA,IAAc,KAAK,sBAAA;AACpE,QAAM,iBAAiB,eAAe,gBAAgB;AACtD,QAAM,aAAa,WAAW,YAAY;AAE1C,MAAI,OAAO,WAAW,eAAe,aAAa,MAAM,GAAG,EAAE,SAAS;AAClE,oBAAgB,UAAU,aAAa,cAAc;AAAA,EACzD,WAAW,iBAAiB,YAAY;AACpC,kBAAc,UAAU,MAAM,WAAW,cAAc,QAAQ;AAAA,EACnE,WAAW,iBAAiB,YAAY;AACpC,mBAAe,UAAU,MAAM,YAAY,eAAe,SAAS;AAAA,EACvE;AACJ;AAGO,MAAM,UAAyD,CAAC;AAAA,EACnE;AAAA,EACA;AAAA,EACA,OAAO,eAAe;AAAA,EACtB;AAAA,EACA,GAAG;AACP,MAAM;AACF,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,CAAC;AAC9C,QAAM,cAAc,OAAuB,IAAI;AAC/C,QAAM,WAAW,OAA6C,EAAE;AAChE,QAAM,gBAAgB,MAAM,UAAU,CAAC,SAAS,KAAK,OAAO,cAAc;AAE1E,QAAM,mBAAmB;AAAA,IACrB,CAAC,gBACG,oBAAC,qBAAA,EAAqB,GAAG,aAAa,WAAU,QAAO,MAAY;AAAA,IAEvE,CAAC,IAAI;AAAA,EAAA;AAGT,QAAM,mBAAmB;AAAA,IACrB,CAAC,gBACG,oBAAC,qBAAA,EAAqB,GAAG,aAAa,WAAU,QAAO,MAAY;AAAA,IAEvE,CAAC,IAAI;AAAA,EAAA;AAGT,YAAU,MAAM;AACZ,UAAM,eAAe,YAAY;AAEjC,QAAI,iBAAiB,MAAM;AACvB;AAAA,IACJ;AAEA,UAAM,iBAAiB,IAAI,eAAe,CAAC,YAAY;AACnD,oBAAc,QAAQ,CAAC,EAAE,YAAY,QAAQ,iBAAiB;AAAA,IAClE,CAAC;AAED,mBAAe,QAAQ,YAAY;AAEnC,WAAO,MAAM;AACT,qBAAe,WAAA;AAAA,IACnB;AAAA,EACJ,GAAG,CAAA,CAAE;AAEL,YAAU,MAAM;AACZ,QAAI,CAAC,gBAAgB;AACjB;AAAA,IACJ;AAEA,UAAM,WAAW,YAAY;AAC7B,UAAM,OAAO,SAAS,QAAQ,cAAc;AAE5C,QAAI,YAAY,MAAM;AAClB,gBAAU,UAAU,IAAI;AAAA,IAC5B;AAAA,EACJ,GAAG,CAAC,cAAc,CAAC;AAGnB,QAAM,aAAa,CAAC,OAAe,CAAC,aAAmC;AACnE,QAAI,aAAa,MAAM;AACnB,aAAO,SAAS,QAAQ,EAAE;AAAA,IAC9B,OAAO;AACH,eAAS,QAAQ,EAAE,IAAI;AAAA,IAC3B;AAAA,EACJ;AAEA,SACI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAW,KAAK,OAAO,iBAAiB,mBAAmB,IAAI,GAAG,SAAS;AAAA,MAC3E,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,UAAU;AAAA,MACV,KAAK;AAAA,MAEL,UAAA,oBAAC,iBAAA,EAAgB,gBAAgC,MAAa,GAAG,WAC5D,UAAA,MAAM,IAAI,CAAC,EAAE,OAAO,GAAG,KAAA,GAAQ,UAC5B;AAAA,QAAC,gBAAgB;AAAA,QAAhB;AAAA,UAEG,cAAc,WAAW,KAAK,EAAE;AAAA,UAC/B,GAAG;AAAA,UACJ,gBAAgB,QAAQ;AAAA,UAEvB,UAAA;AAAA,QAAA;AAAA,QALI,KAAK;AAAA,MAAA,CAOjB,EAAA,CACL;AAAA,IAAA;AAAA,EAAA;AAGZ;AAEA,QAAQ,OAAO;"}
|
|
@@ -1,30 +1,51 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo } from "react";
|
|
2
|
+
import React__default, { useMemo, useCallback } from "react";
|
|
3
3
|
import { c as clsx } from "../../chunks/vendor-CUIykw0y.js";
|
|
4
4
|
import { StepperStep } from "./StepperStep.js";
|
|
5
5
|
import { StepperExtendedContext } from "./StepperExtendedContext.js";
|
|
6
|
+
import { setForwardedRef } from "../../helpers/setForwardedRef.js";
|
|
6
7
|
import { EComponentSize } from "../../enums/EComponentSize.js";
|
|
7
|
-
const stepperExtended = "
|
|
8
|
+
const stepperExtended = "stepperExtended__e43fa57a";
|
|
8
9
|
const styles = {
|
|
9
10
|
stepperExtended
|
|
10
11
|
};
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
12
|
+
const StepperExtendedRoot = React__default.forwardRef(
|
|
13
|
+
({
|
|
14
|
+
children,
|
|
15
|
+
className,
|
|
16
|
+
size = EComponentSize.MD,
|
|
17
|
+
onSelectStep,
|
|
18
|
+
selectedStepId,
|
|
19
|
+
forwardedRef,
|
|
20
|
+
...htmlOlAttributes
|
|
21
|
+
}, ref) => {
|
|
22
|
+
const contextValue = useMemo(
|
|
23
|
+
() => ({ selectedId: selectedStepId, size, onSelectStep }),
|
|
24
|
+
[selectedStepId, size, onSelectStep]
|
|
25
|
+
);
|
|
26
|
+
const setRef = useCallback(
|
|
27
|
+
(instance) => {
|
|
28
|
+
setForwardedRef(ref, instance);
|
|
29
|
+
setForwardedRef(forwardedRef, instance);
|
|
30
|
+
},
|
|
31
|
+
[ref, forwardedRef]
|
|
32
|
+
);
|
|
33
|
+
return /* @__PURE__ */ jsx(StepperExtendedContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
|
|
34
|
+
"ol",
|
|
35
|
+
{
|
|
36
|
+
className: clsx(styles.stepperExtended, className),
|
|
37
|
+
role: "tablist",
|
|
38
|
+
...htmlOlAttributes,
|
|
39
|
+
ref: setRef,
|
|
40
|
+
children
|
|
41
|
+
}
|
|
42
|
+
) });
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
StepperExtendedRoot.displayName = "StepperExtended";
|
|
46
|
+
const StepperExtended = Object.assign(StepperExtendedRoot, {
|
|
47
|
+
Step: StepperStep
|
|
48
|
+
});
|
|
28
49
|
export {
|
|
29
50
|
StepperExtended
|
|
30
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepperExtended.js","sources":["../../../src/components/Stepper/StepperExtended.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { StepperStep } from \"./StepperStep\";\nimport { StepperExtendedContext } from \"./StepperExtendedContext\";\nimport { IStepperExtendedProps } from \"./types\";\nimport { EComponentSize } from \"../../enums\";\nimport styles from \"./styles/StepperExtended.module.less\";\n\n/** Внутренние составляющие StepperExtended. */\ninterface IStepperExtendedComposition {\n Step: typeof StepperStep;\n}\n\
|
|
1
|
+
{"version":3,"file":"StepperExtended.js","sources":["../../../src/components/Stepper/StepperExtended.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { StepperStep } from \"./StepperStep\";\nimport { StepperExtendedContext } from \"./StepperExtendedContext\";\nimport { IStepperExtendedProps } from \"./types\";\nimport { setForwardedRef } from \"../../helpers/setForwardedRef\";\nimport { EComponentSize } from \"../../enums\";\nimport styles from \"./styles/StepperExtended.module.less\";\n\n/** Внутренние составляющие StepperExtended. */\ninterface IStepperExtendedComposition {\n Step: typeof StepperStep;\n}\n\nconst StepperExtendedRoot = React.forwardRef<HTMLOListElement, IStepperExtendedProps>(\n (\n {\n children,\n className,\n size = EComponentSize.MD,\n onSelectStep,\n selectedStepId,\n forwardedRef,\n ...htmlOlAttributes\n },\n ref,\n ) => {\n const contextValue = useMemo(\n () => ({ selectedId: selectedStepId, size, onSelectStep }),\n [selectedStepId, size, onSelectStep],\n );\n\n // Компонент поддерживает и ref, и исторический prop forwardedRef — оба указывают на один и тот же <ol>.\n const setRef = useCallback(\n (instance: HTMLOListElement | null) => {\n setForwardedRef(ref, instance);\n setForwardedRef(forwardedRef, instance);\n },\n [ref, forwardedRef],\n );\n\n return (\n <StepperExtendedContext.Provider value={contextValue}>\n <ol\n className={clsx(styles.stepperExtended, className)}\n role=\"tablist\"\n {...htmlOlAttributes}\n ref={setRef}\n >\n {children}\n </ol>\n </StepperExtendedContext.Provider>\n );\n },\n);\n\nStepperExtendedRoot.displayName = \"StepperExtended\";\n\n/**\n * Компонент StepperExtended, базовый степпер: список шагов без карусели и кнопок прокрутки.\n * Шаги потребитель передаёт сам через `StepperExtended.Step`. Готовый вариант с прокруткой — `Stepper`.\n */\n// Тип объявлен явно: без аннотации declaration emit падает с TS4023 — выведенный тип\n// сослался бы на внутренний интерфейс композиции из StepperStep, который не экспортируется.\nexport const StepperExtended: React.ForwardRefExoticComponent<\n IStepperExtendedProps & React.RefAttributes<HTMLOListElement>\n> &\n IStepperExtendedComposition = Object.assign(StepperExtendedRoot, {\n Step: StepperStep,\n} satisfies IStepperExtendedComposition);\n"],"names":["React"],"mappings":";;;;;;;;;;;AAcA,MAAM,sBAAsBA,eAAM;AAAA,EAC9B,CACI;AAAA,IACI;AAAA,IACA;AAAA,IACA,OAAO,eAAe;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,GAEP,QACC;AACD,UAAM,eAAe;AAAA,MACjB,OAAO,EAAE,YAAY,gBAAgB,MAAM,aAAA;AAAA,MAC3C,CAAC,gBAAgB,MAAM,YAAY;AAAA,IAAA;AAIvC,UAAM,SAAS;AAAA,MACX,CAAC,aAAsC;AACnC,wBAAgB,KAAK,QAAQ;AAC7B,wBAAgB,cAAc,QAAQ;AAAA,MAC1C;AAAA,MACA,CAAC,KAAK,YAAY;AAAA,IAAA;AAGtB,WACI,oBAAC,uBAAuB,UAAvB,EAAgC,OAAO,cACpC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,iBAAiB,SAAS;AAAA,QACjD,MAAK;AAAA,QACJ,GAAG;AAAA,QACJ,KAAK;AAAA,QAEJ;AAAA,MAAA;AAAA,IAAA,GAET;AAAA,EAER;AACJ;AAEA,oBAAoB,cAAc;AAQ3B,MAAM,kBAGqB,OAAO,OAAO,qBAAqB;AAAA,EACjE,MAAM;AACV,CAAuC;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React__default from "react";
|
|
2
2
|
import { EComponentSize } from "../../enums/EComponentSize.js";
|
|
3
3
|
const StepperExtendedContext = React__default.createContext({
|
|
4
|
-
size: EComponentSize.
|
|
4
|
+
size: EComponentSize.MD,
|
|
5
5
|
selectedId: void 0,
|
|
6
6
|
onSelectStep: () => {
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepperExtendedContext.js","sources":["../../../src/components/Stepper/StepperExtendedContext.ts"],"sourcesContent":["import React from \"react\";\nimport { EComponentSize } from \"../../enums\";\n\n/**
|
|
1
|
+
{"version":3,"file":"StepperExtendedContext.js","sources":["../../../src/components/Stepper/StepperExtendedContext.ts"],"sourcesContent":["import React from \"react\";\nimport { EComponentSize } from \"../../enums\";\n\n/** Значение контекста StepperExtended: его читает каждый StepperExtended.Step. */\nexport interface IStepperExtendedContext {\n /** Размер шагов. */\n size: EComponentSize;\n /** Уникальный идентификатор выбранного шага. */\n selectedId?: string;\n /** Обработчик выбора шага. */\n onSelectStep: (selectedId: string) => void;\n}\n\n/** Контекст StepperExtended. Через barrel не экспортируется — это внутренняя деталь компонента. */\nexport const StepperExtendedContext = React.createContext<IStepperExtendedContext>({\n size: EComponentSize.MD,\n selectedId: undefined,\n onSelectStep: () => {},\n});\n"],"names":["React"],"mappings":";;AAcO,MAAM,yBAAyBA,eAAM,cAAuC;AAAA,EAC/E,MAAM,eAAe;AAAA,EACrB,YAAY;AAAA,EACZ,cAAc,MAAM;AAAA,EAAC;AACzB,CAAC;"}
|
|
@@ -7,7 +7,7 @@ import { isKey } from "../../utils/keyboard.js";
|
|
|
7
7
|
import { StepperExtendedContext } from "./StepperExtendedContext.js";
|
|
8
8
|
import { EFocusSource } from "../../enums/EFocusSource.js";
|
|
9
9
|
import { EStepperStepType } from "./enums.js";
|
|
10
|
-
import { s as styles, S as StepperStepArrowBorder } from "../../chunks/StepperStepArrowBorder-
|
|
10
|
+
import { s as styles, S as StepperStepArrowBorder } from "../../chunks/StepperStepArrowBorder-B5HGnDby.js";
|
|
11
11
|
import { IconWrapper } from "../IconWrapper/IconWrapper.js";
|
|
12
12
|
const sizeToClassNameMap = createSizeToClassNameMap(styles);
|
|
13
13
|
const StepperStep = ({
|
|
@@ -92,7 +92,7 @@ const StepperStep = ({
|
|
|
92
92
|
}
|
|
93
93
|
};
|
|
94
94
|
const renderIcon = () => /* @__PURE__ */ jsx(IconWrapper, { className: styles.icon, disabled: !!disabled, children: icon });
|
|
95
|
-
const renderContent = () => /* @__PURE__ */ jsxs("div", { className: styles.content, "data-tx": "1.
|
|
95
|
+
const renderContent = () => /* @__PURE__ */ jsxs("div", { className: styles.content, "data-tx": "1.48.0", children: [
|
|
96
96
|
icon && renderIcon(),
|
|
97
97
|
children
|
|
98
98
|
] });
|
|
@@ -4,7 +4,7 @@ import { useSuggestContext } from "./SuggestContext.js";
|
|
|
4
4
|
import "../Dropdown/DropdownListContext.js";
|
|
5
5
|
import "../Dropdown/desktop/DropdownDesktop.js";
|
|
6
6
|
import "../Dropdown/desktop/DropdownList.js";
|
|
7
|
-
import "../../chunks/DropdownListItem-
|
|
7
|
+
import "../../chunks/DropdownListItem-cXbzcYKR.js";
|
|
8
8
|
import "../Dropdown/mobile/DropdownMobile.js";
|
|
9
9
|
import { DropdownMobileBody } from "../Dropdown/mobile/DropdownMobileBody.js";
|
|
10
10
|
import { DropdownMobileClose } from "../Dropdown/mobile/DropdownMobileClose.js";
|
|
@@ -21,8 +21,8 @@ import "../Typography/Caption.js";
|
|
|
21
21
|
import "../Typography/CodeText.js";
|
|
22
22
|
import { Text } from "../Typography/Text.js";
|
|
23
23
|
import "../Typography/Title.js";
|
|
24
|
-
const suggestDropdownMobileBody = "
|
|
25
|
-
const suggestDropdownMobileNoOptionsText = "
|
|
24
|
+
const suggestDropdownMobileBody = "suggestDropdownMobileBody__331bbb31";
|
|
25
|
+
const suggestDropdownMobileNoOptionsText = "suggestDropdownMobileNoOptionsText__48999b01";
|
|
26
26
|
const styles = {
|
|
27
27
|
suggestDropdownMobileBody,
|
|
28
28
|
suggestDropdownMobileNoOptionsText
|
|
@@ -2,7 +2,7 @@ import "./desktop/SuggestFieldDesktopDropdown.js";
|
|
|
2
2
|
import { SuggestFieldDesktop } from "./desktop/SuggestFieldDesktop.js";
|
|
3
3
|
import { SuggestFieldMobile } from "./mobile/SuggestFieldMobile.js";
|
|
4
4
|
import "./mobile/SuggestFieldMobileDropdown.js";
|
|
5
|
-
import "../../chunks/SuggestFieldMobileDropdownHint-
|
|
5
|
+
import "../../chunks/SuggestFieldMobileDropdownHint-BeT6Ch46.js";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
7
|
import { MobileView } from "../MobileView/MobileView.js";
|
|
8
8
|
import "../FormField/components/FormFieldClear.js";
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { SuggestFieldDesktopDropdown } from "./SuggestFieldDesktopDropdown.js";
|
|
2
2
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
|
-
import React__default, { useState, useRef,
|
|
3
|
+
import React__default, { useState, useRef, useCallback } from "react";
|
|
4
|
+
import { u as uniqueId } from "../../../chunks/vendor-CUIykw0y.js";
|
|
4
5
|
import { EComponentSize } from "../../../enums/EComponentSize.js";
|
|
6
|
+
import { isKey } from "../../../utils/keyboard.js";
|
|
5
7
|
import { Tooltip } from "../../Tooltip/Tooltip.js";
|
|
6
8
|
import { ETooltipSize } from "../../Tooltip/enums.js";
|
|
7
9
|
import { TextFieldBase } from "../../TextField/TextFieldBase.js";
|
|
@@ -23,7 +25,7 @@ import "../../Loader/LoaderMiddle/LoaderMiddle.js";
|
|
|
23
25
|
import { DropdownListContext } from "../../Dropdown/DropdownListContext.js";
|
|
24
26
|
import "../../Dropdown/desktop/DropdownDesktop.js";
|
|
25
27
|
import "../../Dropdown/desktop/DropdownList.js";
|
|
26
|
-
import "../../../chunks/DropdownListItem-
|
|
28
|
+
import "../../../chunks/DropdownListItem-cXbzcYKR.js";
|
|
27
29
|
import "../../Dropdown/mobile/DropdownMobile.js";
|
|
28
30
|
import "../../Dropdown/mobile/DropdownMobileBody.js";
|
|
29
31
|
import "../../Dropdown/mobile/DropdownMobileClose.js";
|
|
@@ -35,8 +37,6 @@ import "../../Dropdown/mobile/DropdownMobileList.js";
|
|
|
35
37
|
import "../../Dropdown/mobile/DropdownMobileListItem.js";
|
|
36
38
|
import "../../Dropdown/Dropdown.js";
|
|
37
39
|
import { DataTestId } from "../../../consts/DataTestId.js";
|
|
38
|
-
import { u as uniqueId } from "../../../chunks/vendor-CUIykw0y.js";
|
|
39
|
-
import { isKey } from "../../../utils/keyboard.js";
|
|
40
40
|
const SuggestFieldDesktop = ({
|
|
41
41
|
value,
|
|
42
42
|
options,
|
|
@@ -62,7 +62,7 @@ const SuggestFieldDesktop = ({
|
|
|
62
62
|
inputProps,
|
|
63
63
|
...restProps
|
|
64
64
|
}) => {
|
|
65
|
-
const [inputValue, setInputValue] = useState((value == null ? void 0 : value.label)
|
|
65
|
+
const [inputValue, setInputValue] = useState((value == null ? void 0 : value.label) ?? "");
|
|
66
66
|
const [inputFocused, setInputFocused] = useState(false);
|
|
67
67
|
const [dropdownOpen, setDropdownOpen] = useState(false);
|
|
68
68
|
const [ignoreAutoOpen, setIgnoreAutoOpen] = useState(false);
|
|
@@ -71,13 +71,9 @@ const SuggestFieldDesktop = ({
|
|
|
71
71
|
const [prevValue, setPrevValue] = useState(value);
|
|
72
72
|
if ((value == null ? void 0 : value.id) !== (prevValue == null ? void 0 : prevValue.id)) {
|
|
73
73
|
setPrevValue(value);
|
|
74
|
-
setInputValue((value == null ? void 0 : value.label)
|
|
74
|
+
setInputValue((value == null ? void 0 : value.label) ?? "");
|
|
75
75
|
}
|
|
76
76
|
const suggestRef = useRef(null);
|
|
77
|
-
const onScrollEndRef = useRef(onScrollEnd);
|
|
78
|
-
useLayoutEffect(() => {
|
|
79
|
-
onScrollEndRef.current = onScrollEnd;
|
|
80
|
-
}, [onScrollEnd]);
|
|
81
77
|
const handleInputFocus = useCallback(
|
|
82
78
|
(event) => {
|
|
83
79
|
var _a;
|
|
@@ -101,7 +97,7 @@ const SuggestFieldDesktop = ({
|
|
|
101
97
|
setInputFocused(false);
|
|
102
98
|
closeDropdown(false);
|
|
103
99
|
if (inputValue.length !== 0) {
|
|
104
|
-
setInputValue((value == null ? void 0 : value.label)
|
|
100
|
+
setInputValue((value == null ? void 0 : value.label) ?? "");
|
|
105
101
|
} else if (value !== void 0) {
|
|
106
102
|
onSelect(void 0);
|
|
107
103
|
}
|
|
@@ -160,7 +156,7 @@ const SuggestFieldDesktop = ({
|
|
|
160
156
|
const handleDropdownOpen = useCallback(
|
|
161
157
|
(nextDropdownOpen) => {
|
|
162
158
|
if (nextDropdownOpen) {
|
|
163
|
-
setDropdownOpen(
|
|
159
|
+
setDropdownOpen(true);
|
|
164
160
|
} else {
|
|
165
161
|
closeDropdown(false);
|
|
166
162
|
}
|
|
@@ -170,27 +166,21 @@ const SuggestFieldDesktop = ({
|
|
|
170
166
|
const handleSelect = useCallback(
|
|
171
167
|
(nextValue) => {
|
|
172
168
|
closeDropdown(true);
|
|
173
|
-
setInputValue((nextValue == null ? void 0 : nextValue.label)
|
|
169
|
+
setInputValue((nextValue == null ? void 0 : nextValue.label) ?? "");
|
|
174
170
|
onSelect(nextValue);
|
|
175
171
|
},
|
|
176
172
|
[closeDropdown, onSelect]
|
|
177
173
|
);
|
|
178
|
-
|
|
179
|
-
if (
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
}
|
|
184
|
-
} else {
|
|
185
|
-
if (options.length !== 0 && !ignoreAutoOpen) {
|
|
186
|
-
setDropdownOpen(true);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
174
|
+
if (inputFocused) {
|
|
175
|
+
if (dropdownOpen && options.length === 0) {
|
|
176
|
+
closeDropdown(false);
|
|
177
|
+
} else if (!dropdownOpen && options.length !== 0 && !ignoreAutoOpen) {
|
|
178
|
+
setDropdownOpen(true);
|
|
189
179
|
}
|
|
190
|
-
}
|
|
180
|
+
}
|
|
191
181
|
const renderSuggestField = () => {
|
|
192
|
-
const Input = renderInput
|
|
193
|
-
const Dropdown = renderDropdown
|
|
182
|
+
const Input = renderInput ?? FormFieldInput;
|
|
183
|
+
const Dropdown = renderDropdown ?? SuggestFieldDesktopDropdown;
|
|
194
184
|
const dropdownActuallyOpen = dropdownOpen && options.length !== 0;
|
|
195
185
|
return /* @__PURE__ */ jsxs(
|
|
196
186
|
TextFieldBase,
|
|
@@ -252,7 +242,7 @@ const SuggestFieldDesktop = ({
|
|
|
252
242
|
Tooltip,
|
|
253
243
|
{
|
|
254
244
|
size: ETooltipSize.SM,
|
|
255
|
-
isOpen:
|
|
245
|
+
isOpen: tooltipOpen && inputFocused && status !== EFormFieldStatus.DISABLED,
|
|
256
246
|
toggle: () => {
|
|
257
247
|
},
|
|
258
248
|
targetRef: suggestRef,
|