@sberbusiness/triplex-next 1.38.0 → 1.39.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.
Files changed (588) hide show
  1. package/chunks/{AlertProcessSpoiler-BgW2Rm1M.js → AlertProcessSpoiler-L9aiNxlF.js} +17 -17
  2. package/chunks/{AlertProcessSpoiler-BgW2Rm1M.js.map → AlertProcessSpoiler-L9aiNxlF.js.map} +1 -1
  3. package/chunks/{CalendarViewItem-BN36lbJt.js → CalendarViewItem-B8TCTMZP.js} +21 -21
  4. package/chunks/{CalendarViewItem-BN36lbJt.js.map → CalendarViewItem-B8TCTMZP.js.map} +1 -1
  5. package/chunks/Card.module-14Om16r3.js +30 -0
  6. package/chunks/Card.module-14Om16r3.js.map +1 -0
  7. package/chunks/Carousel.module-DA8j7NC7.js +30 -0
  8. package/chunks/Carousel.module-DA8j7NC7.js.map +1 -0
  9. package/chunks/CheckboxTreeExtended.module-BGaRPBMW.js +24 -0
  10. package/chunks/CheckboxTreeExtended.module-BGaRPBMW.js.map +1 -0
  11. package/chunks/{Chip-DPZKIU4i.js → Chip-C-q9erC6.js} +17 -17
  12. package/chunks/{Chip-DPZKIU4i.js.map → Chip-C-q9erC6.js.map} +1 -1
  13. package/chunks/Confirm.module-ZIpignS2.js +24 -0
  14. package/chunks/Confirm.module-ZIpignS2.js.map +1 -0
  15. package/chunks/{DropdownListItem-R6GgcMur.js → DropdownListItem-CCY0qbiT.js} +11 -11
  16. package/chunks/{DropdownListItem-R6GgcMur.js.map → DropdownListItem-CCY0qbiT.js.map} +1 -1
  17. package/chunks/DropdownMobile.module-BajwYkh-.js +40 -0
  18. package/chunks/DropdownMobile.module-BajwYkh-.js.map +1 -0
  19. package/chunks/Footer.module-CHk3wlMA.js +12 -0
  20. package/chunks/Footer.module-CHk3wlMA.js.map +1 -0
  21. package/chunks/{HeaderLayoutSidebar.module-ClAll71g.js → HeaderLayoutSidebar.module-cfAKCDSx.js} +4 -4
  22. package/chunks/HeaderLayoutSidebar.module-cfAKCDSx.js.map +1 -0
  23. package/chunks/HeaderTabs.module-BoYA4eLZ.js +12 -0
  24. package/chunks/HeaderTabs.module-BoYA4eLZ.js.map +1 -0
  25. package/chunks/{HeaderTitle.module-uQ2R0h5h.js → HeaderTitle.module-DpU8I1UD.js} +4 -4
  26. package/chunks/HeaderTitle.module-DpU8I1UD.js.map +1 -0
  27. package/chunks/ImageGalleryExtendedMain.module-kJp5oqGP.js +28 -0
  28. package/chunks/ImageGalleryExtendedMain.module-kJp5oqGP.js.map +1 -0
  29. package/chunks/{ImageGalleryExtendedThumb-DEwS4p6H.js → ImageGalleryExtendedThumb-CWGYUoLd.js} +6 -6
  30. package/chunks/{ImageGalleryExtendedThumb-DEwS4p6H.js.map → ImageGalleryExtendedThumb-CWGYUoLd.js.map} +1 -1
  31. package/chunks/IslandAccordion.module-BomGNbMp.js +44 -0
  32. package/chunks/IslandAccordion.module-BomGNbMp.js.map +1 -0
  33. package/chunks/IslandWidgetFooter.module-MkAqOnXQ.js +12 -0
  34. package/chunks/IslandWidgetFooter.module-MkAqOnXQ.js.map +1 -0
  35. package/chunks/IslandWidgetHeader.module-DNkRUJMU.js +20 -0
  36. package/chunks/IslandWidgetHeader.module-DNkRUJMU.js.map +1 -0
  37. package/chunks/{LightBoxContent-DhmrVe_B.js → LightBoxContent-DegsWbol.js} +15 -15
  38. package/chunks/LightBoxContent-DegsWbol.js.map +1 -0
  39. package/chunks/LightBoxControls.module-DNhvkSnJ.js +26 -0
  40. package/chunks/LightBoxControls.module-DNhvkSnJ.js.map +1 -0
  41. package/chunks/{LightBoxSideOverlayClose.module-DH3toLJp.js → LightBoxSideOverlayClose.module-BW5kBtvi.js} +4 -4
  42. package/chunks/LightBoxSideOverlayClose.module-BW5kBtvi.js.map +1 -0
  43. package/chunks/{ListItemControlsButton-xLk41F4G.js → ListItemControlsButton-DWsZ9wcF.js} +10 -10
  44. package/chunks/{ListItemControlsButton-xLk41F4G.js.map → ListItemControlsButton-DWsZ9wcF.js.map} +1 -1
  45. package/chunks/ListItemTail.module-CEG0qMnR.js +18 -0
  46. package/chunks/ListItemTail.module-CEG0qMnR.js.map +1 -0
  47. package/chunks/ListMasterFooter.module-BmOyRNOj.js +14 -0
  48. package/chunks/ListMasterFooter.module-BmOyRNOj.js.map +1 -0
  49. package/chunks/ModalWindow.module-CvUl5MXx.js +28 -0
  50. package/chunks/ModalWindow.module-CvUl5MXx.js.map +1 -0
  51. package/chunks/Notification.module-Bc0ZveBn.js +34 -0
  52. package/chunks/Notification.module-Bc0ZveBn.js.map +1 -0
  53. package/chunks/Overlay.module-XFTg0MN6.js +30 -0
  54. package/chunks/Overlay.module-XFTg0MN6.js.map +1 -0
  55. package/chunks/Page.module-8VHg5Xhh.js +15 -0
  56. package/chunks/Page.module-8VHg5Xhh.js.map +1 -0
  57. package/chunks/SMSField.module-Baz5Uv7V.js +26 -0
  58. package/chunks/SMSField.module-Baz5Uv7V.js.map +1 -0
  59. package/chunks/SliderExtendedMarks.module-UR5zZtMI.js +24 -0
  60. package/chunks/SliderExtendedMarks.module-UR5zZtMI.js.map +1 -0
  61. package/chunks/{SliderExtendedRail-rikPcrUi.js → SliderExtendedRail-9dN-uLr8.js} +6 -6
  62. package/chunks/{SliderExtendedRail-rikPcrUi.js.map → SliderExtendedRail-9dN-uLr8.js.map} +1 -1
  63. package/chunks/StatusTracker.module-DItDLU6A.js +42 -0
  64. package/chunks/StatusTracker.module-DItDLU6A.js.map +1 -0
  65. package/chunks/{StepperStepArrowBorder-D96B8pND.js → StepperStepArrowBorder-CQMOwONP.js} +16 -16
  66. package/chunks/{StepperStepArrowBorder-D96B8pND.js.map → StepperStepArrowBorder-CQMOwONP.js.map} +1 -1
  67. package/chunks/{SuggestFieldMobileDropdownHint-mgLnJbKK.js → SuggestFieldMobileDropdownHint-gntyMsB0.js} +3 -3
  68. package/chunks/{SuggestFieldMobileDropdownHint-mgLnJbKK.js.map → SuggestFieldMobileDropdownHint-gntyMsB0.js.map} +1 -1
  69. package/chunks/TableFooter.module-VxCivCET.js +22 -0
  70. package/chunks/TableFooter.module-VxCivCET.js.map +1 -0
  71. package/chunks/TabsExtended.module-BDMo7ooD.js +26 -0
  72. package/chunks/TabsExtended.module-BDMo7ooD.js.map +1 -0
  73. package/chunks/TabsLine.module-ikp14Q2B.js +36 -0
  74. package/chunks/TabsLine.module-ikp14Q2B.js.map +1 -0
  75. package/chunks/TooltipDesktop.module-DsSC48Zv.js +32 -0
  76. package/chunks/TooltipDesktop.module-DsSC48Zv.js.map +1 -0
  77. package/chunks/TreeView.module-mM9v32zk.js +12 -0
  78. package/chunks/TreeView.module-mM9v32zk.js.map +1 -0
  79. package/chunks/{UploadZoneInput-CL5n-88i.js → UploadZoneInput-D3aOVvsS.js} +6 -6
  80. package/chunks/{UploadZoneInput-CL5n-88i.js.map → UploadZoneInput-D3aOVvsS.js.map} +1 -1
  81. package/chunks/{constants-6r0L2MTn.js → constants-Cvk1NtW-.js} +27 -27
  82. package/chunks/{constants-6r0L2MTn.js.map → constants-Cvk1NtW-.js.map} +1 -1
  83. package/chunks/{utils-jrjtwu4s.js → utils-BF0o25c7.js} +8 -8
  84. package/chunks/{utils-jrjtwu4s.js.map → utils-BF0o25c7.js.map} +1 -1
  85. package/chunks/{utils-Bs1RRAwM.js → utils-BiIfiU3L.js} +6 -6
  86. package/chunks/{utils-Bs1RRAwM.js.map → utils-BiIfiU3L.js.map} +1 -1
  87. package/chunks/{utils-DPci6J0N.js → utils-CNegAs3f.js} +27 -27
  88. package/chunks/{utils-DPci6J0N.js.map → utils-CNegAs3f.js.map} +1 -1
  89. package/chunks/{utils-CbmIP4b4.js → utils-DwYYOzEU.js} +11 -11
  90. package/chunks/{utils-CbmIP4b4.js.map → utils-DwYYOzEU.js.map} +1 -1
  91. package/chunks/vendor-1HxVLgKa.js +35852 -0
  92. package/chunks/vendor-1HxVLgKa.js.map +1 -0
  93. package/components/AbstractTree/AbstractTreeNode.js +1 -1
  94. package/components/AccordionBase/protected/AccordionBase.js +1 -1
  95. package/components/Alert/AlertContext/AlertContext.js +17 -29
  96. package/components/Alert/AlertContext/AlertContext.js.map +1 -1
  97. package/components/Alert/AlertProcess/AlertProcess.js +3 -3
  98. package/components/Alert/AlertProcess/components/AlertProcessSpoiler.js +2 -2
  99. package/components/Amount/Amount.js +3 -3
  100. package/components/Avatar/Avatar.js +14 -14
  101. package/components/Badge/Badge.js +5 -5
  102. package/components/Badge/BadgeDot.js +5 -5
  103. package/components/Badge/components/BadgeContent.js +7 -7
  104. package/components/Badge/components/BadgePostfix.js +2 -2
  105. package/components/Badge/components/BadgePrefix.js +2 -2
  106. package/components/Body/Body.js +4 -4
  107. package/components/Button/Button.js +30 -29
  108. package/components/Button/Button.js.map +1 -1
  109. package/components/Button/ButtonBase.js +1 -1
  110. package/components/Button/ButtonDropdown.js +66 -84
  111. package/components/Button/ButtonDropdown.js.map +1 -1
  112. package/components/Button/ButtonDropdownExtended.js +3 -3
  113. package/components/Button/ButtonIcon.js +4 -4
  114. package/components/Button/index.js +0 -2
  115. package/components/Button/index.js.map +1 -1
  116. package/components/Calendar/Calendar.js +5 -5
  117. package/components/Calendar/components/CalendarControls.js +1 -1
  118. package/components/Calendar/components/CalendarFooter.js +1 -1
  119. package/components/Calendar/components/CalendarViewDays.js +2 -2
  120. package/components/Calendar/components/CalendarViewItem.js +2 -2
  121. package/components/Calendar/components/CalendarViewMonths.js +1 -1
  122. package/components/Calendar/components/CalendarViewYears.js +1 -1
  123. package/components/Card/CardAction.js +6 -6
  124. package/components/Card/CardStatic.js +3 -3
  125. package/components/Card/components/CardContent/CardContent.js +2 -2
  126. package/components/Card/components/CardContent/components/CardContentBody.js +2 -2
  127. package/components/Card/components/CardContent/components/CardContentFooter.js +2 -2
  128. package/components/Card/components/CardContent/components/CardContentHeader.js +2 -2
  129. package/components/Card/components/CardMedia.js +2 -2
  130. package/components/Card/utils.js +1 -1
  131. package/components/Carousel/Carousel.js +362 -0
  132. package/components/Carousel/Carousel.js.map +1 -0
  133. package/components/Carousel/CarouselButton.js +78 -0
  134. package/components/Carousel/CarouselButton.js.map +1 -0
  135. package/components/Carousel/CarouselContext.js +30 -0
  136. package/components/Carousel/CarouselContext.js.map +1 -0
  137. package/components/Carousel/CarouselIndicators.js +157 -0
  138. package/components/Carousel/CarouselIndicators.js.map +1 -0
  139. package/components/Carousel/CarouselItem.js +34 -0
  140. package/components/Carousel/CarouselItem.js.map +1 -0
  141. package/components/Carousel/CarouselTrack.js +36 -0
  142. package/components/Carousel/CarouselTrack.js.map +1 -0
  143. package/components/Carousel/CarouselViewport.js +159 -0
  144. package/components/Carousel/CarouselViewport.js.map +1 -0
  145. package/components/Carousel/__tests__/utils.js +92 -0
  146. package/components/Carousel/__tests__/utils.js.map +1 -0
  147. package/components/Carousel/constants.js +9 -0
  148. package/components/Carousel/constants.js.map +1 -0
  149. package/components/Carousel/enums.js +15 -0
  150. package/components/Carousel/enums.js.map +1 -0
  151. package/components/Carousel/index.js +8 -0
  152. package/components/Carousel/index.js.map +1 -0
  153. package/components/Carousel/types.js +2 -0
  154. package/components/Carousel/types.js.map +1 -0
  155. package/components/Carousel/utils.js +71 -0
  156. package/components/Carousel/utils.js.map +1 -0
  157. package/components/CarouselExtended/CarouselExtended.js +2 -2
  158. package/components/Checkbox/Checkbox.js +11 -11
  159. package/components/Checkbox/CheckboxXGroup.js +9 -9
  160. package/components/Checkbox/CheckboxYGroup.js +2 -2
  161. package/components/CheckboxTreeExtended/CheckboxTreeExtended.js +2 -2
  162. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedArrow.js +1 -1
  163. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedCheckbox.js +2 -2
  164. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedNode.js +2 -2
  165. package/components/Chip/Chip.js +2 -2
  166. package/components/Chip/ChipClearButton.js +2 -2
  167. package/components/Chip/ChipDatePicker/ChipDatePicker.js +1 -1
  168. package/components/Chip/ChipDatePicker/ChipDatePickerTarget.js +1 -1
  169. package/components/Chip/ChipDropdownArrow.js +3 -3
  170. package/components/Chip/ChipIcon.js +1 -1
  171. package/components/Chip/ChipMultiselect.js +2 -2
  172. package/components/Chip/ChipOptions.js +2 -2
  173. package/components/Chip/ChipSelect/ChipSelect.js +2 -2
  174. package/components/Chip/ChipSelect/ChipSelectTarget.js +1 -1
  175. package/components/Chip/ChipSort.js +2 -2
  176. package/components/Chip/ChipSuggest/ChipSuggest.js +2 -2
  177. package/components/Chip/ChipSuggest/ChipSuggestDropdown.js +2 -2
  178. package/components/Chip/ChipSuggest/ChipSuggestTarget.js +1 -1
  179. package/components/Chip/ChipSuggest/desktop/ChipSuggestDesktopDropdownField.js +1 -1
  180. package/components/Chip/index.js +1 -1
  181. package/components/ChipGroup/ChipGroup.js +8 -8
  182. package/components/Col/Col.js +181 -178
  183. package/components/Col/Col.js.map +1 -1
  184. package/components/CollapsibleTree/CollapsibleTree.js +2 -2
  185. package/components/CollapsibleTree/components/CollapsibleTreeLeafContent.js +2 -2
  186. package/components/CollapsibleTree/components/CollapsibleTreeLeafNode.js +2 -2
  187. package/components/CollapsibleTree/components/CollapsibleTreeNodeHeader.js +5 -5
  188. package/components/CollapsibleTreeExtended/components/CollapsibleTreeExtendedNode.js +2 -2
  189. package/components/Confirm/Confirm.js +2 -2
  190. package/components/Confirm/components/ConfirmCloseButton.js +2 -2
  191. package/components/Confirm/components/ConfirmContent.js +2 -2
  192. package/components/Confirm/components/ConfirmContentTitle.js +2 -2
  193. package/components/Confirm/components/ConfirmControls.js +2 -2
  194. package/components/DatePickerExtended/DatePickerExtended.js +2 -2
  195. package/components/DatePickerExtended/DatePickerExtendedDropdown.js +2 -2
  196. package/components/DateRange/DateRange.js +4 -4
  197. package/components/DesignTokens/DesignTokenUtils.js +2 -2
  198. package/components/DesignTokens/DesignTokensComponents.js +2 -0
  199. package/components/DesignTokens/DesignTokensComponents.js.map +1 -1
  200. package/components/DesignTokens/DesignTokensComponentsThemeDark.js +2 -0
  201. package/components/DesignTokens/DesignTokensComponentsThemeDark.js.map +1 -1
  202. package/components/DesignTokens/components/Carousel.js +51 -0
  203. package/components/DesignTokens/components/Carousel.js.map +1 -0
  204. package/components/DesignTokens/components/index.js +3 -0
  205. package/components/DesignTokens/components/index.js.map +1 -1
  206. package/components/DesignTokens/types/DesignTokensTypes.js.map +1 -1
  207. package/components/Divider/Divider.js +18 -18
  208. package/components/DocumentNumberEdit/DocumentNumberEdit.js +4 -4
  209. package/components/Dropdown/desktop/DropdownDesktop.js +7 -7
  210. package/components/Dropdown/desktop/DropdownList.js +2 -2
  211. package/components/Dropdown/desktop/DropdownListItem.js +2 -2
  212. package/components/Dropdown/desktop/index.js +1 -1
  213. package/components/Dropdown/index.js +1 -1
  214. package/components/Dropdown/mobile/DropdownMobile.js +2 -2
  215. package/components/Dropdown/mobile/DropdownMobileBody.js +2 -2
  216. package/components/Dropdown/mobile/DropdownMobileClose.js +2 -2
  217. package/components/Dropdown/mobile/DropdownMobileFooter.js +2 -2
  218. package/components/Dropdown/mobile/DropdownMobileHeader.js +2 -2
  219. package/components/Dropdown/mobile/DropdownMobileInner.js +2 -2
  220. package/components/Dropdown/mobile/DropdownMobileInput.js +2 -2
  221. package/components/Dropdown/mobile/DropdownMobileList.js +2 -2
  222. package/components/Dropdown/mobile/DropdownMobileListItem.js +2 -2
  223. package/components/Dropdown/mobile/DropdownMobileLoader.js +2 -2
  224. package/components/Dropdown/mobile/DropdownMobileMaskedInput.js +2 -2
  225. package/components/Ellipsis/Ellipsis.js +4 -4
  226. package/components/EmptyView/EmptyView.js +5 -5
  227. package/components/ExpandAnimation/ExpandAnimation.js +2 -2
  228. package/components/FocusTrapExtended/FocusTrapExtended.js +1 -1
  229. package/components/Footer/Footer.js +1 -1
  230. package/components/Footer/components/FooterDescription.js +2 -2
  231. package/components/Footer/components/FooterDescriptionContent.js +2 -2
  232. package/components/Footer/components/FooterDescriptionControls.js +2 -2
  233. package/components/FormField/FormField.js +12 -12
  234. package/components/FormField/components/FormFieldClear.js +2 -2
  235. package/components/FormField/components/FormFieldCounter.js +1 -1
  236. package/components/FormField/components/FormFieldDescription.js +3 -3
  237. package/components/FormField/components/FormFieldInput.js +5 -5
  238. package/components/FormField/components/FormFieldLabel.js +8 -8
  239. package/components/FormField/components/FormFieldMaskedInput.js +7 -7
  240. package/components/FormField/components/FormFieldPostfix.js +2 -2
  241. package/components/FormField/components/FormFieldPrefix.js +2 -2
  242. package/components/FormField/components/FormFieldTarget.js +9 -9
  243. package/components/FormField/components/FormFieldTextarea.js +5 -5
  244. package/components/Gap/Gap.js +9 -9
  245. package/components/Header/Header.js +1 -1
  246. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebar.js +2 -2
  247. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarContent.js +2 -2
  248. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarSidebar.js +2 -2
  249. package/components/Header/components/HeaderSubheader/HeaderSubheader.js +3 -3
  250. package/components/Header/components/HeaderTabs/HeaderTabs.js +2 -2
  251. package/components/Header/components/HeaderTabs/HeaderTabsContent.js +2 -2
  252. package/components/Header/components/HeaderTabs/HeaderTabsControls.js +2 -2
  253. package/components/Header/components/HeaderTitle/HeaderTitle.js +2 -2
  254. package/components/Header/components/HeaderTitle/HeaderTitleContent.js +2 -2
  255. package/components/Header/components/HeaderTitle/HeaderTitleControls.js +2 -2
  256. package/components/HelpBox/HelpBox.js +2 -2
  257. package/components/IconWrapper/IconWrapper.js +3 -3
  258. package/components/ImageGallery/ImageGallery.js +1 -1
  259. package/components/ImageGalleryExtended/ImageGalleryExtended.js +3 -3
  260. package/components/ImageGalleryExtended/components/ImageGalleryExtendedArrow.js +2 -2
  261. package/components/ImageGalleryExtended/components/ImageGalleryExtendedDots.js +4 -4
  262. package/components/ImageGalleryExtended/components/ImageGalleryExtendedMain.js +2 -2
  263. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSlide.js +2 -2
  264. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSwipeTrack.js +2 -2
  265. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumb.js +2 -2
  266. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumbnails.js +2 -2
  267. package/components/ImageGalleryExtended/components/index.js +1 -1
  268. package/components/ImageGalleryExtended/index.js +1 -1
  269. package/components/Island/Island.js +2 -2
  270. package/components/Island/components/IslandBody.js +2 -2
  271. package/components/Island/components/IslandFooter.js +2 -2
  272. package/components/Island/components/IslandHeader.js +2 -2
  273. package/components/Island/utils.js +1 -1
  274. package/components/IslandAccordion/IslandAccordion.js +3 -3
  275. package/components/IslandAccordion/components/IslandAccordionContent.js +1 -1
  276. package/components/IslandAccordion/components/IslandAccordionFooter.js +2 -2
  277. package/components/IslandAccordion/components/IslandAccordionItem.js +3 -4
  278. package/components/IslandAccordion/components/IslandAccordionItem.js.map +1 -1
  279. package/components/IslandWidget/IslandWidget.js +5 -5
  280. package/components/IslandWidget/components/IslandWidgetBody.js +2 -2
  281. package/components/IslandWidget/components/IslandWidgetExtraFooter.js +2 -2
  282. package/components/IslandWidget/components/IslandWidgetFooter.js +2 -2
  283. package/components/IslandWidget/components/IslandWidgetFooterContent.js +1 -1
  284. package/components/IslandWidget/components/IslandWidgetFooterControls.js +1 -1
  285. package/components/IslandWidget/components/IslandWidgetHeader.js +2 -2
  286. package/components/IslandWidget/components/IslandWidgetHeaderContent.js +2 -2
  287. package/components/IslandWidget/components/IslandWidgetHeaderControls.js +2 -2
  288. package/components/IslandWidget/components/IslandWidgetHeaderDescription.js +2 -2
  289. package/components/IslandWidget/components/IslandWidgetHeaderTitle.js +2 -2
  290. package/components/IslandWidget/components/IslandWidgetWrapper.js +2 -2
  291. package/components/LightBox/LightBox.js +34 -30
  292. package/components/LightBox/LightBox.js.map +1 -1
  293. package/components/LightBox/LightBoxContent.js +2 -2
  294. package/components/LightBox/LightBoxControls/LightBoxArrow.js +63 -0
  295. package/components/LightBox/LightBoxControls/LightBoxArrow.js.map +1 -0
  296. package/components/LightBox/LightBoxControls/LightBoxClose.js +8 -6
  297. package/components/LightBox/LightBoxControls/LightBoxClose.js.map +1 -1
  298. package/components/LightBox/LightBoxControls/LightBoxControls.js +2 -2
  299. package/components/LightBox/LightBoxControls/LightBoxControls.js.map +1 -1
  300. package/components/LightBox/LightBoxControls/LightBoxNext.js +18 -53
  301. package/components/LightBox/LightBoxControls/LightBoxNext.js.map +1 -1
  302. package/components/LightBox/LightBoxControls/LightBoxPrev.js +18 -53
  303. package/components/LightBox/LightBoxControls/LightBoxPrev.js.map +1 -1
  304. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js +15 -15
  305. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js.map +1 -1
  306. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseDesktop.js +2 -2
  307. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseMobile.js +2 -2
  308. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js +5 -8
  309. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js.map +1 -1
  310. package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js +7 -34
  311. package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js.map +1 -1
  312. package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js +7 -34
  313. package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js.map +1 -1
  314. package/components/LightBox/LightBoxSidebars/useLightBoxSidebarVisibility.js +37 -0
  315. package/components/LightBox/LightBoxSidebars/useLightBoxSidebarVisibility.js.map +1 -0
  316. package/components/LightBox/LightBoxViewManager/LightBoxViewManager.js +32 -30
  317. package/components/LightBox/LightBoxViewManager/LightBoxViewManager.js.map +1 -1
  318. package/components/LightBox/LightBoxViewManager/LightBoxViewManagerConsts.js +0 -11
  319. package/components/LightBox/LightBoxViewManager/LightBoxViewManagerConsts.js.map +1 -1
  320. package/components/LightBox/enums.js.map +1 -1
  321. package/components/Link/Link.js +6 -6
  322. package/components/List/List.js +4 -4
  323. package/components/List/ListSortable.js +1 -1
  324. package/components/List/components/ListActionItem.js +2 -2
  325. package/components/List/components/ListEmptyState.js +2 -2
  326. package/components/List/components/ListItem.js +1 -1
  327. package/components/List/components/ListItemContent.js +5 -5
  328. package/components/List/components/ListItemControls.js +2 -2
  329. package/components/List/components/ListItemControlsButton.js +2 -2
  330. package/components/List/components/ListItemControlsButtonDropdown.js +2 -2
  331. package/components/List/components/ListItemLoading.js +2 -2
  332. package/components/List/components/ListItemSelectable.js +7 -7
  333. package/components/List/components/ListItemTailLeft.js +2 -2
  334. package/components/List/components/ListItemTailRight.js +2 -2
  335. package/components/List/components/ListSortableItem.js +3 -3
  336. package/components/List/components/ListSortableItemControls.js +2 -2
  337. package/components/List/components/ListSortableItemTarget.js +5 -5
  338. package/components/List/components/ListTableItem.js +4 -4
  339. package/components/List/index.js +1 -1
  340. package/components/ListMaster/ListMaster.js +1 -1
  341. package/components/ListMaster/components/ListMasterBody.js +1 -1
  342. package/components/ListMaster/components/ListMasterChipGroup.js +2 -2
  343. package/components/ListMaster/components/ListMasterFooter.js +2 -2
  344. package/components/ListMaster/components/ListMasterFooterControls.js +2 -2
  345. package/components/ListMaster/components/ListMasterFooterDescription.js +2 -2
  346. package/components/ListMaster/components/ListMasterHeader.js +3 -3
  347. package/components/ListMaster/components/SelectionControls.js +3 -3
  348. package/components/Loader/LoaderMiddle/LoaderMiddle.js +9 -9
  349. package/components/Loader/LoaderSmall/LoaderSmall.js +11 -11
  350. package/components/LoaderScreen/LoaderScreen.js +6 -6
  351. package/components/Marker/Marker.js +2 -2
  352. package/components/Marker/utils.js +1 -1
  353. package/components/MarkerStatus/MarkerStatus.js +8 -8
  354. package/components/ModalWindow/ModalWindow.js +2 -2
  355. package/components/ModalWindow/components/ModalWindowBody.js +2 -2
  356. package/components/ModalWindow/components/ModalWindowClose.js +1 -1
  357. package/components/ModalWindow/components/ModalWindowContent.js +2 -2
  358. package/components/ModalWindow/components/ModalWindowHeader.js +2 -2
  359. package/components/ModalWindow/components/ModalWindowViewManager.js +2 -2
  360. package/components/MonthYearRange/MonthYearRange.js +4 -4
  361. package/components/MultiselectField/components/MultiselectFieldDropdown.js +2 -2
  362. package/components/MultiselectField/components/MultiselectFieldDropdownContent.js +6 -6
  363. package/components/MultiselectField/components/MultiselectFieldDropdownFooter.js +2 -2
  364. package/components/MultiselectField/components/MultiselectFieldDropdownHeader.js +2 -2
  365. package/components/Notification/Notification.js +3 -3
  366. package/components/Notification/NotificationGrouped.js +1 -1
  367. package/components/Notification/components/NotificationBody.js +1 -1
  368. package/components/Notification/components/NotificationBodyList.js +2 -2
  369. package/components/Notification/components/NotificationClose.js +1 -2
  370. package/components/Notification/components/NotificationClose.js.map +1 -1
  371. package/components/Notification/components/NotificationFooter.js +1 -1
  372. package/components/Notification/components/NotificationGroupedFooter.js +2 -2
  373. package/components/Notification/components/NotificationHeader.js +1 -1
  374. package/components/Notification/components/NotificationIcon.js +1 -1
  375. package/components/Notification/components/NotificationTime.js +1 -1
  376. package/components/OrderedList/OrderedList.js +3 -3
  377. package/components/OrderedList/OrderedListItem.js +3 -3
  378. package/components/Overlay/Overlay.js +2 -2
  379. package/components/Overlay/OverlayMask.js +2 -2
  380. package/components/Overlay/OverlayPanel.js +2 -2
  381. package/components/Page/Page.js +2 -2
  382. package/components/Page/components/BodyPage.js +4 -4
  383. package/components/Page/components/FooterPage.js +2 -2
  384. package/components/Page/components/HeaderPage.js +2 -2
  385. package/components/Pagination/components/PaginationExtended.js +3 -3
  386. package/components/Pagination/components/PaginationNavigationButton.js +2 -2
  387. package/components/Pagination/components/PaginationNavigationExtended.js +2 -2
  388. package/components/Pagination/components/PaginationPageButton.js +3 -7
  389. package/components/Pagination/components/PaginationPageButton.js.map +1 -1
  390. package/components/Pagination/components/PaginationPageEllipsis.js +2 -2
  391. package/components/Pagination/components/PaginationSelect.js +3 -3
  392. package/components/Pagination/utils/paginationUtils.js +1 -1
  393. package/components/Radio/Radio.js +10 -10
  394. package/components/Radio/RadioXGroup.js +9 -9
  395. package/components/Radio/RadioYGroup.js +2 -2
  396. package/components/Row/Row.js +25 -17
  397. package/components/Row/Row.js.map +1 -1
  398. package/components/Row/RowContext.js.map +1 -1
  399. package/components/SMSField/SMSField.js +3 -3
  400. package/components/SMSField/components/RefreshIcon.js +2 -2
  401. package/components/SMSField/components/SMSFieldInput.js +2 -2
  402. package/components/SMSField/components/SMSFieldRefresh.js +2 -3
  403. package/components/SMSField/components/SMSFieldRefresh.js.map +1 -1
  404. package/components/SMSField/components/SMSFieldSubmit.js +2 -3
  405. package/components/SMSField/components/SMSFieldSubmit.js.map +1 -1
  406. package/components/SMSField/components/SMSFieldTooltip.js +1 -1
  407. package/components/SegmentedControl/SegmentedControl.js +10 -10
  408. package/components/SegmentedControl/SegmentedControlSegment.js +4 -4
  409. package/components/SelectExtendedField/SelectExtendedField.js +2 -2
  410. package/components/SelectExtendedField/components/SelectExtendedFieldDropdown.js +1 -1
  411. package/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js +1 -1
  412. package/components/SelectExtendedField/components/SelectExtendedFieldTarget.js +8 -8
  413. package/components/SelectField/SelectField.js +2 -2
  414. package/components/Skeleton/Skeleton.js +5 -5
  415. package/components/SliderExtended/SliderExtended.js +3 -3
  416. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js +6 -6
  417. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMark.js +2 -2
  418. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarks.js +2 -2
  419. package/components/SliderExtended/components/SliderExtendedRail.js +2 -2
  420. package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js +5 -5
  421. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js +7 -7
  422. package/components/SmallInput/SmallInput.js +2 -2
  423. package/components/Spoiler/Spoiler.js +11 -12
  424. package/components/Spoiler/Spoiler.js.map +1 -1
  425. package/components/StatusTracker/StatusTracker.js +3 -3
  426. package/components/StatusTracker/components/StatusTrackerAlert.js +2 -2
  427. package/components/StatusTracker/components/StatusTrackerBody.js +2 -2
  428. package/components/StatusTracker/components/StatusTrackerButton.js +2 -3
  429. package/components/StatusTracker/components/StatusTrackerButton.js.map +1 -1
  430. package/components/StatusTracker/components/StatusTrackerDescription.js +2 -2
  431. package/components/StatusTracker/components/StatusTrackerFooter.js +2 -2
  432. package/components/StatusTracker/components/StatusTrackerHeader.js +2 -2
  433. package/components/StatusTracker/components/StatusTrackerMedia.js +2 -2
  434. package/components/StatusTracker/components/StatusTrackerStatus.js +2 -2
  435. package/components/StatusTracker/components/StatusTrackerStatusGroup.js +2 -2
  436. package/components/StatusTracker/components/StatusTrackerSum.js +2 -2
  437. package/components/StatusTracker/components/StatusTrackerTitle.js +2 -2
  438. package/components/Step/Step.js +11 -11
  439. package/components/Stepper/Stepper.js +9 -9
  440. package/components/Stepper/StepperExtended.js +2 -2
  441. package/components/Stepper/StepperStep.js +3 -3
  442. package/components/Stepper/StepperStepArrowBorder.js +1 -1
  443. package/components/Suggest/SuggestMobileDropdownContent.js +3 -3
  444. package/components/Suggest/useSuggest.js +1 -1
  445. package/components/SuggestField/SuggestField.js +1 -1
  446. package/components/SuggestField/desktop/SuggestFieldDesktop.js +2 -2
  447. package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js +1 -1
  448. package/components/SuggestField/index.js +1 -1
  449. package/components/SuggestField/mobile/SuggestFieldMobile.js +1 -1
  450. package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js +2 -2
  451. package/components/SuggestField/mobile/SuggestFieldMobileDropdownHint.js +1 -1
  452. package/components/SuggestField/mobile/index.js +1 -1
  453. package/components/SwipeableArea/SwipeableArea.js +9 -9
  454. package/components/Table/ChipPanel.js +2 -2
  455. package/components/Table/ChipPanelLinks.js +2 -2
  456. package/components/Table/FilterPanel.js +3 -3
  457. package/components/Table/MasterTable.js +3 -3
  458. package/components/Table/NoColumns.js +3 -3
  459. package/components/Table/PaginationPanel.js +3 -3
  460. package/components/Table/TableBasic/TableBasic.js +2 -2
  461. package/components/Table/TableBasic/components/TableBasicBody.js +2 -2
  462. package/components/Table/TableBasic/components/TableBasicHeader.js +2 -2
  463. package/components/Table/TableBasic/components/TableBasicRow.js +2 -2
  464. package/components/Table/TableBasicSettings/TableBasicSettings.js +3 -3
  465. package/components/Table/TableBasicSettings/components/ColumnSettingsSortableListItemTarget.js +3 -3
  466. package/components/Table/TableBasicSettings/components/ColumnSettingsStaticListItem.js +2 -2
  467. package/components/Table/TableBasicSettings/components/TableBasicSettingsBody.js +2 -2
  468. package/components/Table/TableBasicSettings/components/TableBasicSettingsFooter.js +2 -2
  469. package/components/Table/TableBasicSettings/components/TableBasicSettingsHeader.js +2 -2
  470. package/components/Table/TableFooter/TableFooter.js +2 -2
  471. package/components/Table/TableFooter/components/TableFooterSummary.js +1 -1
  472. package/components/Table/TableFooter/components/TableFooterSummaryAmount.js +1 -1
  473. package/components/Table/TableFooter/components/TableFooterSummarySelectAllButton.js +1 -1
  474. package/components/Table/TableFooter/components/TableFooterSummarySelectedCount.js +1 -1
  475. package/components/Table/utils.js +1 -1
  476. package/components/Tabs/Tabs.js +6 -7
  477. package/components/Tabs/Tabs.js.map +1 -1
  478. package/components/TabsExtended/TabsExtended.js +3 -3
  479. package/components/TabsExtended/components/TabsExtendedContent.js +2 -2
  480. package/components/TabsExtended/components/TabsExtendedDropdownWrapper.js +2 -2
  481. package/components/TabsExtended/components/TabsExtendedTab.js +2 -2
  482. package/components/TabsExtended/components/TabsExtendedTabButton.js +2 -2
  483. package/components/TabsExtended/components/TabsExtendedTabsWrapper.js +2 -2
  484. package/components/TabsExtended/utils.js +1 -1
  485. package/components/TabsLine/TabsLine.js +2 -2
  486. package/components/TabsLine/components/TabsLineDesktop.js +2 -2
  487. package/components/TabsLine/components/TabsLineDropdown.js +3 -3
  488. package/components/TabsLine/components/TabsLineItem.js +2 -2
  489. package/components/TabsLine/components/TabsLineMobile.js +2 -2
  490. package/components/Tag/Tag.js +6 -6
  491. package/components/TagColor/TagColor.js +11 -11
  492. package/components/TagGroup/TagGroup.js +5 -5
  493. package/components/TextField/TextField.js.map +1 -1
  494. package/components/TextField/TextFieldBase.js.map +1 -1
  495. package/components/ThemeProvider/ThemeProvider.js +1 -1
  496. package/components/ThemeProvider/components/ThemeProviderView.js +1 -1
  497. package/components/Tooltip/components/common/TooltipBody.js +2 -2
  498. package/components/Tooltip/components/common/TooltipLink.js +6 -6
  499. package/components/Tooltip/components/common/TooltipXButton.js +1 -1
  500. package/components/Tooltip/components/desktop/components/TooltipDesktopBase.js +2 -2
  501. package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js +2 -2
  502. package/components/Tooltip/components/mobile/TooltipMobile.js +5 -5
  503. package/components/TopOverlay/TopOverlay.js +7 -7
  504. package/components/TreeView/TreeView.js +2 -2
  505. package/components/TreeView/components/TreeViewGroup.js +1 -1
  506. package/components/TreeView/components/TreeViewNode.js +2 -2
  507. package/components/Typography/Caption.js +10 -13
  508. package/components/Typography/Caption.js.map +1 -1
  509. package/components/Typography/CodeText.js +5 -8
  510. package/components/Typography/CodeText.js.map +1 -1
  511. package/components/Typography/Text.js +12 -15
  512. package/components/Typography/Text.js.map +1 -1
  513. package/components/Typography/Title.js +12 -15
  514. package/components/Typography/Title.js.map +1 -1
  515. package/components/Typography/constants.js +1 -1
  516. package/components/Typography/enums.js.map +1 -1
  517. package/components/Typography/utils.js +16 -0
  518. package/components/Typography/utils.js.map +1 -0
  519. package/components/UnorderedList/UnorderedList.js +3 -3
  520. package/components/UnorderedList/UnorderedListItem.js +3 -3
  521. package/components/UploadZone/UploadZone.js +3 -3
  522. package/components/UploadZone/components/UploadZoneInput.js +2 -2
  523. package/components/UploadZone/index.js +1 -1
  524. package/components/WindowResizeListener/WindowResizeListener.js +1 -1
  525. package/components/index.js +11 -8
  526. package/components/index.js.map +1 -1
  527. package/index.d.ts +195 -34
  528. package/index.js +11 -8
  529. package/index.js.map +1 -1
  530. package/package.json +5 -1
  531. package/styles/triplex-next.css +3082 -2911
  532. package/utils/amountUtils.js +1 -1
  533. package/chunks/Card.module-ByDQccH3.js +0 -30
  534. package/chunks/Card.module-ByDQccH3.js.map +0 -1
  535. package/chunks/CheckboxTreeExtended.module-CNm5PG-E.js +0 -24
  536. package/chunks/CheckboxTreeExtended.module-CNm5PG-E.js.map +0 -1
  537. package/chunks/Confirm.module-2RjEubTA.js +0 -24
  538. package/chunks/Confirm.module-2RjEubTA.js.map +0 -1
  539. package/chunks/DropdownMobile.module-QbABKAsu.js +0 -40
  540. package/chunks/DropdownMobile.module-QbABKAsu.js.map +0 -1
  541. package/chunks/Footer.module-BluyUQCL.js +0 -12
  542. package/chunks/Footer.module-BluyUQCL.js.map +0 -1
  543. package/chunks/HeaderLayoutSidebar.module-ClAll71g.js.map +0 -1
  544. package/chunks/HeaderTabs.module-CUwJ5fM3.js +0 -12
  545. package/chunks/HeaderTabs.module-CUwJ5fM3.js.map +0 -1
  546. package/chunks/HeaderTitle.module-uQ2R0h5h.js.map +0 -1
  547. package/chunks/ImageGalleryExtendedMain.module-I0Gz1tNa.js +0 -28
  548. package/chunks/ImageGalleryExtendedMain.module-I0Gz1tNa.js.map +0 -1
  549. package/chunks/IslandAccordion.module-CM3fce-H.js +0 -44
  550. package/chunks/IslandAccordion.module-CM3fce-H.js.map +0 -1
  551. package/chunks/IslandWidgetFooter.module-XUbrmzyT.js +0 -12
  552. package/chunks/IslandWidgetFooter.module-XUbrmzyT.js.map +0 -1
  553. package/chunks/IslandWidgetHeader.module-DIvckBK0.js +0 -20
  554. package/chunks/IslandWidgetHeader.module-DIvckBK0.js.map +0 -1
  555. package/chunks/LightBoxContent-DhmrVe_B.js.map +0 -1
  556. package/chunks/LightBoxControls.module-NJhXErnc.js +0 -26
  557. package/chunks/LightBoxControls.module-NJhXErnc.js.map +0 -1
  558. package/chunks/LightBoxSideOverlayClose.module-DH3toLJp.js.map +0 -1
  559. package/chunks/ListItemTail.module-CTCT4Ip2.js +0 -18
  560. package/chunks/ListItemTail.module-CTCT4Ip2.js.map +0 -1
  561. package/chunks/ListMasterFooter.module-5PZkmDVy.js +0 -14
  562. package/chunks/ListMasterFooter.module-5PZkmDVy.js.map +0 -1
  563. package/chunks/ModalWindow.module-D6KenC3t.js +0 -28
  564. package/chunks/ModalWindow.module-D6KenC3t.js.map +0 -1
  565. package/chunks/Notification.module-DLDTRU_N.js +0 -34
  566. package/chunks/Notification.module-DLDTRU_N.js.map +0 -1
  567. package/chunks/Overlay.module-BF-87L2z.js +0 -30
  568. package/chunks/Overlay.module-BF-87L2z.js.map +0 -1
  569. package/chunks/Page.module-C-q8yIcu.js +0 -15
  570. package/chunks/Page.module-C-q8yIcu.js.map +0 -1
  571. package/chunks/SMSField.module-B1m8ilx_.js +0 -26
  572. package/chunks/SMSField.module-B1m8ilx_.js.map +0 -1
  573. package/chunks/SliderExtendedMarks.module-D3H3S6p2.js +0 -24
  574. package/chunks/SliderExtendedMarks.module-D3H3S6p2.js.map +0 -1
  575. package/chunks/StatusTracker.module-lbYqNd1P.js +0 -42
  576. package/chunks/StatusTracker.module-lbYqNd1P.js.map +0 -1
  577. package/chunks/TableFooter.module-m3QKshwy.js +0 -22
  578. package/chunks/TableFooter.module-m3QKshwy.js.map +0 -1
  579. package/chunks/TabsExtended.module-D9BiyvHA.js +0 -26
  580. package/chunks/TabsExtended.module-D9BiyvHA.js.map +0 -1
  581. package/chunks/TabsLine.module-DcxnBOgb.js +0 -36
  582. package/chunks/TabsLine.module-DcxnBOgb.js.map +0 -1
  583. package/chunks/TooltipDesktop.module-BQpMEMtl.js +0 -32
  584. package/chunks/TooltipDesktop.module-BQpMEMtl.js.map +0 -1
  585. package/chunks/TreeView.module-BW9vWJxu.js +0 -12
  586. package/chunks/TreeView.module-BW9vWJxu.js.map +0 -1
  587. package/chunks/vendor-Bco_z_Yi.js +0 -17557
  588. package/chunks/vendor-Bco_z_Yi.js.map +0 -1
