@vkontakte/vkui 4.28.0 → 4.28.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (993) hide show
  1. package/.browserslistrc +2 -0
  2. package/.cache/.eslintcache +1 -0
  3. package/.cache/.stylelintcache +1 -0
  4. package/.cache/.tsbuildinfo +58386 -0
  5. package/.cache/ts/src/appearance/constants.d.ts +1 -0
  6. package/.cache/ts/src/components/ActionSheet/ActionSheet.d.ts +26 -0
  7. package/.cache/ts/src/components/ActionSheet/ActionSheetContext.d.ts +8 -0
  8. package/.cache/ts/src/components/ActionSheet/ActionSheetDropdown.d.ts +4 -0
  9. package/.cache/ts/src/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +4 -0
  10. package/.cache/ts/src/components/ActionSheet/types.d.ts +9 -0
  11. package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +20 -0
  12. package/.cache/ts/src/components/AdaptivityProvider/AdaptivityContext.d.ts +46 -0
  13. package/.cache/ts/src/components/AdaptivityProvider/AdaptivityProvider.d.ts +10 -0
  14. package/.cache/ts/src/components/Alert/Alert.d.ts +24 -0
  15. package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +14 -0
  16. package/.cache/ts/src/components/AppRoot/AppRootContext.d.ts +9 -0
  17. package/.cache/ts/src/components/AppRoot/AppRootPortal.d.ts +5 -0
  18. package/.cache/ts/src/components/AppRoot/ScrollContext.d.ts +23 -0
  19. package/.cache/ts/src/components/AppearanceProvider/AppearanceProvider.d.ts +7 -0
  20. package/.cache/ts/src/components/AppearanceProvider/AppearanceProviderContext.d.ts +3 -0
  21. package/.cache/ts/src/components/Avatar/Avatar.d.ts +22 -0
  22. package/.cache/ts/src/components/Badge/Badge.d.ts +6 -0
  23. package/.cache/ts/src/components/Banner/Banner.d.ts +65 -0
  24. package/.cache/ts/src/components/Button/Button.d.ts +20 -0
  25. package/.cache/ts/src/components/ButtonGroup/ButtonGroup.d.ts +20 -0
  26. package/.cache/ts/src/components/Calendar/Calendar.d.ts +21 -0
  27. package/.cache/ts/src/components/CalendarDay/CalendarDay.d.ts +22 -0
  28. package/.cache/ts/src/components/CalendarDays/CalendarDays.d.ts +22 -0
  29. package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +16 -0
  30. package/.cache/ts/src/components/CalendarRange/CalendarRange.d.ts +16 -0
  31. package/.cache/ts/src/components/CalendarTime/CalendarTime.d.ts +11 -0
  32. package/.cache/ts/src/components/Card/Card.d.ts +7 -0
  33. package/.cache/ts/src/components/CardGrid/CardGrid.d.ts +8 -0
  34. package/.cache/ts/src/components/CardScroll/CardScroll.d.ts +12 -0
  35. package/.cache/ts/src/components/Cell/Cell.d.ts +47 -0
  36. package/.cache/ts/src/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
  37. package/.cache/ts/src/components/Cell/CellDragger/CellDragger.d.ts +6 -0
  38. package/.cache/ts/src/components/Cell/useDraggable.d.ts +13 -0
  39. package/.cache/ts/src/components/CellButton/CellButton.d.ts +9 -0
  40. package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +10 -0
  41. package/.cache/ts/src/components/Chip/Chip.d.ts +16 -0
  42. package/.cache/ts/src/components/ChipsInput/ChipsInput.d.ts +30 -0
  43. package/.cache/ts/src/components/ChipsInput/useChipsInput.d.ts +14 -0
  44. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +40 -0
  45. package/.cache/ts/src/components/ChipsSelect/useChipsSelect.d.ts +22 -0
  46. package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +21 -0
  47. package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +16 -0
  48. package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +36 -0
  49. package/.cache/ts/src/components/ContentCard/ContentCard.d.ts +34 -0
  50. package/.cache/ts/src/components/Counter/Counter.d.ts +11 -0
  51. package/.cache/ts/src/components/CustomScrollView/CustomScrollView.d.ts +10 -0
  52. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +65 -0
  53. package/.cache/ts/src/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +15 -0
  54. package/.cache/ts/src/components/CustomSelectOption/CustomSelectOption.d.ts +15 -0
  55. package/.cache/ts/src/components/DateInput/DateInput.d.ts +12 -0
  56. package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +24 -0
  57. package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +18 -0
  58. package/.cache/ts/src/components/Div/Div.d.ts +6 -0
  59. package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +8 -0
  60. package/.cache/ts/src/components/DropdownIcon/DropdownIcon.d.ts +3 -0
  61. package/.cache/ts/src/components/Epic/Epic.d.ts +10 -0
  62. package/.cache/ts/src/components/Epic/ScrollSaver.d.ts +6 -0
  63. package/.cache/ts/src/components/File/File.d.ts +9 -0
  64. package/.cache/ts/src/components/FixedLayout/FixedLayout.d.ts +19 -0
  65. package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +8 -0
  66. package/.cache/ts/src/components/FocusVisible/FocusVisible.d.ts +8 -0
  67. package/.cache/ts/src/components/Footer/Footer.d.ts +5 -0
  68. package/.cache/ts/src/components/FormField/FormField.d.ts +14 -0
  69. package/.cache/ts/src/components/FormItem/FormItem.d.ts +14 -0
  70. package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +6 -0
  71. package/.cache/ts/src/components/FormLayoutGroup/FormLayoutGroup.d.ts +13 -0
  72. package/.cache/ts/src/components/FormStatus/FormStatus.d.ts +7 -0
  73. package/.cache/ts/src/components/Gallery/Gallery.d.ts +39 -0
  74. package/.cache/ts/src/components/Gradient/Gradient.d.ts +7 -0
  75. package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +8 -0
  76. package/.cache/ts/src/components/Group/Group.d.ts +23 -0
  77. package/.cache/ts/src/components/Header/Header.d.ts +18 -0
  78. package/.cache/ts/src/components/HorizontalCell/HorizontalCell.d.ts +10 -0
  79. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +19 -0
  80. package/.cache/ts/src/components/HorizontalScroll/HorizontalScrollArrow.d.ts +8 -0
  81. package/.cache/ts/src/components/HoverPopper/HoverPopper.d.ts +29 -0
  82. package/.cache/ts/src/components/IconButton/IconButton.d.ts +11 -0
  83. package/.cache/ts/src/components/InfoRow/InfoRow.d.ts +7 -0
  84. package/.cache/ts/src/components/InitialsAvatar/InitialsAvatar.d.ts +32 -0
  85. package/.cache/ts/src/components/Input/Input.d.ts +9 -0
  86. package/.cache/ts/src/components/InputLike/InputLike.d.ts +10 -0
  87. package/.cache/ts/src/components/InputLike/InputLikeDivider.d.ts +3 -0
  88. package/.cache/ts/src/components/Link/Link.d.ts +6 -0
  89. package/.cache/ts/src/components/List/List.d.ts +4 -0
  90. package/.cache/ts/src/components/List/ListContext.d.ts +4 -0
  91. package/.cache/ts/src/components/LocaleProviderContext/LocaleProviderContext.d.ts +2 -0
  92. package/.cache/ts/src/components/MiniInfoCell/MiniInfoCell.d.ts +39 -0
  93. package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +10 -0
  94. package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +32 -0
  95. package/.cache/ts/src/components/ModalDismissButton/ModalDismissButton.d.ts +5 -0
  96. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +22 -0
  97. package/.cache/ts/src/components/ModalPageHeader/ModalPageHeader.d.ts +8 -0
  98. package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +16 -0
  99. package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +10 -0
  100. package/.cache/ts/src/components/ModalRoot/ModalRootContext.d.ts +20 -0
  101. package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +16 -0
  102. package/.cache/ts/src/components/ModalRoot/constants.d.ts +3 -0
  103. package/.cache/ts/src/components/ModalRoot/types.d.ts +45 -0
  104. package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +37 -0
  105. package/.cache/ts/src/components/ModalRoot/withModalRootContext.d.ts +5 -0
  106. package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +15 -0
  107. package/.cache/ts/src/components/NavTransitionContext/NavTransitionContext.d.ts +7 -0
  108. package/.cache/ts/src/components/Pagination/Pagination.d.ts +42 -0
  109. package/.cache/ts/src/components/Panel/Panel.d.ts +9 -0
  110. package/.cache/ts/src/components/PanelHeader/PanelHeader.d.ts +21 -0
  111. package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +9 -0
  112. package/.cache/ts/src/components/PanelHeaderButton/PanelHeaderButton.d.ts +8 -0
  113. package/.cache/ts/src/components/PanelHeaderClose/PanelHeaderClose.d.ts +4 -0
  114. package/.cache/ts/src/components/PanelHeaderContent/PanelHeaderContent.d.ts +9 -0
  115. package/.cache/ts/src/components/PanelHeaderContext/PanelHeaderContext.d.ts +7 -0
  116. package/.cache/ts/src/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +18 -0
  117. package/.cache/ts/src/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +4 -0
  118. package/.cache/ts/src/components/PanelSpinner/PanelSpinner.d.ts +7 -0
  119. package/.cache/ts/src/components/Placeholder/Placeholder.d.ts +23 -0
  120. package/.cache/ts/src/components/PopoutRoot/PopoutRoot.d.ts +10 -0
  121. package/.cache/ts/src/components/PopoutWrapper/PopoutWrapper.d.ts +10 -0
  122. package/.cache/ts/src/components/Popper/Popper.d.ts +32 -0
  123. package/.cache/ts/src/components/Progress/Progress.d.ts +8 -0
  124. package/.cache/ts/src/components/PromoBanner/PromoBanner.d.ts +40 -0
  125. package/.cache/ts/src/components/PullToRefresh/PullToRefresh.d.ts +37 -0
  126. package/.cache/ts/src/components/PullToRefresh/PullToRefreshSpinner.d.ts +11 -0
  127. package/.cache/ts/src/components/Radio/Radio.d.ts +9 -0
  128. package/.cache/ts/src/components/RadioGroup/RadioGroup.d.ts +6 -0
  129. package/.cache/ts/src/components/RangeSlider/RangeSlider.d.ts +6 -0
  130. package/.cache/ts/src/components/RangeSlider/UniversalSlider.d.ts +16 -0
  131. package/.cache/ts/src/components/Removable/Removable.d.ts +21 -0
  132. package/.cache/ts/src/components/RichCell/RichCell.d.ts +37 -0
  133. package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +5 -0
  134. package/.cache/ts/src/components/Root/Root.d.ts +31 -0
  135. package/.cache/ts/src/components/ScreenSpinner/ScreenSpinner.d.ts +6 -0
  136. package/.cache/ts/src/components/Search/Search.d.ts +17 -0
  137. package/.cache/ts/src/components/SegmentedControl/SegmentedControl.d.ts +17 -0
  138. package/.cache/ts/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
  139. package/.cache/ts/src/components/Select/Select.d.ts +7 -0
  140. package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +14 -0
  141. package/.cache/ts/src/components/Separator/Separator.d.ts +11 -0
  142. package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +39 -0
  143. package/.cache/ts/src/components/SimpleCheckbox/SimpleCheckbox.d.ts +8 -0
  144. package/.cache/ts/src/components/Slider/Slider.d.ts +5 -0
  145. package/.cache/ts/src/components/SliderSwitch/SliderSwitch.d.ts +47 -0
  146. package/.cache/ts/src/components/SliderSwitch/SliderSwitchButton.d.ts +11 -0
  147. package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +35 -0
  148. package/.cache/ts/src/components/Spacing/Spacing.d.ts +18 -0
  149. package/.cache/ts/src/components/Spinner/Spinner.d.ts +7 -0
  150. package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +22 -0
  151. package/.cache/ts/src/components/SplitLayout/SplitLayout.d.ts +15 -0
  152. package/.cache/ts/src/components/SubnavigationBar/SubnavigationBar.d.ts +7 -0
  153. package/.cache/ts/src/components/SubnavigationButton/SubnavigationButton.d.ts +21 -0
  154. package/.cache/ts/src/components/Switch/Switch.d.ts +7 -0
  155. package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +11 -0
  156. package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +21 -0
  157. package/.cache/ts/src/components/Tabs/Tabs.d.ts +10 -0
  158. package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +8 -0
  159. package/.cache/ts/src/components/Tappable/Tappable.d.ts +42 -0
  160. package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +14 -0
  161. package/.cache/ts/src/components/Textarea/Textarea.d.ts +11 -0
  162. package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +55 -0
  163. package/.cache/ts/src/components/Tooltip/TooltipContainer.d.ts +5 -0
  164. package/.cache/ts/src/components/Touch/Touch.d.ts +49 -0
  165. package/.cache/ts/src/components/Touch/TouchContext.d.ts +7 -0
  166. package/.cache/ts/src/components/Typography/Caption/Caption.d.ts +14 -0
  167. package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +8 -0
  168. package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +13 -0
  169. package/.cache/ts/src/components/Typography/Text/Text.d.ts +8 -0
  170. package/.cache/ts/src/components/Typography/Title/Title.d.ts +14 -0
  171. package/.cache/ts/src/components/UsersStack/UsersStack.d.ts +23 -0
  172. package/.cache/ts/src/components/UsersStack/masks.d.ts +1 -0
  173. package/.cache/ts/src/components/View/View.d.ts +80 -0
  174. package/.cache/ts/src/components/View/ViewInfinite.d.ts +66 -0
  175. package/.cache/ts/src/components/View/utils.d.ts +2 -0
  176. package/.cache/ts/src/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
  177. package/.cache/ts/src/components/WriteBar/WriteBar.d.ts +23 -0
  178. package/.cache/ts/src/components/WriteBarIcon/WriteBarIcon.d.ts +18 -0
  179. package/.cache/ts/src/helpers/avatar.d.ts +5 -0
  180. package/.cache/ts/src/helpers/getClassName.d.ts +2 -0
  181. package/.cache/ts/src/helpers/getScheme.d.ts +8 -0
  182. package/.cache/ts/src/helpers/math.d.ts +5 -0
  183. package/.cache/ts/src/helpers/scheme.d.ts +34 -0
  184. package/.cache/ts/src/helpers/typography.d.ts +1 -0
  185. package/.cache/ts/src/hoc/withAdaptivity.d.ts +13 -0
  186. package/.cache/ts/src/hoc/withContext.d.ts +2 -0
  187. package/.cache/ts/src/hoc/withInsets.d.ts +3 -0
  188. package/.cache/ts/src/hoc/withPlatform.d.ts +3 -0
  189. package/.cache/ts/src/hooks/useAdaptivity.d.ts +3 -0
  190. package/.cache/ts/src/hooks/useAppearance.d.ts +1 -0
  191. package/.cache/ts/src/hooks/useBooleanState.d.ts +6 -0
  192. package/.cache/ts/src/hooks/useBrowserInfo.d.ts +2 -0
  193. package/.cache/ts/src/hooks/useCalendar.d.ts +18 -0
  194. package/.cache/ts/src/hooks/useDateInput.d.ts +30 -0
  195. package/.cache/ts/src/hooks/useEffectDev.d.ts +2 -0
  196. package/.cache/ts/src/hooks/useEnsuredControl.d.ts +6 -0
  197. package/.cache/ts/src/hooks/useEventListener.d.ts +7 -0
  198. package/.cache/ts/src/hooks/useExternRef.d.ts +2 -0
  199. package/.cache/ts/src/hooks/useFocusVisible.d.ts +6 -0
  200. package/.cache/ts/src/hooks/useGlobalEventListener.d.ts +2 -0
  201. package/.cache/ts/src/hooks/useInsets.d.ts +8 -0
  202. package/.cache/ts/src/hooks/useKeyboard.d.ts +11 -0
  203. package/.cache/ts/src/hooks/useKeyboardInputTracker.d.ts +3 -0
  204. package/.cache/ts/src/hooks/useObjectMemo.d.ts +2 -0
  205. package/.cache/ts/src/hooks/useOrientationChange.d.ts +7 -0
  206. package/.cache/ts/src/hooks/usePagination.d.ts +34 -0
  207. package/.cache/ts/src/hooks/usePatchChildrenRef.d.ts +6 -0
  208. package/.cache/ts/src/hooks/usePlatform.d.ts +2 -0
  209. package/.cache/ts/src/hooks/useTimeout.d.ts +4 -0
  210. package/.cache/ts/src/hooks/useWaitTransitionFinish.d.ts +3 -0
  211. package/.cache/ts/src/index.d.ts +289 -0
  212. package/.cache/ts/src/lib/SSR.d.ts +14 -0
  213. package/.cache/ts/src/lib/accessibility.d.ts +10 -0
  214. package/.cache/ts/src/lib/animate.d.ts +15 -0
  215. package/.cache/ts/src/lib/browser.d.ts +11 -0
  216. package/.cache/ts/src/lib/calendar.d.ts +14 -0
  217. package/.cache/ts/src/lib/callMultiple.d.ts +1 -0
  218. package/.cache/ts/src/lib/classNames.d.ts +6 -0
  219. package/.cache/ts/src/lib/classScopingMode.d.ts +8 -0
  220. package/.cache/ts/src/lib/dom.d.ts +21 -0
  221. package/.cache/ts/src/lib/fx.d.ts +5 -0
  222. package/.cache/ts/src/lib/getNavId.d.ts +6 -0
  223. package/.cache/ts/src/lib/is.d.ts +1 -0
  224. package/.cache/ts/src/lib/isRefObject.d.ts +2 -0
  225. package/.cache/ts/src/lib/jsxRuntime.d.ts +8 -0
  226. package/.cache/ts/src/lib/offset.d.ts +7 -0
  227. package/.cache/ts/src/lib/platform.d.ts +19 -0
  228. package/.cache/ts/src/lib/polyfills.d.ts +6 -0
  229. package/.cache/ts/src/lib/prefixClass.d.ts +1 -0
  230. package/.cache/ts/src/lib/removeObjectKeys.d.ts +1 -0
  231. package/.cache/ts/src/lib/select.d.ts +7 -0
  232. package/.cache/ts/src/lib/styles.d.ts +1 -0
  233. package/.cache/ts/src/lib/supportEvents.d.ts +9 -0
  234. package/.cache/ts/src/lib/taptic.d.ts +2 -0
  235. package/.cache/ts/src/lib/testing.d.ts +1 -0
  236. package/.cache/ts/src/lib/touch.d.ts +9 -0
  237. package/.cache/ts/src/lib/useIsomorphicLayoutEffect.d.ts +2 -0
  238. package/.cache/ts/src/lib/utils.d.ts +16 -0
  239. package/.cache/ts/src/lib/warnOnce.d.ts +1 -0
  240. package/.cache/ts/src/testing/setup.d.ts +1 -0
  241. package/.cache/ts/src/testing/utils.d.ts +30 -0
  242. package/.cache/ts/src/tokenized/index.d.ts +24 -0
  243. package/.cache/ts/src/types.d.ts +34 -0
  244. package/.cache/ts/src/unstable/index.d.ts +17 -0
  245. package/.codesandbox/ci.json +5 -0
  246. package/.editorconfig +14 -0
  247. package/.eslintignore +6 -0
  248. package/.eslintrc.json +145 -0
  249. package/.gitattributes +1 -0
  250. package/.gitmodules +0 -0
  251. package/.prettierignore +14 -0
  252. package/.prettierrc.json +1 -0
  253. package/.stylelintignore +2 -0
  254. package/CONTRIBUTING.md +3 -2
  255. package/CSS_GUIDE.md +145 -0
  256. package/TESTING.md +58 -0
  257. package/babel.cjs.config.js +15 -0
  258. package/babel.config.js +72 -0
  259. package/dist/cjs/components/ActionSheet/ActionSheet.js +4 -7
  260. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  261. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +3 -5
  262. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  263. package/dist/cjs/components/Alert/Alert.js +5 -8
  264. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  265. package/dist/cjs/components/Button/Button.js +4 -8
  266. package/dist/cjs/components/Button/Button.js.map +1 -1
  267. package/dist/cjs/components/CalendarDays/CalendarDays.js +2 -2
  268. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  269. package/dist/cjs/components/Checkbox/Checkbox.js +2 -5
  270. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  271. package/dist/cjs/components/Chip/Chip.js +2 -4
  272. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  273. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +2 -4
  274. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  275. package/dist/cjs/components/ContentCard/ContentCard.js +5 -7
  276. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  277. package/dist/cjs/components/Counter/Counter.js +3 -3
  278. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  279. package/dist/cjs/components/CustomSelect/CustomSelect.js +17 -9
  280. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  281. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +2 -4
  282. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  283. package/dist/cjs/components/Footer/Footer.js +2 -4
  284. package/dist/cjs/components/Footer/Footer.js.map +1 -1
  285. package/dist/cjs/components/FormItem/FormItem.js +2 -4
  286. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  287. package/dist/cjs/components/FormStatus/FormStatus.js +3 -8
  288. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  289. package/dist/cjs/components/Group/Group.js +3 -5
  290. package/dist/cjs/components/Group/Group.js.map +1 -1
  291. package/dist/cjs/components/Header/Header.js +9 -18
  292. package/dist/cjs/components/Header/Header.js.map +1 -1
  293. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +4 -7
  294. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  295. package/dist/cjs/components/ModalPage/ModalPage.js +5 -5
  296. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  297. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +2 -4
  298. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  299. package/dist/cjs/components/PromoBanner/PromoBanner.js +3 -7
  300. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  301. package/dist/cjs/components/Radio/Radio.js +2 -5
  302. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  303. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +3 -4
  304. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  305. package/dist/cjs/components/Typography/Caption/Caption.d.ts +8 -4
  306. package/dist/cjs/components/Typography/Caption/Caption.js +12 -14
  307. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  308. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +3 -1
  309. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  310. package/dist/cjs/components/Typography/Title/Title.d.ts +3 -1
  311. package/dist/cjs/components/Typography/Title/Title.js +3 -1
  312. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  313. package/dist/cjs/components/UsersStack/UsersStack.js +3 -4
  314. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  315. package/dist/cjs/helpers/typography.d.ts +1 -0
  316. package/dist/cjs/helpers/typography.js +25 -0
  317. package/dist/cjs/helpers/typography.js.map +1 -0
  318. package/dist/cjs/hooks/useOrientationChange.d.ts +7 -0
  319. package/dist/cjs/hooks/useOrientationChange.js +56 -0
  320. package/dist/cjs/hooks/useOrientationChange.js.map +1 -0
  321. package/dist/cjs/index.d.ts +1 -1
  322. package/dist/cjs/index.js +2 -2
  323. package/dist/cjs/index.js.map +1 -1
  324. package/dist/cjs/tokenized/index.d.ts +2 -0
  325. package/dist/cjs/tokenized/index.js +8 -0
  326. package/dist/cjs/tokenized/index.js.map +1 -1
  327. package/dist/components/ActionSheet/ActionSheet.js +2 -5
  328. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  329. package/dist/components/ActionSheetItem/ActionSheetItem.js +2 -4
  330. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  331. package/dist/components/Alert/Alert.js +3 -6
  332. package/dist/components/Alert/Alert.js.map +1 -1
  333. package/dist/components/Button/Button.js +3 -7
  334. package/dist/components/Button/Button.js.map +1 -1
  335. package/dist/components/CalendarDays/CalendarDays.js +1 -1
  336. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  337. package/dist/components/Checkbox/Checkbox.js +1 -4
  338. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  339. package/dist/components/Chip/Chip.js +1 -3
  340. package/dist/components/Chip/Chip.js.map +1 -1
  341. package/dist/components/ChipsSelect/ChipsSelect.js +1 -3
  342. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  343. package/dist/components/ContentCard/ContentCard.js +3 -5
  344. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  345. package/dist/components/Counter/Counter.js +2 -2
  346. package/dist/components/Counter/Counter.js.map +1 -1
  347. package/dist/components/CustomSelect/CustomSelect.js +16 -8
  348. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  349. package/dist/components/CustomSelectOption/CustomSelectOption.js +1 -3
  350. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  351. package/dist/components/Footer/Footer.js +1 -3
  352. package/dist/components/Footer/Footer.js.map +1 -1
  353. package/dist/components/FormItem/FormItem.js +1 -3
  354. package/dist/components/FormItem/FormItem.js.map +1 -1
  355. package/dist/components/FormStatus/FormStatus.js +2 -7
  356. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  357. package/dist/components/Group/Group.js +2 -4
  358. package/dist/components/Group/Group.js.map +1 -1
  359. package/dist/components/Header/Header.js +6 -15
  360. package/dist/components/Header/Header.js.map +1 -1
  361. package/dist/components/HorizontalCell/HorizontalCell.js +2 -5
  362. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  363. package/dist/components/ModalPage/ModalPage.js +4 -5
  364. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  365. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +1 -3
  366. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  367. package/dist/components/PromoBanner/PromoBanner.js +1 -5
  368. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  369. package/dist/components/Radio/Radio.js +1 -4
  370. package/dist/components/Radio/Radio.js.map +1 -1
  371. package/dist/components/SubnavigationButton/SubnavigationButton.js +2 -3
  372. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  373. package/dist/components/Typography/Caption/Caption.d.ts +8 -4
  374. package/dist/components/Typography/Caption/Caption.js +10 -14
  375. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  376. package/dist/components/Typography/Subhead/Subhead.d.ts +3 -1
  377. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  378. package/dist/components/Typography/Title/Title.d.ts +3 -1
  379. package/dist/components/Typography/Title/Title.js +2 -1
  380. package/dist/components/Typography/Title/Title.js.map +1 -1
  381. package/dist/components/UsersStack/UsersStack.js +2 -3
  382. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  383. package/dist/components.css +2 -2
  384. package/dist/components.css.map +1 -1
  385. package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -5
  386. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  387. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +2 -4
  388. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  389. package/dist/cssm/components/Alert/Alert.js +3 -6
  390. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  391. package/dist/cssm/components/Button/Button.js +3 -7
  392. package/dist/cssm/components/Button/Button.js.map +1 -1
  393. package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
  394. package/dist/cssm/components/CalendarDays/CalendarDays.js +1 -1
  395. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  396. package/dist/cssm/components/Checkbox/Checkbox.js +1 -4
  397. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  398. package/dist/cssm/components/Chip/Chip.js +1 -3
  399. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  400. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +1 -3
  401. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  402. package/dist/cssm/components/ContentCard/ContentCard.js +3 -5
  403. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  404. package/dist/cssm/components/Counter/Counter.js +2 -2
  405. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  406. package/dist/cssm/components/CustomSelect/CustomSelect.js +16 -8
  407. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  408. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +1 -3
  409. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  410. package/dist/cssm/components/Footer/Footer.js +1 -3
  411. package/dist/cssm/components/Footer/Footer.js.map +1 -1
  412. package/dist/cssm/components/FormItem/FormItem.js +1 -3
  413. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  414. package/dist/cssm/components/FormStatus/FormStatus.js +2 -7
  415. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  416. package/dist/cssm/components/Group/Group.js +2 -4
  417. package/dist/cssm/components/Group/Group.js.map +1 -1
  418. package/dist/cssm/components/Header/Header.js +6 -15
  419. package/dist/cssm/components/Header/Header.js.map +1 -1
  420. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +2 -5
  421. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  422. package/dist/cssm/components/ModalPage/ModalPage.js +4 -5
  423. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  424. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +1 -3
  425. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  426. package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -5
  427. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  428. package/dist/cssm/components/Radio/Radio.js +1 -4
  429. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  430. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +2 -3
  431. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  432. package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
  433. package/dist/cssm/components/Typography/Caption/Caption.d.ts +8 -4
  434. package/dist/cssm/components/Typography/Caption/Caption.js +10 -14
  435. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  436. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +3 -1
  437. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  438. package/dist/cssm/components/Typography/Title/Title.d.ts +3 -1
  439. package/dist/cssm/components/Typography/Title/Title.js +2 -1
  440. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  441. package/dist/cssm/components/UsersStack/UsersStack.js +2 -3
  442. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  443. package/dist/cssm/helpers/typography.d.ts +1 -0
  444. package/dist/cssm/helpers/typography.js +18 -0
  445. package/dist/cssm/helpers/typography.js.map +1 -0
  446. package/dist/cssm/hooks/useOrientationChange.d.ts +7 -0
  447. package/dist/cssm/hooks/useOrientationChange.js +42 -0
  448. package/dist/cssm/hooks/useOrientationChange.js.map +1 -0
  449. package/dist/cssm/index.d.ts +1 -1
  450. package/dist/cssm/index.js +1 -1
  451. package/dist/cssm/index.js.map +1 -1
  452. package/dist/cssm/styles/components.css +2 -2
  453. package/dist/cssm/tokenized/index.d.ts +2 -0
  454. package/dist/cssm/tokenized/index.js +1 -0
  455. package/dist/cssm/tokenized/index.js.map +1 -1
  456. package/dist/helpers/typography.d.ts +1 -0
  457. package/dist/helpers/typography.js +18 -0
  458. package/dist/helpers/typography.js.map +1 -0
  459. package/dist/hooks/useOrientationChange.d.ts +7 -0
  460. package/dist/hooks/useOrientationChange.js +42 -0
  461. package/dist/hooks/useOrientationChange.js.map +1 -0
  462. package/dist/index.d.ts +1 -1
  463. package/dist/index.js +1 -1
  464. package/dist/index.js.map +1 -1
  465. package/dist/tokenized/index.d.ts +2 -0
  466. package/dist/tokenized/index.js +1 -0
  467. package/dist/tokenized/index.js.map +1 -1
  468. package/dist/vkui.css +2 -2
  469. package/dist/vkui.css.map +1 -1
  470. package/jest.unit.config.js +14 -0
  471. package/package.json +6 -9
  472. package/src/appearance/constants.ts +1 -0
  473. package/src/components/ActionSheet/ActionSheet.css +145 -0
  474. package/src/components/ActionSheet/ActionSheet.tsx +158 -0
  475. package/src/components/ActionSheet/ActionSheetContext.ts +18 -0
  476. package/src/components/ActionSheet/ActionSheetDropdown.tsx +33 -0
  477. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +97 -0
  478. package/src/components/ActionSheet/Readme.md +256 -0
  479. package/src/components/ActionSheet/types.ts +16 -0
  480. package/src/components/ActionSheetItem/ActionSheetItem.css +306 -0
  481. package/src/components/ActionSheetItem/ActionSheetItem.tsx +182 -0
  482. package/src/components/ActionSheetItem/Readme.md +2 -0
  483. package/src/components/AdaptivityProvider/AdaptivityContext.tsx +62 -0
  484. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +138 -0
  485. package/src/components/AdaptivityProvider/Readme.md +3 -0
  486. package/src/components/Alert/Alert.css +297 -0
  487. package/src/components/Alert/Alert.tsx +288 -0
  488. package/src/components/Alert/Readme.md +133 -0
  489. package/src/components/AppRoot/AppRoot.css +20 -0
  490. package/src/components/AppRoot/AppRoot.tsx +205 -0
  491. package/src/components/AppRoot/AppRootContext.ts +13 -0
  492. package/src/components/AppRoot/AppRootPortal.tsx +24 -0
  493. package/src/components/AppRoot/Readme.md +9 -0
  494. package/src/components/AppRoot/ScrollContext.ts +44 -0
  495. package/src/components/AppearanceProvider/AppearanceProvider.tsx +61 -0
  496. package/src/components/AppearanceProvider/AppearanceProviderContext.tsx +7 -0
  497. package/src/components/Avatar/Avatar.css +192 -0
  498. package/src/components/Avatar/Avatar.tsx +183 -0
  499. package/src/components/Avatar/Readme.md +838 -0
  500. package/src/components/Badge/Badge.css +21 -0
  501. package/src/components/Badge/Badge.tsx +27 -0
  502. package/src/components/Badge/Readme.md +55 -0
  503. package/src/components/Banner/Banner.css +154 -0
  504. package/src/components/Banner/Banner.tsx +220 -0
  505. package/src/components/Banner/Readme.md +215 -0
  506. package/src/components/Button/Button.css +594 -0
  507. package/src/components/Button/Button.tsx +225 -0
  508. package/src/components/Button/Readme.md +186 -0
  509. package/src/components/ButtonGroup/ButtonGroup.css +52 -0
  510. package/src/components/ButtonGroup/ButtonGroup.tsx +48 -0
  511. package/src/components/ButtonGroup/Readme.md +311 -0
  512. package/src/components/Calendar/Calendar.css +31 -0
  513. package/src/components/Calendar/Calendar.tsx +184 -0
  514. package/src/components/Calendar/Readme.md +124 -0
  515. package/src/components/CalendarDay/CalendarDay.css +85 -0
  516. package/src/components/CalendarDay/CalendarDay.tsx +114 -0
  517. package/src/components/CalendarDays/CalendarDays.css +31 -0
  518. package/src/components/CalendarDays/CalendarDays.tsx +131 -0
  519. package/src/components/CalendarHeader/CalendarHeader.css +50 -0
  520. package/src/components/CalendarHeader/CalendarHeader.tsx +167 -0
  521. package/src/components/CalendarRange/CalendarRange.css +27 -0
  522. package/src/components/CalendarRange/CalendarRange.tsx +278 -0
  523. package/src/components/CalendarRange/Readme.md +85 -0
  524. package/src/components/CalendarTime/CalendarTime.css +18 -0
  525. package/src/components/CalendarTime/CalendarTime.tsx +88 -0
  526. package/src/components/Card/Card.css +83 -0
  527. package/src/components/Card/Card.tsx +31 -0
  528. package/src/components/Card/Readme.md +39 -0
  529. package/src/components/CardGrid/CardGrid.css +82 -0
  530. package/src/components/CardGrid/CardGrid.tsx +41 -0
  531. package/src/components/CardGrid/Readme.md +41 -0
  532. package/src/components/CardScroll/CardScroll.css +47 -0
  533. package/src/components/CardScroll/CardScroll.tsx +116 -0
  534. package/src/components/CardScroll/Readme.md +62 -0
  535. package/src/components/Cell/Cell.css +56 -0
  536. package/src/components/Cell/Cell.tsx +204 -0
  537. package/src/components/Cell/CellCheckbox/CellCheckbox.css +17 -0
  538. package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +41 -0
  539. package/src/components/Cell/CellDragger/CellDragger.css +4 -0
  540. package/src/components/Cell/CellDragger/CellDragger.tsx +37 -0
  541. package/src/components/Cell/Readme.md +163 -0
  542. package/src/components/Cell/useDraggable.tsx +126 -0
  543. package/src/components/CellButton/CellButton.css +46 -0
  544. package/src/components/CellButton/CellButton.tsx +35 -0
  545. package/src/components/CellButton/Readme.md +53 -0
  546. package/src/components/Checkbox/Checkbox.css +127 -0
  547. package/src/components/Checkbox/Checkbox.tsx +102 -0
  548. package/src/components/Checkbox/Readme.md +20 -0
  549. package/src/components/Chip/Chip.css +56 -0
  550. package/src/components/Chip/Chip.tsx +69 -0
  551. package/src/components/Chip/Readme.md +81 -0
  552. package/src/components/ChipsInput/ChipsInput.css +72 -0
  553. package/src/components/ChipsInput/ChipsInput.tsx +238 -0
  554. package/src/components/ChipsInput/Readme.md +94 -0
  555. package/src/components/ChipsInput/useChipsInput.ts +90 -0
  556. package/src/components/ChipsSelect/ChipsSelect.css +23 -0
  557. package/src/components/ChipsSelect/ChipsSelect.tsx +452 -0
  558. package/src/components/ChipsSelect/Readme.md +115 -0
  559. package/src/components/ChipsSelect/useChipsSelect.ts +72 -0
  560. package/src/components/ClickPopper/ClickPopper.tsx +86 -0
  561. package/src/components/ConfigProvider/ConfigProvider.tsx +144 -0
  562. package/src/components/ConfigProvider/ConfigProviderContext.tsx +48 -0
  563. package/src/components/ConfigProvider/Readme.md +1 -0
  564. package/src/components/ContentCard/ContentCard.css +39 -0
  565. package/src/components/ContentCard/ContentCard.tsx +152 -0
  566. package/src/components/ContentCard/Readme.md +65 -0
  567. package/src/components/Counter/Counter.css +161 -0
  568. package/src/components/Counter/Counter.tsx +76 -0
  569. package/src/components/Counter/Readme.md +114 -0
  570. package/src/components/CustomScrollView/CustomScrollView.css +62 -0
  571. package/src/components/CustomScrollView/CustomScrollView.tsx +168 -0
  572. package/src/components/CustomSelect/CustomSelect.css +24 -0
  573. package/src/components/CustomSelect/CustomSelect.tsx +778 -0
  574. package/src/components/CustomSelect/Readme.md +248 -0
  575. package/src/components/CustomSelectDropdown/CustomSelectDropdown.css +38 -0
  576. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +75 -0
  577. package/src/components/CustomSelectOption/CustomSelectOption.css +63 -0
  578. package/src/components/CustomSelectOption/CustomSelectOption.tsx +88 -0
  579. package/src/components/CustomSelectOption/Readme.md +33 -0
  580. package/src/components/DateInput/DateInput.css +20 -0
  581. package/src/components/DateInput/DateInput.tsx +317 -0
  582. package/src/components/DateInput/Readme.md +116 -0
  583. package/src/components/DatePicker/DatePicker.css +30 -0
  584. package/src/components/DatePicker/DatePicker.tsx +238 -0
  585. package/src/components/DatePicker/Readme.md +40 -0
  586. package/src/components/DateRangeInput/DateRangeInput.css +16 -0
  587. package/src/components/DateRangeInput/DateRangeInput.tsx +350 -0
  588. package/src/components/DateRangeInput/Readme.md +96 -0
  589. package/src/components/Div/Div.css +7 -0
  590. package/src/components/Div/Div.tsx +26 -0
  591. package/src/components/Div/Readme.md +17 -0
  592. package/src/components/Dropdown/Dropdown.css +19 -0
  593. package/src/components/Dropdown/Dropdown.tsx +42 -0
  594. package/src/components/Dropdown/Readme.md +49 -0
  595. package/src/components/DropdownIcon/DropdownIcon.css +3 -0
  596. package/src/components/DropdownIcon/DropdownIcon.tsx +18 -0
  597. package/src/components/Epic/Epic.css +4 -0
  598. package/src/components/Epic/Epic.tsx +61 -0
  599. package/src/components/Epic/Readme.md +240 -0
  600. package/src/components/Epic/ScrollSaver.tsx +23 -0
  601. package/src/components/File/File.css +6 -0
  602. package/src/components/File/File.tsx +74 -0
  603. package/src/components/File/Readme.md +20 -0
  604. package/src/components/FixedLayout/FixedLayout.css +27 -0
  605. package/src/components/FixedLayout/FixedLayout.tsx +71 -0
  606. package/src/components/FixedLayout/Readme.md +117 -0
  607. package/src/components/FocusTrap/FocusTrap.tsx +144 -0
  608. package/src/components/FocusVisible/FocusVisible.css +72 -0
  609. package/src/components/FocusVisible/FocusVisible.tsx +18 -0
  610. package/src/components/Footer/Footer.css +8 -0
  611. package/src/components/Footer/Footer.tsx +17 -0
  612. package/src/components/Footer/Readme.md +23 -0
  613. package/src/components/FormField/FormField.css +152 -0
  614. package/src/components/FormField/FormField.tsx +76 -0
  615. package/src/components/FormField/Readme.md +42 -0
  616. package/src/components/FormItem/FormItem.css +83 -0
  617. package/src/components/FormItem/FormItem.tsx +85 -0
  618. package/src/components/FormItem/Readme.md +183 -0
  619. package/src/components/FormLayout/FormLayout.css +16 -0
  620. package/src/components/FormLayout/FormLayout.tsx +39 -0
  621. package/src/components/FormLayout/Readme.md +2 -0
  622. package/src/components/FormLayoutGroup/FormLayoutGroup.css +22 -0
  623. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +71 -0
  624. package/src/components/FormLayoutGroup/Readme.md +63 -0
  625. package/src/components/FormStatus/FormStatus.css +34 -0
  626. package/src/components/FormStatus/FormStatus.tsx +45 -0
  627. package/src/components/FormStatus/Readme.md +23 -0
  628. package/src/components/Gallery/Gallery.css +71 -0
  629. package/src/components/Gallery/Gallery.tsx +562 -0
  630. package/src/components/Gallery/Readme.md +99 -0
  631. package/src/components/Gradient/Gradient.css +83 -0
  632. package/src/components/Gradient/Gradient.tsx +29 -0
  633. package/src/components/Gradient/Readme.md +55 -0
  634. package/src/components/GridAvatar/GridAvatar.css +37 -0
  635. package/src/components/GridAvatar/GridAvatar.tsx +53 -0
  636. package/src/components/GridAvatar/Readme.md +24 -0
  637. package/src/components/Group/Group.css +86 -0
  638. package/src/components/Group/Group.tsx +94 -0
  639. package/src/components/Group/Readme.md +156 -0
  640. package/src/components/Header/Header.css +152 -0
  641. package/src/components/Header/Header.tsx +171 -0
  642. package/src/components/Header/Readme.md +114 -0
  643. package/src/components/HorizontalCell/HorizontalCell.css +95 -0
  644. package/src/components/HorizontalCell/HorizontalCell.tsx +86 -0
  645. package/src/components/HorizontalCell/Readme.md +236 -0
  646. package/src/components/HorizontalScroll/HorizontalScroll.css +31 -0
  647. package/src/components/HorizontalScroll/HorizontalScroll.tsx +217 -0
  648. package/src/components/HorizontalScroll/HorizontalScrollArrow.css +69 -0
  649. package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +35 -0
  650. package/src/components/HorizontalScroll/Readme.md +67 -0
  651. package/src/components/HoverPopper/HoverPopper.tsx +102 -0
  652. package/src/components/IconButton/IconButton.css +93 -0
  653. package/src/components/IconButton/IconButton.tsx +57 -0
  654. package/src/components/InfoRow/InfoRow.css +14 -0
  655. package/src/components/InfoRow/InfoRow.tsx +37 -0
  656. package/src/components/InfoRow/Readme.md +27 -0
  657. package/src/components/InitialsAvatar/InitialsAvatar.css +55 -0
  658. package/src/components/InitialsAvatar/InitialsAvatar.tsx +95 -0
  659. package/src/components/InitialsAvatar/Readme.md +20 -0
  660. package/src/components/Input/Input.css +52 -0
  661. package/src/components/Input/Input.tsx +54 -0
  662. package/src/components/Input/Readme.md +46 -0
  663. package/src/components/InputLike/InputLike.css +25 -0
  664. package/src/components/InputLike/InputLike.tsx +72 -0
  665. package/src/components/InputLike/InputLikeDivider.css +4 -0
  666. package/src/components/InputLike/InputLikeDivider.tsx +12 -0
  667. package/src/components/Link/Link.css +18 -0
  668. package/src/components/Link/Link.tsx +27 -0
  669. package/src/components/Link/Readme.md +8 -0
  670. package/src/components/List/List.css +2 -0
  671. package/src/components/List/List.tsx +31 -0
  672. package/src/components/List/ListContext.ts +6 -0
  673. package/src/components/List/Readme.md +22 -0
  674. package/src/components/LocaleProviderContext/LocaleProviderContext.tsx +5 -0
  675. package/src/components/MiniInfoCell/MiniInfoCell.css +67 -0
  676. package/src/components/MiniInfoCell/MiniInfoCell.tsx +94 -0
  677. package/src/components/MiniInfoCell/Readme.md +150 -0
  678. package/src/components/ModalCard/ModalCard.css +77 -0
  679. package/src/components/ModalCard/ModalCard.tsx +93 -0
  680. package/src/components/ModalCard/Readme.md +9 -0
  681. package/src/components/ModalCardBase/ModalCardBase.css +94 -0
  682. package/src/components/ModalCardBase/ModalCardBase.tsx +141 -0
  683. package/src/components/ModalCardBase/Readme.md +38 -0
  684. package/src/components/ModalDismissButton/ModalDismissButton.css +37 -0
  685. package/src/components/ModalDismissButton/ModalDismissButton.tsx +32 -0
  686. package/src/components/ModalDismissButton/Readme.md +53 -0
  687. package/src/components/ModalPage/ModalPage.css +146 -0
  688. package/src/components/ModalPage/ModalPage.tsx +131 -0
  689. package/src/components/ModalPage/Readme.md +9 -0
  690. package/src/components/ModalPageHeader/ModalPageHeader.css +24 -0
  691. package/src/components/ModalPageHeader/ModalPageHeader.tsx +57 -0
  692. package/src/components/ModalPageHeader/Readme.md +46 -0
  693. package/src/components/ModalRoot/ModalRoot.css +67 -0
  694. package/src/components/ModalRoot/ModalRoot.tsx +816 -0
  695. package/src/components/ModalRoot/ModalRootAdaptive.tsx +42 -0
  696. package/src/components/ModalRoot/ModalRootContext.tsx +51 -0
  697. package/src/components/ModalRoot/ModalRootDesktop.tsx +261 -0
  698. package/src/components/ModalRoot/Readme.md +662 -0
  699. package/src/components/ModalRoot/constants.ts +4 -0
  700. package/src/components/ModalRoot/types.ts +53 -0
  701. package/src/components/ModalRoot/useModalManager.tsx +203 -0
  702. package/src/components/ModalRoot/withModalRootContext.tsx +19 -0
  703. package/src/components/NativeSelect/NativeSelect.tsx +113 -0
  704. package/src/components/NativeSelect/Readme.md +17 -0
  705. package/src/components/NavTransitionContext/NavTransitionContext.tsx +24 -0
  706. package/src/components/Pagination/Pagination.css +62 -0
  707. package/src/components/Pagination/Pagination.tsx +196 -0
  708. package/src/components/Pagination/Readme.md +110 -0
  709. package/src/components/Panel/Panel.css +116 -0
  710. package/src/components/Panel/Panel.tsx +58 -0
  711. package/src/components/Panel/Readme.md +97 -0
  712. package/src/components/PanelHeader/PanelHeader.css +271 -0
  713. package/src/components/PanelHeader/PanelHeader.tsx +142 -0
  714. package/src/components/PanelHeader/Readme.md +244 -0
  715. package/src/components/PanelHeaderBack/PanelHeaderBack.css +7 -0
  716. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +60 -0
  717. package/src/components/PanelHeaderBack/Readme.md +9 -0
  718. package/src/components/PanelHeaderButton/PanelHeaderButton.css +102 -0
  719. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +109 -0
  720. package/src/components/PanelHeaderButton/Readme.md +47 -0
  721. package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +35 -0
  722. package/src/components/PanelHeaderClose/Readme.md +9 -0
  723. package/src/components/PanelHeaderContent/PanelHeaderContent.css +107 -0
  724. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +105 -0
  725. package/src/components/PanelHeaderContent/Readme.md +33 -0
  726. package/src/components/PanelHeaderContext/PanelHeaderContext.css +143 -0
  727. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +85 -0
  728. package/src/components/PanelHeaderContext/Readme.md +110 -0
  729. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +49 -0
  730. package/src/components/PanelHeaderEdit/Readme.md +1 -0
  731. package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +37 -0
  732. package/src/components/PanelHeaderSubmit/Readme.md +13 -0
  733. package/src/components/PanelSpinner/PanelSpinner.tsx +21 -0
  734. package/src/components/PanelSpinner/Readme.md +15 -0
  735. package/src/components/Placeholder/Placeholder.css +50 -0
  736. package/src/components/Placeholder/Placeholder.tsx +70 -0
  737. package/src/components/Placeholder/Readme.md +104 -0
  738. package/src/components/PopoutRoot/PopoutRoot.css +36 -0
  739. package/src/components/PopoutRoot/PopoutRoot.tsx +72 -0
  740. package/src/components/PopoutRoot/Readme.md +50 -0
  741. package/src/components/PopoutWrapper/PopoutWrapper.css +109 -0
  742. package/src/components/PopoutWrapper/PopoutWrapper.tsx +77 -0
  743. package/src/components/PopoutWrapper/Readme.md +12 -0
  744. package/src/components/Popper/Popper.css +39 -0
  745. package/src/components/Popper/Popper.tsx +231 -0
  746. package/src/components/Popper/Readme.md +33 -0
  747. package/src/components/Progress/Progress.css +12 -0
  748. package/src/components/Progress/Progress.tsx +49 -0
  749. package/src/components/Progress/Readme.md +14 -0
  750. package/src/components/PromoBanner/PromoBanner.css +55 -0
  751. package/src/components/PromoBanner/PromoBanner.tsx +135 -0
  752. package/src/components/PromoBanner/Readme.md +25 -0
  753. package/src/components/PullToRefresh/PullToRefresh.css +98 -0
  754. package/src/components/PullToRefresh/PullToRefresh.tsx +353 -0
  755. package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +78 -0
  756. package/src/components/PullToRefresh/Readme.md +71 -0
  757. package/src/components/Radio/Radio.css +187 -0
  758. package/src/components/Radio/Radio.tsx +82 -0
  759. package/src/components/Radio/Readme.md +29 -0
  760. package/src/components/RadioGroup/RadioGroup.css +12 -0
  761. package/src/components/RadioGroup/RadioGroup.tsx +29 -0
  762. package/src/components/RadioGroup/Readme.md +56 -0
  763. package/src/components/RangeSlider/RangeSlider.tsx +54 -0
  764. package/src/components/RangeSlider/Readme.md +32 -0
  765. package/src/components/RangeSlider/UniversalSlider.tsx +162 -0
  766. package/src/components/Removable/Removable.css +125 -0
  767. package/src/components/Removable/Removable.tsx +176 -0
  768. package/src/components/RichCell/Readme.md +65 -0
  769. package/src/components/RichCell/RichCell.css +115 -0
  770. package/src/components/RichCell/RichCell.tsx +104 -0
  771. package/src/components/RichTooltip/Readme.md +59 -0
  772. package/src/components/RichTooltip/RichTooltip.css +10 -0
  773. package/src/components/RichTooltip/RichTooltip.tsx +32 -0
  774. package/src/components/Root/Readme.md +36 -0
  775. package/src/components/Root/Root.css +184 -0
  776. package/src/components/Root/Root.tsx +209 -0
  777. package/src/components/ScreenSpinner/Readme.md +43 -0
  778. package/src/components/ScreenSpinner/ScreenSpinner.css +31 -0
  779. package/src/components/ScreenSpinner/ScreenSpinner.tsx +37 -0
  780. package/src/components/Search/Readme.md +235 -0
  781. package/src/components/Search/Search.css +359 -0
  782. package/src/components/Search/Search.tsx +196 -0
  783. package/src/components/SegmentedControl/Readme.md +94 -0
  784. package/src/components/SegmentedControl/SegmentedControl.css +42 -0
  785. package/src/components/SegmentedControl/SegmentedControl.tsx +105 -0
  786. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +30 -0
  787. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +42 -0
  788. package/src/components/Select/Readme.md +27 -0
  789. package/src/components/Select/Select.css +64 -0
  790. package/src/components/Select/Select.tsx +39 -0
  791. package/src/components/SelectMimicry/Readme.md +87 -0
  792. package/src/components/SelectMimicry/SelectMimicry.css +10 -0
  793. package/src/components/SelectMimicry/SelectMimicry.tsx +94 -0
  794. package/src/components/Separator/Readme.md +23 -0
  795. package/src/components/Separator/Separator.css +48 -0
  796. package/src/components/Separator/Separator.tsx +40 -0
  797. package/src/components/SimpleCell/Readme.md +136 -0
  798. package/src/components/SimpleCell/SimpleCell.css +258 -0
  799. package/src/components/SimpleCell/SimpleCell.tsx +132 -0
  800. package/src/components/SimpleCheckbox/Readme.md +25 -0
  801. package/src/components/SimpleCheckbox/SimpleCheckbox.css +129 -0
  802. package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +143 -0
  803. package/src/components/Slider/Readme.md +83 -0
  804. package/src/components/Slider/Slider.css +145 -0
  805. package/src/components/Slider/Slider.tsx +54 -0
  806. package/src/components/SliderSwitch/Readme.md +27 -0
  807. package/src/components/SliderSwitch/SliderSwitch.css +87 -0
  808. package/src/components/SliderSwitch/SliderSwitch.tsx +209 -0
  809. package/src/components/SliderSwitch/SliderSwitchButton.tsx +53 -0
  810. package/src/components/Snackbar/Readme.md +145 -0
  811. package/src/components/Snackbar/Snackbar.css +159 -0
  812. package/src/components/Snackbar/Snackbar.tsx +254 -0
  813. package/src/components/Spacing/Readme.md +98 -0
  814. package/src/components/Spacing/Spacing.css +46 -0
  815. package/src/components/Spacing/Spacing.tsx +53 -0
  816. package/src/components/Spinner/Readme.md +11 -0
  817. package/src/components/Spinner/Spinner.css +33 -0
  818. package/src/components/Spinner/Spinner.tsx +53 -0
  819. package/src/components/SplitCol/Readme.md +1 -0
  820. package/src/components/SplitCol/SplitCol.css +28 -0
  821. package/src/components/SplitCol/SplitCol.tsx +75 -0
  822. package/src/components/SplitLayout/Readme.md +154 -0
  823. package/src/components/SplitLayout/SplitLayout.css +52 -0
  824. package/src/components/SplitLayout/SplitLayout.tsx +54 -0
  825. package/src/components/SubnavigationBar/Readme.md +264 -0
  826. package/src/components/SubnavigationBar/SubnavigationBar.css +32 -0
  827. package/src/components/SubnavigationBar/SubnavigationBar.tsx +66 -0
  828. package/src/components/SubnavigationButton/Readme.md +128 -0
  829. package/src/components/SubnavigationButton/SubnavigationButton.css +103 -0
  830. package/src/components/SubnavigationButton/SubnavigationButton.tsx +99 -0
  831. package/src/components/Switch/Readme.md +57 -0
  832. package/src/components/Switch/Switch.css +198 -0
  833. package/src/components/Switch/Switch.tsx +56 -0
  834. package/src/components/Tabbar/Readme.md +7 -0
  835. package/src/components/Tabbar/Tabbar.css +53 -0
  836. package/src/components/Tabbar/Tabbar.tsx +50 -0
  837. package/src/components/TabbarItem/Readme.md +102 -0
  838. package/src/components/TabbarItem/TabbarItem.css +127 -0
  839. package/src/components/TabbarItem/TabbarItem.tsx +94 -0
  840. package/src/components/Tabs/Readme.md +274 -0
  841. package/src/components/Tabs/Tabs.css +102 -0
  842. package/src/components/Tabs/Tabs.tsx +57 -0
  843. package/src/components/TabsItem/Readme.md +0 -0
  844. package/src/components/TabsItem/TabsItem.css +178 -0
  845. package/src/components/TabsItem/TabsItem.tsx +62 -0
  846. package/src/components/Tappable/Tappable.css +141 -0
  847. package/src/components/Tappable/Tappable.tsx +349 -0
  848. package/src/components/TextTooltip/Readme.md +11 -0
  849. package/src/components/TextTooltip/TextTooltip.css +18 -0
  850. package/src/components/TextTooltip/TextTooltip.tsx +58 -0
  851. package/src/components/Textarea/Readme.md +24 -0
  852. package/src/components/Textarea/Textarea.css +39 -0
  853. package/src/components/Textarea/Textarea.tsx +80 -0
  854. package/src/components/Tooltip/Readme.md +263 -0
  855. package/src/components/Tooltip/Tooltip.css +73 -0
  856. package/src/components/Tooltip/Tooltip.tsx +314 -0
  857. package/src/components/Tooltip/TooltipContainer.tsx +10 -0
  858. package/src/components/Touch/Readme.md +116 -0
  859. package/src/components/Touch/Touch.tsx +285 -0
  860. package/src/components/Touch/TouchContext.ts +11 -0
  861. package/src/components/Typography/Caption/Caption.css +97 -0
  862. package/src/components/Typography/Caption/Caption.tsx +53 -0
  863. package/src/components/Typography/Caption/Readme.md +29 -0
  864. package/src/components/Typography/Headline/Headline.css +25 -0
  865. package/src/components/Typography/Headline/Headline.tsx +36 -0
  866. package/src/components/Typography/Headline/Readme.md +24 -0
  867. package/src/components/Typography/Subhead/Readme.md +21 -0
  868. package/src/components/Typography/Subhead/Subhead.css +43 -0
  869. package/src/components/Typography/Subhead/Subhead.tsx +54 -0
  870. package/src/components/Typography/Text/Readme.md +22 -0
  871. package/src/components/Typography/Text/Text.css +25 -0
  872. package/src/components/Typography/Text/Text.tsx +49 -0
  873. package/src/components/Typography/Title/Readme.md +31 -0
  874. package/src/components/Typography/Title/Title.css +59 -0
  875. package/src/components/Typography/Title/Title.tsx +64 -0
  876. package/src/components/UsersStack/Readme.md +94 -0
  877. package/src/components/UsersStack/UsersStack.css +99 -0
  878. package/src/components/UsersStack/UsersStack.tsx +102 -0
  879. package/src/components/UsersStack/masks.tsx +46 -0
  880. package/src/components/View/Readme.md +98 -0
  881. package/src/components/View/View.css +125 -0
  882. package/src/components/View/View.tsx +673 -0
  883. package/src/components/View/ViewIOS.css +155 -0
  884. package/src/components/View/ViewInfinite.tsx +731 -0
  885. package/src/components/View/utils.ts +9 -0
  886. package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.css +9 -0
  887. package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.tsx +25 -0
  888. package/src/components/WriteBar/Readme.md +224 -0
  889. package/src/components/WriteBar/WriteBar.css +106 -0
  890. package/src/components/WriteBar/WriteBar.tsx +137 -0
  891. package/src/components/WriteBarIcon/Readme.md +11 -0
  892. package/src/components/WriteBarIcon/WriteBarIcon.css +75 -0
  893. package/src/components/WriteBarIcon/WriteBarIcon.tsx +104 -0
  894. package/src/fonts/VK_Sans_Display_Medium.woff +0 -0
  895. package/src/fonts/VK_Sans_Display_Medium.woff2 +0 -0
  896. package/src/fonts/fonts.css +7 -0
  897. package/src/helpers/avatar.ts +10 -0
  898. package/src/helpers/getClassName.ts +8 -0
  899. package/src/helpers/getScheme.ts +27 -0
  900. package/src/helpers/math.ts +40 -0
  901. package/src/helpers/scheme.ts +86 -0
  902. package/src/helpers/typography.ts +24 -0
  903. package/src/hoc/withAdaptivity.tsx +86 -0
  904. package/src/hoc/withContext.tsx +14 -0
  905. package/src/hoc/withInsets.tsx +12 -0
  906. package/src/hoc/withPlatform.tsx +17 -0
  907. package/src/hooks/useAdaptivity.ts +12 -0
  908. package/src/hooks/useAppearance.ts +4 -0
  909. package/src/hooks/useBooleanState.ts +19 -0
  910. package/src/hooks/useBrowserInfo.ts +11 -0
  911. package/src/hooks/useCalendar.ts +78 -0
  912. package/src/hooks/useDateInput.ts +213 -0
  913. package/src/hooks/useEffectDev.ts +5 -0
  914. package/src/hooks/useEnsuredControl.ts +17 -0
  915. package/src/hooks/useEventListener.ts +62 -0
  916. package/src/hooks/useExternRef.ts +26 -0
  917. package/src/hooks/useFocusVisible.ts +31 -0
  918. package/src/hooks/useGlobalEventListener.ts +35 -0
  919. package/src/hooks/useInsets.ts +69 -0
  920. package/src/hooks/useKeyboard.ts +75 -0
  921. package/src/hooks/useKeyboardInputTracker.ts +64 -0
  922. package/src/hooks/useObjectMemo.ts +16 -0
  923. package/src/hooks/useOrientationChange.ts +39 -0
  924. package/src/hooks/usePagination.ts +96 -0
  925. package/src/hooks/usePatchChildrenRef.ts +39 -0
  926. package/src/hooks/usePlatform.ts +10 -0
  927. package/src/hooks/useTimeout.ts +33 -0
  928. package/src/hooks/useWaitTransitionFinish.ts +28 -0
  929. package/src/index.ts +334 -0
  930. package/src/lib/SSR.tsx +45 -0
  931. package/src/lib/accessibility.ts +87 -0
  932. package/src/lib/animate.ts +47 -0
  933. package/src/lib/browser.ts +44 -0
  934. package/src/lib/calendar.ts +123 -0
  935. package/src/lib/callMultiple.ts +4 -0
  936. package/src/lib/classNames.ts +44 -0
  937. package/src/lib/classScopingMode.ts +21 -0
  938. package/src/lib/dom.tsx +45 -0
  939. package/src/lib/fx.ts +7 -0
  940. package/src/lib/getNavId.ts +13 -0
  941. package/src/lib/is.ts +10 -0
  942. package/src/lib/isRefObject.ts +11 -0
  943. package/src/lib/jsxRuntime.d.ts +6 -0
  944. package/src/lib/jsxRuntime.ts +43 -0
  945. package/src/lib/offset.ts +17 -0
  946. package/src/lib/platform.ts +36 -0
  947. package/src/lib/polyfills.ts +96 -0
  948. package/src/lib/prefixClass.ts +34 -0
  949. package/src/lib/removeObjectKeys.ts +10 -0
  950. package/src/lib/select.ts +54 -0
  951. package/src/lib/styles.ts +12 -0
  952. package/src/lib/supportEvents.ts +38 -0
  953. package/src/lib/taptic.ts +9 -0
  954. package/src/lib/testing.ts +4 -0
  955. package/src/lib/touch.ts +59 -0
  956. package/src/lib/useIsomorphicLayoutEffect.ts +7 -0
  957. package/src/lib/utils.ts +99 -0
  958. package/src/lib/warnOnce.ts +9 -0
  959. package/src/styles/animations.css +19 -0
  960. package/src/styles/bright_light.css +244 -0
  961. package/src/styles/common.css +39 -0
  962. package/src/styles/components.css +152 -0
  963. package/src/styles/constants.css +72 -0
  964. package/src/styles/space_gray.css +243 -0
  965. package/src/styles/themes.css +10 -0
  966. package/src/styles/unstable.css +6 -0
  967. package/src/styles/vkcom_dark.css +249 -0
  968. package/src/styles/vkcom_light.css +254 -0
  969. package/src/testing/setup.ts +1 -0
  970. package/src/testing/utils.tsx +192 -0
  971. package/src/tokenized/index.ts +39 -0
  972. package/src/types.ts +43 -0
  973. package/src/unstable/index.ts +23 -0
  974. package/src/vkui.js +1 -0
  975. package/stylelint.config.js +46 -0
  976. package/tasks/generate_scheme.js +13 -0
  977. package/tasks/postcss-check-keyframes.js +36 -0
  978. package/tasks/postcss-scope-root.js +9 -0
  979. package/tasks/styleint-atomic.js +57 -0
  980. package/tokenized/index.d.ts +1 -0
  981. package/tokenized/package.json +4 -0
  982. package/tsconfig.dist.json +16 -0
  983. package/tsconfig.json +38 -0
  984. package/types/global.d.ts +7 -0
  985. package/unstable/index.d.ts +1 -0
  986. package/unstable/package.json +4 -0
  987. package/webpack.config.js +86 -0
  988. package/webpack.styles.config.js +67 -0
  989. package/dist/components.js.tmp +0 -24
  990. package/dist/default_scheme.js.tmp +0 -24
  991. package/dist/fonts.js.tmp +0 -24
  992. package/dist/stable.js.tmp +0 -166
  993. package/dist/unstable.js.tmp +0 -24
