@sberbusiness/triplex-next 1.45.0 → 1.47.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 (640) hide show
  1. package/chunks/{AlertProcessSpoiler-54gQMEAr.js → AlertProcessSpoiler-Bws9nhT_.js} +17 -17
  2. package/chunks/{AlertProcessSpoiler-54gQMEAr.js.map → AlertProcessSpoiler-Bws9nhT_.js.map} +1 -1
  3. package/chunks/{CalendarViewItem-cQjxsIMh.js → CalendarViewItem-Bikp6svb.js} +21 -21
  4. package/chunks/{CalendarViewItem-cQjxsIMh.js.map → CalendarViewItem-Bikp6svb.js.map} +1 -1
  5. package/chunks/Card.module-BX03G_qX.js +32 -0
  6. package/chunks/Card.module-BX03G_qX.js.map +1 -0
  7. package/chunks/Carousel.module-Doem7_zb.js +30 -0
  8. package/chunks/Carousel.module-Doem7_zb.js.map +1 -0
  9. package/chunks/CheckboxTreeExtended.module-Bn7_t4on.js +24 -0
  10. package/chunks/CheckboxTreeExtended.module-Bn7_t4on.js.map +1 -0
  11. package/chunks/{Chip-CWaqKk62.js → Chip-DNn2jKWv.js} +17 -17
  12. package/chunks/{Chip-CWaqKk62.js.map → Chip-DNn2jKWv.js.map} +1 -1
  13. package/chunks/Confirm.module-Cu7K98Sg.js +24 -0
  14. package/chunks/Confirm.module-Cu7K98Sg.js.map +1 -0
  15. package/chunks/{DropdownListItem-kMroiHoh.js → DropdownListItem-B9cIx_8A.js} +11 -11
  16. package/chunks/{DropdownListItem-kMroiHoh.js.map → DropdownListItem-B9cIx_8A.js.map} +1 -1
  17. package/chunks/DropdownMobile.module-DnkRPsic.js +40 -0
  18. package/chunks/DropdownMobile.module-DnkRPsic.js.map +1 -0
  19. package/chunks/Footer.module-_S9ZcA7b.js +12 -0
  20. package/chunks/Footer.module-_S9ZcA7b.js.map +1 -0
  21. package/chunks/{HeaderLayoutSidebar.module-k_1rIXs0.js → HeaderLayoutSidebar.module-CNgPkokh.js} +4 -4
  22. package/chunks/HeaderLayoutSidebar.module-CNgPkokh.js.map +1 -0
  23. package/chunks/HeaderTabs.module-2XAHGidd.js +12 -0
  24. package/chunks/HeaderTabs.module-2XAHGidd.js.map +1 -0
  25. package/chunks/{HeaderTitle.module-BbIcVzwx.js → HeaderTitle.module-CFABp2sW.js} +4 -4
  26. package/chunks/HeaderTitle.module-CFABp2sW.js.map +1 -0
  27. package/chunks/ImageGalleryExtendedMain.module-DfFkrw4n.js +28 -0
  28. package/chunks/ImageGalleryExtendedMain.module-DfFkrw4n.js.map +1 -0
  29. package/chunks/{ImageGalleryExtendedThumb-DlJrbeiX.js → ImageGalleryExtendedThumb-Bm2vFDwB.js} +6 -6
  30. package/chunks/{ImageGalleryExtendedThumb-DlJrbeiX.js.map → ImageGalleryExtendedThumb-Bm2vFDwB.js.map} +1 -1
  31. package/chunks/IslandAccordion.module-CARpAvhk.js +44 -0
  32. package/chunks/IslandAccordion.module-CARpAvhk.js.map +1 -0
  33. package/chunks/IslandWidgetFooter.module-E0IBRK6A.js +18 -0
  34. package/chunks/IslandWidgetFooter.module-E0IBRK6A.js.map +1 -0
  35. package/chunks/IslandWidgetHeader.module-DgysHiDv.js +28 -0
  36. package/chunks/IslandWidgetHeader.module-DgysHiDv.js.map +1 -0
  37. package/chunks/{LightBoxContent-DDevHCAQ.js → LightBoxContent-b3ATzdz4.js} +17 -17
  38. package/chunks/{LightBoxContent-DDevHCAQ.js.map → LightBoxContent-b3ATzdz4.js.map} +1 -1
  39. package/chunks/LightBoxControls.module-CFiw2WEe.js +26 -0
  40. package/chunks/LightBoxControls.module-CFiw2WEe.js.map +1 -0
  41. package/chunks/{LightBoxSideOverlayClose.module-B_RmH_Zj.js → LightBoxSideOverlayClose.module-rUoDHQx6.js} +4 -4
  42. package/chunks/LightBoxSideOverlayClose.module-rUoDHQx6.js.map +1 -0
  43. package/chunks/{ListItemControlsButton-BGHyQIXE.js → ListItemControlsButton-DATlwch8.js} +10 -10
  44. package/chunks/{ListItemControlsButton-BGHyQIXE.js.map → ListItemControlsButton-DATlwch8.js.map} +1 -1
  45. package/chunks/ListItemTail.module-DEbIYD0x.js +18 -0
  46. package/chunks/ListItemTail.module-DEbIYD0x.js.map +1 -0
  47. package/chunks/ListMasterFooter.module-Dw_g_Hqv.js +14 -0
  48. package/chunks/ListMasterFooter.module-Dw_g_Hqv.js.map +1 -0
  49. package/chunks/ModalWindow.module-BIeL2Dm9.js +28 -0
  50. package/chunks/ModalWindow.module-BIeL2Dm9.js.map +1 -0
  51. package/chunks/Notification.module-CAVClo9k.js +34 -0
  52. package/chunks/Notification.module-CAVClo9k.js.map +1 -0
  53. package/chunks/Overlay.module-dRFf4RgK.js +30 -0
  54. package/chunks/Overlay.module-dRFf4RgK.js.map +1 -0
  55. package/chunks/Page.module-Bq4qHw4a.js +17 -0
  56. package/chunks/Page.module-Bq4qHw4a.js.map +1 -0
  57. package/chunks/SMSField.module-BFaDeCmy.js +30 -0
  58. package/chunks/SMSField.module-BFaDeCmy.js.map +1 -0
  59. package/chunks/SliderExtendedMarks.module-I5oq_ntW.js +24 -0
  60. package/chunks/SliderExtendedMarks.module-I5oq_ntW.js.map +1 -0
  61. package/chunks/{SliderExtendedRail-VEYm3CWM.js → SliderExtendedRail-CQjM0BDm.js} +7 -7
  62. package/chunks/SliderExtendedRail-CQjM0BDm.js.map +1 -0
  63. package/chunks/StatusTracker.module-CLL7XYcX.js +44 -0
  64. package/chunks/StatusTracker.module-CLL7XYcX.js.map +1 -0
  65. package/chunks/{StepperStepArrowBorder-B8OziF77.js → StepperStepArrowBorder-DDMmOSKy.js} +16 -16
  66. package/chunks/{StepperStepArrowBorder-B8OziF77.js.map → StepperStepArrowBorder-DDMmOSKy.js.map} +1 -1
  67. package/chunks/{SuggestFieldMobileDropdownHint-CEHlClB5.js → SuggestFieldMobileDropdownHint-BESIIDZs.js} +3 -3
  68. package/chunks/{SuggestFieldMobileDropdownHint-CEHlClB5.js.map → SuggestFieldMobileDropdownHint-BESIIDZs.js.map} +1 -1
  69. package/chunks/TableFooter.module-DyFW1z3j.js +22 -0
  70. package/chunks/TableFooter.module-DyFW1z3j.js.map +1 -0
  71. package/chunks/TabsExtended.module-DPptPKmZ.js +26 -0
  72. package/chunks/TabsExtended.module-DPptPKmZ.js.map +1 -0
  73. package/chunks/TabsLine.module-BOD6aGpU.js +36 -0
  74. package/chunks/TabsLine.module-BOD6aGpU.js.map +1 -0
  75. package/chunks/TooltipDesktop.module-_lk-8WZV.js +32 -0
  76. package/chunks/TooltipDesktop.module-_lk-8WZV.js.map +1 -0
  77. package/chunks/TreeView.module-mCVJ7u_z.js +12 -0
  78. package/chunks/TreeView.module-mCVJ7u_z.js.map +1 -0
  79. package/chunks/{UploadZoneInput-DW4bcKms.js → UploadZoneInput-1DuaS4IR.js} +6 -6
  80. package/chunks/{UploadZoneInput-DW4bcKms.js.map → UploadZoneInput-1DuaS4IR.js.map} +1 -1
  81. package/chunks/{constants-C-g_SxPw.js → constants-DUgeKsf9.js} +27 -27
  82. package/chunks/{constants-C-g_SxPw.js.map → constants-DUgeKsf9.js.map} +1 -1
  83. package/chunks/{utils-vSmFPvz4.js → utils-CvDoNsRH.js} +10 -10
  84. package/chunks/{utils-vSmFPvz4.js.map → utils-CvDoNsRH.js.map} +1 -1
  85. package/chunks/{utils-oLO5Fak1.js → utils-DhEse9-I.js} +6 -6
  86. package/chunks/{utils-oLO5Fak1.js.map → utils-DhEse9-I.js.map} +1 -1
  87. package/chunks/{utils-CRgskx0c.js → utils-c0Fgm-SD.js} +27 -27
  88. package/chunks/{utils-CRgskx0c.js.map → utils-c0Fgm-SD.js.map} +1 -1
  89. package/chunks/{utils-DogucNlz.js → utils-tt7vKg1E.js} +11 -11
  90. package/chunks/{utils-DogucNlz.js.map → utils-tt7vKg1E.js.map} +1 -1
  91. package/chunks/{vendor-D4wvHis9.js → vendor-CUIykw0y.js} +10 -5517
  92. package/chunks/vendor-CUIykw0y.js.map +1 -0
  93. package/components/AbstractTree/AbstractTreeNode.js +1 -1
  94. package/components/AccordionBase/protected/AccordionBase.js +1 -1
  95. package/components/Alert/AlertContext/AlertContext.js +8 -8
  96. package/components/Alert/AlertProcess/AlertProcess.js +3 -3
  97. package/components/Alert/AlertProcess/components/AlertProcessSpoiler.js +2 -2
  98. package/components/Amount/Amount.js +3 -3
  99. package/components/AmountField/AmountBaseInputCore.js +2 -2
  100. package/components/AmountField/AmountBaseInputCore.js.map +1 -1
  101. package/components/AmountField/AmountBaseInputFormatter.js +7 -10
  102. package/components/AmountField/AmountBaseInputFormatter.js.map +1 -1
  103. package/components/AmountField/AmountBaseInputParser.js +9 -13
  104. package/components/AmountField/AmountBaseInputParser.js.map +1 -1
  105. package/components/AmountField/AmountField.js +38 -55
  106. package/components/AmountField/AmountField.js.map +1 -1
  107. package/components/AmountField/utils.js +12 -2
  108. package/components/AmountField/utils.js.map +1 -1
  109. package/components/Avatar/Avatar.js +14 -14
  110. package/components/Avatar/Avatar.js.map +1 -1
  111. package/components/Avatar/enums.js.map +1 -1
  112. package/components/Badge/Badge.js +5 -5
  113. package/components/Badge/BadgeDot.js +5 -5
  114. package/components/Badge/components/BadgeContent.js +7 -7
  115. package/components/Badge/components/BadgePostfix.js +2 -2
  116. package/components/Badge/components/BadgePrefix.js +2 -2
  117. package/components/Body/Body.js +4 -4
  118. package/components/Button/Button.js +21 -21
  119. package/components/Button/ButtonBase.js +1 -1
  120. package/components/Button/ButtonDropdown.js +9 -9
  121. package/components/Button/ButtonDropdownExtended.js +3 -3
  122. package/components/Button/ButtonIcon.js +4 -4
  123. package/components/Calendar/Calendar.js +5 -5
  124. package/components/Calendar/components/CalendarControls.js +1 -1
  125. package/components/Calendar/components/CalendarFooter.js +2 -2
  126. package/components/Calendar/components/CalendarViewDays.js +2 -2
  127. package/components/Calendar/components/CalendarViewItem.js +2 -2
  128. package/components/Calendar/components/CalendarViewMonths.js +1 -1
  129. package/components/Calendar/components/CalendarViewYears.js +1 -1
  130. package/components/Card/CardAction.js +24 -10
  131. package/components/Card/CardAction.js.map +1 -1
  132. package/components/Card/CardStatic.js +26 -26
  133. package/components/Card/CardStatic.js.map +1 -1
  134. package/components/Card/components/CardContent/CardContent.js +2 -2
  135. package/components/Card/components/CardContent/CardContent.js.map +1 -1
  136. package/components/Card/components/CardContent/components/CardContentBody.js +2 -2
  137. package/components/Card/components/CardContent/components/CardContentFooter.js +2 -2
  138. package/components/Card/components/CardContent/components/CardContentHeader.js +2 -2
  139. package/components/Card/components/CardMedia.js +2 -2
  140. package/components/Card/utils.js +1 -1
  141. package/components/Carousel/Carousel.js +2 -2
  142. package/components/Carousel/CarouselButton.js +2 -2
  143. package/components/Carousel/CarouselIndicators.js +65 -30
  144. package/components/Carousel/CarouselIndicators.js.map +1 -1
  145. package/components/Carousel/CarouselItem.js +2 -2
  146. package/components/Carousel/CarouselTrack.js +2 -2
  147. package/components/Carousel/CarouselViewport.js +2 -2
  148. package/components/CarouselExtended/CarouselExtended.js +2 -2
  149. package/components/Checkbox/Checkbox.js +11 -11
  150. package/components/Checkbox/CheckboxXGroup.js +9 -9
  151. package/components/Checkbox/CheckboxYGroup.js +2 -2
  152. package/components/CheckboxTree/CheckboxTree.js +34 -35
  153. package/components/CheckboxTree/CheckboxTree.js.map +1 -1
  154. package/components/CheckboxTree/utils.js +18 -11
  155. package/components/CheckboxTree/utils.js.map +1 -1
  156. package/components/CheckboxTreeExtended/CheckboxTreeExtended.js +22 -9
  157. package/components/CheckboxTreeExtended/CheckboxTreeExtended.js.map +1 -1
  158. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedArrow.js +1 -1
  159. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedCheckbox.js +2 -2
  160. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedNode.js +2 -2
  161. package/components/Chip/Chip.js +2 -2
  162. package/components/Chip/ChipClearButton.js +2 -2
  163. package/components/Chip/ChipDatePicker/ChipDatePicker.js +1 -1
  164. package/components/Chip/ChipDatePicker/ChipDatePickerTarget.js +1 -1
  165. package/components/Chip/ChipDropdownArrow.js +3 -3
  166. package/components/Chip/ChipIcon.js +1 -1
  167. package/components/Chip/ChipMonthYearPicker/ChipMonthYearPicker.js +70 -0
  168. package/components/Chip/ChipMonthYearPicker/ChipMonthYearPicker.js.map +1 -0
  169. package/components/Chip/ChipMonthYearPicker/ChipMonthYearPickerTarget.js +72 -0
  170. package/components/Chip/ChipMonthYearPicker/ChipMonthYearPickerTarget.js.map +1 -0
  171. package/components/Chip/ChipMonthYearPicker/index.js +7 -0
  172. package/components/Chip/ChipMonthYearPicker/index.js.map +1 -0
  173. package/components/Chip/ChipMultiselect.js +15 -12
  174. package/components/Chip/ChipMultiselect.js.map +1 -1
  175. package/components/Chip/ChipOptions.js +29 -7
  176. package/components/Chip/ChipOptions.js.map +1 -1
  177. package/components/Chip/ChipSelect/ChipSelect.js +2 -2
  178. package/components/Chip/ChipSelect/ChipSelectTarget.js +1 -1
  179. package/components/Chip/ChipSort.js +13 -6
  180. package/components/Chip/ChipSort.js.map +1 -1
  181. package/components/Chip/ChipSuggest/ChipSuggest.js +24 -12
  182. package/components/Chip/ChipSuggest/ChipSuggest.js.map +1 -1
  183. package/components/Chip/ChipSuggest/ChipSuggestDropdown.js +12 -12
  184. package/components/Chip/ChipSuggest/ChipSuggestDropdown.js.map +1 -1
  185. package/components/Chip/ChipSuggest/ChipSuggestTarget.js +3 -9
  186. package/components/Chip/ChipSuggest/ChipSuggestTarget.js.map +1 -1
  187. package/components/Chip/ChipSuggest/desktop/ChipSuggestDesktopDropdownField.js +4 -3
  188. package/components/Chip/ChipSuggest/desktop/ChipSuggestDesktopDropdownField.js.map +1 -1
  189. package/components/Chip/index.js +5 -1
  190. package/components/Chip/index.js.map +1 -1
  191. package/components/ChipGroup/ChipGroup.js +8 -8
  192. package/components/Col/Col.js +133 -133
  193. package/components/CollapsibleTree/CollapsibleTree.js +2 -2
  194. package/components/CollapsibleTree/components/CollapsibleTreeLeafContent.js +2 -2
  195. package/components/CollapsibleTree/components/CollapsibleTreeLeafNode.js +2 -2
  196. package/components/CollapsibleTree/components/CollapsibleTreeNodeHeader.js +5 -5
  197. package/components/CollapsibleTreeExtended/CollapsibleTreeExtended.js +7 -2
  198. package/components/CollapsibleTreeExtended/CollapsibleTreeExtended.js.map +1 -1
  199. package/components/CollapsibleTreeExtended/components/CollapsibleTreeExtendedNode.js +2 -2
  200. package/components/Confirm/Confirm.js +22 -19
  201. package/components/Confirm/Confirm.js.map +1 -1
  202. package/components/Confirm/components/ConfirmClose.js +21 -7
  203. package/components/Confirm/components/ConfirmClose.js.map +1 -1
  204. package/components/Confirm/components/ConfirmCloseButton.js +4 -4
  205. package/components/Confirm/components/ConfirmCloseButton.js.map +1 -1
  206. package/components/Confirm/components/ConfirmContent.js +10 -5
  207. package/components/Confirm/components/ConfirmContent.js.map +1 -1
  208. package/components/Confirm/components/ConfirmContentSubTitle.js +4 -5
  209. package/components/Confirm/components/ConfirmContentSubTitle.js.map +1 -1
  210. package/components/Confirm/components/ConfirmContentTitle.js +6 -8
  211. package/components/Confirm/components/ConfirmContentTitle.js.map +1 -1
  212. package/components/Confirm/components/ConfirmControls.js +6 -3
  213. package/components/Confirm/components/ConfirmControls.js.map +1 -1
  214. package/components/Confirm/enums.js.map +1 -1
  215. package/components/DateField/DateField.js +43 -43
  216. package/components/DateField/DateField.js.map +1 -1
  217. package/components/DateField/DateFieldContext.js.map +1 -1
  218. package/components/DateField/DateFieldTarget.js +6 -5
  219. package/components/DateField/DateFieldTarget.js.map +1 -1
  220. package/components/DatePickerExtended/DatePickerExtended.js +2 -2
  221. package/components/DatePickerExtended/DatePickerExtended.js.map +1 -1
  222. package/components/DatePickerExtended/DatePickerExtendedDropdown.js +2 -2
  223. package/components/DateRange/DateRange.js +69 -82
  224. package/components/DateRange/DateRange.js.map +1 -1
  225. package/components/DateRange/types.js +2 -0
  226. package/components/DateRange/types.js.map +1 -0
  227. package/components/DateRange/utils.js +8 -0
  228. package/components/DateRange/utils.js.map +1 -0
  229. package/components/DesignTokens/DesignTokenUtils.js +2 -2
  230. package/components/DesignTokens/components/Step.js +1 -1
  231. package/components/DesignTokens/components/Step.js.map +1 -1
  232. package/components/Divider/Divider.js +18 -18
  233. package/components/DocumentNumberEdit/DocumentNumberEdit.js +4 -4
  234. package/components/Dropdown/desktop/DropdownDesktop.js +7 -7
  235. package/components/Dropdown/desktop/DropdownList.js +2 -2
  236. package/components/Dropdown/desktop/DropdownListItem.js +2 -2
  237. package/components/Dropdown/desktop/index.js +1 -1
  238. package/components/Dropdown/index.js +1 -1
  239. package/components/Dropdown/mobile/DropdownMobile.js +2 -2
  240. package/components/Dropdown/mobile/DropdownMobileBody.js +2 -2
  241. package/components/Dropdown/mobile/DropdownMobileClose.js +2 -2
  242. package/components/Dropdown/mobile/DropdownMobileFooter.js +2 -2
  243. package/components/Dropdown/mobile/DropdownMobileHeader.js +2 -2
  244. package/components/Dropdown/mobile/DropdownMobileInner.js +2 -2
  245. package/components/Dropdown/mobile/DropdownMobileInput.js +2 -2
  246. package/components/Dropdown/mobile/DropdownMobileList.js +2 -2
  247. package/components/Dropdown/mobile/DropdownMobileListItem.js +2 -2
  248. package/components/Dropdown/mobile/DropdownMobileLoader.js +2 -2
  249. package/components/Dropdown/mobile/DropdownMobileMaskedInput.js +2 -2
  250. package/components/Ellipsis/Ellipsis.js +4 -4
  251. package/components/EmptyView/EmptyView.js +5 -5
  252. package/components/ExpandAnimation/ExpandAnimation.js +2 -2
  253. package/components/FocusTrapExtended/FocusTrapExtended.js +1 -1
  254. package/components/Footer/Footer.js +1 -1
  255. package/components/Footer/components/FooterDescription.js +2 -2
  256. package/components/Footer/components/FooterDescriptionContent.js +2 -2
  257. package/components/Footer/components/FooterDescriptionControls.js +2 -2
  258. package/components/FormField/FormField.js +12 -12
  259. package/components/FormField/FormFieldContext.js.map +1 -1
  260. package/components/FormField/components/FormFieldClear.js +2 -2
  261. package/components/FormField/components/FormFieldCounter.js +2 -2
  262. package/components/FormField/components/FormFieldDescription.js +3 -3
  263. package/components/FormField/components/FormFieldInput.js +6 -5
  264. package/components/FormField/components/FormFieldInput.js.map +1 -1
  265. package/components/FormField/components/FormFieldLabel.js +21 -9
  266. package/components/FormField/components/FormFieldLabel.js.map +1 -1
  267. package/components/FormField/components/FormFieldMaskedInput.js +29 -35
  268. package/components/FormField/components/FormFieldMaskedInput.js.map +1 -1
  269. package/components/FormField/components/FormFieldPostfix.js +2 -2
  270. package/components/FormField/components/FormFieldPrefix.js +2 -2
  271. package/components/FormField/components/FormFieldTarget.js +10 -13
  272. package/components/FormField/components/FormFieldTarget.js.map +1 -1
  273. package/components/FormField/components/FormFieldTextarea.js +6 -5
  274. package/components/FormField/components/FormFieldTextarea.js.map +1 -1
  275. package/components/FormField/components/useFormFieldAffixWidth.js +1 -1
  276. package/components/FormField/components/useFormFieldAffixWidth.js.map +1 -1
  277. package/components/FormField/components/utils.js +1 -9
  278. package/components/FormField/components/utils.js.map +1 -1
  279. package/components/Gap/Gap.js +9 -9
  280. package/components/Header/Header.js +1 -1
  281. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebar.js +2 -2
  282. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarContent.js +2 -2
  283. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarSidebar.js +2 -2
  284. package/components/Header/components/HeaderSubheader/HeaderSubheader.js +3 -3
  285. package/components/Header/components/HeaderTabs/HeaderTabs.js +2 -2
  286. package/components/Header/components/HeaderTabs/HeaderTabsContent.js +2 -2
  287. package/components/Header/components/HeaderTabs/HeaderTabsControls.js +2 -2
  288. package/components/Header/components/HeaderTitle/HeaderTitle.js +2 -2
  289. package/components/Header/components/HeaderTitle/HeaderTitleContent.js +2 -2
  290. package/components/Header/components/HeaderTitle/HeaderTitleControls.js +2 -2
  291. package/components/HelpBox/HelpBox.js +53 -45
  292. package/components/HelpBox/HelpBox.js.map +1 -1
  293. package/components/IconWrapper/IconWrapper.js +3 -3
  294. package/components/ImageGallery/ImageGallery.js +1 -1
  295. package/components/ImageGalleryExtended/ImageGalleryExtended.js +3 -3
  296. package/components/ImageGalleryExtended/components/ImageGalleryExtendedArrow.js +2 -2
  297. package/components/ImageGalleryExtended/components/ImageGalleryExtendedDots.js +4 -4
  298. package/components/ImageGalleryExtended/components/ImageGalleryExtendedMain.js +2 -2
  299. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSlide.js +2 -2
  300. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSwipeTrack.js +2 -2
  301. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumb.js +2 -2
  302. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumbnails.js +2 -2
  303. package/components/ImageGalleryExtended/components/index.js +1 -1
  304. package/components/ImageGalleryExtended/index.js +1 -1
  305. package/components/Island/Island.js +2 -2
  306. package/components/Island/components/IslandBody.js +2 -2
  307. package/components/Island/components/IslandFooter.js +2 -2
  308. package/components/Island/components/IslandHeader.js +2 -2
  309. package/components/Island/utils.js +1 -1
  310. package/components/IslandAccordion/IslandAccordion.js +3 -3
  311. package/components/IslandAccordion/IslandAccordion.js.map +1 -1
  312. package/components/IslandAccordion/IslandAccordionContext.js.map +1 -1
  313. package/components/IslandAccordion/components/IslandAccordionContent.js +1 -1
  314. package/components/IslandAccordion/components/IslandAccordionContent.js.map +1 -1
  315. package/components/IslandAccordion/components/IslandAccordionFooter.js +2 -2
  316. package/components/IslandAccordion/components/IslandAccordionFooter.js.map +1 -1
  317. package/components/IslandAccordion/components/IslandAccordionItem.js +17 -20
  318. package/components/IslandAccordion/components/IslandAccordionItem.js.map +1 -1
  319. package/components/IslandWidget/IslandWidget.js +18 -15
  320. package/components/IslandWidget/IslandWidget.js.map +1 -1
  321. package/components/IslandWidget/IslandWidgetContext.js.map +1 -1
  322. package/components/IslandWidget/IslandWidgetLayoutContext.js +3 -1
  323. package/components/IslandWidget/IslandWidgetLayoutContext.js.map +1 -1
  324. package/components/IslandWidget/components/IslandWidgetBody.js +5 -5
  325. package/components/IslandWidget/components/IslandWidgetBody.js.map +1 -1
  326. package/components/IslandWidget/components/IslandWidgetExtraFooter.js +10 -6
  327. package/components/IslandWidget/components/IslandWidgetExtraFooter.js.map +1 -1
  328. package/components/IslandWidget/components/IslandWidgetFooter.js +2 -2
  329. package/components/IslandWidget/components/IslandWidgetFooter.js.map +1 -1
  330. package/components/IslandWidget/components/IslandWidgetFooterContent.js +4 -2
  331. package/components/IslandWidget/components/IslandWidgetFooterContent.js.map +1 -1
  332. package/components/IslandWidget/components/IslandWidgetFooterControls.js +4 -2
  333. package/components/IslandWidget/components/IslandWidgetFooterControls.js.map +1 -1
  334. package/components/IslandWidget/components/IslandWidgetHeader.js +12 -7
  335. package/components/IslandWidget/components/IslandWidgetHeader.js.map +1 -1
  336. package/components/IslandWidget/components/IslandWidgetHeaderContent.js +2 -3
  337. package/components/IslandWidget/components/IslandWidgetHeaderContent.js.map +1 -1
  338. package/components/IslandWidget/components/IslandWidgetHeaderControls.js +2 -2
  339. package/components/IslandWidget/components/IslandWidgetHeaderControls.js.map +1 -1
  340. package/components/IslandWidget/components/IslandWidgetHeaderDescription.js +2 -2
  341. package/components/IslandWidget/components/IslandWidgetHeaderDescription.js.map +1 -1
  342. package/components/IslandWidget/components/IslandWidgetHeaderTitle.js +2 -2
  343. package/components/IslandWidget/components/IslandWidgetHeaderTitle.js.map +1 -1
  344. package/components/IslandWidget/components/IslandWidgetWrapper.js +15 -5
  345. package/components/IslandWidget/components/IslandWidgetWrapper.js.map +1 -1
  346. package/components/LightBox/LightBox.js +6 -6
  347. package/components/LightBox/LightBoxContent.js +2 -2
  348. package/components/LightBox/LightBoxControls/LightBoxArrow.js +2 -2
  349. package/components/LightBox/LightBoxControls/LightBoxClose.js +2 -2
  350. package/components/LightBox/LightBoxControls/LightBoxControls.js +2 -2
  351. package/components/LightBox/LightBoxControls/LightBoxNext.js +2 -2
  352. package/components/LightBox/LightBoxControls/LightBoxPrev.js +2 -2
  353. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js +13 -13
  354. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseDesktop.js +2 -2
  355. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseMobile.js +2 -2
  356. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js +1 -1
  357. package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js +4 -4
  358. package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js +4 -4
  359. package/components/LightBox/LightBoxViewManager/LightBoxViewManager.js +1 -1
  360. package/components/Link/Link.js +6 -6
  361. package/components/List/List.js +4 -4
  362. package/components/List/ListSortable.js +1 -1
  363. package/components/List/components/ListActionItem.js +2 -2
  364. package/components/List/components/ListEmptyState.js +2 -2
  365. package/components/List/components/ListItem.js +1 -1
  366. package/components/List/components/ListItemContent.js +5 -5
  367. package/components/List/components/ListItemControls.js +2 -2
  368. package/components/List/components/ListItemControlsButton.js +2 -2
  369. package/components/List/components/ListItemControlsButtonDropdown.js +3 -3
  370. package/components/List/components/ListItemControlsButtonDropdown.js.map +1 -1
  371. package/components/List/components/ListItemLoading.js +2 -2
  372. package/components/List/components/ListItemSelectable.js +7 -7
  373. package/components/List/components/ListItemTailLeft.js +2 -2
  374. package/components/List/components/ListItemTailRight.js +2 -2
  375. package/components/List/components/ListSortableItem.js +4 -4
  376. package/components/List/components/ListSortableItem.js.map +1 -1
  377. package/components/List/components/ListSortableItemControls.js +2 -2
  378. package/components/List/components/ListSortableItemTarget.js +5 -5
  379. package/components/List/components/ListTableItem.js +4 -4
  380. package/components/List/index.js +1 -1
  381. package/components/List/utils.js +1 -9
  382. package/components/List/utils.js.map +1 -1
  383. package/components/ListMaster/ListMaster.js +1 -1
  384. package/components/ListMaster/components/ListMasterBody.js +1 -1
  385. package/components/ListMaster/components/ListMasterChipGroup.js +2 -2
  386. package/components/ListMaster/components/ListMasterFooter.js +2 -2
  387. package/components/ListMaster/components/ListMasterFooterControls.js +2 -2
  388. package/components/ListMaster/components/ListMasterFooterDescription.js +2 -2
  389. package/components/ListMaster/components/ListMasterHeader.js +3 -3
  390. package/components/ListMaster/components/SelectionControls.js +3 -3
  391. package/components/Loader/LoaderMiddle/LoaderMiddle.js +9 -9
  392. package/components/Loader/LoaderSmall/LoaderSmall.js +11 -11
  393. package/components/LoaderScreen/LoaderScreen.js +6 -6
  394. package/components/Marker/Marker.js +2 -2
  395. package/components/Marker/utils.js +1 -1
  396. package/components/MarkerStatus/MarkerStatus.js +8 -8
  397. package/components/ModalWindow/ModalWindow.js +2 -2
  398. package/components/ModalWindow/components/ModalWindowBody.js +2 -2
  399. package/components/ModalWindow/components/ModalWindowClose.js +1 -1
  400. package/components/ModalWindow/components/ModalWindowContent.js +2 -2
  401. package/components/ModalWindow/components/ModalWindowHeader.js +2 -2
  402. package/components/ModalWindow/components/ModalWindowViewManager.js +2 -2
  403. package/components/MonthYearField/MonthYearFieldTarget.js +5 -5
  404. package/components/MonthYearRange/MonthYearRange.js +4 -4
  405. package/components/MultiselectField/components/MultiselectFieldDropdown.js +2 -2
  406. package/components/MultiselectField/components/MultiselectFieldDropdownContent.js +6 -6
  407. package/components/MultiselectField/components/MultiselectFieldDropdownFooter.js +2 -2
  408. package/components/MultiselectField/components/MultiselectFieldDropdownHeader.js +2 -2
  409. package/components/Notification/Notification.js +3 -3
  410. package/components/Notification/NotificationGrouped.js +1 -1
  411. package/components/Notification/components/NotificationBody.js +1 -1
  412. package/components/Notification/components/NotificationBodyList.js +2 -2
  413. package/components/Notification/components/NotificationClose.js +1 -1
  414. package/components/Notification/components/NotificationFooter.js +1 -1
  415. package/components/Notification/components/NotificationGroupedFooter.js +2 -2
  416. package/components/Notification/components/NotificationHeader.js +1 -1
  417. package/components/Notification/components/NotificationIcon.js +1 -1
  418. package/components/Notification/components/NotificationTime.js +1 -1
  419. package/components/OrderedList/OrderedList.js +3 -3
  420. package/components/OrderedList/OrderedListItem.js +3 -3
  421. package/components/Overlay/Overlay.js +2 -2
  422. package/components/Overlay/OverlayMask.js +2 -2
  423. package/components/Overlay/OverlayPanel.js +2 -2
  424. package/components/Page/Page.js +2 -2
  425. package/components/Page/components/BodyPage.js +8 -8
  426. package/components/Page/components/FooterPage.js +7 -14
  427. package/components/Page/components/FooterPage.js.map +1 -1
  428. package/components/Page/components/HeaderPage.js +2 -2
  429. package/components/Pagination/components/PaginationExtended.js +3 -3
  430. package/components/Pagination/components/PaginationNavigationButton.js +2 -2
  431. package/components/Pagination/components/PaginationNavigationExtended.js +2 -2
  432. package/components/Pagination/components/PaginationPageButton.js +3 -3
  433. package/components/Pagination/components/PaginationPageEllipsis.js +2 -2
  434. package/components/Pagination/components/PaginationSelect.js +3 -3
  435. package/components/Pagination/utils.js +1 -1
  436. package/components/Radio/Radio.js +10 -10
  437. package/components/Radio/RadioXGroup.js +9 -9
  438. package/components/Radio/RadioYGroup.js +2 -2
  439. package/components/Row/Row.js +5 -5
  440. package/components/SMSField/SMSField.js +3 -3
  441. package/components/SMSField/components/RefreshIcon.js +2 -2
  442. package/components/SMSField/components/SMSFieldInput.js +2 -2
  443. package/components/SMSField/components/SMSFieldRefresh.js +2 -2
  444. package/components/SMSField/components/SMSFieldSubmit.js +2 -2
  445. package/components/SMSField/components/SMSFieldTooltip.js +1 -1
  446. package/components/SegmentedControl/SegmentedControl.js +10 -10
  447. package/components/SegmentedControl/SegmentedControlSegment.js +4 -4
  448. package/components/SelectExtendedField/SelectExtendedField.js +2 -2
  449. package/components/SelectExtendedField/components/SelectExtendedFieldDropdown.js +1 -1
  450. package/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js +1 -1
  451. package/components/SelectExtendedField/components/SelectExtendedFieldTarget.js +8 -8
  452. package/components/SelectField/SelectField.js +2 -2
  453. package/components/Skeleton/Skeleton.js +6 -6
  454. package/components/Slider/Slider.js +10 -14
  455. package/components/Slider/Slider.js.map +1 -1
  456. package/components/SliderExtended/SliderExtended.js +3 -3
  457. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js +7 -7
  458. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js.map +1 -1
  459. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMark.js +2 -2
  460. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarks.js +2 -2
  461. package/components/SliderExtended/components/SliderExtendedMoveHandler.js +1 -1
  462. package/components/SliderExtended/components/SliderExtendedRail.js +3 -3
  463. package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js +6 -6
  464. package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js.map +1 -1
  465. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js +8 -8
  466. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js.map +1 -1
  467. package/components/SliderRange/SliderRange.js +12 -19
  468. package/components/SliderRange/SliderRange.js.map +1 -1
  469. package/components/SmallInput/SmallInput.js +2 -2
  470. package/components/Spoiler/Spoiler.js +11 -11
  471. package/components/StatusTracker/StatusTracker.js +3 -3
  472. package/components/StatusTracker/components/StatusTrackerAlert.js +2 -2
  473. package/components/StatusTracker/components/StatusTrackerBody.js +2 -2
  474. package/components/StatusTracker/components/StatusTrackerButton.js +2 -2
  475. package/components/StatusTracker/components/StatusTrackerDescription.js +2 -2
  476. package/components/StatusTracker/components/StatusTrackerFooter.js +2 -2
  477. package/components/StatusTracker/components/StatusTrackerHeader.js +2 -2
  478. package/components/StatusTracker/components/StatusTrackerMedia.js +2 -2
  479. package/components/StatusTracker/components/StatusTrackerStatus.js +2 -2
  480. package/components/StatusTracker/components/StatusTrackerStatusGroup.js +2 -2
  481. package/components/StatusTracker/components/StatusTrackerSum.js +2 -2
  482. package/components/StatusTracker/components/StatusTrackerTitle.js +2 -2
  483. package/components/Step/Step.js +11 -11
  484. package/components/Stepper/Stepper.js +9 -9
  485. package/components/Stepper/StepperExtended.js +2 -2
  486. package/components/Stepper/StepperStep.js +3 -3
  487. package/components/Stepper/StepperStepArrowBorder.js +1 -1
  488. package/components/Suggest/SuggestMobileDropdownContent.js +3 -3
  489. package/components/Suggest/useSuggest.js +1 -1
  490. package/components/SuggestField/SuggestField.js +1 -1
  491. package/components/SuggestField/desktop/SuggestFieldDesktop.js +2 -2
  492. package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js +1 -1
  493. package/components/SuggestField/index.js +1 -1
  494. package/components/SuggestField/mobile/SuggestFieldMobile.js +1 -1
  495. package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js +2 -2
  496. package/components/SuggestField/mobile/SuggestFieldMobileDropdownHint.js +1 -1
  497. package/components/SuggestField/mobile/index.js +1 -1
  498. package/components/SwipeableArea/SwipeableArea.js +9 -9
  499. package/components/Table/ChipPanel.js +2 -2
  500. package/components/Table/ChipPanelLinks.js +2 -2
  501. package/components/Table/FilterPanel.js +3 -3
  502. package/components/Table/MasterTable.js +3 -3
  503. package/components/Table/NoColumns.js +3 -3
  504. package/components/Table/PaginationPanel.js +3 -3
  505. package/components/Table/TableBasic/TableBasic.js +2 -2
  506. package/components/Table/TableBasic/components/TableBasicBody.js +2 -2
  507. package/components/Table/TableBasic/components/TableBasicHeader.js +2 -2
  508. package/components/Table/TableBasic/components/TableBasicRow.js +2 -2
  509. package/components/Table/TableBasicSettings/TableBasicSettings.js +3 -3
  510. package/components/Table/TableBasicSettings/components/ColumnSettingsSortableListItemTarget.js +3 -3
  511. package/components/Table/TableBasicSettings/components/ColumnSettingsStaticListItem.js +2 -2
  512. package/components/Table/TableBasicSettings/components/TableBasicSettingsBody.js +2 -2
  513. package/components/Table/TableBasicSettings/components/TableBasicSettingsFooter.js +2 -2
  514. package/components/Table/TableBasicSettings/components/TableBasicSettingsHeader.js +2 -2
  515. package/components/Table/TableFooter/TableFooter.js +2 -2
  516. package/components/Table/TableFooter/components/TableFooterSummary.js +1 -1
  517. package/components/Table/TableFooter/components/TableFooterSummaryAmount.js +1 -1
  518. package/components/Table/TableFooter/components/TableFooterSummarySelectAllButton.js +1 -1
  519. package/components/Table/TableFooter/components/TableFooterSummarySelectedCount.js +1 -1
  520. package/components/Table/utils.js +1 -1
  521. package/components/Tabs/Tabs.js +9 -9
  522. package/components/TabsExtended/TabsExtended.js +3 -3
  523. package/components/TabsExtended/components/TabsExtendedContent.js +2 -2
  524. package/components/TabsExtended/components/TabsExtendedDropdownWrapper.js +2 -2
  525. package/components/TabsExtended/components/TabsExtendedTab.js +2 -2
  526. package/components/TabsExtended/components/TabsExtendedTabButton.js +2 -2
  527. package/components/TabsExtended/components/TabsExtendedTabsWrapper.js +2 -2
  528. package/components/TabsExtended/utils.js +1 -1
  529. package/components/TabsLine/TabsLine.js +20 -17
  530. package/components/TabsLine/TabsLine.js.map +1 -1
  531. package/components/TabsLine/components/TabsLineDesktop.js +85 -98
  532. package/components/TabsLine/components/TabsLineDesktop.js.map +1 -1
  533. package/components/TabsLine/components/TabsLineDropdown.js +122 -86
  534. package/components/TabsLine/components/TabsLineDropdown.js.map +1 -1
  535. package/components/TabsLine/components/TabsLineItem.js +43 -27
  536. package/components/TabsLine/components/TabsLineItem.js.map +1 -1
  537. package/components/TabsLine/components/TabsLineMobile.js +20 -15
  538. package/components/TabsLine/components/TabsLineMobile.js.map +1 -1
  539. package/components/TabsLine/utils.js +8 -0
  540. package/components/TabsLine/utils.js.map +1 -1
  541. package/components/Tag/Tag.js +6 -6
  542. package/components/TagColor/TagColor.js +11 -11
  543. package/components/TagGroup/TagGroup.js +5 -5
  544. package/components/TextareaField/TextareaField.js +5 -1
  545. package/components/TextareaField/TextareaField.js.map +1 -1
  546. package/components/ThemeProvider/ThemeProvider.js +1 -1
  547. package/components/ThemeProvider/components/ThemeProviderView.js +1 -1
  548. package/components/Tooltip/components/common/TooltipBody.js +2 -2
  549. package/components/Tooltip/components/common/TooltipLink.js +5 -5
  550. package/components/Tooltip/components/common/TooltipXButton.js +1 -1
  551. package/components/Tooltip/components/desktop/components/TooltipDesktopBase.js +2 -2
  552. package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js +2 -2
  553. package/components/Tooltip/components/mobile/TooltipMobile.js +5 -5
  554. package/components/TopOverlay/TopOverlay.js +7 -7
  555. package/components/TreeView/TreeView.js +13 -8
  556. package/components/TreeView/TreeView.js.map +1 -1
  557. package/components/TreeView/components/TreeViewGroup.js +2 -2
  558. package/components/TreeView/components/TreeViewNode.js +2 -2
  559. package/components/Triggers/TriggerClickOnKeyDownEvent.js +2 -5
  560. package/components/Triggers/TriggerClickOnKeyDownEvent.js.map +1 -1
  561. package/components/Typography/Caption.js +8 -8
  562. package/components/Typography/CodeText.js +3 -3
  563. package/components/Typography/Text.js +10 -10
  564. package/components/Typography/Title.js +10 -10
  565. package/components/Typography/constants.js +1 -1
  566. package/components/UnorderedListExtended/UnorderedListExtended.js +3 -3
  567. package/components/UnorderedListExtended/UnorderedListExtendedItem.js +3 -3
  568. package/components/UnorderedListExtended/UnorderedListExtendedItemMarker.js +4 -4
  569. package/components/UploadZone/UploadZone.js +3 -3
  570. package/components/UploadZone/components/UploadZoneInput.js +2 -2
  571. package/components/UploadZone/index.js +1 -1
  572. package/components/WindowResizeListener/WindowResizeListener.js +1 -1
  573. package/components/index.js +10 -6
  574. package/components/index.js.map +1 -1
  575. package/{components/SliderExtended/utils.js → helpers/setForwardedRef.js} +2 -2
  576. package/helpers/setForwardedRef.js.map +1 -0
  577. package/index.d.ts +426 -204
  578. package/index.js +10 -6
  579. package/index.js.map +1 -1
  580. package/package.json +1 -1
  581. package/styles/triplex-next.css +3044 -3046
  582. package/utils/amountUtils.js +1 -1
  583. package/chunks/Card.module-CNOChUdZ.js +0 -32
  584. package/chunks/Card.module-CNOChUdZ.js.map +0 -1
  585. package/chunks/Carousel.module-BpVAzSjh.js +0 -34
  586. package/chunks/Carousel.module-BpVAzSjh.js.map +0 -1
  587. package/chunks/CheckboxTreeExtended.module-BqOLLHuh.js +0 -24
  588. package/chunks/CheckboxTreeExtended.module-BqOLLHuh.js.map +0 -1
  589. package/chunks/Confirm.module-Dw5sV0a8.js +0 -24
  590. package/chunks/Confirm.module-Dw5sV0a8.js.map +0 -1
  591. package/chunks/DropdownMobile.module-ljfYoQZP.js +0 -40
  592. package/chunks/DropdownMobile.module-ljfYoQZP.js.map +0 -1
  593. package/chunks/Footer.module-DgSEqR3M.js +0 -12
  594. package/chunks/Footer.module-DgSEqR3M.js.map +0 -1
  595. package/chunks/HeaderLayoutSidebar.module-k_1rIXs0.js.map +0 -1
  596. package/chunks/HeaderTabs.module-Dm__bdlz.js +0 -12
  597. package/chunks/HeaderTabs.module-Dm__bdlz.js.map +0 -1
  598. package/chunks/HeaderTitle.module-BbIcVzwx.js.map +0 -1
  599. package/chunks/ImageGalleryExtendedMain.module--816bwiO.js +0 -28
  600. package/chunks/ImageGalleryExtendedMain.module--816bwiO.js.map +0 -1
  601. package/chunks/IslandAccordion.module-4rzQ8p9D.js +0 -44
  602. package/chunks/IslandAccordion.module-4rzQ8p9D.js.map +0 -1
  603. package/chunks/IslandWidgetFooter.module-Dxb05X44.js +0 -18
  604. package/chunks/IslandWidgetFooter.module-Dxb05X44.js.map +0 -1
  605. package/chunks/IslandWidgetHeader.module-K8SbMdcg.js +0 -28
  606. package/chunks/IslandWidgetHeader.module-K8SbMdcg.js.map +0 -1
  607. package/chunks/LightBoxControls.module-DsLaGx4X.js +0 -26
  608. package/chunks/LightBoxControls.module-DsLaGx4X.js.map +0 -1
  609. package/chunks/LightBoxSideOverlayClose.module-B_RmH_Zj.js.map +0 -1
  610. package/chunks/ListItemTail.module-CwDNx9W5.js +0 -18
  611. package/chunks/ListItemTail.module-CwDNx9W5.js.map +0 -1
  612. package/chunks/ListMasterFooter.module-D7b9ZUqR.js +0 -14
  613. package/chunks/ListMasterFooter.module-D7b9ZUqR.js.map +0 -1
  614. package/chunks/ModalWindow.module-urBVReGQ.js +0 -28
  615. package/chunks/ModalWindow.module-urBVReGQ.js.map +0 -1
  616. package/chunks/Notification.module-BgjNhU2P.js +0 -34
  617. package/chunks/Notification.module-BgjNhU2P.js.map +0 -1
  618. package/chunks/Overlay.module-DlzZBVdp.js +0 -30
  619. package/chunks/Overlay.module-DlzZBVdp.js.map +0 -1
  620. package/chunks/Page.module-CEeCuq1n.js +0 -15
  621. package/chunks/Page.module-CEeCuq1n.js.map +0 -1
  622. package/chunks/SMSField.module-CGuPONeF.js +0 -30
  623. package/chunks/SMSField.module-CGuPONeF.js.map +0 -1
  624. package/chunks/SliderExtendedMarks.module-SGdABaf_.js +0 -24
  625. package/chunks/SliderExtendedMarks.module-SGdABaf_.js.map +0 -1
  626. package/chunks/SliderExtendedRail-VEYm3CWM.js.map +0 -1
  627. package/chunks/StatusTracker.module-oLJmSAgs.js +0 -44
  628. package/chunks/StatusTracker.module-oLJmSAgs.js.map +0 -1
  629. package/chunks/TableFooter.module-DOL7cRaV.js +0 -22
  630. package/chunks/TableFooter.module-DOL7cRaV.js.map +0 -1
  631. package/chunks/TabsExtended.module-DveIh7_v.js +0 -26
  632. package/chunks/TabsExtended.module-DveIh7_v.js.map +0 -1
  633. package/chunks/TabsLine.module-CFuF3nRE.js +0 -36
  634. package/chunks/TabsLine.module-CFuF3nRE.js.map +0 -1
  635. package/chunks/TooltipDesktop.module-Bay9M-y1.js +0 -32
  636. package/chunks/TooltipDesktop.module-Bay9M-y1.js.map +0 -1
  637. package/chunks/TreeView.module-B1mjvRWg.js +0 -12
  638. package/chunks/TreeView.module-B1mjvRWg.js.map +0 -1
  639. package/chunks/vendor-D4wvHis9.js.map +0 -1
  640. package/components/SliderExtended/utils.js.map +0 -1
