@sberbusiness/triplex-next 0.37.0 → 0.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 (595) hide show
  1. package/chunks/{AlertProcessSpoiler-DzJBKvym.js → AlertProcessSpoiler-DRoHuVl6.js} +17 -17
  2. package/chunks/{AlertProcessSpoiler-DzJBKvym.js.map → AlertProcessSpoiler-DRoHuVl6.js.map} +1 -1
  3. package/chunks/{CalendarViewItem-Gpj9jiM9.js → CalendarViewItem-AChLlz4N.js} +21 -21
  4. package/chunks/{CalendarViewItem-Gpj9jiM9.js.map → CalendarViewItem-AChLlz4N.js.map} +1 -1
  5. package/chunks/Card.module-CZ1_wRdI.js +30 -0
  6. package/chunks/Card.module-CZ1_wRdI.js.map +1 -0
  7. package/chunks/Carousel.module-COe08s01.js +30 -0
  8. package/chunks/Carousel.module-COe08s01.js.map +1 -0
  9. package/chunks/CheckboxTreeExtended.module-CsB5Xz5K.js +24 -0
  10. package/chunks/CheckboxTreeExtended.module-CsB5Xz5K.js.map +1 -0
  11. package/chunks/{Chip-CugeMcpv.js → Chip-DGvjOx0y.js} +17 -17
  12. package/chunks/{Chip-CugeMcpv.js.map → Chip-DGvjOx0y.js.map} +1 -1
  13. package/chunks/Confirm.module-CEJR1txO.js +24 -0
  14. package/chunks/Confirm.module-CEJR1txO.js.map +1 -0
  15. package/chunks/{DropdownListItem-XgkJENoJ.js → DropdownListItem-COR0eOzM.js} +11 -11
  16. package/chunks/{DropdownListItem-XgkJENoJ.js.map → DropdownListItem-COR0eOzM.js.map} +1 -1
  17. package/chunks/DropdownMobile.module-DUiUSr13.js +40 -0
  18. package/chunks/DropdownMobile.module-DUiUSr13.js.map +1 -0
  19. package/chunks/Footer.module-DUTwBl0x.js +12 -0
  20. package/chunks/Footer.module-DUTwBl0x.js.map +1 -0
  21. package/chunks/{HeaderLayoutSidebar.module-Cy3S-awo.js → HeaderLayoutSidebar.module-o5cCUCGl.js} +4 -4
  22. package/chunks/HeaderLayoutSidebar.module-o5cCUCGl.js.map +1 -0
  23. package/chunks/HeaderTabs.module-Ch5Mbe7q.js +12 -0
  24. package/chunks/HeaderTabs.module-Ch5Mbe7q.js.map +1 -0
  25. package/chunks/{HeaderTitle.module-L21RUjgb.js → HeaderTitle.module-CUVjwVW7.js} +4 -4
  26. package/chunks/HeaderTitle.module-CUVjwVW7.js.map +1 -0
  27. package/chunks/ImageGalleryExtendedMain.module-BMoLBevi.js +28 -0
  28. package/chunks/ImageGalleryExtendedMain.module-BMoLBevi.js.map +1 -0
  29. package/chunks/{ImageGalleryExtendedThumb-C64QW6_F.js → ImageGalleryExtendedThumb-B7xjP3UP.js} +6 -6
  30. package/chunks/{ImageGalleryExtendedThumb-C64QW6_F.js.map → ImageGalleryExtendedThumb-B7xjP3UP.js.map} +1 -1
  31. package/chunks/IslandAccordion.module-YxGUkwAy.js +44 -0
  32. package/chunks/IslandAccordion.module-YxGUkwAy.js.map +1 -0
  33. package/chunks/IslandWidgetFooter.module-Bk3x1llO.js +12 -0
  34. package/chunks/IslandWidgetFooter.module-Bk3x1llO.js.map +1 -0
  35. package/chunks/IslandWidgetHeader.module-BcrHca9Y.js +20 -0
  36. package/chunks/IslandWidgetHeader.module-BcrHca9Y.js.map +1 -0
  37. package/chunks/{LightBoxContent-Cmms94V7.js → LightBoxContent-blTzF5vv.js} +15 -15
  38. package/chunks/LightBoxContent-blTzF5vv.js.map +1 -0
  39. package/chunks/LightBoxControls.module-DisqspyG.js +26 -0
  40. package/chunks/LightBoxControls.module-DisqspyG.js.map +1 -0
  41. package/chunks/{LightBoxSideOverlayClose.module-CNNq1ih2.js → LightBoxSideOverlayClose.module-BVuB53vM.js} +4 -4
  42. package/chunks/LightBoxSideOverlayClose.module-BVuB53vM.js.map +1 -0
  43. package/chunks/{ListItemControlsButton-y8aHAdNp.js → ListItemControlsButton-DulKpjwV.js} +10 -10
  44. package/chunks/{ListItemControlsButton-y8aHAdNp.js.map → ListItemControlsButton-DulKpjwV.js.map} +1 -1
  45. package/chunks/ListItemTail.module-B24d99yc.js +18 -0
  46. package/chunks/ListItemTail.module-B24d99yc.js.map +1 -0
  47. package/chunks/ListMasterFooter.module-XwfScyft.js +14 -0
  48. package/chunks/ListMasterFooter.module-XwfScyft.js.map +1 -0
  49. package/chunks/ModalWindow.module-CAccCwuD.js +28 -0
  50. package/chunks/ModalWindow.module-CAccCwuD.js.map +1 -0
  51. package/chunks/Notification.module-yXlyaoAB.js +34 -0
  52. package/chunks/Notification.module-yXlyaoAB.js.map +1 -0
  53. package/chunks/Overlay.module-gnmqM0Mg.js +30 -0
  54. package/chunks/Overlay.module-gnmqM0Mg.js.map +1 -0
  55. package/chunks/Page.module-CyuFcFEq.js +15 -0
  56. package/chunks/Page.module-CyuFcFEq.js.map +1 -0
  57. package/chunks/SMSField.module-By9uV96A.js +26 -0
  58. package/chunks/SMSField.module-By9uV96A.js.map +1 -0
  59. package/chunks/SliderExtendedMarks.module-DwGOsapl.js +24 -0
  60. package/chunks/SliderExtendedMarks.module-DwGOsapl.js.map +1 -0
  61. package/chunks/{SliderExtendedRail-hyqJLlK_.js → SliderExtendedRail-kRXLpNwt.js} +6 -6
  62. package/chunks/{SliderExtendedRail-hyqJLlK_.js.map → SliderExtendedRail-kRXLpNwt.js.map} +1 -1
  63. package/chunks/StatusTracker.module-DSfmXNxw.js +42 -0
  64. package/chunks/StatusTracker.module-DSfmXNxw.js.map +1 -0
  65. package/chunks/{StepperStepArrowBorder-C7jQ8uyR.js → StepperStepArrowBorder-CsES9yvO.js} +16 -16
  66. package/chunks/{StepperStepArrowBorder-C7jQ8uyR.js.map → StepperStepArrowBorder-CsES9yvO.js.map} +1 -1
  67. package/chunks/{SuggestFieldMobileDropdownHint-Ce8nkA7q.js → SuggestFieldMobileDropdownHint-YOB5F8TH.js} +3 -3
  68. package/chunks/{SuggestFieldMobileDropdownHint-Ce8nkA7q.js.map → SuggestFieldMobileDropdownHint-YOB5F8TH.js.map} +1 -1
  69. package/chunks/TableFooter.module-DM5tgc_b.js +22 -0
  70. package/chunks/TableFooter.module-DM5tgc_b.js.map +1 -0
  71. package/chunks/TabsExtended.module-91rJFYMk.js +26 -0
  72. package/chunks/TabsExtended.module-91rJFYMk.js.map +1 -0
  73. package/chunks/TabsLine.module-DAe_P2wh.js +36 -0
  74. package/chunks/TabsLine.module-DAe_P2wh.js.map +1 -0
  75. package/chunks/TooltipDesktop.module-BW_tN5pN.js +32 -0
  76. package/chunks/TooltipDesktop.module-BW_tN5pN.js.map +1 -0
  77. package/chunks/TreeView.module-BheprFto.js +12 -0
  78. package/chunks/TreeView.module-BheprFto.js.map +1 -0
  79. package/chunks/{UploadZoneInput-CXHoO_4p.js → UploadZoneInput-Dc9Z6NrZ.js} +6 -6
  80. package/chunks/{UploadZoneInput-CXHoO_4p.js.map → UploadZoneInput-Dc9Z6NrZ.js.map} +1 -1
  81. package/chunks/{constants-0r4Y9jQ2.js → constants-b3mFJcdx.js} +27 -27
  82. package/chunks/{constants-0r4Y9jQ2.js.map → constants-b3mFJcdx.js.map} +1 -1
  83. package/chunks/{utils-B02nhAst.js → utils-B1pi9Ckc.js} +11 -11
  84. package/chunks/{utils-B02nhAst.js.map → utils-B1pi9Ckc.js.map} +1 -1
  85. package/chunks/{utils-D3j1f6_9.js → utils-BXgC_I8P.js} +8 -8
  86. package/chunks/{utils-D3j1f6_9.js.map → utils-BXgC_I8P.js.map} +1 -1
  87. package/chunks/{utils-Bd03Y65b.js → utils-Bv8Gz_QY.js} +27 -27
  88. package/chunks/{utils-Bd03Y65b.js.map → utils-Bv8Gz_QY.js.map} +1 -1
  89. package/chunks/{utils-DY7_iBZq.js → utils-DdrwqT9t.js} +6 -6
  90. package/chunks/{utils-DY7_iBZq.js.map → utils-DdrwqT9t.js.map} +1 -1
  91. package/chunks/vendor-DKrjZZwJ.js +36109 -0
  92. package/chunks/vendor-DKrjZZwJ.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 +9 -8
  188. package/components/CollapsibleTree/components/CollapsibleTreeNodeHeader.js.map +1 -1
  189. package/components/CollapsibleTreeExtended/components/CollapsibleTreeExtendedNode.js +2 -2
  190. package/components/Confirm/Confirm.js +2 -2
  191. package/components/Confirm/components/ConfirmCloseButton.js +2 -2
  192. package/components/Confirm/components/ConfirmContent.js +2 -2
  193. package/components/Confirm/components/ConfirmContentTitle.js +2 -2
  194. package/components/Confirm/components/ConfirmControls.js +2 -2
  195. package/components/DatePickerExtended/DatePickerExtended.js +2 -2
  196. package/components/DatePickerExtended/DatePickerExtendedDropdown.js +2 -2
  197. package/components/DateRange/DateRange.js +4 -4
  198. package/components/DesignTokens/DesignTokenUtils.js +2 -2
  199. package/components/DesignTokens/DesignTokensComponents.js +2 -0
  200. package/components/DesignTokens/DesignTokensComponents.js.map +1 -1
  201. package/components/DesignTokens/DesignTokensComponentsThemeDark.js +2 -0
  202. package/components/DesignTokens/DesignTokensComponentsThemeDark.js.map +1 -1
  203. package/components/DesignTokens/components/Carousel.js +51 -0
  204. package/components/DesignTokens/components/Carousel.js.map +1 -0
  205. package/components/DesignTokens/components/ListItem.js +3 -0
  206. package/components/DesignTokens/components/ListItem.js.map +1 -1
  207. package/components/DesignTokens/components/index.js +3 -0
  208. package/components/DesignTokens/components/index.js.map +1 -1
  209. package/components/DesignTokens/types/DesignTokensTypes.js.map +1 -1
  210. package/components/Divider/Divider.js +18 -18
  211. package/components/DocumentNumberEdit/DocumentNumberEdit.js +4 -4
  212. package/components/Dropdown/desktop/DropdownDesktop.js +7 -7
  213. package/components/Dropdown/desktop/DropdownList.js +2 -2
  214. package/components/Dropdown/desktop/DropdownListItem.js +2 -2
  215. package/components/Dropdown/desktop/index.js +1 -1
  216. package/components/Dropdown/index.js +1 -1
  217. package/components/Dropdown/mobile/DropdownMobile.js +2 -2
  218. package/components/Dropdown/mobile/DropdownMobileBody.js +2 -2
  219. package/components/Dropdown/mobile/DropdownMobileClose.js +2 -2
  220. package/components/Dropdown/mobile/DropdownMobileFooter.js +2 -2
  221. package/components/Dropdown/mobile/DropdownMobileHeader.js +2 -2
  222. package/components/Dropdown/mobile/DropdownMobileInner.js +2 -2
  223. package/components/Dropdown/mobile/DropdownMobileInput.js +2 -2
  224. package/components/Dropdown/mobile/DropdownMobileList.js +2 -2
  225. package/components/Dropdown/mobile/DropdownMobileListItem.js +2 -2
  226. package/components/Dropdown/mobile/DropdownMobileLoader.js +2 -2
  227. package/components/Dropdown/mobile/DropdownMobileMaskedInput.js +2 -2
  228. package/components/Ellipsis/Ellipsis.js +4 -4
  229. package/components/EmptyView/EmptyView.js +5 -5
  230. package/components/ExpandAnimation/ExpandAnimation.js +2 -2
  231. package/components/FocusTrapExtended/FocusTrapExtended.js +1 -1
  232. package/components/Footer/Footer.js +1 -1
  233. package/components/Footer/components/FooterDescription.js +2 -2
  234. package/components/Footer/components/FooterDescriptionContent.js +2 -2
  235. package/components/Footer/components/FooterDescriptionControls.js +2 -2
  236. package/components/FormField/FormField.js +12 -12
  237. package/components/FormField/components/FormFieldClear.js +2 -2
  238. package/components/FormField/components/FormFieldCounter.js +1 -1
  239. package/components/FormField/components/FormFieldDescription.js +3 -3
  240. package/components/FormField/components/FormFieldInput.js +5 -5
  241. package/components/FormField/components/FormFieldLabel.js +8 -8
  242. package/components/FormField/components/FormFieldMaskedInput.js +7 -7
  243. package/components/FormField/components/FormFieldPostfix.js +2 -2
  244. package/components/FormField/components/FormFieldPrefix.js +2 -2
  245. package/components/FormField/components/FormFieldTarget.js +9 -9
  246. package/components/FormField/components/FormFieldTextarea.js +5 -5
  247. package/components/Gap/Gap.js +9 -9
  248. package/components/Header/Header.js +1 -1
  249. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebar.js +2 -2
  250. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarContent.js +2 -2
  251. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarSidebar.js +2 -2
  252. package/components/Header/components/HeaderSubheader/HeaderSubheader.js +3 -3
  253. package/components/Header/components/HeaderTabs/HeaderTabs.js +2 -2
  254. package/components/Header/components/HeaderTabs/HeaderTabsContent.js +2 -2
  255. package/components/Header/components/HeaderTabs/HeaderTabsControls.js +2 -2
  256. package/components/Header/components/HeaderTitle/HeaderTitle.js +2 -2
  257. package/components/Header/components/HeaderTitle/HeaderTitleContent.js +2 -2
  258. package/components/Header/components/HeaderTitle/HeaderTitleControls.js +2 -2
  259. package/components/HelpBox/HelpBox.js +2 -2
  260. package/components/IconWrapper/IconWrapper.js +3 -3
  261. package/components/ImageGallery/ImageGallery.js +1 -1
  262. package/components/ImageGalleryExtended/ImageGalleryExtended.js +3 -3
  263. package/components/ImageGalleryExtended/components/ImageGalleryExtendedArrow.js +2 -2
  264. package/components/ImageGalleryExtended/components/ImageGalleryExtendedDots.js +4 -4
  265. package/components/ImageGalleryExtended/components/ImageGalleryExtendedMain.js +2 -2
  266. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSlide.js +2 -2
  267. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSwipeTrack.js +2 -2
  268. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumb.js +2 -2
  269. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumbnails.js +2 -2
  270. package/components/ImageGalleryExtended/components/index.js +1 -1
  271. package/components/ImageGalleryExtended/index.js +1 -1
  272. package/components/Island/Island.js +2 -2
  273. package/components/Island/components/IslandBody.js +2 -2
  274. package/components/Island/components/IslandFooter.js +2 -2
  275. package/components/Island/components/IslandHeader.js +2 -2
  276. package/components/Island/utils.js +1 -1
  277. package/components/IslandAccordion/IslandAccordion.js +3 -3
  278. package/components/IslandAccordion/components/IslandAccordionContent.js +1 -1
  279. package/components/IslandAccordion/components/IslandAccordionFooter.js +2 -2
  280. package/components/IslandAccordion/components/IslandAccordionItem.js +3 -4
  281. package/components/IslandAccordion/components/IslandAccordionItem.js.map +1 -1
  282. package/components/IslandWidget/IslandWidget.js +5 -5
  283. package/components/IslandWidget/components/IslandWidgetBody.js +2 -2
  284. package/components/IslandWidget/components/IslandWidgetExtraFooter.js +2 -2
  285. package/components/IslandWidget/components/IslandWidgetFooter.js +2 -2
  286. package/components/IslandWidget/components/IslandWidgetFooterContent.js +1 -1
  287. package/components/IslandWidget/components/IslandWidgetFooterControls.js +1 -1
  288. package/components/IslandWidget/components/IslandWidgetHeader.js +2 -2
  289. package/components/IslandWidget/components/IslandWidgetHeaderContent.js +2 -2
  290. package/components/IslandWidget/components/IslandWidgetHeaderControls.js +2 -2
  291. package/components/IslandWidget/components/IslandWidgetHeaderDescription.js +2 -2
  292. package/components/IslandWidget/components/IslandWidgetHeaderTitle.js +13 -4
  293. package/components/IslandWidget/components/IslandWidgetHeaderTitle.js.map +1 -1
  294. package/components/IslandWidget/components/IslandWidgetWrapper.js +2 -2
  295. package/components/LightBox/LightBox.js +34 -31
  296. package/components/LightBox/LightBox.js.map +1 -1
  297. package/components/LightBox/LightBoxContent.js +2 -2
  298. package/components/LightBox/LightBoxControls/LightBoxArrow.js +63 -0
  299. package/components/LightBox/LightBoxControls/LightBoxArrow.js.map +1 -0
  300. package/components/LightBox/LightBoxControls/LightBoxClose.js +8 -6
  301. package/components/LightBox/LightBoxControls/LightBoxClose.js.map +1 -1
  302. package/components/LightBox/LightBoxControls/LightBoxControls.js +2 -2
  303. package/components/LightBox/LightBoxControls/LightBoxControls.js.map +1 -1
  304. package/components/LightBox/LightBoxControls/LightBoxNext.js +18 -53
  305. package/components/LightBox/LightBoxControls/LightBoxNext.js.map +1 -1
  306. package/components/LightBox/LightBoxControls/LightBoxPrev.js +18 -53
  307. package/components/LightBox/LightBoxControls/LightBoxPrev.js.map +1 -1
  308. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js +15 -15
  309. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js.map +1 -1
  310. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseDesktop.js +2 -2
  311. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseMobile.js +2 -2
  312. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js +5 -8
  313. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js.map +1 -1
  314. package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js +7 -34
  315. package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js.map +1 -1
  316. package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js +7 -34
  317. package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js.map +1 -1
  318. package/components/LightBox/LightBoxSidebars/useLightBoxSidebarVisibility.js +37 -0
  319. package/components/LightBox/LightBoxSidebars/useLightBoxSidebarVisibility.js.map +1 -0
  320. package/components/LightBox/LightBoxViewManager/LightBoxViewManager.js +32 -30
  321. package/components/LightBox/LightBoxViewManager/LightBoxViewManager.js.map +1 -1
  322. package/components/LightBox/LightBoxViewManager/LightBoxViewManagerConsts.js +0 -11
  323. package/components/LightBox/LightBoxViewManager/LightBoxViewManagerConsts.js.map +1 -1
  324. package/components/LightBox/enums.js.map +1 -1
  325. package/components/Link/Link.js +6 -6
  326. package/components/List/List.js +4 -4
  327. package/components/List/ListSortable.js +1 -1
  328. package/components/List/components/ListActionItem.js +42 -0
  329. package/components/List/components/ListActionItem.js.map +1 -0
  330. package/components/List/components/ListEmptyState.js +2 -2
  331. package/components/List/components/ListItem.js +1 -1
  332. package/components/List/components/ListItemContent.js +5 -5
  333. package/components/List/components/ListItemControls.js +2 -2
  334. package/components/List/components/ListItemControlsButton.js +2 -2
  335. package/components/List/components/ListItemControlsButtonDropdown.js +2 -2
  336. package/components/List/components/ListItemLoading.js +2 -2
  337. package/components/List/components/ListItemSelectable.js +7 -7
  338. package/components/List/components/ListItemTailLeft.js +2 -2
  339. package/components/List/components/ListItemTailRight.js +2 -2
  340. package/components/List/components/ListSortableItem.js +3 -3
  341. package/components/List/components/ListSortableItemControls.js +2 -2
  342. package/components/List/components/ListSortableItemTarget.js +5 -5
  343. package/components/List/components/{ListItemTable.js → ListTableItem.js} +10 -10
  344. package/components/List/components/{ListItemTable.js.map → ListTableItem.js.map} +1 -1
  345. package/components/List/index.js +6 -4
  346. package/components/List/index.js.map +1 -1
  347. package/components/ListMaster/ListMaster.js +1 -1
  348. package/components/ListMaster/components/ListMasterBody.js +1 -1
  349. package/components/ListMaster/components/ListMasterChipGroup.js +2 -2
  350. package/components/ListMaster/components/ListMasterFooter.js +2 -2
  351. package/components/ListMaster/components/ListMasterFooterControls.js +2 -2
  352. package/components/ListMaster/components/ListMasterFooterDescription.js +2 -2
  353. package/components/ListMaster/components/ListMasterHeader.js +3 -3
  354. package/components/ListMaster/components/SelectionControls.js +3 -3
  355. package/components/Loader/LoaderMiddle/LoaderMiddle.js +9 -9
  356. package/components/Loader/LoaderSmall/LoaderSmall.js +11 -11
  357. package/components/LoaderScreen/LoaderScreen.js +6 -6
  358. package/components/Marker/Marker.js +2 -2
  359. package/components/Marker/utils.js +1 -1
  360. package/components/MarkerStatus/MarkerStatus.js +8 -8
  361. package/components/ModalWindow/ModalWindow.js +2 -2
  362. package/components/ModalWindow/components/ModalWindowBody.js +2 -2
  363. package/components/ModalWindow/components/ModalWindowClose.js +1 -1
  364. package/components/ModalWindow/components/ModalWindowContent.js +2 -2
  365. package/components/ModalWindow/components/ModalWindowHeader.js +2 -2
  366. package/components/ModalWindow/components/ModalWindowViewManager.js +2 -2
  367. package/components/MonthYearRange/MonthYearRange.js +4 -4
  368. package/components/MultiselectField/components/MultiselectFieldDropdown.js +2 -2
  369. package/components/MultiselectField/components/MultiselectFieldDropdownContent.js +6 -6
  370. package/components/MultiselectField/components/MultiselectFieldDropdownFooter.js +2 -2
  371. package/components/MultiselectField/components/MultiselectFieldDropdownHeader.js +2 -2
  372. package/components/Notification/Notification.js +3 -3
  373. package/components/Notification/NotificationGrouped.js +1 -1
  374. package/components/Notification/components/NotificationBody.js +1 -1
  375. package/components/Notification/components/NotificationBodyList.js +2 -2
  376. package/components/Notification/components/NotificationClose.js +1 -2
  377. package/components/Notification/components/NotificationClose.js.map +1 -1
  378. package/components/Notification/components/NotificationFooter.js +1 -1
  379. package/components/Notification/components/NotificationGroupedFooter.js +2 -2
  380. package/components/Notification/components/NotificationHeader.js +1 -1
  381. package/components/Notification/components/NotificationIcon.js +1 -1
  382. package/components/Notification/components/NotificationTime.js +1 -1
  383. package/components/OrderedList/OrderedList.js +3 -3
  384. package/components/OrderedList/OrderedListItem.js +3 -3
  385. package/components/Overlay/Overlay.js +2 -2
  386. package/components/Overlay/OverlayMask.js +2 -2
  387. package/components/Overlay/OverlayPanel.js +2 -2
  388. package/components/Page/Page.js +2 -2
  389. package/components/Page/components/BodyPage.js +4 -4
  390. package/components/Page/components/FooterPage.js +2 -2
  391. package/components/Page/components/HeaderPage.js +2 -2
  392. package/components/Pagination/components/PaginationExtended.js +3 -3
  393. package/components/Pagination/components/PaginationNavigationButton.js +2 -2
  394. package/components/Pagination/components/PaginationNavigationExtended.js +2 -2
  395. package/components/Pagination/components/PaginationPageButton.js +3 -7
  396. package/components/Pagination/components/PaginationPageButton.js.map +1 -1
  397. package/components/Pagination/components/PaginationPageEllipsis.js +2 -2
  398. package/components/Pagination/components/PaginationSelect.js +3 -3
  399. package/components/Pagination/utils/paginationUtils.js +1 -1
  400. package/components/Radio/Radio.js +10 -10
  401. package/components/Radio/RadioXGroup.js +9 -9
  402. package/components/Radio/RadioYGroup.js +2 -2
  403. package/components/Row/Row.js +25 -17
  404. package/components/Row/Row.js.map +1 -1
  405. package/components/Row/RowContext.js.map +1 -1
  406. package/components/SMSField/SMSField.js +3 -3
  407. package/components/SMSField/components/RefreshIcon.js +2 -2
  408. package/components/SMSField/components/SMSFieldInput.js +2 -2
  409. package/components/SMSField/components/SMSFieldRefresh.js +2 -3
  410. package/components/SMSField/components/SMSFieldRefresh.js.map +1 -1
  411. package/components/SMSField/components/SMSFieldSubmit.js +2 -3
  412. package/components/SMSField/components/SMSFieldSubmit.js.map +1 -1
  413. package/components/SMSField/components/SMSFieldTooltip.js +1 -1
  414. package/components/SegmentedControl/SegmentedControl.js +10 -10
  415. package/components/SegmentedControl/SegmentedControlSegment.js +4 -4
  416. package/components/SelectExtendedField/SelectExtendedField.js +2 -2
  417. package/components/SelectExtendedField/components/SelectExtendedFieldDropdown.js +1 -1
  418. package/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js +1 -1
  419. package/components/SelectExtendedField/components/SelectExtendedFieldTarget.js +8 -8
  420. package/components/SelectField/SelectField.js +2 -2
  421. package/components/Skeleton/Skeleton.js +5 -5
  422. package/components/SliderExtended/SliderExtended.js +3 -3
  423. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js +6 -6
  424. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMark.js +2 -2
  425. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarks.js +2 -2
  426. package/components/SliderExtended/components/SliderExtendedRail.js +2 -2
  427. package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js +5 -5
  428. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js +7 -7
  429. package/components/SmallInput/SmallInput.js +2 -2
  430. package/components/Spoiler/Spoiler.js +11 -12
  431. package/components/Spoiler/Spoiler.js.map +1 -1
  432. package/components/StatusTracker/StatusTracker.js +3 -3
  433. package/components/StatusTracker/components/StatusTrackerAlert.js +2 -2
  434. package/components/StatusTracker/components/StatusTrackerBody.js +2 -2
  435. package/components/StatusTracker/components/StatusTrackerButton.js +2 -3
  436. package/components/StatusTracker/components/StatusTrackerButton.js.map +1 -1
  437. package/components/StatusTracker/components/StatusTrackerDescription.js +2 -2
  438. package/components/StatusTracker/components/StatusTrackerFooter.js +2 -2
  439. package/components/StatusTracker/components/StatusTrackerHeader.js +2 -2
  440. package/components/StatusTracker/components/StatusTrackerMedia.js +2 -2
  441. package/components/StatusTracker/components/StatusTrackerStatus.js +2 -2
  442. package/components/StatusTracker/components/StatusTrackerStatusGroup.js +2 -2
  443. package/components/StatusTracker/components/StatusTrackerSum.js +2 -2
  444. package/components/StatusTracker/components/StatusTrackerTitle.js +2 -2
  445. package/components/Step/Step.js +11 -11
  446. package/components/Stepper/Stepper.js +9 -9
  447. package/components/Stepper/StepperExtended.js +2 -2
  448. package/components/Stepper/StepperStep.js +3 -3
  449. package/components/Stepper/StepperStepArrowBorder.js +1 -1
  450. package/components/Suggest/SuggestMobileDropdownContent.js +3 -3
  451. package/components/Suggest/useSuggest.js +1 -1
  452. package/components/SuggestField/SuggestField.js +1 -1
  453. package/components/SuggestField/desktop/SuggestFieldDesktop.js +2 -2
  454. package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js +1 -1
  455. package/components/SuggestField/index.js +1 -1
  456. package/components/SuggestField/mobile/SuggestFieldMobile.js +1 -1
  457. package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js +2 -2
  458. package/components/SuggestField/mobile/SuggestFieldMobileDropdownHint.js +1 -1
  459. package/components/SuggestField/mobile/index.js +1 -1
  460. package/components/SwipeableArea/SwipeableArea.js +9 -9
  461. package/components/Table/ChipPanel.js +2 -2
  462. package/components/Table/ChipPanelLinks.js +2 -2
  463. package/components/Table/FilterPanel.js +3 -3
  464. package/components/Table/MasterTable.js +3 -3
  465. package/components/Table/NoColumns.js +3 -3
  466. package/components/Table/PaginationPanel.js +3 -3
  467. package/components/Table/TableBasic/TableBasic.js +2 -2
  468. package/components/Table/TableBasic/components/TableBasicBody.js +2 -2
  469. package/components/Table/TableBasic/components/TableBasicHeader.js +2 -2
  470. package/components/Table/TableBasic/components/TableBasicRow.js +2 -2
  471. package/components/Table/TableBasicSettings/TableBasicSettings.js +3 -3
  472. package/components/Table/TableBasicSettings/components/ColumnSettingsSortableListItemTarget.js +3 -3
  473. package/components/Table/TableBasicSettings/components/ColumnSettingsStaticListItem.js +2 -2
  474. package/components/Table/TableBasicSettings/components/TableBasicSettingsBody.js +2 -2
  475. package/components/Table/TableBasicSettings/components/TableBasicSettingsFooter.js +2 -2
  476. package/components/Table/TableBasicSettings/components/TableBasicSettingsHeader.js +2 -2
  477. package/components/Table/TableFooter/TableFooter.js +2 -2
  478. package/components/Table/TableFooter/components/TableFooterSummary.js +1 -1
  479. package/components/Table/TableFooter/components/TableFooterSummaryAmount.js +1 -1
  480. package/components/Table/TableFooter/components/TableFooterSummarySelectAllButton.js +1 -1
  481. package/components/Table/TableFooter/components/TableFooterSummarySelectedCount.js +1 -1
  482. package/components/Table/utils.js +1 -1
  483. package/components/Tabs/Tabs.js +6 -7
  484. package/components/Tabs/Tabs.js.map +1 -1
  485. package/components/TabsExtended/TabsExtended.js +3 -3
  486. package/components/TabsExtended/components/TabsExtendedContent.js +2 -2
  487. package/components/TabsExtended/components/TabsExtendedDropdownWrapper.js +2 -2
  488. package/components/TabsExtended/components/TabsExtendedTab.js +2 -2
  489. package/components/TabsExtended/components/TabsExtendedTabButton.js +2 -2
  490. package/components/TabsExtended/components/TabsExtendedTabsWrapper.js +2 -2
  491. package/components/TabsExtended/utils.js +1 -1
  492. package/components/TabsLine/TabsLine.js +2 -2
  493. package/components/TabsLine/components/TabsLineDesktop.js +2 -2
  494. package/components/TabsLine/components/TabsLineDropdown.js +3 -3
  495. package/components/TabsLine/components/TabsLineItem.js +2 -2
  496. package/components/TabsLine/components/TabsLineMobile.js +2 -2
  497. package/components/Tag/Tag.js +6 -6
  498. package/components/TagColor/TagColor.js +11 -11
  499. package/components/TagGroup/TagGroup.js +5 -5
  500. package/components/TextField/TextField.js.map +1 -1
  501. package/components/TextField/TextFieldBase.js.map +1 -1
  502. package/components/ThemeProvider/ThemeProvider.js +1 -1
  503. package/components/ThemeProvider/components/ThemeProviderView.js +1 -1
  504. package/components/Tooltip/components/common/TooltipBody.js +2 -2
  505. package/components/Tooltip/components/common/TooltipLink.js +6 -6
  506. package/components/Tooltip/components/common/TooltipXButton.js +1 -1
  507. package/components/Tooltip/components/desktop/components/TooltipDesktopBase.js +2 -2
  508. package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js +2 -2
  509. package/components/Tooltip/components/mobile/TooltipMobile.js +5 -5
  510. package/components/TopOverlay/TopOverlay.js +7 -7
  511. package/components/TreeView/TreeView.js +2 -2
  512. package/components/TreeView/components/TreeViewGroup.js +1 -1
  513. package/components/TreeView/components/TreeViewNode.js +2 -2
  514. package/components/Typography/Caption.js +10 -13
  515. package/components/Typography/Caption.js.map +1 -1
  516. package/components/Typography/CodeText.js +7 -10
  517. package/components/Typography/CodeText.js.map +1 -1
  518. package/components/Typography/Text.js +14 -17
  519. package/components/Typography/Text.js.map +1 -1
  520. package/components/Typography/Title.js +12 -15
  521. package/components/Typography/Title.js.map +1 -1
  522. package/components/Typography/constants.js +1 -1
  523. package/components/Typography/enums.js.map +1 -1
  524. package/components/Typography/utils.js +16 -0
  525. package/components/Typography/utils.js.map +1 -0
  526. package/components/UnorderedList/UnorderedList.js +3 -3
  527. package/components/UnorderedList/UnorderedListItem.js +3 -3
  528. package/components/UploadZone/UploadZone.js +3 -3
  529. package/components/UploadZone/components/UploadZoneInput.js +2 -2
  530. package/components/UploadZone/index.js +1 -1
  531. package/components/WindowResizeListener/WindowResizeListener.js +1 -1
  532. package/components/index.js +15 -10
  533. package/components/index.js.map +1 -1
  534. package/index.d.ts +239 -63
  535. package/index.js +15 -10
  536. package/index.js.map +1 -1
  537. package/package.json +5 -1
  538. package/styles/triplex-next.css +3105 -2905
  539. package/utils/amountUtils.js +1 -1
  540. package/chunks/Card.module-CMqjagHQ.js +0 -30
  541. package/chunks/Card.module-CMqjagHQ.js.map +0 -1
  542. package/chunks/CheckboxTreeExtended.module-LCys22dC.js +0 -24
  543. package/chunks/CheckboxTreeExtended.module-LCys22dC.js.map +0 -1
  544. package/chunks/Confirm.module-CS-qLUhJ.js +0 -24
  545. package/chunks/Confirm.module-CS-qLUhJ.js.map +0 -1
  546. package/chunks/DropdownMobile.module-BRMhpPJi.js +0 -40
  547. package/chunks/DropdownMobile.module-BRMhpPJi.js.map +0 -1
  548. package/chunks/Footer.module-BSSVvFPp.js +0 -12
  549. package/chunks/Footer.module-BSSVvFPp.js.map +0 -1
  550. package/chunks/HeaderLayoutSidebar.module-Cy3S-awo.js.map +0 -1
  551. package/chunks/HeaderTabs.module-O7_awNvd.js +0 -12
  552. package/chunks/HeaderTabs.module-O7_awNvd.js.map +0 -1
  553. package/chunks/HeaderTitle.module-L21RUjgb.js.map +0 -1
  554. package/chunks/ImageGalleryExtendedMain.module-cwpbS1x9.js +0 -28
  555. package/chunks/ImageGalleryExtendedMain.module-cwpbS1x9.js.map +0 -1
  556. package/chunks/IslandAccordion.module-DShQJuSE.js +0 -44
  557. package/chunks/IslandAccordion.module-DShQJuSE.js.map +0 -1
  558. package/chunks/IslandWidgetFooter.module-CDycgQ-z.js +0 -12
  559. package/chunks/IslandWidgetFooter.module-CDycgQ-z.js.map +0 -1
  560. package/chunks/IslandWidgetHeader.module-67GzhVOu.js +0 -20
  561. package/chunks/IslandWidgetHeader.module-67GzhVOu.js.map +0 -1
  562. package/chunks/LightBoxContent-Cmms94V7.js.map +0 -1
  563. package/chunks/LightBoxControls.module-pzXT0a6u.js +0 -26
  564. package/chunks/LightBoxControls.module-pzXT0a6u.js.map +0 -1
  565. package/chunks/LightBoxSideOverlayClose.module-CNNq1ih2.js.map +0 -1
  566. package/chunks/ListItemTail.module-DLJTWkN5.js +0 -18
  567. package/chunks/ListItemTail.module-DLJTWkN5.js.map +0 -1
  568. package/chunks/ListMasterFooter.module-ByDfezV2.js +0 -14
  569. package/chunks/ListMasterFooter.module-ByDfezV2.js.map +0 -1
  570. package/chunks/ModalWindow.module-BWKlnmsr.js +0 -28
  571. package/chunks/ModalWindow.module-BWKlnmsr.js.map +0 -1
  572. package/chunks/Notification.module-DGRdZiv3.js +0 -34
  573. package/chunks/Notification.module-DGRdZiv3.js.map +0 -1
  574. package/chunks/Overlay.module-DJN9JTtk.js +0 -30
  575. package/chunks/Overlay.module-DJN9JTtk.js.map +0 -1
  576. package/chunks/Page.module-CI7Ae5FY.js +0 -15
  577. package/chunks/Page.module-CI7Ae5FY.js.map +0 -1
  578. package/chunks/SMSField.module-DzckSBt-.js +0 -26
  579. package/chunks/SMSField.module-DzckSBt-.js.map +0 -1
  580. package/chunks/SliderExtendedMarks.module-Dmt4IEKt.js +0 -24
  581. package/chunks/SliderExtendedMarks.module-Dmt4IEKt.js.map +0 -1
  582. package/chunks/StatusTracker.module-Cxg4BpMg.js +0 -42
  583. package/chunks/StatusTracker.module-Cxg4BpMg.js.map +0 -1
  584. package/chunks/TableFooter.module-DAKM09fI.js +0 -22
  585. package/chunks/TableFooter.module-DAKM09fI.js.map +0 -1
  586. package/chunks/TabsExtended.module-B54esC9O.js +0 -26
  587. package/chunks/TabsExtended.module-B54esC9O.js.map +0 -1
  588. package/chunks/TabsLine.module-B1cAOjYq.js +0 -36
  589. package/chunks/TabsLine.module-B1cAOjYq.js.map +0 -1
  590. package/chunks/TooltipDesktop.module-CbQKqldH.js +0 -32
  591. package/chunks/TooltipDesktop.module-CbQKqldH.js.map +0 -1
  592. package/chunks/TreeView.module-CVyScwbk.js +0 -12
  593. package/chunks/TreeView.module-CVyScwbk.js.map +0 -1
  594. package/chunks/vendor-BtZO8a0z.js +0 -17814
  595. package/chunks/vendor-BtZO8a0z.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