@@ -15,7 +15,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
15
15
 
16
16
  var _Card = require("../Card/Card");
17
17
 
18
- var _Caption = _interopRequireDefault(require("../Typography/Caption/Caption"));
18
+ var _Caption = require("../Typography/Caption/Caption");
19
19
 
20
20
  var _Title = _interopRequireDefault(require("../Typography/Title/Title"));
21
21
 
@@ -99,10 +99,10 @@ var ContentCard = function ContentCard(props) {
99
99
  width: "100%"
100
100
  }), (0, _jsxRuntime.createScopedElement)("div", {
101
101
  vkuiClass: "ContentCard__body"
102
- }, (0, _utils.hasReactNode)(subtitle) && (0, _jsxRuntime.createScopedElement)(_Caption.default, {
102
+ }, (0, _utils.hasReactNode)(subtitle) && (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
103
103
  caps: true,
104
104
  vkuiClass: "ContentCard__text",
105
- weight: "semibold",
105
+ weight: "1",
106
106
  level: "3"
107
107
  }, subtitle), (0, _utils.hasReactNode)(header) && (0, _jsxRuntime.createScopedElement)(_Title.default, {
108
108
  vkuiClass: "ContentCard__text",
@@ -111,10 +111,8 @@ var ContentCard = function ContentCard(props) {
111
111
  }, header), (0, _utils.hasReactNode)(text) && (0, _jsxRuntime.createScopedElement)(_Text.default, {
112
112
  vkuiClass: "ContentCard__text",
113
113
  weight: "regular"
114
- }, text), (0, _utils.hasReactNode)(caption) && (0, _jsxRuntime.createScopedElement)(_Caption.default, {
115
- vkuiClass: "ContentCard__text",
116
- weight: "regular",
117
- level: "1"
114
+ }, text), (0, _utils.hasReactNode)(caption) && (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
115
+ vkuiClass: "ContentCard__text"
118
116
  }, caption))));
