@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
@@ -0,0 +1,157 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import React, { useContext, useRef, useCallback, useEffect } from "react";
3
+ import { c as clsx } from "../../chunks/vendor-BtZO8a0z.js";
4
+ import { CarouselContext } from "./CarouselContext.js";
5
+ import { mergeRefs, useLatestRef } from "./utils.js";
6
+ import { ECarouselOrientation, ECarouselScrollMode } from "./enums.js";
7
+ import { ButtonBase } from "../Button/ButtonBase.js";
8
+ import { s as styles } from "../../chunks/Carousel.module-DTaSq3Bq.js";
9
+ const ORIENTATION_TO_NAVIGATION_KEYS = {
10
+ [ECarouselOrientation.HORIZONTAL]: ["ArrowRight", "ArrowLeft"],
11
+ [ECarouselOrientation.VERTICAL]: ["ArrowDown", "ArrowUp"]
12
+ };
13
+ const CarouselIndicators = React.forwardRef(
14
+ ({ className, onKeyDown, indicatorProps, renderIndicator, ...restProps }, ref) => {
15
+ const { currentIndex, orientation, scrollMode, activeIndices, goToSlide, orientationRef, currentIndexRef } = useContext(CarouselContext);
16
+ const containerRef = useRef(null);
17
+ const combinedRef = mergeRefs(ref, containerRef);
18
+ const buttonRefs = useRef(/* @__PURE__ */ new Map());
19
+ const indicatorRefsCache = useRef(/* @__PURE__ */ new Map());
20
+ const clickHandlersCache = useRef(/* @__PURE__ */ new Map());
21
+ const indicatorPropsRef = useLatestRef(indicatorProps);
22
+ const activeIndicesRef = useLatestRef(activeIndices);
23
+ const totalPages = activeIndices.length;
24
+ const getIndicatorRef = useCallback((slideIndex) => {
25
+ if (!indicatorRefsCache.current.has(slideIndex)) {
26
+ indicatorRefsCache.current.set(slideIndex, (node) => {
27
+ if (node) {
28
+ buttonRefs.current.set(slideIndex, node);
29
+ } else {
30
+ buttonRefs.current.delete(slideIndex);
31
+ }
32
+ });
33
+ }
34
+ return indicatorRefsCache.current.get(slideIndex);
35
+ }, []);
36
+ const getIndicatorClickHandler = useCallback(
37
+ (slideIndex) => {
38
+ if (!clickHandlersCache.current.has(slideIndex)) {
39
+ clickHandlersCache.current.set(slideIndex, (event) => {
40
+ var _a;
41
+ goToSlide(slideIndex);
42
+ const currentPropsInput = indicatorPropsRef.current;
43
+ if (!currentPropsInput) return;
44
+ const latestActiveIndices = activeIndicesRef.current;
45
+ const indexInArray = latestActiveIndices.indexOf(slideIndex);
46
+ if (indexInArray !== -1) {
47
+ const page = indexInArray + 1;
48
+ const selected = currentIndexRef.current === slideIndex;
49
+ const resolvedProps = typeof currentPropsInput === "function" ? currentPropsInput({ index: indexInArray, page, selected }) : currentPropsInput;
50
+ (_a = resolvedProps == null ? void 0 : resolvedProps.onClick) == null ? void 0 : _a.call(resolvedProps, event);
51
+ }
52
+ });
53
+ }
54
+ return clickHandlersCache.current.get(slideIndex);
55
+ },
56
+ [goToSlide]
57
+ );
58
+ const handleKeyDown = useCallback(
59
+ (event) => {
60
+ const [nextKey, prevKey] = ORIENTATION_TO_NAVIGATION_KEYS[orientationRef.current];
61
+ const nextKeyMatched = event.key === nextKey;
62
+ const prevKeyMatched = event.key === prevKey;
63
+ const homeKeyMatched = event.key === "Home";
64
+ const endKeyMatched = event.key === "End";
65
+ if (nextKeyMatched || prevKeyMatched || homeKeyMatched || endKeyMatched) {
66
+ const currentIndexInArray = activeIndices.indexOf(currentIndexRef.current);
67
+ if (currentIndexInArray !== -1) {
68
+ event.preventDefault();
69
+ let nextIndexInArray = currentIndexInArray;
70
+ if (nextKeyMatched) {
71
+ nextIndexInArray = (currentIndexInArray + 1) % totalPages;
72
+ } else if (prevKeyMatched) {
73
+ nextIndexInArray = (currentIndexInArray - 1 + totalPages) % totalPages;
74
+ } else if (homeKeyMatched) {
75
+ nextIndexInArray = 0;
76
+ } else if (endKeyMatched) {
77
+ nextIndexInArray = totalPages - 1;
78
+ }
79
+ const nextSlideIndex = activeIndices[nextIndexInArray];
80
+ goToSlide(nextSlideIndex);
81
+ }
82
+ }
83
+ onKeyDown == null ? void 0 : onKeyDown(event);
84
+ },
85
+ [activeIndices, totalPages, goToSlide, onKeyDown]
86
+ );
87
+ useEffect(() => {
88
+ const activeSet = new Set(activeIndices);
89
+ for (const key of indicatorRefsCache.current.keys()) {
90
+ if (!activeSet.has(key)) {
91
+ indicatorRefsCache.current.delete(key);
92
+ buttonRefs.current.delete(key);
93
+ }
94
+ }
95
+ for (const key of clickHandlersCache.current.keys()) {
96
+ if (!activeSet.has(key)) {
97
+ clickHandlersCache.current.delete(key);
98
+ }
99
+ }
100
+ }, [activeIndices]);
101
+ useEffect(() => {
102
+ const container = containerRef.current;
103
+ if (!(container == null ? void 0 : container.contains(document.activeElement))) return;
104
+ const rafId = requestAnimationFrame(() => {
105
+ const activeButton = buttonRefs.current.get(currentIndexRef.current);
106
+ activeButton == null ? void 0 : activeButton.focus();
107
+ });
108
+ return () => cancelAnimationFrame(rafId);
109
+ }, [currentIndex]);
110
+ if (scrollMode === ECarouselScrollMode.ITEM || totalPages < 1) return null;
111
+ return /* @__PURE__ */ jsx(
112
+ "div",
113
+ {
114
+ ...restProps,
115
+ className: clsx(styles.indicators, className),
116
+ role: "tablist",
117
+ "aria-orientation": orientation,
118
+ onKeyDown: handleKeyDown,
119
+ ref: combinedRef,
120
+ children: activeIndices.map((slideIndex, index) => {
121
+ const selected = currentIndex === slideIndex;
122
+ const page = index + 1;
123
+ const resolvedIndicatorProps = typeof indicatorProps === "function" ? indicatorProps({ index, page, selected }) : indicatorProps;
124
+ const indicatorRef = getIndicatorRef(slideIndex);
125
+ const indicatorClickHandler = getIndicatorClickHandler(slideIndex);
126
+ const providedIndicatorProps = {
127
+ ...resolvedIndicatorProps,
128
+ className: clsx(
129
+ styles.indicator,
130
+ { [styles.active]: selected },
131
+ resolvedIndicatorProps == null ? void 0 : resolvedIndicatorProps.className
132
+ ),
133
+ role: "tab",
134
+ tabIndex: selected ? 0 : -1,
135
+ "aria-selected": selected,
136
+ onClick: indicatorClickHandler
137
+ };
138
+ if (renderIndicator) {
139
+ return /* @__PURE__ */ jsx(React.Fragment, { children: renderIndicator({
140
+ index,
141
+ page,
142
+ selected,
143
+ props: providedIndicatorProps,
144
+ ref: indicatorRef
145
+ }) }, slideIndex);
146
+ }
147
+ return /* @__PURE__ */ jsx(ButtonBase, { ...providedIndicatorProps, ref: indicatorRef }, slideIndex);
148
+ })
149
+ }
150
+ );
151
+ }
152
+ );
153
+ CarouselIndicators.displayName = "Carousel.Indicators";
154
+ export {
155
+ CarouselIndicators
156
+ };
157
+ //# sourceMappingURL=CarouselIndicators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarouselIndicators.js","sources":["../../../src/components/Carousel/CarouselIndicators.tsx"],"sourcesContent":["import React, { useContext, useRef, useCallback, useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport { ICarouselIndicatorsProps, TCarouselIndicatorProps } from \"./types\";\nimport { CarouselContext } from \"./CarouselContext\";\nimport { mergeRefs, useLatestRef } from \"./utils\";\nimport { ECarouselScrollMode, ECarouselOrientation } from \"./enums\";\nimport { ButtonBase } from \"../Button/ButtonBase\";\nimport styles from \"./styles/Carousel.module.less\";\n\nconst ORIENTATION_TO_NAVIGATION_KEYS = {\n [ECarouselOrientation.HORIZONTAL]: [\"ArrowRight\", \"ArrowLeft\"],\n [ECarouselOrientation.VERTICAL]: [\"ArrowDown\", \"ArrowUp\"],\n} as const;\n\nexport const CarouselIndicators = React.forwardRef<HTMLDivElement, ICarouselIndicatorsProps>(\n ({ className, onKeyDown, indicatorProps, renderIndicator, ...restProps }, ref) => {\n const { currentIndex, orientation, scrollMode, activeIndices, goToSlide, orientationRef, currentIndexRef } =\n useContext(CarouselContext);\n const containerRef = useRef<HTMLDivElement | null>(null);\n const combinedRef = mergeRefs(ref, containerRef);\n\n const buttonRefs = useRef<Map<number, HTMLButtonElement>>(new Map());\n const indicatorRefsCache = useRef<Map<number, React.RefCallback<HTMLButtonElement>>>(new Map());\n const clickHandlersCache = useRef<Map<number, React.MouseEventHandler<HTMLButtonElement>>>(new Map());\n\n // Храним актуальный indicatorProps в рефе для стабильных колбэков клика\n const indicatorPropsRef = useLatestRef(indicatorProps);\n // Защита от устаревшего замыкания activeIndices в кэшированных кликах\n const activeIndicesRef = useLatestRef(activeIndices);\n\n const totalPages = activeIndices.length;\n\n const getIndicatorRef = useCallback((slideIndex: number) => {\n if (!indicatorRefsCache.current.has(slideIndex)) {\n indicatorRefsCache.current.set(slideIndex, (node) => {\n if (node) {\n buttonRefs.current.set(slideIndex, node);\n } else {\n buttonRefs.current.delete(slideIndex);\n }\n });\n }\n // Безопасно: запись выше гарантирует наличие ключа в кэше.\n return indicatorRefsCache.current.get(slideIndex)!;\n }, []);\n\n const getIndicatorClickHandler = useCallback(\n (slideIndex: number) => {\n if (!clickHandlersCache.current.has(slideIndex)) {\n clickHandlersCache.current.set(slideIndex, (event) => {\n goToSlide(slideIndex);\n\n const currentPropsInput = indicatorPropsRef.current;\n if (!currentPropsInput) return;\n\n const latestActiveIndices = activeIndicesRef.current;\n const indexInArray = latestActiveIndices.indexOf(slideIndex);\n\n if (indexInArray !== -1) {\n const page = indexInArray + 1;\n const selected = currentIndexRef.current === slideIndex;\n const resolvedProps =\n typeof currentPropsInput === \"function\"\n ? currentPropsInput({ index: indexInArray, page, selected })\n : currentPropsInput;\n\n resolvedProps?.onClick?.(event);\n }\n });\n }\n // Безопасно: запись выше гарантирует наличие ключа в кэше.\n return clickHandlersCache.current.get(slideIndex)!;\n },\n [goToSlide],\n );\n\n const handleKeyDown = useCallback<React.KeyboardEventHandler<HTMLDivElement>>(\n (event) => {\n const [nextKey, prevKey] = ORIENTATION_TO_NAVIGATION_KEYS[orientationRef.current];\n const nextKeyMatched = event.key === nextKey;\n const prevKeyMatched = event.key === prevKey;\n const homeKeyMatched = event.key === \"Home\";\n const endKeyMatched = event.key === \"End\";\n\n if (nextKeyMatched || prevKeyMatched || homeKeyMatched || endKeyMatched) {\n const currentIndexInArray = activeIndices.indexOf(currentIndexRef.current);\n\n if (currentIndexInArray !== -1) {\n event.preventDefault();\n\n let nextIndexInArray = currentIndexInArray;\n if (nextKeyMatched) {\n nextIndexInArray = (currentIndexInArray + 1) % totalPages;\n } else if (prevKeyMatched) {\n nextIndexInArray = (currentIndexInArray - 1 + totalPages) % totalPages;\n } else if (homeKeyMatched) {\n nextIndexInArray = 0;\n } else if (endKeyMatched) {\n nextIndexInArray = totalPages - 1;\n }\n\n const nextSlideIndex = activeIndices[nextIndexInArray];\n goToSlide(nextSlideIndex);\n }\n }\n\n onKeyDown?.(event);\n },\n [activeIndices, totalPages, goToSlide, onKeyDown],\n );\n\n useEffect(() => {\n const activeSet = new Set(activeIndices);\n\n for (const key of indicatorRefsCache.current.keys()) {\n if (!activeSet.has(key)) {\n indicatorRefsCache.current.delete(key);\n buttonRefs.current.delete(key);\n }\n }\n for (const key of clickHandlersCache.current.keys()) {\n if (!activeSet.has(key)) {\n clickHandlersCache.current.delete(key);\n }\n }\n }, [activeIndices]);\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container?.contains(document.activeElement)) return;\n\n const rafId = requestAnimationFrame(() => {\n const activeButton = buttonRefs.current.get(currentIndexRef.current);\n activeButton?.focus();\n });\n\n return () => cancelAnimationFrame(rafId);\n }, [currentIndex]);\n\n if (scrollMode === ECarouselScrollMode.ITEM || totalPages < 1) return null;\n\n return (\n <div\n {...restProps}\n className={clsx(styles.indicators, className)}\n role=\"tablist\"\n aria-orientation={orientation}\n onKeyDown={handleKeyDown}\n ref={combinedRef}\n >\n {activeIndices.map((slideIndex, index) => {\n const selected = currentIndex === slideIndex;\n const page = index + 1;\n\n const resolvedIndicatorProps =\n typeof indicatorProps === \"function\"\n ? indicatorProps({ index, page, selected })\n : indicatorProps;\n\n const indicatorRef = getIndicatorRef(slideIndex);\n const indicatorClickHandler = getIndicatorClickHandler(slideIndex);\n\n const providedIndicatorProps: TCarouselIndicatorProps = {\n ...resolvedIndicatorProps,\n className: clsx(\n styles.indicator,\n { [styles.active]: selected },\n resolvedIndicatorProps?.className,\n ),\n role: \"tab\",\n tabIndex: selected ? 0 : -1,\n \"aria-selected\": selected,\n onClick: indicatorClickHandler,\n };\n\n if (renderIndicator) {\n return (\n <React.Fragment key={slideIndex}>\n {renderIndicator({\n index,\n page,\n selected,\n props: providedIndicatorProps,\n ref: indicatorRef,\n })}\n </React.Fragment>\n );\n }\n\n return <ButtonBase key={slideIndex} {...providedIndicatorProps} ref={indicatorRef} />;\n })}\n </div>\n );\n },\n);\n\nCarouselIndicators.displayName = \"Carousel.Indicators\";\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import React, { useContext, useRef, useCallback } from "react";
3
+ import { c as clsx } from "../../chunks/vendor-BtZO8a0z.js";
4
+ import { CarouselContext } from "./CarouselContext.js";
5
+ import { mergeRefs } from "./utils.js";
6
+ import { s as styles } from "../../chunks/Carousel.module-DTaSq3Bq.js";
7
+ const CarouselItem = React.forwardRef(
8
+ ({ children, className, index, ...restProps }, ref) => {
9
+ const { slideRefs } = useContext(CarouselContext);
10
+ const lastRegisteredIndexRef = useRef(null);
11
+ const registerItemRef = useCallback(
12
+ (node) => {
13
+ if (node) {
14
+ if (lastRegisteredIndexRef.current !== null && lastRegisteredIndexRef.current !== index) {
15
+ slideRefs.current.delete(lastRegisteredIndexRef.current);
16
+ }
17
+ slideRefs.current.set(index, node);
18
+ lastRegisteredIndexRef.current = index;
19
+ } else if (lastRegisteredIndexRef.current !== null) {
20
+ slideRefs.current.delete(lastRegisteredIndexRef.current);
21
+ lastRegisteredIndexRef.current = null;
22
+ }
23
+ },
24
+ [index]
25
+ );
26
+ const combinedRef = mergeRefs(ref, registerItemRef);
27
+ return /* @__PURE__ */ jsx("div", { className: clsx(styles.slide, className), role: "group", ...restProps, ref: combinedRef, children });
28
+ }
29
+ );
30
+ CarouselItem.displayName = "Carousel.Item";
31
+ export {
32
+ CarouselItem
33
+ };
34
+ //# sourceMappingURL=CarouselItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarouselItem.js","sources":["../../../src/components/Carousel/CarouselItem.tsx"],"sourcesContent":["import React, { useContext, useRef, useCallback } from \"react\";\nimport clsx from \"clsx\";\nimport { ICarouselItemProps } from \"./types\";\nimport { CarouselContext } from \"./CarouselContext\";\nimport { mergeRefs } from \"./utils\";\nimport styles from \"./styles/Carousel.module.less\";\n\nexport const CarouselItem = React.forwardRef<HTMLDivElement, ICarouselItemProps>(\n ({ children, className, index, ...restProps }, ref) => {\n const { slideRefs } = useContext(CarouselContext);\n\n const lastRegisteredIndexRef = useRef<number | null>(null);\n\n const registerItemRef = useCallback(\n (node: HTMLDivElement | null) => {\n if (node) {\n if (lastRegisteredIndexRef.current !== null && lastRegisteredIndexRef.current !== index) {\n slideRefs.current.delete(lastRegisteredIndexRef.current);\n }\n slideRefs.current.set(index, node);\n lastRegisteredIndexRef.current = index;\n } else if (lastRegisteredIndexRef.current !== null) {\n slideRefs.current.delete(lastRegisteredIndexRef.current);\n lastRegisteredIndexRef.current = null;\n }\n },\n [index],\n );\n\n const combinedRef = mergeRefs(ref, registerItemRef);\n\n return (\n <div className={clsx(styles.slide, className)} role=\"group\" {...restProps} ref={combinedRef}>\n {children}\n </div>\n );\n },\n);\n\nCarouselItem.displayName = \"Carousel.Item\";\n"],"names":[],"mappings":";;;;;;AAOO,MAAM,eAAe,MAAM;AAAA,EAC9B,CAAC,EAAE,UAAU,WAAW,OAAO,GAAG,UAAA,GAAa,QAAQ;AACnD,UAAM,EAAE,UAAA,IAAc,WAAW,eAAe;AAEhD,UAAM,yBAAyB,OAAsB,IAAI;AAEzD,UAAM,kBAAkB;AAAA,MACpB,CAAC,SAAgC;AAC7B,YAAI,MAAM;AACN,cAAI,uBAAuB,YAAY,QAAQ,uBAAuB,YAAY,OAAO;AACrF,sBAAU,QAAQ,OAAO,uBAAuB,OAAO;AAAA,UAC3D;AACA,oBAAU,QAAQ,IAAI,OAAO,IAAI;AACjC,iCAAuB,UAAU;AAAA,QACrC,WAAW,uBAAuB,YAAY,MAAM;AAChD,oBAAU,QAAQ,OAAO,uBAAuB,OAAO;AACvD,iCAAuB,UAAU;AAAA,QACrC;AAAA,MACJ;AAAA,MACA,CAAC,KAAK;AAAA,IAAA;AAGV,UAAM,cAAc,UAAU,KAAK,eAAe;AAElD,WACI,oBAAC,OAAA,EAAI,WAAW,KAAK,OAAO,OAAO,SAAS,GAAG,MAAK,SAAS,GAAG,WAAW,KAAK,aAC3E,UACL;AAAA,EAER;AACJ;AAEA,aAAa,cAAc;"}
@@ -0,0 +1,36 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import React, { useContext } from "react";
3
+ import { c as clsx } from "../../chunks/vendor-BtZO8a0z.js";
4
+ import { CarouselContext } from "./CarouselContext.js";
5
+ import { mergeRefs } from "./utils.js";
6
+ import { ORIENTATION_TRANSFORM } from "./constants.js";
7
+ import { s as styles } from "../../chunks/Carousel.module-DTaSq3Bq.js";
8
+ const CarouselTrack = React.forwardRef(
9
+ ({ children, className, style, ...restProps }, ref) => {
10
+ const { gap, orientation, offset, trackRef } = useContext(CarouselContext);
11
+ const combinedRef = mergeRefs(ref, trackRef);
12
+ const runtimeStyle = {
13
+ "--triplex-next-runtime-carousel-transform": ORIENTATION_TRANSFORM[orientation](-offset),
14
+ "--triplex-next-runtime-carousel-gap": `${gap}px`
15
+ };
16
+ return /* @__PURE__ */ jsx(
17
+ "div",
18
+ {
19
+ className: clsx(styles.track, className),
20
+ role: "presentation",
21
+ ...restProps,
22
+ style: {
23
+ ...style,
24
+ ...runtimeStyle
25
+ },
26
+ ref: combinedRef,
27
+ children
28
+ }
29
+ );
30
+ }
31
+ );
32
+ CarouselTrack.displayName = "Carousel.Track";
33
+ export {
34
+ CarouselTrack
35
+ };
36
+ //# sourceMappingURL=CarouselTrack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarouselTrack.js","sources":["../../../src/components/Carousel/CarouselTrack.tsx"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport { ICarouselTrackProps } from \"./types\";\nimport { CarouselContext } from \"./CarouselContext\";\nimport { mergeRefs } from \"./utils\";\nimport { ORIENTATION_TRANSFORM } from \"./constants\";\nimport styles from \"./styles/Carousel.module.less\";\n\nexport const CarouselTrack = React.forwardRef<HTMLDivElement, ICarouselTrackProps>(\n ({ children, className, style, ...restProps }, ref) => {\n const { gap, orientation, offset, trackRef } = useContext(CarouselContext);\n const combinedRef = mergeRefs(ref, trackRef);\n\n const runtimeStyle = {\n \"--triplex-next-runtime-carousel-transform\": ORIENTATION_TRANSFORM[orientation](-offset),\n \"--triplex-next-runtime-carousel-gap\": `${gap}px`,\n };\n\n return (\n <div\n className={clsx(styles.track, className)}\n role=\"presentation\"\n {...restProps}\n style={{\n ...style,\n ...runtimeStyle,\n }}\n ref={combinedRef}\n >\n {children}\n </div>\n );\n },\n);\n\nCarouselTrack.displayName = \"Carousel.Track\";\n"],"names":[],"mappings":";;;;;;;AAQO,MAAM,gBAAgB,MAAM;AAAA,EAC/B,CAAC,EAAE,UAAU,WAAW,OAAO,GAAG,UAAA,GAAa,QAAQ;AACnD,UAAM,EAAE,KAAK,aAAa,QAAQ,SAAA,IAAa,WAAW,eAAe;AACzE,UAAM,cAAc,UAAU,KAAK,QAAQ;AAE3C,UAAM,eAAe;AAAA,MACjB,6CAA6C,sBAAsB,WAAW,EAAE,CAAC,MAAM;AAAA,MACvF,uCAAuC,GAAG,GAAG;AAAA,IAAA;AAGjD,WACI;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,OAAO,SAAS;AAAA,QACvC,MAAK;AAAA,QACJ,GAAG;AAAA,QACJ,OAAO;AAAA,UACH,GAAG;AAAA,UACH,GAAG;AAAA,QAAA;AAAA,QAEP,KAAK;AAAA,QAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAGb;AACJ;AAEA,cAAc,cAAc;"}
@@ -0,0 +1,159 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import React, { useContext, useRef, useCallback, useEffect } from "react";
3
+ import { c as clsx } from "../../chunks/vendor-BtZO8a0z.js";
4
+ import { CarouselContext } from "./CarouselContext.js";
5
+ import { mergeRefs } from "./utils.js";
6
+ import { ORIENTATION_TRANSFORM } from "./constants.js";
7
+ import { ECarouselOrientation } from "./enums.js";
8
+ import { s as styles } from "../../chunks/Carousel.module-DTaSq3Bq.js";
9
+ const ORIENTATION_TO_TOUCH_KEY = {
10
+ [ECarouselOrientation.HORIZONTAL]: "clientX",
11
+ [ECarouselOrientation.VERTICAL]: "clientY"
12
+ };
13
+ const ORIENTATION_TO_CROSS_TOUCH_KEY = {
14
+ [ECarouselOrientation.HORIZONTAL]: "clientY",
15
+ [ECarouselOrientation.VERTICAL]: "clientX"
16
+ };
17
+ const CarouselViewport = React.forwardRef(
18
+ ({ children, className, style, onTouchStart, ...restProps }, ref) => {
19
+ const {
20
+ viewportPaddingStyle,
21
+ nextSlide,
22
+ prevSlide,
23
+ offsetRef,
24
+ maxOffsetRef,
25
+ orientationRef,
26
+ viewportRef,
27
+ trackRef
28
+ } = useContext(CarouselContext);
29
+ const combinedRef = mergeRefs(ref, viewportRef);
30
+ const draggingRef = useRef(false);
31
+ const scrollingRef = useRef(null);
32
+ const startCoordsRef = useRef({ clientX: 0, clientY: 0 });
33
+ const startOffsetRef = useRef(0);
34
+ const dragDistanceRef = useRef(0);
35
+ const touchMoveHandlerRef = useRef(null);
36
+ const touchEndHandlerRef = useRef(null);
37
+ const clearTouchListeners = useCallback(() => {
38
+ if (touchMoveHandlerRef.current) {
39
+ window.removeEventListener("touchmove", touchMoveHandlerRef.current);
40
+ touchMoveHandlerRef.current = null;
41
+ }
42
+ if (touchEndHandlerRef.current) {
43
+ window.removeEventListener("touchend", touchEndHandlerRef.current);
44
+ window.removeEventListener("touchcancel", touchEndHandlerRef.current);
45
+ touchEndHandlerRef.current = null;
46
+ }
47
+ }, []);
48
+ const handleTouchMove = useCallback((event) => {
49
+ if (!draggingRef.current || !trackRef.current) return;
50
+ const touch = event.targetTouches[0];
51
+ if (!touch) return;
52
+ const orientation = orientationRef.current;
53
+ const touchKey = ORIENTATION_TO_TOUCH_KEY[orientation];
54
+ const crossKey = ORIENTATION_TO_CROSS_TOUCH_KEY[orientation];
55
+ const dragDistance = touch[touchKey] - startCoordsRef.current[touchKey];
56
+ const crossDistance = touch[crossKey] - startCoordsRef.current[crossKey];
57
+ if (scrollingRef.current === null) {
58
+ const absMain = Math.abs(dragDistance);
59
+ const absCross = Math.abs(crossDistance);
60
+ if (absMain > 5 || absCross > 5) {
61
+ scrollingRef.current = absCross > absMain;
62
+ }
63
+ }
64
+ if (scrollingRef.current) {
65
+ return;
66
+ }
67
+ if (event.cancelable) {
68
+ event.preventDefault();
69
+ }
70
+ dragDistanceRef.current = dragDistance;
71
+ const maxOffset = maxOffsetRef.current;
72
+ const targetOffset = startOffsetRef.current - dragDistance;
73
+ let currentTranslate = -targetOffset;
74
+ if (targetOffset < 0) {
75
+ currentTranslate = -targetOffset / 3;
76
+ } else if (targetOffset > maxOffset) {
77
+ currentTranslate = -(maxOffset + (targetOffset - maxOffset) / 3);
78
+ }
79
+ trackRef.current.style.transform = ORIENTATION_TRANSFORM[orientation](currentTranslate);
80
+ trackRef.current.style.transition = "none";
81
+ }, []);
82
+ const handleTouchEnd = useCallback(
83
+ (event) => {
84
+ if (!draggingRef.current) return;
85
+ draggingRef.current = false;
86
+ const scrolling = scrollingRef.current;
87
+ scrollingRef.current = null;
88
+ clearTouchListeners();
89
+ if (!trackRef.current) return;
90
+ trackRef.current.style.transition = "";
91
+ if (event.type === "touchcancel" || scrolling) {
92
+ trackRef.current.style.transform = "";
93
+ return;
94
+ }
95
+ const finalDrag = dragDistanceRef.current;
96
+ const threshold = 50;
97
+ if (finalDrag > threshold) {
98
+ prevSlide();
99
+ } else if (finalDrag < -threshold) {
100
+ nextSlide();
101
+ }
102
+ trackRef.current.style.transform = "";
103
+ },
104
+ [nextSlide, prevSlide, clearTouchListeners]
105
+ );
106
+ const handleTouchStart = useCallback(
107
+ (event) => {
108
+ const touch = event.targetTouches[0];
109
+ if (!touch) return;
110
+ draggingRef.current = true;
111
+ scrollingRef.current = null;
112
+ startCoordsRef.current = {
113
+ clientX: touch.clientX,
114
+ clientY: touch.clientY
115
+ };
116
+ startOffsetRef.current = offsetRef.current;
117
+ dragDistanceRef.current = 0;
118
+ if (trackRef.current) {
119
+ trackRef.current.style.transition = "none";
120
+ }
121
+ clearTouchListeners();
122
+ touchMoveHandlerRef.current = handleTouchMove;
123
+ touchEndHandlerRef.current = handleTouchEnd;
124
+ window.addEventListener("touchmove", handleTouchMove, { passive: false });
125
+ window.addEventListener("touchend", handleTouchEnd);
126
+ window.addEventListener("touchcancel", handleTouchEnd);
127
+ onTouchStart == null ? void 0 : onTouchStart(event);
128
+ },
129
+ [handleTouchMove, handleTouchEnd, clearTouchListeners, onTouchStart]
130
+ );
131
+ useEffect(() => {
132
+ return () => {
133
+ clearTouchListeners();
134
+ };
135
+ }, [clearTouchListeners]);
136
+ const runtimeStyle = {
137
+ "--triplex-next-runtime-carousel-viewport-padding": viewportPaddingStyle
138
+ };
139
+ return /* @__PURE__ */ jsx(
140
+ "div",
141
+ {
142
+ className: clsx(styles.viewPort, className),
143
+ ...restProps,
144
+ onTouchStart: handleTouchStart,
145
+ style: {
146
+ ...style,
147
+ ...runtimeStyle
148
+ },
149
+ ref: combinedRef,
150
+ children
151
+ }
152
+ );
153
+ }
154
+ );
155
+ CarouselViewport.displayName = "Carousel.Viewport";
156
+ export {
157
+ CarouselViewport
158
+ };
159
+ //# sourceMappingURL=CarouselViewport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarouselViewport.js","sources":["../../../src/components/Carousel/CarouselViewport.tsx"],"sourcesContent":["import React, { useContext, useRef, useCallback, useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport { ICarouselViewportProps } from \"./types\";\nimport { CarouselContext } from \"./CarouselContext\";\nimport { mergeRefs } from \"./utils\";\nimport { ORIENTATION_TRANSFORM } from \"./constants\";\nimport { ECarouselOrientation } from \"./enums\";\nimport styles from \"./styles/Carousel.module.less\";\n\nconst ORIENTATION_TO_TOUCH_KEY = {\n [ECarouselOrientation.HORIZONTAL]: \"clientX\",\n [ECarouselOrientation.VERTICAL]: \"clientY\",\n} as const;\n\nconst ORIENTATION_TO_CROSS_TOUCH_KEY = {\n [ECarouselOrientation.HORIZONTAL]: \"clientY\",\n [ECarouselOrientation.VERTICAL]: \"clientX\",\n} as const;\n\nexport const CarouselViewport = React.forwardRef<HTMLDivElement, ICarouselViewportProps>(\n ({ children, className, style, onTouchStart, ...restProps }, ref) => {\n const {\n viewportPaddingStyle,\n nextSlide,\n prevSlide,\n offsetRef,\n maxOffsetRef,\n orientationRef,\n viewportRef,\n trackRef,\n } = useContext(CarouselContext);\n const combinedRef = mergeRefs(ref, viewportRef);\n\n const draggingRef = useRef(false);\n const scrollingRef = useRef<boolean | null>(null);\n\n const startCoordsRef = useRef({ clientX: 0, clientY: 0 });\n const startOffsetRef = useRef(0);\n const dragDistanceRef = useRef(0);\n\n const touchMoveHandlerRef = useRef<typeof handleTouchMove | null>(null);\n const touchEndHandlerRef = useRef<typeof handleTouchEnd | null>(null);\n\n const clearTouchListeners = useCallback(() => {\n if (touchMoveHandlerRef.current) {\n window.removeEventListener(\"touchmove\", touchMoveHandlerRef.current);\n touchMoveHandlerRef.current = null;\n }\n if (touchEndHandlerRef.current) {\n window.removeEventListener(\"touchend\", touchEndHandlerRef.current);\n window.removeEventListener(\"touchcancel\", touchEndHandlerRef.current);\n touchEndHandlerRef.current = null;\n }\n }, []);\n\n const handleTouchMove = useCallback((event: TouchEvent) => {\n if (!draggingRef.current || !trackRef.current) return;\n\n const touch = event.targetTouches[0];\n if (!touch) return;\n\n const orientation = orientationRef.current;\n const touchKey = ORIENTATION_TO_TOUCH_KEY[orientation];\n const crossKey = ORIENTATION_TO_CROSS_TOUCH_KEY[orientation];\n\n const dragDistance = touch[touchKey] - startCoordsRef.current[touchKey];\n const crossDistance = touch[crossKey] - startCoordsRef.current[crossKey];\n\n if (scrollingRef.current === null) {\n const absMain = Math.abs(dragDistance);\n const absCross = Math.abs(crossDistance);\n\n if (absMain > 5 || absCross > 5) {\n scrollingRef.current = absCross > absMain;\n }\n }\n\n if (scrollingRef.current) {\n return;\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n dragDistanceRef.current = dragDistance;\n const maxOffset = maxOffsetRef.current;\n const targetOffset = startOffsetRef.current - dragDistance;\n let currentTranslate = -targetOffset;\n\n if (targetOffset < 0) {\n currentTranslate = -targetOffset / 3;\n } else if (targetOffset > maxOffset) {\n currentTranslate = -(maxOffset + (targetOffset - maxOffset) / 3);\n }\n\n trackRef.current.style.transform = ORIENTATION_TRANSFORM[orientation](currentTranslate);\n trackRef.current.style.transition = \"none\";\n }, []);\n\n const handleTouchEnd = useCallback(\n (event: TouchEvent) => {\n if (!draggingRef.current) return;\n\n draggingRef.current = false;\n\n const scrolling = scrollingRef.current;\n scrollingRef.current = null;\n\n clearTouchListeners();\n\n if (!trackRef.current) return;\n\n trackRef.current.style.transition = \"\";\n\n if (event.type === \"touchcancel\" || scrolling) {\n trackRef.current.style.transform = \"\";\n return;\n }\n\n const finalDrag = dragDistanceRef.current;\n const threshold = 50;\n\n if (finalDrag > threshold) {\n prevSlide();\n } else if (finalDrag < -threshold) {\n nextSlide();\n }\n\n trackRef.current.style.transform = \"\";\n },\n [nextSlide, prevSlide, clearTouchListeners],\n );\n\n const handleTouchStart = useCallback<React.TouchEventHandler<HTMLDivElement>>(\n (event) => {\n const touch = event.targetTouches[0];\n if (!touch) return;\n\n draggingRef.current = true;\n scrollingRef.current = null;\n\n startCoordsRef.current = {\n clientX: touch.clientX,\n clientY: touch.clientY,\n };\n\n startOffsetRef.current = offsetRef.current;\n dragDistanceRef.current = 0;\n\n if (trackRef.current) {\n trackRef.current.style.transition = \"none\";\n }\n\n clearTouchListeners();\n\n touchMoveHandlerRef.current = handleTouchMove;\n touchEndHandlerRef.current = handleTouchEnd;\n\n window.addEventListener(\"touchmove\", handleTouchMove, { passive: false });\n window.addEventListener(\"touchend\", handleTouchEnd);\n window.addEventListener(\"touchcancel\", handleTouchEnd);\n\n onTouchStart?.(event);\n },\n [handleTouchMove, handleTouchEnd, clearTouchListeners, onTouchStart],\n );\n\n useEffect(() => {\n return () => {\n clearTouchListeners();\n };\n }, [clearTouchListeners]);\n\n const runtimeStyle = {\n \"--triplex-next-runtime-carousel-viewport-padding\": viewportPaddingStyle,\n };\n\n return (\n <div\n className={clsx(styles.viewPort, className)}\n {...restProps}\n onTouchStart={handleTouchStart}\n style={{\n ...style,\n ...runtimeStyle,\n }}\n ref={combinedRef}\n >\n {children}\n </div>\n );\n },\n);\n\nCarouselViewport.displayName = \"Carousel.Viewport\";\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ECarouselOrientation } from "./enums.js";
2
+ const ORIENTATION_TRANSFORM = {
3
+ [ECarouselOrientation.HORIZONTAL]: (x) => `translateX(${x}px)`,
4
+ [ECarouselOrientation.VERTICAL]: (y) => `translateY(${y}px)`
5
+ };
6
+ export {
7
+ ORIENTATION_TRANSFORM
8
+ };
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../src/components/Carousel/constants.ts"],"sourcesContent":["import { ECarouselOrientation } from \"./enums\";\n\nexport const ORIENTATION_TRANSFORM = {\n [ECarouselOrientation.HORIZONTAL]: (x: number) => `translateX(${x}px)`,\n [ECarouselOrientation.VERTICAL]: (y: number) => `translateY(${y}px)`,\n} as const;\n"],"names":[],"mappings":";AAEO,MAAM,wBAAwB;AAAA,EACjC,CAAC,qBAAqB,UAAU,GAAG,CAAC,MAAc,cAAc,CAAC;AAAA,EACjE,CAAC,qBAAqB,QAAQ,GAAG,CAAC,MAAc,cAAc,CAAC;AACnE;"}
@@ -0,0 +1,15 @@
1
+ var ECarouselOrientation = /* @__PURE__ */ ((ECarouselOrientation2) => {
2
+ ECarouselOrientation2["HORIZONTAL"] = "horizontal";
3
+ ECarouselOrientation2["VERTICAL"] = "vertical";
4
+ return ECarouselOrientation2;
5
+ })(ECarouselOrientation || {});
6
+ var ECarouselScrollMode = /* @__PURE__ */ ((ECarouselScrollMode2) => {
7
+ ECarouselScrollMode2["ITEM"] = "item";
8
+ ECarouselScrollMode2["PAGE"] = "page";
9
+ return ECarouselScrollMode2;
10
+ })(ECarouselScrollMode || {});
11
+ export {
12
+ ECarouselOrientation,
13
+ ECarouselScrollMode
14
+ };
15
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sources":["../../../src/components/Carousel/enums.ts"],"sourcesContent":["export enum ECarouselOrientation {\n HORIZONTAL = \"horizontal\",\n VERTICAL = \"vertical\",\n}\n\nexport enum ECarouselScrollMode {\n ITEM = \"item\",\n PAGE = \"page\",\n}\n"],"names":["ECarouselOrientation","ECarouselScrollMode"],"mappings":"AAAO,IAAK,yCAAAA,0BAAL;AACHA,wBAAA,YAAA,IAAa;AACbA,wBAAA,UAAA,IAAW;AAFH,SAAAA;AAAA,GAAA,wBAAA,CAAA,CAAA;AAKL,IAAK,wCAAAC,yBAAL;AACHA,uBAAA,MAAA,IAAO;AACPA,uBAAA,MAAA,IAAO;AAFC,SAAAA;AAAA,GAAA,uBAAA,CAAA,CAAA;"}
@@ -0,0 +1,8 @@
1
+ import { Carousel } from "./Carousel.js";
2
+ import { ECarouselOrientation, ECarouselScrollMode } from "./enums.js";
3
+ export {
4
+ Carousel,
5
+ ECarouselOrientation,
6
+ ECarouselScrollMode
7
+ };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,71 @@
1
+ import { useRef, useLayoutEffect } from "react";
2
+ const clean = (value) => {
3
+ if (Number.isFinite(value) && value >= 0) {
4
+ return value;
5
+ }
6
+ return 0;
7
+ };
8
+ const resolveViewportPadding = (padding) => {
9
+ if (padding === void 0) {
10
+ return {
11
+ metrics: { top: 0, right: 0, bottom: 0, left: 0 },
12
+ style: "0px"
13
+ };
14
+ }
15
+ if (typeof padding === "number") {
16
+ const v = clean(padding);
17
+ return {
18
+ metrics: { top: v, right: v, bottom: v, left: v },
19
+ style: `${v}px`
20
+ };
21
+ }
22
+ if (Array.isArray(padding)) {
23
+ const [t, r, b, l] = padding.map(clean);
24
+ switch (padding.length) {
25
+ case 2:
26
+ return {
27
+ metrics: { top: t, right: r, bottom: t, left: r },
28
+ style: `${t}px ${r}px`
29
+ };
30
+ case 3:
31
+ return {
32
+ metrics: { top: t, right: r, bottom: b, left: r },
33
+ style: `${t}px ${r}px ${b}px`
34
+ };
35
+ case 4:
36
+ return {
37
+ metrics: { top: t, right: r, bottom: b, left: l },
38
+ style: `${t}px ${r}px ${b}px ${l}px`
39
+ };
40
+ }
41
+ }
42
+ return {
43
+ metrics: { top: 0, right: 0, bottom: 0, left: 0 },
44
+ style: "0px"
45
+ };
46
+ };
47
+ function mergeRefs(...refs) {
48
+ return (node) => {
49
+ refs.forEach((ref) => {
50
+ if (ref === null) return;
51
+ if (typeof ref === "function") {
52
+ ref(node);
53
+ } else {
54
+ ref.current = node;
55
+ }
56
+ });
57
+ };
58
+ }
59
+ function useLatestRef(value) {
60
+ const ref = useRef(value);
61
+ useLayoutEffect(() => {
62
+ ref.current = value;
63
+ }, [value]);
64
+ return ref;
65
+ }
66
+ export {
67
+ mergeRefs,
68
+ resolveViewportPadding,
69
+ useLatestRef
70
+ };
71
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../src/components/Carousel/utils.ts"],"sourcesContent":["import React, { useRef, useLayoutEffect } from \"react\";\nimport { TCarouselViewportPadding, ICarouselPaddingResult } from \"./types\";\n\n/** Очищает значение: отсекает NaN, Infinity и отрицательные числа, возвращая 0. */\nconst clean = (value: number): number => {\n if (Number.isFinite(value) && value >= 0) {\n return value;\n }\n return 0;\n};\n\n/** Вычисляет геометрию отступов Viewport и формирует оптимизированную CSS-строку. */\nexport const resolveViewportPadding = (padding: TCarouselViewportPadding | undefined): ICarouselPaddingResult => {\n if (padding === undefined) {\n return {\n metrics: { top: 0, right: 0, bottom: 0, left: 0 },\n style: \"0px\",\n };\n }\n\n if (typeof padding === \"number\") {\n const v = clean(padding);\n return {\n metrics: { top: v, right: v, bottom: v, left: v },\n style: `${v}px`,\n };\n }\n\n if (Array.isArray(padding)) {\n const [t, r, b, l] = padding.map(clean);\n switch (padding.length) {\n case 2:\n return {\n metrics: { top: t, right: r, bottom: t, left: r },\n style: `${t}px ${r}px`,\n };\n case 3:\n return {\n metrics: { top: t, right: r, bottom: b, left: r },\n style: `${t}px ${r}px ${b}px`,\n };\n case 4:\n return {\n metrics: { top: t, right: r, bottom: b, left: l },\n style: `${t}px ${r}px ${b}px ${l}px`,\n };\n }\n }\n\n return {\n metrics: { top: 0, right: 0, bottom: 0, left: 0 },\n style: \"0px\",\n };\n};\n\n/** Объединяет несколько рефов в один чистый колбэк-реф. */\nexport function mergeRefs<T>(...refs: React.ForwardedRef<T>[]) {\n return (node: T | null) => {\n refs.forEach((ref) => {\n if (ref === null) return;\n if (typeof ref === \"function\") {\n ref(node);\n } else {\n ref.current = node;\n }\n });\n };\n}\n\n/** Возвращает стабильный реф, который всегда хранит самое актуальное значение. */\nexport function useLatestRef<T>(value: T) {\n const ref = useRef(value);\n useLayoutEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n}\n"],"names":[],"mappings":";AAIA,MAAM,QAAQ,CAAC,UAA0B;AACrC,MAAI,OAAO,SAAS,KAAK,KAAK,SAAS,GAAG;AACtC,WAAO;AAAA,EACX;AACA,SAAO;AACX;AAGO,MAAM,yBAAyB,CAAC,YAA0E;AAC7G,MAAI,YAAY,QAAW;AACvB,WAAO;AAAA,MACH,SAAS,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,EAAA;AAAA,MAC9C,OAAO;AAAA,IAAA;AAAA,EAEf;AAEA,MAAI,OAAO,YAAY,UAAU;AAC7B,UAAM,IAAI,MAAM,OAAO;AACvB,WAAO;AAAA,MACH,SAAS,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,EAAA;AAAA,MAC9C,OAAO,GAAG,CAAC;AAAA,IAAA;AAAA,EAEnB;AAEA,MAAI,MAAM,QAAQ,OAAO,GAAG;AACxB,UAAM,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,QAAQ,IAAI,KAAK;AACtC,YAAQ,QAAQ,QAAA;AAAA,MACZ,KAAK;AACD,eAAO;AAAA,UACH,SAAS,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,EAAA;AAAA,UAC9C,OAAO,GAAG,CAAC,MAAM,CAAC;AAAA,QAAA;AAAA,MAE1B,KAAK;AACD,eAAO;AAAA,UACH,SAAS,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,EAAA;AAAA,UAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;AAAA,QAAA;AAAA,MAEjC,KAAK;AACD,eAAO;AAAA,UACH,SAAS,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,EAAA;AAAA,UAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AAAA,QAAA;AAAA,IACpC;AAAA,EAEZ;AAEA,SAAO;AAAA,IACH,SAAS,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,EAAA;AAAA,IAC9C,OAAO;AAAA,EAAA;AAEf;AAGO,SAAS,aAAgB,MAA+B;AAC3D,SAAO,CAAC,SAAmB;AACvB,SAAK,QAAQ,CAAC,QAAQ;AAClB,UAAI,QAAQ,KAAM;AAClB,UAAI,OAAO,QAAQ,YAAY;AAC3B,YAAI,IAAI;AAAA,MACZ,OAAO;AACH,YAAI,UAAU;AAAA,MAClB;AAAA,IACJ,CAAC;AAAA,EACL;AACJ;AAGO,SAAS,aAAgB,OAAU;AACtC,QAAM,MAAM,OAAO,KAAK;AACxB,kBAAgB,MAAM;AAClB,QAAI,UAAU;AAAA,EAClB,GAAG,CAAC,KAAK,CAAC;AACV,SAAO;AACX;"}
@@ -2,7 +2,7 @@ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import React, { useState, useRef, useCallback, useEffect } from "react";
3
3
  import { l as lodashExports, c as clsx } from "../../chunks/vendor-BtZO8a0z.js";