- import { useRef, useEffect } from "react";
3
- import { c as clsx } from "../../chunks/vendor-BtZO8a0z.js";
2
+ import { useRef, useState, useEffect } from "react";
3
+ import { c as clsx } from "../../chunks/vendor-DKrjZZwJ.js";
4
4
  import { Portal } from "../Portal/Portal.js";
5
5
  import { FocusTrapExtended } from "../FocusTrapExtended/FocusTrapExtended.js";
6
- import { L as LightBoxContent, s as styles } from "../../chunks/LightBoxContent-Cmms94V7.js";
6
+ import { L as LightBoxContent, s as styles } from "../../chunks/LightBoxContent-blTzF5vv.js";
7
7
  import { LightBoxControls } from "./LightBoxControls/LightBoxControls.js";
8
8
  import { LightBoxSideOverlay } from "./LightBoxSideOverlay/LightBoxSideOverlay.js";
9
9
  import { addClassNameWithScrollbarWidth } from "../../utils/scroll/scrollbar.js";
@@ -15,14 +15,21 @@ import { LightBoxLeftSidebar } from "./LightBoxSidebars/LightBoxLeftSidebar.js";
15
15
  import { LightBoxRightSidebar } from "./LightBoxSidebars/LightBoxRightSidebar.js";
16
16
  import { ELightBoxSize } from "./enums.js";
