@sberbusiness/triplex-next 0.38.0 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (584) hide show
  1. package/chunks/{AlertProcessSpoiler-BlEVEKm1.js → AlertProcessSpoiler-pSJaWhCa.js} +16 -16
  2. package/chunks/{AlertProcessSpoiler-BlEVEKm1.js.map → AlertProcessSpoiler-pSJaWhCa.js.map} +1 -1
  3. package/chunks/{CalendarViewItem-DM-NHQkn.js → CalendarViewItem-Bwl6zTCS.js} +20 -20
  4. package/chunks/{CalendarViewItem-DM-NHQkn.js.map → CalendarViewItem-Bwl6zTCS.js.map} +1 -1
  5. package/chunks/Card.module-CvHkJNAp.js +30 -0
  6. package/chunks/Card.module-CvHkJNAp.js.map +1 -0
  7. package/chunks/Carousel.module-DTaSq3Bq.js +30 -0
  8. package/chunks/Carousel.module-DTaSq3Bq.js.map +1 -0
  9. package/chunks/CheckboxTreeExtended.module-SaSBrJR4.js +24 -0
  10. package/chunks/CheckboxTreeExtended.module-SaSBrJR4.js.map +1 -0
  11. package/chunks/{Chip-CHNEQIjq.js → Chip-ClKhILGe.js} +16 -16
  12. package/chunks/{Chip-CHNEQIjq.js.map → Chip-ClKhILGe.js.map} +1 -1
  13. package/chunks/Confirm.module-D6mKowVi.js +24 -0
  14. package/chunks/Confirm.module-D6mKowVi.js.map +1 -0
  15. package/chunks/{DropdownListItem-CWu2k-xN.js → DropdownListItem-V6Oe5CEm.js} +20 -22
  16. package/chunks/DropdownListItem-V6Oe5CEm.js.map +1 -0
  17. package/chunks/DropdownMobile.module-dTA2fTAB.js +40 -0
  18. package/chunks/DropdownMobile.module-dTA2fTAB.js.map +1 -0
  19. package/chunks/Footer.module-DUyQNLJD.js +12 -0
  20. package/chunks/Footer.module-DUyQNLJD.js.map +1 -0
  21. package/chunks/{HeaderLayoutSidebar.module-CyDAF1uQ.js → HeaderLayoutSidebar.module-DZ9o9YLT.js} +4 -4
  22. package/chunks/HeaderLayoutSidebar.module-DZ9o9YLT.js.map +1 -0
  23. package/chunks/HeaderTabs.module-CfIX4nxS.js +12 -0
  24. package/chunks/HeaderTabs.module-CfIX4nxS.js.map +1 -0
  25. package/chunks/{HeaderTitle.module-DmGrfVWQ.js → HeaderTitle.module-BmBk2AAI.js} +4 -4
  26. package/chunks/HeaderTitle.module-BmBk2AAI.js.map +1 -0
  27. package/chunks/ImageGalleryExtendedMain.module-DvyJj_xh.js +28 -0
  28. package/chunks/ImageGalleryExtendedMain.module-DvyJj_xh.js.map +1 -0
  29. package/chunks/{ImageGalleryExtendedThumb-COzhugMY.js → ImageGalleryExtendedThumb-BA0TstuP.js} +5 -5
  30. package/chunks/{ImageGalleryExtendedThumb-COzhugMY.js.map → ImageGalleryExtendedThumb-BA0TstuP.js.map} +1 -1
  31. package/chunks/IslandAccordion.module-rbKkMJ0T.js +44 -0
  32. package/chunks/IslandAccordion.module-rbKkMJ0T.js.map +1 -0
  33. package/chunks/IslandWidgetFooter.module-BatDP8na.js +12 -0
  34. package/chunks/IslandWidgetFooter.module-BatDP8na.js.map +1 -0
  35. package/chunks/IslandWidgetHeader.module-DF76XaTz.js +20 -0
  36. package/chunks/IslandWidgetHeader.module-DF76XaTz.js.map +1 -0
  37. package/chunks/{LightBoxContent-DEbpANhU.js → LightBoxContent-BY9UKPE0.js} +14 -14
  38. package/chunks/LightBoxContent-BY9UKPE0.js.map +1 -0
  39. package/chunks/LightBoxControls.module-CEa7tSP-.js +26 -0
  40. package/chunks/LightBoxControls.module-CEa7tSP-.js.map +1 -0
  41. package/chunks/{LightBoxSideOverlayClose.module-Cr5GCjkp.js → LightBoxSideOverlayClose.module-Dz_nN5cb.js} +4 -4
  42. package/chunks/LightBoxSideOverlayClose.module-Dz_nN5cb.js.map +1 -0
  43. package/chunks/{ListItemControlsButton-BNvP_Mz0.js → ListItemControlsButton-Cdfka5RR.js} +9 -9
  44. package/chunks/{ListItemControlsButton-BNvP_Mz0.js.map → ListItemControlsButton-Cdfka5RR.js.map} +1 -1
  45. package/chunks/ListItemTail.module-DhkBzx2c.js +18 -0
  46. package/chunks/ListItemTail.module-DhkBzx2c.js.map +1 -0
  47. package/chunks/ListMasterFooter.module-khPHsN9b.js +14 -0
  48. package/chunks/ListMasterFooter.module-khPHsN9b.js.map +1 -0
  49. package/chunks/ModalWindow.module-DZr3uvJa.js +28 -0
  50. package/chunks/ModalWindow.module-DZr3uvJa.js.map +1 -0
  51. package/chunks/Notification.module-DIhjUBLy.js +34 -0
  52. package/chunks/Notification.module-DIhjUBLy.js.map +1 -0
  53. package/chunks/Overlay.module-C5MzOOr3.js +30 -0
  54. package/chunks/Overlay.module-C5MzOOr3.js.map +1 -0
  55. package/chunks/Page.module-CujP9XrT.js +15 -0
  56. package/chunks/Page.module-CujP9XrT.js.map +1 -0
  57. package/chunks/SMSField.module-B5isl-Pm.js +26 -0
  58. package/chunks/SMSField.module-B5isl-Pm.js.map +1 -0
  59. package/chunks/SliderExtendedMarks.module-OQ_S7X8I.js +24 -0
  60. package/chunks/SliderExtendedMarks.module-OQ_S7X8I.js.map +1 -0
  61. package/chunks/{SliderExtendedRail-DIUyIHt5.js → SliderExtendedRail-C_QEaxu8.js} +5 -5
  62. package/chunks/{SliderExtendedRail-DIUyIHt5.js.map → SliderExtendedRail-C_QEaxu8.js.map} +1 -1
  63. package/chunks/StatusTracker.module-DCLE9tGr.js +42 -0
  64. package/chunks/StatusTracker.module-DCLE9tGr.js.map +1 -0
  65. package/chunks/{StepperStepArrowBorder-CqhFq6Om.js → StepperStepArrowBorder-BNFcnlyF.js} +16 -16
  66. package/chunks/{StepperStepArrowBorder-CqhFq6Om.js.map → StepperStepArrowBorder-BNFcnlyF.js.map} +1 -1
  67. package/chunks/{SuggestFieldMobileDropdownHint-Bk2VidMS.js → SuggestFieldMobileDropdownHint-DZV48TnI.js} +3 -3
  68. package/chunks/{SuggestFieldMobileDropdownHint-Bk2VidMS.js.map → SuggestFieldMobileDropdownHint-DZV48TnI.js.map} +1 -1
  69. package/chunks/TableFooter.module-DwBBlrsZ.js +22 -0
  70. package/chunks/TableFooter.module-DwBBlrsZ.js.map +1 -0
  71. package/chunks/TabsExtended.module-DrUKKP9t.js +26 -0
  72. package/chunks/TabsExtended.module-DrUKKP9t.js.map +1 -0
  73. package/chunks/TabsLine.module-D3PvmawY.js +36 -0
  74. package/chunks/TabsLine.module-D3PvmawY.js.map +1 -0
  75. package/chunks/TooltipDesktop.module-Cl4YkFeR.js +32 -0
  76. package/chunks/TooltipDesktop.module-Cl4YkFeR.js.map +1 -0
  77. package/chunks/TreeView.module-u57anLkg.js +12 -0
  78. package/chunks/TreeView.module-u57anLkg.js.map +1 -0
  79. package/chunks/{UploadZoneInput-l6iyPGsn.js → UploadZoneInput-jFV3NG4O.js} +5 -5
  80. package/chunks/{UploadZoneInput-l6iyPGsn.js.map → UploadZoneInput-jFV3NG4O.js.map} +1 -1
  81. package/chunks/{constants-Bgk_287a.js → constants-DSPLz6qR.js} +27 -27
  82. package/chunks/{constants-Bgk_287a.js.map → constants-DSPLz6qR.js.map} +1 -1
  83. package/chunks/{utils-BEel7-DU.js → utils-CkRhDOwX.js} +27 -27
  84. package/chunks/{utils-BEel7-DU.js.map → utils-CkRhDOwX.js.map} +1 -1
  85. package/chunks/{utils-BcNFYl2l.js → utils-DUYRscrm.js} +8 -8
  86. package/chunks/{utils-BcNFYl2l.js.map → utils-DUYRscrm.js.map} +1 -1
  87. package/chunks/{utils-EgErlzGw.js → utils-t-KnNaPS.js} +6 -6
  88. package/chunks/{utils-EgErlzGw.js.map → utils-t-KnNaPS.js.map} +1 -1
  89. package/chunks/{utils-D-7Tnz2q.js → utils-y1CGkIMc.js} +11 -11
  90. package/chunks/{utils-D-7Tnz2q.js.map → utils-y1CGkIMc.js.map} +1 -1
  91. package/components/Alert/AlertContext/AlertContext.js +16 -28
  92. package/components/Alert/AlertContext/AlertContext.js.map +1 -1
  93. package/components/Alert/AlertProcess/AlertProcess.js +2 -2
  94. package/components/Alert/AlertProcess/components/AlertProcessSpoiler.js +1 -1
  95. package/components/Amount/Amount.js +2 -2
  96. package/components/Avatar/Avatar.js +13 -13
  97. package/components/Badge/Badge.js +4 -4
  98. package/components/Badge/BadgeDot.js +4 -4
  99. package/components/Badge/components/BadgeContent.js +6 -6
  100. package/components/Badge/components/BadgePostfix.js +1 -1
  101. package/components/Badge/components/BadgePrefix.js +1 -1
  102. package/components/Body/Body.js +3 -3
  103. package/components/Button/Button.js +29 -28
  104. package/components/Button/Button.js.map +1 -1
  105. package/components/Button/ButtonBase.js +1 -1
  106. package/components/Button/ButtonDropdown.js +65 -83
  107. package/components/Button/ButtonDropdown.js.map +1 -1
  108. package/components/Button/ButtonDropdownExtended.js +17 -21
  109. package/components/Button/ButtonDropdownExtended.js.map +1 -1
  110. package/components/Button/ButtonIcon.js +3 -3
  111. package/components/Button/ButtonIcon.js.map +1 -1
  112. package/components/Button/index.js +0 -2
  113. package/components/Button/index.js.map +1 -1
  114. package/components/Calendar/Calendar.js +4 -4
  115. package/components/Calendar/components/CalendarControls.js +1 -1
  116. package/components/Calendar/components/CalendarFooter.js +1 -1
  117. package/components/Calendar/components/CalendarViewDays.js +1 -1
  118. package/components/Calendar/components/CalendarViewItem.js +1 -1
  119. package/components/Calendar/components/CalendarViewMonths.js +1 -1
  120. package/components/Calendar/components/CalendarViewYears.js +1 -1
  121. package/components/Card/CardAction.js +5 -5
  122. package/components/Card/CardStatic.js +2 -2
  123. package/components/Card/components/CardContent/CardContent.js +1 -1
  124. package/components/Card/components/CardContent/components/CardContentBody.js +1 -1
  125. package/components/Card/components/CardContent/components/CardContentFooter.js +1 -1
  126. package/components/Card/components/CardContent/components/CardContentHeader.js +1 -1
  127. package/components/Card/components/CardMedia.js +1 -1
  128. package/components/Card/utils.js +1 -1
  129. package/components/Carousel/Carousel.js +362 -0
  130. package/components/Carousel/Carousel.js.map +1 -0
  131. package/components/Carousel/CarouselButton.js +78 -0
  132. package/components/Carousel/CarouselButton.js.map +1 -0
  133. package/components/Carousel/CarouselContext.js +30 -0
  134. package/components/Carousel/CarouselContext.js.map +1 -0
  135. package/components/Carousel/CarouselIndicators.js +157 -0
  136. package/components/Carousel/CarouselIndicators.js.map +1 -0
  137. package/components/Carousel/CarouselItem.js +34 -0
  138. package/components/Carousel/CarouselItem.js.map +1 -0
  139. package/components/Carousel/CarouselTrack.js +36 -0
  140. package/components/Carousel/CarouselTrack.js.map +1 -0
  141. package/components/Carousel/CarouselViewport.js +159 -0
  142. package/components/Carousel/CarouselViewport.js.map +1 -0
  143. package/components/Carousel/constants.js +9 -0
  144. package/components/Carousel/constants.js.map +1 -0
  145. package/components/Carousel/enums.js +15 -0
  146. package/components/Carousel/enums.js.map +1 -0
  147. package/components/Carousel/index.js +8 -0
  148. package/components/Carousel/index.js.map +1 -0
  149. package/components/Carousel/types.js +2 -0
  150. package/components/Carousel/types.js.map +1 -0
  151. package/components/Carousel/utils.js +71 -0
  152. package/components/Carousel/utils.js.map +1 -0
  153. package/components/CarouselExtended/CarouselExtended.js +1 -1
  154. package/components/Checkbox/Checkbox.js +10 -10
  155. package/components/Checkbox/CheckboxXGroup.js +8 -8
  156. package/components/Checkbox/CheckboxYGroup.js +1 -1
  157. package/components/CheckboxTreeExtended/CheckboxTreeExtended.js +1 -1
  158. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedArrow.js +1 -1
  159. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedCheckbox.js +1 -1
  160. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedNode.js +1 -1
  161. package/components/Chip/Chip.js +1 -1
  162. package/components/Chip/ChipClearButton.js +1 -1
  163. package/components/Chip/ChipDatePicker/ChipDatePicker.js +1 -1
  164. package/components/Chip/ChipDatePicker/ChipDatePickerTarget.js +1 -1
  165. package/components/Chip/ChipDropdownArrow.js +2 -2
  166. package/components/Chip/ChipIcon.js +1 -1
  167. package/components/Chip/ChipMultiselect.js +1 -1
  168. package/components/Chip/ChipOptions.js +2 -2
  169. package/components/Chip/ChipSelect/ChipSelect.js +1 -1
  170. package/components/Chip/ChipSelect/ChipSelectTarget.js +1 -1
  171. package/components/Chip/ChipSort.js +1 -1
  172. package/components/Chip/ChipSuggest/ChipSuggest.js +1 -1
  173. package/components/Chip/ChipSuggest/ChipSuggestDropdown.js +1 -1
  174. package/components/Chip/ChipSuggest/ChipSuggestTarget.js +1 -1
  175. package/components/Chip/ChipSuggest/desktop/ChipSuggestDesktopDropdownField.js +1 -1
  176. package/components/Chip/index.js +1 -1
  177. package/components/ChipGroup/ChipGroup.js +7 -7
  178. package/components/Col/Col.js +180 -177
  179. package/components/Col/Col.js.map +1 -1
  180. package/components/CollapsibleTree/CollapsibleTree.js +1 -1
  181. package/components/CollapsibleTree/components/CollapsibleTreeLeafContent.js +1 -1
  182. package/components/CollapsibleTree/components/CollapsibleTreeLeafNode.js +1 -1
  183. package/components/CollapsibleTree/components/CollapsibleTreeNodeHeader.js +4 -4
  184. package/components/CollapsibleTreeExtended/components/CollapsibleTreeExtendedNode.js +1 -1
  185. package/components/Confirm/Confirm.js +1 -1
  186. package/components/Confirm/components/ConfirmCloseButton.js +1 -1
  187. package/components/Confirm/components/ConfirmContent.js +1 -1
  188. package/components/Confirm/components/ConfirmContentTitle.js +1 -1
  189. package/components/Confirm/components/ConfirmControls.js +1 -1
  190. package/components/DatePickerExtended/DatePickerExtended.js +2 -2
  191. package/components/DatePickerExtended/DatePickerExtendedDropdown.js +1 -1
  192. package/components/DateRange/DateRange.js +3 -3
  193. package/components/DesignTokens/DesignTokenUtils.js +1 -1
  194. package/components/DesignTokens/DesignTokensComponents.js +2 -0
  195. package/components/DesignTokens/DesignTokensComponents.js.map +1 -1
  196. package/components/DesignTokens/DesignTokensComponentsThemeDark.js +2 -0
  197. package/components/DesignTokens/DesignTokensComponentsThemeDark.js.map +1 -1
  198. package/components/DesignTokens/components/Carousel.js +51 -0
  199. package/components/DesignTokens/components/Carousel.js.map +1 -0
  200. package/components/DesignTokens/components/index.js +3 -0
  201. package/components/DesignTokens/components/index.js.map +1 -1
  202. package/components/DesignTokens/types/DesignTokensTypes.js.map +1 -1
  203. package/components/Divider/Divider.js +17 -17
  204. package/components/DocumentNumberEdit/DocumentNumberEdit.js +3 -3
  205. package/components/Dropdown/Dropdown.js +14 -7
  206. package/components/Dropdown/Dropdown.js.map +1 -1
  207. package/components/Dropdown/desktop/DropdownDesktop.js +20 -24
  208. package/components/Dropdown/desktop/DropdownDesktop.js.map +1 -1
  209. package/components/Dropdown/desktop/DropdownList.js +37 -72
  210. package/components/Dropdown/desktop/DropdownList.js.map +1 -1
  211. package/components/Dropdown/desktop/DropdownListItem.js +1 -1
  212. package/components/Dropdown/desktop/index.js +1 -1
  213. package/components/Dropdown/desktop/utils.js +34 -0
  214. package/components/Dropdown/desktop/utils.js.map +1 -0
  215. package/components/Dropdown/index.js +1 -1
  216. package/components/Dropdown/mobile/DropdownMobile.js +2 -2
  217. package/components/Dropdown/mobile/DropdownMobileBody.js +1 -1
  218. package/components/Dropdown/mobile/DropdownMobileClose.js +1 -1
  219. package/components/Dropdown/mobile/DropdownMobileFooter.js +1 -1
  220. package/components/Dropdown/mobile/DropdownMobileHeader.js +1 -1
  221. package/components/Dropdown/mobile/DropdownMobileInner.js +5 -3
  222. package/components/Dropdown/mobile/DropdownMobileInner.js.map +1 -1
  223. package/components/Dropdown/mobile/DropdownMobileInput.js +1 -1
  224. package/components/Dropdown/mobile/DropdownMobileList.js +3 -3
  225. package/components/Dropdown/mobile/DropdownMobileList.js.map +1 -1
  226. package/components/Dropdown/mobile/DropdownMobileListItem.js +1 -1
  227. package/components/Dropdown/mobile/DropdownMobileListItem.js.map +1 -1
  228. package/components/Dropdown/mobile/DropdownMobileLoader.js +1 -1
  229. package/components/Dropdown/mobile/DropdownMobileMaskedInput.js +1 -1
  230. package/components/Ellipsis/Ellipsis.js +3 -3
  231. package/components/EmptyView/EmptyView.js +4 -4
  232. package/components/ExpandAnimation/ExpandAnimation.js +1 -1
  233. package/components/Footer/Footer.js +1 -1
  234. package/components/Footer/components/FooterDescription.js +1 -1
  235. package/components/Footer/components/FooterDescriptionContent.js +1 -1
  236. package/components/Footer/components/FooterDescriptionControls.js +1 -1
  237. package/components/FormField/FormField.js +11 -11
  238. package/components/FormField/components/FormFieldClear.js +1 -1
  239. package/components/FormField/components/FormFieldCounter.js +1 -1
  240. package/components/FormField/components/FormFieldDescription.js +2 -2
  241. package/components/FormField/components/FormFieldInput.js +4 -4
  242. package/components/FormField/components/FormFieldLabel.js +7 -7
  243. package/components/FormField/components/FormFieldMaskedInput.js +6 -6
  244. package/components/FormField/components/FormFieldPostfix.js +1 -1
  245. package/components/FormField/components/FormFieldPrefix.js +1 -1
  246. package/components/FormField/components/FormFieldTarget.js +8 -8
  247. package/components/FormField/components/FormFieldTextarea.js +4 -4
  248. package/components/Gap/Gap.js +8 -8
  249. package/components/Header/Header.js +1 -1
  250. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebar.js +1 -1
  251. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarContent.js +1 -1
  252. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarSidebar.js +1 -1
  253. package/components/Header/components/HeaderSubheader/HeaderSubheader.js +2 -2
  254. package/components/Header/components/HeaderTabs/HeaderTabs.js +1 -1
  255. package/components/Header/components/HeaderTabs/HeaderTabsContent.js +1 -1
  256. package/components/Header/components/HeaderTabs/HeaderTabsControls.js +1 -1
  257. package/components/Header/components/HeaderTitle/HeaderTitle.js +1 -1
  258. package/components/Header/components/HeaderTitle/HeaderTitleContent.js +1 -1
  259. package/components/Header/components/HeaderTitle/HeaderTitleControls.js +1 -1
  260. package/components/HelpBox/HelpBox.js +1 -1
  261. package/components/IconWrapper/IconWrapper.js +2 -2
  262. package/components/ImageGallery/ImageGallery.js +1 -1
  263. package/components/ImageGalleryExtended/ImageGalleryExtended.js +2 -2
  264. package/components/ImageGalleryExtended/components/ImageGalleryExtendedArrow.js +1 -1
  265. package/components/ImageGalleryExtended/components/ImageGalleryExtendedDots.js +3 -3
  266. package/components/ImageGalleryExtended/components/ImageGalleryExtendedMain.js +1 -1
  267. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSlide.js +1 -1
  268. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSwipeTrack.js +1 -1
  269. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumb.js +1 -1
  270. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumbnails.js +1 -1
  271. package/components/ImageGalleryExtended/components/index.js +1 -1
  272. package/components/ImageGalleryExtended/index.js +1 -1
  273. package/components/Island/Island.js +1 -1
  274. package/components/Island/components/IslandBody.js +1 -1
  275. package/components/Island/components/IslandFooter.js +1 -1
  276. package/components/Island/components/IslandHeader.js +1 -1
  277. package/components/Island/utils.js +1 -1
  278. package/components/IslandAccordion/IslandAccordion.js +2 -2
  279. package/components/IslandAccordion/components/IslandAccordionContent.js +1 -1
  280. package/components/IslandAccordion/components/IslandAccordionFooter.js +1 -1
  281. package/components/IslandAccordion/components/IslandAccordionItem.js +2 -3
  282. package/components/IslandAccordion/components/IslandAccordionItem.js.map +1 -1
  283. package/components/IslandWidget/IslandWidget.js +4 -4
  284. package/components/IslandWidget/components/IslandWidgetBody.js +1 -1
  285. package/components/IslandWidget/components/IslandWidgetExtraFooter.js +1 -1
  286. package/components/IslandWidget/components/IslandWidgetFooter.js +1 -1
  287. package/components/IslandWidget/components/IslandWidgetFooterContent.js +1 -1
  288. package/components/IslandWidget/components/IslandWidgetFooterControls.js +1 -1
  289. package/components/IslandWidget/components/IslandWidgetHeader.js +1 -1
  290. package/components/IslandWidget/components/IslandWidgetHeaderContent.js +1 -1
  291. package/components/IslandWidget/components/IslandWidgetHeaderControls.js +1 -1
  292. package/components/IslandWidget/components/IslandWidgetHeaderDescription.js +1 -1
  293. package/components/IslandWidget/components/IslandWidgetHeaderTitle.js +1 -1
  294. package/components/IslandWidget/components/IslandWidgetWrapper.js +1 -1
  295. package/components/LightBox/LightBox.js +33 -29
  296. package/components/LightBox/LightBox.js.map +1 -1
  297. package/components/LightBox/LightBoxContent.js +1 -1
  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 +7 -5
  301. package/components/LightBox/LightBoxControls/LightBoxClose.js.map +1 -1
  302. package/components/LightBox/LightBoxControls/LightBoxControls.js +1 -1
  303. package/components/LightBox/LightBoxControls/LightBoxControls.js.map +1 -1
  304. package/components/LightBox/LightBoxControls/LightBoxNext.js +17 -52
  305. package/components/LightBox/LightBoxControls/LightBoxNext.js.map +1 -1
  306. package/components/LightBox/LightBoxControls/LightBoxPrev.js +17 -52
  307. package/components/LightBox/LightBoxControls/LightBoxPrev.js.map +1 -1
  308. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js +14 -14
  309. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js.map +1 -1
  310. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseDesktop.js +1 -1
  311. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseMobile.js +1 -1
  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 +6 -33
  315. package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js.map +1 -1
  316. package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js +6 -33
  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 +31 -29
  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 +5 -5
  326. package/components/List/List.js +3 -3
  327. package/components/List/components/ListActionItem.js +1 -1
  328. package/components/List/components/ListEmptyState.js +1 -1
  329. package/components/List/components/ListItem.js +1 -1
  330. package/components/List/components/ListItemContent.js +4 -4
  331. package/components/List/components/ListItemControls.js +1 -1
  332. package/components/List/components/ListItemControlsButton.js +1 -1
  333. package/components/List/components/ListItemControlsButtonDropdown.js +1 -1
  334. package/components/List/components/ListItemLoading.js +1 -1
  335. package/components/List/components/ListItemSelectable.js +6 -6
  336. package/components/List/components/ListItemTailLeft.js +1 -1
  337. package/components/List/components/ListItemTailRight.js +1 -1
  338. package/components/List/components/ListSortableItem.js +2 -2
  339. package/components/List/components/ListSortableItemControls.js +1 -1
  340. package/components/List/components/ListSortableItemTarget.js +4 -4
  341. package/components/List/components/ListTableItem.js +3 -3
  342. package/components/List/index.js +1 -1
  343. package/components/ListMaster/ListMaster.js +1 -1
  344. package/components/ListMaster/components/ListMasterBody.js +1 -1
  345. package/components/ListMaster/components/ListMasterChipGroup.js +1 -1
  346. package/components/ListMaster/components/ListMasterFooter.js +1 -1
  347. package/components/ListMaster/components/ListMasterFooterControls.js +1 -1
  348. package/components/ListMaster/components/ListMasterFooterDescription.js +1 -1
  349. package/components/ListMaster/components/ListMasterHeader.js +2 -2
  350. package/components/ListMaster/components/SelectionControls.js +2 -2
  351. package/components/Loader/LoaderMiddle/LoaderMiddle.js +8 -8
  352. package/components/Loader/LoaderSmall/LoaderSmall.js +10 -10
  353. package/components/LoaderScreen/LoaderScreen.js +5 -5
  354. package/components/Marker/Marker.js +1 -1
  355. package/components/Marker/utils.js +1 -1
  356. package/components/MarkerStatus/MarkerStatus.js +7 -7
  357. package/components/ModalWindow/ModalWindow.js +1 -1
  358. package/components/ModalWindow/components/ModalWindowBody.js +1 -1
  359. package/components/ModalWindow/components/ModalWindowClose.js +1 -1
  360. package/components/ModalWindow/components/ModalWindowContent.js +1 -1
  361. package/components/ModalWindow/components/ModalWindowHeader.js +1 -1
  362. package/components/ModalWindow/components/ModalWindowViewManager.js +1 -1
  363. package/components/MonthYearRange/MonthYearRange.js +3 -3
  364. package/components/MultiselectField/components/MultiselectFieldDropdown.js +1 -1
  365. package/components/MultiselectField/components/MultiselectFieldDropdownContent.js +5 -5
  366. package/components/MultiselectField/components/MultiselectFieldDropdownFooter.js +1 -1
  367. package/components/MultiselectField/components/MultiselectFieldDropdownHeader.js +1 -1
  368. package/components/Notification/Notification.js +2 -2
  369. package/components/Notification/NotificationGrouped.js +1 -1
  370. package/components/Notification/components/NotificationBody.js +1 -1
  371. package/components/Notification/components/NotificationBodyList.js +1 -1
  372. package/components/Notification/components/NotificationClose.js +1 -2
  373. package/components/Notification/components/NotificationClose.js.map +1 -1
  374. package/components/Notification/components/NotificationFooter.js +1 -1
  375. package/components/Notification/components/NotificationGroupedFooter.js +1 -1
  376. package/components/Notification/components/NotificationHeader.js +1 -1
  377. package/components/Notification/components/NotificationIcon.js +1 -1
  378. package/components/Notification/components/NotificationTime.js +1 -1
  379. package/components/OrderedList/OrderedList.js +2 -2
  380. package/components/OrderedList/OrderedListItem.js +2 -2
  381. package/components/Overlay/Overlay.js +1 -1
  382. package/components/Overlay/OverlayMask.js +1 -1
  383. package/components/Overlay/OverlayPanel.js +1 -1
  384. package/components/Page/Page.js +1 -1
  385. package/components/Page/components/BodyPage.js +3 -3
  386. package/components/Page/components/FooterPage.js +1 -1
  387. package/components/Page/components/HeaderPage.js +1 -1
  388. package/components/Pagination/components/PaginationExtended.js +2 -2
  389. package/components/Pagination/components/PaginationNavigationButton.js +2 -2
  390. package/components/Pagination/components/PaginationNavigationExtended.js +1 -1
  391. package/components/Pagination/components/PaginationPageButton.js +2 -6
  392. package/components/Pagination/components/PaginationPageButton.js.map +1 -1
  393. package/components/Pagination/components/PaginationPageEllipsis.js +1 -1
  394. package/components/Pagination/components/PaginationSelect.js +2 -2
  395. package/components/Portal/Portal.js.map +1 -1
  396. package/components/Radio/Radio.js +9 -9
  397. package/components/Radio/RadioXGroup.js +8 -8
  398. package/components/Radio/RadioYGroup.js +1 -1
  399. package/components/Row/Row.js +24 -16
  400. package/components/Row/Row.js.map +1 -1
  401. package/components/Row/RowContext.js.map +1 -1
  402. package/components/SMSField/SMSField.js +2 -2
  403. package/components/SMSField/components/RefreshIcon.js +1 -1
  404. package/components/SMSField/components/SMSFieldInput.js +1 -1
  405. package/components/SMSField/components/SMSFieldRefresh.js +1 -2
  406. package/components/SMSField/components/SMSFieldRefresh.js.map +1 -1
  407. package/components/SMSField/components/SMSFieldSubmit.js +1 -2
  408. package/components/SMSField/components/SMSFieldSubmit.js.map +1 -1
  409. package/components/SegmentedControl/SegmentedControl.js +9 -9
  410. package/components/SegmentedControl/SegmentedControlSegment.js +3 -3
  411. package/components/SelectExtendedField/SelectExtendedField.js +1 -1
  412. package/components/SelectExtendedField/components/SelectExtendedFieldDropdown.js +1 -1
  413. package/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js +1 -1
  414. package/components/SelectExtendedField/components/SelectExtendedFieldTarget.js +7 -7
  415. package/components/SelectField/SelectField.js +1 -1
  416. package/components/Skeleton/Skeleton.js +4 -4
  417. package/components/SliderExtended/SliderExtended.js +2 -2
  418. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js +5 -5
  419. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMark.js +1 -1
  420. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarks.js +1 -1
  421. package/components/SliderExtended/components/SliderExtendedRail.js +1 -1
  422. package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js +4 -4
  423. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js +6 -6
  424. package/components/SmallInput/SmallInput.js +1 -1
  425. package/components/Spoiler/Spoiler.js +10 -11
  426. package/components/Spoiler/Spoiler.js.map +1 -1
  427. package/components/StatusTracker/StatusTracker.js +2 -2
  428. package/components/StatusTracker/components/StatusTrackerAlert.js +1 -1
  429. package/components/StatusTracker/components/StatusTrackerBody.js +1 -1
  430. package/components/StatusTracker/components/StatusTrackerButton.js +1 -2
  431. package/components/StatusTracker/components/StatusTrackerButton.js.map +1 -1
  432. package/components/StatusTracker/components/StatusTrackerDescription.js +1 -1
  433. package/components/StatusTracker/components/StatusTrackerFooter.js +1 -1
  434. package/components/StatusTracker/components/StatusTrackerHeader.js +1 -1
  435. package/components/StatusTracker/components/StatusTrackerMedia.js +1 -1
  436. package/components/StatusTracker/components/StatusTrackerStatus.js +1 -1
  437. package/components/StatusTracker/components/StatusTrackerStatusGroup.js +1 -1
  438. package/components/StatusTracker/components/StatusTrackerSum.js +1 -1
  439. package/components/StatusTracker/components/StatusTrackerTitle.js +1 -1
  440. package/components/Step/Step.js +10 -10
  441. package/components/Stepper/Stepper.js +8 -8
  442. package/components/Stepper/StepperExtended.js +1 -1
  443. package/components/Stepper/StepperStep.js +2 -2
  444. package/components/Stepper/StepperStepArrowBorder.js +1 -1
  445. package/components/Suggest/SuggestMobileDropdownContent.js +3 -3
  446. package/components/SuggestField/SuggestField.js +1 -1
  447. package/components/SuggestField/desktop/SuggestFieldDesktop.js +1 -1
  448. package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js +1 -1
  449. package/components/SuggestField/index.js +1 -1
  450. package/components/SuggestField/mobile/SuggestFieldMobile.js +1 -1
  451. package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js +2 -2
  452. package/components/SuggestField/mobile/SuggestFieldMobileDropdownHint.js +1 -1
  453. package/components/SuggestField/mobile/index.js +1 -1
  454. package/components/SwipeableArea/SwipeableArea.js +8 -8
  455. package/components/Table/ChipPanel.js +1 -1
  456. package/components/Table/ChipPanelLinks.js +1 -1
  457. package/components/Table/FilterPanel.js +2 -2
  458. package/components/Table/MasterTable.js +2 -2
  459. package/components/Table/NoColumns.js +2 -2
  460. package/components/Table/PaginationPanel.js +2 -2
  461. package/components/Table/TableBasic/TableBasic.js +1 -1
  462. package/components/Table/TableBasic/components/TableBasicBody.js +1 -1
  463. package/components/Table/TableBasic/components/TableBasicHeader.js +1 -1
  464. package/components/Table/TableBasic/components/TableBasicRow.js +1 -1
  465. package/components/Table/TableBasicSettings/TableBasicSettings.js +2 -2
  466. package/components/Table/TableBasicSettings/components/ColumnSettingsSortableListItemTarget.js +2 -2
  467. package/components/Table/TableBasicSettings/components/ColumnSettingsStaticListItem.js +1 -1
  468. package/components/Table/TableBasicSettings/components/TableBasicSettingsBody.js +1 -1
  469. package/components/Table/TableBasicSettings/components/TableBasicSettingsFooter.js +1 -1
  470. package/components/Table/TableBasicSettings/components/TableBasicSettingsHeader.js +1 -1
  471. package/components/Table/TableFooter/TableFooter.js +1 -1
  472. package/components/Table/TableFooter/components/TableFooterSummary.js +1 -1
  473. package/components/Table/TableFooter/components/TableFooterSummaryAmount.js +1 -1
  474. package/components/Table/TableFooter/components/TableFooterSummarySelectAllButton.js +1 -1
  475. package/components/Table/TableFooter/components/TableFooterSummarySelectedCount.js +1 -1
  476. package/components/Table/utils.js +1 -1
  477. package/components/Tabs/Tabs.js +5 -6
  478. package/components/Tabs/Tabs.js.map +1 -1
  479. package/components/TabsExtended/TabsExtended.js +2 -2
  480. package/components/TabsExtended/components/TabsExtendedContent.js +1 -1
  481. package/components/TabsExtended/components/TabsExtendedDropdownWrapper.js +1 -1
  482. package/components/TabsExtended/components/TabsExtendedTab.js +1 -1
  483. package/components/TabsExtended/components/TabsExtendedTabButton.js +1 -1
  484. package/components/TabsExtended/components/TabsExtendedTabsWrapper.js +1 -1
  485. package/components/TabsExtended/utils.js +1 -1
  486. package/components/TabsLine/TabsLine.js +1 -1
  487. package/components/TabsLine/components/TabsLineDesktop.js +1 -1
  488. package/components/TabsLine/components/TabsLineDropdown.js +2 -2
  489. package/components/TabsLine/components/TabsLineItem.js +1 -1
  490. package/components/TabsLine/components/TabsLineMobile.js +2 -2
  491. package/components/Tag/Tag.js +5 -5
  492. package/components/TagColor/TagColor.js +10 -10
  493. package/components/TagGroup/TagGroup.js +4 -4
  494. package/components/TextField/TextField.js.map +1 -1
  495. package/components/TextField/TextFieldBase.js.map +1 -1
  496. package/components/Tooltip/components/common/TooltipBody.js +1 -1
  497. package/components/Tooltip/components/common/TooltipLink.js +5 -5
  498. package/components/Tooltip/components/common/TooltipXButton.js +1 -1
  499. package/components/Tooltip/components/desktop/components/TooltipDesktopBase.js +1 -1
  500. package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js +1 -1
  501. package/components/Tooltip/components/mobile/TooltipMobile.js +4 -4
  502. package/components/TopOverlay/TopOverlay.js +6 -6
  503. package/components/TreeView/TreeView.js +1 -1
  504. package/components/TreeView/components/TreeViewGroup.js +1 -1
  505. package/components/TreeView/components/TreeViewNode.js +1 -1
  506. package/components/Typography/Caption.js +9 -12
  507. package/components/Typography/Caption.js.map +1 -1
  508. package/components/Typography/CodeText.js +6 -9
  509. package/components/Typography/CodeText.js.map +1 -1
  510. package/components/Typography/Text.js +13 -16
  511. package/components/Typography/Text.js.map +1 -1
  512. package/components/Typography/Title.js +12 -15
  513. package/components/Typography/Title.js.map +1 -1
  514. package/components/Typography/constants.js +1 -1
  515. package/components/Typography/enums.js.map +1 -1
  516. package/components/Typography/utils.js +16 -0
  517. package/components/Typography/utils.js.map +1 -0
  518. package/components/UnorderedList/UnorderedList.js +2 -2
  519. package/components/UnorderedList/UnorderedListItem.js +2 -2
  520. package/components/UploadZone/UploadZone.js +2 -2
  521. package/components/UploadZone/components/UploadZoneInput.js +1 -1
  522. package/components/UploadZone/index.js +1 -1
  523. package/components/index.js +11 -8
  524. package/components/index.js.map +1 -1
  525. package/index.d.ts +251 -54
  526. package/index.js +11 -8
  527. package/index.js.map +1 -1
  528. package/package.json +5 -1
  529. package/styles/triplex-next.css +3086 -2914
  530. package/chunks/Card.module-CUu3n1Ik.js +0 -30
  531. package/chunks/Card.module-CUu3n1Ik.js.map +0 -1
  532. package/chunks/CheckboxTreeExtended.module-Bs5kaeQL.js +0 -24
  533. package/chunks/CheckboxTreeExtended.module-Bs5kaeQL.js.map +0 -1
  534. package/chunks/Confirm.module-B2-rL_RN.js +0 -24
  535. package/chunks/Confirm.module-B2-rL_RN.js.map +0 -1
  536. package/chunks/DropdownListItem-CWu2k-xN.js.map +0 -1
  537. package/chunks/DropdownMobile.module-S-iDleFe.js +0 -40
  538. package/chunks/DropdownMobile.module-S-iDleFe.js.map +0 -1
  539. package/chunks/Footer.module-p1FV05Yu.js +0 -12
  540. package/chunks/Footer.module-p1FV05Yu.js.map +0 -1
  541. package/chunks/HeaderLayoutSidebar.module-CyDAF1uQ.js.map +0 -1
  542. package/chunks/HeaderTabs.module-CXyVCcj5.js +0 -12
  543. package/chunks/HeaderTabs.module-CXyVCcj5.js.map +0 -1
  544. package/chunks/HeaderTitle.module-DmGrfVWQ.js.map +0 -1
  545. package/chunks/ImageGalleryExtendedMain.module-CT_yuW46.js +0 -28
  546. package/chunks/ImageGalleryExtendedMain.module-CT_yuW46.js.map +0 -1
  547. package/chunks/IslandAccordion.module-DLR4XYgF.js +0 -44
  548. package/chunks/IslandAccordion.module-DLR4XYgF.js.map +0 -1
  549. package/chunks/IslandWidgetFooter.module-CMgkAlm6.js +0 -12
  550. package/chunks/IslandWidgetFooter.module-CMgkAlm6.js.map +0 -1
  551. package/chunks/IslandWidgetHeader.module-vfGKCnA2.js +0 -20
  552. package/chunks/IslandWidgetHeader.module-vfGKCnA2.js.map +0 -1
  553. package/chunks/LightBoxContent-DEbpANhU.js.map +0 -1
  554. package/chunks/LightBoxControls.module-BFMB3dd_.js +0 -26
  555. package/chunks/LightBoxControls.module-BFMB3dd_.js.map +0 -1
  556. package/chunks/LightBoxSideOverlayClose.module-Cr5GCjkp.js.map +0 -1
  557. package/chunks/ListItemTail.module-DfBFMdiL.js +0 -18
  558. package/chunks/ListItemTail.module-DfBFMdiL.js.map +0 -1
  559. package/chunks/ListMasterFooter.module-Cl0OSU-T.js +0 -14
  560. package/chunks/ListMasterFooter.module-Cl0OSU-T.js.map +0 -1
  561. package/chunks/ModalWindow.module-oXHx3oyZ.js +0 -28
  562. package/chunks/ModalWindow.module-oXHx3oyZ.js.map +0 -1
  563. package/chunks/Notification.module-DXDtOWrl.js +0 -34
  564. package/chunks/Notification.module-DXDtOWrl.js.map +0 -1
  565. package/chunks/Overlay.module-D_FjIWyF.js +0 -30
  566. package/chunks/Overlay.module-D_FjIWyF.js.map +0 -1
  567. package/chunks/Page.module-Bq8dB1IT.js +0 -15
  568. package/chunks/Page.module-Bq8dB1IT.js.map +0 -1
  569. package/chunks/SMSField.module-C2nI_EDz.js +0 -26
  570. package/chunks/SMSField.module-C2nI_EDz.js.map +0 -1
  571. package/chunks/SliderExtendedMarks.module-C8OiLDn9.js +0 -24
  572. package/chunks/SliderExtendedMarks.module-C8OiLDn9.js.map +0 -1
  573. package/chunks/StatusTracker.module-5T9i1GGV.js +0 -42
  574. package/chunks/StatusTracker.module-5T9i1GGV.js.map +0 -1
  575. package/chunks/TableFooter.module-BX65oT3X.js +0 -22
  576. package/chunks/TableFooter.module-BX65oT3X.js.map +0 -1
  577. package/chunks/TabsExtended.module-DCz7kdLt.js +0 -26
  578. package/chunks/TabsExtended.module-DCz7kdLt.js.map +0 -1
  579. package/chunks/TabsLine.module-PAGumMbi.js +0 -36
  580. package/chunks/TabsLine.module-PAGumMbi.js.map +0 -1
  581. package/chunks/TooltipDesktop.module-Z0H7qkiX.js +0 -32
  582. package/chunks/TooltipDesktop.module-Z0H7qkiX.js.map +0 -1
  583. package/chunks/TreeView.module-pw7zQPrN.js +0 -12
  584. package/chunks/TreeView.module-pw7zQPrN.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import React from "react";
