@sberbusiness/triplex-next 1.45.0 → 1.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (567) hide show
  1. package/chunks/{AlertProcessSpoiler-54gQMEAr.js → AlertProcessSpoiler-N4xDl9wn.js} +17 -17
  2. package/chunks/{AlertProcessSpoiler-54gQMEAr.js.map → AlertProcessSpoiler-N4xDl9wn.js.map} +1 -1
  3. package/chunks/{CalendarViewItem-cQjxsIMh.js → CalendarViewItem-DPwldi4s.js} +21 -21
  4. package/chunks/{CalendarViewItem-cQjxsIMh.js.map → CalendarViewItem-DPwldi4s.js.map} +1 -1
  5. package/chunks/Card.module-DRLlpl4W.js +32 -0
  6. package/chunks/Card.module-DRLlpl4W.js.map +1 -0
  7. package/chunks/Carousel.module-DdMfAe9T.js +34 -0
  8. package/chunks/Carousel.module-DdMfAe9T.js.map +1 -0
  9. package/chunks/CheckboxTreeExtended.module-BCujNMOr.js +24 -0
  10. package/chunks/CheckboxTreeExtended.module-BCujNMOr.js.map +1 -0
  11. package/chunks/{Chip-CWaqKk62.js → Chip-Bi7plvOY.js} +17 -17
  12. package/chunks/{Chip-CWaqKk62.js.map → Chip-Bi7plvOY.js.map} +1 -1
  13. package/chunks/Confirm.module-D5ujpaan.js +24 -0
  14. package/chunks/Confirm.module-D5ujpaan.js.map +1 -0
  15. package/chunks/{DropdownListItem-kMroiHoh.js → DropdownListItem-BaP5AaMK.js} +11 -11
  16. package/chunks/{DropdownListItem-kMroiHoh.js.map → DropdownListItem-BaP5AaMK.js.map} +1 -1
  17. package/chunks/DropdownMobile.module-B-PviyH6.js +40 -0
  18. package/chunks/DropdownMobile.module-B-PviyH6.js.map +1 -0
  19. package/chunks/Footer.module-ib3e66nH.js +12 -0
  20. package/chunks/Footer.module-ib3e66nH.js.map +1 -0
  21. package/chunks/{HeaderLayoutSidebar.module-k_1rIXs0.js → HeaderLayoutSidebar.module-CgtR6oF4.js} +4 -4
  22. package/chunks/HeaderLayoutSidebar.module-CgtR6oF4.js.map +1 -0
  23. package/chunks/HeaderTabs.module-CYsRVlb9.js +12 -0
  24. package/chunks/HeaderTabs.module-CYsRVlb9.js.map +1 -0
  25. package/chunks/{HeaderTitle.module-BbIcVzwx.js → HeaderTitle.module-CABfTvCf.js} +4 -4
  26. package/chunks/HeaderTitle.module-CABfTvCf.js.map +1 -0
  27. package/chunks/ImageGalleryExtendedMain.module-CZ9ZU6qi.js +28 -0
  28. package/chunks/ImageGalleryExtendedMain.module-CZ9ZU6qi.js.map +1 -0
  29. package/chunks/{ImageGalleryExtendedThumb-DlJrbeiX.js → ImageGalleryExtendedThumb-BFa7GPtt.js} +6 -6
  30. package/chunks/{ImageGalleryExtendedThumb-DlJrbeiX.js.map → ImageGalleryExtendedThumb-BFa7GPtt.js.map} +1 -1
  31. package/chunks/IslandAccordion.module-U3t-4vJq.js +44 -0
  32. package/chunks/IslandAccordion.module-U3t-4vJq.js.map +1 -0
  33. package/chunks/IslandWidgetFooter.module--k_POM4A.js +18 -0
  34. package/chunks/IslandWidgetFooter.module--k_POM4A.js.map +1 -0
  35. package/chunks/IslandWidgetHeader.module-D6j13jwR.js +28 -0
  36. package/chunks/IslandWidgetHeader.module-D6j13jwR.js.map +1 -0
  37. package/chunks/{LightBoxContent-DDevHCAQ.js → LightBoxContent-v_PFgeok.js} +17 -17
  38. package/chunks/{LightBoxContent-DDevHCAQ.js.map → LightBoxContent-v_PFgeok.js.map} +1 -1
  39. package/chunks/LightBoxControls.module-DR8ULE0a.js +26 -0
  40. package/chunks/LightBoxControls.module-DR8ULE0a.js.map +1 -0
  41. package/chunks/{LightBoxSideOverlayClose.module-B_RmH_Zj.js → LightBoxSideOverlayClose.module-0Tjk9-qL.js} +4 -4
  42. package/chunks/LightBoxSideOverlayClose.module-0Tjk9-qL.js.map +1 -0
  43. package/chunks/{ListItemControlsButton-BGHyQIXE.js → ListItemControlsButton-DoNJ-Yfe.js} +10 -10
  44. package/chunks/{ListItemControlsButton-BGHyQIXE.js.map → ListItemControlsButton-DoNJ-Yfe.js.map} +1 -1
  45. package/chunks/ListItemTail.module-Bq08aKyf.js +18 -0
  46. package/chunks/ListItemTail.module-Bq08aKyf.js.map +1 -0
  47. package/chunks/ListMasterFooter.module-9x6ntzLF.js +14 -0
  48. package/chunks/ListMasterFooter.module-9x6ntzLF.js.map +1 -0
  49. package/chunks/ModalWindow.module-DVlh8Hck.js +28 -0
  50. package/chunks/ModalWindow.module-DVlh8Hck.js.map +1 -0
  51. package/chunks/Notification.module-CAO_e6_u.js +34 -0
  52. package/chunks/Notification.module-CAO_e6_u.js.map +1 -0
  53. package/chunks/Overlay.module-BobfrUap.js +30 -0
  54. package/chunks/Overlay.module-BobfrUap.js.map +1 -0
  55. package/chunks/Page.module-D5IIaIaU.js +15 -0
  56. package/chunks/Page.module-D5IIaIaU.js.map +1 -0
  57. package/chunks/SMSField.module-7wYs4QAZ.js +30 -0
  58. package/chunks/SMSField.module-7wYs4QAZ.js.map +1 -0
  59. package/chunks/SliderExtendedMarks.module-m4ckCTSy.js +24 -0
  60. package/chunks/SliderExtendedMarks.module-m4ckCTSy.js.map +1 -0
  61. package/chunks/{SliderExtendedRail-VEYm3CWM.js → SliderExtendedRail-BI8zsX61.js} +6 -6
  62. package/chunks/{SliderExtendedRail-VEYm3CWM.js.map → SliderExtendedRail-BI8zsX61.js.map} +1 -1
  63. package/chunks/StatusTracker.module-Duk0PPcv.js +44 -0
  64. package/chunks/StatusTracker.module-Duk0PPcv.js.map +1 -0
  65. package/chunks/{StepperStepArrowBorder-B8OziF77.js → StepperStepArrowBorder-Q22ED8Yo.js} +16 -16
  66. package/chunks/{StepperStepArrowBorder-B8OziF77.js.map → StepperStepArrowBorder-Q22ED8Yo.js.map} +1 -1
  67. package/chunks/{SuggestFieldMobileDropdownHint-CEHlClB5.js → SuggestFieldMobileDropdownHint-3ySBEFFO.js} +3 -3
  68. package/chunks/{SuggestFieldMobileDropdownHint-CEHlClB5.js.map → SuggestFieldMobileDropdownHint-3ySBEFFO.js.map} +1 -1
  69. package/chunks/TableFooter.module-oZBepBwa.js +22 -0
  70. package/chunks/TableFooter.module-oZBepBwa.js.map +1 -0
  71. package/chunks/TabsExtended.module-D5QonHS5.js +26 -0
  72. package/chunks/TabsExtended.module-D5QonHS5.js.map +1 -0
  73. package/chunks/TabsLine.module-RwtPmU40.js +36 -0
  74. package/chunks/TabsLine.module-RwtPmU40.js.map +1 -0
  75. package/chunks/TooltipDesktop.module-hAZYb_oS.js +32 -0
  76. package/chunks/TooltipDesktop.module-hAZYb_oS.js.map +1 -0
  77. package/chunks/TreeView.module-DZyeCF-w.js +12 -0
  78. package/chunks/TreeView.module-DZyeCF-w.js.map +1 -0
  79. package/chunks/{UploadZoneInput-DW4bcKms.js → UploadZoneInput-BqBNrWzw.js} +6 -6
  80. package/chunks/{UploadZoneInput-DW4bcKms.js.map → UploadZoneInput-BqBNrWzw.js.map} +1 -1
  81. package/chunks/{constants-C-g_SxPw.js → constants-C-865Unx.js} +27 -27
  82. package/chunks/{constants-C-g_SxPw.js.map → constants-C-865Unx.js.map} +1 -1
  83. package/chunks/{utils-CRgskx0c.js → utils-BS0p239Z.js} +27 -27
  84. package/chunks/{utils-CRgskx0c.js.map → utils-BS0p239Z.js.map} +1 -1
  85. package/chunks/{utils-oLO5Fak1.js → utils-CRayPY0c.js} +6 -6
  86. package/chunks/{utils-oLO5Fak1.js.map → utils-CRayPY0c.js.map} +1 -1
  87. package/chunks/{utils-DogucNlz.js → utils-CUP-yZoP.js} +11 -11
  88. package/chunks/{utils-DogucNlz.js.map → utils-CUP-yZoP.js.map} +1 -1
  89. package/chunks/{utils-vSmFPvz4.js → utils-D-axOAbx.js} +10 -10
  90. package/chunks/{utils-vSmFPvz4.js.map → utils-D-axOAbx.js.map} +1 -1
  91. package/chunks/{vendor-D4wvHis9.js → vendor-DqjKLGwf.js} +3 -3
  92. package/chunks/{vendor-D4wvHis9.js.map → vendor-DqjKLGwf.js.map} +1 -1
  93. package/components/AbstractTree/AbstractTreeNode.js +1 -1
  94. package/components/AccordionBase/protected/AccordionBase.js +1 -1
  95. package/components/Alert/AlertContext/AlertContext.js +8 -8
  96. package/components/Alert/AlertProcess/AlertProcess.js +3 -3
  97. package/components/Alert/AlertProcess/components/AlertProcessSpoiler.js +2 -2
  98. package/components/Amount/Amount.js +3 -3
  99. package/components/AmountField/AmountField.js +9 -9
  100. package/components/Avatar/Avatar.js +14 -14
  101. package/components/Badge/Badge.js +5 -5
  102. package/components/Badge/BadgeDot.js +5 -5
  103. package/components/Badge/components/BadgeContent.js +7 -7
  104. package/components/Badge/components/BadgePostfix.js +2 -2
  105. package/components/Badge/components/BadgePrefix.js +2 -2
  106. package/components/Body/Body.js +4 -4
  107. package/components/Button/Button.js +21 -21
  108. package/components/Button/ButtonBase.js +1 -1
  109. package/components/Button/ButtonDropdown.js +9 -9
  110. package/components/Button/ButtonDropdownExtended.js +3 -3
  111. package/components/Button/ButtonIcon.js +4 -4
  112. package/components/Calendar/Calendar.js +5 -5
  113. package/components/Calendar/components/CalendarControls.js +1 -1
  114. package/components/Calendar/components/CalendarFooter.js +2 -2
  115. package/components/Calendar/components/CalendarViewDays.js +2 -2
  116. package/components/Calendar/components/CalendarViewItem.js +2 -2
  117. package/components/Calendar/components/CalendarViewMonths.js +1 -1
  118. package/components/Calendar/components/CalendarViewYears.js +1 -1
  119. package/components/Card/CardAction.js +24 -10
  120. package/components/Card/CardAction.js.map +1 -1
  121. package/components/Card/CardStatic.js +3 -3
  122. package/components/Card/components/CardContent/CardContent.js +2 -2
  123. package/components/Card/components/CardContent/CardContent.js.map +1 -1
  124. package/components/Card/components/CardContent/components/CardContentBody.js +2 -2
  125. package/components/Card/components/CardContent/components/CardContentFooter.js +2 -2
  126. package/components/Card/components/CardContent/components/CardContentHeader.js +2 -2
  127. package/components/Card/components/CardMedia.js +2 -2
  128. package/components/Card/utils.js +1 -1
  129. package/components/Carousel/Carousel.js +2 -2
  130. package/components/Carousel/CarouselButton.js +2 -2
  131. package/components/Carousel/CarouselIndicators.js +2 -2
  132. package/components/Carousel/CarouselItem.js +2 -2
  133. package/components/Carousel/CarouselTrack.js +2 -2
  134. package/components/Carousel/CarouselViewport.js +2 -2
  135. package/components/CarouselExtended/CarouselExtended.js +2 -2
  136. package/components/Checkbox/Checkbox.js +11 -11
  137. package/components/Checkbox/CheckboxXGroup.js +9 -9
  138. package/components/Checkbox/CheckboxYGroup.js +2 -2
  139. package/components/CheckboxTreeExtended/CheckboxTreeExtended.js +2 -2
  140. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedArrow.js +1 -1
  141. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedCheckbox.js +2 -2
  142. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedNode.js +2 -2
  143. package/components/Chip/Chip.js +2 -2
  144. package/components/Chip/ChipClearButton.js +2 -2
  145. package/components/Chip/ChipDatePicker/ChipDatePicker.js +1 -1
  146. package/components/Chip/ChipDatePicker/ChipDatePickerTarget.js +1 -1
  147. package/components/Chip/ChipDropdownArrow.js +3 -3
  148. package/components/Chip/ChipIcon.js +1 -1
  149. package/components/Chip/ChipMonthYearPicker/ChipMonthYearPicker.js +70 -0
  150. package/components/Chip/ChipMonthYearPicker/ChipMonthYearPicker.js.map +1 -0
  151. package/components/Chip/ChipMonthYearPicker/ChipMonthYearPickerTarget.js +72 -0
  152. package/components/Chip/ChipMonthYearPicker/ChipMonthYearPickerTarget.js.map +1 -0
  153. package/components/Chip/ChipMonthYearPicker/index.js +7 -0
  154. package/components/Chip/ChipMonthYearPicker/index.js.map +1 -0
  155. package/components/Chip/ChipMultiselect.js +15 -12
  156. package/components/Chip/ChipMultiselect.js.map +1 -1
  157. package/components/Chip/ChipOptions.js +29 -7
  158. package/components/Chip/ChipOptions.js.map +1 -1
  159. package/components/Chip/ChipSelect/ChipSelect.js +2 -2
  160. package/components/Chip/ChipSelect/ChipSelectTarget.js +1 -1
  161. package/components/Chip/ChipSort.js +13 -6
  162. package/components/Chip/ChipSort.js.map +1 -1
  163. package/components/Chip/ChipSuggest/ChipSuggest.js +24 -12
  164. package/components/Chip/ChipSuggest/ChipSuggest.js.map +1 -1
  165. package/components/Chip/ChipSuggest/ChipSuggestDropdown.js +12 -12
  166. package/components/Chip/ChipSuggest/ChipSuggestDropdown.js.map +1 -1
  167. package/components/Chip/ChipSuggest/ChipSuggestTarget.js +3 -9
  168. package/components/Chip/ChipSuggest/ChipSuggestTarget.js.map +1 -1
  169. package/components/Chip/ChipSuggest/desktop/ChipSuggestDesktopDropdownField.js +4 -3
  170. package/components/Chip/ChipSuggest/desktop/ChipSuggestDesktopDropdownField.js.map +1 -1
  171. package/components/Chip/ChipSuggest/utils.js +11 -0
  172. package/components/Chip/ChipSuggest/utils.js.map +1 -0
  173. package/components/Chip/index.js +5 -1
  174. package/components/Chip/index.js.map +1 -1
  175. package/components/ChipGroup/ChipGroup.js +8 -8
  176. package/components/Col/Col.js +133 -133
  177. package/components/CollapsibleTree/CollapsibleTree.js +2 -2
  178. package/components/CollapsibleTree/components/CollapsibleTreeLeafContent.js +2 -2
  179. package/components/CollapsibleTree/components/CollapsibleTreeLeafNode.js +2 -2
  180. package/components/CollapsibleTree/components/CollapsibleTreeNodeHeader.js +5 -5
  181. package/components/CollapsibleTreeExtended/components/CollapsibleTreeExtendedNode.js +2 -2
  182. package/components/Confirm/Confirm.js +2 -2
  183. package/components/Confirm/components/ConfirmCloseButton.js +2 -2
  184. package/components/Confirm/components/ConfirmContent.js +2 -2
  185. package/components/Confirm/components/ConfirmContentTitle.js +2 -2
  186. package/components/Confirm/components/ConfirmControls.js +2 -2
  187. package/components/DateField/DateField.js +43 -43
  188. package/components/DateField/DateField.js.map +1 -1
  189. package/components/DateField/DateFieldContext.js.map +1 -1
  190. package/components/DateField/DateFieldTarget.js +6 -5
  191. package/components/DateField/DateFieldTarget.js.map +1 -1
  192. package/components/DatePickerExtended/DatePickerExtended.js +2 -2
  193. package/components/DatePickerExtended/DatePickerExtended.js.map +1 -1
  194. package/components/DatePickerExtended/DatePickerExtendedDropdown.js +2 -2
  195. package/components/DateRange/DateRange.js +4 -4
  196. package/components/DesignTokens/DesignTokenUtils.js +2 -2
  197. package/components/Divider/Divider.js +18 -18
  198. package/components/DocumentNumberEdit/DocumentNumberEdit.js +4 -4
  199. package/components/Dropdown/desktop/DropdownDesktop.js +7 -7
  200. package/components/Dropdown/desktop/DropdownList.js +2 -2
  201. package/components/Dropdown/desktop/DropdownListItem.js +2 -2
  202. package/components/Dropdown/desktop/index.js +1 -1
  203. package/components/Dropdown/index.js +1 -1
  204. package/components/Dropdown/mobile/DropdownMobile.js +2 -2
  205. package/components/Dropdown/mobile/DropdownMobileBody.js +2 -2
  206. package/components/Dropdown/mobile/DropdownMobileClose.js +2 -2
  207. package/components/Dropdown/mobile/DropdownMobileFooter.js +2 -2
  208. package/components/Dropdown/mobile/DropdownMobileHeader.js +2 -2
  209. package/components/Dropdown/mobile/DropdownMobileInner.js +2 -2
  210. package/components/Dropdown/mobile/DropdownMobileInput.js +2 -2
  211. package/components/Dropdown/mobile/DropdownMobileList.js +2 -2
  212. package/components/Dropdown/mobile/DropdownMobileListItem.js +2 -2
  213. package/components/Dropdown/mobile/DropdownMobileLoader.js +2 -2
  214. package/components/Dropdown/mobile/DropdownMobileMaskedInput.js +2 -2
  215. package/components/Ellipsis/Ellipsis.js +4 -4
  216. package/components/EmptyView/EmptyView.js +5 -5
  217. package/components/ExpandAnimation/ExpandAnimation.js +2 -2
  218. package/components/FocusTrapExtended/FocusTrapExtended.js +1 -1
  219. package/components/Footer/Footer.js +1 -1
  220. package/components/Footer/components/FooterDescription.js +2 -2
  221. package/components/Footer/components/FooterDescriptionContent.js +2 -2
  222. package/components/Footer/components/FooterDescriptionControls.js +2 -2
  223. package/components/FormField/FormField.js +12 -12
  224. package/components/FormField/components/FormFieldClear.js +2 -2
  225. package/components/FormField/components/FormFieldCounter.js +2 -2
  226. package/components/FormField/components/FormFieldDescription.js +3 -3
  227. package/components/FormField/components/FormFieldInput.js +5 -5
  228. package/components/FormField/components/FormFieldLabel.js +8 -8
  229. package/components/FormField/components/FormFieldMaskedInput.js +29 -35
  230. package/components/FormField/components/FormFieldMaskedInput.js.map +1 -1
  231. package/components/FormField/components/FormFieldPostfix.js +2 -2
  232. package/components/FormField/components/FormFieldPrefix.js +2 -2
  233. package/components/FormField/components/FormFieldTarget.js +9 -9
  234. package/components/FormField/components/FormFieldTextarea.js +5 -5
  235. package/components/Gap/Gap.js +9 -9
  236. package/components/Header/Header.js +1 -1
  237. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebar.js +2 -2
  238. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarContent.js +2 -2
  239. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarSidebar.js +2 -2
  240. package/components/Header/components/HeaderSubheader/HeaderSubheader.js +3 -3
  241. package/components/Header/components/HeaderTabs/HeaderTabs.js +2 -2
  242. package/components/Header/components/HeaderTabs/HeaderTabsContent.js +2 -2
  243. package/components/Header/components/HeaderTabs/HeaderTabsControls.js +2 -2
  244. package/components/Header/components/HeaderTitle/HeaderTitle.js +2 -2
  245. package/components/Header/components/HeaderTitle/HeaderTitleContent.js +2 -2
  246. package/components/Header/components/HeaderTitle/HeaderTitleControls.js +2 -2
  247. package/components/HelpBox/HelpBox.js +53 -45
  248. package/components/HelpBox/HelpBox.js.map +1 -1
  249. package/components/IconWrapper/IconWrapper.js +3 -3
  250. package/components/ImageGallery/ImageGallery.js +1 -1
  251. package/components/ImageGalleryExtended/ImageGalleryExtended.js +3 -3
  252. package/components/ImageGalleryExtended/components/ImageGalleryExtendedArrow.js +2 -2
  253. package/components/ImageGalleryExtended/components/ImageGalleryExtendedDots.js +4 -4
  254. package/components/ImageGalleryExtended/components/ImageGalleryExtendedMain.js +2 -2
  255. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSlide.js +2 -2
  256. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSwipeTrack.js +2 -2
  257. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumb.js +2 -2
  258. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumbnails.js +2 -2
  259. package/components/ImageGalleryExtended/components/index.js +1 -1
  260. package/components/ImageGalleryExtended/index.js +1 -1
  261. package/components/Island/Island.js +2 -2
  262. package/components/Island/components/IslandBody.js +2 -2
  263. package/components/Island/components/IslandFooter.js +2 -2
  264. package/components/Island/components/IslandHeader.js +2 -2
  265. package/components/Island/utils.js +1 -1
  266. package/components/IslandAccordion/IslandAccordion.js +3 -3
  267. package/components/IslandAccordion/IslandAccordion.js.map +1 -1
  268. package/components/IslandAccordion/IslandAccordionContext.js.map +1 -1
  269. package/components/IslandAccordion/components/IslandAccordionContent.js +1 -1
  270. package/components/IslandAccordion/components/IslandAccordionContent.js.map +1 -1
  271. package/components/IslandAccordion/components/IslandAccordionFooter.js +2 -2
  272. package/components/IslandAccordion/components/IslandAccordionFooter.js.map +1 -1
  273. package/components/IslandAccordion/components/IslandAccordionItem.js +17 -20
  274. package/components/IslandAccordion/components/IslandAccordionItem.js.map +1 -1
  275. package/components/IslandWidget/IslandWidget.js +18 -15
  276. package/components/IslandWidget/IslandWidget.js.map +1 -1
  277. package/components/IslandWidget/IslandWidgetContext.js.map +1 -1
  278. package/components/IslandWidget/IslandWidgetLayoutContext.js +3 -1
  279. package/components/IslandWidget/IslandWidgetLayoutContext.js.map +1 -1
  280. package/components/IslandWidget/components/IslandWidgetBody.js +5 -5
  281. package/components/IslandWidget/components/IslandWidgetBody.js.map +1 -1
  282. package/components/IslandWidget/components/IslandWidgetExtraFooter.js +10 -6
  283. package/components/IslandWidget/components/IslandWidgetExtraFooter.js.map +1 -1
  284. package/components/IslandWidget/components/IslandWidgetFooter.js +2 -2
  285. package/components/IslandWidget/components/IslandWidgetFooter.js.map +1 -1
  286. package/components/IslandWidget/components/IslandWidgetFooterContent.js +4 -2
  287. package/components/IslandWidget/components/IslandWidgetFooterContent.js.map +1 -1
  288. package/components/IslandWidget/components/IslandWidgetFooterControls.js +4 -2
  289. package/components/IslandWidget/components/IslandWidgetFooterControls.js.map +1 -1
  290. package/components/IslandWidget/components/IslandWidgetHeader.js +12 -7
  291. package/components/IslandWidget/components/IslandWidgetHeader.js.map +1 -1
  292. package/components/IslandWidget/components/IslandWidgetHeaderContent.js +2 -3
  293. package/components/IslandWidget/components/IslandWidgetHeaderContent.js.map +1 -1
  294. package/components/IslandWidget/components/IslandWidgetHeaderControls.js +2 -2
  295. package/components/IslandWidget/components/IslandWidgetHeaderControls.js.map +1 -1
  296. package/components/IslandWidget/components/IslandWidgetHeaderDescription.js +2 -2
  297. package/components/IslandWidget/components/IslandWidgetHeaderDescription.js.map +1 -1
  298. package/components/IslandWidget/components/IslandWidgetHeaderTitle.js +2 -2
  299. package/components/IslandWidget/components/IslandWidgetHeaderTitle.js.map +1 -1
  300. package/components/IslandWidget/components/IslandWidgetWrapper.js +15 -5
  301. package/components/IslandWidget/components/IslandWidgetWrapper.js.map +1 -1
  302. package/components/LightBox/LightBox.js +6 -6
  303. package/components/LightBox/LightBoxContent.js +2 -2
  304. package/components/LightBox/LightBoxControls/LightBoxArrow.js +2 -2
  305. package/components/LightBox/LightBoxControls/LightBoxClose.js +2 -2
  306. package/components/LightBox/LightBoxControls/LightBoxControls.js +2 -2
  307. package/components/LightBox/LightBoxControls/LightBoxNext.js +2 -2
  308. package/components/LightBox/LightBoxControls/LightBoxPrev.js +2 -2
  309. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js +13 -13
  310. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseDesktop.js +2 -2
  311. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseMobile.js +2 -2
  312. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js +1 -1
  313. package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js +4 -4
  314. package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js +4 -4
  315. package/components/LightBox/LightBoxViewManager/LightBoxViewManager.js +1 -1
  316. package/components/Link/Link.js +6 -6
  317. package/components/List/List.js +4 -4
  318. package/components/List/ListSortable.js +1 -1
  319. package/components/List/components/ListActionItem.js +2 -2
  320. package/components/List/components/ListEmptyState.js +2 -2
  321. package/components/List/components/ListItem.js +1 -1
  322. package/components/List/components/ListItemContent.js +5 -5
  323. package/components/List/components/ListItemControls.js +2 -2
  324. package/components/List/components/ListItemControlsButton.js +2 -2
  325. package/components/List/components/ListItemControlsButtonDropdown.js +2 -2
  326. package/components/List/components/ListItemLoading.js +2 -2
  327. package/components/List/components/ListItemSelectable.js +7 -7
  328. package/components/List/components/ListItemTailLeft.js +2 -2
  329. package/components/List/components/ListItemTailRight.js +2 -2
  330. package/components/List/components/ListSortableItem.js +3 -3
  331. package/components/List/components/ListSortableItemControls.js +2 -2
  332. package/components/List/components/ListSortableItemTarget.js +5 -5
  333. package/components/List/components/ListTableItem.js +4 -4
  334. package/components/List/index.js +1 -1
  335. package/components/ListMaster/ListMaster.js +1 -1
  336. package/components/ListMaster/components/ListMasterBody.js +1 -1
  337. package/components/ListMaster/components/ListMasterChipGroup.js +2 -2
  338. package/components/ListMaster/components/ListMasterFooter.js +2 -2
  339. package/components/ListMaster/components/ListMasterFooterControls.js +2 -2
  340. package/components/ListMaster/components/ListMasterFooterDescription.js +2 -2
  341. package/components/ListMaster/components/ListMasterHeader.js +3 -3
  342. package/components/ListMaster/components/SelectionControls.js +3 -3
  343. package/components/Loader/LoaderMiddle/LoaderMiddle.js +9 -9
  344. package/components/Loader/LoaderSmall/LoaderSmall.js +11 -11
  345. package/components/LoaderScreen/LoaderScreen.js +6 -6
  346. package/components/Marker/Marker.js +2 -2
  347. package/components/Marker/utils.js +1 -1
  348. package/components/MarkerStatus/MarkerStatus.js +8 -8
  349. package/components/ModalWindow/ModalWindow.js +2 -2
  350. package/components/ModalWindow/components/ModalWindowBody.js +2 -2
  351. package/components/ModalWindow/components/ModalWindowClose.js +1 -1
  352. package/components/ModalWindow/components/ModalWindowContent.js +2 -2
  353. package/components/ModalWindow/components/ModalWindowHeader.js +2 -2
  354. package/components/ModalWindow/components/ModalWindowViewManager.js +2 -2
  355. package/components/MonthYearField/MonthYearFieldTarget.js +5 -5
  356. package/components/MonthYearRange/MonthYearRange.js +4 -4
  357. package/components/MultiselectField/components/MultiselectFieldDropdown.js +2 -2
  358. package/components/MultiselectField/components/MultiselectFieldDropdownContent.js +6 -6
  359. package/components/MultiselectField/components/MultiselectFieldDropdownFooter.js +2 -2
  360. package/components/MultiselectField/components/MultiselectFieldDropdownHeader.js +2 -2
  361. package/components/Notification/Notification.js +3 -3
  362. package/components/Notification/NotificationGrouped.js +1 -1
  363. package/components/Notification/components/NotificationBody.js +1 -1
  364. package/components/Notification/components/NotificationBodyList.js +2 -2
  365. package/components/Notification/components/NotificationClose.js +1 -1
  366. package/components/Notification/components/NotificationFooter.js +1 -1
  367. package/components/Notification/components/NotificationGroupedFooter.js +2 -2
  368. package/components/Notification/components/NotificationHeader.js +1 -1
  369. package/components/Notification/components/NotificationIcon.js +1 -1
  370. package/components/Notification/components/NotificationTime.js +1 -1
  371. package/components/OrderedList/OrderedList.js +3 -3
  372. package/components/OrderedList/OrderedListItem.js +3 -3
  373. package/components/Overlay/Overlay.js +2 -2
  374. package/components/Overlay/OverlayMask.js +2 -2
  375. package/components/Overlay/OverlayPanel.js +2 -2
  376. package/components/Page/Page.js +2 -2
  377. package/components/Page/components/BodyPage.js +8 -8
  378. package/components/Page/components/FooterPage.js +2 -2
  379. package/components/Page/components/HeaderPage.js +2 -2
  380. package/components/Pagination/components/PaginationExtended.js +3 -3
  381. package/components/Pagination/components/PaginationNavigationButton.js +2 -2
  382. package/components/Pagination/components/PaginationNavigationExtended.js +2 -2
  383. package/components/Pagination/components/PaginationPageButton.js +3 -3
  384. package/components/Pagination/components/PaginationPageEllipsis.js +2 -2
  385. package/components/Pagination/components/PaginationSelect.js +3 -3
  386. package/components/Pagination/utils.js +1 -1
  387. package/components/Radio/Radio.js +10 -10
  388. package/components/Radio/RadioXGroup.js +9 -9
  389. package/components/Radio/RadioYGroup.js +2 -2
  390. package/components/Row/Row.js +5 -5
  391. package/components/SMSField/SMSField.js +3 -3
  392. package/components/SMSField/components/RefreshIcon.js +2 -2
  393. package/components/SMSField/components/SMSFieldInput.js +2 -2
  394. package/components/SMSField/components/SMSFieldRefresh.js +2 -2
  395. package/components/SMSField/components/SMSFieldSubmit.js +2 -2
  396. package/components/SMSField/components/SMSFieldTooltip.js +1 -1
  397. package/components/SegmentedControl/SegmentedControl.js +10 -10
  398. package/components/SegmentedControl/SegmentedControlSegment.js +4 -4
  399. package/components/SelectExtendedField/SelectExtendedField.js +2 -2
  400. package/components/SelectExtendedField/components/SelectExtendedFieldDropdown.js +1 -1
  401. package/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js +1 -1
  402. package/components/SelectExtendedField/components/SelectExtendedFieldTarget.js +8 -8
  403. package/components/SelectField/SelectField.js +2 -2
  404. package/components/Skeleton/Skeleton.js +6 -6
  405. package/components/SliderExtended/SliderExtended.js +3 -3
  406. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js +6 -6
  407. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMark.js +2 -2
  408. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarks.js +2 -2
  409. package/components/SliderExtended/components/SliderExtendedMoveHandler.js +1 -1
  410. package/components/SliderExtended/components/SliderExtendedRail.js +2 -2
  411. package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js +5 -5
  412. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js +7 -7
  413. package/components/SmallInput/SmallInput.js +2 -2
  414. package/components/Spoiler/Spoiler.js +11 -11
  415. package/components/StatusTracker/StatusTracker.js +3 -3
  416. package/components/StatusTracker/components/StatusTrackerAlert.js +2 -2
  417. package/components/StatusTracker/components/StatusTrackerBody.js +2 -2
  418. package/components/StatusTracker/components/StatusTrackerButton.js +2 -2
  419. package/components/StatusTracker/components/StatusTrackerDescription.js +2 -2
  420. package/components/StatusTracker/components/StatusTrackerFooter.js +2 -2
  421. package/components/StatusTracker/components/StatusTrackerHeader.js +2 -2
  422. package/components/StatusTracker/components/StatusTrackerMedia.js +2 -2
  423. package/components/StatusTracker/components/StatusTrackerStatus.js +2 -2
  424. package/components/StatusTracker/components/StatusTrackerStatusGroup.js +2 -2
  425. package/components/StatusTracker/components/StatusTrackerSum.js +2 -2
  426. package/components/StatusTracker/components/StatusTrackerTitle.js +2 -2
  427. package/components/Step/Step.js +11 -11
  428. package/components/Stepper/Stepper.js +9 -9
  429. package/components/Stepper/StepperExtended.js +2 -2
  430. package/components/Stepper/StepperStep.js +3 -3
  431. package/components/Stepper/StepperStepArrowBorder.js +1 -1
  432. package/components/Suggest/SuggestMobileDropdownContent.js +3 -3
  433. package/components/Suggest/useSuggest.js +1 -1
  434. package/components/SuggestField/SuggestField.js +1 -1
  435. package/components/SuggestField/desktop/SuggestFieldDesktop.js +2 -2
  436. package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js +1 -1
  437. package/components/SuggestField/index.js +1 -1
  438. package/components/SuggestField/mobile/SuggestFieldMobile.js +1 -1
  439. package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js +2 -2
  440. package/components/SuggestField/mobile/SuggestFieldMobileDropdownHint.js +1 -1
  441. package/components/SuggestField/mobile/index.js +1 -1
  442. package/components/SwipeableArea/SwipeableArea.js +9 -9
  443. package/components/Table/ChipPanel.js +2 -2
  444. package/components/Table/ChipPanelLinks.js +2 -2
  445. package/components/Table/FilterPanel.js +3 -3
  446. package/components/Table/MasterTable.js +3 -3
  447. package/components/Table/NoColumns.js +3 -3
  448. package/components/Table/PaginationPanel.js +3 -3
  449. package/components/Table/TableBasic/TableBasic.js +2 -2
  450. package/components/Table/TableBasic/components/TableBasicBody.js +2 -2
  451. package/components/Table/TableBasic/components/TableBasicHeader.js +2 -2
  452. package/components/Table/TableBasic/components/TableBasicRow.js +2 -2
  453. package/components/Table/TableBasicSettings/TableBasicSettings.js +3 -3
  454. package/components/Table/TableBasicSettings/components/ColumnSettingsSortableListItemTarget.js +3 -3
  455. package/components/Table/TableBasicSettings/components/ColumnSettingsStaticListItem.js +2 -2
  456. package/components/Table/TableBasicSettings/components/TableBasicSettingsBody.js +2 -2
  457. package/components/Table/TableBasicSettings/components/TableBasicSettingsFooter.js +2 -2
  458. package/components/Table/TableBasicSettings/components/TableBasicSettingsHeader.js +2 -2
  459. package/components/Table/TableFooter/TableFooter.js +2 -2
  460. package/components/Table/TableFooter/components/TableFooterSummary.js +1 -1
  461. package/components/Table/TableFooter/components/TableFooterSummaryAmount.js +1 -1
  462. package/components/Table/TableFooter/components/TableFooterSummarySelectAllButton.js +1 -1
  463. package/components/Table/TableFooter/components/TableFooterSummarySelectedCount.js +1 -1
  464. package/components/Table/utils.js +1 -1
  465. package/components/Tabs/Tabs.js +9 -9
  466. package/components/TabsExtended/TabsExtended.js +3 -3
  467. package/components/TabsExtended/components/TabsExtendedContent.js +2 -2
  468. package/components/TabsExtended/components/TabsExtendedDropdownWrapper.js +2 -2
  469. package/components/TabsExtended/components/TabsExtendedTab.js +2 -2
  470. package/components/TabsExtended/components/TabsExtendedTabButton.js +2 -2
  471. package/components/TabsExtended/components/TabsExtendedTabsWrapper.js +2 -2
  472. package/components/TabsExtended/utils.js +1 -1
  473. package/components/TabsLine/TabsLine.js +2 -2
  474. package/components/TabsLine/components/TabsLineDesktop.js +2 -2
  475. package/components/TabsLine/components/TabsLineDropdown.js +3 -3
  476. package/components/TabsLine/components/TabsLineItem.js +2 -2
  477. package/components/TabsLine/components/TabsLineMobile.js +2 -2
  478. package/components/Tag/Tag.js +6 -6
  479. package/components/TagColor/TagColor.js +11 -11
  480. package/components/TagGroup/TagGroup.js +5 -5
  481. package/components/ThemeProvider/ThemeProvider.js +1 -1
  482. package/components/ThemeProvider/components/ThemeProviderView.js +1 -1
  483. package/components/Tooltip/components/common/TooltipBody.js +2 -2
  484. package/components/Tooltip/components/common/TooltipLink.js +5 -5
  485. package/components/Tooltip/components/common/TooltipXButton.js +1 -1
  486. package/components/Tooltip/components/desktop/components/TooltipDesktopBase.js +2 -2
  487. package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js +2 -2
  488. package/components/Tooltip/components/mobile/TooltipMobile.js +5 -5
  489. package/components/TopOverlay/TopOverlay.js +7 -7
  490. package/components/TreeView/TreeView.js +2 -2
  491. package/components/TreeView/components/TreeViewGroup.js +2 -2
  492. package/components/TreeView/components/TreeViewNode.js +2 -2
  493. package/components/Typography/Caption.js +8 -8
  494. package/components/Typography/CodeText.js +3 -3
  495. package/components/Typography/Text.js +10 -10
  496. package/components/Typography/Title.js +10 -10
  497. package/components/Typography/constants.js +1 -1
  498. package/components/UnorderedListExtended/UnorderedListExtended.js +3 -3
  499. package/components/UnorderedListExtended/UnorderedListExtendedItem.js +3 -3
  500. package/components/UnorderedListExtended/UnorderedListExtendedItemMarker.js +4 -4
  501. package/components/UploadZone/UploadZone.js +3 -3
  502. package/components/UploadZone/components/UploadZoneInput.js +2 -2
  503. package/components/UploadZone/index.js +1 -1
  504. package/components/WindowResizeListener/WindowResizeListener.js +1 -1
  505. package/components/index.js +10 -6
  506. package/components/index.js.map +1 -1
  507. package/index.d.ts +150 -43
  508. package/index.js +10 -6
  509. package/index.js.map +1 -1
  510. package/package.json +1 -1
  511. package/styles/triplex-next.css +3014 -3014
  512. package/utils/amountUtils.js +1 -1
  513. package/chunks/Card.module-CNOChUdZ.js +0 -32
  514. package/chunks/Card.module-CNOChUdZ.js.map +0 -1
  515. package/chunks/Carousel.module-BpVAzSjh.js +0 -34
  516. package/chunks/Carousel.module-BpVAzSjh.js.map +0 -1
  517. package/chunks/CheckboxTreeExtended.module-BqOLLHuh.js +0 -24
  518. package/chunks/CheckboxTreeExtended.module-BqOLLHuh.js.map +0 -1
  519. package/chunks/Confirm.module-Dw5sV0a8.js +0 -24
  520. package/chunks/Confirm.module-Dw5sV0a8.js.map +0 -1
  521. package/chunks/DropdownMobile.module-ljfYoQZP.js +0 -40
  522. package/chunks/DropdownMobile.module-ljfYoQZP.js.map +0 -1
  523. package/chunks/Footer.module-DgSEqR3M.js +0 -12
  524. package/chunks/Footer.module-DgSEqR3M.js.map +0 -1
  525. package/chunks/HeaderLayoutSidebar.module-k_1rIXs0.js.map +0 -1
  526. package/chunks/HeaderTabs.module-Dm__bdlz.js +0 -12
  527. package/chunks/HeaderTabs.module-Dm__bdlz.js.map +0 -1
  528. package/chunks/HeaderTitle.module-BbIcVzwx.js.map +0 -1
  529. package/chunks/ImageGalleryExtendedMain.module--816bwiO.js +0 -28
  530. package/chunks/ImageGalleryExtendedMain.module--816bwiO.js.map +0 -1
  531. package/chunks/IslandAccordion.module-4rzQ8p9D.js +0 -44
  532. package/chunks/IslandAccordion.module-4rzQ8p9D.js.map +0 -1
  533. package/chunks/IslandWidgetFooter.module-Dxb05X44.js +0 -18
  534. package/chunks/IslandWidgetFooter.module-Dxb05X44.js.map +0 -1
  535. package/chunks/IslandWidgetHeader.module-K8SbMdcg.js +0 -28
  536. package/chunks/IslandWidgetHeader.module-K8SbMdcg.js.map +0 -1
  537. package/chunks/LightBoxControls.module-DsLaGx4X.js +0 -26
  538. package/chunks/LightBoxControls.module-DsLaGx4X.js.map +0 -1
  539. package/chunks/LightBoxSideOverlayClose.module-B_RmH_Zj.js.map +0 -1
  540. package/chunks/ListItemTail.module-CwDNx9W5.js +0 -18
  541. package/chunks/ListItemTail.module-CwDNx9W5.js.map +0 -1
  542. package/chunks/ListMasterFooter.module-D7b9ZUqR.js +0 -14
  543. package/chunks/ListMasterFooter.module-D7b9ZUqR.js.map +0 -1
  544. package/chunks/ModalWindow.module-urBVReGQ.js +0 -28
  545. package/chunks/ModalWindow.module-urBVReGQ.js.map +0 -1
  546. package/chunks/Notification.module-BgjNhU2P.js +0 -34
  547. package/chunks/Notification.module-BgjNhU2P.js.map +0 -1
  548. package/chunks/Overlay.module-DlzZBVdp.js +0 -30
  549. package/chunks/Overlay.module-DlzZBVdp.js.map +0 -1
  550. package/chunks/Page.module-CEeCuq1n.js +0 -15
  551. package/chunks/Page.module-CEeCuq1n.js.map +0 -1
  552. package/chunks/SMSField.module-CGuPONeF.js +0 -30
  553. package/chunks/SMSField.module-CGuPONeF.js.map +0 -1
  554. package/chunks/SliderExtendedMarks.module-SGdABaf_.js +0 -24
  555. package/chunks/SliderExtendedMarks.module-SGdABaf_.js.map +0 -1
  556. package/chunks/StatusTracker.module-oLJmSAgs.js +0 -44
  557. package/chunks/StatusTracker.module-oLJmSAgs.js.map +0 -1
  558. package/chunks/TableFooter.module-DOL7cRaV.js +0 -22
  559. package/chunks/TableFooter.module-DOL7cRaV.js.map +0 -1
  560. package/chunks/TabsExtended.module-DveIh7_v.js +0 -26
  561. package/chunks/TabsExtended.module-DveIh7_v.js.map +0 -1
  562. package/chunks/TabsLine.module-CFuF3nRE.js +0 -36
  563. package/chunks/TabsLine.module-CFuF3nRE.js.map +0 -1
  564. package/chunks/TooltipDesktop.module-Bay9M-y1.js +0 -32
  565. package/chunks/TooltipDesktop.module-Bay9M-y1.js.map +0 -1
  566. package/chunks/TreeView.module-B1mjvRWg.js +0 -12
  567. package/chunks/TreeView.module-B1mjvRWg.js.map +0 -1