119
117
  };
120
118
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ContentCard/ContentCard.tsx"],"names":["warn","ContentCard","props","subtitle","header","text","caption","className","mode","style","getRootRef","getRef","maxHeight","image","src","srcSet","alt","width","height","crossOrigin","decoding","loading","referrerPolicy","sizes","useMap","restProps","platform","source","process","env","NODE_ENV","disabled","onClick","href","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Card, CardProps } from \"../Card/Card\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Tappable, { TappableProps } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./ContentCard.css\";\n\nexport interface ContentCardProps\n extends HasRootRef<HTMLDivElement>,\n Omit<TappableProps, \"getRootRef\" | \"crossOrigin\">,\n Omit<\n React.ImgHTMLAttributes<HTMLImageElement>,\n keyof React.HTMLAttributes<HTMLImageElement>\n >,\n HasRef<HTMLImageElement> {\n /**\n Текст над заголовком\n */\n subtitle?: React.ReactNode;\n /**\n Заголовок\n */\n header?: React.ReactNode;\n /**\n Текст\n */\n text?: React.ReactNode;\n /**\n Нижний текст\n */\n caption?: React.ReactNode;\n /**\n @deprecated будет удалено в 5.0.0. Используйте src\n */\n image?: string;\n /**\n Максимальная высота изображения\n */\n maxHeight?: number;\n mode?: CardProps[\"mode\"];\n}\n\nconst warn = warnOnce(\"ContentCard\");\nconst ContentCard: React.FC<ContentCardProps> = (props: ContentCardProps) => {\n const {\n subtitle,\n header,\n text,\n caption,\n // card props\n className,\n mode,\n style,\n getRootRef,\n // img props\n getRef,\n maxHeight,\n image,\n src,\n srcSet,\n alt,\n width,\n height,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n useMap,\n ...restProps\n } = props;\n const platform = usePlatform();\n\n const source = image || src;\n\n if (image && process.env.NODE_ENV === \"development\") {\n warn(\"Свойство image устарело и будет удалено в 5.0.0. Используйте src\");\n }\n\n return (\n <Card\n mode={mode}\n getRootRef={getRootRef}\n vkuiClass={classNames(getClassName(\"ContentCard\", platform), {\n \"ContentCard--disabled\": restProps.disabled,\n })}\n style={style}\n className={className}\n >\n <Tappable\n {...restProps}\n disabled={restProps.disabled || (!restProps.onClick && !restProps.href)}\n hasHover={false}\n hasActive={false}\n vkuiClass=\"ContentCard__tappable\"\n >\n {(source || srcSet) && (\n <img\n ref={getRef}\n vkuiClass=\"ContentCard__img\"\n src={source}\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 height={height}\n style={{ maxHeight }}\n width=\"100%\"\n />\n )}\n <div vkuiClass=\"ContentCard__body\">\n {hasReactNode(subtitle) && (\n <Caption\n caps\n vkuiClass=\"ContentCard__text\"\n weight=\"semibold\"\n level=\"3\"\n >\n {subtitle}\n </Caption>\n )}\n {hasReactNode(header) && (\n <Title vkuiClass=\"ContentCard__text\" weight=\"3\" level=\"1\">\n {header}\n </Title>\n )}\n {hasReactNode(text) && (\n <Text vkuiClass=\"ContentCard__text\" weight=\"regular\">\n {text}\n </Text>\n )}\n {hasReactNode(caption) && (\n <Caption vkuiClass=\"ContentCard__text\" weight=\"regular\" level=\"1\">\n {caption}\n </Caption>\n )}\n </div>\n </Tappable>\n </Card>\n );\n};\n\nContentCard.defaultProps = {\n mode: \"shadow\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default ContentCard;\n"],"file":"ContentCard.js"}
1
+ {"version":3,"sources":["../../../../src/components/ContentCard/ContentCard.tsx"],"names":["warn","ContentCard","props","subtitle","header","text","caption","className","mode","style","getRootRef","getRef","maxHeight","image","src","srcSet","alt","width","height","crossOrigin","decoding","loading","referrerPolicy","sizes","useMap","restProps","platform","source","process","env","NODE_ENV","disabled","onClick","href","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Card, CardProps } from \"../Card/Card\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Tappable, { TappableProps } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./ContentCard.css\";\n\nexport interface ContentCardProps\n extends HasRootRef<HTMLDivElement>,\n Omit<TappableProps, \"getRootRef\" | \"crossOrigin\">,\n Omit<\n React.ImgHTMLAttributes<HTMLImageElement>,\n keyof React.HTMLAttributes<HTMLImageElement>\n >,\n HasRef<HTMLImageElement> {\n /**\n Текст над заголовком\n */\n subtitle?: React.ReactNode;\n /**\n Заголовок\n */\n header?: React.ReactNode;\n /**\n Текст\n */\n text?: React.ReactNode;\n /**\n Нижний текст\n */\n caption?: React.ReactNode;\n /**\n @deprecated будет удалено в 5.0.0. Используйте src\n */\n image?: string;\n /**\n Максимальная высота изображения\n */\n maxHeight?: number;\n mode?: CardProps[\"mode\"];\n}\n\nconst warn = warnOnce(\"ContentCard\");\nconst ContentCard: React.FC<ContentCardProps> = (props: ContentCardProps) => {\n const {\n subtitle,\n header,\n text,\n caption,\n // card props\n className,\n mode,\n style,\n getRootRef,\n // img props\n getRef,\n maxHeight,\n image,\n src,\n srcSet,\n alt,\n width,\n height,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n useMap,\n ...restProps\n } = props;\n const platform = usePlatform();\n\n const source = image || src;\n\n if (image && process.env.NODE_ENV === \"development\") {\n warn(\"Свойство image устарело и будет удалено в 5.0.0. Используйте src\");\n }\n\n return (\n <Card\n mode={mode}\n getRootRef={getRootRef}\n vkuiClass={classNames(getClassName(\"ContentCard\", platform), {\n \"ContentCard--disabled\": restProps.disabled,\n })}\n style={style}\n className={className}\n >\n <Tappable\n {...restProps}\n disabled={restProps.disabled || (!restProps.onClick && !restProps.href)}\n hasHover={false}\n hasActive={false}\n vkuiClass=\"ContentCard__tappable\"\n >\n {(source || srcSet) && (\n <img\n ref={getRef}\n vkuiClass=\"ContentCard__img\"\n src={source}\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 height={height}\n style={{ maxHeight }}\n width=\"100%\"\n />\n )}\n <div vkuiClass=\"ContentCard__body\">\n {hasReactNode(subtitle) && (\n <Caption caps vkuiClass=\"ContentCard__text\" weight=\"1\" level=\"3\">\n {subtitle}\n </Caption>\n )}\n {hasReactNode(header) && (\n <Title vkuiClass=\"ContentCard__text\" weight=\"3\" level=\"1\">\n {header}\n </Title>\n )}\n {hasReactNode(text) && (\n <Text vkuiClass=\"ContentCard__text\" weight=\"regular\">\n {text}\n </Text>\n )}\n {hasReactNode(caption) && (\n <Caption vkuiClass=\"ContentCard__text\">{caption}</Caption>\n )}\n </div>\n </Tappable>\n </Card>\n );\n};\n\nContentCard.defaultProps = {\n mode: \"shadow\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default ContentCard;\n"],"file":"ContentCard.js"}
@@ -23,7 +23,7 @@ var _getClassName = require("../../helpers/getClassName");
23
23
 
