@sberbusiness/triplex-next 1.42.0 → 1.44.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 (630) hide show
  1. package/chunks/{AlertProcessSpoiler-INgYTx9C.js → AlertProcessSpoiler-BKFq5HKa.js} +17 -17
  2. package/chunks/{AlertProcessSpoiler-INgYTx9C.js.map → AlertProcessSpoiler-BKFq5HKa.js.map} +1 -1
  3. package/chunks/{CalendarViewItem-NQZCCZDG.js → CalendarViewItem-IqO8CpCn.js} +21 -21
  4. package/chunks/{CalendarViewItem-NQZCCZDG.js.map → CalendarViewItem-IqO8CpCn.js.map} +1 -1
  5. package/chunks/Card.module-DvHL4Oak.js +32 -0
  6. package/chunks/Card.module-DvHL4Oak.js.map +1 -0
  7. package/chunks/Carousel.module-B1uqtX8a.js +34 -0
  8. package/chunks/Carousel.module-B1uqtX8a.js.map +1 -0
  9. package/chunks/CheckboxTreeExtended.module-nKSCkiBt.js +24 -0
  10. package/chunks/CheckboxTreeExtended.module-nKSCkiBt.js.map +1 -0
  11. package/chunks/{Chip-BOgrCJUD.js → Chip-BpCsNJTt.js} +17 -17
  12. package/chunks/{Chip-BOgrCJUD.js.map → Chip-BpCsNJTt.js.map} +1 -1
  13. package/chunks/Confirm.module-BhW4bMM_.js +24 -0
  14. package/chunks/Confirm.module-BhW4bMM_.js.map +1 -0
  15. package/chunks/{DropdownListItem-DHdXJ6f2.js → DropdownListItem-DOjFvzKN.js} +11 -11
  16. package/chunks/{DropdownListItem-DHdXJ6f2.js.map → DropdownListItem-DOjFvzKN.js.map} +1 -1
  17. package/chunks/DropdownMobile.module-DZDL8Gw8.js +40 -0
  18. package/chunks/DropdownMobile.module-DZDL8Gw8.js.map +1 -0
  19. package/chunks/Footer.module-DUG9712L.js +12 -0
  20. package/chunks/Footer.module-DUG9712L.js.map +1 -0
  21. package/chunks/{HeaderLayoutSidebar.module-DyLHbWa3.js → HeaderLayoutSidebar.module-IW43j7gL.js} +4 -4
  22. package/chunks/HeaderLayoutSidebar.module-IW43j7gL.js.map +1 -0
  23. package/chunks/HeaderTabs.module-DfEbH7Kd.js +12 -0
  24. package/chunks/HeaderTabs.module-DfEbH7Kd.js.map +1 -0
  25. package/chunks/{HeaderTitle.module-Cj2Bk_xQ.js → HeaderTitle.module-G4qS0aG1.js} +4 -4
  26. package/chunks/HeaderTitle.module-G4qS0aG1.js.map +1 -0
  27. package/chunks/ImageGalleryExtendedMain.module-Bj1ndZgo.js +28 -0
  28. package/chunks/ImageGalleryExtendedMain.module-Bj1ndZgo.js.map +1 -0
  29. package/chunks/{ImageGalleryExtendedThumb-hTnBPgAl.js → ImageGalleryExtendedThumb-ZBgC8mAZ.js} +6 -6
  30. package/chunks/{ImageGalleryExtendedThumb-hTnBPgAl.js.map → ImageGalleryExtendedThumb-ZBgC8mAZ.js.map} +1 -1
  31. package/chunks/IslandAccordion.module-BFj1LZrN.js +44 -0
  32. package/chunks/IslandAccordion.module-BFj1LZrN.js.map +1 -0
  33. package/chunks/IslandWidgetFooter.module-DVKw7F37.js +18 -0
  34. package/chunks/IslandWidgetFooter.module-DVKw7F37.js.map +1 -0
  35. package/chunks/IslandWidgetHeader.module-DHAKalQf.js +28 -0
  36. package/chunks/IslandWidgetHeader.module-DHAKalQf.js.map +1 -0
  37. package/chunks/{LightBoxContent-DWuh2HlS.js → LightBoxContent-DmLo1lK3.js} +22 -18
  38. package/chunks/{LightBoxContent-DWuh2HlS.js.map → LightBoxContent-DmLo1lK3.js.map} +1 -1
  39. package/chunks/LightBoxControls.module-BfIgufzK.js +26 -0
  40. package/chunks/LightBoxControls.module-BfIgufzK.js.map +1 -0
  41. package/chunks/{LightBoxSideOverlayClose.module-Dj3iATzU.js → LightBoxSideOverlayClose.module-Dznuf6b3.js} +4 -4
  42. package/chunks/LightBoxSideOverlayClose.module-Dznuf6b3.js.map +1 -0
  43. package/chunks/{ListItemControlsButton-CRuluo8R.js → ListItemControlsButton-BFkW7b6S.js} +10 -10
  44. package/chunks/{ListItemControlsButton-CRuluo8R.js.map → ListItemControlsButton-BFkW7b6S.js.map} +1 -1
  45. package/chunks/ListItemTail.module-DjYk6epy.js +18 -0
  46. package/chunks/ListItemTail.module-DjYk6epy.js.map +1 -0
  47. package/chunks/ListMasterFooter.module-B5viguka.js +14 -0
  48. package/chunks/ListMasterFooter.module-B5viguka.js.map +1 -0
  49. package/chunks/ModalWindow.module-C0p5ZVLh.js +28 -0
  50. package/chunks/ModalWindow.module-C0p5ZVLh.js.map +1 -0
  51. package/chunks/Notification.module-DuwX9b1Z.js +34 -0
  52. package/chunks/Notification.module-DuwX9b1Z.js.map +1 -0
  53. package/chunks/Overlay.module-Cuh6SDnR.js +30 -0
  54. package/chunks/Overlay.module-Cuh6SDnR.js.map +1 -0
  55. package/chunks/Page.module-Bso9TRUt.js +15 -0
  56. package/chunks/Page.module-Bso9TRUt.js.map +1 -0
  57. package/chunks/SMSField.module-DHnJVbUI.js +26 -0
  58. package/chunks/SMSField.module-DHnJVbUI.js.map +1 -0
  59. package/chunks/SliderExtendedMarks.module-CuyZnXA3.js +24 -0
  60. package/chunks/SliderExtendedMarks.module-CuyZnXA3.js.map +1 -0
  61. package/chunks/SliderExtendedRail-CBpr9S0R.js +58 -0
  62. package/chunks/SliderExtendedRail-CBpr9S0R.js.map +1 -0
  63. package/chunks/StatusTracker.module-CXFyhzFa.js +44 -0
  64. package/chunks/StatusTracker.module-CXFyhzFa.js.map +1 -0
  65. package/chunks/{StepperStepArrowBorder-D6VlXyFw.js → StepperStepArrowBorder-0FWauWM_.js} +16 -16
  66. package/chunks/{StepperStepArrowBorder-D6VlXyFw.js.map → StepperStepArrowBorder-0FWauWM_.js.map} +1 -1
  67. package/chunks/{SuggestFieldMobileDropdownHint-ssZcfnsc.js → SuggestFieldMobileDropdownHint-BfrLhHXK.js} +3 -3
  68. package/chunks/{SuggestFieldMobileDropdownHint-ssZcfnsc.js.map → SuggestFieldMobileDropdownHint-BfrLhHXK.js.map} +1 -1
  69. package/chunks/TableFooter.module-DRlxkZoa.js +22 -0
  70. package/chunks/TableFooter.module-DRlxkZoa.js.map +1 -0
  71. package/chunks/TabsExtended.module-DJH-YNzW.js +26 -0
  72. package/chunks/TabsExtended.module-DJH-YNzW.js.map +1 -0
  73. package/chunks/TabsLine.module-_HQwnwAW.js +36 -0
  74. package/chunks/TabsLine.module-_HQwnwAW.js.map +1 -0
  75. package/chunks/TooltipDesktop.module-B54hNcxs.js +32 -0
  76. package/chunks/TooltipDesktop.module-B54hNcxs.js.map +1 -0
  77. package/chunks/TreeView.module-CmItPF1_.js +12 -0
  78. package/chunks/TreeView.module-CmItPF1_.js.map +1 -0
  79. package/chunks/{UploadZoneInput-0kLbusfr.js → UploadZoneInput-CBw00-1a.js} +6 -6
  80. package/chunks/{UploadZoneInput-0kLbusfr.js.map → UploadZoneInput-CBw00-1a.js.map} +1 -1
  81. package/chunks/{constants-CvDW-MJO.js → constants-zAYZ7mgb.js} +27 -27
  82. package/chunks/{constants-CvDW-MJO.js.map → constants-zAYZ7mgb.js.map} +1 -1
  83. package/chunks/{utils-BO2qfDaA.js → utils-BL5AUOKS.js} +28 -28
  84. package/chunks/{utils-BO2qfDaA.js.map → utils-BL5AUOKS.js.map} +1 -1
  85. package/chunks/{utils-Cu21bBFk.js → utils-C8wwfWT9.js} +12 -10
  86. package/chunks/{utils-Cu21bBFk.js.map → utils-C8wwfWT9.js.map} +1 -1
  87. package/chunks/{utils-DEIy9WE_.js → utils-CTCsYynd.js} +11 -11
  88. package/chunks/utils-CTCsYynd.js.map +1 -0
  89. package/chunks/{utils-DZk7_5zK.js → utils-W5dHMPw5.js} +6 -6
  90. package/chunks/{utils-DZk7_5zK.js.map → utils-W5dHMPw5.js.map} +1 -1
  91. package/chunks/{vendor-DfvHt3TJ.js → vendor-D4wvHis9.js} +7446 -7446
  92. package/chunks/{vendor-DfvHt3TJ.js.map → vendor-D4wvHis9.js.map} +1 -1
  93. package/components/AbstractTree/AbstractTreeNode.js +1 -1
  94. package/components/AccordionBase/protected/AccordionBase.js +1 -1
  95. package/components/Alert/AlertContext/AlertContext.js +8 -8
  96. package/components/Alert/AlertProcess/AlertProcess.js +3 -3
  97. package/components/Alert/AlertProcess/components/AlertProcessSpoiler.js +2 -2
  98. package/components/Amount/Amount.js +3 -3
  99. package/components/Avatar/Avatar.js +14 -14
  100. package/components/Badge/Badge.js +5 -5
  101. package/components/Badge/BadgeDot.js +5 -5
  102. package/components/Badge/components/BadgeContent.js +7 -7
  103. package/components/Badge/components/BadgePostfix.js +2 -2
  104. package/components/Badge/components/BadgePrefix.js +2 -2
  105. package/components/Body/Body.js +4 -4
  106. package/components/Button/Button.js +21 -21
  107. package/components/Button/ButtonBase.js +1 -1
  108. package/components/Button/ButtonDropdown.js +9 -9
  109. package/components/Button/ButtonDropdownExtended.js +3 -3
  110. package/components/Button/ButtonIcon.js +4 -4
  111. package/components/Calendar/Calendar.js +5 -5
  112. package/components/Calendar/components/CalendarControls.js +1 -1
  113. package/components/Calendar/components/CalendarFooter.js +2 -2
  114. package/components/Calendar/components/CalendarViewDays.js +2 -2
  115. package/components/Calendar/components/CalendarViewItem.js +2 -2
  116. package/components/Calendar/components/CalendarViewMonths.js +1 -1
  117. package/components/Calendar/components/CalendarViewYears.js +1 -1
  118. package/components/Card/CardAction.js +6 -6
  119. package/components/Card/CardStatic.js +3 -3
  120. package/components/Card/components/CardContent/CardContent.js +2 -2
  121. package/components/Card/components/CardContent/components/CardContentBody.js +2 -2
  122. package/components/Card/components/CardContent/components/CardContentFooter.js +2 -2
  123. package/components/Card/components/CardContent/components/CardContentHeader.js +2 -2
  124. package/components/Card/components/CardMedia.js +2 -2
  125. package/components/Card/utils.js +1 -1
  126. package/components/Carousel/Carousel.js +2 -2
  127. package/components/Carousel/CarouselButton.js +6 -6
  128. package/components/Carousel/CarouselButton.js.map +1 -1
  129. package/components/Carousel/CarouselIndicators.js +25 -8
  130. package/components/Carousel/CarouselIndicators.js.map +1 -1
  131. package/components/Carousel/CarouselItem.js +2 -2
  132. package/components/Carousel/CarouselTrack.js +2 -2
  133. package/components/Carousel/CarouselViewport.js +2 -2
  134. package/components/CarouselExtended/CarouselExtended.js +2 -2
  135. package/components/Checkbox/Checkbox.js +15 -19
  136. package/components/Checkbox/Checkbox.js.map +1 -1
  137. package/components/Checkbox/CheckboxXGroup.js +9 -9
  138. package/components/Checkbox/CheckboxXGroup.js.map +1 -1
  139. package/components/Checkbox/CheckboxYGroup.js +2 -2
  140. package/components/Checkbox/CheckboxYGroup.js.map +1 -1
  141. package/components/CheckboxTreeExtended/CheckboxTreeExtended.js +9 -7
  142. package/components/CheckboxTreeExtended/CheckboxTreeExtended.js.map +1 -1
  143. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedArrow.js +36 -53
  144. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedArrow.js.map +1 -1
  145. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedCheckbox.js +4 -6
  146. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedCheckbox.js.map +1 -1
  147. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedNode.js +15 -7
  148. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedNode.js.map +1 -1
  149. package/components/Chip/Chip.js +2 -2
  150. package/components/Chip/ChipClearButton.js +2 -2
  151. package/components/Chip/ChipDatePicker/ChipDatePicker.js +1 -1
  152. package/components/Chip/ChipDatePicker/ChipDatePickerTarget.js +1 -1
  153. package/components/Chip/ChipDropdownArrow.js +3 -3
  154. package/components/Chip/ChipIcon.js +1 -1
  155. package/components/Chip/ChipMultiselect.js +2 -2
  156. package/components/Chip/ChipOptions.js +2 -2
  157. package/components/Chip/ChipSelect/ChipSelect.js +2 -2
  158. package/components/Chip/ChipSelect/ChipSelectTarget.js +1 -1
  159. package/components/Chip/ChipSort.js +2 -2
  160. package/components/Chip/ChipSuggest/ChipSuggest.js +2 -2
  161. package/components/Chip/ChipSuggest/ChipSuggestDropdown.js +2 -2
  162. package/components/Chip/ChipSuggest/ChipSuggestTarget.js +1 -1
  163. package/components/Chip/ChipSuggest/desktop/ChipSuggestDesktopDropdownField.js +1 -1
  164. package/components/Chip/index.js +1 -1
  165. package/components/ChipGroup/ChipGroup.js +15 -13
  166. package/components/ChipGroup/ChipGroup.js.map +1 -1
  167. package/components/Col/Col.js +133 -133
  168. package/components/CollapsibleTree/CollapsibleTree.js +2 -2
  169. package/components/CollapsibleTree/components/CollapsibleTreeLeafContent.js +2 -2
  170. package/components/CollapsibleTree/components/CollapsibleTreeLeafNode.js +2 -2
  171. package/components/CollapsibleTree/components/CollapsibleTreeNodeHeader.js +5 -5
  172. package/components/CollapsibleTreeExtended/components/CollapsibleTreeExtendedNode.js +2 -2
  173. package/components/Confirm/Confirm.js +2 -2
  174. package/components/Confirm/components/ConfirmCloseButton.js +2 -2
  175. package/components/Confirm/components/ConfirmContent.js +2 -2
  176. package/components/Confirm/components/ConfirmContentTitle.js +2 -2
  177. package/components/Confirm/components/ConfirmControls.js +2 -2
  178. package/components/DateField/DateFieldTarget.js +5 -5
  179. package/components/DatePickerExtended/DatePickerExtended.js +28 -23
  180. package/components/DatePickerExtended/DatePickerExtended.js.map +1 -1
  181. package/components/DatePickerExtended/DatePickerExtendedContext.js.map +1 -1
  182. package/components/DatePickerExtended/DatePickerExtendedDropdown.js +13 -6
  183. package/components/DatePickerExtended/DatePickerExtendedDropdown.js.map +1 -1
  184. package/components/DatePickerExtended/index.js +3 -1
  185. package/components/DatePickerExtended/index.js.map +1 -1
  186. package/components/DateRange/DateRange.js +4 -4
  187. package/components/DesignTokens/DesignTokenUtils.js +2 -2
  188. package/components/DesignTokens/components/Button.js +1 -1
  189. package/components/DesignTokens/components/Button.js.map +1 -1
  190. package/components/DesignTokens/components/Chip.js +1 -1
  191. package/components/DesignTokens/components/Chip.js.map +1 -1
  192. package/components/DesignTokens/components/Skeleton.js +18 -12
  193. package/components/DesignTokens/components/Skeleton.js.map +1 -1
  194. package/components/Divider/Divider.js +18 -18
  195. package/components/DocumentNumberEdit/DocumentNumberEdit.js +4 -4
  196. package/components/Dropdown/desktop/DropdownDesktop.js +7 -7
  197. package/components/Dropdown/desktop/DropdownList.js +2 -2
  198. package/components/Dropdown/desktop/DropdownListItem.js +2 -2
  199. package/components/Dropdown/desktop/index.js +1 -1
  200. package/components/Dropdown/index.js +1 -1
  201. package/components/Dropdown/mobile/DropdownMobile.js +2 -2
  202. package/components/Dropdown/mobile/DropdownMobileBody.js +2 -2
  203. package/components/Dropdown/mobile/DropdownMobileClose.js +2 -2
  204. package/components/Dropdown/mobile/DropdownMobileFooter.js +2 -2
  205. package/components/Dropdown/mobile/DropdownMobileHeader.js +2 -2
  206. package/components/Dropdown/mobile/DropdownMobileInner.js +2 -2
  207. package/components/Dropdown/mobile/DropdownMobileInput.js +2 -2
  208. package/components/Dropdown/mobile/DropdownMobileList.js +2 -2
  209. package/components/Dropdown/mobile/DropdownMobileListItem.js +2 -2
  210. package/components/Dropdown/mobile/DropdownMobileLoader.js +2 -2
  211. package/components/Dropdown/mobile/DropdownMobileMaskedInput.js +2 -2
  212. package/components/Ellipsis/Ellipsis.js +4 -4
  213. package/components/EmptyView/EmptyView.js +5 -5
  214. package/components/ExpandAnimation/ExpandAnimation.js +16 -11
  215. package/components/ExpandAnimation/ExpandAnimation.js.map +1 -1
  216. package/components/FocusTrapExtended/FocusTrapExtended.js +1 -1
  217. package/components/Footer/Footer.js +1 -1
  218. package/components/Footer/Footer.js.map +1 -1
  219. package/components/Footer/components/FooterDescription.js +2 -2
  220. package/components/Footer/components/FooterDescription.js.map +1 -1
  221. package/components/Footer/components/FooterDescriptionContent.js +2 -2
  222. package/components/Footer/components/FooterDescriptionContent.js.map +1 -1
  223. package/components/Footer/components/FooterDescriptionControls.js +2 -2
  224. package/components/FormField/FormField.js +12 -12
  225. package/components/FormField/components/FormFieldClear.js +2 -2
  226. package/components/FormField/components/FormFieldCounter.js +2 -2
  227. package/components/FormField/components/FormFieldDescription.js +3 -3
  228. package/components/FormField/components/FormFieldInput.js +5 -5
  229. package/components/FormField/components/FormFieldLabel.js +8 -8
  230. package/components/FormField/components/FormFieldMaskedInput.js +7 -7
  231. package/components/FormField/components/FormFieldPostfix.js +2 -2
  232. package/components/FormField/components/FormFieldPrefix.js +2 -2
  233. package/components/FormField/components/FormFieldTarget.js +9 -9
  234. package/components/FormField/components/FormFieldTextarea.js +5 -5
  235. package/components/Gap/Gap.js +9 -9
  236. package/components/Header/Header.js +1 -1
  237. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebar.js +2 -2
  238. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarContent.js +2 -2
  239. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarSidebar.js +2 -2
  240. package/components/Header/components/HeaderSubheader/HeaderSubheader.js +3 -3
  241. package/components/Header/components/HeaderTabs/HeaderTabs.js +2 -2
  242. package/components/Header/components/HeaderTabs/HeaderTabsContent.js +2 -2
  243. package/components/Header/components/HeaderTabs/HeaderTabsControls.js +2 -2
  244. package/components/Header/components/HeaderTitle/HeaderTitle.js +2 -2
  245. package/components/Header/components/HeaderTitle/HeaderTitleContent.js +2 -2
  246. package/components/Header/components/HeaderTitle/HeaderTitleControls.js +2 -2
  247. package/components/HelpBox/HelpBox.js +2 -2
  248. package/components/IconWrapper/IconWrapper.js +3 -3
  249. package/components/ImageGallery/ImageGallery.js +1 -1
  250. package/components/ImageGalleryExtended/ImageGalleryExtended.js +3 -3
  251. package/components/ImageGalleryExtended/components/ImageGalleryExtendedArrow.js +2 -2
  252. package/components/ImageGalleryExtended/components/ImageGalleryExtendedDots.js +4 -4
  253. package/components/ImageGalleryExtended/components/ImageGalleryExtendedMain.js +2 -2
  254. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSlide.js +2 -2
  255. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSwipeTrack.js +2 -2
  256. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumb.js +2 -2
  257. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumbnails.js +2 -2
  258. package/components/ImageGalleryExtended/components/index.js +1 -1
  259. package/components/ImageGalleryExtended/index.js +1 -1
  260. package/components/Island/Island.js +10 -3
  261. package/components/Island/Island.js.map +1 -1
  262. package/components/Island/components/IslandBody.js +2 -2
  263. package/components/Island/components/IslandFooter.js +2 -2
  264. package/components/Island/components/IslandHeader.js +2 -2
  265. package/components/Island/utils.js +1 -1
  266. package/components/IslandAccordion/IslandAccordion.js +3 -3
  267. package/components/IslandAccordion/components/IslandAccordionContent.js +1 -1
  268. package/components/IslandAccordion/components/IslandAccordionFooter.js +2 -2
  269. package/components/IslandAccordion/components/IslandAccordionItem.js +3 -3
  270. package/components/IslandWidget/IslandWidget.js +9 -19
  271. package/components/IslandWidget/IslandWidget.js.map +1 -1
  272. package/components/IslandWidget/IslandWidgetContext.js +3 -1
  273. package/components/IslandWidget/IslandWidgetContext.js.map +1 -1
  274. package/components/IslandWidget/components/IslandWidgetBody.js +15 -4
  275. package/components/IslandWidget/components/IslandWidgetBody.js.map +1 -1
  276. package/components/IslandWidget/components/IslandWidgetExtraFooter.js +2 -2
  277. package/components/IslandWidget/components/IslandWidgetFooter.js +15 -3
  278. package/components/IslandWidget/components/IslandWidgetFooter.js.map +1 -1
  279. package/components/IslandWidget/components/IslandWidgetFooterContent.js +1 -1
  280. package/components/IslandWidget/components/IslandWidgetFooterControls.js +1 -1
  281. package/components/IslandWidget/components/IslandWidgetHeader.js +8 -5
  282. package/components/IslandWidget/components/IslandWidgetHeader.js.map +1 -1
  283. package/components/IslandWidget/components/IslandWidgetHeaderContent.js +2 -2
  284. package/components/IslandWidget/components/IslandWidgetHeaderControls.js +2 -2
  285. package/components/IslandWidget/components/IslandWidgetHeaderDescription.js +2 -2
  286. package/components/IslandWidget/components/IslandWidgetHeaderTitle.js +2 -2
  287. package/components/IslandWidget/components/IslandWidgetWrapper.js +2 -2
  288. package/components/LightBox/LightBox.js +7 -6
  289. package/components/LightBox/LightBox.js.map +1 -1
  290. package/components/LightBox/LightBoxContent.js +2 -2
  291. package/components/LightBox/LightBoxControls/LightBoxArrow.js +2 -2
  292. package/components/LightBox/LightBoxControls/LightBoxClose.js +2 -2
  293. package/components/LightBox/LightBoxControls/LightBoxControls.js +2 -2
  294. package/components/LightBox/LightBoxControls/LightBoxNext.js +2 -2
  295. package/components/LightBox/LightBoxControls/LightBoxPrev.js +2 -2
  296. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js +13 -13
  297. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseDesktop.js +2 -2
  298. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseMobile.js +2 -2
  299. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js +1 -1
  300. package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js +4 -4
  301. package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js +4 -4
  302. package/components/LightBox/LightBoxViewManager/LightBoxViewManager.js +1 -1
  303. package/components/Link/Link.js +6 -6
  304. package/components/List/List.js +4 -4
  305. package/components/List/ListSortable.js +1 -1
  306. package/components/List/components/ListActionItem.js +2 -2
  307. package/components/List/components/ListEmptyState.js +2 -2
  308. package/components/List/components/ListItem.js +1 -1
  309. package/components/List/components/ListItemContent.js +5 -5
  310. package/components/List/components/ListItemControls.js +2 -2
  311. package/components/List/components/ListItemControlsButton.js +2 -2
  312. package/components/List/components/ListItemControlsButtonDropdown.js +2 -2
  313. package/components/List/components/ListItemLoading.js +2 -2
  314. package/components/List/components/ListItemSelectable.js +7 -7
  315. package/components/List/components/ListItemTailLeft.js +2 -2
  316. package/components/List/components/ListItemTailRight.js +2 -2
  317. package/components/List/components/ListSortableItem.js +3 -3
  318. package/components/List/components/ListSortableItemControls.js +2 -2
  319. package/components/List/components/ListSortableItemTarget.js +5 -5
  320. package/components/List/components/ListTableItem.js +4 -4
  321. package/components/List/index.js +1 -1
  322. package/components/ListMaster/ListMaster.js +1 -1
  323. package/components/ListMaster/components/ListMasterBody.js +1 -1
  324. package/components/ListMaster/components/ListMasterChipGroup.js +2 -2
  325. package/components/ListMaster/components/ListMasterFooter.js +2 -2
  326. package/components/ListMaster/components/ListMasterFooterControls.js +2 -2
  327. package/components/ListMaster/components/ListMasterFooterDescription.js +2 -2
  328. package/components/ListMaster/components/ListMasterHeader.js +3 -3
  329. package/components/ListMaster/components/SelectionControls.js +3 -3
  330. package/components/Loader/LoaderMiddle/LoaderMiddle.js +9 -9
  331. package/components/Loader/LoaderSmall/LoaderSmall.js +11 -11
  332. package/components/LoaderScreen/LoaderScreen.js +6 -6
  333. package/components/Marker/Marker.js +2 -2
  334. package/components/Marker/utils.js +1 -1
  335. package/components/MarkerStatus/MarkerStatus.js +8 -8
  336. package/components/ModalWindow/ModalWindow.js +2 -2
  337. package/components/ModalWindow/components/ModalWindowBody.js +2 -2
  338. package/components/ModalWindow/components/ModalWindowClose.js +1 -1
  339. package/components/ModalWindow/components/ModalWindowContent.js +2 -2
  340. package/components/ModalWindow/components/ModalWindowHeader.js +2 -2
  341. package/components/ModalWindow/components/ModalWindowViewManager.js +2 -2
  342. package/components/MonthYearField/MonthYearFieldTarget.js +5 -5
  343. package/components/MonthYearRange/MonthYearRange.js +4 -4
  344. package/components/MultiselectField/components/MultiselectFieldDropdown.js +2 -2
  345. package/components/MultiselectField/components/MultiselectFieldDropdownContent.js +6 -6
  346. package/components/MultiselectField/components/MultiselectFieldDropdownFooter.js +2 -2
  347. package/components/MultiselectField/components/MultiselectFieldDropdownHeader.js +2 -2
  348. package/components/Notification/Notification.js +3 -3
  349. package/components/Notification/NotificationGrouped.js +1 -1
  350. package/components/Notification/components/NotificationBody.js +1 -1
  351. package/components/Notification/components/NotificationBodyList.js +3 -4
  352. package/components/Notification/components/NotificationBodyList.js.map +1 -1
  353. package/components/Notification/components/NotificationClose.js +1 -1
  354. package/components/Notification/components/NotificationFooter.js +1 -1
  355. package/components/Notification/components/NotificationGroupedFooter.js +2 -2
  356. package/components/Notification/components/NotificationHeader.js +1 -1
  357. package/components/Notification/components/NotificationIcon.js +1 -1
  358. package/components/Notification/components/NotificationTime.js +1 -1
  359. package/components/OrderedList/OrderedList.js +3 -3
  360. package/components/OrderedList/OrderedListItem.js +3 -3
  361. package/components/Overlay/Overlay.js +2 -2
  362. package/components/Overlay/OverlayBase.js +4 -0
  363. package/components/Overlay/OverlayBase.js.map +1 -1
  364. package/components/Overlay/OverlayMask.js +2 -2
  365. package/components/Overlay/OverlayPanel.js +2 -2
  366. package/components/Page/Page.js +2 -2
  367. package/components/Page/components/BodyPage.js +37 -10
  368. package/components/Page/components/BodyPage.js.map +1 -1
  369. package/components/Page/components/FooterPage.js +2 -2
  370. package/components/Page/components/HeaderPage.js +2 -2
  371. package/components/Page/components/enums.js +1 -0
  372. package/components/Page/components/enums.js.map +1 -1
  373. package/components/Pagination/Pagination.js +1 -1
  374. package/components/Pagination/Pagination.js.map +1 -1
  375. package/components/Pagination/components/PaginationExtended.js +3 -3
  376. package/components/Pagination/components/PaginationNavigation.js +4 -3
  377. package/components/Pagination/components/PaginationNavigation.js.map +1 -1
  378. package/components/Pagination/components/PaginationNavigationButton.js +2 -2
  379. package/components/Pagination/components/PaginationNavigationExtended.js +2 -2
  380. package/components/Pagination/components/PaginationPageButton.js +3 -3
  381. package/components/Pagination/components/PaginationPageEllipsis.js +2 -2
  382. package/components/Pagination/components/PaginationSelect.js +3 -3
  383. package/components/Pagination/utils.js +1 -1
  384. package/components/Radio/Radio.js +10 -10
  385. package/components/Radio/RadioXGroup.js +9 -9
  386. package/components/Radio/RadioYGroup.js +2 -2
  387. package/components/Row/Row.js +5 -5
  388. package/components/SMSField/SMSField.js +3 -3
  389. package/components/SMSField/components/RefreshIcon.js +2 -2
  390. package/components/SMSField/components/SMSFieldInput.js +2 -2
  391. package/components/SMSField/components/SMSFieldRefresh.js +2 -2
  392. package/components/SMSField/components/SMSFieldSubmit.js +2 -2
  393. package/components/SMSField/components/SMSFieldTooltip.js +1 -1
  394. package/components/SegmentedControl/SegmentedControl.js +10 -10
  395. package/components/SegmentedControl/SegmentedControlSegment.js +4 -4
  396. package/components/SelectExtendedField/SelectExtendedField.js +2 -2
  397. package/components/SelectExtendedField/components/SelectExtendedFieldDropdown.js +1 -1
  398. package/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js +1 -1
  399. package/components/SelectExtendedField/components/SelectExtendedFieldTarget.js +8 -8
  400. package/components/SelectField/SelectField.js +2 -2
  401. package/components/Skeleton/Skeleton.js +20 -12
  402. package/components/Skeleton/Skeleton.js.map +1 -1
  403. package/components/Skeleton/enums.js +3 -2
  404. package/components/Skeleton/enums.js.map +1 -1
  405. package/components/SliderExtended/SliderExtended.js +81 -105
  406. package/components/SliderExtended/SliderExtended.js.map +1 -1
  407. package/components/SliderExtended/SliderExtendedContext.js.map +1 -1
  408. package/components/SliderExtended/SliderExtendedUtils.js +18 -36
  409. package/components/SliderExtended/SliderExtendedUtils.js.map +1 -1
  410. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js +200 -199
  411. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js.map +1 -1
  412. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDotActions.js +15 -2
  413. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDotActions.js.map +1 -1
  414. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMark.js +38 -40
  415. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMark.js.map +1 -1
  416. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarkActions.js +7 -19
  417. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarkActions.js.map +1 -1
  418. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarks.js +6 -3
  419. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarks.js.map +1 -1
  420. package/components/SliderExtended/components/SliderExtendedMoveHandler.js +21 -16
  421. package/components/SliderExtended/components/SliderExtendedMoveHandler.js.map +1 -1
  422. package/components/SliderExtended/components/SliderExtendedRail.js +3 -2
  423. package/components/SliderExtended/components/SliderExtendedRail.js.map +1 -1
  424. package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js +47 -36
  425. package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js.map +1 -1
  426. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js +204 -207
  427. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js.map +1 -1
  428. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrackActions.js +1 -1
  429. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrackActions.js.map +1 -1
  430. package/components/SliderExtended/utils.js +11 -0
  431. package/components/SliderExtended/utils.js.map +1 -0
  432. package/components/SmallInput/SmallInput.js +2 -2
  433. package/components/Spoiler/Spoiler.js +11 -11
  434. package/components/StatusTracker/StatusTracker.js +3 -3
  435. package/components/StatusTracker/components/StatusTrackerAlert.js +2 -2
  436. package/components/StatusTracker/components/StatusTrackerBody.js +2 -2
  437. package/components/StatusTracker/components/StatusTrackerButton.js +2 -2
  438. package/components/StatusTracker/components/StatusTrackerDescription.js +2 -2
  439. package/components/StatusTracker/components/StatusTrackerFooter.js +2 -2
  440. package/components/StatusTracker/components/StatusTrackerHeader.js +2 -2
  441. package/components/StatusTracker/components/StatusTrackerMedia.js +2 -2
  442. package/components/StatusTracker/components/StatusTrackerStatus.js +2 -2
  443. package/components/StatusTracker/components/StatusTrackerStatusGroup.js +2 -2
  444. package/components/StatusTracker/components/StatusTrackerSum.js +2 -2
  445. package/components/StatusTracker/components/StatusTrackerTitle.js +2 -2
  446. package/components/Step/Step.js +11 -11
  447. package/components/Stepper/Stepper.js +9 -9
  448. package/components/Stepper/StepperExtended.js +2 -2
  449. package/components/Stepper/StepperStep.js +3 -3
  450. package/components/Stepper/StepperStepArrowBorder.js +1 -1
  451. package/components/Suggest/SuggestMobileDropdownContent.js +3 -3
  452. package/components/Suggest/useSuggest.js +1 -1
  453. package/components/SuggestField/SuggestField.js +1 -1
  454. package/components/SuggestField/desktop/SuggestFieldDesktop.js +2 -2
  455. package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js +1 -1
  456. package/components/SuggestField/index.js +1 -1
  457. package/components/SuggestField/mobile/SuggestFieldMobile.js +1 -1
  458. package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js +2 -2
  459. package/components/SuggestField/mobile/SuggestFieldMobileDropdownHint.js +1 -1
  460. package/components/SuggestField/mobile/index.js +1 -1
  461. package/components/SwipeableArea/SwipeableArea.js +9 -9
  462. package/components/Table/ChipPanel.js +2 -2
  463. package/components/Table/ChipPanelLinks.js +2 -2
  464. package/components/Table/FilterPanel.js +3 -3
  465. package/components/Table/MasterTable.js +3 -3
  466. package/components/Table/NoColumns.js +3 -3
  467. package/components/Table/PaginationPanel.js +3 -3
  468. package/components/Table/TableBasic/TableBasic.js +59 -59
  469. package/components/Table/TableBasic/TableBasic.js.map +1 -1
  470. package/components/Table/TableBasic/components/TableBasicBody.js +3 -4
  471. package/components/Table/TableBasic/components/TableBasicBody.js.map +1 -1
  472. package/components/Table/TableBasic/components/TableBasicHeader.js +49 -66
  473. package/components/Table/TableBasic/components/TableBasicHeader.js.map +1 -1
  474. package/components/Table/TableBasic/components/TableBasicRow.js +25 -28
  475. package/components/Table/TableBasic/components/TableBasicRow.js.map +1 -1
  476. package/components/Table/TableBasicSettings/TableBasicSettings.js +3 -3
  477. package/components/Table/TableBasicSettings/components/ColumnSettingsSortableListItemTarget.js +3 -3
  478. package/components/Table/TableBasicSettings/components/ColumnSettingsStaticListItem.js +2 -2
  479. package/components/Table/TableBasicSettings/components/TableBasicSettingsBody.js +2 -2
  480. package/components/Table/TableBasicSettings/components/TableBasicSettingsFooter.js +2 -2
  481. package/components/Table/TableBasicSettings/components/TableBasicSettingsHeader.js +2 -2
  482. package/components/Table/TableFooter/TableFooter.js +2 -2
  483. package/components/Table/TableFooter/components/TableFooterSummary.js +1 -1
  484. package/components/Table/TableFooter/components/TableFooterSummaryAmount.js +1 -1
  485. package/components/Table/TableFooter/components/TableFooterSummarySelectAllButton.js +1 -1
  486. package/components/Table/TableFooter/components/TableFooterSummarySelectedCount.js +1 -1
  487. package/components/Table/utils.js +1 -1
  488. package/components/Tabs/Tabs.js +28 -11
  489. package/components/Tabs/Tabs.js.map +1 -1
  490. package/components/TabsExtended/TabsExtended.js +38 -38
  491. package/components/TabsExtended/TabsExtended.js.map +1 -1
  492. package/components/TabsExtended/TabsExtendedContext.js.map +1 -1
  493. package/components/TabsExtended/components/TabsExtendedContent.js +23 -14
  494. package/components/TabsExtended/components/TabsExtendedContent.js.map +1 -1
  495. package/components/TabsExtended/components/TabsExtendedDropdownWrapper.js +30 -20
  496. package/components/TabsExtended/components/TabsExtendedDropdownWrapper.js.map +1 -1
  497. package/components/TabsExtended/components/TabsExtendedTab.js +5 -4
  498. package/components/TabsExtended/components/TabsExtendedTab.js.map +1 -1
  499. package/components/TabsExtended/components/TabsExtendedTabButton.js +3 -3
  500. package/components/TabsExtended/components/TabsExtendedTabButton.js.map +1 -1
  501. package/components/TabsExtended/components/TabsExtendedTabContext.js.map +1 -1
  502. package/components/TabsExtended/components/TabsExtendedTabsWrapper.js +87 -84
  503. package/components/TabsExtended/components/TabsExtendedTabsWrapper.js.map +1 -1
  504. package/components/TabsExtended/enums.js.map +1 -1
  505. package/components/TabsExtended/utils.js +1 -1
  506. package/components/TabsLine/TabsLine.js +2 -2
  507. package/components/TabsLine/components/TabsLineDesktop.js +2 -2
  508. package/components/TabsLine/components/TabsLineDropdown.js +3 -3
  509. package/components/TabsLine/components/TabsLineItem.js +2 -2
  510. package/components/TabsLine/components/TabsLineMobile.js +2 -2
  511. package/components/Tag/Tag.js +51 -56
  512. package/components/Tag/Tag.js.map +1 -1
  513. package/components/TagColor/TagColor.js +11 -11
  514. package/components/TagGroup/TagGroup.js +5 -5
  515. package/components/ThemeProvider/ThemeProvider.js +1 -1
  516. package/components/ThemeProvider/components/ThemeProviderView.js +1 -1
  517. package/components/Tooltip/components/common/TooltipBody.js +2 -2
  518. package/components/Tooltip/components/common/TooltipLink.js +5 -5
  519. package/components/Tooltip/components/common/TooltipXButton.js +1 -1
  520. package/components/Tooltip/components/desktop/components/TooltipDesktopBase.js +2 -2
  521. package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js +2 -2
  522. package/components/Tooltip/components/mobile/TooltipMobile.js +5 -5
  523. package/components/TopOverlay/TopOverlay.js +107 -98
  524. package/components/TopOverlay/TopOverlay.js.map +1 -1
  525. package/components/TopOverlay/utils.js +8 -0
  526. package/components/TopOverlay/utils.js.map +1 -0
  527. package/components/TreeView/TreeView.js +42 -17
  528. package/components/TreeView/TreeView.js.map +1 -1
  529. package/components/TreeView/TreeViewAbstractNodeUtils.js +30 -34
  530. package/components/TreeView/TreeViewAbstractNodeUtils.js.map +1 -1
  531. package/components/TreeView/TreeViewContext.js +0 -2
  532. package/components/TreeView/TreeViewContext.js.map +1 -1
  533. package/components/TreeView/components/TreeViewGroup.js +10 -2
  534. package/components/TreeView/components/TreeViewGroup.js.map +1 -1
  535. package/components/TreeView/components/TreeViewNode.js +9 -11
  536. package/components/TreeView/components/TreeViewNode.js.map +1 -1
  537. package/components/Typography/Caption.js +8 -8
  538. package/components/Typography/CodeText.js +3 -3
  539. package/components/Typography/Text.js +10 -10
  540. package/components/Typography/Title.js +10 -10
  541. package/components/Typography/constants.js +1 -1
  542. package/components/UnorderedList/UnorderedList.js +2 -19
  543. package/components/UnorderedList/UnorderedList.js.map +1 -1
  544. package/components/UnorderedList/UnorderedListItem.js +6 -22
  545. package/components/UnorderedList/UnorderedListItem.js.map +1 -1
  546. package/components/UnorderedList/index.js +1 -3
  547. package/components/UnorderedList/index.js.map +1 -1
  548. package/components/UnorderedListExtended/UnorderedListExtended.js +27 -0
  549. package/components/UnorderedListExtended/UnorderedListExtended.js.map +1 -0
  550. package/components/UnorderedListExtended/UnorderedListExtendedItem.js +34 -0
  551. package/components/UnorderedListExtended/UnorderedListExtendedItem.js.map +1 -0
  552. package/components/UnorderedListExtended/UnorderedListExtendedItemMarker.js +26 -0
  553. package/components/UnorderedListExtended/UnorderedListExtendedItemMarker.js.map +1 -0
  554. package/components/UnorderedListExtended/index.js +5 -0
  555. package/components/UnorderedListExtended/index.js.map +1 -0
  556. package/components/UnorderedListExtended/types.js +2 -0
  557. package/components/UnorderedListExtended/types.js.map +1 -0
  558. package/components/UploadZone/UploadZone.js +3 -3
  559. package/components/UploadZone/components/UploadZoneInput.js +2 -2
  560. package/components/UploadZone/index.js +1 -1
  561. package/components/WindowResizeListener/WindowResizeListener.js +6 -7
  562. package/components/WindowResizeListener/WindowResizeListener.js.map +1 -1
  563. package/components/index.js +10 -26
  564. package/components/index.js.map +1 -1
  565. package/index.d.ts +322 -173
  566. package/index.js +10 -8
  567. package/index.js.map +1 -1
  568. package/package.json +5 -1
  569. package/styles/triplex-next.css +6308 -6157
  570. package/utils/amountUtils.js +1 -1
  571. package/chunks/Card.module-C8BxIXlk.js +0 -32
  572. package/chunks/Card.module-C8BxIXlk.js.map +0 -1
  573. package/chunks/Carousel.module-DdE9W6X4.js +0 -30
  574. package/chunks/Carousel.module-DdE9W6X4.js.map +0 -1
  575. package/chunks/CheckboxTreeExtended.module-aVi9qPTi.js +0 -24
  576. package/chunks/CheckboxTreeExtended.module-aVi9qPTi.js.map +0 -1
  577. package/chunks/Confirm.module-B9qmQlVw.js +0 -24
  578. package/chunks/Confirm.module-B9qmQlVw.js.map +0 -1
  579. package/chunks/DropdownMobile.module-CVQO-bnb.js +0 -40
  580. package/chunks/DropdownMobile.module-CVQO-bnb.js.map +0 -1
  581. package/chunks/Footer.module-Dinu5OkA.js +0 -12
  582. package/chunks/Footer.module-Dinu5OkA.js.map +0 -1
  583. package/chunks/HeaderLayoutSidebar.module-DyLHbWa3.js.map +0 -1
  584. package/chunks/HeaderTabs.module-SqpRHYeu.js +0 -12
  585. package/chunks/HeaderTabs.module-SqpRHYeu.js.map +0 -1
  586. package/chunks/HeaderTitle.module-Cj2Bk_xQ.js.map +0 -1
  587. package/chunks/ImageGalleryExtendedMain.module-CBZoBZpI.js +0 -28
  588. package/chunks/ImageGalleryExtendedMain.module-CBZoBZpI.js.map +0 -1
  589. package/chunks/IslandAccordion.module-B34NqgZt.js +0 -44
  590. package/chunks/IslandAccordion.module-B34NqgZt.js.map +0 -1
  591. package/chunks/IslandWidgetFooter.module-DNXGzJkz.js +0 -12
  592. package/chunks/IslandWidgetFooter.module-DNXGzJkz.js.map +0 -1
  593. package/chunks/IslandWidgetHeader.module-Wd-6jWcn.js +0 -20
  594. package/chunks/IslandWidgetHeader.module-Wd-6jWcn.js.map +0 -1
  595. package/chunks/LightBoxControls.module-D3CYb4VY.js +0 -26
  596. package/chunks/LightBoxControls.module-D3CYb4VY.js.map +0 -1
  597. package/chunks/LightBoxSideOverlayClose.module-Dj3iATzU.js.map +0 -1
  598. package/chunks/ListItemTail.module-BMah5xhB.js +0 -18
  599. package/chunks/ListItemTail.module-BMah5xhB.js.map +0 -1
  600. package/chunks/ListMasterFooter.module-DnDmseHc.js +0 -14
  601. package/chunks/ListMasterFooter.module-DnDmseHc.js.map +0 -1
  602. package/chunks/ModalWindow.module-DAQCizX7.js +0 -28
  603. package/chunks/ModalWindow.module-DAQCizX7.js.map +0 -1
  604. package/chunks/Notification.module-VU_Lk2gb.js +0 -34
  605. package/chunks/Notification.module-VU_Lk2gb.js.map +0 -1
  606. package/chunks/Overlay.module-BF5z5chI.js +0 -30
  607. package/chunks/Overlay.module-BF5z5chI.js.map +0 -1
  608. package/chunks/Page.module-Bq_fi2vC.js +0 -15
  609. package/chunks/Page.module-Bq_fi2vC.js.map +0 -1
  610. package/chunks/SMSField.module-CPLmEXPY.js +0 -26
  611. package/chunks/SMSField.module-CPLmEXPY.js.map +0 -1
  612. package/chunks/SliderExtendedMarks.module-Dbz1svyX.js +0 -24
  613. package/chunks/SliderExtendedMarks.module-Dbz1svyX.js.map +0 -1
  614. package/chunks/SliderExtendedRail-XBqZJdJj.js +0 -50
  615. package/chunks/SliderExtendedRail-XBqZJdJj.js.map +0 -1
  616. package/chunks/StatusTracker.module-BpegxGJ8.js +0 -44
  617. package/chunks/StatusTracker.module-BpegxGJ8.js.map +0 -1
  618. package/chunks/TableFooter.module-r_izsS9u.js +0 -22
  619. package/chunks/TableFooter.module-r_izsS9u.js.map +0 -1
  620. package/chunks/TabsExtended.module-DOxO-O0b.js +0 -26
  621. package/chunks/TabsExtended.module-DOxO-O0b.js.map +0 -1
  622. package/chunks/TabsLine.module-BKT6NOs3.js +0 -36
  623. package/chunks/TabsLine.module-BKT6NOs3.js.map +0 -1
  624. package/chunks/TooltipDesktop.module-CaPU2whC.js +0 -32
  625. package/chunks/TooltipDesktop.module-CaPU2whC.js.map +0 -1
  626. package/chunks/TreeView.module-DFoYkkgl.js +0 -12
  627. package/chunks/TreeView.module-DFoYkkgl.js.map +0 -1
  628. package/chunks/utils-DEIy9WE_.js.map +0 -1
  629. package/components/SliderExtended/components/SliderExtendedDot/useSliderExtendedDotTabIndex.js +0 -55
  630. package/components/SliderExtended/components/SliderExtendedDot/useSliderExtendedDotTabIndex.js.map +0 -1