17
17
  const scrollStyles = {
18
- "scroll-0": "scroll-0__86d47c61",
19
- "scroll-15": "scroll-15__07170555",
20
- "scroll-16": "scroll-16__0d53296e",
21
- "scroll-17": "scroll-17__c3e10346"
18
+ "scroll-0": "scroll-0__9a589f8b",
19
+ "scroll-15": "scroll-15__c9a687af",
20
+ "scroll-16": "scroll-16__0dd9f63a",
21
+ "scroll-17": "scroll-17__9d45c9d3"
22
22
  };
23
23
  const lightBoxMountNodeIdDefault = "LightBox-next-mount-node";
24
24
  const lightBoxViewManagerNodeIdDefault = "LightBox-next-view-manager-node";
25
25
  const bodyClassNamesIsLightBoxOpen = [styles.bodyOverflowHidden];
26
+ const addClassNamesToDocumentElement = () => {
27
+ bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.add(className));
28
+ };
29
+ const removeClassNamesFromDocumentElement = () => {
30
+ bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.remove(className));
31
+ };
32
+ let mountedLightBoxCount = 0;
26
33
  const LightBoxBase = ({
27
34
  children,
28
35
  className,
@@ -40,16 +47,14 @@ const LightBoxBase = ({
40
47
  const containerRef = useRef(null);
41
48
  const { scopeClassName } = useToken();
42
49
  const getLightBoxMountNode = () => {
43
- let lightBoxMountNode2 = null;
44
50
  if (mountNode) {
45
- lightBoxMountNode2 = mountNode;
46
- } else {
47
- lightBoxMountNode2 = document.querySelector(`#${lightBoxMountNodeIdDefault}`);
48
- if (!lightBoxMountNode2) {
49
- lightBoxMountNode2 = document.createElement("div");
50
- lightBoxMountNode2.setAttribute("id", lightBoxMountNodeIdDefault);
51
- document.body.appendChild(lightBoxMountNode2);
52
- }
51
+ return mountNode;
52
+ }
53
+ let lightBoxMountNode2 = document.querySelector(`#${lightBoxMountNodeIdDefault}`);
54
+ if (!lightBoxMountNode2) {
55
+ lightBoxMountNode2 = document.createElement("div");
56
+ lightBoxMountNode2.setAttribute("id", lightBoxMountNodeIdDefault);
57
+ document.body.appendChild(lightBoxMountNode2);
53
58
  }
54
59
  return lightBoxMountNode2;
55
60
  };
@@ -65,16 +70,18 @@ const LightBoxBase = ({
65
70
  }
66
71
  return lightBoxViewManagerMountNode;
67
72
  };
68
- const lightBoxMountNode = useRef(getLightBoxMountNode());
69
- const lightBoxViewManagerNode = useRef(getLightBoxViewManagerMountNode());
70
- const addClassNamesToDocumentElement = () => {
71
- bodyClassNamesIsLightBoxOpen.forEach((className2) => document.documentElement.classList.add(className2));
72
- };
73
+ const [lightBoxMountNode] = useState(getLightBoxMountNode);
74
+ const [lightBoxViewManagerNode] = useState(getLightBoxViewManagerMountNode);
73
75
  useEffect(() => {
74
76
  addClassNameWithScrollbarWidth(scrollStyles);
77
+ mountedLightBoxCount += 1;
75
78
  addClassNamesToDocumentElement();
76
- setTimeout(addClassNamesToDocumentElement, 100);
77
- return () => bodyClassNamesIsLightBoxOpen.forEach((className2) => document.documentElement.classList.remove(className2));
79
+ return () => {
80
+ mountedLightBoxCount -= 1;
81
+ if (mountedLightBoxCount === 0) {
82
+ removeClassNamesFromDocumentElement();
83
+ }
84
+ };
78
85
  }, []);
79
86
  useEffect(() => {
80
87
  if (!isSideOverlayOpened && tempButtonRef.current) {
@@ -82,9 +89,6 @@ const LightBoxBase = ({
82
89
  tempButtonRef.current.style.zIndex = nextZIndex.toString();
83
90
  }
84
91
  }, [isSideOverlayOpened]);
85
- if (!lightBoxMountNode.current) {
86
- return null;
87
- }
88
92
  const setRef = (instance) => {
89
93
  containerRef.current = instance;
90
94
  if (forwardRef) {
@@ -96,14 +100,13 @@ const LightBoxBase = ({
96
100
  styles.lightBox,
97
101
  styles[size],
98
102
  {
99
- [styles.isLoading]: Boolean(isLoading),
100
103
  [styles.lightBoxSideOverlayActive]: Boolean(isSideOverlayOpened),
101
104
  [styles.lightBoxTopOverlayActive]: Boolean(isTopOverlayOpened)
102
105
  },
103
106
  className
104
107
  );
105
108
  return /* @__PURE__ */ jsxs(Fragment, { children: [
106
- /* @__PURE__ */ jsx(Portal, { container: lightBoxMountNode.current, children: /* @__PURE__ */ jsx(
109
+ /* @__PURE__ */ jsx(Portal, { container: lightBoxMountNode, children: /* @__PURE__ */ jsx(
107
110
  FocusTrapExtended,
108
111
  {
109
112
  active: !isLoading,
@@ -120,11 +123,11 @@ const LightBoxBase = ({
120
123
  ] })
121
124
  }
122
125
  ) }),
123
- lightBoxViewManagerNode.current && /* @__PURE__ */ jsx(
126
+ /* @__PURE__ */ jsx(
124
127
  LightBoxViewManager,
125
128
  {
126
- lightBoxViewManagerNode: lightBoxViewManagerNode.current,
127
- lightBoxMountNode: lightBoxMountNode.current
129
+ lightBoxViewManagerNode,
130
+ lightBoxMountNode
128
131
  }
129
132
  )
130
133
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"LightBox.js","sources":["../../../src/components/LightBox/LightBox.tsx"],"sourcesContent":["/* eslint-disable react-hooks/refs */\nimport React, { useEffect, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { Portal } from \"../Portal\";\nimport { FocusTrapExtended, IFocusTrapExtendedProps } from \"../FocusTrapExtended\";\nimport { LightBoxContent } from \"./LightBoxContent\";\nimport { LightBoxControls } from \"./LightBoxControls/LightBoxControls\";\nimport { LightBoxSideOverlay } from \"./LightBoxSideOverlay/LightBoxSideOverlay\";\nimport { addClassNameWithScrollbarWidth } from \"../../utils/scroll/scrollbar\";\nimport { TopOverlay } from \"../TopOverlay/TopOverlay\";\nimport { LightBoxViewManager } from \"./LightBoxViewManager/LightBoxViewManager\";\nimport { FocusTrapUtils } from \"../../utils/focus/FocusTrapUtils\";\nimport { useToken } from \"../ThemeProvider/useToken\";\nimport { LightBoxLeftSidebar } from \"./LightBoxSidebars/LightBoxLeftSidebar\";\nimport { LightBoxRightSidebar } from \"./LightBoxSidebars/LightBoxRightSidebar\";\nimport { ELightBoxSize } from \"./enums\";\nimport styles from \"./styles/LightBox.module.less\";\nimport scrollStyles from \"./styles/LightBoxScroll.module.less\";\n\n// Идентификатор DOM-элемента, в который рендерится лайтбокс. При отсутствии элемента в DOM – создается в body.\nexport const lightBoxMountNodeIdDefault = \"LightBox-next-mount-node\";\n\n// Идентификатор DOM-элемента, в визуальных границах (левая и правая координата) которого рендерится лайтбокс.\nexport const lightBoxViewManagerNodeIdDefault = \"LightBox-next-view-manager-node\";\n\n/** Свойства компонента LightBox. */\nexport interface ILightBoxProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactElement[];\n /** Свойства компонента FocusTrapExtended. */\n focusTrapProps?: IFocusTrapExtendedProps;\n /** Ref на контейнер LightBox. */\n forwardRef?: React.MutableRefObject<HTMLElement | null>;\n /** DOM-нода в которую будет рендерится лайтбокс. */\n mountNode?: HTMLDivElement;\n /** Идентификатор DOM-элемента, в визуальных границах (левая и правая координата) которого рендерится лайтбокс. */\n lightBoxViewManagerNodeId?: string;\n /** Флаг состояния загрузки. */\n isLoading?: boolean;\n /** Флаг открытия боковой панели. */\n isSideOverlayOpened?: boolean;\n /** Флаг открытия верхней панели. */\n isTopOverlayOpened?: boolean;\n /** Размер контента LightBox. */\n size?: ELightBoxSize;\n}\n\nconst bodyClassNamesIsLightBoxOpen = [styles.bodyOverflowHidden];\n\nconst LightBoxBase: React.FC<ILightBoxProps> = ({\n children,\n className,\n focusTrapProps,\n forwardRef,\n mountNode,\n lightBoxViewManagerNodeId = lightBoxViewManagerNodeIdDefault,\n isLoading,\n isSideOverlayOpened,\n isTopOverlayOpened,\n size = ELightBoxSize.MD,\n ...htmlDivAttributes\n}) => {\n // Скрытый элемент для вызова ререндера при закрытии оверлея, фикс бага в Safari - DCBSWT-2866.\n const tempButtonRef = useRef<HTMLSpanElement>(null);\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n const { scopeClassName } = useToken();\n\n const getLightBoxMountNode = () => {\n let lightBoxMountNode: HTMLDivElement | null = null;\n if (mountNode) {\n lightBoxMountNode = mountNode;\n } else {\n lightBoxMountNode = document.querySelector(`#${lightBoxMountNodeIdDefault}`);\n\n if (!lightBoxMountNode) {\n lightBoxMountNode = document.createElement(\"div\");\n lightBoxMountNode.setAttribute(\"id\", lightBoxMountNodeIdDefault);\n document.body.appendChild(lightBoxMountNode);\n }\n }\n\n return lightBoxMountNode;\n };\n\n const getLightBoxViewManagerMountNode = () => {\n let lightBoxViewManagerMountNode: HTMLDivElement | null = null;\n if (lightBoxViewManagerNodeId) {\n lightBoxViewManagerMountNode = document.querySelector(`#${lightBoxViewManagerNodeId}`);\n }\n\n if (!lightBoxViewManagerMountNode) {\n lightBoxViewManagerMountNode = document.createElement(\"div\");\n lightBoxViewManagerMountNode.setAttribute(\"id\", lightBoxViewManagerNodeIdDefault);\n document.body.appendChild(lightBoxViewManagerMountNode);\n }\n\n return lightBoxViewManagerMountNode;\n };\n\n /** DOM node, в которую рендерится лайтбокс. */\n const lightBoxMountNode = useRef<HTMLDivElement | null>(getLightBoxMountNode());\n /**\n * DOM node, в визуальных границах которой рендерится лайтбокс.\n * Левая и правая граница LightBox будут соответствовать левой и правой границе lightBoxViewManagerNode.\n */\n const lightBoxViewManagerNode = useRef<HTMLDivElement | null>(getLightBoxViewManagerMountNode());\n\n const addClassNamesToDocumentElement = () => {\n bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.add(className));\n };\n\n useEffect(() => {\n addClassNameWithScrollbarWidth(scrollStyles);\n addClassNamesToDocumentElement();\n // Фикс бага в роутере - при переключении между лайтбоксами иногда сначала происходит componentDidMount 2го и затем componentWillUnmount первого, css классы удаляются.\n setTimeout(addClassNamesToDocumentElement, 100);\n\n return () =>\n bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.remove(className));\n }, []);\n\n useEffect(() => {\n if (!isSideOverlayOpened && tempButtonRef.current) {\n // Изменение z-index у скрытого элемента вызывает repaint. Фикс бага в Safari - DCBSWT-2866.\n const nextZIndex = Math.round(Math.random() * 100);\n tempButtonRef.current.style.zIndex = nextZIndex.toString();\n }\n }, [isSideOverlayOpened]);\n\n if (!lightBoxMountNode.current) {\n return null;\n }\n\n /** Функция для хранения ссылки. */\n const setRef = (instance: HTMLDivElement | null) => {\n containerRef.current = instance;\n\n if (forwardRef) {\n forwardRef.current = instance;\n }\n };\n\n const classNames = clsx(\n scopeClassName,\n styles.lightBox,\n styles[size],\n {\n [styles.isLoading]: Boolean(isLoading),\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":";;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAM,6BAA6B;AAGnC,MAAM,mCAAmC;AAyBhD,MAAM,+BAA+B,CAAC,OAAO,kBAAkB;AAG/D,MAAM,iCAAiC,MAAM;AACzC,+BAA6B,QAAQ,CAAC,cAAc,SAAS,gBAAgB,UAAU,IAAI,SAAS,CAAC;AACzG;AAGA,MAAM,sCAAsC,MAAM;AAC9C,+BAA6B,QAAQ,CAAC,cAAc,SAAS,gBAAgB,UAAU,OAAO,SAAS,CAAC;AAC5G;AAOA,IAAI,uBAAuB;AAE3B,MAAM,eAAyC,CAAC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,4BAA4B;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO,cAAc;AAAA,EACrB,GAAG;AACP,MAAM;AAEF,QAAM,gBAAgB,OAAwB,IAAI;AAClD,QAAM,eAAe,OAA8B,IAAI;AAEvD,QAAM,EAAE,eAAA,IAAmB,SAAA;AAE3B,QAAM,uBAAuB,MAAsB;AAC/C,QAAI,WAAW;AACX,aAAO;AAAA,IACX;AAEA,QAAIA,qBAAoB,SAAS,cAA8B,IAAI,0BAA0B,EAAE;AAE/F,QAAI,CAACA,oBAAmB;AACpBA,2BAAoB,SAAS,cAAc,KAAK;AAChDA,yBAAkB,aAAa,MAAM,0BAA0B;AAC/D,eAAS,KAAK,YAAYA,kBAAiB;AAAA,IAC/C;AAEA,WAAOA;AAAAA,EACX;AAEA,QAAM,kCAAkC,MAAsB;AAC1D,QAAI,+BAAsD;AAE1D,QAAI,2BAA2B;AAC3B,qCAA+B,SAAS,cAA8B,IAAI,yBAAyB,EAAE;AAAA,IACzG;AAEA,QAAI,CAAC,8BAA8B;AAC/B,qCAA+B,SAAS,cAAc,KAAK;AAC3D,mCAA6B,aAAa,MAAM,gCAAgC;AAChF,eAAS,KAAK,YAAY,4BAA4B;AAAA,IAC1D;AAEA,WAAO;AAAA,EACX;AAGA,QAAM,CAAC,iBAAiB,IAAI,SAAyB,oBAAoB;AAKzE,QAAM,CAAC,uBAAuB,IAAI,SAAyB,+BAA+B;AAE1F,YAAU,MAAM;AACZ,mCAA+B,YAAY;AAC3C,4BAAwB;AACxB,mCAAA;AAEA,WAAO,MAAM;AACT,8BAAwB;AAExB,UAAI,yBAAyB,GAAG;AAC5B,4CAAA;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,GAAG,CAAA,CAAE;AAEL,YAAU,MAAM;AACZ,QAAI,CAAC,uBAAuB,cAAc,SAAS;AAE/C,YAAM,aAAa,KAAK,MAAM,KAAK,OAAA,IAAW,GAAG;AACjD,oBAAc,QAAQ,MAAM,SAAS,WAAW,SAAA;AAAA,IACpD;AAAA,EACJ,GAAG,CAAC,mBAAmB,CAAC;AAExB,QAAM,SAAS,CAAC,aAAoC;AAChD,iBAAa,UAAU;AAEvB,QAAI,YAAY;AACZ,iBAAW,UAAU;AAAA,IACzB;AAAA,EACJ;AAEA,QAAM,aAAa;AAAA,IACf;AAAA,IACA,OAAO;AAAA,IACP,OAAO,IAAI;AAAA,IACX;AAAA,MACI,CAAC,OAAO,yBAAyB,GAAG,QAAQ,mBAAmB;AAAA,MAC/D,CAAC,OAAO,wBAAwB,GAAG,QAAQ,kBAAkB;AAAA,IAAA;AAAA,IAEjE;AAAA,EAAA;AAGJ,SACI,qBAAA,UAAA,EACI,UAAA;AAAA,IAAA,oBAAC,QAAA,EAAO,WAAW,mBACf,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,QAAQ,CAAC;AAAA,QACR,GAAG;AAAA,QACJ,kBAAkB;AAAA,UACd,cAAc,MAAM,eAAe,qCAAqC,aAAa,OAAO;AAAA,UAC5F,eAAe;AAAA,UACf,GAAG,iDAAgB;AAAA,QAAA;AAAA,QAGvB,UAAA,qBAAC,OAAA,EAAI,WAAW,YAAY,MAAK,UAAS,cAAW,QAAQ,GAAG,mBAAmB,KAAK,QACpF,UAAA;AAAA,UAAA,oBAAC,OAAA,EAAI,WAAW,OAAO,iBAAA,CAAkB;AAAA,UACxC;AAAA,8BACA,QAAA,EAAK,KAAK,eAAe,WAAW,OAAO,gBAAA,CAAiB;AAAA,QAAA,EAAA,CACjE;AAAA,MAAA;AAAA,IAAA,GAER;AAAA,IAEA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG;AAAA,QACA;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACJ;AAER;AAEA,aAAa,cAAc;AAGpB,MAAM,WAAW,OAAO,OAAO,cAAc;AAAA,EAChD,SAAS;AAAA,EACT,aAAa;AAAA,EACb;AAAA,EACA,UAAU;AAAA,EACV,aAAa;AAAA,EACb,cAAc;AAClB,CAAC;"}
@@ -1,9 +1,9 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import "../../chunks/vendor-BtZO8a0z.js";
3
+ import "../../chunks/vendor-DKrjZZwJ.js";
4
4
  import "../WindowResizeListener/WindowResizeListener.js";
5
5
  import "../LoaderScreen/LoaderScreen.js";
6
- import { L } from "../../chunks/LightBoxContent-Cmms94V7.js";
6
+ import { L } from "../../chunks/LightBoxContent-blTzF5vv.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-DKrjZZwJ.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-DisqspyG.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-BtZO8a0z.js";
3
+ import { c as clsx } from "../../../chunks/vendor-DKrjZZwJ.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-pzXT0a6u.js";
10
+ import { s as styles } from "../../../chunks/LightBoxControls.module-DisqspyG.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-BtZO8a0z.js";
6
- import { s as styles } from "../../../chunks/LightBoxControls.module-pzXT0a6u.js";
5
+ import { c as clsx } from "../../../chunks/vendor-DKrjZZwJ.js";
6
+ import { s as styles } from "../../../chunks/LightBoxControls.module-DisqspyG.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-BtZO8a0z.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-DKrjZZwJ.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-pzXT0a6u.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-DisqspyG.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-BtZO8a0z.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-DKrjZZwJ.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-pzXT0a6u.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-DisqspyG.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;"}