@@ -1,108 +1,95 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useState, useRef, useEffect } from "react";
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import React__default, { useState, useRef, useMemo } from "react";
3
+ import { c as clsx } from "../../../chunks/vendor-CUIykw0y.js";
4
+ import { isKey } from "../../../utils/keyboard.js";
5
+ import { splitTabsByMaxVisible } from "../utils.js";
3
6
  import { TabsLineDropdown } from "./TabsLineDropdown.js";
4
7
  import { TabsLineItem } from "./TabsLineItem.js";
5
- import { isKey } from "../../../utils/keyboard.js";
6
- import { l as lodashExports } from "../../../chunks/vendor-D4wvHis9.js";
7
- import { s as styles } from "../../../chunks/TabsLine.module-CFuF3nRE.js";
8
- const TabsLineDesktop = ({
9
- tabs,
10
- dropdownTargetHtmlAttributes,
11
- selectedId,
12
- onChangeTab,
13
- maxVisible,
14
- size
15
- }) => {
16
- const [inlineTabs, setInlineTabs] = useState([]);
17
- const [dropdownTabs, setDropdownTabs] = useState([]);
18
- const tabsRef = useRef(null);
19
- const focusableTabIndexRef = useRef(0);
20
- const inlineTabsRefs = useRef([]);
21
- useEffect(() => {
22
- const newDropdownTabs = [];
23
- const newInlineTabs = [];
24
- tabs.forEach((item, i) => {
25
- const collapsed = maxVisible && i + 1 >= maxVisible && tabs.length > maxVisible;
26
- const target = collapsed ? newDropdownTabs : newInlineTabs;
27
- target.push(item);
28
- });
29
- if (lodashExports.isEqual(newInlineTabs, inlineTabs) === false) {
30
- setInlineTabs(newInlineTabs);
31
- }
32
- if (lodashExports.isEqual(newDropdownTabs, dropdownTabs) === false) {
33
- setDropdownTabs(newDropdownTabs);
34
- }
35
- }, [tabs, maxVisible]);
36
- const renderInlineTab = ({ selected, onClick, onFocus, onBlur, size: itemSize, ...item }, index) => {
37
- const tabIndex = focusableTabIndexRef.current === index ? 0 : -1;
38
- const handleClick = (event) => {
39
- onChangeTab(item.id);
40
- onClick == null ? void 0 : onClick(event);
41
- };
42
- const handleKeyDown = (event) => {
43
- const isLastInlineTab = inlineTabs.length - 1 === focusableTabIndexRef.current;
44
- if (isKey(event.code, "ARROW_LEFT") || isKey(event.code, "ARROW_RIGHT") && !isLastInlineTab) {
45
- const delta = isKey(event.code, "ARROW_RIGHT") ? 1 : -1;
46
- const nextTabIndex = focusableTabIndexRef.current + delta;
47
- const nextTab = inlineTabsRefs.current[nextTabIndex];
48
- if (nextTab) {
49
- event.preventDefault();
50
- nextTab.focus();
8
+ import { s as styles } from "../../../chunks/TabsLine.module-BOD6aGpU.js";
9
+ const TabsLineDesktop = React__default.forwardRef(
10
+ ({
11
+ className,
12
+ dropdownTargetHtmlAttributes,
13
+ maxVisible,
14
+ onChangeTab,
15
+ selectedId,
16
+ size,
17
+ tabs,
18
+ ...htmlDivAttributes
19
+ }, ref) => {
20
+ const [focusableTabIndex, setFocusableTabIndex] = useState(0);
21
+ const inlineTabsRefs = useRef([]);
22
+ const { inlineTabs, dropdownTabs } = useMemo(() => splitTabsByMaxVisible(tabs, maxVisible), [tabs, maxVisible]);
23
+ const activeTabIndex = focusableTabIndex < inlineTabs.length ? focusableTabIndex : 0;
24
+ const renderInlineTab = ({ selected, onClick, onFocus, onBlur, size: itemSize, ...item }, index) => {
25
+ const handleClick = (event) => {
26
+ onChangeTab(item.id);
27
+ onClick == null ? void 0 : onClick(event);
28
+ };
29
+ const handleKeyDown = (event) => {
30
+ const isLastInlineTab = index === inlineTabs.length - 1;
31
+ if (isKey(event.code, "ARROW_LEFT") || isKey(event.code, "ARROW_RIGHT") && !isLastInlineTab) {
32
+ const delta = isKey(event.code, "ARROW_RIGHT") ? 1 : -1;
33
+ const nextTab = inlineTabsRefs.current[index + delta];
34
+ if (nextTab) {
35
+ event.preventDefault();
36
+ nextTab.focus();
37
+ }
51
38
  }
52
- }
53
- };
54
- const handleFocus = (event) => {
55
- focusableTabIndexRef.current = index;
56
- onFocus == null ? void 0 : onFocus(event);
57
- };
58
- const handleBlur = (event) => {
59
- focusableTabIndexRef.current = 0;
60
- onBlur == null ? void 0 : onBlur(event);
61
- };
62
- const setRef = (node) => {
63
- inlineTabsRefs.current[index] = node;
39
+ };
40
+ const handleFocus = (event) => {
41
+ setFocusableTabIndex(index);
42
+ onFocus == null ? void 0 : onFocus(event);
43
+ };
44
+ const handleBlur = (event) => {
45
+ setFocusableTabIndex(0);
46
+ onBlur == null ? void 0 : onBlur(event);
47
+ };
48
+ const setRef = (node) => {
49
+ inlineTabsRefs.current[index] = node;
50
+ };
51
+ return /* @__PURE__ */ jsx(
52
+ TabsLineItem,
53
+ {
54
+ selected: selectedId === item.id,
55
+ onClick: handleClick,
56
+ onKeyDown: handleKeyDown,
57
+ tabIndex: activeTabIndex === index ? 0 : -1,
58
+ onFocus: handleFocus,
59
+ onBlur: handleBlur,
60
+ ...item,
61
+ size: itemSize ?? size,
62
+ ref: setRef
63
+ },
64
+ item.id
65
+ );
64
66
  };
65
- return /* @__PURE__ */ jsx(
66
- TabsLineItem,
67
- {
68
- selected: selectedId === item.id,
69
- onClick: handleClick,
70
- onKeyDown: handleKeyDown,
71
- tabIndex,
72
- onFocus: handleFocus,
73
- onBlur: handleBlur,
74
- ...item,
75
- size: itemSize ?? size,
76
- ref: setRef
77
- },
78
- item.id
79
- );
80
- };
81
- const renderTabs = () => {
82
- const itemsToRender = inlineTabs.map((item, index) => renderInlineTab(item, index));
83
- if (dropdownTabs.length > 0) {
67
+ const renderDropdown = () => {
84
68
  const selectedTab = dropdownTabs.find((item) => item.id === selectedId);
85
- const dropdownLabel = selectedTab ? selectedTab.label : dropdownTabs[0].label;
86
- itemsToRender.push(
87
- /* @__PURE__ */ jsx(
88
- TabsLineDropdown,
89
- {
90
- tabs: dropdownTabs,
91
- active: selectedTab !== void 0,
92
- label: dropdownLabel,
93
- onClickTab: (item) => onChangeTab(item.id),
94
- selected: selectedTab,
95
- targetHtmlAttributes: dropdownTargetHtmlAttributes,
96
- size
97
- },
98
- "TabsLineDropdown"
99
- )
69
+ return /* @__PURE__ */ jsx(
70
+ TabsLineDropdown,
71
+ {
72
+ tabs: dropdownTabs,
73
+ active: selectedTab !== void 0,
74
+ label: selectedTab ? selectedTab.label : dropdownTabs[0].label,
75
+ onClickTab: (item) => onChangeTab(item.id),
76
+ selected: selectedTab,
77
+ targetHtmlAttributes: dropdownTargetHtmlAttributes,
78
+ size
79
+ },
80
+ "TabsLineDropdown"
100
81
  );
82
+ };
83
+ if (tabs.length === 0) {
84
+ return null;
101
85
  }
102
- return itemsToRender;
103
- };
104
- return tabs.length ? /* @__PURE__ */ jsx("div", { className: styles.tabsLine, ref: tabsRef, "data-size": size, children: renderTabs() }) : null;
105
- };
86
+ return /* @__PURE__ */ jsxs("div", { ...htmlDivAttributes, className: clsx(styles.tabsLine, className), "data-size": size, ref, children: [
87
+ inlineTabs.map((item, index) => renderInlineTab(item, index)),
88
+ dropdownTabs.length > 0 && renderDropdown()
89
+ ] });
90
+ }
91
+ );
92
+ TabsLineDesktop.displayName = "TabsLineDesktop";
106
93
  export {
107
94
  TabsLineDesktop
108
95
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TabsLineDesktop.js","sources":["../../../../src/components/TabsLine/components/TabsLineDesktop.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport { TestProps } from \"../../../types/CoreTypes\";\nimport { TabsLineDropdown } from \"./TabsLineDropdown\";\nimport { ITabsLineItemProps, TabsLineItem } from \"./TabsLineItem\";\nimport { ITabsLineBaseProps } from \"../types\";\nimport { isKey } from \"../../../utils/keyboard\";\nimport { isEqual } from \"lodash\";\nimport styles from \"../styles/TabsLine.module.less\";\n\n/** Свойства компонента TabsLineDesktop. */\nexport interface ITabsLineDesktopProps extends ITabsLineBaseProps {\n /** Атрибуты кнопки дропдауна. */\n dropdownTargetHtmlAttributes?: React.HTMLAttributes<HTMLButtonElement> & TestProps;\n /** Максимальное число отображаемых табов. */\n maxVisible?: number;\n}\n\nexport const TabsLineDesktop: React.FC<ITabsLineDesktopProps> = ({\n tabs,\n dropdownTargetHtmlAttributes,\n selectedId,\n onChangeTab,\n maxVisible,\n size,\n}) => {\n const [inlineTabs, setInlineTabs] = useState<ITabsLineItemProps[]>([]);\n const [dropdownTabs, setDropdownTabs] = useState<ITabsLineItemProps[]>([]);\n\n const tabsRef = useRef<HTMLDivElement>(null);\n const focusableTabIndexRef = useRef(0);\n const inlineTabsRefs = useRef<HTMLButtonElement[]>([]);\n\n useEffect(() => {\n const newDropdownTabs: ITabsLineItemProps[] = [];\n const newInlineTabs: ITabsLineItemProps[] = [];\n\n tabs.forEach((item: ITabsLineItemProps, i: number) => {\n const collapsed = maxVisible && i + 1 >= maxVisible && tabs.length > maxVisible;\n const target = collapsed ? newDropdownTabs : newInlineTabs;\n\n target.push(item);\n });\n\n if (isEqual(newInlineTabs, inlineTabs) === false) {\n setInlineTabs(newInlineTabs);\n }\n\n if (isEqual(newDropdownTabs, dropdownTabs) === false) {\n setDropdownTabs(newDropdownTabs);\n }\n }, [tabs, maxVisible]);\n\n const renderInlineTab = (\n { selected, onClick, onFocus, onBlur, size: itemSize, ...item }: ITabsLineItemProps,\n index: number,\n ) => {\n const tabIndex = focusableTabIndexRef.current === index ? 0 : -1;\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onChangeTab(item.id);\n onClick?.(event);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n /** Является ли таб в фокусе последним перед дропдауном */\n const isLastInlineTab = inlineTabs.length - 1 === focusableTabIndexRef.current;\n\n if (isKey(event.code, \"ARROW_LEFT\") || (isKey(event.code, \"ARROW_RIGHT\") && !isLastInlineTab)) {\n /** Движение влево или вправо */\n const delta = isKey(event.code, \"ARROW_RIGHT\") ? 1 : -1;\n\n /** Следующий таб, к которому переходим клавишей ArrowLeft/ArrowRight */\n const nextTabIndex = focusableTabIndexRef.current + delta;\n const nextTab = inlineTabsRefs.current[nextTabIndex];\n\n if (nextTab) {\n event.preventDefault();\n nextTab.focus();\n }\n }\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLButtonElement>) => {\n focusableTabIndexRef.current = index;\n onFocus?.(event);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLButtonElement>) => {\n focusableTabIndexRef.current = 0;\n onBlur?.(event);\n };\n\n const setRef = (node: HTMLButtonElement) => {\n inlineTabsRefs.current[index] = node;\n };\n\n return (\n <TabsLineItem\n key={item.id}\n selected={selectedId === item.id}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n tabIndex={tabIndex}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...item}\n size={itemSize ?? size}\n ref={setRef}\n />\n );\n };\n\n const renderTabs = () => {\n const itemsToRender: JSX.Element[] = inlineTabs.map((item, index) => renderInlineTab(item, index));\n\n if (dropdownTabs.length > 0) {\n const selectedTab = dropdownTabs.find((item) => item.id === selectedId);\n const dropdownLabel = selectedTab ? selectedTab.label : dropdownTabs[0].label;\n\n itemsToRender.push(\n <TabsLineDropdown\n key=\"TabsLineDropdown\"\n tabs={dropdownTabs}\n active={selectedTab !== undefined}\n label={dropdownLabel}\n onClickTab={(item) => onChangeTab(item.id)}\n selected={selectedTab}\n targetHtmlAttributes={dropdownTargetHtmlAttributes}\n size={size}\n />,\n );\n }\n\n return itemsToRender;\n };\n\n return tabs.length ? (\n <div className={styles.tabsLine} ref={tabsRef} data-size={size}>\n {/* eslint-disable-next-line react-hooks/refs */}\n {renderTabs()}\n </div>\n ) : null;\n};\n"],"names":["isEqual"],"mappings":"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"}
1
+ {"version":3,"file":"TabsLineDesktop.js","sources":["../../../../src/components/TabsLine/components/TabsLineDesktop.tsx"],"sourcesContent":["import React, { useMemo, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { TestProps } from \"../../../types/CoreTypes\";\nimport { isKey } from \"../../../utils/keyboard\";\nimport { ITabsLineBaseProps } from \"../types\";\nimport { splitTabsByMaxVisible } from \"../utils\";\nimport { TabsLineDropdown } from \"./TabsLineDropdown\";\nimport { ITabsLineItemProps, TabsLineItem } from \"./TabsLineItem\";\nimport styles from \"../styles/TabsLine.module.less\";\n\n/** Свойства компонента TabsLineDesktop. */\nexport interface ITabsLineDesktopProps extends ITabsLineBaseProps {\n /** Атрибуты кнопки дропдауна. */\n dropdownTargetHtmlAttributes?: React.HTMLAttributes<HTMLButtonElement> & TestProps;\n /** Максимальное число элементов строки, включая кнопку дропдауна. Без него все табы остаются в строке. */\n maxVisible?: number;\n}\n\n/**\n * Десктопный вариант TabsLine: табы в строку, не поместившиеся по maxVisible — в дропдауне.\n * Клавиатурная навигация по табам строки — стрелками влево/вправо (roving tabIndex).\n */\nexport const TabsLineDesktop = React.forwardRef<HTMLDivElement, ITabsLineDesktopProps>(\n (\n {\n className,\n dropdownTargetHtmlAttributes,\n maxVisible,\n onChangeTab,\n selectedId,\n size,\n tabs,\n ...htmlDivAttributes\n },\n ref,\n ) => {\n /** Индекс таба строки, доступного по Tab. Остальные табы выключены из порядка обхода. */\n const [focusableTabIndex, setFocusableTabIndex] = useState(0);\n const inlineTabsRefs = useRef<(HTMLButtonElement | null)[]>([]);\n\n const { inlineTabs, dropdownTabs } = useMemo(() => splitTabsByMaxVisible(tabs, maxVisible), [tabs, maxVisible]);\n\n // Если tabs или maxVisible уменьшились, сохранённый индекс может выйти за границы строки.\n // Без клэмпа ни один таб не получил бы tabIndex=0, и строка выпала бы из порядка обхода.\n // Клэмп производный, а не через useEffect: состояние, синхронизируемое эффектом, вернуло бы\n // react-hooks/set-state-in-effect, который этот рефакторинг как раз снял.\n const activeTabIndex = focusableTabIndex < inlineTabs.length ? focusableTabIndex : 0;\n\n const renderInlineTab = (\n { selected, onClick, onFocus, onBlur, size: itemSize, ...item }: ITabsLineItemProps,\n index: number,\n ) => {\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onChangeTab(item.id);\n onClick?.(event);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n /** Является ли таб в фокусе последним перед дропдауном. */\n const isLastInlineTab = index === inlineTabs.length - 1;\n\n if (isKey(event.code, \"ARROW_LEFT\") || (isKey(event.code, \"ARROW_RIGHT\") && !isLastInlineTab)) {\n const delta = isKey(event.code, \"ARROW_RIGHT\") ? 1 : -1;\n const nextTab = inlineTabsRefs.current[index + delta];\n\n if (nextTab) {\n event.preventDefault();\n nextTab.focus();\n }\n }\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLButtonElement>) => {\n setFocusableTabIndex(index);\n onFocus?.(event);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLButtonElement>) => {\n setFocusableTabIndex(0);\n onBlur?.(event);\n };\n\n const setRef = (node: HTMLButtonElement | null) => {\n inlineTabsRefs.current[index] = node;\n };\n\n return (\n <TabsLineItem\n key={item.id}\n selected={selectedId === item.id}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n tabIndex={activeTabIndex === index ? 0 : -1}\n onFocus={handleFocus}\n onBlur={handleBlur}\n // Осознанно спредим item последним: onClick/onFocus/onBlur/size выделены выше и смерджены\n // с внутренними, а onKeyDown и tabIndex из элемента tabs намеренно перекрывают внутренние —\n // это pre-existing контракт (см. «Ограничения» в TabsLine-ai.md), он не чинится в рамках\n // рефакторинга, чтобы не менять публичное поведение.\n {...item}\n size={itemSize ?? size}\n ref={setRef}\n />\n );\n };\n\n const renderDropdown = () => {\n const selectedTab = dropdownTabs.find((item) => item.id === selectedId);\n\n return (\n <TabsLineDropdown\n key=\"TabsLineDropdown\"\n tabs={dropdownTabs}\n active={selectedTab !== undefined}\n label={selectedTab ? selectedTab.label : dropdownTabs[0].label}\n onClickTab={(item) => onChangeTab(item.id)}\n selected={selectedTab}\n targetHtmlAttributes={dropdownTargetHtmlAttributes}\n size={size}\n />\n );\n };\n\n if (tabs.length === 0) {\n return null;\n }\n\n return (\n <div {...htmlDivAttributes} className={clsx(styles.tabsLine, className)} data-size={size} ref={ref}>\n {inlineTabs.map((item, index) => renderInlineTab(item, index))}\n {dropdownTabs.length > 0 && renderDropdown()}\n </div>\n );\n },\n);\n\nTabsLineDesktop.displayName = \"TabsLineDesktop\";\n"],"names":["React"],"mappings":";;;;;;;;AAsBO,MAAM,kBAAkBA,eAAM;AAAA,EACjC,CACI;AAAA,IACI;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,GAEP,QACC;AAED,UAAM,CAAC,mBAAmB,oBAAoB,IAAI,SAAS,CAAC;AAC5D,UAAM,iBAAiB,OAAqC,EAAE;AAE9D,UAAM,EAAE,YAAY,aAAA,IAAiB,QAAQ,MAAM,sBAAsB,MAAM,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC;AAM9G,UAAM,iBAAiB,oBAAoB,WAAW,SAAS,oBAAoB;AAEnF,UAAM,kBAAkB,CACpB,EAAE,UAAU,SAAS,SAAS,QAAQ,MAAM,UAAU,GAAG,KAAA,GACzD,UACC;AACD,YAAM,cAAc,CAAC,UAA+C;AAChE,oBAAY,KAAK,EAAE;AACnB,2CAAU;AAAA,MACd;AAEA,YAAM,gBAAgB,CAAC,UAAkD;AAErE,cAAM,kBAAkB,UAAU,WAAW,SAAS;AAEtD,YAAI,MAAM,MAAM,MAAM,YAAY,KAAM,MAAM,MAAM,MAAM,aAAa,KAAK,CAAC,iBAAkB;AAC3F,gBAAM,QAAQ,MAAM,MAAM,MAAM,aAAa,IAAI,IAAI;AACrD,gBAAM,UAAU,eAAe,QAAQ,QAAQ,KAAK;AAEpD,cAAI,SAAS;AACT,kBAAM,eAAA;AACN,oBAAQ,MAAA;AAAA,UACZ;AAAA,QACJ;AAAA,MACJ;AAEA,YAAM,cAAc,CAAC,UAA+C;AAChE,6BAAqB,KAAK;AAC1B,2CAAU;AAAA,MACd;AAEA,YAAM,aAAa,CAAC,UAA+C;AAC/D,6BAAqB,CAAC;AACtB,yCAAS;AAAA,MACb;AAEA,YAAM,SAAS,CAAC,SAAmC;AAC/C,uBAAe,QAAQ,KAAK,IAAI;AAAA,MACpC;AAEA,aACI;AAAA,QAAC;AAAA,QAAA;AAAA,UAEG,UAAU,eAAe,KAAK;AAAA,UAC9B,SAAS;AAAA,UACT,WAAW;AAAA,UACX,UAAU,mBAAmB,QAAQ,IAAI;AAAA,UACzC,SAAS;AAAA,UACT,QAAQ;AAAA,UAKP,GAAG;AAAA,UACJ,MAAM,YAAY;AAAA,UAClB,KAAK;AAAA,QAAA;AAAA,QAbA,KAAK;AAAA,MAAA;AAAA,IAgBtB;AAEA,UAAM,iBAAiB,MAAM;AACzB,YAAM,cAAc,aAAa,KAAK,CAAC,SAAS,KAAK,OAAO,UAAU;AAEtE,aACI;AAAA,QAAC;AAAA,QAAA;AAAA,UAEG,MAAM;AAAA,UACN,QAAQ,gBAAgB;AAAA,UACxB,OAAO,cAAc,YAAY,QAAQ,aAAa,CAAC,EAAE;AAAA,UACzD,YAAY,CAAC,SAAS,YAAY,KAAK,EAAE;AAAA,UACzC,UAAU;AAAA,UACV,sBAAsB;AAAA,UACtB;AAAA,QAAA;AAAA,QAPI;AAAA,MAAA;AAAA,IAUhB;AAEA,QAAI,KAAK,WAAW,GAAG;AACnB,aAAO;AAAA,IACX;AAEA,WACI,qBAAC,OAAA,EAAK,GAAG,mBAAmB,WAAW,KAAK,OAAO,UAAU,SAAS,GAAG,aAAW,MAAM,KACrF,UAAA;AAAA,MAAA,WAAW,IAAI,CAAC,MAAM,UAAU,gBAAgB,MAAM,KAAK,CAAC;AAAA,MAC5D,aAAa,SAAS,KAAK,eAAA;AAAA,IAAe,GAC/C;AAAA,EAER;AACJ;AAEA,gBAAgB,cAAc;"}
@@ -1,10 +1,14 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useState, useRef, useEffect, createElement } from "react";
3
- import { u as uniqueId, c as clsx } from "../../../chunks/vendor-D4wvHis9.js";
2
+ import React__default, { useState, useRef, useCallback, useEffect, createElement } from "react";
3
+ import { u as uniqueId, c as clsx } from "../../../chunks/vendor-CUIykw0y.js";
4
+ import { CaretdownStrokeSrvIcon16 } from "@sberbusiness/icons-next";
5
+ import { EComponentSize } from "../../../enums/EComponentSize.js";
6
+ import { createSizeToClassNameMap } from "../../../utils/classNameMaps.js";
7
+ import { isKey } from "../../../utils/keyboard.js";
4
8
  import { DropdownListContext } from "../../Dropdown/DropdownListContext.js";
5
9
  import "../../Dropdown/desktop/DropdownDesktop.js";
6
10
  import { DropdownList } from "../../Dropdown/desktop/DropdownList.js";
7
- import "../../../chunks/DropdownListItem-kMroiHoh.js";
11
+ import "../../../chunks/DropdownListItem-B9cIx_8A.js";
8
12
  import { EDropdownWidth } from "../../Dropdown/desktop/enums.js";
9
13
  import "../../Dropdown/mobile/DropdownMobile.js";
10
14
  import "../../Dropdown/mobile/DropdownMobileBody.js";
@@ -17,29 +21,27 @@ import "../../Dropdown/mobile/DropdownMobileList.js";
17
21
  import "../../Dropdown/mobile/DropdownMobileListItem.js";
18
22
  import "../../Loader/LoaderSmall/LoaderSmall.js";
19
23
  import "../../Loader/LoaderMiddle/LoaderMiddle.js";
20
- import { EComponentSize } from "../../../enums/EComponentSize.js";
21
24
  import { Dropdown } from "../../Dropdown/Dropdown.js";
22
- import { CaretdownStrokeSrvIcon16 } from "@sberbusiness/icons-next";
23
- import { isKey } from "../../../utils/keyboard.js";
24
- import { s as styles } from "../../../chunks/TabsLine.module-CFuF3nRE.js";
25
- import { createSizeToClassNameMap } from "../../../utils/classNameMaps.js";
26
25
  import { EFontType } from "../../Typography/enums.js";
27
26
  import "../../Typography/Caption.js";
28
27
  import "../../Typography/CodeText.js";
29
28
  import { Text } from "../../Typography/Text.js";
30
29
  import "../../Typography/Title.js";
31
30
  import { tabsLineSizeToTextSizeMap } from "../utils.js";
31
+ import { s as styles } from "../../../chunks/TabsLine.module-BOD6aGpU.js";
32
32
  const SIZE_TO_CLASS_NAME_MAP = createSizeToClassNameMap(styles);
33
- const TabsLineDropdown = ({
34
- tabs,
35
- active,
36
- label,
37
- onClickTab,
38
- selected,
39
- size = EComponentSize.MD,
40
- targetHtmlAttributes,
41
- ...rest
42
- }) => {
33
+ const TabsLineDropdown = React__default.forwardRef((props, ref) => {
34
+ const {
35
+ className,
36
+ tabs,
37
+ active,
38
+ label,
39
+ onClickTab,
40
+ selected,
41
+ size = EComponentSize.MD,
42
+ targetHtmlAttributes,
43
+ ...htmlDivAttributes
44
+ } = props;
43
45
  const [activeDescendant, setActiveDescendant] = useState(void 0);
44
46
  const [opened, setOpened] = useState(false);
45
47
  const [focused, setFocused] = useState(false);
@@ -47,6 +49,17 @@ const TabsLineDropdown = ({
47
49
  const targetRef = useRef(null);
48
50
  const dropdownRef = useRef(null);
49
51
  const instanceId = useRef(uniqueId());
52
+ const setRootRef = useCallback(
53
+ (node) => {
54
+ targetRef.current = node;
55
+ if (typeof ref === "function") {
56
+ ref(node);
57
+ } else if (ref) {
58
+ ref.current = node;
59
+ }
60
+ },
61
+ [ref]
62
+ );
50
63
  useEffect(() => {
51
64
  if (!opened) {
52
65
  return;
@@ -62,57 +75,77 @@ const TabsLineDropdown = ({
62
75
  document.removeEventListener("mouseup", handleClickOutside);
63
76
  };
64
77
  }, [opened]);
65
- const handleTargetClick = () => {
66
- setOpened(!opened);
78
+ const handleTargetClick = (event) => {
79
+ var _a;
80
+ setOpened((prevOpened) => !prevOpened);
81
+ (_a = targetHtmlAttributes == null ? void 0 : targetHtmlAttributes.onClick) == null ? void 0 : _a.call(targetHtmlAttributes, event);
67
82
  };
68
83
  const handleTargetKeyDown = (event) => {
84
+ var _a;
69
85
  if (!opened) {
70
86
  if (isKey(event.code, "ARROW_UP") || isKey(event.code, "ARROW_DOWN")) {
71
87
  event.preventDefault();
72
88
  setOpened(true);
73
89
  }
74
- }
75
- if (opened) {
90
+ } else {
76
91
  if (isKey(event.code, "TAB") || isKey(event.code, "ESCAPE")) {
77
92
  setOpened(false);
78
93
  }
79
94
  }
95
+ (_a = targetHtmlAttributes == null ? void 0 : targetHtmlAttributes.onKeyDown) == null ? void 0 : _a.call(targetHtmlAttributes, event);
80
96
  };
81
97
  const handleClickTab = (tab) => {
82
98
  onClickTab(tab);
83
- setOpened(!opened);
99
+ setOpened(false);
100
+ };
101
+ const handleTargetFocus = (event) => {
102
+ var _a;
103
+ setFocused(true);
104
+ (_a = targetHtmlAttributes == null ? void 0 : targetHtmlAttributes.onFocus) == null ? void 0 : _a.call(targetHtmlAttributes, event);
105
+ };
106
+ const handleTargetBlur = (event) => {
107
+ var _a;
108
+ setFocused(false);
109
+ (_a = targetHtmlAttributes == null ? void 0 : targetHtmlAttributes.onBlur) == null ? void 0 : _a.call(targetHtmlAttributes, event);
110
+ };
111
+ const handleTargetMouseEnter = (event) => {
112
+ var _a;
113
+ setHovered(true);
114
+ (_a = targetHtmlAttributes == null ? void 0 : targetHtmlAttributes.onMouseEnter) == null ? void 0 : _a.call(targetHtmlAttributes, event);
115
+ };
116
+ const handleTargetMouseLeave = (event) => {
117
+ var _a;
118
+ setHovered(false);
119
+ (_a = targetHtmlAttributes == null ? void 0 : targetHtmlAttributes.onMouseLeave) == null ? void 0 : _a.call(targetHtmlAttributes, event);
84
120
  };
85
121
  const renderTarget = () => {
86
- const { onFocus, onBlur, onMouseEnter, onMouseLeave, ...restTargetHtmlAttributes } = targetHtmlAttributes || {};
87
- const buttonClassName = clsx(styles.tab, SIZE_TO_CLASS_NAME_MAP[size], styles.dropdownTarget, {
88
- [styles.active]: active
89
- });
90
- const caretClassName = clsx(styles.dropdownTargetCaret, { [styles.opened]: opened });
91
- const handleFocus = (e) => {
92
- setFocused(true);
93
- onFocus == null ? void 0 : onFocus(e);
94
- };
95
- const handleBlur = (e) => {
96
- setFocused(false);
97
- onBlur == null ? void 0 : onBlur(e);
98
- };
99
- const handleMouseEnter = (e) => {
100
- setHovered(true);
101
- onMouseEnter == null ? void 0 : onMouseEnter(e);
102
- };
103
- const handleMouseLeave = (e) => {
104
- setHovered(false);
105
- onMouseLeave == null ? void 0 : onMouseLeave(e);
106
- };
122
+ const {
123
+ className: targetClassName,
124
+ onFocus,
125
+ onBlur,
126
+ onMouseEnter,
127
+ onMouseLeave,
128
+ onClick,
129
+ onKeyDown,
130
+ ...restTargetHtmlAttributes
131
+ } = targetHtmlAttributes || {};
107
132
  return /* @__PURE__ */ jsx(
108
133
  "button",
109
134
  {
110
135
  ...restTargetHtmlAttributes,
111
- onFocus: handleFocus,
112
- onBlur: handleBlur,
113
- onMouseEnter: handleMouseEnter,
114
- onMouseLeave: handleMouseLeave,
115
- className: buttonClassName,
136
+ onFocus: handleTargetFocus,
137
+ onBlur: handleTargetBlur,
138
+ onMouseEnter: handleTargetMouseEnter,
139
+ onMouseLeave: handleTargetMouseLeave,
140
+ className: clsx(
141
+ styles.tab,
142
+ SIZE_TO_CLASS_NAME_MAP[size],
143
+ styles.dropdownTarget,
144
+ {
145
+ [styles.active]: active
146
+ },
147
+ targetClassName
148
+ ),
116
149
  onClick: handleTargetClick,
117
150
  onKeyDown: handleTargetKeyDown,
118
151
  type: "button",
@@ -121,7 +154,7 @@ const TabsLineDropdown = ({
121
154
  "aria-expanded": opened,
122
155
  "aria-controls": instanceId.current,
123
156
  "aria-activedescendant": activeDescendant,
124
- children: /* @__PURE__ */ jsx("span", { className: styles.tabInner, children: /* @__PURE__ */ jsxs("span", { className: styles.dropdownTargetInner, children: [
157
+ children: /* @__PURE__ */ jsxs("span", { className: styles.dropdownTargetInner, children: [
125
158
  /* @__PURE__ */ jsx(
126
159
  Text,
127
160
  {
@@ -130,49 +163,52 @@ const TabsLineDropdown = ({
130
163
  children: label
131
164
  }
132
165
  ),
133
- /* @__PURE__ */ jsx(CaretdownStrokeSrvIcon16, { className: caretClassName, paletteIndex: 5 })
134
- ] }) })
135
- }
136
- );
137
- };
138
- const renderDropdown = () => {
139
- return /* @__PURE__ */ jsx(
140
- Dropdown,
141
- {
142
- className: styles.dropdown,
143
- opened,
144
- setOpened,
145
- size,
146
- width: EDropdownWidth.MIN_TARGET,
147
- targetRef,
148
- ref: dropdownRef,
149
- children: /* @__PURE__ */ jsx(DropdownListContext.Provider, { value: { activeDescendant, setActiveDescendant }, children: /* @__PURE__ */ jsx(DropdownList, { dropdownOpened: opened, id: instanceId.current, size, children: tabs.map((tab) => {
150
- const { id, label: label2, showNotificationIcon, ...htmlDivAttributes } = tab;
151
- const className = clsx(styles.dropdownItem);
152
- return /* @__PURE__ */ createElement(
153
- DropdownList.Item,
166
+ /* @__PURE__ */ jsx(
167
+ CaretdownStrokeSrvIcon16,
154
168
  {
155
- ...htmlDivAttributes,
156
- className,
157
- id,
158
- key: id,
159
- onSelect: () => {
160
- handleClickTab(tab);
161
- },
162
- selected: tab === selected,
163
- showNotificationIcon
164
- },
165
- /* @__PURE__ */ jsx("span", { className: styles.dropdownItemInner, children: label2 })
166
- );
167
- }) }) })
169
+ className: clsx(styles.dropdownTargetCaret, { [styles.opened]: opened }),
170
+ paletteIndex: 5
171
+ }
172
+ )
173
+ ] })
168
174
  }
169
175
  );
170
176
  };
171
- return /* @__PURE__ */ jsxs("div", { className: styles.tabsLineDropdown, ref: targetRef, ...rest, children: [
177
+ const renderDropdown = () => /* @__PURE__ */ jsx(
178
+ Dropdown,
179
+ {
180
+ className: styles.dropdown,
181
+ opened,
182
+ setOpened,
183
+ size,
184
+ width: EDropdownWidth.MIN_TARGET,
185
+ targetRef,
186
+ ref: dropdownRef,
187
+ children: /* @__PURE__ */ jsx(DropdownListContext.Provider, { value: { activeDescendant, setActiveDescendant }, children: /* @__PURE__ */ jsx(DropdownList, { dropdownOpened: opened, id: instanceId.current, size, children: tabs.map((tab, index) => {
188
+ const { id, label: tabLabel, showNotificationIcon, ...htmlButtonAttributes } = tab;
189
+ return /* @__PURE__ */ createElement(
190
+ DropdownList.Item,
191
+ {
192
+ ...htmlButtonAttributes,
193
+ id: `${instanceId.current}-item-${index}`,
194
+ key: id,
195
+ onSelect: () => {
196
+ handleClickTab(tab);
197
+ },
198
+ selected: tab === selected,
199
+ showNotificationIcon
200
+ },
201
+ tabLabel
202
+ );
203
+ }) }) })
204
+ }
205
+ );
206
+ return /* @__PURE__ */ jsxs("div", { ...htmlDivAttributes, className: clsx(styles.tabsLineDropdown, className), ref: setRootRef, children: [
172
207
  renderTarget(),
173
208
  renderDropdown()
174
209
  ] });
175
- };
210
+ });
211
+ TabsLineDropdown.displayName = "TabsLineDropdown";
176
212
  export {
177
213
  TabsLineDropdown
178
214
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TabsLineDropdown.js","sources":["../../../../src/components/TabsLine/components/TabsLineDropdown.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { TestProps } from \"../../../types/CoreTypes\";\nimport { Dropdown, DropdownList, DropdownListContext, EDropdownWidth } from \"../../Dropdown\";\nimport { CaretdownStrokeSrvIcon16 } from \"@sberbusiness/icons-next\";\nimport { isKey } from \"../../../utils/keyboard\";\nimport { uniqueId } from \"lodash-es\";\nimport { ITabsLineItemProps } from \"./TabsLineItem\";\nimport styles from \"../styles/TabsLine.module.less\";\nimport { EComponentSize } from \"@sberbusiness/triplex-next/enums/EComponentSize\";\nimport { createSizeToClassNameMap } from \"@sberbusiness/triplex-next/utils/classNameMaps\";\nimport { Text, EFontType } from \"../../Typography\";\nimport { tabsLineSizeToTextSizeMap } from \"../utils\";\n\n/** Свойства компонента TabsLineDropdown. */\ninterface ITabsLineDropdownProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Табы дропдауна. */\n tabs: ITabsLineItemProps[];\n /** Выбранный таб находится в дропдауне. */\n active: boolean;\n /** Текст таргет кнопки дропдауна. */\n label: string;\n /** Коллбэк выбора таба. */\n onClickTab: (tab: ITabsLineItemProps) => void;\n /** Выбранный таб. */\n selected?: ITabsLineItemProps;\n /** Размер таба кнопки дропдауна. */\n size?: EComponentSize;\n /** Атрибуты кнопки дропдауна. */\n targetHtmlAttributes?: React.HTMLAttributes<HTMLButtonElement> & TestProps;\n}\n\nconst SIZE_TO_CLASS_NAME_MAP = createSizeToClassNameMap(styles);\n\nexport const TabsLineDropdown: React.FC<ITabsLineDropdownProps> = ({\n tabs,\n active,\n label,\n onClickTab,\n selected,\n size = EComponentSize.MD,\n targetHtmlAttributes,\n ...rest\n}) => {\n const [activeDescendant, setActiveDescendant] = useState<string | undefined>(undefined);\n const [opened, setOpened] = useState(false);\n const [focused, setFocused] = useState(false);\n const [hovered, setHovered] = useState(false);\n\n const targetRef = useRef<HTMLDivElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const instanceId = useRef(uniqueId());\n\n useEffect(() => {\n if (!opened) {\n return;\n }\n\n const handleClickOutside = (event: Event) => {\n if (\n !targetRef.current?.contains(event.target as Node) &&\n !dropdownRef.current?.contains(event.target as Node)\n ) {\n setOpened(false);\n }\n };\n\n document.addEventListener(\"mouseup\", handleClickOutside);\n\n return () => {\n document.removeEventListener(\"mouseup\", handleClickOutside);\n };\n }, [opened]);\n\n const handleTargetClick = () => {\n setOpened(!opened);\n };\n\n const handleTargetKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (!opened) {\n // При нажатии Enter, Space, ArrowUp или ArrowDown открывается выпадающий список.\n if (isKey(event.code, \"ARROW_UP\") || isKey(event.code, \"ARROW_DOWN\")) {\n event.preventDefault();\n setOpened(true);\n }\n }\n\n if (opened) {\n // При нажатии Tab или Esc закрывается выпадающий список.\n if (isKey(event.code, \"TAB\") || isKey(event.code, \"ESCAPE\")) {\n setOpened(false);\n }\n }\n };\n\n const handleClickTab = (tab: ITabsLineItemProps) => {\n onClickTab(tab);\n setOpened(!opened);\n };\n\n const renderTarget = () => {\n const { onFocus, onBlur, onMouseEnter, onMouseLeave, ...restTargetHtmlAttributes } = targetHtmlAttributes || {};\n\n const buttonClassName = clsx(styles.tab, SIZE_TO_CLASS_NAME_MAP[size], styles.dropdownTarget, {\n [styles.active]: active,\n });\n\n const caretClassName = clsx(styles.dropdownTargetCaret, { [styles.opened]: opened });\n\n const handleFocus = (e: React.FocusEvent<HTMLButtonElement>) => {\n setFocused(true);\n onFocus?.(e);\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLButtonElement>) => {\n setFocused(false);\n onBlur?.(e);\n };\n\n const handleMouseEnter = (e: React.MouseEvent<HTMLButtonElement>) => {\n setHovered(true);\n onMouseEnter?.(e);\n };\n\n const handleMouseLeave = (e: React.MouseEvent<HTMLButtonElement>) => {\n setHovered(false);\n onMouseLeave?.(e);\n };\n\n return (\n <button\n {...restTargetHtmlAttributes}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n className={buttonClassName}\n onClick={handleTargetClick}\n onKeyDown={handleTargetKeyDown}\n type=\"button\"\n role=\"tab\"\n aria-haspopup=\"menu\"\n aria-expanded={opened}\n aria-controls={instanceId.current}\n aria-activedescendant={activeDescendant}\n >\n <span className={styles.tabInner}>\n <span className={styles.dropdownTargetInner}>\n <Text\n size={tabsLineSizeToTextSizeMap[size]}\n type={active || focused || hovered ? EFontType.PRIMARY : EFontType.SECONDARY}\n >\n {label}\n </Text>\n <CaretdownStrokeSrvIcon16 className={caretClassName} paletteIndex={5} />\n </span>\n </span>\n </button>\n );\n };\n\n const renderDropdown = () => {\n return (\n <Dropdown\n className={styles.dropdown}\n opened={opened}\n setOpened={setOpened}\n size={size}\n width={EDropdownWidth.MIN_TARGET}\n targetRef={targetRef}\n ref={dropdownRef}\n >\n <DropdownListContext.Provider value={{ activeDescendant, setActiveDescendant }}>\n <DropdownList dropdownOpened={opened} id={instanceId.current} size={size}>\n {tabs.map((tab) => {\n const { id, label, showNotificationIcon, ...htmlDivAttributes } = tab;\n const className = clsx(styles.dropdownItem);\n\n return (\n <DropdownList.Item\n {...(htmlDivAttributes as React.HTMLAttributes<HTMLDivElement>)}\n className={className}\n id={id}\n key={id}\n onSelect={() => {\n handleClickTab(tab);\n }}\n selected={tab === selected}\n showNotificationIcon={showNotificationIcon}\n >\n <span className={styles.dropdownItemInner}>{label}</span>\n </DropdownList.Item>\n );\n })}\n </DropdownList>\n </DropdownListContext.Provider>\n </Dropdown>\n );\n };\n\n return (\n <div className={styles.tabsLineDropdown} ref={targetRef} {...rest}>\n {/* eslint-disable-next-line react-hooks/refs */}\n {renderTarget()}\n {/* eslint-disable-next-line react-hooks/refs */}\n {renderDropdown()}\n </div>\n );\n};\n"],"names":["label"],"mappings":"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"}
1
+ {"version":3,"file":"TabsLineDropdown.js","sources":["../../../../src/components/TabsLine/components/TabsLineDropdown.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { uniqueId } from \"lodash-es\";\nimport { CaretdownStrokeSrvIcon16 } from \"@sberbusiness/icons-next\";\nimport { EComponentSize } from \"@sberbusiness/triplex-next/enums/EComponentSize\";\nimport { createSizeToClassNameMap } from \"@sberbusiness/triplex-next/utils/classNameMaps\";\nimport { TestProps } from \"../../../types/CoreTypes\";\nimport { isKey } from \"../../../utils/keyboard\";\nimport { Dropdown, DropdownList, DropdownListContext, EDropdownWidth } from \"../../Dropdown\";\nimport { Text, EFontType } from \"../../Typography\";\nimport { tabsLineSizeToTextSizeMap } from \"../utils\";\nimport { ITabsLineItemProps } from \"./TabsLineItem\";\nimport styles from \"../styles/TabsLine.module.less\";\n\n/** Свойства компонента TabsLineDropdown. */\ninterface ITabsLineDropdownProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Табы дропдауна. */\n tabs: ITabsLineItemProps[];\n /** Выбранный таб находится в дропдауне. */\n active: boolean;\n /** Текст таргет кнопки дропдауна. */\n label: string;\n /** Коллбэк выбора таба. */\n onClickTab: (tab: ITabsLineItemProps) => void;\n /** Выбранный таб. */\n selected?: ITabsLineItemProps;\n /** Размер таба кнопки дропдауна. По умолчанию EComponentSize.MD. */\n size?: EComponentSize;\n /** Атрибуты кнопки дропдауна. */\n targetHtmlAttributes?: React.HTMLAttributes<HTMLButtonElement> & TestProps;\n}\n\nconst SIZE_TO_CLASS_NAME_MAP = createSizeToClassNameMap(styles);\n\n/** Таб-кнопка TabsLine, раскрывающая выпадающий список с не поместившимися табами. */\nexport const TabsLineDropdown = React.forwardRef<HTMLDivElement, ITabsLineDropdownProps>((props, ref) => {\n const {\n className,\n tabs,\n active,\n label,\n onClickTab,\n selected,\n size = EComponentSize.MD,\n targetHtmlAttributes,\n ...htmlDivAttributes\n } = props;\n\n const [activeDescendant, setActiveDescendant] = useState<string | undefined>(undefined);\n const [opened, setOpened] = useState(false);\n const [focused, setFocused] = useState(false);\n const [hovered, setHovered] = useState(false);\n\n const targetRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const instanceId = useRef(uniqueId());\n\n /** Корневой элемент нужен и снаружи (forwarded ref), и внутри — по нему позиционируется Dropdown. */\n const setRootRef = useCallback(\n (node: HTMLDivElement | null) => {\n targetRef.current = node;\n\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n },\n [ref],\n );\n\n useEffect(() => {\n if (!opened) {\n return;\n }\n\n const handleClickOutside = (event: Event) => {\n if (\n !targetRef.current?.contains(event.target as Node) &&\n !dropdownRef.current?.contains(event.target as Node)\n ) {\n setOpened(false);\n }\n };\n\n document.addEventListener(\"mouseup\", handleClickOutside);\n\n return () => {\n document.removeEventListener(\"mouseup\", handleClickOutside);\n };\n }, [opened]);\n\n const handleTargetClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setOpened((prevOpened) => !prevOpened);\n targetHtmlAttributes?.onClick?.(event);\n };\n\n const handleTargetKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (!opened) {\n // Enter и Space раскрывают список нативной активацией кнопки, ArrowUp/ArrowDown обрабатываются здесь.\n if (isKey(event.code, \"ARROW_UP\") || isKey(event.code, \"ARROW_DOWN\")) {\n event.preventDefault();\n setOpened(true);\n }\n } else {\n // При нажатии Tab или Esc закрывается выпадающий список.\n if (isKey(event.code, \"TAB\") || isKey(event.code, \"ESCAPE\")) {\n setOpened(false);\n }\n }\n\n targetHtmlAttributes?.onKeyDown?.(event);\n };\n\n const handleClickTab = (tab: ITabsLineItemProps) => {\n onClickTab(tab);\n setOpened(false);\n };\n\n const handleTargetFocus = (event: React.FocusEvent<HTMLButtonElement>) => {\n setFocused(true);\n targetHtmlAttributes?.onFocus?.(event);\n };\n\n const handleTargetBlur = (event: React.FocusEvent<HTMLButtonElement>) => {\n setFocused(false);\n targetHtmlAttributes?.onBlur?.(event);\n };\n\n const handleTargetMouseEnter = (event: React.MouseEvent<HTMLButtonElement>) => {\n setHovered(true);\n targetHtmlAttributes?.onMouseEnter?.(event);\n };\n\n const handleTargetMouseLeave = (event: React.MouseEvent<HTMLButtonElement>) => {\n setHovered(false);\n targetHtmlAttributes?.onMouseLeave?.(event);\n };\n\n const renderTarget = () => {\n // className и обработчики выделяем, чтобы не потерять переданные потребителем:\n // ниже идут одноимённые внутренние props, и спред их бы не пережил.\n // onClick и onKeyDown деструктурируются только ради исключения из спреда —\n // вызываются они внутри handleTargetClick / handleTargetKeyDown.\n const {\n className: targetClassName,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n onClick,\n onKeyDown,\n ...restTargetHtmlAttributes\n } = targetHtmlAttributes || {};\n\n return (\n <button\n {...restTargetHtmlAttributes}\n onFocus={handleTargetFocus}\n onBlur={handleTargetBlur}\n onMouseEnter={handleTargetMouseEnter}\n onMouseLeave={handleTargetMouseLeave}\n className={clsx(\n styles.tab,\n SIZE_TO_CLASS_NAME_MAP[size],\n styles.dropdownTarget,\n {\n [styles.active]: active,\n },\n targetClassName,\n )}\n onClick={handleTargetClick}\n onKeyDown={handleTargetKeyDown}\n type=\"button\"\n role=\"tab\"\n aria-haspopup=\"menu\"\n aria-expanded={opened}\n aria-controls={instanceId.current}\n aria-activedescendant={activeDescendant}\n >\n <span className={styles.dropdownTargetInner}>\n <Text\n size={tabsLineSizeToTextSizeMap[size]}\n type={active || focused || hovered ? EFontType.PRIMARY : EFontType.SECONDARY}\n >\n {label}\n </Text>\n <CaretdownStrokeSrvIcon16\n className={clsx(styles.dropdownTargetCaret, { [styles.opened]: opened })}\n paletteIndex={5}\n />\n </span>\n </button>\n );\n };\n\n const renderDropdown = () => (\n <Dropdown\n className={styles.dropdown}\n opened={opened}\n setOpened={setOpened}\n size={size}\n width={EDropdownWidth.MIN_TARGET}\n targetRef={targetRef}\n ref={dropdownRef}\n >\n <DropdownListContext.Provider value={{ activeDescendant, setActiveDescendant }}>\n <DropdownList dropdownOpened={opened} id={instanceId.current} size={size}>\n {tabs.map((tab, index) => {\n const { id, label: tabLabel, showNotificationIcon, ...htmlButtonAttributes } = tab;\n\n return (\n <DropdownList.Item\n // Свойства таба типизированы под <button>, а пункт списка рендерит <div>.\n // Набор атрибутов совпадает, расходятся только дженерики обработчиков событий.\n {...(htmlButtonAttributes as React.HTMLAttributes<HTMLDivElement>)}\n // DOM id выводим из instanceId, а не из tab.id: два TabsLine с одинаковыми\n // tab.id иначе дают дублирующиеся id, и aria-activedescendant адресует\n // пункт чужого экземпляра. Исходный tab.id уходит в onClickTab.\n id={`${instanceId.current}-item-${index}`}\n key={id}\n onSelect={() => {\n handleClickTab(tab);\n }}\n selected={tab === selected}\n showNotificationIcon={showNotificationIcon}\n >\n {tabLabel}\n </DropdownList.Item>\n );\n })}\n </DropdownList>\n </DropdownListContext.Provider>\n </Dropdown>\n );\n\n return (\n <div {...htmlDivAttributes} className={clsx(styles.tabsLineDropdown, className)} ref={setRootRef}>\n {renderTarget()}\n {renderDropdown()}\n </div>\n );\n});\n\nTabsLineDropdown.displayName = \"TabsLineDropdown\";\n"],"names":["React"],"mappings":"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"}