3
3
  import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
4
- import { s as styles } from "../../../chunks/IslandAccordion.module-DLR4XYgF.js";
4
+ import { s as styles } from "../../../chunks/IslandAccordion.module-rbKkMJ0T.js";
5
5
  import { Island } from "../../Island/Island.js";
6
6
  import "../../Island/components/IslandBody.js";
7
7
  import "../../Island/components/IslandHeader.js";
@@ -8,7 +8,6 @@ import { IslandAccordionContent } from "./IslandAccordionContent.js";
8
8
  import { IslandAccordionFooter } from "./IslandAccordionFooter.js";
9
9
  import { createSizeToClassNameMap } from "../../../utils/classNameMaps.js";
10
10
  import "../../Button/Button.js";
11
- import "../../Button/ButtonBase.js";
12
11
  import { ButtonIcon } from "../../Button/ButtonIcon.js";
13
12
  import "../../Button/ButtonDropdown.js";
14
13
  import "../../Button/ButtonDropdownExtended.js";
@@ -26,7 +25,7 @@ import "../../Typography/CodeText.js";
26
25
  import "../../Typography/Text.js";
27
26
  import { Title } from "../../Typography/Title.js";
28
27
  import { useMobileView } from "../../MobileView/useMobileView.js";
29
- import { s as styles } from "../../../chunks/IslandAccordion.module-DLR4XYgF.js";
28
+ import { s as styles } from "../../../chunks/IslandAccordion.module-rbKkMJ0T.js";
30
29
  const TYPE_TO_CLASS_NAME_MAP = {
31
30
  [EIslandType.TYPE_1]: styles.type1,
32
31
  [EIslandType.TYPE_2]: styles.type2,
@@ -107,7 +106,7 @@ const IslandAccordionItem = Object.assign(
107
106
  }),