24
24
  var _usePlatform = require("../../hooks/usePlatform");
25
25
 
26
- var _Caption = _interopRequireDefault(require("../Typography/Caption/Caption"));
26
+ var _Caption = require("../Typography/Caption/Caption");
27
27
 
28
28
  var _Text = _interopRequireDefault(require("../Typography/Text/Text"));
29
29
 
@@ -38,9 +38,9 @@ var CounterTypography = function CounterTypography(_ref) {
38
38
  var size = _ref.size,
39
39
  platform = _ref.platform,
40
40
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
41
- return size === "s" ? (0, _jsxRuntime.createScopedElement)(_Caption.default, (0, _extends2.default)({
41
+ return size === "s" ? (0, _jsxRuntime.createScopedElement)(_Caption.Caption, (0, _extends2.default)({
42
42
  level: "2",
43
- weight: platform === _platform.VKCOM ? "medium" : "regular"
43
+ weight: platform === _platform.VKCOM ? "1" : undefined
44
44
  }, restProps)) : (0, _jsxRuntime.createScopedElement)(_Text.default, (0, _extends2.default)({
45
45
  weight: "medium"
46
46
  }, restProps));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Counter/Counter.tsx"],"names":["CounterTypography","size","platform","restProps","VKCOM","Counter","props","mode","children","React","Children","count","defaultProps","memo"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;AAgBA,IAAMA,iBAAmD,GAAG,SAAtDA,iBAAsD,OAItD;AAAA,MAHJC,IAGI,QAHJA,IAGI;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,MADDC,SACC;AACJ,SAAOF,IAAI,KAAK,GAAT,GACL,qCAAC,gBAAD;AACE,IAAA,KAAK,EAAC,GADR;AAEE,IAAA,MAAM,EAAEC,QAAQ,KAAKE,eAAb,GAAqB,QAArB,GAAgC;AAF1C,KAGMD,SAHN,EADK,GAOL,qCAAC,aAAD;AAAM,IAAA,MAAM,EAAC;AAAb,KAA0BA,SAA1B,EAPF;AASD,CAdD;;AAgBA,IAAME,OAA+B,GAAG,SAAlCA,OAAkC,CAACC,KAAD,EAAyB;AAC/D,MAAQC,IAAR,GAA+CD,KAA/C,CAAQC,IAAR;AAAA,MAAcN,IAAd,GAA+CK,KAA/C,CAAcL,IAAd;AAAA,MAAoBO,QAApB,GAA+CF,KAA/C,CAAoBE,QAApB;AAAA,MAAiCL,SAAjC,0CAA+CG,KAA/C;AACA,MAAMJ,QAAQ,GAAG,+BAAjB;;AAEA,MAAIO,KAAK,CAACC,QAAN,CAAeC,KAAf,CAAqBH,QAArB,MAAmC,CAAvC,EAA0C;AACxC,WAAO,IAAP;AACD;;AAED,SACE,wEACML,SADN;AAEE,IAAA,SAAS,EAAE,4BACT,gCAAa,SAAb,EAAwBD,QAAxB,CADS,qBAEGK,IAFH,wBAGKN,IAHL;AAFb,MAQG,yBAAaO,QAAb,KACC,qCAAC,iBAAD;AACE,IAAA,QAAQ,EAAEN,QADZ;AAEE,IAAA,IAAI,EAAED,IAFR;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGO,QALH,CATJ,CADF;AAoBD,CA5BD;;AA8BAH,OAAO,CAACO,YAAR,GAAuB;AACrBL,EAAAA,IAAI,EAAE,WADe;AAErBN,EAAAA,IAAI,EAAE;AAFe,CAAvB,C,CAKA;;4BACeQ,KAAK,CAACI,IAAN,CAAWR,OAAX,C","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Text from \"../Typography/Text/Text\";\nimport { VKCOM } from \"../../lib/platform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { HasComponent, HasPlatform } from \"../../types\";\nimport \"./Counter.css\";\n\nexport interface CounterProps extends React.HTMLAttributes<HTMLSpanElement> {\n /**\n * Тип счетчика. При использовании компонента в качестве значения свойства `after` у `Button` эти значения игнорируются\n */\n mode?: \"secondary\" | \"primary\" | \"prominent\";\n size?: \"s\" | \"m\";\n}\n\ntype CounterTypographyProps = Pick<CounterProps, \"size\"> &\n HasPlatform &\n HasComponent;\n\nconst CounterTypography: React.FC<CounterTypographyProps> = ({\n size,\n platform,\n ...restProps\n}) => {\n return size === \"s\" ? (\n <Caption\n level=\"2\"\n weight={platform === VKCOM ? \"medium\" : \"regular\"}\n {...restProps}\n />\n ) : (\n <Text weight=\"medium\" {...restProps} />\n );\n};\n\nconst Counter: React.FC<CounterProps> = (props: CounterProps) => {\n const { mode, size, children, ...restProps } = props;\n const platform = usePlatform();\n\n if (React.Children.count(children) === 0) {\n return null;\n }\n\n return (\n <span\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"Counter\", platform),\n `Counter--${mode}`,\n `Counter--s-${size}`\n )}\n >\n {hasReactNode(children) && (\n <CounterTypography\n platform={platform}\n size={size}\n vkuiClass=\"Counter__in\"\n >\n {children}\n </CounterTypography>\n )}\n </span>\n );\n};\n\nCounter.defaultProps = {\n mode: \"secondary\",\n size: \"m\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default React.memo(Counter);\n"],"file":"Counter.js"}
1
+ {"version":3,"sources":["../../../../src/components/Counter/Counter.tsx"],"names":["CounterTypography","size","platform","restProps","VKCOM","undefined","Counter","props","mode","children","React","Children","count","defaultProps","memo"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;AAgBA,IAAMA,iBAAmD,GAAG,SAAtDA,iBAAsD,OAItD;AAAA,MAHJC,IAGI,QAHJA,IAGI;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,MADDC,SACC;AACJ,SAAOF,IAAI,KAAK,GAAT,GACL,qCAAC,gBAAD;AACE,IAAA,KAAK,EAAC,GADR;AAEE,IAAA,MAAM,EAAEC,QAAQ,KAAKE,eAAb,GAAqB,GAArB,GAA2BC;AAFrC,KAGMF,SAHN,EADK,GAOL,qCAAC,aAAD;AAAM,IAAA,MAAM,EAAC;AAAb,KAA0BA,SAA1B,EAPF;AASD,CAdD;;AAgBA,IAAMG,OAA+B,GAAG,SAAlCA,OAAkC,CAACC,KAAD,EAAyB;AAC/D,MAAQC,IAAR,GAA+CD,KAA/C,CAAQC,IAAR;AAAA,MAAcP,IAAd,GAA+CM,KAA/C,CAAcN,IAAd;AAAA,MAAoBQ,QAApB,GAA+CF,KAA/C,CAAoBE,QAApB;AAAA,MAAiCN,SAAjC,0CAA+CI,KAA/C;AACA,MAAML,QAAQ,GAAG,+BAAjB;;AAEA,MAAIQ,KAAK,CAACC,QAAN,CAAeC,KAAf,CAAqBH,QAArB,MAAmC,CAAvC,EAA0C;AACxC,WAAO,IAAP;AACD;;AAED,SACE,wEACMN,SADN;AAEE,IAAA,SAAS,EAAE,4BACT,gCAAa,SAAb,EAAwBD,QAAxB,CADS,qBAEGM,IAFH,wBAGKP,IAHL;AAFb,MAQG,yBAAaQ,QAAb,KACC,qCAAC,iBAAD;AACE,IAAA,QAAQ,EAAEP,QADZ;AAEE,IAAA,IAAI,EAAED,IAFR;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGQ,QALH,CATJ,CADF;AAoBD,CA5BD;;AA8BAH,OAAO,CAACO,YAAR,GAAuB;AACrBL,EAAAA,IAAI,EAAE,WADe;AAErBP,EAAAA,IAAI,EAAE;AAFe,CAAvB,C,CAKA;;4BACeS,KAAK,CAACI,IAAN,CAAWR,OAAX,C","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport Text from \"../Typography/Text/Text\";\nimport { VKCOM } from \"../../lib/platform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { HasComponent, HasPlatform } from \"../../types\";\nimport \"./Counter.css\";\n\nexport interface CounterProps extends React.HTMLAttributes<HTMLSpanElement> {\n /**\n * Тип счетчика. При использовании компонента в качестве значения свойства `after` у `Button` эти значения игнорируются\n */\n mode?: \"secondary\" | \"primary\" | \"prominent\";\n size?: \"s\" | \"m\";\n}\n\ntype CounterTypographyProps = Pick<CounterProps, \"size\"> &\n HasPlatform &\n HasComponent;\n\nconst CounterTypography: React.FC<CounterTypographyProps> = ({\n size,\n platform,\n ...restProps\n}) => {\n return size === \"s\" ? (\n <Caption\n level=\"2\"\n weight={platform === VKCOM ? \"1\" : undefined}\n {...restProps}\n />\n ) : (\n <Text weight=\"medium\" {...restProps} />\n );\n};\n\nconst Counter: React.FC<CounterProps> = (props: CounterProps) => {\n const { mode, size, children, ...restProps } = props;\n const platform = usePlatform();\n\n if (React.Children.count(children) === 0) {\n return null;\n }\n\n return (\n <span\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"Counter\", platform),\n `Counter--${mode}`,\n `Counter--s-${size}`\n )}\n >\n {hasReactNode(children) && (\n <CounterTypography\n platform={platform}\n size={size}\n vkuiClass=\"Counter__in\"\n >\n {children}\n </CounterTypography>\n )}\n </span>\n );\n};\n\nCounter.defaultProps = {\n mode: \"secondary\",\n size: \"m\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default React.memo(Counter);\n"],"file":"Counter.js"}
@@ -49,7 +49,7 @@ var _Input = _interopRequireDefault(require("../Input/Input"));
49
49
 
50
50
  var _DropdownIcon = require("../DropdownIcon/DropdownIcon");
51
51
 
52
- var _Caption = _interopRequireDefault(require("../Typography/Caption/Caption"));
52
+ var _Caption = require("../Typography/Caption/Caption");
53
53
 
54
54
  var _warnOnce = require("../../lib/warnOnce");
55
55
 
@@ -242,10 +242,12 @@ var CustomSelect = /*#__PURE__*/function (_React$Component) {
242
242
 
243
243
  scrollTo && _this.scrollToElement(index);
244
244
 
245
- _this.setState(function () {
246
- return {
247
- focusedOptionIndex: index
248
- };
245
+ _this.setState(function (prevState) {
246
+ return (// Это оптимизация, прежде всего, под `onMouseOver`
247
+ prevState.focusedOptionIndex !== index ? {
248
+ focusedOptionIndex: index
249
+ } : null
250
+ );
249
251
  });
250
252
  });
251
253
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "focusOption", function (type) {
@@ -437,7 +439,15 @@ var CustomSelect = /*#__PURE__*/function (_React$Component) {
437
439
  disabled: option.disabled,
438
440
  onClick: _this.handleOptionClick,
439
441
  onMouseDown: _this.handleOptionDown,
440
- onMouseEnter: _this.handleOptionHover
442
+ // Используем `onMouseOver` вместо `onMouseEnter`.
443
+ // При параметре `searchable`, обновляется "ребёнок", из-за чего `onMouseEnter` не срабатывает в следующих кейсах:
444
+ // 1. До загрузки выпадающего списка, курсор мышки находится над произвольным элементом этого списка.
445
+ // > Лечение: только увод курсора мыши и возвращении его обратно вызывает событие `onMouseEnter` на этот элемент.
446
+ // 2. Если это тач-устройство.
447
+ // > Лечение: нужно нажать на какой-нибудь произвольный элемент списка, после чего `onMouseEnter` будет работать на соседние элементы,
448
+ // но не на тот, на который нажали в первый раз.
449
+ // Более подробно по ссылке https://github.com/facebook/react/issues/13956#issuecomment-1082055744
450
+ onMouseOver: _this.handleOptionHover
441
451
  }));
442
452
  });
