@sberbusiness/triplex-next 1.47.0 → 1.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (542) hide show
  1. package/chunks/{AlertProcessSpoiler-Bws9nhT_.js → AlertProcessSpoiler-Sz4nOpAx.js} +16 -16
  2. package/chunks/{AlertProcessSpoiler-Bws9nhT_.js.map → AlertProcessSpoiler-Sz4nOpAx.js.map} +1 -1
  3. package/chunks/{CalendarViewItem-Bikp6svb.js → CalendarViewItem-8tfDv-A9.js} +20 -20
  4. package/chunks/{CalendarViewItem-Bikp6svb.js.map → CalendarViewItem-8tfDv-A9.js.map} +1 -1
  5. package/chunks/Card.module-kIFwMArU.js +32 -0
  6. package/chunks/Card.module-kIFwMArU.js.map +1 -0
  7. package/chunks/Carousel.module-D_IzMMFv.js +30 -0
  8. package/chunks/Carousel.module-D_IzMMFv.js.map +1 -0
  9. package/chunks/CheckboxTreeExtended.module-C5EvlwgD.js +24 -0
  10. package/chunks/CheckboxTreeExtended.module-C5EvlwgD.js.map +1 -0
  11. package/chunks/{Chip-DNn2jKWv.js → Chip-DF_tx9l4.js} +16 -16
  12. package/chunks/{Chip-DNn2jKWv.js.map → Chip-DF_tx9l4.js.map} +1 -1
  13. package/chunks/Confirm.module-DoO5fE2O.js +24 -0
  14. package/chunks/Confirm.module-DoO5fE2O.js.map +1 -0
  15. package/chunks/{DropdownListItem-B9cIx_8A.js → DropdownListItem-cXbzcYKR.js} +10 -10
  16. package/chunks/{DropdownListItem-B9cIx_8A.js.map → DropdownListItem-cXbzcYKR.js.map} +1 -1
  17. package/chunks/DropdownMobile.module-TkQoE9iE.js +40 -0
  18. package/chunks/DropdownMobile.module-TkQoE9iE.js.map +1 -0
  19. package/chunks/Footer.module-C4IbSGY2.js +12 -0
  20. package/chunks/Footer.module-C4IbSGY2.js.map +1 -0
  21. package/chunks/{HeaderLayoutSidebar.module-CNgPkokh.js → HeaderLayoutSidebar.module-lDoPFfsH.js} +4 -4
  22. package/chunks/HeaderLayoutSidebar.module-lDoPFfsH.js.map +1 -0
  23. package/chunks/HeaderTabs.module-VdomyB_Y.js +12 -0
  24. package/chunks/HeaderTabs.module-VdomyB_Y.js.map +1 -0
  25. package/chunks/{HeaderTitle.module-CFABp2sW.js → HeaderTitle.module-C9E0q3CQ.js} +4 -4
  26. package/chunks/HeaderTitle.module-C9E0q3CQ.js.map +1 -0
  27. package/chunks/ImageGalleryExtendedMain.module-Cagrj_Nc.js +28 -0
  28. package/chunks/ImageGalleryExtendedMain.module-Cagrj_Nc.js.map +1 -0
  29. package/chunks/{ImageGalleryExtendedThumb-Bm2vFDwB.js → ImageGalleryExtendedThumb-CDVXTjWG.js} +5 -5
  30. package/chunks/{ImageGalleryExtendedThumb-Bm2vFDwB.js.map → ImageGalleryExtendedThumb-CDVXTjWG.js.map} +1 -1
  31. package/chunks/IslandAccordion.module-Dws2bgrw.js +44 -0
  32. package/chunks/IslandAccordion.module-Dws2bgrw.js.map +1 -0
  33. package/chunks/IslandWidgetFooter.module-CYjuqDDS.js +18 -0
  34. package/chunks/IslandWidgetFooter.module-CYjuqDDS.js.map +1 -0
  35. package/chunks/IslandWidgetHeader.module-B-ANb6Z4.js +28 -0
  36. package/chunks/IslandWidgetHeader.module-B-ANb6Z4.js.map +1 -0
  37. package/chunks/{LightBoxContent-b3ATzdz4.js → LightBoxContent-DVF6KT49.js} +16 -16
  38. package/chunks/{LightBoxContent-b3ATzdz4.js.map → LightBoxContent-DVF6KT49.js.map} +1 -1
  39. package/chunks/LightBoxControls.module-B5LZnYV0.js +26 -0
  40. package/chunks/LightBoxControls.module-B5LZnYV0.js.map +1 -0
  41. package/chunks/{LightBoxSideOverlayClose.module-rUoDHQx6.js → LightBoxSideOverlayClose.module-B0gINWmN.js} +4 -4
  42. package/chunks/LightBoxSideOverlayClose.module-B0gINWmN.js.map +1 -0
  43. package/chunks/{ListItemControlsButton-DATlwch8.js → ListItemControlsButton-DkpPeYFO.js} +9 -9
  44. package/chunks/{ListItemControlsButton-DATlwch8.js.map → ListItemControlsButton-DkpPeYFO.js.map} +1 -1
  45. package/chunks/ListItemTail.module-C6aqPWcB.js +18 -0
  46. package/chunks/ListItemTail.module-C6aqPWcB.js.map +1 -0
  47. package/chunks/ListMasterFooter.module-zjZkQ-qB.js +14 -0
  48. package/chunks/ListMasterFooter.module-zjZkQ-qB.js.map +1 -0
  49. package/chunks/ModalWindow.module-DdNfkkzZ.js +28 -0
  50. package/chunks/ModalWindow.module-DdNfkkzZ.js.map +1 -0
  51. package/chunks/Notification.module-DCYm_eyJ.js +34 -0
  52. package/chunks/Notification.module-DCYm_eyJ.js.map +1 -0
  53. package/chunks/Overlay.module-HJMjZts7.js +30 -0
  54. package/chunks/Overlay.module-HJMjZts7.js.map +1 -0
  55. package/chunks/Page.module-DEYdpdTe.js +17 -0
  56. package/chunks/Page.module-DEYdpdTe.js.map +1 -0
  57. package/chunks/SMSField.module-BxScHd0G.js +30 -0
  58. package/chunks/SMSField.module-BxScHd0G.js.map +1 -0
  59. package/chunks/SliderExtendedMarks.module-qzI-tGBX.js +24 -0
  60. package/chunks/SliderExtendedMarks.module-qzI-tGBX.js.map +1 -0
  61. package/chunks/{SliderExtendedRail-CQjM0BDm.js → SliderExtendedRail-Co04cta-.js} +5 -5
  62. package/chunks/{SliderExtendedRail-CQjM0BDm.js.map → SliderExtendedRail-Co04cta-.js.map} +1 -1
  63. package/chunks/StatusTracker.module-L20Tw6M8.js +44 -0
  64. package/chunks/StatusTracker.module-L20Tw6M8.js.map +1 -0
  65. package/chunks/{StepperStepArrowBorder-DDMmOSKy.js → StepperStepArrowBorder-B5HGnDby.js} +16 -16
  66. package/chunks/{StepperStepArrowBorder-DDMmOSKy.js.map → StepperStepArrowBorder-B5HGnDby.js.map} +1 -1
  67. package/chunks/{SuggestFieldMobileDropdownHint-BESIIDZs.js → SuggestFieldMobileDropdownHint-BeT6Ch46.js} +3 -3
  68. package/chunks/SuggestFieldMobileDropdownHint-BeT6Ch46.js.map +1 -0
  69. package/chunks/TableFooter.module-BivJuNYR.js +22 -0
  70. package/chunks/TableFooter.module-BivJuNYR.js.map +1 -0
  71. package/chunks/TabsExtended.module-Bv7Xqx7g.js +26 -0
  72. package/chunks/TabsExtended.module-Bv7Xqx7g.js.map +1 -0
  73. package/chunks/TabsLine.module-v6dP7lY_.js +36 -0
  74. package/chunks/TabsLine.module-v6dP7lY_.js.map +1 -0
  75. package/chunks/TooltipDesktop.module-Bg6ol2mk.js +32 -0
  76. package/chunks/TooltipDesktop.module-Bg6ol2mk.js.map +1 -0
  77. package/chunks/TreeView.module-BeU0CUun.js +12 -0
  78. package/chunks/TreeView.module-BeU0CUun.js.map +1 -0
  79. package/chunks/UploadZoneInput-85sqlQnz.js +53 -0
  80. package/chunks/UploadZoneInput-85sqlQnz.js.map +1 -0
  81. package/chunks/{constants-DUgeKsf9.js → constants-Cdrw5rn3.js} +27 -27
  82. package/chunks/{constants-DUgeKsf9.js.map → constants-Cdrw5rn3.js.map} +1 -1
  83. package/chunks/{utils-DhEse9-I.js → utils-BtxCEP1y.js} +6 -6
  84. package/chunks/{utils-DhEse9-I.js.map → utils-BtxCEP1y.js.map} +1 -1
  85. package/chunks/{utils-c0Fgm-SD.js → utils-DTHPgHei.js} +27 -27
  86. package/chunks/{utils-c0Fgm-SD.js.map → utils-DTHPgHei.js.map} +1 -1
  87. package/chunks/{utils-tt7vKg1E.js → utils-Dfb5lzLn.js} +11 -11
  88. package/chunks/{utils-tt7vKg1E.js.map → utils-Dfb5lzLn.js.map} +1 -1
  89. package/chunks/{utils-CvDoNsRH.js → utils-Xoc7ar3d.js} +10 -10
  90. package/chunks/{utils-CvDoNsRH.js.map → utils-Xoc7ar3d.js.map} +1 -1
  91. package/components/Alert/AlertContext/AlertContext.js +7 -7
  92. package/components/Alert/AlertProcess/AlertProcess.js +2 -2
  93. package/components/Alert/AlertProcess/components/AlertProcessSpoiler.js +1 -1
  94. package/components/Amount/Amount.js +2 -2
  95. package/components/AmountField/AmountField.js +8 -8
  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 +20 -20
  104. package/components/Button/ButtonBase.js +1 -1
  105. package/components/Button/ButtonDropdown.js +8 -8
  106. package/components/Button/ButtonDropdownExtended.js +2 -2
  107. package/components/Button/ButtonIcon.js +3 -3
  108. package/components/Calendar/Calendar.js +4 -4
  109. package/components/Calendar/components/CalendarControls.js +17 -2
  110. package/components/Calendar/components/CalendarControls.js.map +1 -1
  111. package/components/Calendar/components/CalendarFooter.js +1 -1
  112. package/components/Calendar/components/CalendarViewDays.js +1 -1
  113. package/components/Calendar/components/CalendarViewItem.js +1 -1
  114. package/components/Calendar/components/CalendarViewMonths.js +1 -1
  115. package/components/Calendar/components/CalendarViewYears.js +1 -1
  116. package/components/Card/CardAction.js +5 -5
  117. package/components/Card/CardStatic.js +2 -2
  118. package/components/Card/components/CardContent/CardContent.js +1 -1
  119. package/components/Card/components/CardContent/components/CardContentBody.js +1 -1
  120. package/components/Card/components/CardContent/components/CardContentFooter.js +1 -1
  121. package/components/Card/components/CardContent/components/CardContentHeader.js +1 -1
  122. package/components/Card/components/CardMedia.js +1 -1
  123. package/components/Card/utils.js +1 -1
  124. package/components/Carousel/Carousel.js +1 -1
  125. package/components/Carousel/CarouselButton.js +1 -1
  126. package/components/Carousel/CarouselIndicators.js +1 -1
  127. package/components/Carousel/CarouselItem.js +1 -1
  128. package/components/Carousel/CarouselTrack.js +1 -1
  129. package/components/Carousel/CarouselViewport.js +1 -1
  130. package/components/CarouselExtended/CarouselExtended.js +1 -1
  131. package/components/Checkbox/Checkbox.js +10 -10
  132. package/components/Checkbox/CheckboxXGroup.js +8 -8
  133. package/components/Checkbox/CheckboxYGroup.js +1 -1
  134. package/components/CheckboxTreeExtended/CheckboxTreeExtended.js +1 -1
  135. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedArrow.js +1 -1
  136. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedCheckbox.js +1 -1
  137. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedNode.js +1 -1
  138. package/components/Chip/Chip.js +1 -1
  139. package/components/Chip/ChipClearButton.js +1 -1
  140. package/components/Chip/ChipDatePicker/ChipDatePicker.js +1 -1
  141. package/components/Chip/ChipDatePicker/ChipDatePickerTarget.js +1 -1
  142. package/components/Chip/ChipDropdownArrow.js +2 -2
  143. package/components/Chip/ChipIcon.js +1 -1
  144. package/components/Chip/ChipMonthYearPicker/ChipMonthYearPicker.js +7 -3
  145. package/components/Chip/ChipMonthYearPicker/ChipMonthYearPicker.js.map +1 -1
  146. package/components/Chip/ChipMonthYearPicker/ChipMonthYearPickerTarget.js +1 -1
  147. package/components/Chip/ChipMultiselect.js +1 -1
  148. package/components/Chip/ChipOptions.js +2 -2
  149. package/components/Chip/ChipSelect/ChipSelect.js +1 -1
  150. package/components/Chip/ChipSelect/ChipSelectTarget.js +1 -1
  151. package/components/Chip/ChipSort.js +1 -1
  152. package/components/Chip/ChipSuggest/ChipSuggest.js +1 -1
  153. package/components/Chip/ChipSuggest/ChipSuggestDropdown.js +1 -1
  154. package/components/Chip/ChipSuggest/ChipSuggestTarget.js +1 -1
  155. package/components/Chip/ChipSuggest/desktop/ChipSuggestDesktopDropdownField.js +1 -1
  156. package/components/Chip/index.js +1 -1
  157. package/components/ChipGroup/ChipGroup.js +7 -7
  158. package/components/Col/Col.js +132 -132
  159. package/components/CollapsibleTree/CollapsibleTree.js +1 -1
  160. package/components/CollapsibleTree/components/CollapsibleTreeLeafContent.js +1 -1
  161. package/components/CollapsibleTree/components/CollapsibleTreeLeafNode.js +1 -1
  162. package/components/CollapsibleTree/components/CollapsibleTreeNodeHeader.js +4 -4
  163. package/components/CollapsibleTreeExtended/components/CollapsibleTreeExtendedNode.js +1 -1
  164. package/components/Confirm/Confirm.js +1 -1
  165. package/components/Confirm/components/ConfirmCloseButton.js +1 -1
  166. package/components/Confirm/components/ConfirmContent.js +1 -1
  167. package/components/Confirm/components/ConfirmContentTitle.js +1 -1
  168. package/components/Confirm/components/ConfirmControls.js +1 -1
  169. package/components/DateField/DateFieldTarget.js +4 -4
  170. package/components/DatePickerExtended/DatePickerExtended.js +2 -2
  171. package/components/DatePickerExtended/DatePickerExtendedDropdown.js +1 -1
  172. package/components/DateRange/DateRange.js +3 -3
  173. package/components/DesignTokens/DesignTokenUtils.js +1 -1
  174. package/components/Divider/Divider.js +17 -17
  175. package/components/DocumentNumberEdit/DocumentNumberEdit.js +3 -3
  176. package/components/Dropdown/desktop/DropdownDesktop.js +6 -6
  177. package/components/Dropdown/desktop/DropdownList.js +1 -1
  178. package/components/Dropdown/desktop/DropdownListItem.js +1 -1
  179. package/components/Dropdown/desktop/index.js +1 -1
  180. package/components/Dropdown/index.js +1 -1
  181. package/components/Dropdown/mobile/DropdownMobile.js +2 -2
  182. package/components/Dropdown/mobile/DropdownMobileBody.js +1 -1
  183. package/components/Dropdown/mobile/DropdownMobileClose.js +1 -1
  184. package/components/Dropdown/mobile/DropdownMobileFooter.js +1 -1
  185. package/components/Dropdown/mobile/DropdownMobileHeader.js +1 -1
  186. package/components/Dropdown/mobile/DropdownMobileInner.js +1 -1
  187. package/components/Dropdown/mobile/DropdownMobileInput.js +1 -1
  188. package/components/Dropdown/mobile/DropdownMobileList.js +1 -1
  189. package/components/Dropdown/mobile/DropdownMobileListItem.js +1 -1
  190. package/components/Dropdown/mobile/DropdownMobileLoader.js +1 -1
  191. package/components/Dropdown/mobile/DropdownMobileMaskedInput.js +1 -1
  192. package/components/Ellipsis/Ellipsis.js +3 -3
  193. package/components/EmptyView/EmptyView.js +4 -4
  194. package/components/ExpandAnimation/ExpandAnimation.js +1 -1
  195. package/components/Footer/Footer.js +1 -1
  196. package/components/Footer/components/FooterDescription.js +1 -1
  197. package/components/Footer/components/FooterDescriptionContent.js +1 -1
  198. package/components/Footer/components/FooterDescriptionControls.js +1 -1
  199. package/components/FormField/FormField.js +17 -12
  200. package/components/FormField/FormField.js.map +1 -1
  201. package/components/FormField/components/FormFieldClear.js +1 -1
  202. package/components/FormField/components/FormFieldCounter.js +1 -1
  203. package/components/FormField/components/FormFieldDescription.js +2 -2
  204. package/components/FormField/components/FormFieldInput.js +4 -4
  205. package/components/FormField/components/FormFieldLabel.js +7 -7
  206. package/components/FormField/components/FormFieldMaskedInput.js +8 -8
  207. package/components/FormField/components/FormFieldPostfix.js +1 -1
  208. package/components/FormField/components/FormFieldPrefix.js +1 -1
  209. package/components/FormField/components/FormFieldTarget.js +8 -8
  210. package/components/FormField/components/FormFieldTextarea.js +4 -4
  211. package/components/Gap/Gap.js +8 -8
  212. package/components/Header/Header.js +1 -1
  213. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebar.js +1 -1
  214. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarContent.js +1 -1
  215. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarSidebar.js +1 -1
  216. package/components/Header/components/HeaderSubheader/HeaderSubheader.js +2 -2
  217. package/components/Header/components/HeaderTabs/HeaderTabs.js +1 -1
  218. package/components/Header/components/HeaderTabs/HeaderTabsContent.js +1 -1
  219. package/components/Header/components/HeaderTabs/HeaderTabsControls.js +1 -1
  220. package/components/Header/components/HeaderTitle/HeaderTitle.js +1 -1
  221. package/components/Header/components/HeaderTitle/HeaderTitleContent.js +1 -1
  222. package/components/Header/components/HeaderTitle/HeaderTitleControls.js +1 -1
  223. package/components/HelpBox/HelpBox.js +1 -1
  224. package/components/IconWrapper/IconWrapper.js +2 -2
  225. package/components/ImageGallery/ImageGallery.js +1 -1
  226. package/components/ImageGalleryExtended/ImageGalleryExtended.js +2 -2
  227. package/components/ImageGalleryExtended/components/ImageGalleryExtendedArrow.js +1 -1
  228. package/components/ImageGalleryExtended/components/ImageGalleryExtendedDots.js +3 -3
  229. package/components/ImageGalleryExtended/components/ImageGalleryExtendedMain.js +1 -1
  230. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSlide.js +1 -1
  231. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSwipeTrack.js +1 -1
  232. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumb.js +1 -1
  233. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumbnails.js +1 -1
  234. package/components/ImageGalleryExtended/components/index.js +1 -1
  235. package/components/ImageGalleryExtended/index.js +1 -1
  236. package/components/Island/Island.js +1 -1
  237. package/components/Island/components/IslandBody.js +1 -1
  238. package/components/Island/components/IslandFooter.js +1 -1
  239. package/components/Island/components/IslandHeader.js +1 -1
  240. package/components/Island/utils.js +1 -1
  241. package/components/IslandAccordion/IslandAccordion.js +2 -2
  242. package/components/IslandAccordion/components/IslandAccordionContent.js +1 -1
  243. package/components/IslandAccordion/components/IslandAccordionFooter.js +1 -1
  244. package/components/IslandAccordion/components/IslandAccordionItem.js +2 -2
  245. package/components/IslandWidget/IslandWidget.js +3 -3
  246. package/components/IslandWidget/components/IslandWidgetBody.js +4 -4
  247. package/components/IslandWidget/components/IslandWidgetExtraFooter.js +1 -1
  248. package/components/IslandWidget/components/IslandWidgetFooter.js +1 -1
  249. package/components/IslandWidget/components/IslandWidgetFooterContent.js +1 -1
  250. package/components/IslandWidget/components/IslandWidgetFooterControls.js +1 -1
  251. package/components/IslandWidget/components/IslandWidgetHeader.js +1 -1
  252. package/components/IslandWidget/components/IslandWidgetHeaderControls.js +1 -1
  253. package/components/IslandWidget/components/IslandWidgetHeaderDescription.js +1 -1
  254. package/components/IslandWidget/components/IslandWidgetHeaderTitle.js +1 -1
  255. package/components/IslandWidget/components/IslandWidgetWrapper.js +1 -1
  256. package/components/LightBox/LightBox.js +5 -5
  257. package/components/LightBox/LightBoxContent.js +1 -1
  258. package/components/LightBox/LightBoxControls/LightBoxArrow.js +1 -1
  259. package/components/LightBox/LightBoxControls/LightBoxClose.js +1 -1
  260. package/components/LightBox/LightBoxControls/LightBoxControls.js +1 -1
  261. package/components/LightBox/LightBoxControls/LightBoxNext.js +1 -1
  262. package/components/LightBox/LightBoxControls/LightBoxPrev.js +1 -1
  263. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js +12 -12
  264. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseDesktop.js +1 -1
  265. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseMobile.js +1 -1
  266. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js +1 -1
  267. package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js +3 -3
  268. package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js +3 -3
  269. package/components/Link/Link.js +5 -5
  270. package/components/List/List.js +3 -3
  271. package/components/List/components/ListActionItem.js +1 -1
  272. package/components/List/components/ListEmptyState.js +1 -1
  273. package/components/List/components/ListItem.js +1 -1
  274. package/components/List/components/ListItemContent.js +4 -4
  275. package/components/List/components/ListItemControls.js +1 -1
  276. package/components/List/components/ListItemControlsButton.js +1 -1
  277. package/components/List/components/ListItemControlsButtonDropdown.js +1 -1
  278. package/components/List/components/ListItemLoading.js +1 -1
  279. package/components/List/components/ListItemSelectable.js +6 -6
  280. package/components/List/components/ListItemTailLeft.js +1 -1
  281. package/components/List/components/ListItemTailRight.js +1 -1
  282. package/components/List/components/ListSortableItem.js +2 -2
  283. package/components/List/components/ListSortableItemControls.js +1 -1
  284. package/components/List/components/ListSortableItemTarget.js +4 -4
  285. package/components/List/components/ListTableItem.js +3 -3
  286. package/components/List/index.js +1 -1
  287. package/components/ListMaster/ListMaster.js +1 -1
  288. package/components/ListMaster/components/ListMasterBody.js +1 -1
  289. package/components/ListMaster/components/ListMasterChipGroup.js +1 -1
  290. package/components/ListMaster/components/ListMasterFooter.js +1 -1
  291. package/components/ListMaster/components/ListMasterFooterControls.js +1 -1
  292. package/components/ListMaster/components/ListMasterFooterDescription.js +1 -1
  293. package/components/ListMaster/components/ListMasterHeader.js +2 -2
  294. package/components/ListMaster/components/SelectionControls.js +2 -2
  295. package/components/Loader/LoaderMiddle/LoaderMiddle.js +8 -8
  296. package/components/Loader/LoaderSmall/LoaderSmall.js +10 -10
  297. package/components/LoaderScreen/LoaderScreen.js +5 -5
  298. package/components/Marker/Marker.js +1 -1
  299. package/components/Marker/utils.js +1 -1
  300. package/components/MarkerStatus/MarkerStatus.js +7 -7
  301. package/components/ModalWindow/ModalWindow.js +1 -1
  302. package/components/ModalWindow/components/ModalWindowBody.js +1 -1
  303. package/components/ModalWindow/components/ModalWindowClose.js +1 -1
  304. package/components/ModalWindow/components/ModalWindowContent.js +1 -1
  305. package/components/ModalWindow/components/ModalWindowHeader.js +1 -1
  306. package/components/ModalWindow/components/ModalWindowViewManager.js +1 -1
  307. package/components/MonthYearField/MonthYearField.js +6 -4
  308. package/components/MonthYearField/MonthYearField.js.map +1 -1
  309. package/components/MonthYearField/MonthYearFieldTarget.js +4 -4
  310. package/components/MonthYearRange/MonthYearRange.js +3 -3
  311. package/components/MultiselectField/components/MultiselectFieldDropdown.js +1 -1
  312. package/components/MultiselectField/components/MultiselectFieldDropdownContent.js +5 -5
  313. package/components/MultiselectField/components/MultiselectFieldDropdownFooter.js +1 -1
  314. package/components/MultiselectField/components/MultiselectFieldDropdownHeader.js +1 -1
  315. package/components/Notification/Notification.js +2 -2
  316. package/components/Notification/NotificationGrouped.js +1 -1
  317. package/components/Notification/components/NotificationBody.js +1 -1
  318. package/components/Notification/components/NotificationBodyList.js +1 -1
  319. package/components/Notification/components/NotificationClose.js +1 -1
  320. package/components/Notification/components/NotificationFooter.js +1 -1
  321. package/components/Notification/components/NotificationGroupedFooter.js +1 -1
  322. package/components/Notification/components/NotificationHeader.js +1 -1
  323. package/components/Notification/components/NotificationIcon.js +1 -1
  324. package/components/Notification/components/NotificationTime.js +1 -1
  325. package/components/OrderedList/OrderedList.js +2 -2
  326. package/components/OrderedList/OrderedListItem.js +2 -2
  327. package/components/Overlay/Overlay.js +1 -1
  328. package/components/Overlay/OverlayMask.js +1 -1
  329. package/components/Overlay/OverlayPanel.js +1 -1
  330. package/components/Page/Page.js +1 -1
  331. package/components/Page/components/BodyPage.js +7 -7
  332. package/components/Page/components/FooterPage.js +1 -1
  333. package/components/Page/components/HeaderPage.js +1 -1
  334. package/components/Pagination/components/PaginationExtended.js +2 -2
  335. package/components/Pagination/components/PaginationNavigationButton.js +2 -2
  336. package/components/Pagination/components/PaginationNavigationExtended.js +1 -1
  337. package/components/Pagination/components/PaginationPageButton.js +2 -2
  338. package/components/Pagination/components/PaginationPageEllipsis.js +1 -1
  339. package/components/Pagination/components/PaginationSelect.js +2 -2
  340. package/components/Radio/Radio.js +9 -9
  341. package/components/Radio/RadioXGroup.js +8 -8
  342. package/components/Radio/RadioYGroup.js +1 -1
  343. package/components/Row/Row.js +4 -4
  344. package/components/SMSField/SMSField.js +2 -2
  345. package/components/SMSField/components/RefreshIcon.js +1 -1
  346. package/components/SMSField/components/SMSFieldInput.js +1 -1
  347. package/components/SMSField/components/SMSFieldRefresh.js +1 -1
  348. package/components/SMSField/components/SMSFieldSubmit.js +1 -1
  349. package/components/SegmentedControl/SegmentedControl.js +9 -9
  350. package/components/SegmentedControl/SegmentedControlSegment.js +3 -3
  351. package/components/SelectExtendedField/SelectExtendedField.js +1 -1
  352. package/components/SelectExtendedField/components/SelectExtendedFieldDropdown.js +1 -1
  353. package/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js +1 -1
  354. package/components/SelectExtendedField/components/SelectExtendedFieldTarget.js +7 -7
  355. package/components/SelectField/SelectField.js +1 -1
  356. package/components/Skeleton/Skeleton.js +5 -5
  357. package/components/SliderExtended/SliderExtended.js +2 -2
  358. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js +5 -5
  359. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMark.js +1 -1
  360. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarks.js +1 -1
  361. package/components/SliderExtended/components/SliderExtendedRail.js +1 -1
  362. package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js +4 -4
  363. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js +6 -6
  364. package/components/SmallInput/SmallInput.js +1 -1
  365. package/components/Spoiler/Spoiler.js +10 -10
  366. package/components/StatusTracker/StatusTracker.js +2 -2
  367. package/components/StatusTracker/StatusTracker.js.map +1 -1
  368. package/components/StatusTracker/components/StatusTrackerAlert.js +6 -5
  369. package/components/StatusTracker/components/StatusTrackerAlert.js.map +1 -1
  370. package/components/StatusTracker/components/StatusTrackerBody.js +1 -1
  371. package/components/StatusTracker/components/StatusTrackerBody.js.map +1 -1
  372. package/components/StatusTracker/components/StatusTrackerButton.js +7 -2
  373. package/components/StatusTracker/components/StatusTrackerButton.js.map +1 -1
  374. package/components/StatusTracker/components/StatusTrackerDescription.js +18 -14
  375. package/components/StatusTracker/components/StatusTrackerDescription.js.map +1 -1
  376. package/components/StatusTracker/components/StatusTrackerFooter.js +1 -1
  377. package/components/StatusTracker/components/StatusTrackerFooter.js.map +1 -1
  378. package/components/StatusTracker/components/StatusTrackerHeader.js +1 -1
  379. package/components/StatusTracker/components/StatusTrackerHeader.js.map +1 -1
  380. package/components/StatusTracker/components/StatusTrackerMedia.js +6 -5
  381. package/components/StatusTracker/components/StatusTrackerMedia.js.map +1 -1
  382. package/components/StatusTracker/components/StatusTrackerStatus.js +6 -5
  383. package/components/StatusTracker/components/StatusTrackerStatus.js.map +1 -1
  384. package/components/StatusTracker/components/StatusTrackerStatusGroup.js +4 -2
  385. package/components/StatusTracker/components/StatusTrackerStatusGroup.js.map +1 -1
  386. package/components/StatusTracker/components/StatusTrackerSum.js +6 -4
  387. package/components/StatusTracker/components/StatusTrackerSum.js.map +1 -1
  388. package/components/StatusTracker/components/StatusTrackerTitle.js +6 -4
  389. package/components/StatusTracker/components/StatusTrackerTitle.js.map +1 -1
  390. package/components/Step/Step.js +10 -10
  391. package/components/Stepper/Stepper.js +92 -99
  392. package/components/Stepper/Stepper.js.map +1 -1
  393. package/components/Stepper/StepperExtended.js +40 -19
  394. package/components/Stepper/StepperExtended.js.map +1 -1
  395. package/components/Stepper/StepperExtendedContext.js +1 -1
  396. package/components/Stepper/StepperExtendedContext.js.map +1 -1
  397. package/components/Stepper/StepperStep.js +2 -2
  398. package/components/Stepper/StepperStepArrowBorder.js +1 -1
  399. package/components/Suggest/SuggestMobileDropdownContent.js +3 -3
  400. package/components/SuggestField/SuggestField.js +1 -1
  401. package/components/SuggestField/desktop/SuggestFieldDesktop.js +18 -28
  402. package/components/SuggestField/desktop/SuggestFieldDesktop.js.map +1 -1
  403. package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js +4 -4
  404. package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js.map +1 -1
  405. package/components/SuggestField/index.js +1 -1
  406. package/components/SuggestField/mobile/SuggestFieldMobile.js +3 -3
  407. package/components/SuggestField/mobile/SuggestFieldMobile.js.map +1 -1
  408. package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js +3 -4
  409. package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js.map +1 -1
  410. package/components/SuggestField/mobile/SuggestFieldMobileDropdownHint.js +1 -1
  411. package/components/SuggestField/mobile/index.js +1 -1
  412. package/components/SwipeableArea/SwipeableArea.js +8 -8
  413. package/components/Table/ChipPanel.js +1 -1
  414. package/components/Table/ChipPanelLinks.js +1 -1
  415. package/components/Table/FilterPanel.js +2 -2
  416. package/components/Table/MasterTable.js +2 -2
  417. package/components/Table/NoColumns.js +2 -2
  418. package/components/Table/PaginationPanel.js +2 -2
  419. package/components/Table/TableBasic/TableBasic.js +1 -1
  420. package/components/Table/TableBasic/components/TableBasicBody.js +1 -1
  421. package/components/Table/TableBasic/components/TableBasicHeader.js +1 -1
  422. package/components/Table/TableBasic/components/TableBasicRow.js +1 -1
  423. package/components/Table/TableBasicSettings/TableBasicSettings.js +2 -2
  424. package/components/Table/TableBasicSettings/components/ColumnSettingsSortableListItemTarget.js +2 -2
  425. package/components/Table/TableBasicSettings/components/ColumnSettingsStaticListItem.js +1 -1
  426. package/components/Table/TableBasicSettings/components/TableBasicSettingsBody.js +1 -1
  427. package/components/Table/TableBasicSettings/components/TableBasicSettingsFooter.js +1 -1
  428. package/components/Table/TableBasicSettings/components/TableBasicSettingsHeader.js +1 -1
  429. package/components/Table/TableFooter/TableFooter.js +1 -1
  430. package/components/Table/TableFooter/components/TableFooterSummary.js +1 -1
  431. package/components/Table/TableFooter/components/TableFooterSummaryAmount.js +1 -1
  432. package/components/Table/TableFooter/components/TableFooterSummarySelectAllButton.js +1 -1
  433. package/components/Table/TableFooter/components/TableFooterSummarySelectedCount.js +1 -1
  434. package/components/Table/utils.js +1 -1
  435. package/components/Tabs/Tabs.js +114 -96
  436. package/components/Tabs/Tabs.js.map +1 -1
  437. package/components/TabsExtended/TabsExtended.js +2 -2
  438. package/components/TabsExtended/components/TabsExtendedContent.js +1 -1
  439. package/components/TabsExtended/components/TabsExtendedDropdownWrapper.js +1 -1
  440. package/components/TabsExtended/components/TabsExtendedTab.js +1 -1
  441. package/components/TabsExtended/components/TabsExtendedTabButton.js +1 -1
  442. package/components/TabsExtended/components/TabsExtendedTabsWrapper.js +1 -1
  443. package/components/TabsExtended/utils.js +1 -1
  444. package/components/TabsLine/TabsLine.js +1 -1
  445. package/components/TabsLine/components/TabsLineDesktop.js +1 -1
  446. package/components/TabsLine/components/TabsLineDropdown.js +2 -2
  447. package/components/TabsLine/components/TabsLineItem.js +1 -1
  448. package/components/TabsLine/components/TabsLineMobile.js +2 -2
  449. package/components/Tag/Tag.js +5 -5
  450. package/components/TagColor/TagColor.js +10 -10
  451. package/components/TagColor/TagColor.js.map +1 -1
  452. package/components/TagColor/enums.js.map +1 -1
  453. package/components/TagGroup/TagGroup.js +7 -6
  454. package/components/TagGroup/TagGroup.js.map +1 -1
  455. package/components/Tooltip/components/common/TooltipBody.js +1 -1
  456. package/components/Tooltip/components/common/TooltipLink.js +4 -4
  457. package/components/Tooltip/components/common/TooltipXButton.js +1 -1
  458. package/components/Tooltip/components/desktop/components/TooltipDesktopBase.js +1 -1
  459. package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js +1 -1
  460. package/components/Tooltip/components/mobile/TooltipMobile.js +4 -4
  461. package/components/TopOverlay/TopOverlay.js +6 -6
  462. package/components/TreeView/TreeView.js +1 -1
  463. package/components/TreeView/components/TreeViewGroup.js +1 -1
  464. package/components/TreeView/components/TreeViewNode.js +1 -1
  465. package/components/Typography/Caption.js +7 -7
  466. package/components/Typography/CodeText.js +2 -2
  467. package/components/Typography/Text.js +9 -9
  468. package/components/Typography/Title.js +9 -9
  469. package/components/Typography/constants.js +1 -1
  470. package/components/UnorderedListExtended/UnorderedListExtended.js +2 -2
  471. package/components/UnorderedListExtended/UnorderedListExtendedItem.js +2 -2
  472. package/components/UnorderedListExtended/UnorderedListExtendedItemMarker.js +3 -3
  473. package/components/UploadZone/UploadZone.js +43 -67
  474. package/components/UploadZone/UploadZone.js.map +1 -1
  475. package/components/UploadZone/UploadZoneContext.js +1 -1
  476. package/components/UploadZone/UploadZoneContext.js.map +1 -1
  477. package/components/UploadZone/components/UploadZoneInput.js +3 -2
  478. package/components/UploadZone/components/UploadZoneInput.js.map +1 -1
  479. package/components/UploadZone/index.js +1 -1
  480. package/components/index.js +6 -6
  481. package/index.d.ts +124 -50
  482. package/index.js +6 -6
  483. package/package.json +1 -1
  484. package/styles/triplex-next.css +3025 -3018
  485. package/chunks/Card.module-BX03G_qX.js +0 -32
  486. package/chunks/Card.module-BX03G_qX.js.map +0 -1
  487. package/chunks/Carousel.module-Doem7_zb.js +0 -30
  488. package/chunks/Carousel.module-Doem7_zb.js.map +0 -1
  489. package/chunks/CheckboxTreeExtended.module-Bn7_t4on.js +0 -24
  490. package/chunks/CheckboxTreeExtended.module-Bn7_t4on.js.map +0 -1
  491. package/chunks/Confirm.module-Cu7K98Sg.js +0 -24
  492. package/chunks/Confirm.module-Cu7K98Sg.js.map +0 -1
  493. package/chunks/DropdownMobile.module-DnkRPsic.js +0 -40
  494. package/chunks/DropdownMobile.module-DnkRPsic.js.map +0 -1
  495. package/chunks/Footer.module-_S9ZcA7b.js +0 -12
  496. package/chunks/Footer.module-_S9ZcA7b.js.map +0 -1
  497. package/chunks/HeaderLayoutSidebar.module-CNgPkokh.js.map +0 -1
  498. package/chunks/HeaderTabs.module-2XAHGidd.js +0 -12
  499. package/chunks/HeaderTabs.module-2XAHGidd.js.map +0 -1
  500. package/chunks/HeaderTitle.module-CFABp2sW.js.map +0 -1
  501. package/chunks/ImageGalleryExtendedMain.module-DfFkrw4n.js +0 -28
  502. package/chunks/ImageGalleryExtendedMain.module-DfFkrw4n.js.map +0 -1
  503. package/chunks/IslandAccordion.module-CARpAvhk.js +0 -44
  504. package/chunks/IslandAccordion.module-CARpAvhk.js.map +0 -1
  505. package/chunks/IslandWidgetFooter.module-E0IBRK6A.js +0 -18
  506. package/chunks/IslandWidgetFooter.module-E0IBRK6A.js.map +0 -1
  507. package/chunks/IslandWidgetHeader.module-DgysHiDv.js +0 -28
  508. package/chunks/IslandWidgetHeader.module-DgysHiDv.js.map +0 -1
  509. package/chunks/LightBoxControls.module-CFiw2WEe.js +0 -26
  510. package/chunks/LightBoxControls.module-CFiw2WEe.js.map +0 -1
  511. package/chunks/LightBoxSideOverlayClose.module-rUoDHQx6.js.map +0 -1
  512. package/chunks/ListItemTail.module-DEbIYD0x.js +0 -18
  513. package/chunks/ListItemTail.module-DEbIYD0x.js.map +0 -1
  514. package/chunks/ListMasterFooter.module-Dw_g_Hqv.js +0 -14
  515. package/chunks/ListMasterFooter.module-Dw_g_Hqv.js.map +0 -1
  516. package/chunks/ModalWindow.module-BIeL2Dm9.js +0 -28
  517. package/chunks/ModalWindow.module-BIeL2Dm9.js.map +0 -1
  518. package/chunks/Notification.module-CAVClo9k.js +0 -34
  519. package/chunks/Notification.module-CAVClo9k.js.map +0 -1
  520. package/chunks/Overlay.module-dRFf4RgK.js +0 -30
  521. package/chunks/Overlay.module-dRFf4RgK.js.map +0 -1
  522. package/chunks/Page.module-Bq4qHw4a.js +0 -17
  523. package/chunks/Page.module-Bq4qHw4a.js.map +0 -1
  524. package/chunks/SMSField.module-BFaDeCmy.js +0 -30
  525. package/chunks/SMSField.module-BFaDeCmy.js.map +0 -1
  526. package/chunks/SliderExtendedMarks.module-I5oq_ntW.js +0 -24
  527. package/chunks/SliderExtendedMarks.module-I5oq_ntW.js.map +0 -1
  528. package/chunks/StatusTracker.module-CLL7XYcX.js +0 -44
  529. package/chunks/StatusTracker.module-CLL7XYcX.js.map +0 -1
  530. package/chunks/SuggestFieldMobileDropdownHint-BESIIDZs.js.map +0 -1
  531. package/chunks/TableFooter.module-DyFW1z3j.js +0 -22
  532. package/chunks/TableFooter.module-DyFW1z3j.js.map +0 -1
  533. package/chunks/TabsExtended.module-DPptPKmZ.js +0 -26
  534. package/chunks/TabsExtended.module-DPptPKmZ.js.map +0 -1
  535. package/chunks/TabsLine.module-BOD6aGpU.js +0 -36
  536. package/chunks/TabsLine.module-BOD6aGpU.js.map +0 -1
  537. package/chunks/TooltipDesktop.module-_lk-8WZV.js +0 -32
  538. package/chunks/TooltipDesktop.module-_lk-8WZV.js.map +0 -1
  539. package/chunks/TreeView.module-mCVJ7u_z.js +0 -12
  540. package/chunks/TreeView.module-mCVJ7u_z.js.map +0 -1
  541. package/chunks/UploadZoneInput-1DuaS4IR.js +0 -40
  542. package/chunks/UploadZoneInput-1DuaS4IR.js.map +0 -1