108
107
  onClick: handleHeaderClick,
109
108
  disabled,
110
- "data-tx": "0.38.0",
109
+ "data-tx": "0.40.0",
111
110
  children: [
112
111
  status && num && /* @__PURE__ */ jsx("div", { className: styles.step, children: /* @__PURE__ */ jsx(Step, { step: num, status, position: EStepPosition.XFirst, size, children: disabled ? void 0 : stepHint }) }),
113
112
  /* @__PURE__ */ jsx(
@@ -1 +1 @@
1
- {"version":3,"file":"IslandAccordionItem.js","sources":["../../../../src/components/IslandAccordion/components/IslandAccordionItem.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useContext } from \"react\";\nimport { CaretdownStrokeSrvIcon24, CrossStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport clsx from \"clsx\";\nimport { Island } from \"../../Island/Island\";\nimport { uniqueId } from \"lodash-es\";\nimport { ExpandAnimation, IExpandAnimationProps } from \"../../ExpandAnimation\";\nimport { IslandAccordionContent } from \"./IslandAccordionContent\";\nimport { IslandAccordionFooter } from \"./IslandAccordionFooter\";\nimport { createSizeToClassNameMap } from \"../../../utils/classNameMaps\";\nimport { ButtonIcon } from \"../../Button\";\nimport { EIslandType } from \"../../Island\";\nimport { Step, EStepStatus, EStepPosition } from \"../../Step\";\nimport { IslandAccordionContext } from \"../IslandAccordionContext\";\nimport { EComponentSize } from \"../../../enums/EComponentSize\";\nimport { ETitleSize, Title, EFontType, EFontWeightTitle } from \"../../Typography\";\nimport { useMobileView } from \"../../MobileView\";\nimport styles from \"../styles/IslandAccordion.module.less\";\n\nexport interface IIslandAccordionItemProps extends Omit<React.HTMLAttributes<HTMLLIElement>, \"title\"> {\n /** Нода с названием заголовка. */\n title: React.ReactNode;\n /** Идентификатор вкладки (если не передать извне, то используется индекс. Также используется как ключ при рендере списка вкладок). */\n id: string;\n /** Цифра в кружке. */\n num?: number;\n /** Раскрыт ли элемент. */\n opened?: boolean;\n /** Статус шага. */\n status?: EStepStatus;\n /** Подсказка к шагу. */\n stepHint?: string;\n /** Заблокирован ли элемент. */\n disabled?: boolean;\n /** Вызывается при клике по вкладке. */\n onToggle?: (newOpened: boolean, id: string) => void;\n /** Вызывается при удалении вкладки. */\n onRemove?: (id: string) => void;\n /** Свойства компонента Transition (react-transition-group). */\n transitionProps?: IExpandAnimationProps[\"transitionProps\"];\n}\n\nconst TYPE_TO_CLASS_NAME_MAP: Record<EIslandType, string> = {\n [EIslandType.TYPE_1]: styles.type1,\n [EIslandType.TYPE_2]: styles.type2,\n [EIslandType.TYPE_3]: styles.type3,\n};\n\nconst SIZE_TO_TITLE_SIZE_MAP: Record<EComponentSize, ETitleSize> = {\n [EComponentSize.SM]: ETitleSize.H3,\n [EComponentSize.MD]: ETitleSize.H3,\n [EComponentSize.LG]: ETitleSize.H2,\n};\n\nconst SIZE_TO_CLASS_NAME_MAP = createSizeToClassNameMap(styles);\n\nexport const IslandAccordionItem = Object.assign(\n React.forwardRef<HTMLLIElement, IIslandAccordionItemProps>(\n (\n {\n children,\n title,\n className,\n opened,\n disabled,\n onRemove,\n onToggle,\n id,\n num,\n status,\n stepHint,\n transitionProps,\n ...rest\n },\n ref,\n ) => {\n const [isOpen, setIsOpen] = useState(opened || false);\n const { size, type } = useContext(IslandAccordionContext);\n\n const instanceId = useRef(uniqueId()).current;\n const headerInstanceId = `${instanceId}header`;\n const bodyInstanceId = `${instanceId}body`;\n\n const adaptive = useMobileView();\n\n useEffect(() => {\n if (opened !== undefined && isOpen !== opened) {\n setIsOpen(opened);\n }\n }, [opened, isOpen]);\n\n const handleHeaderClick = (): void => {\n if (disabled) {\n return;\n }\n const newOpened = !isOpen;\n onToggle?.(newOpened, id);\n\n if (opened === undefined) {\n setIsOpen(newOpened);\n }\n };\n\n const handleRemoveClick = (): void => {\n if (disabled) {\n return;\n }\n onRemove?.(id);\n };\n\n const titleSize = adaptive ? ETitleSize.H3 : SIZE_TO_TITLE_SIZE_MAP[size];\n\n const classNames = clsx(\n className,\n styles.item,\n SIZE_TO_CLASS_NAME_MAP[size],\n TYPE_TO_CLASS_NAME_MAP[type],\n {\n [styles.disabled]: !!disabled,\n [styles.opened]: isOpen,\n },\n );\n\n return (\n <li {...rest} className={classNames} id={id} ref={ref}>\n <Island className={styles.island} size={size} type={type}>\n <Island.Header>\n <button\n id={headerInstanceId}\n aria-controls={bodyInstanceId}\n aria-expanded={isOpen}\n type=\"button\"\n className={clsx(styles.header, {\n hoverable: !isOpen,\n })}\n onClick={handleHeaderClick}\n disabled={disabled}\n data-tx={process.env.npm_package_version}\n >\n {status && num && (\n <div className={styles.step}>\n <Step step={num} status={status} position={EStepPosition.XFirst} size={size}>\n {disabled ? undefined : stepHint}\n </Step>\n </div>\n )}\n\n <Title\n className={styles.title}\n size={titleSize}\n type={disabled ? EFontType.DISABLED : EFontType.PRIMARY}\n tag=\"div\"\n weight={EFontWeightTitle.MEDIUM}\n >\n {title}\n </Title>\n\n <span className={clsx(styles.caretWrapper)}>\n <CaretdownStrokeSrvIcon24\n className={styles.caretIcon}\n aria-hidden=\"true\"\n paletteIndex={5}\n />\n </span>\n </button>\n </Island.Header>\n\n <ExpandAnimation\n expanded={isOpen && !disabled}\n id={bodyInstanceId}\n role=\"region\"\n aria-labelledby={headerInstanceId}\n transitionProps={transitionProps}\n >\n {children}\n </ExpandAnimation>\n </Island>\n\n {onRemove && (\n <span className={styles.remove}>\n <ButtonIcon onClick={handleRemoveClick} disabled={disabled} title=\"Удалить\">\n <CrossStrokeSrvIcon24 paletteIndex={5} />\n </ButtonIcon>\n </span>\n )}\n </li>\n );\n },\n ),\n {\n Content: IslandAccordionContent,\n Footer: IslandAccordionFooter,\n },\n);\n\nIslandAccordionItem.displayName = \"IslandAccordionItem\";\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IslandAccordionItem.js","sources":["../../../../src/components/IslandAccordion/components/IslandAccordionItem.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useContext } from \"react\";\nimport { CaretdownStrokeSrvIcon24, CrossStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport clsx from \"clsx\";\nimport { Island } from \"../../Island/Island\";\nimport { uniqueId } from \"lodash-es\";\nimport { ExpandAnimation, IExpandAnimationProps } from \"../../ExpandAnimation\";\nimport { IslandAccordionContent } from \"./IslandAccordionContent\";\nimport { IslandAccordionFooter } from \"./IslandAccordionFooter\";\nimport { createSizeToClassNameMap } from \"../../../utils/classNameMaps\";\nimport { ButtonIcon } from \"../../Button\";\nimport { EIslandType } from \"../../Island\";\nimport { Step, EStepStatus, EStepPosition } from \"../../Step\";\nimport { IslandAccordionContext } from \"../IslandAccordionContext\";\nimport { EComponentSize } from \"../../../enums/EComponentSize\";\nimport { ETitleSize, Title, EFontType, EFontWeightTitle } from \"../../Typography\";\nimport { useMobileView } from \"../../MobileView\";\nimport styles from \"../styles/IslandAccordion.module.less\";\n\nexport interface IIslandAccordionItemProps extends Omit<React.HTMLAttributes<HTMLLIElement>, \"title\"> {\n /** Нода с названием заголовка. */\n title: React.ReactNode;\n /** Идентификатор вкладки (если не передать извне, то используется индекс. Также используется как ключ при рендере списка вкладок). */\n id: string;\n /** Цифра в кружке. */\n num?: number;\n /** Раскрыт ли элемент. */\n opened?: boolean;\n /** Статус шага. */\n status?: EStepStatus;\n /** Подсказка к шагу. */\n stepHint?: string;\n /** Заблокирован ли элемент. */\n disabled?: boolean;\n /** Вызывается при клике по вкладке. */\n onToggle?: (newOpened: boolean, id: string) => void;\n /** Вызывается при удалении вкладки. */\n onRemove?: (id: string) => void;\n /** Свойства компонента Transition (react-transition-group). */\n transitionProps?: IExpandAnimationProps[\"transitionProps\"];\n}\n\nconst TYPE_TO_CLASS_NAME_MAP: Record<EIslandType, string> = {\n [EIslandType.TYPE_1]: styles.type1,\n [EIslandType.TYPE_2]: styles.type2,\n [EIslandType.TYPE_3]: styles.type3,\n};\n\nconst SIZE_TO_TITLE_SIZE_MAP: Record<EComponentSize, ETitleSize> = {\n [EComponentSize.SM]: ETitleSize.H3,\n [EComponentSize.MD]: ETitleSize.H3,\n [EComponentSize.LG]: ETitleSize.H2,\n};\n\nconst SIZE_TO_CLASS_NAME_MAP = createSizeToClassNameMap(styles);\n\nexport const IslandAccordionItem = Object.assign(\n React.forwardRef<HTMLLIElement, IIslandAccordionItemProps>(\n (\n {\n children,\n title,\n className,\n opened,\n disabled,\n onRemove,\n onToggle,\n id,\n num,\n status,\n stepHint,\n transitionProps,\n ...rest\n },\n ref,\n ) => {\n const [isOpen, setIsOpen] = useState(opened || false);\n const { size, type } = useContext(IslandAccordionContext);\n\n const instanceId = useRef(uniqueId()).current;\n const headerInstanceId = `${instanceId}header`;\n const bodyInstanceId = `${instanceId}body`;\n\n const adaptive = useMobileView();\n\n useEffect(() => {\n if (opened !== undefined && isOpen !== opened) {\n setIsOpen(opened);\n }\n }, [opened, isOpen]);\n\n const handleHeaderClick = (): void => {\n if (disabled) {\n return;\n }\n const newOpened = !isOpen;\n onToggle?.(newOpened, id);\n\n if (opened === undefined) {\n setIsOpen(newOpened);\n }\n };\n\n const handleRemoveClick = (): void => {\n if (disabled) {\n return;\n }\n onRemove?.(id);\n };\n\n const titleSize = adaptive ? ETitleSize.H3 : SIZE_TO_TITLE_SIZE_MAP[size];\n\n const classNames = clsx(\n className,\n styles.item,\n SIZE_TO_CLASS_NAME_MAP[size],\n TYPE_TO_CLASS_NAME_MAP[type],\n {\n [styles.disabled]: !!disabled,\n [styles.opened]: isOpen,\n },\n );\n\n return (\n <li {...rest} className={classNames} id={id} ref={ref}>\n <Island className={styles.island} size={size} type={type}>\n <Island.Header>\n <button\n id={headerInstanceId}\n aria-controls={bodyInstanceId}\n aria-expanded={isOpen}\n type=\"button\"\n className={clsx(styles.header, {\n hoverable: !isOpen,\n })}\n onClick={handleHeaderClick}\n disabled={disabled}\n data-tx={process.env.npm_package_version}\n >\n {status && num && (\n <div className={styles.step}>\n <Step step={num} status={status} position={EStepPosition.XFirst} size={size}>\n {disabled ? undefined : stepHint}\n </Step>\n </div>\n )}\n\n <Title\n className={styles.title}\n size={titleSize}\n type={disabled ? EFontType.DISABLED : EFontType.PRIMARY}\n tag=\"div\"\n weight={EFontWeightTitle.MEDIUM}\n >\n {title}\n </Title>\n\n <span className={clsx(styles.caretWrapper)}>\n <CaretdownStrokeSrvIcon24\n className={styles.caretIcon}\n aria-hidden=\"true\"\n paletteIndex={5}\n />\n </span>\n </button>\n </Island.Header>\n\n <ExpandAnimation\n expanded={isOpen && !disabled}\n id={bodyInstanceId}\n role=\"region\"\n aria-labelledby={headerInstanceId}\n transitionProps={transitionProps}\n >\n {children}\n </ExpandAnimation>\n </Island>\n\n {onRemove && (\n <span className={styles.remove}>\n <ButtonIcon onClick={handleRemoveClick} disabled={disabled} title=\"Удалить\">\n <CrossStrokeSrvIcon24 paletteIndex={5} />\n </ButtonIcon>\n </span>\n )}\n </li>\n );\n },\n ),\n {\n Content: IslandAccordionContent,\n Footer: IslandAccordionFooter,\n },\n);\n\nIslandAccordionItem.displayName = \"IslandAccordionItem\";\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAM,yBAAsD;AAAA,EACxD,CAAC,YAAY,MAAM,GAAG,OAAO;AAAA,EAC7B,CAAC,YAAY,MAAM,GAAG,OAAO;AAAA,EAC7B,CAAC,YAAY,MAAM,GAAG,OAAO;AACjC;AAEA,MAAM,yBAA6D;AAAA,EAC/D,CAAC,eAAe,EAAE,GAAG,WAAW;AAAA,EAChC,CAAC,eAAe,EAAE,GAAG,WAAW;AAAA,EAChC,CAAC,eAAe,EAAE,GAAG,WAAW;AACpC;AAEA,MAAM,yBAAyB,yBAAyB,MAAM;AAEvD,MAAM,sBAAsB,OAAO;AAAA,EACtC,MAAM;AAAA,IACF,CACI;AAAA,MACI;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IAAA,GAEP,QACC;AACD,YAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,UAAU,KAAK;AACpD,YAAM,EAAE,MAAM,SAAS,WAAW,sBAAsB;AAExD,YAAM,aAAa,OAAO,SAAA,CAAU,EAAE;AACtC,YAAM,mBAAmB,GAAG,UAAU;AACtC,YAAM,iBAAiB,GAAG,UAAU;AAEpC,YAAM,WAAW,cAAA;AAEjB,gBAAU,MAAM;AACZ,YAAI,WAAW,UAAa,WAAW,QAAQ;AAC3C,oBAAU,MAAM;AAAA,QACpB;AAAA,MACJ,GAAG,CAAC,QAAQ,MAAM,CAAC;AAEnB,YAAM,oBAAoB,MAAY;AAClC,YAAI,UAAU;AACV;AAAA,QACJ;AACA,cAAM,YAAY,CAAC;AACnB,6CAAW,WAAW;AAEtB,YAAI,WAAW,QAAW;AACtB,oBAAU,SAAS;AAAA,QACvB;AAAA,MACJ;AAEA,YAAM,oBAAoB,MAAY;AAClC,YAAI,UAAU;AACV;AAAA,QACJ;AACA,6CAAW;AAAA,MACf;AAEA,YAAM,YAAY,WAAW,WAAW,KAAK,uBAAuB,IAAI;AAExE,YAAM,aAAa;AAAA,QACf;AAAA,QACA,OAAO;AAAA,QACP,uBAAuB,IAAI;AAAA,QAC3B,uBAAuB,IAAI;AAAA,QAC3B;AAAA,UACI,CAAC,OAAO,QAAQ,GAAG,CAAC,CAAC;AAAA,UACrB,CAAC,OAAO,MAAM,GAAG;AAAA,QAAA;AAAA,MACrB;AAGJ,kCACK,MAAA,EAAI,GAAG,MAAM,WAAW,YAAY,IAAQ,KACzC,UAAA;AAAA,QAAA,qBAAC,QAAA,EAAO,WAAW,OAAO,QAAQ,MAAY,MAC1C,UAAA;AAAA,UAAA,oBAAC,OAAO,QAAP,EACG,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,IAAI;AAAA,cACJ,iBAAe;AAAA,cACf,iBAAe;AAAA,cACf,MAAK;AAAA,cACL,WAAW,KAAK,OAAO,QAAQ;AAAA,gBAC3B,WAAW,CAAC;AAAA,cAAA,CACf;AAAA,cACD,SAAS;AAAA,cACT;AAAA,cACA,WAAS;AAAA,cAER,UAAA;AAAA,gBAAA,UAAU,OACP,oBAAC,OAAA,EAAI,WAAW,OAAO,MACnB,8BAAC,MAAA,EAAK,MAAM,KAAK,QAAgB,UAAU,cAAc,QAAQ,MAC5D,UAAA,WAAW,SAAY,SAAA,CAC5B,EAAA,CACJ;AAAA,gBAGJ;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACG,WAAW,OAAO;AAAA,oBAClB,MAAM;AAAA,oBACN,MAAM,WAAW,UAAU,WAAW,UAAU;AAAA,oBAChD,KAAI;AAAA,oBACJ,QAAQ,iBAAiB;AAAA,oBAExB,UAAA;AAAA,kBAAA;AAAA,gBAAA;AAAA,oCAGJ,QAAA,EAAK,WAAW,KAAK,OAAO,YAAY,GACrC,UAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACG,WAAW,OAAO;AAAA,oBAClB,eAAY;AAAA,oBACZ,cAAc;AAAA,kBAAA;AAAA,gBAAA,GAEtB;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,GAER;AAAA,UAEA;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,UAAU,UAAU,CAAC;AAAA,cACrB,IAAI;AAAA,cACJ,MAAK;AAAA,cACL,mBAAiB;AAAA,cACjB;AAAA,cAEC;AAAA,YAAA;AAAA,UAAA;AAAA,QACL,GACJ;AAAA,QAEC,YACG,oBAAC,QAAA,EAAK,WAAW,OAAO,QACpB,8BAAC,YAAA,EAAW,SAAS,mBAAmB,UAAoB,OAAM,WAC9D,UAAA,oBAAC,wBAAqB,cAAc,GAAG,EAAA,CAC3C,EAAA,CACJ;AAAA,MAAA,GAER;AAAA,IAER;AAAA,EAAA;AAAA,EAEJ;AAAA,IACI,SAAS;AAAA,IACT,QAAQ;AAAA,EAAA;AAEhB;AAEA,oBAAoB,cAAc;"}
@@ -15,9 +15,9 @@ import { IslandWidgetLayoutContext } from "./IslandWidgetLayoutContext.js";
15
15
  import { IslandWidgetContext } from "./IslandWidgetContext.js";
16
16
  import { ExpandAnimation } from "../ExpandAnimation/ExpandAnimation.js";
17
17
  import { useMobileView } from "../MobileView/useMobileView.js";
18
- const islandWidget = "islandWidget__c9db3333";
19
- const islandWidgetWithExtraFooter = "islandWidgetWithExtraFooter__0f762ccc";
20
- const islandWidgetHeaderWrapperAdaptive = "islandWidgetHeaderWrapperAdaptive__04481cbb";
18
+ const islandWidget = "islandWidget__e5828052";
19
+ const islandWidgetWithExtraFooter = "islandWidgetWithExtraFooter__c0e2629c";
20
+ const islandWidgetHeaderWrapperAdaptive = "islandWidgetHeaderWrapperAdaptive__f34adbb6";
21
21
  const styles = {
22
22
  islandWidget,
23
23
  islandWidgetWithExtraFooter,
@@ -60,7 +60,7 @@ const IslandWidget = Object.assign(
60
60
  className: clsx(styles.islandWidget, className, {
61
61
  [styles.islandWidgetWithExtraFooter]: hasExtraFooter
62
62
  }),
63
- "data-tx": "0.38.0",
63
+ "data-tx": "0.40.0",
64
64
  ...rest,
65
65
  ref,
66
66
  children: /* @__PURE__ */ jsxs(Island, { type: EIslandType.TYPE_1, size, children: [
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
3
- const islandWidgetBody = "islandWidgetBody__072f41d9";
3
+ const islandWidgetBody = "islandWidgetBody__ed3bfc5e";
4
4
  const styles = {
5
5
  islandWidgetBody
6
6
  };
@@ -3,7 +3,7 @@ import { useContext, useEffect } from "react";
3
3
  import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
4
4
  import { ExpandAnimation } from "../../ExpandAnimation/ExpandAnimation.js";
5
5
  import { IslandWidgetLayoutContext } from "../IslandWidgetLayoutContext.js";
6
- const islandWidgetExtraFooter = "islandWidgetExtraFooter__5380c776";
6
+ const islandWidgetExtraFooter = "islandWidgetExtraFooter__5c145c3e";
7
7
  const styles = {
8
8
  islandWidgetExtraFooter
9
9
  };
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
3
- import { s as styles } from "../../../chunks/IslandWidgetFooter.module-CMgkAlm6.js";
3
+ import { s as styles } from "../../../chunks/IslandWidgetFooter.module-BatDP8na.js";
4
4
  import { IslandWidgetFooterContent } from "./IslandWidgetFooterContent.js";
5
5
  import { IslandWidgetFooterControls } from "./IslandWidgetFooterControls.js";
6
6
  const IslandWidgetFooter = ({ children, className, ...htmlDivAttributes }) => {
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { s as styles } from "../../../chunks/IslandWidgetFooter.module-CMgkAlm6.js";
2
+ import { s as styles } from "../../../chunks/IslandWidgetFooter.module-BatDP8na.js";
3
3
  const IslandWidgetFooterContent = ({
4
4
  children,
5
5
  ...htmlDivAttributes
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { s as styles } from "../../../chunks/IslandWidgetFooter.module-CMgkAlm6.js";
2
+ import { s as styles } from "../../../chunks/IslandWidgetFooter.module-BatDP8na.js";
3
3
  const IslandWidgetFooterControls = ({
4
4
  children,
5
5
  ...htmlDivAttributes
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useContext } from "react";
3
3
  import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
4
- import { s as styles } from "../../../chunks/IslandWidgetHeader.module-vfGKCnA2.js";
4
+ import { s as styles } from "../../../chunks/IslandWidgetHeader.module-DF76XaTz.js";
5
5
  import { IslandWidgetHeaderControls } from "./IslandWidgetHeaderControls.js";
6
6
  import { IslandWidgetHeaderDescription } from "./IslandWidgetHeaderDescription.js";
7
7
  import { IslandWidgetHeaderTitle } from "./IslandWidgetHeaderTitle.js";
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
3
- import { s as styles } from "../../../chunks/IslandWidgetHeader.module-vfGKCnA2.js";
3
+ import { s as styles } from "../../../chunks/IslandWidgetHeader.module-DF76XaTz.js";
4
4
  const IslandWidgetHeaderContent = ({
5
5
  children,
6
6
  className,
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
3
- import { s as styles } from "../../../chunks/IslandWidgetHeader.module-vfGKCnA2.js";
3
+ import { s as styles } from "../../../chunks/IslandWidgetHeader.module-DF76XaTz.js";
4
4
  const IslandWidgetHeaderControls = ({
5
5
  children,
6
6
  className,
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
3
- import { s as styles } from "../../../chunks/IslandWidgetHeader.module-vfGKCnA2.js";
3
+ import { s as styles } from "../../../chunks/IslandWidgetHeader.module-DF76XaTz.js";
4
4
  import { EFontType, ETextSize } from "../../Typography/enums.js";
5
5
  import "../../Typography/Caption.js";
6
6
  import "../../Typography/CodeText.js";
@@ -4,7 +4,7 @@ import "../../Typography/Caption.js";
4
4
  import "../../Typography/CodeText.js";
5
5
  import "../../Typography/Text.js";
6
6
  import { Title } from "../../Typography/Title.js";
7
- import { s as styles } from "../../../chunks/IslandWidgetHeader.module-vfGKCnA2.js";
7
+ import { s as styles } from "../../../chunks/IslandWidgetHeader.module-DF76XaTz.js";
8
8
  import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
9
9
  const IslandWidgetHeaderTitle = ({
10
10
  children,
@@ -2,7 +2,7 @@ import { jsx } from "react/jsx-runtime";
2
2
  import React, { useState } from "react";
3
3
  import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
4
4
  import { IslandWidgetLayoutContext } from "../IslandWidgetLayoutContext.js";
5
- const islandWidgetWrapper = "islandWidgetWrapper__fd05c9f7";
5
+ const islandWidgetWrapper = "islandWidgetWrapper__e6edd3f8";
6
6
  const styles = {
7
7
  islandWidgetWrapper
8
8
  };
@@ -1,9 +1,9 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
- import { useRef, useEffect } from "react";
2
+ import { useRef, useState, useEffect } from "react";
3
3
  import { c as clsx } from "../../chunks/vendor-BtZO8a0z.js";
4
4
  import { Portal } from "../Portal/Portal.js";
5
5
  import { FocusTrapExtended } from "../FocusTrapExtended/FocusTrapExtended.js";
6
- import { L as LightBoxContent, s as styles } from "../../chunks/LightBoxContent-DEbpANhU.js";
6
+ import { L as LightBoxContent, s as styles } from "../../chunks/LightBoxContent-BY9UKPE0.js";
7
7
  import { LightBoxControls } from "./LightBoxControls/LightBoxControls.js";
8
8
  import { LightBoxSideOverlay } from "./LightBoxSideOverlay/LightBoxSideOverlay.js";
9
9
  import { addClassNameWithScrollbarWidth } from "../../utils/scroll/scrollbar.js";
@@ -15,14 +15,21 @@ import { LightBoxLeftSidebar } from "./LightBoxSidebars/LightBoxLeftSidebar.js";
15
15
  import { LightBoxRightSidebar } from "./LightBoxSidebars/LightBoxRightSidebar.js";
16
16
  import { ELightBoxSize } from "./enums.js";
17
17
  const scrollStyles = {
18
- "scroll-0": "scroll-0__59cedbd1",
19
- "scroll-15": "scroll-15__c0ed86fe",
20
- "scroll-16": "scroll-16__58e2d372",
21
- "scroll-17": "scroll-17__103c7d9d"
18
+ "scroll-0": "scroll-0__71bbe8c7",
19
+ "scroll-15": "scroll-15__fee72e2c",
20
+ "scroll-16": "scroll-16__0eae1381",
21
+ "scroll-17": "scroll-17__51f561b5"
22
22
  };
23
23
  const lightBoxMountNodeIdDefault = "LightBox-next-mount-node";
24
24
  const lightBoxViewManagerNodeIdDefault = "LightBox-next-view-manager-node";
25
25
  const bodyClassNamesIsLightBoxOpen = [styles.bodyOverflowHidden];
26
+ const addClassNamesToDocumentElement = () => {
27
+ bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.add(className));
28
+ };
29
+ const removeClassNamesFromDocumentElement = () => {
30
+ bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.remove(className));
31
+ };
32
+ let mountedLightBoxCount = 0;
26
33
  const LightBoxBase = ({
27
34
  children,
28
35
  className,
@@ -40,16 +47,14 @@ const LightBoxBase = ({
40
47
  const containerRef = useRef(null);
41
48
  const { scopeClassName } = useToken();
42
49
  const getLightBoxMountNode = () => {
43
- let lightBoxMountNode2 = null;
44
50
  if (mountNode) {
45
- 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) {
@@ -102,7 +106,7 @@ const LightBoxBase = ({
102
106
  className
103
107
  );
104
108
  return /* @__PURE__ */ jsxs(Fragment, { children: [
105
- /* @__PURE__ */ jsx(Portal, { container: lightBoxMountNode.current, children: /* @__PURE__ */ jsx(
109
+ /* @__PURE__ */ jsx(Portal, { container: lightBoxMountNode, children: /* @__PURE__ */ jsx(
106
110
  FocusTrapExtended,
107
111
  {
108
112
  active: !isLoading,
@@ -119,11 +123,11 @@ const LightBoxBase = ({
119
123
  ] })
120
124
  }
121
125
  ) }),
122
- lightBoxViewManagerNode.current && /* @__PURE__ */ jsx(
126
+ /* @__PURE__ */ jsx(
123
127
  LightBoxViewManager,
124
128
  {
125
- lightBoxViewManagerNode: lightBoxViewManagerNode.current,
126
- lightBoxMountNode: lightBoxMountNode.current
129
+ lightBoxViewManagerNode,
130
+ lightBoxMountNode
127
131
  }
128
132
  )
129
133
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"LightBox.js","sources":["../../../src/components/LightBox/LightBox.tsx"],"sourcesContent":["/* eslint-disable react-hooks/refs */\nimport React, { useEffect, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { Portal } from \"../Portal\";\nimport { FocusTrapExtended, IFocusTrapExtendedProps } from \"../FocusTrapExtended\";\nimport { LightBoxContent } from \"./LightBoxContent\";\nimport { LightBoxControls } from \"./LightBoxControls/LightBoxControls\";\nimport { LightBoxSideOverlay } from \"./LightBoxSideOverlay/LightBoxSideOverlay\";\nimport { addClassNameWithScrollbarWidth } from \"../../utils/scroll/scrollbar\";\nimport { TopOverlay } from \"../TopOverlay/TopOverlay\";\nimport { LightBoxViewManager } from \"./LightBoxViewManager/LightBoxViewManager\";\nimport { FocusTrapUtils } from \"../../utils/focus/FocusTrapUtils\";\nimport { useToken } from \"../ThemeProvider/useToken\";\nimport { LightBoxLeftSidebar } from \"./LightBoxSidebars/LightBoxLeftSidebar\";\nimport { LightBoxRightSidebar } from \"./LightBoxSidebars/LightBoxRightSidebar\";\nimport { ELightBoxSize } from \"./enums\";\nimport styles from \"./styles/LightBox.module.less\";\nimport scrollStyles from \"./styles/LightBoxScroll.module.less\";\n\n// Идентификатор DOM-элемента, в который рендерится лайтбокс. При отсутствии элемента в DOM – создается в body.\nexport const lightBoxMountNodeIdDefault = \"LightBox-next-mount-node\";\n\n// Идентификатор DOM-элемента, в визуальных границах (левая и правая координата) которого рендерится лайтбокс.\nexport const lightBoxViewManagerNodeIdDefault = \"LightBox-next-view-manager-node\";\n\n/** Свойства компонента LightBox. */\nexport interface ILightBoxProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactElement[];\n /** Свойства компонента FocusTrapExtended. */\n focusTrapProps?: IFocusTrapExtendedProps;\n /** Ref на контейнер LightBox. */\n forwardRef?: React.MutableRefObject<HTMLElement | null>;\n /** DOM-нода в которую будет рендерится лайтбокс. */\n mountNode?: HTMLDivElement;\n /** Идентификатор DOM-элемента, в визуальных границах (левая и правая координата) которого рендерится лайтбокс. */\n lightBoxViewManagerNodeId?: string;\n /** Флаг состояния загрузки. */\n isLoading?: boolean;\n /** Флаг открытия боковой панели. */\n isSideOverlayOpened?: boolean;\n /** Флаг открытия верхней панели. */\n isTopOverlayOpened?: boolean;\n /** Размер контента LightBox. */\n size?: ELightBoxSize;\n}\n\nconst bodyClassNamesIsLightBoxOpen = [styles.bodyOverflowHidden];\n\nconst LightBoxBase: React.FC<ILightBoxProps> = ({\n children,\n className,\n focusTrapProps,\n forwardRef,\n mountNode,\n lightBoxViewManagerNodeId = lightBoxViewManagerNodeIdDefault,\n isLoading,\n isSideOverlayOpened,\n isTopOverlayOpened,\n size = ELightBoxSize.MD,\n ...htmlDivAttributes\n}) => {\n // Скрытый элемент для вызова ререндера при закрытии оверлея, фикс бага в Safari - DCBSWT-2866.\n const tempButtonRef = useRef<HTMLSpanElement>(null);\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n const { scopeClassName } = useToken();\n\n const getLightBoxMountNode = () => {\n let lightBoxMountNode: HTMLDivElement | null = null;\n if (mountNode) {\n lightBoxMountNode = mountNode;\n } else {\n lightBoxMountNode = document.querySelector(`#${lightBoxMountNodeIdDefault}`);\n\n if (!lightBoxMountNode) {\n lightBoxMountNode = document.createElement(\"div\");\n lightBoxMountNode.setAttribute(\"id\", lightBoxMountNodeIdDefault);\n document.body.appendChild(lightBoxMountNode);\n }\n }\n\n return lightBoxMountNode;\n };\n\n const getLightBoxViewManagerMountNode = () => {\n let lightBoxViewManagerMountNode: HTMLDivElement | null = null;\n if (lightBoxViewManagerNodeId) {\n lightBoxViewManagerMountNode = document.querySelector(`#${lightBoxViewManagerNodeId}`);\n }\n\n if (!lightBoxViewManagerMountNode) {\n lightBoxViewManagerMountNode = document.createElement(\"div\");\n lightBoxViewManagerMountNode.setAttribute(\"id\", lightBoxViewManagerNodeIdDefault);\n document.body.appendChild(lightBoxViewManagerMountNode);\n }\n\n return lightBoxViewManagerMountNode;\n };\n\n /** DOM node, в которую рендерится лайтбокс. */\n const lightBoxMountNode = useRef<HTMLDivElement | null>(getLightBoxMountNode());\n /**\n * DOM node, в визуальных границах которой рендерится лайтбокс.\n * Левая и правая граница LightBox будут соответствовать левой и правой границе lightBoxViewManagerNode.\n */\n const lightBoxViewManagerNode = useRef<HTMLDivElement | null>(getLightBoxViewManagerMountNode());\n\n const addClassNamesToDocumentElement = () => {\n bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.add(className));\n };\n\n useEffect(() => {\n addClassNameWithScrollbarWidth(scrollStyles);\n addClassNamesToDocumentElement();\n // Фикс бага в роутере - при переключении между лайтбоксами иногда сначала происходит componentDidMount 2го и затем componentWillUnmount первого, css классы удаляются.\n setTimeout(addClassNamesToDocumentElement, 100);\n\n return () =>\n bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.remove(className));\n }, []);\n\n useEffect(() => {\n if (!isSideOverlayOpened && tempButtonRef.current) {\n // Изменение z-index у скрытого элемента вызывает repaint. Фикс бага в Safari - DCBSWT-2866.\n const nextZIndex = Math.round(Math.random() * 100);\n tempButtonRef.current.style.zIndex = nextZIndex.toString();\n }\n }, [isSideOverlayOpened]);\n\n if (!lightBoxMountNode.current) {\n return null;\n }\n\n /** Функция для хранения ссылки. */\n const setRef = (instance: HTMLDivElement | null) => {\n containerRef.current = instance;\n\n if (forwardRef) {\n forwardRef.current = instance;\n }\n };\n\n const classNames = clsx(\n scopeClassName,\n styles.lightBox,\n styles[size],\n {\n [styles.lightBoxSideOverlayActive]: Boolean(isSideOverlayOpened),\n [styles.lightBoxTopOverlayActive]: Boolean(isTopOverlayOpened),\n },\n className,\n );\n\n return (\n <>\n <Portal container={lightBoxMountNode.current}>\n <FocusTrapExtended\n active={!isLoading}\n {...focusTrapProps}\n focusTrapOptions={{\n initialFocus: () => FocusTrapUtils.getFirstInteractionElementByDataAttr(containerRef.current),\n preventScroll: true,\n ...focusTrapProps?.focusTrapOptions,\n }}\n >\n <div className={classNames} role=\"dialog\" aria-modal=\"true\" {...htmlDivAttributes} ref={setRef}>\n <div className={styles.lightBoxBackdrop} />\n {children}\n <span ref={tempButtonRef} className={styles.tempElSafariBug} />\n </div>\n </FocusTrapExtended>\n </Portal>\n\n {lightBoxViewManagerNode.current && (\n <LightBoxViewManager\n lightBoxViewManagerNode={lightBoxViewManagerNode.current}\n lightBoxMountNode={lightBoxMountNode.current}\n />\n )}\n </>\n );\n};\n\nLightBoxBase.displayName = \"LightBoxBase\";\n\nexport const LightBox = Object.assign(LightBoxBase, {\n Content: LightBoxContent,\n SideOverlay: LightBoxSideOverlay,\n TopOverlay,\n Controls: LightBoxControls,\n LeftSidebar: LightBoxLeftSidebar,\n RightSidebar: LightBoxRightSidebar,\n});\n"],"names":["lightBoxMountNode","className"],"mappings":"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"}
1
+ {"version":3,"file":"LightBox.js","sources":["../../../src/components/LightBox/LightBox.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { Portal } from \"../Portal\";\nimport { FocusTrapExtended, IFocusTrapExtendedProps } from \"../FocusTrapExtended\";\nimport { LightBoxContent } from \"./LightBoxContent\";\nimport { LightBoxControls } from \"./LightBoxControls/LightBoxControls\";\nimport { LightBoxSideOverlay } from \"./LightBoxSideOverlay/LightBoxSideOverlay\";\nimport { addClassNameWithScrollbarWidth } from \"../../utils/scroll/scrollbar\";\nimport { TopOverlay } from \"../TopOverlay/TopOverlay\";\nimport { LightBoxViewManager } from \"./LightBoxViewManager/LightBoxViewManager\";\nimport { FocusTrapUtils } from \"../../utils/focus/FocusTrapUtils\";\nimport { useToken } from \"../ThemeProvider/useToken\";\nimport { LightBoxLeftSidebar } from \"./LightBoxSidebars/LightBoxLeftSidebar\";\nimport { LightBoxRightSidebar } from \"./LightBoxSidebars/LightBoxRightSidebar\";\nimport { ELightBoxSize } from \"./enums\";\nimport styles from \"./styles/LightBox.module.less\";\nimport scrollStyles from \"./styles/LightBoxScroll.module.less\";\n\n/** Идентификатор DOM-элемента, в который рендерится лайтбокс. При отсутствии элемента в DOM – создается в body. */\nexport const lightBoxMountNodeIdDefault = \"LightBox-next-mount-node\";\n\n/** Идентификатор DOM-элемента, в визуальных границах (левая и правая координата) которого рендерится лайтбокс. */\nexport const lightBoxViewManagerNodeIdDefault = \"LightBox-next-view-manager-node\";\n\n/** Свойства компонента LightBox. */\nexport interface ILightBoxProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Содержимое лайтбокса. */\n children: React.ReactElement[];\n /** Свойства компонента FocusTrapExtended. */\n focusTrapProps?: IFocusTrapExtendedProps;\n /** Ref на контейнер LightBox. */\n forwardRef?: React.MutableRefObject<HTMLElement | null>;\n /** DOM-нода в которую будет рендерится лайтбокс. */\n mountNode?: HTMLDivElement;\n /** Идентификатор DOM-элемента, в визуальных границах (левая и правая координата) которого рендерится лайтбокс. */\n lightBoxViewManagerNodeId?: string;\n /** Флаг состояния загрузки. */\n isLoading?: boolean;\n /** Флаг открытия боковой панели. */\n isSideOverlayOpened?: boolean;\n /** Флаг открытия верхней панели. */\n isTopOverlayOpened?: boolean;\n /** Размер контента LightBox. */\n size?: ELightBoxSize;\n}\n\n/** CSS-классы, добавляемые на корневой элемент документа, пока лайтбокс открыт. */\nconst bodyClassNamesIsLightBoxOpen = [styles.bodyOverflowHidden];\n\n/** Добавляет CSS-классы открытого лайтбокса на корневой элемент документа. */\nconst addClassNamesToDocumentElement = () => {\n bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.add(className));\n};\n\n/** Удаляет CSS-классы открытого лайтбокса с корневого элемента документа. */\nconst removeClassNamesFromDocumentElement = () => {\n bodyClassNamesIsLightBoxOpen.forEach((className) => document.documentElement.classList.remove(className));\n};\n\n/**\n * Количество смонтированных лайтбоксов. При переключении между лайтбоксами через роутер второй может\n * смонтироваться раньше, чем размонтируется первый, поэтому классы с documentElement снимаются только\n * при размонтировании последнего лайтбокса.\n */\nlet mountedLightBoxCount = 0;\n\nconst LightBoxBase: React.FC<ILightBoxProps> = ({\n children,\n className,\n focusTrapProps,\n forwardRef,\n mountNode,\n lightBoxViewManagerNodeId = lightBoxViewManagerNodeIdDefault,\n isLoading,\n isSideOverlayOpened,\n isTopOverlayOpened,\n size = ELightBoxSize.MD,\n ...htmlDivAttributes\n}) => {\n // Скрытый элемент для вызова ререндера при закрытии оверлея, фикс бага в Safari - DCBSWT-2866.\n const tempButtonRef = useRef<HTMLSpanElement>(null);\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n const { scopeClassName } = useToken();\n\n const getLightBoxMountNode = (): HTMLDivElement => {\n if (mountNode) {\n return mountNode;\n }\n\n let lightBoxMountNode = document.querySelector<HTMLDivElement>(`#${lightBoxMountNodeIdDefault}`);\n\n if (!lightBoxMountNode) {\n lightBoxMountNode = document.createElement(\"div\");\n lightBoxMountNode.setAttribute(\"id\", lightBoxMountNodeIdDefault);\n document.body.appendChild(lightBoxMountNode);\n }\n\n return lightBoxMountNode;\n };\n\n const getLightBoxViewManagerMountNode = (): HTMLDivElement => {\n let lightBoxViewManagerMountNode: HTMLDivElement | null = null;\n\n if (lightBoxViewManagerNodeId) {\n lightBoxViewManagerMountNode = document.querySelector<HTMLDivElement>(`#${lightBoxViewManagerNodeId}`);\n }\n\n if (!lightBoxViewManagerMountNode) {\n lightBoxViewManagerMountNode = document.createElement(\"div\");\n lightBoxViewManagerMountNode.setAttribute(\"id\", lightBoxViewManagerNodeIdDefault);\n document.body.appendChild(lightBoxViewManagerMountNode);\n }\n\n return lightBoxViewManagerMountNode;\n };\n\n /** DOM node, в которую рендерится лайтбокс. */\n const [lightBoxMountNode] = useState<HTMLDivElement>(getLightBoxMountNode);\n /**\n * DOM node, в визуальных границах которой рендерится лайтбокс.\n * Левая и правая граница LightBox будут соответствовать левой и правой границе lightBoxViewManagerNode.\n */\n const [lightBoxViewManagerNode] = useState<HTMLDivElement>(getLightBoxViewManagerMountNode);\n\n useEffect(() => {\n addClassNameWithScrollbarWidth(scrollStyles);\n mountedLightBoxCount += 1;\n addClassNamesToDocumentElement();\n\n return () => {\n mountedLightBoxCount -= 1;\n\n if (mountedLightBoxCount === 0) {\n removeClassNamesFromDocumentElement();\n }\n };\n }, []);\n\n useEffect(() => {\n if (!isSideOverlayOpened && tempButtonRef.current) {\n // Изменение z-index у скрытого элемента вызывает repaint. Фикс бага в Safari - DCBSWT-2866.\n const nextZIndex = Math.round(Math.random() * 100);\n tempButtonRef.current.style.zIndex = nextZIndex.toString();\n }\n }, [isSideOverlayOpened]);\n\n const setRef = (instance: HTMLDivElement | null) => {\n containerRef.current = instance;\n\n if (forwardRef) {\n forwardRef.current = instance;\n }\n };\n\n const classNames = clsx(\n scopeClassName,\n styles.lightBox,\n styles[size],\n {\n [styles.lightBoxSideOverlayActive]: Boolean(isSideOverlayOpened),\n [styles.lightBoxTopOverlayActive]: Boolean(isTopOverlayOpened),\n },\n className,\n );\n\n return (\n <>\n <Portal container={lightBoxMountNode}>\n <FocusTrapExtended\n active={!isLoading}\n {...focusTrapProps}\n focusTrapOptions={{\n initialFocus: () => FocusTrapUtils.getFirstInteractionElementByDataAttr(containerRef.current),\n preventScroll: true,\n ...focusTrapProps?.focusTrapOptions,\n }}\n >\n <div className={classNames} role=\"dialog\" aria-modal=\"true\" {...htmlDivAttributes} ref={setRef}>\n <div className={styles.lightBoxBackdrop} />\n {children}\n <span ref={tempButtonRef} className={styles.tempElSafariBug} />\n </div>\n </FocusTrapExtended>\n </Portal>\n\n <LightBoxViewManager\n lightBoxViewManagerNode={lightBoxViewManagerNode}\n lightBoxMountNode={lightBoxMountNode}\n />\n </>\n );\n};\n\nLightBoxBase.displayName = \"LightBoxBase\";\n\n/** Лайтбокс — полноэкранный диалог поверх страницы с контентом, кнопками управления и боковыми панелями. */\nexport const LightBox = Object.assign(LightBoxBase, {\n Content: LightBoxContent,\n SideOverlay: LightBoxSideOverlay,\n TopOverlay,\n Controls: LightBoxControls,\n LeftSidebar: LightBoxLeftSidebar,\n RightSidebar: LightBoxRightSidebar,\n});\n"],"names":["lightBoxMountNode"],"mappings":"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"}
@@ -3,7 +3,7 @@ import "react";
3
3
  import "../../chunks/vendor-BtZO8a0z.js";
4
4
  import "../WindowResizeListener/WindowResizeListener.js";
5
5
  import "../LoaderScreen/LoaderScreen.js";
6
- import { L } from "../../chunks/LightBoxContent-DEbpANhU.js";
6
+ import { L } from "../../chunks/LightBoxContent-BY9UKPE0.js";
7
7
  export {
8
8
  L as LightBoxContent
9
9
  };
@@ -0,0 +1,63 @@
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
4
+ import { TriggerClickOnKeyDownEvent } from "../../Triggers/TriggerClickOnKeyDownEvent.js";
5
+ import { EButtonTheme } from "../../Button/enums.js";
6
+ import { Button } from "../../Button/Button.js";
7
+ import { EComponentSize } from "../../../enums/EComponentSize.js";
8
+ import { s as styles } from "../../../chunks/LightBoxControls.module-CEa7tSP-.js";
9
+ const LightBoxArrow = ({
10
+ buttonClassName,
11
+ className,
12
+ clickByArrowKey,
13
+ dataTestId,
14
+ dataTutorialId,
15
+ eventKeyCode,
16
+ iconDesktop,
17
+ iconMobile,
18
+ onClick,
19
+ title,
20
+ ...htmlDivAttributes
21
+ }) => {
22
+ const desktopButtonRef = useRef(null);
23
+ const mobileButtonRef = useRef(null);
24
+ const renderButton = (params) => /* @__PURE__ */ jsxs(Fragment, { children: [
25
+ /* @__PURE__ */ jsx(
26
+ Button,
27
+ {
28
+ className: clsx(styles.lightBoxControlsDesktop, buttonClassName),
29
+ "data-test-id": (params == null ? void 0 : params.addDataTestId) ? dataTestId : void 0,
30
+ "data-tutorial-id": dataTutorialId,
31
+ onClick,
32
+ title,
33
+ ref: params == null ? void 0 : params.desktopButtonRef,
34
+ icon: iconDesktop,
35
+ size: EComponentSize.LG,
36
+ theme: EButtonTheme.SECONDARY_LIGHT
37
+ }
38
+ ),
39
+ /* @__PURE__ */ jsx(
40
+ Button,
41
+ {
42
+ className: clsx(styles.lightBoxControlsMobile, buttonClassName),
43
+ "data-test-id": (params == null ? void 0 : params.addDataTestId) ? dataTestId : void 0,
44
+ "data-tutorial-id": dataTutorialId,
45
+ onClick,
46
+ title,
47
+ ref: params == null ? void 0 : params.mobileButtonRef,
48
+ icon: iconMobile,
49
+ size: EComponentSize.MD,
50
+ theme: EButtonTheme.SECONDARY_LIGHT
51
+ }
52
+ )
53
+ ] });
54
+ return /* @__PURE__ */ jsx("div", { className, ...htmlDivAttributes, children: clickByArrowKey ? /* @__PURE__ */ jsxs("span", { children: [
55
+ /* @__PURE__ */ jsx("span", { className: styles.withKeyboardEvent, children: /* @__PURE__ */ jsx(TriggerClickOnKeyDownEvent, { targetRef: desktopButtonRef, eventKeyCode, children: /* @__PURE__ */ jsx(TriggerClickOnKeyDownEvent, { targetRef: mobileButtonRef, eventKeyCode, children: renderButton({ addDataTestId: true, desktopButtonRef, mobileButtonRef }) }) }) }),
56
+ /* @__PURE__ */ jsx("span", { className: styles.withoutKeyboardEvent, children: renderButton() })
57
+ ] }) : renderButton({ addDataTestId: true }) });
58
+ };
59
+ LightBoxArrow.displayName = "LightBoxArrow";
60
+ export {
61
+ LightBoxArrow
62
+ };
63
+ //# sourceMappingURL=LightBoxArrow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightBoxArrow.js","sources":["../../../../src/components/LightBox/LightBoxControls/LightBoxArrow.tsx"],"sourcesContent":["import React, { Ref, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { TriggerClickOnKeyDownEvent } from \"../../Triggers/TriggerClickOnKeyDownEvent\";\nimport { EButtonTheme } from \"../../Button/enums\";\nimport { Button } from \"../../Button/Button\";\nimport { EComponentSize } from \"@sberbusiness/triplex-next/enums/EComponentSize\";\nimport styles from \"../styles/LightBoxControls.module.less\";\n\n/** Свойства LightBoxArrow. */\ninterface ILightBoxArrowProps extends React.HTMLAttributes<HTMLDivElement> {\n /** CSS-класс кнопки (десктопной и мобильной). */\n buttonClassName: string;\n /** Кликнуть по кнопке при нажатии соответствующей стрелки на клавиатуре. */\n clickByArrowKey?: boolean;\n /** Значение data-test-id кнопки. */\n dataTestId: string;\n /** Идентификатор для обучающего тура. */\n dataTutorialId?: string;\n /** Код клавиши, при нажатии которой происходит клик по кнопке. */\n eventKeyCode: number;\n /** Иконка кнопки для экранов шире 1024px. */\n iconDesktop: React.ReactElement;\n /** Иконка кнопки для экранов менее 1024px. */\n iconMobile: React.ReactElement;\n /** Обработчик клика по кнопке. */\n onClick: () => void;\n}\n\ninterface IRenderButtonParams {\n /** Флаг, добавляющий data-test-id. Нужен, чтобы data-test-id не дублировался несколько раз на странице. */\n addDataTestId: boolean;\n /** Установка ссылки на десктопную кнопку. */\n desktopButtonRef?: Ref<HTMLButtonElement>;\n /** Установка ссылки на мобильную кнопку. */\n mobileButtonRef?: Ref<HTMLButtonElement>;\n}\n\n/** Внутренний компонент стрелки лайтбокса (общая реализация для LightBoxPrev и LightBoxNext). */\nexport const LightBoxArrow: React.FC<ILightBoxArrowProps> = ({\n buttonClassName,\n className,\n clickByArrowKey,\n dataTestId,\n dataTutorialId,\n eventKeyCode,\n iconDesktop,\n iconMobile,\n onClick,\n title,\n ...htmlDivAttributes\n}) => {\n // Отдельные ссылки на десктопную и мобильную кнопки: видимой в каждый момент является только одна,\n // а TriggerClickOnKeyDownEvent кликает только по видимой (offsetParent !== null).\n const desktopButtonRef = useRef<HTMLButtonElement>(null);\n const mobileButtonRef = useRef<HTMLButtonElement>(null);\n\n /**\n * Отображение кнопки.\n */\n const renderButton = (params?: IRenderButtonParams) => (\n <>\n {/* Кнопка для экранов шире 1024px */}\n <Button\n className={clsx(styles.lightBoxControlsDesktop, buttonClassName)}\n data-test-id={params?.addDataTestId ? dataTestId : undefined}\n data-tutorial-id={dataTutorialId}\n onClick={onClick}\n title={title}\n ref={params?.desktopButtonRef}\n icon={iconDesktop}\n size={EComponentSize.LG}\n theme={EButtonTheme.SECONDARY_LIGHT}\n />\n {/* Кнопка для экранов менее 1024px */}\n <Button\n className={clsx(styles.lightBoxControlsMobile, buttonClassName)}\n data-test-id={params?.addDataTestId ? dataTestId : undefined}\n data-tutorial-id={dataTutorialId}\n onClick={onClick}\n title={title}\n ref={params?.mobileButtonRef}\n icon={iconMobile}\n size={EComponentSize.MD}\n theme={EButtonTheme.SECONDARY_LIGHT}\n />\n </>\n );\n\n return (\n <div className={className} {...htmlDivAttributes}>\n {clickByArrowKey ? (\n <span>\n {/* Кнопка с триггером при нажатии стрелки на клавиатуре. */}\n <span className={styles.withKeyboardEvent}>\n <TriggerClickOnKeyDownEvent targetRef={desktopButtonRef} eventKeyCode={eventKeyCode}>\n <TriggerClickOnKeyDownEvent targetRef={mobileButtonRef} eventKeyCode={eventKeyCode}>\n {renderButton({ addDataTestId: true, desktopButtonRef, mobileButtonRef })}\n </TriggerClickOnKeyDownEvent>\n </TriggerClickOnKeyDownEvent>\n </span>\n {/* Кнопка без триггера при нажатии стрелки на клавиатуре. Нельзя нажать, когда открыт SideOverlay. */}\n <span className={styles.withoutKeyboardEvent}>{renderButton()}</span>\n </span>\n ) : (\n renderButton({ addDataTestId: true })\n )}\n </div>\n );\n};\n\nLightBoxArrow.displayName = \"LightBoxArrow\";\n"],"names":[],"mappings":";;;;;;;;AAsCO,MAAM,gBAA+C,CAAC;AAAA,EACzD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAM;AAGF,QAAM,mBAAmB,OAA0B,IAAI;AACvD,QAAM,kBAAkB,OAA0B,IAAI;AAKtD,QAAM,eAAe,CAAC,WAClB,qBAAA,UAAA,EAEI,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,yBAAyB,eAAe;AAAA,QAC/D,iBAAc,iCAAQ,iBAAgB,aAAa;AAAA,QACnD,oBAAkB;AAAA,QAClB;AAAA,QACA;AAAA,QACA,KAAK,iCAAQ;AAAA,QACb,MAAM;AAAA,QACN,MAAM,eAAe;AAAA,QACrB,OAAO,aAAa;AAAA,MAAA;AAAA,IAAA;AAAA,IAGxB;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,wBAAwB,eAAe;AAAA,QAC9D,iBAAc,iCAAQ,iBAAgB,aAAa;AAAA,QACnD,oBAAkB;AAAA,QAClB;AAAA,QACA;AAAA,QACA,KAAK,iCAAQ;AAAA,QACb,MAAM;AAAA,QACN,MAAM,eAAe;AAAA,QACrB,OAAO,aAAa;AAAA,MAAA;AAAA,IAAA;AAAA,EACxB,GACJ;AAGJ,6BACK,OAAA,EAAI,WAAuB,GAAG,mBAC1B,UAAA,uCACI,QAAA,EAEG,UAAA;AAAA,IAAA,oBAAC,QAAA,EAAK,WAAW,OAAO,mBACpB,8BAAC,4BAAA,EAA2B,WAAW,kBAAkB,cACrD,UAAA,oBAAC,4BAAA,EAA2B,WAAW,iBAAiB,cACnD,UAAA,aAAa,EAAE,eAAe,MAAM,kBAAkB,gBAAA,CAAiB,EAAA,CAC5E,EAAA,CACJ,EAAA,CACJ;AAAA,wBAEC,QAAA,EAAK,WAAW,OAAO,sBAAuB,yBAAa,CAAE;AAAA,EAAA,EAAA,CAClE,IAEA,aAAa,EAAE,eAAe,KAAA,CAAM,EAAA,CAE5C;AAER;AAEA,cAAc,cAAc;"}
@@ -7,15 +7,16 @@ import { EVENT_KEY_CODES } from "../../../utils/keyboard.js";
7
7
  import { EButtonTheme } from "../../Button/enums.js";
8
8
  import { Button } from "../../Button/Button.js";
9
9
  import { EComponentSize } from "../../../enums/EComponentSize.js";
10
- import { s as styles } from "../../../chunks/LightBoxControls.module-BFMB3dd_.js";
10
+ import { s as styles } from "../../../chunks/LightBoxControls.module-CEa7tSP-.js";
11
11
  const LightBoxClose = ({
12
12
  className,
13
13
  onClick,
14
14
  title = "Закрыть",
15
15
  ...htmlDivAttributes
16
16
  }) => {
17
- const 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;"}
@@ -3,7 +3,7 @@ import { LightBoxClose } from "./LightBoxClose.js";
3
3
  import { LightBoxNext } from "./LightBoxNext.js";
4
4
  import { LightBoxPrev } from "./LightBoxPrev.js";
5
5
  import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
6
- import { s as styles } from "../../../chunks/LightBoxControls.module-BFMB3dd_.js";
6
+ import { s as styles } from "../../../chunks/LightBoxControls.module-CEa7tSP-.js";
7
7
  const LightBoxControls = ({ children, className, ...htmlDivAttributes }) => /* @__PURE__ */ jsx("div", { className: clsx(className, styles.lightBoxControls), ...htmlDivAttributes, "data-lightbox-component": "controls", children });
8
8
  LightBoxControls.displayName = "LightBoxControls";
9
9
  LightBoxControls.Close = LightBoxClose;
@@ -1 +1 @@
1
- {"version":3,"file":"LightBoxControls.js","sources":["../../../../src/components/LightBox/LightBoxControls/LightBoxControls.tsx"],"sourcesContent":["import React from \"react\";\nimport { LightBoxClose } from \"./LightBoxClose\";\nimport { LightBoxNext } from \"./LightBoxNext\";\nimport { LightBoxPrev } from \"./LightBoxPrev\";\nimport clsx from \"clsx\";\nimport styles from \"../styles/LightBoxControls.module.less\";\n\n/** Свойства компонента LightBoxControls. */\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;"}