443
453
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "selectRef", function (element) {
@@ -587,9 +597,7 @@ var CustomSelect = /*#__PURE__*/function (_React$Component) {
587
597
  restProps = (0, _objectWithoutProperties2.default)(_this$props2, _excluded);
588
598
  var selected = this.getSelectedItem();
589
599
  var label = selected ? selected.label : undefined;
590
- var defaultDropdownContent = stateOptions !== undefined && stateOptions.length > 0 ? stateOptions.map(this.renderOption) : (0, _jsxRuntime.createScopedElement)(_Caption.default, {
591
- level: "1",
592
- weight: "regular",
600
+ var defaultDropdownContent = stateOptions !== undefined && stateOptions.length > 0 ? stateOptions.map(this.renderOption) : (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
593
601
  vkuiClass: "CustomSelect__empty"
594
602
  }, this.props.emptyText);
595
603
  var resolvedContent;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CustomSelect/CustomSelect.tsx"],"names":["findIndexAfter","options","startIndex","length","findIndex","option","i","disabled","findIndexBefore","endIndex","result","undefined","warn","checkOptionsValueType","Set","map","item","value","size","SelectType","CustomSelect","props","React","createRef","keyboardInput","state","selectedOptionIndex","inputValue","filterFn","filter","setState","opened","focusedOptionIndex","isValidIndex","scrollToElement","onOpen","resetKeyboardInput","onClose","select","index","nativeSelectValue","event","Event","bubbles","selectEl","dispatchEvent","close","open","scrollTo","type","nextIndex","beforeIndex","focusOptionByIndex","e","Array","prototype","indexOf","call","currentTarget","parentNode","children","preventDefault","selectFocused","key","fullInput","optionIndex","label","toLowerCase","includes","scrollBoxRef","current","contains","target","newSelectedOptionIndex","findSelectedIndex","isControlledOutside","onChange","onInputChange","process","env","NODE_ENV","areOptionsShown","focusOption","onKeyboardInput","renderOption","hovered","selected","onClick","handleOptionClick","onMouseDown","handleOptionDown","onMouseEnter","handleOptionHover","element","getRef","placement","popperPlacement","defaultValue","initialValue","Number","center","dropdown","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","prevProps","searchable","stateOptions","name","className","getRootRef","popupDirection","sizeY","platform","style","onBlur","onFocus","emptyText","renderDropdown","fetching","icon","dropdownOffsetDistance","fixDropdownWidth","forceDropdownPortal","restProps","getSelectedItem","defaultDropdownContent","resolvedContent","isPopperDirectionTop","containerRef","onLabelClick","CustomSelect__open","onInputKeyDown","placeholder","handleKeyDownSelect","handleKeyUp","selectRef","onNativeSelectChange","onPlacementChange","resetFocusedOption","Component","defaultFilterFn","selectType","Default"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport SelectMimicry from \"../SelectMimicry/SelectMimicry\";\nimport { debounce, setRef, multiRef } from \"../../lib/utils\";\nimport { classNames } from \"../../lib/classNames\";\nimport { NativeSelectProps } from \"../NativeSelect/NativeSelect\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport CustomSelectOption, {\n CustomSelectOptionProps,\n} from \"../CustomSelectOption/CustomSelectOption\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { FormFieldProps } from \"../FormField/FormField\";\nimport { HasPlatform } from \"../../types\";\nimport Input from \"../Input/Input\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { defaultFilterFn } from \"../../lib/select\";\nimport { is } from \"../../lib/is\";\nimport { Placement } from \"../Popper/Popper\";\nimport { CustomSelectDropdown } from \"../CustomSelectDropdown/CustomSelectDropdown\";\nimport \"./CustomSelect.css\";\n\nconst findIndexAfter = (\n options: CustomSelectOptionInterface[] = [],\n startIndex = -1\n) => {\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 (options === undefined || 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 = (options: CustomSelectOptionInterface[]) => {\n if (new Set(options.map((item) => typeof item.value)).size > 1) {\n warn(\n \"Some values of your options have different types. CustomSelect onChange always returns a string type.\"\n );\n }\n};\n\ntype SelectValue = React.SelectHTMLAttributes<HTMLSelectElement>[\"value\"];\n\nexport enum SelectType {\n Default = \"default\",\n Plain = \"plain\",\n}\n\nexport interface CustomSelectOptionInterface {\n value: SelectValue;\n label: string;\n disabled?: boolean;\n [index: string]: any;\n}\n\ninterface CustomSelectState {\n inputValue?: string;\n opened?: boolean;\n focusedOptionIndex?: number;\n selectedOptionIndex?: number;\n nativeSelectValue?: SelectValue;\n options?: CustomSelectOptionInterface[];\n popperPlacement?: Placement;\n}\n\nexport interface CustomSelectProps\n extends NativeSelectProps,\n HasPlatform,\n FormFieldProps {\n /**\n * Если `true`, то при клике на селект в нём появится текстовое поле для поиска по `options`. По умолчанию поиск\n * производится по `option.label`.\n */\n searchable?: boolean;\n /**\n * Текст, который будет отображен, если приходит пустой `options`\n */\n emptyText?: string;\n onInputChange?: (\n e: React.ChangeEvent,\n options: CustomSelectOptionInterface[]\n ) => void | CustomSelectOptionInterface[];\n options: Array<{\n value: SelectValue;\n label: string;\n [index: string]: any;\n }>;\n /**\n * Функция для кастомной фильтрации. По-умолчанию поиск производится по option.label.\n */\n filterFn?:\n | false\n | ((\n value: string,\n option: CustomSelectOptionInterface,\n getOptionLabel?: (\n option: Partial<CustomSelectOptionInterface>\n ) => string\n ) => boolean);\n popupDirection?: \"top\" | \"bottom\";\n /**\n * Рендер-проп для кастомного рендера опции.\n * В объекте аргумента приходят [свойства опции](#/CustomSelectOption?id=props)\n */\n renderOption?: (props: CustomSelectOptionProps) => 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 icon?: React.ReactNode;\n dropdownOffsetDistance?: number;\n fixDropdownWidth?: boolean;\n forceDropdownPortal?: boolean;\n selectType?: SelectType;\n}\n\ntype MouseEventHandler = (event: React.MouseEvent<HTMLElement>) => void;\n\nclass CustomSelect extends React.Component<\n CustomSelectProps,\n CustomSelectState\n> {\n static defaultProps: Partial<CustomSelectProps> = {\n searchable: false,\n renderOption({ option, ...props }): React.ReactNode {\n return <CustomSelectOption {...props} />;\n },\n options: [],\n emptyText: \"Ничего не найдено\",\n filterFn: defaultFilterFn,\n icon: <DropdownIcon />,\n dropdownOffsetDistance: 0,\n fixDropdownWidth: true,\n selectType: SelectType.Default,\n };\n\n public constructor(props: CustomSelectProps) {\n super(props);\n\n const { value, defaultValue } = props;\n\n const initialValue = value !== undefined ? value : defaultValue;\n\n this.keyboardInput = \"\";\n\n if (process.env.NODE_ENV === \"development\") {\n checkOptionsValueType(props.options);\n }\n\n this.state = {\n opened: false,\n focusedOptionIndex: -1,\n selectedOptionIndex: this.findSelectedIndex(props.options, initialValue),\n nativeSelectValue: initialValue,\n options: props.options,\n inputValue: \"\",\n };\n\n if (props.value !== undefined) {\n this.isControlledOutside = true;\n }\n }\n\n private keyboardInput: string;\n private isControlledOutside = false;\n private selectEl: HTMLSelectElement | null = null;\n private readonly scrollBoxRef = React.createRef<HTMLDivElement>();\n private readonly containerRef = React.createRef<HTMLLabelElement>();\n\n private readonly resetKeyboardInput = () => {\n this.keyboardInput = \"\";\n };\n\n private readonly getSelectedItem = () => {\n const { selectedOptionIndex, options } = this.state;\n\n if (!options?.length) {\n return null;\n }\n\n return selectedOptionIndex !== undefined\n ? options[selectedOptionIndex]\n : undefined;\n };\n\n get areOptionsShown() {\n return this.scrollBoxRef.current !== null;\n }\n\n filter = (\n options: CustomSelectProps[\"options\"],\n inputValue: string,\n filterFn: CustomSelectProps[\"filterFn\"]\n ) => {\n return typeof filterFn === \"function\"\n ? options.filter((option) => filterFn(inputValue, option))\n : options;\n };\n\n findSelectedIndex(\n options: CustomSelectOptionInterface[] | undefined,\n value: SelectValue\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\n open = () => {\n this.setState(\n ({ selectedOptionIndex }) => ({\n opened: true,\n focusedOptionIndex: selectedOptionIndex,\n }),\n () => {\n const { selectedOptionIndex } = this.state;\n\n if (\n selectedOptionIndex !== undefined &&\n this.isValidIndex(selectedOptionIndex)\n ) {\n this.scrollToElement(selectedOptionIndex, true);\n }\n }\n );\n typeof this.props.onOpen === \"function\" && this.props.onOpen();\n };\n\n close = () => {\n this.resetKeyboardInput();\n\n this.setState(() => ({\n inputValue: \"\",\n opened: false,\n focusedOptionIndex: -1,\n options: this.props.options,\n }));\n typeof this.props.onClose === \"function\" && this.props.onClose();\n };\n\n private isValidIndex(index: number) {\n return index >= 0 && index < (this.state.options?.length ?? 0);\n }\n\n selectFocused = () => {\n const { focusedOptionIndex } = this.state;\n\n if (focusedOptionIndex !== undefined) {\n this.select(focusedOptionIndex);\n }\n };\n\n select = (index: number) => {\n if (!this.isValidIndex(index)) {\n return;\n }\n\n const item = this.state.options?.[index];\n\n this.setState(\n {\n nativeSelectValue: item?.value,\n },\n () => {\n const event = new Event(\"change\", { bubbles: true });\n this.selectEl?.dispatchEvent(event);\n }\n );\n this.close();\n };\n\n onClick = () => {\n this.state.opened ? this.close() : this.open();\n };\n\n onFocus = () => {\n const event = new Event(\"focus\");\n this.selectEl?.dispatchEvent(event);\n };\n\n onBlur = () => {\n this.close();\n const event = new Event(\"blur\");\n this.selectEl?.dispatchEvent(event);\n };\n\n private scrollToElement(index: number, center = false) {\n const dropdown = this.scrollBoxRef.current;\n const item = dropdown ? (dropdown.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 focusOptionByIndex = (index: number | undefined, scrollTo = true) => {\n if (\n index === undefined ||\n index < 0 ||\n index > (this.state.options?.length ?? 0) - 1\n ) {\n return;\n }\n\n const option = this.state.options?.[index];\n\n if (option?.disabled) {\n return;\n }\n\n scrollTo && this.scrollToElement(index);\n\n this.setState(() => ({\n focusedOptionIndex: index,\n }));\n };\n\n focusOption = (type: \"next\" | \"prev\") => {\n const { focusedOptionIndex } = this.state;\n let index = focusedOptionIndex;\n\n if (type === \"next\") {\n const nextIndex = findIndexAfter(this.state.options, index);\n index = nextIndex === -1 ? findIndexAfter(this.state.options) : nextIndex; // Следующий за index или первый валидный до index\n } else if (type === \"prev\") {\n const beforeIndex = findIndexBefore(this.state.options, index);\n index =\n beforeIndex === -1 ? findIndexBefore(this.state.options) : beforeIndex; // Предшествующий index или последний валидный после index\n }\n\n this.focusOptionByIndex(index);\n };\n\n handleOptionHover: MouseEventHandler = (e: React.MouseEvent<HTMLElement>) => {\n this.focusOptionByIndex(\n Array.prototype.indexOf.call(\n e.currentTarget.parentNode?.children,\n e.currentTarget\n ),\n false\n );\n };\n\n handleOptionDown: MouseEventHandler = (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault();\n };\n\n handleOptionClick: MouseEventHandler = (e: React.MouseEvent<HTMLElement>) => {\n const index = Array.prototype.indexOf.call(\n e.currentTarget.parentNode?.children,\n e.currentTarget\n );\n const option = this.state.options?.[index];\n\n if (option && !option.disabled) {\n this.selectFocused();\n }\n };\n\n resetFocusedOption = () => {\n this.setState({ focusedOptionIndex: -1 });\n };\n\n onKeyboardInput = (key: string) => {\n const fullInput = this.keyboardInput + key;\n\n const optionIndex = this.state.options?.findIndex((option) => {\n return option.label.toLowerCase().includes(fullInput);\n });\n\n if (optionIndex !== undefined && optionIndex > -1) {\n this.focusOptionByIndex(optionIndex);\n }\n\n this.keyboardInput = fullInput;\n };\n\n /**\n * Нужен для правильного поведения обработчика onClick на select. Фильтрует клики, которые были сделаны по\n * выпадающему списку.\n */\n onLabelClick = (e: React.MouseEvent<HTMLLabelElement>) => {\n if (this.scrollBoxRef.current?.contains(e.target as Node)) {\n e.preventDefault();\n }\n };\n\n onNativeSelectChange: React.ChangeEventHandler<HTMLSelectElement> = (e) => {\n const newSelectedOptionIndex = this.findSelectedIndex(\n this.state.options,\n e.currentTarget.value\n );\n\n if (this.state.selectedOptionIndex !== newSelectedOptionIndex) {\n if (!this.isControlledOutside) {\n this.setState({\n selectedOptionIndex: newSelectedOptionIndex,\n });\n }\n this.props.onChange?.(e);\n }\n };\n\n onInputChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n if (this.props.onInputChange) {\n const options = this.props.onInputChange(e, this.props.options);\n if (options) {\n if (process.env.NODE_ENV === \"development\") {\n warn(\n \"This filtration method is deprecated. Return value of onInputChange will\" +\n \" be ignored in v5.0.0. For custom filtration please update props.options by yourself or use filterFn property\"\n );\n }\n this.setState({\n options,\n selectedOptionIndex: this.findSelectedIndex(\n options,\n this.state.nativeSelectValue\n ),\n inputValue: e.target.value,\n });\n } else {\n this.setState({ inputValue: e.target.value });\n }\n } else {\n const options = this.filter(\n this.props.options,\n e.target.value,\n this.props.filterFn\n );\n this.setState({\n options,\n selectedOptionIndex: this.findSelectedIndex(\n options,\n this.state.nativeSelectValue\n ),\n inputValue: e.target.value,\n });\n }\n };\n\n onInputKeyDown: React.KeyboardEventHandler<HTMLInputElement> = (event) => {\n [\"ArrowUp\", \"ArrowDown\", \"Escape\", \"Enter\"].includes(event.key) &&\n this.areOptionsShown &&\n event.preventDefault();\n\n switch (event.key) {\n case \"ArrowUp\":\n this.areOptionsShown && this.focusOption(\"prev\");\n break;\n case \"ArrowDown\":\n this.areOptionsShown && this.focusOption(\"next\");\n break;\n case \"Escape\":\n this.close();\n break;\n case \"Enter\":\n this.areOptionsShown && this.selectFocused();\n break;\n }\n };\n\n handleKeyDownSelect = (event: React.KeyboardEvent) => {\n const { opened } = this.state;\n\n if (event.key.length === 1 && event.key !== \" \") {\n this.onKeyboardInput(event.key);\n return;\n }\n\n [\"ArrowUp\", \"ArrowDown\", \"Escape\", \"Enter\"].includes(event.key) &&\n this.areOptionsShown &&\n event.preventDefault();\n\n switch (event.key) {\n case \"ArrowUp\":\n if (opened) {\n this.areOptionsShown && this.focusOption(\"prev\");\n } else {\n this.open();\n }\n break;\n case \"ArrowDown\":\n if (opened) {\n this.areOptionsShown && this.focusOption(\"next\");\n } else {\n this.open();\n }\n break;\n case \"Escape\":\n this.close();\n break;\n case \"Enter\":\n case \"Spacebar\":\n case \" \":\n if (opened) {\n this.areOptionsShown && this.selectFocused();\n } else {\n this.open();\n }\n break;\n }\n };\n\n handleKeyUp = debounce(this.resetKeyboardInput, 1000);\n\n componentDidUpdate(prevProps: CustomSelectProps) {\n // Внутри useEffect и так is, можно убрать\n if (\n !is(prevProps.value, this.props.value) ||\n prevProps.options !== this.props.options\n ) {\n if (process.env.NODE_ENV === \"development\") {\n checkOptionsValueType(this.props.options);\n }\n\n this.isControlledOutside = this.props.value !== undefined;\n const value =\n this.props.value === undefined\n ? this.state.nativeSelectValue\n : this.props.value;\n const options =\n this.props.searchable && this.state.inputValue !== undefined\n ? this.filter(\n this.props.options,\n this.state.inputValue,\n this.props.filterFn\n )\n : this.props.options;\n this.setState({\n nativeSelectValue: value,\n selectedOptionIndex: this.findSelectedIndex(options, value),\n options,\n });\n }\n }\n\n renderOption = (option: CustomSelectOptionInterface, index: number) => {\n const { focusedOptionIndex, selectedOptionIndex } = this.state;\n const { renderOption } = this.props;\n const hovered = index === focusedOptionIndex;\n const selected = index === selectedOptionIndex;\n\n return (\n <React.Fragment key={`${option.value}`}>\n {renderOption!({\n option,\n hovered,\n children: option.label,\n selected,\n disabled: option.disabled,\n onClick: this.handleOptionClick,\n onMouseDown: this.handleOptionDown,\n onMouseEnter: this.handleOptionHover,\n })}\n </React.Fragment>\n );\n };\n\n selectRef = (element: HTMLSelectElement) => {\n this.selectEl = element;\n if (this.props.getRef) {\n setRef(element, this.props.getRef);\n }\n };\n\n onPlacementChange = (placement?: Placement) => {\n this.setState(() => ({\n popperPlacement: placement,\n }));\n };\n\n render() {\n const { opened, nativeSelectValue, options: stateOptions } = this.state;\n const {\n searchable,\n name,\n className,\n getRef,\n getRootRef,\n popupDirection,\n options,\n sizeY,\n platform,\n style,\n onChange,\n onBlur,\n onFocus,\n onClick,\n renderOption,\n children,\n emptyText,\n onInputChange,\n filterFn,\n renderDropdown,\n onOpen,\n onClose,\n fetching,\n icon,\n dropdownOffsetDistance,\n fixDropdownWidth,\n forceDropdownPortal,\n ...restProps\n } = this.props;\n const selected = this.getSelectedItem();\n const label = selected ? selected.label : undefined;\n\n const defaultDropdownContent =\n stateOptions !== undefined && stateOptions.length > 0 ? (\n stateOptions.map(this.renderOption)\n ) : (\n <Caption level=\"1\" weight=\"regular\" vkuiClass=\"CustomSelect__empty\">\n {this.props.emptyText}\n </Caption>\n );\n\n let resolvedContent;\n\n if (typeof renderDropdown === \"function\") {\n resolvedContent = renderDropdown({ defaultDropdownContent });\n } else {\n resolvedContent = defaultDropdownContent;\n }\n\n const isPopperDirectionTop = this.state.popperPlacement?.includes(\"top\");\n\n return (\n <label\n vkuiClass={getClassName(\"CustomSelect\", platform)}\n className={className}\n style={style}\n ref={multiRef(this.containerRef, getRootRef)}\n onClick={this.onLabelClick}\n >\n {opened && searchable ? (\n <Input\n {...restProps}\n autoFocus\n onBlur={this.onBlur}\n vkuiClass={classNames({\n CustomSelect__open: opened,\n \"CustomSelect__open--popupDirectionTop\": isPopperDirectionTop,\n \"CustomSelect__open--not-adjacent\":\n (dropdownOffsetDistance as number) > 0,\n })}\n value={this.state.inputValue}\n onKeyDown={this.onInputKeyDown}\n onChange={this.onInputChange}\n // TODO Ожидается, что клик поймает нативный select, но его перехвает Input. К сожалению, это приводит конфликтам типизации.\n // TODO Нужно перестать пытаться превратить CustomSelect в select. Тогда эта проблема уйдёт.\n // @ts-ignore\n onClick={onClick}\n after={icon}\n placeholder={restProps.placeholder}\n />\n ) : (\n <SelectMimicry\n {...restProps}\n aria-hidden={true}\n onClick={this.onClick}\n onKeyDown={this.handleKeyDownSelect}\n onKeyUp={this.handleKeyUp}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n vkuiClass={classNames({\n CustomSelect__open: opened,\n \"CustomSelect__open--popupDirectionTop\": isPopperDirectionTop,\n \"CustomSelect__open--not-adjacent\":\n (dropdownOffsetDistance as number) > 0,\n })}\n after={icon}\n >\n {label}\n </SelectMimicry>\n )}\n <select\n ref={this.selectRef}\n name={name}\n onChange={this.onNativeSelectChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onClick={onClick}\n value={nativeSelectValue}\n aria-hidden={true}\n vkuiClass=\"CustomSelect__control\"\n >\n {options.map((item) => (\n <option key={`${item.value}`} value={item.value} />\n ))}\n </select>\n {opened && (\n <CustomSelectDropdown\n targetRef={this.containerRef}\n placement={popupDirection}\n scrollBoxRef={this.scrollBoxRef}\n onPlacementChange={this.onPlacementChange}\n onMouseLeave={this.resetFocusedOption}\n fetching={fetching}\n offsetDistance={dropdownOffsetDistance}\n sameWidth={fixDropdownWidth}\n forcePortal={forceDropdownPortal}\n >\n {resolvedContent}\n </CustomSelectDropdown>\n )}\n </label>\n );\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default withPlatform(\n withAdaptivity(CustomSelect, {\n sizeY: true,\n })\n);\n"],"file":"CustomSelect.js"}
1
+ {"version":3,"sources":["../../../../src/components/CustomSelect/CustomSelect.tsx"],"names":["findIndexAfter","options","startIndex","length","findIndex","option","i","disabled","findIndexBefore","endIndex","result","undefined","warn","checkOptionsValueType","Set","map","item","value","size","SelectType","CustomSelect","props","React","createRef","keyboardInput","state","selectedOptionIndex","inputValue","filterFn","filter","setState","opened","focusedOptionIndex","isValidIndex","scrollToElement","onOpen","resetKeyboardInput","onClose","select","index","nativeSelectValue","event","Event","bubbles","selectEl","dispatchEvent","close","open","scrollTo","prevState","type","nextIndex","beforeIndex","focusOptionByIndex","e","Array","prototype","indexOf","call","currentTarget","parentNode","children","preventDefault","selectFocused","key","fullInput","optionIndex","label","toLowerCase","includes","scrollBoxRef","current","contains","target","newSelectedOptionIndex","findSelectedIndex","isControlledOutside","onChange","onInputChange","process","env","NODE_ENV","areOptionsShown","focusOption","onKeyboardInput","renderOption","hovered","selected","onClick","handleOptionClick","onMouseDown","handleOptionDown","onMouseOver","handleOptionHover","element","getRef","placement","popperPlacement","defaultValue","initialValue","Number","center","dropdown","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","prevProps","searchable","stateOptions","name","className","getRootRef","popupDirection","sizeY","platform","style","onBlur","onFocus","emptyText","renderDropdown","fetching","icon","dropdownOffsetDistance","fixDropdownWidth","forceDropdownPortal","restProps","getSelectedItem","defaultDropdownContent","resolvedContent","isPopperDirectionTop","containerRef","onLabelClick","CustomSelect__open","onInputKeyDown","placeholder","handleKeyDownSelect","handleKeyUp","selectRef","onNativeSelectChange","onPlacementChange","resetFocusedOption","Component","defaultFilterFn","selectType","Default"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport SelectMimicry from \"../SelectMimicry/SelectMimicry\";\nimport { debounce, setRef, multiRef } from \"../../lib/utils\";\nimport { classNames } from \"../../lib/classNames\";\nimport { NativeSelectProps } from \"../NativeSelect/NativeSelect\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport CustomSelectOption, {\n CustomSelectOptionProps,\n} from \"../CustomSelectOption/CustomSelectOption\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { FormFieldProps } from \"../FormField/FormField\";\nimport { HasPlatform } from \"../../types\";\nimport Input from \"../Input/Input\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { defaultFilterFn } from \"../../lib/select\";\nimport { is } from \"../../lib/is\";\nimport { Placement } from \"../Popper/Popper\";\nimport { CustomSelectDropdown } from \"../CustomSelectDropdown/CustomSelectDropdown\";\nimport \"./CustomSelect.css\";\n\nconst findIndexAfter = (\n options: CustomSelectOptionInterface[] = [],\n startIndex = -1\n) => {\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 (options === undefined || 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 = (options: CustomSelectOptionInterface[]) => {\n if (new Set(options.map((item) => typeof item.value)).size > 1) {\n warn(\n \"Some values of your options have different types. CustomSelect onChange always returns a string type.\"\n );\n }\n};\n\ntype SelectValue = React.SelectHTMLAttributes<HTMLSelectElement>[\"value\"];\n\nexport enum SelectType {\n Default = \"default\",\n Plain = \"plain\",\n}\n\nexport interface CustomSelectOptionInterface {\n value: SelectValue;\n label: string;\n disabled?: boolean;\n [index: string]: any;\n}\n\ninterface CustomSelectState {\n inputValue?: string;\n opened?: boolean;\n focusedOptionIndex?: number;\n selectedOptionIndex?: number;\n nativeSelectValue?: SelectValue;\n options?: CustomSelectOptionInterface[];\n popperPlacement?: Placement;\n}\n\nexport interface CustomSelectProps\n extends NativeSelectProps,\n HasPlatform,\n FormFieldProps {\n /**\n * Если `true`, то при клике на селект в нём появится текстовое поле для поиска по `options`. По умолчанию поиск\n * производится по `option.label`.\n */\n searchable?: boolean;\n /**\n * Текст, который будет отображен, если приходит пустой `options`\n */\n emptyText?: string;\n onInputChange?: (\n e: React.ChangeEvent,\n options: CustomSelectOptionInterface[]\n ) => void | CustomSelectOptionInterface[];\n options: Array<{\n value: SelectValue;\n label: string;\n [index: string]: any;\n }>;\n /**\n * Функция для кастомной фильтрации. По-умолчанию поиск производится по option.label.\n */\n filterFn?:\n | false\n | ((\n value: string,\n option: CustomSelectOptionInterface,\n getOptionLabel?: (\n option: Partial<CustomSelectOptionInterface>\n ) => string\n ) => boolean);\n popupDirection?: \"top\" | \"bottom\";\n /**\n * Рендер-проп для кастомного рендера опции.\n * В объекте аргумента приходят [свойства опции](#/CustomSelectOption?id=props)\n */\n renderOption?: (props: CustomSelectOptionProps) => 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 icon?: React.ReactNode;\n dropdownOffsetDistance?: number;\n fixDropdownWidth?: boolean;\n forceDropdownPortal?: boolean;\n selectType?: SelectType;\n}\n\ntype MouseEventHandler = (event: React.MouseEvent<HTMLElement>) => void;\n\nclass CustomSelect extends React.Component<\n CustomSelectProps,\n CustomSelectState\n> {\n static defaultProps: Partial<CustomSelectProps> = {\n searchable: false,\n renderOption({ option, ...props }): React.ReactNode {\n return <CustomSelectOption {...props} />;\n },\n options: [],\n emptyText: \"Ничего не найдено\",\n filterFn: defaultFilterFn,\n icon: <DropdownIcon />,\n dropdownOffsetDistance: 0,\n fixDropdownWidth: true,\n selectType: SelectType.Default,\n };\n\n public constructor(props: CustomSelectProps) {\n super(props);\n\n const { value, defaultValue } = props;\n\n const initialValue = value !== undefined ? value : defaultValue;\n\n this.keyboardInput = \"\";\n\n if (process.env.NODE_ENV === \"development\") {\n checkOptionsValueType(props.options);\n }\n\n this.state = {\n opened: false,\n focusedOptionIndex: -1,\n selectedOptionIndex: this.findSelectedIndex(props.options, initialValue),\n nativeSelectValue: initialValue,\n options: props.options,\n inputValue: \"\",\n };\n\n if (props.value !== undefined) {\n this.isControlledOutside = true;\n }\n }\n\n private keyboardInput: string;\n private isControlledOutside = false;\n private selectEl: HTMLSelectElement | null = null;\n private readonly scrollBoxRef = React.createRef<HTMLDivElement>();\n private readonly containerRef = React.createRef<HTMLLabelElement>();\n\n private readonly resetKeyboardInput = () => {\n this.keyboardInput = \"\";\n };\n\n private readonly getSelectedItem = () => {\n const { selectedOptionIndex, options } = this.state;\n\n if (!options?.length) {\n return null;\n }\n\n return selectedOptionIndex !== undefined\n ? options[selectedOptionIndex]\n : undefined;\n };\n\n get areOptionsShown() {\n return this.scrollBoxRef.current !== null;\n }\n\n filter = (\n options: CustomSelectProps[\"options\"],\n inputValue: string,\n filterFn: CustomSelectProps[\"filterFn\"]\n ) => {\n return typeof filterFn === \"function\"\n ? options.filter((option) => filterFn(inputValue, option))\n : options;\n };\n\n findSelectedIndex(\n options: CustomSelectOptionInterface[] | undefined,\n value: SelectValue\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\n open = () => {\n this.setState(\n ({ selectedOptionIndex }) => ({\n opened: true,\n focusedOptionIndex: selectedOptionIndex,\n }),\n () => {\n const { selectedOptionIndex } = this.state;\n\n if (\n selectedOptionIndex !== undefined &&\n this.isValidIndex(selectedOptionIndex)\n ) {\n this.scrollToElement(selectedOptionIndex, true);\n }\n }\n );\n typeof this.props.onOpen === \"function\" && this.props.onOpen();\n };\n\n close = () => {\n this.resetKeyboardInput();\n\n this.setState(() => ({\n inputValue: \"\",\n opened: false,\n focusedOptionIndex: -1,\n options: this.props.options,\n }));\n typeof this.props.onClose === \"function\" && this.props.onClose();\n };\n\n private isValidIndex(index: number) {\n return index >= 0 && index < (this.state.options?.length ?? 0);\n }\n\n selectFocused = () => {\n const { focusedOptionIndex } = this.state;\n\n if (focusedOptionIndex !== undefined) {\n this.select(focusedOptionIndex);\n }\n };\n\n select = (index: number) => {\n if (!this.isValidIndex(index)) {\n return;\n }\n\n const item = this.state.options?.[index];\n\n this.setState(\n {\n nativeSelectValue: item?.value,\n },\n () => {\n const event = new Event(\"change\", { bubbles: true });\n this.selectEl?.dispatchEvent(event);\n }\n );\n this.close();\n };\n\n onClick = () => {\n this.state.opened ? this.close() : this.open();\n };\n\n onFocus = () => {\n const event = new Event(\"focus\");\n this.selectEl?.dispatchEvent(event);\n };\n\n onBlur = () => {\n this.close();\n const event = new Event(\"blur\");\n this.selectEl?.dispatchEvent(event);\n };\n\n private scrollToElement(index: number, center = false) {\n const dropdown = this.scrollBoxRef.current;\n const item = dropdown ? (dropdown.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 focusOptionByIndex = (index: number | undefined, scrollTo = true) => {\n if (\n index === undefined ||\n index < 0 ||\n index > (this.state.options?.length ?? 0) - 1\n ) {\n return;\n }\n\n const option = this.state.options?.[index];\n\n if (option?.disabled) {\n return;\n }\n\n scrollTo && this.scrollToElement(index);\n\n this.setState((prevState) =>\n // Это оптимизация, прежде всего, под `onMouseOver`\n prevState.focusedOptionIndex !== index\n ? {\n focusedOptionIndex: index,\n }\n : null\n );\n };\n\n focusOption = (type: \"next\" | \"prev\") => {\n const { focusedOptionIndex } = this.state;\n let index = focusedOptionIndex;\n\n if (type === \"next\") {\n const nextIndex = findIndexAfter(this.state.options, index);\n index = nextIndex === -1 ? findIndexAfter(this.state.options) : nextIndex; // Следующий за index или первый валидный до index\n } else if (type === \"prev\") {\n const beforeIndex = findIndexBefore(this.state.options, index);\n index =\n beforeIndex === -1 ? findIndexBefore(this.state.options) : beforeIndex; // Предшествующий index или последний валидный после index\n }\n\n this.focusOptionByIndex(index);\n };\n\n handleOptionHover: MouseEventHandler = (e: React.MouseEvent<HTMLElement>) => {\n this.focusOptionByIndex(\n Array.prototype.indexOf.call(\n e.currentTarget.parentNode?.children,\n e.currentTarget\n ),\n false\n );\n };\n\n handleOptionDown: MouseEventHandler = (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault();\n };\n\n handleOptionClick: MouseEventHandler = (e: React.MouseEvent<HTMLElement>) => {\n const index = Array.prototype.indexOf.call(\n e.currentTarget.parentNode?.children,\n e.currentTarget\n );\n const option = this.state.options?.[index];\n\n if (option && !option.disabled) {\n this.selectFocused();\n }\n };\n\n resetFocusedOption = () => {\n this.setState({ focusedOptionIndex: -1 });\n };\n\n onKeyboardInput = (key: string) => {\n const fullInput = this.keyboardInput + key;\n\n const optionIndex = this.state.options?.findIndex((option) => {\n return option.label.toLowerCase().includes(fullInput);\n });\n\n if (optionIndex !== undefined && optionIndex > -1) {\n this.focusOptionByIndex(optionIndex);\n }\n\n this.keyboardInput = fullInput;\n };\n\n /**\n * Нужен для правильного поведения обработчика onClick на select. Фильтрует клики, которые были сделаны по\n * выпадающему списку.\n */\n onLabelClick = (e: React.MouseEvent<HTMLLabelElement>) => {\n if (this.scrollBoxRef.current?.contains(e.target as Node)) {\n e.preventDefault();\n }\n };\n\n onNativeSelectChange: React.ChangeEventHandler<HTMLSelectElement> = (e) => {\n const newSelectedOptionIndex = this.findSelectedIndex(\n this.state.options,\n e.currentTarget.value\n );\n\n if (this.state.selectedOptionIndex !== newSelectedOptionIndex) {\n if (!this.isControlledOutside) {\n this.setState({\n selectedOptionIndex: newSelectedOptionIndex,\n });\n }\n this.props.onChange?.(e);\n }\n };\n\n onInputChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n if (this.props.onInputChange) {\n const options = this.props.onInputChange(e, this.props.options);\n if (options) {\n if (process.env.NODE_ENV === \"development\") {\n warn(\n \"This filtration method is deprecated. Return value of onInputChange will\" +\n \" be ignored in v5.0.0. For custom filtration please update props.options by yourself or use filterFn property\"\n );\n }\n this.setState({\n options,\n selectedOptionIndex: this.findSelectedIndex(\n options,\n this.state.nativeSelectValue\n ),\n inputValue: e.target.value,\n });\n } else {\n this.setState({ inputValue: e.target.value });\n }\n } else {\n const options = this.filter(\n this.props.options,\n e.target.value,\n this.props.filterFn\n );\n this.setState({\n options,\n selectedOptionIndex: this.findSelectedIndex(\n options,\n this.state.nativeSelectValue\n ),\n inputValue: e.target.value,\n });\n }\n };\n\n onInputKeyDown: React.KeyboardEventHandler<HTMLInputElement> = (event) => {\n [\"ArrowUp\", \"ArrowDown\", \"Escape\", \"Enter\"].includes(event.key) &&\n this.areOptionsShown &&\n event.preventDefault();\n\n switch (event.key) {\n case \"ArrowUp\":\n this.areOptionsShown && this.focusOption(\"prev\");\n break;\n case \"ArrowDown\":\n this.areOptionsShown && this.focusOption(\"next\");\n break;\n case \"Escape\":\n this.close();\n break;\n case \"Enter\":\n this.areOptionsShown && this.selectFocused();\n break;\n }\n };\n\n handleKeyDownSelect = (event: React.KeyboardEvent) => {\n const { opened } = this.state;\n\n if (event.key.length === 1 && event.key !== \" \") {\n this.onKeyboardInput(event.key);\n return;\n }\n\n [\"ArrowUp\", \"ArrowDown\", \"Escape\", \"Enter\"].includes(event.key) &&\n this.areOptionsShown &&\n event.preventDefault();\n\n switch (event.key) {\n case \"ArrowUp\":\n if (opened) {\n this.areOptionsShown && this.focusOption(\"prev\");\n } else {\n this.open();\n }\n break;\n case \"ArrowDown\":\n if (opened) {\n this.areOptionsShown && this.focusOption(\"next\");\n } else {\n this.open();\n }\n break;\n case \"Escape\":\n this.close();\n break;\n case \"Enter\":\n case \"Spacebar\":\n case \" \":\n if (opened) {\n this.areOptionsShown && this.selectFocused();\n } else {\n this.open();\n }\n break;\n }\n };\n\n handleKeyUp = debounce(this.resetKeyboardInput, 1000);\n\n componentDidUpdate(prevProps: CustomSelectProps) {\n // Внутри useEffect и так is, можно убрать\n if (\n !is(prevProps.value, this.props.value) ||\n prevProps.options !== this.props.options\n ) {\n if (process.env.NODE_ENV === \"development\") {\n checkOptionsValueType(this.props.options);\n }\n\n this.isControlledOutside = this.props.value !== undefined;\n const value =\n this.props.value === undefined\n ? this.state.nativeSelectValue\n : this.props.value;\n const options =\n this.props.searchable && this.state.inputValue !== undefined\n ? this.filter(\n this.props.options,\n this.state.inputValue,\n this.props.filterFn\n )\n : this.props.options;\n this.setState({\n nativeSelectValue: value,\n selectedOptionIndex: this.findSelectedIndex(options, value),\n options,\n });\n }\n }\n\n renderOption = (option: CustomSelectOptionInterface, index: number) => {\n const { focusedOptionIndex, selectedOptionIndex } = this.state;\n const { renderOption } = this.props;\n const hovered = index === focusedOptionIndex;\n const selected = index === selectedOptionIndex;\n\n return (\n <React.Fragment key={`${option.value}`}>\n {renderOption!({\n option,\n hovered,\n children: option.label,\n selected,\n disabled: option.disabled,\n onClick: this.handleOptionClick,\n onMouseDown: this.handleOptionDown,\n // Используем `onMouseOver` вместо `onMouseEnter`.\n // При параметре `searchable`, обновляется \"ребёнок\", из-за чего `onMouseEnter` не срабатывает в следующих кейсах:\n // 1. До загрузки выпадающего списка, курсор мышки находится над произвольным элементом этого списка.\n // > Лечение: только увод курсора мыши и возвращении его обратно вызывает событие `onMouseEnter` на этот элемент.\n // 2. Если это тач-устройство.\n // > Лечение: нужно нажать на какой-нибудь произвольный элемент списка, после чего `onMouseEnter` будет работать на соседние элементы,\n // но не на тот, на который нажали в первый раз.\n // Более подробно по ссылке https://github.com/facebook/react/issues/13956#issuecomment-1082055744\n onMouseOver: this.handleOptionHover,\n })}\n </React.Fragment>\n );\n };\n\n selectRef = (element: HTMLSelectElement) => {\n this.selectEl = element;\n if (this.props.getRef) {\n setRef(element, this.props.getRef);\n }\n };\n\n onPlacementChange = (placement?: Placement) => {\n this.setState(() => ({\n popperPlacement: placement,\n }));\n };\n\n render() {\n const { opened, nativeSelectValue, options: stateOptions } = this.state;\n const {\n searchable,\n name,\n className,\n getRef,\n getRootRef,\n popupDirection,\n options,\n sizeY,\n platform,\n style,\n onChange,\n onBlur,\n onFocus,\n onClick,\n renderOption,\n children,\n emptyText,\n onInputChange,\n filterFn,\n renderDropdown,\n onOpen,\n onClose,\n fetching,\n icon,\n dropdownOffsetDistance,\n fixDropdownWidth,\n forceDropdownPortal,\n ...restProps\n } = this.props;\n const selected = this.getSelectedItem();\n const label = selected ? selected.label : undefined;\n\n const defaultDropdownContent =\n stateOptions !== undefined && stateOptions.length > 0 ? (\n stateOptions.map(this.renderOption)\n ) : (\n <Caption vkuiClass=\"CustomSelect__empty\">\n {this.props.emptyText}\n </Caption>\n );\n\n let resolvedContent;\n\n if (typeof renderDropdown === \"function\") {\n resolvedContent = renderDropdown({ defaultDropdownContent });\n } else {\n resolvedContent = defaultDropdownContent;\n }\n\n const isPopperDirectionTop = this.state.popperPlacement?.includes(\"top\");\n\n return (\n <label\n vkuiClass={getClassName(\"CustomSelect\", platform)}\n className={className}\n style={style}\n ref={multiRef(this.containerRef, getRootRef)}\n onClick={this.onLabelClick}\n >\n {opened && searchable ? (\n <Input\n {...restProps}\n autoFocus\n onBlur={this.onBlur}\n vkuiClass={classNames({\n CustomSelect__open: opened,\n \"CustomSelect__open--popupDirectionTop\": isPopperDirectionTop,\n \"CustomSelect__open--not-adjacent\":\n (dropdownOffsetDistance as number) > 0,\n })}\n value={this.state.inputValue}\n onKeyDown={this.onInputKeyDown}\n onChange={this.onInputChange}\n // TODO Ожидается, что клик поймает нативный select, но его перехвает Input. К сожалению, это приводит конфликтам типизации.\n // TODO Нужно перестать пытаться превратить CustomSelect в select. Тогда эта проблема уйдёт.\n // @ts-ignore\n onClick={onClick}\n after={icon}\n placeholder={restProps.placeholder}\n />\n ) : (\n <SelectMimicry\n {...restProps}\n aria-hidden={true}\n onClick={this.onClick}\n onKeyDown={this.handleKeyDownSelect}\n onKeyUp={this.handleKeyUp}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n vkuiClass={classNames({\n CustomSelect__open: opened,\n \"CustomSelect__open--popupDirectionTop\": isPopperDirectionTop,\n \"CustomSelect__open--not-adjacent\":\n (dropdownOffsetDistance as number) > 0,\n })}\n after={icon}\n >\n {label}\n </SelectMimicry>\n )}\n <select\n ref={this.selectRef}\n name={name}\n onChange={this.onNativeSelectChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onClick={onClick}\n value={nativeSelectValue}\n aria-hidden={true}\n vkuiClass=\"CustomSelect__control\"\n >\n {options.map((item) => (\n <option key={`${item.value}`} value={item.value} />\n ))}\n </select>\n {opened && (\n <CustomSelectDropdown\n targetRef={this.containerRef}\n placement={popupDirection}\n scrollBoxRef={this.scrollBoxRef}\n onPlacementChange={this.onPlacementChange}\n onMouseLeave={this.resetFocusedOption}\n fetching={fetching}\n offsetDistance={dropdownOffsetDistance}\n sameWidth={fixDropdownWidth}\n forcePortal={forceDropdownPortal}\n >\n {resolvedContent}\n </CustomSelectDropdown>\n )}\n </label>\n );\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default withPlatform(\n withAdaptivity(CustomSelect, {\n sizeY: true,\n })\n);\n"],"file":"CustomSelect.js"}
@@ -21,7 +21,7 @@ var _utils = require("../../lib/utils");
21
21
 
22
22
  var _Text = _interopRequireDefault(require("../Typography/Text/Text"));
23
23
 
24
- var _Caption = _interopRequireDefault(require("../Typography/Caption/Caption"));
24
+ var _Caption = require("../Typography/Caption/Caption");
25
25
 
26
26
  var _useAdaptivity2 = require("../../hooks/useAdaptivity");
27
27
 
@@ -67,9 +67,7 @@ var CustomSelectOption = function CustomSelectOption(_ref) {
67
67
  vkuiClass: "CustomSelectOption__main"
68
68
  }, (0, _jsxRuntime.createScopedElement)("div", {
69
69
  vkuiClass: "CustomSelectOption__children"
70
- }, children), (0, _utils.hasReactNode)(description) && (0, _jsxRuntime.createScopedElement)(_Caption.default, {
71
- level: "1",
72
- weight: "regular",
70
+ }, children), (0, _utils.hasReactNode)(description) && (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
73
71
  vkuiClass: "CustomSelectOption__description"
74
72
  }, description)), (0, _jsxRuntime.createScopedElement)("div", {
75
73
  vkuiClass: "CustomSelectOption__after"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CustomSelectOption/CustomSelectOption.tsx"],"names":["warn","CustomSelectOption","children","hovered","selected","before","after","option","description","disabled","restProps","title","undefined","sizeY","process","env","NODE_ENV"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;AAgBA,IAAMA,IAAI,GAAG,wBAAS,oBAAT,CAAb;;AAEA,IAAMC,kBAAqD,GAAG,SAAxDA,kBAAwD,OAU/B;AAAA,MAT7BC,QAS6B,QAT7BA,QAS6B;AAAA,MAR7BC,OAQ6B,QAR7BA,OAQ6B;AAAA,MAP7BC,QAO6B,QAP7BA,QAO6B;AAAA,MAN7BC,MAM6B,QAN7BA,MAM6B;AAAA,MAL7BC,KAK6B,QAL7BA,KAK6B;AAAA,MAJ7BC,MAI6B,QAJ7BA,MAI6B;AAAA,MAH7BC,WAG6B,QAH7BA,WAG6B;AAAA,MAF7BC,QAE6B,QAF7BA,QAE6B;AAAA,MAD1BC,SAC0B;AAC7B,MAAMC,KAAK,GAAG,OAAOT,QAAP,KAAoB,QAApB,GAA+BA,QAA/B,GAA0CU,SAAxD;;AACA,uBAAkB,oCAAlB;AAAA,MAAQC,KAAR,kBAAQA,KAAR;;AAEA,MAAI,CAAC,CAACN,MAAF,IAAYO,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzC,EAAwD;AACtDhB,IAAAA,IAAI,CAAC,mEAAD,CAAJ;AACD;;AAED,SACE,qCAAC,aAAD,6BACMU,SADN;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,MAAM,EAAC,SAHT;AAIE,IAAA,IAAI,EAAC,QAJP;AAKE,IAAA,KAAK,EAAEC,KALT;AAME,qBAAeF,QANjB;AAOE,qBAAeL,QAPjB;AAQE,IAAA,SAAS,EAAE,4BACT,oBADS,sCAEoBS,KAFpB,GAGT;AACE,mCAA6BV,OAAO,IAAI,CAACM,QAD3C;AAEE,sCAAgCL,QAFlC;AAGE,sCAAgCK;AAHlC,KAHS;AARb,MAkBG,yBAAaJ,MAAb,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA6CA,MAA7C,CAnBJ,EAqBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA+CH,QAA/C,CADF,EAEG,yBAAaM,WAAb,KACC,qCAAC,gBAAD;AACE,IAAA,KAAK,EAAC,GADR;AAEE,IAAA,MAAM,EAAC,SAFT;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGA,WALH,CAHJ,CArBF,EAiCE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,yBAAaF,KAAb,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA8CA,KAA9C,CAFJ,EAIGF,QAAQ,IACP,qCAAC,iBAAD;AAAY,IAAA,SAAS,EAAC;AAAtB,IALJ,CAjCF,CADF;AA4CD,CA9DD,C,CAgEA;;;eACeH,kB","sourcesContent":["import * as React from \"react\";\nimport { Icon16Done } from \"@vkontakte/icons\";\nimport { classNames } from \"../../lib/classNames\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Text from \"../Typography/Text/Text\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { HasRootRef } from \"../../types\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./CustomSelectOption.css\";\n\nexport interface CustomSelectOptionProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n option?: any;\n selected?: boolean;\n focused?: boolean;\n hovered?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n description?: React.ReactNode;\n disabled?: boolean;\n}\n\nconst warn = warnOnce(\"CustomSelectOption\");\n\nconst CustomSelectOption: React.FC<CustomSelectOptionProps> = ({\n children,\n hovered,\n selected,\n before,\n after,\n option,\n description,\n disabled,\n ...restProps\n}: CustomSelectOptionProps) => {\n const title = typeof children === \"string\" ? children : undefined;\n const { sizeY } = useAdaptivity();\n\n if (!!option && process.env.NODE_ENV === \"development\") {\n warn(\"Свойство option было добавлено по ошибке и будет удалено в 5.0.0.\");\n }\n\n return (\n <Text\n {...restProps}\n Component=\"div\"\n weight=\"regular\"\n role=\"option\"\n title={title}\n aria-disabled={disabled}\n aria-selected={selected}\n vkuiClass={classNames(\n \"CustomSelectOption\",\n `CustomSelectOption--sizeY-${sizeY}`,\n {\n \"CustomSelectOption--hover\": hovered && !disabled,\n \"CustomSelectOption--selected\": selected,\n \"CustomSelectOption--disabled\": disabled,\n }\n )}\n >\n {hasReactNode(before) && (\n <div vkuiClass=\"CustomSelectOption__before\">{before}</div>\n )}\n <div vkuiClass=\"CustomSelectOption__main\">\n <div vkuiClass=\"CustomSelectOption__children\">{children}</div>\n {hasReactNode(description) && (\n <Caption\n level=\"1\"\n weight=\"regular\"\n vkuiClass=\"CustomSelectOption__description\"\n >\n {description}\n </Caption>\n )}\n </div>\n <div vkuiClass=\"CustomSelectOption__after\">\n {hasReactNode(after) && (\n <div vkuiClass=\"CustomSelectOption__afterIn\">{after}</div>\n )}\n {selected && (\n <Icon16Done vkuiClass=\"CustomSelectOption__selectedIcon\" />\n )}\n </div>\n </Text>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default CustomSelectOption;\n"],"file":"CustomSelectOption.js"}
1
+ {"version":3,"sources":["../../../../src/components/CustomSelectOption/CustomSelectOption.tsx"],"names":["warn","CustomSelectOption","children","hovered","selected","before","after","option","description","disabled","restProps","title","undefined","sizeY","process","env","NODE_ENV"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;AAgBA,IAAMA,IAAI,GAAG,wBAAS,oBAAT,CAAb;;AAEA,IAAMC,kBAAqD,GAAG,SAAxDA,kBAAwD,OAU/B;AAAA,MAT7BC,QAS6B,QAT7BA,QAS6B;AAAA,MAR7BC,OAQ6B,QAR7BA,OAQ6B;AAAA,MAP7BC,QAO6B,QAP7BA,QAO6B;AAAA,MAN7BC,MAM6B,QAN7BA,MAM6B;AAAA,MAL7BC,KAK6B,QAL7BA,KAK6B;AAAA,MAJ7BC,MAI6B,QAJ7BA,MAI6B;AAAA,MAH7BC,WAG6B,QAH7BA,WAG6B;AAAA,MAF7BC,QAE6B,QAF7BA,QAE6B;AAAA,MAD1BC,SAC0B;AAC7B,MAAMC,KAAK,GAAG,OAAOT,QAAP,KAAoB,QAApB,GAA+BA,QAA/B,GAA0CU,SAAxD;;AACA,uBAAkB,oCAAlB;AAAA,MAAQC,KAAR,kBAAQA,KAAR;;AAEA,MAAI,CAAC,CAACN,MAAF,IAAYO,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzC,EAAwD;AACtDhB,IAAAA,IAAI,CAAC,mEAAD,CAAJ;AACD;;AAED,SACE,qCAAC,aAAD,6BACMU,SADN;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,MAAM,EAAC,SAHT;AAIE,IAAA,IAAI,EAAC,QAJP;AAKE,IAAA,KAAK,EAAEC,KALT;AAME,qBAAeF,QANjB;AAOE,qBAAeL,QAPjB;AAQE,IAAA,SAAS,EAAE,4BACT,oBADS,sCAEoBS,KAFpB,GAGT;AACE,mCAA6BV,OAAO,IAAI,CAACM,QAD3C;AAEE,sCAAgCL,QAFlC;AAGE,sCAAgCK;AAHlC,KAHS;AARb,MAkBG,yBAAaJ,MAAb,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA6CA,MAA7C,CAnBJ,EAqBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA+CH,QAA/C,CADF,EAEG,yBAAaM,WAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KACGA,WADH,CAHJ,CArBF,EA6BE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,yBAAaF,KAAb,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA8CA,KAA9C,CAFJ,EAIGF,QAAQ,IACP,qCAAC,iBAAD;AAAY,IAAA,SAAS,EAAC;AAAtB,IALJ,CA7BF,CADF;AAwCD,CA1DD,C,CA4DA;;;eACeH,kB","sourcesContent":["import * as React from \"react\";\nimport { Icon16Done } from \"@vkontakte/icons\";\nimport { classNames } from \"../../lib/classNames\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Text from \"../Typography/Text/Text\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { HasRootRef } from \"../../types\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./CustomSelectOption.css\";\n\nexport interface CustomSelectOptionProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n option?: any;\n selected?: boolean;\n focused?: boolean;\n hovered?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n description?: React.ReactNode;\n disabled?: boolean;\n}\n\nconst warn = warnOnce(\"CustomSelectOption\");\n\nconst CustomSelectOption: React.FC<CustomSelectOptionProps> = ({\n children,\n hovered,\n selected,\n before,\n after,\n option,\n description,\n disabled,\n ...restProps\n}: CustomSelectOptionProps) => {\n const title = typeof children === \"string\" ? children : undefined;\n const { sizeY } = useAdaptivity();\n\n if (!!option && process.env.NODE_ENV === \"development\") {\n warn(\"Свойство option было добавлено по ошибке и будет удалено в 5.0.0.\");\n }\n\n return (\n <Text\n {...restProps}\n Component=\"div\"\n weight=\"regular\"\n role=\"option\"\n title={title}\n aria-disabled={disabled}\n aria-selected={selected}\n vkuiClass={classNames(\n \"CustomSelectOption\",\n `CustomSelectOption--sizeY-${sizeY}`,\n {\n \"CustomSelectOption--hover\": hovered && !disabled,\n \"CustomSelectOption--selected\": selected,\n \"CustomSelectOption--disabled\": disabled,\n }\n )}\n >\n {hasReactNode(before) && (\n <div vkuiClass=\"CustomSelectOption__before\">{before}</div>\n )}\n <div vkuiClass=\"CustomSelectOption__main\">\n <div vkuiClass=\"CustomSelectOption__children\">{children}</div>\n {hasReactNode(description) && (\n <Caption vkuiClass=\"CustomSelectOption__description\">\n {description}\n </Caption>\n )}\n </div>\n <div vkuiClass=\"CustomSelectOption__after\">\n {hasReactNode(after) && (\n <div vkuiClass=\"CustomSelectOption__afterIn\">{after}</div>\n )}\n {selected && (\n <Icon16Done vkuiClass=\"CustomSelectOption__selectedIcon\" />\n )}\n </div>\n </Text>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default CustomSelectOption;\n"],"file":"CustomSelectOption.js"}
@@ -13,18 +13,16 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
13
13
 
14
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
15
 
16
- var _Caption = _interopRequireDefault(require("../Typography/Caption/Caption"));
16
+ var _Caption = require("../Typography/Caption/Caption");
17
17
 
18
18
  var _excluded = ["children"];
19
19
 
20
20
  var Footer = function Footer(_ref) {
21
21
  var children = _ref.children,
22
22
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
23
- return (0, _jsxRuntime.createScopedElement)(_Caption.default, (0, _extends2.default)({
23
+ return (0, _jsxRuntime.createScopedElement)(_Caption.Caption, (0, _extends2.default)({
24
24
  Component: "footer"
25
25
  }, restProps, {
26
- level: "1",
27
- weight: "regular",
28
26
  vkuiClass: "Footer"
29
27
  }), children);
30
28
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Footer/Footer.tsx"],"names":["Footer","children","restProps"],"mappings":";;;;;;;;;;;;;;;AAEA;;;;AAKO,IAAMA,MAA6B,GAAG,SAAhCA,MAAgC,OAG1B;AAAA,MAFjBC,QAEiB,QAFjBA,QAEiB;AAAA,MADdC,SACc;AACjB,SACE,qCAAC,gBAAD;AACE,IAAA,SAAS,EAAC;AADZ,KAEMA,SAFN;AAGE,IAAA,KAAK,EAAC,GAHR;AAIE,IAAA,MAAM,EAAC,SAJT;AAKE,IAAA,SAAS,EAAC;AALZ,MAOGD,QAPH,CADF;AAWD,CAfM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../types\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport \"./Footer.css\";\n\nexport type FooterProps = React.AllHTMLAttributes<HTMLElement> & HasComponent;\n\nexport const Footer: React.FC<FooterProps> = ({\n children,\n ...restProps\n}: FooterProps) => {\n return (\n <Caption\n Component=\"footer\"\n {...restProps}\n level=\"1\"\n weight=\"regular\"\n vkuiClass=\"Footer\"\n >\n {children}\n </Caption>\n );\n};\n"],"file":"Footer.js"}
1
+ {"version":3,"sources":["../../../../src/components/Footer/Footer.tsx"],"names":["Footer","children","restProps"],"mappings":";;;;;;;;;;;;;;;AAEA;;;;AAKO,IAAMA,MAA6B,GAAG,SAAhCA,MAAgC,OAG1B;AAAA,MAFjBC,QAEiB,QAFjBA,QAEiB;AAAA,MADdC,SACc;AACjB,SACE,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAgCA,SAAhC;AAA2C,IAAA,SAAS,EAAC;AAArD,MACGD,QADH,CADF;AAKD,CATM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../types\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport \"./Footer.css\";\n\nexport type FooterProps = React.AllHTMLAttributes<HTMLElement> & HasComponent;\n\nexport const Footer: React.FC<FooterProps> = ({\n children,\n ...restProps\n}: FooterProps) => {\n return (\n <Caption Component=\"footer\" {...restProps} vkuiClass=\"Footer\">\n {children}\n </Caption>\n );\n};\n"],"file":"Footer.js"}
@@ -29,7 +29,7 @@ var _utils = require("../../lib/utils");
29
29
 
30
30
  var _Subhead = _interopRequireDefault(require("../Typography/Subhead/Subhead"));
31
31
 
32
- var _Caption = _interopRequireDefault(require("../Typography/Caption/Caption"));
32
+ var _Caption = require("../Typography/Caption/Caption");
33
33
 
34
34
  var _useAdaptivity2 = require("../../hooks/useAdaptivity");
35
35
 
@@ -61,9 +61,7 @@ var FormItem = function FormItem(_ref) {
61
61
 
62
62
  var wrappedChildren = (0, _jsxRuntime.createScopedElement)(React.Fragment, null, (0, _utils.hasReactNode)(top) && (0, _jsxRuntime.createScopedElement)(_Subhead.default, {
63
63
  vkuiClass: "FormItem__top"
64
- }, top), children, (0, _utils.hasReactNode)(bottom) && (0, _jsxRuntime.createScopedElement)(_Caption.default, {
65
- level: "1",
66
- weight: "regular",
64
+ }, top), children, (0, _utils.hasReactNode)(bottom) && (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
67
65
  vkuiClass: "FormItem__bottom"
68
66
  }, bottom));
69
67
  return (0, _jsxRuntime.createScopedElement)(Component, (0, _extends2.default)({}, restProps, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FormItem/FormItem.tsx"],"names":["FormItem","children","top","bottom","status","Component","removable","onRemove","noop","removePlaceholder","getRootRef","restProps","platform","rootEl","sizeY","wrappedChildren","e","current"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAiBO,IAAMA,QAAiC,GAAG,SAApCA,QAAoC,OAW5B;AAAA,MAVnBC,QAUmB,QAVnBA,QAUmB;AAAA,MATnBC,GASmB,QATnBA,GASmB;AAAA,MARnBC,MAQmB,QARnBA,MAQmB;AAAA,yBAPnBC,MAOmB;AAAA,MAPnBA,MAOmB,4BAPV,SAOU;AAAA,4BANnBC,SAMmB;AAAA,MANnBA,SAMmB,+BANP,KAMO;AAAA,MALnBC,SAKmB,QALnBA,SAKmB;AAAA,2BAJnBC,QAImB;AAAA,MAJnBA,SAImB,8BAJRC,WAIQ;AAAA,mCAHnBC,iBAGmB;AAAA,MAHnBA,iBAGmB,sCAHC,SAGD;AAAA,MAFnBC,UAEmB,QAFnBA,UAEmB;AAAA,MADhBC,SACgB;;AACnB,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MAAMC,MAAM,GAAG,gCAAaH,UAAb,CAAf;;AACA,uBAAkB,oCAAlB;AAAA,MAAQI,KAAR,kBAAQA,KAAR;;AAEA,MAAMC,eAAe,GACnB,qCAAC,KAAD,CAAO,QAAP,QACG,yBAAab,GAAb,KAAqB,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAoCA,GAApC,CADxB,EAEGD,QAFH,EAGG,yBAAaE,MAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,KAAK,EAAC,GAAf;AAAmB,IAAA,MAAM,EAAC,SAA1B;AAAoC,IAAA,SAAS,EAAC;AAA9C,KACGA,MADH,CAJJ,CADF;AAYA,SACE,qCAAC,SAAD,6BACMQ,SADN;AAEE,IAAA,GAAG,EAAEE,MAFP;AAGE,IAAA,SAAS,EAAE,4BACT,gCAAa,UAAb,EAAyBD,QAAzB,CADS,sBAEIR,MAFJ,6BAGUU,KAHV,GAIT;AACE,2BAAqB,yBAAaZ,GAAb,CADvB;AAEE,6BAAuBI;AAFzB,KAJS;AAHb,MAaGA,SAAS,GACR,qCAAC,oBAAD;AACE,IAAA,KAAK,EAAC,OADR;AAEE,IAAA,QAAQ,EAAE,kBAACU,CAAD,EAAO;AACf,UAAIH,MAAJ,aAAIA,MAAJ,eAAIA,MAAM,CAAEI,OAAZ,EAAqB;AACnBV,QAAAA,SAAQ,CAACS,CAAD,EAAIH,MAAM,CAACI,OAAX,CAAR;AACD;AACF,KANH;AAOE,IAAA,iBAAiB,EAAER;AAPrB,KASE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCM,eAAtC,CATF,CADQ,GAaRA,eA1BJ,CADF;AA+BD,CA3DM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { Removable, RemovableProps } from \"../Removable/Removable\";\nimport \"./FormItem.css\";\n\nexport interface FormItemProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent,\n RemovableProps {\n top?: React.ReactNode;\n bottom?: React.ReactNode;\n status?: \"default\" | \"error\" | \"valid\";\n /**\n * Дает возможность удалить `FormItem`. Рекомендуется использовать только для `Input` или `Select`.\n */\n removable?: boolean;\n}\n\nexport const FormItem: React.FC<FormItemProps> = ({\n children,\n top,\n bottom,\n status = \"default\",\n Component = \"div\",\n removable,\n onRemove = noop,\n removePlaceholder = \"Удалить\",\n getRootRef,\n ...restProps\n}: FormItemProps) => {\n const platform = usePlatform();\n const rootEl = useExternRef(getRootRef);\n const { sizeY } = useAdaptivity();\n\n const wrappedChildren = (\n <React.Fragment>\n {hasReactNode(top) && <Subhead vkuiClass=\"FormItem__top\">{top}</Subhead>}\n {children}\n {hasReactNode(bottom) && (\n <Caption level=\"1\" weight=\"regular\" vkuiClass=\"FormItem__bottom\">\n {bottom}\n </Caption>\n )}\n </React.Fragment>\n );\n\n return (\n <Component\n {...restProps}\n ref={rootEl}\n vkuiClass={classNames(\n getClassName(\"FormItem\", platform),\n `FormItem--${status}`,\n `FormItem--sizeY-${sizeY}`,\n {\n \"FormItem--withTop\": hasReactNode(top),\n \"FormItem--removable\": removable,\n }\n )}\n >\n {removable ? (\n <Removable\n align=\"start\"\n onRemove={(e) => {\n if (rootEl?.current) {\n onRemove(e, rootEl.current);\n }\n }}\n removePlaceholder={removePlaceholder}\n >\n <div vkuiClass=\"FormItem__removable\">{wrappedChildren}</div>\n </Removable>\n ) : (\n wrappedChildren\n )}\n </Component>\n );\n};\n"],"file":"FormItem.js"}
1
+ {"version":3,"sources":["../../../../src/components/FormItem/FormItem.tsx"],"names":["FormItem","children","top","bottom","status","Component","removable","onRemove","noop","removePlaceholder","getRootRef","restProps","platform","rootEl","sizeY","wrappedChildren","e","current"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAiBO,IAAMA,QAAiC,GAAG,SAApCA,QAAoC,OAW5B;AAAA,MAVnBC,QAUmB,QAVnBA,QAUmB;AAAA,MATnBC,GASmB,QATnBA,GASmB;AAAA,MARnBC,MAQmB,QARnBA,MAQmB;AAAA,yBAPnBC,MAOmB;AAAA,MAPnBA,MAOmB,4BAPV,SAOU;AAAA,4BANnBC,SAMmB;AAAA,MANnBA,SAMmB,+BANP,KAMO;AAAA,MALnBC,SAKmB,QALnBA,SAKmB;AAAA,2BAJnBC,QAImB;AAAA,MAJnBA,SAImB,8BAJRC,WAIQ;AAAA,mCAHnBC,iBAGmB;AAAA,MAHnBA,iBAGmB,sCAHC,SAGD;AAAA,MAFnBC,UAEmB,QAFnBA,UAEmB;AAAA,MADhBC,SACgB;;AACnB,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MAAMC,MAAM,GAAG,gCAAaH,UAAb,CAAf;;AACA,uBAAkB,oCAAlB;AAAA,MAAQI,KAAR,kBAAQA,KAAR;;AAEA,MAAMC,eAAe,GACnB,qCAAC,KAAD,CAAO,QAAP,QACG,yBAAab,GAAb,KAAqB,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAoCA,GAApC,CADxB,EAEGD,QAFH,EAGG,yBAAaE,MAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAuCA,MAAvC,CAJJ,CADF;AAUA,SACE,qCAAC,SAAD,6BACMQ,SADN;AAEE,IAAA,GAAG,EAAEE,MAFP;AAGE,IAAA,SAAS,EAAE,4BACT,gCAAa,UAAb,EAAyBD,QAAzB,CADS,sBAEIR,MAFJ,6BAGUU,KAHV,GAIT;AACE,2BAAqB,yBAAaZ,GAAb,CADvB;AAEE,6BAAuBI;AAFzB,KAJS;AAHb,MAaGA,SAAS,GACR,qCAAC,oBAAD;AACE,IAAA,KAAK,EAAC,OADR;AAEE,IAAA,QAAQ,EAAE,kBAACU,CAAD,EAAO;AACf,UAAIH,MAAJ,aAAIA,MAAJ,eAAIA,MAAM,CAAEI,OAAZ,EAAqB;AACnBV,QAAAA,SAAQ,CAACS,CAAD,EAAIH,MAAM,CAACI,OAAX,CAAR;AACD;AACF,KANH;AAOE,IAAA,iBAAiB,EAAER;AAPrB,KASE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCM,eAAtC,CATF,CADQ,GAaRA,eA1BJ,CADF;AA+BD,CAzDM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { Removable, RemovableProps } from \"../Removable/Removable\";\nimport \"./FormItem.css\";\n\nexport interface FormItemProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent,\n RemovableProps {\n top?: React.ReactNode;\n bottom?: React.ReactNode;\n status?: \"default\" | \"error\" | \"valid\";\n /**\n * Дает возможность удалить `FormItem`. Рекомендуется использовать только для `Input` или `Select`.\n */\n removable?: boolean;\n}\n\nexport const FormItem: React.FC<FormItemProps> = ({\n children,\n top,\n bottom,\n status = \"default\",\n Component = \"div\",\n removable,\n onRemove = noop,\n removePlaceholder = \"Удалить\",\n getRootRef,\n ...restProps\n}: FormItemProps) => {\n const platform = usePlatform();\n const rootEl = useExternRef(getRootRef);\n const { sizeY } = useAdaptivity();\n\n const wrappedChildren = (\n <React.Fragment>\n {hasReactNode(top) && <Subhead vkuiClass=\"FormItem__top\">{top}</Subhead>}\n {children}\n {hasReactNode(bottom) && (\n <Caption vkuiClass=\"FormItem__bottom\">{bottom}</Caption>\n )}\n </React.Fragment>\n );\n\n return (\n <Component\n {...restProps}\n ref={rootEl}\n vkuiClass={classNames(\n getClassName(\"FormItem\", platform),\n `FormItem--${status}`,\n `FormItem--sizeY-${sizeY}`,\n {\n \"FormItem--withTop\": hasReactNode(top),\n \"FormItem--removable\": removable,\n }\n )}\n >\n {removable ? (\n <Removable\n align=\"start\"\n onRemove={(e) => {\n if (rootEl?.current) {\n onRemove(e, rootEl.current);\n }\n }}\n removePlaceholder={removePlaceholder}\n >\n <div vkuiClass=\"FormItem__removable\">{wrappedChildren}</div>\n </Removable>\n ) : (\n wrappedChildren\n )}\n </Component>\n );\n};\n"],"file":"FormItem.js"}
@@ -21,7 +21,7 @@ var _usePlatform = require("../../hooks/usePlatform");
21
21
 
22
22
  var _Headline = _interopRequireDefault(require("../Typography/Headline/Headline"));
23
23
 
24
- var _Caption = _interopRequireDefault(require("../Typography/Caption/Caption"));
24
+ var _Caption = require("../Typography/Caption/Caption");
25
25
 
26
26
  var _utils = require("../../lib/utils");
27
27
 
@@ -39,14 +39,9 @@ var FormStatus = function FormStatus(_ref) {
39
39
  }), (0, _utils.hasReactNode)(header) && (0, _jsxRuntime.createScopedElement)(_Headline.default, {
40
40
  weight: "medium",
41
41
  vkuiClass: "FormStatus__header"
42
- }, header), dangerouslySetInnerHTML && (0, _jsxRuntime.createScopedElement)(_Caption.default, {
43
- level: "1",
44
- weight: "regular",
42
+ }, header), dangerouslySetInnerHTML && (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
45
43
  dangerouslySetInnerHTML: dangerouslySetInnerHTML
46
- }), (0, _utils.hasReactNode)(children) && !dangerouslySetInnerHTML && (0, _jsxRuntime.createScopedElement)(_Caption.default, {
47
- level: "1",
48
- weight: "regular"
49
- }, children));
44
+ }), (0, _utils.hasReactNode)(children) && !dangerouslySetInnerHTML && (0, _jsxRuntime.createScopedElement)(_Caption.Caption, null, children));
50
45
  };
