@sberbusiness/triplex-next 1.40.0 → 1.41.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 (594) hide show
  1. package/chunks/{AlertProcessSpoiler-BNrk1vyk.js → AlertProcessSpoiler-BjbtoDeJ.js} +16 -16
  2. package/chunks/{AlertProcessSpoiler-BNrk1vyk.js.map → AlertProcessSpoiler-BjbtoDeJ.js.map} +1 -1
  3. package/chunks/{CalendarViewItem-knPscTce.js → CalendarViewItem-_CpmPhgO.js} +30 -28
  4. package/chunks/CalendarViewItem-_CpmPhgO.js.map +1 -0
  5. package/chunks/Card.module-DROOoa1I.js +32 -0
  6. package/chunks/Card.module-DROOoa1I.js.map +1 -0
  7. package/chunks/Carousel.module-CYqc9TvG.js +30 -0
  8. package/chunks/Carousel.module-CYqc9TvG.js.map +1 -0
  9. package/chunks/CheckboxTreeExtended.module-DLgZtzeR.js +24 -0
  10. package/chunks/CheckboxTreeExtended.module-DLgZtzeR.js.map +1 -0
  11. package/chunks/{Chip-CI8ALCUS.js → Chip-BpQdbkKh.js} +27 -27
  12. package/chunks/Chip-BpQdbkKh.js.map +1 -0
  13. package/chunks/Confirm.module-DSL8UGz1.js +24 -0
  14. package/chunks/Confirm.module-DSL8UGz1.js.map +1 -0
  15. package/chunks/{DropdownListItem-BqOoPFSx.js → DropdownListItem-C2A5QJs2.js} +10 -10
  16. package/chunks/{DropdownListItem-BqOoPFSx.js.map → DropdownListItem-C2A5QJs2.js.map} +1 -1
  17. package/chunks/DropdownMobile.module-DzRRyaX7.js +40 -0
  18. package/chunks/DropdownMobile.module-DzRRyaX7.js.map +1 -0
  19. package/chunks/Footer.module-5k57klu0.js +12 -0
  20. package/chunks/Footer.module-5k57klu0.js.map +1 -0
  21. package/chunks/{HeaderLayoutSidebar.module-MnhSBdiv.js → HeaderLayoutSidebar.module-DZeFuoug.js} +4 -4
  22. package/chunks/HeaderLayoutSidebar.module-DZeFuoug.js.map +1 -0
  23. package/chunks/HeaderTabs.module-CgMRh_ys.js +12 -0
  24. package/chunks/HeaderTabs.module-CgMRh_ys.js.map +1 -0
  25. package/chunks/{HeaderTitle.module-BGOYMt6r.js → HeaderTitle.module-D0AhXiBS.js} +4 -4
  26. package/chunks/HeaderTitle.module-D0AhXiBS.js.map +1 -0
  27. package/chunks/ImageGalleryExtendedMain.module-DIQlXnyT.js +28 -0
  28. package/chunks/ImageGalleryExtendedMain.module-DIQlXnyT.js.map +1 -0
  29. package/chunks/{ImageGalleryExtendedThumb-D6RAJpt8.js → ImageGalleryExtendedThumb-DkJtr4Hx.js} +5 -5
  30. package/chunks/{ImageGalleryExtendedThumb-D6RAJpt8.js.map → ImageGalleryExtendedThumb-DkJtr4Hx.js.map} +1 -1
  31. package/chunks/IslandAccordion.module-DDX8tbtb.js +44 -0
  32. package/chunks/IslandAccordion.module-DDX8tbtb.js.map +1 -0
  33. package/chunks/IslandWidgetFooter.module-sDy1EclD.js +12 -0
  34. package/chunks/IslandWidgetFooter.module-sDy1EclD.js.map +1 -0
  35. package/chunks/IslandWidgetHeader.module-nJ_lt8_M.js +20 -0
  36. package/chunks/IslandWidgetHeader.module-nJ_lt8_M.js.map +1 -0
  37. package/chunks/{LightBoxContent-d_LBU_ZW.js → LightBoxContent-B1KBUT90.js} +14 -14
  38. package/chunks/{LightBoxContent-d_LBU_ZW.js.map → LightBoxContent-B1KBUT90.js.map} +1 -1
  39. package/chunks/LightBoxControls.module-TooI22q5.js +26 -0
  40. package/chunks/LightBoxControls.module-TooI22q5.js.map +1 -0
  41. package/chunks/{LightBoxSideOverlayClose.module-eTdxNvSz.js → LightBoxSideOverlayClose.module-CKA2SSDt.js} +4 -4
  42. package/chunks/LightBoxSideOverlayClose.module-CKA2SSDt.js.map +1 -0
  43. package/chunks/{ListItemControlsButton-D2ONoqII.js → ListItemControlsButton-mh3tmBtz.js} +9 -9
  44. package/chunks/{ListItemControlsButton-D2ONoqII.js.map → ListItemControlsButton-mh3tmBtz.js.map} +1 -1
  45. package/chunks/ListItemTail.module-C7mDty9h.js +18 -0
  46. package/chunks/ListItemTail.module-C7mDty9h.js.map +1 -0
  47. package/chunks/ListMasterFooter.module-0T0paIyY.js +14 -0
  48. package/chunks/ListMasterFooter.module-0T0paIyY.js.map +1 -0
  49. package/chunks/ModalWindow.module-Bp4oQKoa.js +28 -0
  50. package/chunks/ModalWindow.module-Bp4oQKoa.js.map +1 -0
  51. package/chunks/Notification.module-Be8nXM5D.js +34 -0
  52. package/chunks/Notification.module-Be8nXM5D.js.map +1 -0
  53. package/chunks/Overlay.module-D8ixOPRE.js +30 -0
  54. package/chunks/Overlay.module-D8ixOPRE.js.map +1 -0
  55. package/chunks/Page.module-BkjdT16T.js +15 -0
  56. package/chunks/Page.module-BkjdT16T.js.map +1 -0
  57. package/chunks/SMSField.module-ryKCPxNS.js +26 -0
  58. package/chunks/SMSField.module-ryKCPxNS.js.map +1 -0
  59. package/chunks/SliderExtendedMarks.module-Zcavk5hB.js +24 -0
  60. package/chunks/SliderExtendedMarks.module-Zcavk5hB.js.map +1 -0
  61. package/chunks/{SliderExtendedRail-CVEwe6OK.js → SliderExtendedRail-t3p4pk5Y.js} +5 -5
  62. package/chunks/{SliderExtendedRail-CVEwe6OK.js.map → SliderExtendedRail-t3p4pk5Y.js.map} +1 -1
  63. package/chunks/StatusTracker.module-B5l6M5fR.js +44 -0
  64. package/chunks/StatusTracker.module-B5l6M5fR.js.map +1 -0
  65. package/chunks/{StepperStepArrowBorder-BO_ItxMh.js → StepperStepArrowBorder-DLBwu9Pe.js} +16 -16
  66. package/chunks/{StepperStepArrowBorder-BO_ItxMh.js.map → StepperStepArrowBorder-DLBwu9Pe.js.map} +1 -1
  67. package/chunks/{SuggestFieldMobileDropdownHint-DyfJuyUe.js → SuggestFieldMobileDropdownHint-CD9CQkCW.js} +3 -3
  68. package/chunks/{SuggestFieldMobileDropdownHint-DyfJuyUe.js.map → SuggestFieldMobileDropdownHint-CD9CQkCW.js.map} +1 -1
  69. package/chunks/TableFooter.module-q3JRqYCP.js +22 -0
  70. package/chunks/TableFooter.module-q3JRqYCP.js.map +1 -0
  71. package/chunks/TabsExtended.module-btXrsifk.js +26 -0
  72. package/chunks/TabsExtended.module-btXrsifk.js.map +1 -0
  73. package/chunks/TabsLine.module-BsnnLIOF.js +36 -0
  74. package/chunks/TabsLine.module-BsnnLIOF.js.map +1 -0
  75. package/chunks/TooltipDesktop.module-V0gGAoBE.js +32 -0
  76. package/chunks/TooltipDesktop.module-V0gGAoBE.js.map +1 -0
  77. package/chunks/TreeView.module-CCsUTogj.js +12 -0
  78. package/chunks/TreeView.module-CCsUTogj.js.map +1 -0
  79. package/chunks/{UploadZoneInput-BHUONqVR.js → UploadZoneInput-CipHc_ua.js} +5 -5
  80. package/chunks/{UploadZoneInput-BHUONqVR.js.map → UploadZoneInput-CipHc_ua.js.map} +1 -1
  81. package/chunks/{constants-C-WrqYH6.js → constants-DXoLzXAh.js} +27 -27
  82. package/chunks/{constants-C-WrqYH6.js.map → constants-DXoLzXAh.js.map} +1 -1
  83. package/chunks/{utils-g0xZYVuS.js → utils-B-YL1v1D.js} +11 -11
  84. package/chunks/{utils-g0xZYVuS.js.map → utils-B-YL1v1D.js.map} +1 -1
  85. package/chunks/{utils-BaakoACO.js → utils-BSk7AAAR.js} +6 -6
  86. package/chunks/{utils-BaakoACO.js.map → utils-BSk7AAAR.js.map} +1 -1
  87. package/chunks/{utils-BHxrQbA6.js → utils-Dfah6DTV.js} +8 -8
  88. package/chunks/utils-Dfah6DTV.js.map +1 -0
  89. package/chunks/{utils-D4UOxU49.js → utils-Va-aYj5A.js} +27 -27
  90. package/chunks/{utils-D4UOxU49.js.map → utils-Va-aYj5A.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/Avatar/Avatar.js +13 -13
  96. package/components/Badge/Badge.js +4 -4
  97. package/components/Badge/BadgeDot.js +4 -4
  98. package/components/Badge/components/BadgeContent.js +6 -6
  99. package/components/Badge/components/BadgePostfix.js +1 -1
  100. package/components/Badge/components/BadgePrefix.js +1 -1
  101. package/components/Body/Body.js +3 -3
  102. package/components/Button/Button.js +20 -20
  103. package/components/Button/ButtonBase.js +1 -1
  104. package/components/Button/ButtonDropdown.js +8 -8
  105. package/components/Button/ButtonDropdownExtended.js +2 -2
  106. package/components/Button/ButtonIcon.js +3 -3
  107. package/components/Calendar/Calendar.js +16 -16
  108. package/components/Calendar/Calendar.js.map +1 -1
  109. package/components/Calendar/CalendarContext.js.map +1 -1
  110. package/components/Calendar/CalendarViewContext.js.map +1 -1
  111. package/components/Calendar/components/CalendarControls.js +12 -32
  112. package/components/Calendar/components/CalendarControls.js.map +1 -1
  113. package/components/Calendar/components/CalendarFooter.js +3 -2
  114. package/components/Calendar/components/CalendarFooter.js.map +1 -1
  115. package/components/Calendar/components/CalendarView.js +1 -0
  116. package/components/Calendar/components/CalendarView.js.map +1 -1
  117. package/components/Calendar/components/CalendarViewDays.js +31 -55
  118. package/components/Calendar/components/CalendarViewDays.js.map +1 -1
  119. package/components/Calendar/components/CalendarViewItem.js +1 -1
  120. package/components/Calendar/components/CalendarViewMonths.js +30 -52
  121. package/components/Calendar/components/CalendarViewMonths.js.map +1 -1
  122. package/components/Calendar/components/CalendarViewYears.js +34 -55
  123. package/components/Calendar/components/CalendarViewYears.js.map +1 -1
  124. package/components/Calendar/utils.js +43 -10
  125. package/components/Calendar/utils.js.map +1 -1
  126. package/components/Card/CardAction.js +5 -5
  127. package/components/Card/CardStatic.js +2 -2
  128. package/components/Card/components/CardContent/CardContent.js +1 -1
  129. package/components/Card/components/CardContent/components/CardContentBody.js +1 -1
  130. package/components/Card/components/CardContent/components/CardContentFooter.js +1 -1
  131. package/components/Card/components/CardContent/components/CardContentHeader.js +1 -1
  132. package/components/Card/components/CardMedia.js +1 -1
  133. package/components/Card/enums.js +1 -0
  134. package/components/Card/enums.js.map +1 -1
  135. package/components/Card/utils.js +2 -1
  136. package/components/Card/utils.js.map +1 -1
  137. package/components/Carousel/Carousel.js +1 -1
  138. package/components/Carousel/CarouselButton.js +1 -1
  139. package/components/Carousel/CarouselIndicators.js +1 -1
  140. package/components/Carousel/CarouselItem.js +1 -1
  141. package/components/Carousel/CarouselTrack.js +1 -1
  142. package/components/Carousel/CarouselViewport.js +1 -1
  143. package/components/CarouselExtended/CarouselExtended.js +1 -1
  144. package/components/Checkbox/Checkbox.js +10 -10
  145. package/components/Checkbox/CheckboxXGroup.js +8 -8
  146. package/components/Checkbox/CheckboxYGroup.js +1 -1
  147. package/components/CheckboxTreeExtended/CheckboxTreeExtended.js +1 -1
  148. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedArrow.js +1 -1
  149. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedCheckbox.js +1 -1
  150. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedNode.js +1 -1
  151. package/components/Chip/Chip.js +1 -1
  152. package/components/Chip/ChipClearButton.js +1 -1
  153. package/components/Chip/ChipDatePicker/ChipDatePicker.js +1 -1
  154. package/components/Chip/ChipDatePicker/ChipDatePickerTarget.js +1 -1
  155. package/components/Chip/ChipDropdownArrow.js +2 -2
  156. package/components/Chip/ChipIcon.js +1 -1
  157. package/components/Chip/ChipMultiselect.js +1 -1
  158. package/components/Chip/ChipOptions.js +2 -2
  159. package/components/Chip/ChipSelect/ChipSelect.js +1 -1
  160. package/components/Chip/ChipSelect/ChipSelectTarget.js +1 -1
  161. package/components/Chip/ChipSort.js +1 -1
  162. package/components/Chip/ChipSuggest/ChipSuggest.js +1 -1
  163. package/components/Chip/ChipSuggest/ChipSuggestDropdown.js +1 -1
  164. package/components/Chip/ChipSuggest/ChipSuggestTarget.js +1 -1
  165. package/components/Chip/ChipSuggest/desktop/ChipSuggestDesktopDropdownField.js +1 -1
  166. package/components/Chip/index.js +1 -1
  167. package/components/ChipGroup/ChipGroup.js +7 -7
  168. package/components/Col/Col.js +132 -132
  169. package/components/CollapsibleTree/CollapsibleTree.js +1 -1
  170. package/components/CollapsibleTree/components/CollapsibleTreeLeafContent.js +1 -1
  171. package/components/CollapsibleTree/components/CollapsibleTreeLeafNode.js +1 -1
  172. package/components/CollapsibleTree/components/CollapsibleTreeNodeHeader.js +4 -4
  173. package/components/CollapsibleTreeExtended/components/CollapsibleTreeExtendedNode.js +1 -1
  174. package/components/Confirm/Confirm.js +1 -1
  175. package/components/Confirm/components/ConfirmCloseButton.js +1 -1
  176. package/components/Confirm/components/ConfirmContent.js +1 -1
  177. package/components/Confirm/components/ConfirmContentTitle.js +1 -1
  178. package/components/Confirm/components/ConfirmControls.js +1 -1
  179. package/components/DateField/utils.js +2 -2
  180. package/components/DateField/utils.js.map +1 -1
  181. package/components/DatePickerExtended/DatePickerExtended.js +2 -2
  182. package/components/DatePickerExtended/DatePickerExtendedDropdown.js +1 -1
  183. package/components/DateRange/DateRange.js +3 -3
  184. package/components/DesignTokens/DesignTokenUtils.js +25 -20
  185. package/components/DesignTokens/DesignTokenUtils.js.map +1 -1
  186. package/components/DesignTokens/components/Calendar.js +2 -2
  187. package/components/DesignTokens/components/Calendar.js.map +1 -1
  188. package/components/DesignTokens/components/StatusTracker.js +8 -2
  189. package/components/DesignTokens/components/StatusTracker.js.map +1 -1
  190. package/components/Divider/Divider.js +17 -17
  191. package/components/DocumentNumberEdit/DocumentNumberEdit.js +3 -3
  192. package/components/Dropdown/desktop/DropdownDesktop.js +6 -6
  193. package/components/Dropdown/desktop/DropdownList.js +1 -1
  194. package/components/Dropdown/desktop/DropdownListItem.js +1 -1
  195. package/components/Dropdown/desktop/index.js +1 -1
  196. package/components/Dropdown/index.js +1 -1
  197. package/components/Dropdown/mobile/DropdownMobile.js +2 -2
  198. package/components/Dropdown/mobile/DropdownMobileBody.js +1 -1
  199. package/components/Dropdown/mobile/DropdownMobileClose.js +1 -1
  200. package/components/Dropdown/mobile/DropdownMobileFooter.js +1 -1
  201. package/components/Dropdown/mobile/DropdownMobileHeader.js +1 -1
  202. package/components/Dropdown/mobile/DropdownMobileInner.js +1 -1
  203. package/components/Dropdown/mobile/DropdownMobileInput.js +1 -1
  204. package/components/Dropdown/mobile/DropdownMobileList.js +1 -1
  205. package/components/Dropdown/mobile/DropdownMobileListItem.js +1 -1
  206. package/components/Dropdown/mobile/DropdownMobileLoader.js +1 -1
  207. package/components/Dropdown/mobile/DropdownMobileMaskedInput.js +1 -1
  208. package/components/Ellipsis/Ellipsis.js +3 -3
  209. package/components/EmptyView/EmptyView.js +4 -4
  210. package/components/ExpandAnimation/ExpandAnimation.js +1 -1
  211. package/components/FocusTrapExtended/FocusTrapExtended.js +20 -8
  212. package/components/FocusTrapExtended/FocusTrapExtended.js.map +1 -1
  213. package/components/Footer/Footer.js +1 -1
  214. package/components/Footer/components/FooterDescription.js +1 -1
  215. package/components/Footer/components/FooterDescriptionContent.js +1 -1
  216. package/components/Footer/components/FooterDescriptionControls.js +1 -1
  217. package/components/FormField/FormField.js +20 -20
  218. package/components/FormField/FormField.js.map +1 -1
  219. package/components/FormField/FormFieldContext.js.map +1 -1
  220. package/components/FormField/FormFieldDescriptionContext.js.map +1 -1
  221. package/components/FormField/components/FormFieldClear.js +1 -1
  222. package/components/FormField/components/FormFieldClear.js.map +1 -1
  223. package/components/FormField/components/FormFieldCounter.js +5 -4
  224. package/components/FormField/components/FormFieldCounter.js.map +1 -1
  225. package/components/FormField/components/FormFieldDescription.js +13 -5
  226. package/components/FormField/components/FormFieldDescription.js.map +1 -1
  227. package/components/FormField/components/FormFieldInput.js +7 -8
  228. package/components/FormField/components/FormFieldInput.js.map +1 -1
  229. package/components/FormField/components/FormFieldLabel.js +10 -11
  230. package/components/FormField/components/FormFieldLabel.js.map +1 -1
  231. package/components/FormField/components/FormFieldMaskedInput.js +6 -6
  232. package/components/FormField/components/FormFieldPostfix.js +5 -29
  233. package/components/FormField/components/FormFieldPostfix.js.map +1 -1
  234. package/components/FormField/components/FormFieldPrefix.js +5 -29
  235. package/components/FormField/components/FormFieldPrefix.js.map +1 -1
  236. package/components/FormField/components/FormFieldTarget.js +8 -8
  237. package/components/FormField/components/FormFieldTextarea.js +4 -4
  238. package/components/FormField/components/useFormFieldAffixWidth.js +33 -0
  239. package/components/FormField/components/useFormFieldAffixWidth.js.map +1 -0
  240. package/components/FormField/components/utils.js +9 -1
  241. package/components/FormField/components/utils.js.map +1 -1
  242. package/components/FormField/consts.js.map +1 -1
  243. package/components/FormField/enums.js.map +1 -1
  244. package/components/FormField/index.js +2 -3
  245. package/components/Gap/Gap.js +8 -8
  246. package/components/Header/Header.js +1 -1
  247. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebar.js +1 -1
  248. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarContent.js +1 -1
  249. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarSidebar.js +1 -1
  250. package/components/Header/components/HeaderSubheader/HeaderSubheader.js +2 -2
  251. package/components/Header/components/HeaderTabs/HeaderTabs.js +1 -1
  252. package/components/Header/components/HeaderTabs/HeaderTabsContent.js +1 -1
  253. package/components/Header/components/HeaderTabs/HeaderTabsControls.js +1 -1
  254. package/components/Header/components/HeaderTitle/HeaderTitle.js +1 -1
  255. package/components/Header/components/HeaderTitle/HeaderTitleContent.js +1 -1
  256. package/components/Header/components/HeaderTitle/HeaderTitleControls.js +1 -1
  257. package/components/HelpBox/HelpBox.js +1 -1
  258. package/components/IconWrapper/IconWrapper.js +7 -7
  259. package/components/IconWrapper/IconWrapper.js.map +1 -1
  260. package/components/ImageGallery/ImageGallery.js +1 -1
  261. package/components/ImageGalleryExtended/ImageGalleryExtended.js +2 -2
  262. package/components/ImageGalleryExtended/components/ImageGalleryExtendedArrow.js +1 -1
  263. package/components/ImageGalleryExtended/components/ImageGalleryExtendedDots.js +3 -3
  264. package/components/ImageGalleryExtended/components/ImageGalleryExtendedMain.js +1 -1
  265. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSlide.js +1 -1
  266. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSwipeTrack.js +1 -1
  267. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumb.js +1 -1
  268. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumbnails.js +1 -1
  269. package/components/ImageGalleryExtended/components/index.js +1 -1
  270. package/components/ImageGalleryExtended/index.js +1 -1
  271. package/components/Island/Island.js +3 -3
  272. package/components/Island/Island.js.map +1 -1
  273. package/components/Island/components/IslandBody.js +2 -1
  274. package/components/Island/components/IslandBody.js.map +1 -1
  275. package/components/Island/components/IslandFooter.js +7 -4
  276. package/components/Island/components/IslandFooter.js.map +1 -1
  277. package/components/Island/components/IslandHeader.js +7 -4
  278. package/components/Island/components/IslandHeader.js.map +1 -1
  279. package/components/Island/enums.js.map +1 -1
  280. package/components/Island/utils.js +1 -1
  281. package/components/IslandAccordion/IslandAccordion.js +2 -2
  282. package/components/IslandAccordion/components/IslandAccordionContent.js +1 -1
  283. package/components/IslandAccordion/components/IslandAccordionFooter.js +1 -1
  284. package/components/IslandAccordion/components/IslandAccordionItem.js +2 -2
  285. package/components/IslandWidget/IslandWidget.js +4 -4
  286. package/components/IslandWidget/components/IslandWidgetBody.js +1 -1
  287. package/components/IslandWidget/components/IslandWidgetExtraFooter.js +1 -1
  288. package/components/IslandWidget/components/IslandWidgetFooter.js +1 -1
  289. package/components/IslandWidget/components/IslandWidgetFooterContent.js +1 -1
  290. package/components/IslandWidget/components/IslandWidgetFooterControls.js +1 -1
  291. package/components/IslandWidget/components/IslandWidgetHeader.js +1 -1
  292. package/components/IslandWidget/components/IslandWidgetHeaderContent.js +1 -1
  293. package/components/IslandWidget/components/IslandWidgetHeaderControls.js +1 -1
  294. package/components/IslandWidget/components/IslandWidgetHeaderDescription.js +1 -1
  295. package/components/IslandWidget/components/IslandWidgetHeaderTitle.js +1 -1
  296. package/components/IslandWidget/components/IslandWidgetWrapper.js +1 -1
  297. package/components/KeyDownListener/ComposedKeyDownListener.js +7 -8
  298. package/components/KeyDownListener/ComposedKeyDownListener.js.map +1 -1
  299. package/components/KeyDownListener/KeyDownListener.js +3 -4
  300. package/components/KeyDownListener/KeyDownListener.js.map +1 -1
  301. package/components/LightBox/LightBox.js +5 -5
  302. package/components/LightBox/LightBoxContent.js +1 -1
  303. package/components/LightBox/LightBoxControls/LightBoxArrow.js +1 -1
  304. package/components/LightBox/LightBoxControls/LightBoxClose.js +1 -1
  305. package/components/LightBox/LightBoxControls/LightBoxControls.js +1 -1
  306. package/components/LightBox/LightBoxControls/LightBoxNext.js +1 -1
  307. package/components/LightBox/LightBoxControls/LightBoxPrev.js +1 -1
  308. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js +12 -13
  309. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js.map +1 -1
  310. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseDesktop.js +1 -1
  311. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseMobile.js +1 -1
  312. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js +1 -1
  313. package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js +3 -3
  314. package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js +3 -3
  315. package/components/Link/Link.js +5 -5
  316. package/components/List/List.js +3 -3
  317. package/components/List/components/ListActionItem.js +1 -1
  318. package/components/List/components/ListEmptyState.js +1 -1
  319. package/components/List/components/ListItem.js +1 -1
  320. package/components/List/components/ListItemContent.js +4 -4
  321. package/components/List/components/ListItemControls.js +1 -1
  322. package/components/List/components/ListItemControlsButton.js +1 -1
  323. package/components/List/components/ListItemControlsButtonDropdown.js +1 -1
  324. package/components/List/components/ListItemLoading.js +1 -1
  325. package/components/List/components/ListItemSelectable.js +6 -6
  326. package/components/List/components/ListItemTailLeft.js +1 -1
  327. package/components/List/components/ListItemTailRight.js +1 -1
  328. package/components/List/components/ListSortableItem.js +2 -2
  329. package/components/List/components/ListSortableItemControls.js +1 -1
  330. package/components/List/components/ListSortableItemTarget.js +4 -4
  331. package/components/List/components/ListTableItem.js +3 -3
  332. package/components/List/index.js +1 -1
  333. package/components/ListMaster/ListMaster.js +1 -1
  334. package/components/ListMaster/components/ListMasterBody.js +1 -1
  335. package/components/ListMaster/components/ListMasterChipGroup.js +1 -1
  336. package/components/ListMaster/components/ListMasterFooter.js +1 -1
  337. package/components/ListMaster/components/ListMasterFooterControls.js +1 -1
  338. package/components/ListMaster/components/ListMasterFooterDescription.js +1 -1
  339. package/components/ListMaster/components/ListMasterHeader.js +2 -2
  340. package/components/ListMaster/components/SelectionControls.js +2 -2
  341. package/components/Loader/LoaderMiddle/LoaderMiddle.js +10 -10
  342. package/components/Loader/LoaderMiddle/LoaderMiddle.js.map +1 -1
  343. package/components/Loader/LoaderSmall/LoaderSmall.js +10 -10
  344. package/components/LoaderScreen/LoaderScreen.js +13 -12
  345. package/components/LoaderScreen/LoaderScreen.js.map +1 -1
  346. package/components/Marker/Marker.js +1 -1
  347. package/components/Marker/utils.js +1 -1
  348. package/components/MarkerStatus/MarkerStatus.js +7 -7
  349. package/components/ModalWindow/ModalWindow.js +1 -1
  350. package/components/ModalWindow/components/ModalWindowBody.js +1 -1
  351. package/components/ModalWindow/components/ModalWindowClose.js +1 -1
  352. package/components/ModalWindow/components/ModalWindowContent.js +1 -1
  353. package/components/ModalWindow/components/ModalWindowHeader.js +1 -1
  354. package/components/ModalWindow/components/ModalWindowViewManager.js +1 -1
  355. package/components/MonthYearField/utils.js +2 -1
  356. package/components/MonthYearField/utils.js.map +1 -1
  357. package/components/MonthYearRange/MonthYearRange.js +3 -3
  358. package/components/MultiselectField/components/MultiselectFieldDropdown.js +1 -1
  359. package/components/MultiselectField/components/MultiselectFieldDropdownContent.js +5 -5
  360. package/components/MultiselectField/components/MultiselectFieldDropdownFooter.js +1 -1
  361. package/components/MultiselectField/components/MultiselectFieldDropdownHeader.js +1 -1
  362. package/components/Notification/Notification.js +2 -2
  363. package/components/Notification/NotificationGrouped.js +1 -1
  364. package/components/Notification/components/NotificationBody.js +1 -1
  365. package/components/Notification/components/NotificationBodyList.js +1 -1
  366. package/components/Notification/components/NotificationClose.js +1 -1
  367. package/components/Notification/components/NotificationFooter.js +1 -1
  368. package/components/Notification/components/NotificationGroupedFooter.js +1 -1
  369. package/components/Notification/components/NotificationHeader.js +1 -1
  370. package/components/Notification/components/NotificationIcon.js +1 -1
  371. package/components/Notification/components/NotificationTime.js +1 -1
  372. package/components/OrderedList/OrderedList.js +2 -2
  373. package/components/OrderedList/OrderedListItem.js +2 -2
  374. package/components/Overlay/Overlay.js +1 -1
  375. package/components/Overlay/OverlayMask.js +1 -1
  376. package/components/Overlay/OverlayPanel.js +1 -1
  377. package/components/Page/Page.js +1 -1
  378. package/components/Page/components/BodyPage.js +3 -3
  379. package/components/Page/components/FooterPage.js +1 -1
  380. package/components/Page/components/HeaderPage.js +1 -1
  381. package/components/Pagination/components/PaginationExtended.js +2 -2
  382. package/components/Pagination/components/PaginationNavigation.js +1 -1
  383. package/components/Pagination/components/PaginationNavigation.js.map +1 -1
  384. package/components/Pagination/components/PaginationNavigationButton.js +2 -2
  385. package/components/Pagination/components/PaginationNavigationExtended.js +1 -1
  386. package/components/Pagination/components/PaginationPageButton.js +2 -2
  387. package/components/Pagination/components/PaginationPageEllipsis.js +1 -1
  388. package/components/Pagination/components/PaginationSelect.js +2 -2
  389. package/components/Pagination/{utils/paginationUtils.js → utils.js} +2 -2
  390. package/components/Pagination/utils.js.map +1 -0
  391. package/components/Radio/Radio.js +9 -9
  392. package/components/Radio/RadioXGroup.js +8 -8
  393. package/components/Radio/RadioYGroup.js +1 -1
  394. package/components/Row/Row.js +4 -4
  395. package/components/SMSField/SMSField.js +2 -2
  396. package/components/SMSField/components/RefreshIcon.js +1 -1
  397. package/components/SMSField/components/SMSFieldInput.js +1 -1
  398. package/components/SMSField/components/SMSFieldRefresh.js +1 -1
  399. package/components/SMSField/components/SMSFieldSubmit.js +1 -1
  400. package/components/SegmentedControl/SegmentedControl.js +9 -9
  401. package/components/SegmentedControl/SegmentedControlSegment.js +3 -3
  402. package/components/SelectExtendedField/SelectExtendedField.js +2 -1
  403. package/components/SelectExtendedField/SelectExtendedField.js.map +1 -1
  404. package/components/SelectExtendedField/components/SelectExtendedFieldDropdown.js +1 -1
  405. package/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js +1 -1
  406. package/components/SelectExtendedField/components/SelectExtendedFieldTarget.js +7 -7
  407. package/components/SelectField/SelectField.js +1 -1
  408. package/components/Skeleton/Skeleton.js +4 -4
  409. package/components/SliderExtended/SliderExtended.js +2 -2
  410. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js +6 -5
  411. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js.map +1 -1
  412. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMark.js +1 -1
  413. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarks.js +1 -1
  414. package/components/SliderExtended/components/SliderExtendedRail.js +1 -1
  415. package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js +4 -4
  416. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js +7 -6
  417. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js.map +1 -1
  418. package/components/SmallInput/SmallInput.js +1 -1
  419. package/components/Spoiler/Spoiler.js +10 -10
  420. package/components/StatusTracker/StatusTracker.js +7 -6
  421. package/components/StatusTracker/StatusTracker.js.map +1 -1
  422. package/components/StatusTracker/components/StatusTrackerAlert.js +1 -1
  423. package/components/StatusTracker/components/StatusTrackerBody.js +1 -1
  424. package/components/StatusTracker/components/StatusTrackerButton.js +1 -1
  425. package/components/StatusTracker/components/StatusTrackerDescription.js +1 -1
  426. package/components/StatusTracker/components/StatusTrackerFooter.js +1 -1
  427. package/components/StatusTracker/components/StatusTrackerHeader.js +1 -1
  428. package/components/StatusTracker/components/StatusTrackerMedia.js +1 -1
  429. package/components/StatusTracker/components/StatusTrackerStatus.js +1 -1
  430. package/components/StatusTracker/components/StatusTrackerStatusGroup.js +1 -1
  431. package/components/StatusTracker/components/StatusTrackerSum.js +1 -1
  432. package/components/StatusTracker/components/StatusTrackerTitle.js +1 -1
  433. package/components/Step/Step.js +10 -10
  434. package/components/Stepper/Stepper.js +8 -8
  435. package/components/Stepper/StepperExtended.js +1 -1
  436. package/components/Stepper/StepperStep.js +2 -2
  437. package/components/Stepper/StepperStepArrowBorder.js +1 -1
  438. package/components/Suggest/SuggestMobileDropdownContent.js +3 -3
  439. package/components/SuggestField/SuggestField.js +1 -1
  440. package/components/SuggestField/desktop/SuggestFieldDesktop.js +1 -1
  441. package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js +1 -1
  442. package/components/SuggestField/index.js +1 -1
  443. package/components/SuggestField/mobile/SuggestFieldMobile.js +1 -1
  444. package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js +2 -2
  445. package/components/SuggestField/mobile/SuggestFieldMobileDropdownHint.js +1 -1
  446. package/components/SuggestField/mobile/index.js +1 -1
  447. package/components/SwipeableArea/SwipeableArea.js +8 -8
  448. package/components/Table/ChipPanel.js +1 -1
  449. package/components/Table/ChipPanelLinks.js +1 -1
  450. package/components/Table/FilterPanel.js +2 -2
  451. package/components/Table/MasterTable.js +2 -2
  452. package/components/Table/NoColumns.js +2 -2
  453. package/components/Table/PaginationPanel.js +2 -2
  454. package/components/Table/TableBasic/TableBasic.js +1 -1
  455. package/components/Table/TableBasic/components/TableBasicBody.js +1 -1
  456. package/components/Table/TableBasic/components/TableBasicHeader.js +1 -1
  457. package/components/Table/TableBasic/components/TableBasicRow.js +1 -1
  458. package/components/Table/TableBasicSettings/TableBasicSettings.js +2 -2
  459. package/components/Table/TableBasicSettings/components/ColumnSettingsSortableListItemTarget.js +2 -2
  460. package/components/Table/TableBasicSettings/components/ColumnSettingsStaticListItem.js +1 -1
  461. package/components/Table/TableBasicSettings/components/TableBasicSettingsBody.js +1 -1
  462. package/components/Table/TableBasicSettings/components/TableBasicSettingsFooter.js +1 -1
  463. package/components/Table/TableBasicSettings/components/TableBasicSettingsHeader.js +1 -1
  464. package/components/Table/TableFooter/TableFooter.js +1 -1
  465. package/components/Table/TableFooter/components/TableFooterSummary.js +1 -1
  466. package/components/Table/TableFooter/components/TableFooterSummaryAmount.js +1 -1
  467. package/components/Table/TableFooter/components/TableFooterSummarySelectAllButton.js +1 -1
  468. package/components/Table/TableFooter/components/TableFooterSummarySelectedCount.js +1 -1
  469. package/components/Table/utils.js +1 -1
  470. package/components/Tabs/Tabs.js +5 -5
  471. package/components/TabsExtended/TabsExtended.js +2 -2
  472. package/components/TabsExtended/components/TabsExtendedContent.js +1 -1
  473. package/components/TabsExtended/components/TabsExtendedDropdownWrapper.js +1 -1
  474. package/components/TabsExtended/components/TabsExtendedTab.js +1 -1
  475. package/components/TabsExtended/components/TabsExtendedTabButton.js +1 -1
  476. package/components/TabsExtended/components/TabsExtendedTabsWrapper.js +1 -1
  477. package/components/TabsExtended/utils.js +1 -1
  478. package/components/TabsLine/TabsLine.js +1 -1
  479. package/components/TabsLine/components/TabsLineDesktop.js +1 -1
  480. package/components/TabsLine/components/TabsLineDropdown.js +2 -2
  481. package/components/TabsLine/components/TabsLineItem.js +1 -1
  482. package/components/TabsLine/components/TabsLineMobile.js +2 -2
  483. package/components/Tag/Tag.js +5 -5
  484. package/components/TagColor/TagColor.js +10 -10
  485. package/components/TagGroup/TagGroup.js +4 -4
  486. package/components/ThemeProvider/ETriplexNextTheme.js.map +1 -1
  487. package/components/ThemeProvider/ThemeProvider.js +5 -3
  488. package/components/ThemeProvider/ThemeProvider.js.map +1 -1
  489. package/components/ThemeProvider/ThemeProviderContext.js.map +1 -1
  490. package/components/ThemeProvider/components/ThemeProviderView.js +6 -9
  491. package/components/ThemeProvider/components/ThemeProviderView.js.map +1 -1
  492. package/components/ThemeProvider/useToken.js.map +1 -1
  493. package/components/Tooltip/Tooltip.js +49 -52
  494. package/components/Tooltip/Tooltip.js.map +1 -1
  495. package/components/Tooltip/TootlipContext.js.map +1 -1
  496. package/components/Tooltip/components/common/TooltipBody.js +1 -1
  497. package/components/Tooltip/components/common/TooltipLink.js +7 -18
  498. package/components/Tooltip/components/common/TooltipLink.js.map +1 -1
  499. package/components/Tooltip/components/common/TooltipTarget.js.map +1 -1
  500. package/components/Tooltip/components/common/TooltipXButton.js +1 -1
  501. package/components/Tooltip/components/desktop/TooltipDesktop.js +24 -12
  502. package/components/Tooltip/components/desktop/TooltipDesktop.js.map +1 -1
  503. package/components/Tooltip/components/desktop/components/TooltipDesktopBase.js +25 -24
  504. package/components/Tooltip/components/desktop/components/TooltipDesktopBase.js.map +1 -1
  505. package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js +8 -17
  506. package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js.map +1 -1
  507. package/components/Tooltip/components/mobile/TooltipMobile.js +10 -6
  508. package/components/Tooltip/components/mobile/TooltipMobile.js.map +1 -1
  509. package/components/Tooltip/components/mobile/components/TooltipMobileHeader.js +2 -2
  510. package/components/Tooltip/components/mobile/components/TooltipMobileHeader.js.map +1 -1
  511. package/components/Tooltip/enums.js.map +1 -1
  512. package/components/Tooltip/utils/Positioning.js +18 -17
  513. package/components/Tooltip/utils/Positioning.js.map +1 -1
  514. package/components/Tooltip/utils/useTooltipTheme.js +40 -12
  515. package/components/Tooltip/utils/useTooltipTheme.js.map +1 -1
  516. package/components/TopOverlay/TopOverlay.js +6 -6
  517. package/components/TreeView/TreeView.js +1 -1
  518. package/components/TreeView/components/TreeViewGroup.js +1 -1
  519. package/components/TreeView/components/TreeViewNode.js +1 -1
  520. package/components/Typography/Caption.js +7 -7
  521. package/components/Typography/CodeText.js +2 -2
  522. package/components/Typography/Text.js +9 -9
  523. package/components/Typography/Title.js +9 -9
  524. package/components/Typography/constants.js +1 -1
  525. package/components/UnorderedList/UnorderedList.js +2 -2
  526. package/components/UnorderedList/UnorderedListItem.js +2 -2
  527. package/components/UploadZone/UploadZone.js +2 -2
  528. package/components/UploadZone/components/UploadZoneInput.js +1 -1
  529. package/components/UploadZone/index.js +1 -1
  530. package/components/index.js +7 -8
  531. package/consts/DateConst.js.map +1 -1
  532. package/index.d.ts +202 -91
  533. package/index.js +7 -8
  534. package/package.json +1 -1
  535. package/styles/triplex-next.css +2945 -2936
  536. package/chunks/CalendarViewItem-knPscTce.js.map +0 -1
  537. package/chunks/Card.module-Dd2_zoXF.js +0 -30
  538. package/chunks/Card.module-Dd2_zoXF.js.map +0 -1
  539. package/chunks/Carousel.module-LNo8o3qn.js +0 -30
  540. package/chunks/Carousel.module-LNo8o3qn.js.map +0 -1
  541. package/chunks/CheckboxTreeExtended.module-CKUO50mv.js +0 -24
  542. package/chunks/CheckboxTreeExtended.module-CKUO50mv.js.map +0 -1
  543. package/chunks/Chip-CI8ALCUS.js.map +0 -1
  544. package/chunks/Confirm.module-BtnLGqBz.js +0 -24
  545. package/chunks/Confirm.module-BtnLGqBz.js.map +0 -1
  546. package/chunks/DropdownMobile.module-xbkYiPM1.js +0 -40
  547. package/chunks/DropdownMobile.module-xbkYiPM1.js.map +0 -1
  548. package/chunks/Footer.module-CYELL0O7.js +0 -12
  549. package/chunks/Footer.module-CYELL0O7.js.map +0 -1
  550. package/chunks/HeaderLayoutSidebar.module-MnhSBdiv.js.map +0 -1
  551. package/chunks/HeaderTabs.module-D9u9xuSn.js +0 -12
  552. package/chunks/HeaderTabs.module-D9u9xuSn.js.map +0 -1
  553. package/chunks/HeaderTitle.module-BGOYMt6r.js.map +0 -1
  554. package/chunks/ImageGalleryExtendedMain.module-CQNClbso.js +0 -28
  555. package/chunks/ImageGalleryExtendedMain.module-CQNClbso.js.map +0 -1
  556. package/chunks/IslandAccordion.module-nyPnHohH.js +0 -44
  557. package/chunks/IslandAccordion.module-nyPnHohH.js.map +0 -1
  558. package/chunks/IslandWidgetFooter.module-CNyLawMh.js +0 -12
  559. package/chunks/IslandWidgetFooter.module-CNyLawMh.js.map +0 -1
  560. package/chunks/IslandWidgetHeader.module-ChE5SXll.js +0 -20
  561. package/chunks/IslandWidgetHeader.module-ChE5SXll.js.map +0 -1
  562. package/chunks/LightBoxControls.module-Buvm7RbG.js +0 -26
  563. package/chunks/LightBoxControls.module-Buvm7RbG.js.map +0 -1
  564. package/chunks/LightBoxSideOverlayClose.module-eTdxNvSz.js.map +0 -1
  565. package/chunks/ListItemTail.module-BhSOptJB.js +0 -18
  566. package/chunks/ListItemTail.module-BhSOptJB.js.map +0 -1
  567. package/chunks/ListMasterFooter.module-DrlO_YrT.js +0 -14
  568. package/chunks/ListMasterFooter.module-DrlO_YrT.js.map +0 -1
  569. package/chunks/ModalWindow.module-DrJpRuNK.js +0 -28
  570. package/chunks/ModalWindow.module-DrJpRuNK.js.map +0 -1
  571. package/chunks/Notification.module-tEh-vvv0.js +0 -34
  572. package/chunks/Notification.module-tEh-vvv0.js.map +0 -1
  573. package/chunks/Overlay.module-CPNLKKsF.js +0 -30
  574. package/chunks/Overlay.module-CPNLKKsF.js.map +0 -1
  575. package/chunks/Page.module-Dru0rPA5.js +0 -15
  576. package/chunks/Page.module-Dru0rPA5.js.map +0 -1
  577. package/chunks/SMSField.module-CjGkO6u6.js +0 -26
  578. package/chunks/SMSField.module-CjGkO6u6.js.map +0 -1
  579. package/chunks/SliderExtendedMarks.module-CAeqmSQq.js +0 -24
  580. package/chunks/SliderExtendedMarks.module-CAeqmSQq.js.map +0 -1
  581. package/chunks/StatusTracker.module-BD5zJfbg.js +0 -42
  582. package/chunks/StatusTracker.module-BD5zJfbg.js.map +0 -1
  583. package/chunks/TableFooter.module-DhudGmzN.js +0 -22
  584. package/chunks/TableFooter.module-DhudGmzN.js.map +0 -1
  585. package/chunks/TabsExtended.module-DNjJIne-.js +0 -26
  586. package/chunks/TabsExtended.module-DNjJIne-.js.map +0 -1
  587. package/chunks/TabsLine.module-CbVAypRw.js +0 -36
  588. package/chunks/TabsLine.module-CbVAypRw.js.map +0 -1
  589. package/chunks/TooltipDesktop.module-DBiY8cJJ.js +0 -32
  590. package/chunks/TooltipDesktop.module-DBiY8cJJ.js.map +0 -1
  591. package/chunks/TreeView.module-GA-NyzjK.js +0 -12
  592. package/chunks/TreeView.module-GA-NyzjK.js.map +0 -1
  593. package/chunks/utils-BHxrQbA6.js.map +0 -1
  594. package/components/Pagination/utils/paginationUtils.js.map +0 -1
@@ -3,21 +3,21 @@ import React__default from "react";
3
3
  import { c as clsx } from "../../chunks/vendor-CtuAQuEN.js";
4
4
  import { createSizeToClassNameMap } from "../../utils/classNameMaps.js";
5
5
  import { ETagColorStatus } from "./enums.js";
6
- const tagColor = "tagColor__c4959aab";
7
- const sm = "sm__456c9ac5";
8
- const md = "md__b3968e64";
9
- const lg = "lg__973e5e6b";
10
- const success = "success__864ec487";
11
- const info = "info__b9b62421";
12
- const warning = "warning__0a0bda48";
13
- const error = "error__28699654";
14
- const content = "content__ab3845af";
6
+ const tagColor = "tagColor__70ec5a3d";
7
+ const sm = "sm__6c90d431";
8
+ const md = "md__cd2c6487";
9
+ const lg = "lg__362f08ae";
10
+ const success = "success__62aa7ba1";
11
+ const info = "info__1eeba22d";
12
+ const warning = "warning__fd98f655";
13
+ const error = "error__c7f47cb4";
14
+ const content = "content__da75d8b8";
15
15
  const styles = {
16
16
  tagColor,
17
17
  sm,
18
18
  md,
19
19
  lg,
20
- "default": "default__68d6af4c",
20
+ "default": "default__bf2d9ac0",
21
21
  success,
22
22
  info,
23
23
  warning,
@@ -2,10 +2,10 @@ import { jsx } from "react/jsx-runtime";
2
2
  import React__default from "react";
3
3
  import { c as clsx } from "../../chunks/vendor-CtuAQuEN.js";
4
4
  import { createSizeToClassNameMap } from "../../utils/classNameMaps.js";
5
- const tagGroup = "tagGroup__e7514549";
6
- const sm = "sm__af4119a1";
7
- const md = "md__97282975";
8
- const lg = "lg__7e13467a";
5
+ const tagGroup = "tagGroup__fa0b63c8";
6
+ const sm = "sm__6cd92352";
7
+ const md = "md__9730afd2";
8
+ const lg = "lg__0cf64a8c";
9
9
  const styles = {
10
10
  tagGroup,
11
11
  sm,
@@ -1 +1 @@
1
- {"version":3,"file":"ETriplexNextTheme.js","sources":["../../../src/components/ThemeProvider/ETriplexNextTheme.ts"],"sourcesContent":["// Темы Triplex Next. Тема определяет значения дизайн-токенов.\nexport enum ETriplexNextTheme {\n LIGHT = \"light\",\n DARK = \"dark\",\n}\n"],"names":["ETriplexNextTheme"],"mappings":"AACO,IAAK,sCAAAA,uBAAL;AACHA,qBAAA,OAAA,IAAQ;AACRA,qBAAA,MAAA,IAAO;AAFC,SAAAA;AAAA,GAAA,qBAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"ETriplexNextTheme.js","sources":["../../../src/components/ThemeProvider/ETriplexNextTheme.ts"],"sourcesContent":["/** Темы Triplex Next. Тема определяет значения дизайн-токенов. */\nexport enum ETriplexNextTheme {\n /** Светлая тема. Используется по умолчанию. */\n LIGHT = \"light\",\n /** Тёмная тема. */\n DARK = \"dark\",\n}\n"],"names":["ETriplexNextTheme"],"mappings":"AACO,IAAK,sCAAAA,uBAAL;AAEHA,qBAAA,OAAA,IAAQ;AAERA,qBAAA,MAAA,IAAO;AAJC,SAAAA;AAAA,GAAA,qBAAA,CAAA,CAAA;"}
@@ -5,6 +5,8 @@ import { DesignTokenUtils } from "../DesignTokens/DesignTokenUtils.js";
5
5
  import { ThemeProviderView } from "./components/ThemeProviderView.js";
6
6
  import { ETriplexNextTheme } from "./ETriplexNextTheme.js";
7
7
  const uniqueId = (prefix) => `${prefix}${Date.now()}${Math.floor(Math.random() * 1e6)}`;
8
+ const SCOPE_CLASS_NAME_PREFIX = "triplex-next-theme-";
9
+ const getStyleTagKey = (scopeClassName) => `triplex-next-dynamic-tokens-${scopeClassName}`;
8
10
  const ThemeProvider = ({
9
11
  children,
10
12
  scopeClassName,
@@ -12,16 +14,16 @@ const ThemeProvider = ({
12
14
  theme = ETriplexNextTheme.LIGHT,
13
15
  tokens
14
16
  }) => {
15
- const scopeCssClassName = useMemo(() => scopeClassName || uniqueId("triplex-next-theme-"), [scopeClassName]);
17
+ const scopeCssClassName = useMemo(() => scopeClassName || uniqueId(SCOPE_CLASS_NAME_PREFIX), [scopeClassName]);
16
18
  useLayoutEffect(() => {
17
19
  if (canUseDom()) {
18
20
  const style = `.${scopeCssClassName} {${DesignTokenUtils.getStyle(theme, tokens || {})}}`;
19
- updateCSS(style, `triplex-next-dynamic-tokens-${scopeCssClassName}`);
21
+ updateCSS(style, getStyleTagKey(scopeCssClassName));
20
22
  } else {
21
23
  console.warn("ThemeProvider", "SSR do not support dynamic theme with css variables.");
22
24
  }
23
25
  }, [scopeCssClassName, theme, tokens]);
24
- useLayoutEffect(() => () => removeCSS(`triplex-next-dynamic-tokens-${scopeCssClassName}`), [scopeCssClassName]);
26
+ useLayoutEffect(() => () => removeCSS(getStyleTagKey(scopeCssClassName)), [scopeCssClassName]);
25
27
  return /* @__PURE__ */ jsx(ThemeProviderView, { scopeClassName: scopeCssClassName, scopeRef, theme, tokens, children });
26
28
  };
27
29
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProvider.js","sources":["../../../scripts/uniqueId.ts","../../../src/components/ThemeProvider/ThemeProvider.tsx"],"sourcesContent":["export const uniqueId = (prefix?: string): string =>\n `${prefix ? prefix : \"\"}${Date.now()}${Math.floor(Math.random() * 1000000)}`;\n","import React, { useLayoutEffect, useMemo } from \"react\";\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { removeCSS, updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport { TDesignTokensPartial } from \"../DesignTokens/types/DesignTokensTypes\";\nimport { DesignTokenUtils } from \"../DesignTokens/DesignTokenUtils\";\nimport { ThemeProviderView } from \"./components/ThemeProviderView\";\nimport { uniqueId } from \"../../../scripts/uniqueId\";\nimport { ETriplexNextTheme } from \"./ETriplexNextTheme\";\n\nexport interface IThemeProviderProps {\n children: React.ReactNode;\n /** Classname, который добавлен к элементу из scopeRef для создания области видимости css-переменных. */\n scopeClassName?: string;\n /** Ref на HTML элемент, внутри которого будет действовать текущий конфиг. */\n scopeRef: React.RefObject<HTMLElement>;\n /** Дизайн-тема Triplex Next. */\n theme?: ETriplexNextTheme;\n /** Переопределяемые токены. */\n tokens?: TDesignTokensPartial;\n}\n\nexport const ThemeProvider: React.FC<IThemeProviderProps> = ({\n children,\n scopeClassName,\n scopeRef,\n theme = ETriplexNextTheme.LIGHT,\n tokens,\n}) => {\n // ClassName, добавляемый к HTML элементу, для определения области видимости CSS-переменных.\n const scopeCssClassName = useMemo(() => scopeClassName || uniqueId(\"triplex-next-theme-\"), [scopeClassName]);\n\n useLayoutEffect(() => {\n if (canUseDom()) {\n const style = `.${scopeCssClassName} {${DesignTokenUtils.getStyle(theme, tokens || {})}}`;\n // Обновление мета тега со стилями темы. Обновляется тег с ключом triplex-next-dynamic-theme.\n updateCSS(style, `triplex-next-dynamic-tokens-${scopeCssClassName}`);\n } else {\n console.warn(\"ThemeProvider\", \"SSR do not support dynamic theme with css variables.\");\n }\n }, [scopeCssClassName, theme, tokens]);\n\n // Удаляет стили при размонтировании компонента.\n useLayoutEffect(() => () => removeCSS(`triplex-next-dynamic-tokens-${scopeCssClassName}`), [scopeCssClassName]);\n\n return (\n <ThemeProviderView scopeClassName={scopeCssClassName} scopeRef={scopeRef} theme={theme} tokens={tokens}>\n {children}\n </ThemeProviderView>\n );\n};\n"],"names":[],"mappings":";;;;;;AAAO,MAAM,WAAW,CAAC,WACrB,GAAY,MAAW,GAAG,KAAK,IAAA,CAAK,GAAG,KAAK,MAAM,KAAK,OAAA,IAAW,GAAO,CAAC;ACoBvE,MAAM,gBAA+C,CAAC;AAAA,EACzD;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ,kBAAkB;AAAA,EAC1B;AACJ,MAAM;AAEF,QAAM,oBAAoB,QAAQ,MAAM,kBAAkB,SAAS,qBAAqB,GAAG,CAAC,cAAc,CAAC;AAE3G,kBAAgB,MAAM;AAClB,QAAI,aAAa;AACb,YAAM,QAAQ,IAAI,iBAAiB,KAAK,iBAAiB,SAAS,OAAO,UAAU,CAAA,CAAE,CAAC;AAEtF,gBAAU,OAAO,+BAA+B,iBAAiB,EAAE;AAAA,IACvE,OAAO;AACH,cAAQ,KAAK,iBAAiB,sDAAsD;AAAA,IACxF;AAAA,EACJ,GAAG,CAAC,mBAAmB,OAAO,MAAM,CAAC;AAGrC,kBAAgB,MAAM,MAAM,UAAU,+BAA+B,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,CAAC;AAE9G,6BACK,mBAAA,EAAkB,gBAAgB,mBAAmB,UAAoB,OAAc,QACnF,UACL;AAER;"}
1
+ {"version":3,"file":"ThemeProvider.js","sources":["../../../scripts/uniqueId.ts","../../../src/components/ThemeProvider/ThemeProvider.tsx"],"sourcesContent":["export const uniqueId = (prefix?: string): string =>\n `${prefix ? prefix : \"\"}${Date.now()}${Math.floor(Math.random() * 1000000)}`;\n","import React, { useLayoutEffect, useMemo } from \"react\";\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { removeCSS, updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport { TDesignTokensPartial } from \"../DesignTokens/types/DesignTokensTypes\";\nimport { DesignTokenUtils } from \"../DesignTokens/DesignTokenUtils\";\nimport { ThemeProviderView } from \"./components/ThemeProviderView\";\nimport { uniqueId } from \"../../../scripts/uniqueId\";\nimport { ETriplexNextTheme } from \"./ETriplexNextTheme\";\n\n/** Префикс автогенерируемого scopeClassName. */\nconst SCOPE_CLASS_NAME_PREFIX = \"triplex-next-theme-\";\n\n/**\n * Возвращает ключ тега style с css-переменными темы. По этому ключу стили обновляются\n * и удаляются, поэтому ключ вычисляется в одном месте.\n */\nconst getStyleTagKey = (scopeClassName: string): string => `triplex-next-dynamic-tokens-${scopeClassName}`;\n\nexport interface IThemeProviderProps {\n /** Контент, внутри которого действуют тема и токены. */\n children: React.ReactNode;\n /** Classname, который добавлен к элементу из scopeRef для создания области видимости css-переменных. */\n scopeClassName?: string;\n /** Ref на HTML элемент, внутри которого будет действовать текущий конфиг. */\n scopeRef: React.RefObject<HTMLElement>;\n /** Дизайн-тема Triplex Next. @default ETriplexNextTheme.LIGHT */\n theme?: ETriplexNextTheme;\n /** Переопределяемые токены. */\n tokens?: TDesignTokensPartial;\n}\n\n/**\n * Провайдер темы. Рендерит css-переменные дизайн-токенов выбранной темы в тег style,\n * ограничивает их областью видимости элемента из scopeRef и передаёт тему и токены\n * дочерним компонентам через контекст (см. useToken).\n */\nexport const ThemeProvider: React.FC<IThemeProviderProps> = ({\n children,\n scopeClassName,\n scopeRef,\n theme = ETriplexNextTheme.LIGHT,\n tokens,\n}) => {\n // ClassName, добавляемый к HTML элементу, для определения области видимости CSS-переменных.\n const scopeCssClassName = useMemo(() => scopeClassName || uniqueId(SCOPE_CLASS_NAME_PREFIX), [scopeClassName]);\n\n useLayoutEffect(() => {\n if (canUseDom()) {\n const style = `.${scopeCssClassName} {${DesignTokenUtils.getStyle(theme, tokens || {})}}`;\n // Создание или обновление тега style с css-переменными текущей темы.\n updateCSS(style, getStyleTagKey(scopeCssClassName));\n } else {\n console.warn(\"ThemeProvider\", \"SSR do not support dynamic theme with css variables.\");\n }\n }, [scopeCssClassName, theme, tokens]);\n\n // Удаляет стили при размонтировании компонента.\n useLayoutEffect(() => () => removeCSS(getStyleTagKey(scopeCssClassName)), [scopeCssClassName]);\n\n return (\n <ThemeProviderView scopeClassName={scopeCssClassName} scopeRef={scopeRef} theme={theme} tokens={tokens}>\n {children}\n </ThemeProviderView>\n );\n};\n"],"names":[],"mappings":";;;;;;AAAO,MAAM,WAAW,CAAC,WACrB,GAAY,MAAW,GAAG,KAAK,IAAA,CAAK,GAAG,KAAK,MAAM,KAAK,OAAA,IAAW,GAAO,CAAC;ACS9E,MAAM,0BAA0B;AAMhC,MAAM,iBAAiB,CAAC,mBAAmC,+BAA+B,cAAc;AAoBjG,MAAM,gBAA+C,CAAC;AAAA,EACzD;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ,kBAAkB;AAAA,EAC1B;AACJ,MAAM;AAEF,QAAM,oBAAoB,QAAQ,MAAM,kBAAkB,SAAS,uBAAuB,GAAG,CAAC,cAAc,CAAC;AAE7G,kBAAgB,MAAM;AAClB,QAAI,aAAa;AACb,YAAM,QAAQ,IAAI,iBAAiB,KAAK,iBAAiB,SAAS,OAAO,UAAU,CAAA,CAAE,CAAC;AAEtF,gBAAU,OAAO,eAAe,iBAAiB,CAAC;AAAA,IACtD,OAAO;AACH,cAAQ,KAAK,iBAAiB,sDAAsD;AAAA,IACxF;AAAA,EACJ,GAAG,CAAC,mBAAmB,OAAO,MAAM,CAAC;AAGrC,kBAAgB,MAAM,MAAM,UAAU,eAAe,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC;AAE7F,6BACK,mBAAA,EAAkB,gBAAgB,mBAAmB,UAAoB,OAAc,QACnF,UACL;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProviderContext.js","sources":["../../../src/components/ThemeProvider/ThemeProviderContext.ts"],"sourcesContent":["import React from \"react\";\nimport { TDesignTokens } from \"../DesignTokens/types/DesignTokensTypes\";\nimport { ETriplexNextTheme } from \"./ETriplexNextTheme\";\nimport { DesignTokensCore, DesignTokensComponents } from \"../DesignTokens\";\n\nexport interface IThemeProviderContext {\n scopeClassName: string;\n theme: ETriplexNextTheme;\n tokens: TDesignTokens;\n}\n\nconst contextInitial: IThemeProviderContext = {\n scopeClassName: \"\",\n theme: ETriplexNextTheme.LIGHT,\n tokens: { ...DesignTokensCore, ...DesignTokensComponents },\n};\n\nexport const ThemeProviderContext = React.createContext<IThemeProviderContext>(contextInitial);\n"],"names":["React"],"mappings":";;;;;AAWA,MAAM,iBAAwC;AAAA,EAC1C,gBAAgB;AAAA,EAChB,OAAO,kBAAkB;AAAA,EACzB,QAAQ,EAAE,GAAG,kBAAkB,GAAG,uBAAA;AACtC;AAEO,MAAM,uBAAuBA,eAAM,cAAqC,cAAc;"}
1
+ {"version":3,"file":"ThemeProviderContext.js","sources":["../../../src/components/ThemeProvider/ThemeProviderContext.ts"],"sourcesContent":["import React from \"react\";\nimport { TDesignTokens } from \"../DesignTokens/types/DesignTokensTypes\";\nimport { ETriplexNextTheme } from \"./ETriplexNextTheme\";\nimport { DesignTokensCore, DesignTokensComponents } from \"../DesignTokens\";\n\nexport interface IThemeProviderContext {\n /** Classname, задающий область видимости css-переменных темы. Пустая строка вне ThemeProvider. */\n scopeClassName: string;\n /** Текущая дизайн-тема Triplex Next. */\n theme: ETriplexNextTheme;\n /** Итоговые токены: переопределения потребителя поверх токенов темы. */\n tokens: TDesignTokens;\n}\n\n/** Значение контекста вне ThemeProvider: светлая тема и токены по умолчанию. */\nconst contextInitial: IThemeProviderContext = {\n scopeClassName: \"\",\n theme: ETriplexNextTheme.LIGHT,\n tokens: { ...DesignTokensCore, ...DesignTokensComponents },\n};\n\n/** Контекст темы. Значение читается хуком useToken. */\nexport const ThemeProviderContext = React.createContext<IThemeProviderContext>(contextInitial);\n"],"names":["React"],"mappings":";;;;;AAeA,MAAM,iBAAwC;AAAA,EAC1C,gBAAgB;AAAA,EAChB,OAAO,kBAAkB;AAAA,EACzB,QAAQ,EAAE,GAAG,kBAAkB,GAAG,uBAAA;AACtC;AAGO,MAAM,uBAAuBA,eAAM,cAAqC,cAAc;"}
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { useRef, useEffect, useMemo } from "react";
2
+ import { useEffect, useMemo } from "react";
3
3
  import { ThemeProviderContext } from "../ThemeProviderContext.js";
4
4
  import { ETriplexNextTheme } from "../ETriplexNextTheme.js";
5
5
  import { DesignTokensCore } from "../../DesignTokens/DesignTokensCore.js";
@@ -14,17 +14,14 @@ const ThemeProviderView = ({
14
14
  theme,
15
15
  tokens: tokensProps
16
16
  }) => {
17
- const prevScopeClassName = useRef("");
18
17
  useEffect(() => {
19
- const scopeRefCurrent = scopeRef.current;
20
- if (scopeClassName) {
21
- scopeRefCurrent == null ? void 0 : scopeRefCurrent.classList.add(scopeClassName);
18
+ const scopeElement = scopeRef.current;
19
+ if (!scopeClassName) {
20
+ return;
22
21
  }
23
- prevScopeClassName.current = scopeClassName;
22
+ scopeElement == null ? void 0 : scopeElement.classList.add(scopeClassName);
24
23
  return () => {
25
- if (prevScopeClassName.current) {
26
- scopeRefCurrent == null ? void 0 : scopeRefCurrent.classList.remove(prevScopeClassName.current);
27
- }
24
+ scopeElement == null ? void 0 : scopeElement.classList.remove(scopeClassName);
28
25
  };
29
26
  }, [scopeClassName, scopeRef]);
30
27
  const value = useMemo(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProviderView.js","sources":["../../../../src/components/ThemeProvider/components/ThemeProviderView.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from \"react\";\nimport { defaultsDeep } from \"lodash-es\";\nimport { TDesignTokens, TDesignTokensPartial } from \"../../DesignTokens/types/DesignTokensTypes\";\n// Импорт не должен быть относительным.\nimport { ThemeProviderContext } from \"../ThemeProviderContext\";\nimport { ETriplexNextTheme } from \"../ETriplexNextTheme\";\nimport {\n DesignTokensCore,\n DesignTokensCoreThemeDark,\n DesignTokensComponents,\n DesignTokensComponentsThemeDark,\n} from \"../../DesignTokens\";\n\ninterface IThemeProviderViewProps {\n // Дизайн-тема Triplex Next.\n theme: ETriplexNextTheme;\n // Дизайн-токены Triplex.\n tokens?: TDesignTokensPartial;\n // Classname, который добавлен к элементу из scopeRef для создания области видимости css-переменных.\n scopeClassName: string;\n // Ref на HTML элемент, внутри которого будет действовать текущий конфиг. По-умолчанию - html.\n scopeRef: React.RefObject<HTMLElement>;\n children?: React.ReactNode;\n}\n\n/**\n * Создает провайдер темы и создает область видимости для css-переменных.\n */\nexport const ThemeProviderView: React.FC<IThemeProviderViewProps> = ({\n children,\n scopeClassName,\n scopeRef,\n theme,\n tokens: tokensProps,\n}) => {\n const prevScopeClassName = useRef(\"\");\n\n useEffect(() => {\n const scopeRefCurrent = scopeRef.current;\n\n if (scopeClassName) {\n scopeRefCurrent?.classList.add(scopeClassName);\n }\n prevScopeClassName.current = scopeClassName;\n\n return () => {\n if (prevScopeClassName.current) {\n scopeRefCurrent?.classList.remove(prevScopeClassName.current);\n }\n };\n }, [scopeClassName, scopeRef]);\n\n const value = useMemo(() => {\n // Не менять порядок, иначе токены темы будут переопределять пользовательские значения.\n const tokens: TDesignTokens = defaultsDeep(\n {},\n tokensProps,\n theme === ETriplexNextTheme.LIGHT ? DesignTokensCore : DesignTokensCoreThemeDark,\n theme === ETriplexNextTheme.LIGHT ? DesignTokensComponents : DesignTokensComponentsThemeDark,\n );\n\n return { scopeClassName, theme, tokens };\n }, [scopeClassName, theme, tokensProps]);\n\n return <ThemeProviderContext.Provider value={value}>{children}</ThemeProviderContext.Provider>;\n};\n"],"names":[],"mappings":";;;;;;;;;AA4BO,MAAM,oBAAuD,CAAC;AAAA,EACjE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AACZ,MAAM;AACF,QAAM,qBAAqB,OAAO,EAAE;AAEpC,YAAU,MAAM;AACZ,UAAM,kBAAkB,SAAS;AAEjC,QAAI,gBAAgB;AAChB,yDAAiB,UAAU,IAAI;AAAA,IACnC;AACA,uBAAmB,UAAU;AAE7B,WAAO,MAAM;AACT,UAAI,mBAAmB,SAAS;AAC5B,2DAAiB,UAAU,OAAO,mBAAmB;AAAA,MACzD;AAAA,IACJ;AAAA,EACJ,GAAG,CAAC,gBAAgB,QAAQ,CAAC;AAE7B,QAAM,QAAQ,QAAQ,MAAM;AAExB,UAAM,SAAwB;AAAA,MAC1B,CAAA;AAAA,MACA;AAAA,MACA,UAAU,kBAAkB,QAAQ,mBAAmB;AAAA,MACvD,UAAU,kBAAkB,QAAQ,yBAAyB;AAAA,IAAA;AAGjE,WAAO,EAAE,gBAAgB,OAAO,OAAA;AAAA,EACpC,GAAG,CAAC,gBAAgB,OAAO,WAAW,CAAC;AAEvC,SAAO,oBAAC,qBAAqB,UAArB,EAA8B,OAAe,SAAA,CAAS;AAClE;"}
1
+ {"version":3,"file":"ThemeProviderView.js","sources":["../../../../src/components/ThemeProvider/components/ThemeProviderView.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport { defaultsDeep } from \"lodash-es\";\nimport { TDesignTokens, TDesignTokensPartial } from \"../../DesignTokens/types/DesignTokensTypes\";\nimport { ThemeProviderContext } from \"../ThemeProviderContext\";\nimport { ETriplexNextTheme } from \"../ETriplexNextTheme\";\nimport {\n DesignTokensCore,\n DesignTokensCoreThemeDark,\n DesignTokensComponents,\n DesignTokensComponentsThemeDark,\n} from \"../../DesignTokens\";\n\ninterface IThemeProviderViewProps {\n /** Дизайн-тема Triplex Next. */\n theme: ETriplexNextTheme;\n /** Переопределяемые токены. */\n tokens?: TDesignTokensPartial;\n /** Classname, который добавлен к элементу из scopeRef для создания области видимости css-переменных. */\n scopeClassName: string;\n /** Ref на HTML элемент, внутри которого будет действовать текущий конфиг. */\n scopeRef: React.RefObject<HTMLElement>;\n /** Контент, внутри которого действуют тема и токены. */\n children?: React.ReactNode;\n}\n\n/**\n * Создаёт провайдер темы: навешивает scopeClassName на элемент из scopeRef (область видимости\n * css-переменных) и отдаёт тему вместе с итоговыми токенами в контекст.\n */\nexport const ThemeProviderView: React.FC<IThemeProviderViewProps> = ({\n children,\n scopeClassName,\n scopeRef,\n theme,\n tokens: tokensProps,\n}) => {\n useEffect(() => {\n const scopeElement = scopeRef.current;\n\n if (!scopeClassName) {\n return;\n }\n\n scopeElement?.classList.add(scopeClassName);\n\n return () => {\n scopeElement?.classList.remove(scopeClassName);\n };\n }, [scopeClassName, scopeRef]);\n\n const value = useMemo(() => {\n // Не менять порядок, иначе токены темы будут переопределять пользовательские значения.\n const tokens: TDesignTokens = defaultsDeep(\n {},\n tokensProps,\n theme === ETriplexNextTheme.LIGHT ? DesignTokensCore : DesignTokensCoreThemeDark,\n theme === ETriplexNextTheme.LIGHT ? DesignTokensComponents : DesignTokensComponentsThemeDark,\n );\n\n return { scopeClassName, theme, tokens };\n }, [scopeClassName, theme, tokensProps]);\n\n return <ThemeProviderContext.Provider value={value}>{children}</ThemeProviderContext.Provider>;\n};\n"],"names":[],"mappings":";;;;;;;;;AA6BO,MAAM,oBAAuD,CAAC;AAAA,EACjE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AACZ,MAAM;AACF,YAAU,MAAM;AACZ,UAAM,eAAe,SAAS;AAE9B,QAAI,CAAC,gBAAgB;AACjB;AAAA,IACJ;AAEA,iDAAc,UAAU,IAAI;AAE5B,WAAO,MAAM;AACT,mDAAc,UAAU,OAAO;AAAA,IACnC;AAAA,EACJ,GAAG,CAAC,gBAAgB,QAAQ,CAAC;AAE7B,QAAM,QAAQ,QAAQ,MAAM;AAExB,UAAM,SAAwB;AAAA,MAC1B,CAAA;AAAA,MACA;AAAA,MACA,UAAU,kBAAkB,QAAQ,mBAAmB;AAAA,MACvD,UAAU,kBAAkB,QAAQ,yBAAyB;AAAA,IAAA;AAGjE,WAAO,EAAE,gBAAgB,OAAO,OAAA;AAAA,EACpC,GAAG,CAAC,gBAAgB,OAAO,WAAW,CAAC;AAEvC,SAAO,oBAAC,qBAAqB,UAArB,EAA8B,OAAe,SAAA,CAAS;AAClE;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useToken.js","sources":["../../../src/components/ThemeProvider/useToken.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport { TDesignTokens } from \"../DesignTokens/types/DesignTokensTypes\";\nimport { ThemeProviderContext } from \"@sberbusiness/triplex-next/components/ThemeProvider/ThemeProviderContext\";\nimport { ETriplexNextTheme } from \"./ETriplexNextTheme\";\n\n/**\n * Хук, возвращающий текущую тему и токены.\n */\nexport const useToken = (): { scopeClassName: string; theme: ETriplexNextTheme; tokens: TDesignTokens } => {\n const { scopeClassName, theme, tokens } = useContext(ThemeProviderContext);\n\n return { scopeClassName, theme, tokens };\n};\n"],"names":[],"mappings":";;AAQO,MAAM,WAAW,MAAmF;AACvG,QAAM,EAAE,gBAAgB,OAAO,OAAA,IAAW,WAAW,oBAAoB;AAEzE,SAAO,EAAE,gBAAgB,OAAO,OAAA;AACpC;"}
1
+ {"version":3,"file":"useToken.js","sources":["../../../src/components/ThemeProvider/useToken.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport { TDesignTokens } from \"../DesignTokens/types/DesignTokensTypes\";\nimport { ThemeProviderContext } from \"@sberbusiness/triplex-next/components/ThemeProvider/ThemeProviderContext\";\nimport { ETriplexNextTheme } from \"./ETriplexNextTheme\";\n\n/**\n * Хук, возвращающий текущую тему и токены ближайшего ThemeProvider.\n * Вне ThemeProvider возвращает светлую тему, токены по умолчанию и пустой scopeClassName.\n */\nexport const useToken = (): { scopeClassName: string; theme: ETriplexNextTheme; tokens: TDesignTokens } => {\n const { scopeClassName, theme, tokens } = useContext(ThemeProviderContext);\n\n return { scopeClassName, theme, tokens };\n};\n"],"names":[],"mappings":";;AASO,MAAM,WAAW,MAAmF;AACvG,QAAM,EAAE,gBAAgB,OAAO,OAAA,IAAW,WAAW,oBAAoB;AAEzE,SAAO,EAAE,gBAAgB,OAAO,OAAA;AACpC;"}
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import React__default, { useState, useRef, useEffect, useCallback } from "react";
2
+ import React__default, { useState, useRef, useEffect, useMemo, useCallback } from "react";
3
3
  import { TooltipContext } from "./TootlipContext.js";
4
4
  import { MobileView } from "../MobileView/MobileView.js";
5
5
  import { TooltipDesktop } from "./components/desktop/TooltipDesktop.js";
@@ -12,6 +12,29 @@ import { TooltipMobileHeader } from "./components/mobile/components/TooltipMobil
12
12
  import { useTooltipTheme } from "./utils/useTooltipTheme.js";
13
13
  import { useMobileView } from "../MobileView/useMobileView.js";
14
14
  import "./enums.js";
15
+ const collectTooltipElements = (children) => {
16
+ const elements = {
17
+ body: null,
18
+ link: null,
19
+ closeButton: null,
20
+ mobileHeader: null,
21
+ target: null
22
+ };
23
+ React__default.Children.forEach(children, (child) => {
24
+ if (React__default.isValidElement(child) && child.type === TooltipTarget) {
25
+ elements.target = child;
26
+ } else if (React__default.isValidElement(child) && child.type === TooltipBody) {
27
+ elements.body = child;
28
+ } else if (React__default.isValidElement(child) && child.type === TooltipLink) {
29
+ elements.link = child;
30
+ } else if (React__default.isValidElement(child) && child.type === TooltipXButton) {
31
+ elements.closeButton = child;
32
+ } else if (React__default.isValidElement(child) && child.type === TooltipMobileHeader) {
33
+ elements.mobileHeader = child;
34
+ }
35
+ });
36
+ return elements;
37
+ };
15
38
  const Tooltip = ({
16
39
  children,
17
40
  toggleType,
@@ -26,65 +49,39 @@ const Tooltip = ({
26
49
  const targetHoveredRef = useRef(false);
27
50
  const open = openProp ?? openState;
28
51
  const isBodyOnlyRenderContainer = isMobileScreenWidth && !disableAdaptiveMode;
29
- useTooltipTheme(open, isBodyOnlyRenderContainer ? document.body : rest.renderContainer ?? document.body);
52
+ const themeContainer = isBodyOnlyRenderContainer ? document.body : rest.renderContainer ?? document.body;
53
+ useTooltipTheme(open, themeContainer);
30
54
  useEffect(() => {
31
55
  if (openProp === false) {
32
56
  targetHoveredRef.current = false;
33
57
  }
34
58
  }, [openProp]);
35
- const getChildrenElements = useCallback(() => {
36
- const elements = {
37
- body: null,
38
- link: null,
39
- closeButton: null,
40
- mobileHeader: null,
41
- target: null
42
- };
43
- React__default.Children.map(children, (child) => {
44
- if (React__default.isValidElement(child)) {
45
- if (child.type === TooltipTarget) {
46
- elements.target = child;
47
- } else if (child.type === TooltipBody) {
48
- elements.body = child;
49
- } else if (child.type === TooltipLink) {
50
- elements.link = child;
51
- } else if (child.type === TooltipXButton) {
52
- elements.closeButton = child;
53
- } else if (child.type === TooltipMobileHeader) {
54
- elements.mobileHeader = child;
59
+ const elements = useMemo(() => collectTooltipElements(children), [children]);
60
+ const handleOpen = useCallback(
61
+ (nextOpen) => {
62
+ if (openProp === void 0) {
63
+ if (!nextOpen) {
64
+ targetHoveredRef.current = false;
55
65
  }
66
+ setOpenState(nextOpen);
56
67
  }
57
- });
58
- return elements;
59
- }, [children]);
60
- const handleOpen = (nextOpen) => {
61
- if (openProp === void 0) {
62
- if (!nextOpen) {
63
- targetHoveredRef.current = false;
64
- }
65
- setOpenState(nextOpen);
66
- }
67
- toggle == null ? void 0 : toggle(nextOpen);
68
- };
69
- const renderDesktopTooltip = () => {
70
- return /* @__PURE__ */ jsx(TooltipDesktop, { isOpen: open, toggleType, preferPlace, ...rest });
71
- };
72
- const renderMobileTooltip = () => {
73
- return /* @__PURE__ */ jsx(TooltipMobile, { isOpen: open, ...rest });
74
- };
75
- return /* @__PURE__ */ jsx(
76
- TooltipContext.Provider,
77
- {
78
- value: {
79
- elements: getChildrenElements(),
80
- setTooltipOpen: handleOpen,
81
- targetHoveredRef,
82
- toggleType,
83
- tooltipOpen: open
84
- },
85
- children: disableAdaptiveMode ? renderDesktopTooltip() : /* @__PURE__ */ jsx(MobileView, { fallback: renderDesktopTooltip(), children: renderMobileTooltip() })
86
- }
68
+ toggle == null ? void 0 : toggle(nextOpen);
69
+ },
70
+ [openProp, toggle]
71
+ );
72
+ const contextValue = useMemo(
73
+ () => ({
74
+ elements,
75
+ setTooltipOpen: handleOpen,
76
+ targetHoveredRef,
77
+ toggleType,
78
+ tooltipOpen: open
79
+ }),
80
+ [elements, handleOpen, toggleType, open]
87
81
  );
82
+ const renderDesktopTooltip = () => /* @__PURE__ */ jsx(TooltipDesktop, { isOpen: open, toggleType, preferPlace, ...rest });
83
+ const renderMobileTooltip = () => /* @__PURE__ */ jsx(TooltipMobile, { isOpen: open, ...rest });
84
+ return /* @__PURE__ */ jsx(TooltipContext.Provider, { value: contextValue, children: disableAdaptiveMode ? renderDesktopTooltip() : /* @__PURE__ */ jsx(MobileView, { fallback: renderDesktopTooltip(), children: renderMobileTooltip() }) });
88
85
  };
89
86
  Tooltip.Target = TooltipTarget;
90
87
  Tooltip.Body = TooltipBody;
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useRef } from \"react\";\nimport { TooltipContext } from \"./TootlipContext\";\nimport { MobileView } from \"../MobileView/MobileView\";\nimport { TooltipDesktop } from \"./components/desktop/TooltipDesktop\";\nimport { TooltipMobile } from \"./components/mobile/TooltipMobile\";\nimport { TooltipBody } from \"./components/common/TooltipBody\";\nimport { TooltipLink } from \"./components/common/TooltipLink\";\nimport { TooltipTarget } from \"./components/common/TooltipTarget\";\nimport { TooltipXButton } from \"./components/common/TooltipXButton\";\nimport { TooltipMobileHeader } from \"./components/mobile/components/TooltipMobileHeader\";\nimport { ITooltipElements, ITooltipProps } from \"./types\";\nimport { useTooltipTheme } from \"./utils/useTooltipTheme\";\nimport { useMobileView } from \"../MobileView\";\n\n/** Внутренние составляющие компонента Tooltip. */\ninterface ITooltipComposition {\n Target: typeof TooltipTarget;\n Body: typeof TooltipBody;\n Link: typeof TooltipLink;\n XButton: typeof TooltipXButton;\n MobileHeader: typeof TooltipMobileHeader;\n}\n\n/** Всплывающая подсказка. */\nexport const Tooltip: React.FC<ITooltipProps> & ITooltipComposition = ({\n children,\n toggleType,\n preferPlace,\n disableAdaptiveMode,\n isOpen: openProp,\n toggle,\n ...rest\n}) => {\n const isMobileScreenWidth = useMobileView();\n const [openState, setOpenState] = useState(false);\n const targetHoveredRef = useRef(false);\n const open = openProp ?? openState;\n // renderContainer для mobile режима только document.body\n const isBodyOnlyRenderContainer = isMobileScreenWidth && !disableAdaptiveMode;\n useTooltipTheme(open, isBodyOnlyRenderContainer ? document.body : (rest.renderContainer ?? document.body));\n\n useEffect(() => {\n if (openProp === false) {\n targetHoveredRef.current = false;\n }\n }, [openProp]);\n\n /** Получить дочерние React-элементы. */\n const getChildrenElements = useCallback(() => {\n const elements: ITooltipElements = {\n body: null,\n link: null,\n closeButton: null,\n mobileHeader: null,\n target: null,\n };\n\n React.Children.map(children, (child) => {\n if (React.isValidElement<React.ReactElement>(child)) {\n if (child.type === TooltipTarget) {\n elements.target = child as React.ReactElement;\n } else if (child.type === TooltipBody) {\n elements.body = child as React.ReactElement;\n } else if (child.type === TooltipLink) {\n elements.link = child as React.ReactElement;\n } else if (child.type === TooltipXButton) {\n elements.closeButton = child as React.ReactElement;\n } else if (child.type === TooltipMobileHeader) {\n elements.mobileHeader = child as React.ReactElement;\n }\n }\n });\n\n return elements;\n }, [children]);\n\n /** Обработчик изменения состояния компонента. */\n const handleOpen = (nextOpen: boolean) => {\n if (openProp === undefined) {\n if (!nextOpen) {\n targetHoveredRef.current = false;\n }\n setOpenState(nextOpen);\n }\n\n toggle?.(nextOpen);\n };\n\n /** Рендер десктоп версии компонента. */\n const renderDesktopTooltip = () => {\n return <TooltipDesktop isOpen={open} toggleType={toggleType} preferPlace={preferPlace} {...rest} />;\n };\n\n /** Рендер мобильной версии компонента. */\n const renderMobileTooltip = () => {\n return <TooltipMobile isOpen={open} {...rest} />;\n };\n\n return (\n <TooltipContext.Provider\n value={{\n elements: getChildrenElements(),\n setTooltipOpen: handleOpen,\n targetHoveredRef,\n toggleType,\n tooltipOpen: open,\n }}\n >\n {disableAdaptiveMode ? (\n renderDesktopTooltip()\n ) : (\n <MobileView fallback={renderDesktopTooltip()}>{renderMobileTooltip()}</MobileView>\n )}\n </TooltipContext.Provider>\n );\n};\n\nTooltip.Target = TooltipTarget;\nTooltip.Body = TooltipBody;\nTooltip.Link = TooltipLink;\nTooltip.XButton = TooltipXButton;\nTooltip.MobileHeader = TooltipMobileHeader;\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;AAwBO,MAAM,UAAyD,CAAC;AAAA,EACnE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA,GAAG;AACP,MAAM;AACF,QAAM,sBAAsB,cAAA;AAC5B,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,mBAAmB,OAAO,KAAK;AACrC,QAAM,OAAO,YAAY;AAEzB,QAAM,4BAA4B,uBAAuB,CAAC;AAC1D,kBAAgB,MAAM,4BAA4B,SAAS,OAAQ,KAAK,mBAAmB,SAAS,IAAK;AAEzG,YAAU,MAAM;AACZ,QAAI,aAAa,OAAO;AACpB,uBAAiB,UAAU;AAAA,IAC/B;AAAA,EACJ,GAAG,CAAC,QAAQ,CAAC;AAGb,QAAM,sBAAsB,YAAY,MAAM;AAC1C,UAAM,WAA6B;AAAA,MAC/B,MAAM;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,MACb,cAAc;AAAA,MACd,QAAQ;AAAA,IAAA;AAGZA,mBAAM,SAAS,IAAI,UAAU,CAAC,UAAU;AACpC,UAAIA,eAAM,eAAmC,KAAK,GAAG;AACjD,YAAI,MAAM,SAAS,eAAe;AAC9B,mBAAS,SAAS;AAAA,QACtB,WAAW,MAAM,SAAS,aAAa;AACnC,mBAAS,OAAO;AAAA,QACpB,WAAW,MAAM,SAAS,aAAa;AACnC,mBAAS,OAAO;AAAA,QACpB,WAAW,MAAM,SAAS,gBAAgB;AACtC,mBAAS,cAAc;AAAA,QAC3B,WAAW,MAAM,SAAS,qBAAqB;AAC3C,mBAAS,eAAe;AAAA,QAC5B;AAAA,MACJ;AAAA,IACJ,CAAC;AAED,WAAO;AAAA,EACX,GAAG,CAAC,QAAQ,CAAC;AAGb,QAAM,aAAa,CAAC,aAAsB;AACtC,QAAI,aAAa,QAAW;AACxB,UAAI,CAAC,UAAU;AACX,yBAAiB,UAAU;AAAA,MAC/B;AACA,mBAAa,QAAQ;AAAA,IACzB;AAEA,qCAAS;AAAA,EACb;AAGA,QAAM,uBAAuB,MAAM;AAC/B,+BAAQ,gBAAA,EAAe,QAAQ,MAAM,YAAwB,aAA2B,GAAG,MAAM;AAAA,EACrG;AAGA,QAAM,sBAAsB,MAAM;AAC9B,WAAO,oBAAC,eAAA,EAAc,QAAQ,MAAO,GAAG,MAAM;AAAA,EAClD;AAEA,SACI;AAAA,IAAC,eAAe;AAAA,IAAf;AAAA,MACG,OAAO;AAAA,QACH,UAAU,oBAAA;AAAA,QACV,gBAAgB;AAAA,QAChB;AAAA,QACA;AAAA,QACA,aAAa;AAAA,MAAA;AAAA,MAGhB,UAAA,sBACG,yBAEA,oBAAC,cAAW,UAAU,qBAAA,GAAyB,UAAA,oBAAA,EAAoB,CAAE;AAAA,IAAA;AAAA,EAAA;AAIrF;AAEA,QAAQ,SAAS;AACjB,QAAQ,OAAO;AACf,QAAQ,OAAO;AACf,QAAQ,UAAU;AAClB,QAAQ,eAAe;"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useMemo, useRef } from \"react\";\nimport { TooltipContext } from \"./TootlipContext\";\nimport { MobileView } from \"../MobileView/MobileView\";\nimport { TooltipDesktop } from \"./components/desktop/TooltipDesktop\";\nimport { TooltipMobile } from \"./components/mobile/TooltipMobile\";\nimport { TooltipBody } from \"./components/common/TooltipBody\";\nimport { TooltipLink } from \"./components/common/TooltipLink\";\nimport { TooltipTarget } from \"./components/common/TooltipTarget\";\nimport { TooltipXButton } from \"./components/common/TooltipXButton\";\nimport { TooltipMobileHeader } from \"./components/mobile/components/TooltipMobileHeader\";\nimport {\n ITooltipBodyProps,\n ITooltipElements,\n ITooltipLinkProps,\n ITooltipMobileHeaderProps,\n ITooltipProps,\n ITooltipTargetProps,\n ITooltipXButtonProps,\n} from \"./types\";\nimport { useTooltipTheme } from \"./utils/useTooltipTheme\";\nimport { useMobileView } from \"../MobileView\";\n\n/** Внутренние составляющие компонента Tooltip. */\ninterface ITooltipComposition {\n /** Целевой элемент, к которому привязана подсказка. */\n Target: typeof TooltipTarget;\n /** Содержимое подсказки. */\n Body: typeof TooltipBody;\n /** Гиперссылка внутри подсказки. */\n Link: typeof TooltipLink;\n /** Кнопка закрытия подсказки. */\n XButton: typeof TooltipXButton;\n /** Заголовок мобильной (адаптивной) версии подсказки. */\n MobileHeader: typeof TooltipMobileHeader;\n}\n\n/**\n * Разбирает children на именованные слоты Tooltip.\n * Узлы, не являющиеся субкомпонентами Tooltip, игнорируются.\n */\nconst collectTooltipElements = (children: React.ReactNode): ITooltipElements => {\n const elements: ITooltipElements = {\n body: null,\n link: null,\n closeButton: null,\n mobileHeader: null,\n target: null,\n };\n\n React.Children.forEach(children, (child) => {\n if (React.isValidElement<ITooltipTargetProps>(child) && child.type === TooltipTarget) {\n elements.target = child;\n } else if (React.isValidElement<ITooltipBodyProps>(child) && child.type === TooltipBody) {\n elements.body = child;\n } else if (React.isValidElement<ITooltipLinkProps>(child) && child.type === TooltipLink) {\n elements.link = child;\n } else if (React.isValidElement<ITooltipXButtonProps>(child) && child.type === TooltipXButton) {\n elements.closeButton = child;\n } else if (React.isValidElement<ITooltipMobileHeaderProps>(child) && child.type === TooltipMobileHeader) {\n elements.mobileHeader = child;\n }\n });\n\n return elements;\n};\n\n/** Всплывающая подсказка. */\nexport const Tooltip: React.FC<ITooltipProps> & ITooltipComposition = ({\n children,\n toggleType,\n preferPlace,\n disableAdaptiveMode,\n isOpen: openProp,\n toggle,\n ...rest\n}) => {\n const isMobileScreenWidth = useMobileView();\n const [openState, setOpenState] = useState(false);\n const targetHoveredRef = useRef(false);\n const open = openProp ?? openState;\n // renderContainer для mobile режима только document.body\n const isBodyOnlyRenderContainer = isMobileScreenWidth && !disableAdaptiveMode;\n const themeContainer = isBodyOnlyRenderContainer ? document.body : (rest.renderContainer ?? document.body);\n\n useTooltipTheme(open, themeContainer);\n\n useEffect(() => {\n if (openProp === false) {\n targetHoveredRef.current = false;\n }\n }, [openProp]);\n\n const elements = useMemo(() => collectTooltipElements(children), [children]);\n\n /** Обработчик изменения состояния компонента. */\n const handleOpen = useCallback(\n (nextOpen: boolean) => {\n if (openProp === undefined) {\n if (!nextOpen) {\n targetHoveredRef.current = false;\n }\n setOpenState(nextOpen);\n }\n\n toggle?.(nextOpen);\n },\n [openProp, toggle],\n );\n\n const contextValue = useMemo(\n () => ({\n elements,\n setTooltipOpen: handleOpen,\n targetHoveredRef,\n toggleType,\n tooltipOpen: open,\n }),\n [elements, handleOpen, toggleType, open],\n );\n\n /** Рендер десктоп версии компонента. */\n const renderDesktopTooltip = () => (\n <TooltipDesktop isOpen={open} toggleType={toggleType} preferPlace={preferPlace} {...rest} />\n );\n\n /** Рендер мобильной версии компонента. */\n const renderMobileTooltip = () => <TooltipMobile isOpen={open} {...rest} />;\n\n return (\n <TooltipContext.Provider value={contextValue}>\n {disableAdaptiveMode ? (\n renderDesktopTooltip()\n ) : (\n <MobileView fallback={renderDesktopTooltip()}>{renderMobileTooltip()}</MobileView>\n )}\n </TooltipContext.Provider>\n );\n};\n\nTooltip.Target = TooltipTarget;\nTooltip.Body = TooltipBody;\nTooltip.Link = TooltipLink;\nTooltip.XButton = TooltipXButton;\nTooltip.MobileHeader = TooltipMobileHeader;\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;AAwCA,MAAM,yBAAyB,CAAC,aAAgD;AAC5E,QAAM,WAA6B;AAAA,IAC/B,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,IACd,QAAQ;AAAA,EAAA;AAGZA,iBAAM,SAAS,QAAQ,UAAU,CAAC,UAAU;AACxC,QAAIA,eAAM,eAAoC,KAAK,KAAK,MAAM,SAAS,eAAe;AAClF,eAAS,SAAS;AAAA,IACtB,WAAWA,eAAM,eAAkC,KAAK,KAAK,MAAM,SAAS,aAAa;AACrF,eAAS,OAAO;AAAA,IACpB,WAAWA,eAAM,eAAkC,KAAK,KAAK,MAAM,SAAS,aAAa;AACrF,eAAS,OAAO;AAAA,IACpB,WAAWA,eAAM,eAAqC,KAAK,KAAK,MAAM,SAAS,gBAAgB;AAC3F,eAAS,cAAc;AAAA,IAC3B,WAAWA,eAAM,eAA0C,KAAK,KAAK,MAAM,SAAS,qBAAqB;AACrG,eAAS,eAAe;AAAA,IAC5B;AAAA,EACJ,CAAC;AAED,SAAO;AACX;AAGO,MAAM,UAAyD,CAAC;AAAA,EACnE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA,GAAG;AACP,MAAM;AACF,QAAM,sBAAsB,cAAA;AAC5B,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,mBAAmB,OAAO,KAAK;AACrC,QAAM,OAAO,YAAY;AAEzB,QAAM,4BAA4B,uBAAuB,CAAC;AAC1D,QAAM,iBAAiB,4BAA4B,SAAS,OAAQ,KAAK,mBAAmB,SAAS;AAErG,kBAAgB,MAAM,cAAc;AAEpC,YAAU,MAAM;AACZ,QAAI,aAAa,OAAO;AACpB,uBAAiB,UAAU;AAAA,IAC/B;AAAA,EACJ,GAAG,CAAC,QAAQ,CAAC;AAEb,QAAM,WAAW,QAAQ,MAAM,uBAAuB,QAAQ,GAAG,CAAC,QAAQ,CAAC;AAG3E,QAAM,aAAa;AAAA,IACf,CAAC,aAAsB;AACnB,UAAI,aAAa,QAAW;AACxB,YAAI,CAAC,UAAU;AACX,2BAAiB,UAAU;AAAA,QAC/B;AACA,qBAAa,QAAQ;AAAA,MACzB;AAEA,uCAAS;AAAA,IACb;AAAA,IACA,CAAC,UAAU,MAAM;AAAA,EAAA;AAGrB,QAAM,eAAe;AAAA,IACjB,OAAO;AAAA,MACH;AAAA,MACA,gBAAgB;AAAA,MAChB;AAAA,MACA;AAAA,MACA,aAAa;AAAA,IAAA;AAAA,IAEjB,CAAC,UAAU,YAAY,YAAY,IAAI;AAAA,EAAA;AAI3C,QAAM,uBAAuB,MACzB,oBAAC,gBAAA,EAAe,QAAQ,MAAM,YAAwB,aAA2B,GAAG,MAAM;AAI9F,QAAM,sBAAsB,MAAM,oBAAC,iBAAc,QAAQ,MAAO,GAAG,MAAM;AAEzE,6BACK,eAAe,UAAf,EAAwB,OAAO,cAC3B,UAAA,sBACG,qBAAA,IAEA,oBAAC,cAAW,UAAU,qBAAA,GAAyB,UAAA,oBAAA,GAAsB,GAE7E;AAER;AAEA,QAAQ,SAAS;AACjB,QAAQ,OAAO;AACf,QAAQ,OAAO;AACf,QAAQ,UAAU;AAClB,QAAQ,eAAe;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TootlipContext.js","sources":["../../../src/components/Tooltip/TootlipContext.ts"],"sourcesContent":["import React from \"react\";\nimport { TTooltipToggleType, ITooltipElements } from \"@sberbusiness/triplex-next/components/Tooltip/types\";\n\n/** Свойства контекста Tooltip. */\nexport interface ITooltipContext {\n toggleType?: TTooltipToggleType;\n elements: ITooltipElements;\n tooltipOpen: boolean;\n targetHoveredRef: React.MutableRefObject<boolean>;\n setTooltipOpen: (open: boolean) => void;\n}\n\n/** Контекст компонента Tooltip. */\nexport const TooltipContext = React.createContext<ITooltipContext>({\n elements: {\n body: null,\n link: null,\n closeButton: null,\n mobileHeader: null,\n target: null,\n },\n setTooltipOpen: () => {},\n targetHoveredRef: { current: false },\n tooltipOpen: false,\n});\n"],"names":["React"],"mappings":";AAaO,MAAM,iBAAiBA,eAAM,cAA+B;AAAA,EAC/D,UAAU;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,IACd,QAAQ;AAAA,EAAA;AAAA,EAEZ,gBAAgB,MAAM;AAAA,EAAC;AAAA,EACvB,kBAAkB,EAAE,SAAS,MAAA;AAAA,EAC7B,aAAa;AACjB,CAAC;"}
1
+ {"version":3,"file":"TootlipContext.js","sources":["../../../src/components/Tooltip/TootlipContext.ts"],"sourcesContent":["import React from \"react\";\nimport { TTooltipToggleType, ITooltipElements } from \"@sberbusiness/triplex-next/components/Tooltip/types\";\n\n/** Свойства контекста Tooltip. */\nexport interface ITooltipContext {\n /** Способ открытия подсказки: по клику или по наведению. */\n toggleType?: TTooltipToggleType;\n /** Субкомпоненты, разобранные из children Tooltip. */\n elements: ITooltipElements;\n /** Признак того, что подсказка открыта. */\n tooltipOpen: boolean;\n /** Признак того, что открытие было инициировано наведением на целевой элемент. */\n targetHoveredRef: React.MutableRefObject<boolean>;\n /** Изменение состояния открытости подсказки. */\n setTooltipOpen: (open: boolean) => void;\n}\n\n/** Контекст компонента Tooltip. */\nexport const TooltipContext = React.createContext<ITooltipContext>({\n elements: {\n body: null,\n link: null,\n closeButton: null,\n mobileHeader: null,\n target: null,\n },\n setTooltipOpen: () => {},\n targetHoveredRef: { current: false },\n tooltipOpen: false,\n});\n"],"names":["React"],"mappings":";AAkBO,MAAM,iBAAiBA,eAAM,cAA+B;AAAA,EAC/D,UAAU;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,IACd,QAAQ;AAAA,EAAA;AAAA,EAEZ,gBAAgB,MAAM;AAAA,EAAC;AAAA,EACvB,kBAAkB,EAAE,SAAS,MAAA;AAAA,EAC7B,aAAa;AACjB,CAAC;"}
@@ -4,7 +4,7 @@ import { c as clsx } from "../../../../chunks/vendor-CtuAQuEN.js";
4
4
  import { MobileView } from "../../../MobileView/MobileView.js";
5
5
  import { Text } from "../../../Typography/Text.js";
6
6
  import { ELineType, ETextSize } from "../../../Typography/enums.js";
7
- import { s as styles } from "../../../../chunks/TooltipDesktop.module-DBiY8cJJ.js";
7
+ import { s as styles } from "../../../../chunks/TooltipDesktop.module-V0gGAoBE.js";
8
8
  const TooltipBody = React__default.forwardRef(({ className, ...rest }, ref) => {
9
9
  const classNames = clsx(styles.tooltipBody, className);
10
10
  return /* @__PURE__ */ jsx(MobileView, { fallback: /* @__PURE__ */ jsx("div", { className: classNames, ...rest, ref }), children: /* @__PURE__ */ jsx(Text, { className: classNames, size: ETextSize.B3, line: ELineType.NORMAL, tag: "div", ...rest, ref }) });
@@ -3,9 +3,9 @@ import React__default from "react";
3
3
  import { c as clsx } from "../../../../chunks/vendor-CtuAQuEN.js";
4
4
  import { MobileView } from "../../../MobileView/MobileView.js";
5
5
  import { getSafeRel } from "../../../../utils/html/anchorSecurity.js";
6
- const tooltipLink = "tooltipLink__86ee5f38";
7
- const desktop = "desktop__188a8712";
8
- const mobile = "mobile__2985087c";
6
+ const tooltipLink = "tooltipLink__ce876724";
7
+ const desktop = "desktop__6d50958e";
8
+ const mobile = "mobile__5c189448";
9
9
  const styles = {
10
10
  tooltipLink,
11
11
  desktop,
@@ -14,30 +14,19 @@ const styles = {
14
14
  const TooltipLink = React__default.forwardRef(
15
15
  ({ children, className, target, rel, ...rest }, ref) => {
16
16
  const safeRel = getSafeRel(target, rel);
17
- const renderDesktopLink = () => /* @__PURE__ */ jsx(
17
+ const renderLink = (variantClassName) => /* @__PURE__ */ jsx(
18
18
  "a",
19
19
  {
20
- className: clsx(styles.tooltipLink, styles.desktop, className),
20
+ className: clsx(styles.tooltipLink, variantClassName, className),
21
21
  ...rest,
22
22
  target,
23
23
  rel: safeRel,
24
- "data-tx": "1.40.0",
24
+ "data-tx": "1.41.0",
25
25
  ref,
26
26
  children
27
27
  }
28
28
  );
29
- return /* @__PURE__ */ jsx(MobileView, { fallback: renderDesktopLink(), children: /* @__PURE__ */ jsx(
30
- "a",
31
- {
32
- className: clsx(styles.tooltipLink, styles.mobile, className),
33
- ...rest,
34
- target,
35
- rel: safeRel,
36
- "data-tx": "1.40.0",
37
- ref,
38
- children
39
- }
40
- ) });
29
+ return /* @__PURE__ */ jsx(MobileView, { fallback: renderLink(styles.desktop), children: renderLink(styles.mobile) });
41
30
  }
42
31
  );
43
32
  TooltipLink.displayName = "TooltipLink";
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipLink.js","sources":["../../../../../src/components/Tooltip/components/common/TooltipLink.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport { MobileView } from \"@sberbusiness/triplex-next/components/MobileView/MobileView\";\nimport { getSafeRel } from \"@sberbusiness/triplex-next/utils/html/anchorSecurity\";\nimport styles from \"@sberbusiness/triplex-next/components/Tooltip/styles/TooltipLink.module.less\";\nimport { ITooltipLinkProps } from \"@sberbusiness/triplex-next/components/Tooltip/types\";\n\n/** Гиперссылка в Tooltip. */\nexport const TooltipLink = React.forwardRef<HTMLAnchorElement, ITooltipLinkProps>(\n ({ children, className, target, rel, ...rest }, ref) => {\n // Защита от reverse tabnabbing при target=\"_blank\".\n const safeRel = getSafeRel(target, rel);\n\n /** Рендер десктоп версии. */\n const renderDesktopLink = () => (\n <a\n className={clsx(styles.tooltipLink, styles.desktop, className)}\n {...rest}\n target={target}\n rel={safeRel}\n data-tx={process.env.npm_package_version}\n ref={ref}\n >\n {children}\n </a>\n );\n\n return (\n <MobileView fallback={renderDesktopLink()}>\n <a\n className={clsx(styles.tooltipLink, styles.mobile, className)}\n {...rest}\n target={target}\n rel={safeRel}\n data-tx={process.env.npm_package_version}\n ref={ref}\n >\n {children}\n </a>\n </MobileView>\n );\n },\n);\n\nTooltipLink.displayName = \"TooltipLink\";\n"],"names":["React"],"mappings":";;;;;;;;;;;;;AAQO,MAAM,cAAcA,eAAM;AAAA,EAC7B,CAAC,EAAE,UAAU,WAAW,QAAQ,KAAK,GAAG,KAAA,GAAQ,QAAQ;AAEpD,UAAM,UAAU,WAAW,QAAQ,GAAG;AAGtC,UAAM,oBAAoB,MACtB;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,aAAa,OAAO,SAAS,SAAS;AAAA,QAC5D,GAAG;AAAA,QACJ;AAAA,QACA,KAAK;AAAA,QACL,WAAS;AAAA,QACT;AAAA,QAEC;AAAA,MAAA;AAAA,IAAA;AAIT,+BACK,YAAA,EAAW,UAAU,kBAAA,GAClB,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,aAAa,OAAO,QAAQ,SAAS;AAAA,QAC3D,GAAG;AAAA,QACJ;AAAA,QACA,KAAK;AAAA,QACL,WAAS;AAAA,QACT;AAAA,QAEC;AAAA,MAAA;AAAA,IAAA,GAET;AAAA,EAER;AACJ;AAEA,YAAY,cAAc;"}
1
+ {"version":3,"file":"TooltipLink.js","sources":["../../../../../src/components/Tooltip/components/common/TooltipLink.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport { MobileView } from \"@sberbusiness/triplex-next/components/MobileView/MobileView\";\nimport { getSafeRel } from \"@sberbusiness/triplex-next/utils/html/anchorSecurity\";\nimport styles from \"@sberbusiness/triplex-next/components/Tooltip/styles/TooltipLink.module.less\";\nimport { ITooltipLinkProps } from \"@sberbusiness/triplex-next/components/Tooltip/types\";\n\n/** Гиперссылка в Tooltip. */\nexport const TooltipLink = React.forwardRef<HTMLAnchorElement, ITooltipLinkProps>(\n ({ children, className, target, rel, ...rest }, ref) => {\n // Защита от reverse tabnabbing при target=\"_blank\".\n const safeRel = getSafeRel(target, rel);\n\n /** Рендер ссылки с классом варианта отображения (десктопный или мобильный). */\n const renderLink = (variantClassName: string) => (\n <a\n className={clsx(styles.tooltipLink, variantClassName, className)}\n {...rest}\n target={target}\n rel={safeRel}\n data-tx={process.env.npm_package_version}\n ref={ref}\n >\n {children}\n </a>\n );\n\n return <MobileView fallback={renderLink(styles.desktop)}>{renderLink(styles.mobile)}</MobileView>;\n },\n);\n\nTooltipLink.displayName = \"TooltipLink\";\n"],"names":["React"],"mappings":";;;;;;;;;;;;;AAQO,MAAM,cAAcA,eAAM;AAAA,EAC7B,CAAC,EAAE,UAAU,WAAW,QAAQ,KAAK,GAAG,KAAA,GAAQ,QAAQ;AAEpD,UAAM,UAAU,WAAW,QAAQ,GAAG;AAGtC,UAAM,aAAa,CAAC,qBAChB;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,aAAa,kBAAkB,SAAS;AAAA,QAC9D,GAAG;AAAA,QACJ;AAAA,QACA,KAAK;AAAA,QACL,WAAS;AAAA,QACT;AAAA,QAEC;AAAA,MAAA;AAAA,IAAA;AAIT,WAAO,oBAAC,YAAA,EAAW,UAAU,WAAW,OAAO,OAAO,GAAI,UAAA,WAAW,OAAO,MAAM,GAAE;AAAA,EACxF;AACJ;AAEA,YAAY,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipTarget.js","sources":["../../../../../src/components/Tooltip/components/common/TooltipTarget.tsx"],"sourcesContent":["import React, { useContext } from \"react\";\nimport { TooltipContext } from \"@sberbusiness/triplex-next/components/Tooltip/TootlipContext\";\nimport { isKey } from \"@sberbusiness/triplex-next/utils/keyboard\";\nimport { ITooltipTargetProps } from \"@sberbusiness/triplex-next/components/Tooltip/types\";\n\n/** Целевой элемент компонента Tooltip. */\nexport const TooltipTarget: React.FC<ITooltipTargetProps> = ({ children }) => {\n const { toggleType, tooltipOpen, targetHoveredRef, setTooltipOpen } = useContext(TooltipContext);\n const child = React.Children.only(children);\n\n /** Обработчик нажатия клавиши. */\n const handleKeyDown = (onKeyDown?: React.KeyboardEventHandler) => (event: React.KeyboardEvent) => {\n const key = event.code || event.keyCode;\n\n if (isKey(key, \"TAB\")) {\n if (tooltipOpen) {\n setTooltipOpen(false);\n }\n }\n onKeyDown?.(event);\n };\n\n /** Обработчик клика. */\n const handleClick = (onClick?: React.MouseEventHandler) => (event: React.MouseEvent) => {\n if (\n toggleType === \"click\" ||\n (toggleType === \"hover\" && !targetHoveredRef.current && event.currentTarget.contains(event.target as Node))\n ) {\n setTooltipOpen(!tooltipOpen);\n }\n onClick?.(event);\n };\n\n if (React.isValidElement<React.HTMLAttributes<Element>>(child)) {\n return React.cloneElement(child, {\n onClick: handleClick(child.props.onClick),\n onKeyDown: handleKeyDown(child.props.onKeyDown),\n });\n }\n\n return child;\n};\n"],"names":["React"],"mappings":";;;AAMO,MAAM,gBAA+C,CAAC,EAAE,eAAe;AAC1E,QAAM,EAAE,YAAY,aAAa,kBAAkB,eAAA,IAAmB,WAAW,cAAc;AAC/F,QAAM,QAAQA,eAAM,SAAS,KAAK,QAAQ;AAG1C,QAAM,gBAAgB,CAAC,cAA2C,CAAC,UAA+B;AAC9F,UAAM,MAAM,MAAM,QAAQ,MAAM;AAEhC,QAAI,MAAM,KAAK,KAAK,GAAG;AACnB,UAAI,aAAa;AACb,uBAAe,KAAK;AAAA,MACxB;AAAA,IACJ;AACA,2CAAY;AAAA,EAChB;AAGA,QAAM,cAAc,CAAC,YAAsC,CAAC,UAA4B;AACpF,QACI,eAAe,WACd,eAAe,WAAW,CAAC,iBAAiB,WAAW,MAAM,cAAc,SAAS,MAAM,MAAc,GAC3G;AACE,qBAAe,CAAC,WAAW;AAAA,IAC/B;AACA,uCAAU;AAAA,EACd;AAEA,MAAIA,eAAM,eAA8C,KAAK,GAAG;AAC5D,WAAOA,eAAM,aAAa,OAAO;AAAA,MAC7B,SAAS,YAAY,MAAM,MAAM,OAAO;AAAA,MACxC,WAAW,cAAc,MAAM,MAAM,SAAS;AAAA,IAAA,CACjD;AAAA,EACL;AAEA,SAAO;AACX;"}
1
+ {"version":3,"file":"TooltipTarget.js","sources":["../../../../../src/components/Tooltip/components/common/TooltipTarget.tsx"],"sourcesContent":["import React, { useContext } from \"react\";\nimport { TooltipContext } from \"@sberbusiness/triplex-next/components/Tooltip/TootlipContext\";\nimport { isKey } from \"@sberbusiness/triplex-next/utils/keyboard\";\nimport { ITooltipTargetProps } from \"@sberbusiness/triplex-next/components/Tooltip/types\";\n\n/**\n * Целевой элемент компонента Tooltip.\n * Не рендерит собственную разметку: клонирует единственный дочерний элемент,\n * добавляя ему обработчики открытия подсказки. Собственные onClick/onKeyDown ребёнка сохраняются.\n */\nexport const TooltipTarget: React.FC<ITooltipTargetProps> = ({ children }) => {\n const { toggleType, tooltipOpen, targetHoveredRef, setTooltipOpen } = useContext(TooltipContext);\n const child = React.Children.only(children);\n\n /** Обработчик нажатия клавиши. */\n const handleKeyDown = (onKeyDown?: React.KeyboardEventHandler) => (event: React.KeyboardEvent) => {\n const key = event.code || event.keyCode;\n\n if (isKey(key, \"TAB\")) {\n if (tooltipOpen) {\n setTooltipOpen(false);\n }\n }\n onKeyDown?.(event);\n };\n\n /** Обработчик клика. */\n const handleClick = (onClick?: React.MouseEventHandler) => (event: React.MouseEvent) => {\n if (\n toggleType === \"click\" ||\n (toggleType === \"hover\" && !targetHoveredRef.current && event.currentTarget.contains(event.target as Node))\n ) {\n setTooltipOpen(!tooltipOpen);\n }\n onClick?.(event);\n };\n\n if (React.isValidElement<React.HTMLAttributes<Element>>(child)) {\n return React.cloneElement(child, {\n onClick: handleClick(child.props.onClick),\n onKeyDown: handleKeyDown(child.props.onKeyDown),\n });\n }\n\n return child;\n};\n"],"names":["React"],"mappings":";;;AAUO,MAAM,gBAA+C,CAAC,EAAE,eAAe;AAC1E,QAAM,EAAE,YAAY,aAAa,kBAAkB,eAAA,IAAmB,WAAW,cAAc;AAC/F,QAAM,QAAQA,eAAM,SAAS,KAAK,QAAQ;AAG1C,QAAM,gBAAgB,CAAC,cAA2C,CAAC,UAA+B;AAC9F,UAAM,MAAM,MAAM,QAAQ,MAAM;AAEhC,QAAI,MAAM,KAAK,KAAK,GAAG;AACnB,UAAI,aAAa;AACb,uBAAe,KAAK;AAAA,MACxB;AAAA,IACJ;AACA,2CAAY;AAAA,EAChB;AAGA,QAAM,cAAc,CAAC,YAAsC,CAAC,UAA4B;AACpF,QACI,eAAe,WACd,eAAe,WAAW,CAAC,iBAAiB,WAAW,MAAM,cAAc,SAAS,MAAM,MAAc,GAC3G;AACE,qBAAe,CAAC,WAAW;AAAA,IAC/B;AACA,uCAAU;AAAA,EACd;AAEA,MAAIA,eAAM,eAA8C,KAAK,GAAG;AAC5D,WAAOA,eAAM,aAAa,OAAO;AAAA,MAC7B,SAAS,YAAY,MAAM,MAAM,OAAO;AAAA,MACxC,WAAW,cAAc,MAAM,MAAM,SAAS;AAAA,IAAA,CACjD;AAAA,EACL;AAEA,SAAO;AACX;"}
@@ -3,7 +3,7 @@ import { useContext } from "react";
3
3
  import { CrossStrokeSrvIcon16 } from "@sberbusiness/icons-next";
4
4
  import { TooltipContext } from "../../TootlipContext.js";
5
5
  import { ButtonIcon } from "../../../Button/ButtonIcon.js";
6
- import { s as styles } from "../../../../chunks/TooltipDesktop.module-DBiY8cJJ.js";
6
+ import { s as styles } from "../../../../chunks/TooltipDesktop.module-V0gGAoBE.js";
7
7
  const TooltipXButton = ({ onClick, ...rest }) => {
8
8
  const { setTooltipOpen } = useContext(TooltipContext);
9
9
  const handleClick = (event) => {
@@ -6,11 +6,13 @@ import React__default from "react";
6
6
  import { TooltipDesktopBase } from "./components/TooltipDesktopBase.js";
7
7
  import { TooltipContext } from "../../TootlipContext.js";
8
8
  import { isKey } from "../../../../utils/keyboard.js";
9
+ const HOVER_CLOSE_DELAY_MS = 500;
9
10
  class TooltipDesktop extends React__default.Component {
10
11
  constructor() {
11
12
  super(...arguments);
12
13
  __publicField(this, "tooltip", null);
13
14
  __publicField(this, "timeout");
15
+ /** Сохранение ноды подсказки и подписка её на события наведения. */
14
16
  __publicField(this, "setTooltipRef", (node) => {
15
17
  const { toggleType } = this.props;
16
18
  if (node && toggleType === "hover") {
@@ -18,7 +20,7 @@ class TooltipDesktop extends React__default.Component {
18
20
  }
19
21
  this.tooltip = node;
20
22
  });
21
- // Закрываем Tooltip при клике за его пределами.
23
+ /** Закрытие подсказки при действии мышью за её пределами. */
22
24
  __publicField(this, "closeIfOuterAction", (event) => {
23
25
  const { targetRef } = this.props;
24
26
  const { setTooltipOpen } = this.context;
@@ -30,21 +32,24 @@ class TooltipDesktop extends React__default.Component {
30
32
  }
31
33
  }
32
34
  });
33
- // Закрываем Tooltip по нажатию Esc
35
+ /** Закрытие подсказки по нажатию Escape. */
34
36
  __publicField(this, "closeIfEscapeKey", (event) => {
35
37
  const key = event.code || event.keyCode;
36
38
  if (isKey(key, "ESCAPE")) {
37
39
  this.context.setTooltipOpen(false);
38
40
  }
39
41
  });
42
+ /** Подписка элемента на события наведения. */
40
43
  __publicField(this, "addHoverListeners", (element) => {
41
44
  element.addEventListener("mouseenter", this.handleMouseEnter);
42
45
  element.addEventListener("mouseleave", this.handleMouseLeave);
43
46
  });
47
+ /** Отписка элемента от событий наведения. */
44
48
  __publicField(this, "removeHoverListeners", (element) => {
45
49
  element.removeEventListener("mouseenter", this.handleMouseEnter);
46
50
  element.removeEventListener("mouseleave", this.handleMouseLeave);
47
51
  });
52
+ /** Обработчик наведения курсора на целевой элемент или на саму подсказку. */
48
53
  __publicField(this, "handleMouseEnter", () => {
49
54
  const { tooltipOpen, targetHoveredRef, setTooltipOpen } = this.context;
50
55
  if (!tooltipOpen) {
@@ -53,11 +58,12 @@ class TooltipDesktop extends React__default.Component {
53
58
  }
54
59
  clearTimeout(this.timeout);
55
60
  });
61
+ /** Обработчик ухода курсора: подсказка закрывается с задержкой, чтобы курсор успел дойти до неё. */
56
62
  __publicField(this, "handleMouseLeave", () => {
57
63
  const { setTooltipOpen } = this.context;
58
64
  this.timeout = window.setTimeout(() => {
59
65
  setTooltipOpen(false);
60
- }, 500);
66
+ }, HOVER_CLOSE_DELAY_MS);
61
67
  });
62
68
  }
63
69
  render() {
@@ -65,9 +71,9 @@ class TooltipDesktop extends React__default.Component {
65
71
  return /* @__PURE__ */ jsx(TooltipDesktopBase, { ...rest, setTooltipRef: this.setTooltipRef });
66
72
  }
67
73
  componentDidMount() {
68
- const { toggleType, targetRef } = this.props;
69
- if (this.props.isOpen) {
70
- document.addEventListener("click", this.closeIfOuterAction);
74
+ const { toggleType, targetRef, isOpen } = this.props;
75
+ if (isOpen) {
76
+ document.addEventListener("mousedown", this.closeIfOuterAction);
71
77
  document.addEventListener("keydown", this.closeIfEscapeKey);
72
78
  }
73
79
  if (targetRef.current && toggleType === "hover") {
@@ -85,15 +91,16 @@ class TooltipDesktop extends React__default.Component {
85
91
  if (isClosed) {
86
92
  document.removeEventListener("mousedown", this.closeIfOuterAction);
87
93
  document.removeEventListener("keydown", this.closeIfEscapeKey);
88
- if (this.props.toggleType === "hover") {
94
+ if (this.props.toggleType === "hover" && this.tooltip) {
89
95
  this.removeHoverListeners(this.tooltip);
90
96
  }
91
97
  }
92
- if (targetRef.current && prevProps.toggleType != this.props.toggleType) {
98
+ if (prevProps.toggleType !== this.props.toggleType) {
99
+ const elements = [targetRef.current, this.tooltip];
93
100
  if (this.props.toggleType === "hover") {
94
- this.addHoverListeners(targetRef.current);
101
+ elements.forEach((element) => element && this.addHoverListeners(element));
95
102
  } else if (prevProps.toggleType === "hover") {
96
- this.removeHoverListeners(targetRef.current);
103
+ elements.forEach((element) => element && this.removeHoverListeners(element));
97
104
  }
98
105
  }
99
106
  }
@@ -101,8 +108,13 @@ class TooltipDesktop extends React__default.Component {
101
108
  const { toggleType, targetRef } = this.props;
102
109
  document.removeEventListener("mousedown", this.closeIfOuterAction);
103
110
  document.removeEventListener("keydown", this.closeIfEscapeKey);
104
- if (targetRef.current && toggleType === "hover") {
105
- this.removeHoverListeners(targetRef.current);
111
+ if (toggleType === "hover") {
112
+ if (targetRef.current) {
113
+ this.removeHoverListeners(targetRef.current);
114
+ }
115
+ if (this.tooltip) {
116
+ this.removeHoverListeners(this.tooltip);
117
+ }
106
118
  }
107
119
  clearTimeout(this.timeout);
108
120
  }