@@ -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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"}
@@ -1,9 +1,9 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "../WindowResizeListener/WindowResizeListener.js";
4
- import "../../chunks/vendor-Bco_z_Yi.js";
4
+ import "../../chunks/vendor-1HxVLgKa.js";
5
5
  import "../LoaderScreen/LoaderScreen.js";
6
- import { L } from "../../chunks/LightBoxContent-DhmrVe_B.js";
6
+ import { L } from "../../chunks/LightBoxContent-DegsWbol.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-1HxVLgKa.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-DNhvkSnJ.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;"}
@@ -1,21 +1,22 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { useRef } from "react";
3
- import { c as clsx } from "../../../chunks/vendor-Bco_z_Yi.js";
3
+ import { c as clsx } from "../../../chunks/vendor-1HxVLgKa.js";
4
4
  import { CrossStrokeSrvIcon32, CrossStrokeSrvIcon20 } from "@sberbusiness/icons-next";
5
5
  import { TriggerClickOnKeyDownEvent } from "../../Triggers/TriggerClickOnKeyDownEvent.js";
6
6
  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-NJhXErnc.js";
10
+ import { s as styles } from "../../../chunks/LightBoxControls.module-DNhvkSnJ.js";
11
11
  const LightBoxClose = ({
12
12
  className,
13
13
  onClick,
14
14
  title = "Закрыть",
15
15
  ...htmlDivAttributes
16
16
  }) => {
17
- const ref = useRef(null);
18
- const renderButton = (buttonRef) => /* @__PURE__ */ jsxs(Fragment, { children: [
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: buttonRef,
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: ref, children: renderButton(ref) }) }),
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. */\ninterface 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 const ref = useRef<HTMLButtonElement>(null);\n\n const renderButton = (buttonRef?: Ref<HTMLButtonElement>) => (\n <>\n {/* Кнопка для экранов шире 1024px */}\n <Button\n className={styles.lightBoxControlsDesktop}\n onClick={onClick}\n title={title}\n data-exclude-modal-focus\n ref={buttonRef}\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 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={ref}>\n {renderButton(ref)}\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;AACF,QAAM,MAAM,OAA0B,IAAI;AAE1C,QAAM,eAAe,CAAC,cAClB,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,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,KACxE,UAAA,aAAa,GAAG,GACrB,GACJ;AAAA,wBAGC,QAAA,EAAK,WAAW,OAAO,sBAAuB,yBAAa,CAAE;AAAA,EAAA,GAClE;AAER;AAEA,cAAc,cAAc;"}
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;"}
@@ -2,8 +2,8 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { LightBoxClose } from "./LightBoxClose.js";
3
3
  import { LightBoxNext } from "./LightBoxNext.js";
4
4
  import { LightBoxPrev } from "./LightBoxPrev.js";
5
- import { c as clsx } from "../../../chunks/vendor-Bco_z_Yi.js";
6
- import { s as styles } from "../../../chunks/LightBoxControls.module-NJhXErnc.js";
5
+ import { c as clsx } from "../../../chunks/vendor-1HxVLgKa.js";
6
+ import { s as styles } from "../../../chunks/LightBoxControls.module-DNhvkSnJ.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. */\ninterface 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;"}
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;"}
@@ -1,57 +1,22 @@
1
- import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import { useRef } from "react";
3
- import { c as clsx } from "../../../chunks/vendor-Bco_z_Yi.js";
4
- import { CaretrightStrokeSrvIcon32, CaretrightStrokeSrvIcon20 } from "@sberbusiness/icons-next";
5
- import { TriggerClickOnKeyDownEvent } from "../../Triggers/TriggerClickOnKeyDownEvent.js";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { c as clsx } from "../../../chunks/vendor-1HxVLgKa.js";
3
+ import { CaretrightStrokeSrvIcon20, CaretrightStrokeSrvIcon32 } from "@sberbusiness/icons-next";
6
4
  import { EVENT_KEY_CODES } from "../../../utils/keyboard.js";
