@sberbusiness/triplex-next 0.38.0 → 0.40.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-BlEVEKm1.js → AlertProcessSpoiler-pSJaWhCa.js} +16 -16
- package/chunks/{AlertProcessSpoiler-BlEVEKm1.js.map → AlertProcessSpoiler-pSJaWhCa.js.map} +1 -1
- package/chunks/{CalendarViewItem-DM-NHQkn.js → CalendarViewItem-Bwl6zTCS.js} +20 -20
- package/chunks/{CalendarViewItem-DM-NHQkn.js.map → CalendarViewItem-Bwl6zTCS.js.map} +1 -1
- package/chunks/Card.module-CvHkJNAp.js +30 -0
- package/chunks/Card.module-CvHkJNAp.js.map +1 -0
- package/chunks/Carousel.module-DTaSq3Bq.js +30 -0
- package/chunks/Carousel.module-DTaSq3Bq.js.map +1 -0
- package/chunks/CheckboxTreeExtended.module-SaSBrJR4.js +24 -0
- package/chunks/CheckboxTreeExtended.module-SaSBrJR4.js.map +1 -0
- package/chunks/{Chip-CHNEQIjq.js → Chip-ClKhILGe.js} +16 -16
- package/chunks/{Chip-CHNEQIjq.js.map → Chip-ClKhILGe.js.map} +1 -1
- package/chunks/Confirm.module-D6mKowVi.js +24 -0
- package/chunks/Confirm.module-D6mKowVi.js.map +1 -0
- package/chunks/{DropdownListItem-CWu2k-xN.js → DropdownListItem-V6Oe5CEm.js} +20 -22
- package/chunks/DropdownListItem-V6Oe5CEm.js.map +1 -0
- package/chunks/DropdownMobile.module-dTA2fTAB.js +40 -0
- package/chunks/DropdownMobile.module-dTA2fTAB.js.map +1 -0
- package/chunks/Footer.module-DUyQNLJD.js +12 -0
- package/chunks/Footer.module-DUyQNLJD.js.map +1 -0
- package/chunks/{HeaderLayoutSidebar.module-CyDAF1uQ.js → HeaderLayoutSidebar.module-DZ9o9YLT.js} +4 -4
- package/chunks/HeaderLayoutSidebar.module-DZ9o9YLT.js.map +1 -0
- package/chunks/HeaderTabs.module-CfIX4nxS.js +12 -0
- package/chunks/HeaderTabs.module-CfIX4nxS.js.map +1 -0
- package/chunks/{HeaderTitle.module-DmGrfVWQ.js → HeaderTitle.module-BmBk2AAI.js} +4 -4
- package/chunks/HeaderTitle.module-BmBk2AAI.js.map +1 -0
- package/chunks/ImageGalleryExtendedMain.module-DvyJj_xh.js +28 -0
- package/chunks/ImageGalleryExtendedMain.module-DvyJj_xh.js.map +1 -0
- package/chunks/{ImageGalleryExtendedThumb-COzhugMY.js → ImageGalleryExtendedThumb-BA0TstuP.js} +5 -5
- package/chunks/{ImageGalleryExtendedThumb-COzhugMY.js.map → ImageGalleryExtendedThumb-BA0TstuP.js.map} +1 -1
- package/chunks/IslandAccordion.module-rbKkMJ0T.js +44 -0
- package/chunks/IslandAccordion.module-rbKkMJ0T.js.map +1 -0
- package/chunks/IslandWidgetFooter.module-BatDP8na.js +12 -0
- package/chunks/IslandWidgetFooter.module-BatDP8na.js.map +1 -0
- package/chunks/IslandWidgetHeader.module-DF76XaTz.js +20 -0
- package/chunks/IslandWidgetHeader.module-DF76XaTz.js.map +1 -0
- package/chunks/{LightBoxContent-DEbpANhU.js → LightBoxContent-BY9UKPE0.js} +14 -14
- package/chunks/LightBoxContent-BY9UKPE0.js.map +1 -0
- package/chunks/LightBoxControls.module-CEa7tSP-.js +26 -0
- package/chunks/LightBoxControls.module-CEa7tSP-.js.map +1 -0
- package/chunks/{LightBoxSideOverlayClose.module-Cr5GCjkp.js → LightBoxSideOverlayClose.module-Dz_nN5cb.js} +4 -4
- package/chunks/LightBoxSideOverlayClose.module-Dz_nN5cb.js.map +1 -0
- package/chunks/{ListItemControlsButton-BNvP_Mz0.js → ListItemControlsButton-Cdfka5RR.js} +9 -9
- package/chunks/{ListItemControlsButton-BNvP_Mz0.js.map → ListItemControlsButton-Cdfka5RR.js.map} +1 -1
- package/chunks/ListItemTail.module-DhkBzx2c.js +18 -0
- package/chunks/ListItemTail.module-DhkBzx2c.js.map +1 -0
- package/chunks/ListMasterFooter.module-khPHsN9b.js +14 -0
- package/chunks/ListMasterFooter.module-khPHsN9b.js.map +1 -0
- package/chunks/ModalWindow.module-DZr3uvJa.js +28 -0
- package/chunks/ModalWindow.module-DZr3uvJa.js.map +1 -0
- package/chunks/Notification.module-DIhjUBLy.js +34 -0
- package/chunks/Notification.module-DIhjUBLy.js.map +1 -0
- package/chunks/Overlay.module-C5MzOOr3.js +30 -0
- package/chunks/Overlay.module-C5MzOOr3.js.map +1 -0
- package/chunks/Page.module-CujP9XrT.js +15 -0
- package/chunks/Page.module-CujP9XrT.js.map +1 -0
- package/chunks/SMSField.module-B5isl-Pm.js +26 -0
- package/chunks/SMSField.module-B5isl-Pm.js.map +1 -0
- package/chunks/SliderExtendedMarks.module-OQ_S7X8I.js +24 -0
- package/chunks/SliderExtendedMarks.module-OQ_S7X8I.js.map +1 -0
- package/chunks/{SliderExtendedRail-DIUyIHt5.js → SliderExtendedRail-C_QEaxu8.js} +5 -5
- package/chunks/{SliderExtendedRail-DIUyIHt5.js.map → SliderExtendedRail-C_QEaxu8.js.map} +1 -1
- package/chunks/StatusTracker.module-DCLE9tGr.js +42 -0
- package/chunks/StatusTracker.module-DCLE9tGr.js.map +1 -0
- package/chunks/{StepperStepArrowBorder-CqhFq6Om.js → StepperStepArrowBorder-BNFcnlyF.js} +16 -16
- package/chunks/{StepperStepArrowBorder-CqhFq6Om.js.map → StepperStepArrowBorder-BNFcnlyF.js.map} +1 -1
- package/chunks/{SuggestFieldMobileDropdownHint-Bk2VidMS.js → SuggestFieldMobileDropdownHint-DZV48TnI.js} +3 -3
- package/chunks/{SuggestFieldMobileDropdownHint-Bk2VidMS.js.map → SuggestFieldMobileDropdownHint-DZV48TnI.js.map} +1 -1
- package/chunks/TableFooter.module-DwBBlrsZ.js +22 -0
- package/chunks/TableFooter.module-DwBBlrsZ.js.map +1 -0
- package/chunks/TabsExtended.module-DrUKKP9t.js +26 -0
- package/chunks/TabsExtended.module-DrUKKP9t.js.map +1 -0
- package/chunks/TabsLine.module-D3PvmawY.js +36 -0
- package/chunks/TabsLine.module-D3PvmawY.js.map +1 -0
- package/chunks/TooltipDesktop.module-Cl4YkFeR.js +32 -0
- package/chunks/TooltipDesktop.module-Cl4YkFeR.js.map +1 -0
- package/chunks/TreeView.module-u57anLkg.js +12 -0
- package/chunks/TreeView.module-u57anLkg.js.map +1 -0
- package/chunks/{UploadZoneInput-l6iyPGsn.js → UploadZoneInput-jFV3NG4O.js} +5 -5
- package/chunks/{UploadZoneInput-l6iyPGsn.js.map → UploadZoneInput-jFV3NG4O.js.map} +1 -1
- package/chunks/{constants-Bgk_287a.js → constants-DSPLz6qR.js} +27 -27
- package/chunks/{constants-Bgk_287a.js.map → constants-DSPLz6qR.js.map} +1 -1
- package/chunks/{utils-BEel7-DU.js → utils-CkRhDOwX.js} +27 -27
- package/chunks/{utils-BEel7-DU.js.map → utils-CkRhDOwX.js.map} +1 -1
- package/chunks/{utils-BcNFYl2l.js → utils-DUYRscrm.js} +8 -8
- package/chunks/{utils-BcNFYl2l.js.map → utils-DUYRscrm.js.map} +1 -1
- package/chunks/{utils-EgErlzGw.js → utils-t-KnNaPS.js} +6 -6
- package/chunks/{utils-EgErlzGw.js.map → utils-t-KnNaPS.js.map} +1 -1
- package/chunks/{utils-D-7Tnz2q.js → utils-y1CGkIMc.js} +11 -11
- package/chunks/{utils-D-7Tnz2q.js.map → utils-y1CGkIMc.js.map} +1 -1
- package/components/Alert/AlertContext/AlertContext.js +16 -28
- package/components/Alert/AlertContext/AlertContext.js.map +1 -1
- 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/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 +29 -28
- package/components/Button/Button.js.map +1 -1
- package/components/Button/ButtonBase.js +1 -1
- package/components/Button/ButtonDropdown.js +65 -83
- package/components/Button/ButtonDropdown.js.map +1 -1
- package/components/Button/ButtonDropdownExtended.js +17 -21
- package/components/Button/ButtonDropdownExtended.js.map +1 -1
- package/components/Button/ButtonIcon.js +3 -3
- package/components/Button/ButtonIcon.js.map +1 -1
- package/components/Button/index.js +0 -2
- package/components/Button/index.js.map +1 -1
- package/components/Calendar/Calendar.js +4 -4
- package/components/Calendar/components/CalendarControls.js +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 +362 -0
- package/components/Carousel/Carousel.js.map +1 -0
- package/components/Carousel/CarouselButton.js +78 -0
- package/components/Carousel/CarouselButton.js.map +1 -0
- package/components/Carousel/CarouselContext.js +30 -0
- package/components/Carousel/CarouselContext.js.map +1 -0
- package/components/Carousel/CarouselIndicators.js +157 -0
- package/components/Carousel/CarouselIndicators.js.map +1 -0
- package/components/Carousel/CarouselItem.js +34 -0
- package/components/Carousel/CarouselItem.js.map +1 -0
- package/components/Carousel/CarouselTrack.js +36 -0
- package/components/Carousel/CarouselTrack.js.map +1 -0
- package/components/Carousel/CarouselViewport.js +159 -0
- package/components/Carousel/CarouselViewport.js.map +1 -0
- package/components/Carousel/constants.js +9 -0
- package/components/Carousel/constants.js.map +1 -0
- package/components/Carousel/enums.js +15 -0
- package/components/Carousel/enums.js.map +1 -0
- package/components/Carousel/index.js +8 -0
- package/components/Carousel/index.js.map +1 -0
- package/components/Carousel/types.js +2 -0
- package/components/Carousel/types.js.map +1 -0
- package/components/Carousel/utils.js +71 -0
- package/components/Carousel/utils.js.map +1 -0
- 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/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 +180 -177
- package/components/Col/Col.js.map +1 -1
- 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/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/DesignTokens/DesignTokensComponents.js +2 -0
- package/components/DesignTokens/DesignTokensComponents.js.map +1 -1
- package/components/DesignTokens/DesignTokensComponentsThemeDark.js +2 -0
- package/components/DesignTokens/DesignTokensComponentsThemeDark.js.map +1 -1
- package/components/DesignTokens/components/Carousel.js +51 -0
- package/components/DesignTokens/components/Carousel.js.map +1 -0
- package/components/DesignTokens/components/index.js +3 -0
- package/components/DesignTokens/components/index.js.map +1 -1
- package/components/DesignTokens/types/DesignTokensTypes.js.map +1 -1
- package/components/Divider/Divider.js +17 -17
- package/components/DocumentNumberEdit/DocumentNumberEdit.js +3 -3
- package/components/Dropdown/Dropdown.js +14 -7
- package/components/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/desktop/DropdownDesktop.js +20 -24
- package/components/Dropdown/desktop/DropdownDesktop.js.map +1 -1
- package/components/Dropdown/desktop/DropdownList.js +37 -72
- package/components/Dropdown/desktop/DropdownList.js.map +1 -1
- package/components/Dropdown/desktop/DropdownListItem.js +1 -1
- package/components/Dropdown/desktop/index.js +1 -1
- package/components/Dropdown/desktop/utils.js +34 -0
- package/components/Dropdown/desktop/utils.js.map +1 -0
- 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 +5 -3
- package/components/Dropdown/mobile/DropdownMobileInner.js.map +1 -1
- package/components/Dropdown/mobile/DropdownMobileInput.js +1 -1
- package/components/Dropdown/mobile/DropdownMobileList.js +3 -3
- package/components/Dropdown/mobile/DropdownMobileList.js.map +1 -1
- package/components/Dropdown/mobile/DropdownMobileListItem.js +1 -1
- package/components/Dropdown/mobile/DropdownMobileListItem.js.map +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 +11 -11
- 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 +6 -6
- 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 -3
- package/components/IslandAccordion/components/IslandAccordionItem.js.map +1 -1
- package/components/IslandWidget/IslandWidget.js +4 -4
- package/components/IslandWidget/components/IslandWidgetBody.js +1 -1
- 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/IslandWidgetHeaderContent.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 +33 -29
- package/components/LightBox/LightBox.js.map +1 -1
- package/components/LightBox/LightBoxContent.js +1 -1
- package/components/LightBox/LightBoxControls/LightBoxArrow.js +63 -0
- package/components/LightBox/LightBoxControls/LightBoxArrow.js.map +1 -0
- package/components/LightBox/LightBoxControls/LightBoxClose.js +7 -5
- package/components/LightBox/LightBoxControls/LightBoxClose.js.map +1 -1
- package/components/LightBox/LightBoxControls/LightBoxControls.js +1 -1
- package/components/LightBox/LightBoxControls/LightBoxControls.js.map +1 -1
- package/components/LightBox/LightBoxControls/LightBoxNext.js +17 -52
- package/components/LightBox/LightBoxControls/LightBoxNext.js.map +1 -1
- package/components/LightBox/LightBoxControls/LightBoxPrev.js +17 -52
- package/components/LightBox/LightBoxControls/LightBoxPrev.js.map +1 -1
- package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js +14 -14
- package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js.map +1 -1
- package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseDesktop.js +1 -1
- package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseMobile.js +1 -1
- package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js +5 -8
- package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js.map +1 -1
- package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js +6 -33
- package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js.map +1 -1
- package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js +6 -33
- package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js.map +1 -1
- package/components/LightBox/LightBoxSidebars/useLightBoxSidebarVisibility.js +37 -0
- package/components/LightBox/LightBoxSidebars/useLightBoxSidebarVisibility.js.map +1 -0
- package/components/LightBox/LightBoxViewManager/LightBoxViewManager.js +31 -29
- package/components/LightBox/LightBoxViewManager/LightBoxViewManager.js.map +1 -1
- package/components/LightBox/LightBoxViewManager/LightBoxViewManagerConsts.js +0 -11
- package/components/LightBox/LightBoxViewManager/LightBoxViewManagerConsts.js.map +1 -1
- package/components/LightBox/enums.js.map +1 -1
- 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/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 -2
- package/components/Notification/components/NotificationClose.js.map +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 +3 -3
- 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 -6
- package/components/Pagination/components/PaginationPageButton.js.map +1 -1
- package/components/Pagination/components/PaginationPageEllipsis.js +1 -1
- package/components/Pagination/components/PaginationSelect.js +2 -2
- package/components/Portal/Portal.js.map +1 -1
- 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 +24 -16
- package/components/Row/Row.js.map +1 -1
- package/components/Row/RowContext.js.map +1 -1
- 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 -2
- package/components/SMSField/components/SMSFieldRefresh.js.map +1 -1
- package/components/SMSField/components/SMSFieldSubmit.js +1 -2
- package/components/SMSField/components/SMSFieldSubmit.js.map +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 +4 -4
- 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 -11
- package/components/Spoiler/Spoiler.js.map +1 -1
- package/components/StatusTracker/StatusTracker.js +2 -2
- package/components/StatusTracker/components/StatusTrackerAlert.js +1 -1
- package/components/StatusTracker/components/StatusTrackerBody.js +1 -1
- package/components/StatusTracker/components/StatusTrackerButton.js +1 -2
- package/components/StatusTracker/components/StatusTrackerButton.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerDescription.js +1 -1
- package/components/StatusTracker/components/StatusTrackerFooter.js +1 -1
- package/components/StatusTracker/components/StatusTrackerHeader.js +1 -1
- package/components/StatusTracker/components/StatusTrackerMedia.js +1 -1
- package/components/StatusTracker/components/StatusTrackerStatus.js +1 -1
- package/components/StatusTracker/components/StatusTrackerStatusGroup.js +1 -1
- package/components/StatusTracker/components/StatusTrackerSum.js +1 -1
- package/components/StatusTracker/components/StatusTrackerTitle.js +1 -1
- package/components/Step/Step.js +10 -10
- package/components/Stepper/Stepper.js +8 -8
- package/components/Stepper/StepperExtended.js +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 +1 -1
- package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js +1 -1
- package/components/SuggestField/index.js +1 -1
- package/components/SuggestField/mobile/SuggestFieldMobile.js +1 -1
- package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js +2 -2
- 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 +5 -6
- 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/TagGroup/TagGroup.js +4 -4
- package/components/TextField/TextField.js.map +1 -1
- package/components/TextField/TextFieldBase.js.map +1 -1
- package/components/Tooltip/components/common/TooltipBody.js +1 -1
- package/components/Tooltip/components/common/TooltipLink.js +5 -5
- 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 +9 -12
- package/components/Typography/Caption.js.map +1 -1
- package/components/Typography/CodeText.js +6 -9
- package/components/Typography/CodeText.js.map +1 -1
- package/components/Typography/Text.js +13 -16
- package/components/Typography/Text.js.map +1 -1
- package/components/Typography/Title.js +12 -15
- package/components/Typography/Title.js.map +1 -1
- package/components/Typography/constants.js +1 -1
- package/components/Typography/enums.js.map +1 -1
- package/components/Typography/utils.js +16 -0
- package/components/Typography/utils.js.map +1 -0
- package/components/UnorderedList/UnorderedList.js +2 -2
- package/components/UnorderedList/UnorderedListItem.js +2 -2
- package/components/UploadZone/UploadZone.js +2 -2
- package/components/UploadZone/components/UploadZoneInput.js +1 -1
- package/components/UploadZone/index.js +1 -1
- package/components/index.js +11 -8
- package/components/index.js.map +1 -1
- package/index.d.ts +251 -54
- package/index.js +11 -8
- package/index.js.map +1 -1
- package/package.json +5 -1
- package/styles/triplex-next.css +3086 -2914
- package/chunks/Card.module-CUu3n1Ik.js +0 -30
- package/chunks/Card.module-CUu3n1Ik.js.map +0 -1
- package/chunks/CheckboxTreeExtended.module-Bs5kaeQL.js +0 -24
- package/chunks/CheckboxTreeExtended.module-Bs5kaeQL.js.map +0 -1
- package/chunks/Confirm.module-B2-rL_RN.js +0 -24
- package/chunks/Confirm.module-B2-rL_RN.js.map +0 -1
- package/chunks/DropdownListItem-CWu2k-xN.js.map +0 -1
- package/chunks/DropdownMobile.module-S-iDleFe.js +0 -40
- package/chunks/DropdownMobile.module-S-iDleFe.js.map +0 -1
- package/chunks/Footer.module-p1FV05Yu.js +0 -12
- package/chunks/Footer.module-p1FV05Yu.js.map +0 -1
- package/chunks/HeaderLayoutSidebar.module-CyDAF1uQ.js.map +0 -1
- package/chunks/HeaderTabs.module-CXyVCcj5.js +0 -12
- package/chunks/HeaderTabs.module-CXyVCcj5.js.map +0 -1
- package/chunks/HeaderTitle.module-DmGrfVWQ.js.map +0 -1
- package/chunks/ImageGalleryExtendedMain.module-CT_yuW46.js +0 -28
- package/chunks/ImageGalleryExtendedMain.module-CT_yuW46.js.map +0 -1
- package/chunks/IslandAccordion.module-DLR4XYgF.js +0 -44
- package/chunks/IslandAccordion.module-DLR4XYgF.js.map +0 -1
- package/chunks/IslandWidgetFooter.module-CMgkAlm6.js +0 -12
- package/chunks/IslandWidgetFooter.module-CMgkAlm6.js.map +0 -1
- package/chunks/IslandWidgetHeader.module-vfGKCnA2.js +0 -20
- package/chunks/IslandWidgetHeader.module-vfGKCnA2.js.map +0 -1
- package/chunks/LightBoxContent-DEbpANhU.js.map +0 -1
- package/chunks/LightBoxControls.module-BFMB3dd_.js +0 -26
- package/chunks/LightBoxControls.module-BFMB3dd_.js.map +0 -1
- package/chunks/LightBoxSideOverlayClose.module-Cr5GCjkp.js.map +0 -1
- package/chunks/ListItemTail.module-DfBFMdiL.js +0 -18
- package/chunks/ListItemTail.module-DfBFMdiL.js.map +0 -1
- package/chunks/ListMasterFooter.module-Cl0OSU-T.js +0 -14
- package/chunks/ListMasterFooter.module-Cl0OSU-T.js.map +0 -1
- package/chunks/ModalWindow.module-oXHx3oyZ.js +0 -28
- package/chunks/ModalWindow.module-oXHx3oyZ.js.map +0 -1
- package/chunks/Notification.module-DXDtOWrl.js +0 -34
- package/chunks/Notification.module-DXDtOWrl.js.map +0 -1
- package/chunks/Overlay.module-D_FjIWyF.js +0 -30
- package/chunks/Overlay.module-D_FjIWyF.js.map +0 -1
- package/chunks/Page.module-Bq8dB1IT.js +0 -15
- package/chunks/Page.module-Bq8dB1IT.js.map +0 -1
- package/chunks/SMSField.module-C2nI_EDz.js +0 -26
- package/chunks/SMSField.module-C2nI_EDz.js.map +0 -1
- package/chunks/SliderExtendedMarks.module-C8OiLDn9.js +0 -24
- package/chunks/SliderExtendedMarks.module-C8OiLDn9.js.map +0 -1
- package/chunks/StatusTracker.module-5T9i1GGV.js +0 -42
- package/chunks/StatusTracker.module-5T9i1GGV.js.map +0 -1
- package/chunks/TableFooter.module-BX65oT3X.js +0 -22
- package/chunks/TableFooter.module-BX65oT3X.js.map +0 -1
- package/chunks/TabsExtended.module-DCz7kdLt.js +0 -26
- package/chunks/TabsExtended.module-DCz7kdLt.js.map +0 -1
- package/chunks/TabsLine.module-PAGumMbi.js +0 -36
- package/chunks/TabsLine.module-PAGumMbi.js.map +0 -1
- package/chunks/TooltipDesktop.module-Z0H7qkiX.js +0 -32
- package/chunks/TooltipDesktop.module-Z0H7qkiX.js.map +0 -1
- package/chunks/TreeView.module-pw7zQPrN.js +0 -12
- package/chunks/TreeView.module-pw7zQPrN.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
|
|
4
|
-
import { s as styles } from "../../../chunks/IslandAccordion.module-
|
|
4
|
+
import { s as styles } from "../../../chunks/IslandAccordion.module-rbKkMJ0T.js";
|
|
5
5
|
import { Island } from "../../Island/Island.js";
|
|
6
6
|
import "../../Island/components/IslandBody.js";
|
|
7
7
|
import "../../Island/components/IslandHeader.js";
|
|
@@ -8,7 +8,6 @@ import { IslandAccordionContent } from "./IslandAccordionContent.js";
|
|
|
8
8
|
import { IslandAccordionFooter } from "./IslandAccordionFooter.js";
|
|
9
9
|
import { createSizeToClassNameMap } from "../../../utils/classNameMaps.js";
|
|
10
10
|
import "../../Button/Button.js";
|
|
11
|
-
import "../../Button/ButtonBase.js";
|
|
12
11
|
import { ButtonIcon } from "../../Button/ButtonIcon.js";
|
|
13
12
|
import "../../Button/ButtonDropdown.js";
|
|
14
13
|
import "../../Button/ButtonDropdownExtended.js";
|
|
@@ -26,7 +25,7 @@ import "../../Typography/CodeText.js";
|
|
|
26
25
|
import "../../Typography/Text.js";
|
|
27
26
|
import { Title } from "../../Typography/Title.js";
|
|
28
27
|
import { useMobileView } from "../../MobileView/useMobileView.js";
|
|
29
|
-
import { s as styles } from "../../../chunks/IslandAccordion.module-
|
|
28
|
+
import { s as styles } from "../../../chunks/IslandAccordion.module-rbKkMJ0T.js";
|
|
30
29
|
const TYPE_TO_CLASS_NAME_MAP = {
|
|
31
30
|
[EIslandType.TYPE_1]: styles.type1,
|
|
32
31
|
[EIslandType.TYPE_2]: styles.type2,
|
|
@@ -107,7 +106,7 @@ const IslandAccordionItem = Object.assign(
|
|
|
107
106
|
}),
|
|
108
107
|
onClick: handleHeaderClick,
|
|
109
108
|
disabled,
|
|
110
|
-
"data-tx": "0.
|
|
109
|
+
"data-tx": "0.40.0",
|
|
111
110
|
children: [
|
|
112
111
|
status && num && /* @__PURE__ */ jsx("div", { className: styles.step, children: /* @__PURE__ */ jsx(Step, { step: num, status, position: EStepPosition.XFirst, size, children: disabled ? void 0 : stepHint }) }),
|
|
113
112
|
/* @__PURE__ */ jsx(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IslandAccordionItem.js","sources":["../../../../src/components/IslandAccordion/components/IslandAccordionItem.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useContext } from \"react\";\nimport { CaretdownStrokeSrvIcon24, CrossStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport clsx from \"clsx\";\nimport { Island } from \"../../Island/Island\";\nimport { uniqueId } from \"lodash-es\";\nimport { ExpandAnimation, IExpandAnimationProps } from \"../../ExpandAnimation\";\nimport { IslandAccordionContent } from \"./IslandAccordionContent\";\nimport { IslandAccordionFooter } from \"./IslandAccordionFooter\";\nimport { createSizeToClassNameMap } from \"../../../utils/classNameMaps\";\nimport { ButtonIcon } from \"../../Button\";\nimport { EIslandType } from \"../../Island\";\nimport { Step, EStepStatus, EStepPosition } from \"../../Step\";\nimport { IslandAccordionContext } from \"../IslandAccordionContext\";\nimport { EComponentSize } from \"../../../enums/EComponentSize\";\nimport { ETitleSize, Title, EFontType, EFontWeightTitle } from \"../../Typography\";\nimport { useMobileView } from \"../../MobileView\";\nimport styles from \"../styles/IslandAccordion.module.less\";\n\nexport interface IIslandAccordionItemProps extends Omit<React.HTMLAttributes<HTMLLIElement>, \"title\"> {\n /** Нода с названием заголовка. */\n title: React.ReactNode;\n /** Идентификатор вкладки (если не передать извне, то используется индекс. Также используется как ключ при рендере списка вкладок). */\n id: string;\n /** Цифра в кружке. */\n num?: number;\n /** Раскрыт ли элемент. */\n opened?: boolean;\n /** Статус шага. */\n status?: EStepStatus;\n /** Подсказка к шагу. */\n stepHint?: string;\n /** Заблокирован ли элемент. */\n disabled?: boolean;\n /** Вызывается при клике по вкладке. */\n onToggle?: (newOpened: boolean, id: string) => void;\n /** Вызывается при удалении вкладки. */\n onRemove?: (id: string) => void;\n /** Свойства компонента Transition (react-transition-group). */\n transitionProps?: IExpandAnimationProps[\"transitionProps\"];\n}\n\nconst TYPE_TO_CLASS_NAME_MAP: Record<EIslandType, string> = {\n [EIslandType.TYPE_1]: styles.type1,\n [EIslandType.TYPE_2]: styles.type2,\n [EIslandType.TYPE_3]: styles.type3,\n};\n\nconst SIZE_TO_TITLE_SIZE_MAP: Record<EComponentSize, ETitleSize> = {\n [EComponentSize.SM]: ETitleSize.H3,\n [EComponentSize.MD]: ETitleSize.H3,\n [EComponentSize.LG]: ETitleSize.H2,\n};\n\nconst SIZE_TO_CLASS_NAME_MAP = createSizeToClassNameMap(styles);\n\nexport const IslandAccordionItem = Object.assign(\n React.forwardRef<HTMLLIElement, IIslandAccordionItemProps>(\n (\n {\n children,\n title,\n className,\n opened,\n disabled,\n onRemove,\n onToggle,\n id,\n num,\n status,\n stepHint,\n transitionProps,\n ...rest\n },\n ref,\n ) => {\n const [isOpen, setIsOpen] = useState(opened || false);\n const { size, type } = useContext(IslandAccordionContext);\n\n const instanceId = useRef(uniqueId()).current;\n const headerInstanceId = `${instanceId}header`;\n const bodyInstanceId = `${instanceId}body`;\n\n const adaptive = useMobileView();\n\n useEffect(() => {\n if (opened !== undefined && isOpen !== opened) {\n setIsOpen(opened);\n }\n }, [opened, isOpen]);\n\n const handleHeaderClick = (): void => {\n if (disabled) {\n return;\n }\n const newOpened = !isOpen;\n onToggle?.(newOpened, id);\n\n if (opened === undefined) {\n setIsOpen(newOpened);\n }\n };\n\n const handleRemoveClick = (): void => {\n if (disabled) {\n return;\n }\n onRemove?.(id);\n };\n\n const titleSize = adaptive ? ETitleSize.H3 : SIZE_TO_TITLE_SIZE_MAP[size];\n\n const classNames = clsx(\n className,\n styles.item,\n SIZE_TO_CLASS_NAME_MAP[size],\n TYPE_TO_CLASS_NAME_MAP[type],\n {\n [styles.disabled]: !!disabled,\n [styles.opened]: isOpen,\n },\n );\n\n return (\n <li {...rest} className={classNames} id={id} ref={ref}>\n <Island className={styles.island} size={size} type={type}>\n <Island.Header>\n <button\n id={headerInstanceId}\n aria-controls={bodyInstanceId}\n aria-expanded={isOpen}\n type=\"button\"\n className={clsx(styles.header, {\n hoverable: !isOpen,\n })}\n onClick={handleHeaderClick}\n disabled={disabled}\n data-tx={process.env.npm_package_version}\n >\n {status && num && (\n <div className={styles.step}>\n <Step step={num} status={status} position={EStepPosition.XFirst} size={size}>\n {disabled ? undefined : stepHint}\n </Step>\n </div>\n )}\n\n <Title\n className={styles.title}\n size={titleSize}\n type={disabled ? EFontType.DISABLED : EFontType.PRIMARY}\n tag=\"div\"\n weight={EFontWeightTitle.MEDIUM}\n >\n {title}\n </Title>\n\n <span className={clsx(styles.caretWrapper)}>\n <CaretdownStrokeSrvIcon24\n className={styles.caretIcon}\n aria-hidden=\"true\"\n paletteIndex={5}\n />\n </span>\n </button>\n </Island.Header>\n\n <ExpandAnimation\n expanded={isOpen && !disabled}\n id={bodyInstanceId}\n role=\"region\"\n aria-labelledby={headerInstanceId}\n transitionProps={transitionProps}\n >\n {children}\n </ExpandAnimation>\n </Island>\n\n {onRemove && (\n <span className={styles.remove}>\n <ButtonIcon onClick={handleRemoveClick} disabled={disabled} title=\"Удалить\">\n <CrossStrokeSrvIcon24 paletteIndex={5} />\n </ButtonIcon>\n </span>\n )}\n </li>\n );\n },\n ),\n {\n Content: IslandAccordionContent,\n Footer: IslandAccordionFooter,\n },\n);\n\nIslandAccordionItem.displayName = \"IslandAccordionItem\";\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IslandAccordionItem.js","sources":["../../../../src/components/IslandAccordion/components/IslandAccordionItem.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useContext } from \"react\";\nimport { CaretdownStrokeSrvIcon24, CrossStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport clsx from \"clsx\";\nimport { Island } from \"../../Island/Island\";\nimport { uniqueId } from \"lodash-es\";\nimport { ExpandAnimation, IExpandAnimationProps } from \"../../ExpandAnimation\";\nimport { IslandAccordionContent } from \"./IslandAccordionContent\";\nimport { IslandAccordionFooter } from \"./IslandAccordionFooter\";\nimport { createSizeToClassNameMap } from \"../../../utils/classNameMaps\";\nimport { ButtonIcon } from \"../../Button\";\nimport { EIslandType } from \"../../Island\";\nimport { Step, EStepStatus, EStepPosition } from \"../../Step\";\nimport { IslandAccordionContext } from \"../IslandAccordionContext\";\nimport { EComponentSize } from \"../../../enums/EComponentSize\";\nimport { ETitleSize, Title, EFontType, EFontWeightTitle } from \"../../Typography\";\nimport { useMobileView } from \"../../MobileView\";\nimport styles from \"../styles/IslandAccordion.module.less\";\n\nexport interface IIslandAccordionItemProps extends Omit<React.HTMLAttributes<HTMLLIElement>, \"title\"> {\n /** Нода с названием заголовка. */\n title: React.ReactNode;\n /** Идентификатор вкладки (если не передать извне, то используется индекс. Также используется как ключ при рендере списка вкладок). */\n id: string;\n /** Цифра в кружке. */\n num?: number;\n /** Раскрыт ли элемент. */\n opened?: boolean;\n /** Статус шага. */\n status?: EStepStatus;\n /** Подсказка к шагу. */\n stepHint?: string;\n /** Заблокирован ли элемент. */\n disabled?: boolean;\n /** Вызывается при клике по вкладке. */\n onToggle?: (newOpened: boolean, id: string) => void;\n /** Вызывается при удалении вкладки. */\n onRemove?: (id: string) => void;\n /** Свойства компонента Transition (react-transition-group). */\n transitionProps?: IExpandAnimationProps[\"transitionProps\"];\n}\n\nconst TYPE_TO_CLASS_NAME_MAP: Record<EIslandType, string> = {\n [EIslandType.TYPE_1]: styles.type1,\n [EIslandType.TYPE_2]: styles.type2,\n [EIslandType.TYPE_3]: styles.type3,\n};\n\nconst SIZE_TO_TITLE_SIZE_MAP: Record<EComponentSize, ETitleSize> = {\n [EComponentSize.SM]: ETitleSize.H3,\n [EComponentSize.MD]: ETitleSize.H3,\n [EComponentSize.LG]: ETitleSize.H2,\n};\n\nconst SIZE_TO_CLASS_NAME_MAP = createSizeToClassNameMap(styles);\n\nexport const IslandAccordionItem = Object.assign(\n React.forwardRef<HTMLLIElement, IIslandAccordionItemProps>(\n (\n {\n children,\n title,\n className,\n opened,\n disabled,\n onRemove,\n onToggle,\n id,\n num,\n status,\n stepHint,\n transitionProps,\n ...rest\n },\n ref,\n ) => {\n const [isOpen, setIsOpen] = useState(opened || false);\n const { size, type } = useContext(IslandAccordionContext);\n\n const instanceId = useRef(uniqueId()).current;\n const headerInstanceId = `${instanceId}header`;\n const bodyInstanceId = `${instanceId}body`;\n\n const adaptive = useMobileView();\n\n useEffect(() => {\n if (opened !== undefined && isOpen !== opened) {\n setIsOpen(opened);\n }\n }, [opened, isOpen]);\n\n const handleHeaderClick = (): void => {\n if (disabled) {\n return;\n }\n const newOpened = !isOpen;\n onToggle?.(newOpened, id);\n\n if (opened === undefined) {\n setIsOpen(newOpened);\n }\n };\n\n const handleRemoveClick = (): void => {\n if (disabled) {\n return;\n }\n onRemove?.(id);\n };\n\n const titleSize = adaptive ? ETitleSize.H3 : SIZE_TO_TITLE_SIZE_MAP[size];\n\n const classNames = clsx(\n className,\n styles.item,\n SIZE_TO_CLASS_NAME_MAP[size],\n TYPE_TO_CLASS_NAME_MAP[type],\n {\n [styles.disabled]: !!disabled,\n [styles.opened]: isOpen,\n },\n );\n\n return (\n <li {...rest} className={classNames} id={id} ref={ref}>\n <Island className={styles.island} size={size} type={type}>\n <Island.Header>\n <button\n id={headerInstanceId}\n aria-controls={bodyInstanceId}\n aria-expanded={isOpen}\n type=\"button\"\n className={clsx(styles.header, {\n hoverable: !isOpen,\n })}\n onClick={handleHeaderClick}\n disabled={disabled}\n data-tx={process.env.npm_package_version}\n >\n {status && num && (\n <div className={styles.step}>\n <Step step={num} status={status} position={EStepPosition.XFirst} size={size}>\n {disabled ? undefined : stepHint}\n </Step>\n </div>\n )}\n\n <Title\n className={styles.title}\n size={titleSize}\n type={disabled ? EFontType.DISABLED : EFontType.PRIMARY}\n tag=\"div\"\n weight={EFontWeightTitle.MEDIUM}\n >\n {title}\n </Title>\n\n <span className={clsx(styles.caretWrapper)}>\n <CaretdownStrokeSrvIcon24\n className={styles.caretIcon}\n aria-hidden=\"true\"\n paletteIndex={5}\n />\n </span>\n </button>\n </Island.Header>\n\n <ExpandAnimation\n expanded={isOpen && !disabled}\n id={bodyInstanceId}\n role=\"region\"\n aria-labelledby={headerInstanceId}\n transitionProps={transitionProps}\n >\n {children}\n </ExpandAnimation>\n </Island>\n\n {onRemove && (\n <span className={styles.remove}>\n <ButtonIcon onClick={handleRemoveClick} disabled={disabled} title=\"Удалить\">\n <CrossStrokeSrvIcon24 paletteIndex={5} />\n </ButtonIcon>\n </span>\n )}\n </li>\n );\n },\n ),\n {\n Content: IslandAccordionContent,\n Footer: IslandAccordionFooter,\n },\n);\n\nIslandAccordionItem.displayName = \"IslandAccordionItem\";\n"],"names":[],"mappings":"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"}
|
|
@@ -15,9 +15,9 @@ import { IslandWidgetLayoutContext } from "./IslandWidgetLayoutContext.js";
|
|
|
15
15
|
import { IslandWidgetContext } from "./IslandWidgetContext.js";
|
|
16
16
|
import { ExpandAnimation } from "../ExpandAnimation/ExpandAnimation.js";
|
|
17
17
|
import { useMobileView } from "../MobileView/useMobileView.js";
|
|
18
|
-
const islandWidget = "
|
|
19
|
-
const islandWidgetWithExtraFooter = "
|
|
20
|
-
const islandWidgetHeaderWrapperAdaptive = "
|
|
18
|
+
const islandWidget = "islandWidget__e5828052";
|
|
19
|
+
const islandWidgetWithExtraFooter = "islandWidgetWithExtraFooter__c0e2629c";
|
|
20
|
+
const islandWidgetHeaderWrapperAdaptive = "islandWidgetHeaderWrapperAdaptive__f34adbb6";
|
|
21
21
|
const styles = {
|
|
22
22
|
islandWidget,
|
|
23
23
|
islandWidgetWithExtraFooter,
|
|
@@ -60,7 +60,7 @@ const IslandWidget = Object.assign(
|
|
|
60
60
|
className: clsx(styles.islandWidget, className, {
|
|
61
61
|
[styles.islandWidgetWithExtraFooter]: hasExtraFooter
|
|
62
62
|
}),
|
|
63
|
-
"data-tx": "0.
|
|
63
|
+
"data-tx": "0.40.0",
|
|
64
64
|
...rest,
|
|
65
65
|
ref,
|
|
66
66
|
children: /* @__PURE__ */ jsxs(Island, { type: EIslandType.TYPE_1, size, children: [
|
|
@@ -3,7 +3,7 @@ import { useContext, useEffect } from "react";
|
|
|
3
3
|
import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
|
|
4
4
|
import { ExpandAnimation } from "../../ExpandAnimation/ExpandAnimation.js";
|
|
5
5
|
import { IslandWidgetLayoutContext } from "../IslandWidgetLayoutContext.js";
|
|
6
|
-
const islandWidgetExtraFooter = "
|
|
6
|
+
const islandWidgetExtraFooter = "islandWidgetExtraFooter__5c145c3e";
|
|
7
7
|
const styles = {
|
|
8
8
|
islandWidgetExtraFooter
|
|
9
9
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
|
|
3
|
-
import { s as styles } from "../../../chunks/IslandWidgetFooter.module-
|
|
3
|
+
import { s as styles } from "../../../chunks/IslandWidgetFooter.module-BatDP8na.js";
|
|
4
4
|
import { IslandWidgetFooterContent } from "./IslandWidgetFooterContent.js";
|
|
5
5
|
import { IslandWidgetFooterControls } from "./IslandWidgetFooterControls.js";
|
|
6
6
|
const IslandWidgetFooter = ({ children, className, ...htmlDivAttributes }) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { s as styles } from "../../../chunks/IslandWidgetFooter.module-
|
|
2
|
+
import { s as styles } from "../../../chunks/IslandWidgetFooter.module-BatDP8na.js";
|
|
3
3
|
const IslandWidgetFooterContent = ({
|
|
4
4
|
children,
|
|
5
5
|
...htmlDivAttributes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { s as styles } from "../../../chunks/IslandWidgetFooter.module-
|
|
2
|
+
import { s as styles } from "../../../chunks/IslandWidgetFooter.module-BatDP8na.js";
|
|
3
3
|
const IslandWidgetFooterControls = ({
|
|
4
4
|
children,
|
|
5
5
|
...htmlDivAttributes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useContext } from "react";
|
|
3
3
|
import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
|
|
4
|
-
import { s as styles } from "../../../chunks/IslandWidgetHeader.module-
|
|
4
|
+
import { s as styles } from "../../../chunks/IslandWidgetHeader.module-DF76XaTz.js";
|
|
5
5
|
import { IslandWidgetHeaderControls } from "./IslandWidgetHeaderControls.js";
|
|
6
6
|
import { IslandWidgetHeaderDescription } from "./IslandWidgetHeaderDescription.js";
|
|
7
7
|
import { IslandWidgetHeaderTitle } from "./IslandWidgetHeaderTitle.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
|
|
3
|
-
import { s as styles } from "../../../chunks/IslandWidgetHeader.module-
|
|
3
|
+
import { s as styles } from "../../../chunks/IslandWidgetHeader.module-DF76XaTz.js";
|
|
4
4
|
const IslandWidgetHeaderContent = ({
|
|
5
5
|
children,
|
|
6
6
|
className,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
|
|
3
|
-
import { s as styles } from "../../../chunks/IslandWidgetHeader.module-
|
|
3
|
+
import { s as styles } from "../../../chunks/IslandWidgetHeader.module-DF76XaTz.js";
|
|
4
4
|
const IslandWidgetHeaderControls = ({
|
|
5
5
|
children,
|
|
6
6
|
className,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
|
|
3
|
-
import { s as styles } from "../../../chunks/IslandWidgetHeader.module-
|
|
3
|
+
import { s as styles } from "../../../chunks/IslandWidgetHeader.module-DF76XaTz.js";
|
|
4
4
|
import { EFontType, ETextSize } from "../../Typography/enums.js";
|
|
5
5
|
import "../../Typography/Caption.js";
|
|
6
6
|
import "../../Typography/CodeText.js";
|
|
@@ -4,7 +4,7 @@ import "../../Typography/Caption.js";
|
|
|
4
4
|
import "../../Typography/CodeText.js";
|
|
5
5
|
import "../../Typography/Text.js";
|
|
6
6
|
import { Title } from "../../Typography/Title.js";
|
|
7
|
-
import { s as styles } from "../../../chunks/IslandWidgetHeader.module-
|
|
7
|
+
import { s as styles } from "../../../chunks/IslandWidgetHeader.module-DF76XaTz.js";
|
|
8
8
|
import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
|
|
9
9
|
const IslandWidgetHeaderTitle = ({
|
|
10
10
|
children,
|
|
@@ -2,7 +2,7 @@ import { jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import React, { useState } from "react";
|
|
3
3
|
import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
|
|
4
4
|
import { IslandWidgetLayoutContext } from "../IslandWidgetLayoutContext.js";
|
|
5
|
-
const islandWidgetWrapper = "
|
|
5
|
+
const islandWidgetWrapper = "islandWidgetWrapper__e6edd3f8";
|
|
6
6
|
const styles = {
|
|
7
7
|
islandWidgetWrapper
|
|
8
8
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useRef, useEffect } from "react";
|
|
2
|
+
import { useRef, useState, useEffect } from "react";
|
|
3
3
|
import { c as clsx } from "../../chunks/vendor-BtZO8a0z.js";
|
|
4
4
|
import { Portal } from "../Portal/Portal.js";
|
|
5
5
|
import { FocusTrapExtended } from "../FocusTrapExtended/FocusTrapExtended.js";
|
|
6
|
-
import { L as LightBoxContent, s as styles } from "../../chunks/LightBoxContent-
|
|
6
|
+
import { L as LightBoxContent, s as styles } from "../../chunks/LightBoxContent-BY9UKPE0.js";
|
|
7
7
|
import { LightBoxControls } from "./LightBoxControls/LightBoxControls.js";
|
|
8
8
|
import { LightBoxSideOverlay } from "./LightBoxSideOverlay/LightBoxSideOverlay.js";
|
|
9
9
|
import { addClassNameWithScrollbarWidth } from "../../utils/scroll/scrollbar.js";
|
|
@@ -15,14 +15,21 @@ import { LightBoxLeftSidebar } from "./LightBoxSidebars/LightBoxLeftSidebar.js";
|
|
|
15
15
|
import { LightBoxRightSidebar } from "./LightBoxSidebars/LightBoxRightSidebar.js";
|
|
16
16
|
import { ELightBoxSize } from "./enums.js";
|
|
17
17
|
const scrollStyles = {
|
|
18
|
-
"scroll-0": "scroll-
|
|
19
|
-
"scroll-15": "scroll-
|
|
20
|
-
"scroll-16": "scroll-
|
|
21
|
-
"scroll-17": "scroll-
|
|
18
|
+
"scroll-0": "scroll-0__71bbe8c7",
|
|
19
|
+
"scroll-15": "scroll-15__fee72e2c",
|
|
20
|
+
"scroll-16": "scroll-16__0eae1381",
|
|
21
|
+
"scroll-17": "scroll-17__51f561b5"
|
|
22
22
|
};
|
|
23
23
|
const lightBoxMountNodeIdDefault = "LightBox-next-mount-node";
|
|
24
24
|
const lightBoxViewManagerNodeIdDefault = "LightBox-next-view-manager-node";
|
|
25
25
|
const bodyClassNamesIsLightBoxOpen = [styles.bodyOverflowHidden];
|
|
26
|
+
const addClassNamesToDocumentElement = () => {
|
|
27
|
+
bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.add(className));
|
|
28
|
+
};
|
|
29
|
+
const removeClassNamesFromDocumentElement = () => {
|
|
30
|
+
bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.remove(className));
|
|
31
|
+
};
|
|
32
|
+
let mountedLightBoxCount = 0;
|
|
26
33
|
const LightBoxBase = ({
|
|
27
34
|
children,
|
|
28
35
|
className,
|
|
@@ -40,16 +47,14 @@ const LightBoxBase = ({
|
|
|
40
47
|
const containerRef = useRef(null);
|
|
41
48
|
const { scopeClassName } = useToken();
|
|
42
49
|
const getLightBoxMountNode = () => {
|
|
43
|
-
let lightBoxMountNode2 = null;
|
|
44
50
|
if (mountNode) {
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
51
|
+
return mountNode;
|
|
52
|
+
}
|
|
53
|
+
let lightBoxMountNode2 = document.querySelector(`#${lightBoxMountNodeIdDefault}`);
|
|
54
|
+
if (!lightBoxMountNode2) {
|
|
55
|
+
lightBoxMountNode2 = document.createElement("div");
|
|
56
|
+
lightBoxMountNode2.setAttribute("id", lightBoxMountNodeIdDefault);
|
|
57
|
+
document.body.appendChild(lightBoxMountNode2);
|
|
53
58
|
}
|
|
54
59
|
return lightBoxMountNode2;
|
|
55
60
|
};
|
|
@@ -65,16 +70,18 @@ const LightBoxBase = ({
|
|
|
65
70
|
}
|
|
66
71
|
return lightBoxViewManagerMountNode;
|
|
67
72
|
};
|
|
68
|
-
const lightBoxMountNode =
|
|
69
|
-
const lightBoxViewManagerNode =
|
|
70
|
-
const addClassNamesToDocumentElement = () => {
|
|
71
|
-
bodyClassNamesIsLightBoxOpen.forEach((className2) => document.documentElement.classList.add(className2));
|
|
72
|
-
};
|
|
73
|
+
const [lightBoxMountNode] = useState(getLightBoxMountNode);
|
|
74
|
+
const [lightBoxViewManagerNode] = useState(getLightBoxViewManagerMountNode);
|
|
73
75
|
useEffect(() => {
|
|
74
76
|
addClassNameWithScrollbarWidth(scrollStyles);
|
|
77
|
+
mountedLightBoxCount += 1;
|
|
75
78
|
addClassNamesToDocumentElement();
|
|
76
|
-
|
|
77
|
-
|
|
79
|
+
return () => {
|
|
80
|
+
mountedLightBoxCount -= 1;
|
|
81
|
+
if (mountedLightBoxCount === 0) {
|
|
82
|
+
removeClassNamesFromDocumentElement();
|
|
83
|
+
}
|
|
84
|
+
};
|
|
78
85
|
}, []);
|
|
79
86
|
useEffect(() => {
|
|
80
87
|
if (!isSideOverlayOpened && tempButtonRef.current) {
|
|
@@ -82,9 +89,6 @@ const LightBoxBase = ({
|
|
|
82
89
|
tempButtonRef.current.style.zIndex = nextZIndex.toString();
|
|
83
90
|
}
|
|
84
91
|
}, [isSideOverlayOpened]);
|
|
85
|
-
if (!lightBoxMountNode.current) {
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
92
|
const setRef = (instance) => {
|
|
89
93
|
containerRef.current = instance;
|
|
90
94
|
if (forwardRef) {
|
|
@@ -102,7 +106,7 @@ const LightBoxBase = ({
|
|
|
102
106
|
className
|
|
103
107
|
);
|
|
104
108
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
105
|
-
/* @__PURE__ */ jsx(Portal, { container: lightBoxMountNode
|
|
109
|
+
/* @__PURE__ */ jsx(Portal, { container: lightBoxMountNode, children: /* @__PURE__ */ jsx(
|
|
106
110
|
FocusTrapExtended,
|
|
107
111
|
{
|
|
108
112
|
active: !isLoading,
|
|
@@ -119,11 +123,11 @@ const LightBoxBase = ({
|
|
|
119
123
|
] })
|
|
120
124
|
}
|
|
121
125
|
) }),
|
|
122
|
-
|
|
126
|
+
/* @__PURE__ */ jsx(
|
|
123
127
|
LightBoxViewManager,
|
|
124
128
|
{
|
|
125
|
-
lightBoxViewManagerNode
|
|
126
|
-
lightBoxMountNode
|
|
129
|
+
lightBoxViewManagerNode,
|
|
130
|
+
lightBoxMountNode
|
|
127
131
|
}
|
|
128
132
|
)
|
|
129
133
|
] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LightBox.js","sources":["../../../src/components/LightBox/LightBox.tsx"],"sourcesContent":["/* eslint-disable react-hooks/refs */\nimport React, { useEffect, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { Portal } from \"../Portal\";\nimport { FocusTrapExtended, IFocusTrapExtendedProps } from \"../FocusTrapExtended\";\nimport { LightBoxContent } from \"./LightBoxContent\";\nimport { LightBoxControls } from \"./LightBoxControls/LightBoxControls\";\nimport { LightBoxSideOverlay } from \"./LightBoxSideOverlay/LightBoxSideOverlay\";\nimport { addClassNameWithScrollbarWidth } from \"../../utils/scroll/scrollbar\";\nimport { TopOverlay } from \"../TopOverlay/TopOverlay\";\nimport { LightBoxViewManager } from \"./LightBoxViewManager/LightBoxViewManager\";\nimport { FocusTrapUtils } from \"../../utils/focus/FocusTrapUtils\";\nimport { useToken } from \"../ThemeProvider/useToken\";\nimport { LightBoxLeftSidebar } from \"./LightBoxSidebars/LightBoxLeftSidebar\";\nimport { LightBoxRightSidebar } from \"./LightBoxSidebars/LightBoxRightSidebar\";\nimport { ELightBoxSize } from \"./enums\";\nimport styles from \"./styles/LightBox.module.less\";\nimport scrollStyles from \"./styles/LightBoxScroll.module.less\";\n\n// Идентификатор DOM-элемента, в который рендерится лайтбокс. При отсутствии элемента в DOM – создается в body.\nexport const lightBoxMountNodeIdDefault = \"LightBox-next-mount-node\";\n\n// Идентификатор DOM-элемента, в визуальных границах (левая и правая координата) которого рендерится лайтбокс.\nexport const lightBoxViewManagerNodeIdDefault = \"LightBox-next-view-manager-node\";\n\n/** Свойства компонента LightBox. */\nexport interface ILightBoxProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactElement[];\n /** Свойства компонента FocusTrapExtended. */\n focusTrapProps?: IFocusTrapExtendedProps;\n /** Ref на контейнер LightBox. */\n forwardRef?: React.MutableRefObject<HTMLElement | null>;\n /** DOM-нода в которую будет рендерится лайтбокс. */\n mountNode?: HTMLDivElement;\n /** Идентификатор DOM-элемента, в визуальных границах (левая и правая координата) которого рендерится лайтбокс. */\n lightBoxViewManagerNodeId?: string;\n /** Флаг состояния загрузки. */\n isLoading?: boolean;\n /** Флаг открытия боковой панели. */\n isSideOverlayOpened?: boolean;\n /** Флаг открытия верхней панели. */\n isTopOverlayOpened?: boolean;\n /** Размер контента LightBox. */\n size?: ELightBoxSize;\n}\n\nconst bodyClassNamesIsLightBoxOpen = [styles.bodyOverflowHidden];\n\nconst LightBoxBase: React.FC<ILightBoxProps> = ({\n children,\n className,\n focusTrapProps,\n forwardRef,\n mountNode,\n lightBoxViewManagerNodeId = lightBoxViewManagerNodeIdDefault,\n isLoading,\n isSideOverlayOpened,\n isTopOverlayOpened,\n size = ELightBoxSize.MD,\n ...htmlDivAttributes\n}) => {\n // Скрытый элемент для вызова ререндера при закрытии оверлея, фикс бага в Safari - DCBSWT-2866.\n const tempButtonRef = useRef<HTMLSpanElement>(null);\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n const { scopeClassName } = useToken();\n\n const getLightBoxMountNode = () => {\n let lightBoxMountNode: HTMLDivElement | null = null;\n if (mountNode) {\n lightBoxMountNode = mountNode;\n } else {\n lightBoxMountNode = document.querySelector(`#${lightBoxMountNodeIdDefault}`);\n\n if (!lightBoxMountNode) {\n lightBoxMountNode = document.createElement(\"div\");\n lightBoxMountNode.setAttribute(\"id\", lightBoxMountNodeIdDefault);\n document.body.appendChild(lightBoxMountNode);\n }\n }\n\n return lightBoxMountNode;\n };\n\n const getLightBoxViewManagerMountNode = () => {\n let lightBoxViewManagerMountNode: HTMLDivElement | null = null;\n if (lightBoxViewManagerNodeId) {\n lightBoxViewManagerMountNode = document.querySelector(`#${lightBoxViewManagerNodeId}`);\n }\n\n if (!lightBoxViewManagerMountNode) {\n lightBoxViewManagerMountNode = document.createElement(\"div\");\n lightBoxViewManagerMountNode.setAttribute(\"id\", lightBoxViewManagerNodeIdDefault);\n document.body.appendChild(lightBoxViewManagerMountNode);\n }\n\n return lightBoxViewManagerMountNode;\n };\n\n /** DOM node, в которую рендерится лайтбокс. */\n const lightBoxMountNode = useRef<HTMLDivElement | null>(getLightBoxMountNode());\n /**\n * DOM node, в визуальных границах которой рендерится лайтбокс.\n * Левая и правая граница LightBox будут соответствовать левой и правой границе lightBoxViewManagerNode.\n */\n const lightBoxViewManagerNode = useRef<HTMLDivElement | null>(getLightBoxViewManagerMountNode());\n\n const addClassNamesToDocumentElement = () => {\n bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.add(className));\n };\n\n useEffect(() => {\n addClassNameWithScrollbarWidth(scrollStyles);\n addClassNamesToDocumentElement();\n // Фикс бага в роутере - при переключении между лайтбоксами иногда сначала происходит componentDidMount 2го и затем componentWillUnmount первого, css классы удаляются.\n setTimeout(addClassNamesToDocumentElement, 100);\n\n return () =>\n bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.remove(className));\n }, []);\n\n useEffect(() => {\n if (!isSideOverlayOpened && tempButtonRef.current) {\n // Изменение z-index у скрытого элемента вызывает repaint. Фикс бага в Safari - DCBSWT-2866.\n const nextZIndex = Math.round(Math.random() * 100);\n tempButtonRef.current.style.zIndex = nextZIndex.toString();\n }\n }, [isSideOverlayOpened]);\n\n if (!lightBoxMountNode.current) {\n return null;\n }\n\n /** Функция для хранения ссылки. */\n const setRef = (instance: HTMLDivElement | null) => {\n containerRef.current = instance;\n\n if (forwardRef) {\n forwardRef.current = instance;\n }\n };\n\n const classNames = clsx(\n scopeClassName,\n styles.lightBox,\n styles[size],\n {\n [styles.lightBoxSideOverlayActive]: Boolean(isSideOverlayOpened),\n [styles.lightBoxTopOverlayActive]: Boolean(isTopOverlayOpened),\n },\n className,\n );\n\n return (\n <>\n <Portal container={lightBoxMountNode.current}>\n <FocusTrapExtended\n active={!isLoading}\n {...focusTrapProps}\n focusTrapOptions={{\n initialFocus: () => FocusTrapUtils.getFirstInteractionElementByDataAttr(containerRef.current),\n preventScroll: true,\n ...focusTrapProps?.focusTrapOptions,\n }}\n >\n <div className={classNames} role=\"dialog\" aria-modal=\"true\" {...htmlDivAttributes} ref={setRef}>\n <div className={styles.lightBoxBackdrop} />\n {children}\n <span ref={tempButtonRef} className={styles.tempElSafariBug} />\n </div>\n </FocusTrapExtended>\n </Portal>\n\n {lightBoxViewManagerNode.current && (\n <LightBoxViewManager\n lightBoxViewManagerNode={lightBoxViewManagerNode.current}\n lightBoxMountNode={lightBoxMountNode.current}\n />\n )}\n </>\n );\n};\n\nLightBoxBase.displayName = \"LightBoxBase\";\n\nexport const LightBox = Object.assign(LightBoxBase, {\n Content: LightBoxContent,\n SideOverlay: LightBoxSideOverlay,\n TopOverlay,\n Controls: LightBoxControls,\n LeftSidebar: LightBoxLeftSidebar,\n RightSidebar: LightBoxRightSidebar,\n});\n"],"names":["lightBoxMountNode","className"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LightBox.js","sources":["../../../src/components/LightBox/LightBox.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { Portal } from \"../Portal\";\nimport { FocusTrapExtended, IFocusTrapExtendedProps } from \"../FocusTrapExtended\";\nimport { LightBoxContent } from \"./LightBoxContent\";\nimport { LightBoxControls } from \"./LightBoxControls/LightBoxControls\";\nimport { LightBoxSideOverlay } from \"./LightBoxSideOverlay/LightBoxSideOverlay\";\nimport { addClassNameWithScrollbarWidth } from \"../../utils/scroll/scrollbar\";\nimport { TopOverlay } from \"../TopOverlay/TopOverlay\";\nimport { LightBoxViewManager } from \"./LightBoxViewManager/LightBoxViewManager\";\nimport { FocusTrapUtils } from \"../../utils/focus/FocusTrapUtils\";\nimport { useToken } from \"../ThemeProvider/useToken\";\nimport { LightBoxLeftSidebar } from \"./LightBoxSidebars/LightBoxLeftSidebar\";\nimport { LightBoxRightSidebar } from \"./LightBoxSidebars/LightBoxRightSidebar\";\nimport { ELightBoxSize } from \"./enums\";\nimport styles from \"./styles/LightBox.module.less\";\nimport scrollStyles from \"./styles/LightBoxScroll.module.less\";\n\n/** Идентификатор DOM-элемента, в который рендерится лайтбокс. При отсутствии элемента в DOM – создается в body. */\nexport const lightBoxMountNodeIdDefault = \"LightBox-next-mount-node\";\n\n/** Идентификатор DOM-элемента, в визуальных границах (левая и правая координата) которого рендерится лайтбокс. */\nexport const lightBoxViewManagerNodeIdDefault = \"LightBox-next-view-manager-node\";\n\n/** Свойства компонента LightBox. */\nexport interface ILightBoxProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Содержимое лайтбокса. */\n children: React.ReactElement[];\n /** Свойства компонента FocusTrapExtended. */\n focusTrapProps?: IFocusTrapExtendedProps;\n /** Ref на контейнер LightBox. */\n forwardRef?: React.MutableRefObject<HTMLElement | null>;\n /** DOM-нода в которую будет рендерится лайтбокс. */\n mountNode?: HTMLDivElement;\n /** Идентификатор DOM-элемента, в визуальных границах (левая и правая координата) которого рендерится лайтбокс. */\n lightBoxViewManagerNodeId?: string;\n /** Флаг состояния загрузки. */\n isLoading?: boolean;\n /** Флаг открытия боковой панели. */\n isSideOverlayOpened?: boolean;\n /** Флаг открытия верхней панели. */\n isTopOverlayOpened?: boolean;\n /** Размер контента LightBox. */\n size?: ELightBoxSize;\n}\n\n/** CSS-классы, добавляемые на корневой элемент документа, пока лайтбокс открыт. */\nconst bodyClassNamesIsLightBoxOpen = [styles.bodyOverflowHidden];\n\n/** Добавляет CSS-классы открытого лайтбокса на корневой элемент документа. */\nconst addClassNamesToDocumentElement = () => {\n bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.add(className));\n};\n\n/** Удаляет CSS-классы открытого лайтбокса с корневого элемента документа. */\nconst removeClassNamesFromDocumentElement = () => {\n bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.remove(className));\n};\n\n/**\n * Количество смонтированных лайтбоксов. При переключении между лайтбоксами через роутер второй может\n * смонтироваться раньше, чем размонтируется первый, поэтому классы с documentElement снимаются только\n * при размонтировании последнего лайтбокса.\n */\nlet mountedLightBoxCount = 0;\n\nconst LightBoxBase: React.FC<ILightBoxProps> = ({\n children,\n className,\n focusTrapProps,\n forwardRef,\n mountNode,\n lightBoxViewManagerNodeId = lightBoxViewManagerNodeIdDefault,\n isLoading,\n isSideOverlayOpened,\n isTopOverlayOpened,\n size = ELightBoxSize.MD,\n ...htmlDivAttributes\n}) => {\n // Скрытый элемент для вызова ререндера при закрытии оверлея, фикс бага в Safari - DCBSWT-2866.\n const tempButtonRef = useRef<HTMLSpanElement>(null);\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n const { scopeClassName } = useToken();\n\n const getLightBoxMountNode = (): HTMLDivElement => {\n if (mountNode) {\n return mountNode;\n }\n\n let lightBoxMountNode = document.querySelector<HTMLDivElement>(`#${lightBoxMountNodeIdDefault}`);\n\n if (!lightBoxMountNode) {\n lightBoxMountNode = document.createElement(\"div\");\n lightBoxMountNode.setAttribute(\"id\", lightBoxMountNodeIdDefault);\n document.body.appendChild(lightBoxMountNode);\n }\n\n return lightBoxMountNode;\n };\n\n const getLightBoxViewManagerMountNode = (): HTMLDivElement => {\n let lightBoxViewManagerMountNode: HTMLDivElement | null = null;\n\n if (lightBoxViewManagerNodeId) {\n lightBoxViewManagerMountNode = document.querySelector<HTMLDivElement>(`#${lightBoxViewManagerNodeId}`);\n }\n\n if (!lightBoxViewManagerMountNode) {\n lightBoxViewManagerMountNode = document.createElement(\"div\");\n lightBoxViewManagerMountNode.setAttribute(\"id\", lightBoxViewManagerNodeIdDefault);\n document.body.appendChild(lightBoxViewManagerMountNode);\n }\n\n return lightBoxViewManagerMountNode;\n };\n\n /** DOM node, в которую рендерится лайтбокс. */\n const [lightBoxMountNode] = useState<HTMLDivElement>(getLightBoxMountNode);\n /**\n * DOM node, в визуальных границах которой рендерится лайтбокс.\n * Левая и правая граница LightBox будут соответствовать левой и правой границе lightBoxViewManagerNode.\n */\n const [lightBoxViewManagerNode] = useState<HTMLDivElement>(getLightBoxViewManagerMountNode);\n\n useEffect(() => {\n addClassNameWithScrollbarWidth(scrollStyles);\n mountedLightBoxCount += 1;\n addClassNamesToDocumentElement();\n\n return () => {\n mountedLightBoxCount -= 1;\n\n if (mountedLightBoxCount === 0) {\n removeClassNamesFromDocumentElement();\n }\n };\n }, []);\n\n useEffect(() => {\n if (!isSideOverlayOpened && tempButtonRef.current) {\n // Изменение z-index у скрытого элемента вызывает repaint. Фикс бага в Safari - DCBSWT-2866.\n const nextZIndex = Math.round(Math.random() * 100);\n tempButtonRef.current.style.zIndex = nextZIndex.toString();\n }\n }, [isSideOverlayOpened]);\n\n const setRef = (instance: HTMLDivElement | null) => {\n containerRef.current = instance;\n\n if (forwardRef) {\n forwardRef.current = instance;\n }\n };\n\n const classNames = clsx(\n scopeClassName,\n styles.lightBox,\n styles[size],\n {\n [styles.lightBoxSideOverlayActive]: Boolean(isSideOverlayOpened),\n [styles.lightBoxTopOverlayActive]: Boolean(isTopOverlayOpened),\n },\n className,\n );\n\n return (\n <>\n <Portal container={lightBoxMountNode}>\n <FocusTrapExtended\n active={!isLoading}\n {...focusTrapProps}\n focusTrapOptions={{\n initialFocus: () => FocusTrapUtils.getFirstInteractionElementByDataAttr(containerRef.current),\n preventScroll: true,\n ...focusTrapProps?.focusTrapOptions,\n }}\n >\n <div className={classNames} role=\"dialog\" aria-modal=\"true\" {...htmlDivAttributes} ref={setRef}>\n <div className={styles.lightBoxBackdrop} />\n {children}\n <span ref={tempButtonRef} className={styles.tempElSafariBug} />\n </div>\n </FocusTrapExtended>\n </Portal>\n\n <LightBoxViewManager\n lightBoxViewManagerNode={lightBoxViewManagerNode}\n lightBoxMountNode={lightBoxMountNode}\n />\n </>\n );\n};\n\nLightBoxBase.displayName = \"LightBoxBase\";\n\n/** Лайтбокс — полноэкранный диалог поверх страницы с контентом, кнопками управления и боковыми панелями. */\nexport const LightBox = Object.assign(LightBoxBase, {\n Content: LightBoxContent,\n SideOverlay: LightBoxSideOverlay,\n TopOverlay,\n Controls: LightBoxControls,\n LeftSidebar: LightBoxLeftSidebar,\n RightSidebar: LightBoxRightSidebar,\n});\n"],"names":["lightBoxMountNode"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import "react";
|
|
|
3
3
|
import "../../chunks/vendor-BtZO8a0z.js";
|
|
4
4
|
import "../WindowResizeListener/WindowResizeListener.js";
|
|
5
5
|
import "../LoaderScreen/LoaderScreen.js";
|
|
6
|
-
import { L } from "../../chunks/LightBoxContent-
|
|
6
|
+
import { L } from "../../chunks/LightBoxContent-BY9UKPE0.js";
|
|
7
7
|
export {
|
|
8
8
|
L as LightBoxContent
|
|
9
9
|
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useRef } from "react";
|
|
3
|
+
import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
|
|
4
|
+
import { TriggerClickOnKeyDownEvent } from "../../Triggers/TriggerClickOnKeyDownEvent.js";
|
|
5
|
+
import { EButtonTheme } from "../../Button/enums.js";
|
|
6
|
+
import { Button } from "../../Button/Button.js";
|
|
7
|
+
import { EComponentSize } from "../../../enums/EComponentSize.js";
|
|
8
|
+
import { s as styles } from "../../../chunks/LightBoxControls.module-CEa7tSP-.js";
|
|
9
|
+
const LightBoxArrow = ({
|
|
10
|
+
buttonClassName,
|
|
11
|
+
className,
|
|
12
|
+
clickByArrowKey,
|
|
13
|
+
dataTestId,
|
|
14
|
+
dataTutorialId,
|
|
15
|
+
eventKeyCode,
|
|
16
|
+
iconDesktop,
|
|
17
|
+
iconMobile,
|
|
18
|
+
onClick,
|
|
19
|
+
title,
|
|
20
|
+
...htmlDivAttributes
|
|
21
|
+
}) => {
|
|
22
|
+
const desktopButtonRef = useRef(null);
|
|
23
|
+
const mobileButtonRef = useRef(null);
|
|
24
|
+
const renderButton = (params) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
25
|
+
/* @__PURE__ */ jsx(
|
|
26
|
+
Button,
|
|
27
|
+
{
|
|
28
|
+
className: clsx(styles.lightBoxControlsDesktop, buttonClassName),
|
|
29
|
+
"data-test-id": (params == null ? void 0 : params.addDataTestId) ? dataTestId : void 0,
|
|
30
|
+
"data-tutorial-id": dataTutorialId,
|
|
31
|
+
onClick,
|
|
32
|
+
title,
|
|
33
|
+
ref: params == null ? void 0 : params.desktopButtonRef,
|
|
34
|
+
icon: iconDesktop,
|
|
35
|
+
size: EComponentSize.LG,
|
|
36
|
+
theme: EButtonTheme.SECONDARY_LIGHT
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
/* @__PURE__ */ jsx(
|
|
40
|
+
Button,
|
|
41
|
+
{
|
|
42
|
+
className: clsx(styles.lightBoxControlsMobile, buttonClassName),
|
|
43
|
+
"data-test-id": (params == null ? void 0 : params.addDataTestId) ? dataTestId : void 0,
|
|
44
|
+
"data-tutorial-id": dataTutorialId,
|
|
45
|
+
onClick,
|
|
46
|
+
title,
|
|
47
|
+
ref: params == null ? void 0 : params.mobileButtonRef,
|
|
48
|
+
icon: iconMobile,
|
|
49
|
+
size: EComponentSize.MD,
|
|
50
|
+
theme: EButtonTheme.SECONDARY_LIGHT
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
] });
|
|
54
|
+
return /* @__PURE__ */ jsx("div", { className, ...htmlDivAttributes, children: clickByArrowKey ? /* @__PURE__ */ jsxs("span", { children: [
|
|
55
|
+
/* @__PURE__ */ jsx("span", { className: styles.withKeyboardEvent, children: /* @__PURE__ */ jsx(TriggerClickOnKeyDownEvent, { targetRef: desktopButtonRef, eventKeyCode, children: /* @__PURE__ */ jsx(TriggerClickOnKeyDownEvent, { targetRef: mobileButtonRef, eventKeyCode, children: renderButton({ addDataTestId: true, desktopButtonRef, mobileButtonRef }) }) }) }),
|
|
56
|
+
/* @__PURE__ */ jsx("span", { className: styles.withoutKeyboardEvent, children: renderButton() })
|
|
57
|
+
] }) : renderButton({ addDataTestId: true }) });
|
|
58
|
+
};
|
|
59
|
+
LightBoxArrow.displayName = "LightBoxArrow";
|
|
60
|
+
export {
|
|
61
|
+
LightBoxArrow
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=LightBoxArrow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LightBoxArrow.js","sources":["../../../../src/components/LightBox/LightBoxControls/LightBoxArrow.tsx"],"sourcesContent":["import React, { Ref, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { TriggerClickOnKeyDownEvent } from \"../../Triggers/TriggerClickOnKeyDownEvent\";\nimport { EButtonTheme } from \"../../Button/enums\";\nimport { Button } from \"../../Button/Button\";\nimport { EComponentSize } from \"@sberbusiness/triplex-next/enums/EComponentSize\";\nimport styles from \"../styles/LightBoxControls.module.less\";\n\n/** Свойства LightBoxArrow. */\ninterface ILightBoxArrowProps extends React.HTMLAttributes<HTMLDivElement> {\n /** CSS-класс кнопки (десктопной и мобильной). */\n buttonClassName: string;\n /** Кликнуть по кнопке при нажатии соответствующей стрелки на клавиатуре. */\n clickByArrowKey?: boolean;\n /** Значение data-test-id кнопки. */\n dataTestId: string;\n /** Идентификатор для обучающего тура. */\n dataTutorialId?: string;\n /** Код клавиши, при нажатии которой происходит клик по кнопке. */\n eventKeyCode: number;\n /** Иконка кнопки для экранов шире 1024px. */\n iconDesktop: React.ReactElement;\n /** Иконка кнопки для экранов менее 1024px. */\n iconMobile: React.ReactElement;\n /** Обработчик клика по кнопке. */\n onClick: () => void;\n}\n\ninterface IRenderButtonParams {\n /** Флаг, добавляющий data-test-id. Нужен, чтобы data-test-id не дублировался несколько раз на странице. */\n addDataTestId: boolean;\n /** Установка ссылки на десктопную кнопку. */\n desktopButtonRef?: Ref<HTMLButtonElement>;\n /** Установка ссылки на мобильную кнопку. */\n mobileButtonRef?: Ref<HTMLButtonElement>;\n}\n\n/** Внутренний компонент стрелки лайтбокса (общая реализация для LightBoxPrev и LightBoxNext). */\nexport const LightBoxArrow: React.FC<ILightBoxArrowProps> = ({\n buttonClassName,\n className,\n clickByArrowKey,\n dataTestId,\n dataTutorialId,\n eventKeyCode,\n iconDesktop,\n iconMobile,\n onClick,\n title,\n ...htmlDivAttributes\n}) => {\n // Отдельные ссылки на десктопную и мобильную кнопки: видимой в каждый момент является только одна,\n // а TriggerClickOnKeyDownEvent кликает только по видимой (offsetParent !== null).\n const desktopButtonRef = useRef<HTMLButtonElement>(null);\n const mobileButtonRef = useRef<HTMLButtonElement>(null);\n\n /**\n * Отображение кнопки.\n */\n const renderButton = (params?: IRenderButtonParams) => (\n <>\n {/* Кнопка для экранов шире 1024px */}\n <Button\n className={clsx(styles.lightBoxControlsDesktop, buttonClassName)}\n data-test-id={params?.addDataTestId ? dataTestId : undefined}\n data-tutorial-id={dataTutorialId}\n onClick={onClick}\n title={title}\n ref={params?.desktopButtonRef}\n icon={iconDesktop}\n size={EComponentSize.LG}\n theme={EButtonTheme.SECONDARY_LIGHT}\n />\n {/* Кнопка для экранов менее 1024px */}\n <Button\n className={clsx(styles.lightBoxControlsMobile, buttonClassName)}\n data-test-id={params?.addDataTestId ? dataTestId : undefined}\n data-tutorial-id={dataTutorialId}\n onClick={onClick}\n title={title}\n ref={params?.mobileButtonRef}\n icon={iconMobile}\n size={EComponentSize.MD}\n theme={EButtonTheme.SECONDARY_LIGHT}\n />\n </>\n );\n\n return (\n <div className={className} {...htmlDivAttributes}>\n {clickByArrowKey ? (\n <span>\n {/* Кнопка с триггером при нажатии стрелки на клавиатуре. */}\n <span className={styles.withKeyboardEvent}>\n <TriggerClickOnKeyDownEvent targetRef={desktopButtonRef} eventKeyCode={eventKeyCode}>\n <TriggerClickOnKeyDownEvent targetRef={mobileButtonRef} eventKeyCode={eventKeyCode}>\n {renderButton({ addDataTestId: true, desktopButtonRef, mobileButtonRef })}\n </TriggerClickOnKeyDownEvent>\n </TriggerClickOnKeyDownEvent>\n </span>\n {/* Кнопка без триггера при нажатии стрелки на клавиатуре. Нельзя нажать, когда открыт SideOverlay. */}\n <span className={styles.withoutKeyboardEvent}>{renderButton()}</span>\n </span>\n ) : (\n renderButton({ addDataTestId: true })\n )}\n </div>\n );\n};\n\nLightBoxArrow.displayName = \"LightBoxArrow\";\n"],"names":[],"mappings":";;;;;;;;AAsCO,MAAM,gBAA+C,CAAC;AAAA,EACzD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAM;AAGF,QAAM,mBAAmB,OAA0B,IAAI;AACvD,QAAM,kBAAkB,OAA0B,IAAI;AAKtD,QAAM,eAAe,CAAC,WAClB,qBAAA,UAAA,EAEI,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,yBAAyB,eAAe;AAAA,QAC/D,iBAAc,iCAAQ,iBAAgB,aAAa;AAAA,QACnD,oBAAkB;AAAA,QAClB;AAAA,QACA;AAAA,QACA,KAAK,iCAAQ;AAAA,QACb,MAAM;AAAA,QACN,MAAM,eAAe;AAAA,QACrB,OAAO,aAAa;AAAA,MAAA;AAAA,IAAA;AAAA,IAGxB;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,wBAAwB,eAAe;AAAA,QAC9D,iBAAc,iCAAQ,iBAAgB,aAAa;AAAA,QACnD,oBAAkB;AAAA,QAClB;AAAA,QACA;AAAA,QACA,KAAK,iCAAQ;AAAA,QACb,MAAM;AAAA,QACN,MAAM,eAAe;AAAA,QACrB,OAAO,aAAa;AAAA,MAAA;AAAA,IAAA;AAAA,EACxB,GACJ;AAGJ,6BACK,OAAA,EAAI,WAAuB,GAAG,mBAC1B,UAAA,uCACI,QAAA,EAEG,UAAA;AAAA,IAAA,oBAAC,QAAA,EAAK,WAAW,OAAO,mBACpB,8BAAC,4BAAA,EAA2B,WAAW,kBAAkB,cACrD,UAAA,oBAAC,4BAAA,EAA2B,WAAW,iBAAiB,cACnD,UAAA,aAAa,EAAE,eAAe,MAAM,kBAAkB,gBAAA,CAAiB,EAAA,CAC5E,EAAA,CACJ,EAAA,CACJ;AAAA,wBAEC,QAAA,EAAK,WAAW,OAAO,sBAAuB,yBAAa,CAAE;AAAA,EAAA,EAAA,CAClE,IAEA,aAAa,EAAE,eAAe,KAAA,CAAM,EAAA,CAE5C;AAER;AAEA,cAAc,cAAc;"}
|
|
@@ -7,15 +7,16 @@ import { EVENT_KEY_CODES } from "../../../utils/keyboard.js";
|
|
|
7
7
|
import { EButtonTheme } from "../../Button/enums.js";
|
|
8
8
|
import { Button } from "../../Button/Button.js";
|
|
9
9
|
import { EComponentSize } from "../../../enums/EComponentSize.js";
|
|
10
|
-
import { s as styles } from "../../../chunks/LightBoxControls.module-
|
|
10
|
+
import { s as styles } from "../../../chunks/LightBoxControls.module-CEa7tSP-.js";
|
|
11
11
|
const LightBoxClose = ({
|
|
12
12
|
className,
|
|
13
13
|
onClick,
|
|
14
14
|
title = "Закрыть",
|
|
15
15
|
...htmlDivAttributes
|
|
16
16
|
}) => {
|
|
17
|
-
const
|
|
18
|
-
const
|
|
17
|
+
const desktopButtonRef = useRef(null);
|
|
18
|
+
const mobileButtonRef = useRef(null);
|
|
19
|
+
const renderButton = (desktopRef, mobileRef) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
19
20
|
/* @__PURE__ */ jsx(
|
|
20
21
|
Button,
|
|
21
22
|
{
|
|
@@ -23,7 +24,7 @@ const LightBoxClose = ({
|
|
|
23
24
|
onClick,
|
|
24
25
|
title,
|
|
25
26
|
"data-exclude-modal-focus": true,
|
|
26
|
-
ref:
|
|
27
|
+
ref: desktopRef,
|
|
27
28
|
icon: /* @__PURE__ */ jsx(CrossStrokeSrvIcon32, { paletteIndex: 0 }),
|
|
28
29
|
size: EComponentSize.LG,
|
|
29
30
|
theme: EButtonTheme.SECONDARY_LIGHT
|
|
@@ -36,6 +37,7 @@ const LightBoxClose = ({
|
|
|
36
37
|
onClick,
|
|
37
38
|
title,
|
|
38
39
|
"data-exclude-modal-focus": true,
|
|
40
|
+
ref: mobileRef,
|
|
39
41
|
icon: /* @__PURE__ */ jsx(CrossStrokeSrvIcon20, { paletteIndex: 0 }),
|
|
40
42
|
size: EComponentSize.MD,
|
|
41
43
|
theme: EButtonTheme.SECONDARY_LIGHT
|
|
@@ -43,7 +45,7 @@ const LightBoxClose = ({
|
|
|
43
45
|
)
|
|
44
46
|
] });
|
|
45
47
|
return /* @__PURE__ */ jsxs("div", { className: clsx(className, styles.lightBoxClose), ...htmlDivAttributes, children: [
|
|
46
|
-
/* @__PURE__ */ jsx("span", { className: styles.withKeyboardEvent, children: /* @__PURE__ */ jsx(TriggerClickOnKeyDownEvent, { eventKeyCode: EVENT_KEY_CODES.ESCAPE, targetRef:
|
|
48
|
+
/* @__PURE__ */ jsx("span", { className: styles.withKeyboardEvent, children: /* @__PURE__ */ jsx(TriggerClickOnKeyDownEvent, { eventKeyCode: EVENT_KEY_CODES.ESCAPE, targetRef: desktopButtonRef, children: /* @__PURE__ */ jsx(TriggerClickOnKeyDownEvent, { eventKeyCode: EVENT_KEY_CODES.ESCAPE, targetRef: mobileButtonRef, children: renderButton(desktopButtonRef, mobileButtonRef) }) }) }),
|
|
47
49
|
/* @__PURE__ */ jsx("span", { className: styles.withoutKeyboardEvent, children: renderButton() })
|
|
48
50
|
] });
|
|
49
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LightBoxClose.js","sources":["../../../../src/components/LightBox/LightBoxControls/LightBoxClose.tsx"],"sourcesContent":["import React, { Ref, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { CrossStrokeSrvIcon32, CrossStrokeSrvIcon20 } from \"@sberbusiness/icons-next\";\nimport { TriggerClickOnKeyDownEvent } from \"../../Triggers/TriggerClickOnKeyDownEvent\";\nimport { EVENT_KEY_CODES } from \"../../../utils/keyboard\";\nimport { EButtonTheme } from \"../../Button/enums\";\nimport { Button } from \"../../Button/Button\";\nimport { EComponentSize } from \"@sberbusiness/triplex-next/enums/EComponentSize\";\nimport styles from \"../styles/LightBoxControls.module.less\";\n\n/** Свойства LightBoxClose. */\
|
|
1
|
+
{"version":3,"file":"LightBoxClose.js","sources":["../../../../src/components/LightBox/LightBoxControls/LightBoxClose.tsx"],"sourcesContent":["import React, { Ref, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { CrossStrokeSrvIcon32, CrossStrokeSrvIcon20 } from \"@sberbusiness/icons-next\";\nimport { TriggerClickOnKeyDownEvent } from \"../../Triggers/TriggerClickOnKeyDownEvent\";\nimport { EVENT_KEY_CODES } from \"../../../utils/keyboard\";\nimport { EButtonTheme } from \"../../Button/enums\";\nimport { Button } from \"../../Button/Button\";\nimport { EComponentSize } from \"@sberbusiness/triplex-next/enums/EComponentSize\";\nimport styles from \"../styles/LightBoxControls.module.less\";\n\n/** Свойства LightBoxClose. */\nexport interface ILightBoxCloseProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Обработчик закрытия лайтбокса. */\n onClick: () => void;\n}\n\n/** Кнопка закрытия лайтбокса. */\nexport const LightBoxClose: React.FC<ILightBoxCloseProps> = ({\n className,\n onClick,\n title = \"Закрыть\",\n ...htmlDivAttributes\n}) => {\n // Отдельные ссылки на десктопную и мобильную кнопки: видимой в каждый момент является только одна,\n // а TriggerClickOnKeyDownEvent кликает только по видимой (offsetParent !== null).\n const desktopButtonRef = useRef<HTMLButtonElement>(null);\n const mobileButtonRef = useRef<HTMLButtonElement>(null);\n\n const renderButton = (desktopRef?: Ref<HTMLButtonElement>, mobileRef?: Ref<HTMLButtonElement>) => (\n <>\n {/* Кнопка для экранов шире 1024px */}\n <Button\n className={styles.lightBoxControlsDesktop}\n onClick={onClick}\n title={title}\n data-exclude-modal-focus\n ref={desktopRef}\n icon={<CrossStrokeSrvIcon32 paletteIndex={0} />}\n size={EComponentSize.LG}\n theme={EButtonTheme.SECONDARY_LIGHT}\n />\n {/* Кнопка для экранов менее 1024px */}\n <Button\n className={styles.lightBoxControlsMobile}\n onClick={onClick}\n title={title}\n data-exclude-modal-focus\n ref={mobileRef}\n icon={<CrossStrokeSrvIcon20 paletteIndex={0} />}\n size={EComponentSize.MD}\n theme={EButtonTheme.SECONDARY_LIGHT}\n />\n </>\n );\n\n return (\n <div className={clsx(className, styles.lightBoxClose)} {...htmlDivAttributes}>\n {/* Кнопка с триггером по Esc. */}\n <span className={styles.withKeyboardEvent}>\n <TriggerClickOnKeyDownEvent eventKeyCode={EVENT_KEY_CODES.ESCAPE} targetRef={desktopButtonRef}>\n <TriggerClickOnKeyDownEvent eventKeyCode={EVENT_KEY_CODES.ESCAPE} targetRef={mobileButtonRef}>\n {renderButton(desktopButtonRef, mobileButtonRef)}\n </TriggerClickOnKeyDownEvent>\n </TriggerClickOnKeyDownEvent>\n </span>\n\n {/* Кнопка без триггера по Esc. Отображается, когда открыт SideOverlay. */}\n <span className={styles.withoutKeyboardEvent}>{renderButton()}</span>\n </div>\n );\n};\n\nLightBoxClose.displayName = \"LightBoxClose\";\n"],"names":[],"mappings":";;;;;;;;;;AAiBO,MAAM,gBAA+C,CAAC;AAAA,EACzD;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,GAAG;AACP,MAAM;AAGF,QAAM,mBAAmB,OAA0B,IAAI;AACvD,QAAM,kBAAkB,OAA0B,IAAI;AAEtD,QAAM,eAAe,CAAC,YAAqC,cACvD,qBAAA,UAAA,EAEI,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,OAAO;AAAA,QAClB;AAAA,QACA;AAAA,QACA,4BAAwB;AAAA,QACxB,KAAK;AAAA,QACL,MAAM,oBAAC,sBAAA,EAAqB,cAAc,EAAA,CAAG;AAAA,QAC7C,MAAM,eAAe;AAAA,QACrB,OAAO,aAAa;AAAA,MAAA;AAAA,IAAA;AAAA,IAGxB;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,OAAO;AAAA,QAClB;AAAA,QACA;AAAA,QACA,4BAAwB;AAAA,QACxB,KAAK;AAAA,QACL,MAAM,oBAAC,sBAAA,EAAqB,cAAc,EAAA,CAAG;AAAA,QAC7C,MAAM,eAAe;AAAA,QACrB,OAAO,aAAa;AAAA,MAAA;AAAA,IAAA;AAAA,EACxB,GACJ;AAGJ,SACI,qBAAC,SAAI,WAAW,KAAK,WAAW,OAAO,aAAa,GAAI,GAAG,mBAEvD,UAAA;AAAA,IAAA,oBAAC,QAAA,EAAK,WAAW,OAAO,mBACpB,8BAAC,4BAAA,EAA2B,cAAc,gBAAgB,QAAQ,WAAW,kBACzE,8BAAC,4BAAA,EAA2B,cAAc,gBAAgB,QAAQ,WAAW,iBACxE,uBAAa,kBAAkB,eAAe,EAAA,CACnD,EAAA,CACJ,EAAA,CACJ;AAAA,wBAGC,QAAA,EAAK,WAAW,OAAO,sBAAuB,yBAAa,CAAE;AAAA,EAAA,GAClE;AAER;AAEA,cAAc,cAAc;"}
|
|
@@ -3,7 +3,7 @@ import { LightBoxClose } from "./LightBoxClose.js";
|
|
|
3
3
|
import { LightBoxNext } from "./LightBoxNext.js";
|
|
4
4
|
import { LightBoxPrev } from "./LightBoxPrev.js";
|
|
5
5
|
import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
|
|
6
|
-
import { s as styles } from "../../../chunks/LightBoxControls.module-
|
|
6
|
+
import { s as styles } from "../../../chunks/LightBoxControls.module-CEa7tSP-.js";
|
|
7
7
|
const LightBoxControls = ({ children, className, ...htmlDivAttributes }) => /* @__PURE__ */ jsx("div", { className: clsx(className, styles.lightBoxControls), ...htmlDivAttributes, "data-lightbox-component": "controls", children });
|
|
8
8
|
LightBoxControls.displayName = "LightBoxControls";
|
|
9
9
|
LightBoxControls.Close = LightBoxClose;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LightBoxControls.js","sources":["../../../../src/components/LightBox/LightBoxControls/LightBoxControls.tsx"],"sourcesContent":["import React from \"react\";\nimport { LightBoxClose } from \"./LightBoxClose\";\nimport { LightBoxNext } from \"./LightBoxNext\";\nimport { LightBoxPrev } from \"./LightBoxPrev\";\nimport clsx from \"clsx\";\nimport styles from \"../styles/LightBoxControls.module.less\";\n\n/** Свойства компонента LightBoxControls. */\
|
|
1
|
+
{"version":3,"file":"LightBoxControls.js","sources":["../../../../src/components/LightBox/LightBoxControls/LightBoxControls.tsx"],"sourcesContent":["import React from \"react\";\nimport { LightBoxClose } from \"./LightBoxClose\";\nimport { LightBoxNext } from \"./LightBoxNext\";\nimport { LightBoxPrev } from \"./LightBoxPrev\";\nimport clsx from \"clsx\";\nimport styles from \"../styles/LightBoxControls.module.less\";\n\n/** Свойства компонента LightBoxControls. */\nexport interface ILightBoxControlsProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nexport interface ILightBoxControlsFC extends React.FC<ILightBoxControlsProps> {\n Close: typeof LightBoxClose;\n Next: typeof LightBoxNext;\n Prev: typeof LightBoxPrev;\n}\n\n/** Контейнер кнопок-действий (закрыть/вперед/назад). */\nexport const LightBoxControls: ILightBoxControlsFC = ({ children, className, ...htmlDivAttributes }) => (\n <div className={clsx(className, styles.lightBoxControls)} {...htmlDivAttributes} data-lightbox-component=\"controls\">\n {children}\n </div>\n);\n\nLightBoxControls.displayName = \"LightBoxControls\";\nLightBoxControls.Close = LightBoxClose;\nLightBoxControls.Next = LightBoxNext;\nLightBoxControls.Prev = LightBoxPrev;\n"],"names":[],"mappings":";;;;;;AAiBO,MAAM,mBAAwC,CAAC,EAAE,UAAU,WAAW,GAAG,wBAC5E,oBAAC,OAAA,EAAI,WAAW,KAAK,WAAW,OAAO,gBAAgB,GAAI,GAAG,mBAAmB,2BAAwB,YACpG,SAAA,CACL;AAGJ,iBAAiB,cAAc;AAC/B,iBAAiB,QAAQ;AACzB,iBAAiB,OAAO;AACxB,iBAAiB,OAAO;"}
|