51
46
 
52
47
  exports.FormStatus = FormStatus;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FormStatus/FormStatus.tsx"],"names":["FormStatus","mode","header","children","dangerouslySetInnerHTML","restProps","platform"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAQO,IAAMA,UAAoD,GAAG,SAAvDA,UAAuD,OAM7C;AAAA,MALrBC,IAKqB,QALrBA,IAKqB;AAAA,MAJrBC,MAIqB,QAJrBA,MAIqB;AAAA,MAHrBC,QAGqB,QAHrBA,QAGqB;AAAA,MAFrBC,uBAEqB,QAFrBA,uBAEqB;AAAA,MADlBC,SACkB;AACrB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,uEACMD,SADN;AAEE,IAAA,SAAS,EAAE,4BACT,gCAAa,YAAb,EAA2BC,QAA3B,CADS,wBAEML,IAFN;AAFb,MAOG,yBAAaC,MAAb,KACC,qCAAC,iBAAD;AAAU,IAAA,MAAM,EAAC,QAAjB;AAA0B,IAAA,SAAS,EAAC;AAApC,KACGA,MADH,CARJ,EAYGE,uBAAuB,IACtB,qCAAC,gBAAD;AACE,IAAA,KAAK,EAAC,GADR;AAEE,IAAA,MAAM,EAAC,SAFT;AAGE,IAAA,uBAAuB,EAAEA;AAH3B,IAbJ,EAmBG,yBAAaD,QAAb,KAA0B,CAACC,uBAA3B,IACC,qCAAC,gBAAD;AAAS,IAAA,KAAK,EAAC,GAAf;AAAmB,IAAA,MAAM,EAAC;AAA1B,KACGD,QADH,CApBJ,CADF;AA2BD,CApCM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport \"./FormStatus.css\";\n\nexport interface FormStatusProps extends React.HTMLAttributes<HTMLDivElement> {\n mode?: \"default\" | \"error\";\n header?: React.ReactNode;\n}\n\nexport const FormStatus: React.FunctionComponent<FormStatusProps> = ({\n mode,\n header,\n children,\n dangerouslySetInnerHTML,\n ...restProps\n}: FormStatusProps) => {\n const platform = usePlatform();\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"FormStatus\", platform),\n `FormStatus--${mode}`\n )}\n >\n {hasReactNode(header) && (\n <Headline weight=\"medium\" vkuiClass=\"FormStatus__header\">\n {header}\n </Headline>\n )}\n {dangerouslySetInnerHTML && (\n <Caption\n level=\"1\"\n weight=\"regular\"\n dangerouslySetInnerHTML={dangerouslySetInnerHTML}\n />\n )}\n {hasReactNode(children) && !dangerouslySetInnerHTML && (\n <Caption level=\"1\" weight=\"regular\">\n {children}\n </Caption>\n )}\n </div>\n );\n};\n"],"file":"FormStatus.js"}