@@ -2,7 +2,7 @@ import "./enums.js";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { useState, useRef, useCallback, useEffect } from "react";
4
4
  import { c as clsx } from "../../chunks/vendor-CUIykw0y.js";
5
- import { CaretleftStrokeSrvIcon24, CaretrightStrokeSrvIcon24 } from "@sberbusiness/icons-next";
5
+ import { CaretrightStrokeSrvIcon24, CaretleftStrokeSrvIcon24 } from "@sberbusiness/icons-next";
6
6
  import { CarouselExtended } from "../CarouselExtended/CarouselExtended.js";
7
7
  import { ButtonIcon } from "../Button/ButtonIcon.js";
8
8
  import { StepperExtended } from "./StepperExtended.js";
@@ -12,14 +12,14 @@ import { scrollSmoothHorizontally } from "../../utils/scroll.js";
12
12
  import { EComponentSize } from "../../enums/EComponentSize.js";
13
13
  import { EScreenWidth } from "../../helpers/breakpoints.js";
14
14
  import "./StepperStepIcon.js";
15
- const stepperCarousel = "stepperCarousel__ad5c84fb";
16
- const stepperButtonWrapper = "stepperButtonWrapper__c26b1578";
17
- const prev = "prev__54b85b56";
18
- const next = "next__5d3bf8f8";
19
- const stepperButton = "stepperButton__4535fa8c";
20
- const sm = "sm__763b7b6a";
21
- const md = "md__aafb0e61";
22
- const lg = "lg__51789702";
15
+ const stepperCarousel = "stepperCarousel__be16f637";
16
+ const stepperButtonWrapper = "stepperButtonWrapper__a35be5c4";
17
+ const prev = "prev__7cd3ec52";
18
+ const next = "next__00d715cc";
19
+ const stepperButton = "stepperButton__1ba8a34e";
20
+ const sm = "sm__fa9ababe";
21
+ const md = "md__1f497eba";
22
+ const lg = "lg__3a3ce190";
23
23
  const styles = {
24
24
  stepperCarousel,
25
25
  stepperButtonWrapper,
@@ -32,39 +32,74 @@ const styles = {
32
32
  };
33
33
  const sizeToClassNameMap = createSizeToClassNameMap(styles);
34
34
  const SCROLL_STEP_RATIO = 0.3;
35
+ const DIRECTION_TO_CLASS_NAME_MAP = {
36
+ prev: styles.prev,
37
+ next: styles.next
38
+ };
39
+ const DIRECTION_TO_ICON_MAP = {
40
+ prev: /* @__PURE__ */ jsx(CaretleftStrokeSrvIcon24, { paletteIndex: 5 }),
41
+ next: /* @__PURE__ */ jsx(CaretrightStrokeSrvIcon24, { paletteIndex: 5 })
42
+ };
43
+ const StepperScrollButton = ({ direction, size, hidden, ...restButtonProps }) => hidden ? null : /* @__PURE__ */ jsx("div", { className: clsx(styles.stepperButtonWrapper, DIRECTION_TO_CLASS_NAME_MAP[direction]), children: /* @__PURE__ */ jsx(
44
+ ButtonIcon,
45
+ {
46
+ className: clsx(styles.stepperButton, sizeToClassNameMap[size]),
47
+ tabIndex: -1,
48
+ ...restButtonProps,
49
+ children: DIRECTION_TO_ICON_MAP[direction]
50
+ }
51
+ ) });
52
+ const alignStepRight = (carousel, step, delta, stepRight) => {
53
+ if (delta <= 0) {
54
+ return;
55
+ }
56
+ const nextStep = step.nextElementSibling;
57
+ const scrollAmount = nextStep ? delta - (stepRight - nextStep.getBoundingClientRect().right) : delta;
58
+ scrollSmoothHorizontally(carousel, Math.ceil(scrollAmount));
59
+ };
60
+ const alignStepLeft = (carousel, step, delta, stepLeft) => {
61
+ if (delta >= 0) {
62
+ return;
63
+ }
64
+ const prevStep = step.previousElementSibling;
65
+ const scrollAmount = prevStep ? delta - (stepLeft - prevStep.getBoundingClientRect().left) : delta;
66
+ scrollSmoothHorizontally(carousel, Math.floor(scrollAmount));
67
+ };
68
+ const alignStepCenter = (carousel, delta) => {
69
+ if (delta) {
70
+ scrollSmoothHorizontally(carousel, delta);
71
+ }
72
+ };
73
+ const alignStep = (carousel, step) => {
74
+ const { left: carouselLeft, right: carouselRight, width: carouselWidth } = carousel.getBoundingClientRect();
75
+ const { left: stepLeft, right: stepRight, width: stepWidth } = step.getBoundingClientRect();
76
+ const carouselCenter = carouselLeft + carouselWidth / 2;
77
+ const stepCenter = stepLeft + stepWidth / 2;
78
+ if (window.matchMedia(`(max-width: ${EScreenWidth.SM_MAX})`).matches) {
79
+ alignStepCenter(carousel, stepCenter - carouselCenter);
80
+ } else if (carouselCenter > stepCenter) {
81
+ alignStepLeft(carousel, step, stepLeft - carouselLeft, stepLeft);
82
+ } else if (carouselCenter < stepCenter) {
83
+ alignStepRight(carousel, step, stepRight - carouselRight, stepRight);
84
+ }
85
+ };
35
86
  const Stepper = ({
36
87
  className,
37
88
  steps,
38
- size = EComponentSize.LG,
89
+ size = EComponentSize.MD,
39
90
  selectedStepId,
40
91
  ...restProps
41
92
  }) => {
42
- const [state, setState] = useState({ stepNext: 0, stepPrev: 0 });
93
+ const [scrollStep, setScrollStep] = useState(0);
43
94
  const carouselRef = useRef(null);
44
95
  const stepRefs = useRef({});
45
96
  const selectedIndex = steps.findIndex((step) => step.id === selectedStepId);
46
97
  const renderPrevButton = useCallback(
47
- ({ hidden, ...restButtonProps }) => hidden ? null : /* @__PURE__ */ jsx("div", { className: clsx(styles.stepperButtonWrapper, styles.prev), children: /* @__PURE__ */ jsx(
48
- ButtonIcon,
49
- {
50
- className: clsx(styles.stepperButton, sizeToClassNameMap[size]),
51
- tabIndex: -1,
52
- ...restButtonProps,
53
- children: /* @__PURE__ */ jsx(CaretleftStrokeSrvIcon24, { paletteIndex: 5 })
54
- }
55
- ) }),
98
+ (buttonProps) => /* @__PURE__ */ jsx(StepperScrollButton, { ...buttonProps, direction: "prev", size }),
56
99
  [size]
57
100
  );
58
101
  const renderNextButton = useCallback(
59
- ({ hidden, ...restButtonProps }) => hidden ? null : /* @__PURE__ */ jsx("div", { className: clsx(styles.stepperButtonWrapper, styles.next), children: /* @__PURE__ */ jsx(
60
- ButtonIcon,
61
- {
62
- className: clsx(styles.stepperButton, sizeToClassNameMap[size]),
63
- tabIndex: -1,
64
- ...restButtonProps,
65
- children: /* @__PURE__ */ jsx(CaretrightStrokeSrvIcon24, { paletteIndex: 5 })
66
- }
67
- ) }),
102
+ (buttonProps) => /* @__PURE__ */ jsx(StepperScrollButton, { ...buttonProps, direction: "next", size }),
68
103
  [size]
69
104
  );
70
105
  useEffect(() => {
@@ -73,91 +108,49 @@ const Stepper = ({
73
108
  return;
74
109
  }
75
110
  const resizeObserver = new ResizeObserver((entries) => {
76
- const width = entries[0].contentRect.width;
77
- const scrollStep = width * SCROLL_STEP_RATIO;
78
- setState({
79
- stepNext: scrollStep,
80
- stepPrev: scrollStep
81
- });
111
+ setScrollStep(entries[0].contentRect.width * SCROLL_STEP_RATIO);
82
112
  });
83
113
  resizeObserver.observe(carouselNode);
84
114
  return () => {
85
115
  resizeObserver.disconnect();
86
116
  };
87
117
  }, []);
88
- const alignStepRight = useCallback(
89
- (carousel, step, delta, stepRight) => {
90
- if (delta > 0) {
91
- if (step.nextElementSibling) {
92
- delta -= stepRight - step.nextElementSibling.getBoundingClientRect().right;
93
- }
94
- scrollSmoothHorizontally(carousel, Math.ceil(delta));
95
- }
96
- },
97
- []
98
- );
99
- const alignStepLeft = useCallback(
100
- (carousel, step, delta, stepLeft) => {
101
- if (delta < 0) {
102
- if (step.previousElementSibling) {
103
- delta -= stepLeft - step.previousElementSibling.getBoundingClientRect().left;
104
- }
105
- scrollSmoothHorizontally(carousel, Math.floor(delta));
106
- }
107
- },
108
- []
109
- );
110
- const alignStepCenter = useCallback((carousel, delta) => {
111
- if (delta) {
112
- scrollSmoothHorizontally(carousel, delta);
113
- }
114
- }, []);
115
- const alignStep = useCallback(
116
- (carousel, step) => {
117
- const { left: carouselLeft, right: carouselRight, width: carouselWidth } = carousel.getBoundingClientRect();
118
- const { left: stepLeft, right: stepRight, width: stepWidth } = step.getBoundingClientRect();
119
- const carouselCenter = carouselLeft + carouselWidth / 2;
120
- const stepCenter = stepLeft + stepWidth / 2;
121
- if (window.matchMedia(`(max-width: ${EScreenWidth.SM_MAX})`).matches) {
122
- alignStepCenter(carousel, stepCenter - carouselCenter);
123
- } else if (carouselCenter > stepCenter) {
124
- alignStepLeft(carousel, step, stepLeft - carouselLeft, stepLeft);
125
- } else if (carouselCenter < stepCenter) {
126
- alignStepRight(carousel, step, stepRight - carouselRight, stepRight);
127
- }
128
- },
129
- [alignStepCenter, alignStepLeft, alignStepRight]
130
- );
131
118
  useEffect(() => {
132
- if (selectedStepId) {
133
- const { current: carousel } = carouselRef;
134
- const step = stepRefs.current[selectedStepId];
135
- if (carousel && step) {
136
- alignStep(carousel, step);
137
- }
119
+ if (!selectedStepId) {
120
+ return;
121
+ }
122
+ const carousel = carouselRef.current;
123
+ const step = stepRefs.current[selectedStepId];
124
+ if (carousel && step) {
125
+ alignStep(carousel, step);
126
+ }
127
+ }, [selectedStepId]);
128
+ const setStepRef = (id) => (instance) => {
129
+ if (instance === null) {
130
+ delete stepRefs.current[id];
131
+ } else {
132
+ stepRefs.current[id] = instance;
138
133
  }
139
- }, [selectedStepId, alignStep]);
134
+ };
140
135
  return /* @__PURE__ */ jsx(
141
136
  CarouselExtended,
142
137
  {
143
138
  className: clsx(styles.stepperCarousel, sizeToClassNameMap[size], className),
144
139
  buttonPrev: renderPrevButton,
145
140
  buttonNext: renderNextButton,
146
- stepPrev: state.stepPrev,
147
- stepNext: state.stepNext,
141
+ stepPrev: scrollStep,
142
+ stepNext: scrollStep,
148
143
  ref: carouselRef,
149
- children: /* @__PURE__ */ jsx(StepperExtended, { selectedStepId, size, ...restProps, children: steps.map(({ label, ...step }, index) => {
150
- return /* @__PURE__ */ jsx(
151
- StepperExtended.Step,
152
- {
153
- forwardedRef: (instance) => stepRefs.current[step.id] = instance,
154
- ...step,
155
- isInActiveStep: index > selectedIndex,
156
- children: label
157
- },
158
- step.id
159
- );
160
- }) })
144
+ children: /* @__PURE__ */ jsx(StepperExtended, { selectedStepId, size, ...restProps, children: steps.map(({ label, ...step }, index) => /* @__PURE__ */ jsx(
145
+ StepperExtended.Step,
146
+ {
147
+ forwardedRef: setStepRef(step.id),
148
+ ...step,
149
+ isInActiveStep: index > selectedIndex,
150
+ children: label
151
+ },
152
+ step.id
153
+ )) })
161
154
  }
162
155
  );
163
156
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.js","sources":["../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import React, { useState, useRef, useCallback, useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport { CaretleftStrokeSrvIcon24, CaretrightStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport { CarouselExtended, ICarouselExtendedButtonProvideProps } from \"../CarouselExtended/CarouselExtended\";\nimport { ButtonIcon } from \"../Button/ButtonIcon\";\nimport { StepperExtended } from \"./StepperExtended\";\nimport { StepperStep } from \"./StepperStep\";\nimport { createSizeToClassNameMap, scrollSmoothHorizontally } from \"../../utils\";\nimport { IStepperProps } from \"./types\";\nimport { EComponentSize } from \"../../enums\";\nimport { EScreenWidth } from \"../../helpers/breakpoints\";\nimport styles from \"./styles/Stepper.module.less\";\n\n/** Внутренние составляющие Stepper. */\ninterface IStepperComposition {\n Step: typeof StepperStep;\n}\n\n/** Соответствие размера имени класса. */\nconst sizeToClassNameMap = createSizeToClassNameMap(styles);\n\nconst SCROLL_STEP_RATIO = 0.3;\n\n/** Компонент Stepper, список шагов */\nexport const Stepper: React.FC<IStepperProps> & IStepperComposition = ({\n className,\n steps,\n size = EComponentSize.LG,\n selectedStepId,\n ...restProps\n}) => {\n const [state, setState] = useState({ stepNext: 0, stepPrev: 0 });\n const carouselRef = useRef<HTMLDivElement>(null);\n const stepRefs = useRef<Record<string, HTMLLIElement | null>>({});\n const selectedIndex = steps.findIndex((step) => step.id === selectedStepId);\n\n const renderPrevButton = useCallback(\n ({ hidden, ...restButtonProps }: ICarouselExtendedButtonProvideProps) =>\n hidden ? null : (\n <div className={clsx(styles.stepperButtonWrapper, styles.prev)}>\n <ButtonIcon\n className={clsx(styles.stepperButton, sizeToClassNameMap[size])}\n tabIndex={-1}\n {...restButtonProps}\n >\n <CaretleftStrokeSrvIcon24 paletteIndex={5} />\n </ButtonIcon>\n </div>\n ),\n [size],\n );\n\n const renderNextButton = useCallback(\n ({ hidden, ...restButtonProps }: ICarouselExtendedButtonProvideProps) =>\n hidden ? null : (\n <div className={clsx(styles.stepperButtonWrapper, styles.next)}>\n <ButtonIcon\n className={clsx(styles.stepperButton, sizeToClassNameMap[size])}\n tabIndex={-1}\n {...restButtonProps}\n >\n <CaretrightStrokeSrvIcon24 paletteIndex={5} />\n </ButtonIcon>\n </div>\n ),\n [size],\n );\n\n useEffect(() => {\n const carouselNode = carouselRef.current;\n\n if (carouselNode === null) {\n return;\n }\n\n const resizeObserver = new ResizeObserver((entries) => {\n const width = entries[0].contentRect.width;\n const scrollStep = width * SCROLL_STEP_RATIO;\n\n setState({\n stepNext: scrollStep,\n stepPrev: scrollStep,\n });\n });\n\n resizeObserver.observe(carouselNode);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n /** Выравнивание шага по правой части карусели. */\n const alignStepRight = useCallback(\n (carousel: HTMLDivElement, step: HTMLLIElement, delta: number, stepRight: number) => {\n if (delta > 0) {\n // Текущий шаг – не последний, необходимо показать следующий шаг.\n if (step.nextElementSibling) {\n delta -= stepRight - step.nextElementSibling.getBoundingClientRect().right;\n }\n scrollSmoothHorizontally(carousel, Math.ceil(delta));\n }\n },\n [],\n );\n\n /** Выравнивание шага по левой части карусели. */\n const alignStepLeft = useCallback(\n (carousel: HTMLDivElement, step: HTMLLIElement, delta: number, stepLeft: number) => {\n if (delta < 0) {\n // Текущий шаг – не первый, необходимо показать предыдущий шаг.\n if (step.previousElementSibling) {\n delta -= stepLeft - step.previousElementSibling.getBoundingClientRect().left;\n }\n scrollSmoothHorizontally(carousel, Math.floor(delta));\n }\n },\n [],\n );\n\n /** Выравнивание шага по центру карусели. */\n const alignStepCenter = useCallback((carousel: HTMLDivElement, delta: number) => {\n if (delta) {\n scrollSmoothHorizontally(carousel, delta);\n }\n }, []);\n\n /** Выравнивание шага в карусели. */\n const alignStep = useCallback(\n (carousel: HTMLDivElement, step: HTMLLIElement) => {\n const { left: carouselLeft, right: carouselRight, width: carouselWidth } = carousel.getBoundingClientRect();\n const { left: stepLeft, right: stepRight, width: stepWidth } = step.getBoundingClientRect();\n const carouselCenter = carouselLeft + carouselWidth / 2;\n const stepCenter = stepLeft + stepWidth / 2;\n\n if (window.matchMedia(`(max-width: ${EScreenWidth.SM_MAX})`).matches) {\n alignStepCenter(carousel, stepCenter - carouselCenter);\n } else if (carouselCenter > stepCenter) {\n alignStepLeft(carousel, step, stepLeft - carouselLeft, stepLeft);\n } else if (carouselCenter < stepCenter) {\n alignStepRight(carousel, step, stepRight - carouselRight, stepRight);\n }\n },\n [alignStepCenter, alignStepLeft, alignStepRight],\n );\n\n useEffect(() => {\n if (selectedStepId) {\n const { current: carousel } = carouselRef;\n const step = stepRefs.current[selectedStepId];\n\n if (carousel && step) {\n alignStep(carousel, step);\n }\n }\n }, [selectedStepId, alignStep]);\n\n return (\n <CarouselExtended\n className={clsx(styles.stepperCarousel, sizeToClassNameMap[size], className)}\n buttonPrev={renderPrevButton}\n buttonNext={renderNextButton}\n stepPrev={state.stepPrev}\n stepNext={state.stepNext}\n ref={carouselRef}\n >\n <StepperExtended selectedStepId={selectedStepId} size={size} {...restProps}>\n {steps.map(({ label, ...step }, index) => {\n return (\n <StepperExtended.Step\n key={step.id}\n forwardedRef={(instance) => (stepRefs.current[step.id] = instance)}\n {...step}\n isInActiveStep={index > selectedIndex}\n >\n {label}\n </StepperExtended.Step>\n );\n })}\n </StepperExtended>\n </CarouselExtended>\n );\n};\n\nStepper.Step = StepperStep;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Stepper.js","sources":["../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import React, { useState, useRef, useCallback, useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport { CaretleftStrokeSrvIcon24, CaretrightStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport { CarouselExtended, ICarouselExtendedButtonProvideProps } from \"../CarouselExtended/CarouselExtended\";\nimport { ButtonIcon } from \"../Button/ButtonIcon\";\nimport { StepperExtended } from \"./StepperExtended\";\nimport { StepperStep } from \"./StepperStep\";\nimport { createSizeToClassNameMap, scrollSmoothHorizontally } from \"../../utils\";\nimport { IStepperProps } from \"./types\";\nimport { EComponentSize } from \"../../enums\";\nimport { EScreenWidth } from \"../../helpers/breakpoints\";\nimport styles from \"./styles/Stepper.module.less\";\n\n/** Внутренние составляющие Stepper. */\ninterface IStepperComposition {\n Step: typeof StepperStep;\n}\n\n/** Направление прокрутки ленты шагов. */\ntype TStepperScrollDirection = \"prev\" | \"next\";\n\n/** Соответствие размера имени класса. */\nconst sizeToClassNameMap = createSizeToClassNameMap(styles);\n\n/** Доля ширины видимой области ленты, на которую прокручивает один клик по кнопке. */\nconst SCROLL_STEP_RATIO = 0.3;\n\n/** Соответствие направления прокрутки имени класса. */\nconst DIRECTION_TO_CLASS_NAME_MAP: Record<TStepperScrollDirection, string> = {\n prev: styles.prev,\n next: styles.next,\n};\n\n/** Соответствие направления прокрутки иконке кнопки. */\nconst DIRECTION_TO_ICON_MAP: Record<TStepperScrollDirection, React.ReactNode> = {\n prev: <CaretleftStrokeSrvIcon24 paletteIndex={5} />,\n next: <CaretrightStrokeSrvIcon24 paletteIndex={5} />,\n};\n\n/** Свойства кнопки прокрутки ленты шагов. */\ninterface IStepperScrollButtonProps extends ICarouselExtendedButtonProvideProps {\n /** Направление прокрутки. */\n direction: TStepperScrollDirection;\n /** Размер Stepper — от него зависит размер кнопки. */\n size: EComponentSize;\n}\n\n/**\n * Кнопка прокрутки ленты шагов. Рендерится по запросу CarouselExtended, который передаёт\n * `hidden` (прокрутка не нужна), `disabled` (достигнут край) и `onClick`.\n * Из таб-порядка исключена (`tabIndex = -1`): до любого шага можно дойти клавиатурой и без неё.\n */\nconst StepperScrollButton = ({ direction, size, hidden, ...restButtonProps }: IStepperScrollButtonProps) =>\n hidden ? null : (\n <div className={clsx(styles.stepperButtonWrapper, DIRECTION_TO_CLASS_NAME_MAP[direction])}>\n <ButtonIcon\n className={clsx(styles.stepperButton, sizeToClassNameMap[size])}\n tabIndex={-1}\n {...restButtonProps}\n >\n {DIRECTION_TO_ICON_MAP[direction]}\n </ButtonIcon>\n </div>\n );\n\n/**\n * Прокручивает ленту так, чтобы шаг прижался к правому краю видимой области.\n * Если справа есть следующий шаг, лента подтягивается ещё и на него — подсказка, что лента не кончилась.\n */\nconst alignStepRight = (carousel: HTMLDivElement, step: HTMLLIElement, delta: number, stepRight: number): void => {\n if (delta <= 0) {\n return;\n }\n\n const nextStep = step.nextElementSibling;\n // Текущий шаг – не последний, необходимо показать следующий шаг.\n const scrollAmount = nextStep ? delta - (stepRight - nextStep.getBoundingClientRect().right) : delta;\n\n scrollSmoothHorizontally(carousel, Math.ceil(scrollAmount));\n};\n\n/**\n * Прокручивает ленту так, чтобы шаг прижался к левому краю видимой области.\n * Если слева есть предыдущий шаг, лента подтягивается ещё и на него — подсказка, что лента не кончилась.\n */\nconst alignStepLeft = (carousel: HTMLDivElement, step: HTMLLIElement, delta: number, stepLeft: number): void => {\n if (delta >= 0) {\n return;\n }\n\n const prevStep = step.previousElementSibling;\n // Текущий шаг – не первый, необходимо показать предыдущий шаг.\n const scrollAmount = prevStep ? delta - (stepLeft - prevStep.getBoundingClientRect().left) : delta;\n\n scrollSmoothHorizontally(carousel, Math.floor(scrollAmount));\n};\n\n/** Прокручивает ленту так, чтобы шаг встал по центру видимой области. */\nconst alignStepCenter = (carousel: HTMLDivElement, delta: number): void => {\n if (delta) {\n scrollSmoothHorizontally(carousel, delta);\n }\n};\n\n/**\n * Подводит выбранный шаг в видимую область ленты.\n * На узких экранах шаг центрируется, на широких — прижимается к ближайшему краю.\n */\nconst alignStep = (carousel: HTMLDivElement, step: HTMLLIElement): void => {\n const { left: carouselLeft, right: carouselRight, width: carouselWidth } = carousel.getBoundingClientRect();\n const { left: stepLeft, right: stepRight, width: stepWidth } = step.getBoundingClientRect();\n const carouselCenter = carouselLeft + carouselWidth / 2;\n const stepCenter = stepLeft + stepWidth / 2;\n\n if (window.matchMedia(`(max-width: ${EScreenWidth.SM_MAX})`).matches) {\n alignStepCenter(carousel, stepCenter - carouselCenter);\n } else if (carouselCenter > stepCenter) {\n alignStepLeft(carousel, step, stepLeft - carouselLeft, stepLeft);\n } else if (carouselCenter < stepCenter) {\n alignStepRight(carousel, step, stepRight - carouselRight, stepRight);\n }\n};\n\n/** Компонент Stepper, список шагов */\nexport const Stepper: React.FC<IStepperProps> & IStepperComposition = ({\n className,\n steps,\n size = EComponentSize.MD,\n selectedStepId,\n ...restProps\n}) => {\n const [scrollStep, setScrollStep] = useState(0);\n const carouselRef = useRef<HTMLDivElement>(null);\n const stepRefs = useRef<Record<string, HTMLLIElement | null>>({});\n const selectedIndex = steps.findIndex((step) => step.id === selectedStepId);\n\n const renderPrevButton = useCallback(\n (buttonProps: ICarouselExtendedButtonProvideProps) => (\n <StepperScrollButton {...buttonProps} direction=\"prev\" size={size} />\n ),\n [size],\n );\n\n const renderNextButton = useCallback(\n (buttonProps: ICarouselExtendedButtonProvideProps) => (\n <StepperScrollButton {...buttonProps} direction=\"next\" size={size} />\n ),\n [size],\n );\n\n useEffect(() => {\n const carouselNode = carouselRef.current;\n\n if (carouselNode === null) {\n return;\n }\n\n const resizeObserver = new ResizeObserver((entries) => {\n setScrollStep(entries[0].contentRect.width * SCROLL_STEP_RATIO);\n });\n\n resizeObserver.observe(carouselNode);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (!selectedStepId) {\n return;\n }\n\n const carousel = carouselRef.current;\n const step = stepRefs.current[selectedStepId];\n\n if (carousel && step) {\n alignStep(carousel, step);\n }\n }, [selectedStepId]);\n\n /** Запоминает узел шага, чтобы подвести его в видимую область при выборе. */\n const setStepRef = (id: string) => (instance: HTMLLIElement | null) => {\n if (instance === null) {\n delete stepRefs.current[id];\n } else {\n stepRefs.current[id] = instance;\n }\n };\n\n return (\n <CarouselExtended\n className={clsx(styles.stepperCarousel, sizeToClassNameMap[size], className)}\n buttonPrev={renderPrevButton}\n buttonNext={renderNextButton}\n stepPrev={scrollStep}\n stepNext={scrollStep}\n ref={carouselRef}\n >\n <StepperExtended selectedStepId={selectedStepId} size={size} {...restProps}>\n {steps.map(({ label, ...step }, index) => (\n <StepperExtended.Step\n key={step.id}\n forwardedRef={setStepRef(step.id)}\n {...step}\n isInActiveStep={index > selectedIndex}\n >\n {label}\n </StepperExtended.Step>\n ))}\n </StepperExtended>\n </CarouselExtended>\n );\n};\n\nStepper.Step = StepperStep;\n"],"names":[],"mappings":"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"}
@@ -1,30 +1,51 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { useMemo } from "react";
2
+ import React__default, { useMemo, useCallback } from "react";
3
3
  import { c as clsx } from "../../chunks/vendor-CUIykw0y.js";
4
4
  import { StepperStep } from "./StepperStep.js";
5
5
  import { StepperExtendedContext } from "./StepperExtendedContext.js";
6
+ import { setForwardedRef } from "../../helpers/setForwardedRef.js";
6
7
  import { EComponentSize } from "../../enums/EComponentSize.js";
7
- const stepperExtended = "stepperExtended__c63acc01";
8
+ const stepperExtended = "stepperExtended__e43fa57a";
8
9
  const styles = {
9
10
  stepperExtended
10
11
  };
11
- const StepperExtended = ({
12
- children,
13
- className,
14
- size = EComponentSize.LG,
15
- onSelectStep,
16
- selectedStepId,
17
- forwardedRef,
18
- ...rest
19
- }) => {
20
- const classNames = clsx(styles.stepperExtended, className);
21
- const contextValue = useMemo(
22
- () => ({ selectedId: selectedStepId, size, onSelectStep }),
23
- [selectedStepId, size, onSelectStep]
24
- );
25
- return /* @__PURE__ */ jsx(StepperExtendedContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx("ol", { className: classNames, role: "tablist", ...rest, ref: forwardedRef, children }) });
26
- };
27
- StepperExtended.Step = StepperStep;
12
+ const StepperExtendedRoot = React__default.forwardRef(
13
+ ({
14
+ children,
15
+ className,
16
+ size = EComponentSize.MD,
17
+ onSelectStep,
18
+ selectedStepId,
19
+ forwardedRef,
20
+ ...htmlOlAttributes
21
+ }, ref) => {
22
+ const contextValue = useMemo(
23
+ () => ({ selectedId: selectedStepId, size, onSelectStep }),
24
+ [selectedStepId, size, onSelectStep]
25
+ );
26
+ const setRef = useCallback(
27
+ (instance) => {
28
+ setForwardedRef(ref, instance);
29
+ setForwardedRef(forwardedRef, instance);
30
+ },
31
+ [ref, forwardedRef]
32
+ );
33
+ return /* @__PURE__ */ jsx(StepperExtendedContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
34
+ "ol",
35
+ {
36
+ className: clsx(styles.stepperExtended, className),
37
+ role: "tablist",
38
+ ...htmlOlAttributes,
39
+ ref: setRef,
40
+ children
41
+ }
42
+ ) });
43
+ }
44
+ );
45
+ StepperExtendedRoot.displayName = "StepperExtended";
46
+ const StepperExtended = Object.assign(StepperExtendedRoot, {
47
+ Step: StepperStep
48
+ });
28
49
  export {
29
50
  StepperExtended
30
51
  };