4
4
  import { scrollSmoothHorizontally } from "../../utils/scroll.js";
5
- const carouselExtended = "carouselExtended__eb440d19";
5
+ const carouselExtended = "carouselExtended__b6d8a953";
6
6
  const styles = {
7
7
  carouselExtended
8
8
  };
@@ -9,15 +9,15 @@ import { Text } from "../Typography/Text.js";
9
9
  import "../Typography/Title.js";
10
10
  import { EComponentSize } from "../../enums/EComponentSize.js";
11
11
  import { createSizeToClassNameMap } from "../../utils/classNameMaps.js";
12
- const label = "label__b3221664";
13
- const sm = "sm__da4e6b46";
14
- const nonempty = "nonempty__07bd04d5";
15
- const md = "md__b87d1ce4";
16
- const lg = "lg__db4422a0";
17
- const disabled = "disabled__f49c34de";
18
- const checkbox = "checkbox__2bd3601f";
19
- const checkboxIcon = "checkboxIcon__d2cd69e3";
20
- const checkmarkIcon = "checkmarkIcon__161a7a89";
12
+ const label = "label__3f4f474a";
13
+ const sm = "sm__eaf9e7e9";
14
+ const nonempty = "nonempty__c5ddb6f0";
15
+ const md = "md__942d07e2";
16
+ const lg = "lg__9050e4cc";
17
+ const disabled = "disabled__4442bf26";
18
+ const checkbox = "checkbox__5ad7c634";
19
+ const checkboxIcon = "checkboxIcon__bddbb3c4";
20
+ const checkmarkIcon = "checkmarkIcon__076e54aa";
21
21
  const styles = {
22
22
  label,
23
23
  sm,
@@ -57,7 +57,7 @@ const Checkbox = React.forwardRef((props, ref) => {
57
57
  const className2 = styles.checkmarkIcon;
58
58
  return bulk ? /* @__PURE__ */ jsx(CheckboxbulkStrokeSrvIcon24, { className: className2, paletteIndex: 7 }) : /* @__PURE__ */ jsx(CheckboxtickStrokeSrvIcon24, { className: className2, paletteIndex: 7 });
59
59
  };
60
- return /* @__PURE__ */ jsxs("label", { ...labelAttributes, className: classNamesLabel, "data-tx": "0.38.0", children: [
60
+ return /* @__PURE__ */ jsxs("label", { ...labelAttributes, className: classNamesLabel, "data-tx": "0.40.0", children: [
61
61
  /* @__PURE__ */ jsx("input", { type: "checkbox", className: classNames, disabled: disabled2, ...inputAttributes, ref }),
62
62
  /* @__PURE__ */ jsx("span", { className: styles.checkboxIcon }),
63
63
  renderCheckmarkIcon(),