1
+ {"version":3,"sources":["../../../../src/components/FormStatus/FormStatus.tsx"],"names":["FormStatus","mode","header","children","dangerouslySetInnerHTML","restProps","platform"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAQO,IAAMA,UAAoD,GAAG,SAAvDA,UAAuD,OAM7C;AAAA,MALrBC,IAKqB,QALrBA,IAKqB;AAAA,MAJrBC,MAIqB,QAJrBA,MAIqB;AAAA,MAHrBC,QAGqB,QAHrBA,QAGqB;AAAA,MAFrBC,uBAEqB,QAFrBA,uBAEqB;AAAA,MADlBC,SACkB;AACrB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,uEACMD,SADN;AAEE,IAAA,SAAS,EAAE,4BACT,gCAAa,YAAb,EAA2BC,QAA3B,CADS,wBAEML,IAFN;AAFb,MAOG,yBAAaC,MAAb,KACC,qCAAC,iBAAD;AAAU,IAAA,MAAM,EAAC,QAAjB;AAA0B,IAAA,SAAS,EAAC;AAApC,KACGA,MADH,CARJ,EAYGE,uBAAuB,IACtB,qCAAC,gBAAD;AAAS,IAAA,uBAAuB,EAAEA;AAAlC,IAbJ,EAeG,yBAAaD,QAAb,KAA0B,CAACC,uBAA3B,IACC,qCAAC,gBAAD,QAAUD,QAAV,CAhBJ,CADF;AAqBD,CA9BM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport \"./FormStatus.css\";\n\nexport interface FormStatusProps extends React.HTMLAttributes<HTMLDivElement> {\n mode?: \"default\" | \"error\";\n header?: React.ReactNode;\n}\n\nexport const FormStatus: React.FunctionComponent<FormStatusProps> = ({\n mode,\n header,\n children,\n dangerouslySetInnerHTML,\n ...restProps\n}: FormStatusProps) => {\n const platform = usePlatform();\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"FormStatus\", platform),\n `FormStatus--${mode}`\n )}\n >\n {hasReactNode(header) && (\n <Headline weight=\"medium\" vkuiClass=\"FormStatus__header\">\n {header}\n </Headline>\n )}\n {dangerouslySetInnerHTML && (\n <Caption dangerouslySetInnerHTML={dangerouslySetInnerHTML} />\n )}\n {hasReactNode(children) && !dangerouslySetInnerHTML && (\n <Caption>{children}</Caption>\n )}\n </div>\n );\n};\n"],"file":"FormStatus.js"}
@@ -27,7 +27,7 @@ var _Separator = _interopRequireDefault(require("../Separator/Separator"));
27
27
 
28
28
  var _utils = require("../../lib/utils");
29
29
 
30
- var _Caption = _interopRequireDefault(require("../Typography/Caption/Caption"));
30
+ var _Caption = require("../Typography/Caption/Caption");
31
31
 
32
32
  var _withAdaptivity = require("../../hoc/withAdaptivity");
33
33
 
@@ -60,10 +60,8 @@ var Group = function Group(props) {
60
60
  vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("Group", platform), "Group--sizeX-".concat(sizeX), "Group--".concat(computedMode))
61
61
  }), (0, _jsxRuntime.createScopedElement)("div", {
62
62
  vkuiClass: "Group__inner"
63
- }, header, children, (0, _utils.hasReactNode)(description) && (0, _jsxRuntime.createScopedElement)(_Caption.default, {
64
- vkuiClass: "Group__description",
65
- weight: "regular",
66
- level: "1"
63
+ }, header, children, (0, _utils.hasReactNode)(description) && (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
64
+ vkuiClass: "Group__description"
67
65
  }, description)), separator !== "hide" && (0, _jsxRuntime.createScopedElement)(_Separator.default, {
68
66
  vkuiClass: (0, _classNames.classNames)("Group__separator", {
69
67
  "Group__separator--force": separator === "show"