@@ -1 +1 @@
1
- {"version":3,"file":"StepperExtended.js","sources":["../../../src/components/Stepper/StepperExtended.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { StepperStep } from \"./StepperStep\";\nimport { StepperExtendedContext } from \"./StepperExtendedContext\";\nimport { IStepperExtendedProps } from \"./types\";\nimport { EComponentSize } from \"../../enums\";\nimport styles from \"./styles/StepperExtended.module.less\";\n\n/** Внутренние составляющие StepperExtended. */\ninterface IStepperExtendedComposition {\n Step: typeof StepperStep;\n}\n\n/** Компонент StepperExtended, расширенная версия Stepper. */\nexport const StepperExtended: React.FC<IStepperExtendedProps> & IStepperExtendedComposition = ({\n children,\n className,\n size = EComponentSize.LG,\n onSelectStep,\n selectedStepId,\n forwardedRef,\n ...rest\n}) => {\n const classNames = clsx(styles.stepperExtended, className);\n\n const contextValue = useMemo(\n () => ({ selectedId: selectedStepId, size, onSelectStep }),\n [selectedStepId, size, onSelectStep],\n );\n\n return (\n <StepperExtendedContext.Provider value={contextValue}>\n <ol className={classNames} role=\"tablist\" {...rest} ref={forwardedRef}>\n {children}\n </ol>\n </StepperExtendedContext.Provider>\n );\n};\n\nStepperExtended.Step = StepperStep;\n"],"names":[],"mappings":";;;;;;;;;;AAcO,MAAM,kBAAiF,CAAC;AAAA,EAC3F;AAAA,EACA;AAAA,EACA,OAAO,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAM;AACF,QAAM,aAAa,KAAK,OAAO,iBAAiB,SAAS;AAEzD,QAAM,eAAe;AAAA,IACjB,OAAO,EAAE,YAAY,gBAAgB,MAAM,aAAA;AAAA,IAC3C,CAAC,gBAAgB,MAAM,YAAY;AAAA,EAAA;AAGvC,6BACK,uBAAuB,UAAvB,EAAgC,OAAO,cACpC,UAAA,oBAAC,MAAA,EAAG,WAAW,YAAY,MAAK,WAAW,GAAG,MAAM,KAAK,cACpD,UACL,GACJ;AAER;AAEA,gBAAgB,OAAO;"}
1
+ {"version":3,"file":"StepperExtended.js","sources":["../../../src/components/Stepper/StepperExtended.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { StepperStep } from \"./StepperStep\";\nimport { StepperExtendedContext } from \"./StepperExtendedContext\";\nimport { IStepperExtendedProps } from \"./types\";\nimport { setForwardedRef } from \"../../helpers/setForwardedRef\";\nimport { EComponentSize } from \"../../enums\";\nimport styles from \"./styles/StepperExtended.module.less\";\n\n/** Внутренние составляющие StepperExtended. */\ninterface IStepperExtendedComposition {\n Step: typeof StepperStep;\n}\n\nconst StepperExtendedRoot = React.forwardRef<HTMLOListElement, IStepperExtendedProps>(\n (\n {\n children,\n className,\n size = EComponentSize.MD,\n onSelectStep,\n selectedStepId,\n forwardedRef,\n ...htmlOlAttributes\n },\n ref,\n ) => {\n const contextValue = useMemo(\n () => ({ selectedId: selectedStepId, size, onSelectStep }),\n [selectedStepId, size, onSelectStep],\n );\n\n // Компонент поддерживает и ref, и исторический prop forwardedRef — оба указывают на один и тот же <ol>.\n const setRef = useCallback(\n (instance: HTMLOListElement | null) => {\n setForwardedRef(ref, instance);\n setForwardedRef(forwardedRef, instance);\n },\n [ref, forwardedRef],\n );\n\n return (\n <StepperExtendedContext.Provider value={contextValue}>\n <ol\n className={clsx(styles.stepperExtended, className)}\n role=\"tablist\"\n {...htmlOlAttributes}\n ref={setRef}\n >\n {children}\n </ol>\n </StepperExtendedContext.Provider>\n );\n },\n);\n\nStepperExtendedRoot.displayName = \"StepperExtended\";\n\n/**\n * Компонент StepperExtended, базовый степпер: список шагов без карусели и кнопок прокрутки.\n * Шаги потребитель передаёт сам через `StepperExtended.Step`. Готовый вариант с прокруткой — `Stepper`.\n */\n// Тип объявлен явно: без аннотации declaration emit падает с TS4023 — выведенный тип\n// сослался бы на внутренний интерфейс композиции из StepperStep, который не экспортируется.\nexport const StepperExtended: React.ForwardRefExoticComponent<\n IStepperExtendedProps & React.RefAttributes<HTMLOListElement>\n> &\n IStepperExtendedComposition = Object.assign(StepperExtendedRoot, {\n Step: StepperStep,\n} satisfies IStepperExtendedComposition);\n"],"names":["React"],"mappings":";;;;;;;;;;;AAcA,MAAM,sBAAsBA,eAAM;AAAA,EAC9B,CACI;AAAA,IACI;AAAA,IACA;AAAA,IACA,OAAO,eAAe;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,GAEP,QACC;AACD,UAAM,eAAe;AAAA,MACjB,OAAO,EAAE,YAAY,gBAAgB,MAAM,aAAA;AAAA,MAC3C,CAAC,gBAAgB,MAAM,YAAY;AAAA,IAAA;AAIvC,UAAM,SAAS;AAAA,MACX,CAAC,aAAsC;AACnC,wBAAgB,KAAK,QAAQ;AAC7B,wBAAgB,cAAc,QAAQ;AAAA,MAC1C;AAAA,MACA,CAAC,KAAK,YAAY;AAAA,IAAA;AAGtB,WACI,oBAAC,uBAAuB,UAAvB,EAAgC,OAAO,cACpC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,iBAAiB,SAAS;AAAA,QACjD,MAAK;AAAA,QACJ,GAAG;AAAA,QACJ,KAAK;AAAA,QAEJ;AAAA,MAAA;AAAA,IAAA,GAET;AAAA,EAER;AACJ;AAEA,oBAAoB,cAAc;AAQ3B,MAAM,kBAGqB,OAAO,OAAO,qBAAqB;AAAA,EACjE,MAAM;AACV,CAAuC;"}
@@ -1,7 +1,7 @@
1
1
  import React__default from "react";
