@vkontakte/vkui 4.27.2 → 4.29.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 (1346) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +2781 -245
  4. package/.cache/ts/src/components/Button/Button.d.ts +1 -2
  5. package/.cache/ts/src/components/ButtonGroup/ButtonGroup.d.ts +20 -0
  6. package/.cache/ts/src/components/Calendar/Calendar.d.ts +21 -0
  7. package/.cache/ts/src/components/CalendarDay/CalendarDay.d.ts +22 -0
  8. package/.cache/ts/src/components/CalendarDays/CalendarDays.d.ts +22 -0
  9. package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +16 -0
  10. package/.cache/ts/src/components/CalendarRange/CalendarRange.d.ts +16 -0
  11. package/.cache/ts/src/components/CalendarTime/CalendarTime.d.ts +11 -0
  12. package/.cache/ts/src/components/Cell/Cell.d.ts +1 -1
  13. package/.cache/ts/src/components/ChipsInput/ChipsInput.d.ts +1 -2
  14. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +2 -3
  15. package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +1 -1
  16. package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +4 -0
  17. package/.cache/ts/src/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  18. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +11 -2
  19. package/.cache/ts/src/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -1
  20. package/.cache/ts/src/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  21. package/.cache/ts/src/components/DateInput/DateInput.d.ts +12 -0
  22. package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +18 -0
  23. package/.cache/ts/src/components/Div/Div.d.ts +1 -2
  24. package/.cache/ts/src/components/Gallery/Gallery.d.ts +9 -1
  25. package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +1 -0
  26. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  27. package/.cache/ts/src/components/IconButton/IconButton.d.ts +1 -1
  28. package/.cache/ts/src/components/Input/Input.d.ts +1 -2
  29. package/.cache/ts/src/components/InputLike/InputLike.d.ts +10 -0
  30. package/.cache/ts/src/components/InputLike/InputLikeDivider.d.ts +3 -0
  31. package/.cache/ts/src/components/LocaleProviderContext/LocaleProviderContext.d.ts +2 -0
  32. package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +1 -1
  33. package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  34. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +16 -1
  35. package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +14 -2
  36. package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  37. package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  38. package/.cache/ts/src/components/ModalRoot/types.d.ts +16 -1
  39. package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +6 -5
  40. package/.cache/ts/src/components/Pagination/Pagination.d.ts +42 -0
  41. package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  42. package/.cache/ts/src/components/RichCell/RichCell.d.ts +3 -2
  43. package/.cache/ts/src/components/Select/Select.d.ts +1 -2
  44. package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +5 -1
  45. package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +1 -1
  46. package/.cache/ts/src/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -1
  47. package/.cache/ts/src/components/Tappable/Tappable.d.ts +3 -1
  48. package/.cache/ts/src/components/Touch/TouchContext.d.ts +1 -1
  49. package/.cache/ts/src/components/Typography/Caption/Caption.d.ts +8 -4
  50. package/.cache/ts/src/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  51. package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +4 -3
  52. package/.cache/ts/src/components/Typography/Title/Title.d.ts +4 -3
  53. package/.cache/ts/src/components/View/ViewInfinite.d.ts +2 -2
  54. package/.cache/ts/src/hooks/useBooleanState.d.ts +6 -0
  55. package/.cache/ts/src/hooks/useBridgeAdaptivity.d.ts +6 -0
  56. package/.cache/ts/src/hooks/useCalendar.d.ts +18 -0
  57. package/.cache/ts/src/hooks/useDateInput.d.ts +30 -0
  58. package/.cache/ts/src/hooks/useKeyboard.d.ts +1 -1
  59. package/.cache/ts/src/hooks/useKeyboardInputTracker.d.ts +2 -0
  60. package/.cache/ts/src/hooks/useOrientationChange.d.ts +7 -0
  61. package/.cache/ts/src/hooks/usePagination.d.ts +34 -0
  62. package/.cache/ts/src/index.d.ts +32 -11
  63. package/.cache/ts/src/lib/calendar.d.ts +14 -0
  64. package/.cache/ts/src/lib/date.d.ts +29 -0
  65. package/.cache/ts/src/lib/getNavId.d.ts +2 -1
  66. package/.cache/ts/src/lib/utils.d.ts +2 -1
  67. package/.cache/ts/src/lib/warnOnce.d.ts +2 -1
  68. package/.cache/ts/src/testing/utils.d.ts +1 -0
  69. package/.cache/ts/src/tokenized/index.d.ts +32 -4
  70. package/.cache/ts/src/unstable/index.d.ts +6 -6
  71. package/.eslintrc.json +8 -2
  72. package/CONTRIBUTING.md +3 -2
  73. package/dist/cjs/components/ActionSheet/ActionSheet.js +5 -8
  74. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  75. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js +2 -1
  76. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  77. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  78. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  79. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +10 -11
  80. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  81. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +44 -11
  82. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  83. package/dist/cjs/components/Alert/Alert.js +12 -14
  84. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  85. package/dist/cjs/components/AppRoot/AppRoot.js +3 -2
  86. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  87. package/dist/cjs/components/Avatar/Avatar.js +4 -1
  88. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  89. package/dist/cjs/components/Banner/Banner.js +5 -4
  90. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  91. package/dist/cjs/components/Button/Button.d.ts +1 -2
  92. package/dist/cjs/components/Button/Button.js +40 -49
  93. package/dist/cjs/components/Button/Button.js.map +1 -1
  94. package/dist/cjs/components/ButtonGroup/ButtonGroup.d.ts +20 -0
  95. package/dist/cjs/components/ButtonGroup/ButtonGroup.js +38 -0
  96. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -0
  97. package/dist/cjs/components/Calendar/Calendar.d.ts +21 -0
  98. package/dist/cjs/components/Calendar/Calendar.js +160 -0
  99. package/dist/cjs/components/Calendar/Calendar.js.map +1 -0
  100. package/dist/cjs/components/CalendarDay/CalendarDay.d.ts +22 -0
  101. package/dist/cjs/components/CalendarDay/CalendarDay.js +112 -0
  102. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -0
  103. package/dist/cjs/components/CalendarDays/CalendarDays.d.ts +22 -0
  104. package/dist/cjs/components/CalendarDays/CalendarDays.js +118 -0
  105. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -0
  106. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +16 -0
  107. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +143 -0
  108. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -0
  109. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +16 -0
  110. package/dist/cjs/components/CalendarRange/CalendarRange.js +216 -0
  111. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -0
  112. package/dist/cjs/components/CalendarTime/CalendarTime.d.ts +11 -0
  113. package/dist/cjs/components/CalendarTime/CalendarTime.js +90 -0
  114. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -0
  115. package/dist/cjs/components/CardScroll/CardScroll.js +3 -2
  116. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  117. package/dist/cjs/components/Cell/Cell.d.ts +1 -1
  118. package/dist/cjs/components/Cell/Cell.js +4 -3
  119. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  120. package/dist/cjs/components/CellButton/CellButton.js +1 -0
  121. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  122. package/dist/cjs/components/Checkbox/Checkbox.js +2 -5
  123. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  124. package/dist/cjs/components/Chip/Chip.js +3 -4
  125. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  126. package/dist/cjs/components/ChipsInput/ChipsInput.d.ts +1 -2
  127. package/dist/cjs/components/ChipsInput/ChipsInput.js +4 -9
  128. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  129. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +2 -3
  130. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +15 -23
  131. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  132. package/dist/cjs/components/ClickPopper/ClickPopper.d.ts +1 -1
  133. package/dist/cjs/components/ClickPopper/ClickPopper.js.map +1 -1
  134. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +4 -0
  135. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +8 -2
  136. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  137. package/dist/cjs/components/ContentCard/ContentCard.js +9 -10
  138. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  139. package/dist/cjs/components/Counter/Counter.js +3 -3
  140. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  141. package/dist/cjs/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  142. package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
  143. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +11 -2
  144. package/dist/cjs/components/CustomSelect/CustomSelect.js +63 -42
  145. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  146. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -1
  147. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +11 -6
  148. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  149. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  150. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +27 -19
  151. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  152. package/dist/cjs/components/DateInput/DateInput.d.ts +12 -0
  153. package/dist/cjs/components/DateInput/DateInput.js +290 -0
  154. package/dist/cjs/components/DateInput/DateInput.js.map +1 -0
  155. package/dist/cjs/components/DatePicker/DatePicker.js +6 -6
  156. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  157. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +18 -0
  158. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +310 -0
  159. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -0
  160. package/dist/cjs/components/Div/Div.d.ts +1 -2
  161. package/dist/cjs/components/Div/Div.js +2 -5
  162. package/dist/cjs/components/Div/Div.js.map +1 -1
  163. package/dist/cjs/components/File/File.js +2 -2
  164. package/dist/cjs/components/File/File.js.map +1 -1
  165. package/dist/cjs/components/FixedLayout/FixedLayout.js +2 -1
  166. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  167. package/dist/cjs/components/Footer/Footer.js +2 -4
  168. package/dist/cjs/components/Footer/Footer.js.map +1 -1
  169. package/dist/cjs/components/FormField/FormField.js +2 -6
  170. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  171. package/dist/cjs/components/FormItem/FormItem.js +6 -7
  172. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  173. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  174. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  175. package/dist/cjs/components/FormStatus/FormStatus.js +3 -8
  176. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  177. package/dist/cjs/components/Gallery/Gallery.d.ts +9 -1
  178. package/dist/cjs/components/Gallery/Gallery.js +10 -2
  179. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  180. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +1 -0
  181. package/dist/cjs/components/GridAvatar/GridAvatar.js +6 -6
  182. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  183. package/dist/cjs/components/Group/Group.js +5 -6
  184. package/dist/cjs/components/Group/Group.js.map +1 -1
  185. package/dist/cjs/components/Header/Header.js +18 -24
  186. package/dist/cjs/components/Header/Header.js.map +1 -1
  187. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +6 -9
  188. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  189. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  190. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +22 -21
  191. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  192. package/dist/cjs/components/IconButton/IconButton.d.ts +1 -1
  193. package/dist/cjs/components/InfoRow/InfoRow.js +2 -2
  194. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  195. package/dist/cjs/components/Input/Input.d.ts +1 -2
  196. package/dist/cjs/components/Input/Input.js +11 -15
  197. package/dist/cjs/components/Input/Input.js.map +1 -1
  198. package/dist/cjs/components/InputLike/InputLike.d.ts +10 -0
  199. package/dist/cjs/components/InputLike/InputLike.js +71 -0
  200. package/dist/cjs/components/InputLike/InputLike.js.map +1 -0
  201. package/dist/cjs/components/InputLike/InputLikeDivider.d.ts +3 -0
  202. package/dist/cjs/components/InputLike/InputLikeDivider.js +27 -0
  203. package/dist/cjs/components/InputLike/InputLikeDivider.js.map +1 -0
  204. package/dist/cjs/components/List/List.js +1 -0
  205. package/dist/cjs/components/List/List.js.map +1 -1
  206. package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.d.ts +2 -0
  207. package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.js +14 -0
  208. package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.js.map +1 -0
  209. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +1 -0
  210. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  211. package/dist/cjs/components/ModalCard/ModalCard.d.ts +1 -1
  212. package/dist/cjs/components/ModalCard/ModalCard.js +1 -0
  213. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  214. package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  215. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +10 -4
  216. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  217. package/dist/cjs/components/ModalPage/ModalPage.d.ts +16 -1
  218. package/dist/cjs/components/ModalPage/ModalPage.js +10 -6
  219. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  220. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +1 -0
  221. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  222. package/dist/cjs/components/ModalRoot/ModalRoot.d.ts +14 -2
  223. package/dist/cjs/components/ModalRoot/ModalRoot.js +14 -11
  224. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  225. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  226. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  227. package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  228. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +10 -7
  229. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  230. package/dist/cjs/components/ModalRoot/types.d.ts +16 -1
  231. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  232. package/dist/cjs/components/ModalRoot/useModalManager.d.ts +6 -5
  233. package/dist/cjs/components/ModalRoot/useModalManager.js +54 -16
  234. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  235. package/dist/cjs/components/NativeSelect/NativeSelect.js +2 -1
  236. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  237. package/dist/cjs/components/Pagination/Pagination.d.ts +42 -0
  238. package/dist/cjs/components/Pagination/Pagination.js +152 -0
  239. package/dist/cjs/components/Pagination/Pagination.js.map +1 -0
  240. package/dist/cjs/components/Panel/Panel.js +2 -1
  241. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  242. package/dist/cjs/components/PanelHeader/PanelHeader.js +1 -0
  243. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  244. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  245. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +1 -0
  246. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  247. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +5 -4
  248. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  249. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +2 -4
  250. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  251. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +1 -0
  252. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  253. package/dist/cjs/components/Placeholder/Placeholder.js +4 -3
  254. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  255. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +1 -0
  256. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  257. package/dist/cjs/components/Popper/Popper.js +2 -2
  258. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  259. package/dist/cjs/components/PromoBanner/PromoBanner.js +5 -9
  260. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  261. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +2 -1
  262. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  263. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js +1 -0
  264. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  265. package/dist/cjs/components/Radio/Radio.js +2 -5
  266. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  267. package/dist/cjs/components/RichCell/RichCell.d.ts +3 -2
  268. package/dist/cjs/components/RichCell/RichCell.js +3 -2
  269. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  270. package/dist/cjs/components/RichTooltip/RichTooltip.js +2 -1
  271. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  272. package/dist/cjs/components/Root/Root.js +8 -7
  273. package/dist/cjs/components/Root/Root.js.map +1 -1
  274. package/dist/cjs/components/Search/Search.js +3 -2
  275. package/dist/cjs/components/Search/Search.js.map +1 -1
  276. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +19 -13
  277. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  278. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  279. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  280. package/dist/cjs/components/Select/Select.d.ts +1 -2
  281. package/dist/cjs/components/Select/Select.js +7 -9
  282. package/dist/cjs/components/Select/Select.js.map +1 -1
  283. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +5 -1
  284. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +13 -6
  285. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  286. package/dist/cjs/components/Separator/Separator.js +3 -1
  287. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  288. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +1 -1
  289. package/dist/cjs/components/SimpleCell/SimpleCell.js +5 -4
  290. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  291. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -1
  292. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +8 -7
  293. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  294. package/dist/cjs/components/SliderSwitch/SliderSwitch.js +1 -0
  295. package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
  296. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +1 -0
  297. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  298. package/dist/cjs/components/Snackbar/Snackbar.js +3 -2
  299. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  300. package/dist/cjs/components/Spacing/Spacing.js +4 -3
  301. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  302. package/dist/cjs/components/SplitCol/SplitCol.js +2 -1
  303. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  304. package/dist/cjs/components/SplitLayout/SplitLayout.js +2 -1
  305. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  306. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js +2 -2
  307. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  308. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +7 -7
  309. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  310. package/dist/cjs/components/Switch/Switch.js +1 -0
  311. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  312. package/dist/cjs/components/Tabbar/Tabbar.js +1 -0
  313. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  314. package/dist/cjs/components/TabbarItem/TabbarItem.js +2 -1
  315. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  316. package/dist/cjs/components/TabsItem/TabsItem.js +3 -2
  317. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  318. package/dist/cjs/components/Tappable/Tappable.d.ts +3 -1
  319. package/dist/cjs/components/Tappable/Tappable.js +16 -15
  320. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  321. package/dist/cjs/components/TextTooltip/TextTooltip.js +3 -3
  322. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  323. package/dist/cjs/components/Tooltip/Tooltip.js +6 -6
  324. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  325. package/dist/cjs/components/Touch/Touch.js +9 -3
  326. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  327. package/dist/cjs/components/Touch/TouchContext.d.ts +1 -1
  328. package/dist/cjs/components/Touch/TouchContext.js +1 -1
  329. package/dist/cjs/components/Touch/TouchContext.js.map +1 -1
  330. package/dist/cjs/components/Typography/Caption/Caption.d.ts +8 -4
  331. package/dist/cjs/components/Typography/Caption/Caption.js +12 -14
  332. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  333. package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  334. package/dist/cjs/components/Typography/Paragraph/Paragraph.js +42 -0
  335. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -0
  336. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +4 -3
  337. package/dist/cjs/components/Typography/Subhead/Subhead.js +4 -6
  338. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  339. package/dist/cjs/components/Typography/Text/Text.js +1 -1
  340. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  341. package/dist/cjs/components/Typography/Title/Title.d.ts +4 -3
  342. package/dist/cjs/components/Typography/Title/Title.js +5 -9
  343. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  344. package/dist/cjs/components/UsersStack/UsersStack.js +6 -6
  345. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  346. package/dist/cjs/components/View/View.js +5 -0
  347. package/dist/cjs/components/View/View.js.map +1 -1
  348. package/dist/cjs/components/View/ViewInfinite.d.ts +2 -2
  349. package/dist/cjs/components/View/ViewInfinite.js +17 -15
  350. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  351. package/dist/cjs/components/View/utils.js +5 -2
  352. package/dist/cjs/components/View/utils.js.map +1 -1
  353. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +3 -2
  354. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  355. package/dist/cjs/helpers/scheme.js +2 -2
  356. package/dist/cjs/helpers/scheme.js.map +1 -1
  357. package/dist/cjs/hooks/useBooleanState.d.ts +6 -0
  358. package/dist/cjs/hooks/useBooleanState.js +42 -0
  359. package/dist/cjs/hooks/useBooleanState.js.map +1 -0
  360. package/dist/cjs/hooks/useBridgeAdaptivity.d.ts +6 -0
  361. package/dist/cjs/hooks/useBridgeAdaptivity.js +85 -0
  362. package/dist/cjs/hooks/useBridgeAdaptivity.js.map +1 -0
  363. package/dist/cjs/hooks/useCalendar.d.ts +18 -0
  364. package/dist/cjs/hooks/useCalendar.js +78 -0
  365. package/dist/cjs/hooks/useCalendar.js.map +1 -0
  366. package/dist/cjs/hooks/useDateInput.d.ts +30 -0
  367. package/dist/cjs/hooks/useDateInput.js +180 -0
  368. package/dist/cjs/hooks/useDateInput.js.map +1 -0
  369. package/dist/cjs/hooks/useKeyboard.d.ts +1 -1
  370. package/dist/cjs/hooks/useKeyboard.js +1 -1
  371. package/dist/cjs/hooks/useKeyboard.js.map +1 -1
  372. package/dist/cjs/hooks/useKeyboardInputTracker.d.ts +2 -0
  373. package/dist/cjs/hooks/useKeyboardInputTracker.js +15 -4
  374. package/dist/cjs/hooks/useKeyboardInputTracker.js.map +1 -1
  375. package/dist/cjs/hooks/useOrientationChange.d.ts +7 -0
  376. package/dist/cjs/hooks/useOrientationChange.js +56 -0
  377. package/dist/cjs/hooks/useOrientationChange.js.map +1 -0
  378. package/dist/cjs/hooks/usePagination.d.ts +34 -0
  379. package/dist/cjs/hooks/usePagination.js +81 -0
  380. package/dist/cjs/hooks/usePagination.js.map +1 -0
  381. package/dist/cjs/hooks/usePatchChildrenRef.js +1 -1
  382. package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -1
  383. package/dist/cjs/hooks/useWaitTransitionFinish.js +6 -1
  384. package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
  385. package/dist/cjs/index.d.ts +32 -11
  386. package/dist/cjs/index.js +94 -22
  387. package/dist/cjs/index.js.map +1 -1
  388. package/dist/cjs/lib/calendar.d.ts +14 -0
  389. package/dist/cjs/lib/calendar.js +131 -0
  390. package/dist/cjs/lib/calendar.js.map +1 -0
  391. package/dist/cjs/lib/date.d.ts +29 -0
  392. package/dist/cjs/lib/date.js +286 -0
  393. package/dist/cjs/lib/date.js.map +1 -0
  394. package/dist/cjs/lib/getNavId.d.ts +2 -1
  395. package/dist/cjs/lib/getNavId.js +1 -1
  396. package/dist/cjs/lib/getNavId.js.map +1 -1
  397. package/dist/cjs/lib/utils.d.ts +2 -1
  398. package/dist/cjs/lib/utils.js +7 -0
  399. package/dist/cjs/lib/utils.js.map +1 -1
  400. package/dist/cjs/lib/warnOnce.d.ts +2 -1
  401. package/dist/cjs/lib/warnOnce.js +3 -1
  402. package/dist/cjs/lib/warnOnce.js.map +1 -1
  403. package/dist/cjs/tokenized/index.d.ts +32 -4
  404. package/dist/cjs/tokenized/index.js +120 -10
  405. package/dist/cjs/tokenized/index.js.map +1 -1
  406. package/dist/cjs/unstable/index.d.ts +6 -6
  407. package/dist/cjs/unstable/index.js +6 -8
  408. package/dist/cjs/unstable/index.js.map +1 -1
  409. package/dist/components/ActionSheet/ActionSheet.js +3 -6
  410. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  411. package/dist/components/ActionSheet/ActionSheetDropdown.js +2 -1
  412. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  413. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  414. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  415. package/dist/components/ActionSheetItem/ActionSheetItem.js +6 -7
  416. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  417. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +43 -11
  418. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  419. package/dist/components/Alert/Alert.js +7 -9
  420. package/dist/components/Alert/Alert.js.map +1 -1
  421. package/dist/components/AppRoot/AppRoot.js +3 -2
  422. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  423. package/dist/components/Avatar/Avatar.js +4 -1
  424. package/dist/components/Avatar/Avatar.js.map +1 -1
  425. package/dist/components/Banner/Banner.js +3 -2
  426. package/dist/components/Banner/Banner.js.map +1 -1
  427. package/dist/components/Button/Button.d.ts +1 -2
  428. package/dist/components/Button/Button.js +32 -40
  429. package/dist/components/Button/Button.js.map +1 -1
  430. package/dist/components/ButtonGroup/ButtonGroup.d.ts +20 -0
  431. package/dist/components/ButtonGroup/ButtonGroup.js +23 -0
  432. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -0
  433. package/dist/components/Calendar/Calendar.d.ts +21 -0
  434. package/dist/components/Calendar/Calendar.js +133 -0
  435. package/dist/components/Calendar/Calendar.js.map +1 -0
  436. package/dist/components/CalendarDay/CalendarDay.d.ts +22 -0
  437. package/dist/components/CalendarDay/CalendarDay.js +94 -0
  438. package/dist/components/CalendarDay/CalendarDay.js.map +1 -0
  439. package/dist/components/CalendarDays/CalendarDays.d.ts +22 -0
  440. package/dist/components/CalendarDays/CalendarDays.js +94 -0
  441. package/dist/components/CalendarDays/CalendarDays.js.map +1 -0
  442. package/dist/components/CalendarHeader/CalendarHeader.d.ts +16 -0
  443. package/dist/components/CalendarHeader/CalendarHeader.js +118 -0
  444. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -0
  445. package/dist/components/CalendarRange/CalendarRange.d.ts +16 -0
  446. package/dist/components/CalendarRange/CalendarRange.js +193 -0
  447. package/dist/components/CalendarRange/CalendarRange.js.map +1 -0
  448. package/dist/components/CalendarTime/CalendarTime.d.ts +11 -0
  449. package/dist/components/CalendarTime/CalendarTime.js +73 -0
  450. package/dist/components/CalendarTime/CalendarTime.js.map +1 -0
  451. package/dist/components/CardScroll/CardScroll.js +2 -1
  452. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  453. package/dist/components/Cell/Cell.d.ts +1 -1
  454. package/dist/components/Cell/Cell.js +4 -3
  455. package/dist/components/Cell/Cell.js.map +1 -1
  456. package/dist/components/CellButton/CellButton.js +1 -0
  457. package/dist/components/CellButton/CellButton.js.map +1 -1
  458. package/dist/components/Checkbox/Checkbox.js +1 -4
  459. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  460. package/dist/components/Chip/Chip.js +2 -3
  461. package/dist/components/Chip/Chip.js.map +1 -1
  462. package/dist/components/ChipsInput/ChipsInput.d.ts +1 -2
  463. package/dist/components/ChipsInput/ChipsInput.js +3 -10
  464. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  465. package/dist/components/ChipsSelect/ChipsSelect.d.ts +2 -3
  466. package/dist/components/ChipsSelect/ChipsSelect.js +7 -13
  467. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  468. package/dist/components/ClickPopper/ClickPopper.d.ts +1 -1
  469. package/dist/components/ClickPopper/ClickPopper.js.map +1 -1
  470. package/dist/components/ConfigProvider/ConfigProvider.d.ts +4 -0
  471. package/dist/components/ConfigProvider/ConfigProvider.js +7 -2
  472. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  473. package/dist/components/ContentCard/ContentCard.js +6 -7
  474. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  475. package/dist/components/Counter/Counter.js +2 -2
  476. package/dist/components/Counter/Counter.js.map +1 -1
  477. package/dist/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  478. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  479. package/dist/components/CustomSelect/CustomSelect.d.ts +11 -2
  480. package/dist/components/CustomSelect/CustomSelect.js +57 -35
  481. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  482. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -1
  483. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +11 -6
  484. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  485. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  486. package/dist/components/CustomSelectOption/CustomSelectOption.js +21 -19
  487. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  488. package/dist/components/DateInput/DateInput.d.ts +12 -0
  489. package/dist/components/DateInput/DateInput.js +261 -0
  490. package/dist/components/DateInput/DateInput.js.map +1 -0
  491. package/dist/components/DatePicker/DatePicker.js +2 -2
  492. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  493. package/dist/components/DateRangeInput/DateRangeInput.d.ts +18 -0
  494. package/dist/components/DateRangeInput/DateRangeInput.js +281 -0
  495. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -0
  496. package/dist/components/Div/Div.d.ts +1 -2
  497. package/dist/components/Div/Div.js +1 -3
  498. package/dist/components/Div/Div.js.map +1 -1
  499. package/dist/components/File/File.js +1 -1
  500. package/dist/components/File/File.js.map +1 -1
  501. package/dist/components/FixedLayout/FixedLayout.js +2 -1
  502. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  503. package/dist/components/Footer/Footer.js +1 -3
  504. package/dist/components/Footer/Footer.js.map +1 -1
  505. package/dist/components/FormField/FormField.js +2 -6
  506. package/dist/components/FormField/FormField.js.map +1 -1
  507. package/dist/components/FormItem/FormItem.js +4 -5
  508. package/dist/components/FormItem/FormItem.js.map +1 -1
  509. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  510. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  511. package/dist/components/FormStatus/FormStatus.js +2 -7
  512. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  513. package/dist/components/Gallery/Gallery.d.ts +9 -1
  514. package/dist/components/Gallery/Gallery.js +10 -2
  515. package/dist/components/Gallery/Gallery.js.map +1 -1
  516. package/dist/components/GridAvatar/GridAvatar.d.ts +1 -0
  517. package/dist/components/GridAvatar/GridAvatar.js +5 -6
  518. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  519. package/dist/components/Group/Group.js +4 -5
  520. package/dist/components/Group/Group.js.map +1 -1
  521. package/dist/components/Header/Header.js +13 -19
  522. package/dist/components/Header/Header.js.map +1 -1
  523. package/dist/components/HorizontalCell/HorizontalCell.js +3 -6
  524. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  525. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  526. package/dist/components/HorizontalScroll/HorizontalScroll.js +20 -18
  527. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  528. package/dist/components/IconButton/IconButton.d.ts +1 -1
  529. package/dist/components/InfoRow/InfoRow.js +1 -1
  530. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  531. package/dist/components/Input/Input.d.ts +1 -2
  532. package/dist/components/Input/Input.js +8 -10
  533. package/dist/components/Input/Input.js.map +1 -1
  534. package/dist/components/InputLike/InputLike.d.ts +10 -0
  535. package/dist/components/InputLike/InputLike.js +52 -0
  536. package/dist/components/InputLike/InputLike.js.map +1 -0
  537. package/dist/components/InputLike/InputLikeDivider.d.ts +3 -0
  538. package/dist/components/InputLike/InputLikeDivider.js +13 -0
  539. package/dist/components/InputLike/InputLikeDivider.js.map +1 -0
  540. package/dist/components/List/List.js +1 -0
  541. package/dist/components/List/List.js.map +1 -1
  542. package/dist/components/LocaleProviderContext/LocaleProviderContext.d.ts +2 -0
  543. package/dist/components/LocaleProviderContext/LocaleProviderContext.js +3 -0
  544. package/dist/components/LocaleProviderContext/LocaleProviderContext.js.map +1 -0
  545. package/dist/components/MiniInfoCell/MiniInfoCell.js +1 -0
  546. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  547. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  548. package/dist/components/ModalCard/ModalCard.js +1 -0
  549. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  550. package/dist/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  551. package/dist/components/ModalCardBase/ModalCardBase.js +9 -3
  552. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  553. package/dist/components/ModalPage/ModalPage.d.ts +16 -1
  554. package/dist/components/ModalPage/ModalPage.js +9 -6
  555. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  556. package/dist/components/ModalPageHeader/ModalPageHeader.js +1 -0
  557. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  558. package/dist/components/ModalRoot/ModalRoot.d.ts +14 -2
  559. package/dist/components/ModalRoot/ModalRoot.js +14 -11
  560. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  561. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  562. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  563. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  564. package/dist/components/ModalRoot/ModalRootDesktop.js +10 -7
  565. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  566. package/dist/components/ModalRoot/types.d.ts +16 -1
  567. package/dist/components/ModalRoot/types.js.map +1 -1
  568. package/dist/components/ModalRoot/useModalManager.d.ts +6 -5
  569. package/dist/components/ModalRoot/useModalManager.js +54 -16
  570. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  571. package/dist/components/NativeSelect/NativeSelect.js +2 -1
  572. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  573. package/dist/components/Pagination/Pagination.d.ts +42 -0
  574. package/dist/components/Pagination/Pagination.js +129 -0
  575. package/dist/components/Pagination/Pagination.js.map +1 -0
  576. package/dist/components/Panel/Panel.js +2 -1
  577. package/dist/components/Panel/Panel.js.map +1 -1
  578. package/dist/components/PanelHeader/PanelHeader.js +1 -0
  579. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  580. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  581. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +1 -0
  582. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  583. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +4 -3
  584. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  585. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +1 -3
  586. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  587. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +1 -0
  588. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  589. package/dist/components/Placeholder/Placeholder.js +3 -2
  590. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  591. package/dist/components/PopoutWrapper/PopoutWrapper.js +1 -0
  592. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  593. package/dist/components/Popper/Popper.js +2 -2
  594. package/dist/components/Popper/Popper.js.map +1 -1
  595. package/dist/components/PromoBanner/PromoBanner.js +2 -6
  596. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  597. package/dist/components/PullToRefresh/PullToRefresh.js +2 -1
  598. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  599. package/dist/components/PullToRefresh/PullToRefreshSpinner.js +1 -0
  600. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  601. package/dist/components/Radio/Radio.js +1 -4
  602. package/dist/components/Radio/Radio.js.map +1 -1
  603. package/dist/components/RichCell/RichCell.d.ts +3 -2
  604. package/dist/components/RichCell/RichCell.js +2 -1
  605. package/dist/components/RichCell/RichCell.js.map +1 -1
  606. package/dist/components/RichTooltip/RichTooltip.js +2 -1
  607. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  608. package/dist/components/Root/Root.js +8 -7
  609. package/dist/components/Root/Root.js.map +1 -1
  610. package/dist/components/Search/Search.js +2 -1
  611. package/dist/components/Search/Search.js.map +1 -1
  612. package/dist/components/SegmentedControl/SegmentedControl.js +19 -13
  613. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  614. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  615. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  616. package/dist/components/Select/Select.d.ts +1 -2
  617. package/dist/components/Select/Select.js +4 -5
  618. package/dist/components/Select/Select.js.map +1 -1
  619. package/dist/components/SelectMimicry/SelectMimicry.d.ts +5 -1
  620. package/dist/components/SelectMimicry/SelectMimicry.js +12 -6
  621. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  622. package/dist/components/Separator/Separator.js +3 -1
  623. package/dist/components/Separator/Separator.js.map +1 -1
  624. package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
  625. package/dist/components/SimpleCell/SimpleCell.js +3 -2
  626. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  627. package/dist/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -1
  628. package/dist/components/SimpleCheckbox/SimpleCheckbox.js +7 -5
  629. package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  630. package/dist/components/SliderSwitch/SliderSwitch.js +1 -0
  631. package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
  632. package/dist/components/SliderSwitch/SliderSwitchButton.js +1 -0
  633. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  634. package/dist/components/Snackbar/Snackbar.js +2 -1
  635. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  636. package/dist/components/Spacing/Spacing.js +4 -3
  637. package/dist/components/Spacing/Spacing.js.map +1 -1
  638. package/dist/components/SplitCol/SplitCol.js +2 -1
  639. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  640. package/dist/components/SplitLayout/SplitLayout.js +2 -1
  641. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  642. package/dist/components/SubnavigationBar/SubnavigationBar.js +1 -1
  643. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  644. package/dist/components/SubnavigationButton/SubnavigationButton.js +5 -5
  645. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  646. package/dist/components/Switch/Switch.js +1 -0
  647. package/dist/components/Switch/Switch.js.map +1 -1
  648. package/dist/components/Tabbar/Tabbar.js +1 -0
  649. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  650. package/dist/components/TabbarItem/TabbarItem.js +2 -1
  651. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  652. package/dist/components/TabsItem/TabsItem.js +2 -1
  653. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  654. package/dist/components/Tappable/Tappable.d.ts +3 -1
  655. package/dist/components/Tappable/Tappable.js +15 -15
  656. package/dist/components/Tappable/Tappable.js.map +1 -1
  657. package/dist/components/TextTooltip/TextTooltip.js +1 -1
  658. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  659. package/dist/components/Tooltip/Tooltip.js +4 -4
  660. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  661. package/dist/components/Touch/Touch.js +9 -3
  662. package/dist/components/Touch/Touch.js.map +1 -1
  663. package/dist/components/Touch/TouchContext.d.ts +1 -1
  664. package/dist/components/Touch/TouchContext.js +1 -1
  665. package/dist/components/Touch/TouchContext.js.map +1 -1
  666. package/dist/components/Typography/Caption/Caption.d.ts +8 -4
  667. package/dist/components/Typography/Caption/Caption.js +10 -14
  668. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  669. package/dist/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  670. package/dist/components/Typography/Paragraph/Paragraph.js +25 -0
  671. package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -0
  672. package/dist/components/Typography/Subhead/Subhead.d.ts +4 -3
  673. package/dist/components/Typography/Subhead/Subhead.js +3 -7
  674. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  675. package/dist/components/Typography/Text/Text.js +1 -1
  676. package/dist/components/Typography/Text/Text.js.map +1 -1
  677. package/dist/components/Typography/Title/Title.d.ts +4 -3
  678. package/dist/components/Typography/Title/Title.js +3 -8
  679. package/dist/components/Typography/Title/Title.js.map +1 -1
  680. package/dist/components/UsersStack/UsersStack.js +4 -4
  681. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  682. package/dist/components/View/View.js +5 -0
  683. package/dist/components/View/View.js.map +1 -1
  684. package/dist/components/View/ViewInfinite.d.ts +2 -2
  685. package/dist/components/View/ViewInfinite.js +15 -11
  686. package/dist/components/View/ViewInfinite.js.map +1 -1
  687. package/dist/components/View/utils.js +5 -2
  688. package/dist/components/View/utils.js.map +1 -1
  689. package/dist/components/WriteBarIcon/WriteBarIcon.js +3 -2
  690. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  691. package/dist/components.css +21 -6
  692. package/dist/components.css.map +1 -1
  693. package/dist/cssm/components/ActionSheet/ActionSheet.js +3 -6
  694. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  695. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +2 -1
  696. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  697. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  698. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  699. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +6 -7
  700. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  701. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +43 -11
  702. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  703. package/dist/cssm/components/Alert/Alert.css +1 -1
  704. package/dist/cssm/components/Alert/Alert.js +7 -9
  705. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  706. package/dist/cssm/components/AppRoot/AppRoot.js +3 -2
  707. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  708. package/dist/cssm/components/Avatar/Avatar.js +4 -1
  709. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  710. package/dist/cssm/components/Banner/Banner.js +3 -2
  711. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  712. package/dist/cssm/components/Button/Button.css +1 -1
  713. package/dist/cssm/components/Button/Button.d.ts +1 -2
  714. package/dist/cssm/components/Button/Button.js +32 -40
  715. package/dist/cssm/components/Button/Button.js.map +1 -1
  716. package/dist/cssm/components/ButtonGroup/ButtonGroup.css +1 -0
  717. package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +20 -0
  718. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +24 -0
  719. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -0
  720. package/dist/cssm/components/Calendar/Calendar.css +1 -0
  721. package/dist/cssm/components/Calendar/Calendar.d.ts +21 -0
  722. package/dist/cssm/components/Calendar/Calendar.js +134 -0
  723. package/dist/cssm/components/Calendar/Calendar.js.map +1 -0
  724. package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -0
  725. package/dist/cssm/components/CalendarDay/CalendarDay.d.ts +22 -0
  726. package/dist/cssm/components/CalendarDay/CalendarDay.js +95 -0
  727. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -0
  728. package/dist/cssm/components/CalendarDays/CalendarDays.css +1 -0
  729. package/dist/cssm/components/CalendarDays/CalendarDays.d.ts +22 -0
  730. package/dist/cssm/components/CalendarDays/CalendarDays.js +95 -0
  731. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -0
  732. package/dist/cssm/components/CalendarHeader/CalendarHeader.css +1 -0
  733. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +16 -0
  734. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +119 -0
  735. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -0
  736. package/dist/cssm/components/CalendarRange/CalendarRange.css +1 -0
  737. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +16 -0
  738. package/dist/cssm/components/CalendarRange/CalendarRange.js +194 -0
  739. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -0
  740. package/dist/cssm/components/CalendarTime/CalendarTime.css +1 -0
  741. package/dist/cssm/components/CalendarTime/CalendarTime.d.ts +11 -0
  742. package/dist/cssm/components/CalendarTime/CalendarTime.js +74 -0
  743. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -0
  744. package/dist/cssm/components/CardScroll/CardScroll.js +2 -1
  745. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  746. package/dist/cssm/components/Cell/Cell.d.ts +1 -1
  747. package/dist/cssm/components/Cell/Cell.js +4 -3
  748. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  749. package/dist/cssm/components/CellButton/CellButton.js +1 -0
  750. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  751. package/dist/cssm/components/Checkbox/Checkbox.js +1 -4
  752. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  753. package/dist/cssm/components/Chip/Chip.js +2 -3
  754. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  755. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  756. package/dist/cssm/components/ChipsInput/ChipsInput.d.ts +1 -2
  757. package/dist/cssm/components/ChipsInput/ChipsInput.js +3 -10
  758. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  759. package/dist/cssm/components/ChipsSelect/ChipsSelect.css +1 -1
  760. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +2 -3
  761. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +7 -13
  762. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  763. package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +1 -1
  764. package/dist/cssm/components/ClickPopper/ClickPopper.js.map +1 -1
  765. package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +4 -0
  766. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +7 -2
  767. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  768. package/dist/cssm/components/ContentCard/ContentCard.js +6 -7
  769. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  770. package/dist/cssm/components/Counter/Counter.js +2 -2
  771. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  772. package/dist/cssm/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  773. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  774. package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
  775. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +11 -2
  776. package/dist/cssm/components/CustomSelect/CustomSelect.js +57 -35
  777. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  778. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +3 -1
  779. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -1
  780. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +11 -6
  781. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  782. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +3 -1
  783. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  784. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +21 -19
  785. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  786. package/dist/cssm/components/DateInput/DateInput.css +1 -0
  787. package/dist/cssm/components/DateInput/DateInput.d.ts +12 -0
  788. package/dist/cssm/components/DateInput/DateInput.js +262 -0
  789. package/dist/cssm/components/DateInput/DateInput.js.map +1 -0
  790. package/dist/cssm/components/DatePicker/DatePicker.js +2 -2
  791. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  792. package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -0
  793. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +18 -0
  794. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +282 -0
  795. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -0
  796. package/dist/cssm/components/Div/Div.css +1 -1
  797. package/dist/cssm/components/Div/Div.d.ts +1 -2
  798. package/dist/cssm/components/Div/Div.js +1 -3
  799. package/dist/cssm/components/Div/Div.js.map +1 -1
  800. package/dist/cssm/components/File/File.js +1 -1
  801. package/dist/cssm/components/File/File.js.map +1 -1
  802. package/dist/cssm/components/FixedLayout/FixedLayout.js +2 -1
  803. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  804. package/dist/cssm/components/Footer/Footer.js +1 -3
  805. package/dist/cssm/components/Footer/Footer.js.map +1 -1
  806. package/dist/cssm/components/FormField/FormField.css +5 -1
  807. package/dist/cssm/components/FormField/FormField.js +2 -6
  808. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  809. package/dist/cssm/components/FormItem/FormItem.js +4 -5
  810. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  811. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  812. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  813. package/dist/cssm/components/FormStatus/FormStatus.css +1 -1
  814. package/dist/cssm/components/FormStatus/FormStatus.js +2 -7
  815. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  816. package/dist/cssm/components/Gallery/Gallery.d.ts +9 -1
  817. package/dist/cssm/components/Gallery/Gallery.js +10 -2
  818. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  819. package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -1
  820. package/dist/cssm/components/GridAvatar/GridAvatar.d.ts +1 -0
  821. package/dist/cssm/components/GridAvatar/GridAvatar.js +5 -6
  822. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  823. package/dist/cssm/components/Group/Group.js +4 -5
  824. package/dist/cssm/components/Group/Group.js.map +1 -1
  825. package/dist/cssm/components/Header/Header.js +13 -19
  826. package/dist/cssm/components/Header/Header.js.map +1 -1
  827. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +3 -6
  828. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  829. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  830. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +20 -18
  831. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  832. package/dist/cssm/components/IconButton/IconButton.d.ts +1 -1
  833. package/dist/cssm/components/InfoRow/InfoRow.js +1 -1
  834. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  835. package/dist/cssm/components/Input/Input.css +1 -1
  836. package/dist/cssm/components/Input/Input.d.ts +1 -2
  837. package/dist/cssm/components/Input/Input.js +8 -10
  838. package/dist/cssm/components/Input/Input.js.map +1 -1
  839. package/dist/cssm/components/InputLike/InputLike.css +1 -0
  840. package/dist/cssm/components/InputLike/InputLike.d.ts +10 -0
  841. package/dist/cssm/components/InputLike/InputLike.js +53 -0
  842. package/dist/cssm/components/InputLike/InputLike.js.map +1 -0
  843. package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -0
  844. package/dist/cssm/components/InputLike/InputLikeDivider.d.ts +3 -0
  845. package/dist/cssm/components/InputLike/InputLikeDivider.js +14 -0
  846. package/dist/cssm/components/InputLike/InputLikeDivider.js.map +1 -0
  847. package/dist/cssm/components/List/List.js +1 -0
  848. package/dist/cssm/components/List/List.js.map +1 -1
  849. package/dist/cssm/components/LocaleProviderContext/LocaleProviderContext.d.ts +2 -0
  850. package/dist/cssm/components/LocaleProviderContext/LocaleProviderContext.js +3 -0
  851. package/dist/cssm/components/LocaleProviderContext/LocaleProviderContext.js.map +1 -0
  852. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -0
  853. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  854. package/dist/cssm/components/ModalCard/ModalCard.css +1 -1
  855. package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
  856. package/dist/cssm/components/ModalCard/ModalCard.js +1 -0
  857. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  858. package/dist/cssm/components/ModalCardBase/ModalCardBase.css +1 -1
  859. package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  860. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +9 -3
  861. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  862. package/dist/cssm/components/ModalPage/ModalPage.d.ts +16 -1
  863. package/dist/cssm/components/ModalPage/ModalPage.js +9 -6
  864. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  865. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +1 -0
  866. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  867. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +14 -2
  868. package/dist/cssm/components/ModalRoot/ModalRoot.js +14 -11
  869. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  870. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  871. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  872. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  873. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +10 -7
  874. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  875. package/dist/cssm/components/ModalRoot/types.d.ts +16 -1
  876. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  877. package/dist/cssm/components/ModalRoot/useModalManager.d.ts +6 -5
  878. package/dist/cssm/components/ModalRoot/useModalManager.js +54 -16
  879. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  880. package/dist/cssm/components/NativeSelect/NativeSelect.js +2 -1
  881. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  882. package/dist/cssm/components/Pagination/Pagination.css +1 -0
  883. package/dist/cssm/components/Pagination/Pagination.d.ts +42 -0
  884. package/dist/cssm/components/Pagination/Pagination.js +130 -0
  885. package/dist/cssm/components/Pagination/Pagination.js.map +1 -0
  886. package/dist/cssm/components/Panel/Panel.js +2 -1
  887. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  888. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  889. package/dist/cssm/components/PanelHeader/PanelHeader.js +1 -0
  890. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  891. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  892. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +1 -0
  893. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  894. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.css +1 -1
  895. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +4 -3
  896. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  897. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +1 -1
  898. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +1 -3
  899. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  900. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +1 -0
  901. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  902. package/dist/cssm/components/Placeholder/Placeholder.js +3 -2
  903. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  904. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -0
  905. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  906. package/dist/cssm/components/Popper/Popper.js +2 -2
  907. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  908. package/dist/cssm/components/PromoBanner/PromoBanner.js +2 -6
  909. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  910. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +2 -1
  911. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  912. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +1 -0
  913. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  914. package/dist/cssm/components/Radio/Radio.js +1 -4
  915. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  916. package/dist/cssm/components/Removable/Removable.css +1 -1
  917. package/dist/cssm/components/RichCell/RichCell.d.ts +3 -2
  918. package/dist/cssm/components/RichCell/RichCell.js +2 -1
  919. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  920. package/dist/cssm/components/RichTooltip/RichTooltip.js +2 -1
  921. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  922. package/dist/cssm/components/Root/Root.css +1 -1
  923. package/dist/cssm/components/Root/Root.js +8 -7
  924. package/dist/cssm/components/Root/Root.js.map +1 -1
  925. package/dist/cssm/components/Search/Search.css +1 -1
  926. package/dist/cssm/components/Search/Search.js +2 -1
  927. package/dist/cssm/components/Search/Search.js.map +1 -1
  928. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +19 -13
  929. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  930. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  931. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  932. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  933. package/dist/cssm/components/Select/Select.css +1 -1
  934. package/dist/cssm/components/Select/Select.d.ts +1 -2
  935. package/dist/cssm/components/Select/Select.js +4 -5
  936. package/dist/cssm/components/Select/Select.js.map +1 -1
  937. package/dist/cssm/components/SelectMimicry/SelectMimicry.css +1 -0
  938. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +5 -1
  939. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +13 -6
  940. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  941. package/dist/cssm/components/Separator/Separator.js +3 -1
  942. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  943. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  944. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +1 -1
  945. package/dist/cssm/components/SimpleCell/SimpleCell.js +3 -2
  946. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  947. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -1
  948. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +7 -5
  949. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  950. package/dist/cssm/components/SliderSwitch/SliderSwitch.js +1 -0
  951. package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
  952. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +1 -0
  953. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  954. package/dist/cssm/components/Snackbar/Snackbar.js +2 -1
  955. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  956. package/dist/cssm/components/Spacing/Spacing.js +4 -3
  957. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  958. package/dist/cssm/components/SplitCol/SplitCol.js +2 -1
  959. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  960. package/dist/cssm/components/SplitLayout/SplitLayout.css +1 -1
  961. package/dist/cssm/components/SplitLayout/SplitLayout.js +2 -1
  962. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  963. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -1
  964. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  965. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +5 -5
  966. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  967. package/dist/cssm/components/Switch/Switch.js +1 -0
  968. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  969. package/dist/cssm/components/Tabbar/Tabbar.js +1 -0
  970. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  971. package/dist/cssm/components/TabbarItem/TabbarItem.css +1 -1
  972. package/dist/cssm/components/TabbarItem/TabbarItem.js +2 -1
  973. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  974. package/dist/cssm/components/Tabs/Tabs.css +1 -1
  975. package/dist/cssm/components/TabsItem/TabsItem.js +2 -1
  976. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  977. package/dist/cssm/components/Tappable/Tappable.css +1 -1
  978. package/dist/cssm/components/Tappable/Tappable.d.ts +3 -1
  979. package/dist/cssm/components/Tappable/Tappable.js +15 -15
  980. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  981. package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -1
  982. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  983. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  984. package/dist/cssm/components/Tooltip/Tooltip.js +4 -4
  985. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  986. package/dist/cssm/components/Touch/Touch.js +9 -3
  987. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  988. package/dist/cssm/components/Touch/TouchContext.d.ts +1 -1
  989. package/dist/cssm/components/Touch/TouchContext.js +1 -1
  990. package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
  991. package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
  992. package/dist/cssm/components/Typography/Caption/Caption.d.ts +8 -4
  993. package/dist/cssm/components/Typography/Caption/Caption.js +10 -14
  994. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  995. package/dist/cssm/components/Typography/Headline/Headline.css +1 -1
  996. package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -0
  997. package/dist/cssm/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  998. package/dist/cssm/components/Typography/Paragraph/Paragraph.js +26 -0
  999. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -0
  1000. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  1001. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +4 -3
  1002. package/dist/cssm/components/Typography/Subhead/Subhead.js +3 -7
  1003. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  1004. package/dist/cssm/components/Typography/Text/Text.css +1 -1
  1005. package/dist/cssm/components/Typography/Text/Text.js +1 -1
  1006. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  1007. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  1008. package/dist/cssm/components/Typography/Title/Title.d.ts +4 -3
  1009. package/dist/cssm/components/Typography/Title/Title.js +3 -8
  1010. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  1011. package/dist/cssm/components/UsersStack/UsersStack.js +4 -4
  1012. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  1013. package/dist/cssm/components/View/View.css +1 -1
  1014. package/dist/cssm/components/View/View.js +5 -0
  1015. package/dist/cssm/components/View/View.js.map +1 -1
  1016. package/dist/cssm/components/View/ViewIOS.css +1 -1
  1017. package/dist/cssm/components/View/ViewInfinite.d.ts +2 -2
  1018. package/dist/cssm/components/View/ViewInfinite.js +15 -11
  1019. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  1020. package/dist/cssm/components/View/utils.js +5 -2
  1021. package/dist/cssm/components/View/utils.js.map +1 -1
  1022. package/dist/cssm/components/WriteBar/WriteBar.css +1 -1
  1023. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +3 -2
  1024. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  1025. package/dist/cssm/helpers/scheme.js +2 -2
  1026. package/dist/cssm/helpers/scheme.js.map +1 -1
  1027. package/dist/cssm/hooks/useBooleanState.d.ts +6 -0
  1028. package/dist/cssm/hooks/useBooleanState.js +27 -0
  1029. package/dist/cssm/hooks/useBooleanState.js.map +1 -0
  1030. package/dist/cssm/hooks/useBridgeAdaptivity.d.ts +6 -0
  1031. package/dist/cssm/hooks/useBridgeAdaptivity.js +68 -0
  1032. package/dist/cssm/hooks/useBridgeAdaptivity.js.map +1 -0
  1033. package/dist/cssm/hooks/useCalendar.d.ts +18 -0
  1034. package/dist/cssm/hooks/useCalendar.js +64 -0
  1035. package/dist/cssm/hooks/useCalendar.js.map +1 -0
  1036. package/dist/cssm/hooks/useDateInput.d.ts +30 -0
  1037. package/dist/cssm/hooks/useDateInput.js +163 -0
  1038. package/dist/cssm/hooks/useDateInput.js.map +1 -0
  1039. package/dist/cssm/hooks/useKeyboard.d.ts +1 -1
  1040. package/dist/cssm/hooks/useKeyboard.js +1 -1
  1041. package/dist/cssm/hooks/useKeyboard.js.map +1 -1
  1042. package/dist/cssm/hooks/useKeyboardInputTracker.d.ts +2 -0
  1043. package/dist/cssm/hooks/useKeyboardInputTracker.js +11 -4
  1044. package/dist/cssm/hooks/useKeyboardInputTracker.js.map +1 -1
  1045. package/dist/cssm/hooks/useOrientationChange.d.ts +7 -0
  1046. package/dist/cssm/hooks/useOrientationChange.js +42 -0
  1047. package/dist/cssm/hooks/useOrientationChange.js.map +1 -0
  1048. package/dist/cssm/hooks/usePagination.d.ts +34 -0
  1049. package/dist/cssm/hooks/usePagination.js +67 -0
  1050. package/dist/cssm/hooks/usePagination.js.map +1 -0
  1051. package/dist/cssm/hooks/usePatchChildrenRef.js +1 -1
  1052. package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -1
  1053. package/dist/cssm/hooks/useWaitTransitionFinish.js +5 -1
  1054. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  1055. package/dist/cssm/index.d.ts +32 -11
  1056. package/dist/cssm/index.js +20 -14
  1057. package/dist/cssm/index.js.map +1 -1
  1058. package/dist/cssm/lib/calendar.d.ts +14 -0
  1059. package/dist/cssm/lib/calendar.js +100 -0
  1060. package/dist/cssm/lib/calendar.js.map +1 -0
  1061. package/dist/cssm/lib/date.d.ts +29 -0
  1062. package/dist/cssm/lib/date.js +223 -0
  1063. package/dist/cssm/lib/date.js.map +1 -0
  1064. package/dist/cssm/lib/getNavId.d.ts +2 -1
  1065. package/dist/cssm/lib/getNavId.js +1 -1
  1066. package/dist/cssm/lib/getNavId.js.map +1 -1
  1067. package/dist/cssm/lib/utils.d.ts +2 -1
  1068. package/dist/cssm/lib/utils.js +3 -0
  1069. package/dist/cssm/lib/utils.js.map +1 -1
  1070. package/dist/cssm/lib/warnOnce.d.ts +2 -1
  1071. package/dist/cssm/lib/warnOnce.js +3 -1
  1072. package/dist/cssm/lib/warnOnce.js.map +1 -1
  1073. package/dist/cssm/styles/common.css +1 -1
  1074. package/dist/cssm/styles/components.css +21 -6
  1075. package/dist/cssm/styles/constants.css +8 -1
  1076. package/dist/cssm/styles/themes.css +1 -1
  1077. package/dist/cssm/styles/unstable.css +1 -1
  1078. package/dist/cssm/tokenized/index.d.ts +32 -4
  1079. package/dist/cssm/tokenized/index.js +18 -4
  1080. package/dist/cssm/tokenized/index.js.map +1 -1
  1081. package/dist/cssm/unstable/index.d.ts +6 -6
  1082. package/dist/cssm/unstable/index.js +3 -3
  1083. package/dist/cssm/unstable/index.js.map +1 -1
  1084. package/dist/helpers/scheme.js +2 -2
  1085. package/dist/helpers/scheme.js.map +1 -1
  1086. package/dist/hooks/useBooleanState.d.ts +6 -0
  1087. package/dist/hooks/useBooleanState.js +27 -0
  1088. package/dist/hooks/useBooleanState.js.map +1 -0
  1089. package/dist/hooks/useBridgeAdaptivity.d.ts +6 -0
  1090. package/dist/hooks/useBridgeAdaptivity.js +68 -0
  1091. package/dist/hooks/useBridgeAdaptivity.js.map +1 -0
  1092. package/dist/hooks/useCalendar.d.ts +18 -0
  1093. package/dist/hooks/useCalendar.js +64 -0
  1094. package/dist/hooks/useCalendar.js.map +1 -0
  1095. package/dist/hooks/useDateInput.d.ts +30 -0
  1096. package/dist/hooks/useDateInput.js +163 -0
  1097. package/dist/hooks/useDateInput.js.map +1 -0
  1098. package/dist/hooks/useKeyboard.d.ts +1 -1
  1099. package/dist/hooks/useKeyboard.js +1 -1
  1100. package/dist/hooks/useKeyboard.js.map +1 -1
  1101. package/dist/hooks/useKeyboardInputTracker.d.ts +2 -0
  1102. package/dist/hooks/useKeyboardInputTracker.js +11 -4
  1103. package/dist/hooks/useKeyboardInputTracker.js.map +1 -1
  1104. package/dist/hooks/useOrientationChange.d.ts +7 -0
  1105. package/dist/hooks/useOrientationChange.js +42 -0
  1106. package/dist/hooks/useOrientationChange.js.map +1 -0
  1107. package/dist/hooks/usePagination.d.ts +34 -0
  1108. package/dist/hooks/usePagination.js +67 -0
  1109. package/dist/hooks/usePagination.js.map +1 -0
  1110. package/dist/hooks/usePatchChildrenRef.js +1 -1
  1111. package/dist/hooks/usePatchChildrenRef.js.map +1 -1
  1112. package/dist/hooks/useWaitTransitionFinish.js +5 -1
  1113. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  1114. package/dist/index.d.ts +32 -11
  1115. package/dist/index.js +20 -14
  1116. package/dist/index.js.map +1 -1
  1117. package/dist/lib/calendar.d.ts +14 -0
  1118. package/dist/lib/calendar.js +100 -0
  1119. package/dist/lib/calendar.js.map +1 -0
  1120. package/dist/lib/date.d.ts +29 -0
  1121. package/dist/lib/date.js +223 -0
  1122. package/dist/lib/date.js.map +1 -0
  1123. package/dist/lib/getNavId.d.ts +2 -1
  1124. package/dist/lib/getNavId.js +1 -1
  1125. package/dist/lib/getNavId.js.map +1 -1
  1126. package/dist/lib/utils.d.ts +2 -1
  1127. package/dist/lib/utils.js +3 -0
  1128. package/dist/lib/utils.js.map +1 -1
  1129. package/dist/lib/warnOnce.d.ts +2 -1
  1130. package/dist/lib/warnOnce.js +3 -1
  1131. package/dist/lib/warnOnce.js.map +1 -1
  1132. package/dist/tokenized/index.d.ts +32 -4
  1133. package/dist/tokenized/index.js +18 -4
  1134. package/dist/tokenized/index.js.map +1 -1
  1135. package/dist/unstable/index.d.ts +6 -6
  1136. package/dist/unstable/index.js +3 -3
  1137. package/dist/unstable/index.js.map +1 -1
  1138. package/dist/unstable.css +1 -1
  1139. package/dist/unstable.css.map +1 -1
  1140. package/dist/vkui.css +22 -7
  1141. package/dist/vkui.css.map +1 -1
  1142. package/eslint-plugin-vkui/index.js +64 -0
  1143. package/eslint-plugin-vkui/package.json +5 -0
  1144. package/jest.unit.config.js +4 -1
  1145. package/package.json +15 -11
  1146. package/postcss-plugin-vk-sans/__tests__/custom_properties.css +4 -0
  1147. package/postcss-plugin-vk-sans/index.js +343 -0
  1148. package/src/components/ActionSheet/ActionSheet.tsx +4 -7
  1149. package/src/components/ActionSheet/ActionSheetDropdown.tsx +1 -0
  1150. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +1 -1
  1151. package/src/components/ActionSheetItem/ActionSheetItem.tsx +5 -10
  1152. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +50 -19
  1153. package/src/components/Alert/Alert.tsx +8 -11
  1154. package/src/components/Alert/Readme.md +4 -4
  1155. package/src/components/AppRoot/AppRoot.tsx +2 -1
  1156. package/src/components/AppRoot/Readme.md +2 -2
  1157. package/src/components/Avatar/Avatar.tsx +3 -0
  1158. package/src/components/Banner/Banner.tsx +3 -2
  1159. package/src/components/Button/Button.css +26 -1
  1160. package/src/components/Button/Button.tsx +28 -39
  1161. package/src/components/ButtonGroup/ButtonGroup.css +52 -0
  1162. package/src/components/ButtonGroup/ButtonGroup.tsx +48 -0
  1163. package/src/components/ButtonGroup/Readme.md +311 -0
  1164. package/src/components/Calendar/Calendar.css +31 -0
  1165. package/src/components/Calendar/Calendar.tsx +185 -0
  1166. package/src/components/Calendar/Readme.md +124 -0
  1167. package/src/components/CalendarDay/CalendarDay.css +85 -0
  1168. package/src/components/CalendarDay/CalendarDay.tsx +117 -0
  1169. package/src/components/CalendarDays/CalendarDays.css +31 -0
  1170. package/src/components/CalendarDays/CalendarDays.tsx +131 -0
  1171. package/src/components/CalendarHeader/CalendarHeader.css +50 -0
  1172. package/src/components/CalendarHeader/CalendarHeader.tsx +168 -0
  1173. package/src/components/CalendarRange/CalendarRange.css +27 -0
  1174. package/src/components/CalendarRange/CalendarRange.tsx +275 -0
  1175. package/src/components/CalendarRange/Readme.md +85 -0
  1176. package/src/components/CalendarTime/CalendarTime.css +18 -0
  1177. package/src/components/CalendarTime/CalendarTime.tsx +88 -0
  1178. package/src/components/CardScroll/CardScroll.tsx +3 -1
  1179. package/src/components/Cell/Cell.tsx +4 -3
  1180. package/src/components/CellButton/CellButton.tsx +1 -0
  1181. package/src/components/Checkbox/Checkbox.tsx +2 -9
  1182. package/src/components/Chip/Chip.tsx +3 -8
  1183. package/src/components/ChipsInput/ChipsInput.css +4 -4
  1184. package/src/components/ChipsInput/ChipsInput.tsx +7 -8
  1185. package/src/components/ChipsSelect/ChipsSelect.css +1 -1
  1186. package/src/components/ChipsSelect/ChipsSelect.tsx +15 -14
  1187. package/src/components/ClickPopper/ClickPopper.tsx +1 -1
  1188. package/src/components/ConfigProvider/ConfigProvider.tsx +11 -3
  1189. package/src/components/ContentCard/ContentCard.tsx +5 -11
  1190. package/src/components/Counter/Counter.tsx +2 -2
  1191. package/src/components/CustomScrollView/CustomScrollView.tsx +1 -1
  1192. package/src/components/CustomSelect/CustomSelect.css +1 -16
  1193. package/src/components/CustomSelect/CustomSelect.tsx +65 -23
  1194. package/src/components/CustomSelectDropdown/CustomSelectDropdown.css +22 -5
  1195. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +16 -6
  1196. package/src/components/CustomSelectOption/CustomSelectOption.css +17 -5
  1197. package/src/components/CustomSelectOption/CustomSelectOption.tsx +58 -24
  1198. package/src/components/CustomSelectOption/Readme.md +48 -29
  1199. package/src/components/DateInput/DateInput.css +20 -0
  1200. package/src/components/DateInput/DateInput.tsx +317 -0
  1201. package/src/components/DateInput/Readme.md +116 -0
  1202. package/src/components/DatePicker/DatePicker.tsx +2 -2
  1203. package/src/components/DateRangeInput/DateRangeInput.css +16 -0
  1204. package/src/components/DateRangeInput/DateRangeInput.tsx +350 -0
  1205. package/src/components/DateRangeInput/Readme.md +96 -0
  1206. package/src/components/Div/Div.css +1 -8
  1207. package/src/components/Div/Div.tsx +2 -5
  1208. package/src/components/Epic/Readme.md +5 -1
  1209. package/src/components/File/File.tsx +1 -1
  1210. package/src/components/FixedLayout/FixedLayout.tsx +1 -0
  1211. package/src/components/Footer/Footer.tsx +2 -8
  1212. package/src/components/Footer/Readme.md +1 -1
  1213. package/src/components/FormField/FormField.css +47 -39
  1214. package/src/components/FormField/FormField.tsx +5 -6
  1215. package/src/components/FormItem/FormItem.tsx +4 -5
  1216. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +1 -0
  1217. package/src/components/FormStatus/FormStatus.tsx +3 -9
  1218. package/src/components/Gallery/Gallery.tsx +14 -2
  1219. package/src/components/Gallery/Readme.md +1 -1
  1220. package/src/components/GridAvatar/GridAvatar.css +10 -13
  1221. package/src/components/GridAvatar/GridAvatar.tsx +12 -24
  1222. package/src/components/Group/Group.tsx +3 -4
  1223. package/src/components/Header/Header.tsx +15 -12
  1224. package/src/components/HorizontalCell/HorizontalCell.tsx +4 -10
  1225. package/src/components/HorizontalScroll/HorizontalScroll.tsx +41 -39
  1226. package/src/components/InfoRow/InfoRow.tsx +1 -1
  1227. package/src/components/Input/Input.css +4 -4
  1228. package/src/components/Input/Input.tsx +5 -9
  1229. package/src/components/InputLike/InputLike.css +25 -0
  1230. package/src/components/InputLike/InputLike.tsx +72 -0
  1231. package/src/components/InputLike/InputLikeDivider.css +4 -0
  1232. package/src/components/InputLike/InputLikeDivider.tsx +12 -0
  1233. package/src/components/List/List.tsx +1 -0
  1234. package/src/components/LocaleProviderContext/LocaleProviderContext.tsx +5 -0
  1235. package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -0
  1236. package/src/components/ModalCard/ModalCard.css +0 -10
  1237. package/src/components/ModalCard/ModalCard.tsx +1 -0
  1238. package/src/components/ModalCardBase/ModalCardBase.css +10 -0
  1239. package/src/components/ModalCardBase/ModalCardBase.tsx +15 -2
  1240. package/src/components/ModalPage/ModalPage.tsx +29 -4
  1241. package/src/components/ModalPageHeader/ModalPageHeader.tsx +1 -0
  1242. package/src/components/ModalRoot/ModalRoot.tsx +33 -10
  1243. package/src/components/ModalRoot/ModalRootAdaptive.tsx +17 -2
  1244. package/src/components/ModalRoot/ModalRootDesktop.tsx +25 -7
  1245. package/src/components/ModalRoot/Readme.md +112 -0
  1246. package/src/components/ModalRoot/types.ts +16 -1
  1247. package/src/components/ModalRoot/useModalManager.tsx +60 -15
  1248. package/src/components/NativeSelect/NativeSelect.tsx +1 -0
  1249. package/src/components/Pagination/Pagination.css +62 -0
  1250. package/src/components/Pagination/Pagination.tsx +196 -0
  1251. package/src/components/Pagination/Readme.md +110 -0
  1252. package/src/components/Panel/Panel.tsx +1 -0
  1253. package/src/components/PanelHeader/PanelHeader.tsx +1 -0
  1254. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +1 -0
  1255. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +4 -2
  1256. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +2 -8
  1257. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +1 -0
  1258. package/src/components/Placeholder/Placeholder.tsx +2 -1
  1259. package/src/components/PopoutWrapper/PopoutWrapper.tsx +1 -0
  1260. package/src/components/PopoutWrapper/Readme.md +1 -1
  1261. package/src/components/Popper/Popper.tsx +2 -2
  1262. package/src/components/Popper/Readme.md +1 -1
  1263. package/src/components/PromoBanner/PromoBanner.tsx +4 -6
  1264. package/src/components/PullToRefresh/PullToRefresh.tsx +1 -0
  1265. package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +1 -0
  1266. package/src/components/Radio/Radio.tsx +2 -9
  1267. package/src/components/RichCell/Readme.md +4 -4
  1268. package/src/components/RichCell/RichCell.tsx +4 -2
  1269. package/src/components/RichTooltip/Readme.md +3 -3
  1270. package/src/components/RichTooltip/RichTooltip.tsx +1 -0
  1271. package/src/components/Root/Root.css +4 -11
  1272. package/src/components/Root/Root.tsx +7 -6
  1273. package/src/components/Search/Search.tsx +2 -1
  1274. package/src/components/SegmentedControl/SegmentedControl.tsx +20 -10
  1275. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  1276. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +1 -0
  1277. package/src/components/Select/Select.css +7 -2
  1278. package/src/components/Select/Select.tsx +3 -4
  1279. package/src/components/SelectMimicry/SelectMimicry.css +10 -0
  1280. package/src/components/SelectMimicry/SelectMimicry.tsx +14 -3
  1281. package/src/components/Separator/Separator.tsx +2 -0
  1282. package/src/components/SimpleCell/SimpleCell.tsx +3 -2
  1283. package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +7 -5
  1284. package/src/components/SliderSwitch/SliderSwitch.tsx +1 -0
  1285. package/src/components/SliderSwitch/SliderSwitchButton.tsx +1 -0
  1286. package/src/components/Snackbar/Snackbar.tsx +2 -1
  1287. package/src/components/Spacing/Spacing.tsx +3 -2
  1288. package/src/components/SplitCol/SplitCol.tsx +1 -0
  1289. package/src/components/SplitLayout/SplitLayout.tsx +1 -0
  1290. package/src/components/SubnavigationBar/SubnavigationBar.tsx +2 -1
  1291. package/src/components/SubnavigationButton/SubnavigationButton.tsx +4 -9
  1292. package/src/components/Switch/Switch.tsx +1 -0
  1293. package/src/components/Tabbar/Readme.md +1 -1
  1294. package/src/components/Tabbar/Tabbar.tsx +1 -0
  1295. package/src/components/TabbarItem/TabbarItem.css +1 -0
  1296. package/src/components/TabbarItem/TabbarItem.tsx +1 -0
  1297. package/src/components/Tabs/Readme.md +7 -7
  1298. package/src/components/TabsItem/TabsItem.tsx +2 -1
  1299. package/src/components/Tappable/Tappable.css +5 -0
  1300. package/src/components/Tappable/Tappable.tsx +17 -5
  1301. package/src/components/TextTooltip/Readme.md +1 -1
  1302. package/src/components/TextTooltip/TextTooltip.tsx +1 -1
  1303. package/src/components/Tooltip/Tooltip.tsx +5 -4
  1304. package/src/components/Touch/Touch.tsx +6 -3
  1305. package/src/components/Touch/TouchContext.ts +1 -1
  1306. package/src/components/Typography/Caption/Caption.css +61 -19
  1307. package/src/components/Typography/Caption/Caption.tsx +24 -15
  1308. package/src/components/Typography/Caption/Readme.md +26 -48
  1309. package/src/components/Typography/Paragraph/Paragraph.css +17 -0
  1310. package/src/components/Typography/Paragraph/Paragraph.tsx +42 -0
  1311. package/src/components/Typography/Paragraph/Readme.md +19 -0
  1312. package/src/components/Typography/Subhead/Subhead.tsx +6 -8
  1313. package/src/components/Typography/Text/Text.tsx +1 -1
  1314. package/src/components/Typography/Title/Title.tsx +10 -10
  1315. package/src/components/UsersStack/UsersStack.tsx +4 -4
  1316. package/src/components/View/Readme.md +2 -2
  1317. package/src/components/View/View.css +1 -1
  1318. package/src/components/View/View.tsx +4 -0
  1319. package/src/components/View/ViewIOS.css +2 -2
  1320. package/src/components/View/ViewInfinite.tsx +7 -4
  1321. package/src/components/View/utils.ts +2 -1
  1322. package/src/components/WriteBarIcon/WriteBarIcon.tsx +3 -1
  1323. package/src/helpers/scheme.ts +3 -2
  1324. package/src/hooks/useBooleanState.ts +19 -0
  1325. package/src/hooks/useBridgeAdaptivity.ts +83 -0
  1326. package/src/hooks/useCalendar.ts +78 -0
  1327. package/src/hooks/useDateInput.ts +213 -0
  1328. package/src/hooks/useKeyboard.ts +1 -1
  1329. package/src/hooks/useKeyboardInputTracker.ts +25 -8
  1330. package/src/hooks/useOrientationChange.ts +39 -0
  1331. package/src/hooks/usePagination.ts +96 -0
  1332. package/src/hooks/usePatchChildrenRef.ts +2 -2
  1333. package/src/hooks/useWaitTransitionFinish.ts +7 -1
  1334. package/src/index.ts +32 -11
  1335. package/src/lib/calendar.ts +123 -0
  1336. package/src/lib/date.ts +274 -0
  1337. package/src/lib/getNavId.ts +4 -2
  1338. package/src/lib/utils.ts +4 -1
  1339. package/src/lib/warnOnce.ts +9 -3
  1340. package/src/styles/components.css +15 -0
  1341. package/src/styles/constants.css +8 -1
  1342. package/src/testing/utils.tsx +10 -1
  1343. package/src/tokenized/index.ts +46 -4
  1344. package/src/unstable/index.ts +6 -6
  1345. package/tsconfig.json +2 -0
  1346. package/postcss.config.js +0 -54
