@vkontakte/vkui 7.2.0 → 7.3.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 (1679) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +6 -0
  2. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  3. package/dist/components/Accordion/Accordion.js +5 -3
  4. package/dist/components/Accordion/Accordion.js.map +1 -1
  5. package/dist/components/Accordion/AccordionContent.d.ts +1 -1
  6. package/dist/components/Accordion/AccordionContent.d.ts.map +1 -1
  7. package/dist/components/Accordion/AccordionContent.js +0 -1
  8. package/dist/components/Accordion/AccordionContent.js.map +1 -1
  9. package/dist/components/Accordion/AccordionContext.d.ts +13 -0
  10. package/dist/components/Accordion/AccordionContext.d.ts.map +1 -1
  11. package/dist/components/Accordion/AccordionContext.js.map +1 -1
  12. package/dist/components/Accordion/AccordionSummary.d.ts +1 -1
  13. package/dist/components/Accordion/AccordionSummary.d.ts.map +1 -1
  14. package/dist/components/Accordion/AccordionSummary.js +0 -1
  15. package/dist/components/Accordion/AccordionSummary.js.map +1 -1
  16. package/dist/components/ActionSheet/ActionSheet.d.ts +29 -2
  17. package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  18. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  19. package/dist/components/ActionSheet/ActionSheetContext.d.ts +23 -0
  20. package/dist/components/ActionSheet/ActionSheetContext.d.ts.map +1 -1
  21. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  22. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts +1 -1
  23. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts.map +1 -1
  24. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +7 -3
  25. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  26. package/dist/components/ActionSheet/types.d.ts +8 -5
  27. package/dist/components/ActionSheet/types.d.ts.map +1 -1
  28. package/dist/components/ActionSheet/types.js.map +1 -1
  29. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +40 -8
  30. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
  31. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  32. package/dist/components/ActionSheetItem/helpers.d.ts +2 -2
  33. package/dist/components/ActionSheetItem/helpers.js +2 -2
  34. package/dist/components/ActionSheetItem/helpers.js.map +1 -1
  35. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts +6 -0
  36. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts.map +1 -1
  37. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  38. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +12 -4
  39. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts.map +1 -1
  40. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  41. package/dist/components/Alert/Alert.d.ts +40 -12
  42. package/dist/components/Alert/Alert.d.ts.map +1 -1
  43. package/dist/components/Alert/Alert.js.map +1 -1
  44. package/dist/components/Alert/AlertAction.d.ts +6 -0
  45. package/dist/components/Alert/AlertAction.d.ts.map +1 -1
  46. package/dist/components/Alert/AlertAction.js.map +1 -1
  47. package/dist/components/Alert/AlertActions.d.ts +3 -0
  48. package/dist/components/Alert/AlertActions.d.ts.map +1 -1
  49. package/dist/components/Alert/AlertActions.js.map +1 -1
  50. package/dist/components/Alert/AlertBase.d.ts +8 -0
  51. package/dist/components/Alert/AlertBase.d.ts.map +1 -1
  52. package/dist/components/Alert/AlertBase.js.map +1 -1
  53. package/dist/components/Alert/AlertTypography.d.ts.map +1 -1
  54. package/dist/components/Alert/AlertTypography.js +1 -1
  55. package/dist/components/Alert/AlertTypography.js.map +1 -1
  56. package/dist/components/AppRoot/AppRoot.d.ts +15 -4
  57. package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
  58. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  59. package/dist/components/AppRoot/AppRootContext.d.ts +1 -1
  60. package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
  61. package/dist/components/AppRoot/AppRootContext.js +2 -2
  62. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  63. package/dist/components/AppRoot/AppRootPortal.d.ts +11 -4
  64. package/dist/components/AppRoot/AppRootPortal.d.ts.map +1 -1
  65. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  66. package/dist/components/AppRoot/ScrollContext.d.ts +4 -4
  67. package/dist/components/AppRoot/ScrollContext.d.ts.map +1 -1
  68. package/dist/components/AppRoot/ScrollContext.js +4 -4
  69. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  70. package/dist/components/AppRoot/types.d.ts.map +1 -1
  71. package/dist/components/AppRoot/types.js +1 -1
  72. package/dist/components/AppRoot/types.js.map +1 -1
  73. package/dist/components/AspectRatio/AspectRatio.d.ts +4 -1
  74. package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -1
  75. package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
  76. package/dist/components/Avatar/Avatar.d.ts +1 -1
  77. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  78. package/dist/components/Avatar/Avatar.js +6 -4
  79. package/dist/components/Avatar/Avatar.js.map +1 -1
  80. package/dist/components/Avatar/AvatarBadge/AvatarBadge.d.ts +1 -2
  81. package/dist/components/Avatar/AvatarBadge/AvatarBadge.d.ts.map +1 -1
  82. package/dist/components/Avatar/AvatarBadge/AvatarBadge.js +0 -1
  83. package/dist/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  84. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts +1 -2
  85. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts.map +1 -1
  86. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +0 -1
  87. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  88. package/dist/components/Avatar/AvatarBadge/icons.d.ts.map +1 -1
  89. package/dist/components/Avatar/AvatarBadge/icons.js +1 -1
  90. package/dist/components/Avatar/AvatarBadge/icons.js.map +1 -1
  91. package/dist/components/Badge/Badge.d.ts +3 -0
  92. package/dist/components/Badge/Badge.d.ts.map +1 -1
  93. package/dist/components/Badge/Badge.js.map +1 -1
  94. package/dist/components/Banner/Banner.d.ts +8 -5
  95. package/dist/components/Banner/Banner.d.ts.map +1 -1
  96. package/dist/components/Banner/Banner.js.map +1 -1
  97. package/dist/components/Button/Button.d.ts +27 -0
  98. package/dist/components/Button/Button.d.ts.map +1 -1
  99. package/dist/components/Button/Button.js.map +1 -1
  100. package/dist/components/ButtonGroup/ButtonGroup.d.ts +1 -4
  101. package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  102. package/dist/components/ButtonGroup/ButtonGroup.js +0 -1
  103. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  104. package/dist/components/Calendar/Calendar.d.ts +39 -7
  105. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  106. package/dist/components/Calendar/Calendar.js +78 -18
  107. package/dist/components/Calendar/Calendar.js.map +1 -1
  108. package/dist/components/CalendarDay/CalendarDay.d.ts +61 -3
  109. package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  110. package/dist/components/CalendarDay/CalendarDay.js +36 -12
  111. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  112. package/dist/components/CalendarDays/CalendarDays.d.ts +68 -3
  113. package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  114. package/dist/components/CalendarDays/CalendarDays.js +76 -46
  115. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  116. package/dist/components/CalendarHeader/CalendarHeader.d.ts +45 -6
  117. package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  118. package/dist/components/CalendarHeader/CalendarHeader.js +9 -2
  119. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  120. package/dist/components/CalendarRange/CalendarRange.d.ts +37 -5
  121. package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  122. package/dist/components/CalendarRange/CalendarRange.js +21 -8
  123. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  124. package/dist/components/CalendarTime/CalendarTime.d.ts +31 -4
  125. package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  126. package/dist/components/CalendarTime/CalendarTime.js +25 -15
  127. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  128. package/dist/components/Card/Card.d.ts +3 -0
  129. package/dist/components/Card/Card.d.ts.map +1 -1
  130. package/dist/components/Card/Card.js.map +1 -1
  131. package/dist/components/CardGrid/CardGrid.d.ts +4 -1
  132. package/dist/components/CardGrid/CardGrid.d.ts.map +1 -1
  133. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  134. package/dist/components/CardScroll/CardScroll.d.ts +2 -2
  135. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  136. package/dist/components/CarouselBase/Bullets.d.ts +2 -3
  137. package/dist/components/CarouselBase/Bullets.d.ts.map +1 -1
  138. package/dist/components/CarouselBase/Bullets.js +1 -2
  139. package/dist/components/CarouselBase/Bullets.js.map +1 -1
  140. package/dist/components/CarouselBase/CarouselBase.js +6 -6
  141. package/dist/components/CarouselBase/CarouselBase.js.map +1 -1
  142. package/dist/components/CarouselBase/CarouselViewPort.d.ts +1 -1
  143. package/dist/components/CarouselBase/CarouselViewPort.d.ts.map +1 -1
  144. package/dist/components/CarouselBase/CarouselViewPort.js +1 -1
  145. package/dist/components/CarouselBase/CarouselViewPort.js.map +1 -1
  146. package/dist/components/CarouselBase/ScrollArrows.d.ts +3 -3
  147. package/dist/components/CarouselBase/ScrollArrows.d.ts.map +1 -1
  148. package/dist/components/CarouselBase/ScrollArrows.js +1 -1
  149. package/dist/components/CarouselBase/ScrollArrows.js.map +1 -1
  150. package/dist/components/CarouselBase/helpers.d.ts +2 -2
  151. package/dist/components/CarouselBase/helpers.d.ts.map +1 -1
  152. package/dist/components/CarouselBase/helpers.js +3 -3
  153. package/dist/components/CarouselBase/helpers.js.map +1 -1
  154. package/dist/components/CarouselBase/types.d.ts +21 -20
  155. package/dist/components/CarouselBase/types.d.ts.map +1 -1
  156. package/dist/components/CarouselBase/types.js +1 -1
  157. package/dist/components/CarouselBase/types.js.map +1 -1
  158. package/dist/components/Cell/Cell.d.ts +13 -7
  159. package/dist/components/Cell/Cell.d.ts.map +1 -1
  160. package/dist/components/Cell/Cell.js +1 -1
  161. package/dist/components/Cell/Cell.js.map +1 -1
  162. package/dist/components/Cell/CellDragger/CellDragger.d.ts.map +1 -1
  163. package/dist/components/Cell/CellDragger/CellDragger.js +1 -1
  164. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  165. package/dist/components/CellButton/CellButton.d.ts +3 -0
  166. package/dist/components/CellButton/CellButton.d.ts.map +1 -1
  167. package/dist/components/CellButton/CellButton.js.map +1 -1
  168. package/dist/components/CellButtonGroup/CellButtonGroup.d.ts +284 -288
  169. package/dist/components/CellButtonGroup/CellButtonGroup.d.ts.map +1 -1
  170. package/dist/components/CellButtonGroup/CellButtonGroup.js +4 -2
  171. package/dist/components/CellButtonGroup/CellButtonGroup.js.map +1 -1
  172. package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.d.ts +1 -4
  173. package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.d.ts.map +1 -1
  174. package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js +0 -1
  175. package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js.map +1 -1
  176. package/dist/components/Checkbox/Checkbox.d.ts +6 -0
  177. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  178. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  179. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts +21 -0
  180. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  181. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  182. package/dist/components/ChipsInput/ChipsInput.d.ts +2 -2
  183. package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  184. package/dist/components/ChipsInput/ChipsInput.js +5 -3
  185. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  186. package/dist/components/ChipsInput/useChipsInput.d.ts +2 -2
  187. package/dist/components/ChipsInput/useChipsInput.d.ts.map +1 -1
  188. package/dist/components/ChipsInput/useChipsInput.js +40 -12
  189. package/dist/components/ChipsInput/useChipsInput.js.map +1 -1
  190. package/dist/components/ChipsInputBase/ChipsInputBase.d.ts.map +1 -1
  191. package/dist/components/ChipsInputBase/ChipsInputBase.js +1 -0
  192. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  193. package/dist/components/ChipsInputBase/helpers.d.ts +1 -1
  194. package/dist/components/ChipsInputBase/helpers.d.ts.map +1 -1
  195. package/dist/components/ChipsInputBase/helpers.js +4 -0
  196. package/dist/components/ChipsInputBase/helpers.js.map +1 -1
  197. package/dist/components/ChipsInputBase/types.d.ts +87 -5
  198. package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
  199. package/dist/components/ChipsInputBase/types.js.map +1 -1
  200. package/dist/components/ChipsSelect/ChipsSelect.d.ts +16 -10
  201. package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  202. package/dist/components/ChipsSelect/ChipsSelect.js +11 -4
  203. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  204. package/dist/components/ChipsSelect/types.d.ts.map +1 -1
  205. package/dist/components/ChipsSelect/types.js +1 -1
  206. package/dist/components/ChipsSelect/types.js.map +1 -1
  207. package/dist/components/ChipsSelect/useChipsSelect.d.ts +14 -5
  208. package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  209. package/dist/components/ChipsSelect/useChipsSelect.js +5 -3
  210. package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
  211. package/dist/components/Clickable/Clickable.d.ts +2 -2
  212. package/dist/components/Clickable/Clickable.d.ts.map +1 -1
  213. package/dist/components/Clickable/Clickable.js +3 -3
  214. package/dist/components/Clickable/Clickable.js.map +1 -1
  215. package/dist/components/Clickable/RealClickable.d.ts +1 -1
  216. package/dist/components/Clickable/RealClickable.js +1 -1
  217. package/dist/components/Clickable/RealClickable.js.map +1 -1
  218. package/dist/components/Clickable/useState.d.ts +9 -9
  219. package/dist/components/Clickable/useState.d.ts.map +1 -1
  220. package/dist/components/Clickable/useState.js +5 -5
  221. package/dist/components/Clickable/useState.js.map +1 -1
  222. package/dist/components/Clickable/useStateWithDelay.d.ts +1 -1
  223. package/dist/components/Clickable/useStateWithDelay.js +1 -1
  224. package/dist/components/Clickable/useStateWithDelay.js.map +1 -1
  225. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.d.ts +6 -0
  226. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.d.ts.map +1 -1
  227. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js +0 -2
  228. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
  229. package/dist/components/ConfigProvider/ConfigProvider.d.ts +3 -0
  230. package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
  231. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  232. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +7 -7
  233. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  234. package/dist/components/ConfigProvider/ConfigProviderOverride.d.ts +4 -1
  235. package/dist/components/ConfigProvider/ConfigProviderOverride.d.ts.map +1 -1
  236. package/dist/components/ConfigProvider/ConfigProviderOverride.js +1 -1
  237. package/dist/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  238. package/dist/components/ContentBadge/ContentBadge.d.ts +2 -2
  239. package/dist/components/ContentBadge/ContentBadge.d.ts.map +1 -1
  240. package/dist/components/ContentBadge/ContentBadge.js +4 -2
  241. package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
  242. package/dist/components/ContentBadge/ContentBadgeContext.d.ts.map +1 -1
  243. package/dist/components/ContentBadge/ContentBadgeContext.js +1 -1
  244. package/dist/components/ContentBadge/ContentBadgeContext.js.map +1 -1
  245. package/dist/components/ContentBadge/ContentBadgeSlotIcon.d.ts +1 -2
  246. package/dist/components/ContentBadge/ContentBadgeSlotIcon.d.ts.map +1 -1
  247. package/dist/components/ContentBadge/ContentBadgeSlotIcon.js +0 -1
  248. package/dist/components/ContentBadge/ContentBadgeSlotIcon.js.map +1 -1
  249. package/dist/components/ContentCard/ContentCard.d.ts +10 -7
  250. package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
  251. package/dist/components/ContentCard/ContentCard.js +4 -3
  252. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  253. package/dist/components/Counter/Counter.d.ts +6 -3
  254. package/dist/components/Counter/Counter.d.ts.map +1 -1
  255. package/dist/components/Counter/Counter.js.map +1 -1
  256. package/dist/components/CustomScrollView/CustomScrollView.d.ts +14 -5
  257. package/dist/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
  258. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  259. package/dist/components/CustomSelect/CustomSelect.d.ts +45 -12
  260. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  261. package/dist/components/CustomSelect/CustomSelect.js +12 -4
  262. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  263. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts +9 -0
  264. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts.map +1 -1
  265. package/dist/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  266. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
  267. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +1 -1
  268. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  269. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
  270. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
  271. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +2 -1
  272. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  273. package/dist/components/DateInput/DateInput.d.ts +62 -10
  274. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  275. package/dist/components/DateInput/DateInput.js +154 -63
  276. package/dist/components/DateInput/DateInput.js.map +1 -1
  277. package/dist/components/DateInput/hooks.d.ts +7 -6
  278. package/dist/components/DateInput/hooks.d.ts.map +1 -1
  279. package/dist/components/DateInput/hooks.js +15 -8
  280. package/dist/components/DateInput/hooks.js.map +1 -1
  281. package/dist/components/DateRangeInput/DateRangeInput.d.ts +51 -7
  282. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  283. package/dist/components/DateRangeInput/DateRangeInput.js +13 -3
  284. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  285. package/dist/components/DirectionProvider/DirectionProvider.d.ts +7 -1
  286. package/dist/components/DirectionProvider/DirectionProvider.d.ts.map +1 -1
  287. package/dist/components/DirectionProvider/DirectionProvider.js +1 -1
  288. package/dist/components/DirectionProvider/DirectionProvider.js.map +1 -1
  289. package/dist/components/DropZone/DropZone.d.ts +6 -0
  290. package/dist/components/DropZone/DropZone.d.ts.map +1 -1
  291. package/dist/components/DropZone/DropZone.js +4 -2
  292. package/dist/components/DropZone/DropZone.js.map +1 -1
  293. package/dist/components/DropZone/components/DropZoneGrid.d.ts +4 -1
  294. package/dist/components/DropZone/components/DropZoneGrid.d.ts.map +1 -1
  295. package/dist/components/DropZone/components/DropZoneGrid.js +0 -1
  296. package/dist/components/DropZone/components/DropZoneGrid.js.map +1 -1
  297. package/dist/components/DropdownIcon/DropdownIcon.d.ts.map +1 -1
  298. package/dist/components/DropdownIcon/DropdownIcon.js +1 -1
  299. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  300. package/dist/components/Epic/Epic.d.ts +10 -0
  301. package/dist/components/Epic/Epic.d.ts.map +1 -1
  302. package/dist/components/Epic/Epic.js.map +1 -1
  303. package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
  304. package/dist/components/Epic/ScrollSaver.js +1 -1
  305. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  306. package/dist/components/FixedLayout/FixedLayout.d.ts +3 -6
  307. package/dist/components/FixedLayout/FixedLayout.d.ts.map +1 -1
  308. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  309. package/dist/components/Flex/FlexItem/FlexItem.d.ts +3 -3
  310. package/dist/components/Flex/FlexItem/FlexItem.js.map +1 -1
  311. package/dist/components/FloatingArrow/DefaultIcon.d.ts +1 -1
  312. package/dist/components/FloatingArrow/DefaultIcon.js +1 -1
  313. package/dist/components/FloatingArrow/DefaultIcon.js.map +1 -1
  314. package/dist/components/FloatingArrow/FloatingArrow.d.ts +17 -0
  315. package/dist/components/FloatingArrow/FloatingArrow.d.ts.map +1 -1
  316. package/dist/components/FloatingArrow/FloatingArrow.js.map +1 -1
  317. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  318. package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  319. package/dist/components/FocusTrap/FocusTrap.js +5 -3
  320. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  321. package/dist/components/FormField/FormField.d.ts +11 -5
  322. package/dist/components/FormField/FormField.d.ts.map +1 -1
  323. package/dist/components/FormField/FormField.js.map +1 -1
  324. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts +9 -0
  325. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts.map +1 -1
  326. package/dist/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  327. package/dist/components/FormItem/FormItem.d.ts +17 -3
  328. package/dist/components/FormItem/FormItem.d.ts.map +1 -1
  329. package/dist/components/FormItem/FormItem.js +6 -4
  330. package/dist/components/FormItem/FormItem.js.map +1 -1
  331. package/dist/components/FormItem/FormItemTop/FormItemTop.d.ts +1 -1
  332. package/dist/components/FormItem/FormItemTop/FormItemTop.d.ts.map +1 -1
  333. package/dist/components/FormItem/FormItemTop/FormItemTop.js +0 -1
  334. package/dist/components/FormItem/FormItemTop/FormItemTop.js.map +1 -1
  335. package/dist/components/FormItem/FormItemTop/FormItemTopAside.d.ts +1 -1
  336. package/dist/components/FormItem/FormItemTop/FormItemTopAside.d.ts.map +1 -1
  337. package/dist/components/FormItem/FormItemTop/FormItemTopAside.js +0 -1
  338. package/dist/components/FormItem/FormItemTop/FormItemTopAside.js.map +1 -1
  339. package/dist/components/FormItem/FormItemTop/FormItemTopLabel.d.ts +1 -1
  340. package/dist/components/FormItem/FormItemTop/FormItemTopLabel.d.ts.map +1 -1
  341. package/dist/components/FormItem/FormItemTop/FormItemTopLabel.js +0 -1
  342. package/dist/components/FormItem/FormItemTop/FormItemTopLabel.js.map +1 -1
  343. package/dist/components/FormItem/context.d.ts.map +1 -1
  344. package/dist/components/FormItem/context.js +1 -1
  345. package/dist/components/FormItem/context.js.map +1 -1
  346. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -0
  347. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts.map +1 -1
  348. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  349. package/dist/components/FormStatus/FormStatus.d.ts +6 -0
  350. package/dist/components/FormStatus/FormStatus.d.ts.map +1 -1
  351. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  352. package/dist/components/Gallery/Gallery.d.ts +6 -0
  353. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  354. package/dist/components/Gallery/Gallery.js.map +1 -1
  355. package/dist/components/Gallery/hooks.d.ts.map +1 -1
  356. package/dist/components/Gallery/hooks.js +1 -1
  357. package/dist/components/Gallery/hooks.js.map +1 -1
  358. package/dist/components/Gradient/Gradient.d.ts +2 -2
  359. package/dist/components/Gradient/Gradient.js.map +1 -1
  360. package/dist/components/Group/Group.d.ts +6 -0
  361. package/dist/components/Group/Group.d.ts.map +1 -1
  362. package/dist/components/Group/Group.js +7 -5
  363. package/dist/components/Group/Group.js.map +1 -1
  364. package/dist/components/Group/GroupContainer.d.ts +1 -2
  365. package/dist/components/Group/GroupContainer.d.ts.map +1 -1
  366. package/dist/components/Group/GroupContainer.js +0 -1
  367. package/dist/components/Group/GroupContainer.js.map +1 -1
  368. package/dist/components/Group/GroupDescription.d.ts +1 -2
  369. package/dist/components/Group/GroupDescription.d.ts.map +1 -1
  370. package/dist/components/Group/GroupDescription.js +0 -2
  371. package/dist/components/Group/GroupDescription.js.map +1 -1
  372. package/dist/components/Group/GroupExpandedContent.d.ts +4 -2
  373. package/dist/components/Group/GroupExpandedContent.d.ts.map +1 -1
  374. package/dist/components/Group/GroupExpandedContent.js +1 -3
  375. package/dist/components/Group/GroupExpandedContent.js.map +1 -1
  376. package/dist/components/Group/GroupHeader.d.ts +1 -2
  377. package/dist/components/Group/GroupHeader.d.ts.map +1 -1
  378. package/dist/components/Group/GroupHeader.js +0 -2
  379. package/dist/components/Group/GroupHeader.js.map +1 -1
  380. package/dist/components/Header/Header.d.ts +19 -7
  381. package/dist/components/Header/Header.d.ts.map +1 -1
  382. package/dist/components/Header/Header.js.map +1 -1
  383. package/dist/components/HorizontalCell/HorizontalCell.d.ts +5 -5
  384. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  385. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +2 -2
  386. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js +1 -2
  387. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  388. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +16 -7
  389. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  390. package/dist/components/HorizontalScroll/HorizontalScroll.js +7 -7
  391. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  392. package/dist/components/IconButton/IconButton.d.ts +1 -1
  393. package/dist/components/IconButton/IconButton.js.map +1 -1
  394. package/dist/components/Image/Image.d.ts +4 -4
  395. package/dist/components/Image/Image.d.ts.map +1 -1
  396. package/dist/components/Image/Image.js +6 -4
  397. package/dist/components/Image/Image.js.map +1 -1
  398. package/dist/components/Image/ImageBadge/ImageBadge.d.ts +1 -2
  399. package/dist/components/Image/ImageBadge/ImageBadge.d.ts.map +1 -1
  400. package/dist/components/Image/ImageBadge/ImageBadge.js +0 -1
  401. package/dist/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  402. package/dist/components/ImageBase/ImageBase.d.ts +7 -7
  403. package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
  404. package/dist/components/ImageBase/ImageBase.js +6 -4
  405. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  406. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +2 -2
  407. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts.map +1 -1
  408. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +1 -2
  409. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  410. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts +5 -8
  411. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts.map +1 -1
  412. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js +0 -1
  413. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  414. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.d.ts +1 -2
  415. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.d.ts.map +1 -1
  416. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +0 -1
  417. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  418. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts +6 -0
  419. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts.map +1 -1
  420. package/dist/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  421. package/dist/components/ImageBase/helpers.d.ts +3 -3
  422. package/dist/components/ImageBase/helpers.js +3 -3
  423. package/dist/components/ImageBase/helpers.js.map +1 -1
  424. package/dist/components/ImageBase/types.d.ts +18 -0
  425. package/dist/components/ImageBase/types.d.ts.map +1 -1
  426. package/dist/components/ImageBase/types.js.map +1 -1
  427. package/dist/components/ImageBase/validators.d.ts.map +1 -1
  428. package/dist/components/ImageBase/validators.js +4 -5
  429. package/dist/components/ImageBase/validators.js.map +1 -1
  430. package/dist/components/InfoRow/InfoRow.d.ts +3 -0
  431. package/dist/components/InfoRow/InfoRow.d.ts.map +1 -1
  432. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  433. package/dist/components/InputLike/InputLike.d.ts +1 -2
  434. package/dist/components/InputLike/InputLike.d.ts.map +1 -1
  435. package/dist/components/InputLike/InputLike.js +4 -5
  436. package/dist/components/InputLike/InputLike.js.map +1 -1
  437. package/dist/components/Link/Link.d.ts.map +1 -1
  438. package/dist/components/Link/Link.js +4 -6
  439. package/dist/components/Link/Link.js.map +1 -1
  440. package/dist/components/List/List.d.ts +1 -1
  441. package/dist/components/List/List.js.map +1 -1
  442. package/dist/components/LocaleProvider/LocaleProvider.d.ts +5 -2
  443. package/dist/components/LocaleProvider/LocaleProvider.d.ts.map +1 -1
  444. package/dist/components/LocaleProvider/LocaleProvider.js +1 -1
  445. package/dist/components/LocaleProvider/LocaleProvider.js.map +1 -1
  446. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +3 -3
  447. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  448. package/dist/components/ModalCard/ModalCard.d.ts.map +1 -1
  449. package/dist/components/ModalCard/ModalCard.js +4 -12
  450. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  451. package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -1
  452. package/dist/components/ModalCard/ModalCardInternal.js +1 -1
  453. package/dist/components/ModalCard/ModalCardInternal.js.map +1 -1
  454. package/dist/components/ModalCard/types.d.ts +1 -1
  455. package/dist/components/ModalCard/types.js.map +1 -1
  456. package/dist/components/ModalCardBase/ModalCardBase.d.ts +26 -14
  457. package/dist/components/ModalCardBase/ModalCardBase.d.ts.map +1 -1
  458. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  459. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +3 -0
  460. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts.map +1 -1
  461. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  462. package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -1
  463. package/dist/components/ModalOutlet/ModalOutlet.js +1 -1
  464. package/dist/components/ModalOutlet/ModalOutlet.js.map +1 -1
  465. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts +2 -2
  466. package/dist/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  467. package/dist/components/ModalOverlay/ModalOverlay.d.ts.map +1 -1
  468. package/dist/components/ModalOverlay/ModalOverlay.js.map +1 -1
  469. package/dist/components/ModalPage/ModalPage.d.ts.map +1 -1
  470. package/dist/components/ModalPage/ModalPage.js +5 -12
  471. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  472. package/dist/components/ModalPage/ModalPageBase.d.ts +1 -1
  473. package/dist/components/ModalPage/ModalPageBase.d.ts.map +1 -1
  474. package/dist/components/ModalPage/ModalPageBase.js +1 -1
  475. package/dist/components/ModalPage/ModalPageBase.js.map +1 -1
  476. package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -1
  477. package/dist/components/ModalPage/ModalPageInternal.js +1 -1
  478. package/dist/components/ModalPage/ModalPageInternal.js.map +1 -1
  479. package/dist/components/ModalPage/types.d.ts +11 -8
  480. package/dist/components/ModalPage/types.d.ts.map +1 -1
  481. package/dist/components/ModalPage/types.js.map +1 -1
  482. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts +6 -0
  483. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts.map +1 -1
  484. package/dist/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  485. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts +3 -0
  486. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  487. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  488. package/dist/components/ModalRoot/types.d.ts +20 -16
  489. package/dist/components/ModalRoot/types.d.ts.map +1 -1
  490. package/dist/components/ModalRoot/types.js +1 -1
  491. package/dist/components/ModalRoot/types.js.map +1 -1
  492. package/dist/components/ModalRoot/useModalManager.d.ts +4 -2
  493. package/dist/components/ModalRoot/useModalManager.d.ts.map +1 -1
  494. package/dist/components/ModalRoot/useModalManager.js +12 -3
  495. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  496. package/dist/components/ModalRoot/useModalRootContext.js +1 -0
  497. package/dist/components/ModalRoot/useModalRootContext.js.map +1 -1
  498. package/dist/components/ModalRoot/withModalRootContext.d.ts +2 -2
  499. package/dist/components/ModalRoot/withModalRootContext.d.ts.map +1 -1
  500. package/dist/components/ModalRoot/withModalRootContext.js +2 -2
  501. package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
  502. package/dist/components/NativeSelect/NativeSelect.d.ts +15 -6
  503. package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
  504. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  505. package/dist/components/NavTransitionContext/NavTransitionContext.d.ts.map +1 -1
  506. package/dist/components/NavTransitionContext/NavTransitionContext.js +1 -1
  507. package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  508. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +2 -2
  509. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  510. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +3 -0
  511. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
  512. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js +4 -1
  513. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  514. package/dist/components/OnboardingTooltip/OnboardingTooltipContext.d.ts.map +1 -1
  515. package/dist/components/OnboardingTooltip/OnboardingTooltipContext.js +1 -1
  516. package/dist/components/OnboardingTooltip/OnboardingTooltipContext.js.map +1 -1
  517. package/dist/components/Pagination/Pagination.d.ts +10 -4
  518. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  519. package/dist/components/Pagination/Pagination.js.map +1 -1
  520. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
  521. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js +1 -1
  522. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  523. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts.map +1 -1
  524. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js +1 -1
  525. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  526. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts.map +1 -1
  527. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js +1 -1
  528. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  529. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts.map +1 -1
  530. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js +1 -1
  531. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  532. package/dist/components/Panel/Panel.d.ts +4 -1
  533. package/dist/components/Panel/Panel.d.ts.map +1 -1
  534. package/dist/components/Panel/Panel.js.map +1 -1
  535. package/dist/components/PanelHeader/PanelHeader.d.ts +13 -2
  536. package/dist/components/PanelHeader/PanelHeader.d.ts.map +1 -1
  537. package/dist/components/PanelHeader/PanelHeader.js +1 -1
  538. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  539. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +6 -0
  540. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts.map +1 -1
  541. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  542. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +7 -0
  543. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
  544. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +3 -3
  545. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  546. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +9 -0
  547. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts.map +1 -1
  548. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  549. package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts +7 -0
  550. package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts.map +1 -1
  551. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  552. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +3 -3
  553. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  554. package/dist/components/PanelSpinner/PanelSpinner.d.ts +4 -1
  555. package/dist/components/PanelSpinner/PanelSpinner.d.ts.map +1 -1
  556. package/dist/components/PanelSpinner/PanelSpinner.js +6 -2
  557. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  558. package/dist/components/Placeholder/Placeholder.d.ts +5 -5
  559. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  560. package/dist/components/PlatformProvider/PlatformProvider.d.ts +5 -2
  561. package/dist/components/PlatformProvider/PlatformProvider.d.ts.map +1 -1
  562. package/dist/components/PlatformProvider/PlatformProvider.js +1 -1
  563. package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
  564. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +4 -4
  565. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  566. package/dist/components/Popover/Popover.d.ts +7 -4
  567. package/dist/components/Popover/Popover.d.ts.map +1 -1
  568. package/dist/components/Popover/Popover.js.map +1 -1
  569. package/dist/components/Popover/usePopover.d.ts +9 -0
  570. package/dist/components/Popover/usePopover.d.ts.map +1 -1
  571. package/dist/components/Popover/usePopover.js.map +1 -1
  572. package/dist/components/Popper/Popper.d.ts +4 -1
  573. package/dist/components/Popper/Popper.d.ts.map +1 -1
  574. package/dist/components/Popper/Popper.js.map +1 -1
  575. package/dist/components/Progress/Progress.d.ts +6 -3
  576. package/dist/components/Progress/Progress.d.ts.map +1 -1
  577. package/dist/components/Progress/Progress.js.map +1 -1
  578. package/dist/components/PullToRefresh/PullToRefresh.d.ts +2 -2
  579. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  580. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts.map +1 -1
  581. package/dist/components/PullToRefresh/PullToRefreshSpinner.js +1 -1
  582. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  583. package/dist/components/Radio/Radio.d.ts +7 -1
  584. package/dist/components/Radio/Radio.d.ts.map +1 -1
  585. package/dist/components/Radio/Radio.js.map +1 -1
  586. package/dist/components/RadioGroup/RadioGroup.d.ts +3 -0
  587. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  588. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  589. package/dist/components/Removable/Removable.d.ts +10 -7
  590. package/dist/components/Removable/Removable.d.ts.map +1 -1
  591. package/dist/components/Removable/Removable.js +1 -1
  592. package/dist/components/Removable/Removable.js.map +1 -1
  593. package/dist/components/RichCell/RichCell.d.ts +6 -6
  594. package/dist/components/RichCell/RichCell.js.map +1 -1
  595. package/dist/components/Root/Root.d.ts +9 -0
  596. package/dist/components/Root/Root.d.ts.map +1 -1
  597. package/dist/components/Root/Root.js +1 -1
  598. package/dist/components/Root/Root.js.map +1 -1
  599. package/dist/components/RootComponent/RootComponent.d.ts +10 -0
  600. package/dist/components/RootComponent/RootComponent.d.ts.map +1 -1
  601. package/dist/components/RootComponent/RootComponent.js.map +1 -1
  602. package/dist/components/ScreenSpinner/ScreenSpinner.d.ts.map +1 -1
  603. package/dist/components/ScreenSpinner/ScreenSpinner.js +6 -4
  604. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  605. package/dist/components/ScreenSpinner/ScreenSpinnerContainer.d.ts +1 -2
  606. package/dist/components/ScreenSpinner/ScreenSpinnerContainer.d.ts.map +1 -1
  607. package/dist/components/ScreenSpinner/ScreenSpinnerContainer.js +0 -2
  608. package/dist/components/ScreenSpinner/ScreenSpinnerContainer.js.map +1 -1
  609. package/dist/components/ScreenSpinner/ScreenSpinnerLoader.d.ts +3 -2
  610. package/dist/components/ScreenSpinner/ScreenSpinnerLoader.d.ts.map +1 -1
  611. package/dist/components/ScreenSpinner/ScreenSpinnerLoader.js +0 -1
  612. package/dist/components/ScreenSpinner/ScreenSpinnerLoader.js.map +1 -1
  613. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts +1 -2
  614. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts.map +1 -1
  615. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.js +1 -3
  616. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  617. package/dist/components/ScreenSpinner/context.d.ts +9 -0
  618. package/dist/components/ScreenSpinner/context.d.ts.map +1 -1
  619. package/dist/components/ScreenSpinner/context.js.map +1 -1
  620. package/dist/components/ScreenSpinner/types.d.ts +12 -4
  621. package/dist/components/ScreenSpinner/types.d.ts.map +1 -1
  622. package/dist/components/ScreenSpinner/types.js.map +1 -1
  623. package/dist/components/ScrollArrow/ScrollArrow.d.ts +5 -2
  624. package/dist/components/ScrollArrow/ScrollArrow.d.ts.map +1 -1
  625. package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
  626. package/dist/components/Search/Search.d.ts +24 -6
  627. package/dist/components/Search/Search.d.ts.map +1 -1
  628. package/dist/components/Search/Search.js.map +1 -1
  629. package/dist/components/SegmentedControl/SegmentedControl.d.ts +25 -1
  630. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  631. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  632. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
  633. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +1 -1
  634. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  635. package/dist/components/SelectMimicry/SelectMimicry.d.ts +9 -0
  636. package/dist/components/SelectMimicry/SelectMimicry.d.ts.map +1 -1
  637. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  638. package/dist/components/SelectTypography/SelectTypography.d.ts.map +1 -1
  639. package/dist/components/SelectTypography/SelectTypography.js +1 -1
  640. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  641. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts.map +1 -1
  642. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js +1 -1
  643. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  644. package/dist/components/Separator/Separator.d.ts +6 -6
  645. package/dist/components/Separator/Separator.js.map +1 -1
  646. package/dist/components/SimpleCell/Chevron/Chevron.d.ts.map +1 -1
  647. package/dist/components/SimpleCell/Chevron/Chevron.js +1 -1
  648. package/dist/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  649. package/dist/components/SimpleCell/SimpleCell.d.ts +5 -5
  650. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  651. package/dist/components/SimpleGrid/SimpleGrid.d.ts +4 -4
  652. package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
  653. package/dist/components/Skeleton/Skeleton.d.ts +4 -4
  654. package/dist/components/Skeleton/Skeleton.js +5 -5
  655. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  656. package/dist/components/Slider/Slider.d.ts +41 -2
  657. package/dist/components/Slider/Slider.d.ts.map +1 -1
  658. package/dist/components/Slider/Slider.js.map +1 -1
  659. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts.map +1 -1
  660. package/dist/components/Slider/SliderThumb/SliderThumb.js +1 -1
  661. package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  662. package/dist/components/Slider/types.d.ts.map +1 -1
  663. package/dist/components/Slider/types.js +1 -1
  664. package/dist/components/Slider/types.js.map +1 -1
  665. package/dist/components/Snackbar/Snackbar.d.ts +4 -4
  666. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  667. package/dist/components/Snackbar/subcomponents/Basic/Basic.d.ts +6 -6
  668. package/dist/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  669. package/dist/components/Snackbar/types.d.ts.map +1 -1
  670. package/dist/components/Snackbar/types.js +1 -1
  671. package/dist/components/Snackbar/types.js.map +1 -1
  672. package/dist/components/Spacing/Spacing.d.ts +3 -3
  673. package/dist/components/Spacing/Spacing.js.map +1 -1
  674. package/dist/components/Spinner/Spinner.d.ts +8 -2
  675. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  676. package/dist/components/Spinner/Spinner.js +7 -3
  677. package/dist/components/Spinner/Spinner.js.map +1 -1
  678. package/dist/components/Spinner/SpinnerAnimation.d.ts.map +1 -1
  679. package/dist/components/Spinner/SpinnerAnimation.js +1 -1
  680. package/dist/components/Spinner/SpinnerAnimation.js.map +1 -1
  681. package/dist/components/Spinner/icons.d.ts +6 -0
  682. package/dist/components/Spinner/icons.d.ts.map +1 -0
  683. package/dist/components/Spinner/icons.js +52 -0
  684. package/dist/components/Spinner/icons.js.map +1 -0
  685. package/dist/components/SplitCol/SplitCol.d.ts +15 -3
  686. package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
  687. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  688. package/dist/components/SplitCol/SplitColContext.d.ts.map +1 -1
  689. package/dist/components/SplitCol/SplitColContext.js +1 -1
  690. package/dist/components/SplitCol/SplitColContext.js.map +1 -1
  691. package/dist/components/SplitLayout/SplitLayout.d.ts +5 -2
  692. package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
  693. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  694. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +3 -0
  695. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts.map +1 -1
  696. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  697. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +18 -3
  698. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts.map +1 -1
  699. package/dist/components/SubnavigationButton/SubnavigationButton.js +3 -2
  700. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  701. package/dist/components/Tabbar/Tabbar.d.ts +2 -2
  702. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  703. package/dist/components/TabbarItem/TabbarItem.d.ts +5 -2
  704. package/dist/components/TabbarItem/TabbarItem.d.ts.map +1 -1
  705. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  706. package/dist/components/Tabs/Tabs.d.ts +6 -6
  707. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  708. package/dist/components/Tabs/Tabs.js +1 -4
  709. package/dist/components/Tabs/Tabs.js.map +1 -1
  710. package/dist/components/TabsItem/TabsItem.d.ts +9 -3
  711. package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
  712. package/dist/components/TabsItem/TabsItem.js +4 -9
  713. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  714. package/dist/components/Tappable/Ripple.d.ts +1 -1
  715. package/dist/components/Tappable/Ripple.d.ts.map +1 -1
  716. package/dist/components/Tappable/Ripple.js +3 -3
  717. package/dist/components/Tappable/Ripple.js.map +1 -1
  718. package/dist/components/Tappable/Tappable.d.ts +13 -1
  719. package/dist/components/Tappable/Tappable.d.ts.map +1 -1
  720. package/dist/components/Tappable/Tappable.js.map +1 -1
  721. package/dist/components/Tappable/state.d.ts +5 -5
  722. package/dist/components/Tappable/state.js +3 -3
  723. package/dist/components/Tappable/state.js.map +1 -1
  724. package/dist/components/Textarea/Textarea.d.ts +9 -0
  725. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  726. package/dist/components/Textarea/Textarea.js.map +1 -1
  727. package/dist/components/ToolButton/ToolButton.d.ts +9 -0
  728. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
  729. package/dist/components/ToolButton/ToolButton.js.map +1 -1
  730. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  731. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  732. package/dist/components/Tooltip/useTooltip.d.ts +9 -0
  733. package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
  734. package/dist/components/Tooltip/useTooltip.js.map +1 -1
  735. package/dist/components/TooltipBase/TooltipBase.d.ts +5 -5
  736. package/dist/components/TooltipBase/TooltipBase.js +1 -1
  737. package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
  738. package/dist/components/Touch/Touch.d.ts +100 -2
  739. package/dist/components/Touch/Touch.d.ts.map +1 -1
  740. package/dist/components/Touch/Touch.js +4 -4
  741. package/dist/components/Touch/Touch.js.map +1 -1
  742. package/dist/components/Touch/TouchContext.d.ts +1 -1
  743. package/dist/components/Touch/TouchContext.js +1 -1
  744. package/dist/components/Touch/TouchContext.js.map +1 -1
  745. package/dist/components/Typography/Caption/Caption.d.ts +3 -0
  746. package/dist/components/Typography/Caption/Caption.d.ts.map +1 -1
  747. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  748. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts +3 -0
  749. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -1
  750. package/dist/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  751. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts +3 -3
  752. package/dist/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  753. package/dist/components/Typography/Headline/Headline.d.ts +3 -0
  754. package/dist/components/Typography/Headline/Headline.d.ts.map +1 -1
  755. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  756. package/dist/components/Typography/Title/Title.d.ts +3 -0
  757. package/dist/components/Typography/Title/Title.d.ts.map +1 -1
  758. package/dist/components/Typography/Title/Title.js.map +1 -1
  759. package/dist/components/Typography/Typography.d.ts +6 -3
  760. package/dist/components/Typography/Typography.d.ts.map +1 -1
  761. package/dist/components/Typography/Typography.js.map +1 -1
  762. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts +6 -0
  763. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts.map +1 -1
  764. package/dist/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  765. package/dist/components/UsersStack/UsersStack.d.ts +16 -4
  766. package/dist/components/UsersStack/UsersStack.d.ts.map +1 -1
  767. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  768. package/dist/components/View/View.d.ts +15 -3
  769. package/dist/components/View/View.d.ts.map +1 -1
  770. package/dist/components/View/View.js.map +1 -1
  771. package/dist/components/View/ViewInfinite.d.ts +15 -3
  772. package/dist/components/View/ViewInfinite.d.ts.map +1 -1
  773. package/dist/components/View/ViewInfinite.js +1 -1
  774. package/dist/components/View/ViewInfinite.js.map +1 -1
  775. package/dist/components/View/useLayoutEffectCall.d.ts +1 -1
  776. package/dist/components/View/useLayoutEffectCall.js +1 -1
  777. package/dist/components/View/useLayoutEffectCall.js.map +1 -1
  778. package/dist/components/WriteBar/WriteBar.d.ts +7 -4
  779. package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
  780. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  781. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
  782. package/dist/components/WriteBarIcon/WriteBarIcon.js +3 -2
  783. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  784. package/dist/components.css +1 -1
  785. package/dist/components.css.map +1 -1
  786. package/dist/cssm/components/Accordion/Accordion.js +5 -3
  787. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  788. package/dist/cssm/components/Accordion/AccordionContent.js +0 -1
  789. package/dist/cssm/components/Accordion/AccordionContent.js.map +1 -1
  790. package/dist/cssm/components/Accordion/AccordionContext.js.map +1 -1
  791. package/dist/cssm/components/Accordion/AccordionSummary.js +0 -1
  792. package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
  793. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  794. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  795. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +3 -3
  796. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  797. package/dist/cssm/components/ActionSheet/types.js.map +1 -1
  798. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  799. package/dist/cssm/components/ActionSheetItem/helpers.js +2 -2
  800. package/dist/cssm/components/ActionSheetItem/helpers.js.map +1 -1
  801. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  802. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  803. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  804. package/dist/cssm/components/Alert/Alert.module.css +2 -2
  805. package/dist/cssm/components/Alert/AlertAction.js.map +1 -1
  806. package/dist/cssm/components/Alert/AlertActions.js.map +1 -1
  807. package/dist/cssm/components/Alert/AlertBase.js.map +1 -1
  808. package/dist/cssm/components/Alert/AlertTypography.js +1 -1
  809. package/dist/cssm/components/Alert/AlertTypography.js.map +1 -1
  810. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  811. package/dist/cssm/components/AppRoot/AppRootContext.js +2 -2
  812. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  813. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  814. package/dist/cssm/components/AppRoot/ScrollContext.js +4 -4
  815. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  816. package/dist/cssm/components/AppRoot/types.js +1 -1
  817. package/dist/cssm/components/AppRoot/types.js.map +1 -1
  818. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  819. package/dist/cssm/components/Avatar/Avatar.js +6 -4
  820. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  821. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js +0 -1
  822. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  823. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +0 -1
  824. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  825. package/dist/cssm/components/Avatar/AvatarBadge/icons.js +1 -1
  826. package/dist/cssm/components/Avatar/AvatarBadge/icons.js.map +1 -1
  827. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  828. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  829. package/dist/cssm/components/Button/Button.js.map +1 -1
  830. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +0 -1
  831. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  832. package/dist/cssm/components/Calendar/Calendar.js +72 -14
  833. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  834. package/dist/cssm/components/CalendarDay/CalendarDay.js +29 -10
  835. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  836. package/dist/cssm/components/CalendarDays/CalendarDays.js +73 -45
  837. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  838. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +9 -2
  839. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  840. package/dist/cssm/components/CalendarRange/CalendarRange.js +20 -7
  841. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  842. package/dist/cssm/components/CalendarTime/CalendarTime.js +25 -15
  843. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  844. package/dist/cssm/components/Card/Card.js.map +1 -1
  845. package/dist/cssm/components/Card/Card.module.css +2 -2
  846. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  847. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  848. package/dist/cssm/components/CarouselBase/Bullets.js +1 -2
  849. package/dist/cssm/components/CarouselBase/Bullets.js.map +1 -1
  850. package/dist/cssm/components/CarouselBase/CarouselBase.js +6 -6
  851. package/dist/cssm/components/CarouselBase/CarouselBase.js.map +1 -1
  852. package/dist/cssm/components/CarouselBase/CarouselViewPort.js +1 -1
  853. package/dist/cssm/components/CarouselBase/CarouselViewPort.js.map +1 -1
  854. package/dist/cssm/components/CarouselBase/ScrollArrows.js +1 -1
  855. package/dist/cssm/components/CarouselBase/ScrollArrows.js.map +1 -1
  856. package/dist/cssm/components/CarouselBase/helpers.js +3 -3
  857. package/dist/cssm/components/CarouselBase/helpers.js.map +1 -1
  858. package/dist/cssm/components/CarouselBase/types.js +1 -1
  859. package/dist/cssm/components/CarouselBase/types.js.map +1 -1
  860. package/dist/cssm/components/Cell/Cell.js +1 -1
  861. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  862. package/dist/cssm/components/Cell/CellDragger/CellDragger.js +1 -1
  863. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  864. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  865. package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js +4 -2
  866. package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js.map +1 -1
  867. package/dist/cssm/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js +0 -1
  868. package/dist/cssm/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js.map +1 -1
  869. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  870. package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  871. package/dist/cssm/components/ChipsInput/ChipsInput.js +3 -2
  872. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  873. package/dist/cssm/components/ChipsInput/useChipsInput.js +40 -15
  874. package/dist/cssm/components/ChipsInput/useChipsInput.js.map +1 -1
  875. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +1 -0
  876. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  877. package/dist/cssm/components/ChipsInputBase/helpers.js +4 -0
  878. package/dist/cssm/components/ChipsInputBase/helpers.js.map +1 -1
  879. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  880. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +9 -3
  881. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  882. package/dist/cssm/components/ChipsSelect/types.js +1 -1
  883. package/dist/cssm/components/ChipsSelect/types.js.map +1 -1
  884. package/dist/cssm/components/ChipsSelect/useChipsSelect.js +5 -3
  885. package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
  886. package/dist/cssm/components/Clickable/Clickable.js +6 -5
  887. package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
  888. package/dist/cssm/components/Clickable/RealClickable.js +1 -1
  889. package/dist/cssm/components/Clickable/RealClickable.js.map +1 -1
  890. package/dist/cssm/components/Clickable/useState.js +5 -5
  891. package/dist/cssm/components/Clickable/useState.js.map +1 -1
  892. package/dist/cssm/components/Clickable/useStateWithDelay.js +1 -1
  893. package/dist/cssm/components/Clickable/useStateWithDelay.js.map +1 -1
  894. package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js +0 -2
  895. package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
  896. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  897. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  898. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js +1 -1
  899. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  900. package/dist/cssm/components/ContentBadge/ContentBadge.js +4 -2
  901. package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
  902. package/dist/cssm/components/ContentBadge/ContentBadgeContext.js +1 -1
  903. package/dist/cssm/components/ContentBadge/ContentBadgeContext.js.map +1 -1
  904. package/dist/cssm/components/ContentBadge/ContentBadgeSlotIcon.js +0 -1
  905. package/dist/cssm/components/ContentBadge/ContentBadgeSlotIcon.js.map +1 -1
  906. package/dist/cssm/components/ContentCard/ContentCard.js +2 -2
  907. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  908. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  909. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  910. package/dist/cssm/components/CustomSelect/CustomSelect.js +12 -3
  911. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  912. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  913. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +1 -1
  914. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  915. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +2 -1
  916. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  917. package/dist/cssm/components/DateInput/DateInput.js +141 -57
  918. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  919. package/dist/cssm/components/DateInput/hooks.js +15 -8
  920. package/dist/cssm/components/DateInput/hooks.js.map +1 -1
  921. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +11 -3
  922. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  923. package/dist/cssm/components/DirectionProvider/DirectionProvider.js +1 -1
  924. package/dist/cssm/components/DirectionProvider/DirectionProvider.js.map +1 -1
  925. package/dist/cssm/components/DropZone/DropZone.js +4 -2
  926. package/dist/cssm/components/DropZone/DropZone.js.map +1 -1
  927. package/dist/cssm/components/DropZone/components/DropZoneGrid.js +0 -1
  928. package/dist/cssm/components/DropZone/components/DropZoneGrid.js.map +1 -1
  929. package/dist/cssm/components/DropdownIcon/DropdownIcon.js +1 -1
  930. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  931. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  932. package/dist/cssm/components/Epic/ScrollSaver.js +1 -1
  933. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  934. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  935. package/dist/cssm/components/Flex/FlexItem/FlexItem.js.map +1 -1
  936. package/dist/cssm/components/FloatingArrow/DefaultIcon.js +1 -1
  937. package/dist/cssm/components/FloatingArrow/DefaultIcon.js.map +1 -1
  938. package/dist/cssm/components/FloatingArrow/FloatingArrow.js.map +1 -1
  939. package/dist/cssm/components/FocusTrap/FocusTrap.js +3 -2
  940. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  941. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  942. package/dist/cssm/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  943. package/dist/cssm/components/FormItem/FormItem.js +6 -4
  944. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  945. package/dist/cssm/components/FormItem/FormItem.module.css +1 -0
  946. package/dist/cssm/components/FormItem/FormItemTop/FormItemTop.js +0 -1
  947. package/dist/cssm/components/FormItem/FormItemTop/FormItemTop.js.map +1 -1
  948. package/dist/cssm/components/FormItem/FormItemTop/FormItemTopAside.js +0 -1
  949. package/dist/cssm/components/FormItem/FormItemTop/FormItemTopAside.js.map +1 -1
  950. package/dist/cssm/components/FormItem/FormItemTop/FormItemTopLabel.js +0 -1
  951. package/dist/cssm/components/FormItem/FormItemTop/FormItemTopLabel.js.map +1 -1
  952. package/dist/cssm/components/FormItem/context.js +1 -1
  953. package/dist/cssm/components/FormItem/context.js.map +1 -1
  954. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  955. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  956. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  957. package/dist/cssm/components/Gallery/hooks.js +1 -1
  958. package/dist/cssm/components/Gallery/hooks.js.map +1 -1
  959. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  960. package/dist/cssm/components/Group/Group.js +7 -5
  961. package/dist/cssm/components/Group/Group.js.map +1 -1
  962. package/dist/cssm/components/Group/GroupContainer.js +0 -1
  963. package/dist/cssm/components/Group/GroupContainer.js.map +1 -1
  964. package/dist/cssm/components/Group/GroupDescription.js +0 -2
  965. package/dist/cssm/components/Group/GroupDescription.js.map +1 -1
  966. package/dist/cssm/components/Group/GroupExpandedContent.js +1 -3
  967. package/dist/cssm/components/Group/GroupExpandedContent.js.map +1 -1
  968. package/dist/cssm/components/Group/GroupHeader.js +0 -2
  969. package/dist/cssm/components/Group/GroupHeader.js.map +1 -1
  970. package/dist/cssm/components/Header/Header.js.map +1 -1
  971. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  972. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js +1 -2
  973. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  974. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +7 -7
  975. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  976. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  977. package/dist/cssm/components/Image/Image.js +6 -4
  978. package/dist/cssm/components/Image/Image.js.map +1 -1
  979. package/dist/cssm/components/Image/ImageBadge/ImageBadge.js +0 -1
  980. package/dist/cssm/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  981. package/dist/cssm/components/ImageBase/ImageBase.js +6 -4
  982. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  983. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +1 -2
  984. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  985. package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js +0 -1
  986. package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  987. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +0 -1
  988. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  989. package/dist/cssm/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  990. package/dist/cssm/components/ImageBase/helpers.js +3 -3
  991. package/dist/cssm/components/ImageBase/helpers.js.map +1 -1
  992. package/dist/cssm/components/ImageBase/types.js.map +1 -1
  993. package/dist/cssm/components/ImageBase/validators.js +3 -4
  994. package/dist/cssm/components/ImageBase/validators.js.map +1 -1
  995. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  996. package/dist/cssm/components/InputLike/InputLike.js +4 -5
  997. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  998. package/dist/cssm/components/InputLike/InputLike.module.css +1 -1
  999. package/dist/cssm/components/Link/Link.js +3 -5
  1000. package/dist/cssm/components/Link/Link.js.map +1 -1
  1001. package/dist/cssm/components/Link/Link.module.css +2 -4
  1002. package/dist/cssm/components/List/List.js.map +1 -1
  1003. package/dist/cssm/components/LocaleProvider/LocaleProvider.js +1 -1
  1004. package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
  1005. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  1006. package/dist/cssm/components/ModalCard/ModalCard.js +2 -11
  1007. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  1008. package/dist/cssm/components/ModalCard/ModalCardInternal.js +1 -1
  1009. package/dist/cssm/components/ModalCard/ModalCardInternal.js.map +1 -1
  1010. package/dist/cssm/components/ModalCard/types.js.map +1 -1
  1011. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  1012. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  1013. package/dist/cssm/components/ModalOutlet/ModalOutlet.js +1 -1
  1014. package/dist/cssm/components/ModalOutlet/ModalOutlet.js.map +1 -1
  1015. package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  1016. package/dist/cssm/components/ModalOverlay/ModalOverlay.js.map +1 -1
  1017. package/dist/cssm/components/ModalOverlay/ModalOverlay.module.css +1 -1
  1018. package/dist/cssm/components/ModalPage/ModalPage.js +3 -11
  1019. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  1020. package/dist/cssm/components/ModalPage/ModalPageBase.js +1 -1
  1021. package/dist/cssm/components/ModalPage/ModalPageBase.js.map +1 -1
  1022. package/dist/cssm/components/ModalPage/ModalPageInternal.js +1 -1
  1023. package/dist/cssm/components/ModalPage/ModalPageInternal.js.map +1 -1
  1024. package/dist/cssm/components/ModalPage/types.js.map +1 -1
  1025. package/dist/cssm/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  1026. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  1027. package/dist/cssm/components/ModalRoot/types.js +1 -1
  1028. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  1029. package/dist/cssm/components/ModalRoot/useModalManager.js +12 -3
  1030. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  1031. package/dist/cssm/components/ModalRoot/useModalRootContext.js +1 -0
  1032. package/dist/cssm/components/ModalRoot/useModalRootContext.js.map +1 -1
  1033. package/dist/cssm/components/ModalRoot/withModalRootContext.js +2 -2
  1034. package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
  1035. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  1036. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js +1 -1
  1037. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  1038. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  1039. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js +4 -1
  1040. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  1041. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContext.js +1 -1
  1042. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContext.js.map +1 -1
  1043. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  1044. package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js +1 -1
  1045. package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  1046. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js +1 -1
  1047. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  1048. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js +1 -1
  1049. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  1050. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js +1 -1
  1051. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  1052. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  1053. package/dist/cssm/components/PanelHeader/PanelHeader.js +1 -1
  1054. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  1055. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +2 -2
  1056. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  1057. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  1058. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  1059. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  1060. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  1061. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.module.css +5 -5
  1062. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  1063. package/dist/cssm/components/PanelSpinner/PanelSpinner.js +6 -2
  1064. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  1065. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  1066. package/dist/cssm/components/PlatformProvider/PlatformProvider.js +1 -1
  1067. package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
  1068. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  1069. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  1070. package/dist/cssm/components/Popover/usePopover.js.map +1 -1
  1071. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  1072. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  1073. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  1074. package/dist/cssm/components/PullToRefresh/PullToRefresh.module.css +1 -1
  1075. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +1 -1
  1076. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  1077. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  1078. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  1079. package/dist/cssm/components/Removable/Removable.js +1 -1
  1080. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  1081. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  1082. package/dist/cssm/components/Root/Root.js +1 -1
  1083. package/dist/cssm/components/Root/Root.js.map +1 -1
  1084. package/dist/cssm/components/RootComponent/RootComponent.js.map +1 -1
  1085. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +6 -4
  1086. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  1087. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerContainer.js +0 -2
  1088. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerContainer.js.map +1 -1
  1089. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerLoader.js +0 -1
  1090. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerLoader.js.map +1 -1
  1091. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerSwapIcon.js +1 -3
  1092. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  1093. package/dist/cssm/components/ScreenSpinner/context.js.map +1 -1
  1094. package/dist/cssm/components/ScreenSpinner/types.js.map +1 -1
  1095. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  1096. package/dist/cssm/components/Search/Search.js.map +1 -1
  1097. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  1098. package/dist/cssm/components/SegmentedControl/SegmentedControl.module.css +2 -2
  1099. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +1 -1
  1100. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  1101. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  1102. package/dist/cssm/components/SelectTypography/SelectTypography.js +1 -1
  1103. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  1104. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js +1 -1
  1105. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  1106. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  1107. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js +1 -1
  1108. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  1109. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  1110. package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  1111. package/dist/cssm/components/Skeleton/Skeleton.js +5 -5
  1112. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  1113. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  1114. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js +1 -1
  1115. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  1116. package/dist/cssm/components/Slider/types.js +1 -1
  1117. package/dist/cssm/components/Slider/types.js.map +1 -1
  1118. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  1119. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  1120. package/dist/cssm/components/Snackbar/types.js +1 -1
  1121. package/dist/cssm/components/Snackbar/types.js.map +1 -1
  1122. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  1123. package/dist/cssm/components/Spinner/Spinner.js +7 -3
  1124. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  1125. package/dist/cssm/components/Spinner/SpinnerAnimation.js +1 -1
  1126. package/dist/cssm/components/Spinner/SpinnerAnimation.js.map +1 -1
  1127. package/dist/cssm/components/Spinner/icons.js +52 -0
  1128. package/dist/cssm/components/Spinner/icons.js.map +1 -0
  1129. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  1130. package/dist/cssm/components/SplitCol/SplitColContext.js +1 -1
  1131. package/dist/cssm/components/SplitCol/SplitColContext.js.map +1 -1
  1132. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  1133. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  1134. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -1
  1135. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  1136. package/dist/cssm/components/Switch/Switch.module.css +3 -3
  1137. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  1138. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  1139. package/dist/cssm/components/Tabs/Tabs.js +1 -4
  1140. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  1141. package/dist/cssm/components/TabsItem/TabsItem.js +3 -6
  1142. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  1143. package/dist/cssm/components/Tappable/Ripple.js +3 -3
  1144. package/dist/cssm/components/Tappable/Ripple.js.map +1 -1
  1145. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  1146. package/dist/cssm/components/Tappable/Tappable.module.css +1 -1
  1147. package/dist/cssm/components/Tappable/state.js +3 -3
  1148. package/dist/cssm/components/Tappable/state.js.map +1 -1
  1149. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  1150. package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
  1151. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  1152. package/dist/cssm/components/Tooltip/useTooltip.js.map +1 -1
  1153. package/dist/cssm/components/TooltipBase/TooltipBase.js +1 -1
  1154. package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
  1155. package/dist/cssm/components/Touch/Touch.js +4 -4
  1156. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  1157. package/dist/cssm/components/Touch/TouchContext.js +1 -1
  1158. package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
  1159. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  1160. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  1161. package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  1162. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  1163. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  1164. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  1165. package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  1166. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  1167. package/dist/cssm/components/View/View.js.map +1 -1
  1168. package/dist/cssm/components/View/View.module.css +1 -1
  1169. package/dist/cssm/components/View/ViewInfinite.js +1 -1
  1170. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  1171. package/dist/cssm/components/View/useLayoutEffectCall.js +1 -1
  1172. package/dist/cssm/components/View/useLayoutEffectCall.js.map +1 -1
  1173. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  1174. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
  1175. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  1176. package/dist/cssm/hooks/useCalendar.js +6 -0
  1177. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  1178. package/dist/cssm/hooks/useDateInput.js +64 -28
  1179. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  1180. package/dist/cssm/hooks/useFocusTrap.js +18 -8
  1181. package/dist/cssm/hooks/useFocusTrap.js.map +1 -1
  1182. package/dist/cssm/hooks/useLocale.js +7 -0
  1183. package/dist/cssm/hooks/useLocale.js.map +1 -0
  1184. package/dist/cssm/index.js +1 -0
  1185. package/dist/cssm/index.js.map +1 -1
  1186. package/dist/cssm/lib/calendar.js +25 -3
  1187. package/dist/cssm/lib/calendar.js.map +1 -1
  1188. package/dist/cssm/lib/date.js +6 -0
  1189. package/dist/cssm/lib/date.js.map +1 -1
  1190. package/dist/cssm/lib/dom.js +6 -0
  1191. package/dist/cssm/lib/dom.js.map +1 -1
  1192. package/dist/cssm/lib/platform.js +5 -1
  1193. package/dist/cssm/lib/platform.js.map +1 -1
  1194. package/dist/cssm/lib/react/defineComponentDisplayNames.js +8 -0
  1195. package/dist/cssm/lib/react/defineComponentDisplayNames.js.map +1 -0
  1196. package/dist/cssm/styles/constants.css +2 -2
  1197. package/dist/hooks/useCalendar.d.ts +3 -1
  1198. package/dist/hooks/useCalendar.d.ts.map +1 -1
  1199. package/dist/hooks/useCalendar.js +6 -0
  1200. package/dist/hooks/useCalendar.js.map +1 -1
  1201. package/dist/hooks/useDateInput.d.ts +6 -4
  1202. package/dist/hooks/useDateInput.d.ts.map +1 -1
  1203. package/dist/hooks/useDateInput.js +65 -29
  1204. package/dist/hooks/useDateInput.js.map +1 -1
  1205. package/dist/hooks/useFocusTrap.d.ts +9 -1
  1206. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  1207. package/dist/hooks/useFocusTrap.js +18 -8
  1208. package/dist/hooks/useFocusTrap.js.map +1 -1
  1209. package/dist/hooks/useLocale.d.ts +2 -0
  1210. package/dist/hooks/useLocale.d.ts.map +1 -0
  1211. package/dist/hooks/useLocale.js +7 -0
  1212. package/dist/hooks/useLocale.js.map +1 -0
  1213. package/dist/index.d.ts +1 -0
  1214. package/dist/index.d.ts.map +1 -1
  1215. package/dist/index.js +1 -0
  1216. package/dist/index.js.map +1 -1
  1217. package/dist/lib/calendar.d.ts +4 -1
  1218. package/dist/lib/calendar.d.ts.map +1 -1
  1219. package/dist/lib/calendar.js +25 -3
  1220. package/dist/lib/calendar.js.map +1 -1
  1221. package/dist/lib/date.d.ts.map +1 -1
  1222. package/dist/lib/date.js +6 -0
  1223. package/dist/lib/date.js.map +1 -1
  1224. package/dist/lib/dom.d.ts +1 -0
  1225. package/dist/lib/dom.d.ts.map +1 -1
  1226. package/dist/lib/dom.js +6 -0
  1227. package/dist/lib/dom.js.map +1 -1
  1228. package/dist/lib/platform.d.ts +5 -3
  1229. package/dist/lib/platform.d.ts.map +1 -1
  1230. package/dist/lib/platform.js +5 -1
  1231. package/dist/lib/platform.js.map +1 -1
  1232. package/dist/lib/react/defineComponentDisplayNames.d.ts +2 -0
  1233. package/dist/lib/react/defineComponentDisplayNames.d.ts.map +1 -0
  1234. package/dist/lib/react/defineComponentDisplayNames.js +8 -0
  1235. package/dist/lib/react/defineComponentDisplayNames.js.map +1 -0
  1236. package/dist/vkui.css +1 -1
  1237. package/dist/vkui.css.map +1 -1
  1238. package/package.json +13 -9
  1239. package/src/components/Accordion/Accordion.module.css.d.ts.map +1 -0
  1240. package/src/components/Accordion/Accordion.tsx +12 -5
  1241. package/src/components/Accordion/AccordionContent.tsx +2 -4
  1242. package/src/components/Accordion/AccordionContext.tsx +13 -0
  1243. package/src/components/Accordion/AccordionSummary.tsx +1 -3
  1244. package/src/components/ActionSheet/ActionSheet.module.css.d.ts.map +1 -0
  1245. package/src/components/ActionSheet/ActionSheet.tsx +29 -2
  1246. package/src/components/ActionSheet/ActionSheetContext.ts +23 -0
  1247. package/src/components/ActionSheet/ActionSheetDefaultIosCloseItem.tsx +6 -3
  1248. package/src/components/ActionSheet/types.ts +8 -5
  1249. package/src/components/ActionSheetItem/ActionSheetItem.module.css.d.ts.map +1 -0
  1250. package/src/components/ActionSheetItem/ActionSheetItem.tsx +40 -8
  1251. package/src/components/ActionSheetItem/helpers.ts +2 -2
  1252. package/src/components/ActionSheetItem/subcomponents/Radio/Radio.module.css.d.ts.map +1 -0
  1253. package/src/components/AdaptiveIconRenderer/AdaptiveIconRenderer.tsx +6 -0
  1254. package/src/components/AdaptivityProvider/AdaptivityContext.tsx +12 -4
  1255. package/src/components/Alert/Alert.module.css +2 -2
  1256. package/src/components/Alert/Alert.module.css.d.ts.map +1 -0
  1257. package/src/components/Alert/Alert.tsx +42 -13
  1258. package/src/components/Alert/AlertAction.tsx +6 -0
  1259. package/src/components/Alert/AlertActions.tsx +3 -0
  1260. package/src/components/Alert/AlertBase.tsx +8 -0
  1261. package/src/components/Alert/AlertTypography.tsx +1 -0
  1262. package/src/components/AppRoot/AppRoot.module.css.d.ts.map +1 -0
  1263. package/src/components/AppRoot/AppRoot.tsx +7 -5
  1264. package/src/components/AppRoot/AppRootContext.ts +3 -1
  1265. package/src/components/AppRoot/AppRootPortal.tsx +11 -4
  1266. package/src/components/AppRoot/AppRootStyleContainer/AppRootStyleContainer.module.css.d.ts.map +1 -0
  1267. package/src/components/AppRoot/ScrollContext.tsx +6 -5
  1268. package/src/components/AppRoot/types.ts +2 -0
  1269. package/src/components/AspectRatio/AspectRatio.module.css.d.ts.map +1 -0
  1270. package/src/components/AspectRatio/AspectRatio.tsx +4 -1
  1271. package/src/components/Avatar/Avatar.module.css.d.ts.map +1 -0
  1272. package/src/components/Avatar/Avatar.tsx +8 -9
  1273. package/src/components/Avatar/AvatarBadge/AvatarBadge.module.css.d.ts.map +1 -0
  1274. package/src/components/Avatar/AvatarBadge/AvatarBadge.tsx +1 -6
  1275. package/src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx +1 -3
  1276. package/src/components/Avatar/AvatarBadge/icons.tsx +2 -0
  1277. package/src/components/Badge/Badge.module.css.d.ts.map +1 -0
  1278. package/src/components/Badge/Badge.tsx +3 -0
  1279. package/src/components/Banner/Banner.module.css.d.ts.map +1 -0
  1280. package/src/components/Banner/Banner.tsx +8 -5
  1281. package/src/components/Button/Button.module.css.d.ts.map +1 -0
  1282. package/src/components/Button/Button.tsx +27 -0
  1283. package/src/components/ButtonGroup/ButtonGroup.module.css.d.ts.map +1 -0
  1284. package/src/components/ButtonGroup/ButtonGroup.tsx +0 -2
  1285. package/src/components/Calendar/Calendar.module.css.d.ts.map +1 -0
  1286. package/src/components/Calendar/Calendar.tsx +135 -27
  1287. package/src/components/CalendarDay/CalendarDay.module.css.d.ts.map +1 -0
  1288. package/src/components/CalendarDay/CalendarDay.tsx +93 -11
  1289. package/src/components/CalendarDays/CalendarDays.module.css.d.ts.map +1 -0
  1290. package/src/components/CalendarDays/CalendarDays.tsx +166 -49
  1291. package/src/components/CalendarHeader/CalendarHeader.module.css.d.ts.map +1 -0
  1292. package/src/components/CalendarHeader/CalendarHeader.tsx +56 -6
  1293. package/src/components/CalendarRange/CalendarRange.module.css.d.ts.map +1 -0
  1294. package/src/components/CalendarRange/CalendarRange.tsx +73 -19
  1295. package/src/components/CalendarTime/CalendarTime.module.css.d.ts.map +1 -0
  1296. package/src/components/CalendarTime/CalendarTime.tsx +65 -15
  1297. package/src/components/Card/Card.module.css +2 -2
  1298. package/src/components/Card/Card.module.css.d.ts.map +1 -0
  1299. package/src/components/Card/Card.tsx +3 -0
  1300. package/src/components/CardGrid/CardGrid.module.css.d.ts.map +1 -0
  1301. package/src/components/CardGrid/CardGrid.tsx +4 -1
  1302. package/src/components/CardScroll/CardScroll.module.css.d.ts.map +1 -0
  1303. package/src/components/CardScroll/CardScroll.tsx +2 -2
  1304. package/src/components/CarouselBase/Bullets.tsx +4 -3
  1305. package/src/components/CarouselBase/CarouselBase.module.css.d.ts.map +1 -0
  1306. package/src/components/CarouselBase/CarouselBase.tsx +6 -6
  1307. package/src/components/CarouselBase/CarouselViewPort.tsx +3 -2
  1308. package/src/components/CarouselBase/ScrollArrows.tsx +5 -4
  1309. package/src/components/CarouselBase/helpers.ts +3 -2
  1310. package/src/components/CarouselBase/types.ts +22 -20
  1311. package/src/components/Cell/Cell.module.css.d.ts.map +1 -0
  1312. package/src/components/Cell/Cell.tsx +13 -8
  1313. package/src/components/Cell/CellCheckbox/CellCheckbox.module.css.d.ts.map +1 -0
  1314. package/src/components/Cell/CellDragger/CellDragger.module.css.d.ts.map +1 -0
  1315. package/src/components/Cell/CellDragger/CellDragger.tsx +1 -0
  1316. package/src/components/CellButton/CellButton.module.css.d.ts.map +1 -0
  1317. package/src/components/CellButton/CellButton.tsx +3 -0
  1318. package/src/components/CellButtonGroup/CellButtonGroup.tsx +5 -3
  1319. package/src/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.module.css.d.ts.map +1 -0
  1320. package/src/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.tsx +0 -2
  1321. package/src/components/Checkbox/Checkbox.tsx +6 -0
  1322. package/src/components/Checkbox/CheckboxInput/CheckboxInput.module.css.d.ts.map +1 -0
  1323. package/src/components/Checkbox/CheckboxInput/CheckboxInput.tsx +21 -0
  1324. package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.module.css.d.ts.map +1 -0
  1325. package/src/components/ChipsInput/ChipsInput.tsx +3 -1
  1326. package/src/components/ChipsInput/useChipsInput.ts +53 -19
  1327. package/src/components/ChipsInputBase/Chip/Chip.module.css.d.ts.map +1 -0
  1328. package/src/components/ChipsInputBase/ChipsInputBase.module.css.d.ts.map +1 -0
  1329. package/src/components/ChipsInputBase/ChipsInputBase.tsx +1 -0
  1330. package/src/components/ChipsInputBase/helpers.ts +5 -1
  1331. package/src/components/ChipsInputBase/types.ts +87 -7
  1332. package/src/components/ChipsSelect/ChipsSelect.module.css.d.ts.map +1 -0
  1333. package/src/components/ChipsSelect/ChipsSelect.tsx +23 -11
  1334. package/src/components/ChipsSelect/types.ts +2 -0
  1335. package/src/components/ChipsSelect/useChipsSelect.ts +17 -6
  1336. package/src/components/Clickable/Clickable.module.css.d.ts.map +1 -0
  1337. package/src/components/Clickable/Clickable.tsx +6 -5
  1338. package/src/components/Clickable/RealClickable.tsx +1 -1
  1339. package/src/components/Clickable/useState.tsx +16 -14
  1340. package/src/components/Clickable/useStateWithDelay.tsx +1 -1
  1341. package/src/components/ColorSchemeProvider/ColorSchemeProvider.tsx +6 -4
  1342. package/src/components/ConfigProvider/ConfigProvider.tsx +3 -0
  1343. package/src/components/ConfigProvider/ConfigProviderContext.tsx +7 -7
  1344. package/src/components/ConfigProvider/ConfigProviderOverride.tsx +4 -1
  1345. package/src/components/ContentBadge/ContentBadge.module.css.d.ts.map +1 -0
  1346. package/src/components/ContentBadge/ContentBadge.tsx +7 -5
  1347. package/src/components/ContentBadge/ContentBadgeContext.tsx +1 -0
  1348. package/src/components/ContentBadge/ContentBadgeSlotIcon.tsx +1 -3
  1349. package/src/components/ContentCard/ContentCard.module.css.d.ts.map +1 -0
  1350. package/src/components/ContentCard/ContentCard.tsx +12 -9
  1351. package/src/components/Counter/Counter.module.css.d.ts.map +1 -0
  1352. package/src/components/Counter/Counter.tsx +6 -4
  1353. package/src/components/CustomScrollView/CustomScrollView.module.css.d.ts.map +1 -0
  1354. package/src/components/CustomScrollView/CustomScrollView.tsx +14 -5
  1355. package/src/components/CustomSelect/CustomSelect.module.css.d.ts.map +1 -0
  1356. package/src/components/CustomSelect/CustomSelect.tsx +59 -13
  1357. package/src/components/CustomSelect/CustomSelectClearButton.tsx +9 -0
  1358. package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.module.css.d.ts.map +1 -0
  1359. package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx +1 -0
  1360. package/src/components/CustomSelectDropdown/CustomSelectDropdown.module.css.d.ts.map +1 -0
  1361. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +5 -2
  1362. package/src/components/CustomSelectOption/CustomSelectOption.module.css.d.ts.map +1 -0
  1363. package/src/components/DateInput/DateInput.module.css.d.ts.map +1 -0
  1364. package/src/components/DateInput/DateInput.tsx +221 -72
  1365. package/src/components/DateInput/hooks.ts +34 -23
  1366. package/src/components/DateRangeInput/DateRangeInput.module.css.d.ts.map +1 -0
  1367. package/src/components/DateRangeInput/DateRangeInput.tsx +68 -11
  1368. package/src/components/DirectionProvider/DirectionProvider.tsx +7 -1
  1369. package/src/components/Div/Div.module.css.d.ts.map +1 -0
  1370. package/src/components/DropZone/DropZone.module.css.d.ts.map +1 -0
  1371. package/src/components/DropZone/DropZone.tsx +11 -3
  1372. package/src/components/DropZone/components/DropZoneGrid.module.css.d.ts.map +1 -0
  1373. package/src/components/DropZone/components/DropZoneGrid.tsx +4 -6
  1374. package/src/components/DropdownIcon/DropdownIcon.tsx +1 -0
  1375. package/src/components/Epic/Epic.module.css.d.ts.map +1 -0
  1376. package/src/components/Epic/Epic.tsx +10 -0
  1377. package/src/components/Epic/ScrollSaver.tsx +1 -0
  1378. package/src/components/FixedLayout/FixedLayout.module.css.d.ts.map +1 -0
  1379. package/src/components/FixedLayout/FixedLayout.tsx +3 -7
  1380. package/src/components/Flex/Flex.module.css.d.ts.map +1 -0
  1381. package/src/components/Flex/FlexItem/FlexItem.module.css.d.ts.map +1 -0
  1382. package/src/components/Flex/FlexItem/FlexItem.tsx +3 -3
  1383. package/src/components/FloatingArrow/DefaultIcon.tsx +1 -1
  1384. package/src/components/FloatingArrow/FloatingArrow.module.css.d.ts.map +1 -0
  1385. package/src/components/FloatingArrow/FloatingArrow.tsx +17 -0
  1386. package/src/components/FocusTrap/FocusTrap.tsx +2 -0
  1387. package/src/components/Footer/Footer.module.css.d.ts.map +1 -0
  1388. package/src/components/FormField/FormField.module.css.d.ts.map +1 -0
  1389. package/src/components/FormField/FormField.tsx +11 -5
  1390. package/src/components/FormFieldClearButton/FormFieldClearButton.tsx +9 -0
  1391. package/src/components/FormItem/FormItem.module.css +1 -0
  1392. package/src/components/FormItem/FormItem.module.css.d.ts.map +1 -0
  1393. package/src/components/FormItem/FormItem.tsx +24 -10
  1394. package/src/components/FormItem/FormItemTop/FormItemTop.tsx +1 -3
  1395. package/src/components/FormItem/FormItemTop/FormItemTopAside.tsx +1 -6
  1396. package/src/components/FormItem/FormItemTop/FormItemTopLabel.tsx +1 -3
  1397. package/src/components/FormItem/context.ts +2 -0
  1398. package/src/components/FormLayoutGroup/FormLayoutGroup.module.css.d.ts.map +1 -0
  1399. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +3 -0
  1400. package/src/components/FormStatus/FormStatus.module.css.d.ts.map +1 -0
  1401. package/src/components/FormStatus/FormStatus.tsx +6 -0
  1402. package/src/components/Gallery/Gallery.tsx +6 -0
  1403. package/src/components/Gallery/hooks.ts +2 -0
  1404. package/src/components/Gradient/Gradient.module.css.d.ts.map +1 -0
  1405. package/src/components/Gradient/Gradient.tsx +2 -2
  1406. package/src/components/GridAvatar/GridAvatar.module.css.d.ts.map +1 -0
  1407. package/src/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.module.css.d.ts.map +1 -0
  1408. package/src/components/Group/Group.module.css.d.ts.map +1 -0
  1409. package/src/components/Group/Group.tsx +14 -5
  1410. package/src/components/Group/GroupContainer.tsx +1 -2
  1411. package/src/components/Group/GroupDescription.tsx +2 -6
  1412. package/src/components/Group/GroupExpandedContent.tsx +5 -8
  1413. package/src/components/Group/GroupHeader.tsx +1 -6
  1414. package/src/components/Header/Header.module.css.d.ts.map +1 -0
  1415. package/src/components/Header/Header.tsx +19 -8
  1416. package/src/components/HorizontalCell/HorizontalCell.module.css.d.ts.map +1 -0
  1417. package/src/components/HorizontalCell/HorizontalCell.tsx +5 -5
  1418. package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.module.css.d.ts.map +1 -0
  1419. package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx +3 -3
  1420. package/src/components/HorizontalScroll/HorizontalScroll.module.css.d.ts.map +1 -0
  1421. package/src/components/HorizontalScroll/HorizontalScroll.tsx +26 -15
  1422. package/src/components/IconButton/IconButton.module.css.d.ts.map +1 -0
  1423. package/src/components/IconButton/IconButton.tsx +1 -1
  1424. package/src/components/Image/Image.module.css.d.ts.map +1 -0
  1425. package/src/components/Image/Image.tsx +11 -11
  1426. package/src/components/Image/ImageBadge/ImageBadge.module.css.d.ts.map +1 -0
  1427. package/src/components/Image/ImageBadge/ImageBadge.tsx +1 -6
  1428. package/src/components/ImageBase/ImageBase.module.css.d.ts.map +1 -0
  1429. package/src/components/ImageBase/ImageBase.tsx +14 -15
  1430. package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.module.css.d.ts.map +1 -0
  1431. package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.tsx +2 -7
  1432. package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.module.css.d.ts.map +1 -0
  1433. package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.tsx +4 -6
  1434. package/src/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.module.css.d.ts.map +1 -0
  1435. package/src/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.tsx +1 -3
  1436. package/src/components/ImageBase/ImageBaseOverlay/types.ts +6 -0
  1437. package/src/components/ImageBase/helpers.ts +3 -3
  1438. package/src/components/ImageBase/types.ts +18 -0
  1439. package/src/components/ImageBase/validators.ts +4 -3
  1440. package/src/components/InfoRow/InfoRow.module.css.d.ts.map +1 -0
  1441. package/src/components/InfoRow/InfoRow.tsx +3 -0
  1442. package/src/components/Input/Input.module.css.d.ts.map +1 -0
  1443. package/src/components/InputLike/InputLike.module.css +1 -1
  1444. package/src/components/InputLike/InputLike.module.css.d.ts.map +1 -0
  1445. package/src/components/InputLike/InputLike.tsx +5 -6
  1446. package/src/components/Link/Link.module.css +2 -4
  1447. package/src/components/Link/Link.module.css.d.ts.map +1 -0
  1448. package/src/components/Link/Link.tsx +4 -6
  1449. package/src/components/List/List.module.css.d.ts.map +1 -0
  1450. package/src/components/List/List.tsx +1 -1
  1451. package/src/components/LocaleProvider/LocaleProvider.tsx +5 -2
  1452. package/src/components/Mark/Mark.module.css.d.ts.map +1 -0
  1453. package/src/components/MiniInfoCell/MiniInfoCell.module.css.d.ts.map +1 -0
  1454. package/src/components/MiniInfoCell/MiniInfoCell.tsx +3 -3
  1455. package/src/components/ModalCard/ModalCard.module.css.d.ts.map +1 -0
  1456. package/src/components/ModalCard/ModalCard.tsx +2 -9
  1457. package/src/components/ModalCard/ModalCardInternal.tsx +1 -0
  1458. package/src/components/ModalCard/types.ts +1 -1
  1459. package/src/components/ModalCardBase/ModalCardBase.module.css.d.ts.map +1 -0
  1460. package/src/components/ModalCardBase/ModalCardBase.tsx +26 -18
  1461. package/src/components/ModalDismissButton/ModalDismissButton.module.css.d.ts.map +1 -0
  1462. package/src/components/ModalDismissButton/ModalDismissButton.tsx +3 -0
  1463. package/src/components/ModalOutlet/ModalOutlet.module.css.d.ts.map +1 -0
  1464. package/src/components/ModalOutlet/ModalOutlet.tsx +2 -0
  1465. package/src/components/ModalOutsideButton/ModalOutsideButton.module.css.d.ts.map +1 -0
  1466. package/src/components/ModalOutsideButton/ModalOutsideButton.tsx +2 -2
  1467. package/src/components/ModalOutsideButtons/ModalOutsideButtons.module.css.d.ts.map +1 -0
  1468. package/src/components/ModalOverlay/ModalOverlay.module.css +1 -1
  1469. package/src/components/ModalOverlay/ModalOverlay.module.css.d.ts.map +1 -0
  1470. package/src/components/ModalOverlay/ModalOverlay.tsx +1 -0
  1471. package/src/components/ModalPage/ModalPage.module.css.d.ts.map +1 -0
  1472. package/src/components/ModalPage/ModalPage.tsx +3 -10
  1473. package/src/components/ModalPage/ModalPageBase.tsx +3 -2
  1474. package/src/components/ModalPage/ModalPageInternal.tsx +1 -0
  1475. package/src/components/ModalPage/types.ts +11 -8
  1476. package/src/components/ModalPageContent/ModalPageContent.module.css.d.ts.map +1 -0
  1477. package/src/components/ModalPageFooter/ModalPageFooter.module.css.d.ts.map +1 -0
  1478. package/src/components/ModalPageFooter/ModalPageFooter.tsx +6 -0
  1479. package/src/components/ModalPageHeader/ModalPageHeader.module.css.d.ts.map +1 -0
  1480. package/src/components/ModalPageHeader/ModalPageHeader.tsx +3 -0
  1481. package/src/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.module.css.d.ts.map +1 -0
  1482. package/src/components/ModalRoot/types.ts +22 -16
  1483. package/src/components/ModalRoot/useModalManager.tsx +14 -5
  1484. package/src/components/ModalRoot/useModalRootContext.ts +1 -1
  1485. package/src/components/ModalRoot/withModalRootContext.tsx +2 -2
  1486. package/src/components/NativeSelect/NativeSelect.tsx +15 -6
  1487. package/src/components/NavTransitionContext/NavTransitionContext.tsx +1 -0
  1488. package/src/components/OnboardingTooltip/OnboardingTooltip.module.css.d.ts.map +1 -0
  1489. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +2 -2
  1490. package/src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx +8 -1
  1491. package/src/components/OnboardingTooltip/OnboardingTooltipContext.tsx +2 -0
  1492. package/src/components/Pagination/Pagination.module.css.d.ts.map +1 -0
  1493. package/src/components/Pagination/Pagination.tsx +10 -4
  1494. package/src/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.tsx +2 -0
  1495. package/src/components/Pagination/PaginationPage/PaginationPage.module.css.d.ts.map +1 -0
  1496. package/src/components/Pagination/PaginationPage/PaginationPageButton.tsx +2 -0
  1497. package/src/components/Pagination/PaginationPage/PaginationPageEllipsis.tsx +1 -0
  1498. package/src/components/Pagination/PaginationPage/usePaginationPageClasses.ts +2 -0
  1499. package/src/components/Panel/Panel.module.css.d.ts.map +1 -0
  1500. package/src/components/Panel/Panel.tsx +4 -1
  1501. package/src/components/PanelHeader/PanelHeader.module.css +2 -2
  1502. package/src/components/PanelHeader/PanelHeader.module.css.d.ts.map +1 -0
  1503. package/src/components/PanelHeader/PanelHeader.tsx +15 -2
  1504. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +6 -0
  1505. package/src/components/PanelHeaderButton/PanelHeaderButton.module.css.d.ts.map +1 -0
  1506. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +13 -3
  1507. package/src/components/PanelHeaderContent/PanelHeaderContent.module.css.d.ts.map +1 -0
  1508. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +15 -0
  1509. package/src/components/PanelHeaderContext/PanelHeaderContext.module.css +5 -5
  1510. package/src/components/PanelHeaderContext/PanelHeaderContext.module.css.d.ts.map +1 -0
  1511. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +8 -0
  1512. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +3 -3
  1513. package/src/components/PanelSpinner/PanelSpinner.tsx +9 -2
  1514. package/src/components/Placeholder/Placeholder.module.css.d.ts.map +1 -0
  1515. package/src/components/Placeholder/Placeholder.tsx +5 -5
  1516. package/src/components/PlatformProvider/PlatformProvider.tsx +5 -2
  1517. package/src/components/PopoutWrapper/PopoutWrapper.module.css.d.ts.map +1 -0
  1518. package/src/components/PopoutWrapper/PopoutWrapper.tsx +4 -4
  1519. package/src/components/Popover/Popover.module.css.d.ts.map +1 -0
  1520. package/src/components/Popover/Popover.tsx +7 -4
  1521. package/src/components/Popover/usePopover.tsx +9 -0
  1522. package/src/components/Popper/Popper.module.css.d.ts.map +1 -0
  1523. package/src/components/Popper/Popper.tsx +4 -1
  1524. package/src/components/Progress/Progress.module.css.d.ts.map +1 -0
  1525. package/src/components/Progress/Progress.tsx +6 -3
  1526. package/src/components/PullToRefresh/PullToRefresh.module.css +1 -1
  1527. package/src/components/PullToRefresh/PullToRefresh.module.css.d.ts.map +1 -0
  1528. package/src/components/PullToRefresh/PullToRefresh.tsx +2 -2
  1529. package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +2 -0
  1530. package/src/components/Radio/Radio.module.css.d.ts.map +1 -0
  1531. package/src/components/Radio/Radio.tsx +7 -1
  1532. package/src/components/Radio/RadioInput/RadioInput.module.css.d.ts.map +1 -0
  1533. package/src/components/RadioGroup/RadioGroup.module.css.d.ts.map +1 -0
  1534. package/src/components/RadioGroup/RadioGroup.tsx +3 -0
  1535. package/src/components/Removable/Removable.module.css.d.ts.map +1 -0
  1536. package/src/components/Removable/Removable.tsx +12 -8
  1537. package/src/components/RichCell/RichCell.module.css.d.ts.map +1 -0
  1538. package/src/components/RichCell/RichCell.tsx +6 -6
  1539. package/src/components/RichCell/RichCellIcon/RichCellIcon.module.css.d.ts.map +1 -0
  1540. package/src/components/Root/Root.module.css.d.ts.map +1 -0
  1541. package/src/components/Root/Root.tsx +11 -0
  1542. package/src/components/RootComponent/RootComponent.module.css.d.ts.map +1 -0
  1543. package/src/components/RootComponent/RootComponent.tsx +12 -2
  1544. package/src/components/ScreenSpinner/ScreenSpinner.module.css.d.ts.map +1 -0
  1545. package/src/components/ScreenSpinner/ScreenSpinner.tsx +7 -7
  1546. package/src/components/ScreenSpinner/ScreenSpinnerContainer.tsx +1 -4
  1547. package/src/components/ScreenSpinner/ScreenSpinnerLoader.tsx +3 -6
  1548. package/src/components/ScreenSpinner/ScreenSpinnerSwapIcon.tsx +3 -6
  1549. package/src/components/ScreenSpinner/context.ts +9 -0
  1550. package/src/components/ScreenSpinner/types.tsx +23 -14
  1551. package/src/components/ScrollArrow/ScrollArrow.module.css.d.ts.map +1 -0
  1552. package/src/components/ScrollArrow/ScrollArrow.tsx +5 -2
  1553. package/src/components/Search/Search.module.css.d.ts.map +1 -0
  1554. package/src/components/Search/Search.tsx +24 -6
  1555. package/src/components/SegmentedControl/SegmentedControl.module.css +2 -2
  1556. package/src/components/SegmentedControl/SegmentedControl.module.css.d.ts.map +1 -0
  1557. package/src/components/SegmentedControl/SegmentedControl.tsx +25 -1
  1558. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css.d.ts.map +1 -0
  1559. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +1 -0
  1560. package/src/components/Select/Select.module.css.d.ts.map +1 -0
  1561. package/src/components/SelectMimicry/SelectMimicry.tsx +9 -0
  1562. package/src/components/SelectTypography/SelectTypography.tsx +2 -0
  1563. package/src/components/SelectionControl/SelectionControl.module.css.d.ts.map +1 -0
  1564. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.module.css.d.ts.map +1 -0
  1565. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.tsx +1 -0
  1566. package/src/components/Separator/Separator.module.css.d.ts.map +1 -0
  1567. package/src/components/Separator/Separator.tsx +6 -6
  1568. package/src/components/SimpleCell/Chevron/Chevron.tsx +2 -0
  1569. package/src/components/SimpleCell/SimpleCell.module.css.d.ts.map +1 -0
  1570. package/src/components/SimpleCell/SimpleCell.tsx +5 -5
  1571. package/src/components/SimpleGrid/SimpleGrid.module.css.d.ts.map +1 -0
  1572. package/src/components/SimpleGrid/SimpleGrid.tsx +4 -4
  1573. package/src/components/Skeleton/Skeleton.module.css.d.ts.map +1 -0
  1574. package/src/components/Skeleton/Skeleton.tsx +9 -9
  1575. package/src/components/Slider/Slider.module.css.d.ts.map +1 -0
  1576. package/src/components/Slider/Slider.tsx +41 -2
  1577. package/src/components/Slider/SliderThumb/SliderThumb.module.css.d.ts.map +1 -0
  1578. package/src/components/Slider/SliderThumb/SliderThumb.tsx +1 -0
  1579. package/src/components/Slider/types.ts +2 -0
  1580. package/src/components/Snackbar/Snackbar.module.css.d.ts.map +1 -0
  1581. package/src/components/Snackbar/Snackbar.tsx +4 -4
  1582. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css.d.ts.map +1 -0
  1583. package/src/components/Snackbar/subcomponents/Basic/Basic.tsx +6 -6
  1584. package/src/components/Snackbar/types.ts +2 -0
  1585. package/src/components/Spacing/Spacing.module.css.d.ts.map +1 -0
  1586. package/src/components/Spacing/Spacing.tsx +3 -3
  1587. package/src/components/Spinner/Spinner.module.css.d.ts.map +1 -0
  1588. package/src/components/Spinner/Spinner.tsx +14 -4
  1589. package/src/components/Spinner/SpinnerAnimation.tsx +1 -0
  1590. package/src/components/Spinner/icons.tsx +53 -0
  1591. package/src/components/SplitCol/SplitCol.module.css.d.ts.map +1 -0
  1592. package/src/components/SplitCol/SplitCol.tsx +15 -3
  1593. package/src/components/SplitCol/SplitColContext.tsx +2 -0
  1594. package/src/components/SplitLayout/SplitLayout.module.css.d.ts.map +1 -0
  1595. package/src/components/SplitLayout/SplitLayout.tsx +5 -2
  1596. package/src/components/SubnavigationBar/SubnavigationBar.module.css.d.ts.map +1 -0
  1597. package/src/components/SubnavigationBar/SubnavigationBar.tsx +3 -0
  1598. package/src/components/SubnavigationButton/SubnavigationButton.module.css.d.ts.map +1 -0
  1599. package/src/components/SubnavigationButton/SubnavigationButton.tsx +19 -4
  1600. package/src/components/Switch/Switch.module.css +3 -3
  1601. package/src/components/Switch/Switch.module.css.d.ts.map +1 -0
  1602. package/src/components/Tabbar/Tabbar.module.css.d.ts.map +1 -0
  1603. package/src/components/Tabbar/Tabbar.tsx +2 -2
  1604. package/src/components/TabbarItem/TabbarItem.module.css.d.ts.map +1 -0
  1605. package/src/components/TabbarItem/TabbarItem.tsx +5 -2
  1606. package/src/components/Tabs/Tabs.module.css.d.ts.map +1 -0
  1607. package/src/components/Tabs/Tabs.tsx +7 -6
  1608. package/src/components/TabsItem/TabsItem.module.css.d.ts.map +1 -0
  1609. package/src/components/TabsItem/TabsItem.tsx +16 -16
  1610. package/src/components/Tappable/Ripple.tsx +4 -2
  1611. package/src/components/Tappable/Tappable.module.css +1 -1
  1612. package/src/components/Tappable/Tappable.module.css.d.ts.map +1 -0
  1613. package/src/components/Tappable/Tappable.tsx +13 -1
  1614. package/src/components/Tappable/state.tsx +5 -5
  1615. package/src/components/Textarea/Textarea.module.css.d.ts.map +1 -0
  1616. package/src/components/Textarea/Textarea.tsx +9 -0
  1617. package/src/components/ToolButton/ToolButton.module.css.d.ts.map +1 -0
  1618. package/src/components/ToolButton/ToolButton.tsx +9 -0
  1619. package/src/components/Tooltip/Tooltip.tsx +1 -1
  1620. package/src/components/Tooltip/useTooltip.tsx +9 -0
  1621. package/src/components/TooltipBase/TooltipBase.module.css.d.ts.map +1 -0
  1622. package/src/components/TooltipBase/TooltipBase.tsx +5 -5
  1623. package/src/components/Touch/Touch.tsx +152 -7
  1624. package/src/components/Touch/TouchContext.ts +1 -1
  1625. package/src/components/Typography/Caption/Caption.module.css.d.ts.map +1 -0
  1626. package/src/components/Typography/Caption/Caption.tsx +3 -0
  1627. package/src/components/Typography/DisplayTitle/DisplayTitle.module.css.d.ts.map +1 -0
  1628. package/src/components/Typography/DisplayTitle/DisplayTitle.tsx +3 -0
  1629. package/src/components/Typography/EllipsisText/EllipsisText.module.css.d.ts.map +1 -0
  1630. package/src/components/Typography/EllipsisText/EllipsisText.tsx +3 -3
  1631. package/src/components/Typography/Footnote/Footnote.module.css.d.ts.map +1 -0
  1632. package/src/components/Typography/Headline/Headline.module.css.d.ts.map +1 -0
  1633. package/src/components/Typography/Headline/Headline.tsx +3 -0
  1634. package/src/components/Typography/Paragraph/Paragraph.module.css.d.ts.map +1 -0
  1635. package/src/components/Typography/Subhead/Subhead.module.css.d.ts.map +1 -0
  1636. package/src/components/Typography/Text/Text.module.css.d.ts.map +1 -0
  1637. package/src/components/Typography/Title/Title.module.css.d.ts.map +1 -0
  1638. package/src/components/Typography/Title/Title.tsx +3 -0
  1639. package/src/components/Typography/Typography.module.css.d.ts.map +1 -0
  1640. package/src/components/Typography/Typography.tsx +6 -3
  1641. package/src/components/UnstyledTextField/UnstyledTextField.module.css.d.ts.map +1 -0
  1642. package/src/components/UnstyledTextField/UnstyledTextField.tsx +6 -0
  1643. package/src/components/UsersStack/UsersStack.module.css.d.ts.map +1 -0
  1644. package/src/components/UsersStack/UsersStack.tsx +22 -4
  1645. package/src/components/View/View.module.css +1 -1
  1646. package/src/components/View/View.module.css.d.ts.map +1 -0
  1647. package/src/components/View/View.tsx +15 -4
  1648. package/src/components/View/ViewInfinite.tsx +18 -3
  1649. package/src/components/View/useLayoutEffectCall.tsx +1 -1
  1650. package/src/components/VisuallyHidden/VisuallyHidden.module.css.d.ts.map +1 -0
  1651. package/src/components/WriteBar/WriteBar.module.css.d.ts.map +1 -0
  1652. package/src/components/WriteBar/WriteBar.tsx +7 -5
  1653. package/src/components/WriteBarIcon/WriteBarIcon.module.css.d.ts.map +1 -0
  1654. package/src/components/WriteBarIcon/WriteBarIcon.tsx +2 -2
  1655. package/src/hooks/useCalendar.ts +9 -1
  1656. package/src/hooks/useDateInput.ts +66 -33
  1657. package/src/hooks/useFocusTrap.ts +29 -5
  1658. package/src/hooks/useLocale.ts +7 -0
  1659. package/src/index.ts +1 -0
  1660. package/src/lib/animation/useCSSTransition.stories.module.css.d.ts.map +1 -0
  1661. package/src/lib/calendar.ts +20 -3
  1662. package/src/lib/date.ts +6 -0
  1663. package/src/lib/dom.tsx +8 -0
  1664. package/src/lib/platform.ts +6 -3
  1665. package/src/lib/react/defineComponentDisplayNames.ts +6 -0
  1666. package/src/lib/tokens/TokensClassProvider.module.css.d.ts.map +1 -0
  1667. package/src/styles/adaptivity.module.css.d.ts.map +1 -0
  1668. package/src/styles/animationFades.module.css.d.ts.map +1 -0
  1669. package/src/styles/common.css.d.ts.map +1 -0
  1670. package/src/styles/constants.css +2 -2
  1671. package/src/styles/constants.css.d.ts.map +1 -0
  1672. package/src/styles/customMedias.generated.css.d.ts.map +1 -0
  1673. package/src/styles/dynamicTokens.css.d.ts.map +1 -0
  1674. package/src/styles/focusVisible.module.css.d.ts.map +1 -0
  1675. package/src/styles/gaps.module.css.d.ts.map +1 -0
  1676. package/src/styles/missedThemeTokens.css.d.ts.map +1 -0
  1677. package/src/styles/spacings.module.css.d.ts.map +1 -0
  1678. package/src/styles/themes.css.d.ts.map +1 -0
  1679. package/src/styles/transformOriginByPlacement.module.css.d.ts.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ContentCard/ContentCard.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { getFetchPriorityProp } from '../../lib/utils';\nimport type { HasComponent, HasRef, HasRootRef } from '../../types';\nimport { Card, type CardProps } from '../Card/Card';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Text } from '../Typography/Text/Text';\nimport styles from './ContentCard.module.css';\n\nexport interface ContentCardProps\n extends HasRootRef<HTMLDivElement>,\n HasComponent,\n Omit<TappableProps, 'getRootRef' | 'crossOrigin' | 'title'>,\n Omit<React.ImgHTMLAttributes<HTMLImageElement>, keyof React.HTMLAttributes<HTMLImageElement>>,\n HasRef<HTMLImageElement> {\n /**\n Текст над заголовком\n */\n overTitle?: React.ReactNode;\n /**\n Заголовок\n */\n title?: React.ReactNode;\n /**\n Позволяет поменять тег используемый для заголовка\n */\n titleComponent?: React.ElementType;\n /**\n Текст\n */\n description?: React.ReactNode;\n /**\n Нижний текст\n */\n caption?: React.ReactNode;\n /**\n Максимальная высота изображения\n */\n maxHeight?: number;\n mode?: CardProps['mode'];\n /**\n * Пользовательское значения стиля `object-fit` для картинки\n * Подробнее можно почитать в [документации](https://developer.mozilla.org/ru/docs/Web/CSS/object-fit)\n */\n imageObjectFit?: React.CSSProperties['objectFit'];\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ContentCard\n */\nexport const ContentCard = ({\n overTitle,\n title,\n titleComponent = 'span',\n description,\n caption,\n // card props\n className,\n mode = 'shadow',\n style,\n getRootRef,\n // img props\n getRef,\n maxHeight,\n src,\n srcSet,\n alt = '',\n width = '100%',\n height,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n useMap,\n fetchPriority,\n imageObjectFit,\n hasHover = false,\n hasActive = false,\n Component = 'li',\n ...restProps\n}: ContentCardProps): React.ReactNode => {\n return (\n <Card\n mode={mode}\n getRootRef={getRootRef}\n Component={Component}\n style={style}\n className={classNames(restProps.disabled && styles.disabled, className)}\n >\n <Tappable\n {...restProps}\n hasHover={hasHover}\n hasActive={hasActive}\n className={styles.tappable}\n >\n {(src || srcSet) && (\n <img\n ref={getRef}\n className={styles.img}\n src={src}\n srcSet={srcSet}\n alt={alt}\n crossOrigin={crossOrigin}\n decoding={decoding}\n loading={loading}\n referrerPolicy={referrerPolicy}\n sizes={sizes}\n useMap={useMap}\n {...getFetchPriorityProp(fetchPriority)}\n height={height}\n width={width}\n style={{ maxHeight, objectFit: imageObjectFit }}\n />\n )}\n <div className={styles.body}>\n {hasReactNode(overTitle) && (\n <Caption\n className={classNames(styles.text, styles.overTitle)}\n weight=\"1\"\n level=\"3\"\n caps\n >\n {overTitle}\n </Caption>\n )}\n {hasReactNode(title) && (\n <Headline className={styles.text} weight=\"2\" level=\"1\" Component={titleComponent}>\n {title}\n </Headline>\n )}\n {hasReactNode(description) && <Text className={styles.text}>{description}</Text>}\n {hasReactNode(caption) && (\n <Footnote className={classNames(styles.text, styles.caption)}>{caption}</Footnote>\n )}\n </div>\n </Tappable>\n </Card>\n );\n};\n"],"names":["React","classNames","hasReactNode","getFetchPriorityProp","Card","Tappable","Caption","Footnote","Headline","Text","styles","ContentCard","overTitle","title","titleComponent","description","caption","className","mode","style","getRootRef","getRef","maxHeight","src","srcSet","alt","width","height","crossOrigin","decoding","loading","referrerPolicy","sizes","useMap","fetchPriority","imageObjectFit","hasHover","hasActive","Component","restProps","disabled","tappable","img","ref","objectFit","div","body","text","weight","level","caps"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,oBAAoB,QAAQ,qBAAkB;AAEvD,SAASC,IAAI,QAAwB,kBAAe;AACpD,SAASC,QAAQ,QAA4B,0BAAuB;AACpE,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,IAAI,QAAQ,6BAA0B;AAC/C,OAAOC,YAAY,2BAA2B;AAwC9C;;CAEC,GACD,OAAO,MAAMC,cAAc,CAAC,EAC1BC,SAAS,EACTC,KAAK,EACLC,iBAAiB,MAAM,EACvBC,WAAW,EACXC,OAAO,EACP,aAAa;AACbC,SAAS,EACTC,OAAO,QAAQ,EACfC,KAAK,EACLC,UAAU,EACV,YAAY;AACZC,MAAM,EACNC,SAAS,EACTC,GAAG,EACHC,MAAM,EACNC,MAAM,EAAE,EACRC,QAAQ,MAAM,EACdC,MAAM,EACNC,WAAW,EACXC,QAAQ,EACRC,OAAO,EACPC,cAAc,EACdC,KAAK,EACLC,MAAM,EACNC,aAAa,EACbC,cAAc,EACdC,WAAW,KAAK,EAChBC,YAAY,KAAK,EACjBC,YAAY,IAAI,EAChB,GAAGC,WACc;IACjB,qBACE,KAACnC;QACCc,MAAMA;QACNE,YAAYA;QACZkB,WAAWA;QACXnB,OAAOA;QACPF,WAAWhB,WAAWsC,UAAUC,QAAQ,IAAI9B,OAAO8B,QAAQ,EAAEvB;kBAE7D,cAAA,MAACZ;YACE,GAAGkC,SAAS;YACbH,UAAUA;YACVC,WAAWA;YACXpB,WAAWP,OAAO+B,QAAQ;;gBAExBlB,CAAAA,OAAOC,MAAK,mBACZ,KAACkB;oBACCC,KAAKtB;oBACLJ,WAAWP,OAAOgC,GAAG;oBACrBnB,KAAKA;oBACLC,QAAQA;oBACRC,KAAKA;oBACLG,aAAaA;oBACbC,UAAUA;oBACVC,SAASA;oBACTC,gBAAgBA;oBAChBC,OAAOA;oBACPC,QAAQA;oBACP,GAAG9B,qBAAqB+B,cAAc;oBACvCP,QAAQA;oBACRD,OAAOA;oBACPP,OAAO;wBAAEG;wBAAWsB,WAAWT;oBAAe;;8BAGlD,MAACU;oBAAI5B,WAAWP,OAAOoC,IAAI;;wBACxB5C,aAAaU,4BACZ,KAACN;4BACCW,WAAWhB,WAAWS,OAAOqC,IAAI,EAAErC,OAAOE,SAAS;4BACnDoC,QAAO;4BACPC,OAAM;4BACNC,IAAI;sCAEHtC;;wBAGJV,aAAaW,wBACZ,KAACL;4BAASS,WAAWP,OAAOqC,IAAI;4BAAEC,QAAO;4BAAIC,OAAM;4BAAIX,WAAWxB;sCAC/DD;;wBAGJX,aAAaa,8BAAgB,KAACN;4BAAKQ,WAAWP,OAAOqC,IAAI;sCAAGhC;;wBAC5Db,aAAac,0BACZ,KAACT;4BAASU,WAAWhB,WAAWS,OAAOqC,IAAI,EAAErC,OAAOM,OAAO;sCAAIA;;;;;;;AAM3E,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/ContentCard/ContentCard.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { getFetchPriorityProp } from '../../lib/utils';\nimport type { HasComponent, HasRef, HasRootRef } from '../../types';\nimport { Card, type CardProps } from '../Card/Card';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Text } from '../Typography/Text/Text';\nimport styles from './ContentCard.module.css';\n\nexport interface ContentCardProps\n extends HasRootRef<HTMLDivElement>,\n HasComponent,\n Omit<TappableProps, 'getRootRef' | 'crossOrigin' | 'title'>,\n Omit<React.ImgHTMLAttributes<HTMLImageElement>, keyof React.HTMLAttributes<HTMLImageElement>>,\n HasRef<HTMLImageElement> {\n /**\n Текст над заголовком.\n */\n overTitle?: React.ReactNode;\n /**\n Заголовок.\n */\n title?: React.ReactNode;\n /**\n Позволяет поменять тег используемый для заголовка.\n */\n titleComponent?: React.ElementType;\n /**\n Текст.\n */\n description?: React.ReactNode;\n /**\n Нижний текст.\n */\n caption?: React.ReactNode;\n /**\n Максимальная высота изображения.\n */\n maxHeight?: number;\n /**\n * Внешний вид карточки.\n */\n mode?: CardProps['mode'];\n /**\n * Пользовательское значения стиля `object-fit` для картинки\n * Подробнее можно почитать в [документации](https://developer.mozilla.org/ru/docs/Web/CSS/object-fit).\n */\n imageObjectFit?: React.CSSProperties['objectFit'];\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ContentCard\n */\nexport const ContentCard = ({\n overTitle,\n title,\n titleComponent = 'span',\n description,\n caption,\n // card props\n className,\n mode = 'shadow',\n style,\n getRootRef,\n // img props\n getRef,\n maxHeight,\n src,\n srcSet,\n alt = '',\n width = '100%',\n height,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n useMap,\n fetchPriority,\n imageObjectFit,\n hasHover = false,\n hasActive = false,\n Component = 'li',\n ...restProps\n}: ContentCardProps): React.ReactNode => {\n return (\n <Card\n mode={mode}\n getRootRef={getRootRef}\n Component={Component}\n style={style}\n className={classNames(restProps.disabled && styles.disabled, className)}\n >\n <Tappable\n hasHover={hasHover}\n hasActive={hasActive}\n {...restProps}\n baseClassName={styles.tappable}\n >\n {(src || srcSet) && (\n <img\n ref={getRef}\n className={styles.img}\n src={src}\n srcSet={srcSet}\n alt={alt}\n crossOrigin={crossOrigin}\n decoding={decoding}\n loading={loading}\n referrerPolicy={referrerPolicy}\n sizes={sizes}\n useMap={useMap}\n {...getFetchPriorityProp(fetchPriority)}\n height={height}\n width={width}\n style={{ maxHeight, objectFit: imageObjectFit }}\n />\n )}\n <div className={styles.body}>\n {hasReactNode(overTitle) && (\n <Caption\n className={classNames(styles.text, styles.overTitle)}\n weight=\"1\"\n level=\"3\"\n caps\n >\n {overTitle}\n </Caption>\n )}\n {hasReactNode(title) && (\n <Headline className={styles.text} weight=\"2\" level=\"1\" Component={titleComponent}>\n {title}\n </Headline>\n )}\n {hasReactNode(description) && <Text className={styles.text}>{description}</Text>}\n {hasReactNode(caption) && (\n <Footnote className={classNames(styles.text, styles.caption)}>{caption}</Footnote>\n )}\n </div>\n </Tappable>\n </Card>\n );\n};\n"],"names":["React","classNames","hasReactNode","getFetchPriorityProp","Card","Tappable","Caption","Footnote","Headline","Text","styles","ContentCard","overTitle","title","titleComponent","description","caption","className","mode","style","getRootRef","getRef","maxHeight","src","srcSet","alt","width","height","crossOrigin","decoding","loading","referrerPolicy","sizes","useMap","fetchPriority","imageObjectFit","hasHover","hasActive","Component","restProps","disabled","baseClassName","tappable","img","ref","objectFit","div","body","text","weight","level","caps"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,oBAAoB,QAAQ,qBAAkB;AAEvD,SAASC,IAAI,QAAwB,kBAAe;AACpD,SAASC,QAAQ,QAA4B,0BAAuB;AACpE,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,IAAI,QAAQ,6BAA0B;AAC/C,OAAOC,YAAY,2BAA2B;AA2C9C;;CAEC,GACD,OAAO,MAAMC,cAAc,CAAC,EAC1BC,SAAS,EACTC,KAAK,EACLC,iBAAiB,MAAM,EACvBC,WAAW,EACXC,OAAO,EACP,aAAa;AACbC,SAAS,EACTC,OAAO,QAAQ,EACfC,KAAK,EACLC,UAAU,EACV,YAAY;AACZC,MAAM,EACNC,SAAS,EACTC,GAAG,EACHC,MAAM,EACNC,MAAM,EAAE,EACRC,QAAQ,MAAM,EACdC,MAAM,EACNC,WAAW,EACXC,QAAQ,EACRC,OAAO,EACPC,cAAc,EACdC,KAAK,EACLC,MAAM,EACNC,aAAa,EACbC,cAAc,EACdC,WAAW,KAAK,EAChBC,YAAY,KAAK,EACjBC,YAAY,IAAI,EAChB,GAAGC,WACc;IACjB,qBACE,KAACnC;QACCc,MAAMA;QACNE,YAAYA;QACZkB,WAAWA;QACXnB,OAAOA;QACPF,WAAWhB,WAAWsC,UAAUC,QAAQ,IAAI9B,OAAO8B,QAAQ,EAAEvB;kBAE7D,cAAA,MAACZ;YACC+B,UAAUA;YACVC,WAAWA;YACV,GAAGE,SAAS;YACbE,eAAe/B,OAAOgC,QAAQ;;gBAE5BnB,CAAAA,OAAOC,MAAK,mBACZ,KAACmB;oBACCC,KAAKvB;oBACLJ,WAAWP,OAAOiC,GAAG;oBACrBpB,KAAKA;oBACLC,QAAQA;oBACRC,KAAKA;oBACLG,aAAaA;oBACbC,UAAUA;oBACVC,SAASA;oBACTC,gBAAgBA;oBAChBC,OAAOA;oBACPC,QAAQA;oBACP,GAAG9B,qBAAqB+B,cAAc;oBACvCP,QAAQA;oBACRD,OAAOA;oBACPP,OAAO;wBAAEG;wBAAWuB,WAAWV;oBAAe;;8BAGlD,MAACW;oBAAI7B,WAAWP,OAAOqC,IAAI;;wBACxB7C,aAAaU,4BACZ,KAACN;4BACCW,WAAWhB,WAAWS,OAAOsC,IAAI,EAAEtC,OAAOE,SAAS;4BACnDqC,QAAO;4BACPC,OAAM;4BACNC,IAAI;sCAEHvC;;wBAGJV,aAAaW,wBACZ,KAACL;4BAASS,WAAWP,OAAOsC,IAAI;4BAAEC,QAAO;4BAAIC,OAAM;4BAAIZ,WAAWxB;sCAC/DD;;wBAGJX,aAAaa,8BAAgB,KAACN;4BAAKQ,WAAWP,OAAOsC,IAAI;sCAAGjC;;wBAC5Db,aAAac,0BACZ,KAACT;4BAASU,WAAWhB,WAAWS,OAAOsC,IAAI,EAAEtC,OAAOM,OAAO;sCAAIA;;;;;;;AAM3E,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Counter/Counter.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { type CSSCustomProperties, type HTMLAttributesWithRootRef } from '../../types';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Headline } from '../Typography/Headline/Headline';\nimport styles from './Counter.module.css';\n\nconst modeClassNames = {\n primary: styles.modePrimary,\n contrast: styles.modeContrast,\n tertiary: styles.modeTertiary,\n inherit: styles.modeInherit,\n};\n\nconst appearanceClassNames: Record<string, string> = {\n 'custom': styles.appearanceCustom,\n 'accent': styles.appearanceAccent,\n 'neutral': styles.appearanceNeutral,\n 'accent-green': styles.appearanceAccentGreen,\n 'accent-red': styles.appearanceAccentRed,\n};\n\nconst sizeClassNames = {\n s: styles.sizeS,\n m: styles.sizeM,\n};\n\nexport interface CounterProps extends HTMLAttributesWithRootRef<HTMLSpanElement> {\n /**\n * Режим отображения счетчика\n */\n mode?: 'primary' | 'contrast' | 'tertiary' | 'inherit';\n\n /**\n * Внешний вид счетчика\n */\n appearance?: 'accent' | 'neutral' | 'accent-green' | 'accent-red' | 'custom';\n\n /**\n * Пользовательский цвет (работает только при appearance=\"custom\")\n * - При mode=\"primary\" - изменяет фон\n * - При mode=\"contrast\" - изменяет цвет текста\n * - При mode=\"tertiary\" - изменяет цвет текста\n * - При mode=\"inherit\" - не работает\n */\n color?: string;\n\n size?: 's' | 'm';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Counter\n */\nexport const Counter = ({\n mode = 'inherit',\n appearance: appearanceProp,\n color,\n size = 'm',\n children,\n className,\n style: styleProp,\n ...restProps\n}: CounterProps): React.ReactNode => {\n const appearance = React.useMemo<CounterProps['appearance']>(() => {\n if (mode === 'inherit') {\n return undefined;\n }\n if (appearanceProp) {\n return appearanceProp;\n }\n return 'accent';\n }, [appearanceProp, mode]);\n\n const style: (React.CSSProperties & CSSCustomProperties<string | undefined>) | undefined =\n React.useMemo(() => {\n if (mode === 'inherit' || appearance !== 'custom' || !color) {\n return undefined;\n }\n switch (mode) {\n case 'primary':\n return {\n '--vkui_internal--counter_background': color,\n };\n case 'contrast':\n case 'tertiary':\n return {\n '--vkui_internal--counter_foreground': color,\n };\n }\n }, [appearance, color, mode]);\n\n if (React.Children.count(children) === 0) {\n return null;\n }\n\n const CounterTypography = size === 's' ? Caption : Headline;\n const counterLevel = size === 's' ? '1' : '2';\n\n return (\n <CounterTypography\n {...restProps}\n style={mergeStyle(style, styleProp)}\n Component=\"span\"\n className={classNames(\n 'vkuiInternalCounter',\n styles.host,\n modeClassNames[mode],\n !!appearance && appearanceClassNames[appearance],\n sizeClassNames[size],\n className,\n )}\n level={counterLevel}\n >\n {children}\n </CounterTypography>\n );\n};\n"],"names":["React","classNames","mergeStyle","Caption","Headline","styles","modeClassNames","primary","modePrimary","contrast","modeContrast","tertiary","modeTertiary","inherit","modeInherit","appearanceClassNames","appearanceCustom","appearanceAccent","appearanceNeutral","appearanceAccentGreen","appearanceAccentRed","sizeClassNames","s","sizeS","m","sizeM","Counter","mode","appearance","appearanceProp","color","size","children","className","style","styleProp","restProps","useMemo","undefined","Children","count","CounterTypography","counterLevel","Component","host","level"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,UAAU,QAAQ,8BAA2B;AAEtD,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,OAAOC,YAAY,uBAAuB;AAE1C,MAAMC,iBAAiB;IACrBC,SAASF,OAAOG,WAAW;IAC3BC,UAAUJ,OAAOK,YAAY;IAC7BC,UAAUN,OAAOO,YAAY;IAC7BC,SAASR,OAAOS,WAAW;AAC7B;AAEA,MAAMC,uBAA+C;IACnD,UAAUV,OAAOW,gBAAgB;IACjC,UAAUX,OAAOY,gBAAgB;IACjC,WAAWZ,OAAOa,iBAAiB;IACnC,gBAAgBb,OAAOc,qBAAqB;IAC5C,cAAcd,OAAOe,mBAAmB;AAC1C;AAEA,MAAMC,iBAAiB;IACrBC,GAAGjB,OAAOkB,KAAK;IACfC,GAAGnB,OAAOoB,KAAK;AACjB;AAyBA;;CAEC,GACD,OAAO,MAAMC,UAAU,CAAC,EACtBC,OAAO,SAAS,EAChBC,YAAYC,cAAc,EAC1BC,KAAK,EACLC,OAAO,GAAG,EACVC,QAAQ,EACRC,SAAS,EACTC,OAAOC,SAAS,EAChB,GAAGC,WACU;IACb,MAAMR,aAAa5B,MAAMqC,OAAO,CAA6B;QAC3D,IAAIV,SAAS,WAAW;YACtB,OAAOW;QACT;QACA,IAAIT,gBAAgB;YAClB,OAAOA;QACT;QACA,OAAO;IACT,GAAG;QAACA;QAAgBF;KAAK;IAEzB,MAAMO,QACJlC,MAAMqC,OAAO,CAAC;QACZ,IAAIV,SAAS,aAAaC,eAAe,YAAY,CAACE,OAAO;YAC3D,OAAOQ;QACT;QACA,OAAQX;YACN,KAAK;gBACH,OAAO;oBACL,uCAAuCG;gBACzC;YACF,KAAK;YACL,KAAK;gBACH,OAAO;oBACL,uCAAuCA;gBACzC;QACJ;IACF,GAAG;QAACF;QAAYE;QAAOH;KAAK;IAE9B,IAAI3B,MAAMuC,QAAQ,CAACC,KAAK,CAACR,cAAc,GAAG;QACxC,OAAO;IACT;IAEA,MAAMS,oBAAoBV,SAAS,MAAM5B,UAAUC;IACnD,MAAMsC,eAAeX,SAAS,MAAM,MAAM;IAE1C,qBACE,KAACU;QACE,GAAGL,SAAS;QACbF,OAAOhC,WAAWgC,OAAOC;QACzBQ,WAAU;QACVV,WAAWhC,WACT,uBACAI,OAAOuC,IAAI,EACXtC,cAAc,CAACqB,KAAK,EACpB,CAAC,CAACC,cAAcb,oBAAoB,CAACa,WAAW,EAChDP,cAAc,CAACU,KAAK,EACpBE;QAEFY,OAAOH;kBAENV;;AAGP,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/Counter/Counter.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { type CSSCustomProperties, type HTMLAttributesWithRootRef } from '../../types';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Headline } from '../Typography/Headline/Headline';\nimport styles from './Counter.module.css';\n\nconst modeClassNames = {\n primary: styles.modePrimary,\n contrast: styles.modeContrast,\n tertiary: styles.modeTertiary,\n inherit: styles.modeInherit,\n};\n\nconst appearanceClassNames: Record<string, string> = {\n 'custom': styles.appearanceCustom,\n 'accent': styles.appearanceAccent,\n 'neutral': styles.appearanceNeutral,\n 'accent-green': styles.appearanceAccentGreen,\n 'accent-red': styles.appearanceAccentRed,\n};\n\nconst sizeClassNames = {\n s: styles.sizeS,\n m: styles.sizeM,\n};\n\nexport interface CounterProps extends HTMLAttributesWithRootRef<HTMLSpanElement> {\n /**\n * Режим отображения счетчика.\n */\n mode?: 'primary' | 'contrast' | 'tertiary' | 'inherit';\n\n /**\n * Внешний вид счетчика.\n */\n appearance?: 'accent' | 'neutral' | 'accent-green' | 'accent-red' | 'custom';\n\n /**\n * Пользовательский цвет (работает только при appearance=\"custom\")\n * - При mode=\"primary\" - изменяет фон\n * - При mode=\"contrast\" - изменяет цвет текста\n * - При mode=\"tertiary\" - изменяет цвет текста\n * - При mode=\"inherit\" - не работает.\n */\n color?: string;\n /**\n * Размер счетчика.\n */\n size?: 's' | 'm';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Counter\n */\nexport const Counter = ({\n mode = 'inherit',\n appearance: appearanceProp,\n color,\n size = 'm',\n children,\n className,\n style: styleProp,\n ...restProps\n}: CounterProps): React.ReactNode => {\n const appearance = React.useMemo<CounterProps['appearance']>(() => {\n if (mode === 'inherit') {\n return undefined;\n }\n if (appearanceProp) {\n return appearanceProp;\n }\n return 'accent';\n }, [appearanceProp, mode]);\n\n const style: (React.CSSProperties & CSSCustomProperties<string | undefined>) | undefined =\n React.useMemo(() => {\n if (mode === 'inherit' || appearance !== 'custom' || !color) {\n return undefined;\n }\n switch (mode) {\n case 'primary':\n return {\n '--vkui_internal--counter_background': color,\n };\n case 'contrast':\n case 'tertiary':\n return {\n '--vkui_internal--counter_foreground': color,\n };\n }\n }, [appearance, color, mode]);\n\n if (React.Children.count(children) === 0) {\n return null;\n }\n\n const CounterTypography = size === 's' ? Caption : Headline;\n const counterLevel = size === 's' ? '1' : '2';\n\n return (\n <CounterTypography\n {...restProps}\n style={mergeStyle(style, styleProp)}\n Component=\"span\"\n className={classNames(\n 'vkuiInternalCounter',\n styles.host,\n modeClassNames[mode],\n !!appearance && appearanceClassNames[appearance],\n sizeClassNames[size],\n className,\n )}\n level={counterLevel}\n >\n {children}\n </CounterTypography>\n );\n};\n"],"names":["React","classNames","mergeStyle","Caption","Headline","styles","modeClassNames","primary","modePrimary","contrast","modeContrast","tertiary","modeTertiary","inherit","modeInherit","appearanceClassNames","appearanceCustom","appearanceAccent","appearanceNeutral","appearanceAccentGreen","appearanceAccentRed","sizeClassNames","s","sizeS","m","sizeM","Counter","mode","appearance","appearanceProp","color","size","children","className","style","styleProp","restProps","useMemo","undefined","Children","count","CounterTypography","counterLevel","Component","host","level"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,UAAU,QAAQ,8BAA2B;AAEtD,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,OAAOC,YAAY,uBAAuB;AAE1C,MAAMC,iBAAiB;IACrBC,SAASF,OAAOG,WAAW;IAC3BC,UAAUJ,OAAOK,YAAY;IAC7BC,UAAUN,OAAOO,YAAY;IAC7BC,SAASR,OAAOS,WAAW;AAC7B;AAEA,MAAMC,uBAA+C;IACnD,UAAUV,OAAOW,gBAAgB;IACjC,UAAUX,OAAOY,gBAAgB;IACjC,WAAWZ,OAAOa,iBAAiB;IACnC,gBAAgBb,OAAOc,qBAAqB;IAC5C,cAAcd,OAAOe,mBAAmB;AAC1C;AAEA,MAAMC,iBAAiB;IACrBC,GAAGjB,OAAOkB,KAAK;IACfC,GAAGnB,OAAOoB,KAAK;AACjB;AA2BA;;CAEC,GACD,OAAO,MAAMC,UAAU,CAAC,EACtBC,OAAO,SAAS,EAChBC,YAAYC,cAAc,EAC1BC,KAAK,EACLC,OAAO,GAAG,EACVC,QAAQ,EACRC,SAAS,EACTC,OAAOC,SAAS,EAChB,GAAGC,WACU;IACb,MAAMR,aAAa5B,MAAMqC,OAAO,CAA6B;QAC3D,IAAIV,SAAS,WAAW;YACtB,OAAOW;QACT;QACA,IAAIT,gBAAgB;YAClB,OAAOA;QACT;QACA,OAAO;IACT,GAAG;QAACA;QAAgBF;KAAK;IAEzB,MAAMO,QACJlC,MAAMqC,OAAO,CAAC;QACZ,IAAIV,SAAS,aAAaC,eAAe,YAAY,CAACE,OAAO;YAC3D,OAAOQ;QACT;QACA,OAAQX;YACN,KAAK;gBACH,OAAO;oBACL,uCAAuCG;gBACzC;YACF,KAAK;YACL,KAAK;gBACH,OAAO;oBACL,uCAAuCA;gBACzC;QACJ;IACF,GAAG;QAACF;QAAYE;QAAOH;KAAK;IAE9B,IAAI3B,MAAMuC,QAAQ,CAACC,KAAK,CAACR,cAAc,GAAG;QACxC,OAAO;IACT;IAEA,MAAMS,oBAAoBV,SAAS,MAAM5B,UAAUC;IACnD,MAAMsC,eAAeX,SAAS,MAAM,MAAM;IAE1C,qBACE,KAACU;QACE,GAAGL,SAAS;QACbF,OAAOhC,WAAWgC,OAAOC;QACzBQ,WAAU;QACVV,WAAWhC,WACT,uBACAI,OAAOuC,IAAI,EACXtC,cAAc,CAACqB,KAAK,EACpB,CAAC,CAACC,cAAcb,oBAAoB,CAACa,WAAW,EAChDP,cAAc,CAACU,KAAK,EACpBE;QAEFY,OAAOH;kBAENV;;AAGP,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CustomScrollView/CustomScrollView.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HasRootRef } from '../../types';\nimport styles from './CustomScrollView.module.css';\n\nconst overscrollBehaviorClassNames = {\n auto: undefined,\n contain: styles.overscrollBehaviorContain,\n none: styles.overscrollBehaviorNone,\n};\n\nconst scrollBehaviorClassNames = {\n auto: undefined,\n smooth: styles.scrollBehaviorSmooth,\n};\n\nexport interface CustomScrollViewProps\n extends React.AllHTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n className?: HTMLDivElement['className'];\n onScroll?: (event: React.UIEvent<HTMLDivElement>) => void;\n children: React.ReactNode;\n /**\n * Поведение overscroll, подробнее можно почитать в [документации](https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior)\n */\n overscrollBehavior?: 'auto' | 'contain' | 'none';\n /**\n * Поведение scroll-behavior, подробнее можно почитать в [документации](https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior)\n */\n scrollBehavior?: 'auto' | 'smooth';\n /**\n * Включение отображения горизонтального скролла\n */\n enableHorizontalScroll?: boolean;\n /**\n * Скрытие скроллбара\n *\n * > В версии ниже Firefox 64 будет виден скролл\n */\n scrollbarHidden?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CustomScrollView\n */\nexport const CustomScrollView = ({\n className,\n children,\n enableHorizontalScroll = false,\n onScroll,\n getRootRef,\n overscrollBehavior = 'auto',\n scrollBehavior = 'auto',\n scrollbarHidden = false,\n ...restProps\n}: CustomScrollViewProps): React.ReactNode => {\n return (\n <div\n className={classNames(\n className,\n styles.host,\n enableHorizontalScroll && styles.horizontalScrollEnabled,\n overscrollBehaviorClassNames[overscrollBehavior],\n scrollBehaviorClassNames[scrollBehavior],\n scrollbarHidden && styles.scrollbarHidden,\n )}\n ref={getRootRef}\n onScroll={onScroll}\n {...restProps}\n >\n {children}\n </div>\n );\n};\n"],"names":["React","classNames","styles","overscrollBehaviorClassNames","auto","undefined","contain","overscrollBehaviorContain","none","overscrollBehaviorNone","scrollBehaviorClassNames","smooth","scrollBehaviorSmooth","CustomScrollView","className","children","enableHorizontalScroll","onScroll","getRootRef","overscrollBehavior","scrollBehavior","scrollbarHidden","restProps","div","host","horizontalScrollEnabled","ref"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,YAAY,gCAAgC;AAEnD,MAAMC,+BAA+B;IACnCC,MAAMC;IACNC,SAASJ,OAAOK,yBAAyB;IACzCC,MAAMN,OAAOO,sBAAsB;AACrC;AAEA,MAAMC,2BAA2B;IAC/BN,MAAMC;IACNM,QAAQT,OAAOU,oBAAoB;AACrC;AA4BA;;CAEC,GACD,OAAO,MAAMC,mBAAmB,CAAC,EAC/BC,SAAS,EACTC,QAAQ,EACRC,yBAAyB,KAAK,EAC9BC,QAAQ,EACRC,UAAU,EACVC,qBAAqB,MAAM,EAC3BC,iBAAiB,MAAM,EACvBC,kBAAkB,KAAK,EACvB,GAAGC,WACmB;IACtB,qBACE,KAACC;QACCT,WAAWb,WACTa,WACAZ,OAAOsB,IAAI,EACXR,0BAA0Bd,OAAOuB,uBAAuB,EACxDtB,4BAA4B,CAACgB,mBAAmB,EAChDT,wBAAwB,CAACU,eAAe,EACxCC,mBAAmBnB,OAAOmB,eAAe;QAE3CK,KAAKR;QACLD,UAAUA;QACT,GAAGK,SAAS;kBAEZP;;AAGP,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/CustomScrollView/CustomScrollView.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HasRootRef } from '../../types';\nimport styles from './CustomScrollView.module.css';\n\nconst overscrollBehaviorClassNames = {\n auto: undefined,\n contain: styles.overscrollBehaviorContain,\n none: styles.overscrollBehaviorNone,\n};\n\nconst scrollBehaviorClassNames = {\n auto: undefined,\n smooth: styles.scrollBehaviorSmooth,\n};\n\nexport interface CustomScrollViewProps\n extends React.AllHTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * `className` для компонента.\n */\n className?: HTMLDivElement['className'];\n /**\n * Обработчик события `scroll`.\n */\n onScroll?: (event: React.UIEvent<HTMLDivElement>) => void;\n /**\n * Содержимое.\n */\n children: React.ReactNode;\n /**\n * Поведение overscroll, подробнее можно почитать в [документации](https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior).\n */\n overscrollBehavior?: 'auto' | 'contain' | 'none';\n /**\n * Поведение scroll-behavior, подробнее можно почитать в [документации](https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior).\n */\n scrollBehavior?: 'auto' | 'smooth';\n /**\n * Включение отображения горизонтального скролла.\n */\n enableHorizontalScroll?: boolean;\n /**\n * Скрытие скроллбара.\n *\n * > В версии ниже Firefox 64 будет виден скролл.\n */\n scrollbarHidden?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CustomScrollView\n */\nexport const CustomScrollView = ({\n className,\n children,\n enableHorizontalScroll = false,\n onScroll,\n getRootRef,\n overscrollBehavior = 'auto',\n scrollBehavior = 'auto',\n scrollbarHidden = false,\n ...restProps\n}: CustomScrollViewProps): React.ReactNode => {\n return (\n <div\n className={classNames(\n className,\n styles.host,\n enableHorizontalScroll && styles.horizontalScrollEnabled,\n overscrollBehaviorClassNames[overscrollBehavior],\n scrollBehaviorClassNames[scrollBehavior],\n scrollbarHidden && styles.scrollbarHidden,\n )}\n ref={getRootRef}\n onScroll={onScroll}\n {...restProps}\n >\n {children}\n </div>\n );\n};\n"],"names":["React","classNames","styles","overscrollBehaviorClassNames","auto","undefined","contain","overscrollBehaviorContain","none","overscrollBehaviorNone","scrollBehaviorClassNames","smooth","scrollBehaviorSmooth","CustomScrollView","className","children","enableHorizontalScroll","onScroll","getRootRef","overscrollBehavior","scrollBehavior","scrollbarHidden","restProps","div","host","horizontalScrollEnabled","ref"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,YAAY,gCAAgC;AAEnD,MAAMC,+BAA+B;IACnCC,MAAMC;IACNC,SAASJ,OAAOK,yBAAyB;IACzCC,MAAMN,OAAOO,sBAAsB;AACrC;AAEA,MAAMC,2BAA2B;IAC/BN,MAAMC;IACNM,QAAQT,OAAOU,oBAAoB;AACrC;AAqCA;;CAEC,GACD,OAAO,MAAMC,mBAAmB,CAAC,EAC/BC,SAAS,EACTC,QAAQ,EACRC,yBAAyB,KAAK,EAC9BC,QAAQ,EACRC,UAAU,EACVC,qBAAqB,MAAM,EAC3BC,iBAAiB,MAAM,EACvBC,kBAAkB,KAAK,EACvB,GAAGC,WACmB;IACtB,qBACE,KAACC;QACCT,WAAWb,WACTa,WACAZ,OAAOsB,IAAI,EACXR,0BAA0Bd,OAAOuB,uBAAuB,EACxDtB,4BAA4B,CAACgB,mBAAmB,EAChDT,wBAAwB,CAACU,eAAe,EACxCC,mBAAmBnB,OAAOmB,eAAe;QAE3CK,KAAKR;QACLD,UAAUA;QACT,GAAGK,SAAS;kBAEZP;;AAGP,EAAE"}
@@ -78,7 +78,7 @@ function findSelectedIndex(options = [], value) {
78
78
  const filter = (options, inputValue, filterFn)=>{
79
79
  return typeof filterFn === 'function' ? options.filter((option)=>filterFn(inputValue, option)) : options;
80
80
  };
81
- function isMousePositionChanged(event, prevPosition) {
81
+ /* eslint-enable jsdoc/require-jsdoc */ function isMousePositionChanged(event, prevPosition) {
82
82
  return Math.abs(prevPosition.x - event.clientX) >= 1 || Math.abs(prevPosition.y - event.clientY) >= 1;
83
83
  }
84
84
  /**
@@ -442,6 +442,13 @@ function isMousePositionChanged(event, prevPosition) {
442
442
  selectFocused,
443
443
  resetFocusedOption
444
444
  ]);
445
+ const handleInputKeydown = React.useCallback((event)=>{
446
+ onInputKeyDown?.(event, opened);
447
+ }, [
448
+ opened,
449
+ onInputKeyDown
450
+ ]);
451
+ const _onInputKeyDown = callMultiple(handleKeyDownSelect, handleInputKeydown);
445
452
  const handleOptionClick = React.useCallback((e)=>{
446
453
  const index = Array.prototype.indexOf.call(e.currentTarget.parentNode?.children, e.currentTarget);
447
454
  const option = options[index];
@@ -484,7 +491,8 @@ function isMousePositionChanged(event, prevPosition) {
484
491
  // а значит нельзя на них опираться, чтобы запретить обработку такого события.
485
492
  // C mousemove такой проблемы нет, что позволяет реализовать поведение при наведении с клавиатуры и при наведении мышью идентично `<select>`.
486
493
  onMouseMove: (e)=>focusOptionOnMouseMove(e, index),
487
- id: `${popupAriaId}-${option.value}`
494
+ id: `${popupAriaId}-${option.value}`,
495
+ ...option
488
496
  })
489
497
  }, `${typeof option.value}-${option.value}`);
490
498
  }, [
@@ -655,7 +663,7 @@ function isMousePositionChanged(event, prevPosition) {
655
663
  fetching: fetching,
656
664
  value: inputValue,
657
665
  onKeyUp: handleKeyUp,
658
- onKeyDown: callMultiple(handleKeyDownSelect, onInputKeyDown),
666
+ onKeyDown: _onInputKeyDown,
659
667
  onChange: onInputChange,
660
668
  onClick: onClick,
661
669
  before: before,
@@ -664,6 +672,7 @@ function isMousePositionChanged(event, prevPosition) {
664
672
  children: selected?.label
665
673
  }),
666
674
  /*#__PURE__*/ _jsxs("select", {
675
+ tabIndex: -1,
667
676
  ref: selectElRef,
668
677
  name: name,
669
678
  onChange: onNativeSelectChange,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CustomSelect/CustomSelect.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, debounce } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useFocusWithin } from '../../hooks/useFocusWithin';\nimport { useStateWithPrev } from '../../hooks/useStateWithPrev';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { useDOM } from '../../lib/dom';\nimport type { Placement } from '../../lib/floating';\nimport { defaultFilterFn, type FilterFn } from '../../lib/select';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport {\n CustomSelectDropdown,\n type CustomSelectDropdownProps,\n} from '../CustomSelectDropdown/CustomSelectDropdown';\nimport {\n CustomSelectOption,\n type CustomSelectOptionProps,\n} from '../CustomSelectOption/CustomSelectOption';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport type { FormFieldProps } from '../FormField/FormField';\nimport {\n NOT_SELECTED,\n remapFromNativeValueToSelectValue,\n remapFromSelectValueToNativeValue,\n} from '../NativeSelect/NativeSelect';\nimport type {\n NativeSelectProps,\n NativeSelectValue,\n SelectValue,\n} from '../NativeSelect/NativeSelect';\nimport type { SelectType } from '../Select/Select';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport {\n CustomSelectClearButton,\n type CustomSelectClearButtonProps,\n} from './CustomSelectClearButton';\nimport {\n CustomSelectInput,\n type CustomSelectInputProps,\n} from './CustomSelectInput/CustomSelectInput';\nimport styles from './CustomSelect.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nconst findIndexAfter = (options: CustomSelectOptionInterface[] = [], startIndex = -1) => {\n if (startIndex >= options.length - 1) {\n return -1;\n }\n return options.findIndex((option, i) => i > startIndex && !option.disabled);\n};\n\nconst findIndexBefore = (\n options: CustomSelectOptionInterface[] = [],\n endIndex: number = options.length,\n) => {\n let result = -1;\n if (endIndex <= 0) {\n return result;\n }\n for (let i = endIndex - 1; i >= 0; i--) {\n let option = options[i];\n\n if (!option.disabled) {\n result = i;\n break;\n }\n }\n return result;\n};\n\nconst warn = warnOnce('CustomSelect');\n\nconst checkOptionsValueType = <T extends CustomSelectOptionInterface>(options: T[]) => {\n if (new Set(options.map((item) => typeof item.value)).size > 1) {\n warn(\n 'Некоторые значения ваших опций имеют разные типы. onChange всегда возвращает строковый тип.',\n 'error',\n );\n }\n};\n\nconst checkMixControlledAndUncontrolledState = (\n oldIsControlled: boolean,\n newIsControlled: boolean,\n) => {\n if (!oldIsControlled && newIsControlled) {\n warn(\n `Похоже, что компонент был переведен из состояния Uncontrolled в Controlled. Пожалуйста, не делайте так. Если вам нужно отобразить невыбранное состояние компонента, используйте value=null вместо undefined`,\n 'error',\n );\n }\n if (oldIsControlled && !newIsControlled) {\n warn(\n `Похоже, что компонент был переведен из состояния Controlled в Uncontrolled. Пожалуйста, не делайте так. Если вам нужно отобразить невыбранное состояние компонента, используйте value=null вместо undefined`,\n 'error',\n );\n }\n};\n\nfunction defaultRenderOptionFn<T extends CustomSelectOptionInterface>({\n option,\n ...props\n}: CustomSelectRenderOption<T>): React.ReactNode {\n return <CustomSelectOption {...props} />;\n}\n\nconst handleOptionDown: MouseEventHandler = (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault();\n};\n\nfunction findSelectedIndex<T extends CustomSelectOptionInterface>(\n options: T[] = [],\n value: SelectValue,\n) {\n if (value === NOT_SELECTED.CUSTOM) {\n return -1;\n }\n return (\n options.findIndex((item) => {\n value = typeof item.value === 'number' ? Number(value) : value;\n return item.value === value;\n }) ?? -1\n );\n}\n\nconst filter = <T extends CustomSelectOptionInterface>(\n options: SelectProps<T>['options'],\n inputValue: string,\n filterFn: SelectProps<T>['filterFn'],\n) => {\n return typeof filterFn === 'function'\n ? options.filter((option) => filterFn(inputValue, option))\n : options;\n};\n\ntype MousePosition = {\n x: React.MouseEvent['clientX'];\n y: React.MouseEvent['clientY'];\n};\nfunction isMousePositionChanged(event: React.MouseEvent, prevPosition: MousePosition) {\n return (\n Math.abs(prevPosition.x - event.clientX) >= 1 || Math.abs(prevPosition.y - event.clientY) >= 1\n );\n}\n\nexport interface CustomSelectOptionInterface {\n value: Exclude<SelectValue, null>;\n label: React.ReactElement | string;\n disabled?: boolean;\n [index: string]: any;\n}\n\nexport interface CustomSelectRenderOption<T extends CustomSelectOptionInterface>\n extends CustomSelectOptionProps {\n option: T;\n}\n\nexport type { CustomSelectClearButtonProps };\n\nexport interface SelectProps<\n OptionInterfaceT extends CustomSelectOptionInterface = CustomSelectOptionInterface,\n> extends NativeSelectProps,\n Omit<FormFieldProps, 'maxHeight'>,\n Pick<CustomSelectDropdownProps, 'overscrollBehavior'>,\n Pick<CustomSelectInputProps, 'minLength' | 'maxLength' | 'pattern' | 'readOnly'> {\n /**\n * ref на внутрений компонент input\n */\n getSelectInputRef?: React.Ref<HTMLInputElement>;\n /**\n * Если `true`, то при клике на `CustomSelect` в нём появится текстовое поле для поиска по `options`. По умолчанию поиск\n * производится по `option.label`.\n */\n searchable?: boolean;\n /**\n * Текст, который будет отображен, если приходит пустой `options`.\n */\n emptyText?: string;\n /**\n * Событие изменения текстового поля\n */\n onInputChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n options: OptionInterfaceT[];\n /**\n * Функция для кастомной фильтрации. По умолчанию поиск производится по `option.label`.\n */\n filterFn?: false | FilterFn<OptionInterfaceT>;\n popupDirection?: 'top' | 'bottom';\n /**\n * Рендер-проп для кастомного рендера опции.\n * В объекте аргумента приходят [свойства опции](https://vkcom.github.io/VKUI/#/CustomSelectOption?id=props)\n *\n * > ⚠️ Важно: cвойство опции `disabled` должно выставляться только через проп `options`.\n * > Запрещается выставлять `disabled` проп опциям в обход `options`, иначе `CustomSelect` не будет знать об актуальном состоянии\n * опции.\n */\n renderOption?: (props: CustomSelectRenderOption<OptionInterfaceT>) => React.ReactNode;\n /**\n * Рендер-проп для кастомного рендера содержимого дропдауна.\n * В `defaultDropdownContent` содержится список опций в виде скроллящегося блока.\n */\n renderDropdown?: ({\n defaultDropdownContent,\n }: {\n defaultDropdownContent: React.ReactNode;\n }) => React.ReactNode;\n /**\n * Если `true`, то в дропдауне вместо списка опций рисуется спиннер. При переданных `renderDropdown` и `fetching: true`\n * \"победит\" `renderDropdown`.\n */\n fetching?: boolean;\n onClose?: VoidFunction;\n onOpen?: VoidFunction;\n /**\n * Иконка раскрывающегося списка\n */\n icon?: React.ReactNode;\n /**\n * Кастомная кнопка для очистки значения.\n * Должна принимать обязательное свойство `onClick`\n */\n ClearButton?: React.ComponentType<CustomSelectClearButtonProps>;\n /**\n * Если `true`, то справа будет отображаться кнопка для очистки значения\n */\n allowClearButton?: boolean;\n /**\n * Передает атрибут `data-testid` для кнопки очистки\n */\n clearButtonTestId?: string;\n /**\n * Отступ от выпадающего списка\n */\n dropdownOffsetDistance?: number;\n /**\n * Ширина раскрывающегося списка зависит от контента\n */\n dropdownAutoWidth?: boolean;\n forceDropdownPortal?: boolean;\n selectType?: SelectType;\n /**\n * Отключает максимальную высоту по умолчанию\n */\n noMaxHeight?: boolean;\n /**\n * Передает атрибут `data-testid` для элемента, внутри которого отображается текст выбранной опции `CustomSelect` или плейсхолдер.\n */\n labelTextTestId?: string;\n /**\n * Передает атрибут `data-testid` для нативного элемента `select`.\n */\n nativeSelectTestId?: string;\n onInputKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\ntype MouseEventHandler = (event: React.MouseEvent<HTMLElement>) => void;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CustomSelect\n */\nexport function CustomSelect<OptionInterfaceT extends CustomSelectOptionInterface>(\n props: SelectProps<OptionInterfaceT>,\n): React.ReactNode {\n const [opened, setOpened] = React.useState(false);\n const {\n before,\n name,\n className,\n getRef,\n getRootRef,\n popupDirection = 'bottom',\n style,\n onChange,\n children,\n 'onInputChange': onInputChangeProp,\n renderDropdown,\n onOpen,\n onClose,\n fetching,\n forceDropdownPortal,\n selectType = 'default',\n searchable = false,\n 'renderOption': renderOptionProp = defaultRenderOptionFn,\n 'options': optionsProp,\n emptyText = 'Ничего не найдено',\n filterFn = defaultFilterFn,\n 'icon': iconProp,\n ClearButton = CustomSelectClearButton,\n allowClearButton = false,\n dropdownOffsetDistance = 0,\n dropdownAutoWidth = false,\n noMaxHeight = false,\n 'aria-labelledby': ariaLabelledBy,\n clearButtonTestId,\n nativeSelectTestId,\n defaultValue,\n required,\n getSelectInputRef,\n overscrollBehavior,\n onInputKeyDown,\n ...restProps\n } = props;\n\n if (process.env.NODE_ENV === 'development') {\n checkOptionsValueType(optionsProp);\n }\n\n const { sizeY = 'none' } = useAdaptivity();\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const handleRootRef = useExternRef(containerRef, getRootRef);\n const scrollBoxRef = React.useRef<HTMLDivElement | null>(null);\n const selectElRef = useExternRef(getRef);\n const optionsWrapperRef = React.useRef<HTMLDivElement>(null);\n const scrollPerformedRef = React.useRef(false);\n\n const [focusedOptionIndex, setFocusedOptionIndex] = React.useState<number | undefined>(-1);\n const [isControlledOutside, setIsControlledOutside] = React.useState(props.value !== undefined);\n const [inputValue, setInputValue] = React.useState('');\n const [[nativeSelectValue, prevNativeSelectValue], setNativeSelectValue] =\n useStateWithPrev<NativeSelectValue>(() => {\n if (props.value !== undefined) {\n return remapFromSelectValueToNativeValue(props.value);\n }\n if (defaultValue !== undefined) {\n return remapFromSelectValueToNativeValue(defaultValue);\n }\n return NOT_SELECTED.NATIVE;\n });\n\n const [popperPlacement, setPopperPlacement] = React.useState<Placement>(popupDirection);\n\n const options = React.useMemo(() => {\n return filter(optionsProp, inputValue, filterFn);\n }, [filterFn, inputValue, optionsProp]);\n\n const [selectedOptionIndex, setSelectedOptionIndex] = React.useState<number | undefined>(\n findSelectedIndex(options, props.value ?? defaultValue ?? null),\n );\n\n React.useEffect(\n function updateOptionsIndexes() {\n const value =\n props.value !== undefined\n ? props.value\n : remapFromNativeValueToSelectValue(nativeSelectValue);\n\n const selectedIndex = findSelectedIndex(options, value);\n setSelectedOptionIndex(selectedIndex);\n setFocusedOptionIndex(selectedIndex);\n },\n [props.value, nativeSelectValue, options, filterFn],\n );\n\n React.useEffect(\n function syncIsControlledState() {\n setIsControlledOutside((oldIsControlled) => {\n const newIsControlled = props.value !== undefined;\n checkMixControlledAndUncontrolledState(oldIsControlled, newIsControlled);\n return newIsControlled;\n });\n },\n [props.value],\n );\n\n React.useEffect(\n function syncNativeSelectValueWithPropValue() {\n if (props.value !== undefined) {\n setNativeSelectValue(remapFromSelectValueToNativeValue(props.value));\n }\n },\n [props.value, setNativeSelectValue],\n );\n\n useIsomorphicLayoutEffect(() => {\n if (\n options.some(({ value }) => nativeSelectValue === value) ||\n (allowClearButton && nativeSelectValue === NOT_SELECTED.NATIVE)\n ) {\n const event = new Event('change', { bubbles: true });\n\n selectElRef.current?.dispatchEvent(event);\n }\n }, [nativeSelectValue]);\n\n const selected = React.useMemo(() => {\n if (!options.length) {\n return null;\n }\n\n return selectedOptionIndex !== undefined ? options[selectedOptionIndex] : undefined;\n }, [options, selectedOptionIndex]);\n\n const openedClassNames = React.useMemo(\n () =>\n (opened &&\n dropdownOffsetDistance === 0 &&\n (popperPlacement.includes('top') ? styles.popUp : styles.popDown)) ||\n undefined,\n [dropdownOffsetDistance, opened, popperPlacement],\n );\n\n const scrollToElement = React.useCallback((index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const optionsWrapper = optionsWrapperRef.current;\n const item =\n dropdown && optionsWrapper ? (optionsWrapper.children[index] as HTMLElement) : null;\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n }, []);\n\n const focusOptionByIndex = React.useCallback(\n (index: number | undefined, scrollTo = true) => {\n if (index === undefined || index < 0 || index > (options.length ?? 0) - 1) {\n return;\n }\n\n const option = options[index];\n\n if (option?.disabled) {\n return;\n }\n\n if (scrollTo) {\n scrollToElement(index);\n }\n\n setFocusedOptionIndex(index);\n },\n [options, scrollToElement],\n );\n\n const isValidIndex = React.useCallback(\n (index: number) => {\n return index >= 0 && index < (options.length ?? 0);\n },\n [options.length],\n );\n\n useIsomorphicLayoutEffect(() => {\n if (!opened) {\n scrollPerformedRef.current = false;\n return;\n }\n\n if (scrollPerformedRef.current) {\n return;\n }\n\n const isIndexValid = selectedOptionIndex !== undefined && isValidIndex(selectedOptionIndex);\n\n if (scrollBoxRef.current && isIndexValid) {\n scrollPerformedRef.current = true;\n scrollToElement(selectedOptionIndex, true);\n }\n }, [opened, selectedOptionIndex, scrollToElement, isValidIndex]);\n\n const [keyboardInput, setKeyboardInput] = React.useState('');\n const resetKeyboardInput = React.useCallback(() => {\n setKeyboardInput('');\n }, []);\n\n const resetFocusedOption = React.useCallback(() => {\n setFocusedOptionIndex(-1);\n }, []);\n\n const onKeyboardInput = React.useCallback(\n (key: string) => {\n if (!opened) {\n setOpened(true);\n }\n resetFocusedOption();\n const fullInput = keyboardInput + key;\n\n setKeyboardInput(fullInput);\n },\n [keyboardInput, opened, resetFocusedOption],\n );\n\n const close = React.useCallback(() => {\n resetKeyboardInput();\n\n setInputValue('');\n setOpened(false);\n resetFocusedOption();\n onClose?.();\n }, [onClose, resetKeyboardInput, resetFocusedOption]);\n\n const selectOption = React.useCallback(\n (index: number) => {\n const item = options[index];\n setNativeSelectValue(item?.value ?? NOT_SELECTED.NATIVE);\n close();\n\n const shouldTriggerOnChangeWhenControlledAndInnerValueIsOutOfSync =\n isControlledOutside &&\n props.value !== nativeSelectValue &&\n nativeSelectValue === item?.value;\n\n if (shouldTriggerOnChangeWhenControlledAndInnerValueIsOutOfSync) {\n const event = new Event('change', { bubbles: true });\n selectElRef.current?.dispatchEvent(event);\n }\n },\n [\n close,\n options,\n selectElRef,\n isControlledOutside,\n props.value,\n nativeSelectValue,\n setNativeSelectValue,\n ],\n );\n\n const selectFocused = React.useCallback(() => {\n if (focusedOptionIndex === undefined || !isValidIndex(focusedOptionIndex)) {\n return;\n }\n\n selectOption(focusedOptionIndex);\n }, [focusedOptionIndex, isValidIndex, selectOption]);\n\n const open = React.useCallback(() => {\n setOpened(true);\n setFocusedOptionIndex(selectedOptionIndex);\n\n if (typeof onOpen === 'function') {\n onOpen();\n }\n }, [onOpen, selectedOptionIndex]);\n\n const onBlur = React.useCallback(() => {\n close();\n const event = new Event('focusout', { bubbles: true });\n selectElRef.current?.dispatchEvent(event);\n }, [close, selectElRef]);\n\n const onFocus = React.useCallback(() => {\n const event = new Event('focusin', { bubbles: true });\n selectElRef.current?.dispatchEvent(event);\n }, [selectElRef]);\n\n const onClick = React.useCallback(() => {\n if (opened) {\n close();\n } else {\n open();\n }\n }, [close, open, opened]);\n\n const handleKeyUp = React.useMemo(() => debounce(resetKeyboardInput, 1000), [resetKeyboardInput]);\n\n const focusOption = React.useCallback(\n (type: 'next' | 'prev') => {\n let index = focusedOptionIndex;\n\n if (type === 'next') {\n const nextIndex = findIndexAfter(options, index);\n index = nextIndex === -1 ? findIndexAfter(options) : nextIndex; // Следующий за index или первый валидный до index\n } else if (type === 'prev') {\n const beforeIndex = findIndexBefore(options, index);\n index = beforeIndex === -1 ? findIndexBefore(options) : beforeIndex; // Предшествующий index или последний валидный после index\n }\n\n focusOptionByIndex(index);\n },\n [focusOptionByIndex, focusedOptionIndex, options],\n );\n\n const onNativeSelectChange: React.ChangeEventHandler<HTMLSelectElement> = (e) => {\n // для ситуаций, когда в опциях value это string а value/defaultValue это number\n // и наоборот, приводим значение nativeSelectValue из стейта к строке.\n // ведь nativeSelect всегда возвращает string в onChange, а пользователь\n // может использовать number для опций\n //\n // native select всегда возвращает string в качестве value в onChange\n // Когда селект контролируемый, то пользователь, в onChange может сохранить в свой стейт строку (например '3'), хотя\n // в качестве value опции может использовать число (3),\n // тогда строчное значение value ('3') из стейта пользователя\n // будет передано в CustomSelect, и после синхронизации nativeSelectValue (3) и props.value ('3') и после клика на уже выбранную опцию (3),\n // когда nativeSelectValue обновится на значение опции (число 3),\n // сравнение nativeSelectValue (3) и prevNativeSelectValue ('3') может не сработать лишь из-за того, что они в разных типах.\n const convertedNativeSelectValue =\n typeof nativeSelectValue === 'number' &&\n (typeof props.value === 'string' || typeof prevNativeSelectValue === 'string')\n ? String(nativeSelectValue)\n : nativeSelectValue;\n\n const isCalledWithSameControlledOptionValue =\n isControlledOutside &&\n props.value === remapFromNativeValueToSelectValue(convertedNativeSelectValue);\n\n const isNativeValueChanged =\n convertedNativeSelectValue !== prevNativeSelectValue && prevNativeSelectValue !== undefined;\n\n const isTriggeredByClearButton = allowClearButton && nativeSelectValue === NOT_SELECTED.NATIVE;\n\n const shouldCallOnChange =\n !isCalledWithSameControlledOptionValue && (isNativeValueChanged || isTriggeredByClearButton);\n\n if (!shouldCallOnChange) {\n return;\n }\n\n const remappedNativeValue = remapFromNativeValueToSelectValue(e.currentTarget.value);\n\n if (e.target.value === NOT_SELECTED.NATIVE) {\n e.target.value = '';\n }\n if (e.currentTarget.value === NOT_SELECTED.NATIVE) {\n e.currentTarget.value = '';\n }\n\n onChange?.(e, remappedNativeValue);\n };\n\n const onInputChange: React.ChangeEventHandler<HTMLInputElement> = React.useCallback(\n (e) => {\n onInputChangeProp && onInputChangeProp(e);\n setInputValue(e.target.value);\n },\n [onInputChangeProp],\n );\n\n const areOptionsShown = React.useCallback(() => {\n return scrollBoxRef.current !== null;\n }, []);\n\n const handleKeyDownSelect = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key.length === 1 && event.key !== ' ') {\n onKeyboardInput(event.key);\n return;\n }\n\n ['ArrowUp', 'ArrowDown', 'Escape', 'Enter'].includes(event.key) &&\n areOptionsShown() &&\n event.preventDefault();\n\n switch (event.key) {\n case 'ArrowUp':\n if (opened) {\n areOptionsShown() && focusOption('prev');\n } else {\n open();\n }\n break;\n case 'ArrowDown':\n if (opened) {\n areOptionsShown() && focusOption('next');\n } else {\n open();\n }\n break;\n case 'Escape':\n close();\n break;\n case 'Backspace':\n case 'Delete': {\n if (!opened) {\n setOpened(true);\n }\n resetFocusedOption();\n\n break;\n }\n case 'Enter':\n case 'Spacebar':\n case ' ':\n if (opened) {\n areOptionsShown() && selectFocused();\n } else {\n open();\n }\n break;\n }\n },\n [\n areOptionsShown,\n close,\n focusOption,\n onKeyboardInput,\n open,\n opened,\n selectFocused,\n resetFocusedOption,\n ],\n );\n\n const handleOptionClick = React.useCallback(\n (e: React.MouseEvent<HTMLElement>) => {\n const index = Array.prototype.indexOf.call(\n e.currentTarget.parentNode?.children,\n e.currentTarget,\n );\n const option = options[index];\n\n if (option && !option.disabled) {\n selectOption(index);\n }\n },\n [options, selectOption],\n );\n\n const lastMousePositionRef = React.useRef<MousePosition>({ x: 0, y: 0 });\n const focusOptionOnMouseMove = React.useCallback(\n (e: React.MouseEvent<HTMLElement>, index: number) => {\n if (isMousePositionChanged(e, lastMousePositionRef.current)) {\n focusOptionByIndex(index, false);\n }\n },\n [focusOptionByIndex],\n );\n\n const popupAriaId = React.useId();\n const renderOption = React.useCallback(\n (option: OptionInterfaceT, index: number) => {\n const hovered = index === focusedOptionIndex;\n const selected = index === selectedOptionIndex;\n\n return (\n <React.Fragment key={`${typeof option.value}-${option.value}`}>\n {renderOptionProp({\n option,\n hovered,\n children: option.label,\n selected,\n disabled: option.disabled,\n onClick: handleOptionClick,\n onMouseDown: handleOptionDown,\n // Используем `onMouseMove` вместо `onMouseEnter/onMouseOver`.\n // Потому что если при навигации с клавиатуры курсор наведён на\n // список, то при первом автоматическом скролле списка вызывается событие MouseOver/MouseEnter\n // обработчик которого фокусирует опцию под курсором, хотя при навигация с клавиатуры пользователь мог уйти дальше по списку, это путает.\n // Причём координаты события меняются на пару пикселей по сравнению с прошлым вызовом,\n // а значит нельзя на них опираться, чтобы запретить обработку такого события.\n // C mousemove такой проблемы нет, что позволяет реализовать поведение при наведении с клавиатуры и при наведении мышью идентично `<select>`.\n onMouseMove: (e) => focusOptionOnMouseMove(e, index),\n id: `${popupAriaId}-${option.value}`,\n })}\n </React.Fragment>\n );\n },\n [\n focusedOptionIndex,\n handleOptionClick,\n focusOptionOnMouseMove,\n renderOptionProp,\n selectedOptionIndex,\n popupAriaId,\n ],\n );\n\n const resolvedContent = React.useMemo(() => {\n const defaultDropdownContent =\n options.length > 0 ? (\n <div ref={optionsWrapperRef}>{options.map(renderOption)}</div>\n ) : (\n <Footnote className={styles.empty}>{emptyText}</Footnote>\n );\n\n if (typeof renderDropdown === 'function') {\n return renderDropdown({ defaultDropdownContent });\n } else {\n return defaultDropdownContent;\n }\n }, [emptyText, options, renderDropdown, renderOption]);\n\n const selectInputRef = useExternRef(getSelectInputRef);\n\n const controlledValueSet = isControlledOutside && props.value !== NOT_SELECTED.CUSTOM;\n const uncontrolledValueSet = !isControlledOutside && nativeSelectValue !== NOT_SELECTED.NATIVE;\n const clearButtonShown =\n allowClearButton && !opened && (controlledValueSet || uncontrolledValueSet);\n\n const clearButton = React.useMemo(() => {\n if (!clearButtonShown) {\n return null;\n }\n\n return (\n <ClearButton\n className={iconProp === undefined ? styles.clearIcon : undefined}\n onClick={function clearSelectState() {\n setNativeSelectValue(NOT_SELECTED.NATIVE);\n setInputValue('');\n selectInputRef.current && selectInputRef.current.focus();\n }}\n disabled={restProps.disabled}\n data-testid={clearButtonTestId}\n />\n );\n }, [\n clearButtonShown,\n ClearButton,\n iconProp,\n restProps.disabled,\n clearButtonTestId,\n setNativeSelectValue,\n selectInputRef,\n ]);\n\n const icon = React.useMemo(() => {\n if (iconProp !== undefined) {\n return iconProp;\n }\n\n return (\n <DropdownIcon\n className={clearButtonShown ? styles.dropdownIcon : undefined}\n opened={opened}\n />\n );\n }, [clearButtonShown, iconProp, opened]);\n\n const afterIcons = (icon || clearButtonShown) && (\n <React.Fragment>\n {clearButton}\n {icon}\n </React.Fragment>\n );\n\n const { document } = useDOM();\n const passClickAndFocusToInputOnClick = React.useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n // Раньше внешней оберткой CustomSelect был <label>, что позволяло по клику в любую область CustomSelect,\n // даже где нету интерактивного элемента, фокусировать <input> и передавать на него событие клика.\n // Так как мы больше не оборачиваем CustomSelect в <label>, то для обертки CustomSelect мы симулируем работу <label>.\n // передаем фокус и клик по <input>, если пользователь кликнул в зоне обертки.\n // В <label> мы не больше не оборачиваем, потому что это заставляет скринридер\n // дважды произносить текст выбранной опции при фокусе, если CustomSelect связан с внешним <label>.\n // Воспроизводится в некоторых версиях Chrome, при навигации по странице с помощью стрелок.\n // Договорились со специалистом по доступности убрать <label>-обёртки из Select и CustomSelect\n\n if (!selectInputRef.current || !document) {\n return;\n }\n\n const clickTargetIsNotAnInput = e.target !== selectInputRef.current;\n if (clickTargetIsNotAnInput) {\n selectInputRef.current.click();\n\n const inputIsNotFocused = document.activeElement !== selectInputRef.current;\n if (inputIsNotFocused) {\n selectInputRef.current.focus();\n }\n }\n },\n [document, selectInputRef],\n );\n\n const preventInputBlurWhenClickInsideFocusedSelectArea = (\n e: React.MouseEvent<HTMLDivElement>,\n ) => {\n // Так как инпут больше не оборачивается пустым лэйблом, то клик внутри обертки,\n // но вне инпута (например по иконке дропдауна), будет убирать фокус с инпута.\n // Чтобы в такой ситуации отключить blur инпута мы превентим mousedown событие обёртки\n const isInputFocused = document && document.activeElement === selectInputRef.current;\n if (isInputFocused) {\n e.preventDefault();\n }\n };\n\n const ariaActiveDescendantOptionIndex: undefined | number =\n focusedOptionIndex !== -1 ? focusedOptionIndex : undefined;\n const ariaActiveDescendantId =\n ariaActiveDescendantOptionIndex !== undefined\n ? options[ariaActiveDescendantOptionIndex] && options[ariaActiveDescendantOptionIndex].value\n : null;\n\n const selectInputAriaProps: React.HTMLAttributes<HTMLElement> = {\n 'role': 'combobox',\n 'aria-controls': popupAriaId,\n 'aria-owns': popupAriaId,\n 'aria-expanded': opened,\n 'aria-activedescendant':\n ariaActiveDescendantId && opened ? `${popupAriaId}-${ariaActiveDescendantId}` : undefined,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-haspopup': 'listbox',\n 'aria-autocomplete': 'none',\n };\n\n const focusWithin = useFocusWithin(handleRootRef);\n\n const resetOptionFocusOnMouseLeave = React.useCallback(\n (event: React.MouseEvent) => {\n // В Хроме eсли мышка пользователя находится над инпутом селекта,\n // и он с клавиатуры открывает опции, причём одна из опций\n // уже выбрана, то видно, как выбранная опция получает фокус,\n // но потом сразу же его теряет.\n // Связано это с тем, что в этот момент вызывается onMouseLeave, на который у нас\n // завязан сброс состония фокуса у опции. По хорошему фокус должен оставаться.\n // Нам не интересен вызов onMouseLeave если мышка при этом не двигалась.\n if (isMousePositionChanged(event, lastMousePositionRef.current)) {\n resetFocusedOption();\n }\n },\n [resetFocusedOption],\n );\n\n return (\n <div\n className={classNames(styles.host, sizeY !== 'regular' && sizeYClassNames[sizeY], className)}\n style={style}\n ref={handleRootRef}\n onClick={passClickAndFocusToInputOnClick}\n onMouseDown={preventInputBlurWhenClickInsideFocusedSelectArea}\n onMouseMove={function updateLastMousePosition(e) {\n lastMousePositionRef.current = { x: e.clientX, y: e.clientY };\n }}\n >\n {focusWithin && selected && !opened && (\n <VisuallyHidden aria-live=\"polite\">{selected.label}</VisuallyHidden>\n )}\n <CustomSelectInput\n autoComplete=\"off\"\n autoCapitalize=\"none\"\n autoCorrect=\"off\"\n spellCheck=\"false\"\n {...restProps}\n {...selectInputAriaProps}\n getRef={selectInputRef}\n onFocus={onFocus}\n onBlur={onBlur}\n className={openedClassNames}\n readOnly={!searchable}\n fetching={fetching}\n value={inputValue}\n onKeyUp={handleKeyUp}\n onKeyDown={callMultiple(handleKeyDownSelect, onInputKeyDown)}\n onChange={onInputChange}\n onClick={onClick}\n before={before}\n after={afterIcons}\n selectType={selectType}\n >\n {selected?.label}\n </CustomSelectInput>\n <select\n ref={selectElRef}\n name={name}\n onChange={onNativeSelectChange}\n onBlur={props.onBlur}\n onFocus={props.onFocus}\n onClick={props.onClick}\n value={nativeSelectValue}\n aria-hidden\n className={styles.control}\n data-testid={nativeSelectTestId}\n required={required}\n >\n {(allowClearButton || nativeSelectValue === NOT_SELECTED.NATIVE) && (\n <option key={NOT_SELECTED.NATIVE} value={NOT_SELECTED.NATIVE} />\n )}\n {optionsProp.map((item) => (\n <option key={`${item.value}`} value={item.value} />\n ))}\n </select>\n {opened && (\n <CustomSelectDropdown\n targetRef={containerRef}\n placement={popperPlacement}\n scrollBoxRef={scrollBoxRef}\n onPlacementChange={setPopperPlacement}\n onMouseLeave={resetOptionFocusOnMouseLeave}\n fetching={fetching}\n overscrollBehavior={overscrollBehavior}\n offsetDistance={dropdownOffsetDistance}\n autoWidth={dropdownAutoWidth}\n forcePortal={forceDropdownPortal}\n noMaxHeight={noMaxHeight}\n role=\"listbox\"\n id={popupAriaId}\n aria-labelledby={ariaLabelledBy}\n tabIndex={-1}\n >\n {resolvedContent}\n </CustomSelectDropdown>\n )}\n </div>\n );\n}\n"],"names":["React","classNames","debounce","useAdaptivity","useExternRef","useFocusWithin","useStateWithPrev","callMultiple","useDOM","defaultFilterFn","useIsomorphicLayoutEffect","warnOnce","CustomSelectDropdown","CustomSelectOption","DropdownIcon","NOT_SELECTED","remapFromNativeValueToSelectValue","remapFromSelectValueToNativeValue","Footnote","VisuallyHidden","CustomSelectClearButton","CustomSelectInput","styles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","findIndexAfter","options","startIndex","length","findIndex","option","i","disabled","findIndexBefore","endIndex","result","warn","checkOptionsValueType","Set","map","item","value","size","checkMixControlledAndUncontrolledState","oldIsControlled","newIsControlled","defaultRenderOptionFn","props","handleOptionDown","e","preventDefault","findSelectedIndex","CUSTOM","Number","filter","inputValue","filterFn","isMousePositionChanged","event","prevPosition","Math","abs","x","clientX","y","clientY","CustomSelect","opened","setOpened","useState","before","name","className","getRef","getRootRef","popupDirection","style","onChange","children","onInputChangeProp","renderDropdown","onOpen","onClose","fetching","forceDropdownPortal","selectType","searchable","renderOptionProp","optionsProp","emptyText","iconProp","ClearButton","allowClearButton","dropdownOffsetDistance","dropdownAutoWidth","noMaxHeight","ariaLabelledBy","clearButtonTestId","nativeSelectTestId","defaultValue","required","getSelectInputRef","overscrollBehavior","onInputKeyDown","restProps","process","env","NODE_ENV","sizeY","containerRef","useRef","handleRootRef","scrollBoxRef","selectElRef","optionsWrapperRef","scrollPerformedRef","focusedOptionIndex","setFocusedOptionIndex","isControlledOutside","setIsControlledOutside","undefined","setInputValue","nativeSelectValue","prevNativeSelectValue","setNativeSelectValue","NATIVE","popperPlacement","setPopperPlacement","useMemo","selectedOptionIndex","setSelectedOptionIndex","useEffect","updateOptionsIndexes","selectedIndex","syncIsControlledState","syncNativeSelectValueWithPropValue","some","Event","bubbles","current","dispatchEvent","selected","openedClassNames","includes","popUp","popDown","scrollToElement","useCallback","index","center","dropdown","optionsWrapper","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","scrollTo","isValidIndex","isIndexValid","keyboardInput","setKeyboardInput","resetKeyboardInput","resetFocusedOption","onKeyboardInput","key","fullInput","close","selectOption","shouldTriggerOnChangeWhenControlledAndInnerValueIsOutOfSync","selectFocused","open","onBlur","onFocus","onClick","handleKeyUp","focusOption","type","nextIndex","beforeIndex","onNativeSelectChange","convertedNativeSelectValue","String","isCalledWithSameControlledOptionValue","isNativeValueChanged","isTriggeredByClearButton","shouldCallOnChange","remappedNativeValue","currentTarget","target","onInputChange","areOptionsShown","handleKeyDownSelect","handleOptionClick","Array","prototype","indexOf","call","parentNode","lastMousePositionRef","focusOptionOnMouseMove","popupAriaId","useId","renderOption","hovered","Fragment","label","onMouseDown","onMouseMove","id","resolvedContent","defaultDropdownContent","div","ref","empty","selectInputRef","controlledValueSet","uncontrolledValueSet","clearButtonShown","clearButton","clearIcon","clearSelectState","focus","data-testid","icon","dropdownIcon","afterIcons","document","passClickAndFocusToInputOnClick","clickTargetIsNotAnInput","click","inputIsNotFocused","activeElement","preventInputBlurWhenClickInsideFocusedSelectArea","isInputFocused","ariaActiveDescendantOptionIndex","ariaActiveDescendantId","selectInputAriaProps","focusWithin","resetOptionFocusOnMouseLeave","host","updateLastMousePosition","aria-live","autoComplete","autoCapitalize","autoCorrect","spellCheck","readOnly","onKeyUp","onKeyDown","after","select","aria-hidden","control","targetRef","placement","onPlacementChange","onMouseLeave","offsetDistance","autoWidth","forcePortal","role","aria-labelledby","tabIndex"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/CustomSelect/CustomSelect.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, debounce } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useFocusWithin } from '../../hooks/useFocusWithin';\nimport { useStateWithPrev } from '../../hooks/useStateWithPrev';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { useDOM } from '../../lib/dom';\nimport type { Placement } from '../../lib/floating';\nimport { defaultFilterFn, type FilterFn } from '../../lib/select';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport {\n CustomSelectDropdown,\n type CustomSelectDropdownProps,\n} from '../CustomSelectDropdown/CustomSelectDropdown';\nimport {\n CustomSelectOption,\n type CustomSelectOptionProps,\n} from '../CustomSelectOption/CustomSelectOption';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport type { FormFieldProps } from '../FormField/FormField';\nimport {\n NOT_SELECTED,\n remapFromNativeValueToSelectValue,\n remapFromSelectValueToNativeValue,\n} from '../NativeSelect/NativeSelect';\nimport type {\n NativeSelectProps,\n NativeSelectValue,\n SelectValue,\n} from '../NativeSelect/NativeSelect';\nimport type { SelectType } from '../Select/Select';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport {\n CustomSelectClearButton,\n type CustomSelectClearButtonProps,\n} from './CustomSelectClearButton';\nimport {\n CustomSelectInput,\n type CustomSelectInputProps,\n} from './CustomSelectInput/CustomSelectInput';\nimport styles from './CustomSelect.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nconst findIndexAfter = (options: CustomSelectOptionInterface[] = [], startIndex = -1) => {\n if (startIndex >= options.length - 1) {\n return -1;\n }\n return options.findIndex((option, i) => i > startIndex && !option.disabled);\n};\n\nconst findIndexBefore = (\n options: CustomSelectOptionInterface[] = [],\n endIndex: number = options.length,\n) => {\n let result = -1;\n if (endIndex <= 0) {\n return result;\n }\n for (let i = endIndex - 1; i >= 0; i--) {\n let option = options[i];\n\n if (!option.disabled) {\n result = i;\n break;\n }\n }\n return result;\n};\n\nconst warn = warnOnce('CustomSelect');\n\nconst checkOptionsValueType = <T extends CustomSelectOptionInterface>(options: T[]) => {\n if (new Set(options.map((item) => typeof item.value)).size > 1) {\n warn(\n 'Некоторые значения ваших опций имеют разные типы. onChange всегда возвращает строковый тип.',\n 'error',\n );\n }\n};\n\nconst checkMixControlledAndUncontrolledState = (\n oldIsControlled: boolean,\n newIsControlled: boolean,\n) => {\n if (!oldIsControlled && newIsControlled) {\n warn(\n `Похоже, что компонент был переведен из состояния Uncontrolled в Controlled. Пожалуйста, не делайте так. Если вам нужно отобразить невыбранное состояние компонента, используйте value=null вместо undefined`,\n 'error',\n );\n }\n if (oldIsControlled && !newIsControlled) {\n warn(\n `Похоже, что компонент был переведен из состояния Controlled в Uncontrolled. Пожалуйста, не делайте так. Если вам нужно отобразить невыбранное состояние компонента, используйте value=null вместо undefined`,\n 'error',\n );\n }\n};\n\nfunction defaultRenderOptionFn<T extends CustomSelectOptionInterface>({\n option,\n ...props\n}: CustomSelectRenderOption<T>): React.ReactNode {\n return <CustomSelectOption {...props} />;\n}\n\nconst handleOptionDown: MouseEventHandler = (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault();\n};\n\nfunction findSelectedIndex<T extends CustomSelectOptionInterface>(\n options: T[] = [],\n value: SelectValue,\n) {\n if (value === NOT_SELECTED.CUSTOM) {\n return -1;\n }\n return (\n options.findIndex((item) => {\n value = typeof item.value === 'number' ? Number(value) : value;\n return item.value === value;\n }) ?? -1\n );\n}\n\nconst filter = <T extends CustomSelectOptionInterface>(\n options: SelectProps<T>['options'],\n inputValue: string,\n filterFn: SelectProps<T>['filterFn'],\n) => {\n return typeof filterFn === 'function'\n ? options.filter((option) => filterFn(inputValue, option))\n : options;\n};\n\n/* eslint-disable jsdoc/require-jsdoc */\ntype MousePosition = {\n x: React.MouseEvent['clientX'];\n y: React.MouseEvent['clientY'];\n};\n/* eslint-enable jsdoc/require-jsdoc */\n\nfunction isMousePositionChanged(event: React.MouseEvent, prevPosition: MousePosition) {\n return (\n Math.abs(prevPosition.x - event.clientX) >= 1 || Math.abs(prevPosition.y - event.clientY) >= 1\n );\n}\n\nexport interface CustomSelectOptionInterface {\n /**\n * Значение.\n */\n value: Exclude<SelectValue, null>;\n /**\n * Отображаемый текст.\n */\n label: React.ReactElement | string;\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean;\n [index: string]: any;\n}\n\nexport interface CustomSelectRenderOption<T extends CustomSelectOptionInterface>\n extends CustomSelectOptionProps {\n /**\n * Данные об опции.\n */\n option: T;\n}\n\nexport type { CustomSelectClearButtonProps };\n\nexport interface SelectProps<\n OptionInterfaceT extends CustomSelectOptionInterface = CustomSelectOptionInterface,\n> extends NativeSelectProps,\n Omit<FormFieldProps, 'maxHeight'>,\n Pick<CustomSelectDropdownProps, 'overscrollBehavior'>,\n Pick<CustomSelectInputProps, 'minLength' | 'maxLength' | 'pattern' | 'readOnly'> {\n /**\n * Ref на внутрений компонент input.\n */\n getSelectInputRef?: React.Ref<HTMLInputElement>;\n /**\n * Если `true`, то при нажатии на `CustomSelect` в нём появится текстовое поле для поиска по `options`. По умолчанию поиск\n * производится по `option.label`.\n */\n searchable?: boolean;\n /**\n * Текст, который будет отображен, если приходит пустой `options`.\n */\n emptyText?: string;\n /**\n * Событие изменения текстового поля.\n */\n onInputChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n /**\n * Список опций в списке.\n */\n options: OptionInterfaceT[];\n /**\n * Функция для кастомной фильтрации. По умолчанию поиск производится по `option.label`.\n */\n filterFn?: false | FilterFn<OptionInterfaceT>;\n /**\n * Направление раскрытия выпадающего списка.\n */\n popupDirection?: 'top' | 'bottom';\n /**\n * Рендер-проп для кастомного рендера опции.\n * В объекте аргумента приходят [свойства опции](https://vkcom.github.io/VKUI/#/CustomSelectOption?id=props).\n *\n * > ⚠️ Важно: cвойство опции `disabled` должно выставляться только через проп `options`.\n * > Запрещается выставлять `disabled` проп опциям в обход `options`, иначе `CustomSelect` не будет знать об актуальном состоянии\n * опции.\n */\n renderOption?: (props: CustomSelectRenderOption<OptionInterfaceT>) => React.ReactNode;\n /**\n * Рендер-проп для кастомного рендера содержимого дропдауна.\n * В `defaultDropdownContent` содержится список опций в виде скроллящегося блока.\n */\n renderDropdown?: ({\n defaultDropdownContent,\n }: {\n defaultDropdownContent: React.ReactNode;\n }) => React.ReactNode;\n /**\n * Если `true`, то в дропдауне вместо списка опций рисуется спиннер. При переданных `renderDropdown` и `fetching: true`\n * \"победит\" `renderDropdown`.\n */\n fetching?: boolean;\n /**\n * Обработчик закрытия выпадающего списка.\n */\n onClose?: VoidFunction;\n /**\n * Обработчик открытия выпадающего списка.\n */\n onOpen?: VoidFunction;\n /**\n * Иконка раскрывающегося списка.\n */\n icon?: React.ReactNode;\n /**\n * Кастомная кнопка для очистки значения.\n * Должна принимать обязательное свойство `onClick`.\n */\n ClearButton?: React.ComponentType<CustomSelectClearButtonProps>;\n /**\n * Если `true`, то справа будет отображаться кнопка для очистки значения.\n */\n allowClearButton?: boolean;\n /**\n * Передает атрибут `data-testid` для кнопки очистки.\n */\n clearButtonTestId?: string;\n /**\n * Отступ от выпадающего списка.\n */\n dropdownOffsetDistance?: number;\n /**\n * Ширина раскрывающегося списка зависит от контента.\n */\n dropdownAutoWidth?: boolean;\n /**\n * Использовать Portal для рендеринга выпадающего списка.\n */\n forceDropdownPortal?: boolean;\n /**\n * Тип отображения компонента.\n */\n selectType?: SelectType;\n /**\n * Отключает максимальную высоту по умолчанию.\n */\n noMaxHeight?: boolean;\n /**\n * Передает атрибут `data-testid` для элемента, внутри которого отображается текст выбранной опции `CustomSelect` или плейсхолдер.\n */\n labelTextTestId?: string;\n /**\n * Передает атрибут `data-testid` для нативного элемента `select`.\n */\n nativeSelectTestId?: string;\n /**\n * Обработчик события `keyDown` в поле ввода.\n */\n onInputKeyDown?: (e: React.KeyboardEvent, isOpen: boolean) => void;\n}\n\ntype MouseEventHandler = (event: React.MouseEvent<HTMLElement>) => void;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CustomSelect\n */\nexport function CustomSelect<OptionInterfaceT extends CustomSelectOptionInterface>(\n props: SelectProps<OptionInterfaceT>,\n): React.ReactNode {\n const [opened, setOpened] = React.useState(false);\n const {\n before,\n name,\n className,\n getRef,\n getRootRef,\n popupDirection = 'bottom',\n style,\n onChange,\n children,\n 'onInputChange': onInputChangeProp,\n renderDropdown,\n onOpen,\n onClose,\n fetching,\n forceDropdownPortal,\n selectType = 'default',\n searchable = false,\n 'renderOption': renderOptionProp = defaultRenderOptionFn,\n 'options': optionsProp,\n emptyText = 'Ничего не найдено',\n filterFn = defaultFilterFn,\n 'icon': iconProp,\n ClearButton = CustomSelectClearButton,\n allowClearButton = false,\n dropdownOffsetDistance = 0,\n dropdownAutoWidth = false,\n noMaxHeight = false,\n 'aria-labelledby': ariaLabelledBy,\n clearButtonTestId,\n nativeSelectTestId,\n defaultValue,\n required,\n getSelectInputRef,\n overscrollBehavior,\n onInputKeyDown,\n ...restProps\n } = props;\n\n if (process.env.NODE_ENV === 'development') {\n checkOptionsValueType(optionsProp);\n }\n\n const { sizeY = 'none' } = useAdaptivity();\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const handleRootRef = useExternRef(containerRef, getRootRef);\n const scrollBoxRef = React.useRef<HTMLDivElement | null>(null);\n const selectElRef = useExternRef(getRef);\n const optionsWrapperRef = React.useRef<HTMLDivElement>(null);\n const scrollPerformedRef = React.useRef(false);\n\n const [focusedOptionIndex, setFocusedOptionIndex] = React.useState<number | undefined>(-1);\n const [isControlledOutside, setIsControlledOutside] = React.useState(props.value !== undefined);\n const [inputValue, setInputValue] = React.useState('');\n const [[nativeSelectValue, prevNativeSelectValue], setNativeSelectValue] =\n useStateWithPrev<NativeSelectValue>(() => {\n if (props.value !== undefined) {\n return remapFromSelectValueToNativeValue(props.value);\n }\n if (defaultValue !== undefined) {\n return remapFromSelectValueToNativeValue(defaultValue);\n }\n return NOT_SELECTED.NATIVE;\n });\n\n const [popperPlacement, setPopperPlacement] = React.useState<Placement>(popupDirection);\n\n const options = React.useMemo(() => {\n return filter(optionsProp, inputValue, filterFn);\n }, [filterFn, inputValue, optionsProp]);\n\n const [selectedOptionIndex, setSelectedOptionIndex] = React.useState<number | undefined>(\n findSelectedIndex(options, props.value ?? defaultValue ?? null),\n );\n\n React.useEffect(\n function updateOptionsIndexes() {\n const value =\n props.value !== undefined\n ? props.value\n : remapFromNativeValueToSelectValue(nativeSelectValue);\n\n const selectedIndex = findSelectedIndex(options, value);\n setSelectedOptionIndex(selectedIndex);\n setFocusedOptionIndex(selectedIndex);\n },\n [props.value, nativeSelectValue, options, filterFn],\n );\n\n React.useEffect(\n function syncIsControlledState() {\n setIsControlledOutside((oldIsControlled) => {\n const newIsControlled = props.value !== undefined;\n checkMixControlledAndUncontrolledState(oldIsControlled, newIsControlled);\n return newIsControlled;\n });\n },\n [props.value],\n );\n\n React.useEffect(\n function syncNativeSelectValueWithPropValue() {\n if (props.value !== undefined) {\n setNativeSelectValue(remapFromSelectValueToNativeValue(props.value));\n }\n },\n [props.value, setNativeSelectValue],\n );\n\n useIsomorphicLayoutEffect(() => {\n if (\n options.some(({ value }) => nativeSelectValue === value) ||\n (allowClearButton && nativeSelectValue === NOT_SELECTED.NATIVE)\n ) {\n const event = new Event('change', { bubbles: true });\n\n selectElRef.current?.dispatchEvent(event);\n }\n }, [nativeSelectValue]);\n\n const selected = React.useMemo(() => {\n if (!options.length) {\n return null;\n }\n\n return selectedOptionIndex !== undefined ? options[selectedOptionIndex] : undefined;\n }, [options, selectedOptionIndex]);\n\n const openedClassNames = React.useMemo(\n () =>\n (opened &&\n dropdownOffsetDistance === 0 &&\n (popperPlacement.includes('top') ? styles.popUp : styles.popDown)) ||\n undefined,\n [dropdownOffsetDistance, opened, popperPlacement],\n );\n\n const scrollToElement = React.useCallback((index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const optionsWrapper = optionsWrapperRef.current;\n const item =\n dropdown && optionsWrapper ? (optionsWrapper.children[index] as HTMLElement) : null;\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n }, []);\n\n const focusOptionByIndex = React.useCallback(\n (index: number | undefined, scrollTo = true) => {\n if (index === undefined || index < 0 || index > (options.length ?? 0) - 1) {\n return;\n }\n\n const option = options[index];\n\n if (option?.disabled) {\n return;\n }\n\n if (scrollTo) {\n scrollToElement(index);\n }\n\n setFocusedOptionIndex(index);\n },\n [options, scrollToElement],\n );\n\n const isValidIndex = React.useCallback(\n (index: number) => {\n return index >= 0 && index < (options.length ?? 0);\n },\n [options.length],\n );\n\n useIsomorphicLayoutEffect(() => {\n if (!opened) {\n scrollPerformedRef.current = false;\n return;\n }\n\n if (scrollPerformedRef.current) {\n return;\n }\n\n const isIndexValid = selectedOptionIndex !== undefined && isValidIndex(selectedOptionIndex);\n\n if (scrollBoxRef.current && isIndexValid) {\n scrollPerformedRef.current = true;\n scrollToElement(selectedOptionIndex, true);\n }\n }, [opened, selectedOptionIndex, scrollToElement, isValidIndex]);\n\n const [keyboardInput, setKeyboardInput] = React.useState('');\n const resetKeyboardInput = React.useCallback(() => {\n setKeyboardInput('');\n }, []);\n\n const resetFocusedOption = React.useCallback(() => {\n setFocusedOptionIndex(-1);\n }, []);\n\n const onKeyboardInput = React.useCallback(\n (key: string) => {\n if (!opened) {\n setOpened(true);\n }\n resetFocusedOption();\n const fullInput = keyboardInput + key;\n\n setKeyboardInput(fullInput);\n },\n [keyboardInput, opened, resetFocusedOption],\n );\n\n const close = React.useCallback(() => {\n resetKeyboardInput();\n\n setInputValue('');\n setOpened(false);\n resetFocusedOption();\n onClose?.();\n }, [onClose, resetKeyboardInput, resetFocusedOption]);\n\n const selectOption = React.useCallback(\n (index: number) => {\n const item = options[index];\n setNativeSelectValue(item?.value ?? NOT_SELECTED.NATIVE);\n close();\n\n const shouldTriggerOnChangeWhenControlledAndInnerValueIsOutOfSync =\n isControlledOutside &&\n props.value !== nativeSelectValue &&\n nativeSelectValue === item?.value;\n\n if (shouldTriggerOnChangeWhenControlledAndInnerValueIsOutOfSync) {\n const event = new Event('change', { bubbles: true });\n selectElRef.current?.dispatchEvent(event);\n }\n },\n [\n close,\n options,\n selectElRef,\n isControlledOutside,\n props.value,\n nativeSelectValue,\n setNativeSelectValue,\n ],\n );\n\n const selectFocused = React.useCallback(() => {\n if (focusedOptionIndex === undefined || !isValidIndex(focusedOptionIndex)) {\n return;\n }\n\n selectOption(focusedOptionIndex);\n }, [focusedOptionIndex, isValidIndex, selectOption]);\n\n const open = React.useCallback(() => {\n setOpened(true);\n setFocusedOptionIndex(selectedOptionIndex);\n\n if (typeof onOpen === 'function') {\n onOpen();\n }\n }, [onOpen, selectedOptionIndex]);\n\n const onBlur = React.useCallback(() => {\n close();\n const event = new Event('focusout', { bubbles: true });\n selectElRef.current?.dispatchEvent(event);\n }, [close, selectElRef]);\n\n const onFocus = React.useCallback(() => {\n const event = new Event('focusin', { bubbles: true });\n selectElRef.current?.dispatchEvent(event);\n }, [selectElRef]);\n\n const onClick = React.useCallback(() => {\n if (opened) {\n close();\n } else {\n open();\n }\n }, [close, open, opened]);\n\n const handleKeyUp = React.useMemo(() => debounce(resetKeyboardInput, 1000), [resetKeyboardInput]);\n\n const focusOption = React.useCallback(\n (type: 'next' | 'prev') => {\n let index = focusedOptionIndex;\n\n if (type === 'next') {\n const nextIndex = findIndexAfter(options, index);\n index = nextIndex === -1 ? findIndexAfter(options) : nextIndex; // Следующий за index или первый валидный до index\n } else if (type === 'prev') {\n const beforeIndex = findIndexBefore(options, index);\n index = beforeIndex === -1 ? findIndexBefore(options) : beforeIndex; // Предшествующий index или последний валидный после index\n }\n\n focusOptionByIndex(index);\n },\n [focusOptionByIndex, focusedOptionIndex, options],\n );\n\n const onNativeSelectChange: React.ChangeEventHandler<HTMLSelectElement> = (e) => {\n // для ситуаций, когда в опциях value это string а value/defaultValue это number\n // и наоборот, приводим значение nativeSelectValue из стейта к строке.\n // ведь nativeSelect всегда возвращает string в onChange, а пользователь\n // может использовать number для опций\n //\n // native select всегда возвращает string в качестве value в onChange\n // Когда селект контролируемый, то пользователь, в onChange может сохранить в свой стейт строку (например '3'), хотя\n // в качестве value опции может использовать число (3),\n // тогда строчное значение value ('3') из стейта пользователя\n // будет передано в CustomSelect, и после синхронизации nativeSelectValue (3) и props.value ('3') и после клика на уже выбранную опцию (3),\n // когда nativeSelectValue обновится на значение опции (число 3),\n // сравнение nativeSelectValue (3) и prevNativeSelectValue ('3') может не сработать лишь из-за того, что они в разных типах.\n const convertedNativeSelectValue =\n typeof nativeSelectValue === 'number' &&\n (typeof props.value === 'string' || typeof prevNativeSelectValue === 'string')\n ? String(nativeSelectValue)\n : nativeSelectValue;\n\n const isCalledWithSameControlledOptionValue =\n isControlledOutside &&\n props.value === remapFromNativeValueToSelectValue(convertedNativeSelectValue);\n\n const isNativeValueChanged =\n convertedNativeSelectValue !== prevNativeSelectValue && prevNativeSelectValue !== undefined;\n\n const isTriggeredByClearButton = allowClearButton && nativeSelectValue === NOT_SELECTED.NATIVE;\n\n const shouldCallOnChange =\n !isCalledWithSameControlledOptionValue && (isNativeValueChanged || isTriggeredByClearButton);\n\n if (!shouldCallOnChange) {\n return;\n }\n\n const remappedNativeValue = remapFromNativeValueToSelectValue(e.currentTarget.value);\n\n if (e.target.value === NOT_SELECTED.NATIVE) {\n e.target.value = '';\n }\n if (e.currentTarget.value === NOT_SELECTED.NATIVE) {\n e.currentTarget.value = '';\n }\n\n onChange?.(e, remappedNativeValue);\n };\n\n const onInputChange: React.ChangeEventHandler<HTMLInputElement> = React.useCallback(\n (e) => {\n onInputChangeProp && onInputChangeProp(e);\n setInputValue(e.target.value);\n },\n [onInputChangeProp],\n );\n\n const areOptionsShown = React.useCallback(() => {\n return scrollBoxRef.current !== null;\n }, []);\n\n const handleKeyDownSelect = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key.length === 1 && event.key !== ' ') {\n onKeyboardInput(event.key);\n return;\n }\n\n ['ArrowUp', 'ArrowDown', 'Escape', 'Enter'].includes(event.key) &&\n areOptionsShown() &&\n event.preventDefault();\n\n switch (event.key) {\n case 'ArrowUp':\n if (opened) {\n areOptionsShown() && focusOption('prev');\n } else {\n open();\n }\n break;\n case 'ArrowDown':\n if (opened) {\n areOptionsShown() && focusOption('next');\n } else {\n open();\n }\n break;\n case 'Escape':\n close();\n break;\n case 'Backspace':\n case 'Delete': {\n if (!opened) {\n setOpened(true);\n }\n resetFocusedOption();\n\n break;\n }\n case 'Enter':\n case 'Spacebar':\n case ' ':\n if (opened) {\n areOptionsShown() && selectFocused();\n } else {\n open();\n }\n break;\n }\n },\n [\n areOptionsShown,\n close,\n focusOption,\n onKeyboardInput,\n open,\n opened,\n selectFocused,\n resetFocusedOption,\n ],\n );\n\n const handleInputKeydown = React.useCallback(\n (event: React.KeyboardEvent) => {\n onInputKeyDown?.(event, opened);\n },\n [opened, onInputKeyDown],\n );\n const _onInputKeyDown = callMultiple(handleKeyDownSelect, handleInputKeydown);\n\n const handleOptionClick = React.useCallback(\n (e: React.MouseEvent<HTMLElement>) => {\n const index = Array.prototype.indexOf.call(\n e.currentTarget.parentNode?.children,\n e.currentTarget,\n );\n const option = options[index];\n\n if (option && !option.disabled) {\n selectOption(index);\n }\n },\n [options, selectOption],\n );\n\n const lastMousePositionRef = React.useRef<MousePosition>({ x: 0, y: 0 });\n const focusOptionOnMouseMove = React.useCallback(\n (e: React.MouseEvent<HTMLElement>, index: number) => {\n if (isMousePositionChanged(e, lastMousePositionRef.current)) {\n focusOptionByIndex(index, false);\n }\n },\n [focusOptionByIndex],\n );\n\n const popupAriaId = React.useId();\n const renderOption = React.useCallback(\n (option: OptionInterfaceT, index: number) => {\n const hovered = index === focusedOptionIndex;\n const selected = index === selectedOptionIndex;\n\n return (\n <React.Fragment key={`${typeof option.value}-${option.value}`}>\n {renderOptionProp({\n option,\n hovered,\n children: option.label,\n selected,\n disabled: option.disabled,\n onClick: handleOptionClick,\n onMouseDown: handleOptionDown,\n // Используем `onMouseMove` вместо `onMouseEnter/onMouseOver`.\n // Потому что если при навигации с клавиатуры курсор наведён на\n // список, то при первом автоматическом скролле списка вызывается событие MouseOver/MouseEnter\n // обработчик которого фокусирует опцию под курсором, хотя при навигация с клавиатуры пользователь мог уйти дальше по списку, это путает.\n // Причём координаты события меняются на пару пикселей по сравнению с прошлым вызовом,\n // а значит нельзя на них опираться, чтобы запретить обработку такого события.\n // C mousemove такой проблемы нет, что позволяет реализовать поведение при наведении с клавиатуры и при наведении мышью идентично `<select>`.\n onMouseMove: (e) => focusOptionOnMouseMove(e, index),\n id: `${popupAriaId}-${option.value}`,\n ...option,\n })}\n </React.Fragment>\n );\n },\n [\n focusedOptionIndex,\n handleOptionClick,\n focusOptionOnMouseMove,\n renderOptionProp,\n selectedOptionIndex,\n popupAriaId,\n ],\n );\n\n const resolvedContent = React.useMemo(() => {\n const defaultDropdownContent =\n options.length > 0 ? (\n <div ref={optionsWrapperRef}>{options.map(renderOption)}</div>\n ) : (\n <Footnote className={styles.empty}>{emptyText}</Footnote>\n );\n\n if (typeof renderDropdown === 'function') {\n return renderDropdown({ defaultDropdownContent });\n } else {\n return defaultDropdownContent;\n }\n }, [emptyText, options, renderDropdown, renderOption]);\n\n const selectInputRef = useExternRef(getSelectInputRef);\n\n const controlledValueSet = isControlledOutside && props.value !== NOT_SELECTED.CUSTOM;\n const uncontrolledValueSet = !isControlledOutside && nativeSelectValue !== NOT_SELECTED.NATIVE;\n const clearButtonShown =\n allowClearButton && !opened && (controlledValueSet || uncontrolledValueSet);\n\n const clearButton = React.useMemo(() => {\n if (!clearButtonShown) {\n return null;\n }\n\n return (\n <ClearButton\n className={iconProp === undefined ? styles.clearIcon : undefined}\n onClick={function clearSelectState() {\n setNativeSelectValue(NOT_SELECTED.NATIVE);\n setInputValue('');\n selectInputRef.current && selectInputRef.current.focus();\n }}\n disabled={restProps.disabled}\n data-testid={clearButtonTestId}\n />\n );\n }, [\n clearButtonShown,\n ClearButton,\n iconProp,\n restProps.disabled,\n clearButtonTestId,\n setNativeSelectValue,\n selectInputRef,\n ]);\n\n const icon = React.useMemo(() => {\n if (iconProp !== undefined) {\n return iconProp;\n }\n\n return (\n <DropdownIcon\n className={clearButtonShown ? styles.dropdownIcon : undefined}\n opened={opened}\n />\n );\n }, [clearButtonShown, iconProp, opened]);\n\n const afterIcons = (icon || clearButtonShown) && (\n <React.Fragment>\n {clearButton}\n {icon}\n </React.Fragment>\n );\n\n const { document } = useDOM();\n const passClickAndFocusToInputOnClick = React.useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n // Раньше внешней оберткой CustomSelect был <label>, что позволяло по клику в любую область CustomSelect,\n // даже где нету интерактивного элемента, фокусировать <input> и передавать на него событие клика.\n // Так как мы больше не оборачиваем CustomSelect в <label>, то для обертки CustomSelect мы симулируем работу <label>.\n // передаем фокус и клик по <input>, если пользователь кликнул в зоне обертки.\n // В <label> мы не больше не оборачиваем, потому что это заставляет скринридер\n // дважды произносить текст выбранной опции при фокусе, если CustomSelect связан с внешним <label>.\n // Воспроизводится в некоторых версиях Chrome, при навигации по странице с помощью стрелок.\n // Договорились со специалистом по доступности убрать <label>-обёртки из Select и CustomSelect\n\n if (!selectInputRef.current || !document) {\n return;\n }\n\n const clickTargetIsNotAnInput = e.target !== selectInputRef.current;\n if (clickTargetIsNotAnInput) {\n selectInputRef.current.click();\n\n const inputIsNotFocused = document.activeElement !== selectInputRef.current;\n if (inputIsNotFocused) {\n selectInputRef.current.focus();\n }\n }\n },\n [document, selectInputRef],\n );\n\n const preventInputBlurWhenClickInsideFocusedSelectArea = (\n e: React.MouseEvent<HTMLDivElement>,\n ) => {\n // Так как инпут больше не оборачивается пустым лэйблом, то клик внутри обертки,\n // но вне инпута (например по иконке дропдауна), будет убирать фокус с инпута.\n // Чтобы в такой ситуации отключить blur инпута мы превентим mousedown событие обёртки\n const isInputFocused = document && document.activeElement === selectInputRef.current;\n if (isInputFocused) {\n e.preventDefault();\n }\n };\n\n const ariaActiveDescendantOptionIndex: undefined | number =\n focusedOptionIndex !== -1 ? focusedOptionIndex : undefined;\n const ariaActiveDescendantId =\n ariaActiveDescendantOptionIndex !== undefined\n ? options[ariaActiveDescendantOptionIndex] && options[ariaActiveDescendantOptionIndex].value\n : null;\n\n const selectInputAriaProps: React.HTMLAttributes<HTMLElement> = {\n 'role': 'combobox',\n 'aria-controls': popupAriaId,\n 'aria-owns': popupAriaId,\n 'aria-expanded': opened,\n 'aria-activedescendant':\n ariaActiveDescendantId && opened ? `${popupAriaId}-${ariaActiveDescendantId}` : undefined,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-haspopup': 'listbox',\n 'aria-autocomplete': 'none',\n };\n\n const focusWithin = useFocusWithin(handleRootRef);\n\n const resetOptionFocusOnMouseLeave = React.useCallback(\n (event: React.MouseEvent) => {\n // В Хроме eсли мышка пользователя находится над инпутом селекта,\n // и он с клавиатуры открывает опции, причём одна из опций\n // уже выбрана, то видно, как выбранная опция получает фокус,\n // но потом сразу же его теряет.\n // Связано это с тем, что в этот момент вызывается onMouseLeave, на который у нас\n // завязан сброс состония фокуса у опции. По хорошему фокус должен оставаться.\n // Нам не интересен вызов onMouseLeave если мышка при этом не двигалась.\n if (isMousePositionChanged(event, lastMousePositionRef.current)) {\n resetFocusedOption();\n }\n },\n [resetFocusedOption],\n );\n\n return (\n <div\n className={classNames(styles.host, sizeY !== 'regular' && sizeYClassNames[sizeY], className)}\n style={style}\n ref={handleRootRef}\n onClick={passClickAndFocusToInputOnClick}\n onMouseDown={preventInputBlurWhenClickInsideFocusedSelectArea}\n onMouseMove={function updateLastMousePosition(e) {\n lastMousePositionRef.current = { x: e.clientX, y: e.clientY };\n }}\n >\n {focusWithin && selected && !opened && (\n <VisuallyHidden aria-live=\"polite\">{selected.label}</VisuallyHidden>\n )}\n <CustomSelectInput\n autoComplete=\"off\"\n autoCapitalize=\"none\"\n autoCorrect=\"off\"\n spellCheck=\"false\"\n {...restProps}\n {...selectInputAriaProps}\n getRef={selectInputRef}\n onFocus={onFocus}\n onBlur={onBlur}\n className={openedClassNames}\n readOnly={!searchable}\n fetching={fetching}\n value={inputValue}\n onKeyUp={handleKeyUp}\n onKeyDown={_onInputKeyDown}\n onChange={onInputChange}\n onClick={onClick}\n before={before}\n after={afterIcons}\n selectType={selectType}\n >\n {selected?.label}\n </CustomSelectInput>\n <select\n tabIndex={-1}\n ref={selectElRef}\n name={name}\n onChange={onNativeSelectChange}\n onBlur={props.onBlur}\n onFocus={props.onFocus}\n onClick={props.onClick}\n value={nativeSelectValue}\n aria-hidden\n className={styles.control}\n data-testid={nativeSelectTestId}\n required={required}\n >\n {(allowClearButton || nativeSelectValue === NOT_SELECTED.NATIVE) && (\n <option key={NOT_SELECTED.NATIVE} value={NOT_SELECTED.NATIVE} />\n )}\n {optionsProp.map((item) => (\n <option key={`${item.value}`} value={item.value} />\n ))}\n </select>\n {opened && (\n <CustomSelectDropdown\n targetRef={containerRef}\n placement={popperPlacement}\n scrollBoxRef={scrollBoxRef}\n onPlacementChange={setPopperPlacement}\n onMouseLeave={resetOptionFocusOnMouseLeave}\n fetching={fetching}\n overscrollBehavior={overscrollBehavior}\n offsetDistance={dropdownOffsetDistance}\n autoWidth={dropdownAutoWidth}\n forcePortal={forceDropdownPortal}\n noMaxHeight={noMaxHeight}\n role=\"listbox\"\n id={popupAriaId}\n aria-labelledby={ariaLabelledBy}\n tabIndex={-1}\n >\n {resolvedContent}\n </CustomSelectDropdown>\n )}\n </div>\n );\n}\n"],"names":["React","classNames","debounce","useAdaptivity","useExternRef","useFocusWithin","useStateWithPrev","callMultiple","useDOM","defaultFilterFn","useIsomorphicLayoutEffect","warnOnce","CustomSelectDropdown","CustomSelectOption","DropdownIcon","NOT_SELECTED","remapFromNativeValueToSelectValue","remapFromSelectValueToNativeValue","Footnote","VisuallyHidden","CustomSelectClearButton","CustomSelectInput","styles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","findIndexAfter","options","startIndex","length","findIndex","option","i","disabled","findIndexBefore","endIndex","result","warn","checkOptionsValueType","Set","map","item","value","size","checkMixControlledAndUncontrolledState","oldIsControlled","newIsControlled","defaultRenderOptionFn","props","handleOptionDown","e","preventDefault","findSelectedIndex","CUSTOM","Number","filter","inputValue","filterFn","isMousePositionChanged","event","prevPosition","Math","abs","x","clientX","y","clientY","CustomSelect","opened","setOpened","useState","before","name","className","getRef","getRootRef","popupDirection","style","onChange","children","onInputChangeProp","renderDropdown","onOpen","onClose","fetching","forceDropdownPortal","selectType","searchable","renderOptionProp","optionsProp","emptyText","iconProp","ClearButton","allowClearButton","dropdownOffsetDistance","dropdownAutoWidth","noMaxHeight","ariaLabelledBy","clearButtonTestId","nativeSelectTestId","defaultValue","required","getSelectInputRef","overscrollBehavior","onInputKeyDown","restProps","process","env","NODE_ENV","sizeY","containerRef","useRef","handleRootRef","scrollBoxRef","selectElRef","optionsWrapperRef","scrollPerformedRef","focusedOptionIndex","setFocusedOptionIndex","isControlledOutside","setIsControlledOutside","undefined","setInputValue","nativeSelectValue","prevNativeSelectValue","setNativeSelectValue","NATIVE","popperPlacement","setPopperPlacement","useMemo","selectedOptionIndex","setSelectedOptionIndex","useEffect","updateOptionsIndexes","selectedIndex","syncIsControlledState","syncNativeSelectValueWithPropValue","some","Event","bubbles","current","dispatchEvent","selected","openedClassNames","includes","popUp","popDown","scrollToElement","useCallback","index","center","dropdown","optionsWrapper","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","scrollTo","isValidIndex","isIndexValid","keyboardInput","setKeyboardInput","resetKeyboardInput","resetFocusedOption","onKeyboardInput","key","fullInput","close","selectOption","shouldTriggerOnChangeWhenControlledAndInnerValueIsOutOfSync","selectFocused","open","onBlur","onFocus","onClick","handleKeyUp","focusOption","type","nextIndex","beforeIndex","onNativeSelectChange","convertedNativeSelectValue","String","isCalledWithSameControlledOptionValue","isNativeValueChanged","isTriggeredByClearButton","shouldCallOnChange","remappedNativeValue","currentTarget","target","onInputChange","areOptionsShown","handleKeyDownSelect","handleInputKeydown","_onInputKeyDown","handleOptionClick","Array","prototype","indexOf","call","parentNode","lastMousePositionRef","focusOptionOnMouseMove","popupAriaId","useId","renderOption","hovered","Fragment","label","onMouseDown","onMouseMove","id","resolvedContent","defaultDropdownContent","div","ref","empty","selectInputRef","controlledValueSet","uncontrolledValueSet","clearButtonShown","clearButton","clearIcon","clearSelectState","focus","data-testid","icon","dropdownIcon","afterIcons","document","passClickAndFocusToInputOnClick","clickTargetIsNotAnInput","click","inputIsNotFocused","activeElement","preventInputBlurWhenClickInsideFocusedSelectArea","isInputFocused","ariaActiveDescendantOptionIndex","ariaActiveDescendantId","selectInputAriaProps","focusWithin","resetOptionFocusOnMouseLeave","host","updateLastMousePosition","aria-live","autoComplete","autoCapitalize","autoCorrect","spellCheck","readOnly","onKeyUp","onKeyDown","after","select","tabIndex","aria-hidden","control","targetRef","placement","onPlacementChange","onMouseLeave","offsetDistance","autoWidth","forcePortal","role","aria-labelledby"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CustomSelect/CustomSelectClearButton.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Cancel } from '@vkontakte/icons';\nimport { stopPropagation } from '../../lib/utils';\nimport type { HasDataAttribute } from '../../types';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport interface CustomSelectClearButtonProps extends HasDataAttribute {\n className?: string;\n onClick: () => void;\n disabled?: boolean;\n}\n\nexport const CustomSelectClearButton = ({\n className,\n onClick,\n ...restProps\n}: CustomSelectClearButtonProps): React.ReactNode => {\n return (\n <IconButton\n Component=\"button\"\n label=\"Очистить поле\"\n onKeyDown={stopPropagation}\n type=\"button\"\n activeMode=\"opacity\"\n hoverMode=\"opacity\"\n {...restProps}\n className={className}\n onClick={(e) => {\n stopPropagation(e);\n e.preventDefault();\n onClick();\n }}\n >\n <Icon16Cancel />\n </IconButton>\n );\n};\n"],"names":["React","Icon16Cancel","stopPropagation","IconButton","CustomSelectClearButton","className","onClick","restProps","Component","label","onKeyDown","type","activeMode","hoverMode","e","preventDefault"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,eAAe,QAAQ,qBAAkB;AAElD,SAASC,UAAU,QAAQ,8BAA2B;AAQtD,OAAO,MAAMC,0BAA0B,CAAC,EACtCC,SAAS,EACTC,OAAO,EACP,GAAGC,WAC0B;IAC7B,qBACE,KAACJ;QACCK,WAAU;QACVC,OAAM;QACNC,WAAWR;QACXS,MAAK;QACLC,YAAW;QACXC,WAAU;QACT,GAAGN,SAAS;QACbF,WAAWA;QACXC,SAAS,CAACQ;YACRZ,gBAAgBY;YAChBA,EAAEC,cAAc;YAChBT;QACF;kBAEA,cAAA,KAACL;;AAGP,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/CustomSelect/CustomSelectClearButton.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Cancel } from '@vkontakte/icons';\nimport { stopPropagation } from '../../lib/utils';\nimport type { HasDataAttribute } from '../../types';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport interface CustomSelectClearButtonProps extends HasDataAttribute {\n /**\n * `className` для компонента.\n */\n className?: string;\n /**\n * Обработчик нажатия на кнопку.\n */\n onClick: () => void;\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean;\n}\n\nexport const CustomSelectClearButton = ({\n className,\n onClick,\n ...restProps\n}: CustomSelectClearButtonProps): React.ReactNode => {\n return (\n <IconButton\n Component=\"button\"\n label=\"Очистить поле\"\n onKeyDown={stopPropagation}\n type=\"button\"\n activeMode=\"opacity\"\n hoverMode=\"opacity\"\n {...restProps}\n className={className}\n onClick={(e) => {\n stopPropagation(e);\n e.preventDefault();\n onClick();\n }}\n >\n <Icon16Cancel />\n </IconButton>\n );\n};\n"],"names":["React","Icon16Cancel","stopPropagation","IconButton","CustomSelectClearButton","className","onClick","restProps","Component","label","onKeyDown","type","activeMode","hoverMode","e","preventDefault"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,eAAe,QAAQ,qBAAkB;AAElD,SAASC,UAAU,QAAQ,8BAA2B;AAiBtD,OAAO,MAAMC,0BAA0B,CAAC,EACtCC,SAAS,EACTC,OAAO,EACP,GAAGC,WAC0B;IAC7B,qBACE,KAACJ;QACCK,WAAU;QACVC,OAAM;QACNC,WAAWR;QACXS,MAAK;QACLC,YAAW;QACXC,WAAU;QACT,GAAGN,SAAS;QACbF,WAAWA;QACXC,SAAS,CAACQ;YACRZ,gBAAgBY;YAChBA,EAAEC,cAAc;YAChBT;QACF;kBAEA,cAAA,KAACL;;AAGP,EAAE"}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import * as React from "react";
3
+ /* eslint-disable jsdoc/require-jsdoc */ import * as React from "react";
4
4
  import { classNames } from "@vkontakte/vkjs";
5
5
  import { useAdaptivity } from "../../../hooks/useAdaptivity.js";
6
6
  import { useExternRef } from "../../../hooks/useExternRef.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { useExternRef } from '../../../hooks/useExternRef';\nimport { useFocusWithin } from '../../../hooks/useFocusWithin';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { getFormFieldModeFromSelectType } from '../../../lib/select';\nimport type { HasAlign, HasRef, HasRootRef } from '../../../types';\nimport { FormField, type FormFieldProps } from '../../FormField/FormField';\nimport type { SelectType } from '../../Select/Select';\nimport { SelectTypography } from '../../SelectTypography/SelectTypography';\nimport { Text } from '../../Typography/Text/Text';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport styles from './CustomSelectInput.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface CustomSelectInputProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLDivElement>,\n HasAlign,\n Omit<FormFieldProps, 'mode' | 'type' | 'maxHeight'> {\n selectType?: SelectType;\n multiline?: boolean;\n labelTextTestId?: string;\n fetching?: boolean;\n}\n\n/**\n * @since 5.10.0\n * @private\n */\nexport const CustomSelectInput = ({\n align = 'left',\n getRef,\n className,\n getRootRef,\n style,\n before,\n after,\n status,\n children,\n placeholder,\n selectType = 'default',\n multiline,\n disabled,\n fetching,\n labelTextTestId,\n ...restProps\n}: CustomSelectInputProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n\n const title = children || placeholder;\n const showLabelOrPlaceholder = !Boolean(restProps.value);\n\n const handleRootRef = useExternRef(getRootRef);\n const focusWithin = useFocusWithin(handleRootRef);\n\n const input = (\n <Text\n type=\"text\"\n {...restProps}\n disabled={disabled && !fetching}\n readOnly={restProps.readOnly || (disabled && fetching)}\n Component=\"input\"\n normalize={false}\n className={classNames(\n styles.el,\n (restProps.readOnly || (showLabelOrPlaceholder && !focusWithin)) && styles.elCursorPointer,\n )}\n getRootRef={getRef}\n placeholder={children ? '' : placeholder}\n />\n );\n\n const platform = usePlatform();\n return (\n <FormField\n Component=\"div\"\n style={style}\n className={classNames(\n styles.host,\n align === 'right' && styles.alignRight,\n align === 'center' && styles.alignCenter,\n !children && styles.empty,\n multiline && styles.multiline,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n before && styles.hasBefore,\n after && styles.hasAfter,\n className,\n )}\n getRootRef={handleRootRef}\n before={before}\n after={after}\n disabled={disabled}\n mode={getFormFieldModeFromSelectType(selectType)}\n status={status}\n >\n <div className={styles.inputGroup}>\n <div\n className={classNames(styles.container, className)}\n tabIndex={-1}\n aria-hidden\n data-testid={labelTextTestId}\n >\n <SelectTypography selectType={selectType} className={styles.title}>\n {showLabelOrPlaceholder && title}\n </SelectTypography>\n </div>\n {/* Чтобы отключить autosuggestion в iOS, тултипы которого начинают всплывать даже когда input\n * в режиме readonly, мы оборачиваем инпут в VisuallyHidden.\n * Тултипы появляются при каждом клике на input.\n * смотри: https://github.com/VKCOM/VKUI/issues/6205\n *\n * Достаточно не дать пользователю кликнуть по инпуту.\n * Делаем это только для режима read-only. Потому что проблема именно в режиме read-only.\n * Обертка вокруг инпута обрабатывает клики и передаёт фокус, так что на взаимодействии с инпутом это никак не скажется.\n **/}\n {restProps.readOnly && platform === 'ios' ? (\n <VisuallyHidden>{input}</VisuallyHidden>\n ) : (\n input\n )}\n </div>\n </FormField>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useExternRef","useFocusWithin","usePlatform","getFormFieldModeFromSelectType","FormField","SelectTypography","Text","VisuallyHidden","styles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","CustomSelectInput","align","getRef","className","getRootRef","style","before","after","status","children","placeholder","selectType","multiline","disabled","fetching","labelTextTestId","restProps","sizeY","title","showLabelOrPlaceholder","Boolean","value","handleRootRef","focusWithin","input","type","readOnly","Component","normalize","el","elCursorPointer","platform","host","alignRight","alignCenter","empty","hasBefore","hasAfter","mode","div","inputGroup","container","tabIndex","aria-hidden","data-testid"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,YAAY,QAAQ,iCAA8B;AAC3D,SAASC,cAAc,QAAQ,mCAAgC;AAC/D,SAASC,WAAW,QAAQ,gCAA6B;AACzD,SAASC,8BAA8B,QAAQ,yBAAsB;AAErE,SAASC,SAAS,QAA6B,+BAA4B;AAE3E,SAASC,gBAAgB,QAAQ,6CAA0C;AAC3E,SAASC,IAAI,QAAQ,gCAA6B;AAClD,SAASC,cAAc,QAAQ,yCAAsC;AACrE,OAAOC,YAAY,iCAAiC;AAEpD,MAAMC,kBAAkB;IACtBC,MAAMF,OAAOG,SAAS;IACtBC,SAASJ,OAAOK,YAAY;AAC9B;AAcA;;;CAGC,GACD,OAAO,MAAMC,oBAAoB,CAAC,EAChCC,QAAQ,MAAM,EACdC,MAAM,EACNC,SAAS,EACTC,UAAU,EACVC,KAAK,EACLC,MAAM,EACNC,KAAK,EACLC,MAAM,EACNC,QAAQ,EACRC,WAAW,EACXC,aAAa,SAAS,EACtBC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,eAAe,EACf,GAAGC,WACoB;IACvB,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGhC;IAE3B,MAAMiC,QAAQT,YAAYC;IAC1B,MAAMS,yBAAyB,CAACC,QAAQJ,UAAUK,KAAK;IAEvD,MAAMC,gBAAgBpC,aAAakB;IACnC,MAAMmB,cAAcpC,eAAemC;IAEnC,MAAME,sBACJ,KAAChC;QACCiC,MAAK;QACJ,GAAGT,SAAS;QACbH,UAAUA,YAAY,CAACC;QACvBY,UAAUV,UAAUU,QAAQ,IAAKb,YAAYC;QAC7Ca,WAAU;QACVC,WAAW;QACXzB,WAAWnB,WACTU,OAAOmC,EAAE,EACT,AAACb,CAAAA,UAAUU,QAAQ,IAAKP,0BAA0B,CAACI,WAAW,KAAM7B,OAAOoC,eAAe;QAE5F1B,YAAYF;QACZQ,aAAaD,WAAW,KAAKC;;IAIjC,MAAMqB,WAAW3C;IACjB,qBACE,KAACE;QACCqC,WAAU;QACVtB,OAAOA;QACPF,WAAWnB,WACTU,OAAOsC,IAAI,EACX/B,UAAU,WAAWP,OAAOuC,UAAU,EACtChC,UAAU,YAAYP,OAAOwC,WAAW,EACxC,CAACzB,YAAYf,OAAOyC,KAAK,EACzBvB,aAAalB,OAAOkB,SAAS,EAC7BK,UAAU,aAAatB,eAAe,CAACsB,MAAM,EAC7CX,UAAUZ,OAAO0C,SAAS,EAC1B7B,SAASb,OAAO2C,QAAQ,EACxBlC;QAEFC,YAAYkB;QACZhB,QAAQA;QACRC,OAAOA;QACPM,UAAUA;QACVyB,MAAMjD,+BAA+BsB;QACrCH,QAAQA;kBAER,cAAA,MAAC+B;YAAIpC,WAAWT,OAAO8C,UAAU;;8BAC/B,KAACD;oBACCpC,WAAWnB,WAAWU,OAAO+C,SAAS,EAAEtC;oBACxCuC,UAAU,CAAC;oBACXC,aAAW;oBACXC,eAAa7B;8BAEb,cAAA,KAACxB;wBAAiBoB,YAAYA;wBAAYR,WAAWT,OAAOwB,KAAK;kCAC9DC,0BAA0BD;;;gBAY9BF,UAAUU,QAAQ,IAAIK,aAAa,sBAClC,KAACtC;8BAAgB+B;qBAEjBA;;;;AAKV,EAAE"}
1
+ {"version":3,"sources":["../../../../../src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx"],"sourcesContent":["'use client';\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { useExternRef } from '../../../hooks/useExternRef';\nimport { useFocusWithin } from '../../../hooks/useFocusWithin';\nimport { usePlatform } from '../../../hooks/usePlatform';\nimport { getFormFieldModeFromSelectType } from '../../../lib/select';\nimport type { HasAlign, HasRef, HasRootRef } from '../../../types';\nimport { FormField, type FormFieldProps } from '../../FormField/FormField';\nimport type { SelectType } from '../../Select/Select';\nimport { SelectTypography } from '../../SelectTypography/SelectTypography';\nimport { Text } from '../../Typography/Text/Text';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport styles from './CustomSelectInput.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface CustomSelectInputProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLDivElement>,\n HasAlign,\n Omit<FormFieldProps, 'mode' | 'type' | 'maxHeight'> {\n selectType?: SelectType;\n multiline?: boolean;\n labelTextTestId?: string;\n fetching?: boolean;\n}\n\n/**\n * @since 5.10.0\n * @private\n */\nexport const CustomSelectInput = ({\n align = 'left',\n getRef,\n className,\n getRootRef,\n style,\n before,\n after,\n status,\n children,\n placeholder,\n selectType = 'default',\n multiline,\n disabled,\n fetching,\n labelTextTestId,\n ...restProps\n}: CustomSelectInputProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n\n const title = children || placeholder;\n const showLabelOrPlaceholder = !Boolean(restProps.value);\n\n const handleRootRef = useExternRef(getRootRef);\n const focusWithin = useFocusWithin(handleRootRef);\n\n const input = (\n <Text\n type=\"text\"\n {...restProps}\n disabled={disabled && !fetching}\n readOnly={restProps.readOnly || (disabled && fetching)}\n Component=\"input\"\n normalize={false}\n className={classNames(\n styles.el,\n (restProps.readOnly || (showLabelOrPlaceholder && !focusWithin)) && styles.elCursorPointer,\n )}\n getRootRef={getRef}\n placeholder={children ? '' : placeholder}\n />\n );\n\n const platform = usePlatform();\n return (\n <FormField\n Component=\"div\"\n style={style}\n className={classNames(\n styles.host,\n align === 'right' && styles.alignRight,\n align === 'center' && styles.alignCenter,\n !children && styles.empty,\n multiline && styles.multiline,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n before && styles.hasBefore,\n after && styles.hasAfter,\n className,\n )}\n getRootRef={handleRootRef}\n before={before}\n after={after}\n disabled={disabled}\n mode={getFormFieldModeFromSelectType(selectType)}\n status={status}\n >\n <div className={styles.inputGroup}>\n <div\n className={classNames(styles.container, className)}\n tabIndex={-1}\n aria-hidden\n data-testid={labelTextTestId}\n >\n <SelectTypography selectType={selectType} className={styles.title}>\n {showLabelOrPlaceholder && title}\n </SelectTypography>\n </div>\n {/* Чтобы отключить autosuggestion в iOS, тултипы которого начинают всплывать даже когда input\n * в режиме readonly, мы оборачиваем инпут в VisuallyHidden.\n * Тултипы появляются при каждом клике на input.\n * смотри: https://github.com/VKCOM/VKUI/issues/6205\n *\n * Достаточно не дать пользователю кликнуть по инпуту.\n * Делаем это только для режима read-only. Потому что проблема именно в режиме read-only.\n * Обертка вокруг инпута обрабатывает клики и передаёт фокус, так что на взаимодействии с инпутом это никак не скажется.\n **/}\n {restProps.readOnly && platform === 'ios' ? (\n <VisuallyHidden>{input}</VisuallyHidden>\n ) : (\n input\n )}\n </div>\n </FormField>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useExternRef","useFocusWithin","usePlatform","getFormFieldModeFromSelectType","FormField","SelectTypography","Text","VisuallyHidden","styles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","CustomSelectInput","align","getRef","className","getRootRef","style","before","after","status","children","placeholder","selectType","multiline","disabled","fetching","labelTextTestId","restProps","sizeY","title","showLabelOrPlaceholder","Boolean","value","handleRootRef","focusWithin","input","type","readOnly","Component","normalize","el","elCursorPointer","platform","host","alignRight","alignCenter","empty","hasBefore","hasAfter","mode","div","inputGroup","container","tabIndex","aria-hidden","data-testid"],"mappings":"AAAA;;AACA,sCAAsC,GAEtC,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,YAAY,QAAQ,iCAA8B;AAC3D,SAASC,cAAc,QAAQ,mCAAgC;AAC/D,SAASC,WAAW,QAAQ,gCAA6B;AACzD,SAASC,8BAA8B,QAAQ,yBAAsB;AAErE,SAASC,SAAS,QAA6B,+BAA4B;AAE3E,SAASC,gBAAgB,QAAQ,6CAA0C;AAC3E,SAASC,IAAI,QAAQ,gCAA6B;AAClD,SAASC,cAAc,QAAQ,yCAAsC;AACrE,OAAOC,YAAY,iCAAiC;AAEpD,MAAMC,kBAAkB;IACtBC,MAAMF,OAAOG,SAAS;IACtBC,SAASJ,OAAOK,YAAY;AAC9B;AAcA;;;CAGC,GACD,OAAO,MAAMC,oBAAoB,CAAC,EAChCC,QAAQ,MAAM,EACdC,MAAM,EACNC,SAAS,EACTC,UAAU,EACVC,KAAK,EACLC,MAAM,EACNC,KAAK,EACLC,MAAM,EACNC,QAAQ,EACRC,WAAW,EACXC,aAAa,SAAS,EACtBC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,eAAe,EACf,GAAGC,WACoB;IACvB,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGhC;IAE3B,MAAMiC,QAAQT,YAAYC;IAC1B,MAAMS,yBAAyB,CAACC,QAAQJ,UAAUK,KAAK;IAEvD,MAAMC,gBAAgBpC,aAAakB;IACnC,MAAMmB,cAAcpC,eAAemC;IAEnC,MAAME,sBACJ,KAAChC;QACCiC,MAAK;QACJ,GAAGT,SAAS;QACbH,UAAUA,YAAY,CAACC;QACvBY,UAAUV,UAAUU,QAAQ,IAAKb,YAAYC;QAC7Ca,WAAU;QACVC,WAAW;QACXzB,WAAWnB,WACTU,OAAOmC,EAAE,EACT,AAACb,CAAAA,UAAUU,QAAQ,IAAKP,0BAA0B,CAACI,WAAW,KAAM7B,OAAOoC,eAAe;QAE5F1B,YAAYF;QACZQ,aAAaD,WAAW,KAAKC;;IAIjC,MAAMqB,WAAW3C;IACjB,qBACE,KAACE;QACCqC,WAAU;QACVtB,OAAOA;QACPF,WAAWnB,WACTU,OAAOsC,IAAI,EACX/B,UAAU,WAAWP,OAAOuC,UAAU,EACtChC,UAAU,YAAYP,OAAOwC,WAAW,EACxC,CAACzB,YAAYf,OAAOyC,KAAK,EACzBvB,aAAalB,OAAOkB,SAAS,EAC7BK,UAAU,aAAatB,eAAe,CAACsB,MAAM,EAC7CX,UAAUZ,OAAO0C,SAAS,EAC1B7B,SAASb,OAAO2C,QAAQ,EACxBlC;QAEFC,YAAYkB;QACZhB,QAAQA;QACRC,OAAOA;QACPM,UAAUA;QACVyB,MAAMjD,+BAA+BsB;QACrCH,QAAQA;kBAER,cAAA,MAAC+B;YAAIpC,WAAWT,OAAO8C,UAAU;;8BAC/B,KAACD;oBACCpC,WAAWnB,WAAWU,OAAO+C,SAAS,EAAEtC;oBACxCuC,UAAU,CAAC;oBACXC,aAAW;oBACXC,eAAa7B;8BAEb,cAAA,KAACxB;wBAAiBoB,YAAYA;wBAAYR,WAAWT,OAAOwB,KAAK;kCAC9DC,0BAA0BD;;;gBAY9BF,UAAUU,QAAQ,IAAIK,aAAa,sBAClC,KAACtC;8BAAgB+B;qBAEjBA;;;;AAKV,EAAE"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ /* eslint-disable jsdoc/require-jsdoc */ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { classNames } from "@vkontakte/vkjs";
4
4
  import { CustomScrollView } from "../CustomScrollView/CustomScrollView.js";
@@ -21,6 +21,7 @@ overscrollBehavior, ...restProps })=>{
21
21
  getRootRef: scrollBoxRef,
22
22
  className: noMaxHeight ? undefined : styles.inWithMaxHeight,
23
23
  overscrollBehavior: overscrollBehavior,
24
+ tabIndex: -1,
24
25
  children: fetching ? /*#__PURE__*/ _jsx("div", {
25
26
  className: styles.fetching,
26
27
  children: /*#__PURE__*/ _jsx(Spinner, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CustomSelectDropdown/CustomSelectDropdown.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { Placement } from '../../lib/floating';\nimport type { HasDataAttribute, HTMLAttributesWithRootRef } from '../../types';\nimport { CustomScrollView, type CustomScrollViewProps } from '../CustomScrollView/CustomScrollView';\nimport { Popper } from '../Popper/Popper';\nimport { Spinner } from '../Spinner/Spinner';\nimport styles from './CustomSelectDropdown.module.css';\n\nexport interface CustomSelectDropdownProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n Pick<CustomScrollViewProps, 'overscrollBehavior'>,\n HasDataAttribute {\n targetRef: React.RefObject<HTMLElement | null>;\n placement?: Placement;\n scrollBoxRef?: React.Ref<HTMLDivElement>;\n fetching?: boolean;\n offsetDistance?: number;\n /**\n * Ширина раскрывающегося списка зависит от контента\n */\n autoWidth?: boolean;\n forcePortal?: boolean;\n onPlacementChange?: (placement: Placement) => void;\n /**\n * Отключает максимальную высоту по умолчанию\n */\n noMaxHeight?: boolean;\n}\n\nexport const CustomSelectDropdown = ({\n children,\n targetRef,\n scrollBoxRef,\n placement = 'bottom',\n fetching,\n offsetDistance = 0,\n autoWidth = false,\n forcePortal = true,\n className,\n noMaxHeight = false,\n // CustomScrollView\n overscrollBehavior,\n ...restProps\n}: CustomSelectDropdownProps): React.ReactNode => {\n return (\n <Popper\n targetRef={targetRef}\n offsetByMainAxis={offsetDistance}\n sameWidth={!autoWidth}\n placement={placement}\n className={classNames(\n styles.host,\n 'vkuiInternalCustomSelectDropdown',\n offsetDistance === 0 && (placement.includes('top') ? styles.top : styles.bottom),\n autoWidth && classNames(styles.wide, 'vkuiInternalCustomSelectDropdown--wide'),\n className,\n )}\n usePortal={forcePortal}\n autoUpdateOnTargetResize\n flipMiddlewareFallbackAxisSideDirection=\"none\"\n {...restProps}\n >\n <CustomScrollView\n getRootRef={scrollBoxRef}\n className={noMaxHeight ? undefined : styles.inWithMaxHeight}\n overscrollBehavior={overscrollBehavior}\n >\n {fetching ? (\n <div className={styles.fetching}>\n <Spinner size=\"s\" />\n </div>\n ) : (\n children\n )}\n </CustomScrollView>\n </Popper>\n );\n};\n"],"names":["React","classNames","CustomScrollView","Popper","Spinner","styles","CustomSelectDropdown","children","targetRef","scrollBoxRef","placement","fetching","offsetDistance","autoWidth","forcePortal","className","noMaxHeight","overscrollBehavior","restProps","offsetByMainAxis","sameWidth","host","includes","top","bottom","wide","usePortal","autoUpdateOnTargetResize","flipMiddlewareFallbackAxisSideDirection","getRootRef","undefined","inWithMaxHeight","div","size"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAG7C,SAASC,gBAAgB,QAAoC,0CAAuC;AACpG,SAASC,MAAM,QAAQ,sBAAmB;AAC1C,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,OAAOC,YAAY,oCAAoC;AAuBvD,OAAO,MAAMC,uBAAuB,CAAC,EACnCC,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,YAAY,QAAQ,EACpBC,QAAQ,EACRC,iBAAiB,CAAC,EAClBC,YAAY,KAAK,EACjBC,cAAc,IAAI,EAClBC,SAAS,EACTC,cAAc,KAAK,EACnB,mBAAmB;AACnBC,kBAAkB,EAClB,GAAGC,WACuB;IAC1B,qBACE,KAACf;QACCK,WAAWA;QACXW,kBAAkBP;QAClBQ,WAAW,CAACP;QACZH,WAAWA;QACXK,WAAWd,WACTI,OAAOgB,IAAI,EACX,oCACAT,mBAAmB,KAAMF,CAAAA,UAAUY,QAAQ,CAAC,SAASjB,OAAOkB,GAAG,GAAGlB,OAAOmB,MAAM,AAAD,GAC9EX,aAAaZ,WAAWI,OAAOoB,IAAI,EAAE,2CACrCV;QAEFW,WAAWZ;QACXa,wBAAwB;QACxBC,yCAAwC;QACvC,GAAGV,SAAS;kBAEb,cAAA,KAAChB;YACC2B,YAAYpB;YACZM,WAAWC,cAAcc,YAAYzB,OAAO0B,eAAe;YAC3Dd,oBAAoBA;sBAEnBN,yBACC,KAACqB;gBAAIjB,WAAWV,OAAOM,QAAQ;0BAC7B,cAAA,KAACP;oBAAQ6B,MAAK;;iBAGhB1B;;;AAKV,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/CustomSelectDropdown/CustomSelectDropdown.tsx"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { Placement } from '../../lib/floating';\nimport type { HasDataAttribute, HTMLAttributesWithRootRef } from '../../types';\nimport { CustomScrollView, type CustomScrollViewProps } from '../CustomScrollView/CustomScrollView';\nimport { Popper } from '../Popper/Popper';\nimport { Spinner } from '../Spinner/Spinner';\nimport styles from './CustomSelectDropdown.module.css';\n\nexport interface CustomSelectDropdownProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n Pick<CustomScrollViewProps, 'overscrollBehavior'>,\n HasDataAttribute {\n targetRef: React.RefObject<HTMLElement | null>;\n placement?: Placement;\n scrollBoxRef?: React.Ref<HTMLDivElement>;\n fetching?: boolean;\n offsetDistance?: number;\n /**\n * Ширина раскрывающегося списка зависит от контента.\n */\n autoWidth?: boolean;\n forcePortal?: boolean;\n onPlacementChange?: (placement: Placement) => void;\n /**\n * Отключает максимальную высоту по умолчанию.\n */\n noMaxHeight?: boolean;\n}\n\nexport const CustomSelectDropdown = ({\n children,\n targetRef,\n scrollBoxRef,\n placement = 'bottom',\n fetching,\n offsetDistance = 0,\n autoWidth = false,\n forcePortal = true,\n className,\n noMaxHeight = false,\n // CustomScrollView\n overscrollBehavior,\n ...restProps\n}: CustomSelectDropdownProps): React.ReactNode => {\n return (\n <Popper\n targetRef={targetRef}\n offsetByMainAxis={offsetDistance}\n sameWidth={!autoWidth}\n placement={placement}\n className={classNames(\n styles.host,\n 'vkuiInternalCustomSelectDropdown',\n offsetDistance === 0 && (placement.includes('top') ? styles.top : styles.bottom),\n autoWidth && classNames(styles.wide, 'vkuiInternalCustomSelectDropdown--wide'),\n className,\n )}\n usePortal={forcePortal}\n autoUpdateOnTargetResize\n flipMiddlewareFallbackAxisSideDirection=\"none\"\n {...restProps}\n >\n <CustomScrollView\n getRootRef={scrollBoxRef}\n className={noMaxHeight ? undefined : styles.inWithMaxHeight}\n overscrollBehavior={overscrollBehavior}\n tabIndex={-1}\n >\n {fetching ? (\n <div className={styles.fetching}>\n <Spinner size=\"s\" />\n </div>\n ) : (\n children\n )}\n </CustomScrollView>\n </Popper>\n );\n};\n"],"names":["React","classNames","CustomScrollView","Popper","Spinner","styles","CustomSelectDropdown","children","targetRef","scrollBoxRef","placement","fetching","offsetDistance","autoWidth","forcePortal","className","noMaxHeight","overscrollBehavior","restProps","offsetByMainAxis","sameWidth","host","includes","top","bottom","wide","usePortal","autoUpdateOnTargetResize","flipMiddlewareFallbackAxisSideDirection","getRootRef","undefined","inWithMaxHeight","tabIndex","div","size"],"mappings":"AAAA,sCAAsC;AAEtC,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAG7C,SAASC,gBAAgB,QAAoC,0CAAuC;AACpG,SAASC,MAAM,QAAQ,sBAAmB;AAC1C,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,OAAOC,YAAY,oCAAoC;AAuBvD,OAAO,MAAMC,uBAAuB,CAAC,EACnCC,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,YAAY,QAAQ,EACpBC,QAAQ,EACRC,iBAAiB,CAAC,EAClBC,YAAY,KAAK,EACjBC,cAAc,IAAI,EAClBC,SAAS,EACTC,cAAc,KAAK,EACnB,mBAAmB;AACnBC,kBAAkB,EAClB,GAAGC,WACuB;IAC1B,qBACE,KAACf;QACCK,WAAWA;QACXW,kBAAkBP;QAClBQ,WAAW,CAACP;QACZH,WAAWA;QACXK,WAAWd,WACTI,OAAOgB,IAAI,EACX,oCACAT,mBAAmB,KAAMF,CAAAA,UAAUY,QAAQ,CAAC,SAASjB,OAAOkB,GAAG,GAAGlB,OAAOmB,MAAM,AAAD,GAC9EX,aAAaZ,WAAWI,OAAOoB,IAAI,EAAE,2CACrCV;QAEFW,WAAWZ;QACXa,wBAAwB;QACxBC,yCAAwC;QACvC,GAAGV,SAAS;kBAEb,cAAA,KAAChB;YACC2B,YAAYpB;YACZM,WAAWC,cAAcc,YAAYzB,OAAO0B,eAAe;YAC3Dd,oBAAoBA;YACpBe,UAAU,CAAC;sBAEVrB,yBACC,KAACsB;gBAAIlB,WAAWV,OAAOM,QAAQ;0BAC7B,cAAA,KAACP;oBAAQ8B,MAAK;;iBAGhB3B;;;AAKV,EAAE"}