7
- import { Button } from "../../Button/Button.js";
8
- import { EButtonTheme } from "../../Button/enums.js";
9
- import { EComponentSize } from "../../../enums/EComponentSize.js";
10
- import { s as styles } from "../../../chunks/LightBoxControls.module-NJhXErnc.js";
11
- const LightBoxNext = ({
12
- className,
13
- clickByArrowRight,
14
- dataTutorialId,
15
- onClick,
16
- title,
17
- ...htmlDivAttributes
18
- }) => {
19
- const ref = useRef(null);
20
- const renderButton = (params) => /* @__PURE__ */ jsxs(Fragment, { children: [
21
- /* @__PURE__ */ jsx(
22
- Button,
23
- {
24
- className: clsx(styles.lightBoxControlsDesktop, styles.lightBoxNextButton),
25
- "data-test-id": (params == null ? void 0 : params.addDataTestId) ? "lightBox-next" : void 0,
26
- "data-tutorial-id": dataTutorialId,
27
- onClick,
28
- title,
29
- ref: params == null ? void 0 : params.buttonRef,
30
- icon: /* @__PURE__ */ jsx(CaretrightStrokeSrvIcon32, { paletteIndex: 0 }),
31
- size: EComponentSize.LG,
32
- theme: EButtonTheme.SECONDARY_LIGHT
33
- }
34
- ),
35
- /* @__PURE__ */ jsx(
36
- Button,
37
- {
38
- className: clsx(styles.lightBoxControlsMobile, styles.lightBoxNextButton),
39
- "data-test-id": (params == null ? void 0 : params.addDataTestId) ? "lightBox-next" : void 0,
40
- "data-tutorial-id": dataTutorialId,
41
- onClick,
42
- title,
43
- ref: params == null ? void 0 : params.buttonRef,
44
- icon: /* @__PURE__ */ jsx(CaretrightStrokeSrvIcon20, { paletteIndex: 0 }),
45
- size: EComponentSize.MD,
46
- theme: EButtonTheme.SECONDARY_LIGHT
47
- }
48
- )
49
- ] });
50
- return /* @__PURE__ */ jsx("div", { className: clsx(className, styles.lightBoxNext), ...htmlDivAttributes, children: clickByArrowRight ? /* @__PURE__ */ jsxs("span", { children: [
51
- /* @__PURE__ */ jsx("span", { className: styles.withKeyboardEvent, children: /* @__PURE__ */ jsx(TriggerClickOnKeyDownEvent, { targetRef: ref, eventKeyCode: EVENT_KEY_CODES.ARROW_RIGHT, children: renderButton({ addDataTestId: true, buttonRef: ref }) }) }),
52
- /* @__PURE__ */ jsx("span", { className: styles.withoutKeyboardEvent, children: renderButton() })
53
- ] }) : renderButton({ addDataTestId: true }) });
54
- };
5
+ import { LightBoxArrow } from "./LightBoxArrow.js";
6
+ import { s as styles } from "../../../chunks/LightBoxControls.module-DNhvkSnJ.js";
7
+ const LightBoxNext = ({ className, clickByArrowRight, ...rest }) => /* @__PURE__ */ jsx(
8
+ LightBoxArrow,
9
+ {
10
+ ...rest,
11
+ buttonClassName: styles.lightBoxNextButton,
12
+ className: clsx(className, styles.lightBoxNext),
13
+ clickByArrowKey: clickByArrowRight,
14
+ dataTestId: "lightBox-next",
15
+ eventKeyCode: EVENT_KEY_CODES.ARROW_RIGHT,
16
+ iconDesktop: /* @__PURE__ */ jsx(CaretrightStrokeSrvIcon32, { paletteIndex: 0 }),
17
+ iconMobile: /* @__PURE__ */ jsx(CaretrightStrokeSrvIcon20, { paletteIndex: 0 })
18
+ }
19
+ );
55
20
  LightBoxNext.displayName = "LightBoxNext";
