@sberbusiness/triplex-next 1.38.0 → 1.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/chunks/{AlertProcessSpoiler-BgW2Rm1M.js → AlertProcessSpoiler-BNrk1vyk.js} +17 -17
  2. package/chunks/{AlertProcessSpoiler-BgW2Rm1M.js.map → AlertProcessSpoiler-BNrk1vyk.js.map} +1 -1
  3. package/chunks/{CalendarViewItem-BN36lbJt.js → CalendarViewItem-knPscTce.js} +21 -21
  4. package/chunks/{CalendarViewItem-BN36lbJt.js.map → CalendarViewItem-knPscTce.js.map} +1 -1
  5. package/chunks/Card.module-Dd2_zoXF.js +30 -0
  6. package/chunks/Card.module-Dd2_zoXF.js.map +1 -0
  7. package/chunks/Carousel.module-LNo8o3qn.js +30 -0
  8. package/chunks/Carousel.module-LNo8o3qn.js.map +1 -0
  9. package/chunks/CheckboxTreeExtended.module-CKUO50mv.js +24 -0
  10. package/chunks/CheckboxTreeExtended.module-CKUO50mv.js.map +1 -0
  11. package/chunks/{Chip-DPZKIU4i.js → Chip-CI8ALCUS.js} +17 -17
  12. package/chunks/{Chip-DPZKIU4i.js.map → Chip-CI8ALCUS.js.map} +1 -1
  13. package/chunks/Confirm.module-BtnLGqBz.js +24 -0
  14. package/chunks/Confirm.module-BtnLGqBz.js.map +1 -0
  15. package/chunks/{DropdownListItem-R6GgcMur.js → DropdownListItem-BqOoPFSx.js} +21 -23
  16. package/chunks/DropdownListItem-BqOoPFSx.js.map +1 -0
  17. package/chunks/DropdownMobile.module-xbkYiPM1.js +40 -0
  18. package/chunks/DropdownMobile.module-xbkYiPM1.js.map +1 -0
  19. package/chunks/Footer.module-CYELL0O7.js +12 -0
  20. package/chunks/Footer.module-CYELL0O7.js.map +1 -0
  21. package/chunks/{HeaderLayoutSidebar.module-ClAll71g.js → HeaderLayoutSidebar.module-MnhSBdiv.js} +4 -4
  22. package/chunks/HeaderLayoutSidebar.module-MnhSBdiv.js.map +1 -0
  23. package/chunks/HeaderTabs.module-D9u9xuSn.js +12 -0
  24. package/chunks/HeaderTabs.module-D9u9xuSn.js.map +1 -0
  25. package/chunks/{HeaderTitle.module-uQ2R0h5h.js → HeaderTitle.module-BGOYMt6r.js} +4 -4
  26. package/chunks/HeaderTitle.module-BGOYMt6r.js.map +1 -0
  27. package/chunks/ImageGalleryExtendedMain.module-CQNClbso.js +28 -0
  28. package/chunks/ImageGalleryExtendedMain.module-CQNClbso.js.map +1 -0
  29. package/chunks/{ImageGalleryExtendedThumb-DEwS4p6H.js → ImageGalleryExtendedThumb-D6RAJpt8.js} +6 -6
  30. package/chunks/{ImageGalleryExtendedThumb-DEwS4p6H.js.map → ImageGalleryExtendedThumb-D6RAJpt8.js.map} +1 -1
  31. package/chunks/IslandAccordion.module-nyPnHohH.js +44 -0
  32. package/chunks/IslandAccordion.module-nyPnHohH.js.map +1 -0
  33. package/chunks/IslandWidgetFooter.module-CNyLawMh.js +12 -0
  34. package/chunks/IslandWidgetFooter.module-CNyLawMh.js.map +1 -0
  35. package/chunks/IslandWidgetHeader.module-ChE5SXll.js +20 -0
  36. package/chunks/IslandWidgetHeader.module-ChE5SXll.js.map +1 -0
  37. package/chunks/{LightBoxContent-DhmrVe_B.js → LightBoxContent-d_LBU_ZW.js} +15 -15
  38. package/chunks/LightBoxContent-d_LBU_ZW.js.map +1 -0
  39. package/chunks/LightBoxControls.module-Buvm7RbG.js +26 -0
  40. package/chunks/LightBoxControls.module-Buvm7RbG.js.map +1 -0
  41. package/chunks/{LightBoxSideOverlayClose.module-DH3toLJp.js → LightBoxSideOverlayClose.module-eTdxNvSz.js} +4 -4
  42. package/chunks/LightBoxSideOverlayClose.module-eTdxNvSz.js.map +1 -0
  43. package/chunks/{ListItemControlsButton-xLk41F4G.js → ListItemControlsButton-D2ONoqII.js} +10 -10
  44. package/chunks/{ListItemControlsButton-xLk41F4G.js.map → ListItemControlsButton-D2ONoqII.js.map} +1 -1
  45. package/chunks/ListItemTail.module-BhSOptJB.js +18 -0
  46. package/chunks/ListItemTail.module-BhSOptJB.js.map +1 -0
  47. package/chunks/ListMasterFooter.module-DrlO_YrT.js +14 -0
  48. package/chunks/ListMasterFooter.module-DrlO_YrT.js.map +1 -0
  49. package/chunks/ModalWindow.module-DrJpRuNK.js +28 -0
  50. package/chunks/ModalWindow.module-DrJpRuNK.js.map +1 -0
  51. package/chunks/Notification.module-tEh-vvv0.js +34 -0
  52. package/chunks/Notification.module-tEh-vvv0.js.map +1 -0
  53. package/chunks/Overlay.module-CPNLKKsF.js +30 -0
  54. package/chunks/Overlay.module-CPNLKKsF.js.map +1 -0
  55. package/chunks/Page.module-Dru0rPA5.js +15 -0
  56. package/chunks/Page.module-Dru0rPA5.js.map +1 -0
  57. package/chunks/SMSField.module-CjGkO6u6.js +26 -0
  58. package/chunks/SMSField.module-CjGkO6u6.js.map +1 -0
  59. package/chunks/SliderExtendedMarks.module-CAeqmSQq.js +24 -0
  60. package/chunks/SliderExtendedMarks.module-CAeqmSQq.js.map +1 -0
  61. package/chunks/{SliderExtendedRail-rikPcrUi.js → SliderExtendedRail-CVEwe6OK.js} +6 -6
  62. package/chunks/{SliderExtendedRail-rikPcrUi.js.map → SliderExtendedRail-CVEwe6OK.js.map} +1 -1
  63. package/chunks/StatusTracker.module-BD5zJfbg.js +42 -0
  64. package/chunks/StatusTracker.module-BD5zJfbg.js.map +1 -0
  65. package/chunks/{StepperStepArrowBorder-D96B8pND.js → StepperStepArrowBorder-BO_ItxMh.js} +16 -16
  66. package/chunks/{StepperStepArrowBorder-D96B8pND.js.map → StepperStepArrowBorder-BO_ItxMh.js.map} +1 -1
  67. package/chunks/{SuggestFieldMobileDropdownHint-mgLnJbKK.js → SuggestFieldMobileDropdownHint-DyfJuyUe.js} +3 -3
  68. package/chunks/{SuggestFieldMobileDropdownHint-mgLnJbKK.js.map → SuggestFieldMobileDropdownHint-DyfJuyUe.js.map} +1 -1
  69. package/chunks/TableFooter.module-DhudGmzN.js +22 -0
  70. package/chunks/TableFooter.module-DhudGmzN.js.map +1 -0
  71. package/chunks/TabsExtended.module-DNjJIne-.js +26 -0
  72. package/chunks/TabsExtended.module-DNjJIne-.js.map +1 -0
  73. package/chunks/TabsLine.module-CbVAypRw.js +36 -0
  74. package/chunks/TabsLine.module-CbVAypRw.js.map +1 -0
  75. package/chunks/TooltipDesktop.module-DBiY8cJJ.js +32 -0
  76. package/chunks/TooltipDesktop.module-DBiY8cJJ.js.map +1 -0
  77. package/chunks/TreeView.module-GA-NyzjK.js +12 -0
  78. package/chunks/TreeView.module-GA-NyzjK.js.map +1 -0
  79. package/chunks/{UploadZoneInput-CL5n-88i.js → UploadZoneInput-BHUONqVR.js} +6 -6
  80. package/chunks/{UploadZoneInput-CL5n-88i.js.map → UploadZoneInput-BHUONqVR.js.map} +1 -1
  81. package/chunks/{constants-6r0L2MTn.js → constants-C-WrqYH6.js} +27 -27
  82. package/chunks/{constants-6r0L2MTn.js.map → constants-C-WrqYH6.js.map} +1 -1
  83. package/chunks/{utils-jrjtwu4s.js → utils-BHxrQbA6.js} +8 -8
  84. package/chunks/{utils-jrjtwu4s.js.map → utils-BHxrQbA6.js.map} +1 -1
  85. package/chunks/{utils-Bs1RRAwM.js → utils-BaakoACO.js} +6 -6
  86. package/chunks/{utils-Bs1RRAwM.js.map → utils-BaakoACO.js.map} +1 -1
  87. package/chunks/{utils-DPci6J0N.js → utils-D4UOxU49.js} +27 -27
  88. package/chunks/{utils-DPci6J0N.js.map → utils-D4UOxU49.js.map} +1 -1
  89. package/chunks/{utils-CbmIP4b4.js → utils-g0xZYVuS.js} +11 -11
  90. package/chunks/{utils-CbmIP4b4.js.map → utils-g0xZYVuS.js.map} +1 -1
  91. package/chunks/{vendor-Bco_z_Yi.js → vendor-CtuAQuEN.js} +13 -13
  92. package/chunks/{vendor-Bco_z_Yi.js.map → vendor-CtuAQuEN.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 +17 -29
  96. package/components/Alert/AlertContext/AlertContext.js.map +1 -1
  97. package/components/Alert/AlertProcess/AlertProcess.js +3 -3
  98. package/components/Alert/AlertProcess/components/AlertProcessSpoiler.js +2 -2
  99. package/components/Amount/Amount.js +3 -3
  100. package/components/Avatar/Avatar.js +14 -14
  101. package/components/Badge/Badge.js +5 -5
  102. package/components/Badge/BadgeDot.js +5 -5
  103. package/components/Badge/components/BadgeContent.js +7 -7
  104. package/components/Badge/components/BadgePostfix.js +2 -2
  105. package/components/Badge/components/BadgePrefix.js +2 -2
  106. package/components/Body/Body.js +4 -4
  107. package/components/Button/Button.js +30 -29
  108. package/components/Button/Button.js.map +1 -1
  109. package/components/Button/ButtonBase.js +1 -1
  110. package/components/Button/ButtonDropdown.js +66 -84
  111. package/components/Button/ButtonDropdown.js.map +1 -1
  112. package/components/Button/ButtonDropdownExtended.js +18 -22
  113. package/components/Button/ButtonDropdownExtended.js.map +1 -1
  114. package/components/Button/ButtonIcon.js +4 -4
  115. package/components/Button/ButtonIcon.js.map +1 -1
  116. package/components/Button/index.js +0 -2
  117. package/components/Button/index.js.map +1 -1
  118. package/components/Calendar/Calendar.js +5 -5
  119. package/components/Calendar/components/CalendarControls.js +1 -1
  120. package/components/Calendar/components/CalendarFooter.js +1 -1
  121. package/components/Calendar/components/CalendarViewDays.js +2 -2
  122. package/components/Calendar/components/CalendarViewItem.js +2 -2
  123. package/components/Calendar/components/CalendarViewMonths.js +1 -1
  124. package/components/Calendar/components/CalendarViewYears.js +1 -1
  125. package/components/Card/CardAction.js +6 -6
  126. package/components/Card/CardStatic.js +3 -3
  127. package/components/Card/components/CardContent/CardContent.js +2 -2
  128. package/components/Card/components/CardContent/components/CardContentBody.js +2 -2
  129. package/components/Card/components/CardContent/components/CardContentFooter.js +2 -2
  130. package/components/Card/components/CardContent/components/CardContentHeader.js +2 -2
  131. package/components/Card/components/CardMedia.js +2 -2
  132. package/components/Card/utils.js +1 -1
  133. package/components/Carousel/Carousel.js +362 -0
  134. package/components/Carousel/Carousel.js.map +1 -0
  135. package/components/Carousel/CarouselButton.js +78 -0
  136. package/components/Carousel/CarouselButton.js.map +1 -0
  137. package/components/Carousel/CarouselContext.js +30 -0
  138. package/components/Carousel/CarouselContext.js.map +1 -0
  139. package/components/Carousel/CarouselIndicators.js +157 -0
  140. package/components/Carousel/CarouselIndicators.js.map +1 -0
  141. package/components/Carousel/CarouselItem.js +34 -0
  142. package/components/Carousel/CarouselItem.js.map +1 -0
  143. package/components/Carousel/CarouselTrack.js +36 -0
  144. package/components/Carousel/CarouselTrack.js.map +1 -0
  145. package/components/Carousel/CarouselViewport.js +159 -0
  146. package/components/Carousel/CarouselViewport.js.map +1 -0
  147. package/components/Carousel/constants.js +9 -0
  148. package/components/Carousel/constants.js.map +1 -0
  149. package/components/Carousel/enums.js +15 -0
  150. package/components/Carousel/enums.js.map +1 -0
  151. package/components/Carousel/index.js +8 -0
  152. package/components/Carousel/index.js.map +1 -0
  153. package/components/Carousel/types.js +2 -0
  154. package/components/Carousel/types.js.map +1 -0
  155. package/components/Carousel/utils.js +71 -0
  156. package/components/Carousel/utils.js.map +1 -0
  157. package/components/CarouselExtended/CarouselExtended.js +2 -2
  158. package/components/Checkbox/Checkbox.js +11 -11
  159. package/components/Checkbox/CheckboxXGroup.js +9 -9
  160. package/components/Checkbox/CheckboxYGroup.js +2 -2
  161. package/components/CheckboxTreeExtended/CheckboxTreeExtended.js +2 -2
  162. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedArrow.js +1 -1
  163. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedCheckbox.js +2 -2
  164. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedNode.js +2 -2
  165. package/components/Chip/Chip.js +2 -2
  166. package/components/Chip/ChipClearButton.js +2 -2
  167. package/components/Chip/ChipDatePicker/ChipDatePicker.js +1 -1
  168. package/components/Chip/ChipDatePicker/ChipDatePickerTarget.js +1 -1
  169. package/components/Chip/ChipDropdownArrow.js +3 -3
  170. package/components/Chip/ChipIcon.js +1 -1
  171. package/components/Chip/ChipMultiselect.js +2 -2
  172. package/components/Chip/ChipOptions.js +2 -2
  173. package/components/Chip/ChipSelect/ChipSelect.js +2 -2
  174. package/components/Chip/ChipSelect/ChipSelectTarget.js +1 -1
  175. package/components/Chip/ChipSort.js +2 -2
  176. package/components/Chip/ChipSuggest/ChipSuggest.js +2 -2
  177. package/components/Chip/ChipSuggest/ChipSuggestDropdown.js +2 -2
  178. package/components/Chip/ChipSuggest/ChipSuggestTarget.js +1 -1
  179. package/components/Chip/ChipSuggest/desktop/ChipSuggestDesktopDropdownField.js +1 -1
  180. package/components/Chip/index.js +1 -1
  181. package/components/ChipGroup/ChipGroup.js +8 -8
  182. package/components/Col/Col.js +181 -178
  183. package/components/Col/Col.js.map +1 -1
  184. package/components/CollapsibleTree/CollapsibleTree.js +2 -2
  185. package/components/CollapsibleTree/components/CollapsibleTreeLeafContent.js +2 -2
  186. package/components/CollapsibleTree/components/CollapsibleTreeLeafNode.js +2 -2
  187. package/components/CollapsibleTree/components/CollapsibleTreeNodeHeader.js +5 -5
  188. package/components/CollapsibleTreeExtended/components/CollapsibleTreeExtendedNode.js +2 -2
  189. package/components/Confirm/Confirm.js +2 -2
  190. package/components/Confirm/components/ConfirmCloseButton.js +2 -2
  191. package/components/Confirm/components/ConfirmContent.js +2 -2
  192. package/components/Confirm/components/ConfirmContentTitle.js +2 -2
  193. package/components/Confirm/components/ConfirmControls.js +2 -2
  194. package/components/DatePickerExtended/DatePickerExtended.js +2 -2
  195. package/components/DatePickerExtended/DatePickerExtendedDropdown.js +2 -2
  196. package/components/DateRange/DateRange.js +4 -4
  197. package/components/DesignTokens/DesignTokenUtils.js +2 -2
  198. package/components/DesignTokens/DesignTokensComponents.js +2 -0
  199. package/components/DesignTokens/DesignTokensComponents.js.map +1 -1
  200. package/components/DesignTokens/DesignTokensComponentsThemeDark.js +2 -0
  201. package/components/DesignTokens/DesignTokensComponentsThemeDark.js.map +1 -1
  202. package/components/DesignTokens/components/Carousel.js +51 -0
  203. package/components/DesignTokens/components/Carousel.js.map +1 -0
  204. package/components/DesignTokens/components/index.js +3 -0
  205. package/components/DesignTokens/components/index.js.map +1 -1
  206. package/components/DesignTokens/types/DesignTokensTypes.js.map +1 -1
  207. package/components/Divider/Divider.js +18 -18
  208. package/components/DocumentNumberEdit/DocumentNumberEdit.js +4 -4
  209. package/components/Dropdown/Dropdown.js +14 -7
  210. package/components/Dropdown/Dropdown.js.map +1 -1
  211. package/components/Dropdown/desktop/DropdownDesktop.js +21 -25
  212. package/components/Dropdown/desktop/DropdownDesktop.js.map +1 -1
  213. package/components/Dropdown/desktop/DropdownList.js +38 -73
  214. package/components/Dropdown/desktop/DropdownList.js.map +1 -1
  215. package/components/Dropdown/desktop/DropdownListItem.js +2 -2
  216. package/components/Dropdown/desktop/index.js +1 -1
  217. package/components/Dropdown/desktop/utils.js +34 -0
  218. package/components/Dropdown/desktop/utils.js.map +1 -0
  219. package/components/Dropdown/index.js +1 -1
  220. package/components/Dropdown/mobile/DropdownMobile.js +2 -2
  221. package/components/Dropdown/mobile/DropdownMobileBody.js +2 -2
  222. package/components/Dropdown/mobile/DropdownMobileClose.js +2 -2
  223. package/components/Dropdown/mobile/DropdownMobileFooter.js +2 -2
  224. package/components/Dropdown/mobile/DropdownMobileHeader.js +2 -2
  225. package/components/Dropdown/mobile/DropdownMobileInner.js +6 -4
  226. package/components/Dropdown/mobile/DropdownMobileInner.js.map +1 -1
  227. package/components/Dropdown/mobile/DropdownMobileInput.js +2 -2
  228. package/components/Dropdown/mobile/DropdownMobileList.js +3 -3
  229. package/components/Dropdown/mobile/DropdownMobileList.js.map +1 -1
  230. package/components/Dropdown/mobile/DropdownMobileListItem.js +2 -2
  231. package/components/Dropdown/mobile/DropdownMobileListItem.js.map +1 -1
  232. package/components/Dropdown/mobile/DropdownMobileLoader.js +2 -2
  233. package/components/Dropdown/mobile/DropdownMobileMaskedInput.js +2 -2
  234. package/components/Ellipsis/Ellipsis.js +4 -4
  235. package/components/EmptyView/EmptyView.js +5 -5
  236. package/components/ExpandAnimation/ExpandAnimation.js +2 -2
  237. package/components/FocusTrapExtended/FocusTrapExtended.js +1 -1
  238. package/components/Footer/Footer.js +1 -1
  239. package/components/Footer/components/FooterDescription.js +2 -2
  240. package/components/Footer/components/FooterDescriptionContent.js +2 -2
  241. package/components/Footer/components/FooterDescriptionControls.js +2 -2
  242. package/components/FormField/FormField.js +12 -12
  243. package/components/FormField/components/FormFieldClear.js +2 -2
  244. package/components/FormField/components/FormFieldCounter.js +1 -1
  245. package/components/FormField/components/FormFieldDescription.js +3 -3
  246. package/components/FormField/components/FormFieldInput.js +5 -5
  247. package/components/FormField/components/FormFieldLabel.js +8 -8
  248. package/components/FormField/components/FormFieldMaskedInput.js +7 -7
  249. package/components/FormField/components/FormFieldPostfix.js +2 -2
  250. package/components/FormField/components/FormFieldPrefix.js +2 -2
  251. package/components/FormField/components/FormFieldTarget.js +9 -9
  252. package/components/FormField/components/FormFieldTextarea.js +5 -5
  253. package/components/Gap/Gap.js +9 -9
  254. package/components/Header/Header.js +1 -1
  255. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebar.js +2 -2
  256. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarContent.js +2 -2
  257. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarSidebar.js +2 -2
  258. package/components/Header/components/HeaderSubheader/HeaderSubheader.js +3 -3
  259. package/components/Header/components/HeaderTabs/HeaderTabs.js +2 -2
  260. package/components/Header/components/HeaderTabs/HeaderTabsContent.js +2 -2
  261. package/components/Header/components/HeaderTabs/HeaderTabsControls.js +2 -2
  262. package/components/Header/components/HeaderTitle/HeaderTitle.js +2 -2
  263. package/components/Header/components/HeaderTitle/HeaderTitleContent.js +2 -2
  264. package/components/Header/components/HeaderTitle/HeaderTitleControls.js +2 -2
  265. package/components/HelpBox/HelpBox.js +2 -2
  266. package/components/IconWrapper/IconWrapper.js +3 -3
  267. package/components/ImageGallery/ImageGallery.js +1 -1
  268. package/components/ImageGalleryExtended/ImageGalleryExtended.js +3 -3
  269. package/components/ImageGalleryExtended/components/ImageGalleryExtendedArrow.js +2 -2
  270. package/components/ImageGalleryExtended/components/ImageGalleryExtendedDots.js +4 -4
  271. package/components/ImageGalleryExtended/components/ImageGalleryExtendedMain.js +2 -2
  272. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSlide.js +2 -2
  273. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSwipeTrack.js +2 -2
  274. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumb.js +2 -2
  275. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumbnails.js +2 -2
  276. package/components/ImageGalleryExtended/components/index.js +1 -1
  277. package/components/ImageGalleryExtended/index.js +1 -1
  278. package/components/Island/Island.js +2 -2
  279. package/components/Island/components/IslandBody.js +2 -2
  280. package/components/Island/components/IslandFooter.js +2 -2
  281. package/components/Island/components/IslandHeader.js +2 -2
  282. package/components/Island/utils.js +1 -1
  283. package/components/IslandAccordion/IslandAccordion.js +3 -3
  284. package/components/IslandAccordion/components/IslandAccordionContent.js +1 -1
  285. package/components/IslandAccordion/components/IslandAccordionFooter.js +2 -2
  286. package/components/IslandAccordion/components/IslandAccordionItem.js +3 -4
  287. package/components/IslandAccordion/components/IslandAccordionItem.js.map +1 -1
  288. package/components/IslandWidget/IslandWidget.js +5 -5
  289. package/components/IslandWidget/components/IslandWidgetBody.js +2 -2
  290. package/components/IslandWidget/components/IslandWidgetExtraFooter.js +2 -2
  291. package/components/IslandWidget/components/IslandWidgetFooter.js +2 -2
  292. package/components/IslandWidget/components/IslandWidgetFooterContent.js +1 -1
  293. package/components/IslandWidget/components/IslandWidgetFooterControls.js +1 -1
  294. package/components/IslandWidget/components/IslandWidgetHeader.js +2 -2
  295. package/components/IslandWidget/components/IslandWidgetHeaderContent.js +2 -2
  296. package/components/IslandWidget/components/IslandWidgetHeaderControls.js +2 -2
  297. package/components/IslandWidget/components/IslandWidgetHeaderDescription.js +2 -2
  298. package/components/IslandWidget/components/IslandWidgetHeaderTitle.js +2 -2
  299. package/components/IslandWidget/components/IslandWidgetWrapper.js +2 -2
  300. package/components/LightBox/LightBox.js +34 -30
  301. package/components/LightBox/LightBox.js.map +1 -1
  302. package/components/LightBox/LightBoxContent.js +2 -2
  303. package/components/LightBox/LightBoxControls/LightBoxArrow.js +63 -0
  304. package/components/LightBox/LightBoxControls/LightBoxArrow.js.map +1 -0
  305. package/components/LightBox/LightBoxControls/LightBoxClose.js +8 -6
  306. package/components/LightBox/LightBoxControls/LightBoxClose.js.map +1 -1
  307. package/components/LightBox/LightBoxControls/LightBoxControls.js +2 -2
  308. package/components/LightBox/LightBoxControls/LightBoxControls.js.map +1 -1
  309. package/components/LightBox/LightBoxControls/LightBoxNext.js +18 -53
  310. package/components/LightBox/LightBoxControls/LightBoxNext.js.map +1 -1
  311. package/components/LightBox/LightBoxControls/LightBoxPrev.js +18 -53
  312. package/components/LightBox/LightBoxControls/LightBoxPrev.js.map +1 -1
  313. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js +15 -15
  314. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js.map +1 -1
  315. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseDesktop.js +2 -2
  316. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseMobile.js +2 -2
  317. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js +5 -8
  318. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js.map +1 -1
  319. package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js +7 -34
  320. package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js.map +1 -1
  321. package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js +7 -34
  322. package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js.map +1 -1
  323. package/components/LightBox/LightBoxSidebars/useLightBoxSidebarVisibility.js +37 -0
  324. package/components/LightBox/LightBoxSidebars/useLightBoxSidebarVisibility.js.map +1 -0
  325. package/components/LightBox/LightBoxViewManager/LightBoxViewManager.js +32 -30
  326. package/components/LightBox/LightBoxViewManager/LightBoxViewManager.js.map +1 -1
  327. package/components/LightBox/LightBoxViewManager/LightBoxViewManagerConsts.js +0 -11
  328. package/components/LightBox/LightBoxViewManager/LightBoxViewManagerConsts.js.map +1 -1
  329. package/components/LightBox/enums.js.map +1 -1
  330. package/components/Link/Link.js +6 -6
  331. package/components/List/List.js +4 -4
  332. package/components/List/ListSortable.js +1 -1
  333. package/components/List/components/ListActionItem.js +2 -2
  334. package/components/List/components/ListEmptyState.js +2 -2
  335. package/components/List/components/ListItem.js +1 -1
  336. package/components/List/components/ListItemContent.js +5 -5
  337. package/components/List/components/ListItemControls.js +2 -2
  338. package/components/List/components/ListItemControlsButton.js +2 -2
  339. package/components/List/components/ListItemControlsButtonDropdown.js +2 -2
  340. package/components/List/components/ListItemLoading.js +2 -2
  341. package/components/List/components/ListItemSelectable.js +7 -7
  342. package/components/List/components/ListItemTailLeft.js +2 -2
  343. package/components/List/components/ListItemTailRight.js +2 -2
  344. package/components/List/components/ListSortableItem.js +3 -3
  345. package/components/List/components/ListSortableItemControls.js +2 -2
  346. package/components/List/components/ListSortableItemTarget.js +5 -5
  347. package/components/List/components/ListTableItem.js +4 -4
  348. package/components/List/index.js +1 -1
  349. package/components/ListMaster/ListMaster.js +1 -1
  350. package/components/ListMaster/components/ListMasterBody.js +1 -1
  351. package/components/ListMaster/components/ListMasterChipGroup.js +2 -2
  352. package/components/ListMaster/components/ListMasterFooter.js +2 -2
  353. package/components/ListMaster/components/ListMasterFooterControls.js +2 -2
  354. package/components/ListMaster/components/ListMasterFooterDescription.js +2 -2
  355. package/components/ListMaster/components/ListMasterHeader.js +3 -3
  356. package/components/ListMaster/components/SelectionControls.js +3 -3
  357. package/components/Loader/LoaderMiddle/LoaderMiddle.js +9 -9
  358. package/components/Loader/LoaderSmall/LoaderSmall.js +11 -11
  359. package/components/LoaderScreen/LoaderScreen.js +6 -6
  360. package/components/Marker/Marker.js +2 -2
  361. package/components/Marker/utils.js +1 -1
  362. package/components/MarkerStatus/MarkerStatus.js +8 -8
  363. package/components/ModalWindow/ModalWindow.js +2 -2
  364. package/components/ModalWindow/components/ModalWindowBody.js +2 -2
  365. package/components/ModalWindow/components/ModalWindowClose.js +1 -1
  366. package/components/ModalWindow/components/ModalWindowContent.js +2 -2
  367. package/components/ModalWindow/components/ModalWindowHeader.js +2 -2
  368. package/components/ModalWindow/components/ModalWindowViewManager.js +2 -2
  369. package/components/MonthYearRange/MonthYearRange.js +4 -4
  370. package/components/MultiselectField/components/MultiselectFieldDropdown.js +2 -2
  371. package/components/MultiselectField/components/MultiselectFieldDropdownContent.js +6 -6
  372. package/components/MultiselectField/components/MultiselectFieldDropdownFooter.js +2 -2
  373. package/components/MultiselectField/components/MultiselectFieldDropdownHeader.js +2 -2
  374. package/components/Notification/Notification.js +3 -3
  375. package/components/Notification/NotificationGrouped.js +1 -1
  376. package/components/Notification/components/NotificationBody.js +1 -1
  377. package/components/Notification/components/NotificationBodyList.js +2 -2
  378. package/components/Notification/components/NotificationClose.js +1 -2
  379. package/components/Notification/components/NotificationClose.js.map +1 -1
  380. package/components/Notification/components/NotificationFooter.js +1 -1
  381. package/components/Notification/components/NotificationGroupedFooter.js +2 -2
  382. package/components/Notification/components/NotificationHeader.js +1 -1
  383. package/components/Notification/components/NotificationIcon.js +1 -1
  384. package/components/Notification/components/NotificationTime.js +1 -1
  385. package/components/OrderedList/OrderedList.js +3 -3
  386. package/components/OrderedList/OrderedListItem.js +3 -3
  387. package/components/Overlay/Overlay.js +2 -2
  388. package/components/Overlay/OverlayMask.js +2 -2
  389. package/components/Overlay/OverlayPanel.js +2 -2
  390. package/components/Page/Page.js +2 -2
  391. package/components/Page/components/BodyPage.js +4 -4
  392. package/components/Page/components/FooterPage.js +2 -2
  393. package/components/Page/components/HeaderPage.js +2 -2
  394. package/components/Pagination/components/PaginationExtended.js +3 -3
  395. package/components/Pagination/components/PaginationNavigationButton.js +2 -2
  396. package/components/Pagination/components/PaginationNavigationExtended.js +2 -2
  397. package/components/Pagination/components/PaginationPageButton.js +3 -7
  398. package/components/Pagination/components/PaginationPageButton.js.map +1 -1
  399. package/components/Pagination/components/PaginationPageEllipsis.js +2 -2
  400. package/components/Pagination/components/PaginationSelect.js +3 -3
  401. package/components/Pagination/utils/paginationUtils.js +1 -1
  402. package/components/Portal/Portal.js.map +1 -1
  403. package/components/Radio/Radio.js +10 -10
  404. package/components/Radio/RadioXGroup.js +9 -9
  405. package/components/Radio/RadioYGroup.js +2 -2
  406. package/components/Row/Row.js +25 -17
  407. package/components/Row/Row.js.map +1 -1
  408. package/components/Row/RowContext.js.map +1 -1
  409. package/components/SMSField/SMSField.js +3 -3
  410. package/components/SMSField/components/RefreshIcon.js +2 -2
  411. package/components/SMSField/components/SMSFieldInput.js +2 -2
  412. package/components/SMSField/components/SMSFieldRefresh.js +2 -3
  413. package/components/SMSField/components/SMSFieldRefresh.js.map +1 -1
  414. package/components/SMSField/components/SMSFieldSubmit.js +2 -3
  415. package/components/SMSField/components/SMSFieldSubmit.js.map +1 -1
  416. package/components/SMSField/components/SMSFieldTooltip.js +1 -1
  417. package/components/SegmentedControl/SegmentedControl.js +10 -10
  418. package/components/SegmentedControl/SegmentedControlSegment.js +4 -4
  419. package/components/SelectExtendedField/SelectExtendedField.js +2 -2
  420. package/components/SelectExtendedField/components/SelectExtendedFieldDropdown.js +1 -1
  421. package/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js +1 -1
  422. package/components/SelectExtendedField/components/SelectExtendedFieldTarget.js +8 -8
  423. package/components/SelectField/SelectField.js +2 -2
  424. package/components/Skeleton/Skeleton.js +5 -5
  425. package/components/SliderExtended/SliderExtended.js +3 -3
  426. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js +6 -6
  427. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMark.js +2 -2
  428. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarks.js +2 -2
  429. package/components/SliderExtended/components/SliderExtendedRail.js +2 -2
  430. package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js +5 -5
  431. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js +7 -7
  432. package/components/SmallInput/SmallInput.js +2 -2
  433. package/components/Spoiler/Spoiler.js +11 -12
  434. package/components/Spoiler/Spoiler.js.map +1 -1
  435. package/components/StatusTracker/StatusTracker.js +3 -3
  436. package/components/StatusTracker/components/StatusTrackerAlert.js +2 -2
  437. package/components/StatusTracker/components/StatusTrackerBody.js +2 -2
  438. package/components/StatusTracker/components/StatusTrackerButton.js +2 -3
  439. package/components/StatusTracker/components/StatusTrackerButton.js.map +1 -1
  440. package/components/StatusTracker/components/StatusTrackerDescription.js +2 -2
  441. package/components/StatusTracker/components/StatusTrackerFooter.js +2 -2
  442. package/components/StatusTracker/components/StatusTrackerHeader.js +2 -2
  443. package/components/StatusTracker/components/StatusTrackerMedia.js +2 -2
  444. package/components/StatusTracker/components/StatusTrackerStatus.js +2 -2
  445. package/components/StatusTracker/components/StatusTrackerStatusGroup.js +2 -2
  446. package/components/StatusTracker/components/StatusTrackerSum.js +2 -2
  447. package/components/StatusTracker/components/StatusTrackerTitle.js +2 -2
  448. package/components/Step/Step.js +11 -11
  449. package/components/Stepper/Stepper.js +9 -9
  450. package/components/Stepper/StepperExtended.js +2 -2
  451. package/components/Stepper/StepperStep.js +3 -3
  452. package/components/Stepper/StepperStepArrowBorder.js +1 -1
  453. package/components/Suggest/SuggestMobileDropdownContent.js +3 -3
  454. package/components/Suggest/useSuggest.js +1 -1
  455. package/components/SuggestField/SuggestField.js +1 -1
  456. package/components/SuggestField/desktop/SuggestFieldDesktop.js +2 -2
  457. package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js +1 -1
  458. package/components/SuggestField/index.js +1 -1
  459. package/components/SuggestField/mobile/SuggestFieldMobile.js +1 -1
  460. package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js +2 -2
  461. package/components/SuggestField/mobile/SuggestFieldMobileDropdownHint.js +1 -1
  462. package/components/SuggestField/mobile/index.js +1 -1
  463. package/components/SwipeableArea/SwipeableArea.js +9 -9
  464. package/components/Table/ChipPanel.js +2 -2
  465. package/components/Table/ChipPanelLinks.js +2 -2
  466. package/components/Table/FilterPanel.js +3 -3
  467. package/components/Table/MasterTable.js +3 -3
  468. package/components/Table/NoColumns.js +3 -3
  469. package/components/Table/PaginationPanel.js +3 -3
  470. package/components/Table/TableBasic/TableBasic.js +2 -2
  471. package/components/Table/TableBasic/components/TableBasicBody.js +2 -2
  472. package/components/Table/TableBasic/components/TableBasicHeader.js +2 -2
  473. package/components/Table/TableBasic/components/TableBasicRow.js +2 -2
  474. package/components/Table/TableBasicSettings/TableBasicSettings.js +3 -3
  475. package/components/Table/TableBasicSettings/components/ColumnSettingsSortableListItemTarget.js +3 -3
  476. package/components/Table/TableBasicSettings/components/ColumnSettingsStaticListItem.js +2 -2
  477. package/components/Table/TableBasicSettings/components/TableBasicSettingsBody.js +2 -2
  478. package/components/Table/TableBasicSettings/components/TableBasicSettingsFooter.js +2 -2
  479. package/components/Table/TableBasicSettings/components/TableBasicSettingsHeader.js +2 -2
  480. package/components/Table/TableFooter/TableFooter.js +2 -2
  481. package/components/Table/TableFooter/components/TableFooterSummary.js +1 -1
  482. package/components/Table/TableFooter/components/TableFooterSummaryAmount.js +1 -1
  483. package/components/Table/TableFooter/components/TableFooterSummarySelectAllButton.js +1 -1
  484. package/components/Table/TableFooter/components/TableFooterSummarySelectedCount.js +1 -1
  485. package/components/Table/utils.js +1 -1
  486. package/components/Tabs/Tabs.js +6 -7
  487. package/components/Tabs/Tabs.js.map +1 -1
  488. package/components/TabsExtended/TabsExtended.js +3 -3
  489. package/components/TabsExtended/components/TabsExtendedContent.js +2 -2
  490. package/components/TabsExtended/components/TabsExtendedDropdownWrapper.js +2 -2
  491. package/components/TabsExtended/components/TabsExtendedTab.js +2 -2
  492. package/components/TabsExtended/components/TabsExtendedTabButton.js +2 -2
  493. package/components/TabsExtended/components/TabsExtendedTabsWrapper.js +2 -2
  494. package/components/TabsExtended/utils.js +1 -1
  495. package/components/TabsLine/TabsLine.js +2 -2
  496. package/components/TabsLine/components/TabsLineDesktop.js +2 -2
  497. package/components/TabsLine/components/TabsLineDropdown.js +3 -3
  498. package/components/TabsLine/components/TabsLineItem.js +2 -2
  499. package/components/TabsLine/components/TabsLineMobile.js +2 -2
  500. package/components/Tag/Tag.js +6 -6
  501. package/components/TagColor/TagColor.js +11 -11
  502. package/components/TagGroup/TagGroup.js +5 -5
  503. package/components/TextField/TextField.js.map +1 -1
  504. package/components/TextField/TextFieldBase.js.map +1 -1
  505. package/components/ThemeProvider/ThemeProvider.js +1 -1
  506. package/components/ThemeProvider/components/ThemeProviderView.js +1 -1
  507. package/components/Tooltip/components/common/TooltipBody.js +2 -2
  508. package/components/Tooltip/components/common/TooltipLink.js +6 -6
  509. package/components/Tooltip/components/common/TooltipXButton.js +1 -1
  510. package/components/Tooltip/components/desktop/components/TooltipDesktopBase.js +2 -2
  511. package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js +2 -2
  512. package/components/Tooltip/components/mobile/TooltipMobile.js +5 -5
  513. package/components/TopOverlay/TopOverlay.js +7 -7
  514. package/components/TreeView/TreeView.js +2 -2
  515. package/components/TreeView/components/TreeViewGroup.js +1 -1
  516. package/components/TreeView/components/TreeViewNode.js +2 -2
  517. package/components/Typography/Caption.js +10 -13
  518. package/components/Typography/Caption.js.map +1 -1
  519. package/components/Typography/CodeText.js +5 -8
  520. package/components/Typography/CodeText.js.map +1 -1
  521. package/components/Typography/Text.js +12 -15
  522. package/components/Typography/Text.js.map +1 -1
  523. package/components/Typography/Title.js +12 -15
  524. package/components/Typography/Title.js.map +1 -1
  525. package/components/Typography/constants.js +1 -1
  526. package/components/Typography/enums.js.map +1 -1
  527. package/components/Typography/utils.js +16 -0
  528. package/components/Typography/utils.js.map +1 -0
  529. package/components/UnorderedList/UnorderedList.js +3 -3
  530. package/components/UnorderedList/UnorderedListItem.js +3 -3
  531. package/components/UploadZone/UploadZone.js +3 -3
  532. package/components/UploadZone/components/UploadZoneInput.js +2 -2
  533. package/components/UploadZone/index.js +1 -1
  534. package/components/WindowResizeListener/WindowResizeListener.js +1 -1
  535. package/components/index.js +11 -8
  536. package/components/index.js.map +1 -1
  537. package/index.d.ts +247 -53
  538. package/index.js +11 -8
  539. package/index.js.map +1 -1
  540. package/package.json +5 -1
  541. package/styles/triplex-next.css +3086 -2914
  542. package/utils/amountUtils.js +1 -1
  543. package/chunks/Card.module-ByDQccH3.js +0 -30
  544. package/chunks/Card.module-ByDQccH3.js.map +0 -1
  545. package/chunks/CheckboxTreeExtended.module-CNm5PG-E.js +0 -24
  546. package/chunks/CheckboxTreeExtended.module-CNm5PG-E.js.map +0 -1
  547. package/chunks/Confirm.module-2RjEubTA.js +0 -24
  548. package/chunks/Confirm.module-2RjEubTA.js.map +0 -1
  549. package/chunks/DropdownListItem-R6GgcMur.js.map +0 -1
  550. package/chunks/DropdownMobile.module-QbABKAsu.js +0 -40
  551. package/chunks/DropdownMobile.module-QbABKAsu.js.map +0 -1
  552. package/chunks/Footer.module-BluyUQCL.js +0 -12
  553. package/chunks/Footer.module-BluyUQCL.js.map +0 -1
  554. package/chunks/HeaderLayoutSidebar.module-ClAll71g.js.map +0 -1
  555. package/chunks/HeaderTabs.module-CUwJ5fM3.js +0 -12
  556. package/chunks/HeaderTabs.module-CUwJ5fM3.js.map +0 -1
  557. package/chunks/HeaderTitle.module-uQ2R0h5h.js.map +0 -1
  558. package/chunks/ImageGalleryExtendedMain.module-I0Gz1tNa.js +0 -28
  559. package/chunks/ImageGalleryExtendedMain.module-I0Gz1tNa.js.map +0 -1
  560. package/chunks/IslandAccordion.module-CM3fce-H.js +0 -44
  561. package/chunks/IslandAccordion.module-CM3fce-H.js.map +0 -1
  562. package/chunks/IslandWidgetFooter.module-XUbrmzyT.js +0 -12
  563. package/chunks/IslandWidgetFooter.module-XUbrmzyT.js.map +0 -1
  564. package/chunks/IslandWidgetHeader.module-DIvckBK0.js +0 -20
  565. package/chunks/IslandWidgetHeader.module-DIvckBK0.js.map +0 -1
  566. package/chunks/LightBoxContent-DhmrVe_B.js.map +0 -1
  567. package/chunks/LightBoxControls.module-NJhXErnc.js +0 -26
  568. package/chunks/LightBoxControls.module-NJhXErnc.js.map +0 -1
  569. package/chunks/LightBoxSideOverlayClose.module-DH3toLJp.js.map +0 -1
  570. package/chunks/ListItemTail.module-CTCT4Ip2.js +0 -18
  571. package/chunks/ListItemTail.module-CTCT4Ip2.js.map +0 -1
  572. package/chunks/ListMasterFooter.module-5PZkmDVy.js +0 -14
  573. package/chunks/ListMasterFooter.module-5PZkmDVy.js.map +0 -1
  574. package/chunks/ModalWindow.module-D6KenC3t.js +0 -28
  575. package/chunks/ModalWindow.module-D6KenC3t.js.map +0 -1
  576. package/chunks/Notification.module-DLDTRU_N.js +0 -34
  577. package/chunks/Notification.module-DLDTRU_N.js.map +0 -1
  578. package/chunks/Overlay.module-BF-87L2z.js +0 -30
  579. package/chunks/Overlay.module-BF-87L2z.js.map +0 -1
  580. package/chunks/Page.module-C-q8yIcu.js +0 -15
  581. package/chunks/Page.module-C-q8yIcu.js.map +0 -1
  582. package/chunks/SMSField.module-B1m8ilx_.js +0 -26
  583. package/chunks/SMSField.module-B1m8ilx_.js.map +0 -1
  584. package/chunks/SliderExtendedMarks.module-D3H3S6p2.js +0 -24
  585. package/chunks/SliderExtendedMarks.module-D3H3S6p2.js.map +0 -1
  586. package/chunks/StatusTracker.module-lbYqNd1P.js +0 -42
  587. package/chunks/StatusTracker.module-lbYqNd1P.js.map +0 -1
  588. package/chunks/TableFooter.module-m3QKshwy.js +0 -22
  589. package/chunks/TableFooter.module-m3QKshwy.js.map +0 -1
  590. package/chunks/TabsExtended.module-D9BiyvHA.js +0 -26
  591. package/chunks/TabsExtended.module-D9BiyvHA.js.map +0 -1
  592. package/chunks/TabsLine.module-DcxnBOgb.js +0 -36
  593. package/chunks/TabsLine.module-DcxnBOgb.js.map +0 -1
  594. package/chunks/TooltipDesktop.module-BQpMEMtl.js +0 -32
  595. package/chunks/TooltipDesktop.module-BQpMEMtl.js.map +0 -1
  596. package/chunks/TreeView.module-BW9vWJxu.js +0 -12
  597. package/chunks/TreeView.module-BW9vWJxu.js.map +0 -1
@@ -1,9 +1,8 @@
1
1
  import { Button } from "./Button.js";
2
- import "./ButtonBase.js";
3
2
  import "./ButtonIcon.js";
4
3
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
5
4
  import React__default, { useRef, useState, createElement } from "react";
6
- import { c as clsx, u as uniqueId } from "../../chunks/vendor-Bco_z_Yi.js";
5
+ import { c as clsx, u as uniqueId } from "../../chunks/vendor-CtuAQuEN.js";
7
6
  import { DotshorizontalStrokeSrvIcon32, DotshorizontalStrokeSrvIcon24, DotshorizontalStrokeSrvIcon20, CaretdownStrokeSrvIcon24, CaretdownStrokeSrvIcon20, CaretdownStrokeSrvIcon16 } from "@sberbusiness/icons-next";
8
7
  import { ButtonDropdownExtended } from "./ButtonDropdownExtended.js";
9
8
  import { EButtonDotsTheme, EButtonTheme } from "./enums.js";
@@ -11,7 +10,7 @@ import { isKey } from "../../utils/keyboard.js";
11
10
  import { DropdownListContext } from "../Dropdown/DropdownListContext.js";
12
11
  import "../Dropdown/desktop/DropdownDesktop.js";
13
12
  import { DropdownList } from "../Dropdown/desktop/DropdownList.js";
14
- import "../../chunks/DropdownListItem-R6GgcMur.js";
13
+ import "../../chunks/DropdownListItem-BqOoPFSx.js";
15
14
  import { EDropdownAlignment, EDropdownWidth } from "../Dropdown/desktop/enums.js";
16
15
  import "../Dropdown/mobile/DropdownMobile.js";
17
16
  import { DropdownMobileBody } from "../Dropdown/mobile/DropdownMobileBody.js";
@@ -31,13 +30,13 @@ import "../Typography/Caption.js";
31
30
  import "../Typography/CodeText.js";
32
31
  import { Text } from "../Typography/Text.js";
33
32
  import "../Typography/Title.js";
34
- const buttonDropdown = "buttonDropdown__c8a7973f";
35
- const block = "block__864eebed";
36
- const buttonDropdownTarget = "buttonDropdownTarget__920fee6c";
37
- const dots = "dots__f93f5c68";
38
- const caretIcon = "caretIcon__568b13cc";
39
- const active = "active__d565f447";
40
- const buttonDropdownMenuItem = "buttonDropdownMenuItem__924fbb03";
33
+ const buttonDropdown = "buttonDropdown__5596e0ab";
34
+ const block = "block__ae60dfc9";
35
+ const buttonDropdownTarget = "buttonDropdownTarget__ddb6ce81";
36
+ const dots = "dots__6735a142";
37
+ const caretIcon = "caretIcon__fc7de1cd";
38
+ const active = "active__f96099c3";
39
+ const buttonDropdownMenuItem = "buttonDropdownMenuItem__b014d6a5";
41
40
  const styles = {
42
41
  buttonDropdown,
43
42
  block,
@@ -47,6 +46,17 @@ const styles = {
47
46
  active,
48
47
  buttonDropdownMenuItem
49
48
  };
49
+ const isDotsTheme = (theme) => theme === EButtonDotsTheme.DOTS_SECONDARY || theme === EButtonDotsTheme.DOTS_SECONDARY_LIGHT;
50
+ const DOTS_THEME_TO_BUTTON_THEME_MAP = {
51
+ [EButtonDotsTheme.DOTS_SECONDARY]: EButtonTheme.SECONDARY,
52
+ [EButtonDotsTheme.DOTS_SECONDARY_LIGHT]: EButtonTheme.SECONDARY_LIGHT
53
+ };
54
+ const THEME_TO_CARET_PALETTE_INDEX_MAP = {
55
+ [EButtonTheme.GENERAL]: 7,
56
+ [EButtonTheme.DANGER]: 7,
57
+ [EButtonTheme.SECONDARY]: 0,
58
+ [EButtonTheme.SECONDARY_LIGHT]: 0
59
+ };
50
60
  const SIZE_TO_DOTS_ICON_MAP = {
51
61
  [EComponentSize.SM]: /* @__PURE__ */ jsx(DotshorizontalStrokeSrvIcon20, { paletteIndex: 0 }),
52
62
  [EComponentSize.MD]: /* @__PURE__ */ jsx(DotshorizontalStrokeSrvIcon24, { paletteIndex: 0 }),
@@ -76,82 +86,62 @@ const ButtonDropdown = React__default.forwardRef(
76
86
  const dropdownRef = useRef(null);
77
87
  const classNames = clsx(styles.buttonDropdown, { [styles.block]: !!block2 }, className);
78
88
  const [activeDescendant, setActiveDescendant] = useState();
79
- const instanceId = useRef(uniqueId());
89
+ const [instanceId] = useState(() => uniqueId());
90
+ const isDots = isDotsTheme(theme);
91
+ const buttonTheme = isDots ? DOTS_THEME_TO_BUTTON_THEME_MAP[theme] : theme;
92
+ const setRef = (instance) => {
93
+ buttonRef.current = instance;
94
+ if (typeof ref === "function") {
95
+ ref(instance);
96
+ } else if (ref) {
97
+ ref.current = instance;
98
+ }
99
+ };
100
+ const handleClick = ({ opened, setOpened }) => () => setOpened(!opened);
101
+ const handleKeyDown = ({ opened, setOpened }) => (event) => {
102
+ const key = event.code || event.keyCode;
103
+ if (isKey(key, "SPACE") || isKey(key, "ARROW_UP") || isKey(key, "ARROW_DOWN")) {
104
+ event.preventDefault();
105
+ }
106
+ if (isKey(key, "SPACE")) {
107
+ setOpened(!opened);
108
+ } else if (!opened && (isKey(key, "ARROW_UP") || isKey(key, "ARROW_DOWN"))) {
109
+ setOpened(true);
110
+ }
111
+ };
112
+ const renderCaret = () => SIZE_TO_CARET_ICON_MAP[size](THEME_TO_CARET_PALETTE_INDEX_MAP[buttonTheme]);
80
113
  const renderButton = ({ opened, setOpened }) => {
81
114
  const classNames2 = clsx(styles.buttonDropdownTarget, {
115
+ [styles.dots]: isDots,
82
116
  [styles.block]: !!block2,
83
- [styles.active]: opened
117
+ [styles.active]: opened && !isDots
84
118
  });
85
- return /* @__PURE__ */ jsxs(
119
+ return /* @__PURE__ */ jsx(
86
120
  Button,
87
121
  {
88
122
  className: classNames2,
89
- theme,
123
+ theme: buttonTheme,
90
124
  size,
91
125
  onKeyDown: handleKeyDown({ opened, setOpened }),
92
126
  onClick: handleClick({ opened, setOpened }),
93
127
  disabled,
94
128
  "aria-haspopup": "menu",
95
129
  "aria-expanded": opened,
96
- "aria-controls": instanceId.current,
130
+ "aria-controls": instanceId,
97
131
  "aria-activedescendant": activeDescendant,
132
+ icon: isDots ? SIZE_TO_DOTS_ICON_MAP[size] : void 0,
98
133
  ...buttonAttributes,
99
134
  ref: setRef,
100
- children: [
135
+ children: isDots ? void 0 : /* @__PURE__ */ jsxs(Fragment, { children: [
101
136
  children,
102
137
  renderCaret()
103
- ]
104
- }
105
- );
106
- };
107
- const renderButtonDots = ({ opened, setOpened }) => {
108
- const classNames2 = clsx(styles.buttonDropdownTarget, styles.dots, {
109
- [styles.block]: !!block2
110
- });
111
- return /* @__PURE__ */ jsx(
112
- Button,
113
- {
114
- className: classNames2,
115
- theme: theme === EButtonDotsTheme.DOTS_SECONDARY ? EButtonTheme.SECONDARY : EButtonTheme.SECONDARY_LIGHT,
116
- size,
117
- onKeyDown: handleKeyDown({ opened, setOpened }),
118
- onClick: handleClick({ opened, setOpened }),
119
- disabled,
120
- "aria-haspopup": "menu",
121
- "aria-expanded": opened,
122
- "aria-controls": instanceId.current,
123
- "aria-activedescendant": activeDescendant,
124
- ...buttonAttributes,
125
- ref: setRef,
126
- icon: SIZE_TO_DOTS_ICON_MAP[size]
138
+ ] })
127
139
  }
128
140
  );
129
141
  };
130
- const handleClick = ({ opened, setOpened }) => () => setOpened(!opened);
131
- const handleKeyDown = ({ opened, setOpened }) => (event) => {
132
- const { key } = event;
133
- if (isKey(key, "SPACE") || isKey(key, "ARROW_UP") || isKey(key, "ARROW_DOWN")) {
134
- event.preventDefault();
135
- }
136
- if (!opened && (isKey(key, "ARROW_UP") || isKey(key, "ARROW_DOWN"))) {
137
- setOpened(true);
138
- }
139
- };
140
- const renderCaret = () => {
141
- switch (theme) {
142
- case EButtonTheme.GENERAL:
143
- case EButtonTheme.DANGER:
144
- return SIZE_TO_CARET_ICON_MAP[size](7);
145
- case EButtonTheme.SECONDARY:
146
- case EButtonTheme.SECONDARY_LIGHT:
147
- return SIZE_TO_CARET_ICON_MAP[size](0);
148
- default:
149
- return null;
150
- }
151
- };
152
142
  const renderDropdown = ({ opened, setOpened, className: className2 }) => {
153
143
  const { className: dropdownClassName, ...restDropdownAttributes } = dropdownAttributes;
154
- const classNames2 = clsx(styles.buttonDropdownMenu, className2, dropdownClassName);
144
+ const classNames2 = clsx(className2, dropdownClassName);
155
145
  return /* @__PURE__ */ jsx(DropdownListContext.Provider, { value: { activeDescendant, setActiveDescendant }, children: /* @__PURE__ */ jsx(
156
146
  ButtonDropdownExtended.Dropdown,
157
147
  {
@@ -173,53 +163,45 @@ const ButtonDropdown = React__default.forwardRef(
173
163
  children: /* @__PURE__ */ jsx(Text, { tag: "div", size: ETextSize.B3, children })
174
164
  }
175
165
  ),
176
- /* @__PURE__ */ jsx(DropdownMobileBody, { children: /* @__PURE__ */ jsx(DropdownMobileList, { children: options.map((option) => /* @__PURE__ */ createElement(
166
+ /* @__PURE__ */ jsx(DropdownMobileBody, { children: /* @__PURE__ */ jsx(DropdownMobileList, { children: options.map(({ label, ...restOption }) => /* @__PURE__ */ createElement(
177
167
  DropdownMobileListItem,
178
168
  {
179
- ...option,
180
- key: option.id,
181
- selected: option.id === (selected == null ? void 0 : selected.id),
169
+ ...restOption,
170
+ key: restOption.id,
171
+ selected: restOption.id === (selected == null ? void 0 : selected.id),
182
172
  onSelect: () => {
183
173
  var _a;
184
- (_a = option.onSelect) == null ? void 0 : _a.call(option);
174
+ (_a = restOption.onSelect) == null ? void 0 : _a.call(restOption);
185
175
  setOpened(false);
186
176
  }
187
177
  },
188
- option.label
178
+ label
189
179
  )) }) })
190
180
  ] })
191
181
  },
192
- children: /* @__PURE__ */ jsx(DropdownList, { dropdownOpened: opened, id: instanceId.current, size, children: options.map((option) => /* @__PURE__ */ createElement(
182
+ children: /* @__PURE__ */ jsx(DropdownList, { dropdownOpened: opened, id: instanceId, size, children: options.map(({ label, ...restOption }) => /* @__PURE__ */ createElement(
193
183
  DropdownList.Item,
194
184
  {
195
- ...option,
185
+ ...restOption,
196
186
  className: styles.buttonDropdownMenuItem,
197
- key: option.id,
198
- selected: option.id === (selected == null ? void 0 : selected.id),
187
+ key: restOption.id,
188
+ selected: restOption.id === (selected == null ? void 0 : selected.id),
199
189
  onSelect: () => {
200
190
  var _a;
201
- (_a = option.onSelect) == null ? void 0 : _a.call(option);
191
+ (_a = restOption.onSelect) == null ? void 0 : _a.call(restOption);
202
192
  setOpened(false);
203
193
  }
204
194
  },
205
- option.label
195
+ label
206
196
  )) })
207
197
  }
208
198
  ) });
209
199
  };
210
- const setRef = (instance) => {
211
- buttonRef.current = instance;
212
- if (typeof ref === "function") {
213
- ref(instance);
214
- } else if (ref) {
215
- ref.current = instance;
216
- }
217
- };
218
200
  return /* @__PURE__ */ jsx(
219
201
  ButtonDropdownExtended,
220
202
  {
221
203
  className: classNames,
222
- renderButton: theme === EButtonDotsTheme.DOTS_SECONDARY || theme === EButtonDotsTheme.DOTS_SECONDARY_LIGHT ? renderButtonDots : renderButton,
204
+ renderButton,
223
205
  renderDropdown,
224
206
  dropdownRef,
225
207
  closeOnTab: true,
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonDropdown.js","sources":["../../../src/components/Button/ButtonDropdown.tsx"],"sourcesContent":["import React, { useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { uniqueId } from \"lodash-es\";\nimport {\n CaretdownStrokeSrvIcon24,\n CaretdownStrokeSrvIcon20,\n CaretdownStrokeSrvIcon16,\n DotshorizontalStrokeSrvIcon32,\n DotshorizontalStrokeSrvIcon24,\n DotshorizontalStrokeSrvIcon20,\n} from \"@sberbusiness/icons-next\";\nimport {\n ButtonDropdownExtended,\n IButtonDropdownExtendedButtonProvideProps,\n IButtonDropdownExtendedDropdownProvideProps,\n} from \"./ButtonDropdownExtended\";\nimport { Button } from \"./Button\";\nimport { EButtonDotsTheme, EButtonTheme } from \"./enums\";\nimport { isKey } from \"../../utils/keyboard\";\nimport {\n DropdownList,\n DropdownListContext,\n DropdownMobileHeader,\n DropdownMobileClose,\n DropdownMobileBody,\n DropdownMobileList,\n DropdownMobileListItem,\n IDropdownListItemProps,\n EDropdownWidth,\n EDropdownAlignment,\n} from \"../Dropdown\";\nimport { Text, ETextSize } from \"../Typography\";\nimport { EComponentSize } from \"../../enums/EComponentSize\";\nimport { DataAttributes } from \"../../types/CoreTypes\";\nimport styles from \"./styles/ButtonDropdown.module.less\";\n\n/** Свойства опции в выпадающем списке действий. */\nexport interface IButtonDropdownOption extends Omit<\n IDropdownListItemProps,\n \"active\" | \"onSelect\" | \"selected\" | \"keyCodesForSelection\" | \"className\" | \"key\"\n> {\n /** Уникальное имя опции. */\n id: string;\n /** Название опции. */\n label: React.ReactNode;\n /** Обработчик выбора опции. */\n onSelect?: () => void;\n}\n\n/** Свойства кнопки с выпадающим списком действий. */\nexport interface IButtonDropdownProps extends React.HTMLAttributes<HTMLDivElement> {\n /** HTML-атрибуты кнопки. */\n buttonAttributes?: React.ButtonHTMLAttributes<HTMLButtonElement>;\n /** HTML-атрибуты Dropdown. */\n dropdownAttributes?: React.HTMLAttributes<HTMLDivElement> & DataAttributes;\n /** Размер кнопки. */\n size: EComponentSize;\n /** Список опций. */\n options: IButtonDropdownOption[];\n /** Выбранная опция. */\n selected?: IButtonDropdownOption;\n /** Отключенное состояние кнопки. */\n disabled?: boolean;\n}\n\n/** Свойства основной/вспомогательной кнопки с выпадающим списком действий. */\ninterface IButtonDropdownBaseProps extends IButtonDropdownProps {\n /** Тема кнопки. */\n theme: EButtonTheme.GENERAL | EButtonTheme.SECONDARY | EButtonTheme.SECONDARY_LIGHT | EButtonTheme.DANGER;\n /** Блочное состояние кнопки. */\n block?: boolean;\n}\n\n/** Свойства контекстной кнопки с выпадающим списком действий. */\ninterface IButtonDotsProps extends IButtonDropdownProps {\n /** Тема кнопки. */\n theme: EButtonDotsTheme;\n /** Блочное состояние кнопки. */\n block?: never;\n}\n\nconst SIZE_TO_DOTS_ICON_MAP: Record<EComponentSize, React.ReactElement> = {\n [EComponentSize.SM]: <DotshorizontalStrokeSrvIcon20 paletteIndex={0} />,\n [EComponentSize.MD]: <DotshorizontalStrokeSrvIcon24 paletteIndex={0} />,\n [EComponentSize.LG]: <DotshorizontalStrokeSrvIcon32 paletteIndex={0} />,\n};\n\nconst SIZE_TO_CARET_ICON_MAP: Record<EComponentSize, (paletteIndex: 0 | 7) => React.ReactElement> = {\n [EComponentSize.SM]: (paletteIndex) => (\n <CaretdownStrokeSrvIcon16 paletteIndex={paletteIndex} className={styles.caretIcon} />\n ),\n [EComponentSize.MD]: (paletteIndex) => (\n <CaretdownStrokeSrvIcon20 paletteIndex={paletteIndex} className={styles.caretIcon} />\n ),\n [EComponentSize.LG]: (paletteIndex) => (\n <CaretdownStrokeSrvIcon24 paletteIndex={paletteIndex} className={styles.caretIcon} />\n ),\n};\n\n/** Кнопка с выпадающим списком действий. */\nexport const ButtonDropdown = React.forwardRef<HTMLButtonElement, IButtonDropdownBaseProps | IButtonDotsProps>(\n (props, ref) => {\n const {\n buttonAttributes,\n dropdownAttributes = {},\n children,\n className,\n theme,\n size,\n options,\n selected,\n block,\n disabled,\n ...rest\n } = props;\n\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const classNames = clsx(styles.buttonDropdown, { [styles.block]: !!block }, className);\n const [activeDescendant, setActiveDescendant] = useState<string>();\n const instanceId = useRef(uniqueId());\n\n const renderButton = ({ opened, setOpened }: IButtonDropdownExtendedButtonProvideProps) => {\n const classNames = clsx(styles.buttonDropdownTarget, {\n [styles.block]: !!block,\n [styles.active]: opened,\n });\n\n return (\n <Button\n className={classNames}\n theme={theme as EButtonTheme}\n size={size}\n onKeyDown={handleKeyDown({ opened, setOpened })}\n onClick={handleClick({ opened, setOpened })}\n disabled={disabled}\n aria-haspopup=\"menu\"\n aria-expanded={opened}\n aria-controls={instanceId.current}\n aria-activedescendant={activeDescendant}\n {...buttonAttributes}\n ref={setRef}\n >\n {children}\n {renderCaret()}\n </Button>\n );\n };\n\n const renderButtonDots = ({ opened, setOpened }: IButtonDropdownExtendedButtonProvideProps) => {\n const classNames = clsx(styles.buttonDropdownTarget, styles.dots, {\n [styles.block]: !!block,\n });\n\n return (\n <Button\n className={classNames}\n theme={\n theme === EButtonDotsTheme.DOTS_SECONDARY\n ? EButtonTheme.SECONDARY\n : EButtonTheme.SECONDARY_LIGHT\n }\n size={size}\n onKeyDown={handleKeyDown({ opened, setOpened })}\n onClick={handleClick({ opened, setOpened })}\n disabled={disabled}\n aria-haspopup=\"menu\"\n aria-expanded={opened}\n aria-controls={instanceId.current}\n aria-activedescendant={activeDescendant}\n {...buttonAttributes}\n ref={setRef}\n icon={SIZE_TO_DOTS_ICON_MAP[size]}\n />\n );\n };\n\n const handleClick =\n ({ opened, setOpened }: IButtonDropdownExtendedButtonProvideProps) =>\n () =>\n setOpened(!opened);\n\n const handleKeyDown =\n ({ opened, setOpened }: IButtonDropdownExtendedButtonProvideProps) =>\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n const { key } = event;\n\n if (isKey(key, \"SPACE\") || isKey(key, \"ARROW_UP\") || isKey(key, \"ARROW_DOWN\")) {\n event.preventDefault();\n }\n if (!opened && (isKey(key, \"ARROW_UP\") || isKey(key, \"ARROW_DOWN\"))) {\n setOpened(true);\n }\n };\n\n const renderCaret = () => {\n switch (theme) {\n case EButtonTheme.GENERAL:\n case EButtonTheme.DANGER:\n return SIZE_TO_CARET_ICON_MAP[size](7);\n case EButtonTheme.SECONDARY:\n case EButtonTheme.SECONDARY_LIGHT:\n return SIZE_TO_CARET_ICON_MAP[size](0);\n default:\n return null;\n }\n };\n\n const renderDropdown = ({ opened, setOpened, className }: IButtonDropdownExtendedDropdownProvideProps) => {\n const { className: dropdownClassName, ...restDropdownAttributes } = dropdownAttributes;\n const classNames = clsx(styles.buttonDropdownMenu, className, dropdownClassName);\n\n return (\n <DropdownListContext.Provider value={{ activeDescendant, setActiveDescendant }}>\n <ButtonDropdownExtended.Dropdown\n {...restDropdownAttributes}\n className={classNames}\n size={size}\n width={EDropdownWidth.MIN_TARGET}\n alignment={EDropdownAlignment.RIGHT}\n opened={opened}\n setOpened={setOpened}\n targetRef={buttonRef}\n ref={dropdownRef}\n mobileViewProps={{\n children: (\n <>\n <DropdownMobileHeader\n controlButtons={<DropdownMobileClose onClick={() => setOpened(false)} />}\n >\n <Text tag=\"div\" size={ETextSize.B3}>\n {children}\n </Text>\n </DropdownMobileHeader>\n <DropdownMobileBody>\n <DropdownMobileList>\n {options.map((option) => (\n <DropdownMobileListItem\n {...option}\n key={option.id}\n selected={option.id === selected?.id}\n onSelect={() => {\n option.onSelect?.();\n setOpened(false);\n }}\n >\n {option.label}\n </DropdownMobileListItem>\n ))}\n </DropdownMobileList>\n </DropdownMobileBody>\n </>\n ),\n }}\n >\n <DropdownList dropdownOpened={opened} id={instanceId.current} size={size}>\n {options.map((option) => (\n <DropdownList.Item\n {...option}\n className={styles.buttonDropdownMenuItem}\n key={option.id}\n selected={option.id === selected?.id}\n onSelect={() => {\n option.onSelect?.();\n setOpened(false);\n }}\n >\n {option.label}\n </DropdownList.Item>\n ))}\n </DropdownList>\n </ButtonDropdownExtended.Dropdown>\n </DropdownListContext.Provider>\n );\n };\n\n /** Функция для хранения ссылки. */\n const setRef = (instance: HTMLButtonElement | null) => {\n buttonRef.current = instance;\n if (typeof ref === \"function\") {\n ref(instance);\n } else if (ref) {\n ref.current = instance;\n }\n };\n\n return (\n <ButtonDropdownExtended\n className={classNames}\n renderButton={\n theme === EButtonDotsTheme.DOTS_SECONDARY || theme === EButtonDotsTheme.DOTS_SECONDARY_LIGHT\n ? renderButtonDots\n : renderButton\n }\n renderDropdown={renderDropdown}\n dropdownRef={dropdownRef}\n closeOnTab\n {...rest}\n />\n );\n },\n);\n\nButtonDropdown.displayName = \"ButtonDropdown\";\n"],"names":["React","block","classNames","className"],"mappings":"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"}
1
+ {"version":3,"file":"ButtonDropdown.js","sources":["../../../src/components/Button/ButtonDropdown.tsx"],"sourcesContent":["import React, { useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { uniqueId } from \"lodash-es\";\nimport {\n CaretdownStrokeSrvIcon24,\n CaretdownStrokeSrvIcon20,\n CaretdownStrokeSrvIcon16,\n DotshorizontalStrokeSrvIcon32,\n DotshorizontalStrokeSrvIcon24,\n DotshorizontalStrokeSrvIcon20,\n} from \"@sberbusiness/icons-next\";\nimport {\n ButtonDropdownExtended,\n IButtonDropdownExtendedButtonProvideProps,\n IButtonDropdownExtendedDropdownProvideProps,\n} from \"./ButtonDropdownExtended\";\nimport { Button } from \"./Button\";\nimport { EButtonDotsTheme, EButtonTheme } from \"./enums\";\nimport { isKey } from \"../../utils/keyboard\";\nimport {\n DropdownList,\n DropdownListContext,\n DropdownMobileHeader,\n DropdownMobileClose,\n DropdownMobileBody,\n DropdownMobileList,\n DropdownMobileListItem,\n IDropdownListItemProps,\n EDropdownWidth,\n EDropdownAlignment,\n} from \"../Dropdown\";\nimport { Text, ETextSize } from \"../Typography\";\nimport { EComponentSize } from \"../../enums/EComponentSize\";\nimport { DataAttributes } from \"../../types/CoreTypes\";\nimport styles from \"./styles/ButtonDropdown.module.less\";\n\n/** Свойства опции в выпадающем списке действий. */\nexport interface IButtonDropdownOption extends Omit<\n IDropdownListItemProps,\n \"active\" | \"onSelect\" | \"selected\" | \"keyCodesForSelection\" | \"className\" | \"key\"\n> {\n /** Уникальное имя опции. */\n id: string;\n /** Название опции. */\n label: React.ReactNode;\n /** Обработчик выбора опции. */\n onSelect?: () => void;\n}\n\n/** Свойства кнопки с выпадающим списком действий. */\nexport interface IButtonDropdownProps extends React.HTMLAttributes<HTMLDivElement> {\n /** HTML-атрибуты кнопки. */\n buttonAttributes?: React.ButtonHTMLAttributes<HTMLButtonElement>;\n /** HTML-атрибуты Dropdown. */\n dropdownAttributes?: React.HTMLAttributes<HTMLDivElement> & DataAttributes;\n /** Размер кнопки. */\n size: EComponentSize;\n /** Список опций. */\n options: IButtonDropdownOption[];\n /** Выбранная опция. */\n selected?: IButtonDropdownOption;\n /** Отключенное состояние кнопки. */\n disabled?: boolean;\n /** Управляемое состояние открытости dropdown (controlled-режим). Задаётся в паре с setOpened; без setOpened состояние зафиксировано (например, для visual-тестов). */\n opened?: boolean;\n /** Обработчик изменения состояния открытости dropdown (пара к opened). */\n setOpened?: (opened: boolean) => void;\n}\n\n/** Темы триггера, отображаемого как обычная кнопка (без dots-вариантов). */\nexport type TButtonDropdownButtonTheme =\n EButtonTheme.GENERAL | EButtonTheme.SECONDARY | EButtonTheme.SECONDARY_LIGHT | EButtonTheme.DANGER;\n\n/** Свойства основной/вспомогательной кнопки с выпадающим списком действий. */\nexport interface IButtonDropdownBaseProps extends IButtonDropdownProps {\n /** Тема кнопки. */\n theme: TButtonDropdownButtonTheme;\n /** Блочное состояние кнопки. */\n block?: boolean;\n}\n\n/** Свойства контекстной кнопки с выпадающим списком действий. */\nexport interface IButtonDotsProps extends IButtonDropdownProps {\n /** Тема кнопки. */\n theme: EButtonDotsTheme;\n /** Блочное состояние кнопки. */\n block?: never;\n}\n\n/** Тема триггера: обычная кнопка либо кнопка-dots. */\nexport type TButtonDropdownTheme = TButtonDropdownButtonTheme | EButtonDotsTheme;\n\n/** Триггер отображается как кнопка-dots (иконка вместо текста и каретки). */\nconst isDotsTheme = (theme: TButtonDropdownTheme): theme is EButtonDotsTheme =>\n theme === EButtonDotsTheme.DOTS_SECONDARY || theme === EButtonDotsTheme.DOTS_SECONDARY_LIGHT;\n\nconst DOTS_THEME_TO_BUTTON_THEME_MAP: Record<EButtonDotsTheme, TButtonDropdownButtonTheme> = {\n [EButtonDotsTheme.DOTS_SECONDARY]: EButtonTheme.SECONDARY,\n [EButtonDotsTheme.DOTS_SECONDARY_LIGHT]: EButtonTheme.SECONDARY_LIGHT,\n};\n\n/** Индекс палитры каретки: на цветной заливке — светлая иконка (7), на светлом фоне — тёмная (0). */\nconst THEME_TO_CARET_PALETTE_INDEX_MAP: Record<TButtonDropdownButtonTheme, 0 | 7> = {\n [EButtonTheme.GENERAL]: 7,\n [EButtonTheme.DANGER]: 7,\n [EButtonTheme.SECONDARY]: 0,\n [EButtonTheme.SECONDARY_LIGHT]: 0,\n};\n\nconst SIZE_TO_DOTS_ICON_MAP: Record<EComponentSize, React.ReactElement> = {\n [EComponentSize.SM]: <DotshorizontalStrokeSrvIcon20 paletteIndex={0} />,\n [EComponentSize.MD]: <DotshorizontalStrokeSrvIcon24 paletteIndex={0} />,\n [EComponentSize.LG]: <DotshorizontalStrokeSrvIcon32 paletteIndex={0} />,\n};\n\nconst SIZE_TO_CARET_ICON_MAP: Record<EComponentSize, (paletteIndex: 0 | 7) => React.ReactElement> = {\n [EComponentSize.SM]: (paletteIndex) => (\n <CaretdownStrokeSrvIcon16 paletteIndex={paletteIndex} className={styles.caretIcon} />\n ),\n [EComponentSize.MD]: (paletteIndex) => (\n <CaretdownStrokeSrvIcon20 paletteIndex={paletteIndex} className={styles.caretIcon} />\n ),\n [EComponentSize.LG]: (paletteIndex) => (\n <CaretdownStrokeSrvIcon24 paletteIndex={paletteIndex} className={styles.caretIcon} />\n ),\n};\n\n/**\n * Кнопка с выпадающим списком действий.\n * Триггер отображается либо как обычная кнопка с текстом и кареткой, либо как кнопка-dots (тема EButtonDotsTheme).\n */\nexport const ButtonDropdown = React.forwardRef<HTMLButtonElement, IButtonDropdownBaseProps | IButtonDotsProps>(\n (props, ref) => {\n const {\n buttonAttributes,\n dropdownAttributes = {},\n children,\n className,\n theme,\n size,\n options,\n selected,\n block,\n disabled,\n ...rest\n } = props;\n\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const classNames = clsx(styles.buttonDropdown, { [styles.block]: !!block }, className);\n const [activeDescendant, setActiveDescendant] = useState<string>();\n const [instanceId] = useState(() => uniqueId());\n\n const isDots = isDotsTheme(theme);\n const buttonTheme = isDots ? DOTS_THEME_TO_BUTTON_THEME_MAP[theme] : theme;\n\n const setRef = (instance: HTMLButtonElement | null) => {\n buttonRef.current = instance;\n if (typeof ref === \"function\") {\n ref(instance);\n } else if (ref) {\n ref.current = instance;\n }\n };\n\n const handleClick =\n ({ opened, setOpened }: IButtonDropdownExtendedButtonProvideProps) =>\n () =>\n setOpened(!opened);\n\n const handleKeyDown =\n ({ opened, setOpened }: IButtonDropdownExtendedButtonProvideProps) =>\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n // Сравнивается event.code (как в ButtonDropdownExtended): event.key пробела — \" \", он не входит в EVENT_KEYS.SPACE.\n const key: string | number = event.code || event.keyCode;\n\n if (isKey(key, \"SPACE\") || isKey(key, \"ARROW_UP\") || isKey(key, \"ARROW_DOWN\")) {\n event.preventDefault();\n }\n if (isKey(key, \"SPACE\")) {\n // preventDefault отменяет нативную click-активацию кнопки по пробелу — переключение выполняется явно.\n setOpened(!opened);\n } else if (!opened && (isKey(key, \"ARROW_UP\") || isKey(key, \"ARROW_DOWN\"))) {\n setOpened(true);\n }\n };\n\n const renderCaret = () => SIZE_TO_CARET_ICON_MAP[size](THEME_TO_CARET_PALETTE_INDEX_MAP[buttonTheme]);\n\n const renderButton = ({ opened, setOpened }: IButtonDropdownExtendedButtonProvideProps) => {\n const classNames = clsx(styles.buttonDropdownTarget, {\n [styles.dots]: isDots,\n [styles.block]: !!block,\n [styles.active]: opened && !isDots,\n });\n\n return (\n <Button\n className={classNames}\n theme={buttonTheme}\n size={size}\n onKeyDown={handleKeyDown({ opened, setOpened })}\n onClick={handleClick({ opened, setOpened })}\n disabled={disabled}\n aria-haspopup=\"menu\"\n aria-expanded={opened}\n aria-controls={instanceId}\n aria-activedescendant={activeDescendant}\n icon={isDots ? SIZE_TO_DOTS_ICON_MAP[size] : undefined}\n {...buttonAttributes}\n ref={setRef}\n >\n {isDots ? undefined : (\n <>\n {children}\n {renderCaret()}\n </>\n )}\n </Button>\n );\n };\n\n const renderDropdown = ({ opened, setOpened, className }: IButtonDropdownExtendedDropdownProvideProps) => {\n const { className: dropdownClassName, ...restDropdownAttributes } = dropdownAttributes;\n const classNames = clsx(className, dropdownClassName);\n\n return (\n <DropdownListContext.Provider value={{ activeDescendant, setActiveDescendant }}>\n <ButtonDropdownExtended.Dropdown\n {...restDropdownAttributes}\n className={classNames}\n size={size}\n width={EDropdownWidth.MIN_TARGET}\n alignment={EDropdownAlignment.RIGHT}\n opened={opened}\n setOpened={setOpened}\n targetRef={buttonRef}\n ref={dropdownRef}\n mobileViewProps={{\n children: (\n <>\n <DropdownMobileHeader\n controlButtons={<DropdownMobileClose onClick={() => setOpened(false)} />}\n >\n <Text tag=\"div\" size={ETextSize.B3}>\n {children}\n </Text>\n </DropdownMobileHeader>\n <DropdownMobileBody>\n <DropdownMobileList>\n {options.map(({ label, ...restOption }) => (\n <DropdownMobileListItem\n {...restOption}\n key={restOption.id}\n selected={restOption.id === selected?.id}\n onSelect={() => {\n restOption.onSelect?.();\n setOpened(false);\n }}\n >\n {label}\n </DropdownMobileListItem>\n ))}\n </DropdownMobileList>\n </DropdownMobileBody>\n </>\n ),\n }}\n >\n <DropdownList dropdownOpened={opened} id={instanceId} size={size}>\n {options.map(({ label, ...restOption }) => (\n <DropdownList.Item\n {...restOption}\n className={styles.buttonDropdownMenuItem}\n key={restOption.id}\n selected={restOption.id === selected?.id}\n onSelect={() => {\n restOption.onSelect?.();\n setOpened(false);\n }}\n >\n {label}\n </DropdownList.Item>\n ))}\n </DropdownList>\n </ButtonDropdownExtended.Dropdown>\n </DropdownListContext.Provider>\n );\n };\n\n return (\n <ButtonDropdownExtended\n className={classNames}\n renderButton={renderButton}\n renderDropdown={renderDropdown}\n dropdownRef={dropdownRef}\n closeOnTab\n {...rest}\n />\n );\n },\n);\n\nButtonDropdown.displayName = \"ButtonDropdown\";\n"],"names":["React","block","classNames","className"],"mappings":"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"}
@@ -3,9 +3,9 @@ import { useRef, useState, useCallback, useEffect } from "react";
3
3
  import { Dropdown } from "../Dropdown/Dropdown.js";
4
4
  import { isKey } from "../../utils/keyboard.js";
5
5
  import { DropdownList } from "../Dropdown/desktop/DropdownList.js";
6
- import { c as clsx } from "../../chunks/vendor-Bco_z_Yi.js";
7
- const buttonDropdownExtended = "buttonDropdownExtended__b3b248fc";
8
- const buttonDropdownExtendedBlock = "buttonDropdownExtendedBlock__ab6dc859";
6
+ import { c as clsx } from "../../chunks/vendor-CtuAQuEN.js";
7
+ const buttonDropdownExtended = "buttonDropdownExtended__e1fd0bc1";
8
+ const buttonDropdownExtendedBlock = "buttonDropdownExtendedBlock__84839acd";
9
9
  const styles = {
10
10
  buttonDropdownExtended,
11
11
  buttonDropdownExtendedBlock
@@ -13,18 +13,18 @@ const styles = {
13
13
  const ButtonDropdownExtended = (props) => {
14
14
  const { className, opened, setOpened, renderButton, renderDropdown, dropdownRef, closeOnTab, ...rest } = props;
15
15
  const containerRef = useRef(null);
16
- const isControlledRef = useRef(props.opened !== void 0);
17
- const [uncontrolledOpened, setUncontrolledOpened] = useState(props.opened === void 0 ? false : false);
18
- const computedOpened = isControlledRef.current ? !!opened : uncontrolledOpened;
19
- const handleOpen = useCallback(
16
+ const [isControlled] = useState(() => opened !== void 0);
17
+ const [uncontrolledOpened, setUncontrolledOpened] = useState(false);
18
+ const computedOpened = isControlled ? !!opened : uncontrolledOpened;
19
+ const handleOpenedChange = useCallback(
20
20
  (nextOpened) => {
21
- if (isControlledRef.current) {
22
- setOpened && setOpened(nextOpened);
21
+ if (isControlled) {
22
+ setOpened == null ? void 0 : setOpened(nextOpened);
23
23
  return;
24
24
  }
25
25
  setUncontrolledOpened(nextOpened);
26
26
  },
27
- [setOpened]
27
+ [isControlled, setOpened]
28
28
  );
29
29
  useEffect(() => {
30
30
  if (!computedOpened) {
@@ -32,20 +32,16 @@ const ButtonDropdownExtended = (props) => {
32
32
  }
33
33
  const handleKeyDown = (event) => {
34
34
  const key = event.code || event.keyCode;
35
- if (computedOpened) {
36
- if (isKey(key, "ESCAPE") || closeOnTab && isKey(key, "TAB")) {
37
- handleOpen(false);
38
- }
35
+ if (isKey(key, "ESCAPE") || closeOnTab && isKey(key, "TAB")) {
36
+ handleOpenedChange(false);
39
37
  }
40
38
  };
41
39
  const handleClickOutside = (event) => {
42
40
  const button = containerRef.current;
43
41
  const dropdown = dropdownRef.current;
44
- if (computedOpened) {
45
- const targetNode = event.target;
46
- if (targetNode && !(button == null ? void 0 : button.contains(targetNode)) && !(dropdown == null ? void 0 : dropdown.contains(targetNode))) {
47
- handleOpen(false);
48
- }
42
+ const targetNode = event.target;
43
+ if (targetNode && !(button == null ? void 0 : button.contains(targetNode)) && !(dropdown == null ? void 0 : dropdown.contains(targetNode))) {
44
+ handleOpenedChange(false);
49
45
  }
50
46
  };
51
47
  document.addEventListener("keydown", handleKeyDown);
@@ -56,14 +52,14 @@ const ButtonDropdownExtended = (props) => {
56
52
  document.removeEventListener("mousedown", handleClickOutside);
57
53
  document.removeEventListener("touchstart", handleClickOutside);
58
54
  };
59
- }, [computedOpened, closeOnTab, dropdownRef, handleOpen, containerRef]);
55
+ }, [computedOpened, closeOnTab, dropdownRef, handleOpenedChange]);
60
56
  const classNames = clsx(styles.buttonDropdownExtended, className);
61
57
  return /* @__PURE__ */ jsxs("div", { className: classNames, ref: containerRef, ...rest, children: [
62
- renderButton({ opened: computedOpened, setOpened: handleOpen }),
58
+ renderButton({ opened: computedOpened, setOpened: handleOpenedChange }),
63
59
  renderDropdown({
64
60
  className: styles.buttonDropdownExtendedBlock,
65
61
  opened: computedOpened,
66
- setOpened: handleOpen
62
+ setOpened: handleOpenedChange
67
63
  })
68
64
  ] });
69
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonDropdownExtended.js","sources":["../../../src/components/Button/ButtonDropdownExtended.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { Dropdown } from \"@sberbusiness/triplex-next/components/Dropdown/Dropdown\";\nimport { isKey } from \"@sberbusiness/triplex-next/utils/keyboard\";\nimport { DropdownList } from \"@sberbusiness/triplex-next/components/Dropdown/desktop/DropdownList\";\nimport clsx from \"clsx\";\nimport styles from \"./styles/ButtonDropdownExtended.module.less\";\n\n/** Свойства встроенной кнопки. */\nexport interface IButtonDropdownExtendedButtonProvideProps {\n /** Контролируемое состояние открытости. */\n opened: boolean;\n /** Функция, контролирующая состояние открытости. */\n setOpened: (opened: boolean) => void;\n}\n\n/** Свойства встроенного выпадающего блока. */\nexport interface IButtonDropdownExtendedDropdownProvideProps {\n /** Контролируемое состояние открытости. */\n opened: boolean;\n /** Функция, контролирующая состояние открытости. */\n setOpened: (opened: boolean) => void;\n /** Пробрасываемый стилевой класс. */\n className: string;\n}\n\n/** Свойства кнопки с выпадающим блоком. */\nexport interface IButtonDropdownExtendedProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Контролируемое состояние открытости. */\n opened?: boolean;\n /** Функция, контролирующая состояние открытости. */\n setOpened?: (opened: boolean) => void;\n /** Функция, отрисовывающая кнопку. */\n renderButton: (props: IButtonDropdownExtendedButtonProvideProps) => React.ReactNode;\n /** Функция, отрисовывающая выпадающий блок. */\n renderDropdown: (props: IButtonDropdownExtendedDropdownProvideProps) => React.ReactNode;\n /** Ссылка на выпадающий блок. */\n dropdownRef: React.RefObject<HTMLElement>;\n /** Закрытие выпадающего блока при нажатии клавиши Tab. */\n closeOnTab?: boolean;\n}\n\n/**\n * Компонент \"Кнопка с выпадающим блоком\".\n * Позволяет кастомизировать кнопку открытия Dropdown и сам Dropdown.\n */\nexport interface IButtonDropdownExtendedComponent extends React.FC<IButtonDropdownExtendedProps> {\n Dropdown: typeof Dropdown;\n DropdownList: typeof DropdownList;\n};\n\nexport const ButtonDropdownExtended: IButtonDropdownExtendedComponent = (props) => {\n const { className, opened, setOpened, renderButton, renderDropdown, dropdownRef, closeOnTab, ...rest } = props;\n\n const containerRef = useRef<HTMLDivElement>(null);\n const isControlledRef = useRef<boolean>(props.opened !== undefined);\n const [uncontrolledOpened, setUncontrolledOpened] = useState<boolean>(props.opened === undefined ? false : false);\n\n const computedOpened = isControlledRef.current ? !!opened : uncontrolledOpened;\n\n const handleOpen = useCallback(\n (nextOpened: boolean) => {\n if (isControlledRef.current) {\n setOpened && setOpened(nextOpened);\n return;\n }\n setUncontrolledOpened(nextOpened);\n },\n [setOpened]\n );\n\n useEffect(() => {\n if (!computedOpened) {\n return;\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const key: string | number = event.code || event.keyCode;\n if (computedOpened) {\n if (isKey(key, \"ESCAPE\") || (closeOnTab && isKey(key, \"TAB\"))) {\n handleOpen(false);\n }\n }\n };\n\n const handleClickOutside = (event: Event) => {\n const button = containerRef.current;\n const dropdown = dropdownRef.current;\n\n if (computedOpened) {\n const targetNode = event.target as Node | null;\n if (targetNode && !button?.contains(targetNode) && !dropdown?.contains(targetNode)) {\n handleOpen(false);\n }\n }\n };\n\n document.addEventListener(\"keydown\", handleKeyDown);\n document.addEventListener(\"mousedown\", handleClickOutside);\n document.addEventListener(\"touchstart\", handleClickOutside);\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n document.removeEventListener(\"mousedown\", handleClickOutside);\n document.removeEventListener(\"touchstart\", handleClickOutside);\n };\n }, [computedOpened, closeOnTab, dropdownRef, handleOpen, containerRef]);\n\n const classNames = clsx(styles.buttonDropdownExtended, className);\n\n return (\n <div className={classNames} ref={containerRef} {...rest}>\n {renderButton({ opened: computedOpened, setOpened: handleOpen })}\n {renderDropdown({\n className: styles.buttonDropdownExtendedBlock,\n opened: computedOpened,\n setOpened: handleOpen,\n })}\n </div>\n );\n};\n\nButtonDropdownExtended.Dropdown = Dropdown;\nButtonDropdownExtended.DropdownList = DropdownList;\n"],"names":[],"mappings":";;;;;;;;;;;;AAkDO,MAAM,yBAA2D,CAAC,UAAU;AAC/E,QAAM,EAAE,WAAW,QAAQ,WAAW,cAAc,gBAAgB,aAAa,YAAY,GAAG,KAAA,IAAS;AAEzG,QAAM,eAAe,OAAuB,IAAI;AAChD,QAAM,kBAAkB,OAAgB,MAAM,WAAW,MAAS;AAClE,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAAkB,MAAM,WAAW,SAAY,QAAQ,KAAK;AAEhH,QAAM,iBAAiB,gBAAgB,UAAU,CAAC,CAAC,SAAS;AAE5D,QAAM,aAAa;AAAA,IACf,CAAC,eAAwB;AACrB,UAAI,gBAAgB,SAAS;AACzB,qBAAa,UAAU,UAAU;AACjC;AAAA,MACJ;AACA,4BAAsB,UAAU;AAAA,IACpC;AAAA,IACA,CAAC,SAAS;AAAA,EAAA;AAGd,YAAU,MAAM;AACZ,QAAI,CAAC,gBAAgB;AACjB;AAAA,IACJ;AAEA,UAAM,gBAAgB,CAAC,UAAyB;AAC5C,YAAM,MAAuB,MAAM,QAAQ,MAAM;AACjD,UAAI,gBAAgB;AAChB,YAAI,MAAM,KAAK,QAAQ,KAAM,cAAc,MAAM,KAAK,KAAK,GAAI;AAC3D,qBAAW,KAAK;AAAA,QACpB;AAAA,MACJ;AAAA,IACJ;AAEA,UAAM,qBAAqB,CAAC,UAAiB;AACzC,YAAM,SAAS,aAAa;AAC5B,YAAM,WAAW,YAAY;AAE7B,UAAI,gBAAgB;AAChB,cAAM,aAAa,MAAM;AACzB,YAAI,cAAc,EAAC,iCAAQ,SAAS,gBAAe,EAAC,qCAAU,SAAS,cAAa;AAChF,qBAAW,KAAK;AAAA,QACpB;AAAA,MACJ;AAAA,IACJ;AAEA,aAAS,iBAAiB,WAAW,aAAa;AAClD,aAAS,iBAAiB,aAAa,kBAAkB;AACzD,aAAS,iBAAiB,cAAc,kBAAkB;AAE1D,WAAO,MAAM;AACT,eAAS,oBAAoB,WAAW,aAAa;AACrD,eAAS,oBAAoB,aAAa,kBAAkB;AAC5D,eAAS,oBAAoB,cAAc,kBAAkB;AAAA,IACjE;AAAA,EACJ,GAAG,CAAC,gBAAgB,YAAY,aAAa,YAAY,YAAY,CAAC;AAEtE,QAAM,aAAa,KAAK,OAAO,wBAAwB,SAAS;AAEhE,8BACK,OAAA,EAAI,WAAW,YAAY,KAAK,cAAe,GAAG,MAC9C,UAAA;AAAA,IAAA,aAAa,EAAE,QAAQ,gBAAgB,WAAW,YAAY;AAAA,IAC9D,eAAe;AAAA,MACZ,WAAW,OAAO;AAAA,MAClB,QAAQ;AAAA,MACR,WAAW;AAAA,IAAA,CACd;AAAA,EAAA,GACL;AAER;AAEA,uBAAuB,WAAW;AAClC,uBAAuB,eAAe;"}
1
+ {"version":3,"file":"ButtonDropdownExtended.js","sources":["../../../src/components/Button/ButtonDropdownExtended.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { Dropdown } from \"@sberbusiness/triplex-next/components/Dropdown/Dropdown\";\nimport { isKey } from \"@sberbusiness/triplex-next/utils/keyboard\";\nimport { DropdownList } from \"@sberbusiness/triplex-next/components/Dropdown/desktop/DropdownList\";\nimport clsx from \"clsx\";\nimport styles from \"./styles/ButtonDropdownExtended.module.less\";\n\n/** Свойства встроенной кнопки. */\nexport interface IButtonDropdownExtendedButtonProvideProps {\n /** Контролируемое состояние открытости. */\n opened: boolean;\n /** Функция, контролирующая состояние открытости. */\n setOpened: (opened: boolean) => void;\n}\n\n/** Свойства встроенного выпадающего блока. */\nexport interface IButtonDropdownExtendedDropdownProvideProps {\n /** Контролируемое состояние открытости. */\n opened: boolean;\n /** Функция, контролирующая состояние открытости. */\n setOpened: (opened: boolean) => void;\n /** Пробрасываемый стилевой класс. */\n className: string;\n}\n\n/** Свойства кнопки с выпадающим блоком. */\nexport interface IButtonDropdownExtendedProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Контролируемое состояние открытости. Если передан на первом рендере, компонент работает в контролируемом режиме. */\n opened?: boolean;\n /** Функция, контролирующая состояние открытости. Вызывается только в контролируемом режиме. */\n setOpened?: (opened: boolean) => void;\n /** Функция, отрисовывающая кнопку. */\n renderButton: (props: IButtonDropdownExtendedButtonProvideProps) => React.ReactNode;\n /** Функция, отрисовывающая выпадающий блок. */\n renderDropdown: (props: IButtonDropdownExtendedDropdownProvideProps) => React.ReactNode;\n /** Ссылка на выпадающий блок. Нужна, чтобы клик внутри блока не считался кликом снаружи. */\n dropdownRef: React.RefObject<HTMLElement>;\n /** Закрытие выпадающего блока при нажатии клавиши Tab. */\n closeOnTab?: boolean;\n}\n\n/** Тип компонента \"Кнопка с выпадающим блоком\" со статическими субкомпонентами. */\nexport interface IButtonDropdownExtendedComponent extends React.FC<IButtonDropdownExtendedProps> {\n /** Выпадающий блок. */\n Dropdown: typeof Dropdown;\n /** Список опций для выпадающего блока. */\n DropdownList: typeof DropdownList;\n}\n\n/**\n * Компонент \"Кнопка с выпадающим блоком\".\n * Позволяет кастомизировать кнопку открытия Dropdown и сам Dropdown через render-функции.\n * Пока блок открыт, слушает документ и закрывает его по Escape, по Tab (при closeOnTab)\n * и по клику вне кнопки и вне выпадающего блока.\n */\nexport const ButtonDropdownExtended: IButtonDropdownExtendedComponent = (props) => {\n const { className, opened, setOpened, renderButton, renderDropdown, dropdownRef, closeOnTab, ...rest } = props;\n\n const containerRef = useRef<HTMLDivElement>(null);\n // Режим управления фиксируется на монтировании и дальше не меняется.\n const [isControlled] = useState<boolean>(() => opened !== undefined);\n const [uncontrolledOpened, setUncontrolledOpened] = useState<boolean>(false);\n\n const computedOpened = isControlled ? !!opened : uncontrolledOpened;\n\n const handleOpenedChange = useCallback(\n (nextOpened: boolean) => {\n if (isControlled) {\n setOpened?.(nextOpened);\n return;\n }\n setUncontrolledOpened(nextOpened);\n },\n [isControlled, setOpened],\n );\n\n useEffect(() => {\n if (!computedOpened) {\n return;\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const key: string | number = event.code || event.keyCode;\n\n if (isKey(key, \"ESCAPE\") || (closeOnTab && isKey(key, \"TAB\"))) {\n handleOpenedChange(false);\n }\n };\n\n const handleClickOutside = (event: Event) => {\n const button = containerRef.current;\n const dropdown = dropdownRef.current;\n const targetNode = event.target as Node | null;\n\n if (targetNode && !button?.contains(targetNode) && !dropdown?.contains(targetNode)) {\n handleOpenedChange(false);\n }\n };\n\n document.addEventListener(\"keydown\", handleKeyDown);\n document.addEventListener(\"mousedown\", handleClickOutside);\n document.addEventListener(\"touchstart\", handleClickOutside);\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n document.removeEventListener(\"mousedown\", handleClickOutside);\n document.removeEventListener(\"touchstart\", handleClickOutside);\n };\n }, [computedOpened, closeOnTab, dropdownRef, handleOpenedChange]);\n\n const classNames = clsx(styles.buttonDropdownExtended, className);\n\n return (\n <div className={classNames} ref={containerRef} {...rest}>\n {renderButton({ opened: computedOpened, setOpened: handleOpenedChange })}\n {renderDropdown({\n className: styles.buttonDropdownExtendedBlock,\n opened: computedOpened,\n setOpened: handleOpenedChange,\n })}\n </div>\n );\n};\n\nButtonDropdownExtended.Dropdown = Dropdown;\nButtonDropdownExtended.DropdownList = DropdownList;\n"],"names":[],"mappings":";;;;;;;;;;;;AAuDO,MAAM,yBAA2D,CAAC,UAAU;AAC/E,QAAM,EAAE,WAAW,QAAQ,WAAW,cAAc,gBAAgB,aAAa,YAAY,GAAG,KAAA,IAAS;AAEzG,QAAM,eAAe,OAAuB,IAAI;AAEhD,QAAM,CAAC,YAAY,IAAI,SAAkB,MAAM,WAAW,MAAS;AACnE,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAAkB,KAAK;AAE3E,QAAM,iBAAiB,eAAe,CAAC,CAAC,SAAS;AAEjD,QAAM,qBAAqB;AAAA,IACvB,CAAC,eAAwB;AACrB,UAAI,cAAc;AACd,+CAAY;AACZ;AAAA,MACJ;AACA,4BAAsB,UAAU;AAAA,IACpC;AAAA,IACA,CAAC,cAAc,SAAS;AAAA,EAAA;AAG5B,YAAU,MAAM;AACZ,QAAI,CAAC,gBAAgB;AACjB;AAAA,IACJ;AAEA,UAAM,gBAAgB,CAAC,UAAyB;AAC5C,YAAM,MAAuB,MAAM,QAAQ,MAAM;AAEjD,UAAI,MAAM,KAAK,QAAQ,KAAM,cAAc,MAAM,KAAK,KAAK,GAAI;AAC3D,2BAAmB,KAAK;AAAA,MAC5B;AAAA,IACJ;AAEA,UAAM,qBAAqB,CAAC,UAAiB;AACzC,YAAM,SAAS,aAAa;AAC5B,YAAM,WAAW,YAAY;AAC7B,YAAM,aAAa,MAAM;AAEzB,UAAI,cAAc,EAAC,iCAAQ,SAAS,gBAAe,EAAC,qCAAU,SAAS,cAAa;AAChF,2BAAmB,KAAK;AAAA,MAC5B;AAAA,IACJ;AAEA,aAAS,iBAAiB,WAAW,aAAa;AAClD,aAAS,iBAAiB,aAAa,kBAAkB;AACzD,aAAS,iBAAiB,cAAc,kBAAkB;AAE1D,WAAO,MAAM;AACT,eAAS,oBAAoB,WAAW,aAAa;AACrD,eAAS,oBAAoB,aAAa,kBAAkB;AAC5D,eAAS,oBAAoB,cAAc,kBAAkB;AAAA,IACjE;AAAA,EACJ,GAAG,CAAC,gBAAgB,YAAY,aAAa,kBAAkB,CAAC;AAEhE,QAAM,aAAa,KAAK,OAAO,wBAAwB,SAAS;AAEhE,8BACK,OAAA,EAAI,WAAW,YAAY,KAAK,cAAe,GAAG,MAC9C,UAAA;AAAA,IAAA,aAAa,EAAE,QAAQ,gBAAgB,WAAW,oBAAoB;AAAA,IACtE,eAAe;AAAA,MACZ,WAAW,OAAO;AAAA,MAClB,QAAQ;AAAA,MACR,WAAW;AAAA,IAAA,CACd;AAAA,EAAA,GACL;AAER;AAEA,uBAAuB,WAAW;AAClC,uBAAuB,eAAe;"}
@@ -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-Bco_z_Yi.js";
3
+ import { c as clsx } from "../../chunks/vendor-CtuAQuEN.js";
4
4
  import { EButtonIconShape } from "./enums.js";
5
5
  import { IconWrapper } from "../IconWrapper/IconWrapper.js";
6
- const buttonIcon = "buttonIcon__46c7b481";
7
- const circle = "circle__8149591b";
8
- const squircle = "squircle__71da97ad";
6
+ const buttonIcon = "buttonIcon__1cb0f0e4";
7
+ const circle = "circle__f9cee541";
8
+ const squircle = "squircle__c39cd653";
9
9
  const styles = {
10
10
  buttonIcon,
11
11
  circle,
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonIcon.js","sources":["../../../src/components/Button/ButtonIcon.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport { DataAttributes } from \"@sberbusiness/triplex-next/types/CoreTypes\";\nimport { EButtonIconShape } from \"@sberbusiness/triplex-next/components/Button/enums\";\nimport { IconWrapper } from \"@sberbusiness/triplex-next/components/IconWrapper\";\nimport styles from \"./styles/ButtonIcon.module.less\";\n\nconst SHAPE_TO_CLASS_NAME_MAP: Record<EButtonIconShape, string> = {\n [EButtonIconShape.SQUIRCLE]: styles.squircle,\n [EButtonIconShape.CIRCLE]: styles.circle,\n};\n\n/** Свойства компонента ButtonIcon. */\nexport interface IButtonIconProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, DataAttributes {\n /** Форма границы кнопки. */\n shape?: EButtonIconShape;\n /** Активное состояние. */\n active?: boolean;\n}\n\n/** Кнопка-иконка. */\nexport const ButtonIcon = React.forwardRef<HTMLButtonElement, IButtonIconProps>(\n ({ className, disabled, shape = EButtonIconShape.SQUIRCLE, active, ...rest }, ref) => {\n const classNames = clsx(styles.buttonIcon, SHAPE_TO_CLASS_NAME_MAP[shape], className);\n\n return (\n <IconWrapper displayContents disabled={disabled} active={active}>\n <button type=\"button\" className={classNames} disabled={disabled} {...rest} ref={ref} />\n </IconWrapper>\n );\n },\n);\n\nButtonIcon.displayName = \"ButtonIcon\";\n"],"names":["React"],"mappings":";;;;;;;;;;;;;AAOA,MAAM,0BAA4D;AAAA,EAC9D,CAAC,iBAAiB,QAAQ,GAAG,OAAO;AAAA,EACpC,CAAC,iBAAiB,MAAM,GAAG,OAAO;AACtC;AAWO,MAAM,aAAaA,eAAM;AAAA,EAC5B,CAAC,EAAE,WAAW,UAAU,QAAQ,iBAAiB,UAAU,QAAQ,GAAG,KAAA,GAAQ,QAAQ;AAClF,UAAM,aAAa,KAAK,OAAO,YAAY,wBAAwB,KAAK,GAAG,SAAS;AAEpF,+BACK,aAAA,EAAY,iBAAe,MAAC,UAAoB,QAC7C,UAAA,oBAAC,UAAA,EAAO,MAAK,UAAS,WAAW,YAAY,UAAqB,GAAG,MAAM,KAAU,GACzF;AAAA,EAER;AACJ;AAEA,WAAW,cAAc;"}
1
+ {"version":3,"file":"ButtonIcon.js","sources":["../../../src/components/Button/ButtonIcon.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport { DataAttributes } from \"../../types/CoreTypes\";\nimport { EButtonIconShape } from \"./enums\";\nimport { IconWrapper } from \"../IconWrapper\";\nimport styles from \"./styles/ButtonIcon.module.less\";\n\nconst SHAPE_TO_CLASS_NAME_MAP: Record<EButtonIconShape, string> = {\n [EButtonIconShape.SQUIRCLE]: styles.squircle,\n [EButtonIconShape.CIRCLE]: styles.circle,\n};\n\n/** Свойства компонента ButtonIcon. */\nexport interface IButtonIconProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, DataAttributes {\n /** Форма границы кнопки. По умолчанию EButtonIconShape.SQUIRCLE. */\n shape?: EButtonIconShape;\n /** Активное состояние. По умолчанию false. */\n active?: boolean;\n /**\n * Содержимое кнопки, обычно иконка из @sberbusiness/icons-next.\n * Не деструктурируется отдельно — уходит на корневой button внутри ...rest.\n */\n children?: React.ReactNode;\n}\n\n/**\n * Кнопка-иконка — компактный интерактивный элемент без текстового контента.\n * Размер задаётся размером переданной иконки. Требует aria-label от потребителя.\n */\nexport const ButtonIcon = React.forwardRef<HTMLButtonElement, IButtonIconProps>(\n ({ className, disabled, shape = EButtonIconShape.SQUIRCLE, active, ...rest }, ref) => {\n const classNames = clsx(styles.buttonIcon, SHAPE_TO_CLASS_NAME_MAP[shape], className);\n\n return (\n <IconWrapper displayContents disabled={disabled} active={active}>\n <button type=\"button\" className={classNames} disabled={disabled} {...rest} ref={ref} />\n </IconWrapper>\n );\n },\n);\n\nButtonIcon.displayName = \"ButtonIcon\";\n"],"names":["React"],"mappings":";;;;;;;;;;;;;AAOA,MAAM,0BAA4D;AAAA,EAC9D,CAAC,iBAAiB,QAAQ,GAAG,OAAO;AAAA,EACpC,CAAC,iBAAiB,MAAM,GAAG,OAAO;AACtC;AAmBO,MAAM,aAAaA,eAAM;AAAA,EAC5B,CAAC,EAAE,WAAW,UAAU,QAAQ,iBAAiB,UAAU,QAAQ,GAAG,KAAA,GAAQ,QAAQ;AAClF,UAAM,aAAa,KAAK,OAAO,YAAY,wBAAwB,KAAK,GAAG,SAAS;AAEpF,+BACK,aAAA,EAAY,iBAAe,MAAC,UAAoB,QAC7C,UAAA,oBAAC,UAAA,EAAO,MAAK,UAAS,WAAW,YAAY,UAAqB,GAAG,MAAM,KAAU,GACzF;AAAA,EAER;AACJ;AAEA,WAAW,cAAc;"}
@@ -1,12 +1,10 @@
1
1
  import { Button } from "./Button.js";
2
- import { ButtonBase } from "./ButtonBase.js";
3
2
  import { ButtonIcon } from "./ButtonIcon.js";
4
3
  import { ButtonDropdown } from "./ButtonDropdown.js";
5
4
  import { ButtonDropdownExtended } from "./ButtonDropdownExtended.js";
6
5
  import { EButtonDotsTheme, EButtonIconShape, EButtonTheme } from "./enums.js";
7
6
  export {
8
7
  Button,
9
- ButtonBase,
10
8
  ButtonDropdown,
11
9
  ButtonDropdownExtended,
12
10
  ButtonIcon,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -3,7 +3,7 @@ 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 { jsx, jsxs } from "react/jsx-runtime";
5
5
  import React__default from "react";
6
- import { u as uniqueId, c as clsx } from "../../chunks/vendor-Bco_z_Yi.js";
6
+ import { u as uniqueId, c as clsx } from "../../chunks/vendor-CtuAQuEN.js";
7
7
  import moment from "moment";
8
8
  import { globalLimitRange, dateFormatYYYYMMDD } from "../../consts/DateConst.js";
9
9
  import { EComponentSize } from "../../enums/EComponentSize.js";
@@ -14,9 +14,9 @@ import { CalendarView } from "./components/CalendarView.js";
14
14
  import { CalendarFooter } from "./components/CalendarFooter.js";
15
15
  import { CalendarFooterButton } from "./components/CalendarFooterButton.js";
16
16
  import { parsePickedDate, formatDate, getHeader } from "./utils.js";
17
- const calendar = "calendar__ad874d96";
18
- const extraBottom = "extraBottom__0a5f283b";
19
- const adaptive = "adaptive__cf50dfc5";
17
+ const calendar = "calendar__96a77ab0";
18
+ const extraBottom = "extraBottom__698ece52";
19
+ const adaptive = "adaptive__171145a1";
20
20
  const styles = {
21
21
  calendar,
22
22
  extraBottom,
@@ -180,7 +180,7 @@ class Calendar extends React__default.PureComponent {
180
180
  this.props.adaptiveMode ? styles.adaptive : (viewMode !== ECalendarViewMode.DAYS || todayButtonProps) && styles.extraBottom
181
181
  );
182
182
  const pickedDate = parsePickedDate(this.props.pickedDate, format);
183
- return /* @__PURE__ */ jsx("div", { className: classNames, "data-tx": "1.38.0", children: /* @__PURE__ */ jsxs(
183
+ return /* @__PURE__ */ jsx("div", { className: classNames, "data-tx": "1.40.0", children: /* @__PURE__ */ jsxs(
184
184
  CalendarContext.Provider,
185
185
  {
186
186
  value: {
@@ -8,7 +8,7 @@ import { EButtonIconShape, EButtonTheme } from "../../Button/enums.js";
8
8
  import { ECalendarViewMode } from "../enums.js";
9
9
  import { globalLimitRange } from "../../../consts/DateConst.js";
10
10
  import { EComponentSize } from "../../../enums/EComponentSize.js";
11
- const calendarControls = "calendarControls__8f0bfa07";
11
+ const calendarControls = "calendarControls__1d40b282";
12
12
  const styles = {
13
13
  calendarControls
14
14
  };
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- const calendarFooter = "calendarFooter__9d52a737";
2
+ const calendarFooter = "calendarFooter__7f8c6672";
3
3
  const styles = {
4
4
  calendarFooter
5
5
  };
@@ -1,11 +1,11 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useContext, useCallback, useState, useEffect } from "react";
3
3
  import moment from "moment";
4
- import { c as clsx } from "../../../chunks/vendor-Bco_z_Yi.js";
4
+ import { c as clsx } from "../../../chunks/vendor-CtuAQuEN.js";
5
5
  import { isDateOutOfRange, isDayDisabled } from "../utils.js";
6
6
  import { WEEKDAYS_SET } from "../../../consts/DateConst.js";
7
7
  import { CalendarViewContext } from "../CalendarViewContext.js";
8
- import { s as styles, C as CalendarViewItem } from "../../../chunks/CalendarViewItem-BN36lbJt.js";
8
+ import { s as styles, C as CalendarViewItem } from "../../../chunks/CalendarViewItem-knPscTce.js";
9
9
  import { isKey } from "../../../utils/keyboard.js";
10
10
  import { ECalendarDateMarkType, ECalendarViewMode } from "../enums.js";
11
11
  import { CalendarContext } from "../CalendarContext.js";
@@ -1,10 +1,10 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import "../../../chunks/vendor-Bco_z_Yi.js";
3
+ import "../../../chunks/vendor-CtuAQuEN.js";
4
4
  import "../enums.js";
5
5
  import "../CalendarViewContext.js";
6
6
  import "../../../utils/keyboard.js";
7
- import { C } from "../../../chunks/CalendarViewItem-BN36lbJt.js";
7
+ import { C } from "../../../chunks/CalendarViewItem-knPscTce.js";
8
8
  export {
9
9
  C as CalendarViewItem
10
10
  };
@@ -4,7 +4,7 @@ import moment from "moment";
4
4
  import { CalendarContext } from "../CalendarContext.js";
5
5
  import { CalendarViewContext } from "../CalendarViewContext.js";
6
6
  import { isDateOutOfRange } from "../utils.js";
7
- import { s as styles, C as CalendarViewItem } from "../../../chunks/CalendarViewItem-BN36lbJt.js";
7
+ import { s as styles, C as CalendarViewItem } from "../../../chunks/CalendarViewItem-knPscTce.js";
8
8
  import { isKey } from "../../../utils/keyboard.js";
9
9
  import { ECalendarPickType, ECalendarViewMode } from "../enums.js";
10
10
  const CalendarViewMonths = ({ pickedDate, monthHtmlAttributes = {} }) => {
@@ -4,7 +4,7 @@ import moment from "moment";
4
4
  import { CalendarContext } from "../CalendarContext.js";
5
5
  import { CalendarViewContext } from "../CalendarViewContext.js";
6
6
  import { isDateOutOfRange } from "../utils.js";
7
- import { s as styles, C as CalendarViewItem } from "../../../chunks/CalendarViewItem-BN36lbJt.js";
7
+ import { s as styles, C as CalendarViewItem } from "../../../chunks/CalendarViewItem-knPscTce.js";
8
8
  import { isKey } from "../../../utils/keyboard.js";
9
9
  import { ECalendarViewMode } from "../enums.js";
10
10
  const CalendarViewYears = ({ pickedDate, yearHtmlAttributes = {} }) => {