@@ -10,7 +10,7 @@ import { usePlatform } from "../../hooks/usePlatform";
10
10
  import { getTitleFromChildren, isPrimitiveReactNode } from "../../lib/utils";
11
11
  import { IOS, VKCOM, ANDROID } from "../../lib/platform";
12
12
  import Text from "../Typography/Text/Text";
13
- import Title from "../Typography/Title/Title";
13
+ import { Title } from "../Typography/Title/Title";
14
14
 
15
15
  var ButtonTypography = function ButtonTypography(_ref) {
16
16
  var primary = _ref.primary,
@@ -64,7 +64,7 @@ export var PanelHeaderButton = function PanelHeaderButton(_ref2) {
64
64
  var hasAccessibleName = Boolean(getTitleFromChildren(children) || getTitleFromChildren(label) || restProps["aria-label"] || restProps["aria-labelledby"]);
65
65
 
66
66
  if (!hasAccessibleName) {
67
- warn("a11y: У кнопки нет названия, которое может прочитать скринридер, и она недоступна для части пользователей. Замените содержимое на текст или добавьте описание действия с помощью пропа aria-label.");
67
+ warn("a11y: У кнопки нет названия, которое может прочитать скринридер, и она недоступна для части пользователей. Замените содержимое на текст или добавьте описание действия с помощью пропа aria-label.", "error");
68
68
  }
69
69
  }
70
70
 
@@ -72,7 +72,8 @@ export var PanelHeaderButton = function PanelHeaderButton(_ref2) {
72
72
  hoverMode: hoverMode,
73
73
  Component: restProps.href ? "a" : "button",
74
74
  activeEffectDelay: 200,
75
- activeMode: activeMode,
75
+ activeMode: activeMode // eslint-disable-next-line vkui/no-object-expression-in-arguments
76
+ ,
76
77
  vkuiClass: classNames(getClassName("PanelHeaderButton", platform), {
77
78
  "PanelHeaderButton--primary": primary,
78
79
  "PanelHeaderButton--primitive": isPrimitive,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PanelHeaderButton/PanelHeaderButton.tsx"],"names":["Tappable","getClassName","classNames","warnOnce","usePlatform","getTitleFromChildren","isPrimitiveReactNode","IOS","VKCOM","ANDROID","Text","Title","ButtonTypography","primary","children","platform","warn","PanelHeaderButton","label","restProps","isPrimitive","isPrimitiveLabel","hoverMode","activeMode","process","env","NODE_ENV","hasAccessibleName","Boolean","href"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport Tappable, { TappableProps } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getTitleFromChildren, isPrimitiveReactNode } from \"../../lib/utils\";\nimport { IOS, VKCOM, ANDROID } from \"../../lib/platform\";\nimport Text from \"../Typography/Text/Text\";\nimport Title from \"../Typography/Title/Title\";\nimport \"./PanelHeaderButton.css\";\n\nexport interface PanelHeaderButtonProps extends Omit<TappableProps, \"label\"> {\n primary?: boolean;\n label?: React.ReactNode;\n}\n\ninterface ButtonTypographyProps extends React.AllHTMLAttributes<HTMLElement> {\n primary?: PanelHeaderButtonProps[\"primary\"];\n}\n\nconst ButtonTypography: React.FC<ButtonTypographyProps> = ({\n primary,\n children,\n}: ButtonTypographyProps) => {\n const platform = usePlatform();\n\n if (platform === IOS) {\n return (\n <Title Component=\"span\" level=\"3\" weight={primary ? \"1\" : \"3\"}>\n {children}\n </Title>\n );\n }\n\n return (\n <Text weight={platform === VKCOM ? \"regular\" : \"medium\"}>{children}</Text>\n );\n};\n\nconst warn = warnOnce(\"PanelHeaderButton\");\nexport const PanelHeaderButton: React.FC<PanelHeaderButtonProps> = ({\n children,\n primary = false,\n label,\n ...restProps\n}: PanelHeaderButtonProps) => {\n const isPrimitive = isPrimitiveReactNode(children);\n const isPrimitiveLabel = isPrimitiveReactNode(label);\n const platform = usePlatform();\n\n let hoverMode;\n let activeMode;\n\n switch (platform) {\n case ANDROID:\n hoverMode = \"background\";\n activeMode = \"background\";\n break;\n case IOS:\n hoverMode = \"background\";\n activeMode = \"opacity\";\n break;\n case VKCOM:\n hoverMode = \"PanelHeaderButton--hover\";\n activeMode = \"PanelHeaderButton--active\";\n }\n\n if (process.env.NODE_ENV === \"development\") {\n const hasAccessibleName = Boolean(\n getTitleFromChildren(children) ||\n getTitleFromChildren(label) ||\n restProps[\"aria-label\"] ||\n restProps[\"aria-labelledby\"]\n );\n\n if (!hasAccessibleName) {\n warn(\n \"a11y: У кнопки нет названия, которое может прочитать скринридер, и она недоступна для части пользователей. Замените содержимое на текст или добавьте описание действия с помощью пропа aria-label.\"\n );\n }\n }\n\n return (\n <Tappable\n {...restProps}\n hoverMode={hoverMode}\n Component={restProps.href ? \"a\" : \"button\"}\n activeEffectDelay={200}\n activeMode={activeMode}\n vkuiClass={classNames(getClassName(\"PanelHeaderButton\", platform), {\n \"PanelHeaderButton--primary\": primary,\n \"PanelHeaderButton--primitive\": isPrimitive,\n \"PanelHeaderButton--notPrimitive\": !isPrimitive && !isPrimitiveLabel,\n })}\n >\n {isPrimitive ? (\n <ButtonTypography primary={primary}>{children}</ButtonTypography>\n ) : (\n children\n )}\n {isPrimitiveLabel ? (\n <ButtonTypography primary={primary}>{label}</ButtonTypography>\n ) : (\n label\n )}\n </Tappable>\n );\n};\n"],"file":"PanelHeaderButton.js"}
1
+ {"version":3,"sources":["../../../src/components/PanelHeaderButton/PanelHeaderButton.tsx"],"names":["Tappable","getClassName","classNames","warnOnce","usePlatform","getTitleFromChildren","isPrimitiveReactNode","IOS","VKCOM","ANDROID","Text","Title","ButtonTypography","primary","children","platform","warn","PanelHeaderButton","label","restProps","isPrimitive","isPrimitiveLabel","hoverMode","activeMode","process","env","NODE_ENV","hasAccessibleName","Boolean","href"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport Tappable, { TappableProps } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getTitleFromChildren, isPrimitiveReactNode } from \"../../lib/utils\";\nimport { IOS, VKCOM, ANDROID } from \"../../lib/platform\";\nimport Text from \"../Typography/Text/Text\";\nimport { Title } from \"../Typography/Title/Title\";\nimport \"./PanelHeaderButton.css\";\n\nexport interface PanelHeaderButtonProps extends Omit<TappableProps, \"label\"> {\n primary?: boolean;\n label?: React.ReactNode;\n}\n\ninterface ButtonTypographyProps extends React.AllHTMLAttributes<HTMLElement> {\n primary?: PanelHeaderButtonProps[\"primary\"];\n}\n\nconst ButtonTypography: React.FC<ButtonTypographyProps> = ({\n primary,\n children,\n}: ButtonTypographyProps) => {\n const platform = usePlatform();\n\n if (platform === IOS) {\n return (\n <Title Component=\"span\" level=\"3\" weight={primary ? \"1\" : \"3\"}>\n {children}\n </Title>\n );\n }\n\n return (\n <Text weight={platform === VKCOM ? \"regular\" : \"medium\"}>{children}</Text>\n );\n};\n\nconst warn = warnOnce(\"PanelHeaderButton\");\nexport const PanelHeaderButton: React.FC<PanelHeaderButtonProps> = ({\n children,\n primary = false,\n label,\n ...restProps\n}: PanelHeaderButtonProps) => {\n const isPrimitive = isPrimitiveReactNode(children);\n const isPrimitiveLabel = isPrimitiveReactNode(label);\n const platform = usePlatform();\n\n let hoverMode;\n let activeMode;\n\n switch (platform) {\n case ANDROID:\n hoverMode = \"background\";\n activeMode = \"background\";\n break;\n case IOS:\n hoverMode = \"background\";\n activeMode = \"opacity\";\n break;\n case VKCOM:\n hoverMode = \"PanelHeaderButton--hover\";\n activeMode = \"PanelHeaderButton--active\";\n }\n\n if (process.env.NODE_ENV === \"development\") {\n const hasAccessibleName = Boolean(\n getTitleFromChildren(children) ||\n getTitleFromChildren(label) ||\n restProps[\"aria-label\"] ||\n restProps[\"aria-labelledby\"]\n );\n\n if (!hasAccessibleName) {\n warn(\n \"a11y: У кнопки нет названия, которое может прочитать скринридер, и она недоступна для части пользователей. Замените содержимое на текст или добавьте описание действия с помощью пропа aria-label.\",\n \"error\"\n );\n }\n }\n\n return (\n <Tappable\n {...restProps}\n hoverMode={hoverMode}\n Component={restProps.href ? \"a\" : \"button\"}\n activeEffectDelay={200}\n activeMode={activeMode}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"PanelHeaderButton\", platform), {\n \"PanelHeaderButton--primary\": primary,\n \"PanelHeaderButton--primitive\": isPrimitive,\n \"PanelHeaderButton--notPrimitive\": !isPrimitive && !isPrimitiveLabel,\n })}\n >\n {isPrimitive ? (\n <ButtonTypography primary={primary}>{children}</ButtonTypography>\n ) : (\n children\n )}\n {isPrimitiveLabel ? (\n <ButtonTypography primary={primary}>{label}</ButtonTypography>\n ) : (\n label\n )}\n </Tappable>\n );\n};\n"],"file":"PanelHeaderButton.js"}
@@ -7,7 +7,7 @@ import { getClassName } from "../../helpers/getClassName";
7
7
  import Tappable from "../Tappable/Tappable";
8
8
  import { usePlatform } from "../../hooks/usePlatform";
9
9
  import { hasReactNode } from "../../lib/utils";
10
- import Caption from "../Typography/Caption/Caption";
10
+ import { Caption } from "../Typography/Caption/Caption";
11
11
  import Headline from "../Typography/Headline/Headline";
12
12
  import { IOS, Platform } from "../../lib/platform";
13
13
  import Text from "../Typography/Text/Text";
@@ -62,8 +62,6 @@ var PanelHeaderContent = function PanelHeaderContent(_ref2) {
62
62
  }, before), createScopedElement(InComponent, _extends({}, inProps, {
63
63
  vkuiClass: "PanelHeaderContent__in"
64
64
  }), hasReactNode(status) && createScopedElement(Caption, {
65
- level: "1",
66
- weight: "regular",
67
65
  vkuiClass: "PanelHeaderContent__status"
68
66
  }, status), createScopedElement("div", {
69
67
  vkuiClass: "PanelHeaderContent__children"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PanelHeaderContent/PanelHeaderContent.tsx"],"names":["getClassName","Tappable","usePlatform","hasReactNode","Caption","Headline","IOS","Platform","Text","PanelHeaderChildren","platform","hasStatus","hasBefore","children","VKCOM","PanelHeaderContent","className","style","aside","status","before","onClick","restProps","InComponent","rootProps","inProps","activeEffectDelay","hasActive","activeMode","baseClassNames"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { IOS, Platform } from \"../../lib/platform\";\nimport Text from \"../Typography/Text/Text\";\nimport { HasPlatform } from \"../../types\";\nimport \"./PanelHeaderContent.css\";\n\nexport interface PanelHeaderContentProps\n extends React.HTMLAttributes<HTMLDivElement> {\n aside?: React.ReactNode;\n before?: React.ReactNode;\n status?: React.ReactNode;\n}\n\ninterface PanelHeaderChildrenProps extends HasPlatform {\n hasStatus: boolean;\n hasBefore: boolean;\n}\n\nconst PanelHeaderChildren: React.FC<PanelHeaderChildrenProps> = ({\n platform,\n hasStatus,\n hasBefore,\n children,\n}) => {\n if (platform === Platform.VKCOM) {\n return (\n <Text Component=\"div\" weight=\"medium\">\n {children}\n </Text>\n );\n }\n\n return hasStatus || hasBefore ? (\n <Headline Component=\"div\" weight=\"medium\">\n {children}\n </Headline>\n ) : (\n <div vkuiClass=\"PanelHeaderContent__children-in\">{children}</div>\n );\n};\n\nconst PanelHeaderContent: React.FunctionComponent<PanelHeaderContentProps> = ({\n className,\n style,\n aside,\n status,\n before,\n children,\n onClick,\n ...restProps\n}: PanelHeaderContentProps) => {\n const InComponent = onClick ? Tappable : \"div\";\n const rootProps = onClick ? {} : restProps;\n const platform = usePlatform();\n const inProps = onClick\n ? {\n ...restProps,\n onClick,\n activeEffectDelay: 200,\n hasActive: platform === IOS,\n activeMode: \"opacity\",\n }\n : {};\n const baseClassNames = getClassName(\"PanelHeaderContent\", platform);\n\n return (\n <div\n {...rootProps}\n vkuiClass={baseClassNames}\n style={style}\n className={className}\n >\n {hasReactNode(before) && (\n <div vkuiClass=\"PanelHeaderContent__before\">{before}</div>\n )}\n <InComponent {...inProps} vkuiClass=\"PanelHeaderContent__in\">\n {hasReactNode(status) && (\n <Caption\n level=\"1\"\n weight=\"regular\"\n vkuiClass=\"PanelHeaderContent__status\"\n >\n {status}\n </Caption>\n )}\n <div vkuiClass=\"PanelHeaderContent__children\">\n <PanelHeaderChildren\n platform={platform}\n hasStatus={hasReactNode(status)}\n hasBefore={hasReactNode(before)}\n >\n {children}\n </PanelHeaderChildren>\n {hasReactNode(aside) && (\n <div vkuiClass=\"PanelHeaderContent__aside\">{aside}</div>\n )}\n </div>\n {hasReactNode(before) && <div vkuiClass=\"PanelHeaderContent__width\" />}\n </InComponent>\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default PanelHeaderContent;\n"],"file":"PanelHeaderContent.js"}
1
+ {"version":3,"sources":["../../../src/components/PanelHeaderContent/PanelHeaderContent.tsx"],"names":["getClassName","Tappable","usePlatform","hasReactNode","Caption","Headline","IOS","Platform","Text","PanelHeaderChildren","platform","hasStatus","hasBefore","children","VKCOM","PanelHeaderContent","className","style","aside","status","before","onClick","restProps","InComponent","rootProps","inProps","activeEffectDelay","hasActive","activeMode","baseClassNames"],"mappings":";;;;;AACA,SAASA,YAAT;AACA,OAAOC,QAAP;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,SAASC,OAAT;AACA,OAAOC,QAAP;AACA,SAASC,GAAT,EAAcC,QAAd;AACA,OAAOC,IAAP;;AAgBA,IAAMC,mBAAuD,GAAG,SAA1DA,mBAA0D,OAK1D;AAAA,MAJJC,QAII,QAJJA,QAII;AAAA,MAHJC,SAGI,QAHJA,SAGI;AAAA,MAFJC,SAEI,QAFJA,SAEI;AAAA,MADJC,QACI,QADJA,QACI;;AACJ,MAAIH,QAAQ,KAAKH,QAAQ,CAACO,KAA1B,EAAiC;AAC/B,WACE,oBAAC,IAAD;AAAM,MAAA,SAAS,EAAC,KAAhB;AAAsB,MAAA,MAAM,EAAC;AAA7B,OACGD,QADH,CADF;AAKD;;AAED,SAAOF,SAAS,IAAIC,SAAb,GACL,oBAAC,QAAD;AAAU,IAAA,SAAS,EAAC,KAApB;AAA0B,IAAA,MAAM,EAAC;AAAjC,KACGC,QADH,CADK,GAKL;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkDA,QAAlD,CALF;AAOD,CArBD;;AAuBA,IAAME,kBAAoE,GAAG,SAAvEA,kBAAuE,QAS9C;AAAA,MAR7BC,SAQ6B,SAR7BA,SAQ6B;AAAA,MAP7BC,KAO6B,SAP7BA,KAO6B;AAAA,MAN7BC,KAM6B,SAN7BA,KAM6B;AAAA,MAL7BC,MAK6B,SAL7BA,MAK6B;AAAA,MAJ7BC,MAI6B,SAJ7BA,MAI6B;AAAA,MAH7BP,QAG6B,SAH7BA,QAG6B;AAAA,MAF7BQ,OAE6B,SAF7BA,OAE6B;AAAA,MAD1BC,SAC0B;;AAC7B,MAAMC,WAAW,GAAGF,OAAO,GAAGpB,QAAH,GAAc,KAAzC;AACA,MAAMuB,SAAS,GAAGH,OAAO,GAAG,EAAH,GAAQC,SAAjC;AACA,MAAMZ,QAAQ,GAAGR,WAAW,EAA5B;AACA,MAAMuB,OAAO,GAAGJ,OAAO,mCAEdC,SAFc;AAGjBD,IAAAA,OAAO,EAAPA,OAHiB;AAIjBK,IAAAA,iBAAiB,EAAE,GAJF;AAKjBC,IAAAA,SAAS,EAAEjB,QAAQ,KAAKJ,GALP;AAMjBsB,IAAAA,UAAU,EAAE;AANK,OAQnB,EARJ;AASA,MAAMC,cAAc,GAAG7B,YAAY,CAAC,oBAAD,EAAuBU,QAAvB,CAAnC;AAEA,SACE,wCACMc,SADN;AAEE,IAAA,SAAS,EAAEK,cAFb;AAGE,IAAA,KAAK,EAAEZ,KAHT;AAIE,IAAA,SAAS,EAAED;AAJb,MAMGb,YAAY,CAACiB,MAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA6CA,MAA7C,CAPJ,EASE,oBAAC,WAAD,eAAiBK,OAAjB;AAA0B,IAAA,SAAS,EAAC;AAApC,MACGtB,YAAY,CAACgB,MAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAiDA,MAAjD,CAFJ,EAIE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,mBAAD;AACE,IAAA,QAAQ,EAAET,QADZ;AAEE,IAAA,SAAS,EAAEP,YAAY,CAACgB,MAAD,CAFzB;AAGE,IAAA,SAAS,EAAEhB,YAAY,CAACiB,MAAD;AAHzB,KAKGP,QALH,CADF,EAQGV,YAAY,CAACe,KAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA4CA,KAA5C,CATJ,CAJF,EAgBGf,YAAY,CAACiB,MAAD,CAAZ,IAAwB;AAAK,IAAA,SAAS,EAAC;AAAf,IAhB3B,CATF,CADF;AA8BD,CAtDD,C,CAwDA;;;AACA,eAAeL,kBAAf","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { IOS, Platform } from \"../../lib/platform\";\nimport Text from \"../Typography/Text/Text\";\nimport { HasPlatform } from \"../../types\";\nimport \"./PanelHeaderContent.css\";\n\nexport interface PanelHeaderContentProps\n extends React.HTMLAttributes<HTMLDivElement> {\n aside?: React.ReactNode;\n before?: React.ReactNode;\n status?: React.ReactNode;\n}\n\ninterface PanelHeaderChildrenProps extends HasPlatform {\n hasStatus: boolean;\n hasBefore: boolean;\n}\n\nconst PanelHeaderChildren: React.FC<PanelHeaderChildrenProps> = ({\n platform,\n hasStatus,\n hasBefore,\n children,\n}) => {\n if (platform === Platform.VKCOM) {\n return (\n <Text Component=\"div\" weight=\"medium\">\n {children}\n </Text>\n );\n }\n\n return hasStatus || hasBefore ? (\n <Headline Component=\"div\" weight=\"medium\">\n {children}\n </Headline>\n ) : (\n <div vkuiClass=\"PanelHeaderContent__children-in\">{children}</div>\n );\n};\n\nconst PanelHeaderContent: React.FunctionComponent<PanelHeaderContentProps> = ({\n className,\n style,\n aside,\n status,\n before,\n children,\n onClick,\n ...restProps\n}: PanelHeaderContentProps) => {\n const InComponent = onClick ? Tappable : \"div\";\n const rootProps = onClick ? {} : restProps;\n const platform = usePlatform();\n const inProps = onClick\n ? {\n ...restProps,\n onClick,\n activeEffectDelay: 200,\n hasActive: platform === IOS,\n activeMode: \"opacity\",\n }\n : {};\n const baseClassNames = getClassName(\"PanelHeaderContent\", platform);\n\n return (\n <div\n {...rootProps}\n vkuiClass={baseClassNames}\n style={style}\n className={className}\n >\n {hasReactNode(before) && (\n <div vkuiClass=\"PanelHeaderContent__before\">{before}</div>\n )}\n <InComponent {...inProps} vkuiClass=\"PanelHeaderContent__in\">\n {hasReactNode(status) && (\n <Caption vkuiClass=\"PanelHeaderContent__status\">{status}</Caption>\n )}\n <div vkuiClass=\"PanelHeaderContent__children\">\n <PanelHeaderChildren\n platform={platform}\n hasStatus={hasReactNode(status)}\n hasBefore={hasReactNode(before)}\n >\n {children}\n </PanelHeaderChildren>\n {hasReactNode(aside) && (\n <div vkuiClass=\"PanelHeaderContent__aside\">{aside}</div>\n )}\n </div>\n {hasReactNode(before) && <div vkuiClass=\"PanelHeaderContent__width\" />}\n </InComponent>\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default PanelHeaderContent;\n"],"file":"PanelHeaderContent.js"}
@@ -57,6 +57,7 @@ export var PanelHeaderContext = function PanelHeaderContext(_ref) {
57
57
  return closing ? animationFallback.set() : animationFallback.clear();
58
58
  }, [animationFallback, closing]);
