@vkontakte/vkui 4.33.4 → 4.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1594) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +544 -475
  4. package/.cache/ts/src/components/ActionSheet/ActionSheet.d.ts +1 -1
  5. package/.cache/ts/src/components/ActionSheet/ActionSheetDropdown.d.ts +2 -2
  6. package/.cache/ts/src/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +2 -2
  7. package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  8. package/.cache/ts/src/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -1
  9. package/.cache/ts/src/components/Alert/Alert.d.ts +1 -1
  10. package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +7 -1
  11. package/.cache/ts/src/components/AppRoot/AppRootContext.d.ts +1 -0
  12. package/.cache/ts/src/components/AppRoot/AppRootPortal.d.ts +4 -2
  13. package/.cache/ts/src/components/AppRoot/ScrollContext.d.ts +7 -6
  14. package/.cache/ts/src/components/AppearanceProvider/AppearanceProvider.d.ts +2 -1
  15. package/.cache/ts/src/components/Avatar/Avatar.d.ts +1 -1
  16. package/.cache/ts/src/components/Badge/Badge.d.ts +1 -1
  17. package/.cache/ts/src/components/BaseGallery/helpers.d.ts +2 -2
  18. package/.cache/ts/src/components/BaseGallery/types.d.ts +1 -1
  19. package/.cache/ts/src/components/Button/Button.d.ts +1 -1
  20. package/.cache/ts/src/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  21. package/.cache/ts/src/components/Calendar/Calendar.d.ts +1 -1
  22. package/.cache/ts/src/components/CalendarDay/CalendarDay.d.ts +1 -1
  23. package/.cache/ts/src/components/CalendarDays/CalendarDays.d.ts +1 -1
  24. package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +1 -1
  25. package/.cache/ts/src/components/CalendarRange/CalendarRange.d.ts +1 -1
  26. package/.cache/ts/src/components/CalendarTime/CalendarTime.d.ts +2 -2
  27. package/.cache/ts/src/components/Card/Card.d.ts +1 -1
  28. package/.cache/ts/src/components/CardGrid/CardGrid.d.ts +8 -2
  29. package/.cache/ts/src/components/CardScroll/CardScroll.d.ts +1 -1
  30. package/.cache/ts/src/components/Cell/Cell.d.ts +2 -2
  31. package/.cache/ts/src/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
  32. package/.cache/ts/src/components/Cell/CellDragger/CellDragger.d.ts +1 -1
  33. package/.cache/ts/src/components/CellButton/CellButton.d.ts +2 -2
  34. package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +2 -2
  35. package/.cache/ts/src/components/Chip/Chip.d.ts +1 -1
  36. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  37. package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +1 -1
  38. package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +2 -1
  39. package/.cache/ts/src/components/CustomScrollView/CustomScrollView.d.ts +4 -3
  40. package/.cache/ts/src/components/CustomScrollView/useTrackerVisibility.d.ts +43 -0
  41. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +4 -3
  42. package/.cache/ts/src/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +3 -2
  43. package/.cache/ts/src/components/CustomSelectOption/CustomSelectOption.d.ts +1 -1
  44. package/.cache/ts/src/components/DateInput/DateInput.d.ts +1 -1
  45. package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +1 -1
  46. package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  47. package/.cache/ts/src/components/Div/Div.d.ts +1 -1
  48. package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +2 -2
  49. package/.cache/ts/src/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  50. package/.cache/ts/src/components/Epic/Epic.d.ts +1 -1
  51. package/.cache/ts/src/components/Epic/ScrollSaver.d.ts +2 -1
  52. package/.cache/ts/src/components/File/File.d.ts +1 -1
  53. package/.cache/ts/src/components/FixedLayout/FixedLayout.d.ts +1 -1
  54. package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +1 -1
  55. package/.cache/ts/src/components/Footer/Footer.d.ts +1 -1
  56. package/.cache/ts/src/components/FormField/FormField.d.ts +3 -3
  57. package/.cache/ts/src/components/FormItem/FormItem.d.ts +1 -1
  58. package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +1 -1
  59. package/.cache/ts/src/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -1
  60. package/.cache/ts/src/components/FormStatus/FormStatus.d.ts +1 -1
  61. package/.cache/ts/src/components/Gradient/Gradient.d.ts +7 -1
  62. package/.cache/ts/src/components/Group/Group.d.ts +2 -1
  63. package/.cache/ts/src/components/Header/Header.d.ts +1 -1
  64. package/.cache/ts/src/components/HorizontalCell/HorizontalCell.d.ts +1 -1
  65. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +2 -1
  66. package/.cache/ts/src/components/HorizontalScroll/HorizontalScrollArrow.d.ts +4 -4
  67. package/.cache/ts/src/components/HoverPopper/HoverPopper.d.ts +1 -1
  68. package/.cache/ts/src/components/IconButton/IconButton.d.ts +1 -1
  69. package/.cache/ts/src/components/InfoRow/InfoRow.d.ts +1 -1
  70. package/.cache/ts/src/components/Input/Input.d.ts +1 -1
  71. package/.cache/ts/src/components/InputLike/InputLike.d.ts +4 -1
  72. package/.cache/ts/src/components/InputLike/InputLikeDivider.d.ts +1 -1
  73. package/.cache/ts/src/components/Link/Link.d.ts +8 -3
  74. package/.cache/ts/src/components/List/List.d.ts +1 -1
  75. package/.cache/ts/src/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
  76. package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +1 -1
  77. package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  78. package/.cache/ts/src/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  79. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +1 -1
  80. package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +2 -1
  81. package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +2 -1
  82. package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +2 -1
  83. package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +2 -1
  84. package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +1 -1
  85. package/.cache/ts/src/components/NavTransitionContext/NavTransitionContext.d.ts +1 -1
  86. package/.cache/ts/src/components/Pagination/Pagination.d.ts +1 -1
  87. package/.cache/ts/src/components/Panel/Panel.d.ts +1 -1
  88. package/.cache/ts/src/components/PanelHeader/PanelHeader.d.ts +1 -1
  89. package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
  90. package/.cache/ts/src/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
  91. package/.cache/ts/src/components/PanelHeaderClose/PanelHeaderClose.d.ts +2 -2
  92. package/.cache/ts/src/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -1
  93. package/.cache/ts/src/components/PanelHeaderContext/PanelHeaderContext.d.ts +1 -1
  94. package/.cache/ts/src/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +2 -2
  95. package/.cache/ts/src/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +2 -2
  96. package/.cache/ts/src/components/Placeholder/Placeholder.d.ts +1 -1
  97. package/.cache/ts/src/components/PopoutRoot/PopoutRoot.d.ts +5 -2
  98. package/.cache/ts/src/components/PopoutWrapper/PopoutWrapper.d.ts +1 -1
  99. package/.cache/ts/src/components/Popper/Popper.d.ts +1 -1
  100. package/.cache/ts/src/components/Progress/Progress.d.ts +1 -1
  101. package/.cache/ts/src/components/PromoBanner/PromoBanner.d.ts +1 -1
  102. package/.cache/ts/src/components/Radio/Radio.d.ts +1 -1
  103. package/.cache/ts/src/components/RadioGroup/RadioGroup.d.ts +1 -1
  104. package/.cache/ts/src/components/RangeSlider/RangeSlider.d.ts +2 -2
  105. package/.cache/ts/src/components/RangeSlider/UniversalSlider.d.ts +1 -1
  106. package/.cache/ts/src/components/Removable/Removable.d.ts +1 -1
  107. package/.cache/ts/src/components/RichCell/RichCell.d.ts +18 -9
  108. package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +2 -2
  109. package/.cache/ts/src/components/Root/Root.d.ts +1 -1
  110. package/.cache/ts/src/components/ScreenSpinner/Icon48CancelCircle.d.ts +3 -0
  111. package/.cache/ts/src/components/ScreenSpinner/Icon48DoneOutline.d.ts +3 -0
  112. package/.cache/ts/src/components/ScreenSpinner/ScreenSpinner.d.ts +5 -3
  113. package/.cache/ts/src/components/Search/Search.d.ts +1 -1
  114. package/.cache/ts/src/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  115. package/.cache/ts/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +2 -2
  116. package/.cache/ts/src/components/Select/Select.d.ts +2 -2
  117. package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  118. package/.cache/ts/src/components/Separator/Separator.d.ts +2 -2
  119. package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +1 -1
  120. package/.cache/ts/src/components/SimpleCheckbox/SimpleCheckbox.d.ts +2 -2
  121. package/.cache/ts/src/components/SliderSwitch/SliderSwitch.d.ts +1 -1
  122. package/.cache/ts/src/components/SliderSwitch/SliderSwitchButton.d.ts +1 -1
  123. package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +2 -2
  124. package/.cache/ts/src/components/Spacing/Spacing.d.ts +1 -1
  125. package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +1 -1
  126. package/.cache/ts/src/components/SplitLayout/SplitLayout.d.ts +1 -1
  127. package/.cache/ts/src/components/SubnavigationBar/SubnavigationBar.d.ts +1 -1
  128. package/.cache/ts/src/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
  129. package/.cache/ts/src/components/Switch/Switch.d.ts +2 -2
  130. package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +1 -1
  131. package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +1 -1
  132. package/.cache/ts/src/components/Tabs/Tabs.d.ts +1 -1
  133. package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +1 -1
  134. package/.cache/ts/src/components/Tappable/Tappable.d.ts +1 -1
  135. package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +1 -1
  136. package/.cache/ts/src/components/Textarea/Textarea.d.ts +1 -1
  137. package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +3 -2
  138. package/.cache/ts/src/components/Touch/Touch.d.ts +1 -1
  139. package/.cache/ts/src/components/Typography/Caption/Caption.d.ts +1 -1
  140. package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +1 -1
  141. package/.cache/ts/src/components/Typography/Paragraph/Paragraph.d.ts +1 -1
  142. package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +1 -1
  143. package/.cache/ts/src/components/Typography/Text/Text.d.ts +1 -1
  144. package/.cache/ts/src/components/Typography/Title/Title.d.ts +1 -1
  145. package/.cache/ts/src/components/View/View.d.ts +1 -1
  146. package/.cache/ts/src/components/View/ViewInfinite.d.ts +1 -1
  147. package/.cache/ts/src/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +1 -1
  148. package/.cache/ts/src/components/WriteBar/WriteBar.d.ts +1 -1
  149. package/.cache/ts/src/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
  150. package/.cache/ts/src/hoc/withAdaptivity.d.ts +1 -1
  151. package/.cache/ts/src/hoc/withContext.d.ts +1 -1
  152. package/.cache/ts/src/hoc/withInsets.d.ts +1 -1
  153. package/.cache/ts/src/hoc/withPlatform.d.ts +1 -1
  154. package/.cache/ts/src/hooks/useEnsuredControl.d.ts +2 -1
  155. package/.cache/ts/src/index.d.ts +1 -1
  156. package/.cache/ts/src/lib/SSR.d.ts +2 -1
  157. package/.cache/ts/src/testing/utils.d.ts +3 -2
  158. package/.cache/ts/src/tokenized/index.d.ts +28 -0
  159. package/.cache/ts/src/types.d.ts +3 -0
  160. package/.eslintignore +1 -0
  161. package/.eslintrc.json +4 -1
  162. package/.prettierignore +1 -1
  163. package/README.md +3 -4
  164. package/dist/cjs/components/ActionSheet/ActionSheet.js +4 -4
  165. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  166. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  167. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  168. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  169. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  170. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  171. package/dist/cjs/components/AppRoot/AppRoot.js +27 -8
  172. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  173. package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
  174. package/dist/cjs/components/AppRoot/AppRootPortal.js +3 -2
  175. package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
  176. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  177. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  178. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  179. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  180. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  181. package/dist/cjs/components/BaseGallery/BaseGallery.js +9 -9
  182. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  183. package/dist/cjs/components/BaseGallery/helpers.js +8 -8
  184. package/dist/cjs/components/BaseGallery/helpers.js.map +1 -1
  185. package/dist/cjs/components/Button/Button.js +27 -27
  186. package/dist/cjs/components/Button/Button.js.map +1 -1
  187. package/dist/cjs/components/ButtonGroup/ButtonGroup.js +4 -2
  188. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  189. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  190. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  191. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  192. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  193. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  194. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  195. package/dist/cjs/components/Card/Card.js.map +1 -1
  196. package/dist/cjs/components/CardGrid/CardGrid.js +15 -19
  197. package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
  198. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  199. package/dist/cjs/components/Cell/Cell.js +3 -11
  200. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  201. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  202. package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
  203. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  204. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  205. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  206. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  207. package/dist/cjs/components/ClickPopper/ClickPopper.js.map +1 -1
  208. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +24 -22
  209. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  210. package/dist/cjs/components/CustomScrollView/CustomScrollView.js +36 -5
  211. package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
  212. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js +90 -0
  213. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js.map +1 -0
  214. package/dist/cjs/components/CustomSelect/CustomSelect.js +7 -3
  215. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  216. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +6 -2
  217. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  218. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  219. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  220. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  221. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  222. package/dist/cjs/components/Div/Div.js.map +1 -1
  223. package/dist/cjs/components/Dropdown/Dropdown.js +1 -6
  224. package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -1
  225. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
  226. package/dist/cjs/components/Epic/Epic.js +10 -10
  227. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  228. package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
  229. package/dist/cjs/components/File/File.js.map +1 -1
  230. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  231. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  232. package/dist/cjs/components/Footer/Footer.js.map +1 -1
  233. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  234. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  235. package/dist/cjs/components/FormLayout/FormLayout.js +8 -8
  236. package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
  237. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  238. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  239. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  240. package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
  241. package/dist/cjs/components/Group/Group.js +28 -19
  242. package/dist/cjs/components/Group/Group.js.map +1 -1
  243. package/dist/cjs/components/Header/Header.js.map +1 -1
  244. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  245. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +12 -9
  246. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  247. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +33 -11
  248. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  249. package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
  250. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  251. package/dist/cjs/components/Input/Input.js.map +1 -1
  252. package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
  253. package/dist/cjs/components/InputLike/InputLikeDivider.js.map +1 -1
  254. package/dist/cjs/components/Link/Link.js +8 -10
  255. package/dist/cjs/components/Link/Link.js.map +1 -1
  256. package/dist/cjs/components/List/List.js +1 -9
  257. package/dist/cjs/components/List/List.js.map +1 -1
  258. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +14 -26
  259. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  260. package/dist/cjs/components/ModalCard/ModalCard.js +2 -5
  261. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  262. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +4 -13
  263. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  264. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  265. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  266. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  267. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  268. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  269. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  270. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  271. package/dist/cjs/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  272. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  273. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  274. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  275. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  276. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  277. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  278. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  279. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  280. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  281. package/dist/cjs/components/Placeholder/Placeholder.js +10 -13
  282. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  283. package/dist/cjs/components/PopoutRoot/PopoutRoot.js +9 -9
  284. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  285. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  286. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  287. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  288. package/dist/cjs/components/PromoBanner/PromoBanner.js +9 -8
  289. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  290. package/dist/cjs/components/Radio/Radio.js +8 -8
  291. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  292. package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  293. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  294. package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
  295. package/dist/cjs/components/Removable/Removable.js +2 -4
  296. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  297. package/dist/cjs/components/RichCell/RichCell.js +25 -25
  298. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  299. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  300. package/dist/cjs/components/Root/Root.js.map +1 -1
  301. package/dist/cjs/components/ScreenSpinner/Icon48CancelCircle.js +31 -0
  302. package/dist/cjs/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -0
  303. package/dist/cjs/components/ScreenSpinner/Icon48DoneOutline.js +32 -0
  304. package/dist/cjs/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -0
  305. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +28 -8
  306. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  307. package/dist/cjs/components/Search/Search.js.map +1 -1
  308. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  309. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  310. package/dist/cjs/components/Select/Select.js.map +1 -1
  311. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  312. package/dist/cjs/components/Separator/Separator.js +2 -1
  313. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  314. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  315. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +10 -10
  316. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  317. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  318. package/dist/cjs/components/SliderSwitch/SliderSwitch.js +1 -1
  319. package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
  320. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +6 -6
  321. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  322. package/dist/cjs/components/Snackbar/Snackbar.js +13 -16
  323. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  324. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  325. package/dist/cjs/components/SplitCol/SplitCol.js +11 -11
  326. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  327. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  328. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  329. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +11 -13
  330. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  331. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  332. package/dist/cjs/components/Tabbar/Tabbar.js +3 -6
  333. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  334. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  335. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  336. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  337. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  338. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  339. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  340. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  341. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  342. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  343. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -1
  344. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  345. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  346. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  347. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  348. package/dist/cjs/components/WriteBar/WriteBar.js +12 -12
  349. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  350. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  351. package/dist/cjs/helpers/scheme.js +4 -4
  352. package/dist/cjs/helpers/scheme.js.map +1 -1
  353. package/dist/cjs/hoc/withAdaptivity.js.map +1 -1
  354. package/dist/cjs/hoc/withContext.js.map +1 -1
  355. package/dist/cjs/hoc/withInsets.js.map +1 -1
  356. package/dist/cjs/hoc/withPlatform.js.map +1 -1
  357. package/dist/cjs/hooks/useEnsuredControl.js.map +1 -1
  358. package/dist/cjs/hooks/useEventListener.js.map +1 -1
  359. package/dist/cjs/index.js +2 -4
  360. package/dist/cjs/index.js.map +1 -1
  361. package/dist/cjs/lib/SSR.js +4 -4
  362. package/dist/cjs/lib/SSR.js.map +1 -1
  363. package/dist/cjs/lib/classScopingMode.js +1 -0
  364. package/dist/cjs/lib/classScopingMode.js.map +1 -1
  365. package/dist/cjs/lib/dom.js.map +1 -1
  366. package/dist/cjs/tokenized/index.js +112 -0
  367. package/dist/cjs/tokenized/index.js.map +1 -1
  368. package/dist/components/ActionSheet/ActionSheet.d.ts +1 -1
  369. package/dist/components/ActionSheet/ActionSheet.js +4 -4
  370. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  371. package/dist/components/ActionSheet/ActionSheetDropdown.d.ts +2 -2
  372. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  373. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +2 -2
  374. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  375. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  376. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  377. package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -1
  378. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  379. package/dist/components/Alert/Alert.d.ts +1 -1
  380. package/dist/components/Alert/Alert.js.map +1 -1
  381. package/dist/components/AppRoot/AppRoot.d.ts +7 -1
  382. package/dist/components/AppRoot/AppRoot.js +26 -8
  383. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  384. package/dist/components/AppRoot/AppRootContext.d.ts +1 -0
  385. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  386. package/dist/components/AppRoot/AppRootPortal.d.ts +4 -2
  387. package/dist/components/AppRoot/AppRootPortal.js +3 -2
  388. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  389. package/dist/components/AppRoot/ScrollContext.d.ts +7 -6
  390. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  391. package/dist/components/AppearanceProvider/AppearanceProvider.d.ts +2 -1
  392. package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  393. package/dist/components/Avatar/Avatar.d.ts +1 -1
  394. package/dist/components/Avatar/Avatar.js.map +1 -1
  395. package/dist/components/Badge/Badge.d.ts +1 -1
  396. package/dist/components/Badge/Badge.js.map +1 -1
  397. package/dist/components/Banner/Banner.js.map +1 -1
  398. package/dist/components/BaseGallery/BaseGallery.js +7 -7
  399. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  400. package/dist/components/BaseGallery/helpers.d.ts +2 -2
  401. package/dist/components/BaseGallery/helpers.js +8 -8
  402. package/dist/components/BaseGallery/helpers.js.map +1 -1
  403. package/dist/components/BaseGallery/types.d.ts +1 -1
  404. package/dist/components/Button/Button.d.ts +1 -1
  405. package/dist/components/Button/Button.js +27 -27
  406. package/dist/components/Button/Button.js.map +1 -1
  407. package/dist/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  408. package/dist/components/ButtonGroup/ButtonGroup.js +4 -2
  409. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  410. package/dist/components/Calendar/Calendar.d.ts +1 -1
  411. package/dist/components/Calendar/Calendar.js.map +1 -1
  412. package/dist/components/CalendarDay/CalendarDay.d.ts +1 -1
  413. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  414. package/dist/components/CalendarDays/CalendarDays.d.ts +1 -1
  415. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  416. package/dist/components/CalendarHeader/CalendarHeader.d.ts +1 -1
  417. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  418. package/dist/components/CalendarRange/CalendarRange.d.ts +1 -1
  419. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  420. package/dist/components/CalendarTime/CalendarTime.d.ts +2 -2
  421. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  422. package/dist/components/Card/Card.d.ts +1 -1
  423. package/dist/components/Card/Card.js.map +1 -1
  424. package/dist/components/CardGrid/CardGrid.d.ts +8 -2
  425. package/dist/components/CardGrid/CardGrid.js +13 -14
  426. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  427. package/dist/components/CardScroll/CardScroll.d.ts +1 -1
  428. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  429. package/dist/components/Cell/Cell.d.ts +2 -2
  430. package/dist/components/Cell/Cell.js +4 -11
  431. package/dist/components/Cell/Cell.js.map +1 -1
  432. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
  433. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  434. package/dist/components/Cell/CellDragger/CellDragger.d.ts +1 -1
  435. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  436. package/dist/components/CellButton/CellButton.d.ts +2 -2
  437. package/dist/components/CellButton/CellButton.js.map +1 -1
  438. package/dist/components/Checkbox/Checkbox.d.ts +2 -2
  439. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  440. package/dist/components/Chip/Chip.d.ts +1 -1
  441. package/dist/components/Chip/Chip.js.map +1 -1
  442. package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  443. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  444. package/dist/components/ClickPopper/ClickPopper.d.ts +1 -1
  445. package/dist/components/ClickPopper/ClickPopper.js.map +1 -1
  446. package/dist/components/ConfigProvider/ConfigProvider.d.ts +2 -1
  447. package/dist/components/ConfigProvider/ConfigProvider.js +25 -21
  448. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  449. package/dist/components/CustomScrollView/CustomScrollView.d.ts +4 -3
  450. package/dist/components/CustomScrollView/CustomScrollView.js +33 -4
  451. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  452. package/dist/components/CustomScrollView/useTrackerVisibility.d.ts +43 -0
  453. package/dist/components/CustomScrollView/useTrackerVisibility.js +75 -0
  454. package/dist/components/CustomScrollView/useTrackerVisibility.js.map +1 -0
  455. package/dist/components/CustomSelect/CustomSelect.d.ts +4 -3
  456. package/dist/components/CustomSelect/CustomSelect.js +7 -3
  457. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  458. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +3 -2
  459. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +6 -2
  460. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  461. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +1 -1
  462. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  463. package/dist/components/DateInput/DateInput.d.ts +1 -1
  464. package/dist/components/DateInput/DateInput.js.map +1 -1
  465. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  466. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  467. package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  468. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  469. package/dist/components/Div/Div.d.ts +1 -1
  470. package/dist/components/Div/Div.js.map +1 -1
  471. package/dist/components/Dropdown/Dropdown.d.ts +2 -2
  472. package/dist/components/Dropdown/Dropdown.js +1 -4
  473. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  474. package/dist/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  475. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  476. package/dist/components/Epic/Epic.d.ts +1 -1
  477. package/dist/components/Epic/Epic.js +10 -10
  478. package/dist/components/Epic/Epic.js.map +1 -1
  479. package/dist/components/Epic/ScrollSaver.d.ts +2 -1
  480. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  481. package/dist/components/File/File.d.ts +1 -1
  482. package/dist/components/File/File.js.map +1 -1
  483. package/dist/components/FixedLayout/FixedLayout.d.ts +1 -1
  484. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  485. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  486. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  487. package/dist/components/Footer/Footer.d.ts +1 -1
  488. package/dist/components/Footer/Footer.js.map +1 -1
  489. package/dist/components/FormField/FormField.d.ts +3 -3
  490. package/dist/components/FormField/FormField.js.map +1 -1
  491. package/dist/components/FormItem/FormItem.d.ts +1 -1
  492. package/dist/components/FormItem/FormItem.js.map +1 -1
  493. package/dist/components/FormLayout/FormLayout.d.ts +1 -1
  494. package/dist/components/FormLayout/FormLayout.js +8 -8
  495. package/dist/components/FormLayout/FormLayout.js.map +1 -1
  496. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -1
  497. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  498. package/dist/components/FormStatus/FormStatus.d.ts +1 -1
  499. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  500. package/dist/components/Gallery/Gallery.js.map +1 -1
  501. package/dist/components/Gradient/Gradient.d.ts +7 -1
  502. package/dist/components/Gradient/Gradient.js.map +1 -1
  503. package/dist/components/Group/Group.d.ts +2 -1
  504. package/dist/components/Group/Group.js +27 -19
  505. package/dist/components/Group/Group.js.map +1 -1
  506. package/dist/components/Header/Header.d.ts +1 -1
  507. package/dist/components/Header/Header.js.map +1 -1
  508. package/dist/components/HorizontalCell/HorizontalCell.d.ts +1 -1
  509. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  510. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +2 -1
  511. package/dist/components/HorizontalScroll/HorizontalScroll.js +9 -5
  512. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  513. package/dist/components/HorizontalScroll/HorizontalScrollArrow.d.ts +4 -4
  514. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +26 -12
  515. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  516. package/dist/components/HoverPopper/HoverPopper.d.ts +1 -1
  517. package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
  518. package/dist/components/IconButton/IconButton.d.ts +1 -1
  519. package/dist/components/InfoRow/InfoRow.d.ts +1 -1
  520. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  521. package/dist/components/Input/Input.d.ts +1 -1
  522. package/dist/components/Input/Input.js.map +1 -1
  523. package/dist/components/InputLike/InputLike.d.ts +4 -1
  524. package/dist/components/InputLike/InputLike.js.map +1 -1
  525. package/dist/components/InputLike/InputLikeDivider.d.ts +1 -1
  526. package/dist/components/InputLike/InputLikeDivider.js.map +1 -1
  527. package/dist/components/Link/Link.d.ts +8 -3
  528. package/dist/components/Link/Link.js +8 -9
  529. package/dist/components/Link/Link.js.map +1 -1
  530. package/dist/components/List/List.d.ts +1 -1
  531. package/dist/components/List/List.js +1 -8
  532. package/dist/components/List/List.js.map +1 -1
  533. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
  534. package/dist/components/MiniInfoCell/MiniInfoCell.js +13 -23
  535. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  536. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  537. package/dist/components/ModalCard/ModalCard.js +2 -5
  538. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  539. package/dist/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  540. package/dist/components/ModalCardBase/ModalCardBase.js +5 -14
  541. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  542. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  543. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  544. package/dist/components/ModalPage/ModalPage.d.ts +1 -1
  545. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  546. package/dist/components/ModalRoot/ModalRoot.d.ts +2 -1
  547. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  548. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +2 -1
  549. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  550. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +2 -1
  551. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  552. package/dist/components/ModalRoot/useModalManager.d.ts +2 -1
  553. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  554. package/dist/components/NativeSelect/NativeSelect.d.ts +1 -1
  555. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  556. package/dist/components/NavTransitionContext/NavTransitionContext.d.ts +1 -1
  557. package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  558. package/dist/components/Pagination/Pagination.d.ts +1 -1
  559. package/dist/components/Pagination/Pagination.js.map +1 -1
  560. package/dist/components/Panel/Panel.d.ts +1 -1
  561. package/dist/components/PanelHeader/PanelHeader.d.ts +1 -1
  562. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  563. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
  564. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  565. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
  566. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  567. package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts +2 -2
  568. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  569. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -1
  570. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  571. package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts +1 -1
  572. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  573. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +2 -2
  574. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  575. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +2 -2
  576. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  577. package/dist/components/Placeholder/Placeholder.d.ts +1 -1
  578. package/dist/components/Placeholder/Placeholder.js +10 -13
  579. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  580. package/dist/components/PopoutRoot/PopoutRoot.d.ts +5 -2
  581. package/dist/components/PopoutRoot/PopoutRoot.js +9 -9
  582. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  583. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +1 -1
  584. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  585. package/dist/components/Popper/Popper.d.ts +1 -1
  586. package/dist/components/Popper/Popper.js.map +1 -1
  587. package/dist/components/Progress/Progress.d.ts +1 -1
  588. package/dist/components/Progress/Progress.js.map +1 -1
  589. package/dist/components/PromoBanner/PromoBanner.d.ts +1 -1
  590. package/dist/components/PromoBanner/PromoBanner.js +10 -10
  591. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  592. package/dist/components/Radio/Radio.d.ts +1 -1
  593. package/dist/components/Radio/Radio.js +8 -8
  594. package/dist/components/Radio/Radio.js.map +1 -1
  595. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  596. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  597. package/dist/components/RangeSlider/RangeSlider.d.ts +2 -2
  598. package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
  599. package/dist/components/RangeSlider/UniversalSlider.d.ts +1 -1
  600. package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
  601. package/dist/components/Removable/Removable.d.ts +1 -1
  602. package/dist/components/Removable/Removable.js +3 -4
  603. package/dist/components/Removable/Removable.js.map +1 -1
  604. package/dist/components/RichCell/RichCell.d.ts +18 -9
  605. package/dist/components/RichCell/RichCell.js +25 -21
  606. package/dist/components/RichCell/RichCell.js.map +1 -1
  607. package/dist/components/RichTooltip/RichTooltip.d.ts +2 -2
  608. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  609. package/dist/components/Root/Root.d.ts +1 -1
  610. package/dist/components/Root/Root.js.map +1 -1
  611. package/dist/components/ScreenSpinner/Icon48CancelCircle.d.ts +3 -0
  612. package/dist/components/ScreenSpinner/Icon48CancelCircle.js +18 -0
  613. package/dist/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -0
  614. package/dist/components/ScreenSpinner/Icon48DoneOutline.d.ts +3 -0
  615. package/dist/components/ScreenSpinner/Icon48DoneOutline.js +19 -0
  616. package/dist/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -0
  617. package/dist/components/ScreenSpinner/ScreenSpinner.d.ts +5 -3
  618. package/dist/components/ScreenSpinner/ScreenSpinner.js +25 -7
  619. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  620. package/dist/components/Search/Search.d.ts +1 -1
  621. package/dist/components/Search/Search.js.map +1 -1
  622. package/dist/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  623. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  624. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +2 -2
  625. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  626. package/dist/components/Select/Select.d.ts +2 -2
  627. package/dist/components/Select/Select.js.map +1 -1
  628. package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  629. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  630. package/dist/components/Separator/Separator.d.ts +2 -2
  631. package/dist/components/Separator/Separator.js +2 -1
  632. package/dist/components/Separator/Separator.js.map +1 -1
  633. package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
  634. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  635. package/dist/components/SimpleCheckbox/SimpleCheckbox.d.ts +2 -2
  636. package/dist/components/SimpleCheckbox/SimpleCheckbox.js +10 -10
  637. package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  638. package/dist/components/Slider/Slider.js.map +1 -1
  639. package/dist/components/SliderSwitch/SliderSwitch.d.ts +1 -1
  640. package/dist/components/SliderSwitch/SliderSwitch.js +1 -1
  641. package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
  642. package/dist/components/SliderSwitch/SliderSwitchButton.d.ts +1 -1
  643. package/dist/components/SliderSwitch/SliderSwitchButton.js +6 -6
  644. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  645. package/dist/components/Snackbar/Snackbar.d.ts +2 -2
  646. package/dist/components/Snackbar/Snackbar.js +13 -16
  647. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  648. package/dist/components/Spacing/Spacing.d.ts +1 -1
  649. package/dist/components/Spacing/Spacing.js.map +1 -1
  650. package/dist/components/SplitCol/SplitCol.d.ts +1 -1
  651. package/dist/components/SplitCol/SplitCol.js +11 -11
  652. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  653. package/dist/components/SplitLayout/SplitLayout.d.ts +1 -1
  654. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  655. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +1 -1
  656. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  657. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
  658. package/dist/components/SubnavigationButton/SubnavigationButton.js +12 -15
  659. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  660. package/dist/components/Switch/Switch.d.ts +2 -2
  661. package/dist/components/Switch/Switch.js.map +1 -1
  662. package/dist/components/Tabbar/Tabbar.d.ts +1 -1
  663. package/dist/components/Tabbar/Tabbar.js +2 -5
  664. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  665. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -1
  666. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  667. package/dist/components/Tabs/Tabs.d.ts +1 -1
  668. package/dist/components/Tabs/Tabs.js.map +1 -1
  669. package/dist/components/TabsItem/TabsItem.d.ts +1 -1
  670. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  671. package/dist/components/Tappable/Tappable.d.ts +1 -1
  672. package/dist/components/TextTooltip/TextTooltip.d.ts +1 -1
  673. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  674. package/dist/components/Textarea/Textarea.d.ts +1 -1
  675. package/dist/components/Textarea/Textarea.js.map +1 -1
  676. package/dist/components/Tooltip/Tooltip.d.ts +3 -2
  677. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  678. package/dist/components/Touch/Touch.d.ts +1 -1
  679. package/dist/components/Touch/Touch.js.map +1 -1
  680. package/dist/components/Typography/Caption/Caption.d.ts +1 -1
  681. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  682. package/dist/components/Typography/Headline/Headline.d.ts +1 -1
  683. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  684. package/dist/components/Typography/Paragraph/Paragraph.d.ts +1 -1
  685. package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -1
  686. package/dist/components/Typography/Subhead/Subhead.d.ts +1 -1
  687. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  688. package/dist/components/Typography/Text/Text.d.ts +1 -1
  689. package/dist/components/Typography/Text/Text.js.map +1 -1
  690. package/dist/components/Typography/Title/Title.d.ts +1 -1
  691. package/dist/components/Typography/Title/Title.js.map +1 -1
  692. package/dist/components/View/View.d.ts +1 -1
  693. package/dist/components/View/ViewInfinite.d.ts +1 -1
  694. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +1 -1
  695. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  696. package/dist/components/WriteBar/WriteBar.d.ts +1 -1
  697. package/dist/components/WriteBar/WriteBar.js +13 -14
  698. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  699. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
  700. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  701. package/dist/components.css +18 -11
  702. package/dist/components.css.map +1 -1
  703. package/dist/cssm/components/ActionSheet/ActionSheet.d.ts +1 -1
  704. package/dist/cssm/components/ActionSheet/ActionSheet.js +4 -4
  705. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  706. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.d.ts +2 -2
  707. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  708. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +2 -2
  709. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  710. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  711. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  712. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -1
  713. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  714. package/dist/cssm/components/Alert/Alert.d.ts +1 -1
  715. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  716. package/dist/cssm/components/AppRoot/AppRoot.d.ts +7 -1
  717. package/dist/cssm/components/AppRoot/AppRoot.js +26 -8
  718. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  719. package/dist/cssm/components/AppRoot/AppRootContext.d.ts +1 -0
  720. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  721. package/dist/cssm/components/AppRoot/AppRootPortal.d.ts +4 -2
  722. package/dist/cssm/components/AppRoot/AppRootPortal.js +3 -2
  723. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  724. package/dist/cssm/components/AppRoot/ScrollContext.d.ts +7 -6
  725. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  726. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.d.ts +2 -1
  727. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  728. package/dist/cssm/components/Avatar/Avatar.css +1 -1
  729. package/dist/cssm/components/Avatar/Avatar.d.ts +1 -1
  730. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  731. package/dist/cssm/components/Badge/Badge.d.ts +1 -1
  732. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  733. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  734. package/dist/cssm/components/BaseGallery/BaseGallery.js +7 -7
  735. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  736. package/dist/cssm/components/BaseGallery/helpers.d.ts +2 -2
  737. package/dist/cssm/components/BaseGallery/helpers.js +8 -8
  738. package/dist/cssm/components/BaseGallery/helpers.js.map +1 -1
  739. package/dist/cssm/components/BaseGallery/types.d.ts +1 -1
  740. package/dist/cssm/components/Button/Button.d.ts +1 -1
  741. package/dist/cssm/components/Button/Button.js +27 -27
  742. package/dist/cssm/components/Button/Button.js.map +1 -1
  743. package/dist/cssm/components/ButtonGroup/ButtonGroup.css +1 -1
  744. package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  745. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +4 -2
  746. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  747. package/dist/cssm/components/Calendar/Calendar.css +1 -1
  748. package/dist/cssm/components/Calendar/Calendar.d.ts +1 -1
  749. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  750. package/dist/cssm/components/CalendarDay/CalendarDay.d.ts +1 -1
  751. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  752. package/dist/cssm/components/CalendarDays/CalendarDays.d.ts +1 -1
  753. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  754. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +1 -1
  755. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  756. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +1 -1
  757. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  758. package/dist/cssm/components/CalendarTime/CalendarTime.d.ts +2 -2
  759. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  760. package/dist/cssm/components/Card/Card.d.ts +1 -1
  761. package/dist/cssm/components/Card/Card.js.map +1 -1
  762. package/dist/cssm/components/CardGrid/CardGrid.css +1 -1
  763. package/dist/cssm/components/CardGrid/CardGrid.d.ts +8 -2
  764. package/dist/cssm/components/CardGrid/CardGrid.js +13 -14
  765. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  766. package/dist/cssm/components/CardScroll/CardScroll.d.ts +1 -1
  767. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  768. package/dist/cssm/components/Cell/Cell.css +3 -1
  769. package/dist/cssm/components/Cell/Cell.d.ts +2 -2
  770. package/dist/cssm/components/Cell/Cell.js +4 -11
  771. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  772. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
  773. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  774. package/dist/cssm/components/Cell/CellDragger/CellDragger.d.ts +1 -1
  775. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  776. package/dist/cssm/components/CellButton/CellButton.d.ts +2 -2
  777. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  778. package/dist/cssm/components/Checkbox/Checkbox.d.ts +2 -2
  779. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  780. package/dist/cssm/components/Chip/Chip.d.ts +1 -1
  781. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  782. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  783. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  784. package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +1 -1
  785. package/dist/cssm/components/ClickPopper/ClickPopper.js.map +1 -1
  786. package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +2 -1
  787. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +25 -21
  788. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  789. package/dist/cssm/components/CustomScrollView/CustomScrollView.css +1 -1
  790. package/dist/cssm/components/CustomScrollView/CustomScrollView.d.ts +4 -3
  791. package/dist/cssm/components/CustomScrollView/CustomScrollView.js +33 -4
  792. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  793. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.d.ts +43 -0
  794. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js +75 -0
  795. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js.map +1 -0
  796. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +4 -3
  797. package/dist/cssm/components/CustomSelect/CustomSelect.js +7 -3
  798. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  799. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +3 -2
  800. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +6 -2
  801. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  802. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.d.ts +1 -1
  803. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  804. package/dist/cssm/components/DateInput/DateInput.d.ts +1 -1
  805. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  806. package/dist/cssm/components/DatePicker/DatePicker.d.ts +1 -1
  807. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  808. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  809. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  810. package/dist/cssm/components/Div/Div.d.ts +1 -1
  811. package/dist/cssm/components/Div/Div.js.map +1 -1
  812. package/dist/cssm/components/Dropdown/Dropdown.css +1 -1
  813. package/dist/cssm/components/Dropdown/Dropdown.d.ts +2 -2
  814. package/dist/cssm/components/Dropdown/Dropdown.js +1 -4
  815. package/dist/cssm/components/Dropdown/Dropdown.js.map +1 -1
  816. package/dist/cssm/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  817. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  818. package/dist/cssm/components/Epic/Epic.d.ts +1 -1
  819. package/dist/cssm/components/Epic/Epic.js +10 -10
  820. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  821. package/dist/cssm/components/Epic/ScrollSaver.d.ts +2 -1
  822. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  823. package/dist/cssm/components/File/File.d.ts +1 -1
  824. package/dist/cssm/components/File/File.js.map +1 -1
  825. package/dist/cssm/components/FixedLayout/FixedLayout.d.ts +1 -1
  826. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  827. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +1 -1
  828. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  829. package/dist/cssm/components/Footer/Footer.d.ts +1 -1
  830. package/dist/cssm/components/Footer/Footer.js.map +1 -1
  831. package/dist/cssm/components/FormField/FormField.d.ts +3 -3
  832. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  833. package/dist/cssm/components/FormItem/FormItem.d.ts +1 -1
  834. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  835. package/dist/cssm/components/FormLayout/FormLayout.d.ts +1 -1
  836. package/dist/cssm/components/FormLayout/FormLayout.js +8 -8
  837. package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
  838. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -1
  839. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  840. package/dist/cssm/components/FormStatus/FormStatus.d.ts +1 -1
  841. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  842. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  843. package/dist/cssm/components/Gradient/Gradient.css +1 -1
  844. package/dist/cssm/components/Gradient/Gradient.d.ts +7 -1
  845. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  846. package/dist/cssm/components/Group/Group.css +1 -1
  847. package/dist/cssm/components/Group/Group.d.ts +2 -1
  848. package/dist/cssm/components/Group/Group.js +27 -19
  849. package/dist/cssm/components/Group/Group.js.map +1 -1
  850. package/dist/cssm/components/Header/Header.d.ts +1 -1
  851. package/dist/cssm/components/Header/Header.js.map +1 -1
  852. package/dist/cssm/components/HorizontalCell/HorizontalCell.css +1 -1
  853. package/dist/cssm/components/HorizontalCell/HorizontalCell.d.ts +1 -1
  854. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  855. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.css +1 -1
  856. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +2 -1
  857. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +9 -5
  858. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  859. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +2 -5
  860. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.d.ts +4 -4
  861. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +26 -12
  862. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  863. package/dist/cssm/components/HoverPopper/HoverPopper.d.ts +1 -1
  864. package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
  865. package/dist/cssm/components/IconButton/IconButton.d.ts +1 -1
  866. package/dist/cssm/components/InfoRow/InfoRow.d.ts +1 -1
  867. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  868. package/dist/cssm/components/Input/Input.d.ts +1 -1
  869. package/dist/cssm/components/Input/Input.js.map +1 -1
  870. package/dist/cssm/components/InputLike/InputLike.d.ts +4 -1
  871. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  872. package/dist/cssm/components/InputLike/InputLikeDivider.d.ts +1 -1
  873. package/dist/cssm/components/InputLike/InputLikeDivider.js.map +1 -1
  874. package/dist/cssm/components/Link/Link.css +1 -1
  875. package/dist/cssm/components/Link/Link.d.ts +8 -3
  876. package/dist/cssm/components/Link/Link.js +8 -9
  877. package/dist/cssm/components/Link/Link.js.map +1 -1
  878. package/dist/cssm/components/List/List.d.ts +1 -1
  879. package/dist/cssm/components/List/List.js +1 -8
  880. package/dist/cssm/components/List/List.js.map +1 -1
  881. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.css +1 -1
  882. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
  883. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +13 -23
  884. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  885. package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
  886. package/dist/cssm/components/ModalCard/ModalCard.js +2 -5
  887. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  888. package/dist/cssm/components/ModalCardBase/ModalCardBase.css +3 -1
  889. package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  890. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +5 -14
  891. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  892. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  893. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  894. package/dist/cssm/components/ModalPage/ModalPage.d.ts +1 -1
  895. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  896. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +2 -1
  897. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  898. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +2 -1
  899. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  900. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +2 -1
  901. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  902. package/dist/cssm/components/ModalRoot/useModalManager.d.ts +2 -1
  903. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  904. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +1 -1
  905. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  906. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.d.ts +1 -1
  907. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  908. package/dist/cssm/components/Pagination/Pagination.d.ts +1 -1
  909. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  910. package/dist/cssm/components/Panel/Panel.d.ts +1 -1
  911. package/dist/cssm/components/PanelHeader/PanelHeader.d.ts +1 -1
  912. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  913. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
  914. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  915. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
  916. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  917. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.d.ts +2 -2
  918. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  919. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -1
  920. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  921. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.d.ts +1 -1
  922. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  923. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +2 -2
  924. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  925. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +2 -2
  926. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  927. package/dist/cssm/components/Placeholder/Placeholder.css +3 -1
  928. package/dist/cssm/components/Placeholder/Placeholder.d.ts +1 -1
  929. package/dist/cssm/components/Placeholder/Placeholder.js +10 -13
  930. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  931. package/dist/cssm/components/PopoutRoot/PopoutRoot.d.ts +5 -2
  932. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +9 -9
  933. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  934. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.d.ts +1 -1
  935. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  936. package/dist/cssm/components/Popper/Popper.d.ts +1 -1
  937. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  938. package/dist/cssm/components/Progress/Progress.d.ts +1 -1
  939. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  940. package/dist/cssm/components/PromoBanner/PromoBanner.d.ts +1 -1
  941. package/dist/cssm/components/PromoBanner/PromoBanner.js +10 -10
  942. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  943. package/dist/cssm/components/Radio/Radio.d.ts +1 -1
  944. package/dist/cssm/components/Radio/Radio.js +8 -8
  945. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  946. package/dist/cssm/components/RadioGroup/RadioGroup.d.ts +1 -1
  947. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  948. package/dist/cssm/components/RangeSlider/RangeSlider.d.ts +2 -2
  949. package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
  950. package/dist/cssm/components/RangeSlider/UniversalSlider.d.ts +1 -1
  951. package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
  952. package/dist/cssm/components/Removable/Removable.css +1 -1
  953. package/dist/cssm/components/Removable/Removable.d.ts +1 -1
  954. package/dist/cssm/components/Removable/Removable.js +3 -4
  955. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  956. package/dist/cssm/components/RichCell/RichCell.css +3 -1
  957. package/dist/cssm/components/RichCell/RichCell.d.ts +18 -9
  958. package/dist/cssm/components/RichCell/RichCell.js +25 -21
  959. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  960. package/dist/cssm/components/RichTooltip/RichTooltip.d.ts +2 -2
  961. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  962. package/dist/cssm/components/Root/Root.d.ts +1 -1
  963. package/dist/cssm/components/Root/Root.js.map +1 -1
  964. package/dist/cssm/components/ScreenSpinner/Icon48CancelCircle.d.ts +3 -0
  965. package/dist/cssm/components/ScreenSpinner/Icon48CancelCircle.js +18 -0
  966. package/dist/cssm/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -0
  967. package/dist/cssm/components/ScreenSpinner/Icon48DoneOutline.d.ts +3 -0
  968. package/dist/cssm/components/ScreenSpinner/Icon48DoneOutline.js +19 -0
  969. package/dist/cssm/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -0
  970. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.css +1 -1
  971. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.d.ts +5 -3
  972. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +25 -7
  973. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  974. package/dist/cssm/components/Search/Search.css +1 -1
  975. package/dist/cssm/components/Search/Search.d.ts +1 -1
  976. package/dist/cssm/components/Search/Search.js.map +1 -1
  977. package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -1
  978. package/dist/cssm/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  979. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  980. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  981. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +2 -2
  982. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  983. package/dist/cssm/components/Select/Select.d.ts +2 -2
  984. package/dist/cssm/components/Select/Select.js.map +1 -1
  985. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  986. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  987. package/dist/cssm/components/Separator/Separator.css +1 -1
  988. package/dist/cssm/components/Separator/Separator.d.ts +2 -2
  989. package/dist/cssm/components/Separator/Separator.js +2 -1
  990. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  991. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +1 -1
  992. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  993. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.d.ts +2 -2
  994. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +10 -10
  995. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  996. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  997. package/dist/cssm/components/SliderSwitch/SliderSwitch.d.ts +1 -1
  998. package/dist/cssm/components/SliderSwitch/SliderSwitch.js +1 -1
  999. package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
  1000. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.d.ts +1 -1
  1001. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +6 -6
  1002. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  1003. package/dist/cssm/components/Snackbar/Snackbar.d.ts +2 -2
  1004. package/dist/cssm/components/Snackbar/Snackbar.js +13 -16
  1005. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  1006. package/dist/cssm/components/Spacing/Spacing.d.ts +1 -1
  1007. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  1008. package/dist/cssm/components/SplitCol/SplitCol.d.ts +1 -1
  1009. package/dist/cssm/components/SplitCol/SplitCol.js +11 -11
  1010. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  1011. package/dist/cssm/components/SplitLayout/SplitLayout.d.ts +1 -1
  1012. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  1013. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.d.ts +1 -1
  1014. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  1015. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
  1016. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +12 -15
  1017. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  1018. package/dist/cssm/components/Switch/Switch.css +1 -1
  1019. package/dist/cssm/components/Switch/Switch.d.ts +2 -2
  1020. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  1021. package/dist/cssm/components/Tabbar/Tabbar.css +3 -1
  1022. package/dist/cssm/components/Tabbar/Tabbar.d.ts +1 -1
  1023. package/dist/cssm/components/Tabbar/Tabbar.js +2 -5
  1024. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  1025. package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -1
  1026. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  1027. package/dist/cssm/components/Tabs/Tabs.css +1 -1
  1028. package/dist/cssm/components/Tabs/Tabs.d.ts +1 -1
  1029. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  1030. package/dist/cssm/components/TabsItem/TabsItem.d.ts +1 -1
  1031. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  1032. package/dist/cssm/components/Tappable/Tappable.d.ts +1 -1
  1033. package/dist/cssm/components/TextTooltip/TextTooltip.d.ts +1 -1
  1034. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  1035. package/dist/cssm/components/Textarea/Textarea.d.ts +1 -1
  1036. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  1037. package/dist/cssm/components/Tooltip/Tooltip.d.ts +3 -2
  1038. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  1039. package/dist/cssm/components/Touch/Touch.d.ts +1 -1
  1040. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  1041. package/dist/cssm/components/Typography/Caption/Caption.d.ts +1 -1
  1042. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  1043. package/dist/cssm/components/Typography/Headline/Headline.d.ts +1 -1
  1044. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  1045. package/dist/cssm/components/Typography/Paragraph/Paragraph.d.ts +1 -1
  1046. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
  1047. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +1 -1
  1048. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  1049. package/dist/cssm/components/Typography/Text/Text.d.ts +1 -1
  1050. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  1051. package/dist/cssm/components/Typography/Title/Title.d.ts +1 -1
  1052. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  1053. package/dist/cssm/components/UsersStack/UsersStack.css +1 -1
  1054. package/dist/cssm/components/View/View.d.ts +1 -1
  1055. package/dist/cssm/components/View/ViewInfinite.d.ts +1 -1
  1056. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +1 -1
  1057. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  1058. package/dist/cssm/components/WriteBar/WriteBar.d.ts +1 -1
  1059. package/dist/cssm/components/WriteBar/WriteBar.js +13 -14
  1060. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  1061. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
  1062. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  1063. package/dist/cssm/helpers/scheme.js +4 -4
  1064. package/dist/cssm/helpers/scheme.js.map +1 -1
  1065. package/dist/cssm/hoc/withAdaptivity.d.ts +1 -1
  1066. package/dist/cssm/hoc/withAdaptivity.js.map +1 -1
  1067. package/dist/cssm/hoc/withContext.d.ts +1 -1
  1068. package/dist/cssm/hoc/withContext.js.map +1 -1
  1069. package/dist/cssm/hoc/withInsets.d.ts +1 -1
  1070. package/dist/cssm/hoc/withInsets.js.map +1 -1
  1071. package/dist/cssm/hoc/withPlatform.d.ts +1 -1
  1072. package/dist/cssm/hoc/withPlatform.js.map +1 -1
  1073. package/dist/cssm/hooks/useEnsuredControl.d.ts +2 -1
  1074. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  1075. package/dist/cssm/hooks/useEventListener.js.map +1 -1
  1076. package/dist/cssm/index.d.ts +1 -1
  1077. package/dist/cssm/index.js +1 -1
  1078. package/dist/cssm/index.js.map +1 -1
  1079. package/dist/cssm/lib/SSR.d.ts +2 -1
  1080. package/dist/cssm/lib/SSR.js +4 -4
  1081. package/dist/cssm/lib/SSR.js.map +1 -1
  1082. package/dist/cssm/lib/classScopingMode.js +1 -0
  1083. package/dist/cssm/lib/classScopingMode.js.map +1 -1
  1084. package/dist/cssm/lib/dom.js.map +1 -1
  1085. package/dist/cssm/styles/components.css +18 -11
  1086. package/dist/cssm/styles/themes.css +1 -1
  1087. package/dist/cssm/styles/unstable.css +1 -1
  1088. package/dist/cssm/tokenized/index.d.ts +28 -0
  1089. package/dist/cssm/tokenized/index.js +14 -0
  1090. package/dist/cssm/tokenized/index.js.map +1 -1
  1091. package/dist/cssm/types.d.ts +3 -0
  1092. package/dist/helpers/scheme.js +4 -4
  1093. package/dist/helpers/scheme.js.map +1 -1
  1094. package/dist/hoc/withAdaptivity.d.ts +1 -1
  1095. package/dist/hoc/withAdaptivity.js.map +1 -1
  1096. package/dist/hoc/withContext.d.ts +1 -1
  1097. package/dist/hoc/withContext.js.map +1 -1
  1098. package/dist/hoc/withInsets.d.ts +1 -1
  1099. package/dist/hoc/withInsets.js.map +1 -1
  1100. package/dist/hoc/withPlatform.d.ts +1 -1
  1101. package/dist/hoc/withPlatform.js.map +1 -1
  1102. package/dist/hooks/useEnsuredControl.d.ts +2 -1
  1103. package/dist/hooks/useEnsuredControl.js.map +1 -1
  1104. package/dist/hooks/useEventListener.js.map +1 -1
  1105. package/dist/index.d.ts +1 -1
  1106. package/dist/index.js +1 -1
  1107. package/dist/index.js.map +1 -1
  1108. package/dist/lib/SSR.d.ts +2 -1
  1109. package/dist/lib/SSR.js +4 -4
  1110. package/dist/lib/SSR.js.map +1 -1
  1111. package/dist/lib/classScopingMode.js +1 -0
  1112. package/dist/lib/classScopingMode.js.map +1 -1
  1113. package/dist/lib/dom.js.map +1 -1
  1114. package/dist/tokenized/index.d.ts +28 -0
  1115. package/dist/tokenized/index.js +14 -0
  1116. package/dist/tokenized/index.js.map +1 -1
  1117. package/dist/types.d.ts +3 -0
  1118. package/dist/unstable.css +1 -1
  1119. package/dist/unstable.css.map +1 -1
  1120. package/dist/vkui.css +19 -12
  1121. package/dist/vkui.css.map +1 -1
  1122. package/package.json +16 -15
  1123. package/src/components/ActionSheet/ActionSheet.tsx +4 -6
  1124. package/src/components/ActionSheet/ActionSheetDropdown.tsx +2 -2
  1125. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +6 -3
  1126. package/src/components/ActionSheet/Readme.md +1 -1
  1127. package/src/components/ActionSheetItem/ActionSheetItem.tsx +1 -1
  1128. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +3 -1
  1129. package/src/components/Alert/Alert.tsx +7 -6
  1130. package/src/components/Alert/Readme.md +1 -1
  1131. package/src/components/AppRoot/AppRoot.tsx +27 -6
  1132. package/src/components/AppRoot/AppRootContext.ts +1 -0
  1133. package/src/components/AppRoot/AppRootPortal.tsx +13 -5
  1134. package/src/components/AppRoot/Readme.md +1 -1
  1135. package/src/components/AppRoot/ScrollContext.tsx +8 -9
  1136. package/src/components/AppearanceProvider/AppearanceProvider.tsx +3 -2
  1137. package/src/components/Avatar/Avatar.css +0 -14
  1138. package/src/components/Avatar/Avatar.tsx +1 -1
  1139. package/src/components/Badge/Badge.tsx +1 -1
  1140. package/src/components/Banner/Banner.tsx +5 -6
  1141. package/src/components/BaseGallery/BaseGallery.tsx +7 -7
  1142. package/src/components/BaseGallery/helpers.ts +7 -7
  1143. package/src/components/BaseGallery/types.ts +1 -1
  1144. package/src/components/Button/Button.tsx +8 -6
  1145. package/src/components/ButtonGroup/ButtonGroup.css +12 -1
  1146. package/src/components/ButtonGroup/ButtonGroup.tsx +8 -5
  1147. package/src/components/ButtonGroup/Readme.md +15 -1
  1148. package/src/components/Calendar/Calendar.css +2 -2
  1149. package/src/components/Calendar/Calendar.tsx +2 -2
  1150. package/src/components/CalendarDay/CalendarDay.tsx +2 -2
  1151. package/src/components/CalendarDays/CalendarDays.tsx +2 -2
  1152. package/src/components/CalendarHeader/CalendarHeader.tsx +2 -2
  1153. package/src/components/CalendarRange/CalendarRange.tsx +2 -2
  1154. package/src/components/CalendarTime/CalendarTime.tsx +2 -2
  1155. package/src/components/Card/Card.tsx +1 -1
  1156. package/src/components/CardGrid/CardGrid.css +12 -20
  1157. package/src/components/CardGrid/CardGrid.tsx +15 -16
  1158. package/src/components/CardGrid/Readme.md +5 -0
  1159. package/src/components/CardScroll/CardScroll.tsx +1 -1
  1160. package/src/components/Cell/Cell.css +10 -3
  1161. package/src/components/Cell/Cell.tsx +11 -11
  1162. package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +2 -2
  1163. package/src/components/Cell/CellDragger/CellDragger.tsx +2 -2
  1164. package/src/components/CellButton/CellButton.tsx +1 -2
  1165. package/src/components/Checkbox/Checkbox.tsx +2 -2
  1166. package/src/components/Chip/Chip.tsx +1 -1
  1167. package/src/components/ChipsSelect/ChipsSelect.tsx +4 -4
  1168. package/src/components/ChipsSelect/Readme.md +1 -1
  1169. package/src/components/ClickPopper/ClickPopper.tsx +1 -1
  1170. package/src/components/ConfigProvider/ConfigProvider.tsx +22 -15
  1171. package/src/components/ConfigProvider/Readme.md +1 -1
  1172. package/src/components/CustomScrollView/CustomScrollView.css +5 -0
  1173. package/src/components/CustomScrollView/CustomScrollView.tsx +38 -4
  1174. package/src/components/CustomScrollView/useTrackerVisibility.ts +109 -0
  1175. package/src/components/CustomSelect/CustomSelect.tsx +9 -3
  1176. package/src/components/CustomSelect/Readme.md +228 -170
  1177. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +9 -3
  1178. package/src/components/CustomSelectOption/CustomSelectOption.tsx +1 -1
  1179. package/src/components/DateInput/DateInput.tsx +2 -2
  1180. package/src/components/DatePicker/DatePicker.tsx +6 -10
  1181. package/src/components/DateRangeInput/DateRangeInput.tsx +2 -2
  1182. package/src/components/Div/Div.tsx +1 -5
  1183. package/src/components/Dropdown/Dropdown.css +3 -16
  1184. package/src/components/Dropdown/Dropdown.tsx +2 -11
  1185. package/src/components/Dropdown/Readme.md +1 -1
  1186. package/src/components/DropdownIcon/DropdownIcon.tsx +1 -3
  1187. package/src/components/Epic/Epic.tsx +7 -4
  1188. package/src/components/Epic/ScrollSaver.tsx +3 -2
  1189. package/src/components/File/File.tsx +2 -2
  1190. package/src/components/FixedLayout/FixedLayout.tsx +1 -1
  1191. package/src/components/FocusTrap/FocusTrap.tsx +2 -2
  1192. package/src/components/Footer/Footer.tsx +1 -4
  1193. package/src/components/FormField/FormField.tsx +3 -3
  1194. package/src/components/FormField/Readme.md +1 -1
  1195. package/src/components/FormItem/FormItem.tsx +1 -1
  1196. package/src/components/FormLayout/FormLayout.tsx +7 -11
  1197. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +1 -1
  1198. package/src/components/FormStatus/FormStatus.tsx +1 -1
  1199. package/src/components/Gallery/Gallery.tsx +1 -1
  1200. package/src/components/Gradient/Gradient.css +14 -76
  1201. package/src/components/Gradient/Gradient.tsx +8 -2
  1202. package/src/components/Gradient/Readme.md +53 -15
  1203. package/src/components/Group/Group.css +10 -14
  1204. package/src/components/Group/Group.tsx +32 -23
  1205. package/src/components/Header/Header.tsx +3 -3
  1206. package/src/components/HorizontalCell/HorizontalCell.css +2 -2
  1207. package/src/components/HorizontalCell/HorizontalCell.tsx +2 -2
  1208. package/src/components/HorizontalScroll/HorizontalScroll.css +14 -5
  1209. package/src/components/HorizontalScroll/HorizontalScroll.tsx +21 -9
  1210. package/src/components/HorizontalScroll/HorizontalScrollArrow.css +28 -24
  1211. package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +28 -9
  1212. package/src/components/HorizontalScroll/Readme.md +1 -0
  1213. package/src/components/HoverPopper/HoverPopper.tsx +1 -1
  1214. package/src/components/InfoRow/InfoRow.tsx +1 -5
  1215. package/src/components/InitialsAvatar/Readme.md +1 -1
  1216. package/src/components/Input/Input.tsx +1 -1
  1217. package/src/components/InputLike/InputLike.tsx +2 -2
  1218. package/src/components/InputLike/InputLikeDivider.tsx +4 -3
  1219. package/src/components/Link/Link.css +21 -1
  1220. package/src/components/Link/Link.tsx +12 -14
  1221. package/src/components/Link/Readme.md +36 -4
  1222. package/src/components/List/List.tsx +5 -10
  1223. package/src/components/MiniInfoCell/MiniInfoCell.css +6 -14
  1224. package/src/components/MiniInfoCell/MiniInfoCell.tsx +13 -22
  1225. package/src/components/ModalCard/ModalCard.tsx +6 -8
  1226. package/src/components/ModalCardBase/ModalCardBase.css +13 -9
  1227. package/src/components/ModalCardBase/ModalCardBase.tsx +15 -19
  1228. package/src/components/ModalCardBase/Readme.md +1 -1
  1229. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -1
  1230. package/src/components/ModalPage/ModalPage.tsx +2 -4
  1231. package/src/components/ModalRoot/ModalRoot.tsx +1 -0
  1232. package/src/components/ModalRoot/ModalRootAdaptive.tsx +4 -3
  1233. package/src/components/ModalRoot/ModalRootDesktop.tsx +1 -0
  1234. package/src/components/ModalRoot/Readme.md +1 -1
  1235. package/src/components/ModalRoot/useModalManager.tsx +5 -2
  1236. package/src/components/NativeSelect/NativeSelect.tsx +2 -4
  1237. package/src/components/NavTransitionContext/NavTransitionContext.tsx +2 -2
  1238. package/src/components/Pagination/Pagination.tsx +2 -2
  1239. package/src/components/PanelHeader/PanelHeader.tsx +2 -2
  1240. package/src/components/PanelHeader/Readme.md +1 -1
  1241. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +1 -3
  1242. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +2 -5
  1243. package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +4 -4
  1244. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +4 -5
  1245. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +2 -2
  1246. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +1 -2
  1247. package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +4 -4
  1248. package/src/components/Placeholder/Placeholder.css +7 -8
  1249. package/src/components/Placeholder/Placeholder.tsx +31 -40
  1250. package/src/components/Placeholder/Readme.md +77 -90
  1251. package/src/components/PopoutRoot/PopoutRoot.tsx +10 -13
  1252. package/src/components/PopoutWrapper/PopoutWrapper.tsx +1 -1
  1253. package/src/components/PopoutWrapper/Readme.md +1 -1
  1254. package/src/components/Popper/Popper.tsx +1 -1
  1255. package/src/components/Popper/Readme.md +2 -2
  1256. package/src/components/Progress/Progress.tsx +1 -1
  1257. package/src/components/PromoBanner/PromoBanner.tsx +8 -4
  1258. package/src/components/Radio/Radio.tsx +9 -10
  1259. package/src/components/RadioGroup/RadioGroup.tsx +2 -2
  1260. package/src/components/RangeSlider/RangeSlider.tsx +3 -2
  1261. package/src/components/RangeSlider/UniversalSlider.tsx +2 -2
  1262. package/src/components/Removable/Removable.css +2 -2
  1263. package/src/components/Removable/Removable.tsx +8 -7
  1264. package/src/components/RichCell/Readme.md +78 -19
  1265. package/src/components/RichCell/RichCell.css +76 -59
  1266. package/src/components/RichCell/RichCell.tsx +49 -43
  1267. package/src/components/RichTooltip/Readme.md +2 -2
  1268. package/src/components/RichTooltip/RichTooltip.tsx +1 -2
  1269. package/src/components/Root/Root.tsx +1 -1
  1270. package/src/components/ScreenSpinner/Icon48CancelCircle.tsx +18 -0
  1271. package/src/components/ScreenSpinner/Icon48DoneOutline.tsx +19 -0
  1272. package/src/components/ScreenSpinner/Readme.md +57 -36
  1273. package/src/components/ScreenSpinner/ScreenSpinner.css +44 -9
  1274. package/src/components/ScreenSpinner/ScreenSpinner.tsx +27 -9
  1275. package/src/components/Search/Search.css +6 -2
  1276. package/src/components/Search/Search.tsx +7 -5
  1277. package/src/components/SegmentedControl/SegmentedControl.css +1 -1
  1278. package/src/components/SegmentedControl/SegmentedControl.tsx +2 -2
  1279. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  1280. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +2 -3
  1281. package/src/components/Select/Select.tsx +7 -5
  1282. package/src/components/SelectMimicry/SelectMimicry.tsx +2 -2
  1283. package/src/components/Separator/Separator.css +11 -11
  1284. package/src/components/Separator/Separator.tsx +3 -6
  1285. package/src/components/SimpleCell/SimpleCell.tsx +2 -4
  1286. package/src/components/SimpleCheckbox/Readme.md +1 -1
  1287. package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +12 -15
  1288. package/src/components/Slider/Slider.tsx +2 -1
  1289. package/src/components/SliderSwitch/Readme.md +1 -1
  1290. package/src/components/SliderSwitch/SliderSwitch.tsx +1 -1
  1291. package/src/components/SliderSwitch/SliderSwitchButton.tsx +7 -4
  1292. package/src/components/Snackbar/Snackbar.tsx +13 -22
  1293. package/src/components/Spacing/Spacing.tsx +1 -1
  1294. package/src/components/SplitCol/SplitCol.tsx +11 -12
  1295. package/src/components/SplitLayout/SplitLayout.tsx +1 -1
  1296. package/src/components/SubnavigationBar/SubnavigationBar.tsx +1 -1
  1297. package/src/components/SubnavigationButton/Readme.md +1 -1
  1298. package/src/components/SubnavigationButton/SubnavigationButton.tsx +14 -21
  1299. package/src/components/Switch/Switch.css +3 -3
  1300. package/src/components/Switch/Switch.tsx +1 -2
  1301. package/src/components/Tabbar/Tabbar.css +12 -10
  1302. package/src/components/Tabbar/Tabbar.tsx +5 -7
  1303. package/src/components/TabbarItem/TabbarItem.tsx +1 -1
  1304. package/src/components/Tabs/Tabs.css +12 -0
  1305. package/src/components/Tabs/Tabs.tsx +1 -1
  1306. package/src/components/TabsItem/TabsItem.tsx +1 -1
  1307. package/src/components/Tappable/Readme.md +1 -1
  1308. package/src/components/TextTooltip/Readme.md +1 -1
  1309. package/src/components/TextTooltip/TextTooltip.tsx +1 -1
  1310. package/src/components/Textarea/Textarea.tsx +1 -1
  1311. package/src/components/Tooltip/Readme.md +1 -1
  1312. package/src/components/Tooltip/Tooltip.css +2 -2
  1313. package/src/components/Tooltip/Tooltip.tsx +6 -3
  1314. package/src/components/Touch/Touch.tsx +1 -1
  1315. package/src/components/Typography/Caption/Caption.tsx +1 -1
  1316. package/src/components/Typography/Headline/Headline.tsx +1 -1
  1317. package/src/components/Typography/Paragraph/Paragraph.tsx +2 -2
  1318. package/src/components/Typography/Subhead/Subhead.tsx +2 -2
  1319. package/src/components/Typography/Text/Text.tsx +1 -1
  1320. package/src/components/Typography/Title/Title.tsx +2 -2
  1321. package/src/components/UsersStack/UsersStack.css +0 -8
  1322. package/src/components/View/Readme.md +1 -1
  1323. package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.tsx +2 -2
  1324. package/src/components/WriteBar/WriteBar.css +1 -0
  1325. package/src/components/WriteBar/WriteBar.tsx +13 -17
  1326. package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -1
  1327. package/src/helpers/scheme.ts +4 -3
  1328. package/src/hoc/withAdaptivity.tsx +1 -1
  1329. package/src/hoc/withContext.tsx +1 -1
  1330. package/src/hoc/withInsets.tsx +1 -1
  1331. package/src/hoc/withPlatform.tsx +1 -1
  1332. package/src/hooks/useEnsuredControl.ts +2 -2
  1333. package/src/hooks/useEventListener.ts +4 -1
  1334. package/src/index.ts +1 -1
  1335. package/src/lib/SSR.tsx +6 -3
  1336. package/src/lib/classScopingMode.ts +1 -0
  1337. package/src/lib/dom.tsx +1 -1
  1338. package/src/lib/jsxRuntime.d.ts +2 -2
  1339. package/src/testing/setup.ts +3 -0
  1340. package/src/testing/utils.tsx +3 -5
  1341. package/src/tokenized/index.ts +42 -0
  1342. package/src/types.ts +4 -0
  1343. package/stylelint.config.js +22 -1
  1344. package/tasks/{styleint-atomic.js → stylelint-atomic.js} +1 -1
  1345. package/tasks/stylelint-bad-multiplication.js +69 -0
  1346. package/CONTRIBUTING.md +0 -66
  1347. package/CSS_GUIDE.md +0 -145
  1348. package/TESTING.md +0 -58
  1349. package/VKUI_TOKENS_MIGRATION_GUIDE.md +0 -76
  1350. package/dist/cjs/appearance/constants.d.ts +0 -1
  1351. package/dist/cjs/components/ActionSheet/ActionSheet.d.ts +0 -29
  1352. package/dist/cjs/components/ActionSheet/ActionSheetContext.d.ts +0 -8
  1353. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.d.ts +0 -4
  1354. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +0 -4
  1355. package/dist/cjs/components/ActionSheet/types.d.ts +0 -9
  1356. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +0 -23
  1357. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.d.ts +0 -46
  1358. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.d.ts +0 -13
  1359. package/dist/cjs/components/Alert/Alert.d.ts +0 -25
  1360. package/dist/cjs/components/AppRoot/AppRoot.d.ts +0 -17
  1361. package/dist/cjs/components/AppRoot/AppRootContext.d.ts +0 -9
  1362. package/dist/cjs/components/AppRoot/AppRootPortal.d.ts +0 -5
  1363. package/dist/cjs/components/AppRoot/ScrollContext.d.ts +0 -26
  1364. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.d.ts +0 -10
  1365. package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.d.ts +0 -3
  1366. package/dist/cjs/components/Avatar/Avatar.d.ts +0 -24
  1367. package/dist/cjs/components/Badge/Badge.d.ts +0 -9
  1368. package/dist/cjs/components/Banner/Banner.d.ts +0 -67
  1369. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts +0 -4
  1370. package/dist/cjs/components/BaseGallery/helpers.d.ts +0 -12
  1371. package/dist/cjs/components/BaseGallery/types.d.ts +0 -43
  1372. package/dist/cjs/components/Button/Button.d.ts +0 -22
  1373. package/dist/cjs/components/ButtonGroup/ButtonGroup.d.ts +0 -23
  1374. package/dist/cjs/components/Calendar/Calendar.d.ts +0 -33
  1375. package/dist/cjs/components/CalendarDay/CalendarDay.d.ts +0 -22
  1376. package/dist/cjs/components/CalendarDays/CalendarDays.d.ts +0 -22
  1377. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +0 -24
  1378. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +0 -19
  1379. package/dist/cjs/components/CalendarTime/CalendarTime.d.ts +0 -11
  1380. package/dist/cjs/components/Card/Card.d.ts +0 -10
  1381. package/dist/cjs/components/CardGrid/CardGrid.d.ts +0 -8
  1382. package/dist/cjs/components/CardScroll/CardScroll.d.ts +0 -15
  1383. package/dist/cjs/components/Cell/Cell.d.ts +0 -50
  1384. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.d.ts +0 -5
  1385. package/dist/cjs/components/Cell/CellDragger/CellDragger.d.ts +0 -6
  1386. package/dist/cjs/components/Cell/useDraggable.d.ts +0 -15
  1387. package/dist/cjs/components/CellButton/CellButton.d.ts +0 -11
  1388. package/dist/cjs/components/Checkbox/Checkbox.d.ts +0 -15
  1389. package/dist/cjs/components/Chip/Chip.d.ts +0 -19
  1390. package/dist/cjs/components/ChipsInput/ChipsInput.d.ts +0 -32
  1391. package/dist/cjs/components/ChipsInput/useChipsInput.d.ts +0 -14
  1392. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +0 -43
  1393. package/dist/cjs/components/ChipsSelect/useChipsSelect.d.ts +0 -22
  1394. package/dist/cjs/components/ClickPopper/ClickPopper.d.ts +0 -21
  1395. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +0 -18
  1396. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +0 -36
  1397. package/dist/cjs/components/ContentCard/ContentCard.d.ts +0 -36
  1398. package/dist/cjs/components/Counter/Counter.d.ts +0 -13
  1399. package/dist/cjs/components/CustomScrollView/CustomScrollView.d.ts +0 -10
  1400. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +0 -61
  1401. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +0 -15
  1402. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.d.ts +0 -47
  1403. package/dist/cjs/components/DateInput/DateInput.d.ts +0 -15
  1404. package/dist/cjs/components/DatePicker/DatePicker.d.ts +0 -23
  1405. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +0 -21
  1406. package/dist/cjs/components/Div/Div.d.ts +0 -9
  1407. package/dist/cjs/components/Dropdown/Dropdown.d.ts +0 -11
  1408. package/dist/cjs/components/DropdownIcon/DropdownIcon.d.ts +0 -3
  1409. package/dist/cjs/components/Epic/Epic.d.ts +0 -11
  1410. package/dist/cjs/components/Epic/ScrollSaver.d.ts +0 -9
  1411. package/dist/cjs/components/File/File.d.ts +0 -13
  1412. package/dist/cjs/components/FixedLayout/FixedLayout.d.ts +0 -21
  1413. package/dist/cjs/components/FocusTrap/FocusTrap.d.ts +0 -11
  1414. package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +0 -10
  1415. package/dist/cjs/components/Footer/Footer.d.ts +0 -8
  1416. package/dist/cjs/components/FormField/FormField.d.ts +0 -36
  1417. package/dist/cjs/components/FormItem/FormItem.d.ts +0 -17
  1418. package/dist/cjs/components/FormLayout/FormLayout.d.ts +0 -8
  1419. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +0 -15
  1420. package/dist/cjs/components/FormStatus/FormStatus.d.ts +0 -10
  1421. package/dist/cjs/components/Gallery/Gallery.d.ts +0 -10
  1422. package/dist/cjs/components/Gradient/Gradient.d.ts +0 -10
  1423. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +0 -15
  1424. package/dist/cjs/components/Group/Group.d.ts +0 -25
  1425. package/dist/cjs/components/Header/Header.d.ts +0 -20
  1426. package/dist/cjs/components/HorizontalCell/HorizontalCell.d.ts +0 -13
  1427. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +0 -21
  1428. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.d.ts +0 -8
  1429. package/dist/cjs/components/HoverPopper/HoverPopper.d.ts +0 -29
  1430. package/dist/cjs/components/IconButton/IconButton.d.ts +0 -14
  1431. package/dist/cjs/components/InfoRow/InfoRow.d.ts +0 -9
  1432. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.d.ts +0 -35
  1433. package/dist/cjs/components/Input/Input.d.ts +0 -11
  1434. package/dist/cjs/components/InputLike/InputLike.d.ts +0 -10
  1435. package/dist/cjs/components/InputLike/InputLikeDivider.d.ts +0 -3
  1436. package/dist/cjs/components/Link/Link.d.ts +0 -8
  1437. package/dist/cjs/components/List/List.d.ts +0 -6
  1438. package/dist/cjs/components/List/ListContext.d.ts +0 -4
  1439. package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.d.ts +0 -2
  1440. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.d.ts +0 -42
  1441. package/dist/cjs/components/ModalCard/ModalCard.d.ts +0 -12
  1442. package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +0 -39
  1443. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.d.ts +0 -7
  1444. package/dist/cjs/components/ModalPage/ModalPage.d.ts +0 -39
  1445. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.d.ts +0 -10
  1446. package/dist/cjs/components/ModalRoot/ModalRoot.d.ts +0 -28
  1447. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +0 -25
  1448. package/dist/cjs/components/ModalRoot/ModalRootContext.d.ts +0 -20
  1449. package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts +0 -28
  1450. package/dist/cjs/components/ModalRoot/constants.d.ts +0 -3
  1451. package/dist/cjs/components/ModalRoot/types.d.ts +0 -60
  1452. package/dist/cjs/components/ModalRoot/useModalManager.d.ts +0 -38
  1453. package/dist/cjs/components/ModalRoot/withModalRootContext.d.ts +0 -5
  1454. package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +0 -19
  1455. package/dist/cjs/components/NavTransitionContext/NavTransitionContext.d.ts +0 -6
  1456. package/dist/cjs/components/Pagination/Pagination.d.ts +0 -45
  1457. package/dist/cjs/components/Panel/Panel.d.ts +0 -12
  1458. package/dist/cjs/components/PanelHeader/PanelHeader.d.ts +0 -31
  1459. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +0 -12
  1460. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.d.ts +0 -11
  1461. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.d.ts +0 -6
  1462. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.d.ts +0 -11
  1463. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.d.ts +0 -10
  1464. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +0 -20
  1465. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +0 -6
  1466. package/dist/cjs/components/PanelSpinner/PanelSpinner.d.ts +0 -9
  1467. package/dist/cjs/components/Placeholder/Placeholder.d.ts +0 -25
  1468. package/dist/cjs/components/PopoutRoot/PopoutRoot.d.ts +0 -10
  1469. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.d.ts +0 -13
  1470. package/dist/cjs/components/Popper/Popper.d.ts +0 -40
  1471. package/dist/cjs/components/Progress/Progress.d.ts +0 -10
  1472. package/dist/cjs/components/PromoBanner/PromoBanner.d.ts +0 -43
  1473. package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +0 -22
  1474. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.d.ts +0 -10
  1475. package/dist/cjs/components/Radio/Radio.d.ts +0 -11
  1476. package/dist/cjs/components/RadioGroup/RadioGroup.d.ts +0 -9
  1477. package/dist/cjs/components/RangeSlider/RangeSlider.d.ts +0 -8
  1478. package/dist/cjs/components/RangeSlider/UniversalSlider.d.ts +0 -16
  1479. package/dist/cjs/components/Removable/Removable.d.ts +0 -24
  1480. package/dist/cjs/components/RichCell/RichCell.d.ts +0 -47
  1481. package/dist/cjs/components/RichTooltip/RichTooltip.d.ts +0 -8
  1482. package/dist/cjs/components/Root/Root.d.ts +0 -33
  1483. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.d.ts +0 -8
  1484. package/dist/cjs/components/Search/Search.d.ts +0 -16
  1485. package/dist/cjs/components/SegmentedControl/SegmentedControl.d.ts +0 -20
  1486. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +0 -7
  1487. package/dist/cjs/components/Select/Select.d.ts +0 -18
  1488. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +0 -15
  1489. package/dist/cjs/components/Separator/Separator.d.ts +0 -16
  1490. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +0 -41
  1491. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -12
  1492. package/dist/cjs/components/Slider/Slider.d.ts +0 -7
  1493. package/dist/cjs/components/SliderSwitch/SliderSwitch.d.ts +0 -48
  1494. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.d.ts +0 -11
  1495. package/dist/cjs/components/Snackbar/Snackbar.d.ts +0 -38
  1496. package/dist/cjs/components/Spacing/Spacing.d.ts +0 -23
  1497. package/dist/cjs/components/Spinner/Spinner.d.ts +0 -9
  1498. package/dist/cjs/components/SplitCol/SplitCol.d.ts +0 -25
  1499. package/dist/cjs/components/SplitLayout/SplitLayout.d.ts +0 -18
  1500. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.d.ts +0 -10
  1501. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.d.ts +0 -24
  1502. package/dist/cjs/components/Switch/Switch.d.ts +0 -10
  1503. package/dist/cjs/components/Tabbar/Tabbar.d.ts +0 -13
  1504. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +0 -23
  1505. package/dist/cjs/components/Tabs/Tabs.d.ts +0 -12
  1506. package/dist/cjs/components/TabsItem/TabsItem.d.ts +0 -10
  1507. package/dist/cjs/components/Tappable/Tappable.d.ts +0 -45
  1508. package/dist/cjs/components/TextTooltip/TextTooltip.d.ts +0 -17
  1509. package/dist/cjs/components/Textarea/Textarea.d.ts +0 -10
  1510. package/dist/cjs/components/Tooltip/Tooltip.d.ts +0 -57
  1511. package/dist/cjs/components/Tooltip/TooltipContainer.d.ts +0 -5
  1512. package/dist/cjs/components/Touch/Touch.d.ts +0 -52
  1513. package/dist/cjs/components/Touch/TouchContext.d.ts +0 -7
  1514. package/dist/cjs/components/Typography/Caption/Caption.d.ts +0 -17
  1515. package/dist/cjs/components/Typography/Footnote/Footnote.d.ts +0 -14
  1516. package/dist/cjs/components/Typography/Headline/Headline.d.ts +0 -16
  1517. package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts +0 -13
  1518. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +0 -15
  1519. package/dist/cjs/components/Typography/Text/Text.d.ts +0 -15
  1520. package/dist/cjs/components/Typography/Title/Title.d.ts +0 -16
  1521. package/dist/cjs/components/UsersStack/UsersStack.d.ts +0 -25
  1522. package/dist/cjs/components/UsersStack/masks.d.ts +0 -1
  1523. package/dist/cjs/components/View/View.d.ts +0 -83
  1524. package/dist/cjs/components/View/ViewInfinite.d.ts +0 -66
  1525. package/dist/cjs/components/View/utils.d.ts +0 -2
  1526. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +0 -12
  1527. package/dist/cjs/components/WriteBar/WriteBar.d.ts +0 -26
  1528. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.d.ts +0 -21
  1529. package/dist/cjs/helpers/avatar.d.ts +0 -5
  1530. package/dist/cjs/helpers/getClassName.d.ts +0 -2
  1531. package/dist/cjs/helpers/getScheme.d.ts +0 -8
  1532. package/dist/cjs/helpers/math.d.ts +0 -5
  1533. package/dist/cjs/helpers/scheme.d.ts +0 -34
  1534. package/dist/cjs/hoc/withAdaptivity.d.ts +0 -13
  1535. package/dist/cjs/hoc/withContext.d.ts +0 -2
  1536. package/dist/cjs/hoc/withInsets.d.ts +0 -3
  1537. package/dist/cjs/hoc/withPlatform.d.ts +0 -3
  1538. package/dist/cjs/hooks/useAdaptivity.d.ts +0 -4
  1539. package/dist/cjs/hooks/useAppearance.d.ts +0 -1
  1540. package/dist/cjs/hooks/useBooleanState.d.ts +0 -6
  1541. package/dist/cjs/hooks/useBridgeAdaptivity.d.ts +0 -6
  1542. package/dist/cjs/hooks/useBrowserInfo.d.ts +0 -2
  1543. package/dist/cjs/hooks/useCalendar.d.ts +0 -19
  1544. package/dist/cjs/hooks/useDateInput.d.ts +0 -30
  1545. package/dist/cjs/hooks/useEffectDev.d.ts +0 -2
  1546. package/dist/cjs/hooks/useEnsuredControl.d.ts +0 -6
  1547. package/dist/cjs/hooks/useEventListener.d.ts +0 -7
  1548. package/dist/cjs/hooks/useExternRef.d.ts +0 -2
  1549. package/dist/cjs/hooks/useFocusVisible.d.ts +0 -6
  1550. package/dist/cjs/hooks/useGlobalEventListener.d.ts +0 -2
  1551. package/dist/cjs/hooks/useInsets.d.ts +0 -8
  1552. package/dist/cjs/hooks/useKeyboard.d.ts +0 -10
  1553. package/dist/cjs/hooks/useKeyboardInputTracker.d.ts +0 -3
  1554. package/dist/cjs/hooks/useObjectMemo.d.ts +0 -2
  1555. package/dist/cjs/hooks/useOrientationChange.d.ts +0 -7
  1556. package/dist/cjs/hooks/usePagination.d.ts +0 -34
  1557. package/dist/cjs/hooks/usePatchChildrenRef.d.ts +0 -6
  1558. package/dist/cjs/hooks/usePlatform.d.ts +0 -2
  1559. package/dist/cjs/hooks/usePrevious.d.ts +0 -1
  1560. package/dist/cjs/hooks/useTimeout.d.ts +0 -4
  1561. package/dist/cjs/hooks/useWaitTransitionFinish.d.ts +0 -3
  1562. package/dist/cjs/index.d.ts +0 -305
  1563. package/dist/cjs/lib/SSR.d.ts +0 -17
  1564. package/dist/cjs/lib/accessibility.d.ts +0 -10
  1565. package/dist/cjs/lib/animate.d.ts +0 -15
  1566. package/dist/cjs/lib/browser.d.ts +0 -11
  1567. package/dist/cjs/lib/calendar.d.ts +0 -14
  1568. package/dist/cjs/lib/callMultiple.d.ts +0 -1
  1569. package/dist/cjs/lib/classNames.d.ts +0 -6
  1570. package/dist/cjs/lib/classScopingMode.d.ts +0 -8
  1571. package/dist/cjs/lib/date.d.ts +0 -29
  1572. package/dist/cjs/lib/dom.d.ts +0 -21
  1573. package/dist/cjs/lib/fx.d.ts +0 -5
  1574. package/dist/cjs/lib/getNavId.d.ts +0 -7
  1575. package/dist/cjs/lib/is.d.ts +0 -1
  1576. package/dist/cjs/lib/isRefObject.d.ts +0 -2
  1577. package/dist/cjs/lib/jsxRuntime.d.ts +0 -8
  1578. package/dist/cjs/lib/offset.d.ts +0 -7
  1579. package/dist/cjs/lib/platform.d.ts +0 -19
  1580. package/dist/cjs/lib/polyfills.d.ts +0 -6
  1581. package/dist/cjs/lib/prefixClass.d.ts +0 -1
  1582. package/dist/cjs/lib/removeObjectKeys.d.ts +0 -1
  1583. package/dist/cjs/lib/select.d.ts +0 -9
  1584. package/dist/cjs/lib/styles.d.ts +0 -1
  1585. package/dist/cjs/lib/supportEvents.d.ts +0 -9
  1586. package/dist/cjs/lib/taptic.d.ts +0 -2
  1587. package/dist/cjs/lib/testing.d.ts +0 -1
  1588. package/dist/cjs/lib/touch.d.ts +0 -9
  1589. package/dist/cjs/lib/useIsomorphicLayoutEffect.d.ts +0 -2
  1590. package/dist/cjs/lib/utils.d.ts +0 -16
  1591. package/dist/cjs/lib/warnOnce.d.ts +0 -2
  1592. package/dist/cjs/tokenized/index.d.ts +0 -126
  1593. package/dist/cjs/types.d.ts +0 -34
  1594. package/dist/cjs/unstable/index.d.ts +0 -17
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CustomSelectOption/CustomSelectOption.tsx"],"names":["warn","CustomSelectOption","children","hierarchy","hovered","selected","before","after","option","description","disabled","styleProp","style","restProps","title","undefined","sizeY","React","useMemo","process","env","NODE_ENV"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;AA8CA,IAAMA,IAAI,GAAG,wBAAS,oBAAT,CAAb;AAEA;AACA;AACA;;AACO,IAAMC,kBAAqD,GAAG,SAAxDA,kBAAwD,OAYtC;AAAA,MAX7BC,QAW6B,QAX7BA,QAW6B;AAAA,4BAV7BC,SAU6B;AAAA,MAV7BA,SAU6B,+BAVjB,CAUiB;AAAA,MAT7BC,OAS6B,QAT7BA,OAS6B;AAAA,MAR7BC,QAQ6B,QAR7BA,QAQ6B;AAAA,MAP7BC,MAO6B,QAP7BA,MAO6B;AAAA,MAN7BC,KAM6B,QAN7BA,KAM6B;AAAA,MAL7BC,MAK6B,QAL7BA,MAK6B;AAAA,MAJ7BC,WAI6B,QAJ7BA,WAI6B;AAAA,MAH7BC,QAG6B,QAH7BA,QAG6B;AAAA,MAFtBC,SAEsB,QAF7BC,KAE6B;AAAA,MAD1BC,SAC0B;AAC7B,MAAMC,KAAK,GAAG,OAAOZ,QAAP,KAAoB,QAApB,GAA+BA,QAA/B,GAA0Ca,SAAxD;;AACA,uBAAkB,oCAAlB;AAAA,MAAQC,KAAR,kBAAQA,KAAR;;AACA,MAAMJ,KAAK,GAAGK,KAAK,CAACC,OAAN,CACZ;AAAA,WACEf,SAAS,GAAG,CAAZ;AAEM,gDAA0CA;AAFhD,OAGSQ,SAHT,IAKIA,SANN;AAAA,GADY,EAQZ,CAACR,SAAD,EAAYQ,SAAZ,CARY,CAAd;;AAWA,MAAI,CAAC,CAACH,MAAF,IAAYW,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzC,EAAwD;AACtDrB,IAAAA,IAAI,CAAC,mEAAD,CAAJ;AACD;;AAED,SACE,qCAAC,oBAAD,6BACMa,SADN;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,IAAI,EAAC,QAHP;AAIE,IAAA,KAAK,EAAEC,KAJT;AAKE,qBAAeJ,QALjB;AAME,qBAAeL,QANjB;AAOE,IAAA,SAAS,EAAE,4BACT,oBADS,sCAEoBW,KAFpB,GAGTZ,OAAO,IAAI,CAACM,QAAZ,IAAwB,2BAHf,EAITL,QAAQ,IAAI,8BAJH,EAImC;AAC5CK,IAAAA,QAAQ,IAAI,8BALH,EAMTP,SAAS,GAAG,CAAZ,IAAiB,+BANR,CAPb;AAeE,IAAA,KAAK,EAAES;AAfT,MAiBG,yBAAaN,MAAb,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA6CA,MAA7C,CAlBJ,EAoBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA+CJ,QAA/C,CADF,EAEG,yBAAaO,WAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KACGA,WADH,CAHJ,CApBF,EA4BE;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,CA5BF,CADF;AAuCD,CArEM","sourcesContent":["import * as React from \"react\";\nimport { Icon16Done } from \"@vkontakte/icons\";\nimport { classNames } from \"../../lib/classNames\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Paragraph } from \"../Typography/Paragraph/Paragraph\";\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 /**\n * Вставляет основной контент.\n */\n option?: any;\n /**\n * Добавляет описание под основным блоком.\n */\n description?: React.ReactNode;\n /**\n * Вставляет элемент в начало блока перед основным контентом.\n * Например, можно передать компонент `Avatar`, `Icon<Name>` или другие изображения.\n */\n before?: React.ReactNode;\n /**\n * Вставляет элемент в конец блока после основного контента.\n * Например, можно передать компонент `Avatar`, `Icon<Name>` или другие изображения.\n */\n after?: React.ReactNode;\n /**\n * Позволяет создавать вложенность.\n */\n hierarchy?: number;\n /**\n * Включает состояние выбранного элемента списка.\n */\n selected?: boolean;\n /**\n * Включает состояние наведения.\n */\n hovered?: boolean;\n /**\n * Включает состояние фокуса.\n */\n focused?: boolean;\n /**\n * Блокирует весь блок.\n */\n disabled?: boolean;\n}\n\nconst warn = warnOnce(\"CustomSelectOption\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CustomSelectOption\n */\nexport const CustomSelectOption: React.FC<CustomSelectOptionProps> = ({\n children,\n hierarchy = 0,\n hovered,\n selected,\n before,\n after,\n option,\n description,\n disabled,\n style: styleProp,\n ...restProps\n}: CustomSelectOptionProps) => {\n const title = typeof children === \"string\" ? children : undefined;\n const { sizeY } = useAdaptivity();\n const style = React.useMemo(\n () =>\n hierarchy > 0\n ? {\n \"--custom-select-option-hierarchy-level\": hierarchy,\n ...styleProp,\n }\n : styleProp,\n [hierarchy, styleProp]\n );\n\n if (!!option && process.env.NODE_ENV === \"development\") {\n warn(\"Свойство option было добавлено по ошибке и будет удалено в 5.0.0.\");\n }\n\n return (\n <Paragraph\n {...restProps}\n Component=\"div\"\n role=\"option\"\n title={title}\n aria-disabled={disabled}\n aria-selected={selected}\n vkuiClass={classNames(\n \"CustomSelectOption\",\n `CustomSelectOption--sizeY-${sizeY}`,\n hovered && !disabled && \"CustomSelectOption--hover\",\n selected && \"CustomSelectOption--selected\", // Note: пустой класс\n disabled && \"CustomSelectOption--disabled\",\n hierarchy > 0 && \"CustomSelectOption--hierarchy\"\n )}\n style={style}\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 </Paragraph>\n );\n};\n"],"file":"CustomSelectOption.js"}
1
+ {"version":3,"sources":["../../../../src/components/CustomSelectOption/CustomSelectOption.tsx"],"names":["warn","CustomSelectOption","children","hierarchy","hovered","selected","before","after","option","description","disabled","styleProp","style","restProps","title","undefined","sizeY","React","useMemo","process","env","NODE_ENV"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;AA8CA,IAAMA,IAAI,GAAG,wBAAS,oBAAT,CAAb;AAEA;AACA;AACA;;AACO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,OAYH;AAAA,MAX7BC,QAW6B,QAX7BA,QAW6B;AAAA,4BAV7BC,SAU6B;AAAA,MAV7BA,SAU6B,+BAVjB,CAUiB;AAAA,MAT7BC,OAS6B,QAT7BA,OAS6B;AAAA,MAR7BC,QAQ6B,QAR7BA,QAQ6B;AAAA,MAP7BC,MAO6B,QAP7BA,MAO6B;AAAA,MAN7BC,KAM6B,QAN7BA,KAM6B;AAAA,MAL7BC,MAK6B,QAL7BA,MAK6B;AAAA,MAJ7BC,WAI6B,QAJ7BA,WAI6B;AAAA,MAH7BC,QAG6B,QAH7BA,QAG6B;AAAA,MAFtBC,SAEsB,QAF7BC,KAE6B;AAAA,MAD1BC,SAC0B;AAC7B,MAAMC,KAAK,GAAG,OAAOZ,QAAP,KAAoB,QAApB,GAA+BA,QAA/B,GAA0Ca,SAAxD;;AACA,uBAAkB,oCAAlB;AAAA,MAAQC,KAAR,kBAAQA,KAAR;;AACA,MAAMJ,KAAK,GAAGK,KAAK,CAACC,OAAN,CACZ;AAAA,WACEf,SAAS,GAAG,CAAZ;AAEM,gDAA0CA;AAFhD,OAGSQ,SAHT,IAKIA,SANN;AAAA,GADY,EAQZ,CAACR,SAAD,EAAYQ,SAAZ,CARY,CAAd;;AAWA,MAAI,CAAC,CAACH,MAAF,IAAYW,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzC,EAAwD;AACtDrB,IAAAA,IAAI,CAAC,mEAAD,CAAJ;AACD;;AAED,SACE,qCAAC,oBAAD,6BACMa,SADN;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,IAAI,EAAC,QAHP;AAIE,IAAA,KAAK,EAAEC,KAJT;AAKE,qBAAeJ,QALjB;AAME,qBAAeL,QANjB;AAOE,IAAA,SAAS,EAAE,4BACT,oBADS,sCAEoBW,KAFpB,GAGTZ,OAAO,IAAI,CAACM,QAAZ,IAAwB,2BAHf,EAITL,QAAQ,IAAI,8BAJH,EAImC;AAC5CK,IAAAA,QAAQ,IAAI,8BALH,EAMTP,SAAS,GAAG,CAAZ,IAAiB,+BANR,CAPb;AAeE,IAAA,KAAK,EAAES;AAfT,MAiBG,yBAAaN,MAAb,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA6CA,MAA7C,CAlBJ,EAoBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA+CJ,QAA/C,CADF,EAEG,yBAAaO,WAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KACGA,WADH,CAHJ,CApBF,EA4BE;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,CA5BF,CADF;AAuCD,CArEM","sourcesContent":["import * as React from \"react\";\nimport { Icon16Done } from \"@vkontakte/icons\";\nimport { classNames } from \"../../lib/classNames\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Paragraph } from \"../Typography/Paragraph/Paragraph\";\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 /**\n * Вставляет основной контент.\n */\n option?: any;\n /**\n * Добавляет описание под основным блоком.\n */\n description?: React.ReactNode;\n /**\n * Вставляет элемент в начало блока перед основным контентом.\n * Например, можно передать компонент `Avatar`, `Icon<Name>` или другие изображения.\n */\n before?: React.ReactNode;\n /**\n * Вставляет элемент в конец блока после основного контента.\n * Например, можно передать компонент `Avatar`, `Icon<Name>` или другие изображения.\n */\n after?: React.ReactNode;\n /**\n * Позволяет создавать вложенность.\n */\n hierarchy?: number;\n /**\n * Включает состояние выбранного элемента списка.\n */\n selected?: boolean;\n /**\n * Включает состояние наведения.\n */\n hovered?: boolean;\n /**\n * Включает состояние фокуса.\n */\n focused?: boolean;\n /**\n * Блокирует весь блок.\n */\n disabled?: boolean;\n}\n\nconst warn = warnOnce(\"CustomSelectOption\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CustomSelectOption\n */\nexport const CustomSelectOption = ({\n children,\n hierarchy = 0,\n hovered,\n selected,\n before,\n after,\n option,\n description,\n disabled,\n style: styleProp,\n ...restProps\n}: CustomSelectOptionProps) => {\n const title = typeof children === \"string\" ? children : undefined;\n const { sizeY } = useAdaptivity();\n const style = React.useMemo(\n () =>\n hierarchy > 0\n ? {\n \"--custom-select-option-hierarchy-level\": hierarchy,\n ...styleProp,\n }\n : styleProp,\n [hierarchy, styleProp]\n );\n\n if (!!option && process.env.NODE_ENV === \"development\") {\n warn(\"Свойство option было добавлено по ошибке и будет удалено в 5.0.0.\");\n }\n\n return (\n <Paragraph\n {...restProps}\n Component=\"div\"\n role=\"option\"\n title={title}\n aria-disabled={disabled}\n aria-selected={selected}\n vkuiClass={classNames(\n \"CustomSelectOption\",\n `CustomSelectOption--sizeY-${sizeY}`,\n hovered && !disabled && \"CustomSelectOption--hover\",\n selected && \"CustomSelectOption--selected\", // Note: пустой класс\n disabled && \"CustomSelectOption--disabled\",\n hierarchy > 0 && \"CustomSelectOption--hierarchy\"\n )}\n style={style}\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 </Paragraph>\n );\n};\n"],"file":"CustomSelectOption.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DateInput/DateInput.tsx"],"names":["elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","getHours","getMinutes","DateInput","enableTime","shouldDisableDate","disableFuture","disablePast","onChange","calendarPlacement","style","className","doneButtonText","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthAriaLabel","nextMonthAriaLabel","showNeighboringMonth","size","changeMonthAriaLabel","changeYearAriaLabel","changeDayAriaLabel","changeHoursAriaLabel","changeMinutesAriaLabel","clearFieldAriaLabel","showCalendarAriaLabel","viewDate","onHeaderChange","onNextMonth","onPrevMonth","prevMonthIcon","nextMonthIcon","props","daysRef","React","useRef","monthsRef","yearsRef","hoursRef","minutesRef","maxElement","onInternalValueChange","useCallback","internalValue","i","formattedValue","mask","Date","refs","useMemo","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","sizeY","onCalendarChange"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { format, isMatch, parse } from \"../../lib/date\";\nimport { Icon16Clear, Icon20CalendarOutline } from \"@vkontakte/icons\";\nimport { Calendar, CalendarProps } from \"../Calendar/Calendar\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport { multiRef } from \"../../lib/utils\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport { classNames } from \"../../lib/classNames\";\nimport { FormField } from \"../FormField/FormField\";\nimport { HasRootRef } from \"../../types\";\nimport { useDateInput } from \"../../hooks/useDateInput\";\nimport { InputLike } from \"../InputLike/InputLike\";\nimport { InputLikeDivider } from \"../InputLike/InputLikeDivider\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport \"./DateInput.css\";\n\nexport interface DateInputProps\n extends Omit<\n React.InputHTMLAttributes<HTMLDivElement>,\n \"value\" | \"onChange\" | \"size\"\n >,\n Pick<\n CalendarProps,\n | \"disablePast\"\n | \"disableFuture\"\n | \"enableTime\"\n | \"shouldDisableDate\"\n | \"onChange\"\n | \"value\"\n | \"doneButtonText\"\n | \"weekStartsOn\"\n | \"disablePickers\"\n | \"changeHoursAriaLabel\"\n | \"changeMinutesAriaLabel\"\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"changeDayAriaLabel\"\n | \"showNeighboringMonth\"\n | \"size\"\n | \"viewDate\"\n | \"onHeaderChange\"\n | \"onNextMonth\"\n | \"onPrevMonth\"\n | \"prevMonthIcon\"\n | \"nextMonthIcon\"\n >,\n HasRootRef<HTMLDivElement> {\n calendarPlacement?: Placement;\n closeOnChange?: boolean;\n clearFieldAriaLabel?: string;\n showCalendarAriaLabel?: string;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n max = 31;\n break;\n case 1:\n max = 12;\n break;\n case 2:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n case 3:\n max = 23;\n break;\n case 4:\n max = 59;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarProps[\"value\"]) => {\n const newValue = [\"\", \"\", \"\", \"\", \"\"];\n if (value) {\n newValue[0] = String(value.getDate()).padStart(2, \"0\");\n newValue[1] = String(value.getMonth() + 1).padStart(2, \"0\");\n newValue[2] = String(value.getFullYear()).padStart(4, \"0\");\n newValue[3] = String(value.getHours()).padStart(2, \"0\");\n newValue[4] = String(value.getMinutes()).padStart(2, \"0\");\n }\n return newValue;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/DateInput\n */\nexport const DateInput: React.FC<DateInputProps> = ({\n enableTime,\n shouldDisableDate,\n disableFuture,\n disablePast,\n value,\n onChange,\n calendarPlacement = \"bottom-start\",\n style,\n className,\n doneButtonText,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n showNeighboringMonth,\n size,\n changeMonthAriaLabel = \"Изменить месяц\",\n changeYearAriaLabel = \"Изменить год\",\n changeDayAriaLabel = \"Изменить день\",\n changeHoursAriaLabel = \"Изменить час\",\n changeMinutesAriaLabel = \"Изменить минуту\",\n clearFieldAriaLabel = \"Очистить поле\",\n showCalendarAriaLabel = \"Показать календарь\",\n viewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n prevMonthIcon,\n nextMonthIcon,\n ...props\n}) => {\n const daysRef = React.useRef<HTMLSpanElement>(null);\n const monthsRef = React.useRef<HTMLSpanElement>(null);\n const yearsRef = React.useRef<HTMLSpanElement>(null);\n const hoursRef = React.useRef<HTMLSpanElement>(null);\n const minutesRef = React.useRef<HTMLSpanElement>(null);\n\n const maxElement = enableTime ? 4 : 2;\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n for (let i = 0; i <= maxElement; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n return;\n }\n }\n\n let formattedValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n let mask = \"DD.MM.YYYY\";\n if (enableTime) {\n formattedValue += ` ${internalValue[3]}:${internalValue[4]}`;\n mask += \" HH:mm\";\n }\n\n if (isMatch(formattedValue, mask)) {\n onChange?.(parse(formattedValue, mask, value ?? new Date()));\n }\n },\n [enableTime, maxElement, onChange, value]\n );\n\n const refs = React.useMemo(\n () => [daysRef, monthsRef, yearsRef, hoursRef, minutesRef],\n [daysRef, monthsRef, yearsRef, hoursRef, minutesRef]\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onChange,\n onInternalValueChange,\n getInternalValue,\n value,\n });\n\n const { sizeY } = useAdaptivity();\n\n const onCalendarChange = React.useCallback(\n (value?: Date | undefined) => {\n onChange?.(value);\n if (closeOnChange && !enableTime) {\n removeFocusFromField();\n }\n },\n [onChange, removeFocusFromField, closeOnChange, enableTime]\n );\n\n return (\n <FormField\n vkuiClass={classNames(\"DateInput\", `DateInput--sizeY-${sizeY}`)}\n style={style}\n className={className}\n getRootRef={multiRef(rootRef, getRootRef)}\n after={\n value ? (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={clearFieldAriaLabel}\n onClick={clear}\n >\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={showCalendarAriaLabel}\n onClick={openCalendar}\n >\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <input\n type=\"hidden\"\n name={name}\n value={\n value\n ? format(value, enableTime ? \"DD.MM.YYYYTHH:mm\" : \"DD.MM.YYYY\")\n : \"\"\n }\n />\n <span vkuiClass=\"DateInput__input\" onKeyDown={handleKeyDown}>\n <InputLike\n tabIndex={1}\n length={2}\n getRootRef={daysRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n aria-label={changeDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n aria-label={changeMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n aria-label={changeYearAriaLabel}\n />\n {enableTime && (\n <React.Fragment>\n <InputLikeDivider vkuiClass=\"DateInput__input-time-divider\">\n {\" \"}\n </InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={hoursRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n aria-label={changeHoursAriaLabel}\n />\n <InputLikeDivider>:</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={minutesRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n aria-label={changeMinutesAriaLabel}\n />\n </React.Fragment>\n )}\n </span>\n {open && (\n <Popper\n targetRef={rootRef}\n offsetDistance={8}\n placement={calendarPlacement}\n >\n <Calendar\n value={value}\n onChange={onCalendarChange}\n enableTime={enableTime}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onClose={closeCalendar}\n getRootRef={calendarRef}\n doneButtonText={doneButtonText}\n disablePickers={disablePickers}\n changeHoursAriaLabel={changeHoursAriaLabel}\n changeMinutesAriaLabel={changeMinutesAriaLabel}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n changeDayAriaLabel={changeDayAriaLabel}\n showNeighboringMonth={showNeighboringMonth}\n size={size}\n viewDate={viewDate}\n onHeaderChange={onHeaderChange}\n onNextMonth={onNextMonth}\n onPrevMonth={onPrevMonth}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"file":"DateInput.js"}
1
+ {"version":3,"sources":["../../../../src/components/DateInput/DateInput.tsx"],"names":["elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","getHours","getMinutes","DateInput","enableTime","shouldDisableDate","disableFuture","disablePast","onChange","calendarPlacement","style","className","doneButtonText","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthAriaLabel","nextMonthAriaLabel","showNeighboringMonth","size","changeMonthAriaLabel","changeYearAriaLabel","changeDayAriaLabel","changeHoursAriaLabel","changeMinutesAriaLabel","clearFieldAriaLabel","showCalendarAriaLabel","viewDate","onHeaderChange","onNextMonth","onPrevMonth","prevMonthIcon","nextMonthIcon","props","daysRef","React","useRef","monthsRef","yearsRef","hoursRef","minutesRef","maxElement","onInternalValueChange","useCallback","internalValue","i","formattedValue","mask","Date","refs","useMemo","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","sizeY","onCalendarChange"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { format, isMatch, parse } from \"../../lib/date\";\nimport { Icon16Clear, Icon20CalendarOutline } from \"@vkontakte/icons\";\nimport { Calendar, CalendarProps } from \"../Calendar/Calendar\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport { multiRef } from \"../../lib/utils\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport { classNames } from \"../../lib/classNames\";\nimport { FormField } from \"../FormField/FormField\";\nimport { HasRootRef } from \"../../types\";\nimport { useDateInput } from \"../../hooks/useDateInput\";\nimport { InputLike } from \"../InputLike/InputLike\";\nimport { InputLikeDivider } from \"../InputLike/InputLikeDivider\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport \"./DateInput.css\";\n\nexport interface DateInputProps\n extends Omit<\n React.InputHTMLAttributes<HTMLDivElement>,\n \"value\" | \"onChange\" | \"size\"\n >,\n Pick<\n CalendarProps,\n | \"disablePast\"\n | \"disableFuture\"\n | \"enableTime\"\n | \"shouldDisableDate\"\n | \"onChange\"\n | \"value\"\n | \"doneButtonText\"\n | \"weekStartsOn\"\n | \"disablePickers\"\n | \"changeHoursAriaLabel\"\n | \"changeMinutesAriaLabel\"\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"changeDayAriaLabel\"\n | \"showNeighboringMonth\"\n | \"size\"\n | \"viewDate\"\n | \"onHeaderChange\"\n | \"onNextMonth\"\n | \"onPrevMonth\"\n | \"prevMonthIcon\"\n | \"nextMonthIcon\"\n >,\n HasRootRef<HTMLDivElement> {\n calendarPlacement?: Placement;\n closeOnChange?: boolean;\n clearFieldAriaLabel?: string;\n showCalendarAriaLabel?: string;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n max = 31;\n break;\n case 1:\n max = 12;\n break;\n case 2:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n case 3:\n max = 23;\n break;\n case 4:\n max = 59;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarProps[\"value\"]) => {\n const newValue = [\"\", \"\", \"\", \"\", \"\"];\n if (value) {\n newValue[0] = String(value.getDate()).padStart(2, \"0\");\n newValue[1] = String(value.getMonth() + 1).padStart(2, \"0\");\n newValue[2] = String(value.getFullYear()).padStart(4, \"0\");\n newValue[3] = String(value.getHours()).padStart(2, \"0\");\n newValue[4] = String(value.getMinutes()).padStart(2, \"0\");\n }\n return newValue;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/DateInput\n */\nexport const DateInput = ({\n enableTime,\n shouldDisableDate,\n disableFuture,\n disablePast,\n value,\n onChange,\n calendarPlacement = \"bottom-start\",\n style,\n className,\n doneButtonText,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n showNeighboringMonth,\n size,\n changeMonthAriaLabel = \"Изменить месяц\",\n changeYearAriaLabel = \"Изменить год\",\n changeDayAriaLabel = \"Изменить день\",\n changeHoursAriaLabel = \"Изменить час\",\n changeMinutesAriaLabel = \"Изменить минуту\",\n clearFieldAriaLabel = \"Очистить поле\",\n showCalendarAriaLabel = \"Показать календарь\",\n viewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n prevMonthIcon,\n nextMonthIcon,\n ...props\n}: DateInputProps) => {\n const daysRef = React.useRef<HTMLSpanElement>(null);\n const monthsRef = React.useRef<HTMLSpanElement>(null);\n const yearsRef = React.useRef<HTMLSpanElement>(null);\n const hoursRef = React.useRef<HTMLSpanElement>(null);\n const minutesRef = React.useRef<HTMLSpanElement>(null);\n\n const maxElement = enableTime ? 4 : 2;\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n for (let i = 0; i <= maxElement; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n return;\n }\n }\n\n let formattedValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n let mask = \"DD.MM.YYYY\";\n if (enableTime) {\n formattedValue += ` ${internalValue[3]}:${internalValue[4]}`;\n mask += \" HH:mm\";\n }\n\n if (isMatch(formattedValue, mask)) {\n onChange?.(parse(formattedValue, mask, value ?? new Date()));\n }\n },\n [enableTime, maxElement, onChange, value]\n );\n\n const refs = React.useMemo(\n () => [daysRef, monthsRef, yearsRef, hoursRef, minutesRef],\n [daysRef, monthsRef, yearsRef, hoursRef, minutesRef]\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onChange,\n onInternalValueChange,\n getInternalValue,\n value,\n });\n\n const { sizeY } = useAdaptivity();\n\n const onCalendarChange = React.useCallback(\n (value?: Date | undefined) => {\n onChange?.(value);\n if (closeOnChange && !enableTime) {\n removeFocusFromField();\n }\n },\n [onChange, removeFocusFromField, closeOnChange, enableTime]\n );\n\n return (\n <FormField\n vkuiClass={classNames(\"DateInput\", `DateInput--sizeY-${sizeY}`)}\n style={style}\n className={className}\n getRootRef={multiRef(rootRef, getRootRef)}\n after={\n value ? (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={clearFieldAriaLabel}\n onClick={clear}\n >\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={showCalendarAriaLabel}\n onClick={openCalendar}\n >\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <input\n type=\"hidden\"\n name={name}\n value={\n value\n ? format(value, enableTime ? \"DD.MM.YYYYTHH:mm\" : \"DD.MM.YYYY\")\n : \"\"\n }\n />\n <span vkuiClass=\"DateInput__input\" onKeyDown={handleKeyDown}>\n <InputLike\n tabIndex={1}\n length={2}\n getRootRef={daysRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n aria-label={changeDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n aria-label={changeMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n aria-label={changeYearAriaLabel}\n />\n {enableTime && (\n <React.Fragment>\n <InputLikeDivider vkuiClass=\"DateInput__input-time-divider\">\n {\" \"}\n </InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={hoursRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n aria-label={changeHoursAriaLabel}\n />\n <InputLikeDivider>:</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={minutesRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n aria-label={changeMinutesAriaLabel}\n />\n </React.Fragment>\n )}\n </span>\n {open && (\n <Popper\n targetRef={rootRef}\n offsetDistance={8}\n placement={calendarPlacement}\n >\n <Calendar\n value={value}\n onChange={onCalendarChange}\n enableTime={enableTime}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onClose={closeCalendar}\n getRootRef={calendarRef}\n doneButtonText={doneButtonText}\n disablePickers={disablePickers}\n changeHoursAriaLabel={changeHoursAriaLabel}\n changeMinutesAriaLabel={changeMinutesAriaLabel}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n changeDayAriaLabel={changeDayAriaLabel}\n showNeighboringMonth={showNeighboringMonth}\n size={size}\n viewDate={viewDate}\n onHeaderChange={onHeaderChange}\n onNextMonth={onNextMonth}\n onPrevMonth={onPrevMonth}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"file":"DateInput.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DatePicker/DatePicker.tsx"],"names":["DefaultMonths","convertToInputFormat","day","month","year","parseInputDate","date","splited","split","Number","getMonthMaxDay","Date","getDate","range","start","end","swap","arr","i","Math","min","max","push","reverse","DatePickerCustom","name","dayPlaceholder","monthPlaceholder","yearPlaceholder","popupDirection","defaultValue","hasMouse","monthNames","onDateChange","disabled","restProps","onSelectChange","e","target","value","dayOptions","map","label","String","monthOptions","index","yearOptions","DatePickerNative","defProps","onStringChange","React","useCallback","currentTarget","DatePickerComponent","props","useState","setValue","update","Cmp","DatePicker","displayName"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Input } from \"../Input/Input\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { HasPlatform } from \"../../types\";\nimport { leadingZero } from \"../../lib/utils\";\nimport { CustomSelect } from \"../CustomSelect/CustomSelect\";\nimport \"./DatePicker.css\";\n\nconst DefaultMonths: string[] = [\n \"Января\",\n \"Февраля\",\n \"Марта\",\n \"Апреля\",\n \"Мая\",\n \"Июня\",\n \"Июля\",\n \"Августа\",\n \"Сентября\",\n \"Октября\",\n \"Ноября\",\n \"Декабря\",\n];\n\nexport type DatePickerDateFormat = {\n day: number;\n month: number;\n year: number;\n};\n\nexport interface DatePickerProps\n extends Omit<\n React.HTMLAttributes<HTMLDivElement>,\n \"defaultValue\" | \"min\" | \"max\"\n >,\n HasPlatform,\n AdaptivityProps {\n min?: DatePickerDateFormat;\n max?: DatePickerDateFormat;\n name?: string;\n defaultValue?: DatePickerDateFormat;\n popupDirection?: \"top\" | \"bottom\";\n monthNames?: string[];\n dayPlaceholder?: string;\n monthPlaceholder?: string;\n yearPlaceholder?: string;\n onDateChange?: (value: DatePickerDateFormat) => void;\n disabled?: boolean;\n}\n\n// Переводим state к формату гг-мм-дд\nfunction convertToInputFormat({\n day = 0,\n month = 0,\n year = 0,\n}: Partial<DatePickerDateFormat>) {\n return `${year}-${leadingZero(month)}-${leadingZero(day)}`;\n}\n\n// Переводим дату формата гг-мм-дд к объекту\nfunction parseInputDate(date: string): DatePickerDateFormat {\n const splited = date.split(\"-\");\n\n return {\n day: Number(splited[2]),\n month: Number(splited[1]),\n year: Number(splited[0]),\n };\n}\n\nfunction getMonthMaxDay(month?: number, year?: number) {\n return month ? new Date(year || 2016, month, 0).getDate() : 31;\n}\n\nconst range = (start: number, end: number) => {\n const swap = start > end;\n const arr = [];\n for (let i = Math.min(start, end); i <= Math.max(start, end); i++) {\n arr.push(i);\n }\n return swap ? arr.reverse() : arr;\n};\n\nconst DatePickerCustom: React.FC<\n DatePickerProps & Partial<DatePickerDateFormat>\n> = ({\n name,\n min = { day: 0, month: 0, year: 0 },\n max = { day: 31, month: 12, year: 2100 },\n dayPlaceholder,\n monthPlaceholder,\n yearPlaceholder,\n popupDirection,\n defaultValue,\n hasMouse,\n monthNames,\n day = 0,\n month = 0,\n year = 0,\n onDateChange,\n disabled,\n ...restProps\n}) => {\n const onSelectChange: React.ChangeEventHandler<HTMLSelectElement> = (e) => {\n onDateChange?.({\n day,\n month,\n year,\n [e.target.name]: Number(e.target.value),\n });\n };\n const dayOptions = range(1, getMonthMaxDay(month, year)).map((value) => ({\n label: String(value),\n value,\n }));\n const monthOptions = (monthNames || DefaultMonths).map((name, index) => ({\n label: name,\n value: index + 1,\n }));\n const yearOptions = range(max.year, min.year).map((value) => ({\n label: String(value),\n value: value,\n }));\n return (\n <div vkuiClass=\"DatePicker\" {...restProps}>\n <div vkuiClass=\"DatePicker__container\">\n <div vkuiClass=\"DatePicker__day\">\n <CustomSelect\n name=\"day\"\n value={day}\n options={dayOptions}\n placeholder={dayPlaceholder}\n popupDirection={popupDirection}\n onChange={onSelectChange}\n disabled={disabled}\n />\n </div>\n <div vkuiClass=\"DatePicker__month\">\n <CustomSelect\n vkuiClass=\"DatePicker__monthSelect\"\n name=\"month\"\n value={month}\n options={monthOptions}\n placeholder={monthPlaceholder}\n popupDirection={popupDirection}\n onChange={onSelectChange}\n disabled={disabled}\n />\n </div>\n <div vkuiClass=\"DatePicker__year\">\n <CustomSelect\n name=\"year\"\n value={year}\n options={yearOptions}\n placeholder={yearPlaceholder}\n popupDirection={popupDirection}\n onChange={onSelectChange}\n disabled={disabled}\n />\n </div>\n </div>\n <input\n type=\"hidden\"\n name={name}\n value={convertToInputFormat({ day, month, year })}\n />\n </div>\n );\n};\n\nconst DatePickerNative: React.FC<\n DatePickerProps & Partial<DatePickerDateFormat>\n> = ({\n min = { day: 0, month: 0, year: 0 },\n max = { day: 31, month: 12, year: 2100 },\n dayPlaceholder,\n monthPlaceholder,\n yearPlaceholder,\n popupDirection,\n defaultValue,\n hasMouse,\n day,\n month,\n year,\n onDateChange,\n ...restProps\n}) => {\n const defProps =\n day && month && year\n ? { defaultValue: convertToInputFormat({ day, month, year }) }\n : {};\n const onStringChange: React.ChangeEventHandler<HTMLInputElement> =\n React.useCallback(\n (e) => {\n onDateChange?.(parseInputDate(e.currentTarget.value));\n },\n [onDateChange]\n );\n return (\n <Input\n {...restProps}\n type=\"date\"\n onChange={onStringChange}\n min={convertToInputFormat(min)}\n max={convertToInputFormat(max)}\n {...defProps}\n />\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/DatePicker\n */\nconst DatePickerComponent: React.FC<DatePickerProps> = ({\n hasMouse,\n defaultValue,\n ...props\n}) => {\n const [value, setValue] = React.useState<Partial<DatePickerDateFormat>>(\n () => ({\n day: defaultValue?.day || 0,\n month: defaultValue?.month || 0,\n year: defaultValue?.year || 0,\n })\n );\n\n const onDateChange = React.useCallback(\n (update: DatePickerDateFormat) => {\n setValue(update);\n props.onDateChange && props.onDateChange({ ...update });\n },\n [props]\n );\n\n const Cmp = hasMouse ? DatePickerCustom : DatePickerNative;\n return <Cmp {...props} {...value} onDateChange={onDateChange} />;\n};\n\nexport const DatePicker = withAdaptivity(DatePickerComponent, {\n hasMouse: true,\n});\n\nDatePicker.displayName = \"DatePicker\";\n"],"file":"DatePicker.js"}
1
+ {"version":3,"sources":["../../../../src/components/DatePicker/DatePicker.tsx"],"names":["DefaultMonths","convertToInputFormat","day","month","year","parseInputDate","date","splited","split","Number","getMonthMaxDay","Date","getDate","range","start","end","swap","arr","i","Math","min","max","push","reverse","DatePickerCustom","name","dayPlaceholder","monthPlaceholder","yearPlaceholder","popupDirection","defaultValue","hasMouse","monthNames","onDateChange","disabled","restProps","onSelectChange","e","target","value","dayOptions","map","label","String","monthOptions","index","yearOptions","DatePickerNative","defProps","onStringChange","React","useCallback","currentTarget","DatePickerComponent","props","useState","setValue","update","Cmp","DatePicker","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;;;;AAGA,IAAMA,aAAuB,GAAG,CAC9B,QAD8B,EAE9B,SAF8B,EAG9B,OAH8B,EAI9B,QAJ8B,EAK9B,KAL8B,EAM9B,MAN8B,EAO9B,MAP8B,EAQ9B,SAR8B,EAS9B,UAT8B,EAU9B,SAV8B,EAW9B,QAX8B,EAY9B,SAZ8B,CAAhC;;AAyCA;AACA,SAASC,oBAAT,OAIkC;AAAA,sBAHhCC,GAGgC;AAAA,MAHhCA,GAGgC,yBAH1B,CAG0B;AAAA,wBAFhCC,KAEgC;AAAA,MAFhCA,KAEgC,2BAFxB,CAEwB;AAAA,uBADhCC,IACgC;AAAA,MADhCA,IACgC,0BADzB,CACyB;AAChC,mBAAUA,IAAV,cAAkB,wBAAYD,KAAZ,CAAlB,cAAwC,wBAAYD,GAAZ,CAAxC;AACD,C,CAED;;;AACA,SAASG,cAAT,CAAwBC,IAAxB,EAA4D;AAC1D,MAAMC,OAAO,GAAGD,IAAI,CAACE,KAAL,CAAW,GAAX,CAAhB;AAEA,SAAO;AACLN,IAAAA,GAAG,EAAEO,MAAM,CAACF,OAAO,CAAC,CAAD,CAAR,CADN;AAELJ,IAAAA,KAAK,EAAEM,MAAM,CAACF,OAAO,CAAC,CAAD,CAAR,CAFR;AAGLH,IAAAA,IAAI,EAAEK,MAAM,CAACF,OAAO,CAAC,CAAD,CAAR;AAHP,GAAP;AAKD;;AAED,SAASG,cAAT,CAAwBP,KAAxB,EAAwCC,IAAxC,EAAuD;AACrD,SAAOD,KAAK,GAAG,IAAIQ,IAAJ,CAASP,IAAI,IAAI,IAAjB,EAAuBD,KAAvB,EAA8B,CAA9B,EAAiCS,OAAjC,EAAH,GAAgD,EAA5D;AACD;;AAED,IAAMC,KAAK,GAAG,SAARA,KAAQ,CAACC,KAAD,EAAgBC,GAAhB,EAAgC;AAC5C,MAAMC,IAAI,GAAGF,KAAK,GAAGC,GAArB;AACA,MAAME,GAAG,GAAG,EAAZ;;AACA,OAAK,IAAIC,CAAC,GAAGC,IAAI,CAACC,GAAL,CAASN,KAAT,EAAgBC,GAAhB,CAAb,EAAmCG,CAAC,IAAIC,IAAI,CAACE,GAAL,CAASP,KAAT,EAAgBC,GAAhB,CAAxC,EAA8DG,CAAC,EAA/D,EAAmE;AACjED,IAAAA,GAAG,CAACK,IAAJ,CAASJ,CAAT;AACD;;AACD,SAAOF,IAAI,GAAGC,GAAG,CAACM,OAAJ,EAAH,GAAmBN,GAA9B;AACD,CAPD;;AASA,IAAMO,gBAAgB,GAAG,SAAnBA,gBAAmB,QAiB8B;AAAA,MAhBrDC,IAgBqD,SAhBrDA,IAgBqD;AAAA,wBAfrDL,GAeqD;AAAA,MAfrDA,GAeqD,0BAf/C;AAAElB,IAAAA,GAAG,EAAE,CAAP;AAAUC,IAAAA,KAAK,EAAE,CAAjB;AAAoBC,IAAAA,IAAI,EAAE;AAA1B,GAe+C;AAAA,wBAdrDiB,GAcqD;AAAA,MAdrDA,GAcqD,0BAd/C;AAAEnB,IAAAA,GAAG,EAAE,EAAP;AAAWC,IAAAA,KAAK,EAAE,EAAlB;AAAsBC,IAAAA,IAAI,EAAE;AAA5B,GAc+C;AAAA,MAbrDsB,cAaqD,SAbrDA,cAaqD;AAAA,MAZrDC,gBAYqD,SAZrDA,gBAYqD;AAAA,MAXrDC,eAWqD,SAXrDA,eAWqD;AAAA,MAVrDC,cAUqD,SAVrDA,cAUqD;AAAA,MATrDC,YASqD,SATrDA,YASqD;AAAA,MARrDC,QAQqD,SARrDA,QAQqD;AAAA,MAPrDC,UAOqD,SAPrDA,UAOqD;AAAA,wBANrD9B,GAMqD;AAAA,MANrDA,GAMqD,0BAN/C,CAM+C;AAAA,0BALrDC,KAKqD;AAAA,MALrDA,KAKqD,4BAL7C,CAK6C;AAAA,yBAJrDC,IAIqD;AAAA,MAJrDA,IAIqD,2BAJ9C,CAI8C;AAAA,MAHrD6B,YAGqD,SAHrDA,YAGqD;AAAA,MAFrDC,QAEqD,SAFrDA,QAEqD;AAAA,MADlDC,SACkD;;AACrD,MAAMC,cAA2D,GAAG,SAA9DA,cAA8D,CAACC,CAAD,EAAO;AACzEJ,IAAAA,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY;AACV/B,MAAAA,GAAG,EAAHA,GADU;AAEVC,MAAAA,KAAK,EAALA,KAFU;AAGVC,MAAAA,IAAI,EAAJA;AAHU,OAITiC,CAAC,CAACC,MAAF,CAASb,IAJA,EAIOhB,MAAM,CAAC4B,CAAC,CAACC,MAAF,CAASC,KAAV,CAJb,EAAZ;AAMD,GAPD;;AAQA,MAAMC,UAAU,GAAG3B,KAAK,CAAC,CAAD,EAAIH,cAAc,CAACP,KAAD,EAAQC,IAAR,CAAlB,CAAL,CAAsCqC,GAAtC,CAA0C,UAACF,KAAD;AAAA,WAAY;AACvEG,MAAAA,KAAK,EAAEC,MAAM,CAACJ,KAAD,CAD0D;AAEvEA,MAAAA,KAAK,EAALA;AAFuE,KAAZ;AAAA,GAA1C,CAAnB;AAIA,MAAMK,YAAY,GAAG,CAACZ,UAAU,IAAIhC,aAAf,EAA8ByC,GAA9B,CAAkC,UAAChB,IAAD,EAAOoB,KAAP;AAAA,WAAkB;AACvEH,MAAAA,KAAK,EAAEjB,IADgE;AAEvEc,MAAAA,KAAK,EAAEM,KAAK,GAAG;AAFwD,KAAlB;AAAA,GAAlC,CAArB;AAIA,MAAMC,WAAW,GAAGjC,KAAK,CAACQ,GAAG,CAACjB,IAAL,EAAWgB,GAAG,CAAChB,IAAf,CAAL,CAA0BqC,GAA1B,CAA8B,UAACF,KAAD;AAAA,WAAY;AAC5DG,MAAAA,KAAK,EAAEC,MAAM,CAACJ,KAAD,CAD+C;AAE5DA,MAAAA,KAAK,EAAEA;AAFqD,KAAZ;AAAA,GAA9B,CAApB;AAIA,SACE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAgCJ,SAAhC,GACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,0BAAD;AACE,IAAA,IAAI,EAAC,KADP;AAEE,IAAA,KAAK,EAAEjC,GAFT;AAGE,IAAA,OAAO,EAAEsC,UAHX;AAIE,IAAA,WAAW,EAAEd,cAJf;AAKE,IAAA,cAAc,EAAEG,cALlB;AAME,IAAA,QAAQ,EAAEO,cANZ;AAOE,IAAA,QAAQ,EAAEF;AAPZ,IADF,CADF,EAYE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,0BAAD;AACE,IAAA,SAAS,EAAC,yBADZ;AAEE,IAAA,IAAI,EAAC,OAFP;AAGE,IAAA,KAAK,EAAE/B,KAHT;AAIE,IAAA,OAAO,EAAEyC,YAJX;AAKE,IAAA,WAAW,EAAEjB,gBALf;AAME,IAAA,cAAc,EAAEE,cANlB;AAOE,IAAA,QAAQ,EAAEO,cAPZ;AAQE,IAAA,QAAQ,EAAEF;AARZ,IADF,CAZF,EAwBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,0BAAD;AACE,IAAA,IAAI,EAAC,MADP;AAEE,IAAA,KAAK,EAAE9B,IAFT;AAGE,IAAA,OAAO,EAAE0C,WAHX;AAIE,IAAA,WAAW,EAAElB,eAJf;AAKE,IAAA,cAAc,EAAEC,cALlB;AAME,IAAA,QAAQ,EAAEO,cANZ;AAOE,IAAA,QAAQ,EAAEF;AAPZ,IADF,CAxBF,CADF,EAqCE;AACE,IAAA,IAAI,EAAC,QADP;AAEE,IAAA,IAAI,EAAET,IAFR;AAGE,IAAA,KAAK,EAAExB,oBAAoB,CAAC;AAAEC,MAAAA,GAAG,EAAHA,GAAF;AAAOC,MAAAA,KAAK,EAALA,KAAP;AAAcC,MAAAA,IAAI,EAAJA;AAAd,KAAD;AAH7B,IArCF,CADF;AA6CD,CAnFD;;AAqFA,IAAM2C,gBAAgB,GAAG,SAAnBA,gBAAmB,QAc8B;AAAA,wBAbrD3B,GAaqD;AAAA,MAbrDA,GAaqD,0BAb/C;AAAElB,IAAAA,GAAG,EAAE,CAAP;AAAUC,IAAAA,KAAK,EAAE,CAAjB;AAAoBC,IAAAA,IAAI,EAAE;AAA1B,GAa+C;AAAA,wBAZrDiB,GAYqD;AAAA,MAZrDA,GAYqD,0BAZ/C;AAAEnB,IAAAA,GAAG,EAAE,EAAP;AAAWC,IAAAA,KAAK,EAAE,EAAlB;AAAsBC,IAAAA,IAAI,EAAE;AAA5B,GAY+C;AAAA,MAXrDsB,cAWqD,SAXrDA,cAWqD;AAAA,MAVrDC,gBAUqD,SAVrDA,gBAUqD;AAAA,MATrDC,eASqD,SATrDA,eASqD;AAAA,MARrDC,cAQqD,SARrDA,cAQqD;AAAA,MAPrDC,YAOqD,SAPrDA,YAOqD;AAAA,MANrDC,QAMqD,SANrDA,QAMqD;AAAA,MALrD7B,GAKqD,SALrDA,GAKqD;AAAA,MAJrDC,KAIqD,SAJrDA,KAIqD;AAAA,MAHrDC,IAGqD,SAHrDA,IAGqD;AAAA,MAFrD6B,YAEqD,SAFrDA,YAEqD;AAAA,MADlDE,SACkD;AACrD,MAAMa,QAAQ,GACZ9C,GAAG,IAAIC,KAAP,IAAgBC,IAAhB,GACI;AAAE0B,IAAAA,YAAY,EAAE7B,oBAAoB,CAAC;AAAEC,MAAAA,GAAG,EAAHA,GAAF;AAAOC,MAAAA,KAAK,EAALA,KAAP;AAAcC,MAAAA,IAAI,EAAJA;AAAd,KAAD;AAApC,GADJ,GAEI,EAHN;AAIA,MAAM6C,cAA0D,GAC9DC,KAAK,CAACC,WAAN,CACE,UAACd,CAAD,EAAO;AACLJ,IAAAA,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAG5B,cAAc,CAACgC,CAAC,CAACe,aAAF,CAAgBb,KAAjB,CAAjB,CAAZ;AACD,GAHH,EAIE,CAACN,YAAD,CAJF,CADF;AAOA,SACE,qCAAC,YAAD,6BACME,SADN;AAEE,IAAA,IAAI,EAAC,MAFP;AAGE,IAAA,QAAQ,EAAEc,cAHZ;AAIE,IAAA,GAAG,EAAEhD,oBAAoB,CAACmB,GAAD,CAJ3B;AAKE,IAAA,GAAG,EAAEnB,oBAAoB,CAACoB,GAAD;AAL3B,KAMM2B,QANN,EADF;AAUD,CApCD;AAsCA;AACA;AACA;;;AACA,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAsB,QAIL;AAAA,MAHrBtB,QAGqB,SAHrBA,QAGqB;AAAA,MAFrBD,YAEqB,SAFrBA,YAEqB;AAAA,MADlBwB,KACkB;;AACrB,wBAA0BJ,KAAK,CAACK,QAAN,CACxB;AAAA,WAAO;AACLrD,MAAAA,GAAG,EAAE,CAAA4B,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAE5B,GAAd,KAAqB,CADrB;AAELC,MAAAA,KAAK,EAAE,CAAA2B,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAE3B,KAAd,KAAuB,CAFzB;AAGLC,MAAAA,IAAI,EAAE,CAAA0B,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAE1B,IAAd,KAAsB;AAHvB,KAAP;AAAA,GADwB,CAA1B;AAAA;AAAA,MAAOmC,KAAP;AAAA,MAAciB,QAAd;;AAQA,MAAMvB,YAAY,GAAGiB,KAAK,CAACC,WAAN,CACnB,UAACM,MAAD,EAAkC;AAChCD,IAAAA,QAAQ,CAACC,MAAD,CAAR;AACAH,IAAAA,KAAK,CAACrB,YAAN,IAAsBqB,KAAK,CAACrB,YAAN,iCAAwBwB,MAAxB,EAAtB;AACD,GAJkB,EAKnB,CAACH,KAAD,CALmB,CAArB;AAQA,MAAMI,GAAG,GAAG3B,QAAQ,GAAGP,gBAAH,GAAsBuB,gBAA1C;AACA,SAAO,qCAAC,GAAD,6BAASO,KAAT,EAAoBf,KAApB;AAA2B,IAAA,YAAY,EAAEN;AAAzC,KAAP;AACD,CAvBD;;AAyBO,IAAM0B,UAAU,GAAG,oCAAeN,mBAAf,EAAoC;AAC5DtB,EAAAA,QAAQ,EAAE;AADkD,CAApC,CAAnB;;AAIP4B,UAAU,CAACC,WAAX,GAAyB,YAAzB","sourcesContent":["import * as React from \"react\";\nimport { Input } from \"../Input/Input\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { HasPlatform } from \"../../types\";\nimport { leadingZero } from \"../../lib/utils\";\nimport { CustomSelect } from \"../CustomSelect/CustomSelect\";\nimport \"./DatePicker.css\";\n\nconst DefaultMonths: string[] = [\n \"Января\",\n \"Февраля\",\n \"Марта\",\n \"Апреля\",\n \"Мая\",\n \"Июня\",\n \"Июля\",\n \"Августа\",\n \"Сентября\",\n \"Октября\",\n \"Ноября\",\n \"Декабря\",\n];\n\nexport type DatePickerDateFormat = {\n day: number;\n month: number;\n year: number;\n};\n\nexport interface DatePickerProps\n extends Omit<\n React.HTMLAttributes<HTMLDivElement>,\n \"defaultValue\" | \"min\" | \"max\"\n >,\n HasPlatform,\n AdaptivityProps {\n min?: DatePickerDateFormat;\n max?: DatePickerDateFormat;\n name?: string;\n defaultValue?: DatePickerDateFormat;\n popupDirection?: \"top\" | \"bottom\";\n monthNames?: string[];\n dayPlaceholder?: string;\n monthPlaceholder?: string;\n yearPlaceholder?: string;\n onDateChange?: (value: DatePickerDateFormat) => void;\n disabled?: boolean;\n}\n\n// Переводим state к формату гг-мм-дд\nfunction convertToInputFormat({\n day = 0,\n month = 0,\n year = 0,\n}: Partial<DatePickerDateFormat>) {\n return `${year}-${leadingZero(month)}-${leadingZero(day)}`;\n}\n\n// Переводим дату формата гг-мм-дд к объекту\nfunction parseInputDate(date: string): DatePickerDateFormat {\n const splited = date.split(\"-\");\n\n return {\n day: Number(splited[2]),\n month: Number(splited[1]),\n year: Number(splited[0]),\n };\n}\n\nfunction getMonthMaxDay(month?: number, year?: number) {\n return month ? new Date(year || 2016, month, 0).getDate() : 31;\n}\n\nconst range = (start: number, end: number) => {\n const swap = start > end;\n const arr = [];\n for (let i = Math.min(start, end); i <= Math.max(start, end); i++) {\n arr.push(i);\n }\n return swap ? arr.reverse() : arr;\n};\n\nconst DatePickerCustom = ({\n name,\n min = { day: 0, month: 0, year: 0 },\n max = { day: 31, month: 12, year: 2100 },\n dayPlaceholder,\n monthPlaceholder,\n yearPlaceholder,\n popupDirection,\n defaultValue,\n hasMouse,\n monthNames,\n day = 0,\n month = 0,\n year = 0,\n onDateChange,\n disabled,\n ...restProps\n}: DatePickerProps & Partial<DatePickerDateFormat>) => {\n const onSelectChange: React.ChangeEventHandler<HTMLSelectElement> = (e) => {\n onDateChange?.({\n day,\n month,\n year,\n [e.target.name]: Number(e.target.value),\n });\n };\n const dayOptions = range(1, getMonthMaxDay(month, year)).map((value) => ({\n label: String(value),\n value,\n }));\n const monthOptions = (monthNames || DefaultMonths).map((name, index) => ({\n label: name,\n value: index + 1,\n }));\n const yearOptions = range(max.year, min.year).map((value) => ({\n label: String(value),\n value: value,\n }));\n return (\n <div vkuiClass=\"DatePicker\" {...restProps}>\n <div vkuiClass=\"DatePicker__container\">\n <div vkuiClass=\"DatePicker__day\">\n <CustomSelect\n name=\"day\"\n value={day}\n options={dayOptions}\n placeholder={dayPlaceholder}\n popupDirection={popupDirection}\n onChange={onSelectChange}\n disabled={disabled}\n />\n </div>\n <div vkuiClass=\"DatePicker__month\">\n <CustomSelect\n vkuiClass=\"DatePicker__monthSelect\"\n name=\"month\"\n value={month}\n options={monthOptions}\n placeholder={monthPlaceholder}\n popupDirection={popupDirection}\n onChange={onSelectChange}\n disabled={disabled}\n />\n </div>\n <div vkuiClass=\"DatePicker__year\">\n <CustomSelect\n name=\"year\"\n value={year}\n options={yearOptions}\n placeholder={yearPlaceholder}\n popupDirection={popupDirection}\n onChange={onSelectChange}\n disabled={disabled}\n />\n </div>\n </div>\n <input\n type=\"hidden\"\n name={name}\n value={convertToInputFormat({ day, month, year })}\n />\n </div>\n );\n};\n\nconst DatePickerNative = ({\n min = { day: 0, month: 0, year: 0 },\n max = { day: 31, month: 12, year: 2100 },\n dayPlaceholder,\n monthPlaceholder,\n yearPlaceholder,\n popupDirection,\n defaultValue,\n hasMouse,\n day,\n month,\n year,\n onDateChange,\n ...restProps\n}: DatePickerProps & Partial<DatePickerDateFormat>) => {\n const defProps =\n day && month && year\n ? { defaultValue: convertToInputFormat({ day, month, year }) }\n : {};\n const onStringChange: React.ChangeEventHandler<HTMLInputElement> =\n React.useCallback(\n (e) => {\n onDateChange?.(parseInputDate(e.currentTarget.value));\n },\n [onDateChange]\n );\n return (\n <Input\n {...restProps}\n type=\"date\"\n onChange={onStringChange}\n min={convertToInputFormat(min)}\n max={convertToInputFormat(max)}\n {...defProps}\n />\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/DatePicker\n */\nconst DatePickerComponent = ({\n hasMouse,\n defaultValue,\n ...props\n}: DatePickerProps) => {\n const [value, setValue] = React.useState<Partial<DatePickerDateFormat>>(\n () => ({\n day: defaultValue?.day || 0,\n month: defaultValue?.month || 0,\n year: defaultValue?.year || 0,\n })\n );\n\n const onDateChange = React.useCallback(\n (update: DatePickerDateFormat) => {\n setValue(update);\n props.onDateChange && props.onDateChange({ ...update });\n },\n [props]\n );\n\n const Cmp = hasMouse ? DatePickerCustom : DatePickerNative;\n return <Cmp {...props} {...value} onDateChange={onDateChange} />;\n};\n\nexport const DatePicker = withAdaptivity(DatePickerComponent, {\n hasMouse: true,\n});\n\nDatePicker.displayName = \"DatePicker\";\n"],"file":"DatePicker.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DateRangeInput/DateRangeInput.tsx"],"names":["elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","DateRangeInput","shouldDisableDate","disableFuture","disablePast","onChange","calendarPlacement","style","className","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthAriaLabel","nextMonthAriaLabel","changeDayAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","changeStartDayAriaLabel","changeStartMonthAriaLabel","changeStartYearAriaLabel","changeEndDayAriaLabel","changeEndMonthAriaLabel","changeEndYearAriaLabel","clearFieldAriaLabel","showCalendarAriaLabel","prevMonthIcon","nextMonthIcon","props","daysStartRef","React","useRef","monthsStartRef","yearsStartRef","daysEndRef","monthsEndRef","yearsEndRef","onInternalValueChange","useCallback","internalValue","isStartValid","isEndValid","i","formattedStartValue","formattedEndValue","mask","valueExists","Array","isArray","now","Date","start","end","refs","useMemo","maxElement","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","sizeY","onCalendarChange"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAmCA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD,EAAmB;AACxC,MAAIC,MAAM,GAAG,CAAb;AACA,MAAIC,GAAG,GAAG,CAAV;AACA,MAAIC,GAAG,GAAG,CAAV;;AAEA,UAAQH,KAAR;AACE,SAAK,CAAL;AACA,SAAK,CAAL;AACEG,MAAAA,GAAG,GAAG,EAAN;AACA;;AACF,SAAK,CAAL;AACA,SAAK,CAAL;AACEA,MAAAA,GAAG,GAAG,EAAN;AACA;;AACF,SAAK,CAAL;AACA,SAAK,CAAL;AACEA,MAAAA,GAAG,GAAG,IAAN;AACAD,MAAAA,GAAG,GAAG,IAAN;AACAD,MAAAA,MAAM,GAAG,CAAT;AACA;AAdJ;;AAiBA,SAAO;AAAEA,IAAAA,MAAM,EAANA,MAAF;AAAUC,IAAAA,GAAG,EAAHA,GAAV;AAAeC,IAAAA,GAAG,EAAHA;AAAf,GAAP;AACD,CAvBD;;AAyBA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAwC;AAC/D,MAAMC,QAAQ,GAAG,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,EAAb,EAAiB,EAAjB,EAAqB,EAArB,CAAjB;;AACA,MAAID,KAAJ,aAAIA,KAAJ,eAAIA,KAAK,CAAG,CAAH,CAAT,EAAgB;AACdC,IAAAA,QAAQ,CAAC,CAAD,CAAR,GAAcC,MAAM,CAACF,KAAK,CAAC,CAAD,CAAL,CAASG,OAAT,EAAD,CAAN,CAA2BC,QAA3B,CAAoC,CAApC,EAAuC,GAAvC,CAAd;AACAH,IAAAA,QAAQ,CAAC,CAAD,CAAR,GAAcC,MAAM,CAACF,KAAK,CAAC,CAAD,CAAL,CAASK,QAAT,KAAsB,CAAvB,CAAN,CAAgCD,QAAhC,CAAyC,CAAzC,EAA4C,GAA5C,CAAd;AACAH,IAAAA,QAAQ,CAAC,CAAD,CAAR,GAAcC,MAAM,CAACF,KAAK,CAAC,CAAD,CAAL,CAASM,WAAT,EAAD,CAAN,CAA+BF,QAA/B,CAAwC,CAAxC,EAA2C,GAA3C,CAAd;AACD;;AACD,MAAIJ,KAAJ,aAAIA,KAAJ,eAAIA,KAAK,CAAG,CAAH,CAAT,EAAgB;AACdC,IAAAA,QAAQ,CAAC,CAAD,CAAR,GAAcC,MAAM,CAACF,KAAK,CAAC,CAAD,CAAL,CAASG,OAAT,EAAD,CAAN,CAA2BC,QAA3B,CAAoC,CAApC,EAAuC,GAAvC,CAAd;AACAH,IAAAA,QAAQ,CAAC,CAAD,CAAR,GAAcC,MAAM,CAACF,KAAK,CAAC,CAAD,CAAL,CAASK,QAAT,KAAsB,CAAvB,CAAN,CAAgCD,QAAhC,CAAyC,CAAzC,EAA4C,GAA5C,CAAd;AACAH,IAAAA,QAAQ,CAAC,CAAD,CAAR,GAAcC,MAAM,CAACF,KAAK,CAAC,CAAD,CAAL,CAASM,WAAT,EAAD,CAAN,CAA+BF,QAA/B,CAAwC,CAAxC,EAA2C,GAA3C,CAAd;AACD;;AACD,SAAOH,QAAP;AACD,CAbD;AAeA;AACA;AACA;;;AACO,IAAMM,cAA6C,GAAG,SAAhDA,cAAgD,OAiCvD;AAAA,MAhCJC,iBAgCI,QAhCJA,iBAgCI;AAAA,MA/BJC,aA+BI,QA/BJA,aA+BI;AAAA,MA9BJC,WA8BI,QA9BJA,WA8BI;AAAA,MA7BJV,KA6BI,QA7BJA,KA6BI;AAAA,MA5BJW,QA4BI,QA5BJA,QA4BI;AAAA,mCA3BJC,iBA2BI;AAAA,MA3BJA,iBA2BI,sCA3BgB,cA2BhB;AAAA,MA1BJC,KA0BI,QA1BJA,KA0BI;AAAA,MAzBJC,SAyBI,QAzBJA,SAyBI;AAAA,gCAxBJC,aAwBI;AAAA,MAxBJA,aAwBI,mCAxBY,IAwBZ;AAAA,MAvBJC,cAuBI,QAvBJA,cAuBI;AAAA,MAtBJC,UAsBI,QAtBJA,UAsBI;AAAA,MArBJC,IAqBI,QArBJA,IAqBI;AAAA,MApBJC,SAoBI,QApBJA,SAoBI;AAAA,MAnBJC,QAmBI,QAnBJA,QAmBI;AAAA,MAlBJC,OAkBI,QAlBJA,OAkBI;AAAA,MAjBJC,OAiBI,QAjBJA,OAiBI;AAAA,MAhBJC,kBAgBI,QAhBJA,kBAgBI;AAAA,MAfJC,kBAeI,QAfJA,kBAeI;AAAA,MAdJC,kBAcI,QAdJA,kBAcI;AAAA,MAbJC,oBAaI,QAbJA,oBAaI;AAAA,MAZJC,mBAYI,QAZJA,mBAYI;AAAA,mCAXJC,uBAWI;AAAA,MAXJA,uBAWI,sCAXsB,sBAWtB;AAAA,mCAVJC,yBAUI;AAAA,MAVJA,yBAUI,sCAVwB,uBAUxB;AAAA,mCATJC,wBASI;AAAA,MATJA,wBASI,sCATuB,qBASvB;AAAA,mCARJC,qBAQI;AAAA,MARJA,qBAQI,sCARoB,yBAQpB;AAAA,mCAPJC,uBAOI;AAAA,MAPJA,uBAOI,sCAPsB,0BAOtB;AAAA,mCANJC,sBAMI;AAAA,MANJA,sBAMI,sCANqB,wBAMrB;AAAA,mCALJC,mBAKI;AAAA,MALJA,mBAKI,sCALkB,eAKlB;AAAA,mCAJJC,qBAII;AAAA,MAJJA,qBAII,sCAJoB,oBAIpB;AAAA,MAHJC,aAGI,QAHJA,aAGI;AAAA,MAFJC,aAEI,QAFJA,aAEI;AAAA,MADDC,KACC;AACJ,MAAMC,YAAY,GAAGC,KAAK,CAACC,MAAN,CAA8B,IAA9B,CAArB;AACA,MAAMC,cAAc,GAAGF,KAAK,CAACC,MAAN,CAA8B,IAA9B,CAAvB;AACA,MAAME,aAAa,GAAGH,KAAK,CAACC,MAAN,CAA8B,IAA9B,CAAtB;AACA,MAAMG,UAAU,GAAGJ,KAAK,CAACC,MAAN,CAA8B,IAA9B,CAAnB;AACA,MAAMI,YAAY,GAAGL,KAAK,CAACC,MAAN,CAA8B,IAA9B,CAArB;AACA,MAAMK,WAAW,GAAGN,KAAK,CAACC,MAAN,CAA8B,IAA9B,CAApB;AAEA,MAAMM,qBAAqB,GAAGP,KAAK,CAACQ,WAAN,CAC5B,UAACC,aAAD,EAA6B;AAC3B,QAAIC,YAAY,GAAG,IAAnB;AACA,QAAIC,UAAU,GAAG,IAAjB;;AACA,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAI,CAArB,EAAwBA,CAAC,IAAI,CAA7B,EAAgC;AAC9B,UAAIH,aAAa,CAACG,CAAD,CAAb,CAAiBxD,MAAjB,GAA0BF,cAAc,CAAC0D,CAAD,CAAd,CAAkBxD,MAAhD,EAAwD;AACtDsD,QAAAA,YAAY,GAAG,KAAf;AACD;AACF;;AACD,SAAK,IAAIE,EAAC,GAAG,CAAb,EAAgBA,EAAC,IAAI,CAArB,EAAwBA,EAAC,IAAI,CAA7B,EAAgC;AAC9B,UAAIH,aAAa,CAACG,EAAD,CAAb,CAAiBxD,MAAjB,GAA0BF,cAAc,CAAC0D,EAAD,CAAd,CAAkBxD,MAAhD,EAAwD;AACtDuD,QAAAA,UAAU,GAAG,KAAb;AACD;AACF;;AACD,QAAME,mBAAmB,aAAMJ,aAAa,CAAC,CAAD,CAAnB,cAA0BA,aAAa,CAAC,CAAD,CAAvC,cAA8CA,aAAa,CAAC,CAAD,CAA3D,CAAzB;AACA,QAAMK,iBAAiB,aAAML,aAAa,CAAC,CAAD,CAAnB,cAA0BA,aAAa,CAAC,CAAD,CAAvC,cAA8CA,aAAa,CAAC,CAAD,CAA3D,CAAvB;AACA,QAAMM,IAAI,GAAG,YAAb;;AAEA,QAAI,CAAC,mBAAQF,mBAAR,EAA6BE,IAA7B,CAAL,EAAyC;AACvCL,MAAAA,YAAY,GAAG,KAAf;AACD;;AACD,QAAI,CAAC,mBAAQI,iBAAR,EAA2BC,IAA3B,CAAL,EAAuC;AACrCJ,MAAAA,UAAU,GAAG,KAAb;AACD;;AAED,QAAI,CAACD,YAAD,IAAiB,CAACC,UAAtB,EAAkC;AAChC;AACD;;AAED,QAAMK,WAAW,GAAGC,KAAK,CAACC,OAAN,CAAc1D,KAAd,CAApB;AACA,QAAM2D,GAAG,GAAG,IAAIC,IAAJ,EAAZ;AACA,QAAMC,KAAK,GAAGX,YAAY,GACtB,iBAAMG,mBAAN,EAA2BE,IAA3B,EAAkCC,WAAW,KAAIxD,KAAJ,aAAIA,KAAJ,uBAAIA,KAAK,CAAG,CAAH,CAAT,CAAZ,IAA+B2D,GAAhE,CADsB,GAEtB,IAFJ;AAGA,QAAMG,GAAG,GAAGX,UAAU,GAClB,iBAAMG,iBAAN,EAAyBC,IAAzB,EAAgCC,WAAW,KAAIxD,KAAJ,aAAIA,KAAJ,uBAAIA,KAAK,CAAG,CAAH,CAAT,CAAZ,IAA+B2D,GAA9D,CADkB,GAElB,IAFJ;;AAGA,QAAIE,KAAK,IAAIC,GAAT,IAAgB,mBAAQA,GAAR,EAAaD,KAAb,CAApB,EAAyC;AACvClD,MAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAG,CAACkD,KAAD,EAAQC,GAAR,CAAH,CAAR;AACD;AACF,GAxC2B,EAyC5B,CAACnD,QAAD,EAAWX,KAAX,CAzC4B,CAA9B;AA4CA,MAAM+D,IAAI,GAAGvB,KAAK,CAACwB,OAAN,CACX;AAAA,WAAM,CACJzB,YADI,EAEJG,cAFI,EAGJC,aAHI,EAIJC,UAJI,EAKJC,YALI,EAMJC,WANI,CAAN;AAAA,GADW,EASX,CACEP,YADF,EAEEG,cAFF,EAGEC,aAHF,EAIEC,UAJF,EAKEC,YALF,EAMEC,WANF,CATW,CAAb;;AAmBA,sBAYI,iCAAa;AACfmB,IAAAA,UAAU,EAAE,CADG;AAEfF,IAAAA,IAAI,EAAJA,IAFe;AAGf5C,IAAAA,SAAS,EAATA,SAHe;AAIfC,IAAAA,QAAQ,EAARA,QAJe;AAKf1B,IAAAA,cAAc,EAAdA,cALe;AAMfiB,IAAAA,QAAQ,EAARA,QANe;AAOfoC,IAAAA,qBAAqB,EAArBA,qBAPe;AAQfhD,IAAAA,gBAAgB,EAAhBA,gBARe;AASfC,IAAAA,KAAK,EAALA;AATe,GAAb,CAZJ;AAAA,MACEkE,OADF,iBACEA,OADF;AAAA,MAEEC,WAFF,iBAEEA,WAFF;AAAA,MAGEC,IAHF,iBAGEA,IAHF;AAAA,MAIEC,YAJF,iBAIEA,YAJF;AAAA,MAKEC,aALF,iBAKEA,aALF;AAAA,MAMErB,aANF,iBAMEA,aANF;AAAA,MAOEsB,aAPF,iBAOEA,aAPF;AAAA,MAQEC,iBARF,iBAQEA,iBARF;AAAA,MASEC,gBATF,iBASEA,gBATF;AAAA,MAUEC,KAVF,iBAUEA,KAVF;AAAA,MAWEC,oBAXF,iBAWEA,oBAXF;;AAwBA,uBAAkB,oCAAlB;AAAA,MAAQC,KAAR,kBAAQA,KAAR;;AAEA,MAAMC,gBAAgB,GAAGrC,KAAK,CAACQ,WAAN,CACvB,UAAC/C,QAAD,EAA+C;AAC7CU,IAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAGV,QAAH,CAAR;;AACA,QAAIc,aAAa,IAAId,QAAJ,aAAIA,QAAJ,eAAIA,QAAQ,CAAG,CAAH,CAAzB,IAAkCA,QAAQ,CAAC,CAAD,CAAR,MAAgBD,KAAhB,aAAgBA,KAAhB,uBAAgBA,KAAK,CAAG,CAAH,CAArB,CAAtC,EAAkE;AAChE2E,MAAAA,oBAAoB;AACrB;AACF,GANsB,EAOvB,CAAChE,QAAD,EAAWI,aAAX,EAA0Bf,KAA1B,EAAiC2E,oBAAjC,CAPuB,CAAzB;AAUA,SACE,qCAAC,oBAAD;AACE,IAAA,SAAS,EAAE,4BAAW,gBAAX,kCAAsDC,KAAtD,EADb;AAEE,IAAA,KAAK,EAAE/D,KAFT;AAGE,IAAA,SAAS,EAAEC,SAHb;AAIE,IAAA,UAAU,EAAE,qBAASoD,OAAT,EAAkBjD,UAAlB,CAJd;AAKE,IAAA,KAAK,EACHjB,KAAK,GACH,qCAAC,sBAAD;AACE,MAAA,SAAS,EAAC,SADZ;AAEE,oBAAYkC,mBAFd;AAGE,MAAA,OAAO,EAAEwC;AAHX,OAKE,qCAAC,kBAAD,OALF,CADG,GASH,qCAAC,sBAAD;AACE,MAAA,SAAS,EAAC,SADZ;AAEE,oBAAYvC,qBAFd;AAGE,MAAA,OAAO,EAAEkC;AAHX,OAKE,qCAAC,4BAAD,OALF,CAfN;AAwBE,IAAA,QAAQ,EAAEjD,QAxBZ;AAyBE,IAAA,OAAO,EAAE,gCAAaqD,gBAAb,EAA+BpD,OAA/B,CAzBX;AA0BE,IAAA,OAAO,EAAE,gCAAaoD,gBAAb,EAA+BnD,OAA/B;AA1BX,KA2BMgB,KA3BN,GA6BE;AACE,IAAA,IAAI,EAAC,QADP;AAEE,IAAA,IAAI,EAAEpB,IAFR;AAGE,IAAA,KAAK,EACHlB,KAAK,aACEA,KAAK,CAAC,CAAD,CAAL,GAAW,kBAAOA,KAAK,CAAC,CAAD,CAAZ,EAAiB,YAAjB,CAAX,GAA4C,EAD9C,gBAECA,KAAK,CAAC,CAAD,CAAL,GAAW,kBAAOA,KAAK,CAAC,CAAD,CAAZ,EAAiB,YAAjB,CAAX,GAA4C,EAF7C,IAID;AARR,IA7BF,EAwCE;AAAM,IAAA,SAAS,EAAC,kBAAhB;AAAmC,IAAA,SAAS,EAAEuE;AAA9C,KACE,qCAAC,oBAAD;AACE,IAAA,MAAM,EAAE,CADV;AAEE,IAAA,UAAU,EAAEhC,YAFd;AAGE,IAAA,KAAK,EAAE,CAHT;AAIE,IAAA,eAAe,EAAEiC,iBAJnB;AAKE,IAAA,KAAK,EAAEvB,aAAa,CAAC,CAAD,CALtB;AAME,kBAAYrB;AANd,IADF,EASE,qCAAC,kCAAD,YATF,EAUE,qCAAC,oBAAD;AACE,IAAA,MAAM,EAAE,CADV;AAEE,IAAA,UAAU,EAAEc,cAFd;AAGE,IAAA,KAAK,EAAE,CAHT;AAIE,IAAA,eAAe,EAAE8B,iBAJnB;AAKE,IAAA,KAAK,EAAEvB,aAAa,CAAC,CAAD,CALtB;AAME,kBAAYpB;AANd,IAVF,EAkBE,qCAAC,kCAAD,YAlBF,EAmBE,qCAAC,oBAAD;AACE,IAAA,MAAM,EAAE,CADV;AAEE,IAAA,UAAU,EAAEc,aAFd;AAGE,IAAA,KAAK,EAAE,CAHT;AAIE,IAAA,eAAe,EAAE6B,iBAJnB;AAKE,IAAA,KAAK,EAAEvB,aAAa,CAAC,CAAD,CALtB;AAME,kBAAYnB;AANd,IAnBF,EA2BE,qCAAC,kCAAD,QAAmB,KAAnB,CA3BF,EA4BE,qCAAC,oBAAD;AACE,IAAA,MAAM,EAAE,CADV;AAEE,IAAA,UAAU,EAAEc,UAFd;AAGE,IAAA,KAAK,EAAE,CAHT;AAIE,IAAA,eAAe,EAAE4B,iBAJnB;AAKE,IAAA,KAAK,EAAEvB,aAAa,CAAC,CAAD,CALtB;AAME,kBAAYlB;AANd,IA5BF,EAoCE,qCAAC,kCAAD,YApCF,EAqCE,qCAAC,oBAAD;AACE,IAAA,MAAM,EAAE,CADV;AAEE,IAAA,UAAU,EAAEc,YAFd;AAGE,IAAA,KAAK,EAAE,CAHT;AAIE,IAAA,eAAe,EAAE2B,iBAJnB;AAKE,IAAA,KAAK,EAAEvB,aAAa,CAAC,CAAD,CALtB;AAME,kBAAYjB;AANd,IArCF,EA6CE,qCAAC,kCAAD,YA7CF,EA8CE,qCAAC,oBAAD;AACE,IAAA,MAAM,EAAE,CADV;AAEE,IAAA,UAAU,EAAEc,WAFd;AAGE,IAAA,KAAK,EAAE,CAHT;AAIE,IAAA,eAAe,EAAE0B,iBAJnB;AAKE,IAAA,KAAK,EAAEvB,aAAa,CAAC,CAAD,CALtB;AAME,kBAAYhB;AANd,IA9CF,CAxCF,EA+FGmC,IAAI,IACH,qCAAC,cAAD;AACE,IAAA,SAAS,EAAEF,OADb;AAEE,IAAA,cAAc,EAAE,CAFlB;AAGE,IAAA,SAAS,EAAEtD;AAHb,KAKE,qCAAC,4BAAD;AACE,IAAA,KAAK,EAAEZ,KADT;AAEE,IAAA,QAAQ,EAAE6E,gBAFZ;AAGE,IAAA,WAAW,EAAEnE,WAHf;AAIE,IAAA,aAAa,EAAED,aAJjB;AAKE,IAAA,iBAAiB,EAAED,iBALrB;AAME,IAAA,OAAO,EAAE8D,aANX;AAOE,IAAA,UAAU,EAAEH,WAPd;AAQE,IAAA,cAAc,EAAEnD,cARlB;AASE,IAAA,kBAAkB,EAAEO,kBATtB;AAUE,IAAA,kBAAkB,EAAEC,kBAVtB;AAWE,IAAA,oBAAoB,EAAEE,oBAXxB;AAYE,IAAA,mBAAmB,EAAEC,mBAZvB;AAaE,IAAA,kBAAkB,EAAEF,kBAbtB;AAcE,IAAA,aAAa,EAAEW,aAdjB;AAeE,IAAA,aAAa,EAAEC;AAfjB,IALF,CAhGJ,CADF;AA2HD,CAvQM","sourcesContent":["import * as React from \"react\";\nimport { format, isMatch, parse, isAfter } from \"../../lib/date\";\nimport { Icon16Clear, Icon20CalendarOutline } from \"@vkontakte/icons\";\nimport {\n CalendarRange,\n CalendarRangeProps,\n} from \"../CalendarRange/CalendarRange\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport { HasRootRef } from \"../../types\";\nimport { useDateInput } from \"../../hooks/useDateInput\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { classNames } from \"../../lib/classNames\";\nimport { multiRef } from \"../../lib/utils\";\nimport { FormField } from \"../FormField/FormField\";\nimport { InputLike } from \"../InputLike/InputLike\";\nimport { InputLikeDivider } from \"../InputLike/InputLikeDivider\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport \"./DateRangeInput.css\";\n\nexport interface DateRangeInputProps\n extends Omit<React.InputHTMLAttributes<HTMLDivElement>, \"value\" | \"onChange\">,\n Pick<\n CalendarRangeProps,\n | \"disablePast\"\n | \"disableFuture\"\n | \"shouldDisableDate\"\n | \"onChange\"\n | \"value\"\n | \"weekStartsOn\"\n | \"disablePickers\"\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"changeDayAriaLabel\"\n | \"prevMonthIcon\"\n | \"nextMonthIcon\"\n >,\n HasRootRef<HTMLDivElement> {\n calendarPlacement?: Placement;\n closeOnChange?: boolean;\n clearFieldAriaLabel?: string;\n showCalendarAriaLabel?: string;\n changeStartDayAriaLabel?: string;\n changeStartMonthAriaLabel?: string;\n changeStartYearAriaLabel?: string;\n changeEndDayAriaLabel?: string;\n changeEndMonthAriaLabel?: string;\n changeEndYearAriaLabel?: string;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n case 3:\n max = 31;\n break;\n case 1:\n case 4:\n max = 12;\n break;\n case 2:\n case 5:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarRangeProps[\"value\"]) => {\n const newValue = [\"\", \"\", \"\", \"\", \"\", \"\"];\n if (value?.[0]) {\n newValue[0] = String(value[0].getDate()).padStart(2, \"0\");\n newValue[1] = String(value[0].getMonth() + 1).padStart(2, \"0\");\n newValue[2] = String(value[0].getFullYear()).padStart(4, \"0\");\n }\n if (value?.[1]) {\n newValue[3] = String(value[1].getDate()).padStart(2, \"0\");\n newValue[4] = String(value[1].getMonth() + 1).padStart(2, \"0\");\n newValue[5] = String(value[1].getFullYear()).padStart(4, \"0\");\n }\n return newValue;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/DateRangeInput\n */\nexport const DateRangeInput: React.FC<DateRangeInputProps> = ({\n shouldDisableDate,\n disableFuture,\n disablePast,\n value,\n onChange,\n calendarPlacement = \"bottom-start\",\n style,\n className,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeDayAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n changeStartDayAriaLabel = \"Изменить день начала\",\n changeStartMonthAriaLabel = \"Изменить месяц начала\",\n changeStartYearAriaLabel = \"Изменить год начала\",\n changeEndDayAriaLabel = \"Изменить день окончания\",\n changeEndMonthAriaLabel = \"Изменить месяц окончания\",\n changeEndYearAriaLabel = \"Изменить год окончания\",\n clearFieldAriaLabel = \"Очистить поле\",\n showCalendarAriaLabel = \"Показать календарь\",\n prevMonthIcon,\n nextMonthIcon,\n ...props\n}) => {\n const daysStartRef = React.useRef<HTMLSpanElement>(null);\n const monthsStartRef = React.useRef<HTMLSpanElement>(null);\n const yearsStartRef = React.useRef<HTMLSpanElement>(null);\n const daysEndRef = React.useRef<HTMLSpanElement>(null);\n const monthsEndRef = React.useRef<HTMLSpanElement>(null);\n const yearsEndRef = React.useRef<HTMLSpanElement>(null);\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n let isStartValid = true;\n let isEndValid = true;\n for (let i = 0; i <= 2; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isStartValid = false;\n }\n }\n for (let i = 3; i <= 5; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isEndValid = false;\n }\n }\n const formattedStartValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n const formattedEndValue = `${internalValue[3]}.${internalValue[4]}.${internalValue[5]}`;\n const mask = \"dd.MM.yyyy\";\n\n if (!isMatch(formattedStartValue, mask)) {\n isStartValid = false;\n }\n if (!isMatch(formattedEndValue, mask)) {\n isEndValid = false;\n }\n\n if (!isStartValid && !isEndValid) {\n return;\n }\n\n const valueExists = Array.isArray(value);\n const now = new Date();\n const start = isStartValid\n ? parse(formattedStartValue, mask, (valueExists && value?.[0]) || now)\n : null;\n const end = isEndValid\n ? parse(formattedEndValue, mask, (valueExists && value?.[1]) || now)\n : null;\n if (start && end && isAfter(end, start)) {\n onChange?.([start, end]);\n }\n },\n [onChange, value]\n );\n\n const refs = React.useMemo(\n () => [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ],\n [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ]\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement: 5,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onChange,\n onInternalValueChange,\n getInternalValue,\n value,\n });\n\n const { sizeY } = useAdaptivity();\n\n const onCalendarChange = React.useCallback(\n (newValue?: Array<Date | null> | undefined) => {\n onChange?.(newValue);\n if (closeOnChange && newValue?.[1] && newValue[1] !== value?.[1]) {\n removeFocusFromField();\n }\n },\n [onChange, closeOnChange, value, removeFocusFromField]\n );\n\n return (\n <FormField\n vkuiClass={classNames(\"DateRangeInput\", `DateRangeInput--sizeY-${sizeY}`)}\n style={style}\n className={className}\n getRootRef={multiRef(rootRef, getRootRef)}\n after={\n value ? (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={clearFieldAriaLabel}\n onClick={clear}\n >\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={showCalendarAriaLabel}\n onClick={openCalendar}\n >\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <input\n type=\"hidden\"\n name={name}\n value={\n value\n ? `${value[0] ? format(value[0], \"DD.MM.YYYY\") : \"\"} - ${\n value[1] ? format(value[1], \"DD.MM.YYYY\") : \"\"\n }`\n : \"\"\n }\n />\n <span vkuiClass=\"DateInput__input\" onKeyDown={handleKeyDown}>\n <InputLike\n length={2}\n getRootRef={daysStartRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n aria-label={changeStartDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsStartRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n aria-label={changeStartMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsStartRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n aria-label={changeStartYearAriaLabel}\n />\n <InputLikeDivider>{\" — \"}</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={daysEndRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n aria-label={changeEndDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsEndRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n aria-label={changeEndMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsEndRef}\n index={5}\n onElementSelect={setFocusedElement}\n value={internalValue[5]}\n aria-label={changeEndYearAriaLabel}\n />\n </span>\n {open && (\n <Popper\n targetRef={rootRef}\n offsetDistance={8}\n placement={calendarPlacement}\n >\n <CalendarRange\n value={value}\n onChange={onCalendarChange}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onClose={closeCalendar}\n getRootRef={calendarRef}\n disablePickers={disablePickers}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n changeDayAriaLabel={changeDayAriaLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"file":"DateRangeInput.js"}
1
+ {"version":3,"sources":["../../../../src/components/DateRangeInput/DateRangeInput.tsx"],"names":["elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","DateRangeInput","shouldDisableDate","disableFuture","disablePast","onChange","calendarPlacement","style","className","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthAriaLabel","nextMonthAriaLabel","changeDayAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","changeStartDayAriaLabel","changeStartMonthAriaLabel","changeStartYearAriaLabel","changeEndDayAriaLabel","changeEndMonthAriaLabel","changeEndYearAriaLabel","clearFieldAriaLabel","showCalendarAriaLabel","prevMonthIcon","nextMonthIcon","props","daysStartRef","React","useRef","monthsStartRef","yearsStartRef","daysEndRef","monthsEndRef","yearsEndRef","onInternalValueChange","useCallback","internalValue","isStartValid","isEndValid","i","formattedStartValue","formattedEndValue","mask","valueExists","Array","isArray","now","Date","start","end","refs","useMemo","maxElement","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","sizeY","onCalendarChange"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { format, isMatch, parse, isAfter } from \"../../lib/date\";\nimport { Icon16Clear, Icon20CalendarOutline } from \"@vkontakte/icons\";\nimport {\n CalendarRange,\n CalendarRangeProps,\n} from \"../CalendarRange/CalendarRange\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport { HasRootRef } from \"../../types\";\nimport { useDateInput } from \"../../hooks/useDateInput\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { classNames } from \"../../lib/classNames\";\nimport { multiRef } from \"../../lib/utils\";\nimport { FormField } from \"../FormField/FormField\";\nimport { InputLike } from \"../InputLike/InputLike\";\nimport { InputLikeDivider } from \"../InputLike/InputLikeDivider\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport \"./DateRangeInput.css\";\n\nexport interface DateRangeInputProps\n extends Omit<React.InputHTMLAttributes<HTMLDivElement>, \"value\" | \"onChange\">,\n Pick<\n CalendarRangeProps,\n | \"disablePast\"\n | \"disableFuture\"\n | \"shouldDisableDate\"\n | \"onChange\"\n | \"value\"\n | \"weekStartsOn\"\n | \"disablePickers\"\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"changeDayAriaLabel\"\n | \"prevMonthIcon\"\n | \"nextMonthIcon\"\n >,\n HasRootRef<HTMLDivElement> {\n calendarPlacement?: Placement;\n closeOnChange?: boolean;\n clearFieldAriaLabel?: string;\n showCalendarAriaLabel?: string;\n changeStartDayAriaLabel?: string;\n changeStartMonthAriaLabel?: string;\n changeStartYearAriaLabel?: string;\n changeEndDayAriaLabel?: string;\n changeEndMonthAriaLabel?: string;\n changeEndYearAriaLabel?: string;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n case 3:\n max = 31;\n break;\n case 1:\n case 4:\n max = 12;\n break;\n case 2:\n case 5:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarRangeProps[\"value\"]) => {\n const newValue = [\"\", \"\", \"\", \"\", \"\", \"\"];\n if (value?.[0]) {\n newValue[0] = String(value[0].getDate()).padStart(2, \"0\");\n newValue[1] = String(value[0].getMonth() + 1).padStart(2, \"0\");\n newValue[2] = String(value[0].getFullYear()).padStart(4, \"0\");\n }\n if (value?.[1]) {\n newValue[3] = String(value[1].getDate()).padStart(2, \"0\");\n newValue[4] = String(value[1].getMonth() + 1).padStart(2, \"0\");\n newValue[5] = String(value[1].getFullYear()).padStart(4, \"0\");\n }\n return newValue;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/DateRangeInput\n */\nexport const DateRangeInput = ({\n shouldDisableDate,\n disableFuture,\n disablePast,\n value,\n onChange,\n calendarPlacement = \"bottom-start\",\n style,\n className,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeDayAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n changeStartDayAriaLabel = \"Изменить день начала\",\n changeStartMonthAriaLabel = \"Изменить месяц начала\",\n changeStartYearAriaLabel = \"Изменить год начала\",\n changeEndDayAriaLabel = \"Изменить день окончания\",\n changeEndMonthAriaLabel = \"Изменить месяц окончания\",\n changeEndYearAriaLabel = \"Изменить год окончания\",\n clearFieldAriaLabel = \"Очистить поле\",\n showCalendarAriaLabel = \"Показать календарь\",\n prevMonthIcon,\n nextMonthIcon,\n ...props\n}: DateRangeInputProps) => {\n const daysStartRef = React.useRef<HTMLSpanElement>(null);\n const monthsStartRef = React.useRef<HTMLSpanElement>(null);\n const yearsStartRef = React.useRef<HTMLSpanElement>(null);\n const daysEndRef = React.useRef<HTMLSpanElement>(null);\n const monthsEndRef = React.useRef<HTMLSpanElement>(null);\n const yearsEndRef = React.useRef<HTMLSpanElement>(null);\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n let isStartValid = true;\n let isEndValid = true;\n for (let i = 0; i <= 2; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isStartValid = false;\n }\n }\n for (let i = 3; i <= 5; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isEndValid = false;\n }\n }\n const formattedStartValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n const formattedEndValue = `${internalValue[3]}.${internalValue[4]}.${internalValue[5]}`;\n const mask = \"dd.MM.yyyy\";\n\n if (!isMatch(formattedStartValue, mask)) {\n isStartValid = false;\n }\n if (!isMatch(formattedEndValue, mask)) {\n isEndValid = false;\n }\n\n if (!isStartValid && !isEndValid) {\n return;\n }\n\n const valueExists = Array.isArray(value);\n const now = new Date();\n const start = isStartValid\n ? parse(formattedStartValue, mask, (valueExists && value?.[0]) || now)\n : null;\n const end = isEndValid\n ? parse(formattedEndValue, mask, (valueExists && value?.[1]) || now)\n : null;\n if (start && end && isAfter(end, start)) {\n onChange?.([start, end]);\n }\n },\n [onChange, value]\n );\n\n const refs = React.useMemo(\n () => [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ],\n [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ]\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement: 5,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onChange,\n onInternalValueChange,\n getInternalValue,\n value,\n });\n\n const { sizeY } = useAdaptivity();\n\n const onCalendarChange = React.useCallback(\n (newValue?: Array<Date | null> | undefined) => {\n onChange?.(newValue);\n if (closeOnChange && newValue?.[1] && newValue[1] !== value?.[1]) {\n removeFocusFromField();\n }\n },\n [onChange, closeOnChange, value, removeFocusFromField]\n );\n\n return (\n <FormField\n vkuiClass={classNames(\"DateRangeInput\", `DateRangeInput--sizeY-${sizeY}`)}\n style={style}\n className={className}\n getRootRef={multiRef(rootRef, getRootRef)}\n after={\n value ? (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={clearFieldAriaLabel}\n onClick={clear}\n >\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={showCalendarAriaLabel}\n onClick={openCalendar}\n >\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <input\n type=\"hidden\"\n name={name}\n value={\n value\n ? `${value[0] ? format(value[0], \"DD.MM.YYYY\") : \"\"} - ${\n value[1] ? format(value[1], \"DD.MM.YYYY\") : \"\"\n }`\n : \"\"\n }\n />\n <span vkuiClass=\"DateInput__input\" onKeyDown={handleKeyDown}>\n <InputLike\n length={2}\n getRootRef={daysStartRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n aria-label={changeStartDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsStartRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n aria-label={changeStartMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsStartRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n aria-label={changeStartYearAriaLabel}\n />\n <InputLikeDivider>{\" — \"}</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={daysEndRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n aria-label={changeEndDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsEndRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n aria-label={changeEndMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsEndRef}\n index={5}\n onElementSelect={setFocusedElement}\n value={internalValue[5]}\n aria-label={changeEndYearAriaLabel}\n />\n </span>\n {open && (\n <Popper\n targetRef={rootRef}\n offsetDistance={8}\n placement={calendarPlacement}\n >\n <CalendarRange\n value={value}\n onChange={onCalendarChange}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onClose={closeCalendar}\n getRootRef={calendarRef}\n disablePickers={disablePickers}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n changeDayAriaLabel={changeDayAriaLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"file":"DateRangeInput.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Div/Div.tsx"],"names":["Div","children","getRootRef","restProps"],"mappings":";;;;;;;;;;;;;;;;;AAQA;AACA;AACA;AACO,IAAMA,GAAuB,GAAG,SAA1BA,GAA0B,OAIjC;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,MAFJC,UAEI,QAFJA,UAEI;AAAA,MADDC,SACC;AACJ,SACE,uEAASA,SAAT;AAAoB,IAAA,GAAG,EAAED,UAAzB;AAAqC,IAAA,SAAS,EAAC;AAA/C,MACGD,QADH,CADF;AAKD,CAVM","sourcesContent":["import * as React from \"react\";\nimport { HasRootRef } from \"../../types\";\nimport \"./Div.css\";\n\nexport interface DivProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Div\n */\nexport const Div: React.FC<DivProps> = ({\n children,\n getRootRef,\n ...restProps\n}) => {\n return (\n <div {...restProps} ref={getRootRef} vkuiClass=\"Div\">\n {children}\n </div>\n );\n};\n"],"file":"Div.js"}
1
+ {"version":3,"sources":["../../../../src/components/Div/Div.tsx"],"names":["Div","children","getRootRef","restProps"],"mappings":";;;;;;;;;;;;;;;;;AAQA;AACA;AACA;AACO,IAAMA,GAAG,GAAG,SAANA,GAAM,OAAsD;AAAA,MAAnDC,QAAmD,QAAnDA,QAAmD;AAAA,MAAzCC,UAAyC,QAAzCA,UAAyC;AAAA,MAA1BC,SAA0B;AACvE,SACE,uEAASA,SAAT;AAAoB,IAAA,GAAG,EAAED,UAAzB;AAAqC,IAAA,SAAS,EAAC;AAA/C,MACGD,QADH,CADF;AAKD,CANM","sourcesContent":["import * as React from \"react\";\nimport { HasRootRef } from \"../../types\";\nimport \"./Div.css\";\n\nexport interface DivProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Div\n */\nexport const Div = ({ children, getRootRef, ...restProps }: DivProps) => {\n return (\n <div {...restProps} ref={getRootRef} vkuiClass=\"Div\">\n {children}\n </div>\n );\n};\n"],"file":"Div.js"}
@@ -17,10 +17,6 @@ var _HoverPopper = require("../HoverPopper/HoverPopper");
17
17
 
18
18
  var _ClickPopper = require("../ClickPopper/ClickPopper");
19
19
 
20
- var _getClassName = require("../../helpers/getClassName");
21
-
22
- var _usePlatform = require("../../hooks/usePlatform");
23
-
24
20
  var _excluded = ["action", "hideDelay", "showDelay"];
25
21
 
26
22
  /**
@@ -32,7 +28,6 @@ var Dropdown = function Dropdown(_ref) {
32
28
  hideDelay = _ref.hideDelay,
33
29
  showDelay = _ref.showDelay,
34
30
  popperProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
35
- var platform = (0, _usePlatform.usePlatform)();
36
31
  var Component;
37
32
  var actionSpecificProps = {};
38
33
 
@@ -51,7 +46,7 @@ var Dropdown = function Dropdown(_ref) {
51
46
  }
52
47
 
53
48
  return (0, _jsxRuntime.createScopedElement)(Component, (0, _extends2.default)({
54
- vkuiClass: (0, _getClassName.getClassName)("Dropdown", platform)
49
+ vkuiClass: "Dropdown"
55
50
  }, actionSpecificProps, popperProps));
56
51
  };
57
52
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"names":["Dropdown","action","hideDelay","showDelay","popperProps","platform","Component","actionSpecificProps","ClickPopper","HoverPopper"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;;;AASA;AACA;AACA;AACO,IAAMA,QAAiC,GAAG,SAApCA,QAAoC,OAK5B;AAAA,yBAJnBC,MAImB;AAAA,MAJnBA,MAImB,4BAJV,OAIU;AAAA,MAHnBC,SAGmB,QAHnBA,SAGmB;AAAA,MAFnBC,SAEmB,QAFnBA,SAEmB;AAAA,MADhBC,WACgB;AACnB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,MAAIC,SAAJ;AACA,MAAIC,mBAA2C,GAAG,EAAlD;;AAEA,UAAQN,MAAR;AACE,SAAK,OAAL;AACEK,MAAAA,SAAS,GAAGE,wBAAZ;AACA;;AACF,SAAK,OAAL;AACED,MAAAA,mBAAmB,GAAG;AAAEL,QAAAA,SAAS,EAATA,SAAF;AAAaC,QAAAA,SAAS,EAATA;AAAb,OAAtB;AACAG,MAAAA,SAAS,GAAGG,wBAAZ;AACA;AAPJ;;AAUA,SACE,qCAAC,SAAD;AACE,IAAA,SAAS,EAAE,gCAAa,UAAb,EAAyBJ,QAAzB;AADb,KAEME,mBAFN,EAGMH,WAHN,EADF;AAOD,CA5BM","sourcesContent":["import * as React from \"react\";\nimport { HoverPopper, HoverPopperProps } from \"../HoverPopper/HoverPopper\";\nimport { ClickPopper, ClickPopperProps } from \"../ClickPopper/ClickPopper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./Dropdown.css\";\n\nexport interface DropdownProps\n extends Omit<ClickPopperProps, \"arrow\" | \"arrowClassName\">,\n Omit<HoverPopperProps, \"arrow\" | \"arrowClassName\"> {\n action?: \"click\" | \"hover\";\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Dropdown\n */\nexport const Dropdown: React.FC<DropdownProps> = ({\n action = \"click\",\n hideDelay,\n showDelay,\n ...popperProps\n}: DropdownProps) => {\n const platform = usePlatform();\n\n let Component;\n let actionSpecificProps: Partial<DropdownProps> = {};\n\n switch (action) {\n case \"click\":\n Component = ClickPopper;\n break;\n case \"hover\":\n actionSpecificProps = { hideDelay, showDelay };\n Component = HoverPopper;\n break;\n }\n\n return (\n <Component\n vkuiClass={getClassName(\"Dropdown\", platform)}\n {...actionSpecificProps}\n {...popperProps}\n />\n );\n};\n"],"file":"Dropdown.js"}
1
+ {"version":3,"sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"names":["Dropdown","action","hideDelay","showDelay","popperProps","Component","actionSpecificProps","ClickPopper","HoverPopper"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;;;AASA;AACA;AACA;AACO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,OAKH;AAAA,yBAJnBC,MAImB;AAAA,MAJnBA,MAImB,4BAJV,OAIU;AAAA,MAHnBC,SAGmB,QAHnBA,SAGmB;AAAA,MAFnBC,SAEmB,QAFnBA,SAEmB;AAAA,MADhBC,WACgB;AACnB,MAAIC,SAAJ;AACA,MAAIC,mBAA2C,GAAG,EAAlD;;AAEA,UAAQL,MAAR;AACE,SAAK,OAAL;AACEI,MAAAA,SAAS,GAAGE,wBAAZ;AACA;;AACF,SAAK,OAAL;AACED,MAAAA,mBAAmB,GAAG;AAAEJ,QAAAA,SAAS,EAATA,SAAF;AAAaC,QAAAA,SAAS,EAATA;AAAb,OAAtB;AACAE,MAAAA,SAAS,GAAGG,wBAAZ;AACA;AAPJ;;AAUA,SACE,qCAAC,SAAD;AAAW,IAAA,SAAS,EAAC;AAArB,KAAoCF,mBAApC,EAA6DF,WAA7D,EADF;AAGD,CAtBM","sourcesContent":["import { HoverPopper, HoverPopperProps } from \"../HoverPopper/HoverPopper\";\nimport { ClickPopper, ClickPopperProps } from \"../ClickPopper/ClickPopper\";\nimport \"./Dropdown.css\";\n\nexport interface DropdownProps\n extends Omit<ClickPopperProps, \"arrow\" | \"arrowClassName\">,\n Omit<HoverPopperProps, \"arrow\" | \"arrowClassName\"> {\n action?: \"click\" | \"hover\";\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Dropdown\n */\nexport const Dropdown = ({\n action = \"click\",\n hideDelay,\n showDelay,\n ...popperProps\n}: DropdownProps) => {\n let Component;\n let actionSpecificProps: Partial<DropdownProps> = {};\n\n switch (action) {\n case \"click\":\n Component = ClickPopper;\n break;\n case \"hover\":\n actionSpecificProps = { hideDelay, showDelay };\n Component = HoverPopper;\n break;\n }\n\n return (\n <Component vkuiClass=\"Dropdown\" {...actionSpecificProps} {...popperProps} />\n );\n};\n"],"file":"Dropdown.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DropdownIcon/DropdownIcon.tsx"],"names":["DropdownIcon","props","platform","sizeY","Icon","SizeType","COMPACT","Icon20Dropdown","Icon24ChevronDown"],"mappings":";;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGO,IAAMA,YAAyD,GAAG,SAA5DA,YAA4D,CACvEC,KADuE,EAEpE;AACH,MAAMC,QAAQ,GAAG,+BAAjB;;AACA,uBAAkB,oCAAlB;AAAA,MAAQC,KAAR,kBAAQA,KAAR;;AAEA,MAAMC,IAAI,GAAGD,KAAK,KAAKE,4BAASC,OAAnB,GAA6BC,qBAA7B,GAA8CC,wBAA3D;AAEA,SAAO,qCAAC,IAAD;AAAM,IAAA,SAAS,EAAE,gCAAa,cAAb,EAA6BN,QAA7B;AAAjB,KAA6DD,KAA7D,EAAP;AACD,CATM","sourcesContent":["import * as React from \"react\";\nimport { Icon20Dropdown, Icon24ChevronDown } from \"@vkontakte/icons\";\nimport { SizeType } from \"../AdaptivityProvider/AdaptivityContext\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./DropdownIcon.css\";\n\nexport const DropdownIcon: React.FC<React.HTMLAttributes<HTMLElement>> = (\n props\n) => {\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n\n const Icon = sizeY === SizeType.COMPACT ? Icon20Dropdown : Icon24ChevronDown;\n\n return <Icon vkuiClass={getClassName(\"DropdownIcon\", platform)} {...props} />;\n};\n"],"file":"DropdownIcon.js"}
1
+ {"version":3,"sources":["../../../../src/components/DropdownIcon/DropdownIcon.tsx"],"names":["DropdownIcon","props","platform","sizeY","Icon","SizeType","COMPACT","Icon20Dropdown","Icon24ChevronDown"],"mappings":";;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGO,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAiD;AAC3E,MAAMC,QAAQ,GAAG,+BAAjB;;AACA,uBAAkB,oCAAlB;AAAA,MAAQC,KAAR,kBAAQA,KAAR;;AAEA,MAAMC,IAAI,GAAGD,KAAK,KAAKE,4BAASC,OAAnB,GAA6BC,qBAA7B,GAA8CC,wBAA3D;AAEA,SAAO,qCAAC,IAAD;AAAM,IAAA,SAAS,EAAE,gCAAa,cAAb,EAA6BN,QAA7B;AAAjB,KAA6DD,KAA7D,EAAP;AACD,CAPM","sourcesContent":["import * as React from \"react\";\nimport { Icon20Dropdown, Icon24ChevronDown } from \"@vkontakte/icons\";\nimport { SizeType } from \"../AdaptivityProvider/AdaptivityContext\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./DropdownIcon.css\";\n\nexport const DropdownIcon = (props: React.HTMLAttributes<HTMLDivElement>) => {\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n\n const Icon = sizeY === SizeType.COMPACT ? Icon20Dropdown : Icon24ChevronDown;\n\n return <Icon vkuiClass={getClassName(\"DropdownIcon\", platform)} {...props} />;\n};\n"],"file":"DropdownIcon.js"}
@@ -34,24 +34,24 @@ var _AdaptivityProvider = require("../AdaptivityProvider/AdaptivityProvider");
34
34
  var _excluded = ["activeStory", "tabbar", "children", "viewWidth"];
35
35
  var warn = (0, _warnOnce.warnOnce)("Epic");
36
36
 
37
- var EpicComponent = function EpicComponent(props) {
38
- var _ref;
39
-
37
+ var EpicComponent = function EpicComponent(_ref) {
38
+ var _ref2;
39
+
40
+ var activeStory = _ref.activeStory,
41
+ tabbar = _ref.tabbar,
42
+ children = _ref.children,
43
+ viewWidth = _ref.viewWidth,
44
+ restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
40
45
  var platform = (0, _usePlatform.usePlatform)();
41
46
  var scroll = React.useRef({}).current;
42
- var activeStory = props.activeStory,
43
- tabbar = props.tabbar,
44
- children = props.children,
45
- viewWidth = props.viewWidth,
46
- restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
47
47
 
48
48
  if (process.env.NODE_ENV === "development" && !tabbar && viewWidth < _withAdaptivity.ViewWidth.SMALL_TABLET) {
49
49
  warn("\u041D\u0435 \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u0442\u0441\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C Epic \u0431\u0435\u0437 Tabbar \u043F\u0440\u0438 \u0448\u0438\u0440\u0438\u043D\u0435 \u043E\u043A\u043D\u0430 \u043C\u0435\u043D\u044C\u0448\u0435 ".concat(_AdaptivityProvider.SMALL_TABLET_SIZE, "px"));
50
50
  }
51
51
 
52
- var story = (_ref = React.Children.toArray(children).find(function (story) {
52
+ var story = (_ref2 = React.Children.toArray(children).find(function (story) {
53
53
  return /*#__PURE__*/React.isValidElement(story) && (0, _getNavId.getNavId)(story.props, warn) === activeStory;
54
- })) !== null && _ref !== void 0 ? _ref : null;
54
+ })) !== null && _ref2 !== void 0 ? _ref2 : null;
55
55
  return (0, _jsxRuntime.createScopedElement)("div", (0, _extends2.default)({}, restProps, {
56
56
  vkuiClass: (0, _getClassName.getClassName)("Epic", platform)
57
57
  }), (0, _jsxRuntime.createScopedElement)(_ScrollSaver.ScrollSaver, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Epic/Epic.tsx"],"names":["warn","EpicComponent","props","platform","scroll","React","useRef","current","activeStory","tabbar","children","viewWidth","restProps","process","env","NODE_ENV","ViewWidth","SMALL_TABLET","SMALL_TABLET_SIZE","story","Children","toArray","find","isValidElement","value","Epic","displayName"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;;AAUA,IAAMA,IAAI,GAAG,wBAAS,MAAT,CAAb;;AAEA,IAAMC,aAA+D,GAAG,SAAlEA,aAAkE,CACtEC,KADsE,EAEnE;AAAA;;AACH,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MAAMC,MAAM,GAAGC,KAAK,CAACC,MAAN,CAAwC,EAAxC,EAA4CC,OAA3D;AACA,MAAQC,WAAR,GAAmEN,KAAnE,CAAQM,WAAR;AAAA,MAAqBC,MAArB,GAAmEP,KAAnE,CAAqBO,MAArB;AAAA,MAA6BC,QAA7B,GAAmER,KAAnE,CAA6BQ,QAA7B;AAAA,MAAuCC,SAAvC,GAAmET,KAAnE,CAAuCS,SAAvC;AAAA,MAAqDC,SAArD,0CAAmEV,KAAnE;;AAEA,MACEW,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACA,CAACN,MADD,IAEAE,SAAS,GAAGK,0BAAUC,YAHxB,EAIE;AACAjB,IAAAA,IAAI,qUACsEkB,qCADtE,QAAJ;AAGD;;AACD,MAAMC,KAAK,WACRd,KAAK,CAACe,QAAN,CAAeC,OAAf,CAAuBX,QAAvB,EAAiCY,IAAjC,CACC,UAACH,KAAD;AAAA,WACE,aAAAd,KAAK,CAACkB,cAAN,CAAqBJ,KAArB,KACA,wBAASA,KAAK,CAACjB,KAAf,EAAsBF,IAAtB,MAAgCQ,WAFlC;AAAA,GADD,CADQ,uCAK+B,IAL1C;AAOA,SACE,uEAASI,SAAT;AAAoB,IAAA,SAAS,EAAE,gCAAa,MAAb,EAAqBT,QAArB;AAA/B,MACE,qCAAC,wBAAD;AACE,IAAA,GAAG,EAAEK,WADP;AAEE,IAAA,aAAa,EAAEJ,MAAM,CAACI,WAAD,CAAN,IAAuB,CAFxC;AAGE,IAAA,UAAU,EAAE,oBAACgB,KAAD;AAAA,aAAYpB,MAAM,CAACI,WAAD,CAAN,GAAsBgB,KAAlC;AAAA;AAHd,KAKGL,KALH,CADF,EAQGV,MARH,CADF;AAYD,CAnCD;AAqCA;AACA;AACA;;;AACO,IAAMgB,IAAI,GAAG,oCAAexB,aAAf,EAA8B;AAChDU,EAAAA,SAAS,EAAE;AADqC,CAA9B,CAAb;;AAIPc,IAAI,CAACC,WAAL,GAAmB,MAAnB","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { withAdaptivity, ViewWidth } from \"../../hoc/withAdaptivity\";\nimport { ScrollSaver } from \"./ScrollSaver\";\nimport { getNavId } from \"../../lib/getNavId\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport { SMALL_TABLET_SIZE } from \"../AdaptivityProvider/AdaptivityProvider\";\nimport \"./Epic.css\";\n\nexport interface EpicProps\n extends React.HTMLAttributes<HTMLDivElement>,\n AdaptivityProps {\n tabbar?: React.ReactNode;\n activeStory: string;\n}\n\nconst warn = warnOnce(\"Epic\");\n\nconst EpicComponent: React.FC<EpicProps & AdaptivityContextInterface> = (\n props\n) => {\n const platform = usePlatform();\n const scroll = React.useRef<{ [key: string]: number }>({}).current;\n const { activeStory, tabbar, children, viewWidth, ...restProps } = props;\n\n if (\n process.env.NODE_ENV === \"development\" &&\n !tabbar &&\n viewWidth < ViewWidth.SMALL_TABLET\n ) {\n warn(\n `Не рекомендуется использовать Epic без Tabbar при ширине окна меньше ${SMALL_TABLET_SIZE}px`\n );\n }\n const story =\n (React.Children.toArray(children).find(\n (story) =>\n React.isValidElement(story) &&\n getNavId(story.props, warn) === activeStory\n ) as React.ReactElement | undefined) ?? null;\n\n return (\n <div {...restProps} vkuiClass={getClassName(\"Epic\", platform)}>\n <ScrollSaver\n key={activeStory}\n initialScroll={scroll[activeStory] || 0}\n saveScroll={(value) => (scroll[activeStory] = value)}\n >\n {story}\n </ScrollSaver>\n {tabbar}\n </div>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Epic\n */\nexport const Epic = withAdaptivity(EpicComponent, {\n viewWidth: true,\n});\n\nEpic.displayName = \"Epic\";\n"],"file":"Epic.js"}
1
+ {"version":3,"sources":["../../../../src/components/Epic/Epic.tsx"],"names":["warn","EpicComponent","activeStory","tabbar","children","viewWidth","restProps","platform","scroll","React","useRef","current","process","env","NODE_ENV","ViewWidth","SMALL_TABLET","SMALL_TABLET_SIZE","story","Children","toArray","find","isValidElement","props","value","Epic","displayName"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;;AAUA,IAAMA,IAAI,GAAG,wBAAS,MAAT,CAAb;;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAMwB;AAAA;;AAAA,MAL5CC,WAK4C,QAL5CA,WAK4C;AAAA,MAJ5CC,MAI4C,QAJ5CA,MAI4C;AAAA,MAH5CC,QAG4C,QAH5CA,QAG4C;AAAA,MAF5CC,SAE4C,QAF5CA,SAE4C;AAAA,MADzCC,SACyC;AAC5C,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MAAMC,MAAM,GAAGC,KAAK,CAACC,MAAN,CAAwC,EAAxC,EAA4CC,OAA3D;;AAEA,MACEC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACA,CAACX,MADD,IAEAE,SAAS,GAAGU,0BAAUC,YAHxB,EAIE;AACAhB,IAAAA,IAAI,qUACsEiB,qCADtE,QAAJ;AAGD;;AACD,MAAMC,KAAK,YACRT,KAAK,CAACU,QAAN,CAAeC,OAAf,CAAuBhB,QAAvB,EAAiCiB,IAAjC,CACC,UAACH,KAAD;AAAA,WACE,aAAAT,KAAK,CAACa,cAAN,CAAqBJ,KAArB,KACA,wBAASA,KAAK,CAACK,KAAf,EAAsBvB,IAAtB,MAAgCE,WAFlC;AAAA,GADD,CADQ,yCAK+B,IAL1C;AAOA,SACE,uEAASI,SAAT;AAAoB,IAAA,SAAS,EAAE,gCAAa,MAAb,EAAqBC,QAArB;AAA/B,MACE,qCAAC,wBAAD;AACE,IAAA,GAAG,EAAEL,WADP;AAEE,IAAA,aAAa,EAAEM,MAAM,CAACN,WAAD,CAAN,IAAuB,CAFxC;AAGE,IAAA,UAAU,EAAE,oBAACsB,KAAD;AAAA,aAAYhB,MAAM,CAACN,WAAD,CAAN,GAAsBsB,KAAlC;AAAA;AAHd,KAKGN,KALH,CADF,EAQGf,MARH,CADF;AAYD,CAtCD;AAwCA;AACA;AACA;;;AACO,IAAMsB,IAAI,GAAG,oCAAexB,aAAf,EAA8B;AAChDI,EAAAA,SAAS,EAAE;AADqC,CAA9B,CAAb;;AAIPoB,IAAI,CAACC,WAAL,GAAmB,MAAnB","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { withAdaptivity, ViewWidth } from \"../../hoc/withAdaptivity\";\nimport { ScrollSaver } from \"./ScrollSaver\";\nimport { getNavId } from \"../../lib/getNavId\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport { SMALL_TABLET_SIZE } from \"../AdaptivityProvider/AdaptivityProvider\";\nimport \"./Epic.css\";\n\nexport interface EpicProps\n extends React.HTMLAttributes<HTMLDivElement>,\n AdaptivityProps {\n tabbar?: React.ReactNode;\n activeStory: string;\n}\n\nconst warn = warnOnce(\"Epic\");\n\nconst EpicComponent = ({\n activeStory,\n tabbar,\n children,\n viewWidth,\n ...restProps\n}: EpicProps & AdaptivityContextInterface) => {\n const platform = usePlatform();\n const scroll = React.useRef<{ [key: string]: number }>({}).current;\n\n if (\n process.env.NODE_ENV === \"development\" &&\n !tabbar &&\n viewWidth < ViewWidth.SMALL_TABLET\n ) {\n warn(\n `Не рекомендуется использовать Epic без Tabbar при ширине окна меньше ${SMALL_TABLET_SIZE}px`\n );\n }\n const story =\n (React.Children.toArray(children).find(\n (story) =>\n React.isValidElement(story) &&\n getNavId(story.props, warn) === activeStory\n ) as React.ReactElement | undefined) ?? null;\n\n return (\n <div {...restProps} vkuiClass={getClassName(\"Epic\", platform)}>\n <ScrollSaver\n key={activeStory}\n initialScroll={scroll[activeStory] || 0}\n saveScroll={(value) => (scroll[activeStory] = value)}\n >\n {story}\n </ScrollSaver>\n {tabbar}\n </div>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Epic\n */\nexport const Epic = withAdaptivity(EpicComponent, {\n viewWidth: true,\n});\n\nEpic.displayName = \"Epic\";\n"],"file":"Epic.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Epic/ScrollSaver.tsx"],"names":["ScrollSaver","children","initialScroll","saveScroll","React","useContext","ScrollContext","getScroll","scrollTo","y"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAOA;AACA;AACA;AACO,IAAMA,WAAuC,GAAG,SAA1CA,WAA0C,OAIjD;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,MAFJC,aAEI,QAFJA,aAEI;AAAA,MADJC,UACI,QADJA,UACI;;AACJ,0BAAgCC,KAAK,CAACC,UAAN,CAAiBC,4BAAjB,CAAhC;AAAA,MAAQC,SAAR,qBAAQA,SAAR;AAAA,MAAmBC,QAAnB,qBAAmBA,QAAnB;;AACA,4DAA0B,YAAM;AAC9B,QAAI,OAAON,aAAP,KAAyB,QAA7B,EAAuC;AACrCM,MAAAA,QAAQ,CAAC,CAAD,EAAIN,aAAJ,CAAR;AACD;;AACD,WAAO;AAAA,aAAMC,UAAU,CAACI,SAAS,GAAGE,CAAb,CAAhB;AAAA,KAAP;AACD,GALD,EAKG,EALH;AAMA,SAAO,qCAAC,KAAD,CAAO,QAAP,QAAiBR,QAAjB,CAAP;AACD,CAbM","sourcesContent":["import * as React from \"react\";\nimport { ScrollContext } from \"../AppRoot/ScrollContext\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\n\nexport interface ScrollSaverProps {\n initialScroll?: number;\n saveScroll: (scroll: number) => any;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ScrollSaver\n */\nexport const ScrollSaver: React.FC<ScrollSaverProps> = ({\n children,\n initialScroll,\n saveScroll,\n}) => {\n const { getScroll, scrollTo } = React.useContext(ScrollContext);\n useIsomorphicLayoutEffect(() => {\n if (typeof initialScroll === \"number\") {\n scrollTo(0, initialScroll);\n }\n return () => saveScroll(getScroll().y);\n }, []);\n return <React.Fragment>{children}</React.Fragment>;\n};\n"],"file":"ScrollSaver.js"}
1
+ {"version":3,"sources":["../../../../src/components/Epic/ScrollSaver.tsx"],"names":["ScrollSaver","children","initialScroll","saveScroll","React","useContext","ScrollContext","getScroll","scrollTo","y"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAQA;AACA;AACA;AACO,IAAMA,WAAW,GAAG,SAAdA,WAAc,OAIH;AAAA,MAHtBC,QAGsB,QAHtBA,QAGsB;AAAA,MAFtBC,aAEsB,QAFtBA,aAEsB;AAAA,MADtBC,UACsB,QADtBA,UACsB;;AACtB,0BAAgCC,KAAK,CAACC,UAAN,CAAiBC,4BAAjB,CAAhC;AAAA,MAAQC,SAAR,qBAAQA,SAAR;AAAA,MAAmBC,QAAnB,qBAAmBA,QAAnB;;AACA,4DAA0B,YAAM;AAC9B,QAAI,OAAON,aAAP,KAAyB,QAA7B,EAAuC;AACrCM,MAAAA,QAAQ,CAAC,CAAD,EAAIN,aAAJ,CAAR;AACD;;AACD,WAAO;AAAA,aAAMC,UAAU,CAACI,SAAS,GAAGE,CAAb,CAAhB;AAAA,KAAP;AACD,GALD,EAKG,EALH;AAMA,SAAO,qCAAC,KAAD,CAAO,QAAP,QAAiBR,QAAjB,CAAP;AACD,CAbM","sourcesContent":["import * as React from \"react\";\nimport { ScrollContext } from \"../AppRoot/ScrollContext\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\n\nexport interface ScrollSaverProps {\n initialScroll?: number;\n saveScroll: (scroll: number) => any;\n children?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ScrollSaver\n */\nexport const ScrollSaver = ({\n children,\n initialScroll,\n saveScroll,\n}: ScrollSaverProps) => {\n const { getScroll, scrollTo } = React.useContext(ScrollContext);\n useIsomorphicLayoutEffect(() => {\n if (typeof initialScroll === \"number\") {\n scrollTo(0, initialScroll);\n }\n return () => saveScroll(getScroll().y);\n }, []);\n return <React.Fragment>{children}</React.Fragment>;\n};\n"],"file":"ScrollSaver.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/File/File.tsx"],"names":["File","children","align","controlSize","size","mode","stretched","before","after","loading","className","style","getRef","getRootRef","appearance","restProps","platform","disabled"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AAEA;;AACA;;;;AAaA;AACA;AACA;AACO,IAAMA,IAAyB,GAAG,SAA5BA,IAA4B,OAiBnC;AAAA,2BAhBJC,QAgBI;AAAA,MAhBJA,QAgBI,8BAhBO,eAgBP;AAAA,wBAfJC,KAeI;AAAA,MAfJA,KAeI,2BAfI,MAeJ;AAAA,MAbJC,WAaI,QAbJA,WAaI;AAAA,MAZJC,IAYI,QAZJA,IAYI;AAAA,MAXJC,IAWI,QAXJA,IAWI;AAAA,MAVJC,SAUI,QAVJA,SAUI;AAAA,MATJC,MASI,QATJA,MASI;AAAA,MARJC,KAQI,QARJA,KAQI;AAAA,MAPJC,OAOI,QAPJA,OAOI;AAAA,MANJC,SAMI,QANJA,SAMI;AAAA,MALJC,KAKI,QALJA,KAKI;AAAA,MAJJC,MAII,QAJJA,MAII;AAAA,MAHJC,UAGI,QAHJA,UAGI;AAAA,MAFJC,UAEI,QAFJA,UAEI;AAAA,MADDC,SACC;AACJ,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,qCAAC,cAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,KAAK,EAAEd,KAFT;AAGE,IAAA,SAAS,EAAE,gCAAa,MAAb,EAAqBc,QAArB,CAHb;AAIE,IAAA,SAAS,EAAEN,SAJb;AAKE,IAAA,SAAS,EAAEJ,SALb;AAME,IAAA,IAAI,EAAED,IANR;AAOE,IAAA,UAAU,EAAES,UAPd,CAQE;AARF;AASE,IAAA,IAAI,EAAEV,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUD,WAThB;AAUE,IAAA,MAAM,EAAEI,MAVV;AAWE,IAAA,KAAK,EAAEC,KAXT;AAYE,IAAA,OAAO,EAAEC,OAZX;AAaE,IAAA,KAAK,EAAEE,KAbT;AAcE,IAAA,UAAU,EAAEE,UAdd;AAeE,IAAA,QAAQ,EAAEE,SAAS,CAACE;AAftB,KAiBE,qCAAC,wCAAD,6BACMF,SADN;AAEE,IAAA,SAAS,EAAC,aAFZ;AAGE,IAAA,IAAI,EAAC,MAHP;AAIE,IAAA,MAAM,EAAEH;AAJV,KAjBF,EAuBGX,QAvBH,CADF;AA2BD,CA/CM","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { Button, VKUIButtonProps } from \"../Button/Button\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { VisuallyHiddenInput } from \"../VisuallyHiddenInput/VisuallyHiddenInput\";\n\nexport interface FileProps\n extends Omit<VKUIButtonProps, \"type\">,\n Omit<React.InputHTMLAttributes<HTMLInputElement>, \"type\" | \"size\">,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLElement> {\n /**\n * @deprecated Будет удалено в 5.0.0. Используйте size\n */\n controlSize?: VKUIButtonProps[\"size\"];\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/File\n */\nexport const File: React.FC<FileProps> = ({\n children = \"Выберите файл\",\n align = \"left\",\n // TODO: v5.0.0 удалить controlSize\n controlSize,\n size,\n mode,\n stretched,\n before,\n after,\n loading,\n className,\n style,\n getRef,\n getRootRef,\n appearance,\n ...restProps\n}) => {\n const platform = usePlatform();\n\n return (\n <Button\n Component=\"label\"\n align={align}\n vkuiClass={getClassName(\"File\", platform)}\n className={className}\n stretched={stretched}\n mode={mode}\n appearance={appearance}\n // TODO: v5.0.0 удалить controlSize\n size={size ?? controlSize}\n before={before}\n after={after}\n loading={loading}\n style={style}\n getRootRef={getRootRef}\n disabled={restProps.disabled}\n >\n <VisuallyHiddenInput\n {...restProps}\n vkuiClass=\"File__input\"\n type=\"file\"\n getRef={getRef}\n />\n {children}\n </Button>\n );\n};\n"],"file":"File.js"}
1
+ {"version":3,"sources":["../../../../src/components/File/File.tsx"],"names":["File","children","align","controlSize","size","mode","stretched","before","after","loading","className","style","getRef","getRootRef","appearance","restProps","platform","disabled"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AAEA;;AACA;;;;AAaA;AACA;AACA;AACO,IAAMA,IAAI,GAAG,SAAPA,IAAO,OAiBH;AAAA,2BAhBfC,QAgBe;AAAA,MAhBfA,QAgBe,8BAhBJ,eAgBI;AAAA,wBAffC,KAee;AAAA,MAffA,KAee,2BAfP,MAeO;AAAA,MAbfC,WAae,QAbfA,WAae;AAAA,MAZfC,IAYe,QAZfA,IAYe;AAAA,MAXfC,IAWe,QAXfA,IAWe;AAAA,MAVfC,SAUe,QAVfA,SAUe;AAAA,MATfC,MASe,QATfA,MASe;AAAA,MARfC,KAQe,QARfA,KAQe;AAAA,MAPfC,OAOe,QAPfA,OAOe;AAAA,MANfC,SAMe,QANfA,SAMe;AAAA,MALfC,KAKe,QALfA,KAKe;AAAA,MAJfC,MAIe,QAJfA,MAIe;AAAA,MAHfC,UAGe,QAHfA,UAGe;AAAA,MAFfC,UAEe,QAFfA,UAEe;AAAA,MADZC,SACY;AACf,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,qCAAC,cAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,KAAK,EAAEd,KAFT;AAGE,IAAA,SAAS,EAAE,gCAAa,MAAb,EAAqBc,QAArB,CAHb;AAIE,IAAA,SAAS,EAAEN,SAJb;AAKE,IAAA,SAAS,EAAEJ,SALb;AAME,IAAA,IAAI,EAAED,IANR;AAOE,IAAA,UAAU,EAAES,UAPd,CAQE;AARF;AASE,IAAA,IAAI,EAAEV,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUD,WAThB;AAUE,IAAA,MAAM,EAAEI,MAVV;AAWE,IAAA,KAAK,EAAEC,KAXT;AAYE,IAAA,OAAO,EAAEC,OAZX;AAaE,IAAA,KAAK,EAAEE,KAbT;AAcE,IAAA,UAAU,EAAEE,UAdd;AAeE,IAAA,QAAQ,EAAEE,SAAS,CAACE;AAftB,KAiBE,qCAAC,wCAAD,6BACMF,SADN;AAEE,IAAA,SAAS,EAAC,aAFZ;AAGE,IAAA,IAAI,EAAC,MAHP;AAIE,IAAA,MAAM,EAAEH;AAJV,KAjBF,EAuBGX,QAvBH,CADF;AA2BD,CA/CM","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { Button, VKUIButtonProps } from \"../Button/Button\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { VisuallyHiddenInput } from \"../VisuallyHiddenInput/VisuallyHiddenInput\";\n\nexport interface FileProps\n extends Omit<VKUIButtonProps, \"type\">,\n Omit<React.InputHTMLAttributes<HTMLInputElement>, \"type\" | \"size\">,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLElement> {\n /**\n * @deprecated Будет удалено в 5.0.0. Используйте size\n */\n controlSize?: VKUIButtonProps[\"size\"];\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/File\n */\nexport const File = ({\n children = \"Выберите файл\",\n align = \"left\",\n // TODO: v5.0.0 удалить controlSize\n controlSize,\n size,\n mode,\n stretched,\n before,\n after,\n loading,\n className,\n style,\n getRef,\n getRootRef,\n appearance,\n ...restProps\n}: FileProps) => {\n const platform = usePlatform();\n\n return (\n <Button\n Component=\"label\"\n align={align}\n vkuiClass={getClassName(\"File\", platform)}\n className={className}\n stretched={stretched}\n mode={mode}\n appearance={appearance}\n // TODO: v5.0.0 удалить controlSize\n size={size ?? controlSize}\n before={before}\n after={after}\n loading={loading}\n style={style}\n getRootRef={getRootRef}\n disabled={restProps.disabled}\n >\n <VisuallyHiddenInput\n {...restProps}\n vkuiClass=\"File__input\"\n type=\"file\"\n getRef={getRef}\n />\n {children}\n </Button>\n );\n};\n"],"file":"File.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FixedLayout/FixedLayout.tsx"],"names":["FixedLayout","children","style","vertical","getRootRef","getRef","filled","restProps","platform","React","useState","undefined","width","setWidth","window","useContext","SplitColContext","colRef","doResize","current","offsetWidth","useEffect","IOS"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AAsBA;AACA;AACA;AACO,IAAMA,WAAuC,GAAG,SAA1CA,WAA0C,OAQ/B;AAAA,MAPtBC,QAOsB,QAPtBA,QAOsB;AAAA,MANtBC,KAMsB,QANtBA,KAMsB;AAAA,MALtBC,QAKsB,QALtBA,QAKsB;AAAA,MAJtBC,UAIsB,QAJtBA,UAIsB;AAAA,MAHtBC,MAGsB,QAHtBA,MAGsB;AAAA,MAFtBC,MAEsB,QAFtBA,MAEsB;AAAA,MADnBC,SACmB;AACtB,MAAMC,QAAQ,GAAG,+BAAjB;;AACA,wBAA0BC,KAAK,CAACC,QAAN,CAAmCC,SAAnC,CAA1B;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,QAAd;;AACA,gBAAmB,kBAAnB;AAAA,MAAQC,MAAR,WAAQA,MAAR;;AACA,0BAAmBL,KAAK,CAACM,UAAN,CAAiBC,yBAAjB,CAAnB;AAAA,MAAQC,MAAR,qBAAQA,MAAR;;AACA,MAAMC,QAAQ,GAAG,SAAXA,QAAW;AAAA,WACfL,QAAQ,CAACI,MAAM,SAAN,IAAAA,MAAM,WAAN,IAAAA,MAAM,CAAEE,OAAR,aAAqBF,MAAM,CAACE,OAAP,CAAeC,WAApC,UAAsDT,SAAvD,CADO;AAAA,GAAjB;;AAEAF,EAAAA,KAAK,CAACY,SAAN,CAAgBH,QAAhB,EAA0B,CAACD,MAAD,CAA1B;AACA,sDAAuBH,MAAvB,EAA+B,QAA/B,EAAyCI,QAAzC;AAEA,SACE,qCAAC,kCAAD,6BACMX,SADN;AAEE,IAAA,KAAK,MAFP;AAGE,IAAA,GAAG,EAAEH,UAHP;AAIE,IAAA,SAAS,EAAE,4BACT,aADS,EAETI,QAAQ,KAAKc,aAAb,IAAoB,kBAFX,EAGThB,MAAM,IAAI,qBAHD,yBAIOH,QAJP,EAJb;AAUE,IAAA,KAAK,8DAAOD,KAAP;AAAcU,MAAAA,KAAK,EAALA;AAAd;AAVP,MAYE;AAAK,IAAA,SAAS,EAAC,iBAAf;AAAiC,IAAA,GAAG,EAAEP;AAAtC,KACGJ,QADH,CAZF,CADF;AAkBD,CApCM","sourcesContent":["import * as React from \"react\";\nimport { IOS } from \"../../lib/platform\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { SplitColContext } from \"../SplitCol/SplitCol\";\nimport { TooltipContainer } from \"../Tooltip/TooltipContainer\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./FixedLayout.css\";\n\nexport interface FixedLayoutProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n vertical?: \"top\" | \"bottom\";\n /**\n * Это свойство определяет, будет ли фон компонента окрашен в цвет фона контента.\n * Это часто необходимо для фиксированных кнопок в нижней части экрана.\n */\n filled?: boolean;\n}\n\nexport interface FixedLayoutState {\n position: \"absolute\" | null;\n top: number;\n bottom: number;\n width: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/FixedLayout\n */\nexport const FixedLayout: React.FC<FixedLayoutProps> = ({\n children,\n style,\n vertical,\n getRootRef,\n getRef,\n filled,\n ...restProps\n}: FixedLayoutProps) => {\n const platform = usePlatform();\n const [width, setWidth] = React.useState<string | undefined>(undefined);\n const { window } = useDOM();\n const { colRef } = React.useContext(SplitColContext);\n const doResize = () =>\n setWidth(colRef?.current ? `${colRef.current.offsetWidth}px` : undefined);\n React.useEffect(doResize, [colRef]);\n useGlobalEventListener(window, \"resize\", doResize);\n\n return (\n <TooltipContainer\n {...restProps}\n fixed\n ref={getRootRef}\n vkuiClass={classNames(\n \"FixedLayout\",\n platform === IOS && \"FixedLayout--ios\",\n filled && \"FixedLayout--filled\",\n `FixedLayout--${vertical}`\n )}\n style={{ ...style, width }}\n >\n <div vkuiClass=\"FixedLayout__in\" ref={getRef}>\n {children}\n </div>\n </TooltipContainer>\n );\n};\n"],"file":"FixedLayout.js"}
1
+ {"version":3,"sources":["../../../../src/components/FixedLayout/FixedLayout.tsx"],"names":["FixedLayout","children","style","vertical","getRootRef","getRef","filled","restProps","platform","React","useState","undefined","width","setWidth","window","useContext","SplitColContext","colRef","doResize","current","offsetWidth","useEffect","IOS"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AAsBA;AACA;AACA;AACO,IAAMA,WAAW,GAAG,SAAdA,WAAc,OAQH;AAAA,MAPtBC,QAOsB,QAPtBA,QAOsB;AAAA,MANtBC,KAMsB,QANtBA,KAMsB;AAAA,MALtBC,QAKsB,QALtBA,QAKsB;AAAA,MAJtBC,UAIsB,QAJtBA,UAIsB;AAAA,MAHtBC,MAGsB,QAHtBA,MAGsB;AAAA,MAFtBC,MAEsB,QAFtBA,MAEsB;AAAA,MADnBC,SACmB;AACtB,MAAMC,QAAQ,GAAG,+BAAjB;;AACA,wBAA0BC,KAAK,CAACC,QAAN,CAAmCC,SAAnC,CAA1B;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,QAAd;;AACA,gBAAmB,kBAAnB;AAAA,MAAQC,MAAR,WAAQA,MAAR;;AACA,0BAAmBL,KAAK,CAACM,UAAN,CAAiBC,yBAAjB,CAAnB;AAAA,MAAQC,MAAR,qBAAQA,MAAR;;AACA,MAAMC,QAAQ,GAAG,SAAXA,QAAW;AAAA,WACfL,QAAQ,CAACI,MAAM,SAAN,IAAAA,MAAM,WAAN,IAAAA,MAAM,CAAEE,OAAR,aAAqBF,MAAM,CAACE,OAAP,CAAeC,WAApC,UAAsDT,SAAvD,CADO;AAAA,GAAjB;;AAEAF,EAAAA,KAAK,CAACY,SAAN,CAAgBH,QAAhB,EAA0B,CAACD,MAAD,CAA1B;AACA,sDAAuBH,MAAvB,EAA+B,QAA/B,EAAyCI,QAAzC;AAEA,SACE,qCAAC,kCAAD,6BACMX,SADN;AAEE,IAAA,KAAK,MAFP;AAGE,IAAA,GAAG,EAAEH,UAHP;AAIE,IAAA,SAAS,EAAE,4BACT,aADS,EAETI,QAAQ,KAAKc,aAAb,IAAoB,kBAFX,EAGThB,MAAM,IAAI,qBAHD,yBAIOH,QAJP,EAJb;AAUE,IAAA,KAAK,8DAAOD,KAAP;AAAcU,MAAAA,KAAK,EAALA;AAAd;AAVP,MAYE;AAAK,IAAA,SAAS,EAAC,iBAAf;AAAiC,IAAA,GAAG,EAAEP;AAAtC,KACGJ,QADH,CAZF,CADF;AAkBD,CApCM","sourcesContent":["import * as React from \"react\";\nimport { IOS } from \"../../lib/platform\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { SplitColContext } from \"../SplitCol/SplitCol\";\nimport { TooltipContainer } from \"../Tooltip/TooltipContainer\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./FixedLayout.css\";\n\nexport interface FixedLayoutProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n vertical?: \"top\" | \"bottom\";\n /**\n * Это свойство определяет, будет ли фон компонента окрашен в цвет фона контента.\n * Это часто необходимо для фиксированных кнопок в нижней части экрана.\n */\n filled?: boolean;\n}\n\nexport interface FixedLayoutState {\n position: \"absolute\" | null;\n top: number;\n bottom: number;\n width: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/FixedLayout\n */\nexport const FixedLayout = ({\n children,\n style,\n vertical,\n getRootRef,\n getRef,\n filled,\n ...restProps\n}: FixedLayoutProps) => {\n const platform = usePlatform();\n const [width, setWidth] = React.useState<string | undefined>(undefined);\n const { window } = useDOM();\n const { colRef } = React.useContext(SplitColContext);\n const doResize = () =>\n setWidth(colRef?.current ? `${colRef.current.offsetWidth}px` : undefined);\n React.useEffect(doResize, [colRef]);\n useGlobalEventListener(window, \"resize\", doResize);\n\n return (\n <TooltipContainer\n {...restProps}\n fixed\n ref={getRootRef}\n vkuiClass={classNames(\n \"FixedLayout\",\n platform === IOS && \"FixedLayout--ios\",\n filled && \"FixedLayout--filled\",\n `FixedLayout--${vertical}`\n )}\n style={{ ...style, width }}\n >\n <div vkuiClass=\"FixedLayout__in\" ref={getRef}>\n {children}\n </div>\n </TooltipContainer>\n );\n};\n"],"file":"FixedLayout.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FocusTrap/FocusTrap.tsx"],"names":["FOCUSABLE_ELEMENTS","FOCUSABLE_ELEMENTS_LIST","join","FocusTrap","Component","onClose","noop","restoreFocus","timeout","getRootRef","children","restProps","ref","document","window","React","useState","focusableNodes","setFocusableNodes","restoreFocusTo","setRestoreFocusTo","useContext","AppRootContext","keyboardInput","focusOnTrapMount","current","contains","activeElement","length","focus","set","nodes","Array","prototype","forEach","call","querySelectorAll","focusableEl","getComputedStyle","display","visibility","push","focusOnTrapUnmount","onDocumentKeydown","e","Keys","TAB","lastIdx","targetIdx","findIndex","node","target","shouldFocusFirstNode","shiftKey","preventDefault","ESCAPE","capture"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport {\n FOCUSABLE_ELEMENTS_LIST,\n Keys,\n pressedKey,\n} from \"../../lib/accessibility\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { noop } from \"../../lib/utils\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { AppRootContext } from \"../AppRoot/AppRootContext\";\n\nconst FOCUSABLE_ELEMENTS: string = FOCUSABLE_ELEMENTS_LIST.join();\n\nexport interface FocusTrapProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {\n onClose?: (props?: any) => void;\n restoreFocus?: boolean;\n timeout?: number;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/FocusTrap\n */\nexport const FocusTrap: React.FC<FocusTrapProps> = ({\n Component = \"div\",\n onClose = noop,\n restoreFocus = true,\n timeout = 0,\n getRootRef,\n children,\n ...restProps\n}) => {\n const ref = useExternRef<HTMLElement>(getRootRef);\n\n const { document, window } = useDOM();\n\n const [focusableNodes, setFocusableNodes] = React.useState<\n HTMLElement[] | null\n >(null);\n const [restoreFocusTo, setRestoreFocusTo] =\n React.useState<HTMLElement | null>(null);\n\n // HANDLE TRAP MOUNT\n\n const { keyboardInput } = React.useContext(AppRootContext);\n const focusOnTrapMount = useTimeout(() => {\n if (\n keyboardInput &&\n !ref.current?.contains(document!.activeElement) &&\n focusableNodes?.length\n ) {\n focusableNodes[0].focus();\n }\n }, timeout);\n useIsomorphicLayoutEffect(() => {\n focusOnTrapMount.set();\n }, []);\n\n // HANDLE FOCUSABLE NODES\n\n useIsomorphicLayoutEffect(() => {\n if (!ref.current) {\n return noop();\n }\n\n const nodes: HTMLElement[] = [];\n Array.prototype.forEach.call(\n // eslint-disable-next-line no-restricted-properties\n ref.current.querySelectorAll(FOCUSABLE_ELEMENTS),\n (focusableEl: Element) => {\n const { display, visibility } = window!.getComputedStyle(focusableEl);\n\n if (display !== \"none\" && visibility !== \"hidden\") {\n nodes.push(focusableEl as HTMLElement);\n }\n }\n );\n\n if (nodes?.length) {\n setFocusableNodes(nodes);\n }\n\n return noop();\n }, [children]);\n\n // HANDLE TRAP UNMOUNT\n\n const focusOnTrapUnmount = useTimeout(() => {\n if (restoreFocusTo) {\n restoreFocusTo.focus();\n }\n }, timeout);\n useIsomorphicLayoutEffect(() => {\n if (restoreFocus && document!.activeElement) {\n setRestoreFocusTo(document!.activeElement as HTMLElement);\n\n return () => {\n focusOnTrapUnmount.set();\n };\n }\n\n return noop();\n }, [restoreFocus]);\n\n const onDocumentKeydown = (e: KeyboardEvent) => {\n if (pressedKey(e) === Keys.TAB && focusableNodes?.length) {\n const lastIdx = focusableNodes.length - 1;\n const targetIdx = focusableNodes.findIndex((node) => node === e.target);\n\n const shouldFocusFirstNode =\n targetIdx === -1 || (targetIdx === lastIdx && !e.shiftKey);\n\n if (shouldFocusFirstNode || (targetIdx === 0 && e.shiftKey)) {\n e.preventDefault();\n\n const node = focusableNodes[shouldFocusFirstNode ? 0 : lastIdx];\n\n if (node !== document!.activeElement) {\n node.focus();\n }\n\n return false;\n }\n }\n\n if (pressedKey(e) === Keys.ESCAPE) {\n onClose();\n }\n\n return true;\n };\n useGlobalEventListener(document, \"keydown\", onDocumentKeydown, {\n capture: true,\n });\n\n return (\n <Component ref={ref} {...restProps}>\n {children}\n </Component>\n );\n};\n"],"file":"FocusTrap.js"}
1
+ {"version":3,"sources":["../../../../src/components/FocusTrap/FocusTrap.tsx"],"names":["FOCUSABLE_ELEMENTS","FOCUSABLE_ELEMENTS_LIST","join","FocusTrap","Component","onClose","noop","restoreFocus","timeout","getRootRef","children","restProps","ref","document","window","React","useState","focusableNodes","setFocusableNodes","restoreFocusTo","setRestoreFocusTo","useContext","AppRootContext","keyboardInput","focusOnTrapMount","current","contains","activeElement","length","focus","set","nodes","Array","prototype","forEach","call","querySelectorAll","focusableEl","getComputedStyle","display","visibility","push","focusOnTrapUnmount","onDocumentKeydown","e","Keys","TAB","lastIdx","targetIdx","findIndex","node","target","shouldFocusFirstNode","shiftKey","preventDefault","ESCAPE","capture"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport {\n FOCUSABLE_ELEMENTS_LIST,\n Keys,\n pressedKey,\n} from \"../../lib/accessibility\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { noop } from \"../../lib/utils\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { AppRootContext } from \"../AppRoot/AppRootContext\";\n\nconst FOCUSABLE_ELEMENTS: string = FOCUSABLE_ELEMENTS_LIST.join();\n\nexport interface FocusTrapProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {\n onClose?: (props?: any) => void;\n restoreFocus?: boolean;\n timeout?: number;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/FocusTrap\n */\nexport const FocusTrap = ({\n Component = \"div\",\n onClose = noop,\n restoreFocus = true,\n timeout = 0,\n getRootRef,\n children,\n ...restProps\n}: FocusTrapProps) => {\n const ref = useExternRef<HTMLElement>(getRootRef);\n\n const { document, window } = useDOM();\n\n const [focusableNodes, setFocusableNodes] = React.useState<\n HTMLElement[] | null\n >(null);\n const [restoreFocusTo, setRestoreFocusTo] =\n React.useState<HTMLElement | null>(null);\n\n // HANDLE TRAP MOUNT\n\n const { keyboardInput } = React.useContext(AppRootContext);\n const focusOnTrapMount = useTimeout(() => {\n if (\n keyboardInput &&\n !ref.current?.contains(document!.activeElement) &&\n focusableNodes?.length\n ) {\n focusableNodes[0].focus();\n }\n }, timeout);\n useIsomorphicLayoutEffect(() => {\n focusOnTrapMount.set();\n }, []);\n\n // HANDLE FOCUSABLE NODES\n\n useIsomorphicLayoutEffect(() => {\n if (!ref.current) {\n return noop();\n }\n\n const nodes: HTMLElement[] = [];\n Array.prototype.forEach.call(\n // eslint-disable-next-line no-restricted-properties\n ref.current.querySelectorAll(FOCUSABLE_ELEMENTS),\n (focusableEl: Element) => {\n const { display, visibility } = window!.getComputedStyle(focusableEl);\n\n if (display !== \"none\" && visibility !== \"hidden\") {\n nodes.push(focusableEl as HTMLElement);\n }\n }\n );\n\n if (nodes?.length) {\n setFocusableNodes(nodes);\n }\n\n return noop();\n }, [children]);\n\n // HANDLE TRAP UNMOUNT\n\n const focusOnTrapUnmount = useTimeout(() => {\n if (restoreFocusTo) {\n restoreFocusTo.focus();\n }\n }, timeout);\n useIsomorphicLayoutEffect(() => {\n if (restoreFocus && document!.activeElement) {\n setRestoreFocusTo(document!.activeElement as HTMLElement);\n\n return () => {\n focusOnTrapUnmount.set();\n };\n }\n\n return noop();\n }, [restoreFocus]);\n\n const onDocumentKeydown = (e: KeyboardEvent) => {\n if (pressedKey(e) === Keys.TAB && focusableNodes?.length) {\n const lastIdx = focusableNodes.length - 1;\n const targetIdx = focusableNodes.findIndex((node) => node === e.target);\n\n const shouldFocusFirstNode =\n targetIdx === -1 || (targetIdx === lastIdx && !e.shiftKey);\n\n if (shouldFocusFirstNode || (targetIdx === 0 && e.shiftKey)) {\n e.preventDefault();\n\n const node = focusableNodes[shouldFocusFirstNode ? 0 : lastIdx];\n\n if (node !== document!.activeElement) {\n node.focus();\n }\n\n return false;\n }\n }\n\n if (pressedKey(e) === Keys.ESCAPE) {\n onClose();\n }\n\n return true;\n };\n useGlobalEventListener(document, \"keydown\", onDocumentKeydown, {\n capture: true,\n });\n\n return (\n <Component ref={ref} {...restProps}>\n {children}\n </Component>\n );\n};\n"],"file":"FocusTrap.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Footer/Footer.tsx"],"names":["Footer","children","restProps"],"mappings":";;;;;;;;;;;;;;;AAEA;;;;AAKA;AACA;AACA;AACO,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\n/**\n * @see https://vkcom.github.io/VKUI/#/Footer\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"}
1
+ {"version":3,"sources":["../../../../src/components/Footer/Footer.tsx"],"names":["Footer","children","restProps"],"mappings":";;;;;;;;;;;;;;;AAEA;;;;AAKA;AACA;AACA;AACO,IAAMA,MAAM,GAAG,SAATA,MAAS,OAA6C;AAAA,MAA1CC,QAA0C,QAA1CA,QAA0C;AAAA,MAA7BC,SAA6B;AACjE,SACE,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAgCA,SAAhC;AAA2C,IAAA,SAAS,EAAC;AAArD,MACGD,QADH,CADF;AAKD,CANM","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\n/**\n * @see https://vkcom.github.io/VKUI/#/Footer\n */\nexport const Footer = ({ children, ...restProps }: FooterProps) => {\n return (\n <Caption Component=\"footer\" {...restProps} vkuiClass=\"Footer\">\n {children}\n </Caption>\n );\n};\n"],"file":"Footer.js"}