2
2
  import { EComponentSize } from "../../enums/EComponentSize.js";
3
3
  const StepperExtendedContext = React__default.createContext({
4
- size: EComponentSize.LG,
4
+ size: EComponentSize.MD,
5
5
  selectedId: void 0,
6
6
  onSelectStep: () => {
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StepperExtendedContext.js","sources":["../../../src/components/Stepper/StepperExtendedContext.ts"],"sourcesContent":["import React from \"react\";\nimport { EComponentSize } from \"../../enums\";\n\n/** Контекст компонента StepperExtended. */\nexport interface IStepperExtendedContext {\n /** Размер Stepper. */\n size: EComponentSize;\n /** Уникальный идентификатор выбранного шага. */\n selectedId?: string;\n /** Обработчик выбора шага. */\n onSelectStep: (selectedId: string) => void;\n}\n\n/** Контекст в StepperExtended. */\nexport const StepperExtendedContext = React.createContext<IStepperExtendedContext>({\n size: EComponentSize.LG,\n selectedId: undefined,\n onSelectStep: () => {},\n});\n"],"names":["React"],"mappings":";;AAcO,MAAM,yBAAyBA,eAAM,cAAuC;AAAA,EAC/E,MAAM,eAAe;AAAA,EACrB,YAAY;AAAA,EACZ,cAAc,MAAM;AAAA,EAAC;AACzB,CAAC;"}
1
+ {"version":3,"file":"StepperExtendedContext.js","sources":["../../../src/components/Stepper/StepperExtendedContext.ts"],"sourcesContent":["import React from \"react\";\nimport { EComponentSize } from \"../../enums\";\n\n/** Значение контекста StepperExtended: его читает каждый StepperExtended.Step. */\nexport interface IStepperExtendedContext {\n /** Размер шагов. */\n size: EComponentSize;\n /** Уникальный идентификатор выбранного шага. */\n selectedId?: string;\n /** Обработчик выбора шага. */\n onSelectStep: (selectedId: string) => void;\n}\n\n/** Контекст StepperExtended. Через barrel не экспортируется — это внутренняя деталь компонента. */\nexport const StepperExtendedContext = React.createContext<IStepperExtendedContext>({\n size: EComponentSize.MD,\n selectedId: undefined,\n onSelectStep: () => {},\n});\n"],"names":["React"],"mappings":";;AAcO,MAAM,yBAAyBA,eAAM,cAAuC;AAAA,EAC/E,MAAM,eAAe;AAAA,EACrB,YAAY;AAAA,EACZ,cAAc,MAAM;AAAA,EAAC;AACzB,CAAC;"}
@@ -7,7 +7,7 @@ import { isKey } from "../../utils/keyboard.js";
7
7
  import { StepperExtendedContext } from "./StepperExtendedContext.js";
8
8
  import { EFocusSource } from "../../enums/EFocusSource.js";
9
9
  import { EStepperStepType } from "./enums.js";
10
- import { s as styles, S as StepperStepArrowBorder } from "../../chunks/StepperStepArrowBorder-DDMmOSKy.js";
10
+ import { s as styles, S as StepperStepArrowBorder } from "../../chunks/StepperStepArrowBorder-B5HGnDby.js";
11
11
  import { IconWrapper } from "../IconWrapper/IconWrapper.js";
12
12
  const sizeToClassNameMap = createSizeToClassNameMap(styles);
13
13
  const StepperStep = ({
@@ -92,7 +92,7 @@ const StepperStep = ({
92
92
  }
93
93
  };
94
94
  const renderIcon = () => /* @__PURE__ */ jsx(IconWrapper, { className: styles.icon, disabled: !!disabled, children: icon });
95
- const renderContent = () => /* @__PURE__ */ jsxs("div", { className: styles.content, "data-tx": "1.47.0", children: [
95
+ const renderContent = () => /* @__PURE__ */ jsxs("div", { className: styles.content, "data-tx": "1.48.0", children: [
96
96
  icon && renderIcon(),
97
97
  children
98
98
  ] });
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "../../enums/EComponentSize.js";
3
- import { S } from "../../chunks/StepperStepArrowBorder-DDMmOSKy.js";
3
+ import { S } from "../../chunks/StepperStepArrowBorder-B5HGnDby.js";
4
4
  export {
5
5
  S as StepperStepArrowBorder
6
6
  };
@@ -4,7 +4,7 @@ import { useSuggestContext } from "./SuggestContext.js";
4
4
  import "../Dropdown/DropdownListContext.js";
5
5
  import "../Dropdown/desktop/DropdownDesktop.js";
6
6
  import "../Dropdown/desktop/DropdownList.js";
7
- import "../../chunks/DropdownListItem-B9cIx_8A.js";
7
+ import "../../chunks/DropdownListItem-cXbzcYKR.js";
8
8
  import "../Dropdown/mobile/DropdownMobile.js";
9
9
  import { DropdownMobileBody } from "../Dropdown/mobile/DropdownMobileBody.js";
10
10
  import { DropdownMobileClose } from "../Dropdown/mobile/DropdownMobileClose.js";
@@ -21,8 +21,8 @@ import "../Typography/Caption.js";
21
21
  import "../Typography/CodeText.js";
22
22
  import { Text } from "../Typography/Text.js";
23
23
  import "../Typography/Title.js";
24
- const suggestDropdownMobileBody = "suggestDropdownMobileBody__1fdce350";
25
- const suggestDropdownMobileNoOptionsText = "suggestDropdownMobileNoOptionsText__63c3fdb2";
24
+ const suggestDropdownMobileBody = "suggestDropdownMobileBody__331bbb31";
25
+ const suggestDropdownMobileNoOptionsText = "suggestDropdownMobileNoOptionsText__48999b01";
26
26
  const styles = {
27
27
  suggestDropdownMobileBody,
28
28
  suggestDropdownMobileNoOptionsText
@@ -2,7 +2,7 @@ import "./desktop/SuggestFieldDesktopDropdown.js";
2
2
  import { SuggestFieldDesktop } from "./desktop/SuggestFieldDesktop.js";
3
3
  import { SuggestFieldMobile } from "./mobile/SuggestFieldMobile.js";
4
4
  import "./mobile/SuggestFieldMobileDropdown.js";
5
- import "../../chunks/SuggestFieldMobileDropdownHint-BESIIDZs.js";
5
+ import "../../chunks/SuggestFieldMobileDropdownHint-BeT6Ch46.js";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
  import { MobileView } from "../MobileView/MobileView.js";
8
8
  import "../FormField/components/FormFieldClear.js";
@@ -1,7 +1,9 @@
1
1
  import { SuggestFieldDesktopDropdown } from "./SuggestFieldDesktopDropdown.js";
2
2
  import { jsxs, jsx } from "react/jsx-runtime";
3
- import React__default, { useState, useRef, useLayoutEffect, useCallback, useEffect } from "react";
3
+ import React__default, { useState, useRef, useCallback } from "react";
4
+ import { u as uniqueId } from "../../../chunks/vendor-CUIykw0y.js";
4
5
  import { EComponentSize } from "../../../enums/EComponentSize.js";
6
+ import { isKey } from "../../../utils/keyboard.js";
5
7
  import { Tooltip } from "../../Tooltip/Tooltip.js";
6
8
  import { ETooltipSize } from "../../Tooltip/enums.js";
7
9
  import { TextFieldBase } from "../../TextField/TextFieldBase.js";
@@ -23,7 +25,7 @@ import "../../Loader/LoaderMiddle/LoaderMiddle.js";
23
25
  import { DropdownListContext } from "../../Dropdown/DropdownListContext.js";
24
26
  import "../../Dropdown/desktop/DropdownDesktop.js";
25
27
  import "../../Dropdown/desktop/DropdownList.js";
26
- import "../../../chunks/DropdownListItem-B9cIx_8A.js";
28
+ import "../../../chunks/DropdownListItem-cXbzcYKR.js";
27
29
  import "../../Dropdown/mobile/DropdownMobile.js";
28
30
  import "../../Dropdown/mobile/DropdownMobileBody.js";
29
31
  import "../../Dropdown/mobile/DropdownMobileClose.js";
@@ -35,8 +37,6 @@ import "../../Dropdown/mobile/DropdownMobileList.js";
35
37
  import "../../Dropdown/mobile/DropdownMobileListItem.js";
36
38
  import "../../Dropdown/Dropdown.js";
37
39
  import { DataTestId } from "../../../consts/DataTestId.js";
38
- import { u as uniqueId } from "../../../chunks/vendor-CUIykw0y.js";
39
- import { isKey } from "../../../utils/keyboard.js";
40
40
  const SuggestFieldDesktop = ({
41
41
  value,
42
42
  options,
@@ -62,7 +62,7 @@ const SuggestFieldDesktop = ({
62
62
  inputProps,
63
63
  ...restProps
64
64
  }) => {
65
- const [inputValue, setInputValue] = useState((value == null ? void 0 : value.label) || "");
65
+ const [inputValue, setInputValue] = useState((value == null ? void 0 : value.label) ?? "");
66
66
  const [inputFocused, setInputFocused] = useState(false);
67
67
  const [dropdownOpen, setDropdownOpen] = useState(false);
68
68
  const [ignoreAutoOpen, setIgnoreAutoOpen] = useState(false);
@@ -71,13 +71,9 @@ const SuggestFieldDesktop = ({
71
71
  const [prevValue, setPrevValue] = useState(value);
72
72
  if ((value == null ? void 0 : value.id) !== (prevValue == null ? void 0 : prevValue.id)) {
73
73
  setPrevValue(value);
74
- setInputValue((value == null ? void 0 : value.label) || "");
74
+ setInputValue((value == null ? void 0 : value.label) ?? "");
75
75
  }
76
76
  const suggestRef = useRef(null);
77
- const onScrollEndRef = useRef(onScrollEnd);
78
- useLayoutEffect(() => {
79
- onScrollEndRef.current = onScrollEnd;
80
- }, [onScrollEnd]);
81
77
  const handleInputFocus = useCallback(
82
78
  (event) => {
83
79
  var _a;
@@ -101,7 +97,7 @@ const SuggestFieldDesktop = ({
101
97
  setInputFocused(false);
102
98
  closeDropdown(false);
103
99
  if (inputValue.length !== 0) {
104
- setInputValue((value == null ? void 0 : value.label) || "");
100
+ setInputValue((value == null ? void 0 : value.label) ?? "");
105
101
  } else if (value !== void 0) {
106
102
  onSelect(void 0);
107
103
  }
@@ -160,7 +156,7 @@ const SuggestFieldDesktop = ({
160
156
  const handleDropdownOpen = useCallback(
161
157
  (nextDropdownOpen) => {
162
158
  if (nextDropdownOpen) {
163
- setDropdownOpen(nextDropdownOpen);
159
+ setDropdownOpen(true);
164
160
  } else {
165
161
  closeDropdown(false);
166
162
  }
@@ -170,27 +166,21 @@ const SuggestFieldDesktop = ({
170
166
  const handleSelect = useCallback(
171
167
  (nextValue) => {
172
168
  closeDropdown(true);
173
- setInputValue((nextValue == null ? void 0 : nextValue.label) || "");
169
+ setInputValue((nextValue == null ? void 0 : nextValue.label) ?? "");
174
170
  onSelect(nextValue);
175
171
  },
176
172
  [closeDropdown, onSelect]
177
173
  );
178
- useEffect(() => {
179
- if (inputFocused) {
180
- if (dropdownOpen) {
181
- if (options.length === 0) {
182
- closeDropdown(false);
183
- }
184
- } else {
185
- if (options.length !== 0 && !ignoreAutoOpen) {
186
- setDropdownOpen(true);
187
- }
188
- }
174
+ if (inputFocused) {
175
+ if (dropdownOpen && options.length === 0) {
176
+ closeDropdown(false);
177
+ } else if (!dropdownOpen && options.length !== 0 && !ignoreAutoOpen) {
178
+ setDropdownOpen(true);
189
179
  }
190
- }, [inputFocused, dropdownOpen, options.length, closeDropdown, ignoreAutoOpen]);
180
+ }
191
181
  const renderSuggestField = () => {
192
- const Input = renderInput === void 0 ? FormFieldInput : renderInput;
193
- const Dropdown = renderDropdown === void 0 ? SuggestFieldDesktopDropdown : renderDropdown;
182
+ const Input = renderInput ?? FormFieldInput;
183
+ const Dropdown = renderDropdown ?? SuggestFieldDesktopDropdown;
194
184
  const dropdownActuallyOpen = dropdownOpen && options.length !== 0;
195
185
  return /* @__PURE__ */ jsxs(
196
186
  TextFieldBase,
@@ -252,7 +242,7 @@ const SuggestFieldDesktop = ({
252
242
  Tooltip,
253
243
  {
254
244
  size: ETooltipSize.SM,
255
- isOpen: !!(tooltipOpen && inputFocused) && status !== EFormFieldStatus.DISABLED,
245
+ isOpen: tooltipOpen && inputFocused && status !== EFormFieldStatus.DISABLED,
256
246
  toggle: () => {
257
247
  },
258
248
  targetRef: suggestRef,