59
59
  return createScopedElement(FixedLayout, _extends({}, restProps, {
60
+ // eslint-disable-next-line vkui/no-object-expression-in-arguments
60
61
  vkuiClass: classNames(getClassName("PanelHeaderContext", platform), {
61
62
  "PanelHeaderContext--opened": opened,
62
63
  "PanelHeaderContext--closing": closing,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PanelHeaderContext/PanelHeaderContext.tsx"],"names":["React","FixedLayout","classNames","getClassName","ViewWidth","useAdaptivity","useDOM","useIsomorphicLayoutEffect","useGlobalEventListener","useTimeout","usePlatform","PanelHeaderContext","children","onClose","opened","restProps","document","platform","useState","visible","setVisible","closing","viewWidth","isDesktop","SMALL_TABLET","elementRef","useRef","event","current","contains","target","onAnimationEnd","animationFallback","useEffect","set","clear","undefined"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,WAAP;AACA,SAASC,UAAT;AACA,SAASC,YAAT;AACA,SAASC,SAAT;AACA,SAASC,aAAT;AACA,SAASC,MAAT;AACA,SAASC,yBAAT;AACA,SAASC,sBAAT;AACA,SAASC,UAAT;AACA,SAASC,WAAT;AASA,OAAO,IAAMC,kBAAqD,GAAG,SAAxDA,kBAAwD,OAK/D;AAAA,MAJJC,QAII,QAJJA,QAII;AAAA,MAHJC,OAGI,QAHJA,OAGI;AAAA,yBAFJC,MAEI;AAAA,MAFJA,MAEI,4BAFK,KAEL;AAAA,MADDC,SACC;;AACJ,gBAAqBT,MAAM,EAA3B;AAAA,MAAQU,QAAR,WAAQA,QAAR;;AACA,MAAMC,QAAQ,GAAGP,WAAW,EAA5B;;AACA,wBAA8BV,KAAK,CAACkB,QAAN,CAAeJ,MAAf,CAA9B;AAAA;AAAA,MAAOK,OAAP;AAAA,MAAgBC,UAAhB;;AACA,MAAMC,OAAO,GAAGF,OAAO,IAAI,CAACL,MAA5B;;AACA,uBAAsBT,aAAa,EAAnC;AAAA,MAAQiB,SAAR,kBAAQA,SAAR;;AACA,MAAMC,SAAS,GAAGD,SAAS,IAAIlB,SAAS,CAACoB,YAAzC;AACA,MAAMC,UAAU,GAAGzB,KAAK,CAAC0B,MAAN,CAA6B,IAA7B,CAAnB;AAEAnB,EAAAA,yBAAyB,CAAC,YAAM;AAC9BO,IAAAA,MAAM,IAAIM,UAAU,CAAC,IAAD,CAApB;AACD,GAFwB,EAEtB,CAACN,MAAD,CAFsB,CAAzB,CATI,CAaJ;;AACAN,EAAAA,sBAAsB,CACpBQ,QADoB,EAEpB,OAFoB,EAGpBO,SAAS,IACPT,MADF,IAEE,CAACO,OAFH,IAGG,UAACM,KAAD,EAAW;AACV,QACEF,UAAU,CAACG,OAAX,IACA,CAACH,UAAU,CAACG,OAAX,CAAmBC,QAAnB,CAA4BF,KAAK,CAACG,MAAlC,CAFH,EAGE;AACAjB,MAAAA,OAAO;AACR;AACF,GAbiB,CAAtB,CAdI,CA8BJ;;AACA,MAAMkB,cAAc,GAAG,SAAjBA,cAAiB;AAAA,WAAMX,UAAU,CAAC,KAAD,CAAhB;AAAA,GAAvB;;AACA,MAAMY,iBAAiB,GAAGvB,UAAU,CAACsB,cAAD,EAAiB,GAAjB,CAApC;AACA/B,EAAAA,KAAK,CAACiC,SAAN,CACE;AAAA,WAAOZ,OAAO,GAAGW,iBAAiB,CAACE,GAAlB,EAAH,GAA6BF,iBAAiB,CAACG,KAAlB,EAA3C;AAAA,GADF,EAEE,CAACH,iBAAD,EAAoBX,OAApB,CAFF;AAKA,SACE,oBAAC,WAAD,eACMN,SADN;AAEE,IAAA,SAAS,EAAEb,UAAU,CAACC,YAAY,CAAC,oBAAD,EAAuBc,QAAvB,CAAb,EAA+C;AAClE,oCAA8BH,MADoC;AAElE,qCAA+BO,OAFmC;AAGlE,qCAA+BE;AAHmC,KAA/C,CAFvB;AAOE,IAAA,QAAQ,EAAC;AAPX,MASE;AACE,IAAA,SAAS,EAAC,wBADZ;AAEE,IAAA,GAAG,EAAEE,UAFP;AAGE,IAAA,cAAc,EAAEJ,OAAO,GAAGU,cAAH,GAAoBK;AAH7C,KAKE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA8CjB,OAAO,IAAIP,QAAzD,CALF,CATF,EAgBG,CAACW,SAAD,IAAcJ,OAAd,IACC;AAAK,IAAA,OAAO,EAAEN,OAAd;AAAuB,IAAA,SAAS,EAAC;AAAjC,IAjBJ,CADF;AAsBD,CAjEM","sourcesContent":["import * as React from \"react\";\nimport FixedLayout from \"../FixedLayout/FixedLayout\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { ViewWidth } from \"../AdaptivityProvider/AdaptivityContext\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./PanelHeaderContext.css\";\n\nexport interface PanelHeaderContextProps\n extends React.HTMLAttributes<HTMLDivElement> {\n opened: boolean;\n onClose: VoidFunction;\n}\n\nexport const PanelHeaderContext: React.FC<PanelHeaderContextProps> = ({\n children,\n onClose,\n opened = false,\n ...restProps\n}) => {\n const { document } = useDOM();\n const platform = usePlatform();\n const [visible, setVisible] = React.useState(opened);\n const closing = visible && !opened;\n const { viewWidth } = useAdaptivity();\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n const elementRef = React.useRef<HTMLDivElement>(null);\n\n useIsomorphicLayoutEffect(() => {\n opened && setVisible(true);\n }, [opened]);\n\n // start closing on outer click\n useGlobalEventListener(\n document,\n \"click\",\n isDesktop &&\n opened &&\n !closing &&\n ((event) => {\n if (\n elementRef.current &&\n !elementRef.current.contains(event.target as Node)\n ) {\n onClose();\n }\n })\n );\n\n // fallback onAnimationEnd when animationend not supported\n const onAnimationEnd = () => setVisible(false);\n const animationFallback = useTimeout(onAnimationEnd, 200);\n React.useEffect(\n () => (closing ? animationFallback.set() : animationFallback.clear()),\n [animationFallback, closing]\n );\n\n return (\n <FixedLayout\n {...restProps}\n vkuiClass={classNames(getClassName(\"PanelHeaderContext\", platform), {\n \"PanelHeaderContext--opened\": opened,\n \"PanelHeaderContext--closing\": closing,\n \"PanelHeaderContext--desktop\": isDesktop,\n })}\n vertical=\"top\"\n >\n <div\n vkuiClass=\"PanelHeaderContext__in\"\n ref={elementRef}\n onAnimationEnd={closing ? onAnimationEnd : undefined}\n >\n <div vkuiClass=\"PanelHeaderContext__content\">{visible && children}</div>\n </div>\n {!isDesktop && visible && (\n <div onClick={onClose} vkuiClass=\"PanelHeaderContext__fade\" />\n )}\n </FixedLayout>\n );\n};\n"],"file":"PanelHeaderContext.js"}
1
+ {"version":3,"sources":["../../../src/components/PanelHeaderContext/PanelHeaderContext.tsx"],"names":["React","FixedLayout","classNames","getClassName","ViewWidth","useAdaptivity","useDOM","useIsomorphicLayoutEffect","useGlobalEventListener","useTimeout","usePlatform","PanelHeaderContext","children","onClose","opened","restProps","document","platform","useState","visible","setVisible","closing","viewWidth","isDesktop","SMALL_TABLET","elementRef","useRef","event","current","contains","target","onAnimationEnd","animationFallback","useEffect","set","clear","undefined"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,WAAP;AACA,SAASC,UAAT;AACA,SAASC,YAAT;AACA,SAASC,SAAT;AACA,SAASC,aAAT;AACA,SAASC,MAAT;AACA,SAASC,yBAAT;AACA,SAASC,sBAAT;AACA,SAASC,UAAT;AACA,SAASC,WAAT;AASA,OAAO,IAAMC,kBAAqD,GAAG,SAAxDA,kBAAwD,OAK/D;AAAA,MAJJC,QAII,QAJJA,QAII;AAAA,MAHJC,OAGI,QAHJA,OAGI;AAAA,yBAFJC,MAEI;AAAA,MAFJA,MAEI,4BAFK,KAEL;AAAA,MADDC,SACC;;AACJ,gBAAqBT,MAAM,EAA3B;AAAA,MAAQU,QAAR,WAAQA,QAAR;;AACA,MAAMC,QAAQ,GAAGP,WAAW,EAA5B;;AACA,wBAA8BV,KAAK,CAACkB,QAAN,CAAeJ,MAAf,CAA9B;AAAA;AAAA,MAAOK,OAAP;AAAA,MAAgBC,UAAhB;;AACA,MAAMC,OAAO,GAAGF,OAAO,IAAI,CAACL,MAA5B;;AACA,uBAAsBT,aAAa,EAAnC;AAAA,MAAQiB,SAAR,kBAAQA,SAAR;;AACA,MAAMC,SAAS,GAAGD,SAAS,IAAIlB,SAAS,CAACoB,YAAzC;AACA,MAAMC,UAAU,GAAGzB,KAAK,CAAC0B,MAAN,CAA6B,IAA7B,CAAnB;AAEAnB,EAAAA,yBAAyB,CAAC,YAAM;AAC9BO,IAAAA,MAAM,IAAIM,UAAU,CAAC,IAAD,CAApB;AACD,GAFwB,EAEtB,CAACN,MAAD,CAFsB,CAAzB,CATI,CAaJ;;AACAN,EAAAA,sBAAsB,CACpBQ,QADoB,EAEpB,OAFoB,EAGpBO,SAAS,IACPT,MADF,IAEE,CAACO,OAFH,IAGG,UAACM,KAAD,EAAW;AACV,QACEF,UAAU,CAACG,OAAX,IACA,CAACH,UAAU,CAACG,OAAX,CAAmBC,QAAnB,CAA4BF,KAAK,CAACG,MAAlC,CAFH,EAGE;AACAjB,MAAAA,OAAO;AACR;AACF,GAbiB,CAAtB,CAdI,CA8BJ;;AACA,MAAMkB,cAAc,GAAG,SAAjBA,cAAiB;AAAA,WAAMX,UAAU,CAAC,KAAD,CAAhB;AAAA,GAAvB;;AACA,MAAMY,iBAAiB,GAAGvB,UAAU,CAACsB,cAAD,EAAiB,GAAjB,CAApC;AACA/B,EAAAA,KAAK,CAACiC,SAAN,CACE;AAAA,WAAOZ,OAAO,GAAGW,iBAAiB,CAACE,GAAlB,EAAH,GAA6BF,iBAAiB,CAACG,KAAlB,EAA3C;AAAA,GADF,EAEE,CAACH,iBAAD,EAAoBX,OAApB,CAFF;AAKA,SACE,oBAAC,WAAD,eACMN,SADN;AAEE;AACA,IAAA,SAAS,EAAEb,UAAU,CAACC,YAAY,CAAC,oBAAD,EAAuBc,QAAvB,CAAb,EAA+C;AAClE,oCAA8BH,MADoC;AAElE,qCAA+BO,OAFmC;AAGlE,qCAA+BE;AAHmC,KAA/C,CAHvB;AAQE,IAAA,QAAQ,EAAC;AARX,MAUE;AACE,IAAA,SAAS,EAAC,wBADZ;AAEE,IAAA,GAAG,EAAEE,UAFP;AAGE,IAAA,cAAc,EAAEJ,OAAO,GAAGU,cAAH,GAAoBK;AAH7C,KAKE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA8CjB,OAAO,IAAIP,QAAzD,CALF,CAVF,EAiBG,CAACW,SAAD,IAAcJ,OAAd,IACC;AAAK,IAAA,OAAO,EAAEN,OAAd;AAAuB,IAAA,SAAS,EAAC;AAAjC,IAlBJ,CADF;AAuBD,CAlEM","sourcesContent":["import * as React from \"react\";\nimport FixedLayout from \"../FixedLayout/FixedLayout\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { ViewWidth } from \"../AdaptivityProvider/AdaptivityContext\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./PanelHeaderContext.css\";\n\nexport interface PanelHeaderContextProps\n extends React.HTMLAttributes<HTMLDivElement> {\n opened: boolean;\n onClose: VoidFunction;\n}\n\nexport const PanelHeaderContext: React.FC<PanelHeaderContextProps> = ({\n children,\n onClose,\n opened = false,\n ...restProps\n}) => {\n const { document } = useDOM();\n const platform = usePlatform();\n const [visible, setVisible] = React.useState(opened);\n const closing = visible && !opened;\n const { viewWidth } = useAdaptivity();\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n const elementRef = React.useRef<HTMLDivElement>(null);\n\n useIsomorphicLayoutEffect(() => {\n opened && setVisible(true);\n }, [opened]);\n\n // start closing on outer click\n useGlobalEventListener(\n document,\n \"click\",\n isDesktop &&\n opened &&\n !closing &&\n ((event) => {\n if (\n elementRef.current &&\n !elementRef.current.contains(event.target as Node)\n ) {\n onClose();\n }\n })\n );\n\n // fallback onAnimationEnd when animationend not supported\n const onAnimationEnd = () => setVisible(false);\n const animationFallback = useTimeout(onAnimationEnd, 200);\n React.useEffect(\n () => (closing ? animationFallback.set() : animationFallback.clear()),\n [animationFallback, closing]\n );\n\n return (\n <FixedLayout\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"PanelHeaderContext\", platform), {\n \"PanelHeaderContext--opened\": opened,\n \"PanelHeaderContext--closing\": closing,\n \"PanelHeaderContext--desktop\": isDesktop,\n })}\n vertical=\"top\"\n >\n <div\n vkuiClass=\"PanelHeaderContext__in\"\n ref={elementRef}\n onAnimationEnd={closing ? onAnimationEnd : undefined}\n >\n <div vkuiClass=\"PanelHeaderContext__content\">{visible && children}</div>\n </div>\n {!isDesktop && visible && (\n <div onClick={onClose} vkuiClass=\"PanelHeaderContext__fade\" />\n )}\n </FixedLayout>\n );\n};\n"],"file":"PanelHeaderContext.js"}
@@ -4,7 +4,7 @@ var _excluded = ["icon", "header", "action", "children", "stretched", "getRootRe
4
4
  import { createScopedElement } from "../../lib/jsxRuntime";
5
5
  import { classNames } from "../../lib/classNames";
6
6
  import { hasReactNode } from "../../lib/utils";
7
- import Title from "../Typography/Title/Title";
7
+ import { Title } from "../Typography/Title/Title";
8
8
  import Headline from "../Typography/Headline/Headline";
9
9
 
10
10
  var Placeholder = function Placeholder(props) {
@@ -17,7 +17,8 @@ var Placeholder = function Placeholder(props) {
17
17
  restProps = _objectWithoutProperties(props, _excluded);
18
18
 
19
19
  return createScopedElement("div", _extends({}, restProps, {
20
- ref: getRootRef,
20
+ ref: getRootRef // eslint-disable-next-line vkui/no-object-expression-in-arguments
21
+ ,
21
22
  vkuiClass: classNames("Placeholder", {
22
23
  "Placeholder--stretched": stretched
23
24
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Placeholder/Placeholder.tsx"],"names":["classNames","hasReactNode","Title","Headline","Placeholder","props","icon","header","action","children","stretched","getRootRef","restProps"],"mappings":";;;;AACA,SAASA,UAAT;AACA,SAASC,YAAT;AACA,OAAOC,KAAP;AACA,OAAOC,QAAP;;AAyBA,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,CAACC,KAAD,EAA6B;AAC3E,MACEC,IADF,GAQID,KARJ,CACEC,IADF;AAAA,MAEEC,MAFF,GAQIF,KARJ,CAEEE,MAFF;AAAA,MAGEC,MAHF,GAQIH,KARJ,CAGEG,MAHF;AAAA,MAIEC,QAJF,GAQIJ,KARJ,CAIEI,QAJF;AAAA,MAKEC,SALF,GAQIL,KARJ,CAKEK,SALF;AAAA,MAMEC,UANF,GAQIN,KARJ,CAMEM,UANF;AAAA,MAOKC,SAPL,4BAQIP,KARJ;;AAUA,SACE,wCACMO,SADN;AAEE,IAAA,GAAG,EAAED,UAFP;AAGE,IAAA,SAAS,EAAEX,UAAU,CAAC,aAAD,EAAgB;AACnC,gCAA0BU;AADS,KAAhB;AAHvB,MAOE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGT,YAAY,CAACK,IAAD,CAAZ,IAAsB;AAAK,IAAA,SAAS,EAAC;AAAf,KAAoCA,IAApC,CADzB,EAEGL,YAAY,CAACM,MAAD,CAAZ,IACC,oBAAC,KAAD;AAAO,IAAA,KAAK,EAAC,GAAb;AAAiB,IAAA,MAAM,EAAC,GAAxB;AAA4B,IAAA,SAAS,EAAC;AAAtC,KACGA,MADH,CAHJ,EAOGN,YAAY,CAACQ,QAAD,CAAZ,IACC,oBAAC,QAAD;AAAU,IAAA,MAAM,EAAC,SAAjB;AAA2B,IAAA,SAAS,EAAC;AAArC,KACGA,QADH,CARJ,EAYGR,YAAY,CAACO,MAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCA,MAAtC,CAbJ,CAPF,CADF;AA0BD,CArCD,C,CAuCA;;;AACA,eAAeJ,WAAf","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Title from \"../Typography/Title/Title\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { HasRootRef } from \"../../types\";\nimport \"./Placeholder.css\";\n\nexport interface PlaceholderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * Иконка\n */\n icon?: React.ReactNode;\n /**\n * Заголовок плейсхолдера\n */\n header?: React.ReactNode;\n /**\n * Кнопка действия\n */\n action?: React.ReactNode;\n /**\n * Растягивает плейсхолдер на весь экран, но в таком случае на экране должен быть только плейсхолдер\n */\n stretched?: boolean;\n}\n\nconst Placeholder: React.FC<PlaceholderProps> = (props: PlaceholderProps) => {\n const {\n icon,\n header,\n action,\n children,\n stretched,\n getRootRef,\n ...restProps\n } = props;\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\"Placeholder\", {\n \"Placeholder--stretched\": stretched,\n })}\n >\n <div vkuiClass=\"Placeholder__in\">\n {hasReactNode(icon) && <div vkuiClass=\"Placeholder__icon\">{icon}</div>}\n {hasReactNode(header) && (\n <Title level=\"2\" weight=\"2\" vkuiClass=\"Placeholder__header\">\n {header}\n </Title>\n )}\n {hasReactNode(children) && (\n <Headline weight=\"regular\" vkuiClass=\"Placeholder__text\">\n {children}\n </Headline>\n )}\n {hasReactNode(action) && (\n <div vkuiClass=\"Placeholder__action\">{action}</div>\n )}\n </div>\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Placeholder;\n"],"file":"Placeholder.js"}
1
+ {"version":3,"sources":["../../../src/components/Placeholder/Placeholder.tsx"],"names":["classNames","hasReactNode","Title","Headline","Placeholder","props","icon","header","action","children","stretched","getRootRef","restProps"],"mappings":";;;;AACA,SAASA,UAAT;AACA,SAASC,YAAT;AACA,SAASC,KAAT;AACA,OAAOC,QAAP;;AAyBA,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,CAACC,KAAD,EAA6B;AAC3E,MACEC,IADF,GAQID,KARJ,CACEC,IADF;AAAA,MAEEC,MAFF,GAQIF,KARJ,CAEEE,MAFF;AAAA,MAGEC,MAHF,GAQIH,KARJ,CAGEG,MAHF;AAAA,MAIEC,QAJF,GAQIJ,KARJ,CAIEI,QAJF;AAAA,MAKEC,SALF,GAQIL,KARJ,CAKEK,SALF;AAAA,MAMEC,UANF,GAQIN,KARJ,CAMEM,UANF;AAAA,MAOKC,SAPL,4BAQIP,KARJ;;AAUA,SACE,wCACMO,SADN;AAEE,IAAA,GAAG,EAAED,UAFP,CAGE;AAHF;AAIE,IAAA,SAAS,EAAEX,UAAU,CAAC,aAAD,EAAgB;AACnC,gCAA0BU;AADS,KAAhB;AAJvB,MAQE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGT,YAAY,CAACK,IAAD,CAAZ,IAAsB;AAAK,IAAA,SAAS,EAAC;AAAf,KAAoCA,IAApC,CADzB,EAEGL,YAAY,CAACM,MAAD,CAAZ,IACC,oBAAC,KAAD;AAAO,IAAA,KAAK,EAAC,GAAb;AAAiB,IAAA,MAAM,EAAC,GAAxB;AAA4B,IAAA,SAAS,EAAC;AAAtC,KACGA,MADH,CAHJ,EAOGN,YAAY,CAACQ,QAAD,CAAZ,IACC,oBAAC,QAAD;AAAU,IAAA,MAAM,EAAC,SAAjB;AAA2B,IAAA,SAAS,EAAC;AAArC,KACGA,QADH,CARJ,EAYGR,YAAY,CAACO,MAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCA,MAAtC,CAbJ,CARF,CADF;AA2BD,CAtCD,C,CAwCA;;;AACA,eAAeJ,WAAf","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Title } from \"../Typography/Title/Title\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { HasRootRef } from \"../../types\";\nimport \"./Placeholder.css\";\n\nexport interface PlaceholderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * Иконка\n */\n icon?: React.ReactNode;\n /**\n * Заголовок плейсхолдера\n */\n header?: React.ReactNode;\n /**\n * Кнопка действия\n */\n action?: React.ReactNode;\n /**\n * Растягивает плейсхолдер на весь экран, но в таком случае на экране должен быть только плейсхолдер\n */\n stretched?: boolean;\n}\n\nconst Placeholder: React.FC<PlaceholderProps> = (props: PlaceholderProps) => {\n const {\n icon,\n header,\n action,\n children,\n stretched,\n getRootRef,\n ...restProps\n } = props;\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"Placeholder\", {\n \"Placeholder--stretched\": stretched,\n })}\n >\n <div vkuiClass=\"Placeholder__in\">\n {hasReactNode(icon) && <div vkuiClass=\"Placeholder__icon\">{icon}</div>}\n {hasReactNode(header) && (\n <Title level=\"2\" weight=\"2\" vkuiClass=\"Placeholder__header\">\n {header}\n </Title>\n )}\n {hasReactNode(children) && (\n <Headline weight=\"regular\" vkuiClass=\"Placeholder__text\">\n {children}\n </Headline>\n )}\n {hasReactNode(action) && (\n <div vkuiClass=\"Placeholder__action\">{action}</div>\n )}\n </div>\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Placeholder;\n"],"file":"Placeholder.js"}
@@ -56,6 +56,7 @@ export var PopoutWrapper = function PopoutWrapper(_ref) {
56
56
  });
57
57
  var baseClassNames = getClassName("PopoutWrapper", platform);
58
58
  return createScopedElement("div", _extends({}, restProps, {
59
+ // eslint-disable-next-line vkui/no-object-expression-in-arguments
59
60
  vkuiClass: classNames(baseClassNames, "PopoutWrapper--v-".concat(alignY), "PopoutWrapper--h-".concat(alignX), {
60
61
  "PopoutWrapper--closing": closing,
61
62
  "PopoutWrapper--opened": opened,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PopoutWrapper/PopoutWrapper.tsx"],"names":["React","getClassName","classNames","IOS","useTimeout","usePlatform","useGlobalEventListener","useDOM","PopoutWrapper","alignY","alignX","closing","hasMask","fixed","children","onClick","restProps","platform","useState","opened","setOpened","elRef","useRef","onFadeInEnd","e","animationName","animationFinishFallback","useEffect","set","window","preventDefault","passive","baseClassNames","undefined"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,GAAT;AACA,SAASC,UAAT;AACA,SAASC,WAAT;AACA,SAASC,sBAAT;AACA,SAASC,MAAT;AAYA,OAAO,IAAMC,aAA2C,GAAG,SAA9CA,aAA8C,OASjC;AAAA,yBARxBC,MAQwB;AAAA,MARxBA,MAQwB,4BARf,QAQe;AAAA,yBAPxBC,MAOwB;AAAA,MAPxBA,MAOwB,4BAPf,QAOe;AAAA,0BANxBC,OAMwB;AAAA,MANxBA,OAMwB,6BANd,KAMc;AAAA,0BALxBC,OAKwB;AAAA,MALxBA,OAKwB,6BALd,IAKc;AAAA,wBAJxBC,KAIwB;AAAA,MAJxBA,KAIwB,2BAJhB,IAIgB;AAAA,MAHxBC,QAGwB,QAHxBA,QAGwB;AAAA,MAFxBC,OAEwB,QAFxBA,OAEwB;AAAA,MADrBC,SACqB;;AACxB,MAAMC,QAAQ,GAAGZ,WAAW,EAA5B;;AACA,wBAA4BL,KAAK,CAACkB,QAAN,CAAe,CAACN,OAAhB,CAA5B;AAAA;AAAA,MAAOO,MAAP;AAAA,MAAeC,SAAf;;AACA,MAAMC,KAAK,GAAGrB,KAAK,CAACsB,MAAN,CAA6B,IAA7B,CAAd;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAA8B;AAChD,QAAI,CAACA,CAAD,IAAMA,CAAC,CAACC,aAAF,KAAoB,6BAA9B,EAA6D;AAC3DL,MAAAA,SAAS,CAAC,IAAD,CAAT;AACD;AACF,GAJD;;AAKA,MAAMM,uBAAuB,GAAGtB,UAAU,CACxCmB,WADwC,EAExCN,QAAQ,KAAKd,GAAb,GAAmB,GAAnB,GAAyB,GAFe,CAA1C;AAIAH,EAAAA,KAAK,CAAC2B,SAAN,CAAgB,YAAM;AACpB,KAACR,MAAD,IAAWO,uBAAuB,CAACE,GAAxB,EAAX;AACD,GAFD,EAEG,CAACF,uBAAD,EAA0BP,MAA1B,CAFH;;AAIA,gBAAmBZ,MAAM,EAAzB;AAAA,MAAQsB,MAAR,WAAQA,MAAR;;AACAvB,EAAAA,sBAAsB,CAACuB,MAAD,EAAS,WAAT,EAAsB,UAACL,CAAD;AAAA,WAAOA,CAAC,CAACM,cAAF,EAAP;AAAA,GAAtB,EAAiD;AACrEC,IAAAA,OAAO,EAAE;AAD4D,GAAjD,CAAtB;AAIA,MAAMC,cAAc,GAAG/B,YAAY,CAAC,eAAD,EAAkBgB,QAAlB,CAAnC;AAEA,SACE,wCACMD,SADN;AAEE,IAAA,SAAS,EAAEd,UAAU,CACnB8B,cADmB,6BAECvB,MAFD,8BAGCC,MAHD,GAInB;AACE,gCAA0BC,OAD5B;AAEE,+BAAyBQ,MAF3B;AAGE,8BAAwBN,KAH1B;AAIE,+BAAyBD;AAJ3B,KAJmB,CAFvB;AAaE,IAAA,cAAc,EAAEO,MAAM,GAAGc,SAAH,GAAeV,WAbvC;AAcE,IAAA,GAAG,EAAEF;AAdP,MAgBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC,wBAAf;AAAwC,IAAA,OAAO,EAAEN;AAAjD,IADF,EAEE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAyCD,QAAzC,CAFF,CAhBF,CADF;AAuBD,CAzDM","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS } from \"../../lib/platform\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { useDOM } from \"../../lib/dom\";\nimport \"./PopoutWrapper.css\";\n\nexport interface PopoutWrapperProps\n extends React.HTMLAttributes<HTMLDivElement> {\n hasMask?: boolean;\n fixed?: boolean;\n alignY?: \"top\" | \"center\" | \"bottom\";\n alignX?: \"left\" | \"center\" | \"right\";\n closing?: boolean;\n}\n\nexport const PopoutWrapper: React.FC<PopoutWrapperProps> = ({\n alignY = \"center\",\n alignX = \"center\",\n closing = false,\n hasMask = true,\n fixed = true,\n children,\n onClick,\n ...restProps\n}: PopoutWrapperProps) => {\n const platform = usePlatform();\n const [opened, setOpened] = React.useState(!hasMask);\n const elRef = React.useRef<HTMLDivElement>(null);\n\n const onFadeInEnd = (e?: React.AnimationEvent) => {\n if (!e || e.animationName === \"vkui-animation-full-fade-in\") {\n setOpened(true);\n }\n };\n const animationFinishFallback = useTimeout(\n onFadeInEnd,\n platform === IOS ? 300 : 200\n );\n React.useEffect(() => {\n !opened && animationFinishFallback.set();\n }, [animationFinishFallback, opened]);\n\n const { window } = useDOM();\n useGlobalEventListener(window, \"touchmove\", (e) => e.preventDefault(), {\n passive: false,\n });\n\n const baseClassNames = getClassName(\"PopoutWrapper\", platform);\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n baseClassNames,\n `PopoutWrapper--v-${alignY}`,\n `PopoutWrapper--h-${alignX}`,\n {\n \"PopoutWrapper--closing\": closing,\n \"PopoutWrapper--opened\": opened,\n \"PopoutWrapper--fixed\": fixed,\n \"PopoutWrapper--masked\": hasMask,\n }\n )}\n onAnimationEnd={opened ? undefined : onFadeInEnd}\n ref={elRef}\n >\n <div vkuiClass=\"PopoutWrapper__container\">\n <div vkuiClass=\"PopoutWrapper__overlay\" onClick={onClick} />\n <div vkuiClass=\"PopoutWrapper__content\">{children}</div>\n </div>\n </div>\n );\n};\n"],"file":"PopoutWrapper.js"}
1
+ {"version":3,"sources":["../../../src/components/PopoutWrapper/PopoutWrapper.tsx"],"names":["React","getClassName","classNames","IOS","useTimeout","usePlatform","useGlobalEventListener","useDOM","PopoutWrapper","alignY","alignX","closing","hasMask","fixed","children","onClick","restProps","platform","useState","opened","setOpened","elRef","useRef","onFadeInEnd","e","animationName","animationFinishFallback","useEffect","set","window","preventDefault","passive","baseClassNames","undefined"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,GAAT;AACA,SAASC,UAAT;AACA,SAASC,WAAT;AACA,SAASC,sBAAT;AACA,SAASC,MAAT;AAYA,OAAO,IAAMC,aAA2C,GAAG,SAA9CA,aAA8C,OASjC;AAAA,yBARxBC,MAQwB;AAAA,MARxBA,MAQwB,4BARf,QAQe;AAAA,yBAPxBC,MAOwB;AAAA,MAPxBA,MAOwB,4BAPf,QAOe;AAAA,0BANxBC,OAMwB;AAAA,MANxBA,OAMwB,6BANd,KAMc;AAAA,0BALxBC,OAKwB;AAAA,MALxBA,OAKwB,6BALd,IAKc;AAAA,wBAJxBC,KAIwB;AAAA,MAJxBA,KAIwB,2BAJhB,IAIgB;AAAA,MAHxBC,QAGwB,QAHxBA,QAGwB;AAAA,MAFxBC,OAEwB,QAFxBA,OAEwB;AAAA,MADrBC,SACqB;;AACxB,MAAMC,QAAQ,GAAGZ,WAAW,EAA5B;;AACA,wBAA4BL,KAAK,CAACkB,QAAN,CAAe,CAACN,OAAhB,CAA5B;AAAA;AAAA,MAAOO,MAAP;AAAA,MAAeC,SAAf;;AACA,MAAMC,KAAK,GAAGrB,KAAK,CAACsB,MAAN,CAA6B,IAA7B,CAAd;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAA8B;AAChD,QAAI,CAACA,CAAD,IAAMA,CAAC,CAACC,aAAF,KAAoB,6BAA9B,EAA6D;AAC3DL,MAAAA,SAAS,CAAC,IAAD,CAAT;AACD;AACF,GAJD;;AAKA,MAAMM,uBAAuB,GAAGtB,UAAU,CACxCmB,WADwC,EAExCN,QAAQ,KAAKd,GAAb,GAAmB,GAAnB,GAAyB,GAFe,CAA1C;AAIAH,EAAAA,KAAK,CAAC2B,SAAN,CAAgB,YAAM;AACpB,KAACR,MAAD,IAAWO,uBAAuB,CAACE,GAAxB,EAAX;AACD,GAFD,EAEG,CAACF,uBAAD,EAA0BP,MAA1B,CAFH;;AAIA,gBAAmBZ,MAAM,EAAzB;AAAA,MAAQsB,MAAR,WAAQA,MAAR;;AACAvB,EAAAA,sBAAsB,CAACuB,MAAD,EAAS,WAAT,EAAsB,UAACL,CAAD;AAAA,WAAOA,CAAC,CAACM,cAAF,EAAP;AAAA,GAAtB,EAAiD;AACrEC,IAAAA,OAAO,EAAE;AAD4D,GAAjD,CAAtB;AAIA,MAAMC,cAAc,GAAG/B,YAAY,CAAC,eAAD,EAAkBgB,QAAlB,CAAnC;AAEA,SACE,wCACMD,SADN;AAEE;AACA,IAAA,SAAS,EAAEd,UAAU,CACnB8B,cADmB,6BAECvB,MAFD,8BAGCC,MAHD,GAInB;AACE,gCAA0BC,OAD5B;AAEE,+BAAyBQ,MAF3B;AAGE,8BAAwBN,KAH1B;AAIE,+BAAyBD;AAJ3B,KAJmB,CAHvB;AAcE,IAAA,cAAc,EAAEO,MAAM,GAAGc,SAAH,GAAeV,WAdvC;AAeE,IAAA,GAAG,EAAEF;AAfP,MAiBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC,wBAAf;AAAwC,IAAA,OAAO,EAAEN;AAAjD,IADF,EAEE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAyCD,QAAzC,CAFF,CAjBF,CADF;AAwBD,CA1DM","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS } from \"../../lib/platform\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { useDOM } from \"../../lib/dom\";\nimport \"./PopoutWrapper.css\";\n\nexport interface PopoutWrapperProps\n extends React.HTMLAttributes<HTMLDivElement> {\n hasMask?: boolean;\n fixed?: boolean;\n alignY?: \"top\" | \"center\" | \"bottom\";\n alignX?: \"left\" | \"center\" | \"right\";\n closing?: boolean;\n}\n\nexport const PopoutWrapper: React.FC<PopoutWrapperProps> = ({\n alignY = \"center\",\n alignX = \"center\",\n closing = false,\n hasMask = true,\n fixed = true,\n children,\n onClick,\n ...restProps\n}: PopoutWrapperProps) => {\n const platform = usePlatform();\n const [opened, setOpened] = React.useState(!hasMask);\n const elRef = React.useRef<HTMLDivElement>(null);\n\n const onFadeInEnd = (e?: React.AnimationEvent) => {\n if (!e || e.animationName === \"vkui-animation-full-fade-in\") {\n setOpened(true);\n }\n };\n const animationFinishFallback = useTimeout(\n onFadeInEnd,\n platform === IOS ? 300 : 200\n );\n React.useEffect(() => {\n !opened && animationFinishFallback.set();\n }, [animationFinishFallback, opened]);\n\n const { window } = useDOM();\n useGlobalEventListener(window, \"touchmove\", (e) => e.preventDefault(), {\n passive: false,\n });\n\n const baseClassNames = getClassName(\"PopoutWrapper\", platform);\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n baseClassNames,\n `PopoutWrapper--v-${alignY}`,\n `PopoutWrapper--h-${alignX}`,\n {\n \"PopoutWrapper--closing\": closing,\n \"PopoutWrapper--opened\": opened,\n \"PopoutWrapper--fixed\": fixed,\n \"PopoutWrapper--masked\": hasMask,\n }\n )}\n onAnimationEnd={opened ? undefined : onFadeInEnd}\n ref={elRef}\n >\n <div vkuiClass=\"PopoutWrapper__container\">\n <div vkuiClass=\"PopoutWrapper__overlay\" onClick={onClick} />\n <div vkuiClass=\"PopoutWrapper__content\">{children}</div>\n </div>\n </div>\n );\n};\n"],"file":"PopoutWrapper.js"}
@@ -98,8 +98,8 @@ export var Popper = function Popper(_ref) {
98
98
  attributes = _usePopper.attributes;
99
99
 
100
100
  var resolvedPlacement = state === null || state === void 0 ? void 0 : state.placement;
101
- var isEdgePlacement = !!resolvedPlacement && resolvedPlacement.includes("-"); // true, если поппер отрисован скраю
102
- // Если поппер рисуется скраю, то нужно опционально сместить его в тех случаях, когда стрелка не дотягивается до
101
+ var isEdgePlacement = !!resolvedPlacement && resolvedPlacement.includes("-"); // true, если поппер отрисован с краю
102
+ // Если поппер рисуется с краю, то нужно опционально сместить его в тех случаях, когда стрелка не дотягивается до
103
103
  // таргета из-за маленьких размеров последнего
104
104
 
105
105
  useIsomorphicLayoutEffect(function () {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Popper/Popper.tsx"],"names":["React","usePopper","AppRootPortal","usePlatform","getClassName","useExternRef","useIsomorphicLayoutEffect","ARROW_PADDING","ARROW_WIDTH","ARROW_HEIGHT","Popper","targetRef","children","getRef","placement","onPlacementChange","arrow","arrowClassName","sameWidth","offsetDistance","offsetSkidding","forcePortal","compStyles","style","restProps","useState","popperNode","setPopperNode","smallTargetOffsetSkidding","setSmallTargetOffsetSkidding","platform","setExternalRef","modifiers","useMemo","name","options","offset","push","padding","enabled","phase","requires","fn","state","styles","popper","width","rects","reference","effect","elements","offsetWidth","current","attributes","resolvedPlacement","isEdgePlacement","includes","placementDirection","startsWith","arrowSize","targetSize","offsetHeight","useEffect","dropdown","minWidth","scrollWidth","undefined"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { usePopper, Modifier } from \"react-popper\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { HasRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport \"./Popper.css\";\n\nexport type Placement =\n | \"auto\"\n | \"auto-start\"\n | \"auto-end\"\n | \"top-start\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom-end\"\n | \"right-start\"\n | \"right-end\"\n | \"left-start\"\n | \"left-end\"\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\";\n\nexport interface PopperCommonProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства\n */\n placement?: Placement;\n /**\n * Отступ по вспомогательной оси\n */\n offsetSkidding?: number;\n /**\n * Отступ по главной оси\n */\n offsetDistance?: number;\n arrow?: boolean;\n arrowClassName?: string;\n /**\n * Выставлять ширину равной target элементу\n */\n sameWidth?: boolean;\n forcePortal?: boolean;\n onPlacementChange?: (data: { placement?: Placement }) => void;\n}\n\nexport interface PopperProps extends PopperCommonProps {\n targetRef: React.RefObject<HTMLElement>;\n}\n\nconst ARROW_PADDING = 8;\nconst ARROW_WIDTH = 20;\nconst ARROW_HEIGHT = 8;\n\nexport const Popper: React.FC<PopperProps> = ({\n targetRef,\n children,\n getRef,\n placement = \"bottom-start\",\n onPlacementChange,\n arrow,\n arrowClassName,\n sameWidth,\n offsetDistance = 8,\n offsetSkidding = 0,\n forcePortal = true,\n style: compStyles,\n ...restProps\n}: PopperProps) => {\n const [popperNode, setPopperNode] = React.useState<HTMLDivElement | null>(\n null\n );\n const [smallTargetOffsetSkidding, setSmallTargetOffsetSkidding] =\n React.useState(0);\n const platform = usePlatform();\n\n const setExternalRef = useExternRef<HTMLDivElement>(getRef, setPopperNode);\n\n const modifiers = React.useMemo(() => {\n const modifiers: Array<Modifier<string>> = [\n {\n name: \"preventOverflow\",\n },\n {\n name: \"offset\",\n options: {\n offset: [\n arrow ? offsetSkidding - smallTargetOffsetSkidding : offsetSkidding,\n arrow ? offsetDistance + ARROW_HEIGHT : offsetDistance,\n ],\n },\n },\n {\n name: \"flip\",\n },\n ];\n\n if (arrow) {\n modifiers.push({\n name: \"arrow\",\n options: {\n padding: ARROW_PADDING,\n },\n });\n }\n\n if (sameWidth) {\n const sameWidth: Modifier<string> = {\n name: \"sameWidth\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as HTMLElement).offsetWidth\n }px`;\n },\n };\n\n modifiers.push(sameWidth);\n }\n\n return modifiers;\n }, [\n arrow,\n sameWidth,\n smallTargetOffsetSkidding,\n offsetSkidding,\n offsetDistance,\n ]);\n\n const { styles, state, attributes } = usePopper(\n targetRef.current,\n popperNode,\n {\n placement,\n modifiers,\n }\n );\n\n const resolvedPlacement = state?.placement;\n const isEdgePlacement =\n !!resolvedPlacement && resolvedPlacement.includes(\"-\"); // true, если поппер отрисован скраю\n\n // Если поппер рисуется скраю, то нужно опционально сместить его в тех случаях, когда стрелка не дотягивается до\n // таргета из-за маленьких размеров последнего\n useIsomorphicLayoutEffect(() => {\n if (arrow && isEdgePlacement) {\n const placementDirection =\n resolvedPlacement?.startsWith(\"bottom\") ||\n resolvedPlacement?.startsWith(\"top\")\n ? \"vertical\"\n : \"horizontal\";\n\n const arrowSize =\n placementDirection === \"vertical\" ? ARROW_WIDTH : ARROW_HEIGHT;\n const targetSize =\n (placementDirection === \"vertical\"\n ? targetRef.current?.offsetWidth\n : targetRef.current?.offsetHeight) ?? 0;\n\n if (targetSize < arrowSize + 2 * ARROW_PADDING) {\n setSmallTargetOffsetSkidding(ARROW_PADDING + arrowSize / 2);\n }\n } else {\n setSmallTargetOffsetSkidding(0);\n }\n }, [arrow, isEdgePlacement]);\n\n React.useEffect(() => {\n if (resolvedPlacement) {\n onPlacementChange && onPlacementChange({ placement: resolvedPlacement });\n }\n }, [onPlacementChange, resolvedPlacement]);\n\n const dropdown = (\n <div\n {...restProps}\n {...attributes.popper}\n vkuiClass={getClassName(\"Popper\", platform)}\n ref={setExternalRef}\n style={{\n ...compStyles,\n ...styles.popper,\n minWidth: sameWidth ? targetRef.current?.scrollWidth : undefined,\n }}\n >\n {arrow && (\n <div\n {...attributes.arrow}\n vkuiClass=\"Popper__arrow\"\n data-popper-arrow={true}\n style={styles.arrow}\n >\n <svg\n vkuiClass=\"Popper__arrow-in\"\n className={arrowClassName}\n width=\"20\"\n height=\"8\"\n viewBox=\"0 0 20 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10 0C13 0 15.9999 8 20 8H0C3.9749 8 7 0 10 0Z\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n )}\n <div vkuiClass=\"Popper__content\">{children}</div>\n </div>\n );\n\n return (\n <AppRootPortal forcePortal={forcePortal} vkuiClass=\"PopperPortal\">\n {dropdown}\n </AppRootPortal>\n );\n};\n"],"file":"Popper.js"}
1
+ {"version":3,"sources":["../../../src/components/Popper/Popper.tsx"],"names":["React","usePopper","AppRootPortal","usePlatform","getClassName","useExternRef","useIsomorphicLayoutEffect","ARROW_PADDING","ARROW_WIDTH","ARROW_HEIGHT","Popper","targetRef","children","getRef","placement","onPlacementChange","arrow","arrowClassName","sameWidth","offsetDistance","offsetSkidding","forcePortal","compStyles","style","restProps","useState","popperNode","setPopperNode","smallTargetOffsetSkidding","setSmallTargetOffsetSkidding","platform","setExternalRef","modifiers","useMemo","name","options","offset","push","padding","enabled","phase","requires","fn","state","styles","popper","width","rects","reference","effect","elements","offsetWidth","current","attributes","resolvedPlacement","isEdgePlacement","includes","placementDirection","startsWith","arrowSize","targetSize","offsetHeight","useEffect","dropdown","minWidth","scrollWidth","undefined"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { usePopper, Modifier } from \"react-popper\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { HasRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport \"./Popper.css\";\n\nexport type Placement =\n | \"auto\"\n | \"auto-start\"\n | \"auto-end\"\n | \"top-start\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom-end\"\n | \"right-start\"\n | \"right-end\"\n | \"left-start\"\n | \"left-end\"\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\";\n\nexport interface PopperCommonProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства\n */\n placement?: Placement;\n /**\n * Отступ по вспомогательной оси\n */\n offsetSkidding?: number;\n /**\n * Отступ по главной оси\n */\n offsetDistance?: number;\n arrow?: boolean;\n arrowClassName?: string;\n /**\n * Выставлять ширину равной target элементу\n */\n sameWidth?: boolean;\n forcePortal?: boolean;\n onPlacementChange?: (data: { placement?: Placement }) => void;\n}\n\nexport interface PopperProps extends PopperCommonProps {\n targetRef: React.RefObject<HTMLElement>;\n}\n\nconst ARROW_PADDING = 8;\nconst ARROW_WIDTH = 20;\nconst ARROW_HEIGHT = 8;\n\nexport const Popper: React.FC<PopperProps> = ({\n targetRef,\n children,\n getRef,\n placement = \"bottom-start\",\n onPlacementChange,\n arrow,\n arrowClassName,\n sameWidth,\n offsetDistance = 8,\n offsetSkidding = 0,\n forcePortal = true,\n style: compStyles,\n ...restProps\n}: PopperProps) => {\n const [popperNode, setPopperNode] = React.useState<HTMLDivElement | null>(\n null\n );\n const [smallTargetOffsetSkidding, setSmallTargetOffsetSkidding] =\n React.useState(0);\n const platform = usePlatform();\n\n const setExternalRef = useExternRef<HTMLDivElement>(getRef, setPopperNode);\n\n const modifiers = React.useMemo(() => {\n const modifiers: Array<Modifier<string>> = [\n {\n name: \"preventOverflow\",\n },\n {\n name: \"offset\",\n options: {\n offset: [\n arrow ? offsetSkidding - smallTargetOffsetSkidding : offsetSkidding,\n arrow ? offsetDistance + ARROW_HEIGHT : offsetDistance,\n ],\n },\n },\n {\n name: \"flip\",\n },\n ];\n\n if (arrow) {\n modifiers.push({\n name: \"arrow\",\n options: {\n padding: ARROW_PADDING,\n },\n });\n }\n\n if (sameWidth) {\n const sameWidth: Modifier<string> = {\n name: \"sameWidth\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as HTMLElement).offsetWidth\n }px`;\n },\n };\n\n modifiers.push(sameWidth);\n }\n\n return modifiers;\n }, [\n arrow,\n sameWidth,\n smallTargetOffsetSkidding,\n offsetSkidding,\n offsetDistance,\n ]);\n\n const { styles, state, attributes } = usePopper(\n targetRef.current,\n popperNode,\n {\n placement,\n modifiers,\n }\n );\n\n const resolvedPlacement = state?.placement;\n const isEdgePlacement =\n !!resolvedPlacement && resolvedPlacement.includes(\"-\"); // true, если поппер отрисован с краю\n\n // Если поппер рисуется с краю, то нужно опционально сместить его в тех случаях, когда стрелка не дотягивается до\n // таргета из-за маленьких размеров последнего\n useIsomorphicLayoutEffect(() => {\n if (arrow && isEdgePlacement) {\n const placementDirection =\n resolvedPlacement?.startsWith(\"bottom\") ||\n resolvedPlacement?.startsWith(\"top\")\n ? \"vertical\"\n : \"horizontal\";\n\n const arrowSize =\n placementDirection === \"vertical\" ? ARROW_WIDTH : ARROW_HEIGHT;\n const targetSize =\n (placementDirection === \"vertical\"\n ? targetRef.current?.offsetWidth\n : targetRef.current?.offsetHeight) ?? 0;\n\n if (targetSize < arrowSize + 2 * ARROW_PADDING) {\n setSmallTargetOffsetSkidding(ARROW_PADDING + arrowSize / 2);\n }\n } else {\n setSmallTargetOffsetSkidding(0);\n }\n }, [arrow, isEdgePlacement]);\n\n React.useEffect(() => {\n if (resolvedPlacement) {\n onPlacementChange && onPlacementChange({ placement: resolvedPlacement });\n }\n }, [onPlacementChange, resolvedPlacement]);\n\n const dropdown = (\n <div\n {...restProps}\n {...attributes.popper}\n vkuiClass={getClassName(\"Popper\", platform)}\n ref={setExternalRef}\n style={{\n ...compStyles,\n ...styles.popper,\n minWidth: sameWidth ? targetRef.current?.scrollWidth : undefined,\n }}\n >\n {arrow && (\n <div\n {...attributes.arrow}\n vkuiClass=\"Popper__arrow\"\n data-popper-arrow={true}\n style={styles.arrow}\n >\n <svg\n vkuiClass=\"Popper__arrow-in\"\n className={arrowClassName}\n width=\"20\"\n height=\"8\"\n viewBox=\"0 0 20 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10 0C13 0 15.9999 8 20 8H0C3.9749 8 7 0 10 0Z\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n )}\n <div vkuiClass=\"Popper__content\">{children}</div>\n </div>\n );\n\n return (\n <AppRootPortal forcePortal={forcePortal} vkuiClass=\"PopperPortal\">\n {dropdown}\n </AppRootPortal>\n );\n};\n"],"file":"Popper.js"}
@@ -7,10 +7,10 @@ var _excluded = ["bannerData", "onClose"];
7
7
  import { createScopedElement } from "../../lib/jsxRuntime";
8
8
  import * as React from "react";
9
9
  import { Icon24Dismiss } from "@vkontakte/icons";
10
- import Button from "../Button/Button";
10
+ import { Button } from "../Button/Button";
11
11
  import SimpleCell from "../SimpleCell/SimpleCell";
12
12
  import Avatar from "../Avatar/Avatar";
13
- import Caption from "../Typography/Caption/Caption";
13
+ import { Caption } from "../Typography/Caption/Caption";
14
14
  import { usePlatform } from "../../hooks/usePlatform";
15
15
  import { getClassName } from "../../helpers/getClassName";
16
16
  import { warnOnce } from "../../lib/warnOnce";
@@ -53,12 +53,8 @@ var PromoBanner = function PromoBanner(props) {
53
53
  }, restProps), createScopedElement("div", {
54
54
  vkuiClass: "PromoBanner__head"
55
55
  }, createScopedElement(Caption, {
56
- weight: "regular",
57
- level: "1",
58
56
  vkuiClass: "PromoBanner__label"
59
57
  }, bannerData.advertisingLabel || "Advertisement"), ageRestrictions != null && createScopedElement(Caption, {
60
- weight: "regular",
61
- level: "1",
62
58
  vkuiClass: "PromoBanner__age"
63
59
  }, ageRestrictions, "+"), !props.isCloseButtonHidden && createScopedElement("div", {
64
60
  vkuiClass: "PromoBanner__close",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PromoBanner/PromoBanner.tsx"],"names":["React","Icon24Dismiss","Button","SimpleCell","Avatar","Caption","usePlatform","getClassName","warnOnce","warn","PromoBanner","props","platform","bannerData","onClose","restProps","ageRestrictions","parseInt","ageRestriction","process","env","NODE_ENV","useState","currentPixel","setCurrentPixel","statsPixels","useMemo","statistics","reduce","acc","item","type","url","onClick","useCallback","click","useEffect","playbackStarted","advertisingLabel","isCloseButtonHidden","trackingLink","iconLink","title","ctaText","domain","length"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Icon24Dismiss } from \"@vkontakte/icons\";\nimport Button from \"../Button/Button\";\nimport SimpleCell from \"../SimpleCell/SimpleCell\";\nimport Avatar from \"../Avatar/Avatar\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./PromoBanner.css\";\n\ntype StatsType =\n | \"playbackStarted\" // Начало показа\n | \"click\"; // Клик по баннеру\n\ntype BannerData = {\n title?: string;\n url_types?: string; // eslint-disable-line camelcase\n bannerID?: string;\n imageWidth?: number;\n imageHeight?: number;\n imageLink?: string;\n trackingLink?: string;\n type?: string;\n iconWidth?: number;\n domain?: string;\n ctaText?: string;\n advertisingLabel?: string;\n iconLink?: string;\n statistics?: Array<{ type: StatsType; url: string }>;\n openInBrowser?: boolean;\n iconHeight?: number;\n directLink?: boolean;\n navigationType?: string;\n description?: string;\n ageRestrictions?: string;\n /** @deprecated */\n ageRestriction?: number;\n};\n\nexport interface PromoBannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Данные рекламного баннера, полученные из VKWebAppGetAds */\n bannerData: BannerData;\n /** Флаг скрытия кнопки закрытия рекламы */\n isCloseButtonHidden?: boolean;\n /** Хандлер закрытия рекламы */\n onClose: () => void;\n}\n\nconst warn = warnOnce(\"PromoBanner\");\nconst PromoBanner = (props: PromoBannerProps) => {\n const platform = usePlatform();\n const { bannerData = {}, onClose, ...restProps } = props;\n\n const ageRestrictions =\n bannerData.ageRestrictions != null\n ? parseInt(bannerData.ageRestrictions)\n : bannerData.ageRestriction;\n\n if (bannerData.ageRestriction && process.env.NODE_ENV === \"development\") {\n warn(\n \"Свойство bannerData.ageRestriction устарело и будет удалено в 5.0.0. Используйте bannerData.ageRestrictions\"\n );\n }\n\n const [currentPixel, setCurrentPixel] = React.useState(\"\");\n\n const statsPixels = React.useMemo(\n () =>\n (bannerData.statistics\n ? bannerData.statistics.reduce(\n (acc, item) => ({ ...acc, [item.type]: item.url }),\n {}\n )\n : {}) as Record<StatsType, string | void>,\n [bannerData.statistics]\n );\n\n const onClick = React.useCallback(\n () => setCurrentPixel(statsPixels.click || \"\"),\n [statsPixels.click]\n );\n\n React.useEffect(() => {\n if (statsPixels.playbackStarted) {\n setCurrentPixel(statsPixels.playbackStarted);\n }\n }, [statsPixels.playbackStarted]);\n\n return (\n <div vkuiClass={getClassName(\"PromoBanner\", platform)} {...restProps}>\n <div vkuiClass=\"PromoBanner__head\">\n <Caption weight=\"regular\" level=\"1\" vkuiClass=\"PromoBanner__label\">\n {bannerData.advertisingLabel || \"Advertisement\"}\n </Caption>\n {ageRestrictions != null && (\n <Caption weight=\"regular\" level=\"1\" vkuiClass=\"PromoBanner__age\">\n {ageRestrictions}+\n </Caption>\n )}\n\n {!props.isCloseButtonHidden && (\n <div vkuiClass=\"PromoBanner__close\" onClick={props.onClose}>\n <Icon24Dismiss />\n </div>\n )}\n </div>\n <SimpleCell\n href={bannerData.trackingLink}\n onClick={onClick}\n rel=\"nofollow noopener noreferrer\"\n target=\"_blank\"\n before={\n <Avatar\n mode=\"image\"\n size={48}\n src={bannerData.iconLink}\n alt={bannerData.title}\n />\n }\n after={<Button mode=\"outline\">{bannerData.ctaText}</Button>}\n description={bannerData.domain}\n >\n {bannerData.title}\n </SimpleCell>\n\n {currentPixel.length > 0 && (\n <div vkuiClass=\"PromoBanner__pixels\">\n <img src={currentPixel} alt=\"\" />\n </div>\n )}\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default PromoBanner;\n"],"file":"PromoBanner.js"}
1
+ {"version":3,"sources":["../../../src/components/PromoBanner/PromoBanner.tsx"],"names":["React","Icon24Dismiss","Button","SimpleCell","Avatar","Caption","usePlatform","getClassName","warnOnce","warn","PromoBanner","props","platform","bannerData","onClose","restProps","ageRestrictions","parseInt","ageRestriction","process","env","NODE_ENV","useState","currentPixel","setCurrentPixel","statsPixels","useMemo","statistics","reduce","acc","item","type","url","onClick","useCallback","click","useEffect","playbackStarted","advertisingLabel","isCloseButtonHidden","trackingLink","iconLink","title","ctaText","domain","length"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Icon24Dismiss } from \"@vkontakte/icons\";\nimport { Button } from \"../Button/Button\";\nimport SimpleCell from \"../SimpleCell/SimpleCell\";\nimport Avatar from \"../Avatar/Avatar\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./PromoBanner.css\";\n\ntype StatsType =\n | \"playbackStarted\" // Начало показа\n | \"click\"; // Клик по баннеру\n\ntype BannerData = {\n title?: string;\n url_types?: string; // eslint-disable-line camelcase\n bannerID?: string;\n imageWidth?: number;\n imageHeight?: number;\n imageLink?: string;\n trackingLink?: string;\n type?: string;\n iconWidth?: number;\n domain?: string;\n ctaText?: string;\n advertisingLabel?: string;\n iconLink?: string;\n statistics?: Array<{ type: StatsType; url: string }>;\n openInBrowser?: boolean;\n iconHeight?: number;\n directLink?: boolean;\n navigationType?: string;\n description?: string;\n ageRestrictions?: string;\n /** @deprecated */\n ageRestriction?: number;\n};\n\nexport interface PromoBannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Данные рекламного баннера, полученные из VKWebAppGetAds */\n bannerData: BannerData;\n /** Флаг скрытия кнопки закрытия рекламы */\n isCloseButtonHidden?: boolean;\n /** Хандлер закрытия рекламы */\n onClose: () => void;\n}\n\nconst warn = warnOnce(\"PromoBanner\");\nconst PromoBanner = (props: PromoBannerProps) => {\n const platform = usePlatform();\n const { bannerData = {}, onClose, ...restProps } = props;\n\n const ageRestrictions =\n bannerData.ageRestrictions != null\n ? parseInt(bannerData.ageRestrictions)\n : bannerData.ageRestriction;\n\n if (bannerData.ageRestriction && process.env.NODE_ENV === \"development\") {\n warn(\n \"Свойство bannerData.ageRestriction устарело и будет удалено в 5.0.0. Используйте bannerData.ageRestrictions\"\n );\n }\n\n const [currentPixel, setCurrentPixel] = React.useState(\"\");\n\n const statsPixels = React.useMemo(\n () =>\n (bannerData.statistics\n ? bannerData.statistics.reduce(\n (acc, item) => ({ ...acc, [item.type]: item.url }),\n {}\n )\n : {}) as Record<StatsType, string | void>,\n [bannerData.statistics]\n );\n\n const onClick = React.useCallback(\n () => setCurrentPixel(statsPixels.click || \"\"),\n [statsPixels.click]\n );\n\n React.useEffect(() => {\n if (statsPixels.playbackStarted) {\n setCurrentPixel(statsPixels.playbackStarted);\n }\n }, [statsPixels.playbackStarted]);\n\n return (\n <div vkuiClass={getClassName(\"PromoBanner\", platform)} {...restProps}>\n <div vkuiClass=\"PromoBanner__head\">\n <Caption vkuiClass=\"PromoBanner__label\">\n {bannerData.advertisingLabel || \"Advertisement\"}\n </Caption>\n {ageRestrictions != null && (\n <Caption vkuiClass=\"PromoBanner__age\">{ageRestrictions}+</Caption>\n )}\n\n {!props.isCloseButtonHidden && (\n <div vkuiClass=\"PromoBanner__close\" onClick={props.onClose}>\n <Icon24Dismiss />\n </div>\n )}\n </div>\n <SimpleCell\n href={bannerData.trackingLink}\n onClick={onClick}\n rel=\"nofollow noopener noreferrer\"\n target=\"_blank\"\n before={\n <Avatar\n mode=\"image\"\n size={48}\n src={bannerData.iconLink}\n alt={bannerData.title}\n />\n }\n after={<Button mode=\"outline\">{bannerData.ctaText}</Button>}\n description={bannerData.domain}\n >\n {bannerData.title}\n </SimpleCell>\n\n {currentPixel.length > 0 && (\n <div vkuiClass=\"PromoBanner__pixels\">\n <img src={currentPixel} alt=\"\" />\n </div>\n )}\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default PromoBanner;\n"],"file":"PromoBanner.js"}
@@ -281,7 +281,8 @@ var PullToRefresh = /*#__PURE__*/function (_React$PureComponent) {
281
281
  }, createScopedElement(Touch, _extends({}, restProps, {
282
282
  onStart: this.onTouchStart,
283
283
  onMove: this.onTouchMove,
284
- onEnd: this.onTouchEnd,
284
+ onEnd: this.onTouchEnd // eslint-disable-next-line vkui/no-object-expression-in-arguments
285
+ ,
285
286
  vkuiClass: classNames(getClassName("PullToRefresh", platform), {
286
287
  "PullToRefresh--watching": watching,
287
288
  "PullToRefresh--refreshing": refreshing
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PullToRefresh/PullToRefresh.tsx"],"names":["React","Touch","TouchRootContext","FixedLayout","classNames","IOS","ANDROID","VKCOM","getClassName","PullToRefreshSpinner","withPlatform","canUseDOM","withDOM","runTapticImpactOccurred","withContext","ScrollContext","cancelEvent","event","originalEvent","preventDefault","cancelable","stopPropagation","PullToRefresh","props","undefined","e","state","refreshing","setState","touchDown","isY","shiftY","params","start","max","pageYOffset","scroll","getScroll","y","watching","positionMultiplier","shift","Math","touchY","currentY","min","maxY","progress","abs","spinnerY","spinnerProgress","canRefresh","contentShift","platform","runRefreshing","resetRefreshingState","contentRef","createRef","document","addEventListener","onWindowTouchMove","passive","removeEventListener","waitFetchingTimeout","clearTimeout","prevProps","prevState","isFetching","onRefreshingFinish","onRefresh","setTimeout","children","window","restProps","spinnerTransform","contentTransform","onTouchStart","onTouchMove","onTouchEnd","transform","WebkitTransform","opacity","PureComponent"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Touch, TouchProps, TouchEvent } from \"../Touch/Touch\";\nimport TouchRootContext from \"../Touch/TouchContext\";\nimport FixedLayout from \"../FixedLayout/FixedLayout\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, ANDROID, VKCOM } from \"../../lib/platform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport PullToRefreshSpinner from \"./PullToRefreshSpinner\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { AnyFunction, HasPlatform } from \"../../types\";\nimport { canUseDOM, DOMProps, withDOM } from \"../../lib/dom\";\nimport { runTapticImpactOccurred } from \"../../lib/taptic\";\nimport { withContext } from \"../../hoc/withContext\";\nimport {\n ScrollContext,\n ScrollContextInterface,\n} from \"../AppRoot/ScrollContext\";\nimport \"./PullToRefresh.css\";\n\nexport interface PullToRefreshProps extends TouchProps, HasPlatform {\n /**\n * Будет вызвана для обновления контента\n */\n onRefresh: AnyFunction;\n /**\n * Определяет, выполняется ли обновление. Для скрытия спиннера после получения контента необходимо передать `false`\n */\n isFetching?: boolean;\n /** @ignore */\n scroll?: ScrollContextInterface;\n}\n\nexport interface PullToRefreshState {\n watching: boolean;\n refreshing: boolean;\n canRefresh: boolean;\n\n touchDown: boolean;\n\n touchY: number;\n spinnerY: PullToRefreshParams[\"start\"];\n spinnerProgress: number;\n contentShift: number;\n}\n\nexport interface PullToRefreshParams {\n start: number;\n max: number;\n maxY: number;\n refreshing: number;\n positionMultiplier: number;\n}\n\nexport type TouchEventHandler = (event: TouchEvent) => void;\n\nfunction cancelEvent(event: any) {\n if (!event) {\n return false;\n }\n while (event.originalEvent) {\n event = event.originalEvent;\n }\n if (event.preventDefault && event.cancelable) {\n event.preventDefault();\n }\n if (event.stopPropagation) {\n event.stopPropagation();\n }\n return false;\n}\n\nclass PullToRefresh extends React.PureComponent<\n PullToRefreshProps & DOMProps,\n PullToRefreshState\n> {\n constructor(props: PullToRefreshProps) {\n super(props);\n\n this.params = {\n start: props.platform === ANDROID || props.platform === VKCOM ? -45 : -10,\n max: props.platform === ANDROID || props.platform === VKCOM ? 80 : 50,\n maxY: props.platform === ANDROID || props.platform === VKCOM ? 80 : 400,\n refreshing:\n props.platform === ANDROID || props.platform === VKCOM ? 50 : 36,\n\n positionMultiplier:\n props.platform === ANDROID || props.platform === VKCOM ? 1 : 0.21,\n };\n\n this.state = {\n watching: false,\n refreshing: false,\n canRefresh: false,\n\n touchDown: false,\n\n touchY: 0,\n spinnerY: this.params.start,\n spinnerProgress: 0,\n contentShift: 0,\n };\n\n this.contentRef = React.createRef();\n }\n\n params: PullToRefreshParams;\n contentRef: React.RefObject<HTMLDivElement>;\n waitFetchingTimeout: ReturnType<typeof setTimeout> | undefined = undefined;\n\n get document() {\n return this.props.document;\n }\n\n componentDidMount() {\n if (canUseDOM) {\n this.document!.addEventListener(\"touchmove\", this.onWindowTouchMove, {\n // @ts-ignore\n cancelable: true,\n passive: false,\n });\n }\n }\n\n componentWillUnmount() {\n // Здесь нужен последний аргумент с такими же параметрами, потому что\n // некоторые браузеры на странных вендорах типа Meizu не удаляют обработчик.\n // https://github.com/VKCOM/VKUI/issues/444\n if (canUseDOM) {\n this.document!.removeEventListener(\"touchmove\", this.onWindowTouchMove, {\n // @ts-ignore\n cancelable: true,\n passive: false,\n });\n }\n if (this.waitFetchingTimeout) {\n clearTimeout(this.waitFetchingTimeout);\n }\n }\n\n componentDidUpdate(\n prevProps: PullToRefreshProps,\n prevState: PullToRefreshState\n ) {\n if (prevProps.isFetching && !this.props.isFetching) {\n this.onRefreshingFinish();\n }\n if (\n !prevProps.isFetching &&\n this.props.isFetching &&\n this.waitFetchingTimeout\n ) {\n clearTimeout(this.waitFetchingTimeout);\n }\n\n if (prevState.touchDown && !this.state.touchDown) {\n const { refreshing, canRefresh } = this.state;\n if (!refreshing && canRefresh) {\n this.runRefreshing();\n } else if (refreshing && !this.props.isFetching) {\n // only iOS can start refresh before gesture end\n this.resetRefreshingState();\n } else {\n // refreshing && isFetching: refresh in progress\n // OR !refreshing && !canRefresh: pull was not strong enough\n this.setState({\n spinnerY: refreshing ? this.params.refreshing : this.params.start,\n spinnerProgress: 0,\n contentShift: 0,\n });\n }\n }\n }\n\n onTouchStart: TouchEventHandler = (e: TouchEvent) => {\n if (this.state.refreshing) {\n cancelEvent(e);\n }\n this.setState({ touchDown: true });\n };\n\n onWindowTouchMove: EventListener = (event: Event) => {\n if (this.state.refreshing) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n onTouchMove: TouchEventHandler = (e: TouchEvent) => {\n const { isY, shiftY } = e;\n const { start, max } = this.params;\n const pageYOffset = this.props.scroll?.getScroll().y;\n\n const { refreshing, watching, touchDown } = this.state;\n\n if (watching && touchDown) {\n cancelEvent(e);\n\n const { positionMultiplier } = this.params;\n\n const shift = Math.max(0, shiftY - this.state.touchY);\n\n const currentY = Math.max(\n start,\n Math.min(this.params.maxY, start + shift * positionMultiplier)\n );\n const progress =\n currentY > -10 ? Math.abs((currentY + 10) / max) * 80 : 0;\n\n this.setState({\n spinnerY: currentY,\n spinnerProgress: Math.min(80, Math.max(0, progress)),\n canRefresh: progress > 80,\n contentShift: (currentY + 10) * 2.3,\n });\n\n if (progress > 85 && !refreshing && this.props.platform === IOS) {\n this.runRefreshing();\n }\n } else if (\n isY &&\n pageYOffset === 0 &&\n shiftY > 0 &&\n !refreshing &&\n touchDown\n ) {\n cancelEvent(e);\n\n this.setState({\n watching: true,\n touchY: shiftY,\n spinnerY: start,\n spinnerProgress: 0,\n });\n }\n };\n\n onTouchEnd = () => {\n this.setState({\n watching: false,\n touchDown: false,\n });\n };\n\n runRefreshing() {\n if (!this.state.refreshing && this.props.onRefresh) {\n // cleanup if the consumer does not start fetching in 1s\n this.waitFetchingTimeout = setTimeout(this.onRefreshingFinish, 1000);\n this.setState({\n refreshing: true,\n spinnerY:\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? this.params.refreshing\n : this.state.spinnerY,\n });\n\n this.props.onRefresh();\n runTapticImpactOccurred(\"light\");\n }\n }\n\n onRefreshingFinish: VoidFunction = () => {\n if (!this.state.touchDown) {\n this.resetRefreshingState();\n }\n };\n\n resetRefreshingState() {\n this.setState({\n watching: false,\n canRefresh: false,\n refreshing: false,\n spinnerY: this.params.start,\n spinnerProgress: 0,\n contentShift: 0,\n });\n }\n\n render() {\n const {\n children,\n onRefresh,\n isFetching,\n platform,\n window,\n document,\n scroll,\n ...restProps\n } = this.props;\n const {\n watching,\n refreshing,\n spinnerY,\n spinnerProgress,\n canRefresh,\n touchDown,\n contentShift,\n } = this.state;\n\n const spinnerTransform = `translate3d(0, ${spinnerY}px, 0)`;\n let contentTransform = \"\";\n\n if (platform === IOS && refreshing && !touchDown) {\n contentTransform = \"translate3d(0, 100px, 0)\";\n } else if (platform === IOS && (contentShift || refreshing)) {\n contentTransform = `translate3d(0, ${contentShift}px, 0)`;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <Touch\n {...restProps}\n onStart={this.onTouchStart}\n onMove={this.onTouchMove}\n onEnd={this.onTouchEnd}\n vkuiClass={classNames(getClassName(\"PullToRefresh\", platform), {\n \"PullToRefresh--watching\": watching,\n \"PullToRefresh--refreshing\": refreshing,\n })}\n >\n <FixedLayout vkuiClass=\"PullToRefresh__controls\">\n <PullToRefreshSpinner\n style={{\n transform: spinnerTransform,\n WebkitTransform: spinnerTransform,\n opacity: watching || refreshing || canRefresh ? 1 : 0,\n }}\n on={refreshing}\n progress={refreshing ? undefined : spinnerProgress}\n />\n </FixedLayout>\n\n <div\n vkuiClass=\"PullToRefresh__content\"\n ref={this.contentRef}\n style={{\n transform: contentTransform,\n WebkitTransform: contentTransform,\n }}\n >\n {children}\n </div>\n </Touch>\n </TouchRootContext.Provider>\n );\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default withContext(\n withPlatform(withDOM<PullToRefreshProps>(PullToRefresh)),\n ScrollContext,\n \"scroll\"\n);\n"],"file":"PullToRefresh.js"}
1
+ {"version":3,"sources":["../../../src/components/PullToRefresh/PullToRefresh.tsx"],"names":["React","Touch","TouchRootContext","FixedLayout","classNames","IOS","ANDROID","VKCOM","getClassName","PullToRefreshSpinner","withPlatform","canUseDOM","withDOM","runTapticImpactOccurred","withContext","ScrollContext","cancelEvent","event","originalEvent","preventDefault","cancelable","stopPropagation","PullToRefresh","props","undefined","e","state","refreshing","setState","touchDown","isY","shiftY","params","start","max","pageYOffset","scroll","getScroll","y","watching","positionMultiplier","shift","Math","touchY","currentY","min","maxY","progress","abs","spinnerY","spinnerProgress","canRefresh","contentShift","platform","runRefreshing","resetRefreshingState","contentRef","createRef","document","addEventListener","onWindowTouchMove","passive","removeEventListener","waitFetchingTimeout","clearTimeout","prevProps","prevState","isFetching","onRefreshingFinish","onRefresh","setTimeout","children","window","restProps","spinnerTransform","contentTransform","onTouchStart","onTouchMove","onTouchEnd","transform","WebkitTransform","opacity","PureComponent"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Touch, TouchProps, TouchEvent } from \"../Touch/Touch\";\nimport TouchRootContext from \"../Touch/TouchContext\";\nimport FixedLayout from \"../FixedLayout/FixedLayout\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, ANDROID, VKCOM } from \"../../lib/platform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport PullToRefreshSpinner from \"./PullToRefreshSpinner\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { AnyFunction, HasPlatform } from \"../../types\";\nimport { canUseDOM, DOMProps, withDOM } from \"../../lib/dom\";\nimport { runTapticImpactOccurred } from \"../../lib/taptic\";\nimport { withContext } from \"../../hoc/withContext\";\nimport {\n ScrollContext,\n ScrollContextInterface,\n} from \"../AppRoot/ScrollContext\";\nimport \"./PullToRefresh.css\";\n\nexport interface PullToRefreshProps extends TouchProps, HasPlatform {\n /**\n * Будет вызвана для обновления контента\n */\n onRefresh: AnyFunction;\n /**\n * Определяет, выполняется ли обновление. Для скрытия спиннера после получения контента необходимо передать `false`\n */\n isFetching?: boolean;\n /** @ignore */\n scroll?: ScrollContextInterface;\n}\n\nexport interface PullToRefreshState {\n watching: boolean;\n refreshing: boolean;\n canRefresh: boolean;\n\n touchDown: boolean;\n\n touchY: number;\n spinnerY: PullToRefreshParams[\"start\"];\n spinnerProgress: number;\n contentShift: number;\n}\n\nexport interface PullToRefreshParams {\n start: number;\n max: number;\n maxY: number;\n refreshing: number;\n positionMultiplier: number;\n}\n\nexport type TouchEventHandler = (event: TouchEvent) => void;\n\nfunction cancelEvent(event: any) {\n if (!event) {\n return false;\n }\n while (event.originalEvent) {\n event = event.originalEvent;\n }\n if (event.preventDefault && event.cancelable) {\n event.preventDefault();\n }\n if (event.stopPropagation) {\n event.stopPropagation();\n }\n return false;\n}\n\nclass PullToRefresh extends React.PureComponent<\n PullToRefreshProps & DOMProps,\n PullToRefreshState\n> {\n constructor(props: PullToRefreshProps) {\n super(props);\n\n this.params = {\n start: props.platform === ANDROID || props.platform === VKCOM ? -45 : -10,\n max: props.platform === ANDROID || props.platform === VKCOM ? 80 : 50,\n maxY: props.platform === ANDROID || props.platform === VKCOM ? 80 : 400,\n refreshing:\n props.platform === ANDROID || props.platform === VKCOM ? 50 : 36,\n\n positionMultiplier:\n props.platform === ANDROID || props.platform === VKCOM ? 1 : 0.21,\n };\n\n this.state = {\n watching: false,\n refreshing: false,\n canRefresh: false,\n\n touchDown: false,\n\n touchY: 0,\n spinnerY: this.params.start,\n spinnerProgress: 0,\n contentShift: 0,\n };\n\n this.contentRef = React.createRef();\n }\n\n params: PullToRefreshParams;\n contentRef: React.RefObject<HTMLDivElement>;\n waitFetchingTimeout: ReturnType<typeof setTimeout> | undefined = undefined;\n\n get document() {\n return this.props.document;\n }\n\n componentDidMount() {\n if (canUseDOM) {\n this.document!.addEventListener(\"touchmove\", this.onWindowTouchMove, {\n // @ts-ignore\n cancelable: true,\n passive: false,\n });\n }\n }\n\n componentWillUnmount() {\n // Здесь нужен последний аргумент с такими же параметрами, потому что\n // некоторые браузеры на странных вендорах типа Meizu не удаляют обработчик.\n // https://github.com/VKCOM/VKUI/issues/444\n if (canUseDOM) {\n this.document!.removeEventListener(\"touchmove\", this.onWindowTouchMove, {\n // @ts-ignore\n cancelable: true,\n passive: false,\n });\n }\n if (this.waitFetchingTimeout) {\n clearTimeout(this.waitFetchingTimeout);\n }\n }\n\n componentDidUpdate(\n prevProps: PullToRefreshProps,\n prevState: PullToRefreshState\n ) {\n if (prevProps.isFetching && !this.props.isFetching) {\n this.onRefreshingFinish();\n }\n if (\n !prevProps.isFetching &&\n this.props.isFetching &&\n this.waitFetchingTimeout\n ) {\n clearTimeout(this.waitFetchingTimeout);\n }\n\n if (prevState.touchDown && !this.state.touchDown) {\n const { refreshing, canRefresh } = this.state;\n if (!refreshing && canRefresh) {\n this.runRefreshing();\n } else if (refreshing && !this.props.isFetching) {\n // only iOS can start refresh before gesture end\n this.resetRefreshingState();\n } else {\n // refreshing && isFetching: refresh in progress\n // OR !refreshing && !canRefresh: pull was not strong enough\n this.setState({\n spinnerY: refreshing ? this.params.refreshing : this.params.start,\n spinnerProgress: 0,\n contentShift: 0,\n });\n }\n }\n }\n\n onTouchStart: TouchEventHandler = (e: TouchEvent) => {\n if (this.state.refreshing) {\n cancelEvent(e);\n }\n this.setState({ touchDown: true });\n };\n\n onWindowTouchMove: EventListener = (event: Event) => {\n if (this.state.refreshing) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n onTouchMove: TouchEventHandler = (e: TouchEvent) => {\n const { isY, shiftY } = e;\n const { start, max } = this.params;\n const pageYOffset = this.props.scroll?.getScroll().y;\n\n const { refreshing, watching, touchDown } = this.state;\n\n if (watching && touchDown) {\n cancelEvent(e);\n\n const { positionMultiplier } = this.params;\n\n const shift = Math.max(0, shiftY - this.state.touchY);\n\n const currentY = Math.max(\n start,\n Math.min(this.params.maxY, start + shift * positionMultiplier)\n );\n const progress =\n currentY > -10 ? Math.abs((currentY + 10) / max) * 80 : 0;\n\n this.setState({\n spinnerY: currentY,\n spinnerProgress: Math.min(80, Math.max(0, progress)),\n canRefresh: progress > 80,\n contentShift: (currentY + 10) * 2.3,\n });\n\n if (progress > 85 && !refreshing && this.props.platform === IOS) {\n this.runRefreshing();\n }\n } else if (\n isY &&\n pageYOffset === 0 &&\n shiftY > 0 &&\n !refreshing &&\n touchDown\n ) {\n cancelEvent(e);\n\n this.setState({\n watching: true,\n touchY: shiftY,\n spinnerY: start,\n spinnerProgress: 0,\n });\n }\n };\n\n onTouchEnd = () => {\n this.setState({\n watching: false,\n touchDown: false,\n });\n };\n\n runRefreshing() {\n if (!this.state.refreshing && this.props.onRefresh) {\n // cleanup if the consumer does not start fetching in 1s\n this.waitFetchingTimeout = setTimeout(this.onRefreshingFinish, 1000);\n this.setState({\n refreshing: true,\n spinnerY:\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? this.params.refreshing\n : this.state.spinnerY,\n });\n\n this.props.onRefresh();\n runTapticImpactOccurred(\"light\");\n }\n }\n\n onRefreshingFinish: VoidFunction = () => {\n if (!this.state.touchDown) {\n this.resetRefreshingState();\n }\n };\n\n resetRefreshingState() {\n this.setState({\n watching: false,\n canRefresh: false,\n refreshing: false,\n spinnerY: this.params.start,\n spinnerProgress: 0,\n contentShift: 0,\n });\n }\n\n render() {\n const {\n children,\n onRefresh,\n isFetching,\n platform,\n window,\n document,\n scroll,\n ...restProps\n } = this.props;\n const {\n watching,\n refreshing,\n spinnerY,\n spinnerProgress,\n canRefresh,\n touchDown,\n contentShift,\n } = this.state;\n\n const spinnerTransform = `translate3d(0, ${spinnerY}px, 0)`;\n let contentTransform = \"\";\n\n if (platform === IOS && refreshing && !touchDown) {\n contentTransform = \"translate3d(0, 100px, 0)\";\n } else if (platform === IOS && (contentShift || refreshing)) {\n contentTransform = `translate3d(0, ${contentShift}px, 0)`;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <Touch\n {...restProps}\n onStart={this.onTouchStart}\n onMove={this.onTouchMove}\n onEnd={this.onTouchEnd}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"PullToRefresh\", platform), {\n \"PullToRefresh--watching\": watching,\n \"PullToRefresh--refreshing\": refreshing,\n })}\n >\n <FixedLayout vkuiClass=\"PullToRefresh__controls\">\n <PullToRefreshSpinner\n style={{\n transform: spinnerTransform,\n WebkitTransform: spinnerTransform,\n opacity: watching || refreshing || canRefresh ? 1 : 0,\n }}\n on={refreshing}\n progress={refreshing ? undefined : spinnerProgress}\n />\n </FixedLayout>\n\n <div\n vkuiClass=\"PullToRefresh__content\"\n ref={this.contentRef}\n style={{\n transform: contentTransform,\n WebkitTransform: contentTransform,\n }}\n >\n {children}\n </div>\n </Touch>\n </TouchRootContext.Provider>\n );\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default withContext(\n withPlatform(withDOM<PullToRefreshProps>(PullToRefresh)),\n ScrollContext,\n \"scroll\"\n);\n"],"file":"PullToRefresh.js"}
@@ -24,6 +24,7 @@ var PullToRefreshSpinner = function PullToRefreshSpinner(_ref) {
24
24
  var circleCenter = 0.5 * size;
25
25
  var dashoffset = calcStrokeDashOffset(on ? 80 : progress, radius);
26
26
  return createScopedElement("div", {
27
+ // eslint-disable-next-line vkui/no-object-expression-in-arguments
27
28
  vkuiClass: classNames("PullToRefresh__spinner", {
28
29
  "PullToRefresh__spinner--on": on
29
30
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PullToRefresh/PullToRefreshSpinner.tsx"],"names":["React","classNames","calcStrokeDashOffset","value","radius","progress","Math","PI","PullToRefreshSpinner","on","size","strokeWidth","style","ariaLabel","dasharray","circleCenter","dashoffset","undefined","width","height","transformOrigin","memo"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;;AAGA,SAASC,oBAAT,CAA8BC,KAA9B,EAA6CC,MAA7C,EAA6D;AAC3D,MAAMC,QAAQ,GAAGF,KAAK,GAAG,GAAzB;AACA,SAAO,IAAIG,IAAI,CAACC,EAAT,GAAcH,MAAd,IAAwB,IAAIC,QAA5B,CAAP;AACD;;AAWD,IAAMG,oBAEL,GAAG,SAFEA,oBAEF,OAO6B;AAAA,qBAN/BC,EAM+B;AAAA,MAN/BA,EAM+B,wBAN1B,IAM0B;AAAA,uBAL/BC,IAK+B;AAAA,MAL/BA,IAK+B,0BALxB,EAKwB;AAAA,8BAJ/BC,WAI+B;AAAA,MAJ/BA,WAI+B,iCAJjB,GAIiB;AAAA,MAH/BC,KAG+B,QAH/BA,KAG+B;AAAA,2BAF/BP,QAE+B;AAAA,MAF/BA,QAE+B,8BAFpB,CAEoB;AAAA,4BAD/B,YAC+B;AAAA,MADjBQ,SACiB,+BADL,0BACK;AAC/B,MAAMT,MAAM,GAAG,MAAMM,IAAN,GAAa,MAAMC,WAAlC;AACA,MAAMG,SAAS,GAAG,IAAIR,IAAI,CAACC,EAAT,GAAcH,MAAhC;AACA,MAAMW,YAAY,GAAG,MAAML,IAA3B;AAEA,MAAMM,UAAU,GAAGd,oBAAoB,CAACO,EAAE,GAAG,EAAH,GAAQJ,QAAX,EAAqBD,MAArB,CAAvC;AAEA,SACE;AACE,IAAA,SAAS,EAAEH,UAAU,CAAC,wBAAD,EAA2B;AAC9C,oCAA8BQ;AADgB,KAA3B,CADvB;AAIE,IAAA,KAAK,EAAEG,KAJT;AAKE,kBAAYH,EAAE,GAAGI,SAAH,GAAeI;AAL/B,KAOE;AACE,IAAA,IAAI,EAAC,cADP;AAEE,IAAA,SAAS,EAAC,6BAFZ;AAGE,IAAA,KAAK,EAAE;AACLC,MAAAA,KAAK,EAAER,IADF;AAELS,MAAAA,MAAM,EAAET;AAFH,KAHT;AAOE,IAAA,OAAO,gBAASA,IAAT,cAAiBA,IAAjB,CAPT;AAQE,IAAA,KAAK,EAAC;AARR,KAUE;AACE,IAAA,KAAK,EAAE;AACLQ,MAAAA,KAAK,EAAER,IADF;AAELS,MAAAA,MAAM,EAAET,IAFH;AAGLU,MAAAA,eAAe,YAAKL,YAAL,gBAAuBA,YAAvB;AAHV;AADT,KAOE;AACE,IAAA,SAAS,EAAC,6BADZ;AAEE,IAAA,IAAI,EAAC,MAFP;AAGE,IAAA,eAAe,EAAED,SAHnB;AAIE,IAAA,gBAAgB,EAAEE,UAJpB;AAKE,IAAA,WAAW,EAAEL,WALf;AAME,IAAA,aAAa,EAAC,OANhB;AAOE,IAAA,EAAE,EAAEI,YAPN;AAQE,IAAA,EAAE,EAAEA,YARN;AASE,IAAA,CAAC,EAAEX;AATL,IAPF,CAVF,CAPF,CADF;AAwCD,CAxDD,C,CA0DA;;;AACA,4BAAeJ,KAAK,CAACqB,IAAN,CAAWb,oBAAX,CAAf","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./PullToRefresh.css\";\n\nfunction calcStrokeDashOffset(value: number, radius: number) {\n const progress = value / 100;\n return 2 * Math.PI * radius * (1 - progress);\n}\n\nexport interface PullToRefreshSpinnerProps\n extends React.HTMLAttributes<HTMLDivElement> {\n size?: number;\n strokeWidth?: number;\n on?: boolean;\n progress?: number;\n \"aria-label\"?: string;\n}\n\nconst PullToRefreshSpinner: React.FunctionComponent<\n PullToRefreshSpinnerProps\n> = ({\n on = true,\n size = 24,\n strokeWidth = 2.5,\n style,\n progress = 0,\n \"aria-label\": ariaLabel = \"Пожалуйста, подождите...\",\n}: PullToRefreshSpinnerProps) => {\n const radius = 0.5 * size - 0.5 * strokeWidth;\n const dasharray = 2 * Math.PI * radius;\n const circleCenter = 0.5 * size;\n\n const dashoffset = calcStrokeDashOffset(on ? 80 : progress, radius);\n\n return (\n <div\n vkuiClass={classNames(\"PullToRefresh__spinner\", {\n \"PullToRefresh__spinner--on\": on,\n })}\n style={style}\n aria-label={on ? ariaLabel : undefined}\n >\n <svg\n role=\"presentation\"\n vkuiClass=\"PullToRefresh__spinner-self\"\n style={{\n width: size,\n height: size,\n }}\n viewBox={`0 0 ${size} ${size}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g\n style={{\n width: size,\n height: size,\n transformOrigin: `${circleCenter}px ${circleCenter}px`,\n }}\n >\n <circle\n vkuiClass=\"PullToRefresh__spinner-path\"\n fill=\"none\"\n strokeDasharray={dasharray}\n strokeDashoffset={dashoffset}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n cx={circleCenter}\n cy={circleCenter}\n r={radius}\n />\n </g>\n </svg>\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default React.memo(PullToRefreshSpinner);\n"],"file":"PullToRefreshSpinner.js"}
1
+ {"version":3,"sources":["../../../src/components/PullToRefresh/PullToRefreshSpinner.tsx"],"names":["React","classNames","calcStrokeDashOffset","value","radius","progress","Math","PI","PullToRefreshSpinner","on","size","strokeWidth","style","ariaLabel","dasharray","circleCenter","dashoffset","undefined","width","height","transformOrigin","memo"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;;AAGA,SAASC,oBAAT,CAA8BC,KAA9B,EAA6CC,MAA7C,EAA6D;AAC3D,MAAMC,QAAQ,GAAGF,KAAK,GAAG,GAAzB;AACA,SAAO,IAAIG,IAAI,CAACC,EAAT,GAAcH,MAAd,IAAwB,IAAIC,QAA5B,CAAP;AACD;;AAWD,IAAMG,oBAEL,GAAG,SAFEA,oBAEF,OAO6B;AAAA,qBAN/BC,EAM+B;AAAA,MAN/BA,EAM+B,wBAN1B,IAM0B;AAAA,uBAL/BC,IAK+B;AAAA,MAL/BA,IAK+B,0BALxB,EAKwB;AAAA,8BAJ/BC,WAI+B;AAAA,MAJ/BA,WAI+B,iCAJjB,GAIiB;AAAA,MAH/BC,KAG+B,QAH/BA,KAG+B;AAAA,2BAF/BP,QAE+B;AAAA,MAF/BA,QAE+B,8BAFpB,CAEoB;AAAA,4BAD/B,YAC+B;AAAA,MADjBQ,SACiB,+BADL,0BACK;AAC/B,MAAMT,MAAM,GAAG,MAAMM,IAAN,GAAa,MAAMC,WAAlC;AACA,MAAMG,SAAS,GAAG,IAAIR,IAAI,CAACC,EAAT,GAAcH,MAAhC;AACA,MAAMW,YAAY,GAAG,MAAML,IAA3B;AAEA,MAAMM,UAAU,GAAGd,oBAAoB,CAACO,EAAE,GAAG,EAAH,GAAQJ,QAAX,EAAqBD,MAArB,CAAvC;AAEA,SACE;AACE;AACA,IAAA,SAAS,EAAEH,UAAU,CAAC,wBAAD,EAA2B;AAC9C,oCAA8BQ;AADgB,KAA3B,CAFvB;AAKE,IAAA,KAAK,EAAEG,KALT;AAME,kBAAYH,EAAE,GAAGI,SAAH,GAAeI;AAN/B,KAQE;AACE,IAAA,IAAI,EAAC,cADP;AAEE,IAAA,SAAS,EAAC,6BAFZ;AAGE,IAAA,KAAK,EAAE;AACLC,MAAAA,KAAK,EAAER,IADF;AAELS,MAAAA,MAAM,EAAET;AAFH,KAHT;AAOE,IAAA,OAAO,gBAASA,IAAT,cAAiBA,IAAjB,CAPT;AAQE,IAAA,KAAK,EAAC;AARR,KAUE;AACE,IAAA,KAAK,EAAE;AACLQ,MAAAA,KAAK,EAAER,IADF;AAELS,MAAAA,MAAM,EAAET,IAFH;AAGLU,MAAAA,eAAe,YAAKL,YAAL,gBAAuBA,YAAvB;AAHV;AADT,KAOE;AACE,IAAA,SAAS,EAAC,6BADZ;AAEE,IAAA,IAAI,EAAC,MAFP;AAGE,IAAA,eAAe,EAAED,SAHnB;AAIE,IAAA,gBAAgB,EAAEE,UAJpB;AAKE,IAAA,WAAW,EAAEL,WALf;AAME,IAAA,aAAa,EAAC,OANhB;AAOE,IAAA,EAAE,EAAEI,YAPN;AAQE,IAAA,EAAE,EAAEA,YARN;AASE,IAAA,CAAC,EAAEX;AATL,IAPF,CAVF,CARF,CADF;AAyCD,CAzDD,C,CA2DA;;;AACA,4BAAeJ,KAAK,CAACqB,IAAN,CAAWb,oBAAX,CAAf","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./PullToRefresh.css\";\n\nfunction calcStrokeDashOffset(value: number, radius: number) {\n const progress = value / 100;\n return 2 * Math.PI * radius * (1 - progress);\n}\n\nexport interface PullToRefreshSpinnerProps\n extends React.HTMLAttributes<HTMLDivElement> {\n size?: number;\n strokeWidth?: number;\n on?: boolean;\n progress?: number;\n \"aria-label\"?: string;\n}\n\nconst PullToRefreshSpinner: React.FunctionComponent<\n PullToRefreshSpinnerProps\n> = ({\n on = true,\n size = 24,\n strokeWidth = 2.5,\n style,\n progress = 0,\n \"aria-label\": ariaLabel = \"Пожалуйста, подождите...\",\n}: PullToRefreshSpinnerProps) => {\n const radius = 0.5 * size - 0.5 * strokeWidth;\n const dasharray = 2 * Math.PI * radius;\n const circleCenter = 0.5 * size;\n\n const dashoffset = calcStrokeDashOffset(on ? 80 : progress, radius);\n\n return (\n <div\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"PullToRefresh__spinner\", {\n \"PullToRefresh__spinner--on\": on,\n })}\n style={style}\n aria-label={on ? ariaLabel : undefined}\n >\n <svg\n role=\"presentation\"\n vkuiClass=\"PullToRefresh__spinner-self\"\n style={{\n width: size,\n height: size,\n }}\n viewBox={`0 0 ${size} ${size}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g\n style={{\n width: size,\n height: size,\n transformOrigin: `${circleCenter}px ${circleCenter}px`,\n }}\n >\n <circle\n vkuiClass=\"PullToRefresh__spinner-path\"\n fill=\"none\"\n strokeDasharray={dasharray}\n strokeDashoffset={dashoffset}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n cx={circleCenter}\n cy={circleCenter}\n r={radius}\n />\n </g>\n </svg>\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default React.memo(PullToRefreshSpinner);\n"],"file":"PullToRefreshSpinner.js"}
@@ -9,7 +9,7 @@ import { IOS, VKCOM } from "../../lib/platform";
9
9
  import { usePlatform } from "../../hooks/usePlatform";
10
10
  import { withAdaptivity, SizeType } from "../../hoc/withAdaptivity";
11
11
  import { hasReactNode } from "../../lib/utils";
12
- import Caption from "../Typography/Caption/Caption";
12
+ import { Caption } from "../Typography/Caption/Caption";
13
13
  import Headline from "../Typography/Headline/Headline";
14
14
  import Text from "../Typography/Text/Text";
15
15
 
@@ -49,9 +49,6 @@ var Radio = function Radio(props) {
49
49
  }, createScopedElement("div", {
50
50
  vkuiClass: "Radio__children"
51
51
  }, children), hasReactNode(description) && createScopedElement(Caption, {
52
- level: "1",
53
- Component: "span",
54
- weight: "regular",
55
52
  vkuiClass: "Radio__description"
56
53
  }, description))));
57
54
  }; // eslint-disable-next-line import/no-default-export
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Radio/Radio.tsx"],"names":["Tappable","ACTIVE_EFFECT_DELAY","getClassName","classNames","IOS","VKCOM","usePlatform","withAdaptivity","SizeType","hasReactNode","Caption","Headline","Text","Radio","props","children","description","style","className","getRef","getRootRef","sizeY","restProps","platform","ContentComponent","COMPACT","disabled"],"mappings":";;;;AACA,OAAOA,QAAP,IAAmBC,mBAAnB;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,GAAT,EAAcC,KAAd;AAEA,SAASC,WAAT;AACA,SACEC,cADF,EAGEC,QAHF;AAKA,SAASC,YAAT;AACA,OAAOC,OAAP;AACA,OAAOC,QAAP;AACA,OAAOC,IAAP;;AAWA,IAAMC,KAA2B,GAAG,SAA9BA,KAA8B,CAACC,KAAD,EAAuB;AACzD,MACEC,QADF,GASID,KATJ,CACEC,QADF;AAAA,MAEEC,WAFF,GASIF,KATJ,CAEEE,WAFF;AAAA,MAGEC,KAHF,GASIH,KATJ,CAGEG,KAHF;AAAA,MAIEC,SAJF,GASIJ,KATJ,CAIEI,SAJF;AAAA,MAKEC,MALF,GASIL,KATJ,CAKEK,MALF;AAAA,MAMEC,UANF,GASIN,KATJ,CAMEM,UANF;AAAA,MAOEC,KAPF,GASIP,KATJ,CAOEO,KAPF;AAAA,MAQKC,SARL,4BASIR,KATJ;;AAUA,MAAMS,QAAQ,GAAGjB,WAAW,EAA5B;AAEA,MAAMkB,gBAAgB,GACpBD,QAAQ,KAAKlB,KAAb,IAAsBgB,KAAK,KAAKb,QAAQ,CAACiB,OAAzC,GAAmDb,IAAnD,GAA0DD,QAD5D;AAGA,SACE,oBAAC,QAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,KAAK,EAAEM,KAFT;AAGE,IAAA,SAAS,EAAEC,SAHb;AAIE,IAAA,SAAS,EAAEf,UAAU,CACnBD,YAAY,CAAC,OAAD,EAAUqB,QAAV,CADO,yBAEHF,KAFG,EAJvB;AAQE,IAAA,iBAAiB,EAAEE,QAAQ,KAAKnB,GAAb,GAAmB,GAAnB,GAAyBH,mBAR9C;AASE,IAAA,QAAQ,EAAEqB,SAAS,CAACI,QATtB;AAUE,IAAA,UAAU,EAAEN;AAVd,KAYE,0CACME,SADN;AAEE,IAAA,IAAI,EAAC,OAFP;AAGE,IAAA,SAAS,EAAC,cAHZ;AAIE,IAAA,GAAG,EAAEH;AAJP,KAZF,EAkBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAG,IAAA,SAAS,EAAC,aAAb;AAA2B,IAAA,IAAI,EAAC;AAAhC,IADF,EAEE,oBAAC,gBAAD;AACE,IAAA,MAAM,EAAC,SADT;AAEE,IAAA,SAAS,EAAC,gBAFZ;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCJ,QAAlC,CALF,EAMGN,YAAY,CAACO,WAAD,CAAZ,IACC,oBAAC,OAAD;AACE,IAAA,KAAK,EAAC,GADR;AAEE,IAAA,SAAS,EAAC,MAFZ;AAGE,IAAA,MAAM,EAAC,SAHT;AAIE,IAAA,SAAS,EAAC;AAJZ,KAMGA,WANH,CAPJ,CAFF,CAlBF,CADF;AAyCD,CAzDD,C,CA2DA;;;AACA,eAAeT,cAAc,CAACM,KAAD,EAAQ;AACnCQ,EAAAA,KAAK,EAAE;AAD4B,CAAR,CAA7B","sourcesContent":["import * as React from \"react\";\nimport Tappable, { ACTIVE_EFFECT_DELAY } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, VKCOM } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Text from \"../Typography/Text/Text\";\nimport \"./Radio.css\";\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n AdaptivityProps {\n description?: React.ReactNode;\n}\n\nconst Radio: React.FC<RadioProps> = (props: RadioProps) => {\n const {\n children,\n description,\n style,\n className,\n getRef,\n getRootRef,\n sizeY,\n ...restProps\n } = props;\n const platform = usePlatform();\n\n const ContentComponent =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <Tappable\n Component=\"label\"\n style={style}\n className={className}\n vkuiClass={classNames(\n getClassName(\"Radio\", platform),\n `Radio--sizeY-${sizeY}`\n )}\n activeEffectDelay={platform === IOS ? 100 : ACTIVE_EFFECT_DELAY}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n >\n <input\n {...restProps}\n type=\"radio\"\n vkuiClass=\"Radio__input\"\n ref={getRef}\n />\n <div vkuiClass=\"Radio__container\">\n <i vkuiClass=\"Radio__icon\" role=\"presentation\" />\n <ContentComponent\n weight=\"regular\"\n vkuiClass=\"Radio__content\"\n Component=\"div\"\n >\n <div vkuiClass=\"Radio__children\">{children}</div>\n {hasReactNode(description) && (\n <Caption\n level=\"1\"\n Component=\"span\"\n weight=\"regular\"\n vkuiClass=\"Radio__description\"\n >\n {description}\n </Caption>\n )}\n </ContentComponent>\n </div>\n </Tappable>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Radio, {\n sizeY: true,\n});\n"],"file":"Radio.js"}
1
+ {"version":3,"sources":["../../../src/components/Radio/Radio.tsx"],"names":["Tappable","ACTIVE_EFFECT_DELAY","getClassName","classNames","IOS","VKCOM","usePlatform","withAdaptivity","SizeType","hasReactNode","Caption","Headline","Text","Radio","props","children","description","style","className","getRef","getRootRef","sizeY","restProps","platform","ContentComponent","COMPACT","disabled"],"mappings":";;;;AACA,OAAOA,QAAP,IAAmBC,mBAAnB;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,GAAT,EAAcC,KAAd;AAEA,SAASC,WAAT;AACA,SACEC,cADF,EAGEC,QAHF;AAKA,SAASC,YAAT;AACA,SAASC,OAAT;AACA,OAAOC,QAAP;AACA,OAAOC,IAAP;;AAWA,IAAMC,KAA2B,GAAG,SAA9BA,KAA8B,CAACC,KAAD,EAAuB;AACzD,MACEC,QADF,GASID,KATJ,CACEC,QADF;AAAA,MAEEC,WAFF,GASIF,KATJ,CAEEE,WAFF;AAAA,MAGEC,KAHF,GASIH,KATJ,CAGEG,KAHF;AAAA,MAIEC,SAJF,GASIJ,KATJ,CAIEI,SAJF;AAAA,MAKEC,MALF,GASIL,KATJ,CAKEK,MALF;AAAA,MAMEC,UANF,GASIN,KATJ,CAMEM,UANF;AAAA,MAOEC,KAPF,GASIP,KATJ,CAOEO,KAPF;AAAA,MAQKC,SARL,4BASIR,KATJ;;AAUA,MAAMS,QAAQ,GAAGjB,WAAW,EAA5B;AAEA,MAAMkB,gBAAgB,GACpBD,QAAQ,KAAKlB,KAAb,IAAsBgB,KAAK,KAAKb,QAAQ,CAACiB,OAAzC,GAAmDb,IAAnD,GAA0DD,QAD5D;AAGA,SACE,oBAAC,QAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,KAAK,EAAEM,KAFT;AAGE,IAAA,SAAS,EAAEC,SAHb;AAIE,IAAA,SAAS,EAAEf,UAAU,CACnBD,YAAY,CAAC,OAAD,EAAUqB,QAAV,CADO,yBAEHF,KAFG,EAJvB;AAQE,IAAA,iBAAiB,EAAEE,QAAQ,KAAKnB,GAAb,GAAmB,GAAnB,GAAyBH,mBAR9C;AASE,IAAA,QAAQ,EAAEqB,SAAS,CAACI,QATtB;AAUE,IAAA,UAAU,EAAEN;AAVd,KAYE,0CACME,SADN;AAEE,IAAA,IAAI,EAAC,OAFP;AAGE,IAAA,SAAS,EAAC,cAHZ;AAIE,IAAA,GAAG,EAAEH;AAJP,KAZF,EAkBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAG,IAAA,SAAS,EAAC,aAAb;AAA2B,IAAA,IAAI,EAAC;AAAhC,IADF,EAEE,oBAAC,gBAAD;AACE,IAAA,MAAM,EAAC,SADT;AAEE,IAAA,SAAS,EAAC,gBAFZ;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCJ,QAAlC,CALF,EAMGN,YAAY,CAACO,WAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAyCA,WAAzC,CAPJ,CAFF,CAlBF,CADF;AAkCD,CAlDD,C,CAoDA;;;AACA,eAAeT,cAAc,CAACM,KAAD,EAAQ;AACnCQ,EAAAA,KAAK,EAAE;AAD4B,CAAR,CAA7B","sourcesContent":["import * as React from \"react\";\nimport Tappable, { ACTIVE_EFFECT_DELAY } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, VKCOM } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Text from \"../Typography/Text/Text\";\nimport \"./Radio.css\";\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n AdaptivityProps {\n description?: React.ReactNode;\n}\n\nconst Radio: React.FC<RadioProps> = (props: RadioProps) => {\n const {\n children,\n description,\n style,\n className,\n getRef,\n getRootRef,\n sizeY,\n ...restProps\n } = props;\n const platform = usePlatform();\n\n const ContentComponent =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <Tappable\n Component=\"label\"\n style={style}\n className={className}\n vkuiClass={classNames(\n getClassName(\"Radio\", platform),\n `Radio--sizeY-${sizeY}`\n )}\n activeEffectDelay={platform === IOS ? 100 : ACTIVE_EFFECT_DELAY}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n >\n <input\n {...restProps}\n type=\"radio\"\n vkuiClass=\"Radio__input\"\n ref={getRef}\n />\n <div vkuiClass=\"Radio__container\">\n <i vkuiClass=\"Radio__icon\" role=\"presentation\" />\n <ContentComponent\n weight=\"regular\"\n vkuiClass=\"Radio__content\"\n Component=\"div\"\n >\n <div vkuiClass=\"Radio__children\">{children}</div>\n {hasReactNode(description) && (\n <Caption vkuiClass=\"Radio__description\">{description}</Caption>\n )}\n </ContentComponent>\n </div>\n </Tappable>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Radio, {\n sizeY: true,\n});\n"],"file":"Radio.js"}