@sberbusiness/triplex-next 1.40.0 → 1.41.1

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 (599) hide show
  1. package/chunks/{AlertProcessSpoiler-BNrk1vyk.js → AlertProcessSpoiler-Dnwmfds3.js} +16 -16
  2. package/chunks/{AlertProcessSpoiler-BNrk1vyk.js.map → AlertProcessSpoiler-Dnwmfds3.js.map} +1 -1
  3. package/chunks/{CalendarViewItem-knPscTce.js → CalendarViewItem-CeA4XADM.js} +30 -28
  4. package/chunks/CalendarViewItem-CeA4XADM.js.map +1 -0
  5. package/chunks/Card.module-CnX8TfnM.js +32 -0
  6. package/chunks/Card.module-CnX8TfnM.js.map +1 -0
  7. package/chunks/Carousel.module-By3qExUV.js +30 -0
  8. package/chunks/Carousel.module-By3qExUV.js.map +1 -0
  9. package/chunks/CheckboxTreeExtended.module-9l5Ifhk7.js +24 -0
  10. package/chunks/CheckboxTreeExtended.module-9l5Ifhk7.js.map +1 -0
  11. package/chunks/{Chip-CI8ALCUS.js → Chip-B5RNQL8v.js} +27 -27
  12. package/chunks/Chip-B5RNQL8v.js.map +1 -0
  13. package/chunks/Confirm.module-Cpg9tBFI.js +24 -0
  14. package/chunks/Confirm.module-Cpg9tBFI.js.map +1 -0
  15. package/chunks/{DropdownListItem-BqOoPFSx.js → DropdownListItem-BVgGltGX.js} +10 -10
  16. package/chunks/{DropdownListItem-BqOoPFSx.js.map → DropdownListItem-BVgGltGX.js.map} +1 -1
  17. package/chunks/DropdownMobile.module-DRF4HXhL.js +40 -0
  18. package/chunks/DropdownMobile.module-DRF4HXhL.js.map +1 -0
  19. package/chunks/Footer.module-C3ICz5DE.js +12 -0
  20. package/chunks/Footer.module-C3ICz5DE.js.map +1 -0
  21. package/chunks/{HeaderLayoutSidebar.module-MnhSBdiv.js → HeaderLayoutSidebar.module-CfWoWqQ1.js} +4 -4
  22. package/chunks/HeaderLayoutSidebar.module-CfWoWqQ1.js.map +1 -0
  23. package/chunks/HeaderTabs.module-CQ5eAWqH.js +12 -0
  24. package/chunks/HeaderTabs.module-CQ5eAWqH.js.map +1 -0
  25. package/chunks/{HeaderTitle.module-BGOYMt6r.js → HeaderTitle.module-DeWO1h-Y.js} +4 -4
  26. package/chunks/HeaderTitle.module-DeWO1h-Y.js.map +1 -0
  27. package/chunks/ImageGalleryExtendedMain.module-Ci9TjdxN.js +28 -0
  28. package/chunks/ImageGalleryExtendedMain.module-Ci9TjdxN.js.map +1 -0
  29. package/chunks/{ImageGalleryExtendedThumb-D6RAJpt8.js → ImageGalleryExtendedThumb-BWOvPHBA.js} +5 -5
  30. package/chunks/{ImageGalleryExtendedThumb-D6RAJpt8.js.map → ImageGalleryExtendedThumb-BWOvPHBA.js.map} +1 -1
  31. package/chunks/IslandAccordion.module-DDGI83_h.js +44 -0
  32. package/chunks/IslandAccordion.module-DDGI83_h.js.map +1 -0
  33. package/chunks/IslandWidgetFooter.module-DPeifuz4.js +12 -0
  34. package/chunks/IslandWidgetFooter.module-DPeifuz4.js.map +1 -0
  35. package/chunks/IslandWidgetHeader.module-6il25_jE.js +20 -0
  36. package/chunks/IslandWidgetHeader.module-6il25_jE.js.map +1 -0
  37. package/chunks/{LightBoxContent-d_LBU_ZW.js → LightBoxContent-CfT1YJ33.js} +14 -14
  38. package/chunks/{LightBoxContent-d_LBU_ZW.js.map → LightBoxContent-CfT1YJ33.js.map} +1 -1
  39. package/chunks/LightBoxControls.module-Cs64xjct.js +26 -0
  40. package/chunks/LightBoxControls.module-Cs64xjct.js.map +1 -0
  41. package/chunks/{LightBoxSideOverlayClose.module-eTdxNvSz.js → LightBoxSideOverlayClose.module-sV6yxJQT.js} +4 -4
  42. package/chunks/LightBoxSideOverlayClose.module-sV6yxJQT.js.map +1 -0
  43. package/chunks/{ListItemControlsButton-D2ONoqII.js → ListItemControlsButton-Cs8N-_FI.js} +9 -9
  44. package/chunks/{ListItemControlsButton-D2ONoqII.js.map → ListItemControlsButton-Cs8N-_FI.js.map} +1 -1
  45. package/chunks/ListItemTail.module-Cv3Fx6WM.js +18 -0
  46. package/chunks/ListItemTail.module-Cv3Fx6WM.js.map +1 -0
  47. package/chunks/ListMasterFooter.module-DcmWf5IP.js +14 -0
  48. package/chunks/ListMasterFooter.module-DcmWf5IP.js.map +1 -0
  49. package/chunks/ModalWindow.module-BsRM6pWm.js +28 -0
  50. package/chunks/ModalWindow.module-BsRM6pWm.js.map +1 -0
  51. package/chunks/Notification.module-Diy7bSw7.js +34 -0
  52. package/chunks/Notification.module-Diy7bSw7.js.map +1 -0
  53. package/chunks/Overlay.module-Bc3D2mQ-.js +30 -0
  54. package/chunks/Overlay.module-Bc3D2mQ-.js.map +1 -0
  55. package/chunks/Page.module-CqkiljCk.js +15 -0
  56. package/chunks/Page.module-CqkiljCk.js.map +1 -0
  57. package/chunks/SMSField.module-BY_XV_HG.js +26 -0
  58. package/chunks/SMSField.module-BY_XV_HG.js.map +1 -0
  59. package/chunks/SliderExtendedMarks.module-DXI6Xg6v.js +24 -0
  60. package/chunks/SliderExtendedMarks.module-DXI6Xg6v.js.map +1 -0
  61. package/chunks/{SliderExtendedRail-CVEwe6OK.js → SliderExtendedRail-D7gQetwK.js} +5 -5
  62. package/chunks/{SliderExtendedRail-CVEwe6OK.js.map → SliderExtendedRail-D7gQetwK.js.map} +1 -1
  63. package/chunks/StatusTracker.module-DYVyu4Qv.js +44 -0
  64. package/chunks/StatusTracker.module-DYVyu4Qv.js.map +1 -0
  65. package/chunks/{StepperStepArrowBorder-BO_ItxMh.js → StepperStepArrowBorder-CY-4Rorx.js} +16 -16
  66. package/chunks/{StepperStepArrowBorder-BO_ItxMh.js.map → StepperStepArrowBorder-CY-4Rorx.js.map} +1 -1
  67. package/chunks/{SuggestFieldMobileDropdownHint-DyfJuyUe.js → SuggestFieldMobileDropdownHint-B4k9UKDH.js} +3 -3
  68. package/chunks/{SuggestFieldMobileDropdownHint-DyfJuyUe.js.map → SuggestFieldMobileDropdownHint-B4k9UKDH.js.map} +1 -1
  69. package/chunks/TableFooter.module-C1BtmpbW.js +22 -0
  70. package/chunks/TableFooter.module-C1BtmpbW.js.map +1 -0
  71. package/chunks/TabsExtended.module-BVBDZGtj.js +26 -0
  72. package/chunks/TabsExtended.module-BVBDZGtj.js.map +1 -0
  73. package/chunks/TabsLine.module-DXgk6eNb.js +36 -0
  74. package/chunks/TabsLine.module-DXgk6eNb.js.map +1 -0
  75. package/chunks/TooltipDesktop.module-BKIRlstC.js +32 -0
  76. package/chunks/TooltipDesktop.module-BKIRlstC.js.map +1 -0
  77. package/chunks/TreeView.module-BZWQB1ox.js +12 -0
  78. package/chunks/TreeView.module-BZWQB1ox.js.map +1 -0
  79. package/chunks/{UploadZoneInput-BHUONqVR.js → UploadZoneInput-BdhIPJdP.js} +5 -5
  80. package/chunks/{UploadZoneInput-BHUONqVR.js.map → UploadZoneInput-BdhIPJdP.js.map} +1 -1
  81. package/chunks/{constants-C-WrqYH6.js → constants-Cn8ZrJM2.js} +27 -27
  82. package/chunks/{constants-C-WrqYH6.js.map → constants-Cn8ZrJM2.js.map} +1 -1
  83. package/chunks/{utils-BHxrQbA6.js → utils-Cr7DslJx.js} +8 -8
  84. package/chunks/utils-Cr7DslJx.js.map +1 -0
  85. package/chunks/{utils-D4UOxU49.js → utils-Dhu3zNqv.js} +27 -27
  86. package/chunks/{utils-D4UOxU49.js.map → utils-Dhu3zNqv.js.map} +1 -1
  87. package/chunks/{utils-BaakoACO.js → utils-Fg8ptXcX.js} +6 -6
  88. package/chunks/{utils-BaakoACO.js.map → utils-Fg8ptXcX.js.map} +1 -1
  89. package/chunks/{utils-g0xZYVuS.js → utils-QF2QqBDT.js} +11 -11
  90. package/chunks/{utils-g0xZYVuS.js.map → utils-QF2QqBDT.js.map} +1 -1
  91. package/components/Alert/AlertContext/AlertContext.js +7 -7
  92. package/components/Alert/AlertProcess/AlertProcess.js +2 -2
  93. package/components/Alert/AlertProcess/components/AlertProcessSpoiler.js +1 -1
  94. package/components/Amount/Amount.js +2 -2
  95. package/components/Avatar/Avatar.js +13 -13
  96. package/components/Badge/Badge.js +4 -4
  97. package/components/Badge/BadgeDot.js +4 -4
  98. package/components/Badge/components/BadgeContent.js +6 -6
  99. package/components/Badge/components/BadgePostfix.js +1 -1
  100. package/components/Badge/components/BadgePrefix.js +1 -1
  101. package/components/Body/Body.js +3 -3
  102. package/components/Button/Button.js +20 -20
  103. package/components/Button/ButtonBase.js +1 -1
  104. package/components/Button/ButtonDropdown.js +8 -8
  105. package/components/Button/ButtonDropdownExtended.js +2 -2
  106. package/components/Button/ButtonIcon.js +3 -3
  107. package/components/Calendar/Calendar.js +16 -16
  108. package/components/Calendar/Calendar.js.map +1 -1
  109. package/components/Calendar/CalendarContext.js.map +1 -1
  110. package/components/Calendar/CalendarViewContext.js.map +1 -1
  111. package/components/Calendar/components/CalendarControls.js +12 -32
  112. package/components/Calendar/components/CalendarControls.js.map +1 -1
  113. package/components/Calendar/components/CalendarFooter.js +3 -2
  114. package/components/Calendar/components/CalendarFooter.js.map +1 -1
  115. package/components/Calendar/components/CalendarView.js +1 -0
  116. package/components/Calendar/components/CalendarView.js.map +1 -1
  117. package/components/Calendar/components/CalendarViewDays.js +31 -55
  118. package/components/Calendar/components/CalendarViewDays.js.map +1 -1
  119. package/components/Calendar/components/CalendarViewItem.js +1 -1
  120. package/components/Calendar/components/CalendarViewMonths.js +30 -52
  121. package/components/Calendar/components/CalendarViewMonths.js.map +1 -1
  122. package/components/Calendar/components/CalendarViewYears.js +34 -55
  123. package/components/Calendar/components/CalendarViewYears.js.map +1 -1
  124. package/components/Calendar/utils.js +43 -10
  125. package/components/Calendar/utils.js.map +1 -1
  126. package/components/Card/CardAction.js +5 -5
  127. package/components/Card/CardStatic.js +2 -2
  128. package/components/Card/components/CardContent/CardContent.js +1 -1
  129. package/components/Card/components/CardContent/components/CardContentBody.js +1 -1
  130. package/components/Card/components/CardContent/components/CardContentFooter.js +1 -1
  131. package/components/Card/components/CardContent/components/CardContentHeader.js +1 -1
  132. package/components/Card/components/CardMedia.js +1 -1
  133. package/components/Card/enums.js +1 -0
  134. package/components/Card/enums.js.map +1 -1
  135. package/components/Card/utils.js +2 -1
  136. package/components/Card/utils.js.map +1 -1
  137. package/components/Carousel/Carousel.js +1 -1
  138. package/components/Carousel/CarouselButton.js +1 -1
  139. package/components/Carousel/CarouselIndicators.js +1 -1
  140. package/components/Carousel/CarouselItem.js +1 -1
  141. package/components/Carousel/CarouselTrack.js +1 -1
  142. package/components/Carousel/CarouselViewport.js +1 -1
  143. package/components/CarouselExtended/CarouselExtended.js +1 -1
  144. package/components/Checkbox/Checkbox.js +10 -10
  145. package/components/Checkbox/CheckboxXGroup.js +8 -8
  146. package/components/Checkbox/CheckboxYGroup.js +1 -1
  147. package/components/CheckboxTreeExtended/CheckboxTreeExtended.js +1 -1
  148. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedArrow.js +1 -1
  149. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedCheckbox.js +1 -1
  150. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedNode.js +1 -1
  151. package/components/Chip/Chip.js +1 -1
  152. package/components/Chip/ChipClearButton.js +1 -1
  153. package/components/Chip/ChipDatePicker/ChipDatePicker.js +1 -1
  154. package/components/Chip/ChipDatePicker/ChipDatePickerTarget.js +1 -1
  155. package/components/Chip/ChipDropdownArrow.js +2 -2
  156. package/components/Chip/ChipIcon.js +1 -1
  157. package/components/Chip/ChipMultiselect.js +1 -1
  158. package/components/Chip/ChipOptions.js +2 -2
  159. package/components/Chip/ChipSelect/ChipSelect.js +1 -1
  160. package/components/Chip/ChipSelect/ChipSelectTarget.js +1 -1
  161. package/components/Chip/ChipSort.js +1 -1
  162. package/components/Chip/ChipSuggest/ChipSuggest.js +1 -1
  163. package/components/Chip/ChipSuggest/ChipSuggestDropdown.js +1 -1
  164. package/components/Chip/ChipSuggest/ChipSuggestTarget.js +1 -1
  165. package/components/Chip/ChipSuggest/desktop/ChipSuggestDesktopDropdownField.js +1 -1
  166. package/components/Chip/index.js +1 -1
  167. package/components/ChipGroup/ChipGroup.js +7 -7
  168. package/components/Col/Col.js +132 -132
  169. package/components/CollapsibleTree/CollapsibleTree.js +1 -1
  170. package/components/CollapsibleTree/components/CollapsibleTreeLeafContent.js +1 -1
  171. package/components/CollapsibleTree/components/CollapsibleTreeLeafNode.js +1 -1
  172. package/components/CollapsibleTree/components/CollapsibleTreeNodeHeader.js +4 -4
  173. package/components/CollapsibleTreeExtended/components/CollapsibleTreeExtendedNode.js +1 -1
  174. package/components/Confirm/Confirm.js +1 -1
  175. package/components/Confirm/components/ConfirmCloseButton.js +1 -1
  176. package/components/Confirm/components/ConfirmContent.js +1 -1
  177. package/components/Confirm/components/ConfirmContentTitle.js +1 -1
  178. package/components/Confirm/components/ConfirmControls.js +1 -1
  179. package/components/DateField/utils.js +2 -2
  180. package/components/DateField/utils.js.map +1 -1
  181. package/components/DatePickerExtended/DatePickerExtended.js +2 -2
  182. package/components/DatePickerExtended/DatePickerExtendedDropdown.js +1 -1
  183. package/components/DateRange/DateRange.js +3 -3
  184. package/components/DesignTokens/DesignTokenUtils.js +25 -20
  185. package/components/DesignTokens/DesignTokenUtils.js.map +1 -1
  186. package/components/DesignTokens/components/Calendar.js +2 -2
  187. package/components/DesignTokens/components/Calendar.js.map +1 -1
  188. package/components/DesignTokens/components/StatusTracker.js +8 -2
  189. package/components/DesignTokens/components/StatusTracker.js.map +1 -1
  190. package/components/Divider/Divider.js +17 -17
  191. package/components/DocumentNumberEdit/DocumentNumberEdit.js +3 -3
  192. package/components/Dropdown/desktop/DropdownDesktop.js +6 -6
  193. package/components/Dropdown/desktop/DropdownList.js +1 -1
  194. package/components/Dropdown/desktop/DropdownListItem.js +1 -1
  195. package/components/Dropdown/desktop/index.js +1 -1
  196. package/components/Dropdown/index.js +1 -1
  197. package/components/Dropdown/mobile/DropdownMobile.js +2 -2
  198. package/components/Dropdown/mobile/DropdownMobileBody.js +1 -1
  199. package/components/Dropdown/mobile/DropdownMobileClose.js +1 -1
  200. package/components/Dropdown/mobile/DropdownMobileFooter.js +1 -1
  201. package/components/Dropdown/mobile/DropdownMobileHeader.js +1 -1
  202. package/components/Dropdown/mobile/DropdownMobileInner.js +1 -1
  203. package/components/Dropdown/mobile/DropdownMobileInput.js +1 -1
  204. package/components/Dropdown/mobile/DropdownMobileList.js +1 -1
  205. package/components/Dropdown/mobile/DropdownMobileListItem.js +1 -1
  206. package/components/Dropdown/mobile/DropdownMobileLoader.js +1 -1
  207. package/components/Dropdown/mobile/DropdownMobileMaskedInput.js +1 -1
  208. package/components/Ellipsis/Ellipsis.js +3 -3
  209. package/components/EmptyView/EmptyView.js +4 -4
  210. package/components/ExpandAnimation/ExpandAnimation.js +1 -1
  211. package/components/FocusTrapExtended/FocusTrapExtended.js +20 -8
  212. package/components/FocusTrapExtended/FocusTrapExtended.js.map +1 -1
  213. package/components/Footer/Footer.js +1 -1
  214. package/components/Footer/components/FooterDescription.js +1 -1
  215. package/components/Footer/components/FooterDescriptionContent.js +1 -1
  216. package/components/Footer/components/FooterDescriptionControls.js +1 -1
  217. package/components/FormField/FormField.js +20 -20
  218. package/components/FormField/FormField.js.map +1 -1
  219. package/components/FormField/FormFieldContext.js.map +1 -1
  220. package/components/FormField/FormFieldDescriptionContext.js.map +1 -1
  221. package/components/FormField/components/FormFieldClear.js +1 -1
  222. package/components/FormField/components/FormFieldClear.js.map +1 -1
  223. package/components/FormField/components/FormFieldCounter.js +5 -4
  224. package/components/FormField/components/FormFieldCounter.js.map +1 -1
  225. package/components/FormField/components/FormFieldDescription.js +13 -5
  226. package/components/FormField/components/FormFieldDescription.js.map +1 -1
  227. package/components/FormField/components/FormFieldInput.js +7 -8
  228. package/components/FormField/components/FormFieldInput.js.map +1 -1
  229. package/components/FormField/components/FormFieldLabel.js +10 -11
  230. package/components/FormField/components/FormFieldLabel.js.map +1 -1
  231. package/components/FormField/components/FormFieldMaskedInput.js +6 -6
  232. package/components/FormField/components/FormFieldPostfix.js +5 -29
  233. package/components/FormField/components/FormFieldPostfix.js.map +1 -1
  234. package/components/FormField/components/FormFieldPrefix.js +5 -29
  235. package/components/FormField/components/FormFieldPrefix.js.map +1 -1
  236. package/components/FormField/components/FormFieldTarget.js +8 -8
  237. package/components/FormField/components/FormFieldTextarea.js +4 -4
  238. package/components/FormField/components/useFormFieldAffixWidth.js +33 -0
  239. package/components/FormField/components/useFormFieldAffixWidth.js.map +1 -0
  240. package/components/FormField/components/utils.js +9 -1
  241. package/components/FormField/components/utils.js.map +1 -1
  242. package/components/FormField/consts.js.map +1 -1
  243. package/components/FormField/enums.js.map +1 -1
  244. package/components/FormField/index.js +2 -3
  245. package/components/Gap/Gap.js +8 -8
  246. package/components/Header/Header.js +1 -1
  247. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebar.js +1 -1
  248. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarContent.js +1 -1
  249. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarSidebar.js +1 -1
  250. package/components/Header/components/HeaderSubheader/HeaderSubheader.js +2 -2
  251. package/components/Header/components/HeaderTabs/HeaderTabs.js +1 -1
  252. package/components/Header/components/HeaderTabs/HeaderTabsContent.js +1 -1
  253. package/components/Header/components/HeaderTabs/HeaderTabsControls.js +1 -1
  254. package/components/Header/components/HeaderTitle/HeaderTitle.js +1 -1
  255. package/components/Header/components/HeaderTitle/HeaderTitleContent.js +1 -1
  256. package/components/Header/components/HeaderTitle/HeaderTitleControls.js +1 -1
  257. package/components/HelpBox/HelpBox.js +1 -1
  258. package/components/IconWrapper/IconWrapper.js +7 -7
  259. package/components/IconWrapper/IconWrapper.js.map +1 -1
  260. package/components/ImageGallery/ImageGallery.js +1 -1
  261. package/components/ImageGalleryExtended/ImageGalleryExtended.js +2 -2
  262. package/components/ImageGalleryExtended/components/ImageGalleryExtendedArrow.js +1 -1
  263. package/components/ImageGalleryExtended/components/ImageGalleryExtendedDots.js +3 -3
  264. package/components/ImageGalleryExtended/components/ImageGalleryExtendedMain.js +1 -1
  265. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSlide.js +1 -1
  266. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSwipeTrack.js +1 -1
  267. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumb.js +1 -1
  268. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumbnails.js +1 -1
  269. package/components/ImageGalleryExtended/components/index.js +1 -1
  270. package/components/ImageGalleryExtended/index.js +1 -1
  271. package/components/Island/Island.js +3 -3
  272. package/components/Island/Island.js.map +1 -1
  273. package/components/Island/components/IslandBody.js +2 -1
  274. package/components/Island/components/IslandBody.js.map +1 -1
  275. package/components/Island/components/IslandFooter.js +7 -4
  276. package/components/Island/components/IslandFooter.js.map +1 -1
  277. package/components/Island/components/IslandHeader.js +7 -4
  278. package/components/Island/components/IslandHeader.js.map +1 -1
  279. package/components/Island/enums.js.map +1 -1
  280. package/components/Island/utils.js +1 -1
  281. package/components/IslandAccordion/IslandAccordion.js +2 -2
  282. package/components/IslandAccordion/components/IslandAccordionContent.js +1 -1
  283. package/components/IslandAccordion/components/IslandAccordionFooter.js +1 -1
  284. package/components/IslandAccordion/components/IslandAccordionItem.js +2 -2
  285. package/components/IslandWidget/IslandWidget.js +4 -4
  286. package/components/IslandWidget/components/IslandWidgetBody.js +1 -1
  287. package/components/IslandWidget/components/IslandWidgetExtraFooter.js +1 -1
  288. package/components/IslandWidget/components/IslandWidgetFooter.js +1 -1
  289. package/components/IslandWidget/components/IslandWidgetFooterContent.js +1 -1
  290. package/components/IslandWidget/components/IslandWidgetFooterControls.js +1 -1
  291. package/components/IslandWidget/components/IslandWidgetHeader.js +1 -1
  292. package/components/IslandWidget/components/IslandWidgetHeaderContent.js +1 -1
  293. package/components/IslandWidget/components/IslandWidgetHeaderControls.js +1 -1
  294. package/components/IslandWidget/components/IslandWidgetHeaderDescription.js +1 -1
  295. package/components/IslandWidget/components/IslandWidgetHeaderTitle.js +1 -1
  296. package/components/IslandWidget/components/IslandWidgetWrapper.js +1 -1
  297. package/components/KeyDownListener/ComposedKeyDownListener.js +7 -8
  298. package/components/KeyDownListener/ComposedKeyDownListener.js.map +1 -1
  299. package/components/KeyDownListener/KeyDownListener.js +3 -4
  300. package/components/KeyDownListener/KeyDownListener.js.map +1 -1
  301. package/components/LightBox/LightBox.js +5 -5
  302. package/components/LightBox/LightBoxContent.js +1 -1
  303. package/components/LightBox/LightBoxControls/LightBoxArrow.js +1 -1
  304. package/components/LightBox/LightBoxControls/LightBoxClose.js +1 -1
  305. package/components/LightBox/LightBoxControls/LightBoxControls.js +1 -1
  306. package/components/LightBox/LightBoxControls/LightBoxNext.js +1 -1
  307. package/components/LightBox/LightBoxControls/LightBoxPrev.js +1 -1
  308. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js +12 -13
  309. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js.map +1 -1
  310. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseDesktop.js +1 -1
  311. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseMobile.js +1 -1
  312. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js +1 -1
  313. package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js +3 -3
  314. package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js +3 -3
  315. package/components/Link/Link.js +5 -5
  316. package/components/List/List.js +3 -3
  317. package/components/List/components/ListActionItem.js +1 -1
  318. package/components/List/components/ListEmptyState.js +1 -1
  319. package/components/List/components/ListItem.js +1 -1
  320. package/components/List/components/ListItemContent.js +4 -4
  321. package/components/List/components/ListItemControls.js +1 -1
  322. package/components/List/components/ListItemControlsButton.js +1 -1
  323. package/components/List/components/ListItemControlsButtonDropdown.js +1 -1
  324. package/components/List/components/ListItemLoading.js +1 -1
  325. package/components/List/components/ListItemSelectable.js +6 -6
  326. package/components/List/components/ListItemTailLeft.js +1 -1
  327. package/components/List/components/ListItemTailRight.js +1 -1
  328. package/components/List/components/ListSortableItem.js +2 -2
  329. package/components/List/components/ListSortableItemControls.js +1 -1
  330. package/components/List/components/ListSortableItemTarget.js +4 -4
  331. package/components/List/components/ListTableItem.js +3 -3
  332. package/components/List/index.js +1 -1
  333. package/components/ListMaster/ListMaster.js +1 -1
  334. package/components/ListMaster/components/ListMasterBody.js +1 -1
  335. package/components/ListMaster/components/ListMasterChipGroup.js +1 -1
  336. package/components/ListMaster/components/ListMasterFooter.js +1 -1
  337. package/components/ListMaster/components/ListMasterFooterControls.js +1 -1
  338. package/components/ListMaster/components/ListMasterFooterDescription.js +1 -1
  339. package/components/ListMaster/components/ListMasterHeader.js +2 -2
  340. package/components/ListMaster/components/SelectionControls.js +2 -2
  341. package/components/Loader/LoaderMiddle/LoaderMiddle.js +10 -10
  342. package/components/Loader/LoaderMiddle/LoaderMiddle.js.map +1 -1
  343. package/components/Loader/LoaderSmall/LoaderSmall.js +10 -10
  344. package/components/LoaderScreen/LoaderScreen.js +13 -12
  345. package/components/LoaderScreen/LoaderScreen.js.map +1 -1
  346. package/components/Marker/Marker.js +1 -1
  347. package/components/Marker/utils.js +1 -1
  348. package/components/MarkerStatus/MarkerStatus.js +7 -7
  349. package/components/ModalWindow/ModalWindow.js +1 -1
  350. package/components/ModalWindow/components/ModalWindowBody.js +1 -1
  351. package/components/ModalWindow/components/ModalWindowClose.js +1 -1
  352. package/components/ModalWindow/components/ModalWindowContent.js +1 -1
  353. package/components/ModalWindow/components/ModalWindowHeader.js +1 -1
  354. package/components/ModalWindow/components/ModalWindowViewManager.js +1 -1
  355. package/components/MonthYearField/utils.js +2 -1
  356. package/components/MonthYearField/utils.js.map +1 -1
  357. package/components/MonthYearRange/MonthYearRange.js +3 -3
  358. package/components/MultiselectField/components/MultiselectFieldDropdown.js +1 -1
  359. package/components/MultiselectField/components/MultiselectFieldDropdownContent.js +5 -5
  360. package/components/MultiselectField/components/MultiselectFieldDropdownFooter.js +1 -1
  361. package/components/MultiselectField/components/MultiselectFieldDropdownHeader.js +1 -1
  362. package/components/Notification/Notification.js +2 -2
  363. package/components/Notification/NotificationGrouped.js +1 -1
  364. package/components/Notification/components/NotificationBody.js +1 -1
  365. package/components/Notification/components/NotificationBodyList.js +1 -1
  366. package/components/Notification/components/NotificationClose.js +1 -1
  367. package/components/Notification/components/NotificationFooter.js +1 -1
  368. package/components/Notification/components/NotificationGroupedFooter.js +1 -1
  369. package/components/Notification/components/NotificationHeader.js +1 -1
  370. package/components/Notification/components/NotificationIcon.js +1 -1
  371. package/components/Notification/components/NotificationTime.js +1 -1
  372. package/components/OrderedList/OrderedList.js +2 -2
  373. package/components/OrderedList/OrderedListItem.js +2 -2
  374. package/components/Overlay/Overlay.js +1 -1
  375. package/components/Overlay/OverlayMask.js +1 -1
  376. package/components/Overlay/OverlayPanel.js +1 -1
  377. package/components/Page/Page.js +1 -1
  378. package/components/Page/components/BodyPage.js +3 -3
  379. package/components/Page/components/FooterPage.js +1 -1
  380. package/components/Page/components/FooterPage.js.map +1 -1
  381. package/components/Page/components/HeaderPage.js +1 -1
  382. package/components/Page/components/HeaderPage.js.map +1 -1
  383. package/components/Pagination/components/PaginationExtended.js +2 -2
  384. package/components/Pagination/components/PaginationNavigation.js +1 -1
  385. package/components/Pagination/components/PaginationNavigation.js.map +1 -1
  386. package/components/Pagination/components/PaginationNavigationButton.js +2 -2
  387. package/components/Pagination/components/PaginationNavigationExtended.js +1 -1
  388. package/components/Pagination/components/PaginationPageButton.js +2 -2
  389. package/components/Pagination/components/PaginationPageEllipsis.js +1 -1
  390. package/components/Pagination/components/PaginationSelect.js +2 -2
  391. package/components/Pagination/{utils/paginationUtils.js → utils.js} +2 -2
  392. package/components/Pagination/utils.js.map +1 -0
  393. package/components/Radio/Radio.js +9 -9
  394. package/components/Radio/RadioXGroup.js +8 -8
  395. package/components/Radio/RadioYGroup.js +1 -1
  396. package/components/Row/Row.js +4 -4
  397. package/components/SMSField/SMSField.js +2 -2
  398. package/components/SMSField/components/RefreshIcon.js +1 -1
  399. package/components/SMSField/components/SMSFieldInput.js +1 -1
  400. package/components/SMSField/components/SMSFieldRefresh.js +1 -1
  401. package/components/SMSField/components/SMSFieldSubmit.js +1 -1
  402. package/components/SegmentedControl/SegmentedControl.js +9 -9
  403. package/components/SegmentedControl/SegmentedControlSegment.js +3 -3
  404. package/components/SelectExtendedField/SelectExtendedField.js +41 -46
  405. package/components/SelectExtendedField/SelectExtendedField.js.map +1 -1
  406. package/components/SelectExtendedField/components/SelectExtendedFieldDropdown.js +2 -1
  407. package/components/SelectExtendedField/components/SelectExtendedFieldDropdown.js.map +1 -1
  408. package/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js +18 -38
  409. package/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js.map +1 -1
  410. package/components/SelectExtendedField/components/SelectExtendedFieldTarget.js +47 -65
  411. package/components/SelectExtendedField/components/SelectExtendedFieldTarget.js.map +1 -1
  412. package/components/SelectField/SelectField.js +1 -1
  413. package/components/Skeleton/Skeleton.js +4 -4
  414. package/components/SliderExtended/SliderExtended.js +2 -2
  415. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js +6 -5
  416. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js.map +1 -1
  417. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMark.js +1 -1
  418. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarks.js +1 -1
  419. package/components/SliderExtended/components/SliderExtendedRail.js +1 -1
  420. package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js +4 -4
  421. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js +7 -6
  422. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js.map +1 -1
  423. package/components/SmallInput/SmallInput.js +1 -1
  424. package/components/Spoiler/Spoiler.js +10 -10
  425. package/components/StatusTracker/StatusTracker.js +7 -6
  426. package/components/StatusTracker/StatusTracker.js.map +1 -1
  427. package/components/StatusTracker/components/StatusTrackerAlert.js +1 -1
  428. package/components/StatusTracker/components/StatusTrackerBody.js +1 -1
  429. package/components/StatusTracker/components/StatusTrackerButton.js +1 -1
  430. package/components/StatusTracker/components/StatusTrackerDescription.js +1 -1
  431. package/components/StatusTracker/components/StatusTrackerFooter.js +1 -1
  432. package/components/StatusTracker/components/StatusTrackerHeader.js +1 -1
  433. package/components/StatusTracker/components/StatusTrackerMedia.js +1 -1
  434. package/components/StatusTracker/components/StatusTrackerStatus.js +1 -1
  435. package/components/StatusTracker/components/StatusTrackerStatusGroup.js +1 -1
  436. package/components/StatusTracker/components/StatusTrackerSum.js +1 -1
  437. package/components/StatusTracker/components/StatusTrackerTitle.js +1 -1
  438. package/components/Step/Step.js +10 -10
  439. package/components/Stepper/Stepper.js +8 -8
  440. package/components/Stepper/StepperExtended.js +1 -1
  441. package/components/Stepper/StepperStep.js +2 -2
  442. package/components/Stepper/StepperStepArrowBorder.js +1 -1
  443. package/components/Suggest/SuggestMobileDropdownContent.js +3 -3
  444. package/components/SuggestField/SuggestField.js +1 -1
  445. package/components/SuggestField/desktop/SuggestFieldDesktop.js +1 -1
  446. package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js +1 -1
  447. package/components/SuggestField/index.js +1 -1
  448. package/components/SuggestField/mobile/SuggestFieldMobile.js +1 -1
  449. package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js +2 -2
  450. package/components/SuggestField/mobile/SuggestFieldMobileDropdownHint.js +1 -1
  451. package/components/SuggestField/mobile/index.js +1 -1
  452. package/components/SwipeableArea/SwipeableArea.js +8 -8
  453. package/components/Table/ChipPanel.js +1 -1
  454. package/components/Table/ChipPanelLinks.js +1 -1
  455. package/components/Table/FilterPanel.js +2 -2
  456. package/components/Table/MasterTable.js +2 -2
  457. package/components/Table/NoColumns.js +2 -2
  458. package/components/Table/PaginationPanel.js +2 -2
  459. package/components/Table/TableBasic/TableBasic.js +1 -1
  460. package/components/Table/TableBasic/components/TableBasicBody.js +1 -1
  461. package/components/Table/TableBasic/components/TableBasicHeader.js +1 -1
  462. package/components/Table/TableBasic/components/TableBasicRow.js +1 -1
  463. package/components/Table/TableBasicSettings/TableBasicSettings.js +2 -2
  464. package/components/Table/TableBasicSettings/components/ColumnSettingsSortableListItemTarget.js +2 -2
  465. package/components/Table/TableBasicSettings/components/ColumnSettingsStaticListItem.js +1 -1
  466. package/components/Table/TableBasicSettings/components/TableBasicSettingsBody.js +1 -1
  467. package/components/Table/TableBasicSettings/components/TableBasicSettingsFooter.js +1 -1
  468. package/components/Table/TableBasicSettings/components/TableBasicSettingsHeader.js +1 -1
  469. package/components/Table/TableFooter/TableFooter.js +1 -1
  470. package/components/Table/TableFooter/components/TableFooterSummary.js +1 -1
  471. package/components/Table/TableFooter/components/TableFooterSummaryAmount.js +1 -1
  472. package/components/Table/TableFooter/components/TableFooterSummarySelectAllButton.js +1 -1
  473. package/components/Table/TableFooter/components/TableFooterSummarySelectedCount.js +1 -1
  474. package/components/Table/utils.js +1 -1
  475. package/components/Tabs/Tabs.js +5 -5
  476. package/components/TabsExtended/TabsExtended.js +2 -2
  477. package/components/TabsExtended/components/TabsExtendedContent.js +1 -1
  478. package/components/TabsExtended/components/TabsExtendedDropdownWrapper.js +1 -1
  479. package/components/TabsExtended/components/TabsExtendedTab.js +1 -1
  480. package/components/TabsExtended/components/TabsExtendedTabButton.js +1 -1
  481. package/components/TabsExtended/components/TabsExtendedTabsWrapper.js +1 -1
  482. package/components/TabsExtended/utils.js +1 -1
  483. package/components/TabsLine/TabsLine.js +1 -1
  484. package/components/TabsLine/components/TabsLineDesktop.js +1 -1
  485. package/components/TabsLine/components/TabsLineDropdown.js +2 -2
  486. package/components/TabsLine/components/TabsLineItem.js +1 -1
  487. package/components/TabsLine/components/TabsLineMobile.js +2 -2
  488. package/components/Tag/Tag.js +5 -5
  489. package/components/TagColor/TagColor.js +10 -10
  490. package/components/TagGroup/TagGroup.js +4 -4
  491. package/components/ThemeProvider/ETriplexNextTheme.js.map +1 -1
  492. package/components/ThemeProvider/ThemeProvider.js +5 -3
  493. package/components/ThemeProvider/ThemeProvider.js.map +1 -1
  494. package/components/ThemeProvider/ThemeProviderContext.js.map +1 -1
  495. package/components/ThemeProvider/components/ThemeProviderView.js +6 -9
  496. package/components/ThemeProvider/components/ThemeProviderView.js.map +1 -1
  497. package/components/ThemeProvider/useToken.js.map +1 -1
  498. package/components/Tooltip/Tooltip.js +49 -52
  499. package/components/Tooltip/Tooltip.js.map +1 -1
  500. package/components/Tooltip/TootlipContext.js.map +1 -1
  501. package/components/Tooltip/components/common/TooltipBody.js +1 -1
  502. package/components/Tooltip/components/common/TooltipLink.js +7 -18
  503. package/components/Tooltip/components/common/TooltipLink.js.map +1 -1
  504. package/components/Tooltip/components/common/TooltipTarget.js.map +1 -1
  505. package/components/Tooltip/components/common/TooltipXButton.js +1 -1
  506. package/components/Tooltip/components/desktop/TooltipDesktop.js +24 -12
  507. package/components/Tooltip/components/desktop/TooltipDesktop.js.map +1 -1
  508. package/components/Tooltip/components/desktop/components/TooltipDesktopBase.js +25 -24
  509. package/components/Tooltip/components/desktop/components/TooltipDesktopBase.js.map +1 -1
  510. package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js +8 -17
  511. package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js.map +1 -1
  512. package/components/Tooltip/components/mobile/TooltipMobile.js +10 -6
  513. package/components/Tooltip/components/mobile/TooltipMobile.js.map +1 -1
  514. package/components/Tooltip/components/mobile/components/TooltipMobileHeader.js +2 -2
  515. package/components/Tooltip/components/mobile/components/TooltipMobileHeader.js.map +1 -1
  516. package/components/Tooltip/enums.js.map +1 -1
  517. package/components/Tooltip/utils/Positioning.js +18 -17
  518. package/components/Tooltip/utils/Positioning.js.map +1 -1
  519. package/components/Tooltip/utils/useTooltipTheme.js +40 -12
  520. package/components/Tooltip/utils/useTooltipTheme.js.map +1 -1
  521. package/components/TopOverlay/TopOverlay.js +6 -6
  522. package/components/TreeView/TreeView.js +1 -1
  523. package/components/TreeView/components/TreeViewGroup.js +1 -1
  524. package/components/TreeView/components/TreeViewNode.js +1 -1
  525. package/components/Typography/Caption.js +7 -7
  526. package/components/Typography/CodeText.js +2 -2
  527. package/components/Typography/Text.js +9 -9
  528. package/components/Typography/Title.js +9 -9
  529. package/components/Typography/constants.js +1 -1
  530. package/components/UnorderedList/UnorderedList.js +2 -2
  531. package/components/UnorderedList/UnorderedListItem.js +2 -2
  532. package/components/UploadZone/UploadZone.js +2 -2
  533. package/components/UploadZone/components/UploadZoneInput.js +1 -1
  534. package/components/UploadZone/index.js +1 -1
  535. package/components/index.js +7 -8
  536. package/consts/DateConst.js.map +1 -1
  537. package/index.d.ts +255 -107
  538. package/index.js +7 -8
  539. package/package.json +1 -1
  540. package/styles/triplex-next.css +2962 -2951
  541. package/chunks/CalendarViewItem-knPscTce.js.map +0 -1
  542. package/chunks/Card.module-Dd2_zoXF.js +0 -30
  543. package/chunks/Card.module-Dd2_zoXF.js.map +0 -1
  544. package/chunks/Carousel.module-LNo8o3qn.js +0 -30
  545. package/chunks/Carousel.module-LNo8o3qn.js.map +0 -1
  546. package/chunks/CheckboxTreeExtended.module-CKUO50mv.js +0 -24
  547. package/chunks/CheckboxTreeExtended.module-CKUO50mv.js.map +0 -1
  548. package/chunks/Chip-CI8ALCUS.js.map +0 -1
  549. package/chunks/Confirm.module-BtnLGqBz.js +0 -24
  550. package/chunks/Confirm.module-BtnLGqBz.js.map +0 -1
  551. package/chunks/DropdownMobile.module-xbkYiPM1.js +0 -40
  552. package/chunks/DropdownMobile.module-xbkYiPM1.js.map +0 -1
  553. package/chunks/Footer.module-CYELL0O7.js +0 -12
  554. package/chunks/Footer.module-CYELL0O7.js.map +0 -1
  555. package/chunks/HeaderLayoutSidebar.module-MnhSBdiv.js.map +0 -1
  556. package/chunks/HeaderTabs.module-D9u9xuSn.js +0 -12
  557. package/chunks/HeaderTabs.module-D9u9xuSn.js.map +0 -1
  558. package/chunks/HeaderTitle.module-BGOYMt6r.js.map +0 -1
  559. package/chunks/ImageGalleryExtendedMain.module-CQNClbso.js +0 -28
  560. package/chunks/ImageGalleryExtendedMain.module-CQNClbso.js.map +0 -1
  561. package/chunks/IslandAccordion.module-nyPnHohH.js +0 -44
  562. package/chunks/IslandAccordion.module-nyPnHohH.js.map +0 -1
  563. package/chunks/IslandWidgetFooter.module-CNyLawMh.js +0 -12
  564. package/chunks/IslandWidgetFooter.module-CNyLawMh.js.map +0 -1
  565. package/chunks/IslandWidgetHeader.module-ChE5SXll.js +0 -20
  566. package/chunks/IslandWidgetHeader.module-ChE5SXll.js.map +0 -1
  567. package/chunks/LightBoxControls.module-Buvm7RbG.js +0 -26
  568. package/chunks/LightBoxControls.module-Buvm7RbG.js.map +0 -1
  569. package/chunks/LightBoxSideOverlayClose.module-eTdxNvSz.js.map +0 -1
  570. package/chunks/ListItemTail.module-BhSOptJB.js +0 -18
  571. package/chunks/ListItemTail.module-BhSOptJB.js.map +0 -1
  572. package/chunks/ListMasterFooter.module-DrlO_YrT.js +0 -14
  573. package/chunks/ListMasterFooter.module-DrlO_YrT.js.map +0 -1
  574. package/chunks/ModalWindow.module-DrJpRuNK.js +0 -28
  575. package/chunks/ModalWindow.module-DrJpRuNK.js.map +0 -1
  576. package/chunks/Notification.module-tEh-vvv0.js +0 -34
  577. package/chunks/Notification.module-tEh-vvv0.js.map +0 -1
  578. package/chunks/Overlay.module-CPNLKKsF.js +0 -30
  579. package/chunks/Overlay.module-CPNLKKsF.js.map +0 -1
  580. package/chunks/Page.module-Dru0rPA5.js +0 -15
  581. package/chunks/Page.module-Dru0rPA5.js.map +0 -1
  582. package/chunks/SMSField.module-CjGkO6u6.js +0 -26
  583. package/chunks/SMSField.module-CjGkO6u6.js.map +0 -1
  584. package/chunks/SliderExtendedMarks.module-CAeqmSQq.js +0 -24
  585. package/chunks/SliderExtendedMarks.module-CAeqmSQq.js.map +0 -1
  586. package/chunks/StatusTracker.module-BD5zJfbg.js +0 -42
  587. package/chunks/StatusTracker.module-BD5zJfbg.js.map +0 -1
  588. package/chunks/TableFooter.module-DhudGmzN.js +0 -22
  589. package/chunks/TableFooter.module-DhudGmzN.js.map +0 -1
  590. package/chunks/TabsExtended.module-DNjJIne-.js +0 -26
  591. package/chunks/TabsExtended.module-DNjJIne-.js.map +0 -1
  592. package/chunks/TabsLine.module-CbVAypRw.js +0 -36
  593. package/chunks/TabsLine.module-CbVAypRw.js.map +0 -1
  594. package/chunks/TooltipDesktop.module-DBiY8cJJ.js +0 -32
  595. package/chunks/TooltipDesktop.module-DBiY8cJJ.js.map +0 -1
  596. package/chunks/TreeView.module-GA-NyzjK.js +0 -12
  597. package/chunks/TreeView.module-GA-NyzjK.js.map +0 -1
  598. package/chunks/utils-BHxrQbA6.js.map +0 -1
  599. package/components/Pagination/utils/paginationUtils.js.map +0 -1
