@sberbusiness/triplex-next 1.46.0 → 1.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/chunks/{AlertProcessSpoiler-N4xDl9wn.js → AlertProcessSpoiler-Sz4nOpAx.js} +17 -17
- package/chunks/{AlertProcessSpoiler-N4xDl9wn.js.map → AlertProcessSpoiler-Sz4nOpAx.js.map} +1 -1
- package/chunks/{CalendarViewItem-DPwldi4s.js → CalendarViewItem-8tfDv-A9.js} +21 -21
- package/chunks/{CalendarViewItem-DPwldi4s.js.map → CalendarViewItem-8tfDv-A9.js.map} +1 -1
- package/chunks/Card.module-kIFwMArU.js +32 -0
- package/chunks/Card.module-kIFwMArU.js.map +1 -0
- package/chunks/Carousel.module-D_IzMMFv.js +30 -0
- package/chunks/Carousel.module-D_IzMMFv.js.map +1 -0
- package/chunks/CheckboxTreeExtended.module-C5EvlwgD.js +24 -0
- package/chunks/CheckboxTreeExtended.module-C5EvlwgD.js.map +1 -0
- package/chunks/{Chip-Bi7plvOY.js → Chip-DF_tx9l4.js} +17 -17
- package/chunks/{Chip-Bi7plvOY.js.map → Chip-DF_tx9l4.js.map} +1 -1
- package/chunks/Confirm.module-DoO5fE2O.js +24 -0
- package/chunks/Confirm.module-DoO5fE2O.js.map +1 -0
- package/chunks/{DropdownListItem-BaP5AaMK.js → DropdownListItem-cXbzcYKR.js} +11 -11
- package/chunks/{DropdownListItem-BaP5AaMK.js.map → DropdownListItem-cXbzcYKR.js.map} +1 -1
- package/chunks/DropdownMobile.module-TkQoE9iE.js +40 -0
- package/chunks/DropdownMobile.module-TkQoE9iE.js.map +1 -0
- package/chunks/Footer.module-C4IbSGY2.js +12 -0
- package/chunks/Footer.module-C4IbSGY2.js.map +1 -0
- package/chunks/{HeaderLayoutSidebar.module-CgtR6oF4.js → HeaderLayoutSidebar.module-lDoPFfsH.js} +4 -4
- package/chunks/HeaderLayoutSidebar.module-lDoPFfsH.js.map +1 -0
- package/chunks/HeaderTabs.module-VdomyB_Y.js +12 -0
- package/chunks/HeaderTabs.module-VdomyB_Y.js.map +1 -0
- package/chunks/{HeaderTitle.module-CABfTvCf.js → HeaderTitle.module-C9E0q3CQ.js} +4 -4
- package/chunks/HeaderTitle.module-C9E0q3CQ.js.map +1 -0
- package/chunks/ImageGalleryExtendedMain.module-Cagrj_Nc.js +28 -0
- package/chunks/ImageGalleryExtendedMain.module-Cagrj_Nc.js.map +1 -0
- package/chunks/{ImageGalleryExtendedThumb-BFa7GPtt.js → ImageGalleryExtendedThumb-CDVXTjWG.js} +6 -6
- package/chunks/{ImageGalleryExtendedThumb-BFa7GPtt.js.map → ImageGalleryExtendedThumb-CDVXTjWG.js.map} +1 -1
- package/chunks/IslandAccordion.module-Dws2bgrw.js +44 -0
- package/chunks/IslandAccordion.module-Dws2bgrw.js.map +1 -0
- package/chunks/IslandWidgetFooter.module-CYjuqDDS.js +18 -0
- package/chunks/IslandWidgetFooter.module-CYjuqDDS.js.map +1 -0
- package/chunks/IslandWidgetHeader.module-B-ANb6Z4.js +28 -0
- package/chunks/IslandWidgetHeader.module-B-ANb6Z4.js.map +1 -0
- package/chunks/{LightBoxContent-v_PFgeok.js → LightBoxContent-DVF6KT49.js} +17 -17
- package/chunks/{LightBoxContent-v_PFgeok.js.map → LightBoxContent-DVF6KT49.js.map} +1 -1
- package/chunks/LightBoxControls.module-B5LZnYV0.js +26 -0
- package/chunks/LightBoxControls.module-B5LZnYV0.js.map +1 -0
- package/chunks/{LightBoxSideOverlayClose.module-0Tjk9-qL.js → LightBoxSideOverlayClose.module-B0gINWmN.js} +4 -4
- package/chunks/LightBoxSideOverlayClose.module-B0gINWmN.js.map +1 -0
- package/chunks/{ListItemControlsButton-DoNJ-Yfe.js → ListItemControlsButton-DkpPeYFO.js} +10 -10
- package/chunks/{ListItemControlsButton-DoNJ-Yfe.js.map → ListItemControlsButton-DkpPeYFO.js.map} +1 -1
- package/chunks/ListItemTail.module-C6aqPWcB.js +18 -0
- package/chunks/ListItemTail.module-C6aqPWcB.js.map +1 -0
- package/chunks/ListMasterFooter.module-zjZkQ-qB.js +14 -0
- package/chunks/ListMasterFooter.module-zjZkQ-qB.js.map +1 -0
- package/chunks/ModalWindow.module-DdNfkkzZ.js +28 -0
- package/chunks/ModalWindow.module-DdNfkkzZ.js.map +1 -0
- package/chunks/Notification.module-DCYm_eyJ.js +34 -0
- package/chunks/Notification.module-DCYm_eyJ.js.map +1 -0
- package/chunks/Overlay.module-HJMjZts7.js +30 -0
- package/chunks/Overlay.module-HJMjZts7.js.map +1 -0
- package/chunks/Page.module-DEYdpdTe.js +17 -0
- package/chunks/Page.module-DEYdpdTe.js.map +1 -0
- package/chunks/SMSField.module-BxScHd0G.js +30 -0
- package/chunks/SMSField.module-BxScHd0G.js.map +1 -0
- package/chunks/SliderExtendedMarks.module-qzI-tGBX.js +24 -0
- package/chunks/SliderExtendedMarks.module-qzI-tGBX.js.map +1 -0
- package/chunks/{SliderExtendedRail-BI8zsX61.js → SliderExtendedRail-Co04cta-.js} +7 -7
- package/chunks/SliderExtendedRail-Co04cta-.js.map +1 -0
- package/chunks/StatusTracker.module-L20Tw6M8.js +44 -0
- package/chunks/StatusTracker.module-L20Tw6M8.js.map +1 -0
- package/chunks/{StepperStepArrowBorder-Q22ED8Yo.js → StepperStepArrowBorder-B5HGnDby.js} +16 -16
- package/chunks/{StepperStepArrowBorder-Q22ED8Yo.js.map → StepperStepArrowBorder-B5HGnDby.js.map} +1 -1
- package/chunks/{SuggestFieldMobileDropdownHint-3ySBEFFO.js → SuggestFieldMobileDropdownHint-BeT6Ch46.js} +3 -3
- package/chunks/SuggestFieldMobileDropdownHint-BeT6Ch46.js.map +1 -0
- package/chunks/TableFooter.module-BivJuNYR.js +22 -0
- package/chunks/TableFooter.module-BivJuNYR.js.map +1 -0
- package/chunks/TabsExtended.module-Bv7Xqx7g.js +26 -0
- package/chunks/TabsExtended.module-Bv7Xqx7g.js.map +1 -0
- package/chunks/TabsLine.module-v6dP7lY_.js +36 -0
- package/chunks/TabsLine.module-v6dP7lY_.js.map +1 -0
- package/chunks/TooltipDesktop.module-Bg6ol2mk.js +32 -0
- package/chunks/TooltipDesktop.module-Bg6ol2mk.js.map +1 -0
- package/chunks/TreeView.module-BeU0CUun.js +12 -0
- package/chunks/TreeView.module-BeU0CUun.js.map +1 -0
- package/chunks/UploadZoneInput-85sqlQnz.js +53 -0
- package/chunks/UploadZoneInput-85sqlQnz.js.map +1 -0
- package/chunks/{constants-C-865Unx.js → constants-Cdrw5rn3.js} +27 -27
- package/chunks/{constants-C-865Unx.js.map → constants-Cdrw5rn3.js.map} +1 -1
- package/chunks/{utils-CRayPY0c.js → utils-BtxCEP1y.js} +6 -6
- package/chunks/{utils-CRayPY0c.js.map → utils-BtxCEP1y.js.map} +1 -1
- package/chunks/{utils-BS0p239Z.js → utils-DTHPgHei.js} +27 -27
- package/chunks/{utils-BS0p239Z.js.map → utils-DTHPgHei.js.map} +1 -1
- package/chunks/{utils-CUP-yZoP.js → utils-Dfb5lzLn.js} +11 -11
- package/chunks/{utils-CUP-yZoP.js.map → utils-Dfb5lzLn.js.map} +1 -1
- package/chunks/{utils-D-axOAbx.js → utils-Xoc7ar3d.js} +10 -10
- package/chunks/{utils-D-axOAbx.js.map → utils-Xoc7ar3d.js.map} +1 -1
- package/chunks/{vendor-DqjKLGwf.js → vendor-CUIykw0y.js} +11 -5518
- package/chunks/vendor-CUIykw0y.js.map +1 -0
- package/components/AbstractTree/AbstractTreeNode.js +1 -1
- package/components/AccordionBase/protected/AccordionBase.js +1 -1
- package/components/Alert/AlertContext/AlertContext.js +8 -8
- package/components/Alert/AlertProcess/AlertProcess.js +3 -3
- package/components/Alert/AlertProcess/components/AlertProcessSpoiler.js +2 -2
- package/components/Amount/Amount.js +3 -3
- package/components/AmountField/AmountBaseInputCore.js +2 -2
- package/components/AmountField/AmountBaseInputCore.js.map +1 -1
- package/components/AmountField/AmountBaseInputFormatter.js +7 -10
- package/components/AmountField/AmountBaseInputFormatter.js.map +1 -1
- package/components/AmountField/AmountBaseInputParser.js +9 -13
- package/components/AmountField/AmountBaseInputParser.js.map +1 -1
- package/components/AmountField/AmountField.js +38 -55
- package/components/AmountField/AmountField.js.map +1 -1
- package/components/AmountField/utils.js +12 -2
- package/components/AmountField/utils.js.map +1 -1
- package/components/Avatar/Avatar.js +14 -14
- package/components/Avatar/Avatar.js.map +1 -1
- package/components/Avatar/enums.js.map +1 -1
- package/components/Badge/Badge.js +5 -5
- package/components/Badge/BadgeDot.js +5 -5
- package/components/Badge/components/BadgeContent.js +7 -7
- package/components/Badge/components/BadgePostfix.js +2 -2
- package/components/Badge/components/BadgePrefix.js +2 -2
- package/components/Body/Body.js +4 -4
- package/components/Button/Button.js +21 -21
- package/components/Button/ButtonBase.js +1 -1
- package/components/Button/ButtonDropdown.js +9 -9
- package/components/Button/ButtonDropdownExtended.js +3 -3
- package/components/Button/ButtonIcon.js +4 -4
- package/components/Calendar/Calendar.js +5 -5
- package/components/Calendar/components/CalendarControls.js +17 -2
- package/components/Calendar/components/CalendarControls.js.map +1 -1
- package/components/Calendar/components/CalendarFooter.js +2 -2
- package/components/Calendar/components/CalendarViewDays.js +2 -2
- package/components/Calendar/components/CalendarViewItem.js +2 -2
- package/components/Calendar/components/CalendarViewMonths.js +1 -1
- package/components/Calendar/components/CalendarViewYears.js +1 -1
- package/components/Card/CardAction.js +6 -6
- package/components/Card/CardStatic.js +26 -26
- package/components/Card/CardStatic.js.map +1 -1
- package/components/Card/components/CardContent/CardContent.js +2 -2
- package/components/Card/components/CardContent/components/CardContentBody.js +2 -2
- package/components/Card/components/CardContent/components/CardContentFooter.js +2 -2
- package/components/Card/components/CardContent/components/CardContentHeader.js +2 -2
- package/components/Card/components/CardMedia.js +2 -2
- package/components/Card/utils.js +1 -1
- package/components/Carousel/Carousel.js +2 -2
- package/components/Carousel/CarouselButton.js +2 -2
- package/components/Carousel/CarouselIndicators.js +65 -30
- package/components/Carousel/CarouselIndicators.js.map +1 -1
- package/components/Carousel/CarouselItem.js +2 -2
- package/components/Carousel/CarouselTrack.js +2 -2
- package/components/Carousel/CarouselViewport.js +2 -2
- package/components/CarouselExtended/CarouselExtended.js +2 -2
- package/components/Checkbox/Checkbox.js +11 -11
- package/components/Checkbox/CheckboxXGroup.js +9 -9
- package/components/Checkbox/CheckboxYGroup.js +2 -2
- package/components/CheckboxTree/CheckboxTree.js +34 -35
- package/components/CheckboxTree/CheckboxTree.js.map +1 -1
- package/components/CheckboxTree/utils.js +18 -11
- package/components/CheckboxTree/utils.js.map +1 -1
- package/components/CheckboxTreeExtended/CheckboxTreeExtended.js +22 -9
- package/components/CheckboxTreeExtended/CheckboxTreeExtended.js.map +1 -1
- package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedArrow.js +1 -1
- package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedCheckbox.js +2 -2
- package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedNode.js +2 -2
- package/components/Chip/Chip.js +2 -2
- package/components/Chip/ChipClearButton.js +2 -2
- package/components/Chip/ChipDatePicker/ChipDatePicker.js +1 -1
- package/components/Chip/ChipDatePicker/ChipDatePickerTarget.js +1 -1
- package/components/Chip/ChipDropdownArrow.js +3 -3
- package/components/Chip/ChipIcon.js +1 -1
- package/components/Chip/ChipMonthYearPicker/ChipMonthYearPicker.js +8 -4
- package/components/Chip/ChipMonthYearPicker/ChipMonthYearPicker.js.map +1 -1
- package/components/Chip/ChipMonthYearPicker/ChipMonthYearPickerTarget.js +1 -1
- package/components/Chip/ChipMultiselect.js +2 -2
- package/components/Chip/ChipOptions.js +2 -2
- package/components/Chip/ChipSelect/ChipSelect.js +2 -2
- package/components/Chip/ChipSelect/ChipSelectTarget.js +1 -1
- package/components/Chip/ChipSort.js +2 -2
- package/components/Chip/ChipSuggest/ChipSuggest.js +3 -3
- package/components/Chip/ChipSuggest/ChipSuggest.js.map +1 -1
- package/components/Chip/ChipSuggest/ChipSuggestDropdown.js +3 -3
- package/components/Chip/ChipSuggest/ChipSuggestDropdown.js.map +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 +8 -8
- package/components/Col/Col.js +133 -133
- package/components/CollapsibleTree/CollapsibleTree.js +2 -2
- package/components/CollapsibleTree/components/CollapsibleTreeLeafContent.js +2 -2
- package/components/CollapsibleTree/components/CollapsibleTreeLeafNode.js +2 -2
- package/components/CollapsibleTree/components/CollapsibleTreeNodeHeader.js +5 -5
- package/components/CollapsibleTreeExtended/CollapsibleTreeExtended.js +7 -2
- package/components/CollapsibleTreeExtended/CollapsibleTreeExtended.js.map +1 -1
- package/components/CollapsibleTreeExtended/components/CollapsibleTreeExtendedNode.js +2 -2
- package/components/Confirm/Confirm.js +22 -19
- package/components/Confirm/Confirm.js.map +1 -1
- package/components/Confirm/components/ConfirmClose.js +21 -7
- package/components/Confirm/components/ConfirmClose.js.map +1 -1
- package/components/Confirm/components/ConfirmCloseButton.js +4 -4
- package/components/Confirm/components/ConfirmCloseButton.js.map +1 -1
- package/components/Confirm/components/ConfirmContent.js +10 -5
- package/components/Confirm/components/ConfirmContent.js.map +1 -1
- package/components/Confirm/components/ConfirmContentSubTitle.js +4 -5
- package/components/Confirm/components/ConfirmContentSubTitle.js.map +1 -1
- package/components/Confirm/components/ConfirmContentTitle.js +6 -8
- package/components/Confirm/components/ConfirmContentTitle.js.map +1 -1
- package/components/Confirm/components/ConfirmControls.js +6 -3
- package/components/Confirm/components/ConfirmControls.js.map +1 -1
- package/components/Confirm/enums.js.map +1 -1
- package/components/DateField/DateFieldTarget.js +5 -5
- package/components/DatePickerExtended/DatePickerExtended.js +2 -2
- package/components/DatePickerExtended/DatePickerExtendedDropdown.js +2 -2
- package/components/DateRange/DateRange.js +69 -82
- package/components/DateRange/DateRange.js.map +1 -1
- package/components/DateRange/types.js +2 -0
- package/components/DateRange/types.js.map +1 -0
- package/components/DateRange/utils.js +8 -0
- package/components/DateRange/utils.js.map +1 -0
- package/components/DesignTokens/DesignTokenUtils.js +2 -2
- package/components/DesignTokens/components/Step.js +1 -1
- package/components/DesignTokens/components/Step.js.map +1 -1
- package/components/Divider/Divider.js +18 -18
- package/components/DocumentNumberEdit/DocumentNumberEdit.js +4 -4
- package/components/Dropdown/desktop/DropdownDesktop.js +7 -7
- package/components/Dropdown/desktop/DropdownList.js +2 -2
- package/components/Dropdown/desktop/DropdownListItem.js +2 -2
- package/components/Dropdown/desktop/index.js +1 -1
- package/components/Dropdown/index.js +1 -1
- package/components/Dropdown/mobile/DropdownMobile.js +2 -2
- package/components/Dropdown/mobile/DropdownMobileBody.js +2 -2
- package/components/Dropdown/mobile/DropdownMobileClose.js +2 -2
- package/components/Dropdown/mobile/DropdownMobileFooter.js +2 -2
- package/components/Dropdown/mobile/DropdownMobileHeader.js +2 -2
- package/components/Dropdown/mobile/DropdownMobileInner.js +2 -2
- package/components/Dropdown/mobile/DropdownMobileInput.js +2 -2
- package/components/Dropdown/mobile/DropdownMobileList.js +2 -2
- package/components/Dropdown/mobile/DropdownMobileListItem.js +2 -2
- package/components/Dropdown/mobile/DropdownMobileLoader.js +2 -2
- package/components/Dropdown/mobile/DropdownMobileMaskedInput.js +2 -2
- package/components/Ellipsis/Ellipsis.js +4 -4
- package/components/EmptyView/EmptyView.js +5 -5
- package/components/ExpandAnimation/ExpandAnimation.js +2 -2
- package/components/FocusTrapExtended/FocusTrapExtended.js +1 -1
- package/components/Footer/Footer.js +1 -1
- package/components/Footer/components/FooterDescription.js +2 -2
- package/components/Footer/components/FooterDescriptionContent.js +2 -2
- package/components/Footer/components/FooterDescriptionControls.js +2 -2
- package/components/FormField/FormField.js +18 -13
- package/components/FormField/FormField.js.map +1 -1
- package/components/FormField/FormFieldContext.js.map +1 -1
- package/components/FormField/components/FormFieldClear.js +2 -2
- package/components/FormField/components/FormFieldCounter.js +2 -2
- package/components/FormField/components/FormFieldDescription.js +3 -3
- package/components/FormField/components/FormFieldInput.js +6 -5
- package/components/FormField/components/FormFieldInput.js.map +1 -1
- package/components/FormField/components/FormFieldLabel.js +21 -9
- package/components/FormField/components/FormFieldLabel.js.map +1 -1
- package/components/FormField/components/FormFieldMaskedInput.js +9 -9
- package/components/FormField/components/FormFieldPostfix.js +2 -2
- package/components/FormField/components/FormFieldPrefix.js +2 -2
- package/components/FormField/components/FormFieldTarget.js +10 -13
- package/components/FormField/components/FormFieldTarget.js.map +1 -1
- package/components/FormField/components/FormFieldTextarea.js +6 -5
- package/components/FormField/components/FormFieldTextarea.js.map +1 -1
- package/components/FormField/components/useFormFieldAffixWidth.js +1 -1
- package/components/FormField/components/useFormFieldAffixWidth.js.map +1 -1
- package/components/FormField/components/utils.js +1 -9
- package/components/FormField/components/utils.js.map +1 -1
- package/components/Gap/Gap.js +9 -9
- package/components/Header/Header.js +1 -1
- package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebar.js +2 -2
- package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarContent.js +2 -2
- package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarSidebar.js +2 -2
- package/components/Header/components/HeaderSubheader/HeaderSubheader.js +3 -3
- package/components/Header/components/HeaderTabs/HeaderTabs.js +2 -2
- package/components/Header/components/HeaderTabs/HeaderTabsContent.js +2 -2
- package/components/Header/components/HeaderTabs/HeaderTabsControls.js +2 -2
- package/components/Header/components/HeaderTitle/HeaderTitle.js +2 -2
- package/components/Header/components/HeaderTitle/HeaderTitleContent.js +2 -2
- package/components/Header/components/HeaderTitle/HeaderTitleControls.js +2 -2
- package/components/HelpBox/HelpBox.js +2 -2
- package/components/IconWrapper/IconWrapper.js +3 -3
- package/components/ImageGallery/ImageGallery.js +1 -1
- package/components/ImageGalleryExtended/ImageGalleryExtended.js +3 -3
- package/components/ImageGalleryExtended/components/ImageGalleryExtendedArrow.js +2 -2
- package/components/ImageGalleryExtended/components/ImageGalleryExtendedDots.js +4 -4
- package/components/ImageGalleryExtended/components/ImageGalleryExtendedMain.js +2 -2
- package/components/ImageGalleryExtended/components/ImageGalleryExtendedSlide.js +2 -2
- package/components/ImageGalleryExtended/components/ImageGalleryExtendedSwipeTrack.js +2 -2
- package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumb.js +2 -2
- package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumbnails.js +2 -2
- package/components/ImageGalleryExtended/components/index.js +1 -1
- package/components/ImageGalleryExtended/index.js +1 -1
- package/components/Island/Island.js +2 -2
- package/components/Island/components/IslandBody.js +2 -2
- package/components/Island/components/IslandFooter.js +2 -2
- package/components/Island/components/IslandHeader.js +2 -2
- package/components/Island/utils.js +1 -1
- package/components/IslandAccordion/IslandAccordion.js +3 -3
- package/components/IslandAccordion/components/IslandAccordionContent.js +1 -1
- package/components/IslandAccordion/components/IslandAccordionFooter.js +2 -2
- package/components/IslandAccordion/components/IslandAccordionItem.js +3 -3
- package/components/IslandWidget/IslandWidget.js +4 -4
- package/components/IslandWidget/components/IslandWidgetBody.js +5 -5
- package/components/IslandWidget/components/IslandWidgetExtraFooter.js +2 -2
- package/components/IslandWidget/components/IslandWidgetFooter.js +2 -2
- package/components/IslandWidget/components/IslandWidgetFooterContent.js +2 -2
- package/components/IslandWidget/components/IslandWidgetFooterControls.js +2 -2
- package/components/IslandWidget/components/IslandWidgetHeader.js +2 -2
- package/components/IslandWidget/components/IslandWidgetHeaderContent.js +1 -1
- package/components/IslandWidget/components/IslandWidgetHeaderControls.js +2 -2
- package/components/IslandWidget/components/IslandWidgetHeaderDescription.js +2 -2
- package/components/IslandWidget/components/IslandWidgetHeaderTitle.js +2 -2
- package/components/IslandWidget/components/IslandWidgetWrapper.js +2 -2
- package/components/LightBox/LightBox.js +6 -6
- package/components/LightBox/LightBoxContent.js +2 -2
- package/components/LightBox/LightBoxControls/LightBoxArrow.js +2 -2
- package/components/LightBox/LightBoxControls/LightBoxClose.js +2 -2
- package/components/LightBox/LightBoxControls/LightBoxControls.js +2 -2
- package/components/LightBox/LightBoxControls/LightBoxNext.js +2 -2
- package/components/LightBox/LightBoxControls/LightBoxPrev.js +2 -2
- package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js +13 -13
- package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseDesktop.js +2 -2
- package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseMobile.js +2 -2
- package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js +1 -1
- package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js +4 -4
- package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js +4 -4
- package/components/LightBox/LightBoxViewManager/LightBoxViewManager.js +1 -1
- package/components/Link/Link.js +6 -6
- package/components/List/List.js +4 -4
- package/components/List/ListSortable.js +1 -1
- package/components/List/components/ListActionItem.js +2 -2
- package/components/List/components/ListEmptyState.js +2 -2
- package/components/List/components/ListItem.js +1 -1
- package/components/List/components/ListItemContent.js +5 -5
- package/components/List/components/ListItemControls.js +2 -2
- package/components/List/components/ListItemControlsButton.js +2 -2
- package/components/List/components/ListItemControlsButtonDropdown.js +3 -3
- package/components/List/components/ListItemControlsButtonDropdown.js.map +1 -1
- package/components/List/components/ListItemLoading.js +2 -2
- package/components/List/components/ListItemSelectable.js +7 -7
- package/components/List/components/ListItemTailLeft.js +2 -2
- package/components/List/components/ListItemTailRight.js +2 -2
- package/components/List/components/ListSortableItem.js +4 -4
- package/components/List/components/ListSortableItem.js.map +1 -1
- package/components/List/components/ListSortableItemControls.js +2 -2
- package/components/List/components/ListSortableItemTarget.js +5 -5
- package/components/List/components/ListTableItem.js +4 -4
- package/components/List/index.js +1 -1
- package/components/List/utils.js +1 -9
- package/components/List/utils.js.map +1 -1
- package/components/ListMaster/ListMaster.js +1 -1
- package/components/ListMaster/components/ListMasterBody.js +1 -1
- package/components/ListMaster/components/ListMasterChipGroup.js +2 -2
- package/components/ListMaster/components/ListMasterFooter.js +2 -2
- package/components/ListMaster/components/ListMasterFooterControls.js +2 -2
- package/components/ListMaster/components/ListMasterFooterDescription.js +2 -2
- package/components/ListMaster/components/ListMasterHeader.js +3 -3
- package/components/ListMaster/components/SelectionControls.js +3 -3
- package/components/Loader/LoaderMiddle/LoaderMiddle.js +9 -9
- package/components/Loader/LoaderSmall/LoaderSmall.js +11 -11
- package/components/LoaderScreen/LoaderScreen.js +6 -6
- package/components/Marker/Marker.js +2 -2
- package/components/Marker/utils.js +1 -1
- package/components/MarkerStatus/MarkerStatus.js +8 -8
- package/components/ModalWindow/ModalWindow.js +2 -2
- package/components/ModalWindow/components/ModalWindowBody.js +2 -2
- package/components/ModalWindow/components/ModalWindowClose.js +1 -1
- package/components/ModalWindow/components/ModalWindowContent.js +2 -2
- package/components/ModalWindow/components/ModalWindowHeader.js +2 -2
- package/components/ModalWindow/components/ModalWindowViewManager.js +2 -2
- package/components/MonthYearField/MonthYearField.js +6 -4
- package/components/MonthYearField/MonthYearField.js.map +1 -1
- package/components/MonthYearField/MonthYearFieldTarget.js +5 -5
- package/components/MonthYearRange/MonthYearRange.js +4 -4
- package/components/MultiselectField/components/MultiselectFieldDropdown.js +2 -2
- package/components/MultiselectField/components/MultiselectFieldDropdownContent.js +6 -6
- package/components/MultiselectField/components/MultiselectFieldDropdownFooter.js +2 -2
- package/components/MultiselectField/components/MultiselectFieldDropdownHeader.js +2 -2
- package/components/Notification/Notification.js +3 -3
- package/components/Notification/NotificationGrouped.js +1 -1
- package/components/Notification/components/NotificationBody.js +1 -1
- package/components/Notification/components/NotificationBodyList.js +2 -2
- package/components/Notification/components/NotificationClose.js +1 -1
- package/components/Notification/components/NotificationFooter.js +1 -1
- package/components/Notification/components/NotificationGroupedFooter.js +2 -2
- 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 +3 -3
- package/components/OrderedList/OrderedListItem.js +3 -3
- package/components/Overlay/Overlay.js +2 -2
- package/components/Overlay/OverlayMask.js +2 -2
- package/components/Overlay/OverlayPanel.js +2 -2
- package/components/Page/Page.js +2 -2
- package/components/Page/components/BodyPage.js +8 -8
- package/components/Page/components/FooterPage.js +7 -14
- package/components/Page/components/FooterPage.js.map +1 -1
- package/components/Page/components/HeaderPage.js +2 -2
- package/components/Pagination/components/PaginationExtended.js +3 -3
- package/components/Pagination/components/PaginationNavigationButton.js +2 -2
- package/components/Pagination/components/PaginationNavigationExtended.js +2 -2
- package/components/Pagination/components/PaginationPageButton.js +3 -3
- package/components/Pagination/components/PaginationPageEllipsis.js +2 -2
- package/components/Pagination/components/PaginationSelect.js +3 -3
- package/components/Pagination/utils.js +1 -1
- package/components/Radio/Radio.js +10 -10
- package/components/Radio/RadioXGroup.js +9 -9
- package/components/Radio/RadioYGroup.js +2 -2
- package/components/Row/Row.js +5 -5
- package/components/SMSField/SMSField.js +3 -3
- package/components/SMSField/components/RefreshIcon.js +2 -2
- package/components/SMSField/components/SMSFieldInput.js +2 -2
- package/components/SMSField/components/SMSFieldRefresh.js +2 -2
- package/components/SMSField/components/SMSFieldSubmit.js +2 -2
- package/components/SMSField/components/SMSFieldTooltip.js +1 -1
- package/components/SegmentedControl/SegmentedControl.js +10 -10
- package/components/SegmentedControl/SegmentedControlSegment.js +4 -4
- package/components/SelectExtendedField/SelectExtendedField.js +2 -2
- package/components/SelectExtendedField/components/SelectExtendedFieldDropdown.js +1 -1
- package/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js +1 -1
- package/components/SelectExtendedField/components/SelectExtendedFieldTarget.js +8 -8
- package/components/SelectField/SelectField.js +2 -2
- package/components/Skeleton/Skeleton.js +6 -6
- package/components/Slider/Slider.js +10 -14
- package/components/Slider/Slider.js.map +1 -1
- package/components/SliderExtended/SliderExtended.js +3 -3
- package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js +7 -7
- package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js.map +1 -1
- package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMark.js +2 -2
- package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarks.js +2 -2
- package/components/SliderExtended/components/SliderExtendedMoveHandler.js +1 -1
- package/components/SliderExtended/components/SliderExtendedRail.js +3 -3
- package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js +6 -6
- package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js.map +1 -1
- package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js +8 -8
- package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js.map +1 -1
- package/components/SliderRange/SliderRange.js +12 -19
- package/components/SliderRange/SliderRange.js.map +1 -1
- package/components/SmallInput/SmallInput.js +2 -2
- package/components/Spoiler/Spoiler.js +11 -11
- package/components/StatusTracker/StatusTracker.js +3 -3
- package/components/StatusTracker/StatusTracker.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerAlert.js +7 -6
- package/components/StatusTracker/components/StatusTrackerAlert.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerBody.js +2 -2
- package/components/StatusTracker/components/StatusTrackerBody.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerButton.js +8 -3
- package/components/StatusTracker/components/StatusTrackerButton.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerDescription.js +19 -15
- package/components/StatusTracker/components/StatusTrackerDescription.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerFooter.js +2 -2
- package/components/StatusTracker/components/StatusTrackerFooter.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerHeader.js +2 -2
- package/components/StatusTracker/components/StatusTrackerHeader.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerMedia.js +7 -6
- package/components/StatusTracker/components/StatusTrackerMedia.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerStatus.js +7 -6
- package/components/StatusTracker/components/StatusTrackerStatus.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerStatusGroup.js +5 -3
- package/components/StatusTracker/components/StatusTrackerStatusGroup.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerSum.js +7 -5
- package/components/StatusTracker/components/StatusTrackerSum.js.map +1 -1
- package/components/StatusTracker/components/StatusTrackerTitle.js +7 -5
- package/components/StatusTracker/components/StatusTrackerTitle.js.map +1 -1
- package/components/Step/Step.js +11 -11
- package/components/Stepper/Stepper.js +93 -100
- package/components/Stepper/Stepper.js.map +1 -1
- package/components/Stepper/StepperExtended.js +41 -20
- package/components/Stepper/StepperExtended.js.map +1 -1
- package/components/Stepper/StepperExtendedContext.js +1 -1
- package/components/Stepper/StepperExtendedContext.js.map +1 -1
- package/components/Stepper/StepperStep.js +3 -3
- package/components/Stepper/StepperStepArrowBorder.js +1 -1
- package/components/Suggest/SuggestMobileDropdownContent.js +3 -3
- package/components/Suggest/useSuggest.js +1 -1
- package/components/SuggestField/SuggestField.js +1 -1
- package/components/SuggestField/desktop/SuggestFieldDesktop.js +18 -28
- package/components/SuggestField/desktop/SuggestFieldDesktop.js.map +1 -1
- package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js +4 -4
- package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js.map +1 -1
- package/components/SuggestField/index.js +1 -1
- package/components/SuggestField/mobile/SuggestFieldMobile.js +3 -3
- package/components/SuggestField/mobile/SuggestFieldMobile.js.map +1 -1
- package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js +3 -4
- package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js.map +1 -1
- package/components/SuggestField/mobile/SuggestFieldMobileDropdownHint.js +1 -1
- package/components/SuggestField/mobile/index.js +1 -1
- package/components/SwipeableArea/SwipeableArea.js +9 -9
- package/components/Table/ChipPanel.js +2 -2
- package/components/Table/ChipPanelLinks.js +2 -2
- package/components/Table/FilterPanel.js +3 -3
- package/components/Table/MasterTable.js +3 -3
- package/components/Table/NoColumns.js +3 -3
- package/components/Table/PaginationPanel.js +3 -3
- package/components/Table/TableBasic/TableBasic.js +2 -2
- package/components/Table/TableBasic/components/TableBasicBody.js +2 -2
- package/components/Table/TableBasic/components/TableBasicHeader.js +2 -2
- package/components/Table/TableBasic/components/TableBasicRow.js +2 -2
- package/components/Table/TableBasicSettings/TableBasicSettings.js +3 -3
- package/components/Table/TableBasicSettings/components/ColumnSettingsSortableListItemTarget.js +3 -3
- package/components/Table/TableBasicSettings/components/ColumnSettingsStaticListItem.js +2 -2
- package/components/Table/TableBasicSettings/components/TableBasicSettingsBody.js +2 -2
- package/components/Table/TableBasicSettings/components/TableBasicSettingsFooter.js +2 -2
- package/components/Table/TableBasicSettings/components/TableBasicSettingsHeader.js +2 -2
- package/components/Table/TableFooter/TableFooter.js +2 -2
- package/components/Table/TableFooter/components/TableFooterSummary.js +1 -1
- package/components/Table/TableFooter/components/TableFooterSummaryAmount.js +1 -1
- package/components/Table/TableFooter/components/TableFooterSummarySelectAllButton.js +1 -1
- package/components/Table/TableFooter/components/TableFooterSummarySelectedCount.js +1 -1
- package/components/Table/utils.js +1 -1
- package/components/Tabs/Tabs.js +114 -96
- package/components/Tabs/Tabs.js.map +1 -1
- package/components/TabsExtended/TabsExtended.js +3 -3
- package/components/TabsExtended/components/TabsExtendedContent.js +2 -2
- package/components/TabsExtended/components/TabsExtendedDropdownWrapper.js +2 -2
- package/components/TabsExtended/components/TabsExtendedTab.js +2 -2
- package/components/TabsExtended/components/TabsExtendedTabButton.js +2 -2
- package/components/TabsExtended/components/TabsExtendedTabsWrapper.js +2 -2
- package/components/TabsExtended/utils.js +1 -1
- package/components/TabsLine/TabsLine.js +20 -17
- package/components/TabsLine/TabsLine.js.map +1 -1
- package/components/TabsLine/components/TabsLineDesktop.js +85 -98
- package/components/TabsLine/components/TabsLineDesktop.js.map +1 -1
- package/components/TabsLine/components/TabsLineDropdown.js +122 -86
- package/components/TabsLine/components/TabsLineDropdown.js.map +1 -1
- package/components/TabsLine/components/TabsLineItem.js +43 -27
- package/components/TabsLine/components/TabsLineItem.js.map +1 -1
- package/components/TabsLine/components/TabsLineMobile.js +20 -15
- package/components/TabsLine/components/TabsLineMobile.js.map +1 -1
- package/components/TabsLine/utils.js +8 -0
- package/components/TabsLine/utils.js.map +1 -1
- package/components/Tag/Tag.js +6 -6
- package/components/TagColor/TagColor.js +11 -11
- package/components/TagColor/TagColor.js.map +1 -1
- package/components/TagColor/enums.js.map +1 -1
- package/components/TagGroup/TagGroup.js +8 -7
- package/components/TagGroup/TagGroup.js.map +1 -1
- package/components/TextareaField/TextareaField.js +5 -1
- package/components/TextareaField/TextareaField.js.map +1 -1
- package/components/ThemeProvider/ThemeProvider.js +1 -1
- package/components/ThemeProvider/components/ThemeProviderView.js +1 -1
- package/components/Tooltip/components/common/TooltipBody.js +2 -2
- 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 +2 -2
- package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js +2 -2
- package/components/Tooltip/components/mobile/TooltipMobile.js +5 -5
- package/components/TopOverlay/TopOverlay.js +7 -7
- package/components/TreeView/TreeView.js +13 -8
- package/components/TreeView/TreeView.js.map +1 -1
- package/components/TreeView/components/TreeViewGroup.js +2 -2
- package/components/TreeView/components/TreeViewNode.js +2 -2
- package/components/Triggers/TriggerClickOnKeyDownEvent.js +2 -5
- package/components/Triggers/TriggerClickOnKeyDownEvent.js.map +1 -1
- package/components/Typography/Caption.js +8 -8
- package/components/Typography/CodeText.js +3 -3
- package/components/Typography/Text.js +10 -10
- package/components/Typography/Title.js +10 -10
- package/components/Typography/constants.js +1 -1
- package/components/UnorderedListExtended/UnorderedListExtended.js +3 -3
- package/components/UnorderedListExtended/UnorderedListExtendedItem.js +3 -3
- package/components/UnorderedListExtended/UnorderedListExtendedItemMarker.js +4 -4
- package/components/UploadZone/UploadZone.js +44 -68
- package/components/UploadZone/UploadZone.js.map +1 -1
- package/components/UploadZone/UploadZoneContext.js +1 -1
- package/components/UploadZone/UploadZoneContext.js.map +1 -1
- package/components/UploadZone/components/UploadZoneInput.js +3 -2
- package/components/UploadZone/components/UploadZoneInput.js.map +1 -1
- package/components/UploadZone/index.js +1 -1
- package/components/WindowResizeListener/WindowResizeListener.js +1 -1
- package/components/index.js +6 -6
- package/{components/SliderExtended/utils.js → helpers/setForwardedRef.js} +2 -2
- package/helpers/setForwardedRef.js.map +1 -0
- package/index.d.ts +400 -211
- package/index.js +6 -6
- package/package.json +1 -1
- package/styles/triplex-next.css +3057 -3052
- package/utils/amountUtils.js +1 -1
- package/chunks/Card.module-DRLlpl4W.js +0 -32
- package/chunks/Card.module-DRLlpl4W.js.map +0 -1
- package/chunks/Carousel.module-DdMfAe9T.js +0 -34
- package/chunks/Carousel.module-DdMfAe9T.js.map +0 -1
- package/chunks/CheckboxTreeExtended.module-BCujNMOr.js +0 -24
- package/chunks/CheckboxTreeExtended.module-BCujNMOr.js.map +0 -1
- package/chunks/Confirm.module-D5ujpaan.js +0 -24
- package/chunks/Confirm.module-D5ujpaan.js.map +0 -1
- package/chunks/DropdownMobile.module-B-PviyH6.js +0 -40
- package/chunks/DropdownMobile.module-B-PviyH6.js.map +0 -1
- package/chunks/Footer.module-ib3e66nH.js +0 -12
- package/chunks/Footer.module-ib3e66nH.js.map +0 -1
- package/chunks/HeaderLayoutSidebar.module-CgtR6oF4.js.map +0 -1
- package/chunks/HeaderTabs.module-CYsRVlb9.js +0 -12
- package/chunks/HeaderTabs.module-CYsRVlb9.js.map +0 -1
- package/chunks/HeaderTitle.module-CABfTvCf.js.map +0 -1
- package/chunks/ImageGalleryExtendedMain.module-CZ9ZU6qi.js +0 -28
- package/chunks/ImageGalleryExtendedMain.module-CZ9ZU6qi.js.map +0 -1
- package/chunks/IslandAccordion.module-U3t-4vJq.js +0 -44
- package/chunks/IslandAccordion.module-U3t-4vJq.js.map +0 -1
- package/chunks/IslandWidgetFooter.module--k_POM4A.js +0 -18
- package/chunks/IslandWidgetFooter.module--k_POM4A.js.map +0 -1
- package/chunks/IslandWidgetHeader.module-D6j13jwR.js +0 -28
- package/chunks/IslandWidgetHeader.module-D6j13jwR.js.map +0 -1
- package/chunks/LightBoxControls.module-DR8ULE0a.js +0 -26
- package/chunks/LightBoxControls.module-DR8ULE0a.js.map +0 -1
- package/chunks/LightBoxSideOverlayClose.module-0Tjk9-qL.js.map +0 -1
- package/chunks/ListItemTail.module-Bq08aKyf.js +0 -18
- package/chunks/ListItemTail.module-Bq08aKyf.js.map +0 -1
- package/chunks/ListMasterFooter.module-9x6ntzLF.js +0 -14
- package/chunks/ListMasterFooter.module-9x6ntzLF.js.map +0 -1
- package/chunks/ModalWindow.module-DVlh8Hck.js +0 -28
- package/chunks/ModalWindow.module-DVlh8Hck.js.map +0 -1
- package/chunks/Notification.module-CAO_e6_u.js +0 -34
- package/chunks/Notification.module-CAO_e6_u.js.map +0 -1
- package/chunks/Overlay.module-BobfrUap.js +0 -30
- package/chunks/Overlay.module-BobfrUap.js.map +0 -1
- package/chunks/Page.module-D5IIaIaU.js +0 -15
- package/chunks/Page.module-D5IIaIaU.js.map +0 -1
- package/chunks/SMSField.module-7wYs4QAZ.js +0 -30
- package/chunks/SMSField.module-7wYs4QAZ.js.map +0 -1
- package/chunks/SliderExtendedMarks.module-m4ckCTSy.js +0 -24
- package/chunks/SliderExtendedMarks.module-m4ckCTSy.js.map +0 -1
- package/chunks/SliderExtendedRail-BI8zsX61.js.map +0 -1
- package/chunks/StatusTracker.module-Duk0PPcv.js +0 -44
- package/chunks/StatusTracker.module-Duk0PPcv.js.map +0 -1
- package/chunks/SuggestFieldMobileDropdownHint-3ySBEFFO.js.map +0 -1
- package/chunks/TableFooter.module-oZBepBwa.js +0 -22
- package/chunks/TableFooter.module-oZBepBwa.js.map +0 -1
- package/chunks/TabsExtended.module-D5QonHS5.js +0 -26
- package/chunks/TabsExtended.module-D5QonHS5.js.map +0 -1
- package/chunks/TabsLine.module-RwtPmU40.js +0 -36
- package/chunks/TabsLine.module-RwtPmU40.js.map +0 -1
- package/chunks/TooltipDesktop.module-hAZYb_oS.js +0 -32
- package/chunks/TooltipDesktop.module-hAZYb_oS.js.map +0 -1
- package/chunks/TreeView.module-DZyeCF-w.js +0 -12
- package/chunks/TreeView.module-DZyeCF-w.js.map +0 -1
- package/chunks/UploadZoneInput-BqBNrWzw.js +0 -40
- package/chunks/UploadZoneInput-BqBNrWzw.js.map +0 -1
- package/chunks/vendor-DqjKLGwf.js.map +0 -1
- package/components/Chip/ChipSuggest/utils.js +0 -11
- package/components/Chip/ChipSuggest/utils.js.map +0 -1
- package/components/SliderExtended/utils.js.map +0 -1
|
@@ -9,10 +9,10 @@ import { TreeViewContext } from "./TreeViewContext.js";
|
|
|
9
9
|
import { TreeViewAbstractNode } from "./TreeViewAbstractNode.js";
|
|
10
10
|
import { TreeViewNode } from "./components/TreeViewNode.js";
|
|
11
11
|
import { TreeViewGroup } from "./components/TreeViewGroup.js";
|
|
12
|
-
import { c as clsx } from "../../chunks/vendor-
|
|
13
|
-
import { s as styles } from "../../chunks/TreeView.module-
|
|
12
|
+
import { c as clsx } from "../../chunks/vendor-CUIykw0y.js";
|
|
13
|
+
import { s as styles } from "../../chunks/TreeView.module-BeU0CUun.js";
|
|
14
14
|
const rootNodeId = "rootNode";
|
|
15
|
-
class
|
|
15
|
+
class TreeViewBase extends React__default.Component {
|
|
16
16
|
constructor(props) {
|
|
17
17
|
super(props);
|
|
18
18
|
__publicField(this, "abstractRootNode");
|
|
@@ -114,7 +114,7 @@ class TreeView extends React__default.Component {
|
|
|
114
114
|
this.detachKeyDownListener();
|
|
115
115
|
}
|
|
116
116
|
render() {
|
|
117
|
-
const { children, className, ...props } = this.props;
|
|
117
|
+
const { children, className, forwardedRef, ...props } = this.props;
|
|
118
118
|
const { updateCount } = this.state;
|
|
119
119
|
return /* @__PURE__ */ jsx(
|
|
120
120
|
TreeViewContext.Provider,
|
|
@@ -129,14 +129,19 @@ class TreeView extends React__default.Component {
|
|
|
129
129
|
setOpenedNode: this.setOpenedNode,
|
|
130
130
|
updateCount
|
|
131
131
|
},
|
|
132
|
-
children: /* @__PURE__ */ jsx("ul", { className: clsx(styles.treeView, className), ...props, role: "tree", children })
|
|
132
|
+
children: /* @__PURE__ */ jsx("ul", { ref: forwardedRef, className: clsx(styles.treeView, className), ...props, role: "tree", children })
|
|
133
133
|
}
|
|
134
134
|
);
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
137
|
+
const TreeView = Object.assign(
|
|
138
|
+
React__default.forwardRef((props, ref) => /* @__PURE__ */ jsx(TreeViewBase, { ...props, forwardedRef: ref })),
|
|
139
|
+
{
|
|
140
|
+
Group: TreeViewGroup,
|
|
141
|
+
Node: TreeViewNode
|
|
142
|
+
}
|
|
143
|
+
);
|
|
144
|
+
TreeView.displayName = "TreeView";
|
|
140
145
|
export {
|
|
141
146
|
TreeView
|
|
142
147
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeView.js","sources":["../../../src/components/TreeView/TreeView.tsx"],"sourcesContent":["import { EVENT_KEY_CODES } from \"@sberbusiness/triplex-next/utils/keyboard\";\nimport React from \"react\";\nimport { TreeViewAbstractNodeUtils } from \"./TreeViewAbstractNodeUtils\";\nimport {\n TreeViewContext,\n TTreeViewContextGetNode,\n TTreeViewContextRegisterNode,\n TTreeViewContextRemoveNode,\n TTreeViewContextSetActiveNode,\n TTreeViewContextSetOpenedNode,\n} from \"./TreeViewContext\";\nimport { TreeViewAbstractNode } from \"./TreeViewAbstractNode\";\nimport { TreeViewNode } from \"./components/TreeViewNode\";\nimport { TreeViewGroup } from \"./components/TreeViewGroup\";\nimport clsx from \"clsx\";\nimport styles from \"./styles/TreeView.module.less\";\n\n/** Свойства TreeView. */\nexport interface ITreeViewProps extends React.HTMLAttributes<HTMLUListElement> {\n /** Ноды дерева — TreeView.Node (напрямую или через компоненты-обёртки над ним). */\n children: React.ReactNode;\n}\n\n/** Состояние TreeView. */\ninterface ITreeViewState {\n /**\n * Число обновлений абстрактного дерева.\n * Используется для индикации изменения дерева т.к. изменение мутируемого объекта rootNode не вызывает триггер изменения контекста.\n */\n updateCount: number;\n}\n\n/** Идентификатор первой ноды дерева. */\nconst rootNodeId = \"rootNode\";\n\n/**\n * Базовый компонент визуального дерева.\n * Добавляет нужную семантическую разметку.\n * Создает абстрактное дерево на основе текущего.\n * Устанавливает контекст для дочерних нод.\n * Реализует навигацию по дереву.\n *\n * Accessibility требования:\n * https://www.w3.org/TR/wai-aria-practices-1.1/examples/treeview/treeview-2/treeview-2a.html\n */\nexport class TreeView extends React.Component<ITreeViewProps, ITreeViewState> {\n public static displayName = \"TreeView\";\n public static Node = TreeViewNode;\n public static Group = TreeViewGroup;\n\n private readonly abstractRootNode: TreeViewAbstractNode;\n /** Глобальный слушатель keydown подписан. Он нужен только пока в дереве есть активная нода. */\n private keyDownListenerAttached = false;\n\n constructor(props: ITreeViewProps) {\n super(props);\n\n this.abstractRootNode = new TreeViewAbstractNode({ id: rootNodeId });\n\n this.state = {\n updateCount: 0,\n };\n }\n\n public componentWillUnmount(): void {\n this.detachKeyDownListener();\n }\n\n public render(): JSX.Element {\n const { children, className, ...props } = this.props;\n const { updateCount } = this.state;\n\n return (\n <TreeViewContext.Provider\n value={{\n getNode: this.getNode,\n parentNode: this.abstractRootNode,\n registerNode: this.registerNode,\n removeNode: this.removeNode,\n rootNode: this.abstractRootNode,\n setActiveNode: this.setActiveNode,\n setOpenedNode: this.setOpenedNode,\n updateCount,\n }}\n >\n {/* role после {...props}: семантика дерева - контракт компонента, потребитель ее не переопределяет. */}\n <ul className={clsx(styles.treeView, className)} {...props} role=\"tree\">\n {children}\n </ul>\n </TreeViewContext.Provider>\n );\n }\n\n /**\n * Увеличивает счетчик обновлений абстрактного дерева.\n * Значение попадает в контекст и сигнализирует дочерним нодам, что мутируемое дерево изменилось.\n */\n private incrementUpdateCount = () => {\n this.setState(({ updateCount }) => ({ updateCount: updateCount + 1 }));\n };\n\n /**\n * Обработка изменения контекста.\n * Установка tabIndex={0} для первой ноды, и tabIndex={-1} для остальных.\n */\n private updateTabIndexNodes = () => {\n // Ноды первого уровня вложенности.\n const firstLevelNodes = this.abstractRootNode.getChildren();\n let isContextChanged = false;\n\n firstLevelNodes.forEach((node, index) => {\n if (index === 0 && node.getTabIndex() !== 0) {\n node.setTabIndex(0);\n isContextChanged = true;\n } else if (index !== 0 && node.getTabIndex() === 0) {\n node.setTabIndex(-1);\n isContextChanged = true;\n }\n });\n\n if (isContextChanged) {\n this.incrementUpdateCount();\n }\n };\n\n /** Добавляет ноду в родительскую ноду. */\n private registerNode: TTreeViewContextRegisterNode = (node, parentNode, prevNode, nextNode) => {\n parentNode.addChild(node, prevNode, nextNode);\n this.updateTabIndexNodes();\n this.incrementUpdateCount();\n };\n\n /** Удаляет ноду из родительской ноды. */\n private removeNode: TTreeViewContextRemoveNode = (node) => {\n node.getParent()?.removeChild(node);\n this.updateTabIndexNodes();\n // Удалена могла быть активная нода - тогда слушатель стрелок больше не нужен.\n this.syncKeyDownListener();\n // Соседние ноды должны перерисоваться: после удаления у них могли измениться hasChildNodes и isLastNode.\n this.incrementUpdateCount();\n };\n\n /** Установка флага активности ноды. */\n private setActiveNode: TTreeViewContextSetActiveNode = (node, active) => {\n TreeViewAbstractNodeUtils.setActiveNode(node, this.abstractRootNode, active);\n this.syncKeyDownListener();\n this.incrementUpdateCount();\n };\n\n /**\n * Подписывает и отписывает глобальный слушатель keydown по наличию активной ноды.\n * Пока активной ноды нет, дерево не обрабатывает стрелки и не отменяет скролл страницы.\n */\n private syncKeyDownListener = () => {\n const hasActiveNode = Boolean(TreeViewAbstractNodeUtils.getActiveNode(this.abstractRootNode));\n\n if (hasActiveNode && !this.keyDownListenerAttached) {\n window.addEventListener(\"keydown\", this.handleKeyDown);\n this.keyDownListenerAttached = true;\n } else if (!hasActiveNode && this.keyDownListenerAttached) {\n this.detachKeyDownListener();\n }\n };\n\n /** Отписывает глобальный слушатель keydown. */\n private detachKeyDownListener = () => {\n window.removeEventListener(\"keydown\", this.handleKeyDown);\n this.keyDownListenerAttached = false;\n };\n\n /** Установка флага opened ноды. */\n private setOpenedNode: TTreeViewContextSetOpenedNode = (node, opened) => {\n node.setOpened(opened);\n this.incrementUpdateCount();\n };\n\n /** Возвращает AbstractNode по id. */\n private getNode: TTreeViewContextGetNode = (nodeId) =>\n TreeViewAbstractNodeUtils.getNode(nodeId, this.abstractRootNode);\n\n /** Обработка нажатия на клавиш для навигации с клавиатуры. */\n private handleKeyDown = (event: KeyboardEvent) => {\n // Перемещение с клавиатуры активно, когда есть активная нода.\n if (!TreeViewAbstractNodeUtils.getActiveNode(this.abstractRootNode)) {\n return;\n }\n\n if (EVENT_KEY_CODES.ARROW_DOWN === event.keyCode) {\n // Устанавливает активность следующей ноды.\n TreeViewAbstractNodeUtils.setActiveNextNode(this.abstractRootNode);\n } else if (EVENT_KEY_CODES.ARROW_UP === event.keyCode) {\n // Устанавливает активность предыдущей ноды.\n TreeViewAbstractNodeUtils.setActivePrevNode(this.abstractRootNode);\n } else {\n return;\n }\n\n // Предотвращает скролл страницы.\n event.preventDefault();\n this.incrementUpdateCount();\n };\n}\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TreeView.js","sources":["../../../src/components/TreeView/TreeView.tsx"],"sourcesContent":["import { EVENT_KEY_CODES } from \"@sberbusiness/triplex-next/utils/keyboard\";\nimport React from \"react\";\nimport { TreeViewAbstractNodeUtils } from \"./TreeViewAbstractNodeUtils\";\nimport {\n TreeViewContext,\n TTreeViewContextGetNode,\n TTreeViewContextRegisterNode,\n TTreeViewContextRemoveNode,\n TTreeViewContextSetActiveNode,\n TTreeViewContextSetOpenedNode,\n} from \"./TreeViewContext\";\nimport { TreeViewAbstractNode } from \"./TreeViewAbstractNode\";\nimport { TreeViewNode } from \"./components/TreeViewNode\";\nimport { TreeViewGroup } from \"./components/TreeViewGroup\";\nimport clsx from \"clsx\";\nimport styles from \"./styles/TreeView.module.less\";\n\n/** Свойства TreeView. */\nexport interface ITreeViewProps extends React.HTMLAttributes<HTMLUListElement> {\n /** Ноды дерева — TreeView.Node (напрямую или через компоненты-обёртки над ним). */\n children: React.ReactNode;\n}\n\n/**\n * Внутренние свойства TreeViewBase.\n * Класс не может быть обёрнут forwardRef напрямую, поэтому внешний ref приходит к нему обычным свойством.\n */\ninterface ITreeViewBaseProps extends ITreeViewProps {\n /** Внешний ref на корневой <ul>, проброшенный обёрткой TreeView. */\n forwardedRef: React.ForwardedRef<HTMLUListElement>;\n}\n\n/** Состояние TreeView. */\ninterface ITreeViewState {\n /**\n * Число обновлений абстрактного дерева.\n * Используется для индикации изменения дерева т.к. изменение мутируемого объекта rootNode не вызывает триггер изменения контекста.\n */\n updateCount: number;\n}\n\n/** Идентификатор первой ноды дерева. */\nconst rootNodeId = \"rootNode\";\n\n/**\n * Реализация TreeView. Вынесена в отдельный класс, потому что class-компонент нельзя обернуть forwardRef напрямую:\n * публичный TreeView ниже — обёртка, передающая сюда внешний ref свойством forwardedRef.\n */\nclass TreeViewBase extends React.Component<ITreeViewBaseProps, ITreeViewState> {\n private readonly abstractRootNode: TreeViewAbstractNode;\n /** Глобальный слушатель keydown подписан. Он нужен только пока в дереве есть активная нода. */\n private keyDownListenerAttached = false;\n\n constructor(props: ITreeViewBaseProps) {\n super(props);\n\n this.abstractRootNode = new TreeViewAbstractNode({ id: rootNodeId });\n\n this.state = {\n updateCount: 0,\n };\n }\n\n public componentWillUnmount(): void {\n this.detachKeyDownListener();\n }\n\n public render(): JSX.Element {\n const { children, className, forwardedRef, ...props } = this.props;\n const { updateCount } = this.state;\n\n return (\n <TreeViewContext.Provider\n value={{\n getNode: this.getNode,\n parentNode: this.abstractRootNode,\n registerNode: this.registerNode,\n removeNode: this.removeNode,\n rootNode: this.abstractRootNode,\n setActiveNode: this.setActiveNode,\n setOpenedNode: this.setOpenedNode,\n updateCount,\n }}\n >\n {/* role после {...props}: семантика дерева - контракт компонента, потребитель ее не переопределяет. */}\n <ul ref={forwardedRef} className={clsx(styles.treeView, className)} {...props} role=\"tree\">\n {children}\n </ul>\n </TreeViewContext.Provider>\n );\n }\n\n /**\n * Увеличивает счетчик обновлений абстрактного дерева.\n * Значение попадает в контекст и сигнализирует дочерним нодам, что мутируемое дерево изменилось.\n */\n private incrementUpdateCount = () => {\n this.setState(({ updateCount }) => ({ updateCount: updateCount + 1 }));\n };\n\n /**\n * Обработка изменения контекста.\n * Установка tabIndex={0} для первой ноды, и tabIndex={-1} для остальных.\n */\n private updateTabIndexNodes = () => {\n // Ноды первого уровня вложенности.\n const firstLevelNodes = this.abstractRootNode.getChildren();\n let isContextChanged = false;\n\n firstLevelNodes.forEach((node, index) => {\n if (index === 0 && node.getTabIndex() !== 0) {\n node.setTabIndex(0);\n isContextChanged = true;\n } else if (index !== 0 && node.getTabIndex() === 0) {\n node.setTabIndex(-1);\n isContextChanged = true;\n }\n });\n\n if (isContextChanged) {\n this.incrementUpdateCount();\n }\n };\n\n /** Добавляет ноду в родительскую ноду. */\n private registerNode: TTreeViewContextRegisterNode = (node, parentNode, prevNode, nextNode) => {\n parentNode.addChild(node, prevNode, nextNode);\n this.updateTabIndexNodes();\n this.incrementUpdateCount();\n };\n\n /** Удаляет ноду из родительской ноды. */\n private removeNode: TTreeViewContextRemoveNode = (node) => {\n node.getParent()?.removeChild(node);\n this.updateTabIndexNodes();\n // Удалена могла быть активная нода - тогда слушатель стрелок больше не нужен.\n this.syncKeyDownListener();\n // Соседние ноды должны перерисоваться: после удаления у них могли измениться hasChildNodes и isLastNode.\n this.incrementUpdateCount();\n };\n\n /** Установка флага активности ноды. */\n private setActiveNode: TTreeViewContextSetActiveNode = (node, active) => {\n TreeViewAbstractNodeUtils.setActiveNode(node, this.abstractRootNode, active);\n this.syncKeyDownListener();\n this.incrementUpdateCount();\n };\n\n /**\n * Подписывает и отписывает глобальный слушатель keydown по наличию активной ноды.\n * Пока активной ноды нет, дерево не обрабатывает стрелки и не отменяет скролл страницы.\n */\n private syncKeyDownListener = () => {\n const hasActiveNode = Boolean(TreeViewAbstractNodeUtils.getActiveNode(this.abstractRootNode));\n\n if (hasActiveNode && !this.keyDownListenerAttached) {\n window.addEventListener(\"keydown\", this.handleKeyDown);\n this.keyDownListenerAttached = true;\n } else if (!hasActiveNode && this.keyDownListenerAttached) {\n this.detachKeyDownListener();\n }\n };\n\n /** Отписывает глобальный слушатель keydown. */\n private detachKeyDownListener = () => {\n window.removeEventListener(\"keydown\", this.handleKeyDown);\n this.keyDownListenerAttached = false;\n };\n\n /** Установка флага opened ноды. */\n private setOpenedNode: TTreeViewContextSetOpenedNode = (node, opened) => {\n node.setOpened(opened);\n this.incrementUpdateCount();\n };\n\n /** Возвращает AbstractNode по id. */\n private getNode: TTreeViewContextGetNode = (nodeId) =>\n TreeViewAbstractNodeUtils.getNode(nodeId, this.abstractRootNode);\n\n /** Обработка нажатия на клавиш для навигации с клавиатуры. */\n private handleKeyDown = (event: KeyboardEvent) => {\n // Перемещение с клавиатуры активно, когда есть активная нода.\n if (!TreeViewAbstractNodeUtils.getActiveNode(this.abstractRootNode)) {\n return;\n }\n\n if (EVENT_KEY_CODES.ARROW_DOWN === event.keyCode) {\n // Устанавливает активность следующей ноды.\n TreeViewAbstractNodeUtils.setActiveNextNode(this.abstractRootNode);\n } else if (EVENT_KEY_CODES.ARROW_UP === event.keyCode) {\n // Устанавливает активность предыдущей ноды.\n TreeViewAbstractNodeUtils.setActivePrevNode(this.abstractRootNode);\n } else {\n return;\n }\n\n // Предотвращает скролл страницы.\n event.preventDefault();\n this.incrementUpdateCount();\n };\n}\n\n/**\n * Тип компонента \"Базовое дерево\" со статическими субкомпонентами.\n *\n * Явная аннотация снимает проверку лишних свойств у Object.assign, поэтому при добавлении\n * или удалении статики этот интерфейс нужно править синхронно: иначе новая статика окажется\n * в рантайме, но не попадёт в публичный тип, и TypeScript промолчит.\n */\nexport interface ITreeViewFC extends React.ForwardRefExoticComponent<\n ITreeViewProps & React.RefAttributes<HTMLUListElement>\n> {\n /** Группа дочерних нод. */\n Group: typeof TreeViewGroup;\n /** Нода дерева. */\n Node: typeof TreeViewNode;\n}\n\n/**\n * Базовый компонент визуального дерева.\n * Добавляет нужную семантическую разметку.\n * Создает абстрактное дерево на основе текущего.\n * Устанавливает контекст для дочерних нод.\n * Реализует навигацию по дереву.\n *\n * ref указывает на корневой <ul role=\"tree\">.\n *\n * Accessibility требования:\n * https://www.w3.org/TR/wai-aria-practices-1.1/examples/treeview/treeview-2/treeview-2a.html\n */\nexport const TreeView: ITreeViewFC = Object.assign(\n React.forwardRef<HTMLUListElement, ITreeViewProps>((props, ref) => <TreeViewBase {...props} forwardedRef={ref} />),\n {\n Group: TreeViewGroup,\n Node: TreeViewNode,\n },\n);\n\nTreeView.displayName = \"TreeView\";\n"],"names":["React"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import React__default from "react";
|
|
3
|
-
import { c as clsx } from "../../../chunks/vendor-
|
|
4
|
-
import { s as styles } from "../../../chunks/TreeView.module-
|
|
3
|
+
import { c as clsx } from "../../../chunks/vendor-CUIykw0y.js";
|
|
4
|
+
import { s as styles } from "../../../chunks/TreeView.module-BeU0CUun.js";
|
|
5
5
|
const TreeViewGroup = React__default.forwardRef(
|
|
6
6
|
({ children, className, ...props }, ref) => (
|
|
7
7
|
// role после {...props}: семантика группы - контракт компонента, потребитель ее не переопределяет.
|
|
@@ -6,8 +6,8 @@ import React__default from "react";
|
|
|
6
6
|
import { TreeViewContext, withTreeViewContext } from "../TreeViewContext.js";
|
|
7
7
|
import { TreeViewAbstractNode } from "../TreeViewAbstractNode.js";
|
|
8
8
|
import { TreeViewAbstractNodeUtils } from "../TreeViewAbstractNodeUtils.js";
|
|
9
|
-
import { c as clsx } from "../../../chunks/vendor-
|
|
10
|
-
import { s as styles } from "../../../chunks/TreeView.module-
|
|
9
|
+
import { c as clsx } from "../../../chunks/vendor-CUIykw0y.js";
|
|
10
|
+
import { s as styles } from "../../../chunks/TreeView.module-BeU0CUun.js";
|
|
11
11
|
class TreeViewNodeWithContext extends React__default.Component {
|
|
12
12
|
constructor(props) {
|
|
13
13
|
super(props);
|
|
@@ -7,14 +7,11 @@ const TriggerClickOnKeyDownEvent = ({
|
|
|
7
7
|
}) => {
|
|
8
8
|
const handleKeyDown = () => {
|
|
9
9
|
const buttonEl = targetRef.current;
|
|
10
|
-
if (
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
if (buttonEl.offsetParent !== null) {
|
|
10
|
+
if (buttonEl && buttonEl.offsetParent !== null) {
|
|
14
11
|
buttonEl.click();
|
|
15
12
|
}
|
|
16
13
|
};
|
|
17
|
-
return /* @__PURE__ */ jsx(KeyDownListener, { onMatch: handleKeyDown,
|
|
14
|
+
return /* @__PURE__ */ jsx(KeyDownListener, { eventKeyCode, onMatch: handleKeyDown, children });
|
|
18
15
|
};
|
|
19
16
|
TriggerClickOnKeyDownEvent.displayName = "TriggerClickOnKeyDownEvent";
|
|
20
17
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerClickOnKeyDownEvent.js","sources":["../../../src/components/Triggers/TriggerClickOnKeyDownEvent.tsx"],"sourcesContent":["import { IKeyDownListenerProps, KeyDownListener } from \"../KeyDownListener/KeyDownListener\";\
|
|
1
|
+
{"version":3,"file":"TriggerClickOnKeyDownEvent.js","sources":["../../../src/components/Triggers/TriggerClickOnKeyDownEvent.tsx"],"sourcesContent":["import React from \"react\";\nimport { IKeyDownListenerProps, KeyDownListener } from \"../KeyDownListener/KeyDownListener\";\n\n/**\n * Свойства компонента TriggerClickOnKeyDownEvent.\n */\nexport interface ITriggerClickOnKeyDownEventProps extends Pick<IKeyDownListenerProps, \"eventKeyCode\"> {\n /** Содержимое. Рендерится как есть, без обёртки и без собственной разметки. */\n children: React.ReactElement;\n /** Ссылка на кнопку, по которой выполняется клик. Скрытая кнопка кликом не вызывается. */\n targetRef: React.RefObject<HTMLButtonElement>;\n}\n\n/**\n * При нажатии на клавишу вызывает click на кнопке из targetRef.\n * Клавиша слушается на window (через KeyDownListener), собственной разметки компонент не рендерит.\n */\nexport const TriggerClickOnKeyDownEvent: React.FC<ITriggerClickOnKeyDownEventProps> = ({\n children,\n eventKeyCode,\n targetRef,\n}) => {\n /**\n * Кликает по кнопке, если она смонтирована и видима.\n * offsetParent === null — как правило признак того, что элемент или его предок скрыт через\n * display: none; то же значение дают собственный position: fixed у элемента и элементы вне\n * документа (fixed на предке на проверку не влияет). Без этой проверки триггер срабатывал бы\n * и на скрытых кнопках (например, на мобильной копии кнопки).\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent\n */\n const handleKeyDown = (): void => {\n const buttonEl = targetRef.current;\n\n if (buttonEl && buttonEl.offsetParent !== null) {\n buttonEl.click();\n }\n };\n\n return (\n <KeyDownListener eventKeyCode={eventKeyCode} onMatch={handleKeyDown}>\n {children}\n </KeyDownListener>\n );\n};\n\nTriggerClickOnKeyDownEvent.displayName = \"TriggerClickOnKeyDownEvent\";\n"],"names":[],"mappings":";;AAiBO,MAAM,6BAAyE,CAAC;AAAA,EACnF;AAAA,EACA;AAAA,EACA;AACJ,MAAM;AASF,QAAM,gBAAgB,MAAY;AAC9B,UAAM,WAAW,UAAU;AAE3B,QAAI,YAAY,SAAS,iBAAiB,MAAM;AAC5C,eAAS,MAAA;AAAA,IACb;AAAA,EACJ;AAEA,SACI,oBAAC,iBAAA,EAAgB,cAA4B,SAAS,eACjD,UACL;AAER;AAEA,2BAA2B,cAAc;"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
|
-
import { c as clsx } from "../../chunks/vendor-
|
|
3
|
+
import { c as clsx } from "../../chunks/vendor-CUIykw0y.js";
|
|
4
4
|
import { ECaptionSize, EFontWeightCaption, EFontType } from "./enums.js";
|
|
5
|
-
import { t as typographyStyles, F as FONT_TYPE_TO_CLASS_NAME_MAP } from "../../chunks/constants-
|
|
5
|
+
import { t as typographyStyles, F as FONT_TYPE_TO_CLASS_NAME_MAP } from "../../chunks/constants-Cdrw5rn3.js";
|
|
6
6
|
import { getTextDecorationClassName } from "./utils.js";
|
|
7
|
-
const caption = "
|
|
8
|
-
const regular = "
|
|
9
|
-
const semibold = "
|
|
10
|
-
const c1 = "
|
|
11
|
-
const c2 = "
|
|
12
|
-
const d1 = "
|
|
7
|
+
const caption = "caption__cea6f218";
|
|
8
|
+
const regular = "regular__7c98cda6";
|
|
9
|
+
const semibold = "semibold__1490bc6d";
|
|
10
|
+
const c1 = "c1__5fbcd195";
|
|
11
|
+
const c2 = "c2__a1283a5b";
|
|
12
|
+
const d1 = "d1__1c72f2cc";
|
|
13
13
|
const styles = {
|
|
14
14
|
caption,
|
|
15
15
|
regular,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
|
-
import { c as clsx } from "../../chunks/vendor-
|
|
3
|
+
import { c as clsx } from "../../chunks/vendor-CUIykw0y.js";
|
|
4
4
|
import { EFontType } from "./enums.js";
|
|
5
|
-
import { t as typographyStyles, F as FONT_TYPE_TO_CLASS_NAME_MAP } from "../../chunks/constants-
|
|
5
|
+
import { t as typographyStyles, F as FONT_TYPE_TO_CLASS_NAME_MAP } from "../../chunks/constants-Cdrw5rn3.js";
|
|
6
6
|
import { getTextDecorationClassName } from "./utils.js";
|
|
7
|
-
const codeText = "
|
|
7
|
+
const codeText = "codeText__2d9a1f5d";
|
|
8
8
|
const styles = {
|
|
9
9
|
codeText
|
|
10
10
|
};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
|
-
import { c as clsx } from "../../chunks/vendor-
|
|
3
|
+
import { c as clsx } from "../../chunks/vendor-CUIykw0y.js";
|
|
4
4
|
import { ETextSize, EFontWeightText, ELineType, EFontType } from "./enums.js";
|
|
5
|
-
import { t as typographyStyles, F as FONT_TYPE_TO_CLASS_NAME_MAP } from "../../chunks/constants-
|
|
5
|
+
import { t as typographyStyles, F as FONT_TYPE_TO_CLASS_NAME_MAP } from "../../chunks/constants-Cdrw5rn3.js";
|
|
6
6
|
import { getTextDecorationClassName } from "./utils.js";
|
|
7
|
-
const text = "
|
|
8
|
-
const regular = "
|
|
9
|
-
const semibold = "
|
|
10
|
-
const b1 = "
|
|
11
|
-
const b2 = "
|
|
12
|
-
const b3 = "
|
|
13
|
-
const compact = "
|
|
14
|
-
const b4 = "
|
|
7
|
+
const text = "text__360e643a";
|
|
8
|
+
const regular = "regular__7c98cda6";
|
|
9
|
+
const semibold = "semibold__1490bc6d";
|
|
10
|
+
const b1 = "b1__eeabca84";
|
|
11
|
+
const b2 = "b2__f844dd91";
|
|
12
|
+
const b3 = "b3__634bc3a1";
|
|
13
|
+
const compact = "compact__b6635a83";
|
|
14
|
+
const b4 = "b4__d105fbc9";
|
|
15
15
|
const styles = {
|
|
16
16
|
text,
|
|
17
17
|
regular,
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
|
-
import { c as clsx } from "../../chunks/vendor-
|
|
3
|
+
import { c as clsx } from "../../chunks/vendor-CUIykw0y.js";
|
|
4
4
|
import { ETitleSize, EFontWeightTitle, EFontType } from "./enums.js";
|
|
5
|
-
import { t as typographyStyles, F as FONT_TYPE_TO_CLASS_NAME_MAP } from "../../chunks/constants-
|
|
5
|
+
import { t as typographyStyles, F as FONT_TYPE_TO_CLASS_NAME_MAP } from "../../chunks/constants-Cdrw5rn3.js";
|
|
6
6
|
import { getTextDecorationClassName } from "./utils.js";
|
|
7
|
-
const title = "
|
|
8
|
-
const regular = "
|
|
9
|
-
const medium = "
|
|
10
|
-
const semibold = "
|
|
11
|
-
const bold = "
|
|
12
|
-
const h1 = "
|
|
13
|
-
const h2 = "
|
|
14
|
-
const h3 = "
|
|
7
|
+
const title = "title__26b7c22c";
|
|
8
|
+
const regular = "regular__7c98cda6";
|
|
9
|
+
const medium = "medium__6321dbee";
|
|
10
|
+
const semibold = "semibold__1490bc6d";
|
|
11
|
+
const bold = "bold__e46886df";
|
|
12
|
+
const h1 = "h1__eff6d016";
|
|
13
|
+
const h2 = "h2__fcc46bf7";
|
|
14
|
+
const h3 = "h3__62a3dd2f";
|
|
15
15
|
const styles = {
|
|
16
16
|
title,
|
|
17
17
|
regular,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import React__default from "react";
|
|
3
|
-
import { c as clsx } from "../../chunks/vendor-
|
|
3
|
+
import { c as clsx } from "../../chunks/vendor-CUIykw0y.js";
|
|
4
4
|
import { UnorderedListExtendedItem } from "./UnorderedListExtendedItem.js";
|
|
5
|
-
const unorderedListExtended = "
|
|
5
|
+
const unorderedListExtended = "unorderedListExtended__f6d3885f";
|
|
6
6
|
const styles = {
|
|
7
7
|
unorderedListExtended
|
|
8
8
|
};
|
|
@@ -12,7 +12,7 @@ const UnorderedListExtendedRoot = React__default.forwardRef(
|
|
|
12
12
|
{
|
|
13
13
|
className: clsx(styles.unorderedListExtended, className),
|
|
14
14
|
...restProps,
|
|
15
|
-
"data-tx": "1.
|
|
15
|
+
"data-tx": "1.48.0",
|
|
16
16
|
ref
|
|
17
17
|
}
|
|
18
18
|
)
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import React__default from "react";
|
|
3
|
-
import { c as clsx } from "../../chunks/vendor-
|
|
3
|
+
import { c as clsx } from "../../chunks/vendor-CUIykw0y.js";
|
|
4
4
|
import { ETextSize } from "../Typography/enums.js";
|
|
5
5
|
import "../Typography/Caption.js";
|
|
6
6
|
import "../Typography/CodeText.js";
|
|
7
7
|
import { Text } from "../Typography/Text.js";
|
|
8
8
|
import "../Typography/Title.js";
|
|
9
9
|
import { UnorderedListExtendedItemMarker } from "./UnorderedListExtendedItemMarker.js";
|
|
10
|
-
const unorderedListExtendedItem = "
|
|
10
|
+
const unorderedListExtendedItem = "unorderedListExtendedItem__ae194fa5";
|
|
11
11
|
const styles = {
|
|
12
12
|
unorderedListExtendedItem
|
|
13
13
|
};
|
|
@@ -19,7 +19,7 @@ const UnorderedListExtendedItemRoot = React__default.forwardRef(
|
|
|
19
19
|
size,
|
|
20
20
|
tag: "li",
|
|
21
21
|
...restProps,
|
|
22
|
-
"data-tx": "1.
|
|
22
|
+
"data-tx": "1.48.0",
|
|
23
23
|
ref
|
|
24
24
|
}
|
|
25
25
|
)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import React__default from "react";
|
|
3
|
-
import { c as clsx } from "../../chunks/vendor-
|
|
4
|
-
const markerWrapper = "
|
|
5
|
-
const marker = "
|
|
3
|
+
import { c as clsx } from "../../chunks/vendor-CUIykw0y.js";
|
|
4
|
+
const markerWrapper = "markerWrapper__b9c1e37e";
|
|
5
|
+
const marker = "marker__3f15347e";
|
|
6
6
|
const styles = {
|
|
7
7
|
markerWrapper,
|
|
8
8
|
marker
|
|
@@ -13,7 +13,7 @@ const UnorderedListExtendedItemMarker = React__default.forwardRef(
|
|
|
13
13
|
{
|
|
14
14
|
className: clsx(styles.markerWrapper, className),
|
|
15
15
|
...restProps,
|
|
16
|
-
"data-tx": "1.
|
|
16
|
+
"data-tx": "1.48.0",
|
|
17
17
|
ref,
|
|
18
18
|
children: children === void 0 ? /* @__PURE__ */ jsx("span", { className: styles.marker }) : children
|
|
19
19
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef, useState, useRef, useCallback,
|
|
2
|
+
import { forwardRef, useState, useRef, useCallback, useEffect, useMemo } from "react";
|
|
3
3
|
import { createRoot } from "react-dom/client";
|
|
4
|
-
import { c as clsx } from "../../chunks/vendor-
|
|
5
|
-
import { s as styles, U as UploadZoneInput } from "../../chunks/UploadZoneInput-
|
|
4
|
+
import { c as clsx } from "../../chunks/vendor-CUIykw0y.js";
|
|
5
|
+
import { s as styles, U as UploadZoneInput } from "../../chunks/UploadZoneInput-85sqlQnz.js";
|
|
6
6
|
import { UploadZoneContext } from "./UploadZoneContext.js";
|
|
7
7
|
const UploadZone = Object.assign(
|
|
8
8
|
forwardRef((props, ref) => {
|
|
@@ -17,7 +17,7 @@ const UploadZone = Object.assign(
|
|
|
17
17
|
...restHtmlAttributes
|
|
18
18
|
} = props;
|
|
19
19
|
const [hoverOnDrag, setHoverOnDrag] = useState(false);
|
|
20
|
-
const [inputNode, setInputNode] = useState(
|
|
20
|
+
const [inputNode, setInputNode] = useState(null);
|
|
21
21
|
const counterRef = useRef(0);
|
|
22
22
|
const dropZoneWrapperDivRef = useRef(null);
|
|
23
23
|
const dropZoneRootRef = useRef(null);
|
|
@@ -33,26 +33,6 @@ const UploadZone = Object.assign(
|
|
|
33
33
|
setHoverOnDrag(false);
|
|
34
34
|
}
|
|
35
35
|
}, []);
|
|
36
|
-
const addListeners = useCallback(
|
|
37
|
-
(dropZoneContainer2) => {
|
|
38
|
-
if (!dropZoneContainer2) {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
dropZoneContainer2.addEventListener("dragenter", handleDragEnter);
|
|
42
|
-
dropZoneContainer2.addEventListener("dragleave", handleDragLeave);
|
|
43
|
-
},
|
|
44
|
-
[handleDragEnter, handleDragLeave]
|
|
45
|
-
);
|
|
46
|
-
const removeListeners = useCallback(
|
|
47
|
-
(dropZoneContainer2) => {
|
|
48
|
-
if (!dropZoneContainer2) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
dropZoneContainer2.removeEventListener("dragenter", handleDragEnter);
|
|
52
|
-
dropZoneContainer2.removeEventListener("dragleave", handleDragLeave);
|
|
53
|
-
},
|
|
54
|
-
[handleDragEnter, handleDragLeave]
|
|
55
|
-
);
|
|
56
36
|
const handlePreventDefault = useCallback(
|
|
57
37
|
(e) => {
|
|
58
38
|
e.preventDefault();
|
|
@@ -74,38 +54,42 @@ const UploadZone = Object.assign(
|
|
|
74
54
|
const wrapperDiv = document.createElement("div");
|
|
75
55
|
dropZoneRootRef.current = createRoot(wrapperDiv);
|
|
76
56
|
dropZoneRootRef.current.render(
|
|
77
|
-
/* @__PURE__ */
|
|
57
|
+
/* @__PURE__ */ jsx(
|
|
78
58
|
"div",
|
|
79
59
|
{
|
|
80
60
|
className: clsx(styles.uploadZoneContainerDragArea, className),
|
|
81
61
|
onDragOver: handlePreventDefault,
|
|
82
62
|
onDrop: fileDrop,
|
|
83
63
|
...restHtmlAttributes,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
renderContainerContent == null ? void 0 : renderContainerContent()
|
|
64
|
+
role: "none",
|
|
65
|
+
children: renderContainerContent == null ? void 0 : renderContainerContent()
|
|
66
|
+
}
|
|
88
67
|
)
|
|
89
68
|
);
|
|
90
69
|
return wrapperDiv;
|
|
91
70
|
}, [className, handlePreventDefault, fileDrop, renderContainerContent, restHtmlAttributes]);
|
|
92
71
|
const cleanupDropZone = useCallback(() => {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
dropZoneRootRef.current = null;
|
|
96
|
-
}
|
|
72
|
+
var _a;
|
|
73
|
+
const dropZoneRoot = dropZoneRootRef.current;
|
|
97
74
|
const dropZoneWrapperDiv = dropZoneWrapperDivRef.current;
|
|
98
|
-
|
|
99
|
-
dropZoneWrapperDiv.parentNode.removeChild(dropZoneWrapperDiv);
|
|
100
|
-
}
|
|
75
|
+
dropZoneRootRef.current = null;
|
|
101
76
|
dropZoneWrapperDivRef.current = null;
|
|
77
|
+
(_a = dropZoneWrapperDiv == null ? void 0 : dropZoneWrapperDiv.parentNode) == null ? void 0 : _a.removeChild(dropZoneWrapperDiv);
|
|
78
|
+
if (dropZoneRoot) {
|
|
79
|
+
queueMicrotask(() => dropZoneRoot.unmount());
|
|
80
|
+
}
|
|
102
81
|
}, []);
|
|
103
82
|
useEffect(() => {
|
|
104
|
-
|
|
83
|
+
if (!dropZoneContainer) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
dropZoneContainer.addEventListener("dragenter", handleDragEnter);
|
|
87
|
+
dropZoneContainer.addEventListener("dragleave", handleDragLeave);
|
|
105
88
|
return () => {
|
|
106
|
-
|
|
89
|
+
dropZoneContainer.removeEventListener("dragenter", handleDragEnter);
|
|
90
|
+
dropZoneContainer.removeEventListener("dragleave", handleDragLeave);
|
|
107
91
|
};
|
|
108
|
-
}, [dropZoneContainer,
|
|
92
|
+
}, [dropZoneContainer, handleDragEnter, handleDragLeave]);
|
|
109
93
|
useEffect(() => {
|
|
110
94
|
if (!dropZoneContainer) {
|
|
111
95
|
return;
|
|
@@ -128,37 +112,29 @@ const UploadZone = Object.assign(
|
|
|
128
112
|
},
|
|
129
113
|
[cleanupDropZone]
|
|
130
114
|
);
|
|
131
|
-
const openUploadDialog = () => {
|
|
115
|
+
const openUploadDialog = useCallback(() => {
|
|
132
116
|
inputNode == null ? void 0 : inputNode.click();
|
|
133
|
-
};
|
|
134
|
-
const handleAreaClick = (
|
|
135
|
-
e
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
{
|
|
141
|
-
value: {
|
|
142
|
-
inputNode,
|
|
143
|
-
onChange,
|
|
144
|
-
openUploadDialog,
|
|
145
|
-
setInputNode
|
|
146
|
-
},
|
|
147
|
-
children: /* @__PURE__ */ jsxs("div", { className: styles.uploadZone, "data-tx": "1.46.0", ref, children: [
|
|
148
|
-
/* @__PURE__ */ createElement(
|
|
149
|
-
"div",
|
|
150
|
-
{
|
|
151
|
-
className: clsx(styles.uploadZoneDragArea, className),
|
|
152
|
-
onClick: handleAreaClick,
|
|
153
|
-
...restHtmlAttributes,
|
|
154
|
-
key: "uploadZoneDragArea",
|
|
155
|
-
role: "none"
|
|
156
|
-
}
|
|
157
|
-
),
|
|
158
|
-
children({ openUploadDialog })
|
|
159
|
-
] })
|
|
160
|
-
}
|
|
117
|
+
}, [inputNode]);
|
|
118
|
+
const handleAreaClick = useCallback(
|
|
119
|
+
(e) => {
|
|
120
|
+
e.stopPropagation();
|
|
121
|
+
openUploadDialog();
|
|
122
|
+
},
|
|
123
|
+
[openUploadDialog]
|
|
161
124
|
);
|
|
125
|
+
const contextValue = useMemo(() => ({ onChange, setInputNode }), [onChange]);
|
|
126
|
+
return /* @__PURE__ */ jsx(UploadZoneContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxs("div", { className: styles.uploadZone, "data-tx": "1.48.0", ref, children: [
|
|
127
|
+
/* @__PURE__ */ jsx(
|
|
128
|
+
"div",
|
|
129
|
+
{
|
|
130
|
+
className: clsx(styles.uploadZoneDragArea, className),
|
|
131
|
+
onClick: handleAreaClick,
|
|
132
|
+
...restHtmlAttributes,
|
|
133
|
+
role: "none"
|
|
134
|
+
}
|
|
135
|
+
),
|
|
136
|
+
children({ openUploadDialog })
|
|
137
|
+
] }) });
|
|
162
138
|
}),
|
|
163
139
|
{
|
|
164
140
|
Input: UploadZoneInput
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadZone.js","sources":["../../../src/components/UploadZone/UploadZone.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useCallback, forwardRef } from \"react\";\nimport { createRoot, Root } from \"react-dom/client\";\nimport clsx from \"clsx\";\nimport { UploadZoneInput } from \"./components/UploadZoneInput\";\nimport { UploadZoneContext } from \"./UploadZoneContext\";\nimport { UploadZoneOnChangeType } from \"./types\";\nimport styles from \"./styles/UploadZone.module.less\";\n\nexport interface IUploadZoneChildrenProvideProps {\n /** Открытие диалогового окна выбора файла(ов). */\n openUploadDialog: () => void;\n}\n\n/** Свойства компонента UploadZone. */\ninterface IUploadZoneProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\" | \"children\"> {\n /** В качестве чилда передаётся функция. */\n children: (props: IUploadZoneChildrenProvideProps) => React.ReactNode;\n /** Обработчик изменения значения. */\n onChange: UploadZoneOnChangeType;\n /** Контейнер для дроп-зоны. */\n dropZoneContainer?: HTMLElement | null;\n /** Рендер-функция контента над контейнером. */\n renderContainerContent?: () => JSX.Element;\n}\n\nexport const UploadZone = Object.assign(\n forwardRef<HTMLDivElement, IUploadZoneProps>((props, ref) => {\n const {\n dropZoneContainer,\n children,\n className,\n onChange,\n renderContainerContent,\n onDrop,\n onDragOver,\n ...restHtmlAttributes\n } = props;\n\n const [hoverOnDrag, setHoverOnDrag] = useState(false);\n const [inputNode, setInputNode] = useState<HTMLInputElement | undefined>(undefined);\n\n // Описание - https://stackoverflow.com/questions/7110353/html5-dragleave-fired-when-hovering-a-child-element.\n // Если counter > 0 - означает, что перетаскиваемый объект в пределах окна браузера.\n /** Каунтер для подсчёта drag-перемещений по странице. */\n const counterRef = useRef(0);\n\n /** Элемент-обёртка для дроп-зоны. */\n const dropZoneWrapperDivRef = useRef<HTMLDivElement | null>(null);\n /** Root для контента, отрисованного поверх контейнера. */\n const dropZoneRootRef = useRef<Root | null>(null);\n\n const handleDragEnter = useCallback(() => {\n counterRef.current += 1;\n if (counterRef.current === 1) {\n setHoverOnDrag(true);\n }\n }, []);\n\n const handleDragLeave = useCallback(() => {\n counterRef.current -= 1;\n if (counterRef.current === 0) {\n setHoverOnDrag(false);\n }\n }, []);\n\n const addListeners = useCallback(\n (dropZoneContainer: HTMLElement | null | undefined) => {\n if (!dropZoneContainer) {\n return;\n }\n\n dropZoneContainer.addEventListener(\"dragenter\", handleDragEnter);\n dropZoneContainer.addEventListener(\"dragleave\", handleDragLeave);\n },\n [handleDragEnter, handleDragLeave],\n );\n\n const removeListeners = useCallback(\n (dropZoneContainer: HTMLElement | null | undefined) => {\n if (!dropZoneContainer) {\n return;\n }\n\n dropZoneContainer.removeEventListener(\"dragenter\", handleDragEnter);\n dropZoneContainer.removeEventListener(\"dragleave\", handleDragLeave);\n },\n [handleDragEnter, handleDragLeave],\n );\n\n const handlePreventDefault = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n onDragOver?.(e);\n },\n [onDragOver],\n );\n\n const fileDrop = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n onDrop?.(e);\n\n onChange(e.dataTransfer.files, e);\n setHoverOnDrag(false);\n counterRef.current = 0;\n },\n [onChange, onDrop],\n );\n\n const createDropZoneDiv = useCallback((): HTMLDivElement => {\n const wrapperDiv = document.createElement(\"div\");\n\n dropZoneRootRef.current = createRoot(wrapperDiv);\n dropZoneRootRef.current.render(\n <div\n className={clsx(styles.uploadZoneContainerDragArea, className)}\n onDragOver={handlePreventDefault}\n onDrop={fileDrop}\n {...restHtmlAttributes}\n key=\"uploadZoneDragArea\"\n role=\"none\"\n >\n {renderContainerContent?.()}\n </div>,\n );\n\n return wrapperDiv;\n }, [className, handlePreventDefault, fileDrop, renderContainerContent, restHtmlAttributes]);\n\n const cleanupDropZone = useCallback(() => {\n if (dropZoneRootRef.current) {\n dropZoneRootRef.current.unmount();\n dropZoneRootRef.current = null;\n }\n\n const dropZoneWrapperDiv = dropZoneWrapperDivRef.current;\n if (dropZoneWrapperDiv?.parentNode) {\n dropZoneWrapperDiv.parentNode.removeChild(dropZoneWrapperDiv);\n }\n\n dropZoneWrapperDivRef.current = null;\n }, []);\n\n useEffect(() => {\n addListeners(dropZoneContainer);\n return () => {\n removeListeners(dropZoneContainer);\n };\n }, [dropZoneContainer, addListeners, removeListeners]);\n\n useEffect(() => {\n if (!dropZoneContainer) {\n return;\n }\n\n if (hoverOnDrag) {\n const isDropZoneMounted =\n dropZoneWrapperDivRef.current && dropZoneContainer.contains(dropZoneWrapperDivRef.current);\n\n if (!isDropZoneMounted) {\n cleanupDropZone();\n dropZoneWrapperDivRef.current = createDropZoneDiv();\n dropZoneContainer.appendChild(dropZoneWrapperDivRef.current);\n }\n } else {\n cleanupDropZone();\n }\n }, [hoverOnDrag, dropZoneContainer, createDropZoneDiv, cleanupDropZone]);\n\n useEffect(\n () => () => {\n cleanupDropZone();\n counterRef.current = 0;\n },\n [cleanupDropZone],\n );\n\n const openUploadDialog = () => {\n inputNode?.click();\n };\n\n const handleAreaClick = (e: React.SyntheticEvent) => {\n e.stopPropagation();\n openUploadDialog();\n };\n\n return (\n <UploadZoneContext.Provider\n value={{\n inputNode,\n onChange,\n openUploadDialog,\n setInputNode,\n }}\n >\n <div className={styles.uploadZone} data-tx={process.env.npm_package_version} ref={ref}>\n <div\n className={clsx(styles.uploadZoneDragArea, className)}\n onClick={handleAreaClick}\n {...restHtmlAttributes}\n key=\"uploadZoneDragArea\"\n role=\"none\"\n />\n {children({ openUploadDialog })}\n </div>\n </UploadZoneContext.Provider>\n );\n }),\n {\n Input: UploadZoneInput,\n },\n);\n\nUploadZone.displayName = \"UploadZone\";\n"],"names":["dropZoneContainer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UploadZone.js","sources":["../../../src/components/UploadZone/UploadZone.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useCallback, useMemo, forwardRef } from \"react\";\nimport { createRoot, Root } from \"react-dom/client\";\nimport clsx from \"clsx\";\nimport { UploadZoneInput } from \"./components/UploadZoneInput\";\nimport { UploadZoneContext } from \"./UploadZoneContext\";\nimport { UploadZoneOnChangeType } from \"./types\";\nimport styles from \"./styles/UploadZone.module.less\";\n\n/** Свойства, которые UploadZone передаёт в children-функцию. */\nexport interface IUploadZoneChildrenProvideProps {\n /** Открытие диалогового окна выбора файла(ов). */\n openUploadDialog: () => void;\n}\n\n/** Свойства компонента UploadZone. */\nexport interface IUploadZoneProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\" | \"children\"> {\n /** В качестве чилда передаётся функция. */\n children: (props: IUploadZoneChildrenProvideProps) => React.ReactNode;\n /** Обработчик изменения значения. */\n onChange: UploadZoneOnChangeType;\n /** Контейнер для дроп-зоны. */\n dropZoneContainer?: HTMLElement | null;\n /** Рендер-функция контента над контейнером. */\n renderContainerContent?: () => JSX.Element;\n}\n\n/**\n * Зона загрузки файлов. Рендерит кликабельную область поверх своего содержимого и,\n * если передан `dropZoneContainer`, показывает поверх него дроп-зону во время перетаскивания файлов.\n */\nexport const UploadZone = Object.assign(\n forwardRef<HTMLDivElement, IUploadZoneProps>((props, ref) => {\n const {\n dropZoneContainer,\n children,\n className,\n onChange,\n renderContainerContent,\n onDrop,\n onDragOver,\n ...restHtmlAttributes\n } = props;\n\n const [hoverOnDrag, setHoverOnDrag] = useState(false);\n const [inputNode, setInputNode] = useState<HTMLInputElement | null>(null);\n\n // Описание - https://stackoverflow.com/questions/7110353/html5-dragleave-fired-when-hovering-a-child-element.\n // Если counter > 0 - означает, что перетаскиваемый объект в пределах окна браузера.\n /** Каунтер для подсчёта drag-перемещений по странице. */\n const counterRef = useRef(0);\n\n /** Элемент-обёртка для дроп-зоны. */\n const dropZoneWrapperDivRef = useRef<HTMLDivElement | null>(null);\n /** Root для контента, отрисованного поверх контейнера. */\n const dropZoneRootRef = useRef<Root | null>(null);\n\n const handleDragEnter = useCallback(() => {\n counterRef.current += 1;\n if (counterRef.current === 1) {\n setHoverOnDrag(true);\n }\n }, []);\n\n const handleDragLeave = useCallback(() => {\n counterRef.current -= 1;\n if (counterRef.current === 0) {\n setHoverOnDrag(false);\n }\n }, []);\n\n const handlePreventDefault = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n onDragOver?.(e);\n },\n [onDragOver],\n );\n\n const fileDrop = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n onDrop?.(e);\n\n onChange(e.dataTransfer.files, e);\n setHoverOnDrag(false);\n counterRef.current = 0;\n },\n [onChange, onDrop],\n );\n\n const createDropZoneDiv = useCallback((): HTMLDivElement => {\n const wrapperDiv = document.createElement(\"div\");\n\n dropZoneRootRef.current = createRoot(wrapperDiv);\n dropZoneRootRef.current.render(\n <div\n className={clsx(styles.uploadZoneContainerDragArea, className)}\n onDragOver={handlePreventDefault}\n onDrop={fileDrop}\n {...restHtmlAttributes}\n role=\"none\"\n >\n {renderContainerContent?.()}\n </div>,\n );\n\n return wrapperDiv;\n }, [className, handlePreventDefault, fileDrop, renderContainerContent, restHtmlAttributes]);\n\n const cleanupDropZone = useCallback(() => {\n const dropZoneRoot = dropZoneRootRef.current;\n const dropZoneWrapperDiv = dropZoneWrapperDivRef.current;\n\n dropZoneRootRef.current = null;\n dropZoneWrapperDivRef.current = null;\n\n dropZoneWrapperDiv?.parentNode?.removeChild(dropZoneWrapperDiv);\n\n if (dropZoneRoot) {\n // Синхронный unmount во время рендера родительского дерева React приводит к предупреждению\n // \"Attempted to synchronously unmount a root while React was already rendering\",\n // поэтому размонтируем отдельный root на следующем микротаске.\n queueMicrotask(() => dropZoneRoot.unmount());\n }\n }, []);\n\n useEffect(() => {\n if (!dropZoneContainer) {\n return;\n }\n\n dropZoneContainer.addEventListener(\"dragenter\", handleDragEnter);\n dropZoneContainer.addEventListener(\"dragleave\", handleDragLeave);\n\n return () => {\n dropZoneContainer.removeEventListener(\"dragenter\", handleDragEnter);\n dropZoneContainer.removeEventListener(\"dragleave\", handleDragLeave);\n };\n }, [dropZoneContainer, handleDragEnter, handleDragLeave]);\n\n useEffect(() => {\n if (!dropZoneContainer) {\n return;\n }\n\n if (hoverOnDrag) {\n const isDropZoneMounted =\n dropZoneWrapperDivRef.current && dropZoneContainer.contains(dropZoneWrapperDivRef.current);\n\n if (!isDropZoneMounted) {\n cleanupDropZone();\n dropZoneWrapperDivRef.current = createDropZoneDiv();\n dropZoneContainer.appendChild(dropZoneWrapperDivRef.current);\n }\n } else {\n cleanupDropZone();\n }\n }, [hoverOnDrag, dropZoneContainer, createDropZoneDiv, cleanupDropZone]);\n\n useEffect(\n () => () => {\n cleanupDropZone();\n counterRef.current = 0;\n },\n [cleanupDropZone],\n );\n\n const openUploadDialog = useCallback(() => {\n inputNode?.click();\n }, [inputNode]);\n\n const handleAreaClick = useCallback(\n (e: React.SyntheticEvent) => {\n e.stopPropagation();\n openUploadDialog();\n },\n [openUploadDialog],\n );\n\n // openUploadDialog в контекст не кладётся: наружу он уходит через children({ openUploadDialog }),\n // а UploadZoneInput читает из контекста только onChange и setInputNode.\n const contextValue = useMemo(() => ({ onChange, setInputNode }), [onChange]);\n\n return (\n <UploadZoneContext.Provider value={contextValue}>\n <div className={styles.uploadZone} data-tx={process.env.npm_package_version} ref={ref}>\n <div\n className={clsx(styles.uploadZoneDragArea, className)}\n onClick={handleAreaClick}\n {...restHtmlAttributes}\n role=\"none\"\n />\n {children({ openUploadDialog })}\n </div>\n </UploadZoneContext.Provider>\n );\n }),\n {\n Input: UploadZoneInput,\n },\n);\n\nUploadZone.displayName = \"UploadZone\";\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadZoneContext.js","sources":["../../../src/components/UploadZone/UploadZoneContext.ts"],"sourcesContent":["import React from \"react\";\nimport { UploadZoneOnChangeType } from \"@sberbusiness/triplex-next/components/UploadZone/types\";\n\
|
|
1
|
+
{"version":3,"file":"UploadZoneContext.js","sources":["../../../src/components/UploadZone/UploadZoneContext.ts"],"sourcesContent":["import React from \"react\";\nimport { UploadZoneOnChangeType } from \"@sberbusiness/triplex-next/components/UploadZone/types\";\n\n/** Значение контекста зоны загрузки файлов. */\nexport interface IUploadZoneContext {\n /** Обработчик изменения значения. */\n onChange: UploadZoneOnChangeType;\n /** Установка ссылки на элемент поля. */\n setInputNode: (inputNode: HTMLInputElement | null) => void;\n}\n\n/** Контекст, через который UploadZone связывается со своим полем выбора файлов. */\nexport const UploadZoneContext = React.createContext<IUploadZoneContext>({\n onChange: () => void 0,\n setInputNode: () => void 0,\n});\n"],"names":["React"],"mappings":";AAYO,MAAM,oBAAoBA,eAAM,cAAkC;AAAA,EACrE,UAAU,MAAM;AAAA,EAChB,cAAc,MAAM;AACxB,CAAC;"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import "react/jsx-runtime";
|
|
1
2
|
import "react";
|
|
3
|
+
import "../../../chunks/vendor-CUIykw0y.js";
|
|
2
4
|
import "../UploadZoneContext.js";
|
|
3
|
-
import "../../../chunks/
|
|
4
|
-
import { U } from "../../../chunks/UploadZoneInput-BqBNrWzw.js";
|
|
5
|
+
import { U } from "../../../chunks/UploadZoneInput-85sqlQnz.js";
|
|
5
6
|
export {
|
|
6
7
|
U as UploadZoneInput
|
|
7
8
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadZoneInput.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UploadZoneInput.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|