@@ -0,0 +1,70 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import React__default from "react";
3
+ import { c as clsx } from "../../../chunks/vendor-DqjKLGwf.js";
4
+ import { MonthYearPickerUtils } from "../../MonthYearField/utils.js";
5
+ import { ChipMonthYearPickerTarget } from "./ChipMonthYearPickerTarget.js";
6
+ import { dateFormatYYYYMMDD, globalLimitRange } from "../../../consts/DateConst.js";
7
+ import { DatePickerExtended } from "../../DatePickerExtended/DatePickerExtended.js";
8
+ import { DropdownMobileInput } from "../../Dropdown/mobile/DropdownMobileInput.js";
9
+ import { ECalendarPickType } from "../../Calendar/enums.js";
10
+ import { s as styles } from "../../../chunks/Chip-Bi7plvOY.js";
11
+ const ChipMonthYearPicker = React__default.forwardRef((props, ref) => {
12
+ const {
13
+ className,
14
+ size,
15
+ value,
16
+ placeholder,
17
+ format = dateFormatYYYYMMDD,
18
+ limitRange = globalLimitRange,
19
+ type,
20
+ label,
21
+ displayedValue,
22
+ disabled,
23
+ clearButtonProps,
24
+ onChange,
25
+ ...rest
26
+ } = props;
27
+ const pickerValues = MonthYearPickerUtils.getPickerValues(value, format, limitRange);
28
+ const handleClear = () => {
29
+ onChange("");
30
+ };
31
+ const renderTarget = () => {
32
+ const selected = pickerValues.calendarDate !== null;
33
+ return /* @__PURE__ */ jsx(
34
+ ChipMonthYearPickerTarget,
35
+ {
36
+ type,
37
+ size,
38
+ selected,
39
+ disabled,
40
+ clearButtonProps,
41
+ onClear: handleClear,
42
+ children: selected ? displayedValue ?? pickerValues.inputString : label
43
+ }
44
+ );
45
+ };
46
+ const renderDropdownHeaderTarget = () => /* @__PURE__ */ jsx(DropdownMobileInput, { value: pickerValues.inputString, placeholder, readOnly: true });
47
+ const handleDateChange = (date) => {
48
+ onChange(date.format(format));
49
+ };
50
+ return /* @__PURE__ */ jsx(
51
+ DatePickerExtended,
52
+ {
53
+ className: clsx(styles.chipGroupItem, className),
54
+ renderTarget,
55
+ renderDropdownHeaderTarget,
56
+ pickedDate: pickerValues.calendarDate,
57
+ pickType: ECalendarPickType.MONTH_YEAR,
58
+ format,
59
+ limitRange,
60
+ onDateChange: handleDateChange,
61
+ ...rest,
62
+ ref
63
+ }
64
+ );
65
+ });
66
+ ChipMonthYearPicker.displayName = "ChipMonthYearPicker";
67
+ export {
68
+ ChipMonthYearPicker
69
+ };
70
+ //# sourceMappingURL=ChipMonthYearPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChipMonthYearPicker.js","sources":["../../../../src/components/Chip/ChipMonthYearPicker/ChipMonthYearPicker.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport moment from \"moment\";\nimport { IMonthYearFieldProps } from \"../../MonthYearField/types\";\nimport { MonthYearPickerUtils } from \"../../MonthYearField/utils\";\nimport { IChipProps } from \"../Chip\";\nimport { ChipMonthYearPickerTarget, IChipMonthYearPickerTargetProps } from \"./ChipMonthYearPickerTarget\";\nimport { dateFormatYYYYMMDD, globalLimitRange } from \"../../../consts/DateConst\";\nimport { DatePickerExtended } from \"../../DatePickerExtended/DatePickerExtended\";\nimport { DropdownMobileInput } from \"../../Dropdown/mobile/DropdownMobileInput\";\nimport { ECalendarPickType } from \"../../Calendar/enums\";\nimport styles from \"../styles/Chip.module.less\";\n\n/** Свойства компонента ChipMonthYearPicker. */\nexport interface IChipMonthYearPickerProps\n extends\n Omit<IMonthYearFieldProps, \"status\" | \"label\" | \"onClear\" | \"targetProps\" | \"pickType\">,\n Pick<IChipProps, \"type\" | \"disabled\"> {\n /** Название поля, когда не выбрано значение. */\n label: React.ReactNode;\n /** Лейбл, отображаемый вместо выбранного значения. */\n displayedValue?: React.ReactNode;\n /** Свойства кнопки очищения значения, например aria-label. */\n clearButtonProps?: IChipMonthYearPickerTargetProps[\"clearButtonProps\"];\n}\n\n/** MonthYearPicker с видом компонента Chip. */\nexport const ChipMonthYearPicker = React.forwardRef<HTMLDivElement, IChipMonthYearPickerProps>((props, ref) => {\n const {\n className,\n size,\n value,\n placeholder,\n format = dateFormatYYYYMMDD,\n limitRange = globalLimitRange,\n type,\n label,\n displayedValue,\n disabled,\n clearButtonProps,\n onChange,\n ...rest\n } = props;\n const pickerValues = MonthYearPickerUtils.getPickerValues(value, format, limitRange);\n\n const handleClear = () => {\n onChange(\"\");\n };\n\n const renderTarget = () => {\n const selected = pickerValues.calendarDate !== null;\n\n return (\n <ChipMonthYearPickerTarget\n type={type}\n size={size}\n selected={selected}\n disabled={disabled}\n clearButtonProps={clearButtonProps}\n onClear={handleClear}\n >\n {selected ? (displayedValue ?? pickerValues.inputString) : label}\n </ChipMonthYearPickerTarget>\n );\n };\n\n const renderDropdownHeaderTarget = () => (\n <DropdownMobileInput value={pickerValues.inputString} placeholder={placeholder} readOnly />\n );\n\n const handleDateChange = (date: moment.Moment) => {\n onChange(date.format(format));\n };\n\n return (\n <DatePickerExtended\n className={clsx(styles.chipGroupItem, className)}\n renderTarget={renderTarget}\n renderDropdownHeaderTarget={renderDropdownHeaderTarget}\n pickedDate={pickerValues.calendarDate}\n pickType={ECalendarPickType.MONTH_YEAR}\n format={format}\n limitRange={limitRange}\n onDateChange={handleDateChange}\n {...rest}\n ref={ref}\n />\n );\n});\n\nChipMonthYearPicker.displayName = \"ChipMonthYearPicker\";\n"],"names":["React"],"mappings":";;;;;;;;;;AA2BO,MAAM,sBAAsBA,eAAM,WAAsD,CAAC,OAAO,QAAQ;AAC3G,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACH;AACJ,QAAM,eAAe,qBAAqB,gBAAgB,OAAO,QAAQ,UAAU;AAEnF,QAAM,cAAc,MAAM;AACtB,aAAS,EAAE;AAAA,EACf;AAEA,QAAM,eAAe,MAAM;AACvB,UAAM,WAAW,aAAa,iBAAiB;AAE/C,WACI;AAAA,MAAC;AAAA,MAAA;AAAA,QACG;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QAER,UAAA,WAAY,kBAAkB,aAAa,cAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EAGvE;AAEA,QAAM,6BAA6B,MAC/B,oBAAC,qBAAA,EAAoB,OAAO,aAAa,aAAa,aAA0B,UAAQ,KAAA,CAAC;AAG7F,QAAM,mBAAmB,CAAC,SAAwB;AAC9C,aAAS,KAAK,OAAO,MAAM,CAAC;AAAA,EAChC;AAEA,SACI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAW,KAAK,OAAO,eAAe,SAAS;AAAA,MAC/C;AAAA,MACA;AAAA,MACA,YAAY,aAAa;AAAA,MACzB,UAAU,kBAAkB;AAAA,MAC5B;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACb,GAAG;AAAA,MACJ;AAAA,IAAA;AAAA,EAAA;AAGZ,CAAC;AAED,oBAAoB,cAAc;"}
@@ -0,0 +1,72 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import React__default, { useContext } from "react";
3
+ import { C as Chip } from "../../../chunks/Chip-Bi7plvOY.js";
4
+ import { ChipDropdownArrow } from "../ChipDropdownArrow.js";
5
+ import { ChipClearButton } from "../ChipClearButton.js";
6
+ import { DatePickerExtendedContext } from "../../DatePickerExtended/DatePickerExtendedContext.js";
7
+ import { isKey } from "../../../utils/keyboard.js";
8
+ const ChipMonthYearPickerTarget = React__default.forwardRef(
9
+ (props, ref) => {
10
+ const { children, size, selected, disabled, onKeyDown, onClick, onClear, clearButtonProps, ...restProps } = props;
11
+ const { dropdownOpen, setDropdownOpen } = useContext(DatePickerExtendedContext);
12
+ const handleKeyDown = (event) => {
13
+ if (!disabled && (isKey(event.code, "ENTER") || isKey(event.code, "SPACE"))) {
14
+ event.preventDefault();
15
+ setDropdownOpen(!dropdownOpen);
16
+ }
17
+ onKeyDown == null ? void 0 : onKeyDown(event);
18
+ };
19
+ const handleClick = (event) => {
20
+ if (disabled) {
21
+ return;
22
+ }
23
+ setDropdownOpen(!dropdownOpen);
24
+ onClick == null ? void 0 : onClick(event);
25
+ };
26
+ const handleClearButtonKeyDown = (event) => {
27
+ if (isKey(event.code, "ENTER") || isKey(event.code, "SPACE")) {
28
+ event.stopPropagation();
29
+ }
30
+ };
31
+ const handleClearButtonClick = (event) => {
32
+ event.stopPropagation();
33
+ onClear();
34
+ };
35
+ const renderTargetPostfix = () => {
36
+ if (selected) {
37
+ return /* @__PURE__ */ jsx(
38
+ ChipClearButton,
39
+ {
40
+ ...clearButtonProps,
41
+ size,
42
+ disabled,
43
+ onClick: handleClearButtonClick,
44
+ onKeyDown: handleClearButtonKeyDown
45
+ }
46
+ );
47
+ } else {
48
+ return /* @__PURE__ */ jsx(ChipDropdownArrow, { size, rotated: dropdownOpen });
49
+ }
50
+ };
51
+ return /* @__PURE__ */ jsx(
52
+ Chip,
53
+ {
54
+ size,
55
+ selected,
56
+ disabled,
57
+ "aria-expanded": dropdownOpen,
58
+ onKeyDown: handleKeyDown,
59
+ onClick: handleClick,
60
+ postfix: renderTargetPostfix(),
61
+ ...restProps,
62
+ ref,
63
+ children
64
+ }
65
+ );
66
+ }
67
+ );
68
+ ChipMonthYearPickerTarget.displayName = "ChipMonthYearPickerTarget";
69
+ export {
70
+ ChipMonthYearPickerTarget
71
+ };
72
+ //# sourceMappingURL=ChipMonthYearPickerTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChipMonthYearPickerTarget.js","sources":["../../../../src/components/Chip/ChipMonthYearPicker/ChipMonthYearPickerTarget.tsx"],"sourcesContent":["import React, { useContext } from \"react\";\nimport { Chip, IChipProps } from \"../Chip\";\nimport { ChipDropdownArrow } from \"../ChipDropdownArrow\";\nimport { ChipClearButton, IChipClearButtonProps } from \"../ChipClearButton\";\nimport { DatePickerExtendedContext } from \"../../DatePickerExtended/DatePickerExtendedContext\";\nimport { isKey } from \"../../../utils/keyboard\";\n\n/** Свойства компонента ChipMonthYearPickerTarget. */\nexport interface IChipMonthYearPickerTargetProps extends IChipProps {\n /** Обработчик очищения значения. */\n onClear: () => void;\n /** Свойства кнопки очищения значения, например aria-label. */\n clearButtonProps?: Omit<IChipClearButtonProps, \"size\" | \"disabled\" | \"onClick\" | \"onKeyDown\">;\n}\n\n/** Целевой элемент компонента ChipMonthYearPicker. */\nexport const ChipMonthYearPickerTarget = React.forwardRef<HTMLSpanElement, IChipMonthYearPickerTargetProps>(\n (props, ref) => {\n const { children, size, selected, disabled, onKeyDown, onClick, onClear, clearButtonProps, ...restProps } =\n props;\n const { dropdownOpen, setDropdownOpen } = useContext(DatePickerExtendedContext);\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLSpanElement>) => {\n if (!disabled && (isKey(event.code, \"ENTER\") || isKey(event.code, \"SPACE\"))) {\n event.preventDefault();\n setDropdownOpen(!dropdownOpen);\n }\n\n onKeyDown?.(event);\n };\n\n const handleClick = (event: React.MouseEvent<HTMLSpanElement>) => {\n if (disabled) {\n return;\n }\n\n setDropdownOpen(!dropdownOpen);\n onClick?.(event);\n };\n\n /** Нажатие на кнопке очищения не должно всплывать в чип и открывать дропдаун. */\n const handleClearButtonKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (isKey(event.code, \"ENTER\") || isKey(event.code, \"SPACE\")) {\n event.stopPropagation();\n }\n };\n\n const handleClearButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n onClear();\n };\n\n const renderTargetPostfix = () => {\n if (selected) {\n return (\n <ChipClearButton\n {...clearButtonProps}\n size={size}\n disabled={disabled}\n onClick={handleClearButtonClick}\n onKeyDown={handleClearButtonKeyDown}\n />\n );\n } else {\n return <ChipDropdownArrow size={size} rotated={dropdownOpen} />;\n }\n };\n\n return (\n <Chip\n size={size}\n selected={selected}\n disabled={disabled}\n aria-expanded={dropdownOpen}\n onKeyDown={handleKeyDown}\n onClick={handleClick}\n postfix={renderTargetPostfix()}\n {...restProps}\n ref={ref}\n >\n {children}\n </Chip>\n );\n },\n);\n\nChipMonthYearPickerTarget.displayName = \"ChipMonthYearPickerTarget\";\n"],"names":["React"],"mappings":";;;;;;;AAgBO,MAAM,4BAA4BA,eAAM;AAAA,EAC3C,CAAC,OAAO,QAAQ;AACZ,UAAM,EAAE,UAAU,MAAM,UAAU,UAAU,WAAW,SAAS,SAAS,kBAAkB,GAAG,UAAA,IAC1F;AACJ,UAAM,EAAE,cAAc,oBAAoB,WAAW,yBAAyB;AAE9E,UAAM,gBAAgB,CAAC,UAAgD;AACnE,UAAI,CAAC,aAAa,MAAM,MAAM,MAAM,OAAO,KAAK,MAAM,MAAM,MAAM,OAAO,IAAI;AACzE,cAAM,eAAA;AACN,wBAAgB,CAAC,YAAY;AAAA,MACjC;AAEA,6CAAY;AAAA,IAChB;AAEA,UAAM,cAAc,CAAC,UAA6C;AAC9D,UAAI,UAAU;AACV;AAAA,MACJ;AAEA,sBAAgB,CAAC,YAAY;AAC7B,yCAAU;AAAA,IACd;AAGA,UAAM,2BAA2B,CAAC,UAAkD;AAChF,UAAI,MAAM,MAAM,MAAM,OAAO,KAAK,MAAM,MAAM,MAAM,OAAO,GAAG;AAC1D,cAAM,gBAAA;AAAA,MACV;AAAA,IACJ;AAEA,UAAM,yBAAyB,CAAC,UAA+C;AAC3E,YAAM,gBAAA;AACN,cAAA;AAAA,IACJ;AAEA,UAAM,sBAAsB,MAAM;AAC9B,UAAI,UAAU;AACV,eACI;AAAA,UAAC;AAAA,UAAA;AAAA,YACI,GAAG;AAAA,YACJ;AAAA,YACA;AAAA,YACA,SAAS;AAAA,YACT,WAAW;AAAA,UAAA;AAAA,QAAA;AAAA,MAGvB,OAAO;AACH,eAAO,oBAAC,mBAAA,EAAkB,MAAY,SAAS,aAAA,CAAc;AAAA,MACjE;AAAA,IACJ;AAEA,WACI;AAAA,MAAC;AAAA,MAAA;AAAA,QACG;AAAA,QACA;AAAA,QACA;AAAA,QACA,iBAAe;AAAA,QACf,WAAW;AAAA,QACX,SAAS;AAAA,QACT,SAAS,oBAAA;AAAA,QACR,GAAG;AAAA,QACJ;AAAA,QAEC;AAAA,MAAA;AAAA,IAAA;AAAA,EAGb;AACJ;AAEA,0BAA0B,cAAc;"}
@@ -0,0 +1,7 @@
1
+ import { ChipMonthYearPicker } from "./ChipMonthYearPicker.js";
2
+ import { ChipMonthYearPickerTarget } from "./ChipMonthYearPickerTarget.js";
3
+ export {
4
+ ChipMonthYearPicker,
5
+ ChipMonthYearPickerTarget
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1,22 +1,25 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import React__default from "react";
2
+ import React__default, { useCallback } from "react";
3
+ import { c as clsx } from "../../chunks/vendor-DqjKLGwf.js";
3
4
  import { MultiselectField } from "../MultiselectField/MultiselectField.js";
4
- import { s as styles, C as Chip } from "../../chunks/Chip-CWaqKk62.js";
5
+ import { isKey } from "../../utils/keyboard.js";
6
+ import { s as styles, C as Chip } from "../../chunks/Chip-Bi7plvOY.js";
5
7
  import { ChipClearButton } from "./ChipClearButton.js";
6
8
  import { ChipDropdownArrow } from "./ChipDropdownArrow.js";
7
- import { isKey } from "../../utils/keyboard.js";
8
- import { c as clsx } from "../../chunks/vendor-D4wvHis9.js";
9
9
  const ChipMultiselect = React__default.forwardRef(
10
- ({ children, className, clearSelected, disabled, label, displayedValue, selected, size, type, ...restProps }, ref) => {
11
- const handleKeyDownClearButton = (event) => {
10
+ ({ children, className, clearSelected, disabled, displayedValue, label, selected, size, type, ...restProps }, ref) => {
11
+ const handleKeyDownClearButton = useCallback((event) => {
12
12
  if (isKey(event.code, "ENTER") || isKey(event.code, "SPACE")) {
13
13
  event.stopPropagation();
14
14
  }
15
- };
16
- const handleClickClearButton = (event) => {
17
- event.stopPropagation();
18
- clearSelected();
19
- };
15
+ }, []);
16
+ const handleClickClearButton = useCallback(
17
+ (event) => {
18
+ event.stopPropagation();
19
+ clearSelected();
20
+ },
21
+ [clearSelected]
22
+ );
20
23
  const renderTarget = ({ opened, setOpened }) => {
21
24
  const handleKeyDown = (event) => {
22
25
  if (isKey(event.code, "ENTER") || isKey(event.code, "SPACE")) {
@@ -42,7 +45,7 @@ const ChipMultiselect = React__default.forwardRef(
42
45
  ) : /* @__PURE__ */ jsx(ChipDropdownArrow, { size, rotated: opened }),
43
46
  ref,
44
47
  role: "listbox",
45
- selected: Boolean(selected),
48
+ selected,
46
49
  children: selected ? displayedValue ?? label : label
47
50
  }
48
51
  );
@@ -1 +1 @@
1
- {"version":3,"file":"ChipMultiselect.js","sources":["../../../src/components/Chip/ChipMultiselect.tsx"],"sourcesContent":["import React from \"react\";\nimport { IMultiselectFieldProps, MultiselectField } from \"../MultiselectField\";\nimport { Chip, IChipProps } from \"./Chip\";\nimport { ChipClearButton } from \"./ChipClearButton\";\nimport { ChipDropdownArrow } from \"./ChipDropdownArrow\";\nimport { ISelectExtendedFieldTargetProvideProps } from \"../SelectExtendedField\";\nimport { isKey } from \"../../utils/keyboard\";\nimport styles from \"./styles/Chip.module.less\";\nimport clsx from \"clsx\";\n\nexport interface IChipMultiselectProps extends Omit<IMultiselectFieldProps, \"renderTarget\">, Pick<IChipProps, \"type\"> {\n /** Функция отмены выбора. */\n clearSelected: () => void;\n /** Состояние disabled. */\n disabled?: boolean;\n /** Флаг, выбран хоть один вариант. */\n selected?: boolean;\n /** Название поля или число выбранных вариантов. */\n label: React.ReactNode;\n /** Лейбл, отображаемый вместо выбранного значения. */\n displayedValue?: React.ReactNode;\n}\n\n/**\n * Компонент выбора нескольких значений из списка.\n * Количество выбранных значений отображается компонентом Chip.\n */\nexport const ChipMultiselect = React.forwardRef<HTMLDivElement, IChipMultiselectProps>(\n (\n { children, className, clearSelected, disabled, label, displayedValue, selected, size, type, ...restProps },\n ref,\n ) => {\n const handleKeyDownClearButton = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (isKey(event.code, \"ENTER\") || isKey(event.code, \"SPACE\")) {\n // Предотвращаем всплытие события до Chip\n event.stopPropagation();\n }\n };\n\n const handleClickClearButton = (event: React.MouseEvent<HTMLButtonElement>) => {\n // Предотвращаем всплытие события до Chip\n event.stopPropagation();\n\n clearSelected();\n };\n\n const renderTarget = ({ opened, setOpened }: ISelectExtendedFieldTargetProvideProps) => {\n const handleKeyDown = (event: React.KeyboardEvent<HTMLSpanElement>) => {\n if (isKey(event.code, \"ENTER\") || isKey(event.code, \"SPACE\")) {\n setOpened(!opened);\n }\n };\n\n return (\n <Chip\n aria-expanded={opened}\n disabled={disabled}\n size={size}\n type={type}\n onClick={() => setOpened(!opened)}\n onKeyDown={handleKeyDown}\n postfix={\n selected ? (\n <ChipClearButton\n size={size}\n onKeyDown={handleKeyDownClearButton}\n onClick={handleClickClearButton}\n />\n ) : (\n <ChipDropdownArrow size={size} rotated={opened} />\n )\n }\n ref={ref}\n role=\"listbox\"\n selected={Boolean(selected)}\n >\n {selected ? (displayedValue ?? label) : label}\n </Chip>\n );\n };\n\n return (\n <MultiselectField\n size={size}\n renderTarget={renderTarget}\n className={clsx(styles.chipGroupItem, className)}\n {...restProps}\n >\n {children}\n </MultiselectField>\n );\n },\n);\n\nChipMultiselect.displayName = \"ChipMultiselect\";\n"],"names":["React"],"mappings":";;;;;;;;AA2BO,MAAM,kBAAkBA,eAAM;AAAA,EACjC,CACI,EAAE,UAAU,WAAW,eAAe,UAAU,OAAO,gBAAgB,UAAU,MAAM,MAAM,GAAG,UAAA,GAChG,QACC;AACD,UAAM,2BAA2B,CAAC,UAAkD;AAChF,UAAI,MAAM,MAAM,MAAM,OAAO,KAAK,MAAM,MAAM,MAAM,OAAO,GAAG;AAE1D,cAAM,gBAAA;AAAA,MACV;AAAA,IACJ;AAEA,UAAM,yBAAyB,CAAC,UAA+C;AAE3E,YAAM,gBAAA;AAEN,oBAAA;AAAA,IACJ;AAEA,UAAM,eAAe,CAAC,EAAE,QAAQ,gBAAwD;AACpF,YAAM,gBAAgB,CAAC,UAAgD;AACnE,YAAI,MAAM,MAAM,MAAM,OAAO,KAAK,MAAM,MAAM,MAAM,OAAO,GAAG;AAC1D,oBAAU,CAAC,MAAM;AAAA,QACrB;AAAA,MACJ;AAEA,aACI;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,iBAAe;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS,MAAM,UAAU,CAAC,MAAM;AAAA,UAChC,WAAW;AAAA,UACX,SACI,WACI;AAAA,YAAC;AAAA,YAAA;AAAA,cACG;AAAA,cACA,WAAW;AAAA,cACX,SAAS;AAAA,YAAA;AAAA,UAAA,IAGb,oBAAC,mBAAA,EAAkB,MAAY,SAAS,OAAA,CAAQ;AAAA,UAGxD;AAAA,UACA,MAAK;AAAA,UACL,UAAU,QAAQ,QAAQ;AAAA,UAEzB,UAAA,WAAY,kBAAkB,QAAS;AAAA,QAAA;AAAA,MAAA;AAAA,IAGpD;AAEA,WACI;AAAA,MAAC;AAAA,MAAA;AAAA,QACG;AAAA,QACA;AAAA,QACA,WAAW,KAAK,OAAO,eAAe,SAAS;AAAA,QAC9C,GAAG;AAAA,QAEH;AAAA,MAAA;AAAA,IAAA;AAAA,EAGb;AACJ;AAEA,gBAAgB,cAAc;"}
1
+ {"version":3,"file":"ChipMultiselect.js","sources":["../../../src/components/Chip/ChipMultiselect.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport clsx from \"clsx\";\nimport { IMultiselectFieldProps, MultiselectField } from \"../MultiselectField\";\nimport { ISelectExtendedFieldTargetProvideProps } from \"../SelectExtendedField\";\nimport { isKey } from \"../../utils/keyboard\";\nimport { Chip, IChipProps } from \"./Chip\";\nimport { ChipClearButton } from \"./ChipClearButton\";\nimport { ChipDropdownArrow } from \"./ChipDropdownArrow\";\nimport styles from \"./styles/Chip.module.less\";\n\n/** Свойства компонента ChipMultiselect. */\nexport interface IChipMultiselectProps extends Omit<IMultiselectFieldProps, \"renderTarget\">, Pick<IChipProps, \"type\"> {\n /** Функция отмены выбора. Вызывается по нажатию на кнопку сброса. */\n clearSelected: () => void;\n /** Состояние disabled. */\n disabled?: boolean;\n /** Флаг, выбран хоть один вариант. */\n selected?: boolean;\n /** Название поля или число выбранных вариантов. */\n label: React.ReactNode;\n /** Лейбл, отображаемый вместо выбранного значения. Показывается только при selected. */\n displayedValue?: React.ReactNode;\n}\n\n/**\n * Компонент выбора нескольких значений из списка.\n * Количество выбранных значений отображается компонентом Chip.\n *\n * Надстройка над MultiselectField: состоянием открытости и выпадающим блоком владеет\n * MultiselectField, а полем выбора выступает Chip. Внешний ref уходит на этот Chip,\n * а не на корневой элемент MultiselectField.\n */\nexport const ChipMultiselect = React.forwardRef<HTMLDivElement, IChipMultiselectProps>(\n (\n { children, className, clearSelected, disabled, displayedValue, label, selected, size, type, ...restProps },\n ref,\n ) => {\n const handleKeyDownClearButton = useCallback((event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (isKey(event.code, \"ENTER\") || isKey(event.code, \"SPACE\")) {\n // Предотвращаем всплытие события до Chip, иначе сброс выбора заодно открыл бы список.\n event.stopPropagation();\n }\n }, []);\n\n const handleClickClearButton = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n // Предотвращаем всплытие события до Chip, иначе сброс выбора заодно открыл бы список.\n event.stopPropagation();\n\n clearSelected();\n },\n [clearSelected],\n );\n\n const renderTarget = ({ opened, setOpened }: ISelectExtendedFieldTargetProvideProps) => {\n const handleKeyDown = (event: React.KeyboardEvent<HTMLSpanElement>) => {\n if (isKey(event.code, \"ENTER\") || isKey(event.code, \"SPACE\")) {\n setOpened(!opened);\n }\n };\n\n return (\n <Chip\n aria-expanded={opened}\n disabled={disabled}\n size={size}\n type={type}\n onClick={() => setOpened(!opened)}\n onKeyDown={handleKeyDown}\n postfix={\n selected ? (\n <ChipClearButton\n size={size}\n onKeyDown={handleKeyDownClearButton}\n onClick={handleClickClearButton}\n />\n ) : (\n <ChipDropdownArrow size={size} rotated={opened} />\n )\n }\n ref={ref}\n role=\"listbox\"\n selected={selected}\n >\n {selected ? (displayedValue ?? label) : label}\n </Chip>\n );\n };\n\n return (\n <MultiselectField\n size={size}\n renderTarget={renderTarget}\n className={clsx(styles.chipGroupItem, className)}\n {...restProps}\n >\n {children}\n </MultiselectField>\n );\n },\n);\n\nChipMultiselect.displayName = \"ChipMultiselect\";\n"],"names":["React"],"mappings":";;;;;;;;AAgCO,MAAM,kBAAkBA,eAAM;AAAA,EACjC,CACI,EAAE,UAAU,WAAW,eAAe,UAAU,gBAAgB,OAAO,UAAU,MAAM,MAAM,GAAG,UAAA,GAChG,QACC;AACD,UAAM,2BAA2B,YAAY,CAAC,UAAkD;AAC5F,UAAI,MAAM,MAAM,MAAM,OAAO,KAAK,MAAM,MAAM,MAAM,OAAO,GAAG;AAE1D,cAAM,gBAAA;AAAA,MACV;AAAA,IACJ,GAAG,CAAA,CAAE;AAEL,UAAM,yBAAyB;AAAA,MAC3B,CAAC,UAA+C;AAE5C,cAAM,gBAAA;AAEN,sBAAA;AAAA,MACJ;AAAA,MACA,CAAC,aAAa;AAAA,IAAA;AAGlB,UAAM,eAAe,CAAC,EAAE,QAAQ,gBAAwD;AACpF,YAAM,gBAAgB,CAAC,UAAgD;AACnE,YAAI,MAAM,MAAM,MAAM,OAAO,KAAK,MAAM,MAAM,MAAM,OAAO,GAAG;AAC1D,oBAAU,CAAC,MAAM;AAAA,QACrB;AAAA,MACJ;AAEA,aACI;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,iBAAe;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS,MAAM,UAAU,CAAC,MAAM;AAAA,UAChC,WAAW;AAAA,UACX,SACI,WACI;AAAA,YAAC;AAAA,YAAA;AAAA,cACG;AAAA,cACA,WAAW;AAAA,cACX,SAAS;AAAA,YAAA;AAAA,UAAA,IAGb,oBAAC,mBAAA,EAAkB,MAAY,SAAS,OAAA,CAAQ;AAAA,UAGxD;AAAA,UACA,MAAK;AAAA,UACL;AAAA,UAEC,UAAA,WAAY,kBAAkB,QAAS;AAAA,QAAA;AAAA,MAAA;AAAA,IAGpD;AAEA,WACI;AAAA,MAAC;AAAA,MAAA;AAAA,QACG;AAAA,QACA;AAAA,QACA,WAAW,KAAK,OAAO,eAAe,SAAS;AAAA,QAC9C,GAAG;AAAA,QAEH;AAAA,MAAA;AAAA,IAAA;AAAA,EAGb;AACJ;AAEA,gBAAgB,cAAc;"}
@@ -1,27 +1,49 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import React__default from "react";
3
3
  import { OptionsStrokeSrvIcon24 } from "@sberbusiness/icons-next";
4
- import { C as Chip } from "../../chunks/Chip-CWaqKk62.js";
4
+ import { isKey } from "../../utils/keyboard.js";
5
+ import { C as Chip } from "../../chunks/Chip-Bi7plvOY.js";
5
6
  import { ChipClearButton } from "./ChipClearButton.js";
6
- const chipOptionsContent = "chipOptionsContent__fc1ad139";
7
+ const chipOptionsContent = "chipOptionsContent__56b327b1";
7
8
  const styles = {
8
9
  chipOptionsContent
9
10
  };
10
11
  const ChipOptions = React__default.forwardRef(
11
- ({ children, clearSelected, selected, ...rest }, ref) => {
12
+ ({ children, clearButtonProps, clearSelected, selected, size, ...restProps }, ref) => {
13
+ const {
14
+ onClick: onClickClearButton,
15
+ onKeyDown: onKeyDownClearButton,
16
+ ...restClearButtonProps
17
+ } = clearButtonProps ?? {};
12
18
  const handleClickClearButton = (event) => {
13
19
  event.stopPropagation();
14
20
  clearSelected();
21
+ onClickClearButton == null ? void 0 : onClickClearButton(event);
22
+ };
23
+ const handleKeyDownClearButton = (event) => {
24
+ if (isKey(event.code, "ENTER") || isKey(event.code, "SPACE")) {
25
+ event.stopPropagation();
26
+ }
27
+ onKeyDownClearButton == null ? void 0 : onKeyDownClearButton(event);
15
28
  };
16
29
  return /* @__PURE__ */ jsx(
17
30
  Chip,
18
31
  {
19
- prefix: selected ? /* @__PURE__ */ jsx(OptionsStrokeSrvIcon24, { paletteIndex: 6 }) : /* @__PURE__ */ jsx(OptionsStrokeSrvIcon24, { paletteIndex: 5 }),
20
- postfix: selected ? /* @__PURE__ */ jsx(ChipClearButton, { onClick: handleClickClearButton, size: rest.size }) : /* @__PURE__ */ jsx("span", {}),
32
+ prefix: /* @__PURE__ */ jsx(OptionsStrokeSrvIcon24, { paletteIndex: selected ? 6 : 5 }),
33
+ postfix: selected ? /* @__PURE__ */ jsx(
34
+ ChipClearButton,
35
+ {
36
+ ...restClearButtonProps,
37
+ size,
38
+ onClick: handleClickClearButton,
39
+ onKeyDown: handleKeyDownClearButton
40
+ }
41
+ ) : /* @__PURE__ */ jsx("span", {}),
21
42
  selected,
22
- ...rest,
43
+ size,
44
+ ...restProps,
23
45
  ref,
24
- children: typeof children !== "undefined" ? /* @__PURE__ */ jsx("span", { className: styles.chipOptionsContent, children }) : children
46
+ children: children !== void 0 ? /* @__PURE__ */ jsx("span", { className: styles.chipOptionsContent, children }) : children
25
47
  }
26
48
  );
27
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChipOptions.js","sources":["../../../src/components/Chip/ChipOptions.tsx"],"sourcesContent":["import React from \"react\";\nimport { OptionsStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport { Chip, IChipProps } from \"./Chip\";\nimport { ChipClearButton } from \"./ChipClearButton\";\nimport styles from \"./styles/ChipOptions.module.less\";\n\nexport interface IChipOptionsProps extends Omit<IChipProps, \"prefix\" | \"postfix\"> {\n /** Функция отмены выбора. */\n clearSelected: () => void;\n}\n\n/**\n * Chip с иконкой выбора опций.\n */\nexport const ChipOptions = React.forwardRef<HTMLSpanElement, IChipOptionsProps>(\n ({ children, clearSelected, selected, ...rest }, ref) => {\n const handleClickClearButton = (event: React.MouseEvent<HTMLButtonElement>) => {\n // Предотвращение нажатия на родительский элемент Chip.\n event.stopPropagation();\n\n clearSelected();\n };\n\n return (\n <Chip\n prefix={\n selected ? <OptionsStrokeSrvIcon24 paletteIndex={6} /> : <OptionsStrokeSrvIcon24 paletteIndex={5} />\n }\n postfix={selected ? <ChipClearButton onClick={handleClickClearButton} size={rest.size} /> : <span />}\n selected={selected}\n {...rest}\n ref={ref}\n >\n {typeof children !== \"undefined\" ? (\n <span className={styles.chipOptionsContent}>{children}</span>\n ) : (\n children\n )}\n </Chip>\n );\n },\n);\n\nChipOptions.displayName = \"ChipOptions\";\n"],"names":["React"],"mappings":";;;;;;;;;AAcO,MAAM,cAAcA,eAAM;AAAA,EAC7B,CAAC,EAAE,UAAU,eAAe,UAAU,GAAG,KAAA,GAAQ,QAAQ;AACrD,UAAM,yBAAyB,CAAC,UAA+C;AAE3E,YAAM,gBAAA;AAEN,oBAAA;AAAA,IACJ;AAEA,WACI;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,QACI,WAAW,oBAAC,wBAAA,EAAuB,cAAc,GAAG,IAAK,oBAAC,wBAAA,EAAuB,cAAc,EAAA,CAAG;AAAA,QAEtG,SAAS,WAAW,oBAAC,iBAAA,EAAgB,SAAS,wBAAwB,MAAM,KAAK,KAAA,CAAM,IAAK,oBAAC,QAAA,CAAA,CAAK;AAAA,QAClG;AAAA,QACC,GAAG;AAAA,QACJ;AAAA,QAEC,UAAA,OAAO,aAAa,cACjB,oBAAC,UAAK,WAAW,OAAO,oBAAqB,SAAA,CAAS,IAEtD;AAAA,MAAA;AAAA,IAAA;AAAA,EAIhB;AACJ;AAEA,YAAY,cAAc;"}
1
+ {"version":3,"file":"ChipOptions.js","sources":["../../../src/components/Chip/ChipOptions.tsx"],"sourcesContent":["import React from \"react\";\nimport { OptionsStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport { isKey } from \"../../utils/keyboard\";\nimport { Chip, IChipProps } from \"./Chip\";\nimport { ChipClearButton, IChipClearButtonProps } from \"./ChipClearButton\";\nimport styles from \"./styles/ChipOptions.module.less\";\n\n/** Свойства компонента ChipOptions. */\nexport interface IChipOptionsProps extends Omit<IChipProps, \"prefix\" | \"postfix\"> {\n /** Функция отмены выбора. */\n clearSelected: () => void;\n /**\n * Свойства кнопки сброса выбора, например aria-label для её доступного имени.\n * Размер задаётся размером чипса. Переданные onClick и onKeyDown не заменяют\n * собственные обработчики компонента, а вызываются после них.\n */\n clearButtonProps?: Omit<IChipClearButtonProps, \"size\">;\n}\n\n/**\n * Chip с иконкой выбора опций.\n * В выбранном состоянии в postfix отображается кнопка сброса выбора.\n */\nexport const ChipOptions = React.forwardRef<HTMLSpanElement, IChipOptionsProps>(\n ({ children, clearButtonProps, clearSelected, selected, size, ...restProps }, ref) => {\n const {\n onClick: onClickClearButton,\n onKeyDown: onKeyDownClearButton,\n ...restClearButtonProps\n } = clearButtonProps ?? {};\n\n const handleClickClearButton = (event: React.MouseEvent<HTMLButtonElement>) => {\n // Предотвращение нажатия на родительский элемент Chip.\n event.stopPropagation();\n\n clearSelected();\n onClickClearButton?.(event);\n };\n\n const handleKeyDownClearButton = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (isKey(event.code, \"ENTER\") || isKey(event.code, \"SPACE\")) {\n // Без гашения всплытия Chip вызовет preventDefault() на SPACE (гасит прокрутку\n // страницы) и заодно отменит нативную активацию кнопки, а на ENTER отработает\n // потребительский onKeyDown чипса одновременно со сбросом.\n event.stopPropagation();\n }\n\n onKeyDownClearButton?.(event);\n };\n\n return (\n <Chip\n prefix={<OptionsStrokeSrvIcon24 paletteIndex={selected ? 6 : 5} />}\n // Вне выбранного состояния в postfix уходит пустой span, а не undefined: класс\n // withPostfix (обнуляет правый padding) Chip выставляет по postfix !== undefined,\n // поэтому отступы у выбранного и невыбранного чипса должны совпадать. Пустой span\n // при этом реально рендерится в обёртке IconWrapper — убрать его нельзя.\n postfix={\n selected ? (\n <ChipClearButton\n {...restClearButtonProps}\n size={size}\n onClick={handleClickClearButton}\n onKeyDown={handleKeyDownClearButton}\n />\n ) : (\n <span />\n )\n }\n selected={selected}\n size={size}\n {...restProps}\n ref={ref}\n >\n {children !== undefined ? <span className={styles.chipOptionsContent}>{children}</span> : children}\n </Chip>\n );\n },\n);\n\nChipOptions.displayName = \"ChipOptions\";\n"],"names":["React"],"mappings":";;;;;;;;;;AAuBO,MAAM,cAAcA,eAAM;AAAA,EAC7B,CAAC,EAAE,UAAU,kBAAkB,eAAe,UAAU,MAAM,GAAG,UAAA,GAAa,QAAQ;AAClF,UAAM;AAAA,MACF,SAAS;AAAA,MACT,WAAW;AAAA,MACX,GAAG;AAAA,IAAA,IACH,oBAAoB,CAAA;AAExB,UAAM,yBAAyB,CAAC,UAA+C;AAE3E,YAAM,gBAAA;AAEN,oBAAA;AACA,+DAAqB;AAAA,IACzB;AAEA,UAAM,2BAA2B,CAAC,UAAkD;AAChF,UAAI,MAAM,MAAM,MAAM,OAAO,KAAK,MAAM,MAAM,MAAM,OAAO,GAAG;AAI1D,cAAM,gBAAA;AAAA,MACV;AAEA,mEAAuB;AAAA,IAC3B;AAEA,WACI;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,QAAQ,oBAAC,wBAAA,EAAuB,cAAc,WAAW,IAAI,GAAG;AAAA,QAKhE,SACI,WACI;AAAA,UAAC;AAAA,UAAA;AAAA,YACI,GAAG;AAAA,YACJ;AAAA,YACA,SAAS;AAAA,YACT,WAAW;AAAA,UAAA;AAAA,QAAA,wBAGd,QAAA,EAAK;AAAA,QAGd;AAAA,QACA;AAAA,QACC,GAAG;AAAA,QACJ;AAAA,QAEC,UAAA,aAAa,SAAY,oBAAC,QAAA,EAAK,WAAW,OAAO,oBAAqB,UAAS,IAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EAGtG;AACJ;AAEA,YAAY,cAAc;"}
@@ -1,12 +1,12 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import React__default from "react";
3
- import { c as clsx } from "../../../chunks/vendor-D4wvHis9.js";
3
+ import { c as clsx } from "../../../chunks/vendor-DqjKLGwf.js";
4
4
  import { SelectExtendedField } from "../../SelectExtendedField/SelectExtendedField.js";
5
5
  import "../../SelectExtendedField/components/SelectExtendedFieldDropdown.js";
6
6
  import "../../SelectExtendedField/components/SelectExtendedFieldTarget.js";
7
7
  import { SelectExtendedFieldDropdownDefault } from "../../SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js";
8
8
  import { ChipSelectTarget } from "./ChipSelectTarget.js";
9
- import { s as styles } from "../../../chunks/Chip-CWaqKk62.js";
9
+ import { s as styles } from "../../../chunks/Chip-Bi7plvOY.js";
10
10
  const ChipSelect = React__default.forwardRef(
11
11
  ({
12
12
  className,
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import React__default, { useCallback } from "react";
3
- import { C as Chip } from "../../../chunks/Chip-CWaqKk62.js";
3
+ import { C as Chip } from "../../../chunks/Chip-Bi7plvOY.js";
4
4
  import { ChipDropdownArrow } from "../ChipDropdownArrow.js";
5
5
  import { ChipClearButton } from "../ChipClearButton.js";
6
6
  import { isKey } from "../../../utils/keyboard.js";
@@ -1,19 +1,21 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import React__default, { useRef } from "react";
3
- import { ChipIcon } from "./ChipIcon.js";
3
+ import { u as uniqueId, i as isEqual, c as clsx } from "../../chunks/vendor-DqjKLGwf.js";
4
4
  import { SortStrokeSrvIcon24 } from "@sberbusiness/icons-next";
5
+ import { ChipIcon } from "./ChipIcon.js";
6
+ import { IconWrapper } from "../IconWrapper/IconWrapper.js";
5
7
  import { SelectExtendedField } from "../SelectExtendedField/SelectExtendedField.js";
6
8
  import "../SelectExtendedField/components/SelectExtendedFieldDropdown.js";
7
9
  import "../SelectExtendedField/components/SelectExtendedFieldTarget.js";
8
10
  import { SelectExtendedFieldDropdownDefault } from "../SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js";
9
- import { u as uniqueId, i as isEqual, c as clsx } from "../../chunks/vendor-D4wvHis9.js";
10
11
  import { isKey } from "../../utils/keyboard.js";
11
- import { IconWrapper } from "../IconWrapper/IconWrapper.js";
12
- import { s as styles } from "../../chunks/Chip-CWaqKk62.js";
12
+ import { s as styles } from "../../chunks/Chip-Bi7plvOY.js";
13
+ const ICON_PALETTE_INDEX_DEFAULT = 5;
14
+ const ICON_PALETTE_INDEX_SELECTED = 6;
13
15
  const ChipSort = React__default.forwardRef(
14
16
  ({ className, defaultValue, disabled, label, onChange, options, value, size, type, ...restProps }, ref) => {
15
17
  const instanceId = useRef(uniqueId());
16
- const selected = Boolean(value) && !isEqual(defaultValue, value);
18
+ const selected = value != null && !isEqual(defaultValue, value);
17
19
  const renderTarget = ({ opened, setOpened }) => {
18
20
  const handleKeyDown = (event) => {
19
21
  if (!opened && (isKey(event.code, "ENTER") || isKey(event.code, "SPACE"))) {
@@ -34,7 +36,12 @@ const ChipSort = React__default.forwardRef(
34
36
  "aria-expanded": opened,
35
37
  "aria-controls": instanceId.current,
36
38
  ref,
37
- children: /* @__PURE__ */ jsx(IconWrapper, { active: opened, disabled, displayContents: true, children: selected ? /* @__PURE__ */ jsx(SortStrokeSrvIcon24, { paletteIndex: 6 }) : /* @__PURE__ */ jsx(SortStrokeSrvIcon24, { paletteIndex: 5 }) })
39
+ children: /* @__PURE__ */ jsx(IconWrapper, { active: opened, disabled, displayContents: true, children: /* @__PURE__ */ jsx(
40
+ SortStrokeSrvIcon24,
41
+ {
42
+ paletteIndex: selected ? ICON_PALETTE_INDEX_SELECTED : ICON_PALETTE_INDEX_DEFAULT
43
+ }
44
+ ) })
38
45
  }
39
46
  );
40
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ChipSort.js","sources":["../../../src/components/Chip/ChipSort.tsx"],"sourcesContent":["import React, { useRef } from \"react\";\nimport { isEqual } from \"lodash-es\";\nimport { ChipIcon } from \"./ChipIcon\";\nimport { IChipSelectProps } from \"./ChipSelect/ChipSelect\";\nimport { SortStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport {\n ISelectExtendedFieldDropdownProvideProps,\n ISelectExtendedFieldTargetProvideProps,\n SelectExtendedField,\n} from \"../../components/SelectExtendedField\";\nimport { SelectExtendedFieldDropdownDefault } from \"../../components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault\";\nimport { ISelectExtendedFieldDefaultOption } from \"../../components/SelectExtendedField\";\nimport { uniqueId } from \"lodash-es\";\nimport clsx from \"clsx\";\nimport { isKey } from \"../../utils/keyboard\";\nimport { IconWrapper } from \"../../components/IconWrapper/IconWrapper\";\nimport styles from \"./styles/Chip.module.less\";\n\nexport interface IChipSortProps extends Omit<IChipSelectProps, \"targetProps\" | \"clearSelected\" | \"defaultValue\"> {\n /** Дефолтное значение, если текущее значение равно дефолтному, элемент не будет подсвечен как измененный. */\n defaultValue?: ISelectExtendedFieldDefaultOption;\n}\n\n/**\n * ChipSelect с иконкой выбора сортировки.\n */\nexport const ChipSort = React.forwardRef<HTMLDivElement, IChipSortProps>(\n ({ className, defaultValue, disabled, label, onChange, options, value, size, type, ...restProps }, ref) => {\n const instanceId = useRef(uniqueId());\n const selected = Boolean(value) && !isEqual(defaultValue, value);\n\n const renderTarget = ({ opened, setOpened }: ISelectExtendedFieldTargetProvideProps) => {\n const handleKeyDown = (event: React.KeyboardEvent<HTMLSpanElement>) => {\n if (!opened && (isKey(event.code, \"ENTER\") || isKey(event.code, \"SPACE\"))) {\n event.preventDefault();\n setOpened(true);\n }\n };\n\n return (\n <ChipIcon\n disabled={disabled}\n selected={selected}\n onClick={() => setOpened(!opened)}\n onKeyDown={handleKeyDown}\n size={size}\n type={type}\n role=\"combobox\"\n aria-expanded={opened}\n aria-controls={instanceId.current}\n ref={ref}\n >\n <IconWrapper active={opened} disabled={disabled} displayContents>\n {selected ? <SortStrokeSrvIcon24 paletteIndex={6} /> : <SortStrokeSrvIcon24 paletteIndex={5} />}\n </IconWrapper>\n </ChipIcon>\n );\n };\n\n const renderDropdown = (props: ISelectExtendedFieldDropdownProvideProps) => (\n <SelectExtendedFieldDropdownDefault\n {...props}\n size={size}\n mobileTitle={label}\n onChange={onChange}\n options={options}\n value={value}\n listId={instanceId.current}\n />\n );\n\n return (\n <SelectExtendedField\n className={clsx(styles.chipGroupItem, className)}\n renderTarget={renderTarget}\n {...restProps}\n >\n {renderDropdown}\n </SelectExtendedField>\n );\n },\n);\n\nChipSort.displayName = \"ChipSort\";\n"],"names":["React"],"mappings":";;;;;;;;;;;;AA0BO,MAAM,WAAWA,eAAM;AAAA,EAC1B,CAAC,EAAE,WAAW,cAAc,UAAU,OAAO,UAAU,SAAS,OAAO,MAAM,MAAM,GAAG,UAAA,GAAa,QAAQ;AACvG,UAAM,aAAa,OAAO,UAAU;AACpC,UAAM,WAAW,QAAQ,KAAK,KAAK,CAAC,QAAQ,cAAc,KAAK;AAE/D,UAAM,eAAe,CAAC,EAAE,QAAQ,gBAAwD;AACpF,YAAM,gBAAgB,CAAC,UAAgD;AACnE,YAAI,CAAC,WAAW,MAAM,MAAM,MAAM,OAAO,KAAK,MAAM,MAAM,MAAM,OAAO,IAAI;AACvE,gBAAM,eAAA;AACN,oBAAU,IAAI;AAAA,QAClB;AAAA,MACJ;AAEA,aACI;AAAA,QAAC;AAAA,QAAA;AAAA,UACG;AAAA,UACA;AAAA,UACA,SAAS,MAAM,UAAU,CAAC,MAAM;AAAA,UAChC,WAAW;AAAA,UACX;AAAA,UACA;AAAA,UACA,MAAK;AAAA,UACL,iBAAe;AAAA,UACf,iBAAe,WAAW;AAAA,UAC1B;AAAA,UAEA,8BAAC,aAAA,EAAY,QAAQ,QAAQ,UAAoB,iBAAe,MAC3D,UAAA,WAAW,oBAAC,qBAAA,EAAoB,cAAc,GAAG,wBAAM,qBAAA,EAAoB,cAAc,GAAG,EAAA,CACjG;AAAA,QAAA;AAAA,MAAA;AAAA,IAGZ;AAEA,UAAM,iBAAiB,CAAC,UACpB;AAAA,MAAC;AAAA,MAAA;AAAA,QACI,GAAG;AAAA,QACJ;AAAA,QACA,aAAa;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA,QAAQ,WAAW;AAAA,MAAA;AAAA,IAAA;AAI3B,WACI;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,eAAe,SAAS;AAAA,QAC/C;AAAA,QACC,GAAG;AAAA,QAEH,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGb;AACJ;AAEA,SAAS,cAAc;"}
1
+ {"version":3,"file":"ChipSort.js","sources":["../../../src/components/Chip/ChipSort.tsx"],"sourcesContent":["import React, { useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { isEqual, uniqueId } from \"lodash-es\";\nimport { SortStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport { ChipIcon } from \"./ChipIcon\";\nimport { IChipSelectProps } from \"./ChipSelect/ChipSelect\";\nimport { IconWrapper } from \"../IconWrapper\";\nimport {\n ISelectExtendedFieldDefaultOption,\n ISelectExtendedFieldDropdownProvideProps,\n ISelectExtendedFieldTargetProvideProps,\n SelectExtendedField,\n} from \"../SelectExtendedField\";\nimport { SelectExtendedFieldDropdownDefault } from \"../SelectExtendedField/components/SelectExtendedFieldDropdownDefault\";\nimport { isKey } from \"../../utils/keyboard\";\nimport styles from \"./styles/Chip.module.less\";\n\n/** Индекс палитры иконки сортировки в обычном состоянии. */\nconst ICON_PALETTE_INDEX_DEFAULT = 5;\n/** Индекс палитры иконки сортировки, когда чипс подсвечен как изменённый. */\nconst ICON_PALETTE_INDEX_SELECTED = 6;\n\n/** Свойства компонента ChipSort. */\nexport interface IChipSortProps extends Omit<IChipSelectProps, \"targetProps\" | \"clearSelected\" | \"defaultValue\"> {\n /** Дефолтное значение, если текущее значение равно дефолтному, элемент не будет подсвечен как измененный. */\n defaultValue?: ISelectExtendedFieldDefaultOption;\n}\n\n/**\n * ChipSelect с иконкой выбора сортировки.\n *\n * Выбранное значение не отображается текстом: target — это ChipIcon с иконкой сортировки,\n * которая подсвечивается, только когда текущее значение отличается от defaultValue.\n * Открывается по клику и по Enter/Space, target связан со списком через aria-controls.\n */\nexport const ChipSort = React.forwardRef<HTMLDivElement, IChipSortProps>(\n ({ className, defaultValue, disabled, label, onChange, options, value, size, type, ...restProps }, ref) => {\n // Id списка дропдауна. Через него target связывается со списком по aria-controls.\n const instanceId = useRef(uniqueId());\n // Чипс подсвечен, только если значение выбрано и отличается от дефолтного:\n // сортировка по умолчанию — это не изменение фильтра, подсвечивать нечего.\n const selected = value != null && !isEqual(defaultValue, value);\n\n const renderTarget = ({ opened, setOpened }: ISelectExtendedFieldTargetProvideProps) => {\n const handleKeyDown = (event: React.KeyboardEvent<HTMLSpanElement>) => {\n // Закрытием списка занимается SelectExtendedField, здесь только открытие.\n if (!opened && (isKey(event.code, \"ENTER\") || isKey(event.code, \"SPACE\"))) {\n event.preventDefault();\n setOpened(true);\n }\n };\n\n return (\n <ChipIcon\n disabled={disabled}\n selected={selected}\n onClick={() => setOpened(!opened)}\n onKeyDown={handleKeyDown}\n size={size}\n type={type}\n role=\"combobox\"\n aria-expanded={opened}\n aria-controls={instanceId.current}\n ref={ref}\n >\n <IconWrapper active={opened} disabled={disabled} displayContents>\n <SortStrokeSrvIcon24\n paletteIndex={selected ? ICON_PALETTE_INDEX_SELECTED : ICON_PALETTE_INDEX_DEFAULT}\n />\n </IconWrapper>\n </ChipIcon>\n );\n };\n\n const renderDropdown = (props: ISelectExtendedFieldDropdownProvideProps) => (\n <SelectExtendedFieldDropdownDefault\n {...props}\n size={size}\n mobileTitle={label}\n onChange={onChange}\n options={options}\n value={value}\n listId={instanceId.current}\n />\n );\n\n return (\n <SelectExtendedField\n className={clsx(styles.chipGroupItem, className)}\n renderTarget={renderTarget}\n {...restProps}\n >\n {renderDropdown}\n </SelectExtendedField>\n );\n },\n);\n\nChipSort.displayName = \"ChipSort\";\n"],"names":["React"],"mappings":";;;;;;;;;;;;AAkBA,MAAM,6BAA6B;AAEnC,MAAM,8BAA8B;AAe7B,MAAM,WAAWA,eAAM;AAAA,EAC1B,CAAC,EAAE,WAAW,cAAc,UAAU,OAAO,UAAU,SAAS,OAAO,MAAM,MAAM,GAAG,UAAA,GAAa,QAAQ;AAEvG,UAAM,aAAa,OAAO,UAAU;AAGpC,UAAM,WAAW,SAAS,QAAQ,CAAC,QAAQ,cAAc,KAAK;AAE9D,UAAM,eAAe,CAAC,EAAE,QAAQ,gBAAwD;AACpF,YAAM,gBAAgB,CAAC,UAAgD;AAEnE,YAAI,CAAC,WAAW,MAAM,MAAM,MAAM,OAAO,KAAK,MAAM,MAAM,MAAM,OAAO,IAAI;AACvE,gBAAM,eAAA;AACN,oBAAU,IAAI;AAAA,QAClB;AAAA,MACJ;AAEA,aACI;AAAA,QAAC;AAAA,QAAA;AAAA,UACG;AAAA,UACA;AAAA,UACA,SAAS,MAAM,UAAU,CAAC,MAAM;AAAA,UAChC,WAAW;AAAA,UACX;AAAA,UACA;AAAA,UACA,MAAK;AAAA,UACL,iBAAe;AAAA,UACf,iBAAe,WAAW;AAAA,UAC1B;AAAA,UAEA,8BAAC,aAAA,EAAY,QAAQ,QAAQ,UAAoB,iBAAe,MAC5D,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,cAAc,WAAW,8BAA8B;AAAA,YAAA;AAAA,UAAA,EAC3D,CACJ;AAAA,QAAA;AAAA,MAAA;AAAA,IAGZ;AAEA,UAAM,iBAAiB,CAAC,UACpB;AAAA,MAAC;AAAA,MAAA;AAAA,QACI,GAAG;AAAA,QACJ;AAAA,QACA,aAAa;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA,QAAQ,WAAW;AAAA,MAAA;AAAA,IAAA;AAI3B,WACI;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,KAAK,OAAO,eAAe,SAAS;AAAA,QAC/C;AAAA,QACC,GAAG;AAAA,QAEH,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGb;AACJ;AAEA,SAAS,cAAc;"}
@@ -1,23 +1,35 @@
1
1
  import { ChipSuggestTarget } from "./ChipSuggestTarget.js";
2
2
  import { jsxs, jsx } from "react/jsx-runtime";
3
- import React__default, { useRef } from "react";
4
- import { c as clsx } from "../../../chunks/vendor-D4wvHis9.js";
3
+ import React__default, { useRef, useCallback } from "react";
4
+ import { c as clsx } from "../../../chunks/vendor-DqjKLGwf.js";
5
5
  import "../../Suggest/SuggestContext.js";
6
6
  import { Suggest } from "../../Suggest/Suggest.js";
7
7
  import { ChipSuggestDropdown } from "./ChipSuggestDropdown.js";
8
- import { s as styles } from "../../../chunks/Chip-CWaqKk62.js";
9
- const ChipSuggestBase = ({ className, type, displayedValue, label, prefix, targetProps, dropdownProps, ...restProps }, ref) => {
8
+ import { setForwardedRef } from "./utils.js";
9
+ import { s as styles } from "../../../chunks/Chip-Bi7plvOY.js";
10
+ const ChipSuggestBase = ({
11
+ className,
12
+ type,
13
+ displayedValue,
14
+ label,
15
+ targetProps,
16
+ dropdownProps,
17
+ // prefix приходит из React.HTMLAttributes как RDFa-атрибут и намеренно не попадает
18
+ // в restProps: ChipSuggest его не поддерживает (ChipSuggestTarget задаёт только postfix),
19
+ // поэтому проп отбрасывается, а не уезжает на корневой div.
20
+ prefix: _prefix,
21
+ ...restProps
22
+ }, ref) => {
10
23
  const { value, size } = restProps;
11
24
  const suggestRef = useRef(null);
12
25
  const targetRef = useRef(null);
13
- const setRef = (instance) => {
14
- suggestRef.current = instance;
15
- if (typeof ref === "function") {
16
- ref(instance);
17
- } else if (ref) {
18
- ref.current = instance;
19
- }
20
- };
26
+ const setRef = useCallback(
27
+ (instance) => {
28
+ suggestRef.current = instance;
29
+ setForwardedRef(ref, instance);
30
+ },
31
+ [ref]
32
+ );
21
33
  return /* @__PURE__ */ jsxs(Suggest, { className: clsx(styles.chipGroupItem, className), ...restProps, ref: setRef, children: [
22
34
  /* @__PURE__ */ jsx(ChipSuggestTarget, { size, ...targetProps, type, ref: targetRef, children: value ? displayedValue ?? value.label : label }),
23
35
  /* @__PURE__ */ jsx(ChipSuggestDropdown, { size, targetRef: suggestRef, ...dropdownProps, children: label })
@@ -1 +1 @@
1
- {"version":3,"file":"ChipSuggest.js","sources":["../../../../src/components/Chip/ChipSuggest/ChipSuggest.tsx"],"sourcesContent":["import React, { useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { ISuggestOption, Suggest } from \"../../Suggest\";\nimport { IChipSuggestProps } from \"./types\";\nimport { ChipSuggestTarget } from \"./ChipSuggestTarget\";\nimport { ChipSuggestDropdown } from \"./ChipSuggestDropdown\";\nimport styles from \"../styles/Chip.module.less\";\n\nconst ChipSuggestBase = <T extends ISuggestOption = ISuggestOption>(\n { className, type, displayedValue, label, prefix, targetProps, dropdownProps, ...restProps }: IChipSuggestProps<T>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) => {\n const { value, size } = restProps;\n const suggestRef = useRef<HTMLDivElement | null>(null);\n const targetRef = useRef<HTMLSpanElement>(null);\n\n const setRef = (instance: HTMLDivElement | null) => {\n suggestRef.current = instance;\n\n if (typeof ref === \"function\") {\n ref(instance);\n } else if (ref) {\n ref.current = instance;\n }\n };\n\n return (\n <Suggest className={clsx(styles.chipGroupItem, className)} {...restProps} ref={setRef}>\n <ChipSuggestTarget size={size} {...targetProps} type={type} ref={targetRef}>\n {value ? (displayedValue ?? value.label) : label}\n </ChipSuggestTarget>\n <ChipSuggestDropdown size={size} targetRef={suggestRef} {...dropdownProps}>\n {label}\n </ChipSuggestDropdown>\n </Suggest>\n );\n};\n\n/**\n * Компонент выбора одного значения из списка с возможностью фильтрации.\n * Выбранное значение отображается компонентом Chip.\n */\nexport const ChipSuggest = React.forwardRef(ChipSuggestBase) as <T extends ISuggestOption = ISuggestOption>(\n props: IChipSuggestProps<T> & React.RefAttributes<HTMLDivElement>,\n) => JSX.Element;\n"],"names":["React"],"mappings":";;;;;;;;AAQA,MAAM,kBAAkB,CACpB,EAAE,WAAW,MAAM,gBAAgB,OAAO,QAAQ,aAAa,eAAe,GAAG,UAAA,GACjF,QACC;AACD,QAAM,EAAE,OAAO,KAAA,IAAS;AACxB,QAAM,aAAa,OAA8B,IAAI;AACrD,QAAM,YAAY,OAAwB,IAAI;AAE9C,QAAM,SAAS,CAAC,aAAoC;AAChD,eAAW,UAAU;AAErB,QAAI,OAAO,QAAQ,YAAY;AAC3B,UAAI,QAAQ;AAAA,IAChB,WAAW,KAAK;AACZ,UAAI,UAAU;AAAA,IAClB;AAAA,EACJ;AAEA,SACI,qBAAC,SAAA,EAAQ,WAAW,KAAK,OAAO,eAAe,SAAS,GAAI,GAAG,WAAW,KAAK,QAC3E,UAAA;AAAA,IAAA,oBAAC,mBAAA,EAAkB,MAAa,GAAG,aAAa,MAAY,KAAK,WAC5D,UAAA,QAAS,kBAAkB,MAAM,QAAS,MAAA,CAC/C;AAAA,wBACC,qBAAA,EAAoB,MAAY,WAAW,YAAa,GAAG,eACvD,UAAA,MAAA,CACL;AAAA,EAAA,GACJ;AAER;AAMO,MAAM,cAAcA,eAAM,WAAW,eAAe;"}
1
+ {"version":3,"file":"ChipSuggest.js","sources":["../../../../src/components/Chip/ChipSuggest/ChipSuggest.tsx"],"sourcesContent":["import React, { useCallback, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { ISuggestOption, Suggest } from \"../../Suggest\";\nimport { IChipSuggestProps } from \"./types\";\nimport { ChipSuggestTarget } from \"./ChipSuggestTarget\";\nimport { ChipSuggestDropdown } from \"./ChipSuggestDropdown\";\nimport { setForwardedRef } from \"./utils\";\nimport styles from \"../styles/Chip.module.less\";\n\nconst ChipSuggestBase = <T extends ISuggestOption = ISuggestOption>(\n {\n className,\n type,\n displayedValue,\n label,\n targetProps,\n dropdownProps,\n // prefix приходит из React.HTMLAttributes как RDFa-атрибут и намеренно не попадает\n // в restProps: ChipSuggest его не поддерживает (ChipSuggestTarget задаёт только postfix),\n // поэтому проп отбрасывается, а не уезжает на корневой div.\n prefix: _prefix,\n ...restProps\n }: IChipSuggestProps<T>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) => {\n // value и size остаются в restProps: их читает Suggest и раздаёт через контекст.\n const { value, size } = restProps;\n const suggestRef = useRef<HTMLDivElement | null>(null);\n const targetRef = useRef<HTMLSpanElement>(null);\n\n const setRef = useCallback(\n (instance: HTMLDivElement | null) => {\n suggestRef.current = instance;\n setForwardedRef(ref, instance);\n },\n [ref],\n );\n\n return (\n <Suggest className={clsx(styles.chipGroupItem, className)} {...restProps} ref={setRef}>\n <ChipSuggestTarget size={size} {...targetProps} type={type} ref={targetRef}>\n {value ? (displayedValue ?? value.label) : label}\n </ChipSuggestTarget>\n <ChipSuggestDropdown size={size} targetRef={suggestRef} {...dropdownProps}>\n {label}\n </ChipSuggestDropdown>\n </Suggest>\n );\n};\n\n/**\n * Компонент выбора одного значения из списка с возможностью фильтрации.\n * Выбранное значение отображается компонентом Chip.\n */\nexport const ChipSuggest = React.forwardRef(ChipSuggestBase) as <T extends ISuggestOption = ISuggestOption>(\n props: IChipSuggestProps<T> & React.RefAttributes<HTMLDivElement>,\n) => JSX.Element;\n"],"names":["React"],"mappings":";;;;;;;;;AASA,MAAM,kBAAkB,CACpB;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA,EAIA,QAAQ;AAAA,EACR,GAAG;AACP,GACA,QACC;AAED,QAAM,EAAE,OAAO,KAAA,IAAS;AACxB,QAAM,aAAa,OAA8B,IAAI;AACrD,QAAM,YAAY,OAAwB,IAAI;AAE9C,QAAM,SAAS;AAAA,IACX,CAAC,aAAoC;AACjC,iBAAW,UAAU;AACrB,sBAAgB,KAAK,QAAQ;AAAA,IACjC;AAAA,IACA,CAAC,GAAG;AAAA,EAAA;AAGR,SACI,qBAAC,SAAA,EAAQ,WAAW,KAAK,OAAO,eAAe,SAAS,GAAI,GAAG,WAAW,KAAK,QAC3E,UAAA;AAAA,IAAA,oBAAC,mBAAA,EAAkB,MAAa,GAAG,aAAa,MAAY,KAAK,WAC5D,UAAA,QAAS,kBAAkB,MAAM,QAAS,MAAA,CAC/C;AAAA,wBACC,qBAAA,EAAoB,MAAY,WAAW,YAAa,GAAG,eACvD,UAAA,MAAA,CACL;AAAA,EAAA,GACJ;AAER;AAMO,MAAM,cAAcA,eAAM,WAAW,eAAe;"}
@@ -1,12 +1,12 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import React__default, { useCallback } from "react";
3
- import { j as focusTrapReactExports } from "../../../chunks/vendor-D4wvHis9.js";
3
+ import { j as focusTrapReactExports } from "../../../chunks/vendor-DqjKLGwf.js";
4
4
  import { EVENT_KEY_CODES } from "../../../utils/keyboard.js";
5
5
  import { useSuggestContext } from "../../Suggest/SuggestContext.js";
6
6
  import "../../Dropdown/DropdownListContext.js";
7
7
  import "../../Dropdown/desktop/DropdownDesktop.js";
8
8
  import { DropdownList } from "../../Dropdown/desktop/DropdownList.js";
9
- import { D as DropdownListItem } from "../../../chunks/DropdownListItem-kMroiHoh.js";
9
+ import { D as DropdownListItem } from "../../../chunks/DropdownListItem-BaP5AaMK.js";
10
10
  import "../../Dropdown/mobile/DropdownMobile.js";
11
11
  import "../../Dropdown/mobile/DropdownMobileBody.js";
12
12
  import "../../Dropdown/mobile/DropdownMobileClose.js";
@@ -21,6 +21,7 @@ import "../../Loader/LoaderMiddle/LoaderMiddle.js";
21
21
  import { Dropdown } from "../../Dropdown/Dropdown.js";
22
22
  import { ChipSuggestDesktopDropdownField } from "./desktop/ChipSuggestDesktopDropdownField.js";
23
23
  import { SuggestMobileDropdownContent } from "../../Suggest/SuggestMobileDropdownContent.js";
24
+ import { setForwardedRef } from "./utils.js";
24
25
  const KEY_CODES_SELECTABLE = [EVENT_KEY_CODES.ENTER];
25
26
  const ChipSuggestDropdownBase = ({ children, size, targetRef, focusTrapProps, ...restProps }, ref) => {
26
27
  const {
@@ -34,14 +35,13 @@ const ChipSuggestDropdownBase = ({ children, size, targetRef, focusTrapProps, ..
34
35
  onSelect,
35
36
  setDropdownOpen
36
37
  } = useSuggestContext();
37
- const setRef = (instance) => {
38
- dropdownRef.current = instance;
39
- if (typeof ref === "function") {
40
- ref(instance);
41
- } else if (ref) {
42
- ref.current = instance;
43
- }
44
- };
38
+ const setRef = useCallback(
39
+ (instance) => {
40
+ dropdownRef.current = instance;
41
+ setForwardedRef(ref, instance);
42
+ },
43
+ [dropdownRef, ref]
44
+ );
45
45
  const handleDropdownOpen = useCallback(
46
46
  (open) => {
47
47
  if (open) {
@@ -52,7 +52,7 @@ const ChipSuggestDropdownBase = ({ children, size, targetRef, focusTrapProps, ..
52
52
  },
53
53
  [setDropdownOpen, closeDropdown]
54
54
  );
55
- const renderDesktopDropdownContent = () => /* @__PURE__ */ jsx(
55
+ const desktopDropdownContent = /* @__PURE__ */ jsx(
56
56
  focusTrapReactExports.FocusTrap,
57
57
  {
58
58
  ...focusTrapProps,
@@ -100,7 +100,7 @@ const ChipSuggestDropdownBase = ({ children, size, targetRef, focusTrapProps, ..
100
100
  },
101
101
  ...restProps,
102
102
  ref: setRef,
103
- children: renderDesktopDropdownContent()
103
+ children: desktopDropdownContent
104
104
  }
105
105
  );
106
106
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ChipSuggestDropdown.js","sources":["../../../../src/components/Chip/ChipSuggest/ChipSuggestDropdown.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { FocusTrap } from \"focus-trap-react\";\nimport { EVENT_KEY_CODES } from \"../../../utils/keyboard\";\nimport { ISuggestOption } from \"../../Suggest/types\";\nimport { IChipSuggestDropdownProps } from \"./types\";\nimport { useSuggestContext } from \"../../Suggest/SuggestContext\";\nimport { Dropdown, DropdownList, DropdownListItem } from \"../../Dropdown\";\nimport { ChipSuggestDesktopDropdownField } from \"./desktop/ChipSuggestDesktopDropdownField\";\nimport { SuggestMobileDropdownContent } from \"../../Suggest/SuggestMobileDropdownContent\";\n\nconst KEY_CODES_SELECTABLE = [EVENT_KEY_CODES.ENTER];\n\nconst ChipSuggestDropdownBase = <T extends ISuggestOption>(\n { children, size, targetRef, focusTrapProps, ...restProps }: IChipSuggestDropdownProps<T>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) => {\n const {\n value,\n options,\n dropdownListId,\n dropdownOpen,\n dropdownListLoading,\n dropdownRef,\n closeDropdown,\n onSelect,\n setDropdownOpen,\n } = useSuggestContext<T>();\n\n const setRef = (instance: HTMLDivElement | null) => {\n dropdownRef.current = instance;\n\n if (typeof ref === \"function\") {\n ref(instance);\n } else if (ref) {\n ref.current = instance;\n }\n };\n\n const handleDropdownOpen = useCallback(\n (open: boolean) => {\n if (open) {\n setDropdownOpen(true);\n } else {\n closeDropdown();\n }\n },\n [setDropdownOpen, closeDropdown],\n );\n\n const renderDesktopDropdownContent = () => (\n <FocusTrap\n {...focusTrapProps}\n focusTrapOptions={{\n clickOutsideDeactivates: true,\n returnFocusOnDeactivate: true,\n ...focusTrapProps?.focusTrapOptions,\n }}\n >\n <div role=\"presentation\">\n <ChipSuggestDesktopDropdownField size={size}>{children}</ChipSuggestDesktopDropdownField>\n <DropdownList\n id={dropdownListId}\n size={size}\n dropdownOpened={dropdownOpen}\n loading={dropdownListLoading}\n style={options.length === 0 ? { display: \"none\" } : undefined}\n >\n {options.map((option) => (\n <DropdownListItem\n key={option.id}\n id={option.id}\n keyCodesForSelection={KEY_CODES_SELECTABLE}\n selected={option.id === value?.id}\n showNotificationIcon={option.showNotificationIcon}\n onSelect={() => onSelect(option)}\n >\n {option.content || option.label}\n </DropdownListItem>\n ))}\n </DropdownList>\n </div>\n </FocusTrap>\n );\n\n return (\n <Dropdown\n size={size}\n targetRef={targetRef}\n opened={dropdownOpen}\n setOpened={handleDropdownOpen}\n mobileViewProps={{\n children: <SuggestMobileDropdownContent />,\n }}\n {...restProps}\n ref={setRef}\n >\n {renderDesktopDropdownContent()}\n </Dropdown>\n );\n};\n\nexport const ChipSuggestDropdown = React.forwardRef(ChipSuggestDropdownBase) as <T extends ISuggestOption>(\n props: IChipSuggestDropdownProps<T> & React.RefAttributes<HTMLDivElement>,\n) => JSX.Element;\n"],"names":["FocusTrap","React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAM,uBAAuB,CAAC,gBAAgB,KAAK;AAEnD,MAAM,0BAA0B,CAC5B,EAAE,UAAU,MAAM,WAAW,gBAAgB,GAAG,UAAA,GAChD,QACC;AACD,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACA,kBAAA;AAEJ,QAAM,SAAS,CAAC,aAAoC;AAChD,gBAAY,UAAU;AAEtB,QAAI,OAAO,QAAQ,YAAY;AAC3B,UAAI,QAAQ;AAAA,IAChB,WAAW,KAAK;AACZ,UAAI,UAAU;AAAA,IAClB;AAAA,EACJ;AAEA,QAAM,qBAAqB;AAAA,IACvB,CAAC,SAAkB;AACf,UAAI,MAAM;AACN,wBAAgB,IAAI;AAAA,MACxB,OAAO;AACH,sBAAA;AAAA,MACJ;AAAA,IACJ;AAAA,IACA,CAAC,iBAAiB,aAAa;AAAA,EAAA;AAGnC,QAAM,+BAA+B,MACjC;AAAA,IAACA,sBAAAA;AAAAA,IAAA;AAAA,MACI,GAAG;AAAA,MACJ,kBAAkB;AAAA,QACd,yBAAyB;AAAA,QACzB,yBAAyB;AAAA,QACzB,GAAG,iDAAgB;AAAA,MAAA;AAAA,MAGvB,UAAA,qBAAC,OAAA,EAAI,MAAK,gBACN,UAAA;AAAA,QAAA,oBAAC,iCAAA,EAAgC,MAAa,SAAA,CAAS;AAAA,QACvD;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,IAAI;AAAA,YACJ;AAAA,YACA,gBAAgB;AAAA,YAChB,SAAS;AAAA,YACT,OAAO,QAAQ,WAAW,IAAI,EAAE,SAAS,WAAW;AAAA,YAEnD,UAAA,QAAQ,IAAI,CAAC,WACV;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEG,IAAI,OAAO;AAAA,gBACX,sBAAsB;AAAA,gBACtB,UAAU,OAAO,QAAO,+BAAO;AAAA,gBAC/B,sBAAsB,OAAO;AAAA,gBAC7B,UAAU,MAAM,SAAS,MAAM;AAAA,gBAE9B,UAAA,OAAO,WAAW,OAAO;AAAA,cAAA;AAAA,cAPrB,OAAO;AAAA,YAAA,CASnB;AAAA,UAAA;AAAA,QAAA;AAAA,MACL,EAAA,CACJ;AAAA,IAAA;AAAA,EAAA;AAIR,SACI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,iBAAiB;AAAA,QACb,8BAAW,8BAAA,CAAA,CAA6B;AAAA,MAAA;AAAA,MAE3C,GAAG;AAAA,MACJ,KAAK;AAAA,MAEJ,UAAA,6BAAA;AAAA,IAA6B;AAAA,EAAA;AAG1C;AAEO,MAAM,sBAAsBC,eAAM,WAAW,uBAAuB;"}
1
+ {"version":3,"file":"ChipSuggestDropdown.js","sources":["../../../../src/components/Chip/ChipSuggest/ChipSuggestDropdown.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { FocusTrap } from \"focus-trap-react\";\nimport { EVENT_KEY_CODES } from \"../../../utils/keyboard\";\nimport { ISuggestOption } from \"../../Suggest/types\";\nimport { IChipSuggestDropdownProps } from \"./types\";\nimport { useSuggestContext } from \"../../Suggest/SuggestContext\";\nimport { Dropdown, DropdownList, DropdownListItem } from \"../../Dropdown\";\nimport { ChipSuggestDesktopDropdownField } from \"./desktop/ChipSuggestDesktopDropdownField\";\nimport { SuggestMobileDropdownContent } from \"../../Suggest/SuggestMobileDropdownContent\";\nimport { setForwardedRef } from \"./utils\";\n\nconst KEY_CODES_SELECTABLE = [EVENT_KEY_CODES.ENTER];\n\nconst ChipSuggestDropdownBase = <T extends ISuggestOption>(\n { children, size, targetRef, focusTrapProps, ...restProps }: IChipSuggestDropdownProps<T>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) => {\n const {\n value,\n options,\n dropdownListId,\n dropdownOpen,\n dropdownListLoading,\n dropdownRef,\n closeDropdown,\n onSelect,\n setDropdownOpen,\n } = useSuggestContext<T>();\n\n const setRef = useCallback(\n (instance: HTMLDivElement | null) => {\n // Suggest отличает клик внутри списка от клика вне компонента по dropdownRef из контекста.\n dropdownRef.current = instance;\n setForwardedRef(ref, instance);\n },\n [dropdownRef, ref],\n );\n\n const handleDropdownOpen = useCallback(\n (open: boolean) => {\n if (open) {\n setDropdownOpen(true);\n } else {\n closeDropdown();\n }\n },\n [setDropdownOpen, closeDropdown],\n );\n\n const desktopDropdownContent = (\n <FocusTrap\n {...focusTrapProps}\n focusTrapOptions={{\n clickOutsideDeactivates: true,\n returnFocusOnDeactivate: true,\n ...focusTrapProps?.focusTrapOptions,\n }}\n >\n <div role=\"presentation\">\n <ChipSuggestDesktopDropdownField size={size}>{children}</ChipSuggestDesktopDropdownField>\n <DropdownList\n id={dropdownListId}\n size={size}\n dropdownOpened={dropdownOpen}\n loading={dropdownListLoading}\n style={options.length === 0 ? { display: \"none\" } : undefined}\n >\n {options.map((option) => (\n <DropdownListItem\n key={option.id}\n id={option.id}\n keyCodesForSelection={KEY_CODES_SELECTABLE}\n selected={option.id === value?.id}\n showNotificationIcon={option.showNotificationIcon}\n onSelect={() => onSelect(option)}\n >\n {option.content || option.label}\n </DropdownListItem>\n ))}\n </DropdownList>\n </div>\n </FocusTrap>\n );\n\n return (\n <Dropdown\n size={size}\n targetRef={targetRef}\n opened={dropdownOpen}\n setOpened={handleDropdownOpen}\n mobileViewProps={{\n children: <SuggestMobileDropdownContent />,\n }}\n {...restProps}\n ref={setRef}\n >\n {desktopDropdownContent}\n </Dropdown>\n );\n};\n\n/**\n * Выпадающий список ChipSuggest: поле фильтрации и список опций из SuggestContext.\n * На десктопе содержимое обёрнуто в FocusTrap, на мобильных — заменяется полноэкранным наполнением Suggest.\n */\nexport const ChipSuggestDropdown = React.forwardRef(ChipSuggestDropdownBase) as <T extends ISuggestOption>(\n props: IChipSuggestDropdownProps<T> & React.RefAttributes<HTMLDivElement>,\n) => JSX.Element;\n"],"names":["FocusTrap","React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,uBAAuB,CAAC,gBAAgB,KAAK;AAEnD,MAAM,0BAA0B,CAC5B,EAAE,UAAU,MAAM,WAAW,gBAAgB,GAAG,UAAA,GAChD,QACC;AACD,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACA,kBAAA;AAEJ,QAAM,SAAS;AAAA,IACX,CAAC,aAAoC;AAEjC,kBAAY,UAAU;AACtB,sBAAgB,KAAK,QAAQ;AAAA,IACjC;AAAA,IACA,CAAC,aAAa,GAAG;AAAA,EAAA;AAGrB,QAAM,qBAAqB;AAAA,IACvB,CAAC,SAAkB;AACf,UAAI,MAAM;AACN,wBAAgB,IAAI;AAAA,MACxB,OAAO;AACH,sBAAA;AAAA,MACJ;AAAA,IACJ;AAAA,IACA,CAAC,iBAAiB,aAAa;AAAA,EAAA;AAGnC,QAAM,yBACF;AAAA,IAACA,sBAAAA;AAAAA,IAAA;AAAA,MACI,GAAG;AAAA,MACJ,kBAAkB;AAAA,QACd,yBAAyB;AAAA,QACzB,yBAAyB;AAAA,QACzB,GAAG,iDAAgB;AAAA,MAAA;AAAA,MAGvB,UAAA,qBAAC,OAAA,EAAI,MAAK,gBACN,UAAA;AAAA,QAAA,oBAAC,iCAAA,EAAgC,MAAa,SAAA,CAAS;AAAA,QACvD;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,IAAI;AAAA,YACJ;AAAA,YACA,gBAAgB;AAAA,YAChB,SAAS;AAAA,YACT,OAAO,QAAQ,WAAW,IAAI,EAAE,SAAS,WAAW;AAAA,YAEnD,UAAA,QAAQ,IAAI,CAAC,WACV;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEG,IAAI,OAAO;AAAA,gBACX,sBAAsB;AAAA,gBACtB,UAAU,OAAO,QAAO,+BAAO;AAAA,gBAC/B,sBAAsB,OAAO;AAAA,gBAC7B,UAAU,MAAM,SAAS,MAAM;AAAA,gBAE9B,UAAA,OAAO,WAAW,OAAO;AAAA,cAAA;AAAA,cAPrB,OAAO;AAAA,YAAA,CASnB;AAAA,UAAA;AAAA,QAAA;AAAA,MACL,EAAA,CACJ;AAAA,IAAA;AAAA,EAAA;AAIR,SACI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,iBAAiB;AAAA,QACb,8BAAW,8BAAA,CAAA,CAA6B;AAAA,MAAA;AAAA,MAE3C,GAAG;AAAA,MACJ,KAAK;AAAA,MAEJ,UAAA;AAAA,IAAA;AAAA,EAAA;AAGb;AAMO,MAAM,sBAAsBC,eAAM,WAAW,uBAAuB;"}