56
21
  export {
57
22
  LightBoxNext
@@ -1 +1 @@
1
- {"version":3,"file":"LightBoxNext.js","sources":["../../../../src/components/LightBox/LightBoxControls/LightBoxNext.tsx"],"sourcesContent":["import React, { Ref, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { CaretrightStrokeSrvIcon20, CaretrightStrokeSrvIcon32 } from \"@sberbusiness/icons-next\";\nimport { TriggerClickOnKeyDownEvent } from \"../../Triggers/TriggerClickOnKeyDownEvent\";\nimport { EVENT_KEY_CODES } from \"../../../utils/keyboard\";\nimport { Button } from \"../../Button/Button\";\nimport { EButtonTheme } from \"../../Button/enums\";\nimport { EComponentSize } from \"@sberbusiness/triplex-next/enums/EComponentSize\";\nimport styles from \"../styles/LightBoxControls.module.less\";\n\n/** Свойства LightBoxNext. */\ninterface ILightBoxNextProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Кликнуть по кнопке при нажатии стрелки вправо на клавиатуре. */\n clickByArrowRight?: boolean;\n /** Обработчик клика по кнопке. */\n onClick: () => void;\n /** Идентификатор для обучающего тура. */\n dataTutorialId?: string;\n}\n\ninterface IRenderButtonParams {\n /** Флаг, добавляющий data-test-id. Нужен, чтобы data-test-id не дублировался несколько раз на странице. */\n addDataTestId: boolean;\n /** Установка ссылки на кнопку. */\n buttonRef?: Ref<HTMLButtonElement>;\n}\n\n/** Стрелка лайтбокса \"Вперёд\". */\nexport const LightBoxNext: React.FC<ILightBoxNextProps> = ({\n className,\n clickByArrowRight,\n dataTutorialId,\n onClick,\n title,\n ...htmlDivAttributes\n}) => {\n const ref = useRef<HTMLButtonElement>(null);\n\n /**\n * Отображение кнопки.\n */\n const renderButton = (params?: IRenderButtonParams) => (\n <>\n {/* Кнопка для экранов шире 1024px */}\n <Button\n className={clsx(styles.lightBoxControlsDesktop, styles.lightBoxNextButton)}\n data-test-id={params?.addDataTestId ? \"lightBox-next\" : undefined}\n data-tutorial-id={dataTutorialId}\n onClick={onClick}\n title={title}\n ref={params?.buttonRef}\n icon={<CaretrightStrokeSrvIcon32 paletteIndex={0} />}\n size={EComponentSize.LG}\n theme={EButtonTheme.SECONDARY_LIGHT}\n />\n {/* Кнопка для экранов менее 1024px */}\n <Button\n className={clsx(styles.lightBoxControlsMobile, styles.lightBoxNextButton)}\n data-test-id={params?.addDataTestId ? \"lightBox-next\" : undefined}\n data-tutorial-id={dataTutorialId}\n onClick={onClick}\n title={title}\n ref={params?.buttonRef}\n icon={<CaretrightStrokeSrvIcon20 paletteIndex={0} />}\n size={EComponentSize.MD}\n theme={EButtonTheme.SECONDARY_LIGHT}\n />\n </>\n );\n\n return (\n <div className={clsx(className, styles.lightBoxNext)} {...htmlDivAttributes}>\n {clickByArrowRight ? (\n <span>\n {/* Кнопка с триггером при нажатии стрелки на клавиатуре. */}\n <span className={styles.withKeyboardEvent}>\n <TriggerClickOnKeyDownEvent targetRef={ref} eventKeyCode={EVENT_KEY_CODES.ARROW_RIGHT}>\n {renderButton({ addDataTestId: true, buttonRef: ref })}\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\nLightBoxNext.displayName = \"LightBoxNext\";\n"],"names":[],"mappings":";;;;;;;;;;AA4BO,MAAM,eAA6C,CAAC;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAM;AACF,QAAM,MAAM,OAA0B,IAAI;AAK1C,QAAM,eAAe,CAAC,WAClB,qBAAA,UAAA,EAEI,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,yBAAyB,OAAO,kBAAkB;AAAA,QACzE,iBAAc,iCAAQ,iBAAgB,kBAAkB;AAAA,QACxD,oBAAkB;AAAA,QAClB;AAAA,QACA;AAAA,QACA,KAAK,iCAAQ;AAAA,QACb,MAAM,oBAAC,2BAAA,EAA0B,cAAc,EAAA,CAAG;AAAA,QAClD,MAAM,eAAe;AAAA,QACrB,OAAO,aAAa;AAAA,MAAA;AAAA,IAAA;AAAA,IAGxB;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,wBAAwB,OAAO,kBAAkB;AAAA,QACxE,iBAAc,iCAAQ,iBAAgB,kBAAkB;AAAA,QACxD,oBAAkB;AAAA,QAClB;AAAA,QACA;AAAA,QACA,KAAK,iCAAQ;AAAA,QACb,MAAM,oBAAC,2BAAA,EAA0B,cAAc,EAAA,CAAG;AAAA,QAClD,MAAM,eAAe;AAAA,QACrB,OAAO,aAAa;AAAA,MAAA;AAAA,IAAA;AAAA,EACxB,GACJ;AAGJ,SACI,oBAAC,OAAA,EAAI,WAAW,KAAK,WAAW,OAAO,YAAY,GAAI,GAAG,mBACrD,UAAA,oBACG,qBAAC,QAAA,EAEG,UAAA;AAAA,IAAA,oBAAC,UAAK,WAAW,OAAO,mBACpB,UAAA,oBAAC,4BAAA,EAA2B,WAAW,KAAK,cAAc,gBAAgB,aACrE,UAAA,aAAa,EAAE,eAAe,MAAM,WAAW,KAAK,GACzD,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,aAAa,cAAc;"}
1
+ {"version":3,"file":"LightBoxNext.js","sources":["../../../../src/components/LightBox/LightBoxControls/LightBoxNext.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport { CaretrightStrokeSrvIcon20, CaretrightStrokeSrvIcon32 } from \"@sberbusiness/icons-next\";\nimport { EVENT_KEY_CODES } from \"../../../utils/keyboard\";\nimport { LightBoxArrow } from \"./LightBoxArrow\";\nimport styles from \"../styles/LightBoxControls.module.less\";\n\n/** Свойства LightBoxNext. */\nexport interface ILightBoxNextProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Кликнуть по кнопке при нажатии стрелки вправо на клавиатуре. */\n clickByArrowRight?: boolean;\n /** Обработчик клика по кнопке. */\n onClick: () => void;\n /** Идентификатор для обучающего тура. */\n dataTutorialId?: string;\n}\n\n/** Стрелка лайтбокса \"Вперёд\". */\nexport const LightBoxNext: React.FC<ILightBoxNextProps> = ({ className, clickByArrowRight, ...rest }) => (\n <LightBoxArrow\n {...rest}\n buttonClassName={styles.lightBoxNextButton}\n className={clsx(className, styles.lightBoxNext)}\n clickByArrowKey={clickByArrowRight}\n dataTestId=\"lightBox-next\"\n eventKeyCode={EVENT_KEY_CODES.ARROW_RIGHT}\n iconDesktop={<CaretrightStrokeSrvIcon32 paletteIndex={0} />}\n iconMobile={<CaretrightStrokeSrvIcon20 paletteIndex={0} />}\n />\n);\n\nLightBoxNext.displayName = \"LightBoxNext\";\n"],"names":[],"mappings":";;;;;;AAkBO,MAAM,eAA6C,CAAC,EAAE,WAAW,mBAAmB,GAAG,WAC1F;AAAA,EAAC;AAAA,EAAA;AAAA,IACI,GAAG;AAAA,IACJ,iBAAiB,OAAO;AAAA,IACxB,WAAW,KAAK,WAAW,OAAO,YAAY;AAAA,IAC9C,iBAAiB;AAAA,IACjB,YAAW;AAAA,IACX,cAAc,gBAAgB;AAAA,IAC9B,aAAa,oBAAC,2BAAA,EAA0B,cAAc,EAAA,CAAG;AAAA,IACzD,YAAY,oBAAC,2BAAA,EAA0B,cAAc,EAAA,CAAG;AAAA,EAAA;AAC5D;AAGJ,aAAa,cAAc;"}
@@ -1,57 +1,22 @@
1
- import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import { useRef } from "react";
3
- import { c as clsx } from "../../../chunks/vendor-Bco_z_Yi.js";
4
- import { CaretleftStrokeSrvIcon32, CaretleftStrokeSrvIcon20 } from "@sberbusiness/icons-next";
5
- import { EButtonTheme } from "../../Button/enums.js";
6
- import { TriggerClickOnKeyDownEvent } from "../../Triggers/TriggerClickOnKeyDownEvent.js";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { c as clsx } from "../../../chunks/vendor-1HxVLgKa.js";
3
+ import { CaretleftStrokeSrvIcon20, CaretleftStrokeSrvIcon32 } from "@sberbusiness/icons-next";
7
4
  import { EVENT_KEY_CODES } from "../../../utils/keyboard.js";
8
- import { Button } from "../../Button/Button.js";
9
- import { EComponentSize } from "../../../enums/EComponentSize.js";
10
- import { s as styles } from "../../../chunks/LightBoxControls.module-NJhXErnc.js";
11
- const LightBoxPrev = ({
12
- className,
13
- clickByArrowLeft,
14
- dataTutorialId,
15
- onClick,
16
- title,
17
- ...htmlDivAttributes
18
- }) => {
19
- const ref = useRef(null);
20
- const renderButton = (params) => /* @__PURE__ */ jsxs(Fragment, { children: [
21
- /* @__PURE__ */ jsx(
22
- Button,
23
- {
24
- className: clsx(styles.lightBoxControlsDesktop, styles.lightBoxPrevButton),
25
- "data-test-id": (params == null ? void 0 : params.addDataTestId) ? "lightBox-prev" : void 0,
26
- "data-tutorial-id": dataTutorialId,
27
- onClick,
28
- title,
29
- ref: params == null ? void 0 : params.buttonRef,
30
- icon: /* @__PURE__ */ jsx(CaretleftStrokeSrvIcon32, { paletteIndex: 0 }),
31
- size: EComponentSize.LG,
32
- theme: EButtonTheme.SECONDARY_LIGHT
33
- }
34
- ),
35
- /* @__PURE__ */ jsx(
36
- Button,
37
- {
38
- className: clsx(styles.lightBoxControlsMobile, styles.lightBoxPrevButton),
39
- "data-test-id": (params == null ? void 0 : params.addDataTestId) ? "lightBox-prev" : void 0,
40
- "data-tutorial-id": dataTutorialId,
41
- onClick,
42
- title,
43
- ref: params == null ? void 0 : params.buttonRef,
44
- icon: /* @__PURE__ */ jsx(CaretleftStrokeSrvIcon20, { paletteIndex: 0 }),
45
- size: EComponentSize.MD,
46
- theme: EButtonTheme.SECONDARY_LIGHT
47
- }
48
- )
49
- ] });
50
- return /* @__PURE__ */ jsx("div", { className: clsx(className, styles.lightBoxPrev), ...htmlDivAttributes, children: clickByArrowLeft ? /* @__PURE__ */ jsxs("span", { children: [
51
- /* @__PURE__ */ jsx("span", { className: styles.withKeyboardEvent, children: /* @__PURE__ */ jsx(TriggerClickOnKeyDownEvent, { targetRef: ref, eventKeyCode: EVENT_KEY_CODES.ARROW_LEFT, children: renderButton({ addDataTestId: true, buttonRef: ref }) }) }),
52
- /* @__PURE__ */ jsx("span", { className: styles.withoutKeyboardEvent, children: renderButton() })
53
- ] }) : renderButton({ addDataTestId: true }) });
54
- };
5
+ import { LightBoxArrow } from "./LightBoxArrow.js";
6
+ import { s as styles } from "../../../chunks/LightBoxControls.module-DNhvkSnJ.js";
7
+ const LightBoxPrev = ({ className, clickByArrowLeft, ...rest }) => /* @__PURE__ */ jsx(
8
+ LightBoxArrow,
9
+ {
10
+ ...rest,
11
+ buttonClassName: styles.lightBoxPrevButton,
12
+ className: clsx(className, styles.lightBoxPrev),
13
+ clickByArrowKey: clickByArrowLeft,
14
+ dataTestId: "lightBox-prev",
15
+ eventKeyCode: EVENT_KEY_CODES.ARROW_LEFT,
16
+ iconDesktop: /* @__PURE__ */ jsx(CaretleftStrokeSrvIcon32, { paletteIndex: 0 }),
17
+ iconMobile: /* @__PURE__ */ jsx(CaretleftStrokeSrvIcon20, { paletteIndex: 0 })
18
+ }
19
+ );
55
20
  LightBoxPrev.displayName = "LightBoxPrev";
56
21
  export {
57
22
  LightBoxPrev
@@ -1 +1 @@
1
- {"version":3,"file":"LightBoxPrev.js","sources":["../../../../src/components/LightBox/LightBoxControls/LightBoxPrev.tsx"],"sourcesContent":["import React, { Ref, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { CaretleftStrokeSrvIcon32, CaretleftStrokeSrvIcon20 } from \"@sberbusiness/icons-next\";\nimport { EButtonTheme } from \"../../Button/enums\";\nimport { TriggerClickOnKeyDownEvent } from \"../../Triggers/TriggerClickOnKeyDownEvent\";\nimport { EVENT_KEY_CODES } from \"../../../utils/keyboard\";\nimport { Button } from \"../../Button/Button\";\nimport { EComponentSize } from \"@sberbusiness/triplex-next/enums/EComponentSize\";\nimport styles from \"../styles/LightBoxControls.module.less\";\n\n/** Свойства LightBoxPrev. */\ninterface ILightBoxPrevProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Кликнуть по кнопке при нажатии стрелки влево на клавиатуре. */\n clickByArrowLeft?: boolean;\n /** Обработчик клика по кнопке. */\n onClick: () => void;\n /** Идентификатор для обучающего тура. */\n dataTutorialId?: string;\n}\n\ninterface IRenderButtonParams {\n /** Флаг, добавляющий data-test-id. Нужен, чтобы data-test-id не дублировался несколько раз на странице. */\n addDataTestId: boolean;\n /** Установка ссылки на кнопку. */\n buttonRef?: Ref<HTMLButtonElement>;\n}\n\n/** Стрелка лайтбокса \"Назад\". */\nexport const LightBoxPrev: React.FC<ILightBoxPrevProps> = ({\n className,\n clickByArrowLeft,\n dataTutorialId,\n onClick,\n title,\n ...htmlDivAttributes\n}) => {\n const ref = useRef<HTMLButtonElement>(null);\n\n /**\n * Отображение кнопки.\n */\n const renderButton = (params?: IRenderButtonParams) => (\n <>\n {/* Кнопка для экранов шире 1024px */}\n <Button\n className={clsx(styles.lightBoxControlsDesktop, styles.lightBoxPrevButton)}\n data-test-id={params?.addDataTestId ? \"lightBox-prev\" : undefined}\n data-tutorial-id={dataTutorialId}\n onClick={onClick}\n title={title}\n ref={params?.buttonRef}\n icon={<CaretleftStrokeSrvIcon32 paletteIndex={0} />}\n size={EComponentSize.LG}\n theme={EButtonTheme.SECONDARY_LIGHT}\n />\n {/* Кнопка для экранов менее 1024px */}\n <Button\n className={clsx(styles.lightBoxControlsMobile, styles.lightBoxPrevButton)}\n data-test-id={params?.addDataTestId ? \"lightBox-prev\" : undefined}\n data-tutorial-id={dataTutorialId}\n onClick={onClick}\n title={title}\n ref={params?.buttonRef}\n icon={<CaretleftStrokeSrvIcon20 paletteIndex={0} />}\n size={EComponentSize.MD}\n theme={EButtonTheme.SECONDARY_LIGHT}\n />\n </>\n );\n\n return (\n <div className={clsx(className, styles.lightBoxPrev)} {...htmlDivAttributes}>\n {clickByArrowLeft ? (\n <span>\n {/* Кнопка с триггером при нажатии стрелки на клавиатуре. */}\n <span className={styles.withKeyboardEvent}>\n <TriggerClickOnKeyDownEvent targetRef={ref} eventKeyCode={EVENT_KEY_CODES.ARROW_LEFT}>\n {renderButton({ addDataTestId: true, buttonRef: ref })}\n </TriggerClickOnKeyDownEvent>\n </span>\n {/* Кнопка без триггера при нажатии стрелки на клавиатуре. Нельзя нажать, когда открыт\n SideOverlay. */}\n <span className={styles.withoutKeyboardEvent}>{renderButton()}</span>\n </span>\n ) : (\n renderButton({ addDataTestId: true })\n )}\n </div>\n );\n};\n\nLightBoxPrev.displayName = \"LightBoxPrev\";\n"],"names":[],"mappings":";;;;;;;;;;AA4BO,MAAM,eAA6C,CAAC;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAM;AACF,QAAM,MAAM,OAA0B,IAAI;AAK1C,QAAM,eAAe,CAAC,WAClB,qBAAA,UAAA,EAEI,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,yBAAyB,OAAO,kBAAkB;AAAA,QACzE,iBAAc,iCAAQ,iBAAgB,kBAAkB;AAAA,QACxD,oBAAkB;AAAA,QAClB;AAAA,QACA;AAAA,QACA,KAAK,iCAAQ;AAAA,QACb,MAAM,oBAAC,0BAAA,EAAyB,cAAc,EAAA,CAAG;AAAA,QACjD,MAAM,eAAe;AAAA,QACrB,OAAO,aAAa;AAAA,MAAA;AAAA,IAAA;AAAA,IAGxB;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,wBAAwB,OAAO,kBAAkB;AAAA,QACxE,iBAAc,iCAAQ,iBAAgB,kBAAkB;AAAA,QACxD,oBAAkB;AAAA,QAClB;AAAA,QACA;AAAA,QACA,KAAK,iCAAQ;AAAA,QACb,MAAM,oBAAC,0BAAA,EAAyB,cAAc,EAAA,CAAG;AAAA,QACjD,MAAM,eAAe;AAAA,QACrB,OAAO,aAAa;AAAA,MAAA;AAAA,IAAA;AAAA,EACxB,GACJ;AAGJ,SACI,oBAAC,OAAA,EAAI,WAAW,KAAK,WAAW,OAAO,YAAY,GAAI,GAAG,mBACrD,UAAA,mBACG,qBAAC,QAAA,EAEG,UAAA;AAAA,IAAA,oBAAC,UAAK,WAAW,OAAO,mBACpB,UAAA,oBAAC,4BAAA,EAA2B,WAAW,KAAK,cAAc,gBAAgB,YACrE,UAAA,aAAa,EAAE,eAAe,MAAM,WAAW,KAAK,GACzD,EAAA,CACJ;AAAA,wBAGC,QAAA,EAAK,WAAW,OAAO,sBAAuB,yBAAa,CAAE;AAAA,EAAA,EAAA,CAClE,IAEA,aAAa,EAAE,eAAe,KAAA,CAAM,EAAA,CAE5C;AAER;AAEA,aAAa,cAAc;"}
1
+ {"version":3,"file":"LightBoxPrev.js","sources":["../../../../src/components/LightBox/LightBoxControls/LightBoxPrev.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport { CaretleftStrokeSrvIcon32, CaretleftStrokeSrvIcon20 } from \"@sberbusiness/icons-next\";\nimport { EVENT_KEY_CODES } from \"../../../utils/keyboard\";\nimport { LightBoxArrow } from \"./LightBoxArrow\";\nimport styles from \"../styles/LightBoxControls.module.less\";\n\n/** Свойства LightBoxPrev. */\nexport interface ILightBoxPrevProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Кликнуть по кнопке при нажатии стрелки влево на клавиатуре. */\n clickByArrowLeft?: boolean;\n /** Обработчик клика по кнопке. */\n onClick: () => void;\n /** Идентификатор для обучающего тура. */\n dataTutorialId?: string;\n}\n\n/** Стрелка лайтбокса \"Назад\". */\nexport const LightBoxPrev: React.FC<ILightBoxPrevProps> = ({ className, clickByArrowLeft, ...rest }) => (\n <LightBoxArrow\n {...rest}\n buttonClassName={styles.lightBoxPrevButton}\n className={clsx(className, styles.lightBoxPrev)}\n clickByArrowKey={clickByArrowLeft}\n dataTestId=\"lightBox-prev\"\n eventKeyCode={EVENT_KEY_CODES.ARROW_LEFT}\n iconDesktop={<CaretleftStrokeSrvIcon32 paletteIndex={0} />}\n iconMobile={<CaretleftStrokeSrvIcon20 paletteIndex={0} />}\n />\n);\n\nLightBoxPrev.displayName = \"LightBoxPrev\";\n"],"names":[],"mappings":";;;;;;AAkBO,MAAM,eAA6C,CAAC,EAAE,WAAW,kBAAkB,GAAG,WACzF;AAAA,EAAC;AAAA,EAAA;AAAA,IACI,GAAG;AAAA,IACJ,iBAAiB,OAAO;AAAA,IACxB,WAAW,KAAK,WAAW,OAAO,YAAY;AAAA,IAC9C,iBAAiB;AAAA,IACjB,YAAW;AAAA,IACX,cAAc,gBAAgB;AAAA,IAC9B,aAAa,oBAAC,0BAAA,EAAyB,cAAc,EAAA,CAAG;AAAA,IACxD,YAAY,oBAAC,0BAAA,EAAyB,cAAc,EAAA,CAAG;AAAA,EAAA;AAC3D;AAGJ,aAAa,cAAc;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import React__default, { useState, useRef, useEffect } from "react";
3
- import { c as clsx } from "../../../chunks/vendor-Bco_z_Yi.js";
3
+ import { c as clsx } from "../../../chunks/vendor-1HxVLgKa.js";
4
4
  import { FocusTrapExtended } from "../../FocusTrapExtended/FocusTrapExtended.js";
5
5
  import { OverlayBase, EOverlayDirection } from "../../Overlay/OverlayBase.js";
6
6
  import { OverlayMask } from "../../Overlay/OverlayMask.js";
@@ -10,18 +10,18 @@ import { LightBoxSideOverlayCloseMobile } from "./LightBoxSideOverlayCloseMobile
10
10
  import { LightBoxSideOverlayCloseDesktop } from "./LightBoxSideOverlayCloseDesktop.js";
11
11
  import { EComponentSize } from "../../../enums/EComponentSize.js";
12
12
  import { createSizeToClassNameMap } from "../../../utils/classNameMaps.js";
13
- const lightBoxSideOverlayMask = "lightBoxSideOverlayMask__5eeea1c1";
14
- const lightBoxSideOverlayWrapper = "lightBoxSideOverlayWrapper__cbb8edf4";
15
- const overflowXHidden = "overflowXHidden__71cd45a1";
16
- const overflowYHidden = "overflowYHidden__dd762d00";
17
- const closing = "closing__c13642ba";
18
- const opened = "opened__78fca4a0";
19
- const lightBoxSideOverlayContent = "lightBoxSideOverlayContent__9808f5f8";
20
- const opening = "opening__b5dfd63c";
21
- const sm = "sm__7582d3d9";
22
- const md = "md__5e8ebd65";
23
- const lg = "lg__d9ada402";
24
- const lightBoxSideOverlay = "lightBoxSideOverlay__b47b7263";
13
+ const lightBoxSideOverlayMask = "lightBoxSideOverlayMask__d5d9f54f";
14
+ const lightBoxSideOverlayWrapper = "lightBoxSideOverlayWrapper__ed95290b";
15
+ const overflowXHidden = "overflowXHidden__26ea38a1";
16
+ const overflowYHidden = "overflowYHidden__cb90e0ec";
17
+ const closing = "closing__2bbfaa82";
18
+ const opened = "opened__1d8b7f70";
19
+ const lightBoxSideOverlayContent = "lightBoxSideOverlayContent__efbdde9a";
20
+ const opening = "opening__6accc1f3";
21
+ const sm = "sm__1caca9a2";
22
+ const md = "md__a0a17099";
23
+ const lg = "lg__ab22beb3";
24
+ const lightBoxSideOverlay = "lightBoxSideOverlay__96ba8ad8";
25
25
  const styles = {
26
26
  lightBoxSideOverlayMask,
27
27
  lightBoxSideOverlayWrapper,
@@ -37,6 +37,8 @@ const styles = {
37
37
  lightBoxSideOverlay
38
38
  };
39
39
  const sizeToClassNameMap = createSizeToClassNameMap(styles);
40
+ const setOpened = () => {
41
+ };
40
42
  const LightBoxSideOverlayBase = React__default.forwardRef(
41
43
  ({
42
44
  children,
@@ -95,8 +97,6 @@ const LightBoxSideOverlayBase = React__default.forwardRef(
95
97
  ]
96
98
  }
97
99
  );
98
- const setOpened = () => {
99
- };
100
100
  const classNameOverlayWrapper = clsx(className, styles.lightBoxSideOverlayWrapper, sizeToClassNameMap[size], {
101
101
  [styles.closing]: closing2,
102
102
  [styles.opened]: opened2,
@@ -1 +1 @@
1
- {"version":3,"file":"LightBoxSideOverlay.js","sources":["../../../../src/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { FocusTrapExtended, IFocusTrapExtendedProps } from \"../../FocusTrapExtended\";\nimport {\n EOverlayDirection,\n IOverlayBaseProps,\n OverlayBase,\n IOverlayChildrenProvideProps,\n} from \"../../Overlay/OverlayBase\";\nimport { OverlayMask } from \"../../Overlay/OverlayMask\";\nimport { ILoaderScreenMiddleProps } from \"../../LoaderScreen/LoaderScreen\";\nimport { LightBoxSideOverlayLoader } from \"./LightBoxSideOverlayLoader\";\nimport { FocusTrapUtils } from \"../../../utils/focus/FocusTrapUtils\";\nimport { LightBoxSideOverlayCloseMobile } from \"./LightBoxSideOverlayCloseMobile\";\nimport { LightBoxSideOverlayCloseDesktop } from \"./LightBoxSideOverlayCloseDesktop\";\nimport { EComponentSize } from \"../../../enums/EComponentSize\";\nimport { createSizeToClassNameMap } from \"../../../utils/classNameMaps\";\nimport styles from \"./styles/LightBoxSideOverlay.module.less\";\n\n/** Свойства компонента LightBoxSideOverlay. */\nexport interface ILightBoxSideOverlayProps\n extends React.HTMLAttributes<HTMLDivElement>, Pick<IOverlayBaseProps, \"opened\" | \"onClose\" | \"onOpen\"> {\n /** Свойства компонента FocusTrapExtended. */\n focusTrapProps?: IFocusTrapExtendedProps;\n /** Состояние загрузки. */\n isLoading?: boolean;\n /** Свойства компонента LoaderScreen. */\n loaderScreenProps?: ILoaderScreenMiddleProps;\n /** Открыт другой SideOverlay поверх текущего. */\n isTopLevelSideOverlayOpened?: boolean;\n /** Открыт TopOverlay в текущем SideOverlay. */\n isTopOverlayOpened?: boolean;\n /** Размер компонента. */\n size?: EComponentSize;\n}\n\nconst sizeToClassNameMap = createSizeToClassNameMap(styles);\n\nconst LightBoxSideOverlayBase = React.forwardRef<HTMLDivElement, ILightBoxSideOverlayProps>(\n (\n {\n children,\n className,\n focusTrapProps,\n isLoading,\n loaderScreenProps,\n isTopLevelSideOverlayOpened,\n isTopOverlayOpened,\n onClose,\n onOpen,\n opened,\n size = EComponentSize.MD,\n ...htmlDivAttributes\n },\n ref,\n ) => {\n // Флаг, в текущий момент оверлей закрывается.\n const [closing, setClosing] = useState(false);\n // Флаг, в текущий момент оверлей открывается.\n const [opening, setOpening] = useState(false);\n // Предыдущее состояние открыт/закрыт.\n const prevOpened = useRef(opened);\n const contentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (prevOpened.current && !opened) {\n setOpening(false); // opened меняется в процессе анимации открытия.\n setClosing(true);\n } else if (!prevOpened.current && opened) {\n setClosing(false); // opened меняется в процессе анимации закрытия.\n setOpening(true);\n }\n\n prevOpened.current = opened;\n }, [opened]);\n\n const handleTransitionEnd = (event: React.TransitionEvent<HTMLDivElement>) => {\n const { target, currentTarget } = event;\n\n if (target === currentTarget) {\n if (closing) {\n setClosing(false);\n onClose?.();\n } else if (opening) {\n setOpening(false);\n onOpen?.();\n }\n }\n };\n\n const renderMask = ({ opened }: IOverlayChildrenProvideProps) => (\n <OverlayMask opened={opened} className={styles.lightBoxSideOverlayMask} />\n );\n\n const renderPanel = () => (\n <div\n className={clsx(styles.lightBoxSideOverlayContent, {\n [styles.closing]: closing,\n [styles.opening]: opening,\n [styles.opened]: opened,\n })}\n onTransitionEnd={handleTransitionEnd}\n ref={contentRef}\n >\n {children}\n\n {isLoading && <LightBoxSideOverlayLoader loaderScreenProps={loaderScreenProps} />}\n </div>\n );\n\n const setOpened = () => {};\n\n const classNameOverlayWrapper = clsx(className, styles.lightBoxSideOverlayWrapper, sizeToClassNameMap[size], {\n [styles.closing]: closing,\n [styles.opened]: opened,\n [styles.overflowXHidden]: Boolean(isTopLevelSideOverlayOpened) || Boolean(isLoading),\n [styles.overflowYHidden]:\n Boolean(isTopLevelSideOverlayOpened) || Boolean(isLoading) || Boolean(isTopOverlayOpened),\n });\n\n const renderOverlay = (provideProps: IOverlayChildrenProvideProps) => (\n <>\n {renderMask(provideProps)}\n {renderPanel()}\n </>\n );\n\n return (\n <FocusTrapExtended\n active={opened && !opening && !closing}\n {...focusTrapProps}\n focusTrapOptions={{\n allowOutsideClick: true,\n initialFocus: () => FocusTrapUtils.getFirstInteractionElementByDataAttr(contentRef.current),\n preventScroll: true,\n ...focusTrapProps?.focusTrapOptions,\n }}\n >\n <div\n className={classNameOverlayWrapper}\n role=\"dialog\"\n aria-modal=\"true\"\n {...htmlDivAttributes}\n ref={ref}\n >\n <div\n className={clsx(styles.lightBoxSideOverlay, {\n [styles.closing]: closing,\n [styles.opening]: opening,\n })}\n >\n <OverlayBase direction={EOverlayDirection.RIGHT} opened={opened} setOpened={setOpened}>\n {renderOverlay}\n </OverlayBase>\n </div>\n </div>\n </FocusTrapExtended>\n );\n },\n);\n\nLightBoxSideOverlayBase.displayName = \"LightBoxSideOverlay\";\n\n/** Боковая панель LightBox, выезжающая с правой стороны. */\nexport const LightBoxSideOverlay = Object.assign(LightBoxSideOverlayBase, {\n CloseDesktop: LightBoxSideOverlayCloseDesktop,\n CloseMobile: LightBoxSideOverlayCloseMobile,\n});\n"],"names":["React","opened","closing","opening"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,MAAM,qBAAqB,yBAAyB,MAAM;AAE1D,MAAM,0BAA0BA,eAAM;AAAA,EAClC,CACI;AAAA,IACI;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAAC;AAAA,IACA,OAAO,eAAe;AAAA,IACtB,GAAG;AAAA,EAAA,GAEP,QACC;AAED,UAAM,CAACC,UAAS,UAAU,IAAI,SAAS,KAAK;AAE5C,UAAM,CAACC,UAAS,UAAU,IAAI,SAAS,KAAK;AAE5C,UAAM,aAAa,OAAOF,OAAM;AAChC,UAAM,aAAa,OAAuB,IAAI;AAE9C,cAAU,MAAM;AACZ,UAAI,WAAW,WAAW,CAACA,SAAQ;AAC/B,mBAAW,KAAK;AAChB,mBAAW,IAAI;AAAA,MACnB,WAAW,CAAC,WAAW,WAAWA,SAAQ;AACtC,mBAAW,KAAK;AAChB,mBAAW,IAAI;AAAA,MACnB;AAEA,iBAAW,UAAUA;AAAA,IACzB,GAAG,CAACA,OAAM,CAAC;AAEX,UAAM,sBAAsB,CAAC,UAAiD;AAC1E,YAAM,EAAE,QAAQ,cAAA,IAAkB;AAElC,UAAI,WAAW,eAAe;AAC1B,YAAIC,UAAS;AACT,qBAAW,KAAK;AAChB;AAAA,QACJ,WAAWC,UAAS;AAChB,qBAAW,KAAK;AAChB;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAEA,UAAM,aAAa,CAAC,EAAE,QAAAF,SAAAA,MAClB,oBAAC,aAAA,EAAY,QAAQA,UAAQ,WAAW,OAAO,wBAAA,CAAyB;AAG5E,UAAM,cAAc,MAChB;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,4BAA4B;AAAA,UAC/C,CAAC,OAAO,OAAO,GAAGC;AAAA,UAClB,CAAC,OAAO,OAAO,GAAGC;AAAA,UAClB,CAAC,OAAO,MAAM,GAAGF;AAAA,QAAA,CACpB;AAAA,QACD,iBAAiB;AAAA,QACjB,KAAK;AAAA,QAEJ,UAAA;AAAA,UAAA;AAAA,UAEA,aAAa,oBAAC,2BAAA,EAA0B,kBAAA,CAAsC;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAIvF,UAAM,YAAY,MAAM;AAAA,IAAC;AAEzB,UAAM,0BAA0B,KAAK,WAAW,OAAO,4BAA4B,mBAAmB,IAAI,GAAG;AAAA,MACzG,CAAC,OAAO,OAAO,GAAGC;AAAA,MAClB,CAAC,OAAO,MAAM,GAAGD;AAAA,MACjB,CAAC,OAAO,eAAe,GAAG,QAAQ,2BAA2B,KAAK,QAAQ,SAAS;AAAA,MACnF,CAAC,OAAO,eAAe,GACnB,QAAQ,2BAA2B,KAAK,QAAQ,SAAS,KAAK,QAAQ,kBAAkB;AAAA,IAAA,CAC/F;AAED,UAAM,gBAAgB,CAAC,iBACnB,qBAAA,UAAA,EACK,UAAA;AAAA,MAAA,WAAW,YAAY;AAAA,MACvB,YAAA;AAAA,IAAY,GACjB;AAGJ,WACI;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,QAAQA,WAAU,CAACE,YAAW,CAACD;AAAA,QAC9B,GAAG;AAAA,QACJ,kBAAkB;AAAA,UACd,mBAAmB;AAAA,UACnB,cAAc,MAAM,eAAe,qCAAqC,WAAW,OAAO;AAAA,UAC1F,eAAe;AAAA,UACf,GAAG,iDAAgB;AAAA,QAAA;AAAA,QAGvB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAW;AAAA,YACX,MAAK;AAAA,YACL,cAAW;AAAA,YACV,GAAG;AAAA,YACJ;AAAA,YAEA,UAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACG,WAAW,KAAK,OAAO,qBAAqB;AAAA,kBACxC,CAAC,OAAO,OAAO,GAAGA;AAAA,kBAClB,CAAC,OAAO,OAAO,GAAGC;AAAA,gBAAA,CACrB;AAAA,gBAED,8BAAC,aAAA,EAAY,WAAW,kBAAkB,OAAO,QAAAF,SAAgB,WAC5D,UAAA,cAAA,CACL;AAAA,cAAA;AAAA,YAAA;AAAA,UACJ;AAAA,QAAA;AAAA,MACJ;AAAA,IAAA;AAAA,EAGZ;AACJ;AAEA,wBAAwB,cAAc;AAG/B,MAAM,sBAAsB,OAAO,OAAO,yBAAyB;AAAA,EACtE,cAAc;AAAA,EACd,aAAa;AACjB,CAAC;"}
1
+ {"version":3,"file":"LightBoxSideOverlay.js","sources":["../../../../src/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { FocusTrapExtended, IFocusTrapExtendedProps } from \"../../FocusTrapExtended\";\nimport {\n EOverlayDirection,\n IOverlayBaseProps,\n OverlayBase,\n IOverlayChildrenProvideProps,\n} from \"../../Overlay/OverlayBase\";\nimport { OverlayMask } from \"../../Overlay/OverlayMask\";\nimport { ILoaderScreenMiddleProps } from \"../../LoaderScreen/LoaderScreen\";\nimport { LightBoxSideOverlayLoader } from \"./LightBoxSideOverlayLoader\";\nimport { FocusTrapUtils } from \"../../../utils/focus/FocusTrapUtils\";\nimport { LightBoxSideOverlayCloseMobile } from \"./LightBoxSideOverlayCloseMobile\";\nimport { LightBoxSideOverlayCloseDesktop } from \"./LightBoxSideOverlayCloseDesktop\";\nimport { EComponentSize } from \"../../../enums/EComponentSize\";\nimport { createSizeToClassNameMap } from \"../../../utils/classNameMaps\";\nimport styles from \"./styles/LightBoxSideOverlay.module.less\";\n\n/** Свойства компонента LightBoxSideOverlay. */\nexport interface ILightBoxSideOverlayProps\n extends React.HTMLAttributes<HTMLDivElement>, Pick<IOverlayBaseProps, \"opened\" | \"onClose\" | \"onOpen\"> {\n /** Свойства компонента FocusTrapExtended. */\n focusTrapProps?: IFocusTrapExtendedProps;\n /** Состояние загрузки. */\n isLoading?: boolean;\n /** Свойства компонента LoaderScreen. */\n loaderScreenProps?: ILoaderScreenMiddleProps;\n /** Открыт другой SideOverlay поверх текущего. */\n isTopLevelSideOverlayOpened?: boolean;\n /** Открыт TopOverlay в текущем SideOverlay. */\n isTopOverlayOpened?: boolean;\n /** Размер компонента. */\n size?: EComponentSize;\n}\n\nconst sizeToClassNameMap = createSizeToClassNameMap(styles);\n\n/** Заглушка для OverlayBase: состояние открытия SideOverlay управляется снаружи через prop opened. */\nconst setOpened = () => {};\n\nconst LightBoxSideOverlayBase = React.forwardRef<HTMLDivElement, ILightBoxSideOverlayProps>(\n (\n {\n children,\n className,\n focusTrapProps,\n isLoading,\n loaderScreenProps,\n isTopLevelSideOverlayOpened,\n isTopOverlayOpened,\n onClose,\n onOpen,\n opened,\n size = EComponentSize.MD,\n ...htmlDivAttributes\n },\n ref,\n ) => {\n // Флаг, в текущий момент оверлей закрывается.\n const [closing, setClosing] = useState(false);\n // Флаг, в текущий момент оверлей открывается.\n const [opening, setOpening] = useState(false);\n // Предыдущее состояние открыт/закрыт.\n const prevOpened = useRef(opened);\n const contentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (prevOpened.current && !opened) {\n setOpening(false); // opened меняется в процессе анимации открытия.\n setClosing(true);\n } else if (!prevOpened.current && opened) {\n setClosing(false); // opened меняется в процессе анимации закрытия.\n setOpening(true);\n }\n\n prevOpened.current = opened;\n }, [opened]);\n\n const handleTransitionEnd = (event: React.TransitionEvent<HTMLDivElement>) => {\n const { target, currentTarget } = event;\n\n if (target === currentTarget) {\n if (closing) {\n setClosing(false);\n onClose?.();\n } else if (opening) {\n setOpening(false);\n onOpen?.();\n }\n }\n };\n\n const renderMask = ({ opened }: IOverlayChildrenProvideProps) => (\n <OverlayMask opened={opened} className={styles.lightBoxSideOverlayMask} />\n );\n\n const renderPanel = () => (\n <div\n className={clsx(styles.lightBoxSideOverlayContent, {\n [styles.closing]: closing,\n [styles.opening]: opening,\n [styles.opened]: opened,\n })}\n onTransitionEnd={handleTransitionEnd}\n ref={contentRef}\n >\n {children}\n\n {isLoading && <LightBoxSideOverlayLoader loaderScreenProps={loaderScreenProps} />}\n </div>\n );\n\n const classNameOverlayWrapper = clsx(className, styles.lightBoxSideOverlayWrapper, sizeToClassNameMap[size], {\n [styles.closing]: closing,\n [styles.opened]: opened,\n [styles.overflowXHidden]: Boolean(isTopLevelSideOverlayOpened) || Boolean(isLoading),\n [styles.overflowYHidden]:\n Boolean(isTopLevelSideOverlayOpened) || Boolean(isLoading) || Boolean(isTopOverlayOpened),\n });\n\n const renderOverlay = (provideProps: IOverlayChildrenProvideProps) => (\n <>\n {renderMask(provideProps)}\n {renderPanel()}\n </>\n );\n\n return (\n <FocusTrapExtended\n active={opened && !opening && !closing}\n {...focusTrapProps}\n focusTrapOptions={{\n allowOutsideClick: true,\n initialFocus: () => FocusTrapUtils.getFirstInteractionElementByDataAttr(contentRef.current),\n preventScroll: true,\n ...focusTrapProps?.focusTrapOptions,\n }}\n >\n <div\n className={classNameOverlayWrapper}\n role=\"dialog\"\n aria-modal=\"true\"\n {...htmlDivAttributes}\n ref={ref}\n >\n <div\n className={clsx(styles.lightBoxSideOverlay, {\n [styles.closing]: closing,\n [styles.opening]: opening,\n })}\n >\n <OverlayBase direction={EOverlayDirection.RIGHT} opened={opened} setOpened={setOpened}>\n {renderOverlay}\n </OverlayBase>\n </div>\n </div>\n </FocusTrapExtended>\n );\n },\n);\n\nLightBoxSideOverlayBase.displayName = \"LightBoxSideOverlay\";\n\n/** Боковая панель LightBox, выезжающая с правой стороны. */\nexport const LightBoxSideOverlay = Object.assign(LightBoxSideOverlayBase, {\n CloseDesktop: LightBoxSideOverlayCloseDesktop,\n CloseMobile: LightBoxSideOverlayCloseMobile,\n});\n"],"names":["React","opened","closing","opening"],"mappings":"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"}
@@ -2,12 +2,12 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { useRef } from "react";
3
3
  import { TriggerClickOnKeyDownEvent } from "../../Triggers/TriggerClickOnKeyDownEvent.js";
4
4
  import { EVENT_KEY_CODES } from "../../../utils/keyboard.js";
5
- import { c as clsx } from "../../../chunks/vendor-Bco_z_Yi.js";
5
+ import { c as clsx } from "../../../chunks/vendor-1HxVLgKa.js";
6
6
  import { CrossStrokeSrvIcon32 } from "@sberbusiness/icons-next";
7
7
  import { EButtonTheme } from "../../Button/enums.js";
8
8
  import { EComponentSize } from "../../../enums/EComponentSize.js";
9
9
  import { Button } from "../../Button/Button.js";
10
- import { s as styles } from "../../../chunks/LightBoxSideOverlayClose.module-DH3toLJp.js";
10
+ import { s as styles } from "../../../chunks/LightBoxSideOverlayClose.module-BW5kBtvi.js";
11
11
  const LightBoxSideOverlayCloseDesktop = ({
12
12
  className,
13
13
  clickByEsc,
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { c as clsx } from "../../../chunks/vendor-Bco_z_Yi.js";
2
+ import { c as clsx } from "../../../chunks/vendor-1HxVLgKa.js";
3
3
  import { CrossStrokeSrvIcon20 } from "@sberbusiness/icons-next";
4
- import { s as styles } from "../../../chunks/LightBoxSideOverlayClose.module-DH3toLJp.js";
4
+ import { s as styles } from "../../../chunks/LightBoxSideOverlayClose.module-BW5kBtvi.js";
5
5
  import { EButtonTheme } from "../../Button/enums.js";
6
6
  import { EComponentSize } from "../../../enums/EComponentSize.js";
7
7
  import { Button } from "../../Button/Button.js";