@@ -1,11 +1,12 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import React__default, { useState, useRef, useLayoutEffect, useCallback, useEffect } from "react";
2
+ import React__default, { useState, useRef, useCallback, useEffect } from "react";
3
+ import { c as clsx } from "../../chunks/vendor-CtuAQuEN.js";
3
4
  import { isKey, EVENT_KEY_CODES } from "../../utils/keyboard.js";
4
5
  import { KeyDownListener } from "../KeyDownListener/KeyDownListener.js";
5
- import { c as clsx } from "../../chunks/vendor-CtuAQuEN.js";
6
+ import "../KeyDownListener/ComposedKeyDownListener.js";
6
7
  import { SelectExtendedFieldTarget } from "./components/SelectExtendedFieldTarget.js";
7
8
  import { SelectExtendedFieldDropdown } from "./components/SelectExtendedFieldDropdown.js";
8
- const selectExtendedField = "selectExtendedField__4cc3214a";
9
+ const selectExtendedField = "selectExtendedField__e45b4d6d";
9
10
  const styles = {
10
11
  selectExtendedField
11
12
  };
@@ -15,44 +16,25 @@ const SelectExtendedField = Object.assign(
15
16
  const [opened, setOpened] = useState(false);
16
17
  const targetRef = useRef(null);
17
18
  const dropdownRef = useRef(null);
18
- const onOpenRef = useRef(onOpen);
19
- const onCloseRef = useRef(onClose);
20
- const isMountedRef = useRef(false);
21
- useLayoutEffect(() => {
22
- onOpenRef.current = onOpen;
23
- onCloseRef.current = onClose;
24
- });
25
- const setRef = (instance) => {
26
- targetRef.current = instance;
27
- if (typeof ref === "function") {
28
- ref(instance);
29
- } else if (ref) {
30
- ref.current = instance;
31
- }
32
- };
33
- const handleSetOpened = useCallback((newOpened) => {
34
- setOpened(newOpened);
35
- }, []);
36
- const listenMouseDown = useCallback(
37
- (event) => {
38
- var _a, _b;
39
- if (opened) {
40
- if (!((_a = targetRef.current) == null ? void 0 : _a.contains(event.target)) && !((_b = dropdownRef.current) == null ? void 0 : _b.contains(event.target))) {
41
- setOpened(false);
42
- }
19
+ const prevOpenedRef = useRef(opened);
20
+ const callbacksRef = useRef({ onOpen, onClose });
21
+ const setTargetRef = useCallback(
22
+ (instance) => {
23
+ targetRef.current = instance;
24
+ if (typeof ref === "function") {
25
+ ref(instance);
26
+ } else if (ref) {
27
+ ref.current = instance;
43
28
  }
44
29
  },
45
- [opened]
30
+ [ref]
46
31
  );
47
32
  const closeDropdown = useCallback(() => {
48
- if (opened) {
49
- setOpened(false);
50
- }
51
- }, [opened]);
33
+ setOpened(false);
34
+ }, []);
52
35
  const handleKeyDown = useCallback(
53
36
  (event) => {
54
- const key = event.code || event.keyCode;
55
- if (closeOnTab && isKey(key, "TAB")) {
37
+ if (closeOnTab && isKey(event.code || event.keyCode, "TAB")) {
56
38
  closeDropdown();
57
39
  }
58
40
  onKeyDown == null ? void 0 : onKeyDown(event);
@@ -60,21 +42,34 @@ const SelectExtendedField = Object.assign(
60
42
  [closeOnTab, closeDropdown, onKeyDown]
61
43
  );
62
44
  useEffect(() => {
63
- document.addEventListener("mousedown", listenMouseDown);
45
+ if (!opened) {
46
+ return;
47
+ }
48
+ const handleDocumentMouseDown = (event) => {
49
+ var _a, _b;
50
+ const eventTarget = event.target;
51
+ if (!((_a = targetRef.current) == null ? void 0 : _a.contains(eventTarget)) && !((_b = dropdownRef.current) == null ? void 0 : _b.contains(eventTarget))) {
52
+ setOpened(false);
53
+ }
54
+ };
55
+ document.addEventListener("mousedown", handleDocumentMouseDown);
64
56
  return () => {
65
- document.removeEventListener("mousedown", listenMouseDown);
57
+ document.removeEventListener("mousedown", handleDocumentMouseDown);
66
58
  };
67
- }, [listenMouseDown]);
59
+ }, [opened]);
60
+ useEffect(() => {
61
+ callbacksRef.current = { onOpen, onClose };
62
+ });
68
63
  useEffect(() => {
69
- var _a, _b;
70
- if (!isMountedRef.current) {
71
- isMountedRef.current = true;
64
+ var _a, _b, _c, _d;
65
+ if (prevOpenedRef.current === opened) {
72
66
  return;
73
67
  }
68
+ prevOpenedRef.current = opened;
74
69
  if (opened) {
75
- (_a = onOpenRef.current) == null ? void 0 : _a.call(onOpenRef);
70
+ (_b = (_a = callbacksRef.current).onOpen) == null ? void 0 : _b.call(_a);
76
71
  } else {
77
- (_b = onCloseRef.current) == null ? void 0 : _b.call(onCloseRef);
72
+ (_d = (_c = callbacksRef.current).onClose) == null ? void 0 : _d.call(_c);
78
73
  }
79
74
  }, [opened]);
80
75
  return /* @__PURE__ */ jsx(KeyDownListener, { onMatch: closeDropdown, eventKeyCode: EVENT_KEY_CODES.ESCAPE, children: /* @__PURE__ */ jsxs(
@@ -82,14 +77,14 @@ const SelectExtendedField = Object.assign(
82
77
  {
83
78
  className: clsx(styles.selectExtendedField, className),
84
79
  onKeyDown: handleKeyDown,
85
- ref: setRef,
80
+ ref: setTargetRef,
86
81
  ...htmlDivAttributes,
87
82
  children: [
88
- renderTarget({ opened, setOpened: handleSetOpened }),
83
+ renderTarget({ opened, setOpened }),
89
84
  children({
90
85
  dropdownRef,
91
86
  opened,
92
- setOpened: handleSetOpened,
87
+ setOpened,
93
88
  targetRef
94
89
  })
95
90
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"SelectExtendedField.js","sources":["../../../src/components/SelectExtendedField/SelectExtendedField.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useLayoutEffect, useCallback } from \"react\";\nimport { isKey, EVENT_KEY_CODES } from \"../../utils/keyboard\";\nimport { KeyDownListener } from \"../KeyDownListener\";\nimport clsx from \"clsx\";\nimport styles from \"./styles/SelectExtendedField.module.less\";\nimport { SelectExtendedFieldTarget } from \"./components/SelectExtendedFieldTarget\";\nimport { SelectExtendedFieldDropdown } from \"./components/SelectExtendedFieldDropdown\";\nimport { IDropdownListItemProps } from \"../Dropdown\";\n\n/* Свойства опции списка. */\nexport interface ISelectExtendedFieldDefaultOption extends Omit<\n IDropdownListItemProps,\n \"active\" | \"onSelect\" | \"selected\" | \"keyCodesForSelection\" | \"className\" | \"key\"\n> {\n /* Значение опции. */\n value: string;\n /* Название опции. */\n label: React.ReactNode;\n}\n\n/* Свойства, передаваемые из Select в функцию рендера target - renderTarget. */\nexport interface ISelectExtendedFieldTargetProvideProps {\n /* Флаг открытости выпадающего списка. */\n opened: boolean;\n /* Функция открытия/закрытия Select. */\n setOpened: (opened: boolean) => void;\n}\n\n/* Свойства, передаваемые из Select в функцию рендера dropdown - children. */\nexport interface ISelectExtendedFieldDropdownProvideProps {\n /* Флаг открытости выпадающего списка. */\n opened: boolean;\n /* Функция открытия/закрытия Select. */\n setOpened: (opened: boolean) => void;\n targetRef: React.RefObject<HTMLDivElement>;\n dropdownRef: React.RefObject<HTMLDivElement>;\n}\n\n/* Свойства компонента SelectExtendedField. */\nexport interface ISelectExtendedFieldProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"children\"> {\n /** Рендер-функция поля выбора. */\n renderTarget: (props: ISelectExtendedFieldTargetProvideProps) => React.ReactNode;\n /** Рендер-функция выпадающего блока. */\n children: (props: ISelectExtendedFieldDropdownProvideProps) => React.ReactNode;\n /** Функция, срабатывающая при закрытии выпадающего блока. */\n onClose?: () => void;\n /** Функция, срабатывающая при открытии выпадающего блока. */\n onOpen?: () => void;\n /** Закрытие выпадающего блока при нажатии клавиши Tab. */\n closeOnTab?: boolean;\n}\n\n/* Базовый компонент Select. На его основе могут строиться Selects с любыми value, options и target. */\nexport const SelectExtendedField = Object.assign(\n React.forwardRef<HTMLDivElement, ISelectExtendedFieldProps>((props, ref) => {\n const { className, onKeyDown, children, renderTarget, closeOnTab, onClose, onOpen, ...htmlDivAttributes } =\n props;\n\n const [opened, setOpened] = useState(false);\n const targetRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n // Stable event handler pattern: колбэки хранятся в рефах, чтобы эффект\n // не перезапускался при смене ссылок на функции между рендерами.\n const onOpenRef = useRef(onOpen);\n const onCloseRef = useRef(onClose);\n // Флаг для пропуска первого срабатывания эффекта при маунте.\n const isMountedRef = useRef(false);\n\n // useLayoutEffect без зависимостей синхронизирует рефы после каждого коммита,\n // гарантируя актуальность колбэков до запуска useEffect.\n useLayoutEffect(() => {\n onOpenRef.current = onOpen;\n onCloseRef.current = onClose;\n });\n\n const setRef = (instance: HTMLDivElement | null) => {\n targetRef.current = instance;\n if (typeof ref === \"function\") {\n ref(instance);\n } else if (ref) {\n ref.current = instance;\n }\n };\n\n const handleSetOpened = useCallback((newOpened: boolean) => {\n setOpened(newOpened);\n }, []);\n\n const listenMouseDown = useCallback(\n (event: Event) => {\n if (opened) {\n if (\n !targetRef.current?.contains(event.target as Node) &&\n !dropdownRef.current?.contains(event.target as Node)\n ) {\n setOpened(false);\n }\n }\n },\n [opened],\n );\n\n const closeDropdown = useCallback(() => {\n if (opened) {\n setOpened(false);\n }\n }, [opened]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n const key = event.code || event.keyCode;\n\n if (closeOnTab && isKey(key, \"TAB\")) {\n closeDropdown();\n }\n\n onKeyDown?.(event);\n },\n [closeOnTab, closeDropdown, onKeyDown],\n );\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", listenMouseDown);\n return () => {\n document.removeEventListener(\"mousedown\", listenMouseDown);\n };\n }, [listenMouseDown]);\n\n // Вызываем onOpen/onClose только при реальных переходах opened,\n // пропуская первое срабатывание при маунте (opened = false по умолчанию).\n useEffect(() => {\n if (!isMountedRef.current) {\n isMountedRef.current = true;\n return;\n }\n\n if (opened) {\n onOpenRef.current?.();\n } else {\n onCloseRef.current?.();\n }\n }, [opened]);\n\n return (\n <KeyDownListener onMatch={closeDropdown} eventKeyCode={EVENT_KEY_CODES.ESCAPE}>\n <div\n className={clsx(styles.selectExtendedField, className)}\n onKeyDown={handleKeyDown}\n ref={setRef}\n {...htmlDivAttributes}\n >\n {renderTarget({ opened, setOpened: handleSetOpened })}\n {children({\n dropdownRef,\n opened,\n setOpened: handleSetOpened,\n targetRef,\n })}\n </div>\n </KeyDownListener>\n );\n }),\n {\n Target: SelectExtendedFieldTarget,\n Dropdown: SelectExtendedFieldDropdown,\n },\n);\n\nSelectExtendedField.displayName = \"SelectExtendedField\";\n"],"names":["React"],"mappings":";;;;;;;;;;;AAqDO,MAAM,sBAAsB,OAAO;AAAA,EACtCA,eAAM,WAAsD,CAAC,OAAO,QAAQ;AACxE,UAAM,EAAE,WAAW,WAAW,UAAU,cAAc,YAAY,SAAS,QAAQ,GAAG,kBAAA,IAClF;AAEJ,UAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,KAAK;AAC1C,UAAM,YAAY,OAA8B,IAAI;AACpD,UAAM,cAAc,OAAuB,IAAI;AAG/C,UAAM,YAAY,OAAO,MAAM;AAC/B,UAAM,aAAa,OAAO,OAAO;AAEjC,UAAM,eAAe,OAAO,KAAK;AAIjC,oBAAgB,MAAM;AAClB,gBAAU,UAAU;AACpB,iBAAW,UAAU;AAAA,IACzB,CAAC;AAED,UAAM,SAAS,CAAC,aAAoC;AAChD,gBAAU,UAAU;AACpB,UAAI,OAAO,QAAQ,YAAY;AAC3B,YAAI,QAAQ;AAAA,MAChB,WAAW,KAAK;AACZ,YAAI,UAAU;AAAA,MAClB;AAAA,IACJ;AAEA,UAAM,kBAAkB,YAAY,CAAC,cAAuB;AACxD,gBAAU,SAAS;AAAA,IACvB,GAAG,CAAA,CAAE;AAEL,UAAM,kBAAkB;AAAA,MACpB,CAAC,UAAiB;;AACd,YAAI,QAAQ;AACR,cACI,GAAC,eAAU,YAAV,mBAAmB,SAAS,MAAM,YACnC,GAAC,iBAAY,YAAZ,mBAAqB,SAAS,MAAM,UACvC;AACE,sBAAU,KAAK;AAAA,UACnB;AAAA,QACJ;AAAA,MACJ;AAAA,MACA,CAAC,MAAM;AAAA,IAAA;AAGX,UAAM,gBAAgB,YAAY,MAAM;AACpC,UAAI,QAAQ;AACR,kBAAU,KAAK;AAAA,MACnB;AAAA,IACJ,GAAG,CAAC,MAAM,CAAC;AAEX,UAAM,gBAAgB;AAAA,MAClB,CAAC,UAA+C;AAC5C,cAAM,MAAM,MAAM,QAAQ,MAAM;AAEhC,YAAI,cAAc,MAAM,KAAK,KAAK,GAAG;AACjC,wBAAA;AAAA,QACJ;AAEA,+CAAY;AAAA,MAChB;AAAA,MACA,CAAC,YAAY,eAAe,SAAS;AAAA,IAAA;AAGzC,cAAU,MAAM;AACZ,eAAS,iBAAiB,aAAa,eAAe;AACtD,aAAO,MAAM;AACT,iBAAS,oBAAoB,aAAa,eAAe;AAAA,MAC7D;AAAA,IACJ,GAAG,CAAC,eAAe,CAAC;AAIpB,cAAU,MAAM;;AACZ,UAAI,CAAC,aAAa,SAAS;AACvB,qBAAa,UAAU;AACvB;AAAA,MACJ;AAEA,UAAI,QAAQ;AACR,wBAAU,YAAV;AAAA,MACJ,OAAO;AACH,yBAAW,YAAX;AAAA,MACJ;AAAA,IACJ,GAAG,CAAC,MAAM,CAAC;AAEX,+BACK,iBAAA,EAAgB,SAAS,eAAe,cAAc,gBAAgB,QACnE,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,qBAAqB,SAAS;AAAA,QACrD,WAAW;AAAA,QACX,KAAK;AAAA,QACJ,GAAG;AAAA,QAEH,UAAA;AAAA,UAAA,aAAa,EAAE,QAAQ,WAAW,gBAAA,CAAiB;AAAA,UACnD,SAAS;AAAA,YACN;AAAA,YACA;AAAA,YACA,WAAW;AAAA,YACX;AAAA,UAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAET;AAAA,EAER,CAAC;AAAA,EACD;AAAA,IACI,QAAQ;AAAA,IACR,UAAU;AAAA,EAAA;AAElB;AAEA,oBAAoB,cAAc;"}
1
+ {"version":3,"file":"SelectExtendedField.js","sources":["../../../src/components/SelectExtendedField/SelectExtendedField.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useCallback } from \"react\";\nimport clsx from \"clsx\";\nimport { isKey, EVENT_KEY_CODES } from \"../../utils/keyboard\";\nimport { KeyDownListener } from \"../KeyDownListener\";\nimport { IDropdownListItemProps } from \"../Dropdown\";\nimport { SelectExtendedFieldTarget } from \"./components/SelectExtendedFieldTarget\";\nimport { SelectExtendedFieldDropdown } from \"./components/SelectExtendedFieldDropdown\";\nimport styles from \"./styles/SelectExtendedField.module.less\";\n\n/** Свойства опции списка. */\nexport interface ISelectExtendedFieldDefaultOption extends Omit<\n IDropdownListItemProps,\n \"active\" | \"onSelect\" | \"selected\" | \"keyCodesForSelection\" | \"className\" | \"key\"\n> {\n /** Значение опции. */\n value: string;\n /** Название опции. */\n label: React.ReactNode;\n}\n\n/** Свойства, передаваемые из SelectExtendedField в функцию рендера target - renderTarget. */\nexport interface ISelectExtendedFieldTargetProvideProps {\n /** Флаг открытости выпадающего блока. */\n opened: boolean;\n /** Функция открытия/закрытия выпадающего блока. */\n setOpened: (opened: boolean) => void;\n}\n\n/** Свойства, передаваемые из SelectExtendedField в функцию рендера dropdown - children. */\nexport interface ISelectExtendedFieldDropdownProvideProps {\n /** Флаг открытости выпадающего блока. */\n opened: boolean;\n /** Функция открытия/закрытия выпадающего блока. */\n setOpened: (opened: boolean) => void;\n /** Ссылка на поле выбора. По ней выпадающий блок считает своё положение. */\n targetRef: React.RefObject<HTMLDivElement>;\n /** Ссылка на выпадающий блок. Нужна, чтобы клик внутри него не закрывал список. */\n dropdownRef: React.RefObject<HTMLDivElement>;\n}\n\n/** Свойства компонента SelectExtendedField. */\nexport interface ISelectExtendedFieldProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"children\"> {\n /** Рендер-функция поля выбора. */\n renderTarget: (props: ISelectExtendedFieldTargetProvideProps) => React.ReactNode;\n /** Рендер-функция выпадающего блока. */\n children: (props: ISelectExtendedFieldDropdownProvideProps) => React.ReactNode;\n /** Функция, срабатывающая при закрытии выпадающего блока. На первом рендере не вызывается. */\n onClose?: () => void;\n /** Функция, срабатывающая при открытии выпадающего блока. На первом рендере не вызывается. */\n onOpen?: () => void;\n /** Закрытие выпадающего блока при нажатии клавиши Tab. По умолчанию false. */\n closeOnTab?: boolean;\n}\n\n/**\n * Базовый компонент Select. На его основе строятся Select'ы с любыми value, options и target.\n *\n * Владеет только состоянием открытости: разметку поля выбора отдаёт в renderTarget,\n * разметку выпадающего блока — в children. Закрывает список по Escape, по клику вне\n * поля и выпадающего блока, а при closeOnTab — ещё и по Tab.\n */\nexport const SelectExtendedField = Object.assign(\n React.forwardRef<HTMLDivElement, ISelectExtendedFieldProps>((props, ref) => {\n const { className, onKeyDown, children, renderTarget, closeOnTab, onClose, onOpen, ...htmlDivAttributes } =\n props;\n\n const [opened, setOpened] = useState(false);\n const targetRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n // Предыдущее состояние открытости. Сравнение со значением, а не флаг \"смонтирован\",\n // делает эффект идемпотентным: повторный маунт в StrictMode не вызывает колбэки.\n const prevOpenedRef = useRef(opened);\n // Актуальные колбэки хранятся в ref, чтобы эффект зависел только от opened\n // и не вызывал onOpen/onClose при смене идентичности колбэков между рендерами.\n const callbacksRef = useRef({ onOpen, onClose });\n\n const setTargetRef = useCallback(\n (instance: HTMLDivElement | null) => {\n targetRef.current = instance;\n\n if (typeof ref === \"function\") {\n ref(instance);\n } else if (ref) {\n ref.current = instance;\n }\n },\n [ref],\n );\n\n const closeDropdown = useCallback(() => {\n setOpened(false);\n }, []);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (closeOnTab && isKey(event.code || event.keyCode, \"TAB\")) {\n closeDropdown();\n }\n\n onKeyDown?.(event);\n },\n [closeOnTab, closeDropdown, onKeyDown],\n );\n\n // Пока список открыт, клик вне поля и вне выпадающего блока закрывает его.\n useEffect(() => {\n if (!opened) {\n return;\n }\n\n const handleDocumentMouseDown = (event: MouseEvent) => {\n const eventTarget = event.target as Node;\n\n if (!targetRef.current?.contains(eventTarget) && !dropdownRef.current?.contains(eventTarget)) {\n setOpened(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleDocumentMouseDown);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleDocumentMouseDown);\n };\n }, [opened]);\n\n useEffect(() => {\n callbacksRef.current = { onOpen, onClose };\n });\n\n useEffect(() => {\n // Колбэки вызываются только на смену состояния, но не на первом рендере.\n if (prevOpenedRef.current === opened) {\n return;\n }\n\n prevOpenedRef.current = opened;\n\n if (opened) {\n callbacksRef.current.onOpen?.();\n } else {\n callbacksRef.current.onClose?.();\n }\n }, [opened]);\n\n return (\n <KeyDownListener onMatch={closeDropdown} eventKeyCode={EVENT_KEY_CODES.ESCAPE}>\n <div\n className={clsx(styles.selectExtendedField, className)}\n onKeyDown={handleKeyDown}\n ref={setTargetRef}\n {...htmlDivAttributes}\n >\n {renderTarget({ opened, setOpened })}\n {children({\n dropdownRef,\n opened,\n setOpened,\n targetRef,\n })}\n </div>\n </KeyDownListener>\n );\n }),\n {\n Target: SelectExtendedFieldTarget,\n Dropdown: SelectExtendedFieldDropdown,\n },\n);\n\nSelectExtendedField.displayName = \"SelectExtendedField\";\n"],"names":["React"],"mappings":";;;;;;;;;;;;AA6DO,MAAM,sBAAsB,OAAO;AAAA,EACtCA,eAAM,WAAsD,CAAC,OAAO,QAAQ;AACxE,UAAM,EAAE,WAAW,WAAW,UAAU,cAAc,YAAY,SAAS,QAAQ,GAAG,kBAAA,IAClF;AAEJ,UAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,KAAK;AAC1C,UAAM,YAAY,OAA8B,IAAI;AACpD,UAAM,cAAc,OAAuB,IAAI;AAG/C,UAAM,gBAAgB,OAAO,MAAM;AAGnC,UAAM,eAAe,OAAO,EAAE,QAAQ,SAAS;AAE/C,UAAM,eAAe;AAAA,MACjB,CAAC,aAAoC;AACjC,kBAAU,UAAU;AAEpB,YAAI,OAAO,QAAQ,YAAY;AAC3B,cAAI,QAAQ;AAAA,QAChB,WAAW,KAAK;AACZ,cAAI,UAAU;AAAA,QAClB;AAAA,MACJ;AAAA,MACA,CAAC,GAAG;AAAA,IAAA;AAGR,UAAM,gBAAgB,YAAY,MAAM;AACpC,gBAAU,KAAK;AAAA,IACnB,GAAG,CAAA,CAAE;AAEL,UAAM,gBAAgB;AAAA,MAClB,CAAC,UAA+C;AAC5C,YAAI,cAAc,MAAM,MAAM,QAAQ,MAAM,SAAS,KAAK,GAAG;AACzD,wBAAA;AAAA,QACJ;AAEA,+CAAY;AAAA,MAChB;AAAA,MACA,CAAC,YAAY,eAAe,SAAS;AAAA,IAAA;AAIzC,cAAU,MAAM;AACZ,UAAI,CAAC,QAAQ;AACT;AAAA,MACJ;AAEA,YAAM,0BAA0B,CAAC,UAAsB;;AACnD,cAAM,cAAc,MAAM;AAE1B,YAAI,GAAC,eAAU,YAAV,mBAAmB,SAAS,iBAAgB,GAAC,iBAAY,YAAZ,mBAAqB,SAAS,eAAc;AAC1F,oBAAU,KAAK;AAAA,QACnB;AAAA,MACJ;AAEA,eAAS,iBAAiB,aAAa,uBAAuB;AAE9D,aAAO,MAAM;AACT,iBAAS,oBAAoB,aAAa,uBAAuB;AAAA,MACrE;AAAA,IACJ,GAAG,CAAC,MAAM,CAAC;AAEX,cAAU,MAAM;AACZ,mBAAa,UAAU,EAAE,QAAQ,QAAA;AAAA,IACrC,CAAC;AAED,cAAU,MAAM;;AAEZ,UAAI,cAAc,YAAY,QAAQ;AAClC;AAAA,MACJ;AAEA,oBAAc,UAAU;AAExB,UAAI,QAAQ;AACR,iCAAa,SAAQ,WAArB;AAAA,MACJ,OAAO;AACH,iCAAa,SAAQ,YAArB;AAAA,MACJ;AAAA,IACJ,GAAG,CAAC,MAAM,CAAC;AAEX,+BACK,iBAAA,EAAgB,SAAS,eAAe,cAAc,gBAAgB,QACnE,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,qBAAqB,SAAS;AAAA,QACrD,WAAW;AAAA,QACX,KAAK;AAAA,QACJ,GAAG;AAAA,QAEH,UAAA;AAAA,UAAA,aAAa,EAAE,QAAQ,WAAW;AAAA,UAClC,SAAS;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAET;AAAA,EAER,CAAC;AAAA,EACD;AAAA,IACI,QAAQ;AAAA,IACR,UAAU;AAAA,EAAA;AAElB;AAEA,oBAAoB,cAAc;"}
@@ -2,7 +2,7 @@ import { jsx } from "react/jsx-runtime";
2
2
  import "../../Dropdown/DropdownListContext.js";
3
3
  import "../../Dropdown/desktop/DropdownDesktop.js";
4
4
  import { DropdownList } from "../../Dropdown/desktop/DropdownList.js";
5
- import "../../../chunks/DropdownListItem-BqOoPFSx.js";
5
+ import "../../../chunks/DropdownListItem-BVgGltGX.js";
6
6
  import "../../Dropdown/mobile/DropdownMobile.js";
7
7
  import "../../Dropdown/mobile/DropdownMobileBody.js";
8
8
  import "../../Dropdown/mobile/DropdownMobileClose.js";
@@ -21,6 +21,7 @@ const SelectExtendedFieldDropdown = ({
21
21
  targetRef,
22
22
  ...rest
23
23
  }) => /* @__PURE__ */ jsx(Dropdown, { ...rest, ref: forwardedRef, targetRef, children });
24
+ SelectExtendedFieldDropdown.displayName = "SelectExtendedFieldDropdown";
24
25
  SelectExtendedFieldDropdown.List = DropdownList;
25
26
  export {
26
27
  SelectExtendedFieldDropdown
@@ -1 +1 @@
1
- {"version":3,"file":"SelectExtendedFieldDropdown.js","sources":["../../../../src/components/SelectExtendedField/components/SelectExtendedFieldDropdown.tsx"],"sourcesContent":["import React from \"react\";\nimport { Dropdown, IDropdownProps } from \"../../Dropdown\";\nimport { DropdownList } from \"../../Dropdown/desktop/DropdownList\";\n\n/* Свойства SelectExtendedFieldDropdown. */\nexport interface ISelectExtendedFieldDropdownProps extends Omit<IDropdownProps, \"forwardedRef\"> {\n /* Ссылка на контейнер Dropdown. */\n forwardedRef: React.RefObject<HTMLDivElement>;\n /* Дочерние элементы. */\n children?: React.ReactNode;\n /* Открыт. */\n opened: boolean;\n /* Ссылка на управляющий элемент. */\n targetRef: React.RefObject<HTMLElement>;\n}\n\nexport interface ISelectExtendedFieldDropdownFC extends React.FC<ISelectExtendedFieldDropdownProps> {\n List: typeof DropdownList;\n}\n\nexport const SelectExtendedFieldDropdown: ISelectExtendedFieldDropdownFC = ({\n forwardedRef,\n children,\n targetRef,\n ...rest\n}) => (\n <Dropdown {...rest} ref={forwardedRef} targetRef={targetRef}>\n {children}\n </Dropdown>\n);\n\nSelectExtendedFieldDropdown.List = DropdownList;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAoBO,MAAM,8BAA8D,CAAC;AAAA,EACxE;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,0BACK,UAAA,EAAU,GAAG,MAAM,KAAK,cAAc,WAClC,SAAA,CACL;AAGJ,4BAA4B,OAAO;"}
1
+ {"version":3,"file":"SelectExtendedFieldDropdown.js","sources":["../../../../src/components/SelectExtendedField/components/SelectExtendedFieldDropdown.tsx"],"sourcesContent":["import React from \"react\";\nimport { Dropdown, IDropdownProps } from \"../../Dropdown\";\nimport { DropdownList } from \"../../Dropdown/desktop/DropdownList\";\n\n/** Свойства компонента SelectExtendedFieldDropdown. */\nexport interface ISelectExtendedFieldDropdownProps extends Omit<IDropdownProps, \"forwardedRef\"> {\n /** Ссылка на контейнер выпадающего блока. Компонент не forwardRef — ссылка передаётся этим свойством. */\n forwardedRef: React.RefObject<HTMLDivElement>;\n /** Содержимое выпадающего блока. */\n children?: React.ReactNode;\n /** Состояние открытости выпадающего блока. */\n opened: boolean;\n /** Ссылка на поле выбора. По ней выпадающий блок считает своё положение. */\n targetRef: React.RefObject<HTMLElement>;\n}\n\n/** Тип компонента SelectExtendedFieldDropdown со статическим свойством List. */\nexport interface ISelectExtendedFieldDropdownFC extends React.FC<ISelectExtendedFieldDropdownProps> {\n /** Список опций выпадающего блока. */\n List: typeof DropdownList;\n}\n\n/** Выпадающий блок SelectExtendedField. Обёртка над Dropdown, принимающая ссылку через forwardedRef. */\nexport const SelectExtendedFieldDropdown: ISelectExtendedFieldDropdownFC = ({\n forwardedRef,\n children,\n targetRef,\n ...rest\n}) => (\n <Dropdown {...rest} ref={forwardedRef} targetRef={targetRef}>\n {children}\n </Dropdown>\n);\n\nSelectExtendedFieldDropdown.displayName = \"SelectExtendedFieldDropdown\";\nSelectExtendedFieldDropdown.List = DropdownList;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAuBO,MAAM,8BAA8D,CAAC;AAAA,EACxE;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,0BACK,UAAA,EAAU,GAAG,MAAM,KAAK,cAAc,WAClC,SAAA,CACL;AAGJ,4BAA4B,cAAc;AAC1C,4BAA4B,OAAO;"}
@@ -1,10 +1,9 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import { createElement } from "react";
3
2
  import { SelectExtendedField } from "../SelectExtendedField.js";
4
3
  import "../../Dropdown/DropdownListContext.js";
5
4
  import "../../Dropdown/desktop/DropdownDesktop.js";
6
5
  import "../../Dropdown/desktop/DropdownList.js";
7
- import "../../../chunks/DropdownListItem-BqOoPFSx.js";
6
+ import "../../../chunks/DropdownListItem-BVgGltGX.js";
8
7
  import "../../Dropdown/mobile/DropdownMobile.js";
9
8
  import { DropdownMobileBody } from "../../Dropdown/mobile/DropdownMobileBody.js";
10
9
  import { DropdownMobileClose } from "../../Dropdown/mobile/DropdownMobileClose.js";
@@ -38,6 +37,20 @@ const SelectExtendedFieldDropdownDefault = ({
38
37
  targetRef,
39
38
  value
40
39
  }) => {
40
+ const getOptionProps = (option) => {
41
+ const { label, ...restOption } = option;
42
+ return {
43
+ ...restOption,
44
+ className: dropdownListItemClassName,
45
+ id: option.id,
46
+ selected: option.id === (value == null ? void 0 : value.id),
47
+ onSelect: () => {
48
+ onChange(option);
49
+ setOpened(false);
50
+ },
51
+ children: label
52
+ };
53
+ };
41
54
  return /* @__PURE__ */ jsx(
42
55
  SelectExtendedField.Dropdown,
43
56
  {
@@ -51,47 +64,14 @@ const SelectExtendedFieldDropdownDefault = ({
51
64
  mobileViewProps: {
52
65
  children: /* @__PURE__ */ jsxs(Fragment, { children: [
53
66
  /* @__PURE__ */ jsx(DropdownMobileHeader, { controlButtons: /* @__PURE__ */ jsx(DropdownMobileClose, { onClick: () => setOpened(false) }), children: /* @__PURE__ */ jsx(Text, { tag: "div", size: ETextSize.B3, children: mobileTitle }) }),
54
- /* @__PURE__ */ jsx(DropdownMobileBody, { children: /* @__PURE__ */ jsx(DropdownMobileList, { children: options.map((option) => {
55
- const { label, ...restOption } = option;
56
- return /* @__PURE__ */ createElement(
57
- DropdownMobileListItem,
58
- {
59
- ...restOption,
60
- className: dropdownListItemClassName,
61
- id: option.id,
62
- key: option.id,
63
- selected: option.id === (value == null ? void 0 : value.id),
64
- onSelect: () => {
65
- onChange(option);
66
- setOpened(false);
67
- }
68
- },
69
- label
70
- );
71
- }) }) })
67
+ /* @__PURE__ */ jsx(DropdownMobileBody, { children: /* @__PURE__ */ jsx(DropdownMobileList, { children: options.map((option) => /* @__PURE__ */ jsx(DropdownMobileListItem, { ...getOptionProps(option) }, option.id)) }) })
72
68
  ] })
73
69
  },
74
- children: /* @__PURE__ */ jsx(SelectExtendedField.Dropdown.List, { id: listId, dropdownOpened: opened, size, children: options.map((option) => {
75
- const { label, ...restOption } = option;
76
- return /* @__PURE__ */ createElement(
77
- SelectExtendedField.Dropdown.List.Item,
78
- {
79
- ...restOption,
80
- className: dropdownListItemClassName,
81
- id: option.id,
82
- key: option.id,
83
- selected: option.id === (value == null ? void 0 : value.id),
84
- onSelect: () => {
85
- onChange(option);
86
- setOpened(false);
87
- }
88
- },
89
- label
90
- );
91
- }) })
70
+ children: /* @__PURE__ */ jsx(SelectExtendedField.Dropdown.List, { id: listId, dropdownOpened: opened, size, children: options.map((option) => /* @__PURE__ */ jsx(SelectExtendedField.Dropdown.List.Item, { ...getOptionProps(option) }, option.id)) })
92
71
  }
93
72
  );
94
73
  };
74
+ SelectExtendedFieldDropdownDefault.displayName = "SelectExtendedFieldDropdownDefault";
95
75
  export {
96
76
  SelectExtendedFieldDropdownDefault
97
77
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SelectExtendedFieldDropdownDefault.js","sources":["../../../../src/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n ISelectExtendedFieldDefaultOption,\n ISelectExtendedFieldDropdownProvideProps,\n SelectExtendedField,\n} from \"../SelectExtendedField\";\nimport {\n DropdownMobileBody,\n DropdownMobileClose,\n DropdownMobileHeader,\n DropdownMobileList,\n DropdownMobileListItem,\n IDropdownProps,\n} from \"../../Dropdown\";\nimport { Text, ETextSize } from \"../../Typography\";\n\nexport interface ISelectExtendedFieldDropdownDefaultProps\n extends ISelectExtendedFieldDropdownProvideProps, Pick<IDropdownProps, \"size\" | \"width\"> {\n /* ClassName для модификации SelectExtendedField.Dropdown.List.Item. */\n dropdownListItemClassName?: string;\n /* Свойства, передающиеся в Dropdown. */\n dropdownProps?: Omit<\n IDropdownProps,\n \"children\" | \"opened\" | \"setOpened\" | \"targetRef\" | \"size\" | \"mobileViewProps\"\n >;\n /* Состояние загрузки. В этот момент Dropdown закрыт, Target отображает loader. */\n loading?: boolean;\n /* Id SelectExtendedField.Dropdown.List. Нужен для связи с Target. */\n listId?: string;\n /* Название Select отображающееся в мобильном режиме. */\n mobileTitle?: React.ReactNode;\n /* Список опций. */\n options: ISelectExtendedFieldDefaultOption[];\n /* Обработчик изменения значения. */\n onChange: (option: ISelectExtendedFieldDefaultOption) => void;\n /* Текущее выбранное значение. */\n value?: ISelectExtendedFieldDefaultOption;\n}\n\n/**\n * Дефолтный рендер Dropdown для SelectExtendedField.\n * Вынесено в отдельный компонент для переиспользования внутри компонентов Triplex.\n */\nexport const SelectExtendedFieldDropdownDefault: React.FC<ISelectExtendedFieldDropdownDefaultProps> = ({\n dropdownRef,\n dropdownListItemClassName,\n dropdownProps,\n width,\n loading,\n listId,\n mobileTitle,\n onChange,\n opened,\n size,\n options,\n setOpened,\n targetRef,\n value,\n}) => {\n return (\n <SelectExtendedField.Dropdown\n opened={opened && !loading}\n forwardedRef={dropdownRef}\n width={width}\n setOpened={setOpened}\n targetRef={targetRef}\n size={size}\n {...dropdownProps}\n mobileViewProps={{\n children: (\n <>\n <DropdownMobileHeader controlButtons={<DropdownMobileClose onClick={() => setOpened(false)} />}>\n <Text tag=\"div\" size={ETextSize.B3}>\n {mobileTitle}\n </Text>\n </DropdownMobileHeader>\n <DropdownMobileBody>\n <DropdownMobileList>\n {options.map((option) => {\n const { label, ...restOption } = option;\n\n return (\n <DropdownMobileListItem\n {...restOption}\n className={dropdownListItemClassName}\n id={option.id}\n key={option.id}\n selected={option.id === value?.id}\n onSelect={() => {\n onChange(option);\n setOpened(false);\n }}\n >\n {label}\n </DropdownMobileListItem>\n );\n })}\n </DropdownMobileList>\n </DropdownMobileBody>\n </>\n ),\n }}\n >\n <SelectExtendedField.Dropdown.List id={listId} dropdownOpened={opened} size={size}>\n {options.map((option) => {\n const { label, ...restOption } = option;\n\n return (\n <SelectExtendedField.Dropdown.List.Item\n {...restOption}\n className={dropdownListItemClassName}\n id={option.id}\n key={option.id}\n selected={option.id === value?.id}\n onSelect={() => {\n onChange(option);\n setOpened(false);\n }}\n >\n {label}\n </SelectExtendedField.Dropdown.List.Item>\n );\n })}\n </SelectExtendedField.Dropdown.List>\n </SelectExtendedField.Dropdown>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA2CO,MAAM,qCAAyF,CAAC;AAAA,EACnG;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAM;AACF,SACI;AAAA,IAAC,oBAAoB;AAAA,IAApB;AAAA,MACG,QAAQ,UAAU,CAAC;AAAA,MACnB,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MACJ,iBAAiB;AAAA,QACb,UACI,qBAAA,UAAA,EACI,UAAA;AAAA,UAAA,oBAAC,wBAAqB,gBAAgB,oBAAC,uBAAoB,SAAS,MAAM,UAAU,KAAK,GAAG,GACxF,UAAA,oBAAC,QAAK,KAAI,OAAM,MAAM,UAAU,IAC3B,uBACL,EAAA,CACJ;AAAA,8BACC,oBAAA,EACG,UAAA,oBAAC,sBACI,UAAA,QAAQ,IAAI,CAAC,WAAW;AACrB,kBAAM,EAAE,OAAO,GAAG,WAAA,IAAe;AAEjC,mBACI;AAAA,cAAC;AAAA,cAAA;AAAA,gBACI,GAAG;AAAA,gBACJ,WAAW;AAAA,gBACX,IAAI,OAAO;AAAA,gBACX,KAAK,OAAO;AAAA,gBACZ,UAAU,OAAO,QAAO,+BAAO;AAAA,gBAC/B,UAAU,MAAM;AACZ,2BAAS,MAAM;AACf,4BAAU,KAAK;AAAA,gBACnB;AAAA,cAAA;AAAA,cAEC;AAAA,YAAA;AAAA,UAGb,CAAC,GACL,EAAA,CACJ;AAAA,QAAA,EAAA,CACJ;AAAA,MAAA;AAAA,MAIR,UAAA,oBAAC,oBAAoB,SAAS,MAA7B,EAAkC,IAAI,QAAQ,gBAAgB,QAAQ,MAClE,UAAA,QAAQ,IAAI,CAAC,WAAW;AACrB,cAAM,EAAE,OAAO,GAAG,WAAA,IAAe;AAEjC,eACI;AAAA,UAAC,oBAAoB,SAAS,KAAK;AAAA,UAAlC;AAAA,YACI,GAAG;AAAA,YACJ,WAAW;AAAA,YACX,IAAI,OAAO;AAAA,YACX,KAAK,OAAO;AAAA,YACZ,UAAU,OAAO,QAAO,+BAAO;AAAA,YAC/B,UAAU,MAAM;AACZ,uBAAS,MAAM;AACf,wBAAU,KAAK;AAAA,YACnB;AAAA,UAAA;AAAA,UAEC;AAAA,QAAA;AAAA,MAGb,CAAC,EAAA,CACL;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
1
+ {"version":3,"file":"SelectExtendedFieldDropdownDefault.js","sources":["../../../../src/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n ISelectExtendedFieldDefaultOption,\n ISelectExtendedFieldDropdownProvideProps,\n SelectExtendedField,\n} from \"../SelectExtendedField\";\nimport {\n DropdownMobileBody,\n DropdownMobileClose,\n DropdownMobileHeader,\n DropdownMobileList,\n DropdownMobileListItem,\n IDropdownProps,\n} from \"../../Dropdown\";\nimport { Text, ETextSize } from \"../../Typography\";\n\n/** Свойства компонента SelectExtendedFieldDropdownDefault. */\nexport interface ISelectExtendedFieldDropdownDefaultProps\n extends ISelectExtendedFieldDropdownProvideProps, Pick<IDropdownProps, \"size\" | \"width\"> {\n /** ClassName для модификации SelectExtendedField.Dropdown.List.Item. */\n dropdownListItemClassName?: string;\n /** Свойства, передающиеся в Dropdown. */\n dropdownProps?: Omit<\n IDropdownProps,\n \"children\" | \"opened\" | \"setOpened\" | \"targetRef\" | \"size\" | \"mobileViewProps\"\n >;\n /** Состояние загрузки. В этот момент Dropdown закрыт, Target отображает лоадер. По умолчанию false. */\n loading?: boolean;\n /** Id SelectExtendedField.Dropdown.List. Нужен для связи с Target. */\n listId?: string;\n /** Название Select, отображающееся в мобильном режиме. */\n mobileTitle?: React.ReactNode;\n /** Список опций. */\n options: ISelectExtendedFieldDefaultOption[];\n /** Обработчик изменения значения. Вызывается с выбранной опцией. */\n onChange: (option: ISelectExtendedFieldDefaultOption) => void;\n /** Текущее выбранное значение. Опция сопоставляется по полю id. */\n value?: ISelectExtendedFieldDefaultOption;\n}\n\n/**\n * Дефолтный рендер Dropdown для SelectExtendedField.\n * Вынесено в отдельный компонент для переиспользования внутри компонентов Triplex.\n */\nexport const SelectExtendedFieldDropdownDefault: React.FC<ISelectExtendedFieldDropdownDefaultProps> = ({\n dropdownRef,\n dropdownListItemClassName,\n dropdownProps,\n width,\n loading,\n listId,\n mobileTitle,\n onChange,\n opened,\n size,\n options,\n setOpened,\n targetRef,\n value,\n}) => {\n // Десктопный и мобильный списки различаются только компонентом элемента. Свойства опции\n // считаются здесь один раз, чтобы поведение выбора не разъехалось между режимами.\n // Компонент элемента в хелпер не выносится: у десктопного и мобильного разные типы props,\n // а общий тип пришлось бы ослаблять до React.ElementType.\n const getOptionProps = (option: ISelectExtendedFieldDefaultOption) => {\n const { label, ...restOption } = option;\n\n return {\n ...restOption,\n className: dropdownListItemClassName,\n id: option.id,\n selected: option.id === value?.id,\n onSelect: () => {\n onChange(option);\n setOpened(false);\n },\n children: label,\n };\n };\n\n return (\n <SelectExtendedField.Dropdown\n opened={opened && !loading}\n forwardedRef={dropdownRef}\n width={width}\n setOpened={setOpened}\n targetRef={targetRef}\n size={size}\n {...dropdownProps}\n mobileViewProps={{\n children: (\n <>\n <DropdownMobileHeader controlButtons={<DropdownMobileClose onClick={() => setOpened(false)} />}>\n <Text tag=\"div\" size={ETextSize.B3}>\n {mobileTitle}\n </Text>\n </DropdownMobileHeader>\n <DropdownMobileBody>\n <DropdownMobileList>\n {options.map((option) => (\n <DropdownMobileListItem key={option.id} {...getOptionProps(option)} />\n ))}\n </DropdownMobileList>\n </DropdownMobileBody>\n </>\n ),\n }}\n >\n <SelectExtendedField.Dropdown.List id={listId} dropdownOpened={opened} size={size}>\n {options.map((option) => (\n <SelectExtendedField.Dropdown.List.Item key={option.id} {...getOptionProps(option)} />\n ))}\n </SelectExtendedField.Dropdown.List>\n </SelectExtendedField.Dropdown>\n );\n};\n\nSelectExtendedFieldDropdownDefault.displayName = \"SelectExtendedFieldDropdownDefault\";\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA4CO,MAAM,qCAAyF,CAAC;AAAA,EACnG;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAM;AAKF,QAAM,iBAAiB,CAAC,WAA8C;AAClE,UAAM,EAAE,OAAO,GAAG,WAAA,IAAe;AAEjC,WAAO;AAAA,MACH,GAAG;AAAA,MACH,WAAW;AAAA,MACX,IAAI,OAAO;AAAA,MACX,UAAU,OAAO,QAAO,+BAAO;AAAA,MAC/B,UAAU,MAAM;AACZ,iBAAS,MAAM;AACf,kBAAU,KAAK;AAAA,MACnB;AAAA,MACA,UAAU;AAAA,IAAA;AAAA,EAElB;AAEA,SACI;AAAA,IAAC,oBAAoB;AAAA,IAApB;AAAA,MACG,QAAQ,UAAU,CAAC;AAAA,MACnB,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MACJ,iBAAiB;AAAA,QACb,UACI,qBAAA,UAAA,EACI,UAAA;AAAA,UAAA,oBAAC,wBAAqB,gBAAgB,oBAAC,uBAAoB,SAAS,MAAM,UAAU,KAAK,GAAG,GACxF,UAAA,oBAAC,QAAK,KAAI,OAAM,MAAM,UAAU,IAC3B,uBACL,EAAA,CACJ;AAAA,8BACC,oBAAA,EACG,UAAA,oBAAC,sBACI,UAAA,QAAQ,IAAI,CAAC,WACV,oBAAC,wBAAA,EAAwC,GAAG,eAAe,MAAM,EAAA,GAApC,OAAO,EAAgC,CACvE,GACL,EAAA,CACJ;AAAA,QAAA,EAAA,CACJ;AAAA,MAAA;AAAA,MAIR,UAAA,oBAAC,oBAAoB,SAAS,MAA7B,EAAkC,IAAI,QAAQ,gBAAgB,QAAQ,MAClE,UAAA,QAAQ,IAAI,CAAC,WACV,oBAAC,oBAAoB,SAAS,KAAK,MAAlC,EAAwD,GAAG,eAAe,MAAM,EAAA,GAApC,OAAO,EAAgC,CACvF,EAAA,CACL;AAAA,IAAA;AAAA,EAAA;AAGZ;AAEA,mCAAmC,cAAc;"}
@@ -1,11 +1,9 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import React__default, { useRef } from "react";
2
+ import React__default from "react";
3
+ import { c as clsx } from "../../../chunks/vendor-CtuAQuEN.js";
3
4
  import { CaretdownStrokeSrvIcon24, CaretdownStrokeSrvIcon20, CaretdownStrokeSrvIcon16 } from "@sberbusiness/icons-next";
5
+ import { EComponentSize } from "../../../enums/EComponentSize.js";
4
6
  import { EVENT_KEY_CODES } from "../../../utils/keyboard.js";
5
- import { LoaderSmall } from "../../Loader/LoaderSmall/LoaderSmall.js";
6
- import { ELoaderSmallTheme } from "../../Loader/LoaderSmall/enum.js";
7
- import "../../Loader/LoaderMiddle/LoaderMiddle.js";
8
- import { c as clsx } from "../../../chunks/vendor-CtuAQuEN.js";
9
7
  import { EFormFieldStatus } from "../../FormField/enums.js";
10
8
  import { FormFieldClear } from "../../FormField/components/FormFieldClear.js";
11
9
  import "../../FormField/components/FormFieldCounter.js";
@@ -18,14 +16,16 @@ import { FormFieldPrefix } from "../../FormField/components/FormFieldPrefix.js";
18
16
  import { FormFieldTarget } from "../../FormField/components/FormFieldTarget.js";
19
17
  import "../../FormField/components/FormFieldTextarea.js";
20
18
  import { FormField } from "../../FormField/FormField.js";
21
- import { EComponentSize } from "../../../enums/EComponentSize.js";
22
19
  import { IconWrapper } from "../../IconWrapper/IconWrapper.js";
23
- const selectExtendedFieldTarget = "selectExtendedFieldTarget__414fbc40";
24
- const caretIcon = "caretIcon__658b8c99";
25
- const selectOpened = "selectOpened__2ae9686a";
26
- const disabled = "disabled__67a59994";
27
- const target = "target__a4813e40";
28
- const caretWrapper = "caretWrapper__cc9cb187";
20
+ import { LoaderSmall } from "../../Loader/LoaderSmall/LoaderSmall.js";
21
+ import { ELoaderSmallTheme } from "../../Loader/LoaderSmall/enum.js";
22
+ import "../../Loader/LoaderMiddle/LoaderMiddle.js";
23
+ const selectExtendedFieldTarget = "selectExtendedFieldTarget__92a73756";
24
+ const caretIcon = "caretIcon__5f090ff9";
25
+ const selectOpened = "selectOpened__48b937c1";
26
+ const disabled = "disabled__306b11af";
27
+ const target = "target__3d88c7b3";
28
+ const caretWrapper = "caretWrapper__208c6f41";
29
29
  const styles = {
30
30
  selectExtendedFieldTarget,
31
31
  caretIcon,
@@ -34,20 +34,25 @@ const styles = {
34
34
  target,
35
35
  caretWrapper
36
36
  };
37
- const sizeToCaretIconMap = {
37
+ const SIZE_TO_CARET_ICON_MAP = {
38
38
  [EComponentSize.SM]: /* @__PURE__ */ jsx(CaretdownStrokeSrvIcon16, { paletteIndex: 5, className: styles.caretIcon }),
39
39
  [EComponentSize.MD]: /* @__PURE__ */ jsx(CaretdownStrokeSrvIcon20, { paletteIndex: 5, className: styles.caretIcon }),
40
40
  [EComponentSize.LG]: /* @__PURE__ */ jsx(CaretdownStrokeSrvIcon24, { paletteIndex: 5, className: styles.caretIcon })
41
41
  };
42
- const sizeToLoaderSizeMap = {
42
+ const SIZE_TO_LOADER_MAP = {
43
43
  [EComponentSize.SM]: /* @__PURE__ */ jsx(LoaderSmall, { size: EComponentSize.SM, theme: ELoaderSmallTheme.BRAND }),
44
44
  [EComponentSize.MD]: /* @__PURE__ */ jsx(LoaderSmall, { size: EComponentSize.MD, theme: ELoaderSmallTheme.BRAND }),
45
45
  [EComponentSize.LG]: /* @__PURE__ */ jsx(LoaderSmall, { size: EComponentSize.LG, theme: ELoaderSmallTheme.BRAND })
46
46
  };
47
+ const OPEN_DROPDOWN_KEY_CODES = [
48
+ EVENT_KEY_CODES.SPACE,
49
+ EVENT_KEY_CODES.ENTER,
50
+ EVENT_KEY_CODES.ARROW_DOWN,
51
+ EVENT_KEY_CODES.ARROW_UP
52
+ ];
47
53
  const SelectExtendedFieldTarget = React__default.forwardRef(
48
54
  (props, ref) => {
49
55
  const {
50
- children,
51
56
  className,
52
57
  label,
53
58
  placeholder,
@@ -61,53 +66,37 @@ const SelectExtendedFieldTarget = React__default.forwardRef(
61
66
  loading,
62
67
  size = EComponentSize.MD,
63
68
  status,
69
+ // children и tabIndex намеренно не доходят до FormField: разметка поля фиксирована,
70
+ // а tabIndex выставляет сам FormFieldTarget (-1 в состоянии DISABLED, иначе 0).
71
+ children,
64
72
  tabIndex,
65
73
  fieldLabel,
66
74
  ...rest
67
75
  } = props;
68
- const targetRef = useRef(null);
69
- const classNames = clsx(
70
- styles.selectExtendedFieldTarget,
71
- {
72
- [styles.selectOpened]: opened,
73
- [styles.loading]: loading,
74
- [styles.disabled]: status === EFormFieldStatus.DISABLED
75
- },
76
- className
77
- );
76
+ const disabled2 = status === EFormFieldStatus.DISABLED;
77
+ const interactionBlocked = Boolean(loading) || disabled2;
78
78
  const handleClick = (event) => {
79
- if (loading || status === EFormFieldStatus.DISABLED) {
79
+ if (interactionBlocked) {
80
80
  return;
81
81
  }
82
82
  setOpened(!opened);
83
83
  onClick == null ? void 0 : onClick(event);
84
84
  };
85
+ const handleClearClick = (event) => {
86
+ event.stopPropagation();
87
+ onClear == null ? void 0 : onClear();
88
+ };
85
89
  const handleKeyDown = (event) => {
86
- if (loading || status === EFormFieldStatus.DISABLED) {
90
+ if (interactionBlocked) {
87
91
  return;
88
92
  }
89
- if (!opened) {
90
- if ([
91
- EVENT_KEY_CODES.SPACE,
92
- EVENT_KEY_CODES.ENTER,
93
- EVENT_KEY_CODES.ARROW_DOWN,
94
- EVENT_KEY_CODES.ARROW_UP
95
- ].includes(event.keyCode)) {
96
- event.preventDefault();
97
- event.stopPropagation();
98
- setOpened(!opened);
99
- }
93
+ if (!opened && OPEN_DROPDOWN_KEY_CODES.includes(event.keyCode)) {
94
+ event.preventDefault();
95
+ event.stopPropagation();
96
+ setOpened(true);
100
97
  }
101
98
  onKeyDown == null ? void 0 : onKeyDown(event);
102
99
  };
103
- const setRef = (instance) => {
104
- targetRef.current = instance;
105
- if (typeof ref === "function") {
106
- ref(instance);
107
- } else if (ref) {
108
- ref.current = instance;
109
- }
110
- };
111
100
  return /* @__PURE__ */ jsxs(
112
101
  FormField,
113
102
  {
@@ -115,40 +104,33 @@ const SelectExtendedFieldTarget = React__default.forwardRef(
115
104
  onKeyDown: handleKeyDown,
116
105
  status,
117
106
  size,
118
- className: classNames,
107
+ className: clsx(
108
+ styles.selectExtendedFieldTarget,
109
+ { [styles.selectOpened]: opened, [styles.disabled]: disabled2 },
110
+ className
111
+ ),
119
112
  "aria-expanded": opened,
120
113
  "aria-haspopup": "listbox",
121
- "data-tx": "1.40.0",
114
+ "data-tx": "1.41.1",
122
115
  active: opened,
123
116
  ...rest,
124
117
  children: [
125
118
  prefix ? /* @__PURE__ */ jsx(FormFieldPrefix, { children: prefix }) : null,
126
119
  /* @__PURE__ */ jsx(FormFieldLabel, { children: fieldLabel }),
127
- /* @__PURE__ */ jsx(
128
- FormFieldTarget,
129
- {
130
- ref: setRef,
131
- className: clsx(styles.target, {
132
- [styles.placeholder]: !!placeholder && !label,
133
- [styles.label]: !!label
134
- }),
135
- placeholder,
136
- children: label
137
- }
138
- ),
120
+ /* @__PURE__ */ jsx(FormFieldTarget, { ref, className: styles.target, placeholder, children: label }),
139
121
  /* @__PURE__ */ jsxs(FormFieldPostfix, { children: [
140
- onClear && /* @__PURE__ */ jsx(FormFieldClear, { onClick: onClear }),
141
- loading ? sizeToLoaderSizeMap[size] : /* @__PURE__ */ jsx(
122
+ onClear && /* @__PURE__ */ jsx(FormFieldClear, { onClick: handleClearClick }),
123
+ loading ? SIZE_TO_LOADER_MAP[size] : /* @__PURE__ */ jsx(
142
124
  IconWrapper,
143
125
  {
144
126
  className: styles.caretWrapper,
145
127
  active: opened,
146
- disabled: status === EFormFieldStatus.DISABLED,
128
+ disabled: disabled2,
147
129
  displayContents: true,
148
- children: sizeToCaretIconMap[size]
130
+ children: SIZE_TO_CARET_ICON_MAP[size]
149
131
  }
150
132
  ),
151
- postfix ? postfix : null
133
+ postfix
152
134
  ] })
153
135
  ]
154
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectExtendedFieldTarget.js","sources":["../../../../src/components/SelectExtendedField/components/SelectExtendedFieldTarget.tsx"],"sourcesContent":["import React, { useRef } from \"react\";\nimport { CaretdownStrokeSrvIcon16, CaretdownStrokeSrvIcon20, CaretdownStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport { EVENT_KEY_CODES } from \"../../../utils/keyboard\";\nimport { LoaderSmall, ELoaderSmallTheme } from \"../../Loader\";\nimport clsx from \"clsx\";\nimport {\n EFormFieldStatus,\n FormField,\n FormFieldClear,\n FormFieldLabel,\n FormFieldPostfix,\n FormFieldPrefix,\n IFormFieldProps,\n} from \"../../FormField\";\nimport { FormFieldTarget } from \"../../FormField/components/FormFieldTarget\";\nimport { EComponentSize } from \"@sberbusiness/triplex-next/enums/EComponentSize\";\nimport { IconWrapper } from \"../../IconWrapper\";\nimport styles from \"../styles/SelectExtendedFieldTarget.module.less\";\n\n/* Свойства SelectExtendedFieldTarget. */\nexport interface ISelectExtendedFieldTargetProps extends Omit<IFormFieldProps, \"prefix\" | \"postfix\"> {\n /** Текст или компонент, отображающий выбранное значение. */\n label?: React.ReactNode;\n /** Текст или компонент, отображающий выбранное значение для Target. */\n fieldLabel: React.ReactNode;\n /** Состояние загрузки. */\n loading?: boolean;\n /** Состояние открытости выпадающего списка. */\n opened: boolean;\n /** Текст или компонент, отображающий выбранное placeholder. */\n placeholder?: React.ReactNode;\n /** Префикс поля ввода. */\n prefix?: React.ReactNode;\n /** Постфикс поля ввода. */\n postfix?: React.ReactNode;\n /** Функция открытия/закрытия выпадающего списка. */\n setOpened: (opened: boolean) => void;\n /** Функция очистки значения. */\n onClear?: () => void;\n}\n\nconst sizeToCaretIconMap = {\n [EComponentSize.SM]: <CaretdownStrokeSrvIcon16 paletteIndex={5} className={styles.caretIcon} />,\n [EComponentSize.MD]: <CaretdownStrokeSrvIcon20 paletteIndex={5} className={styles.caretIcon} />,\n [EComponentSize.LG]: <CaretdownStrokeSrvIcon24 paletteIndex={5} className={styles.caretIcon} />,\n};\n\nconst sizeToLoaderSizeMap = {\n [EComponentSize.SM]: <LoaderSmall size={EComponentSize.SM} theme={ELoaderSmallTheme.BRAND} />,\n [EComponentSize.MD]: <LoaderSmall size={EComponentSize.MD} theme={ELoaderSmallTheme.BRAND} />,\n [EComponentSize.LG]: <LoaderSmall size={EComponentSize.LG} theme={ELoaderSmallTheme.BRAND} />,\n};\n\n/**\n * Компонент SelectTarget.\n * Видимая часть Select, при нажатии на которую открывается выпадающий список.\n */\nexport const SelectExtendedFieldTarget = React.forwardRef<HTMLDivElement, ISelectExtendedFieldTargetProps>(\n (props, ref) => {\n const {\n children,\n className,\n label,\n placeholder,\n onKeyDown,\n onClick,\n onClear,\n opened,\n postfix,\n prefix,\n setOpened,\n loading,\n size = EComponentSize.MD,\n status,\n tabIndex,\n fieldLabel,\n ...rest\n } = props;\n const targetRef = useRef<HTMLDivElement | null>(null);\n const classNames = clsx(\n styles.selectExtendedFieldTarget,\n {\n [styles.selectOpened]: opened,\n [styles.loading]: loading,\n [styles.disabled]: status === EFormFieldStatus.DISABLED,\n },\n className,\n );\n /* Обработчик клика. */\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (loading || status === EFormFieldStatus.DISABLED) {\n return; // Не реагируем на клики в состоянии загрузки\n }\n setOpened(!opened);\n onClick?.(event);\n };\n\n /* Обработчик нажатия клавиши. */\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (loading || status === EFormFieldStatus.DISABLED) {\n return; // Не реагируем на клавиши в состоянии загрузки или disabled\n }\n\n if (!opened) {\n // При нажатии Enter, Space, ArrowUp или ArrowDown открывается выпадающий список.\n if (\n [\n EVENT_KEY_CODES.SPACE,\n EVENT_KEY_CODES.ENTER,\n EVENT_KEY_CODES.ARROW_DOWN,\n EVENT_KEY_CODES.ARROW_UP,\n ].includes(event.keyCode)\n ) {\n event.preventDefault();\n // Предотвращение срабатывания keydown при открытии Dropdown в document.addEventListener('keydown'...) в src/desktop/components/Dropdown/components/DropdownListItem.tsx.\n event.stopPropagation();\n setOpened(!opened);\n }\n }\n\n onKeyDown?.(event);\n };\n\n /* Функция для хранения ссылки. */\n const setRef = (instance: HTMLDivElement | null) => {\n targetRef.current = instance;\n if (typeof ref === \"function\") {\n ref(instance);\n } else if (ref) {\n ref.current = instance;\n }\n };\n\n return (\n <FormField\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n status={status}\n size={size}\n className={classNames}\n aria-expanded={opened}\n aria-haspopup=\"listbox\"\n data-tx={process.env.npm_package_version}\n active={opened}\n {...rest}\n >\n {prefix ? <FormFieldPrefix>{prefix}</FormFieldPrefix> : null}\n\n <FormFieldLabel>{fieldLabel}</FormFieldLabel>\n <FormFieldTarget\n ref={setRef}\n className={clsx(styles.target, {\n [styles.placeholder]: !!placeholder && !label,\n [styles.label]: !!label,\n })}\n placeholder={placeholder}\n >\n {label}\n </FormFieldTarget>\n\n <FormFieldPostfix>\n {onClear && <FormFieldClear onClick={onClear} />}\n {loading ? (\n sizeToLoaderSizeMap[size]\n ) : (\n <IconWrapper\n className={styles.caretWrapper}\n active={opened}\n disabled={status === EFormFieldStatus.DISABLED}\n displayContents\n >\n {sizeToCaretIconMap[size]}\n </IconWrapper>\n )}\n {postfix ? postfix : null}\n </FormFieldPostfix>\n </FormField>\n );\n },\n);\n\nSelectExtendedFieldTarget.displayName = \"SelectExtendedFieldTarget\";\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"SelectExtendedFieldTarget.js","sources":["../../../../src/components/SelectExtendedField/components/SelectExtendedFieldTarget.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport { CaretdownStrokeSrvIcon16, CaretdownStrokeSrvIcon20, CaretdownStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport { EComponentSize } from \"@sberbusiness/triplex-next/enums/EComponentSize\";\nimport { EVENT_KEY_CODES } from \"../../../utils/keyboard\";\nimport {\n EFormFieldStatus,\n FormField,\n FormFieldClear,\n FormFieldLabel,\n FormFieldPostfix,\n FormFieldPrefix,\n IFormFieldProps,\n} from \"../../FormField\";\nimport { FormFieldTarget } from \"../../FormField/components/FormFieldTarget\";\nimport { IconWrapper } from \"../../IconWrapper\";\nimport { LoaderSmall, ELoaderSmallTheme } from \"../../Loader\";\nimport styles from \"../styles/SelectExtendedFieldTarget.module.less\";\n\n/** Свойства компонента SelectExtendedFieldTarget. */\nexport interface ISelectExtendedFieldTargetProps extends Omit<IFormFieldProps, \"prefix\" | \"postfix\"> {\n /** Текст или компонент, отображающий выбранное значение. */\n label?: React.ReactNode;\n /** Текст или компонент заголовка поля. */\n fieldLabel: React.ReactNode;\n /** Состояние загрузки. Вместо каретки отображается лоадер, поле не реагирует на клик и клавиатуру. По умолчанию false. */\n loading?: boolean;\n /** Состояние открытости выпадающего блока. */\n opened: boolean;\n /** Текст или компонент, отображаемый вместо значения, пока значение не выбрано. */\n placeholder?: React.ReactNode;\n /** Префикс поля. */\n prefix?: React.ReactNode;\n /** Постфикс поля. Отображается после каретки. */\n postfix?: React.ReactNode;\n /** Функция открытия/закрытия выпадающего блока. */\n setOpened: (opened: boolean) => void;\n /** Функция очистки значения. Если передана, в поле отображается кнопка очистки. */\n onClear?: () => void;\n}\n\n/** Соответствие размера поля иконке каретки. */\nconst SIZE_TO_CARET_ICON_MAP = {\n [EComponentSize.SM]: <CaretdownStrokeSrvIcon16 paletteIndex={5} className={styles.caretIcon} />,\n [EComponentSize.MD]: <CaretdownStrokeSrvIcon20 paletteIndex={5} className={styles.caretIcon} />,\n [EComponentSize.LG]: <CaretdownStrokeSrvIcon24 paletteIndex={5} className={styles.caretIcon} />,\n};\n\n/** Соответствие размера поля лоадеру состояния загрузки. */\nconst SIZE_TO_LOADER_MAP = {\n [EComponentSize.SM]: <LoaderSmall size={EComponentSize.SM} theme={ELoaderSmallTheme.BRAND} />,\n [EComponentSize.MD]: <LoaderSmall size={EComponentSize.MD} theme={ELoaderSmallTheme.BRAND} />,\n [EComponentSize.LG]: <LoaderSmall size={EComponentSize.LG} theme={ELoaderSmallTheme.BRAND} />,\n};\n\n/** Коды клавиш, открывающих выпадающий блок. */\nconst OPEN_DROPDOWN_KEY_CODES = [\n EVENT_KEY_CODES.SPACE,\n EVENT_KEY_CODES.ENTER,\n EVENT_KEY_CODES.ARROW_DOWN,\n EVENT_KEY_CODES.ARROW_UP,\n];\n\n/**\n * Поле выбора SelectExtendedField.\n * Видимая часть Select, при нажатии на которую открывается выпадающий блок.\n */\nexport const SelectExtendedFieldTarget = React.forwardRef<HTMLDivElement, ISelectExtendedFieldTargetProps>(\n (props, ref) => {\n const {\n className,\n label,\n placeholder,\n onKeyDown,\n onClick,\n onClear,\n opened,\n postfix,\n prefix,\n setOpened,\n loading,\n size = EComponentSize.MD,\n status,\n // children и tabIndex намеренно не доходят до FormField: разметка поля фиксирована,\n // а tabIndex выставляет сам FormFieldTarget (-1 в состоянии DISABLED, иначе 0).\n children,\n tabIndex,\n fieldLabel,\n ...rest\n } = props;\n const disabled = status === EFormFieldStatus.DISABLED;\n // В состоянии загрузки и в заблокированном поле выпадающий блок не открывается.\n const interactionBlocked = Boolean(loading) || disabled;\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (interactionBlocked) {\n return;\n }\n\n setOpened(!opened);\n onClick?.(event);\n };\n\n const handleClearClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n // Кнопка очистки лежит внутри поля, у которого клик переключает выпадающий блок.\n // Без остановки всплытия очистка значения заодно раскрывала бы список.\n // Так же сделано в Chip.Select и Chip.DatePicker.\n event.stopPropagation();\n onClear?.();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (interactionBlocked) {\n return;\n }\n\n if (!opened && OPEN_DROPDOWN_KEY_CODES.includes(event.keyCode)) {\n event.preventDefault();\n // Предотвращение срабатывания keydown при открытии Dropdown в\n // document.addEventListener(\"keydown\", ...) в DropdownListItem.\n event.stopPropagation();\n setOpened(true);\n }\n\n onKeyDown?.(event);\n };\n\n return (\n <FormField\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n status={status}\n size={size}\n className={clsx(\n styles.selectExtendedFieldTarget,\n { [styles.selectOpened]: opened, [styles.disabled]: disabled },\n className,\n )}\n aria-expanded={opened}\n aria-haspopup=\"listbox\"\n data-tx={process.env.npm_package_version}\n active={opened}\n {...rest}\n >\n {prefix ? <FormFieldPrefix>{prefix}</FormFieldPrefix> : null}\n\n <FormFieldLabel>{fieldLabel}</FormFieldLabel>\n <FormFieldTarget ref={ref} className={styles.target} placeholder={placeholder}>\n {label}\n </FormFieldTarget>\n\n <FormFieldPostfix>\n {onClear && <FormFieldClear onClick={handleClearClick} />}\n {loading ? (\n SIZE_TO_LOADER_MAP[size]\n ) : (\n <IconWrapper\n className={styles.caretWrapper}\n active={opened}\n disabled={disabled}\n displayContents\n >\n {SIZE_TO_CARET_ICON_MAP[size]}\n </IconWrapper>\n )}\n {postfix}\n </FormFieldPostfix>\n </FormField>\n );\n },\n);\n\nSelectExtendedFieldTarget.displayName = \"SelectExtendedFieldTarget\";\n"],"names":["React","disabled"],"mappings":"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"}
@@ -7,7 +7,7 @@ import { SelectExtendedFieldDropdownDefault } from "../SelectExtendedField/compo
7
7
  import { DropdownListContext } from "../Dropdown/DropdownListContext.js";
8
8
  import "../Dropdown/desktop/DropdownDesktop.js";
9
9
  import "../Dropdown/desktop/DropdownList.js";
10
- import "../../chunks/DropdownListItem-BqOoPFSx.js";
10
+ import "../../chunks/DropdownListItem-BVgGltGX.js";
11
11
  import { EDropdownWidth } from "../Dropdown/desktop/enums.js";
12
12
  import "../Dropdown/mobile/DropdownMobile.js";
13
13
  import "../Dropdown/mobile/DropdownMobileBody.js";
@@ -1,9 +1,9 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { c as clsx } from "../../chunks/vendor-CtuAQuEN.js";
3
3
  import { ESkeletonType } from "./enums.js";
4
- const skeleton = "skeleton__47b3b259";
5
- const light = "light__04818d7d";
6
- const dark = "dark__29709362";
4
+ const skeleton = "skeleton__e8cd4a61";
5
+ const light = "light__85924a5f";
6
+ const dark = "dark__76e65481";
7
7
  const styles = {
8
8
  skeleton,
9
9
  light,
@@ -17,7 +17,7 @@ const Skeleton = ({ className, type = ESkeletonType.DARK, ...htmlDivAttributes }
17
17
  [styles.light]: type === ESkeletonType.LIGHT
18
18
  }),
19
19
  ...htmlDivAttributes,
20
- "data-tx": "1.40.0"
20
+ "data-tx": "1.41.1"
21
21
  }
22
22
  );
23
23
  export {