@@ -1,11 +1,11 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import React__default from "react";
3
- import { c as clsx } from "../../../../chunks/vendor-DfvHt3TJ.js";
3
+ import { c as clsx } from "../../../../chunks/vendor-D4wvHis9.js";
4
4
  import { MobileView } from "../../../MobileView/MobileView.js";
5
5
  import { getSafeRel } from "../../../../utils/html/anchorSecurity.js";
6
- const tooltipLink = "tooltipLink__d8fcaf95";
7
- const desktop = "desktop__d9788b8a";
8
- const mobile = "mobile__de0faf33";
6
+ const tooltipLink = "tooltipLink__2cf94f2b";
7
+ const desktop = "desktop__5278313b";
8
+ const mobile = "mobile__68f8ba32";
9
9
  const styles = {
10
10
  tooltipLink,
11
11
  desktop,
@@ -21,7 +21,7 @@ const TooltipLink = React__default.forwardRef(
21
21
  ...rest,
22
22
  target,
23
23
  rel: safeRel,
24
- "data-tx": "1.42.0",
24
+ "data-tx": "1.44.0",
25
25
  ref,
26
26
  children
27
27
  }
@@ -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-CaPU2whC.js";
6
+ import { s as styles } from "../../../../chunks/TooltipDesktop.module-B54hNcxs.js";
7
7
  const TooltipXButton = ({ onClick, ...rest }) => {
8
8
  const { setTooltipOpen } = useContext(TooltipContext);
9
9
  const handleClick = (event) => {
@@ -3,13 +3,13 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
5
5
  import React__default from "react";
6
- import { i as isEqual, c as clsx } from "../../../../../chunks/vendor-DfvHt3TJ.js";
6
+ import { i as isEqual, c as clsx } from "../../../../../chunks/vendor-D4wvHis9.js";
7
7
  import { TooltipContext } from "../../../TootlipContext.js";
8
8
  import { Portal } from "../../../../Portal/Portal.js";
9
9
  import { ETooltipFlowTypes, ETooltipPreferPlace, ETooltipDirection, ETooltipAlign, ETooltipSizeParameter, ETooltipTypeName, ETooltipEndCoordinates, ETooltipStartCoordinates, ETooltipAxesType, ETooltipSize } from "../../../enums.js";
10
10
  import { TooltipDesktopTip } from "./TooltipDesktopTip.js";
11
11
  import { pickZone, axes, calcRelPos, centerOfBoundsFromBounds, calcBounds, equalCoords } from "../../../utils/Positioning.js";
12
- import { s as styles } from "../../../../../chunks/TooltipDesktop.module-CaPU2whC.js";
12
+ import { s as styles } from "../../../../../chunks/TooltipDesktop.module-B54hNcxs.js";
13
13
  const flowToTipTranslations = {
14
14
  [ETooltipFlowTypes.COLUMN]: "translateX",
15
15
  [ETooltipFlowTypes.ROW]: "translateY"
@@ -1,8 +1,8 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import React__default from "react";
3
3
  import { ETooltipDirection } from "../../../enums.js";
4
- import { c as clsx } from "../../../../../chunks/vendor-DfvHt3TJ.js";
5
- import { s as styles } from "../../../../../chunks/TooltipDesktop.module-CaPU2whC.js";
4
+ import { c as clsx } from "../../../../../chunks/vendor-D4wvHis9.js";
5
+ import { s as styles } from "../../../../../chunks/TooltipDesktop.module-B54hNcxs.js";
6
6
  const DIRECTION_CLASS_NAMES = {
7
7
  [ETooltipDirection.UP]: styles.up,
8
8
  [ETooltipDirection.DOWN]: styles.down,
@@ -5,11 +5,11 @@ import { Portal } from "../../../Portal/Portal.js";
5
5
  import { DropdownMobile } from "../../../Dropdown/mobile/DropdownMobile.js";
6
6
  import { DropdownMobileBody } from "../../../Dropdown/mobile/DropdownMobileBody.js";
7
7
  import { TooltipMobileCloseButton } from "./components/TooltipMobileCloseButton.js";
8
- import { c as clsx } from "../../../../chunks/vendor-DfvHt3TJ.js";
9
- const tooltipMobile = "tooltipMobile__3c901978";
10
- const tooltipMobileContent = "tooltipMobileContent__b0332cea";
11
- const headerless = "headerless__47294132";
12
- const closeButton = "closeButton__43cae28e";
8
+ import { c as clsx } from "../../../../chunks/vendor-D4wvHis9.js";
9
+ const tooltipMobile = "tooltipMobile__bcb2869d";
10
+ const tooltipMobileContent = "tooltipMobileContent__5a2e5962";
11
+ const headerless = "headerless__76875cd3";
12
+ const closeButton = "closeButton__5c95f441";
13
13
  const styles = {
14
14
  tooltipMobile,
15
15
  tooltipMobileContent,
@@ -1,15 +1,16 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import { useState, useRef, useEffect } from "react";
3
- import { c as clsx } from "../../chunks/vendor-DfvHt3TJ.js";
2
+ import React__default, { useState, useRef, useEffect } from "react";
3
+ import { c as clsx } from "../../chunks/vendor-D4wvHis9.js";
4
4
  import { FocusTrapExtended } from "../FocusTrapExtended/FocusTrapExtended.js";
5
5
  import { Overlay } from "../Overlay/Overlay.js";
6
6
  import { EOverlayDirection } from "../Overlay/OverlayBase.js";
7
- const topOverlayMask = "topOverlayMask__24c691dc";
8
- const topOverlayWrapper = "topOverlayWrapper__6ff9ba8b";
9
- const closing = "closing__0b232f2e";
10
- const opened = "opened__4e79fb61";
11
- const topOverlayPanel = "topOverlayPanel__2f1c6343";
12
- const topOverlay = "topOverlay__a57307ad";
7
+ import { getLightBoxScreenTop, getNextTopPosition } from "./utils.js";
8
+ const topOverlayMask = "topOverlayMask__9abf9d11";
9
+ const topOverlayWrapper = "topOverlayWrapper__57eb6933";
10
+ const closing = "closing__38513e6e";
11
+ const opened = "opened__33b1df88";
12
+ const topOverlayPanel = "topOverlayPanel__2353a9b0";
13
+ const topOverlay = "topOverlay__1f38d9a1";
13
14
  const styles = {
14
15
  topOverlayMask,
15
16
  topOverlayWrapper,
@@ -18,98 +19,106 @@ const styles = {
18
19
  topOverlayPanel,
19
20
  topOverlay
20
21
  };
21
- const TopOverlay = ({
22
- children,
23
- focusTrapProps,
24
- opened: opened2,
25
- onClose,
26
- onOpen,
27
- ...OverlayBaseProps
28
- }) => {
29
- const [closing2, setClosing] = useState(false);
30
- const [activeFocusTrap, setActiveFocusTrap] = useState(false);
31
- const [overlayWrapperTopPosition, setOverlayWrapperTopPosition] = useState(0);
32
- const prevOpened = useRef(opened2);
33
- const overlayWrapperRef = useRef(null);
34
- const updateTopPosition = () => {
35
- if (overlayWrapperRef.current) {
36
- const lightBoxTopPosition = getComputedStyle(overlayWrapperRef.current).getPropertyValue("--lightBox-screen-top") || "0";
37
- const position = overlayWrapperRef.current.getBoundingClientRect();
38
- if (position.top < 0) {
39
- setOverlayWrapperTopPosition(
40
- (overlayWrapperTopPositionPrev) => parseInt(overlayWrapperTopPositionPrev, 10) + Math.abs(position.top) + parseInt(lightBoxTopPosition, 10)
41
- );
42
- } else {
43
- setOverlayWrapperTopPosition(
44
- // Оверлей расположен ниже, чем нужно.
45
- (overlayWrapperTopPositionPrev) => parseInt(overlayWrapperTopPositionPrev, 10) - position.top + parseInt(lightBoxTopPosition, 10)
46
- );
22
+ const noopSetOpened = () => {
23
+ };
24
+ const TopOverlay = React__default.forwardRef(
25
+ ({ children, className, focusTrapProps, opened: opened2, onClose, onOpen, style, ...htmlDivAttributes }, ref) => {
26
+ const [closing2, setClosing] = useState(false);
27
+ const [activeFocusTrap, setActiveFocusTrap] = useState(false);
28
+ const [overlayWrapperTopPosition, setOverlayWrapperTopPosition] = useState(void 0);
29
+ const prevOpened = useRef(opened2);
30
+ const isFirstRender = useRef(true);
31
+ const overlayWrapperRef = useRef(null);
32
+ const updateTopPosition = () => {
33
+ const overlayWrapper = overlayWrapperRef.current;
34
+ if (!overlayWrapper) {
35
+ return;
36
+ }
37
+ const lightBoxScreenTop = getLightBoxScreenTop(overlayWrapper);
38
+ const { top } = overlayWrapper.getBoundingClientRect();
39
+ setOverlayWrapperTopPosition((topPosition) => getNextTopPosition(topPosition ?? 0, top, lightBoxScreenTop));
40
+ };
41
+ const handleOpen = () => {
42
+ if (!isFirstRender.current) {
43
+ updateTopPosition();
44
+ }
45
+ setActiveFocusTrap(true);
46
+ onOpen == null ? void 0 : onOpen();
47
+ };
48
+ useEffect(() => {
49
+ isFirstRender.current = false;
50
+ }, []);
51
+ useEffect(() => {
52
+ if (prevOpened.current && !opened2) {
53
+ setClosing(true);
54
+ } else if (!prevOpened.current && opened2) {
55
+ updateTopPosition();
47
56
  }
48
- }
49
- };
50
- const handleOpen = () => {
51
- updateTopPosition();
52
- setActiveFocusTrap(true);
53
- onOpen == null ? void 0 : onOpen();
54
- };
55
- useEffect(() => {
56
- if (prevOpened.current && !opened2) {
57
- setClosing(true);
58
- } else if (!prevOpened.current && opened2) {
59
- updateTopPosition();
60
- }
61
- prevOpened.current = opened2;
62
- }, [opened2]);
63
- const handleClose = () => {
64
- setClosing(false);
65
- setOverlayWrapperTopPosition(0);
66
- onClose == null ? void 0 : onClose();
67
- };
68
- const handleClosing = () => setActiveFocusTrap(false);
69
- const renderOverlay = (overlayProps) => /* @__PURE__ */ jsxs(Fragment, { children: [
70
- /* @__PURE__ */ jsx(Overlay.Mask, { opened: overlayProps.opened, className: styles.topOverlayMask }),
71
- /* @__PURE__ */ jsx(Overlay.Panel, { className: styles.topOverlayPanel, ...overlayProps, children })
72
- ] });
73
- const setOpened = () => {
74
- };
75
- const classNameOverlayWrapper = clsx(styles.topOverlayWrapper, {
76
- [styles.closing]: closing2,
77
- [styles.opened]: opened2
78
- });
79
- return /* @__PURE__ */ jsx(
80
- FocusTrapExtended,
81
- {
82
- active: activeFocusTrap,
83
- ...focusTrapProps,
84
- focusTrapOptions: {
85
- preventScroll: true,
86
- ...focusTrapProps == null ? void 0 : focusTrapProps.focusTrapOptions
57
+ prevOpened.current = opened2;
58
+ }, [opened2]);
59
+ const handleClose = () => {
60
+ setClosing(false);
61
+ setOverlayWrapperTopPosition(void 0);
62
+ onClose == null ? void 0 : onClose();
63
+ };
64
+ const handleClosing = () => setActiveFocusTrap(false);
65
+ const setOverlayWrapperRef = (instance) => {
66
+ overlayWrapperRef.current = instance;
67
+ if (typeof ref === "function") {
68
+ ref(instance);
69
+ } else if (ref) {
70
+ ref.current = instance;
71
+ }
72
+ };
73
+ const renderOverlay = (overlayProps) => /* @__PURE__ */ jsxs(Fragment, { children: [
74
+ /* @__PURE__ */ jsx(Overlay.Mask, { opened: overlayProps.opened, className: styles.topOverlayMask }),
75
+ /* @__PURE__ */ jsx(Overlay.Panel, { className: styles.topOverlayPanel, ...overlayProps, children })
76
+ ] });
77
+ const wrapperStyle = overlayWrapperTopPosition === void 0 ? style : { ...style, "--triplex-next-runtime-TopOverlay-Top": `${overlayWrapperTopPosition}px` };
78
+ const classNameOverlayWrapper = clsx(
79
+ styles.topOverlayWrapper,
80
+ {
81
+ [styles.closing]: closing2,
82
+ [styles.opened]: opened2
87
83
  },
88
- children: /* @__PURE__ */ jsx(
89
- "div",
90
- {
91
- className: classNameOverlayWrapper,
92
- ref: overlayWrapperRef,
93
- style: overlayWrapperTopPosition ? { top: `${overlayWrapperTopPosition}px` } : void 0,
94
- children: /* @__PURE__ */ jsx(
95
- Overlay,
96
- {
97
- onClose: handleClose,
98
- onClosing: handleClosing,
99
- onOpen: handleOpen,
100
- opened: opened2,
101
- setOpened,
102
- ...OverlayBaseProps,
103
- className: styles.topOverlay,
104
- direction: EOverlayDirection.TOP,
105
- children: renderOverlay
106
- }
107
- )
108
- }
109
- )
110
- }
111
- );
112
- };
84
+ className
85
+ );
86
+ return /* @__PURE__ */ jsx(
87
+ FocusTrapExtended,
88
+ {
89
+ active: activeFocusTrap,
90
+ ...focusTrapProps,
91
+ focusTrapOptions: {
92
+ preventScroll: true,
93
+ ...focusTrapProps == null ? void 0 : focusTrapProps.focusTrapOptions
94
+ },
95
+ children: /* @__PURE__ */ jsx(
96
+ "div",
97
+ {
98
+ className: classNameOverlayWrapper,
99
+ ...htmlDivAttributes,
100
+ style: wrapperStyle,
101
+ ref: setOverlayWrapperRef,
102
+ children: /* @__PURE__ */ jsx(
103
+ Overlay,
104
+ {
105
+ onClose: handleClose,
106
+ onClosing: handleClosing,
107
+ onOpen: handleOpen,
108
+ opened: opened2,
109
+ setOpened: noopSetOpened,
110
+ className: styles.topOverlay,
111
+ direction: EOverlayDirection.TOP,
112
+ children: renderOverlay
113
+ }
114
+ )
115
+ }
116
+ )
117
+ }
118
+ );
119
+ }
120
+ );
121
+ TopOverlay.displayName = "TopOverlay";
113
122
  export {
114
123
  TopOverlay
115
124
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TopOverlay.js","sources":["../../../src/components/TopOverlay/TopOverlay.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { FocusTrapExtended, IFocusTrapExtendedProps } from \"../FocusTrapExtended\";\nimport { Overlay, IOverlayProps } from \"../Overlay/Overlay\";\nimport { EOverlayDirection, IOverlayChildrenProvideProps } from \"../Overlay/OverlayBase\";\nimport styles from \"./styles/TopOverlay.module.less\";\n\n/** Свойства компонента TopOverlay. */\nexport interface ITopOverlayProps extends Pick<IOverlayProps, \"opened\" | \"onOpen\" | \"onClose\"> {\n children?: React.ReactNode;\n /** Свойства компонента FocusTrapExtended. */\n focusTrapProps?: IFocusTrapExtendedProps;\n}\n\nexport const TopOverlay: React.FC<ITopOverlayProps> = ({\n children,\n focusTrapProps,\n opened,\n onClose,\n onOpen,\n ...OverlayBaseProps\n}) => {\n // Флаг, в текущий момент оверлей закрывается.\n const [closing, setClosing] = useState(false);\n // FocusTrap активен.\n const [activeFocusTrap, setActiveFocusTrap] = useState(false);\n // Позиция top для lightBoxTopOverlayWrapper, высчитывается исходя из scrollTop родителя.\n const [overlayWrapperTopPosition, setOverlayWrapperTopPosition] = useState<number | string>(0);\n // Предыдущее состояние открыт/закрыт.\n const prevOpened = useRef(opened);\n // Ref контейнера.\n const overlayWrapperRef = useRef<HTMLDivElement | null>(null);\n\n // Пересчет позиционирования оверлея. Бывает неверная позиция, например, при открытии во время скролла.\n const updateTopPosition = () => {\n // Перерасчет позиционирования оверлея, если он был открыт во время скролла родителя.\n if (overlayWrapperRef.current) {\n // Верхняя позиция LightBox.\n const lightBoxTopPosition =\n getComputedStyle(overlayWrapperRef.current).getPropertyValue(\"--lightBox-screen-top\") || \"0\";\n // Текущее положение оверлея.\n const position = overlayWrapperRef.current.getBoundingClientRect();\n // Оверлей расположен выше, чем нужно.\n if (position.top < 0) {\n setOverlayWrapperTopPosition(\n (overlayWrapperTopPositionPrev) =>\n parseInt(overlayWrapperTopPositionPrev as string, 10) +\n Math.abs(position.top) +\n parseInt(lightBoxTopPosition, 10),\n );\n } else {\n setOverlayWrapperTopPosition(\n // Оверлей расположен ниже, чем нужно.\n (overlayWrapperTopPositionPrev) =>\n parseInt(overlayWrapperTopPositionPrev as string, 10) -\n position.top +\n parseInt(lightBoxTopPosition, 10),\n );\n }\n }\n };\n\n const handleOpen = () => {\n updateTopPosition();\n setActiveFocusTrap(true);\n onOpen?.();\n };\n\n useEffect(() => {\n // Флаг opened поменялся на false.\n if (prevOpened.current && !opened) {\n setClosing(true);\n\n // Флаг opened поменялся на true.\n } else if (!prevOpened.current && opened) {\n updateTopPosition();\n }\n\n prevOpened.current = opened;\n }, [opened]);\n\n const handleClose = () => {\n setClosing(false);\n setOverlayWrapperTopPosition(0);\n onClose?.();\n };\n\n const handleClosing = () => setActiveFocusTrap(false);\n\n const renderOverlay = (overlayProps: IOverlayChildrenProvideProps) => (\n <>\n <Overlay.Mask opened={overlayProps.opened} className={styles.topOverlayMask} />\n <Overlay.Panel className={styles.topOverlayPanel} {...overlayProps}>\n {children}\n </Overlay.Panel>\n </>\n );\n\n const setOpened = () => {};\n\n const classNameOverlayWrapper = clsx(styles.topOverlayWrapper, {\n [styles.closing]: closing,\n [styles.opened]: opened,\n });\n\n return (\n <FocusTrapExtended\n active={activeFocusTrap}\n {...focusTrapProps}\n focusTrapOptions={{\n preventScroll: true,\n ...focusTrapProps?.focusTrapOptions,\n }}\n >\n <div\n className={classNameOverlayWrapper}\n ref={overlayWrapperRef}\n style={overlayWrapperTopPosition ? { top: `${overlayWrapperTopPosition}px` } : undefined}\n >\n <Overlay\n onClose={handleClose}\n onClosing={handleClosing}\n onOpen={handleOpen}\n opened={opened}\n setOpened={setOpened}\n {...OverlayBaseProps}\n className={styles.topOverlay}\n direction={EOverlayDirection.TOP}\n >\n {renderOverlay}\n </Overlay>\n </div>\n </FocusTrapExtended>\n );\n};\n"],"names":["opened","closing"],"mappings":";;;;;;;;;;;;;;;;;;;;AAcO,MAAM,aAAyC,CAAC;AAAA,EACnD;AAAA,EACA;AAAA,EACA,QAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAM;AAEF,QAAM,CAACC,UAAS,UAAU,IAAI,SAAS,KAAK;AAE5C,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAS,KAAK;AAE5D,QAAM,CAAC,2BAA2B,4BAA4B,IAAI,SAA0B,CAAC;AAE7F,QAAM,aAAa,OAAOD,OAAM;AAEhC,QAAM,oBAAoB,OAA8B,IAAI;AAG5D,QAAM,oBAAoB,MAAM;AAE5B,QAAI,kBAAkB,SAAS;AAE3B,YAAM,sBACF,iBAAiB,kBAAkB,OAAO,EAAE,iBAAiB,uBAAuB,KAAK;AAE7F,YAAM,WAAW,kBAAkB,QAAQ,sBAAA;AAE3C,UAAI,SAAS,MAAM,GAAG;AAClB;AAAA,UACI,CAAC,kCACG,SAAS,+BAAyC,EAAE,IACpD,KAAK,IAAI,SAAS,GAAG,IACrB,SAAS,qBAAqB,EAAE;AAAA,QAAA;AAAA,MAE5C,OAAO;AACH;AAAA;AAAA,UAEI,CAAC,kCACG,SAAS,+BAAyC,EAAE,IACpD,SAAS,MACT,SAAS,qBAAqB,EAAE;AAAA,QAAA;AAAA,MAE5C;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,aAAa,MAAM;AACrB,sBAAA;AACA,uBAAmB,IAAI;AACvB;AAAA,EACJ;AAEA,YAAU,MAAM;AAEZ,QAAI,WAAW,WAAW,CAACA,SAAQ;AAC/B,iBAAW,IAAI;AAAA,IAGnB,WAAW,CAAC,WAAW,WAAWA,SAAQ;AACtC,wBAAA;AAAA,IACJ;AAEA,eAAW,UAAUA;AAAA,EACzB,GAAG,CAACA,OAAM,CAAC;AAEX,QAAM,cAAc,MAAM;AACtB,eAAW,KAAK;AAChB,iCAA6B,CAAC;AAC9B;AAAA,EACJ;AAEA,QAAM,gBAAgB,MAAM,mBAAmB,KAAK;AAEpD,QAAM,gBAAgB,CAAC,iBACnB,qBAAA,UAAA,EACI,UAAA;AAAA,IAAA,oBAAC,QAAQ,MAAR,EAAa,QAAQ,aAAa,QAAQ,WAAW,OAAO,gBAAgB;AAAA,IAC7E,oBAAC,QAAQ,OAAR,EAAc,WAAW,OAAO,iBAAkB,GAAG,cACjD,SAAA,CACL;AAAA,EAAA,GACJ;AAGJ,QAAM,YAAY,MAAM;AAAA,EAAC;AAEzB,QAAM,0BAA0B,KAAK,OAAO,mBAAmB;AAAA,IAC3D,CAAC,OAAO,OAAO,GAAGC;AAAA,IAClB,CAAC,OAAO,MAAM,GAAGD;AAAA,EAAA,CACpB;AAED,SACI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,QAAQ;AAAA,MACP,GAAG;AAAA,MACJ,kBAAkB;AAAA,QACd,eAAe;AAAA,QACf,GAAG,iDAAgB;AAAA,MAAA;AAAA,MAGvB,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,WAAW;AAAA,UACX,KAAK;AAAA,UACL,OAAO,4BAA4B,EAAE,KAAK,GAAG,yBAAyB,SAAS;AAAA,UAE/E,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,SAAS;AAAA,cACT,WAAW;AAAA,cACX,QAAQ;AAAA,cACR,QAAAA;AAAA,cACA;AAAA,cACC,GAAG;AAAA,cACJ,WAAW,OAAO;AAAA,cAClB,WAAW,kBAAkB;AAAA,cAE5B,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACL;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA;AAGZ;"}
1
+ {"version":3,"file":"TopOverlay.js","sources":["../../../src/components/TopOverlay/TopOverlay.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { FocusTrapExtended, IFocusTrapExtendedProps } from \"../FocusTrapExtended\";\nimport { Overlay, IOverlayProps } from \"../Overlay/Overlay\";\nimport { EOverlayDirection, IOverlayChildrenProvideProps } from \"../Overlay/OverlayBase\";\nimport { getLightBoxScreenTop, getNextTopPosition } from \"./utils\";\nimport styles from \"./styles/TopOverlay.module.less\";\n\n/** Свойства компонента TopOverlay. */\nexport interface ITopOverlayProps\n extends\n Pick<IOverlayProps, \"opened\" | \"onOpen\" | \"onClose\">,\n Omit<React.HTMLAttributes<HTMLDivElement>, \"children\" | \"onClose\"> {\n /** Содержимое верхней панели. */\n children?: React.ReactNode;\n /** Свойства компонента FocusTrapExtended. */\n focusTrapProps?: IFocusTrapExtendedProps;\n}\n\n/** Inline-стиль обёртки: рассчитанная позиция уходит в runtime-переменную, а не в свойство top. */\ninterface ITopOverlayWrapperStyle extends React.CSSProperties {\n \"--triplex-next-runtime-TopOverlay-Top\"?: string;\n}\n\n// Overlay требует setOpened, но TopOverlay полностью управляется свойством opened и наружу состояние не поднимает.\nconst noopSetOpened = () => {};\n\n/**\n * Верхняя панель поверх контента LightBox: затемняющая маска на всю ширину экрана и выезжающая сверху панель.\n * Открытием управляет свойство `opened`, на время открытия фокус удерживается внутри панели.\n */\nexport const TopOverlay = React.forwardRef<HTMLDivElement, ITopOverlayProps>(\n ({ children, className, focusTrapProps, opened, onClose, onOpen, style, ...htmlDivAttributes }, ref) => {\n // Флаг, в текущий момент оверлей закрывается.\n const [closing, setClosing] = useState(false);\n // FocusTrap активен.\n const [activeFocusTrap, setActiveFocusTrap] = useState(false);\n // Позиция top обёртки оверлея, высчитывается исходя из scrollTop родителя. undefined — ещё не рассчитана.\n const [overlayWrapperTopPosition, setOverlayWrapperTopPosition] = useState<number | undefined>(undefined);\n // Предыдущее состояние открыт/закрыт.\n const prevOpened = useRef(opened);\n // Флаг первого рендера. Отличает открытие на маунте от открытия переходом.\n const isFirstRender = useRef(true);\n // Ref контейнера.\n const overlayWrapperRef = useRef<HTMLDivElement | null>(null);\n\n // Пересчет позиционирования оверлея. Бывает неверная позиция, например, при открытии во время скролла родителя.\n const updateTopPosition = () => {\n const overlayWrapper = overlayWrapperRef.current;\n\n if (!overlayWrapper) {\n return;\n }\n\n // Верхняя граница экрана LightBox.\n const lightBoxScreenTop = getLightBoxScreenTop(overlayWrapper);\n // Текущее положение оверлея во вьюпорте.\n const { top } = overlayWrapper.getBoundingClientRect();\n\n setOverlayWrapperTopPosition((topPosition) => getNextTopPosition(topPosition ?? 0, top, lightBoxScreenTop));\n };\n\n const handleOpen = () => {\n // При открытии на маунте позиция не пересчитывается: лайтбокс в этот момент ещё не на своём месте\n // (у него собственная анимация появления), а getBoundingClientRect учитывает transform родителей —\n // измерение дало бы смещение в никуда. Позиция остаётся заданной стилями, коррекция применяется\n // при следующем открытии переходом false → true.\n if (!isFirstRender.current) {\n updateTopPosition();\n }\n\n setActiveFocusTrap(true);\n onOpen?.();\n };\n\n useEffect(() => {\n isFirstRender.current = false;\n }, []);\n\n useEffect(() => {\n // Флаг opened поменялся на false.\n if (prevOpened.current && !opened) {\n setClosing(true);\n\n // Флаг opened поменялся на true.\n } else if (!prevOpened.current && opened) {\n updateTopPosition();\n }\n\n prevOpened.current = opened;\n }, [opened]);\n\n const handleClose = () => {\n setClosing(false);\n setOverlayWrapperTopPosition(undefined);\n onClose?.();\n };\n\n const handleClosing = () => setActiveFocusTrap(false);\n\n const setOverlayWrapperRef = (instance: HTMLDivElement | null) => {\n overlayWrapperRef.current = instance;\n\n if (typeof ref === \"function\") {\n ref(instance);\n } else if (ref) {\n ref.current = instance;\n }\n };\n\n const renderOverlay = (overlayProps: IOverlayChildrenProvideProps) => (\n <>\n <Overlay.Mask opened={overlayProps.opened} className={styles.topOverlayMask} />\n <Overlay.Panel className={styles.topOverlayPanel} {...overlayProps}>\n {children}\n </Overlay.Panel>\n </>\n );\n\n // Рассчитанная позиция публикуется runtime-переменной, которую читает .topOverlayWrapper в LESS: inline\n // styles в компонентах запрещены (docs/ai/codestyle.md). Ноль здесь такой же результат расчёта, как любой\n // другой, поэтому признак «не рассчитано» — undefined, а не 0.\n const wrapperStyle: ITopOverlayWrapperStyle | undefined =\n overlayWrapperTopPosition === undefined\n ? style\n : { ...style, \"--triplex-next-runtime-TopOverlay-Top\": `${overlayWrapperTopPosition}px` };\n\n const classNameOverlayWrapper = clsx(\n styles.topOverlayWrapper,\n {\n [styles.closing]: closing,\n [styles.opened]: opened,\n },\n className,\n );\n\n return (\n <FocusTrapExtended\n active={activeFocusTrap}\n {...focusTrapProps}\n focusTrapOptions={{\n preventScroll: true,\n ...focusTrapProps?.focusTrapOptions,\n }}\n >\n <div\n className={classNameOverlayWrapper}\n {...htmlDivAttributes}\n style={wrapperStyle}\n ref={setOverlayWrapperRef}\n >\n <Overlay\n onClose={handleClose}\n onClosing={handleClosing}\n onOpen={handleOpen}\n opened={opened}\n setOpened={noopSetOpened}\n className={styles.topOverlay}\n direction={EOverlayDirection.TOP}\n >\n {renderOverlay}\n </Overlay>\n </div>\n </FocusTrapExtended>\n );\n },\n);\n\nTopOverlay.displayName = \"TopOverlay\";\n"],"names":["React","opened","closing"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ const LIGHT_BOX_SCREEN_TOP_CSS_VAR = "--lightBox-screen-top";
2
+ const getLightBoxScreenTop = (element) => parseInt(getComputedStyle(element).getPropertyValue(LIGHT_BOX_SCREEN_TOP_CSS_VAR) || "0", 10);
3
+ const getNextTopPosition = (topPosition, elementTopPosition, lightBoxScreenTop) => Math.trunc(topPosition) - elementTopPosition + lightBoxScreenTop;
4
+ export {
5
+ getLightBoxScreenTop,
6
+ getNextTopPosition
7
+ };
8
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../src/components/TopOverlay/utils.ts"],"sourcesContent":["/** CSS-переменная LightBox с верхней границей его экрана. */\nconst LIGHT_BOX_SCREEN_TOP_CSS_VAR = \"--lightBox-screen-top\";\n\n/**\n * Читает верхнюю границу экрана LightBox из CSS-переменной элемента.\n * Возвращает 0, если переменная не задана (оверлей отрисован вне LightBox).\n */\nexport const getLightBoxScreenTop = (element: HTMLElement): number =>\n parseInt(getComputedStyle(element).getPropertyValue(LIGHT_BOX_SCREEN_TOP_CSS_VAR) || \"0\", 10);\n\n/**\n * Вычисляет новую позицию top обёртки оверлея.\n *\n * Обёртка позиционируется относительно родителя, поэтому её реальное положение во вьюпорте (`elementTopPosition`)\n * зависит от прокрутки родителя. Смещение считается инкрементально: к текущему `topPosition` добавляется разница\n * между желаемой верхней границей экрана LightBox и фактическим положением обёртки.\n *\n * Накопленное смещение усекается до целого перед каждым пересчётом — так же, как это делал `parseInt` до вынесения\n * формулы в отдельную функцию. Пересчёт при открытии происходит дважды, и без усечения второй проход дал бы\n * субпиксельный `top`, то есть сдвиг панели относительно прежнего поведения.\n *\n * @param topPosition Текущее смещение обёртки, px.\n * @param elementTopPosition Фактическая верхняя граница обёртки во вьюпорте (`getBoundingClientRect().top`), px.\n * @param lightBoxScreenTop Верхняя граница экрана LightBox, px.\n */\nexport const getNextTopPosition = (\n topPosition: number,\n elementTopPosition: number,\n lightBoxScreenTop: number,\n): number => Math.trunc(topPosition) - elementTopPosition + lightBoxScreenTop;\n"],"names":[],"mappings":"AACA,MAAM,+BAA+B;AAM9B,MAAM,uBAAuB,CAAC,YACjC,SAAS,iBAAiB,OAAO,EAAE,iBAAiB,4BAA4B,KAAK,KAAK,EAAE;AAiBzF,MAAM,qBAAqB,CAC9B,aACA,oBACA,sBACS,KAAK,MAAM,WAAW,IAAI,qBAAqB;"}
@@ -9,14 +9,22 @@ import { TreeViewContext } from "./TreeViewContext.js";
9
9
  import { TreeViewAbstractNode } from "./TreeViewAbstractNode.js";
10
10
  import { TreeViewNode } from "./components/TreeViewNode.js";
11
11
  import { TreeViewGroup } from "./components/TreeViewGroup.js";
12
- import { c as clsx } from "../../chunks/vendor-DfvHt3TJ.js";
13
- import { s as styles } from "../../chunks/TreeView.module-DFoYkkgl.js";
12
+ import { c as clsx } from "../../chunks/vendor-D4wvHis9.js";
13
+ import { s as styles } from "../../chunks/TreeView.module-CmItPF1_.js";
14
14
  const rootNodeId = "rootNode";
15
15
  class TreeView extends React__default.Component {
16
16
  constructor(props) {
17
17
  super(props);
18
18
  __publicField(this, "abstractRootNode");
19
- __publicField(this, "treeNode", null);
19
+ /** Глобальный слушатель keydown подписан. Он нужен только пока в дереве есть активная нода. */
20
+ __publicField(this, "keyDownListenerAttached", false);
21
+ /**
22
+ * Увеличивает счетчик обновлений абстрактного дерева.
23
+ * Значение попадает в контекст и сигнализирует дочерним нодам, что мутируемое дерево изменилось.
24
+ */
25
+ __publicField(this, "incrementUpdateCount", () => {
26
+ this.setState(({ updateCount }) => ({ updateCount: updateCount + 1 }));
27
+ });
20
28
  /**
21
29
  * Обработка изменения контекста.
22
30
  * Установка tabIndex={0} для первой ноды, и tabIndex={-1} для остальных.
@@ -34,34 +42,54 @@ class TreeView extends React__default.Component {
34
42
  }
35
43
  });
36
44
  if (isContextChanged) {
37
- this.setState(({ updateCount: prevCount }) => ({ updateCount: prevCount++ }));
45
+ this.incrementUpdateCount();
38
46
  }
39
47
  });
40
48
  /** Добавляет ноду в родительскую ноду. */
41
49
  __publicField(this, "registerNode", (node, parentNode, prevNode, nextNode) => {
42
50
  parentNode.addChild(node, prevNode, nextNode);
43
51
  this.updateTabIndexNodes();
44
- this.setState(({ updateCount: prevCount }) => ({ updateCount: prevCount++ }));
52
+ this.incrementUpdateCount();
45
53
  });
46
54
  /** Удаляет ноду из родительской ноды. */
47
55
  __publicField(this, "removeNode", (node) => {
48
56
  var _a;
49
57
  (_a = node.getParent()) == null ? void 0 : _a.removeChild(node);
50
58
  this.updateTabIndexNodes();
59
+ this.syncKeyDownListener();
60
+ this.incrementUpdateCount();
51
61
  });
52
62
  /** Установка флага активности ноды. */
53
63
  __publicField(this, "setActiveNode", (node, active) => {
54
64
  TreeViewAbstractNodeUtils.setActiveNode(node, this.abstractRootNode, active);
55
- this.setState(({ updateCount: prevCount }) => ({ updateCount: prevCount++ }));
65
+ this.syncKeyDownListener();
66
+ this.incrementUpdateCount();
67
+ });
68
+ /**
69
+ * Подписывает и отписывает глобальный слушатель keydown по наличию активной ноды.
70
+ * Пока активной ноды нет, дерево не обрабатывает стрелки и не отменяет скролл страницы.
71
+ */
72
+ __publicField(this, "syncKeyDownListener", () => {
73
+ const hasActiveNode = Boolean(TreeViewAbstractNodeUtils.getActiveNode(this.abstractRootNode));
74
+ if (hasActiveNode && !this.keyDownListenerAttached) {
75
+ window.addEventListener("keydown", this.handleKeyDown);
76
+ this.keyDownListenerAttached = true;
77
+ } else if (!hasActiveNode && this.keyDownListenerAttached) {
78
+ this.detachKeyDownListener();
79
+ }
80
+ });
81
+ /** Отписывает глобальный слушатель keydown. */
82
+ __publicField(this, "detachKeyDownListener", () => {
83
+ window.removeEventListener("keydown", this.handleKeyDown);
84
+ this.keyDownListenerAttached = false;
56
85
  });
57
86
  /** Установка флага opened ноды. */
58
87
  __publicField(this, "setOpenedNode", (node, opened) => {
59
88
  node.setOpened(opened);
60
- this.setState(({ updateCount: prevCount }) => ({ updateCount: prevCount++ }));
89
+ this.incrementUpdateCount();
61
90
  });
62
91
  /** Возвращает AbstractNode по id. */
63
92
  __publicField(this, "getNode", (nodeId) => TreeViewAbstractNodeUtils.getNode(nodeId, this.abstractRootNode));
64
- __publicField(this, "setTreeDOMNode", (DOMNode) => this.treeNode = DOMNode);
65
93
  /** Обработка нажатия на клавиш для навигации с клавиатуры. */
66
94
  __publicField(this, "handleKeyDown", (event) => {
67
95
  if (!TreeViewAbstractNodeUtils.getActiveNode(this.abstractRootNode)) {
@@ -69,24 +97,21 @@ class TreeView extends React__default.Component {
69
97
  }
70
98
  if (EVENT_KEY_CODES.ARROW_DOWN === event.keyCode) {
71
99
  TreeViewAbstractNodeUtils.setActiveNextNode(this.abstractRootNode);
72
- event.preventDefault();
73
- this.setState(({ updateCount: prevCount }) => ({ updateCount: prevCount++ }));
74
100
  } else if (EVENT_KEY_CODES.ARROW_UP === event.keyCode) {
75
101
  TreeViewAbstractNodeUtils.setActivePrevNode(this.abstractRootNode);
76
- event.preventDefault();
77
- this.setState(({ updateCount: prevCount }) => ({ updateCount: prevCount++ }));
102
+ } else {
103
+ return;
78
104
  }
105
+ event.preventDefault();
106
+ this.incrementUpdateCount();
79
107
  });
80
108
  this.abstractRootNode = new TreeViewAbstractNode({ id: rootNodeId });
81
109
  this.state = {
82
110
  updateCount: 0
83
111
  };
84
112
  }
85
- componentDidMount() {
86
- window.addEventListener("keydown", this.handleKeyDown);
87
- }
88
113
  componentWillUnmount() {
89
- window.removeEventListener("keydown", this.handleKeyDown);
114
+ this.detachKeyDownListener();
90
115
  }
91
116
  render() {
92
117
  const { children, className, ...props } = this.props;
@@ -104,7 +129,7 @@ class TreeView extends React__default.Component {
104
129
  setOpenedNode: this.setOpenedNode,
105
130
  updateCount
106
131
  },
107
- children: /* @__PURE__ */ jsx("ul", { className: clsx(styles.treeView, className), role: "tree", ...props, ref: this.setTreeDOMNode, children })
132
+ children: /* @__PURE__ */ jsx("ul", { className: clsx(styles.treeView, className), ...props, role: "tree", children })
108
133
  }
109
134
  );
110
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TreeView.js","sources":["../../../src/components/TreeView/TreeView.tsx"],"sourcesContent":["import { EVENT_KEY_CODES } from \"@sberbusiness/triplex-next/utils/keyboard\";\nimport React from \"react\";\nimport { TreeViewAbstractNodeUtils } from \"./TreeViewAbstractNodeUtils\";\nimport {\n TreeViewContext,\n TTreeViewContextGetNode,\n TTreeViewContextRegisterNode,\n TTreeViewContextRemoveNode,\n TTreeViewContextSetActiveNode,\n TTreeViewContextSetOpenedNode,\n} from \"./TreeViewContext\";\nimport { TreeViewAbstractNode } from \"./TreeViewAbstractNode\";\nimport { TreeViewNode } from \"./components/TreeViewNode\";\nimport { TreeViewGroup } from \"./components/TreeViewGroup\";\nimport clsx from \"clsx\";\nimport styles from \"./styles/TreeView.module.less\";\n\n/** Свойства TreeView. */\nexport interface ITreeViewProps extends React.HTMLAttributes<HTMLUListElement> {\n children: React.ReactNode;\n}\n\n/** Состояние TreeView. */\ninterface ITreeViewState {\n /**\n * Число обновлений абстрактного дерева.\n * Используется для индикации изменения дереве т.к. изменение мутируемого объекта rootNode не вызывает триггер изменения контекста.\n */\n updateCount: number;\n}\n\n/** Идентификатор первой ноды дерева. */\nconst rootNodeId = \"rootNode\";\n\n/**\n * Базовый компонент визуального дерева.\n * Добавляет нужную семантическую разметку.\n * Создает абстрактное дерево на основе текущего.\n * Устанавливает контекст для дочерних нод.\n * Реализует навигацию по дереву.\n *\n * Accessibility требования:\n * https://www.w3.org/TR/wai-aria-practices-1.1/examples/treeview/treeview-2/treeview-2a.html\n */\nexport class TreeView extends React.Component<ITreeViewProps, ITreeViewState> {\n public static displayName = \"TreeView\";\n public static Node = TreeViewNode;\n public static Group = TreeViewGroup;\n\n private readonly abstractRootNode: TreeViewAbstractNode;\n private treeNode: HTMLUListElement | null = null;\n\n constructor(props: ITreeViewProps) {\n super(props);\n\n this.abstractRootNode = new TreeViewAbstractNode({ id: rootNodeId });\n\n this.state = {\n updateCount: 0,\n };\n }\n\n public componentDidMount(): void {\n window.addEventListener(\"keydown\", this.handleKeyDown);\n }\n\n public componentWillUnmount(): void {\n window.removeEventListener(\"keydown\", this.handleKeyDown);\n }\n\n public render(): JSX.Element {\n const { children, className, ...props } = this.props;\n const { updateCount } = this.state;\n\n return (\n <TreeViewContext.Provider\n value={{\n getNode: this.getNode,\n parentNode: this.abstractRootNode,\n registerNode: this.registerNode,\n removeNode: this.removeNode,\n rootNode: this.abstractRootNode,\n setActiveNode: this.setActiveNode,\n setOpenedNode: this.setOpenedNode,\n updateCount,\n }}\n >\n <ul className={clsx(styles.treeView, className)} role=\"tree\" {...props} ref={this.setTreeDOMNode}>\n {children}\n </ul>\n </TreeViewContext.Provider>\n );\n }\n\n /**\n * Обработка изменения контекста.\n * Установка tabIndex={0} для первой ноды, и tabIndex={-1} для остальных.\n */\n private updateTabIndexNodes = () => {\n // Ноды первого уровня вложенности.\n const firstLevelNodes = this.abstractRootNode.getChildren();\n let isContextChanged = false;\n\n firstLevelNodes.forEach((node, index) => {\n if (index === 0 && node.getTabIndex() !== 0) {\n node.setTabIndex(0);\n isContextChanged = true;\n } else if (index !== 0 && node.getTabIndex() === 0) {\n node.setTabIndex(-1);\n isContextChanged = true;\n }\n });\n\n if (isContextChanged) {\n this.setState(({ updateCount: prevCount }) => ({ updateCount: prevCount++ }));\n }\n };\n\n /** Добавляет ноду в родительскую ноду. */\n private registerNode: TTreeViewContextRegisterNode = (node, parentNode, prevNode, nextNode) => {\n parentNode.addChild(node, prevNode, nextNode);\n this.updateTabIndexNodes();\n this.setState(({ updateCount: prevCount }) => ({ updateCount: prevCount++ }));\n };\n\n /** Удаляет ноду из родительской ноды. */\n private removeNode: TTreeViewContextRemoveNode = (node) => {\n node.getParent()?.removeChild(node);\n this.updateTabIndexNodes();\n };\n\n /** Установка флага активности ноды. */\n private setActiveNode: TTreeViewContextSetActiveNode = (node, active) => {\n TreeViewAbstractNodeUtils.setActiveNode(node, this.abstractRootNode, active);\n this.setState(({ updateCount: prevCount }) => ({ updateCount: prevCount++ }));\n };\n\n /** Установка флага opened ноды. */\n private setOpenedNode: TTreeViewContextSetOpenedNode = (node, opened) => {\n node.setOpened(opened);\n this.setState(({ updateCount: prevCount }) => ({ updateCount: prevCount++ }));\n };\n\n /** Возвращает AbstractNode по id. */\n private getNode: TTreeViewContextGetNode = (nodeId) =>\n TreeViewAbstractNodeUtils.getNode(nodeId, this.abstractRootNode);\n\n private setTreeDOMNode = (DOMNode: HTMLUListElement) => (this.treeNode = DOMNode);\n\n /** Обработка нажатия на клавиш для навигации с клавиатуры. */\n private handleKeyDown = (event: KeyboardEvent) => {\n // Перемещение с клавиатуры активно, когда есть активная нода.\n if (!TreeViewAbstractNodeUtils.getActiveNode(this.abstractRootNode)) {\n return;\n }\n\n if (EVENT_KEY_CODES.ARROW_DOWN === event.keyCode) {\n // Устанавливает активность следующей ноды.\n TreeViewAbstractNodeUtils.setActiveNextNode(this.abstractRootNode);\n // Предотвращает скролл страницы.\n event.preventDefault();\n this.setState(({ updateCount: prevCount }) => ({ updateCount: prevCount++ }));\n } else if (EVENT_KEY_CODES.ARROW_UP === event.keyCode) {\n // Устанавливает активность предыдущей ноды.\n TreeViewAbstractNodeUtils.setActivePrevNode(this.abstractRootNode);\n // Предотвращает скролл страницы.\n event.preventDefault();\n this.setState(({ updateCount: prevCount }) => ({ updateCount: prevCount++ }));\n }\n };\n}\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"TreeView.js","sources":["../../../src/components/TreeView/TreeView.tsx"],"sourcesContent":["import { EVENT_KEY_CODES } from \"@sberbusiness/triplex-next/utils/keyboard\";\nimport React from \"react\";\nimport { TreeViewAbstractNodeUtils } from \"./TreeViewAbstractNodeUtils\";\nimport {\n TreeViewContext,\n TTreeViewContextGetNode,\n TTreeViewContextRegisterNode,\n TTreeViewContextRemoveNode,\n TTreeViewContextSetActiveNode,\n TTreeViewContextSetOpenedNode,\n} from \"./TreeViewContext\";\nimport { TreeViewAbstractNode } from \"./TreeViewAbstractNode\";\nimport { TreeViewNode } from \"./components/TreeViewNode\";\nimport { TreeViewGroup } from \"./components/TreeViewGroup\";\nimport clsx from \"clsx\";\nimport styles from \"./styles/TreeView.module.less\";\n\n/** Свойства TreeView. */\nexport interface ITreeViewProps extends React.HTMLAttributes<HTMLUListElement> {\n /** Ноды дерева — TreeView.Node (напрямую или через компоненты-обёртки над ним). */\n children: React.ReactNode;\n}\n\n/** Состояние TreeView. */\ninterface ITreeViewState {\n /**\n * Число обновлений абстрактного дерева.\n * Используется для индикации изменения дерева т.к. изменение мутируемого объекта rootNode не вызывает триггер изменения контекста.\n */\n updateCount: number;\n}\n\n/** Идентификатор первой ноды дерева. */\nconst rootNodeId = \"rootNode\";\n\n/**\n * Базовый компонент визуального дерева.\n * Добавляет нужную семантическую разметку.\n * Создает абстрактное дерево на основе текущего.\n * Устанавливает контекст для дочерних нод.\n * Реализует навигацию по дереву.\n *\n * Accessibility требования:\n * https://www.w3.org/TR/wai-aria-practices-1.1/examples/treeview/treeview-2/treeview-2a.html\n */\nexport class TreeView extends React.Component<ITreeViewProps, ITreeViewState> {\n public static displayName = \"TreeView\";\n public static Node = TreeViewNode;\n public static Group = TreeViewGroup;\n\n private readonly abstractRootNode: TreeViewAbstractNode;\n /** Глобальный слушатель keydown подписан. Он нужен только пока в дереве есть активная нода. */\n private keyDownListenerAttached = false;\n\n constructor(props: ITreeViewProps) {\n super(props);\n\n this.abstractRootNode = new TreeViewAbstractNode({ id: rootNodeId });\n\n this.state = {\n updateCount: 0,\n };\n }\n\n public componentWillUnmount(): void {\n this.detachKeyDownListener();\n }\n\n public render(): JSX.Element {\n const { children, className, ...props } = this.props;\n const { updateCount } = this.state;\n\n return (\n <TreeViewContext.Provider\n value={{\n getNode: this.getNode,\n parentNode: this.abstractRootNode,\n registerNode: this.registerNode,\n removeNode: this.removeNode,\n rootNode: this.abstractRootNode,\n setActiveNode: this.setActiveNode,\n setOpenedNode: this.setOpenedNode,\n updateCount,\n }}\n >\n {/* role после {...props}: семантика дерева - контракт компонента, потребитель ее не переопределяет. */}\n <ul className={clsx(styles.treeView, className)} {...props} role=\"tree\">\n {children}\n </ul>\n </TreeViewContext.Provider>\n );\n }\n\n /**\n * Увеличивает счетчик обновлений абстрактного дерева.\n * Значение попадает в контекст и сигнализирует дочерним нодам, что мутируемое дерево изменилось.\n */\n private incrementUpdateCount = () => {\n this.setState(({ updateCount }) => ({ updateCount: updateCount + 1 }));\n };\n\n /**\n * Обработка изменения контекста.\n * Установка tabIndex={0} для первой ноды, и tabIndex={-1} для остальных.\n */\n private updateTabIndexNodes = () => {\n // Ноды первого уровня вложенности.\n const firstLevelNodes = this.abstractRootNode.getChildren();\n let isContextChanged = false;\n\n firstLevelNodes.forEach((node, index) => {\n if (index === 0 && node.getTabIndex() !== 0) {\n node.setTabIndex(0);\n isContextChanged = true;\n } else if (index !== 0 && node.getTabIndex() === 0) {\n node.setTabIndex(-1);\n isContextChanged = true;\n }\n });\n\n if (isContextChanged) {\n this.incrementUpdateCount();\n }\n };\n\n /** Добавляет ноду в родительскую ноду. */\n private registerNode: TTreeViewContextRegisterNode = (node, parentNode, prevNode, nextNode) => {\n parentNode.addChild(node, prevNode, nextNode);\n this.updateTabIndexNodes();\n this.incrementUpdateCount();\n };\n\n /** Удаляет ноду из родительской ноды. */\n private removeNode: TTreeViewContextRemoveNode = (node) => {\n node.getParent()?.removeChild(node);\n this.updateTabIndexNodes();\n // Удалена могла быть активная нода - тогда слушатель стрелок больше не нужен.\n this.syncKeyDownListener();\n // Соседние ноды должны перерисоваться: после удаления у них могли измениться hasChildNodes и isLastNode.\n this.incrementUpdateCount();\n };\n\n /** Установка флага активности ноды. */\n private setActiveNode: TTreeViewContextSetActiveNode = (node, active) => {\n TreeViewAbstractNodeUtils.setActiveNode(node, this.abstractRootNode, active);\n this.syncKeyDownListener();\n this.incrementUpdateCount();\n };\n\n /**\n * Подписывает и отписывает глобальный слушатель keydown по наличию активной ноды.\n * Пока активной ноды нет, дерево не обрабатывает стрелки и не отменяет скролл страницы.\n */\n private syncKeyDownListener = () => {\n const hasActiveNode = Boolean(TreeViewAbstractNodeUtils.getActiveNode(this.abstractRootNode));\n\n if (hasActiveNode && !this.keyDownListenerAttached) {\n window.addEventListener(\"keydown\", this.handleKeyDown);\n this.keyDownListenerAttached = true;\n } else if (!hasActiveNode && this.keyDownListenerAttached) {\n this.detachKeyDownListener();\n }\n };\n\n /** Отписывает глобальный слушатель keydown. */\n private detachKeyDownListener = () => {\n window.removeEventListener(\"keydown\", this.handleKeyDown);\n this.keyDownListenerAttached = false;\n };\n\n /** Установка флага opened ноды. */\n private setOpenedNode: TTreeViewContextSetOpenedNode = (node, opened) => {\n node.setOpened(opened);\n this.incrementUpdateCount();\n };\n\n /** Возвращает AbstractNode по id. */\n private getNode: TTreeViewContextGetNode = (nodeId) =>\n TreeViewAbstractNodeUtils.getNode(nodeId, this.abstractRootNode);\n\n /** Обработка нажатия на клавиш для навигации с клавиатуры. */\n private handleKeyDown = (event: KeyboardEvent) => {\n // Перемещение с клавиатуры активно, когда есть активная нода.\n if (!TreeViewAbstractNodeUtils.getActiveNode(this.abstractRootNode)) {\n return;\n }\n\n if (EVENT_KEY_CODES.ARROW_DOWN === event.keyCode) {\n // Устанавливает активность следующей ноды.\n TreeViewAbstractNodeUtils.setActiveNextNode(this.abstractRootNode);\n } else if (EVENT_KEY_CODES.ARROW_UP === event.keyCode) {\n // Устанавливает активность предыдущей ноды.\n TreeViewAbstractNodeUtils.setActivePrevNode(this.abstractRootNode);\n } else {\n return;\n }\n\n // Предотвращает скролл страницы.\n event.preventDefault();\n this.incrementUpdateCount();\n };\n}\n"],"names":["React"],"mappings":"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"}