@vkontakte/vkui 4.19.0 → 4.22.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 (580) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +493 -125
  4. package/.cache/ts/src/components/ActionSheet/types.d.ts +2 -2
  5. package/.cache/ts/src/components/Alert/Alert.d.ts +1 -0
  6. package/.cache/ts/src/components/AppRoot/AppRootContext.d.ts +1 -0
  7. package/.cache/ts/src/components/Avatar/Avatar.d.ts +2 -0
  8. package/.cache/ts/src/components/Cell/Cell.d.ts +11 -0
  9. package/.cache/ts/src/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
  10. package/.cache/ts/src/components/Cell/CellDragger/CellDragger.d.ts +6 -0
  11. package/.cache/ts/src/components/Cell/useDraggable.d.ts +13 -0
  12. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +0 -1
  13. package/.cache/ts/src/components/DropdownIcon/DropdownIcon.d.ts +3 -0
  14. package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +8 -0
  15. package/.cache/ts/src/components/FormField/FormField.d.ts +2 -3
  16. package/.cache/ts/src/components/FormItem/FormItem.d.ts +2 -3
  17. package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +2 -4
  18. package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +9 -0
  19. package/.cache/ts/src/components/HorizontalCell/HorizontalCell.d.ts +2 -3
  20. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +3 -2
  21. package/.cache/ts/src/components/InitialsAvatar/InitialsAvatar.d.ts +33 -0
  22. package/.cache/ts/src/components/Link/Link.d.ts +1 -2
  23. package/.cache/ts/src/components/ModalRoot/types.d.ts +0 -1
  24. package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +37 -0
  25. package/.cache/ts/src/components/PullToRefresh/PullToRefresh.d.ts +0 -1
  26. package/.cache/ts/src/components/Removable/Removable.d.ts +2 -1
  27. package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +2 -2
  28. package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +3 -3
  29. package/.cache/ts/src/components/SubnavigationBar/SubnavigationBar.d.ts +2 -1
  30. package/.cache/ts/src/components/Switch/Switch.d.ts +2 -3
  31. package/.cache/ts/src/components/Tappable/Tappable.d.ts +2 -3
  32. package/.cache/ts/src/components/Touch/Touch.d.ts +16 -17
  33. package/.cache/ts/src/components/Typography/Caption/Caption.d.ts +2 -2
  34. package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +2 -2
  35. package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +2 -2
  36. package/.cache/ts/src/components/Typography/Text/Text.d.ts +2 -3
  37. package/.cache/ts/src/components/Typography/Title/Title.d.ts +2 -2
  38. package/.cache/ts/src/components/View/utils.d.ts +2 -0
  39. package/.cache/ts/src/index.d.ts +4 -0
  40. package/.cache/ts/src/lib/accessibility.d.ts +4 -2
  41. package/.cache/ts/src/lib/is.d.ts +1 -0
  42. package/.cache/ts/src/lib/supportEvents.d.ts +3 -1
  43. package/.cache/ts/src/testing/utils.d.ts +2 -0
  44. package/.cache/ts/src/types.d.ts +3 -0
  45. package/dist/cjs/components/ActionSheet/ActionSheet.js +13 -12
  46. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  47. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js +3 -1
  48. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  49. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +10 -5
  50. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  51. package/dist/cjs/components/ActionSheet/types.d.ts +2 -2
  52. package/dist/cjs/components/Alert/Alert.d.ts +1 -0
  53. package/dist/cjs/components/Alert/Alert.js +12 -3
  54. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  55. package/dist/cjs/components/AppRoot/AppRoot.js +2 -1
  56. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  57. package/dist/cjs/components/AppRoot/AppRootContext.d.ts +1 -0
  58. package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
  59. package/dist/cjs/components/Avatar/Avatar.d.ts +2 -0
  60. package/dist/cjs/components/Avatar/Avatar.js +7 -3
  61. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  62. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  63. package/dist/cjs/components/Button/Button.js.map +1 -1
  64. package/dist/cjs/components/Cell/Cell.d.ts +11 -0
  65. package/dist/cjs/components/Cell/Cell.js +109 -182
  66. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  67. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
  68. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js +50 -0
  69. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -0
  70. package/dist/cjs/components/Cell/CellDragger/CellDragger.d.ts +6 -0
  71. package/dist/cjs/components/Cell/CellDragger/CellDragger.js +53 -0
  72. package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -0
  73. package/dist/cjs/components/Cell/useDraggable.d.ts +13 -0
  74. package/dist/cjs/components/Cell/useDraggable.js +140 -0
  75. package/dist/cjs/components/Cell/useDraggable.js.map +1 -0
  76. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +2 -2
  77. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  78. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  79. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +0 -1
  80. package/dist/cjs/components/CustomSelect/CustomSelect.js +6 -4
  81. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  82. package/dist/cjs/components/DatePicker/DatePicker.js +6 -4
  83. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  84. package/dist/cjs/components/DropdownIcon/DropdownIcon.d.ts +3 -0
  85. package/dist/cjs/components/DropdownIcon/DropdownIcon.js +37 -0
  86. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -0
  87. package/dist/cjs/components/FocusTrap/FocusTrap.d.ts +8 -0
  88. package/dist/cjs/components/FocusTrap/FocusTrap.js +165 -0
  89. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -0
  90. package/dist/cjs/components/FormField/FormField.d.ts +2 -3
  91. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  92. package/dist/cjs/components/FormItem/FormItem.d.ts +2 -3
  93. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  94. package/dist/cjs/components/FormLayout/FormLayout.d.ts +2 -4
  95. package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
  96. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +1 -0
  97. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  98. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +9 -0
  99. package/dist/cjs/components/GridAvatar/GridAvatar.js +61 -0
  100. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -0
  101. package/dist/cjs/components/Header/Header.js.map +1 -1
  102. package/dist/cjs/components/HorizontalCell/HorizontalCell.d.ts +2 -3
  103. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  104. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +3 -2
  105. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +10 -13
  106. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  107. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.d.ts +33 -0
  108. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js +64 -0
  109. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js.map +1 -0
  110. package/dist/cjs/components/Link/Link.d.ts +1 -2
  111. package/dist/cjs/components/Link/Link.js.map +1 -1
  112. package/dist/cjs/components/ModalRoot/ModalRoot.js +184 -368
  113. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  114. package/dist/cjs/components/ModalRoot/ModalRootContext.js +0 -3
  115. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  116. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +74 -244
  117. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  118. package/dist/cjs/components/ModalRoot/types.d.ts +0 -1
  119. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  120. package/dist/cjs/components/ModalRoot/useModalManager.d.ts +37 -0
  121. package/dist/cjs/components/ModalRoot/useModalManager.js +213 -0
  122. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -0
  123. package/dist/cjs/components/NativeSelect/NativeSelect.js +2 -2
  124. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  125. package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +0 -1
  126. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +34 -25
  127. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  128. package/dist/cjs/components/Removable/Removable.d.ts +2 -1
  129. package/dist/cjs/components/Removable/Removable.js +75 -66
  130. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  131. package/dist/cjs/components/Root/Root.js +1 -0
  132. package/dist/cjs/components/Root/Root.js.map +1 -1
  133. package/dist/cjs/components/Search/Search.js +1 -1
  134. package/dist/cjs/components/Search/Search.js.map +1 -1
  135. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +2 -2
  136. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  137. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +2 -2
  138. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  139. package/dist/cjs/components/SplitCol/SplitCol.d.ts +3 -3
  140. package/dist/cjs/components/SplitCol/SplitCol.js +2 -4
  141. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  142. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.d.ts +2 -1
  143. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js +38 -11
  144. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  145. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  146. package/dist/cjs/components/Switch/Switch.d.ts +2 -3
  147. package/dist/cjs/components/Switch/Switch.js +18 -8
  148. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  149. package/dist/cjs/components/Tappable/Tappable.d.ts +2 -3
  150. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  151. package/dist/cjs/components/Textarea/Textarea.js +9 -7
  152. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  153. package/dist/cjs/components/Touch/Touch.d.ts +16 -17
  154. package/dist/cjs/components/Touch/Touch.js +34 -14
  155. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  156. package/dist/cjs/components/Typography/Caption/Caption.d.ts +2 -2
  157. package/dist/cjs/components/Typography/Caption/Caption.js +4 -2
  158. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  159. package/dist/cjs/components/Typography/Headline/Headline.d.ts +2 -2
  160. package/dist/cjs/components/Typography/Headline/Headline.js +2 -1
  161. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  162. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +2 -2
  163. package/dist/cjs/components/Typography/Subhead/Subhead.js +2 -1
  164. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  165. package/dist/cjs/components/Typography/Text/Text.d.ts +2 -3
  166. package/dist/cjs/components/Typography/Text/Text.js +2 -1
  167. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  168. package/dist/cjs/components/Typography/Title/Title.d.ts +2 -2
  169. package/dist/cjs/components/Typography/Title/Title.js +9 -4
  170. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  171. package/dist/cjs/components/View/View.js +68 -75
  172. package/dist/cjs/components/View/View.js.map +1 -1
  173. package/dist/cjs/components/View/ViewInfinite.js +78 -85
  174. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  175. package/dist/cjs/components/View/utils.d.ts +2 -0
  176. package/dist/cjs/components/View/utils.js +13 -0
  177. package/dist/cjs/components/View/utils.js.map +1 -0
  178. package/dist/cjs/index.d.ts +4 -0
  179. package/dist/cjs/index.js +16 -0
  180. package/dist/cjs/index.js.map +1 -1
  181. package/dist/cjs/lib/accessibility.d.ts +4 -2
  182. package/dist/cjs/lib/accessibility.js +8 -1
  183. package/dist/cjs/lib/accessibility.js.map +1 -1
  184. package/dist/cjs/lib/is.d.ts +1 -0
  185. package/dist/cjs/lib/is.js +13 -0
  186. package/dist/cjs/lib/is.js.map +1 -0
  187. package/dist/cjs/lib/prefixClass.js +7 -6
  188. package/dist/cjs/lib/prefixClass.js.map +1 -1
  189. package/dist/cjs/lib/supportEvents.d.ts +3 -1
  190. package/dist/cjs/lib/supportEvents.js +1 -4
  191. package/dist/cjs/lib/supportEvents.js.map +1 -1
  192. package/dist/cjs/types.d.ts +3 -0
  193. package/dist/components/ActionSheet/ActionSheet.js +12 -12
  194. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  195. package/dist/components/ActionSheet/ActionSheetDropdown.js +2 -1
  196. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  197. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +9 -5
  198. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  199. package/dist/components/ActionSheet/types.d.ts +2 -2
  200. package/dist/components/Alert/Alert.d.ts +1 -0
  201. package/dist/components/Alert/Alert.js +11 -3
  202. package/dist/components/Alert/Alert.js.map +1 -1
  203. package/dist/components/AppRoot/AppRoot.js +2 -1
  204. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  205. package/dist/components/AppRoot/AppRootContext.d.ts +1 -0
  206. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  207. package/dist/components/Avatar/Avatar.d.ts +2 -0
  208. package/dist/components/Avatar/Avatar.js +4 -2
  209. package/dist/components/Avatar/Avatar.js.map +1 -1
  210. package/dist/components/Banner/Banner.js.map +1 -1
  211. package/dist/components/Button/Button.js.map +1 -1
  212. package/dist/components/Cell/Cell.d.ts +11 -0
  213. package/dist/components/Cell/Cell.js +103 -177
  214. package/dist/components/Cell/Cell.js.map +1 -1
  215. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
  216. package/dist/components/Cell/CellCheckbox/CellCheckbox.js +31 -0
  217. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -0
  218. package/dist/components/Cell/CellDragger/CellDragger.d.ts +6 -0
  219. package/dist/components/Cell/CellDragger/CellDragger.js +30 -0
  220. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -0
  221. package/dist/components/Cell/useDraggable.d.ts +13 -0
  222. package/dist/components/Cell/useDraggable.js +125 -0
  223. package/dist/components/Cell/useDraggable.js.map +1 -0
  224. package/dist/components/ChipsSelect/ChipsSelect.js +2 -2
  225. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  226. package/dist/components/Counter/Counter.js.map +1 -1
  227. package/dist/components/CustomSelect/CustomSelect.d.ts +0 -1
  228. package/dist/components/CustomSelect/CustomSelect.js +6 -6
  229. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  230. package/dist/components/DatePicker/DatePicker.js +6 -4
  231. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  232. package/dist/components/DropdownIcon/DropdownIcon.d.ts +3 -0
  233. package/dist/components/DropdownIcon/DropdownIcon.js +19 -0
  234. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -0
  235. package/dist/components/FocusTrap/FocusTrap.d.ts +8 -0
  236. package/dist/components/FocusTrap/FocusTrap.js +138 -0
  237. package/dist/components/FocusTrap/FocusTrap.js.map +1 -0
  238. package/dist/components/FormField/FormField.d.ts +2 -3
  239. package/dist/components/FormField/FormField.js.map +1 -1
  240. package/dist/components/FormItem/FormItem.d.ts +2 -3
  241. package/dist/components/FormItem/FormItem.js.map +1 -1
  242. package/dist/components/FormLayout/FormLayout.d.ts +2 -4
  243. package/dist/components/FormLayout/FormLayout.js.map +1 -1
  244. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +1 -0
  245. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  246. package/dist/components/GridAvatar/GridAvatar.d.ts +9 -0
  247. package/dist/components/GridAvatar/GridAvatar.js +41 -0
  248. package/dist/components/GridAvatar/GridAvatar.js.map +1 -0
  249. package/dist/components/Header/Header.js.map +1 -1
  250. package/dist/components/HorizontalCell/HorizontalCell.d.ts +2 -3
  251. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  252. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +3 -2
  253. package/dist/components/HorizontalScroll/HorizontalScroll.js +10 -12
  254. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  255. package/dist/components/InitialsAvatar/InitialsAvatar.d.ts +33 -0
  256. package/dist/components/InitialsAvatar/InitialsAvatar.js +46 -0
  257. package/dist/components/InitialsAvatar/InitialsAvatar.js.map +1 -0
  258. package/dist/components/Link/Link.d.ts +1 -2
  259. package/dist/components/Link/Link.js.map +1 -1
  260. package/dist/components/ModalRoot/ModalRoot.js +181 -371
  261. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  262. package/dist/components/ModalRoot/ModalRootContext.js +0 -3
  263. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  264. package/dist/components/ModalRoot/ModalRootDesktop.js +72 -248
  265. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  266. package/dist/components/ModalRoot/types.d.ts +0 -1
  267. package/dist/components/ModalRoot/types.js.map +1 -1
  268. package/dist/components/ModalRoot/useModalManager.d.ts +37 -0
  269. package/dist/components/ModalRoot/useModalManager.js +189 -0
  270. package/dist/components/ModalRoot/useModalManager.js.map +1 -0
  271. package/dist/components/NativeSelect/NativeSelect.js +2 -2
  272. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  273. package/dist/components/PullToRefresh/PullToRefresh.d.ts +0 -1
  274. package/dist/components/PullToRefresh/PullToRefresh.js +35 -25
  275. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  276. package/dist/components/Removable/Removable.d.ts +2 -1
  277. package/dist/components/Removable/Removable.js +73 -64
  278. package/dist/components/Removable/Removable.js.map +1 -1
  279. package/dist/components/Root/Root.js +1 -0
  280. package/dist/components/Root/Root.js.map +1 -1
  281. package/dist/components/Search/Search.js +1 -1
  282. package/dist/components/Search/Search.js.map +1 -1
  283. package/dist/components/SelectMimicry/SelectMimicry.js +2 -2
  284. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  285. package/dist/components/SimpleCell/SimpleCell.d.ts +2 -2
  286. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  287. package/dist/components/SplitCol/SplitCol.d.ts +3 -3
  288. package/dist/components/SplitCol/SplitCol.js +2 -4
  289. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  290. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +2 -1
  291. package/dist/components/SubnavigationBar/SubnavigationBar.js +38 -11
  292. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  293. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  294. package/dist/components/Switch/Switch.d.ts +2 -3
  295. package/dist/components/Switch/Switch.js +15 -8
  296. package/dist/components/Switch/Switch.js.map +1 -1
  297. package/dist/components/Tappable/Tappable.d.ts +2 -3
  298. package/dist/components/Tappable/Tappable.js.map +1 -1
  299. package/dist/components/Textarea/Textarea.js +9 -6
  300. package/dist/components/Textarea/Textarea.js.map +1 -1
  301. package/dist/components/Touch/Touch.d.ts +16 -17
  302. package/dist/components/Touch/Touch.js +34 -14
  303. package/dist/components/Touch/Touch.js.map +1 -1
  304. package/dist/components/Typography/Caption/Caption.d.ts +2 -2
  305. package/dist/components/Typography/Caption/Caption.js +4 -2
  306. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  307. package/dist/components/Typography/Headline/Headline.d.ts +2 -2
  308. package/dist/components/Typography/Headline/Headline.js +2 -1
  309. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  310. package/dist/components/Typography/Subhead/Subhead.d.ts +2 -2
  311. package/dist/components/Typography/Subhead/Subhead.js +2 -1
  312. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  313. package/dist/components/Typography/Text/Text.d.ts +2 -3
  314. package/dist/components/Typography/Text/Text.js +2 -1
  315. package/dist/components/Typography/Text/Text.js.map +1 -1
  316. package/dist/components/Typography/Title/Title.d.ts +2 -2
  317. package/dist/components/Typography/Title/Title.js +9 -4
  318. package/dist/components/Typography/Title/Title.js.map +1 -1
  319. package/dist/components/View/View.js +67 -75
  320. package/dist/components/View/View.js.map +1 -1
  321. package/dist/components/View/ViewInfinite.js +79 -87
  322. package/dist/components/View/ViewInfinite.js.map +1 -1
  323. package/dist/components/View/utils.d.ts +2 -0
  324. package/dist/components/View/utils.js +6 -0
  325. package/dist/components/View/utils.js.map +1 -0
  326. package/dist/components.css +1 -1
  327. package/dist/components.css.map +1 -1
  328. package/dist/cssm/components/ActionSheet/ActionSheet.js +12 -12
  329. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  330. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +2 -1
  331. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  332. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +9 -5
  333. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  334. package/dist/cssm/components/Alert/Alert.js +11 -3
  335. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  336. package/dist/cssm/components/AppRoot/AppRoot.js +2 -1
  337. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  338. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  339. package/dist/cssm/components/Avatar/Avatar.js +4 -2
  340. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  341. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  342. package/dist/cssm/components/Button/Button.css +1 -1
  343. package/dist/cssm/components/Button/Button.js.map +1 -1
  344. package/dist/cssm/components/Cell/Cell.css +1 -1
  345. package/dist/cssm/components/Cell/Cell.js +103 -177
  346. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  347. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.css +1 -0
  348. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js +32 -0
  349. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -0
  350. package/dist/cssm/components/Cell/CellDragger/CellDragger.css +1 -0
  351. package/dist/cssm/components/Cell/CellDragger/CellDragger.js +31 -0
  352. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -0
  353. package/dist/cssm/components/Cell/useDraggable.js +125 -0
  354. package/dist/cssm/components/Cell/useDraggable.js.map +1 -0
  355. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +2 -2
  356. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  357. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  358. package/dist/cssm/components/CustomSelect/CustomSelect.js +6 -6
  359. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  360. package/dist/cssm/components/DatePicker/DatePicker.js +6 -4
  361. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  362. package/dist/cssm/components/DropdownIcon/DropdownIcon.css +1 -0
  363. package/dist/cssm/components/DropdownIcon/DropdownIcon.js +20 -0
  364. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -0
  365. package/dist/cssm/components/FocusTrap/FocusTrap.js +138 -0
  366. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -0
  367. package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
  368. package/dist/cssm/components/FormField/FormField.css +1 -1
  369. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  370. package/dist/cssm/components/FormItem/FormItem.css +1 -1
  371. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  372. package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
  373. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  374. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +1 -0
  375. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  376. package/dist/cssm/components/Gallery/Gallery.css +1 -1
  377. package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -0
  378. package/dist/cssm/components/GridAvatar/GridAvatar.js +42 -0
  379. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -0
  380. package/dist/cssm/components/Header/Header.js.map +1 -1
  381. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  382. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +10 -12
  383. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  384. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +1 -1
  385. package/dist/cssm/components/IconButton/IconButton.css +1 -1
  386. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.css +1 -0
  387. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js +52 -0
  388. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js.map +1 -0
  389. package/dist/cssm/components/Link/Link.js.map +1 -1
  390. package/dist/cssm/components/ModalRoot/ModalRoot.js +181 -371
  391. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  392. package/dist/cssm/components/ModalRoot/ModalRootContext.js +0 -3
  393. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  394. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +72 -248
  395. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  396. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  397. package/dist/cssm/components/ModalRoot/useModalManager.js +189 -0
  398. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -0
  399. package/dist/cssm/components/NativeSelect/NativeSelect.js +2 -2
  400. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  401. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +35 -25
  402. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  403. package/dist/cssm/components/Removable/Removable.css +1 -1
  404. package/dist/cssm/components/Removable/Removable.js +73 -64
  405. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  406. package/dist/cssm/components/Root/Root.css +1 -1
  407. package/dist/cssm/components/Root/Root.js +1 -0
  408. package/dist/cssm/components/Root/Root.js.map +1 -1
  409. package/dist/cssm/components/Search/Search.css +1 -1
  410. package/dist/cssm/components/Search/Search.js +1 -1
  411. package/dist/cssm/components/Search/Search.js.map +1 -1
  412. package/dist/cssm/components/Select/Select.css +1 -1
  413. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +2 -2
  414. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  415. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  416. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  417. package/dist/cssm/components/SplitCol/SplitCol.js +2 -4
  418. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  419. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +38 -11
  420. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  421. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  422. package/dist/cssm/components/Switch/Switch.css +1 -1
  423. package/dist/cssm/components/Switch/Switch.js +15 -8
  424. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  425. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  426. package/dist/cssm/components/Textarea/Textarea.js +9 -6
  427. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  428. package/dist/cssm/components/Touch/Touch.js +34 -14
  429. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  430. package/dist/cssm/components/Typography/Caption/Caption.js +4 -2
  431. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  432. package/dist/cssm/components/Typography/Headline/Headline.js +2 -1
  433. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  434. package/dist/cssm/components/Typography/Subhead/Subhead.js +2 -1
  435. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  436. package/dist/cssm/components/Typography/Text/Text.js +2 -1
  437. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  438. package/dist/cssm/components/Typography/Title/Title.js +9 -4
  439. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  440. package/dist/cssm/components/View/View.js +67 -75
  441. package/dist/cssm/components/View/View.js.map +1 -1
  442. package/dist/cssm/components/View/ViewInfinite.js +79 -87
  443. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  444. package/dist/cssm/components/View/utils.js +6 -0
  445. package/dist/cssm/components/View/utils.js.map +1 -0
  446. package/dist/cssm/index.js +2 -0
  447. package/dist/cssm/index.js.map +1 -1
  448. package/dist/cssm/lib/accessibility.js +6 -0
  449. package/dist/cssm/lib/accessibility.js.map +1 -1
  450. package/dist/cssm/lib/is.js +6 -0
  451. package/dist/cssm/lib/is.js.map +1 -0
  452. package/dist/cssm/lib/prefixClass.js +7 -6
  453. package/dist/cssm/lib/prefixClass.js.map +1 -1
  454. package/dist/cssm/lib/supportEvents.js +1 -4
  455. package/dist/cssm/lib/supportEvents.js.map +1 -1
  456. package/dist/cssm/styles/components.css +1 -1
  457. package/dist/cssm/styles/themes.css +1 -1
  458. package/dist/cssm/styles/vkcom_light.css +1 -1
  459. package/dist/index.d.ts +4 -0
  460. package/dist/index.js +2 -0
  461. package/dist/index.js.map +1 -1
  462. package/dist/lib/accessibility.d.ts +4 -2
  463. package/dist/lib/accessibility.js +6 -0
  464. package/dist/lib/accessibility.js.map +1 -1
  465. package/dist/lib/is.d.ts +1 -0
  466. package/dist/lib/is.js +6 -0
  467. package/dist/lib/is.js.map +1 -0
  468. package/dist/lib/prefixClass.js +7 -6
  469. package/dist/lib/prefixClass.js.map +1 -1
  470. package/dist/lib/supportEvents.d.ts +3 -1
  471. package/dist/lib/supportEvents.js +1 -4
  472. package/dist/lib/supportEvents.js.map +1 -1
  473. package/dist/types.d.ts +3 -0
  474. package/dist/vkui.css +2 -2
  475. package/dist/vkui.css.map +1 -1
  476. package/package.json +8 -4
  477. package/src/components/ActionSheet/ActionSheet.tsx +9 -7
  478. package/src/components/ActionSheet/ActionSheetDropdown.tsx +3 -2
  479. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +9 -5
  480. package/src/components/ActionSheet/Readme.md +18 -14
  481. package/src/components/ActionSheet/types.ts +2 -2
  482. package/src/components/Alert/Alert.tsx +11 -4
  483. package/src/components/Alert/Readme.md +15 -11
  484. package/src/components/AppRoot/AppRoot.tsx +1 -0
  485. package/src/components/AppRoot/AppRootContext.ts +1 -0
  486. package/src/components/Avatar/Avatar.tsx +5 -2
  487. package/src/components/Banner/Banner.tsx +4 -5
  488. package/src/components/Button/Button.css +26 -53
  489. package/src/components/Button/Button.tsx +2 -3
  490. package/src/components/Card/Readme.md +6 -6
  491. package/src/components/Cell/Cell.css +21 -58
  492. package/src/components/Cell/Cell.tsx +101 -162
  493. package/src/components/Cell/CellCheckbox/CellCheckbox.css +17 -0
  494. package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +42 -0
  495. package/src/components/Cell/CellDragger/CellDragger.css +4 -0
  496. package/src/components/Cell/CellDragger/CellDragger.tsx +40 -0
  497. package/src/components/Cell/Readme.md +89 -51
  498. package/src/components/Cell/useDraggable.tsx +112 -0
  499. package/src/components/ChipsSelect/ChipsSelect.tsx +2 -2
  500. package/src/components/Counter/Counter.tsx +2 -2
  501. package/src/components/CustomSelect/CustomSelect.tsx +6 -5
  502. package/src/components/DatePicker/DatePicker.tsx +5 -5
  503. package/src/components/DropdownIcon/DropdownIcon.css +3 -0
  504. package/src/components/DropdownIcon/DropdownIcon.tsx +20 -0
  505. package/src/components/Epic/Readme.md +1 -1
  506. package/src/components/FocusTrap/FocusTrap.tsx +125 -0
  507. package/src/components/FocusVisible/FocusVisible.css +12 -4
  508. package/src/components/FormField/FormField.css +0 -1
  509. package/src/components/FormField/FormField.tsx +2 -2
  510. package/src/components/FormItem/FormItem.css +13 -14
  511. package/src/components/FormItem/FormItem.tsx +2 -3
  512. package/src/components/FormLayout/FormLayout.tsx +2 -4
  513. package/src/components/FormLayoutGroup/FormLayoutGroup.css +11 -7
  514. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +10 -1
  515. package/src/components/Gallery/Gallery.css +2 -3
  516. package/src/components/Gallery/Readme.md +89 -109
  517. package/src/components/GridAvatar/GridAvatar.css +37 -0
  518. package/src/components/GridAvatar/GridAvatar.tsx +55 -0
  519. package/src/components/GridAvatar/Readme.md +12 -0
  520. package/src/components/Group/Readme.md +18 -14
  521. package/src/components/Header/Header.tsx +4 -4
  522. package/src/components/HorizontalCell/HorizontalCell.tsx +3 -3
  523. package/src/components/HorizontalScroll/HorizontalScroll.tsx +14 -18
  524. package/src/components/HorizontalScroll/HorizontalScrollArrow.css +2 -2
  525. package/src/components/IconButton/IconButton.css +7 -0
  526. package/src/components/InitialsAvatar/InitialsAvatar.css +53 -0
  527. package/src/components/InitialsAvatar/InitialsAvatar.tsx +90 -0
  528. package/src/components/InitialsAvatar/Readme.md +14 -0
  529. package/src/components/Link/Link.tsx +1 -1
  530. package/src/components/MiniInfoCell/Readme.md +66 -62
  531. package/src/components/ModalDismissButton/Readme.md +13 -10
  532. package/src/components/ModalRoot/ModalRoot.tsx +170 -344
  533. package/src/components/ModalRoot/ModalRootContext.tsx +0 -1
  534. package/src/components/ModalRoot/ModalRootDesktop.tsx +62 -243
  535. package/src/components/ModalRoot/Readme.md +35 -27
  536. package/src/components/ModalRoot/types.ts +0 -1
  537. package/src/components/ModalRoot/useModalManager.tsx +174 -0
  538. package/src/components/NativeSelect/NativeSelect.tsx +2 -2
  539. package/src/components/PullToRefresh/PullToRefresh.tsx +30 -25
  540. package/src/components/Removable/Removable.css +16 -63
  541. package/src/components/Removable/Removable.tsx +84 -64
  542. package/src/components/Root/Root.css +5 -0
  543. package/src/components/Root/Root.tsx +4 -1
  544. package/src/components/ScreenSpinner/Readme.md +13 -9
  545. package/src/components/Search/Search.css +1 -1
  546. package/src/components/Search/Search.tsx +3 -3
  547. package/src/components/Select/Select.css +1 -1
  548. package/src/components/SelectMimicry/SelectMimicry.tsx +2 -2
  549. package/src/components/SimpleCell/SimpleCell.css +10 -18
  550. package/src/components/SimpleCell/SimpleCell.tsx +3 -5
  551. package/src/components/SplitCol/SplitCol.tsx +4 -8
  552. package/src/components/SplitLayout/Readme.md +2 -2
  553. package/src/components/SubnavigationBar/Readme.md +90 -86
  554. package/src/components/SubnavigationBar/SubnavigationBar.tsx +32 -14
  555. package/src/components/SubnavigationButton/SubnavigationButton.tsx +2 -3
  556. package/src/components/Switch/Readme.md +6 -6
  557. package/src/components/Switch/Switch.css +46 -15
  558. package/src/components/Switch/Switch.tsx +16 -8
  559. package/src/components/Tappable/Tappable.tsx +2 -3
  560. package/src/components/Textarea/Readme.md +3 -0
  561. package/src/components/Textarea/Textarea.tsx +10 -6
  562. package/src/components/Touch/Touch.tsx +51 -31
  563. package/src/components/Typography/Caption/Caption.tsx +4 -4
  564. package/src/components/Typography/Headline/Headline.tsx +3 -3
  565. package/src/components/Typography/Subhead/Subhead.tsx +3 -3
  566. package/src/components/Typography/Text/Text.tsx +3 -4
  567. package/src/components/Typography/Title/Title.tsx +9 -5
  568. package/src/components/View/Readme.md +42 -56
  569. package/src/components/View/View.tsx +46 -61
  570. package/src/components/View/ViewInfinite.tsx +52 -67
  571. package/src/components/View/utils.ts +8 -0
  572. package/src/index.ts +4 -0
  573. package/src/lib/accessibility.ts +22 -2
  574. package/src/lib/is.ts +10 -0
  575. package/src/lib/prefixClass.ts +9 -6
  576. package/src/lib/supportEvents.ts +1 -4
  577. package/src/styles/components.css +4 -0
  578. package/src/styles/vkcom_light.css +3 -3
  579. package/src/testing/utils.tsx +41 -0
  580. package/src/types.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AASA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AACA;;AACA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AAEA;;AAMA;;AACA;;AACA;;AAEA;;AAUA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import './lib/polyfills';\n\nimport './styles/constants.css';\nimport './styles/animations.css';\nimport './styles/common.css';\n\n/**\n * Layout\n */\nexport { default as Root } from './components/Root/Root';\nexport type { RootProps } from './components/Root/Root';\nexport { default as View } from './components/View/View';\nexport type { ViewProps } from './components/View/View';\nexport { Panel } from './components/Panel/Panel';\nexport type { PanelProps } from './components/Panel/Panel';\nexport { PanelHeaderButton } from './components/PanelHeaderButton/PanelHeaderButton';\nexport type { PanelHeaderButtonProps } from './components/PanelHeaderButton/PanelHeaderButton';\nexport { default as PanelHeader } from './components/PanelHeader/PanelHeader';\nexport type { PanelHeaderProps } from './components/PanelHeader/PanelHeader';\nexport { default as PanelHeaderContent } from './components/PanelHeaderContent/PanelHeaderContent';\nexport type { PanelHeaderContentProps } from './components/PanelHeaderContent/PanelHeaderContent';\nexport { PanelHeaderContext } from './components/PanelHeaderContext/PanelHeaderContext';\nexport type { PanelHeaderContextProps } from './components/PanelHeaderContext/PanelHeaderContext';\nexport { SplitLayout } from './components/SplitLayout/SplitLayout';\nexport type { SplitLayoutProps } from './components/SplitLayout/SplitLayout';\nexport { SplitCol } from './components/SplitCol/SplitCol';\nexport type { SplitColProps } from './components/SplitCol/SplitCol';\nexport { default as Epic } from './components/Epic/Epic';\nexport type { EpicProps } from './components/Epic/Epic';\nexport { default as Tabbar } from './components/Tabbar/Tabbar';\nexport type { TabbarProps } from './components/Tabbar/Tabbar';\nexport { default as TabbarItem } from './components/TabbarItem/TabbarItem';\nexport type { TabbarItemProps } from './components/TabbarItem/TabbarItem';\nexport { default as HorizontalScroll } from './components/HorizontalScroll/HorizontalScroll';\nexport type { HorizontalScrollProps } from './components/HorizontalScroll/HorizontalScroll';\nexport { default as FixedLayout } from './components/FixedLayout/FixedLayout';\nexport type { FixedLayoutProps } from './components/FixedLayout/FixedLayout';\n\n/**\n * Popouts\n */\nexport { PopoutWrapper } from './components/PopoutWrapper/PopoutWrapper';\nexport type { PopoutWrapperProps } from './components/PopoutWrapper/PopoutWrapper';\nexport { default as Alert } from './components/Alert/Alert';\nexport type { AlertProps, AlertActionInterface } from './components/Alert/Alert';\nexport { ActionSheet } from './components/ActionSheet/ActionSheet';\nexport type { ActionSheetProps } from './components/ActionSheet/ActionSheet';\nexport { default as ActionSheetItem } from './components/ActionSheetItem/ActionSheetItem';\nexport type { ActionSheetItemProps } from './components/ActionSheetItem/ActionSheetItem';\nexport { default as ScreenSpinner } from './components/ScreenSpinner/ScreenSpinner';\nexport type { ScreenSpinnerProps } from './components/ScreenSpinner/ScreenSpinner';\nexport { Snackbar } from './components/Snackbar/Snackbar';\nexport type { SnackbarProps } from './components/Snackbar/Snackbar';\n\n/**\n * Modals\n */\nexport { ModalRoot } from './components/ModalRoot/ModalRootAdaptive';\nexport type { ModalRootProps } from './components/ModalRoot/ModalRootAdaptive';\nexport { withModalRootContext } from './components/ModalRoot/withModalRootContext';\nexport { default as ModalRootContext } from './components/ModalRoot/ModalRootContext';\nexport { default as ModalPage } from './components/ModalPage/ModalPage';\nexport type { ModalPageProps } from './components/ModalPage/ModalPage';\nexport { default as ModalPageHeader } from './components/ModalPageHeader/ModalPageHeader';\nexport type { ModalPageHeaderProps } from './components/ModalPageHeader/ModalPageHeader';\nexport { default as ModalCard } from './components/ModalCard/ModalCard';\nexport type { ModalCardProps } from './components/ModalCard/ModalCard';\nexport { default as ModalDismissButton } from './components/ModalDismissButton/ModalDismissButton';\nexport type { ModalDismissButtonProps } from './components/ModalDismissButton/ModalDismissButton';\n\n/**\n * Blocks\n */\nexport { Badge } from './components/Badge/Badge';\nexport type { BadgeProps } from './components/Badge/Badge';\nexport { default as Button } from './components/Button/Button';\nexport type { ButtonProps } from './components/Button/Button';\nexport { default as IconButton } from './components/IconButton/IconButton';\nexport type { IconButtonProps } from './components/IconButton/IconButton';\nexport { default as Card } from './components/Card/Card';\nexport type { CardProps } from './components/Card/Card';\nexport { default as CardGrid } from './components/CardGrid/CardGrid';\nexport type { CardGridProps } from './components/CardGrid/CardGrid';\nexport { default as CardScroll } from './components/CardScroll/CardScroll';\nexport type { CardScrollProps } from './components/CardScroll/CardScroll';\nexport { default as ContentCard } from './components/ContentCard/ContentCard';\nexport type { ContentCardProps } from './components/ContentCard/ContentCard';\nexport { CellButton } from './components/CellButton/CellButton';\nexport type { CellButtonProps } from './components/CellButton/CellButton';\nexport { default as Header } from './components/Header/Header';\nexport type { HeaderProps } from './components/Header/Header';\nexport { default as Group } from './components/Group/Group';\nexport type { GroupProps } from './components/Group/Group';\nexport { default as Gradient } from './components/Gradient/Gradient';\nexport type { GradientProps } from './components/Gradient/Gradient';\nexport { default as List } from './components/List/List';\nexport { Cell } from './components/Cell/Cell';\nexport type { CellProps } from './components/Cell/Cell';\nexport { default as RichCell } from './components/RichCell/RichCell';\nexport type { RichCellProps } from './components/RichCell/RichCell';\nexport { default as SimpleCell } from './components/SimpleCell/SimpleCell';\nexport type { SimpleCellProps } from './components/SimpleCell/SimpleCell';\nexport { HorizontalCell } from './components/HorizontalCell/HorizontalCell';\nexport type { HorizontalCellProps } from './components/HorizontalCell/HorizontalCell';\nexport { default as Footer } from './components/Footer/Footer';\nexport { default as InfoRow } from './components/InfoRow/InfoRow';\nexport type { InfoRowProps } from './components/InfoRow/InfoRow';\nexport { default as Gallery } from './components/Gallery/Gallery';\nexport type { GalleryProps } from './components/Gallery/Gallery';\nexport { default as Avatar } from './components/Avatar/Avatar';\nexport type { AvatarProps } from './components/Avatar/Avatar';\nexport { default as Progress } from './components/Progress/Progress';\nexport type { ProgressProps } from './components/Progress/Progress';\nexport { default as Search } from './components/Search/Search';\nexport type { SearchProps } from './components/Search/Search';\nexport { default as Tabs } from './components/Tabs/Tabs';\nexport type { TabsProps } from './components/Tabs/Tabs';\nexport { default as TabsItem } from './components/TabsItem/TabsItem';\nexport type { TabsItemProps } from './components/TabsItem/TabsItem';\nexport { default as Spinner } from './components/Spinner/Spinner';\nexport type { SpinnerProps } from './components/Spinner/Spinner';\nexport { default as PullToRefresh } from './components/PullToRefresh/PullToRefresh';\nexport type { PullToRefreshProps } from './components/PullToRefresh/PullToRefresh';\nexport { default as Link } from './components/Link/Link';\nexport type { LinkProps } from './components/Link/Link';\nexport { default as Tooltip } from './components/Tooltip/Tooltip';\nexport type { TooltipProps } from './components/Tooltip/Tooltip';\nexport { TooltipContainer } from './components/Tooltip/TooltipContainer';\nexport { default as Counter } from './components/Counter/Counter';\nexport type { CounterProps } from './components/Counter/Counter';\nexport { default as UsersStack } from './components/UsersStack/UsersStack';\nexport type { UsersStackProps } from './components/UsersStack/UsersStack';\nexport { default as Separator } from './components/Separator/Separator';\nexport type { SeparatorProps } from './components/Separator/Separator';\nexport { Spacing } from './components/Spacing/Spacing';\nexport type { SpacingProps } from './components/Spacing/Spacing';\nexport { default as Placeholder } from './components/Placeholder/Placeholder';\nexport type { PlaceholderProps } from './components/Placeholder/Placeholder';\nexport { default as Banner } from './components/Banner/Banner';\nexport type { BannerProps } from './components/Banner/Banner';\nexport { MiniInfoCell } from './components/MiniInfoCell/MiniInfoCell';\nexport type { MiniInfoCellProps } from './components/MiniInfoCell/MiniInfoCell';\nexport { WriteBar } from './components/WriteBar/WriteBar';\nexport type { WriteBarProps } from './components/WriteBar/WriteBar';\nexport { WriteBarIcon } from './components/WriteBarIcon/WriteBarIcon';\nexport type { WriteBarIconProps } from './components/WriteBarIcon/WriteBarIcon';\nexport { SubnavigationBar } from './components/SubnavigationBar/SubnavigationBar';\nexport type { SubnavigationBarProps } from './components/SubnavigationBar/SubnavigationBar';\nexport { SubnavigationButton } from './components/SubnavigationButton/SubnavigationButton';\nexport type { SubnavigationButtonProps } from './components/SubnavigationButton/SubnavigationButton';\n\n/**\n * Forms\n */\nexport { default as FormLayout } from './components/FormLayout/FormLayout';\nexport type { FormLayoutProps } from './components/FormLayout/FormLayout';\nexport { FormItem } from './components/FormItem/FormItem';\nexport type { FormItemProps } from './components/FormItem/FormItem';\nexport { FormField } from './components/FormField/FormField';\nexport type { FormFieldProps } from './components/FormField/FormField';\nexport { default as FormLayoutGroup } from './components/FormLayoutGroup/FormLayoutGroup';\nexport type { FormLayoutGroupProps } from './components/FormLayoutGroup/FormLayoutGroup';\nexport { FormStatus } from './components/FormStatus/FormStatus';\nexport type { FormStatusProps } from './components/FormStatus/FormStatus';\nexport { Switch } from './components/Switch/Switch';\nexport type { SwitchProps } from './components/Switch/Switch';\nexport { default as File } from './components/File/File';\nexport type { FileProps } from './components/File/File';\nexport { default as Input } from './components/Input/Input';\nexport type { InputProps } from './components/Input/Input';\nexport { default as Chip } from './components/Chip/Chip';\nexport type { ChipProps } from './components/Chip/Chip';\nexport { default as ChipsInput } from './components/ChipsInput/ChipsInput';\nexport type { ChipsInputProps } from './components/ChipsInput/ChipsInput';\nexport { default as Slider } from './components/Slider/Slider';\nexport type { SliderProps } from './components/Slider/Slider';\nexport { default as RangeSlider } from './components/RangeSlider/RangeSlider';\nexport type { RangeSliderProps } from './components/RangeSlider/RangeSlider';\nexport { default as Textarea } from './components/Textarea/Textarea';\nexport type { TextareaProps } from './components/Textarea/Textarea';\nexport { default as Radio } from './components/Radio/Radio';\nexport type { RadioProps } from './components/Radio/Radio';\nexport { default as Checkbox } from './components/Checkbox/Checkbox';\nexport type { CheckboxProps } from './components/Checkbox/Checkbox';\nexport { default as Select } from './components/Select/Select';\nexport type { SelectProps } from './components/Select/Select';\nexport { default as SelectMimicry } from './components/SelectMimicry/SelectMimicry';\nexport type { SelectMimicryProps } from './components/SelectMimicry/SelectMimicry';\nexport { default as NativeSelect } from './components/NativeSelect/NativeSelect';\nexport type { NativeSelectProps } from './components/NativeSelect/NativeSelect';\nexport { default as CustomSelect } from './components/CustomSelect/CustomSelect';\nexport type { CustomSelectProps, CustomSelectOptionInterface } from './components/CustomSelect/CustomSelect';\nexport { default as CustomSelectOption } from './components/CustomSelectOption/CustomSelectOption';\nexport type { CustomSelectOptionProps } from './components/CustomSelectOption/CustomSelectOption';\nexport { default as DatePicker } from './components/DatePicker/DatePicker';\nexport type { DatePickerProps, DatePickerDateFormat } from './components/DatePicker/DatePicker';\nexport { default as SliderSwitch } from './components/SliderSwitch/SliderSwitch';\nexport type { SliderSwitchProps, SliderSwitchOptionInterface } from './components/SliderSwitch/SliderSwitch';\n\n/**\n * Helpers\n */\nexport { default as Div } from './components/Div/Div';\nexport type { DivProps } from './components/Div/Div';\nexport { default as Tappable } from './components/Tappable/Tappable';\nexport type { TappableProps } from './components/Tappable/Tappable';\nexport { Touch } from './components/Touch/Touch';\nexport type { TouchProps } from './components/Touch/Touch';\nexport { default as PanelSpinner } from './components/PanelSpinner/PanelSpinner';\nexport type { PanelSpinnerProps } from './components/PanelSpinner/PanelSpinner';\nexport { default as PanelHeaderClose } from './components/PanelHeaderClose/PanelHeaderClose';\nexport { default as PanelHeaderBack } from './components/PanelHeaderBack/PanelHeaderBack';\nexport { default as PanelHeaderSubmit } from './components/PanelHeaderSubmit/PanelHeaderSubmit';\nexport { default as PanelHeaderEdit } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport type { PanelHeaderEditProps } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport { ModalCardBase } from './components/ModalCardBase/ModalCardBase';\nexport type { ModalCardBaseProps } from './components/ModalCardBase/ModalCardBase';\n\n/**\n * Wrappers\n */\nexport { AppRoot } from './components/AppRoot/AppRoot';\nexport { default as AdaptivityProvider } from './components/AdaptivityProvider/AdaptivityProvider';\nexport { default as ConfigProvider } from './components/ConfigProvider/ConfigProvider';\nexport type { ConfigProviderProps } from './components/ConfigProvider/ConfigProvider';\nexport {\n ConfigProviderContext,\n Appearance,\n Scheme,\n WebviewType,\n} from './components/ConfigProvider/ConfigProviderContext';\n\n/**\n * Advertisement\n */\nexport { default as PromoBanner } from './components/PromoBanner/PromoBanner';\nexport type { PromoBannerProps } from './components/PromoBanner/PromoBanner';\n\n/**\n * Typography\n */\nexport { default as Title } from './components/Typography/Title/Title';\nexport type { TitleProps } from './components/Typography/Title/Title';\nexport { default as Headline } from './components/Typography/Headline/Headline';\nexport type { HeadlineProps } from './components/Typography/Headline/Headline';\nexport { default as Text } from './components/Typography/Text/Text';\nexport type { TextProps } from './components/Typography/Text/Text';\nexport { default as Caption } from './components/Typography/Caption/Caption';\nexport type { CaptionProps } from './components/Typography/Caption/Caption';\nexport { default as Subhead } from './components/Typography/Subhead/Subhead';\nexport type { SubheadProps } from './components/Typography/Subhead/Subhead';\n\n/**\n * HOCs\n */\nexport { withInsets } from './hoc/withInsets';\nexport { withPlatform } from './hoc/withPlatform';\nexport { withAdaptivity } from './hoc/withAdaptivity';\n\n/**\n * Hooks\n */\nexport { useInsets } from './hooks/useInsets';\nexport { usePlatform } from './hooks/usePlatform';\nexport { useAdaptivity } from './hooks/useAdaptivity';\nexport { useAppearance } from './hooks/useAppearance';\n\n/**\n * Utils\n */\nexport { classNamesString as classNames } from './lib/classNames';\nexport { default as animate } from './lib/animate';\nexport { removeObjectKeys } from './lib/removeObjectKeys';\nexport { SSRWrapper } from './lib/SSR';\nexport { platform, ANDROID, IOS, VKCOM, Platform, IS_PLATFORM_ANDROID, IS_PLATFORM_IOS } from './lib/platform';\nexport { getClassName } from './helpers/getClassName';\nexport { ViewWidth, ViewHeight, SizeType } from './components/AdaptivityProvider/AdaptivityContext';\n\n/**\n * Types\n */\nexport type { AlignType, HasPlatform, HasInsets } from './types';\nexport type { NavIdProps } from './lib/getNavId';\nexport type { PlatformType } from './lib/platform';\nexport type { AdaptivityProps } from './hoc/withAdaptivity';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AASA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AACA;;AACA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AAEA;;AAMA;;AACA;;AACA;;AAEA;;AAUA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import './lib/polyfills';\n\nimport './styles/constants.css';\nimport './styles/animations.css';\nimport './styles/common.css';\n\n/**\n * Layout\n */\nexport { default as Root } from './components/Root/Root';\nexport type { RootProps } from './components/Root/Root';\nexport { default as View } from './components/View/View';\nexport type { ViewProps } from './components/View/View';\nexport { Panel } from './components/Panel/Panel';\nexport type { PanelProps } from './components/Panel/Panel';\nexport { PanelHeaderButton } from './components/PanelHeaderButton/PanelHeaderButton';\nexport type { PanelHeaderButtonProps } from './components/PanelHeaderButton/PanelHeaderButton';\nexport { default as PanelHeader } from './components/PanelHeader/PanelHeader';\nexport type { PanelHeaderProps } from './components/PanelHeader/PanelHeader';\nexport { default as PanelHeaderContent } from './components/PanelHeaderContent/PanelHeaderContent';\nexport type { PanelHeaderContentProps } from './components/PanelHeaderContent/PanelHeaderContent';\nexport { PanelHeaderContext } from './components/PanelHeaderContext/PanelHeaderContext';\nexport type { PanelHeaderContextProps } from './components/PanelHeaderContext/PanelHeaderContext';\nexport { SplitLayout } from './components/SplitLayout/SplitLayout';\nexport type { SplitLayoutProps } from './components/SplitLayout/SplitLayout';\nexport { SplitCol } from './components/SplitCol/SplitCol';\nexport type { SplitColProps } from './components/SplitCol/SplitCol';\nexport { default as Epic } from './components/Epic/Epic';\nexport type { EpicProps } from './components/Epic/Epic';\nexport { default as Tabbar } from './components/Tabbar/Tabbar';\nexport type { TabbarProps } from './components/Tabbar/Tabbar';\nexport { default as TabbarItem } from './components/TabbarItem/TabbarItem';\nexport type { TabbarItemProps } from './components/TabbarItem/TabbarItem';\nexport { default as HorizontalScroll } from './components/HorizontalScroll/HorizontalScroll';\nexport type { HorizontalScrollProps } from './components/HorizontalScroll/HorizontalScroll';\nexport { default as FixedLayout } from './components/FixedLayout/FixedLayout';\nexport type { FixedLayoutProps } from './components/FixedLayout/FixedLayout';\n\n/**\n * Popouts\n */\nexport { PopoutWrapper } from './components/PopoutWrapper/PopoutWrapper';\nexport type { PopoutWrapperProps } from './components/PopoutWrapper/PopoutWrapper';\nexport { default as Alert } from './components/Alert/Alert';\nexport type { AlertProps, AlertActionInterface } from './components/Alert/Alert';\nexport { ActionSheet } from './components/ActionSheet/ActionSheet';\nexport type { ActionSheetProps } from './components/ActionSheet/ActionSheet';\nexport { default as ActionSheetItem } from './components/ActionSheetItem/ActionSheetItem';\nexport type { ActionSheetItemProps } from './components/ActionSheetItem/ActionSheetItem';\nexport { default as ScreenSpinner } from './components/ScreenSpinner/ScreenSpinner';\nexport type { ScreenSpinnerProps } from './components/ScreenSpinner/ScreenSpinner';\nexport { Snackbar } from './components/Snackbar/Snackbar';\nexport type { SnackbarProps } from './components/Snackbar/Snackbar';\n\n/**\n * Modals\n */\nexport { ModalRoot } from './components/ModalRoot/ModalRootAdaptive';\nexport type { ModalRootProps } from './components/ModalRoot/ModalRootAdaptive';\nexport { withModalRootContext } from './components/ModalRoot/withModalRootContext';\nexport { default as ModalRootContext } from './components/ModalRoot/ModalRootContext';\nexport { default as ModalPage } from './components/ModalPage/ModalPage';\nexport type { ModalPageProps } from './components/ModalPage/ModalPage';\nexport { default as ModalPageHeader } from './components/ModalPageHeader/ModalPageHeader';\nexport type { ModalPageHeaderProps } from './components/ModalPageHeader/ModalPageHeader';\nexport { default as ModalCard } from './components/ModalCard/ModalCard';\nexport type { ModalCardProps } from './components/ModalCard/ModalCard';\nexport { default as ModalDismissButton } from './components/ModalDismissButton/ModalDismissButton';\nexport type { ModalDismissButtonProps } from './components/ModalDismissButton/ModalDismissButton';\n\n/**\n * Blocks\n */\nexport { Badge } from './components/Badge/Badge';\nexport type { BadgeProps } from './components/Badge/Badge';\nexport { default as Button } from './components/Button/Button';\nexport type { ButtonProps } from './components/Button/Button';\nexport { default as IconButton } from './components/IconButton/IconButton';\nexport type { IconButtonProps } from './components/IconButton/IconButton';\nexport { default as Card } from './components/Card/Card';\nexport type { CardProps } from './components/Card/Card';\nexport { default as CardGrid } from './components/CardGrid/CardGrid';\nexport type { CardGridProps } from './components/CardGrid/CardGrid';\nexport { default as CardScroll } from './components/CardScroll/CardScroll';\nexport type { CardScrollProps } from './components/CardScroll/CardScroll';\nexport { default as ContentCard } from './components/ContentCard/ContentCard';\nexport type { ContentCardProps } from './components/ContentCard/ContentCard';\nexport { CellButton } from './components/CellButton/CellButton';\nexport type { CellButtonProps } from './components/CellButton/CellButton';\nexport { default as Header } from './components/Header/Header';\nexport type { HeaderProps } from './components/Header/Header';\nexport { default as Group } from './components/Group/Group';\nexport type { GroupProps } from './components/Group/Group';\nexport { default as Gradient } from './components/Gradient/Gradient';\nexport type { GradientProps } from './components/Gradient/Gradient';\nexport { default as List } from './components/List/List';\nexport { Cell } from './components/Cell/Cell';\nexport type { CellProps } from './components/Cell/Cell';\nexport { default as RichCell } from './components/RichCell/RichCell';\nexport type { RichCellProps } from './components/RichCell/RichCell';\nexport { default as SimpleCell } from './components/SimpleCell/SimpleCell';\nexport type { SimpleCellProps } from './components/SimpleCell/SimpleCell';\nexport { HorizontalCell } from './components/HorizontalCell/HorizontalCell';\nexport type { HorizontalCellProps } from './components/HorizontalCell/HorizontalCell';\nexport { default as Footer } from './components/Footer/Footer';\nexport { default as InfoRow } from './components/InfoRow/InfoRow';\nexport type { InfoRowProps } from './components/InfoRow/InfoRow';\nexport { default as Gallery } from './components/Gallery/Gallery';\nexport type { GalleryProps } from './components/Gallery/Gallery';\nexport { default as Avatar } from './components/Avatar/Avatar';\nexport type { AvatarProps } from './components/Avatar/Avatar';\nexport { GridAvatar } from './components/GridAvatar/GridAvatar';\nexport type { GridAvatarProps } from './components/GridAvatar/GridAvatar';\nexport { InitialsAvatar } from './components/InitialsAvatar/InitialsAvatar';\nexport type { InitialsAvatarProps } from './components/InitialsAvatar/InitialsAvatar';\nexport { default as Progress } from './components/Progress/Progress';\nexport type { ProgressProps } from './components/Progress/Progress';\nexport { default as Search } from './components/Search/Search';\nexport type { SearchProps } from './components/Search/Search';\nexport { default as Tabs } from './components/Tabs/Tabs';\nexport type { TabsProps } from './components/Tabs/Tabs';\nexport { default as TabsItem } from './components/TabsItem/TabsItem';\nexport type { TabsItemProps } from './components/TabsItem/TabsItem';\nexport { default as Spinner } from './components/Spinner/Spinner';\nexport type { SpinnerProps } from './components/Spinner/Spinner';\nexport { default as PullToRefresh } from './components/PullToRefresh/PullToRefresh';\nexport type { PullToRefreshProps } from './components/PullToRefresh/PullToRefresh';\nexport { default as Link } from './components/Link/Link';\nexport type { LinkProps } from './components/Link/Link';\nexport { default as Tooltip } from './components/Tooltip/Tooltip';\nexport type { TooltipProps } from './components/Tooltip/Tooltip';\nexport { TooltipContainer } from './components/Tooltip/TooltipContainer';\nexport { default as Counter } from './components/Counter/Counter';\nexport type { CounterProps } from './components/Counter/Counter';\nexport { default as UsersStack } from './components/UsersStack/UsersStack';\nexport type { UsersStackProps } from './components/UsersStack/UsersStack';\nexport { default as Separator } from './components/Separator/Separator';\nexport type { SeparatorProps } from './components/Separator/Separator';\nexport { Spacing } from './components/Spacing/Spacing';\nexport type { SpacingProps } from './components/Spacing/Spacing';\nexport { default as Placeholder } from './components/Placeholder/Placeholder';\nexport type { PlaceholderProps } from './components/Placeholder/Placeholder';\nexport { default as Banner } from './components/Banner/Banner';\nexport type { BannerProps } from './components/Banner/Banner';\nexport { MiniInfoCell } from './components/MiniInfoCell/MiniInfoCell';\nexport type { MiniInfoCellProps } from './components/MiniInfoCell/MiniInfoCell';\nexport { WriteBar } from './components/WriteBar/WriteBar';\nexport type { WriteBarProps } from './components/WriteBar/WriteBar';\nexport { WriteBarIcon } from './components/WriteBarIcon/WriteBarIcon';\nexport type { WriteBarIconProps } from './components/WriteBarIcon/WriteBarIcon';\nexport { SubnavigationBar } from './components/SubnavigationBar/SubnavigationBar';\nexport type { SubnavigationBarProps } from './components/SubnavigationBar/SubnavigationBar';\nexport { SubnavigationButton } from './components/SubnavigationButton/SubnavigationButton';\nexport type { SubnavigationButtonProps } from './components/SubnavigationButton/SubnavigationButton';\n\n/**\n * Forms\n */\nexport { default as FormLayout } from './components/FormLayout/FormLayout';\nexport type { FormLayoutProps } from './components/FormLayout/FormLayout';\nexport { FormItem } from './components/FormItem/FormItem';\nexport type { FormItemProps } from './components/FormItem/FormItem';\nexport { FormField } from './components/FormField/FormField';\nexport type { FormFieldProps } from './components/FormField/FormField';\nexport { default as FormLayoutGroup } from './components/FormLayoutGroup/FormLayoutGroup';\nexport type { FormLayoutGroupProps } from './components/FormLayoutGroup/FormLayoutGroup';\nexport { FormStatus } from './components/FormStatus/FormStatus';\nexport type { FormStatusProps } from './components/FormStatus/FormStatus';\nexport { Switch } from './components/Switch/Switch';\nexport type { SwitchProps } from './components/Switch/Switch';\nexport { default as File } from './components/File/File';\nexport type { FileProps } from './components/File/File';\nexport { default as Input } from './components/Input/Input';\nexport type { InputProps } from './components/Input/Input';\nexport { default as Chip } from './components/Chip/Chip';\nexport type { ChipProps } from './components/Chip/Chip';\nexport { default as ChipsInput } from './components/ChipsInput/ChipsInput';\nexport type { ChipsInputProps } from './components/ChipsInput/ChipsInput';\nexport { default as Slider } from './components/Slider/Slider';\nexport type { SliderProps } from './components/Slider/Slider';\nexport { default as RangeSlider } from './components/RangeSlider/RangeSlider';\nexport type { RangeSliderProps } from './components/RangeSlider/RangeSlider';\nexport { default as Textarea } from './components/Textarea/Textarea';\nexport type { TextareaProps } from './components/Textarea/Textarea';\nexport { default as Radio } from './components/Radio/Radio';\nexport type { RadioProps } from './components/Radio/Radio';\nexport { default as Checkbox } from './components/Checkbox/Checkbox';\nexport type { CheckboxProps } from './components/Checkbox/Checkbox';\nexport { default as Select } from './components/Select/Select';\nexport type { SelectProps } from './components/Select/Select';\nexport { default as SelectMimicry } from './components/SelectMimicry/SelectMimicry';\nexport type { SelectMimicryProps } from './components/SelectMimicry/SelectMimicry';\nexport { default as NativeSelect } from './components/NativeSelect/NativeSelect';\nexport type { NativeSelectProps } from './components/NativeSelect/NativeSelect';\nexport { default as CustomSelect } from './components/CustomSelect/CustomSelect';\nexport type { CustomSelectProps, CustomSelectOptionInterface } from './components/CustomSelect/CustomSelect';\nexport { default as CustomSelectOption } from './components/CustomSelectOption/CustomSelectOption';\nexport type { CustomSelectOptionProps } from './components/CustomSelectOption/CustomSelectOption';\nexport { default as DatePicker } from './components/DatePicker/DatePicker';\nexport type { DatePickerProps, DatePickerDateFormat } from './components/DatePicker/DatePicker';\nexport { default as SliderSwitch } from './components/SliderSwitch/SliderSwitch';\nexport type { SliderSwitchProps, SliderSwitchOptionInterface } from './components/SliderSwitch/SliderSwitch';\n\n/**\n * Helpers\n */\nexport { default as Div } from './components/Div/Div';\nexport type { DivProps } from './components/Div/Div';\nexport { default as Tappable } from './components/Tappable/Tappable';\nexport type { TappableProps } from './components/Tappable/Tappable';\nexport { Touch } from './components/Touch/Touch';\nexport type { TouchProps } from './components/Touch/Touch';\nexport { default as PanelSpinner } from './components/PanelSpinner/PanelSpinner';\nexport type { PanelSpinnerProps } from './components/PanelSpinner/PanelSpinner';\nexport { default as PanelHeaderClose } from './components/PanelHeaderClose/PanelHeaderClose';\nexport { default as PanelHeaderBack } from './components/PanelHeaderBack/PanelHeaderBack';\nexport { default as PanelHeaderSubmit } from './components/PanelHeaderSubmit/PanelHeaderSubmit';\nexport { default as PanelHeaderEdit } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport type { PanelHeaderEditProps } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport { ModalCardBase } from './components/ModalCardBase/ModalCardBase';\nexport type { ModalCardBaseProps } from './components/ModalCardBase/ModalCardBase';\n\n/**\n * Wrappers\n */\nexport { AppRoot } from './components/AppRoot/AppRoot';\nexport { default as AdaptivityProvider } from './components/AdaptivityProvider/AdaptivityProvider';\nexport { default as ConfigProvider } from './components/ConfigProvider/ConfigProvider';\nexport type { ConfigProviderProps } from './components/ConfigProvider/ConfigProvider';\nexport {\n ConfigProviderContext,\n Appearance,\n Scheme,\n WebviewType,\n} from './components/ConfigProvider/ConfigProviderContext';\n\n/**\n * Advertisement\n */\nexport { default as PromoBanner } from './components/PromoBanner/PromoBanner';\nexport type { PromoBannerProps } from './components/PromoBanner/PromoBanner';\n\n/**\n * Typography\n */\nexport { default as Title } from './components/Typography/Title/Title';\nexport type { TitleProps } from './components/Typography/Title/Title';\nexport { default as Headline } from './components/Typography/Headline/Headline';\nexport type { HeadlineProps } from './components/Typography/Headline/Headline';\nexport { default as Text } from './components/Typography/Text/Text';\nexport type { TextProps } from './components/Typography/Text/Text';\nexport { default as Caption } from './components/Typography/Caption/Caption';\nexport type { CaptionProps } from './components/Typography/Caption/Caption';\nexport { default as Subhead } from './components/Typography/Subhead/Subhead';\nexport type { SubheadProps } from './components/Typography/Subhead/Subhead';\n\n/**\n * HOCs\n */\nexport { withInsets } from './hoc/withInsets';\nexport { withPlatform } from './hoc/withPlatform';\nexport { withAdaptivity } from './hoc/withAdaptivity';\n\n/**\n * Hooks\n */\nexport { useInsets } from './hooks/useInsets';\nexport { usePlatform } from './hooks/usePlatform';\nexport { useAdaptivity } from './hooks/useAdaptivity';\nexport { useAppearance } from './hooks/useAppearance';\n\n/**\n * Utils\n */\nexport { classNamesString as classNames } from './lib/classNames';\nexport { default as animate } from './lib/animate';\nexport { removeObjectKeys } from './lib/removeObjectKeys';\nexport { SSRWrapper } from './lib/SSR';\nexport { platform, ANDROID, IOS, VKCOM, Platform, IS_PLATFORM_ANDROID, IS_PLATFORM_IOS } from './lib/platform';\nexport { getClassName } from './helpers/getClassName';\nexport { ViewWidth, ViewHeight, SizeType } from './components/AdaptivityProvider/AdaptivityContext';\n\n/**\n * Types\n */\nexport type { AlignType, HasPlatform, HasInsets } from './types';\nexport type { NavIdProps } from './lib/getNavId';\nexport type { PlatformType } from './lib/platform';\nexport type { AdaptivityProps } from './hoc/withAdaptivity';\n"],"file":"index.js"}
@@ -1,8 +1,10 @@
1
1
  import * as React from 'react';
2
+ export declare const FOCUSABLE_ELEMENTS_LIST: string[];
2
3
  export declare enum Keys {
3
4
  ENTER = "Enter",
4
5
  SPACE = "Space",
5
- TAB = "Tab"
6
+ TAB = "Tab",
7
+ ESCAPE = "Escape"
6
8
  }
7
- export declare function pressedKey(e: KeyboardEvent): Keys;
9
+ export declare function pressedKey(e: KeyboardEvent | React.KeyboardEvent<HTMLElement>): Keys;
8
10
  export declare function shouldTriggerClickOnEnterOrSpace(e: KeyboardEvent | React.KeyboardEvent<HTMLElement>): boolean;
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.pressedKey = pressedKey;
7
7
  exports.shouldTriggerClickOnEnterOrSpace = shouldTriggerClickOnEnterOrSpace;
8
- exports.Keys = void 0;
8
+ exports.Keys = exports.FOCUSABLE_ELEMENTS_LIST = void 0;
9
+ var FOCUSABLE_ELEMENTS_LIST = ['a[href]', 'area[href]', 'input:not([disabled]):not([hidden]):not([type="hidden"]):not([aria-hidden])', 'select:not([disabled]):not([hidden]):not([aria-hidden])', 'textarea:not([disabled])', 'button:not([disabled])', 'iframe', 'audio', 'video', '[contenteditable]', '[tabindex]:not([tabindex="-1"])'];
10
+ exports.FOCUSABLE_ELEMENTS_LIST = FOCUSABLE_ELEMENTS_LIST;
9
11
  var Keys;
10
12
  exports.Keys = Keys;
11
13
 
@@ -13,6 +15,7 @@ exports.Keys = Keys;
13
15
  Keys["ENTER"] = "Enter";
14
16
  Keys["SPACE"] = "Space";
15
17
  Keys["TAB"] = "Tab";
18
+ Keys["ESCAPE"] = "Escape";
16
19
  })(Keys || (exports.Keys = Keys = {}));
17
20
 
18
21
  var ACCESSIBLE_KEYS = [{
@@ -27,6 +30,10 @@ var ACCESSIBLE_KEYS = [{
27
30
  code: Keys.TAB,
28
31
  key: ['Tab'],
29
32
  keyCode: 9
33
+ }, {
34
+ code: Keys.ESCAPE,
35
+ key: ['Escape'],
36
+ keyCode: 27
30
37
  }];
31
38
 
32
39
  function pressedKey(e) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/accessibility.ts"],"names":["Keys","ACCESSIBLE_KEYS","code","ENTER","key","keyCode","SPACE","TAB","pressedKey","e","find","includes","shouldTriggerClickOnEnterOrSpace","el","target","tagName","role","getAttribute","isValidKeyboardEventTarget","isContentEditable","isNativeAnchorEl","hasAttribute","keyPressed"],"mappings":";;;;;;;;IAEYA,I;;;WAAAA,I;AAAAA,EAAAA,I;AAAAA,EAAAA,I;AAAAA,EAAAA,I;GAAAA,I,oBAAAA,I;;AAYZ,IAAMC,eAAgC,GAAG,CACvC;AACEC,EAAAA,IAAI,EAAEF,IAAI,CAACG,KADb;AAEEC,EAAAA,GAAG,EAAE,CAAC,OAAD,CAFP;AAGEC,EAAAA,OAAO,EAAE;AAHX,CADuC,EAMvC;AACEH,EAAAA,IAAI,EAAEF,IAAI,CAACM,KADb;AAEEF,EAAAA,GAAG,EAAE,CAAC,OAAD,EAAU,UAAV,EAAsB,GAAtB,CAFP;AAGEC,EAAAA,OAAO,EAAE;AAHX,CANuC,EAWvC;AACEH,EAAAA,IAAI,EAAEF,IAAI,CAACO,GADb;AAEEH,EAAAA,GAAG,EAAE,CAAC,KAAD,CAFP;AAGEC,EAAAA,OAAO,EAAE;AAHX,CAXuC,CAAzC;;AAkBO,SAASG,UAAT,CAAoBC,CAApB,EAA4C;AAAA;;AACjD,SAAO,0BAAAR,eAAe,CAACS,IAAhB,CAAqB;AAAA,QAAGN,GAAH,QAAGA,GAAH;AAAA,QAAQC,OAAR,QAAQA,OAAR;AAAA,WAAsBD,GAAG,CAACO,QAAJ,CAAaF,CAAC,CAACL,GAAf,KAAuBC,OAAO,KAAKI,CAAC,CAACJ,OAA3D;AAAA,GAArB,iFAA0FH,IAA1F,KAAkG,IAAzG;AACD;;AAEM,SAASU,gCAAT,CAA0CH,CAA1C,EAA+F;AACpG,MAAMI,EAAE,GAAGJ,CAAC,CAACK,MAAb;AACA,MAAQC,OAAR,GAAoBF,EAApB,CAAQE,OAAR;AAEA,MAAMC,IAAI,GAAGH,EAAE,CAACI,YAAH,CAAgB,MAAhB,CAAb;AAEA,MAAMC,0BAAmC,GAAGL,EAAE,CAACM,iBAAH,KAAyB,IAAzB,IACvCJ,OAAO,KAAK,OAD2B,IAEvCA,OAAO,KAAK,UAF2B,KAGtCC,IAAI,KAAK,QAAT,IAAqBA,IAAI,KAAK,MAHQ,CAA5C;AAKA,MAAMI,gBAAgB,GAAGL,OAAO,KAAK,GAAZ,IAAmBF,EAAE,CAACQ,YAAH,CAAgB,MAAhB,CAA5C;AACA,MAAMC,UAAU,GAAGd,UAAU,CAACC,CAAD,CAA7B;AAEA,SAAOS,0BAA0B,MAC/B;AACAI,EAAAA,UAAU,KAAKtB,IAAI,CAACM,KAApB,IAA6BU,IAAI,KAAK,QAAtC,IAEA;AACAM,EAAAA,UAAU,KAAKtB,IAAI,CAACG,KAApB,IAA6B,CAACiB,gBALC,CAAjC;AAOD","sourcesContent":["import * as React from 'react';\n\nexport enum Keys {\n ENTER = 'Enter',\n SPACE = 'Space',\n TAB = 'Tab',\n}\n\ninterface AccessibleKey {\n code: Keys;\n key: string[];\n keyCode: number;\n}\n\nconst ACCESSIBLE_KEYS: AccessibleKey[] = [\n {\n code: Keys.ENTER,\n key: ['Enter'],\n keyCode: 13,\n },\n {\n code: Keys.SPACE,\n key: ['Space', 'Spacebar', ' '],\n keyCode: 32,\n },\n {\n code: Keys.TAB,\n key: ['Tab'],\n keyCode: 9,\n },\n];\n\nexport function pressedKey(e: KeyboardEvent): Keys {\n return ACCESSIBLE_KEYS.find(({ key, keyCode }) => key.includes(e.key) || keyCode === e.keyCode)?.code || null;\n}\n\nexport function shouldTriggerClickOnEnterOrSpace(e: KeyboardEvent | React.KeyboardEvent<HTMLElement>) {\n const el = e.target as HTMLElement;\n const { tagName } = el;\n\n const role = el.getAttribute('role');\n\n const isValidKeyboardEventTarget: boolean = el.isContentEditable !== true\n && tagName !== 'INPUT'\n && tagName !== 'TEXTAREA'\n && (role === 'button' || role === 'link');\n\n const isNativeAnchorEl = tagName === 'A' && el.hasAttribute('href');\n const keyPressed = pressedKey(e as KeyboardEvent);\n\n return isValidKeyboardEventTarget && (\n // trigger buttons on Space\n keyPressed === Keys.SPACE && role === 'button'\n ||\n // trigger non-native links and buttons on Enter\n keyPressed === Keys.ENTER && !isNativeAnchorEl\n );\n}\n"],"file":"accessibility.js"}
1
+ {"version":3,"sources":["../../../src/lib/accessibility.ts"],"names":["FOCUSABLE_ELEMENTS_LIST","Keys","ACCESSIBLE_KEYS","code","ENTER","key","keyCode","SPACE","TAB","ESCAPE","pressedKey","e","find","includes","shouldTriggerClickOnEnterOrSpace","el","target","tagName","role","getAttribute","isValidKeyboardEventTarget","isContentEditable","isNativeAnchorEl","hasAttribute","keyPressed"],"mappings":";;;;;;;;AAEO,IAAMA,uBAAuB,GAAG,CACrC,SADqC,EAErC,YAFqC,EAGrC,6EAHqC,EAIrC,yDAJqC,EAKrC,0BALqC,EAMrC,wBANqC,EAOrC,QAPqC,EAQrC,OARqC,EASrC,OATqC,EAUrC,mBAVqC,EAWrC,iCAXqC,CAAhC;;IAcKC,I;;;WAAAA,I;AAAAA,EAAAA,I;AAAAA,EAAAA,I;AAAAA,EAAAA,I;AAAAA,EAAAA,I;GAAAA,I,oBAAAA,I;;AAaZ,IAAMC,eAAgC,GAAG,CACvC;AACEC,EAAAA,IAAI,EAAEF,IAAI,CAACG,KADb;AAEEC,EAAAA,GAAG,EAAE,CAAC,OAAD,CAFP;AAGEC,EAAAA,OAAO,EAAE;AAHX,CADuC,EAMvC;AACEH,EAAAA,IAAI,EAAEF,IAAI,CAACM,KADb;AAEEF,EAAAA,GAAG,EAAE,CAAC,OAAD,EAAU,UAAV,EAAsB,GAAtB,CAFP;AAGEC,EAAAA,OAAO,EAAE;AAHX,CANuC,EAWvC;AACEH,EAAAA,IAAI,EAAEF,IAAI,CAACO,GADb;AAEEH,EAAAA,GAAG,EAAE,CAAC,KAAD,CAFP;AAGEC,EAAAA,OAAO,EAAE;AAHX,CAXuC,EAgBvC;AACEH,EAAAA,IAAI,EAAEF,IAAI,CAACQ,MADb;AAEEJ,EAAAA,GAAG,EAAE,CAAC,QAAD,CAFP;AAGEC,EAAAA,OAAO,EAAE;AAHX,CAhBuC,CAAzC;;AAuBO,SAASI,UAAT,CAAoBC,CAApB,EAA+E;AAAA;;AACpF,SAAO,0BAAAT,eAAe,CAACU,IAAhB,CAAqB;AAAA,QAAGP,GAAH,QAAGA,GAAH;AAAA,QAAQC,OAAR,QAAQA,OAAR;AAAA,WAAsBD,GAAG,CAACQ,QAAJ,CAAaF,CAAC,CAACN,GAAf,KAAuBC,OAAO,KAAKK,CAAC,CAACL,OAA3D;AAAA,GAArB,iFAA0FH,IAA1F,KAAkG,IAAzG;AACD;;AAEM,SAASW,gCAAT,CAA0CH,CAA1C,EAA+F;AACpG,MAAMI,EAAE,GAAGJ,CAAC,CAACK,MAAb;AACA,MAAQC,OAAR,GAAoBF,EAApB,CAAQE,OAAR;AAEA,MAAMC,IAAI,GAAGH,EAAE,CAACI,YAAH,CAAgB,MAAhB,CAAb;AAEA,MAAMC,0BAAmC,GAAGL,EAAE,CAACM,iBAAH,KAAyB,IAAzB,IACvCJ,OAAO,KAAK,OAD2B,IAEvCA,OAAO,KAAK,UAF2B,KAGtCC,IAAI,KAAK,QAAT,IAAqBA,IAAI,KAAK,MAHQ,CAA5C;AAKA,MAAMI,gBAAgB,GAAGL,OAAO,KAAK,GAAZ,IAAmBF,EAAE,CAACQ,YAAH,CAAgB,MAAhB,CAA5C;AACA,MAAMC,UAAU,GAAGd,UAAU,CAACC,CAAD,CAA7B;AAEA,SAAOS,0BAA0B,MAC/B;AACAI,EAAAA,UAAU,KAAKvB,IAAI,CAACM,KAApB,IAA6BW,IAAI,KAAK,QAAtC,IAEA;AACAM,EAAAA,UAAU,KAAKvB,IAAI,CAACG,KAApB,IAA6B,CAACkB,gBALC,CAAjC;AAOD","sourcesContent":["import * as React from 'react';\n\nexport const FOCUSABLE_ELEMENTS_LIST = [\n 'a[href]',\n 'area[href]',\n 'input:not([disabled]):not([hidden]):not([type=\"hidden\"]):not([aria-hidden])',\n 'select:not([disabled]):not([hidden]):not([aria-hidden])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'iframe',\n 'audio',\n 'video',\n '[contenteditable]',\n '[tabindex]:not([tabindex=\"-1\"])',\n];\n\nexport enum Keys {\n ENTER = 'Enter',\n SPACE = 'Space',\n TAB = 'Tab',\n ESCAPE = 'Escape',\n}\n\ninterface AccessibleKey {\n code: Keys;\n key: string[];\n keyCode: number;\n}\n\nconst ACCESSIBLE_KEYS: AccessibleKey[] = [\n {\n code: Keys.ENTER,\n key: ['Enter'],\n keyCode: 13,\n },\n {\n code: Keys.SPACE,\n key: ['Space', 'Spacebar', ' '],\n keyCode: 32,\n },\n {\n code: Keys.TAB,\n key: ['Tab'],\n keyCode: 9,\n },\n {\n code: Keys.ESCAPE,\n key: ['Escape'],\n keyCode: 27,\n },\n];\n\nexport function pressedKey(e: KeyboardEvent | React.KeyboardEvent<HTMLElement>): Keys {\n return ACCESSIBLE_KEYS.find(({ key, keyCode }) => key.includes(e.key) || keyCode === e.keyCode)?.code || null;\n}\n\nexport function shouldTriggerClickOnEnterOrSpace(e: KeyboardEvent | React.KeyboardEvent<HTMLElement>) {\n const el = e.target as HTMLElement;\n const { tagName } = el;\n\n const role = el.getAttribute('role');\n\n const isValidKeyboardEventTarget: boolean = el.isContentEditable !== true\n && tagName !== 'INPUT'\n && tagName !== 'TEXTAREA'\n && (role === 'button' || role === 'link');\n\n const isNativeAnchorEl = tagName === 'A' && el.hasAttribute('href');\n const keyPressed = pressedKey(e);\n\n return isValidKeyboardEventTarget && (\n // trigger buttons on Space\n keyPressed === Keys.SPACE && role === 'button'\n ||\n // trigger non-native links and buttons on Enter\n keyPressed === Keys.ENTER && !isNativeAnchorEl\n );\n}\n"],"file":"accessibility.js"}
@@ -0,0 +1 @@
1
+ export declare function is(x: any, y: any): boolean;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.is = is;
7
+
8
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
9
+ function is(x, y) {
10
+ return x === y && (x !== 0 || 1 / x === 1 / y) || // both NaN
11
+ x !== x && y !== y;
12
+ }
13
+ //# sourceMappingURL=is.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/is.ts"],"names":["is","x","y"],"mappings":";;;;;;;AAAA;AACO,SAASA,EAAT,CAAYC,CAAZ,EAAoBC,CAApB,EAA4B;AACjC,SACED,CAAC,KAAKC,CAAN,KAEGD,CAAC,KAAK,CAAN,IAAW,IAAIA,CAAJ,KAAU,IAAIC,CAF5B,KAGA;AACAD,EAAAA,CAAC,KAAKA,CAAN,IAAWC,CAAC,KAAKA,CALnB;AAOD","sourcesContent":["// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nexport function is(x: any, y: any) {\n return (\n x === y &&\n // -0 is not +0\n (x !== 0 || 1 / x === 1 / y) ||\n // both NaN\n x !== x && y !== y\n );\n}\n"],"file":"is.js"}
@@ -26,14 +26,15 @@ function prefixSingle(scopedStyle) {
26
26
  }
27
27
 
28
28
  function prefixClass(scopedStyle) {
29
+ if (typeof scopedStyle === 'string') {
30
+ return prefixSingle(scopedStyle);
31
+ }
32
+
29
33
  var resolved = '';
30
34
 
31
- if (typeof scopedStyle === 'string') {
32
- resolved = prefixSingle(scopedStyle);
33
- } else {
34
- for (var i = 0; i < scopedStyle.length; i++) {
35
- resolved += ' ' + prefixSingle(scopedStyle[i]);
36
- }
35
+ for (var i = 0; i < scopedStyle.length; i++) {
36
+ var separator = resolved ? ' ' : '';
37
+ resolved += separator + prefixSingle(scopedStyle[i]);
37
38
  }
38
39
 
39
40
  return resolved;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/prefixClass.ts"],"names":["hasTransformable","noConflictCache","legacyCache","prefixSingle","scopedStyle","noConflict","classScopingMode","cache","prefixed","replace","resolved","prefixClass","i","length"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,gBAAgB,GAAG,cAAzB;AACA,IAAMC,eAAoB,GAAG,EAA7B;AACA,IAAMC,WAAgB,GAAG,EAAzB;;AACA,SAASC,YAAT,CAAsBC,WAAtB,EAAmD;AACjD,MAAQC,UAAR,GAAuBC,kCAAvB,CAAQD,UAAR;AACA,MAAME,KAAK,GAAGF,UAAU,GAAGJ,eAAH,GAAqBC,WAA7C;;AACA,MAAIK,KAAK,CAACH,WAAD,CAAT,EAAwB;AACtB,WAAOG,KAAK,CAACH,WAAD,CAAZ;AACD;;AACD,MAAMI,QAAQ,GAAGJ,WAAW,CAACK,OAAZ,CAAoBT,gBAApB,EAAsC,MAAtC,CAAjB;AACA,MAAMU,QAAQ,GAAGL,UAAU,IAAID,WAAW,KAAKI,QAA9B,GAAyCA,QAAzC,GAAoDA,QAAQ,GAAG,GAAX,GAAiBJ,WAAtF;AACAG,EAAAA,KAAK,CAACH,WAAD,CAAL,GAAqBM,QAArB;AACA,SAAOA,QAAP;AACD;;AAEM,SAASC,WAAT,CAAqBP,WAArB,EAAsD;AAC3D,MAAIM,QAAQ,GAAG,EAAf;;AACA,MAAI,OAAON,WAAP,KAAuB,QAA3B,EAAqC;AACnCM,IAAAA,QAAQ,GAAGP,YAAY,CAACC,WAAD,CAAvB;AACD,GAFD,MAEO;AACL,SAAK,IAAIQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGR,WAAW,CAACS,MAAhC,EAAwCD,CAAC,EAAzC,EAA6C;AAC3CF,MAAAA,QAAQ,IAAI,MAAMP,YAAY,CAACC,WAAW,CAACQ,CAAD,CAAZ,CAA9B;AACD;AACF;;AACD,SAAOF,QAAP;AACD","sourcesContent":["import { classScopingMode } from './classScopingMode';\n\nconst hasTransformable = /\\b(?=[A-Z])/g;\nconst noConflictCache: any = {};\nconst legacyCache: any = {};\nfunction prefixSingle(scopedStyle: string): string {\n const { noConflict } = classScopingMode;\n const cache = noConflict ? noConflictCache : legacyCache;\n if (cache[scopedStyle]) {\n return cache[scopedStyle];\n }\n const prefixed = scopedStyle.replace(hasTransformable, 'vkui');\n const resolved = noConflict || scopedStyle === prefixed ? prefixed : prefixed + ' ' + scopedStyle;\n cache[scopedStyle] = resolved;\n return resolved;\n}\n\nexport function prefixClass(scopedStyle?: string | string[]) {\n let resolved = '';\n if (typeof scopedStyle === 'string') {\n resolved = prefixSingle(scopedStyle);\n } else {\n for (let i = 0; i < scopedStyle.length; i++) {\n resolved += ' ' + prefixSingle(scopedStyle[i]);\n }\n }\n return resolved;\n}\n"],"file":"prefixClass.js"}
1
+ {"version":3,"sources":["../../../src/lib/prefixClass.ts"],"names":["hasTransformable","noConflictCache","legacyCache","prefixSingle","scopedStyle","noConflict","classScopingMode","cache","prefixed","replace","resolved","prefixClass","i","length","separator"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,gBAAgB,GAAG,cAAzB;AACA,IAAMC,eAAoB,GAAG,EAA7B;AACA,IAAMC,WAAgB,GAAG,EAAzB;;AACA,SAASC,YAAT,CAAsBC,WAAtB,EAAmD;AACjD,MAAQC,UAAR,GAAuBC,kCAAvB,CAAQD,UAAR;AACA,MAAME,KAAK,GAAGF,UAAU,GAAGJ,eAAH,GAAqBC,WAA7C;;AACA,MAAIK,KAAK,CAACH,WAAD,CAAT,EAAwB;AACtB,WAAOG,KAAK,CAACH,WAAD,CAAZ;AACD;;AACD,MAAMI,QAAQ,GAAGJ,WAAW,CAACK,OAAZ,CAAoBT,gBAApB,EAAsC,MAAtC,CAAjB;AACA,MAAMU,QAAQ,GAAGL,UAAU,IAAID,WAAW,KAAKI,QAA9B,GAAyCA,QAAzC,GAAoDA,QAAQ,GAAG,GAAX,GAAiBJ,WAAtF;AACAG,EAAAA,KAAK,CAACH,WAAD,CAAL,GAAqBM,QAArB;AACA,SAAOA,QAAP;AACD;;AAEM,SAASC,WAAT,CAAqBP,WAArB,EAAsD;AAC3D,MAAI,OAAOA,WAAP,KAAuB,QAA3B,EAAqC;AACnC,WAAOD,YAAY,CAACC,WAAD,CAAnB;AACD;;AAED,MAAIM,QAAQ,GAAG,EAAf;;AACA,OAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGR,WAAW,CAACS,MAAhC,EAAwCD,CAAC,EAAzC,EAA6C;AAC3C,QAAME,SAAS,GAAGJ,QAAQ,GAAG,GAAH,GAAS,EAAnC;AAEAA,IAAAA,QAAQ,IAAII,SAAS,GAAGX,YAAY,CAACC,WAAW,CAACQ,CAAD,CAAZ,CAApC;AACD;;AAED,SAAOF,QAAP;AACD","sourcesContent":["import { classScopingMode } from './classScopingMode';\n\nconst hasTransformable = /\\b(?=[A-Z])/g;\nconst noConflictCache: any = {};\nconst legacyCache: any = {};\nfunction prefixSingle(scopedStyle: string): string {\n const { noConflict } = classScopingMode;\n const cache = noConflict ? noConflictCache : legacyCache;\n if (cache[scopedStyle]) {\n return cache[scopedStyle];\n }\n const prefixed = scopedStyle.replace(hasTransformable, 'vkui');\n const resolved = noConflict || scopedStyle === prefixed ? prefixed : prefixed + ' ' + scopedStyle;\n cache[scopedStyle] = resolved;\n return resolved;\n}\n\nexport function prefixClass(scopedStyle?: string | string[]) {\n if (typeof scopedStyle === 'string') {\n return prefixSingle(scopedStyle);\n }\n\n let resolved = '';\n for (let i = 0; i < scopedStyle.length; i++) {\n const separator = resolved ? ' ' : '';\n\n resolved += separator + prefixSingle(scopedStyle[i]);\n }\n\n return resolved;\n}\n"],"file":"prefixClass.js"}
@@ -2,6 +2,8 @@ export declare type VKUISupportEvents = {
2
2
  supported: boolean;
3
3
  name?: string;
4
4
  };
5
- declare const animationEvent: VKUISupportEvents;
5
+ declare const animationEvent: {
6
+ supported: boolean;
7
+ };
6
8
  declare const transitionEvent: VKUISupportEvents;
7
9
  export { animationEvent, transitionEvent };
@@ -10,8 +10,7 @@ var _dom = require("./dom");
10
10
  var _testing = require("./testing");
11
11
 
12
12
  var animationEvent = {
13
- supported: false,
14
- name: null
13
+ supported: false
15
14
  };
16
15
  exports.animationEvent = animationEvent;
17
16
  var transitionEvent = {
@@ -23,10 +22,8 @@ exports.transitionEvent = transitionEvent;
23
22
  if (_dom.canUseDOM && !_testing.isTesting) {
24
23
  if (typeof AnimationEvent !== 'undefined') {
25
24
  animationEvent.supported = true;
26
- animationEvent.name = 'animationend';
27
25
  } else if (typeof WebKitAnimationEvent !== 'undefined') {
28
26
  animationEvent.supported = true;
29
- animationEvent.name = 'webkitAnimationEnd';
30
27
  }
31
28
 
32
29
  if (typeof TransitionEvent !== 'undefined') {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/supportEvents.ts"],"names":["animationEvent","supported","name","transitionEvent","canUseDOM","isTesting","AnimationEvent","WebKitAnimationEvent","TransitionEvent","WebKitTransitionEvent"],"mappings":";;;;;;;AAAA;;AACA;;AAWA,IAAMA,cAAiC,GAAG;AACxCC,EAAAA,SAAS,EAAE,KAD6B;AAExCC,EAAAA,IAAI,EAAE;AAFkC,CAA1C;;AAKA,IAAMC,eAAkC,GAAG;AACzCF,EAAAA,SAAS,EAAE,KAD8B;AAEzCC,EAAAA,IAAI,EAAE;AAFmC,CAA3C;;;AAKA,IAAIE,kBAAa,CAACC,kBAAlB,EAA6B;AAC3B,MAAI,OAAOC,cAAP,KAA0B,WAA9B,EAA2C;AACzCN,IAAAA,cAAc,CAACC,SAAf,GAA2B,IAA3B;AACAD,IAAAA,cAAc,CAACE,IAAf,GAAsB,cAAtB;AACD,GAHD,MAGO,IAAI,OAAOK,oBAAP,KAAgC,WAApC,EAAiD;AACtDP,IAAAA,cAAc,CAACC,SAAf,GAA2B,IAA3B;AACAD,IAAAA,cAAc,CAACE,IAAf,GAAsB,oBAAtB;AACD;;AAED,MAAI,OAAOM,eAAP,KAA2B,WAA/B,EAA4C;AAC1CL,IAAAA,eAAe,CAACF,SAAhB,GAA4B,IAA5B;AACAE,IAAAA,eAAe,CAACD,IAAhB,GAAuB,eAAvB;AACD,GAHD,MAGO,IAAI,OAAOO,qBAAP,KAAiC,WAArC,EAAkD;AACvDN,IAAAA,eAAe,CAACF,SAAhB,GAA4B,IAA5B;AACAE,IAAAA,eAAe,CAACD,IAAhB,GAAuB,qBAAvB;AACD;AACF","sourcesContent":["import { canUseDOM } from './dom';\nimport { isTesting } from './testing';\n\nexport type VKUISupportEvents = {\n supported: boolean;\n name?: string;\n};\n\n// WebKitAnimationEvent и WebKitTransitionEvent не существуют в глобальном контексте\ndeclare const WebKitAnimationEvent: AnimationEvent;\ndeclare const WebKitTransitionEvent: TransitionEvent;\n\nconst animationEvent: VKUISupportEvents = {\n supported: false,\n name: null,\n};\n\nconst transitionEvent: VKUISupportEvents = {\n supported: false,\n name: null,\n};\n\nif (canUseDOM && !isTesting) {\n if (typeof AnimationEvent !== 'undefined') {\n animationEvent.supported = true;\n animationEvent.name = 'animationend';\n } else if (typeof WebKitAnimationEvent !== 'undefined') {\n animationEvent.supported = true;\n animationEvent.name = 'webkitAnimationEnd';\n }\n\n if (typeof TransitionEvent !== 'undefined') {\n transitionEvent.supported = true;\n transitionEvent.name = 'transitionend';\n } else if (typeof WebKitTransitionEvent !== 'undefined') {\n transitionEvent.supported = true;\n transitionEvent.name = 'webkitTransitionEnd';\n }\n}\n\nexport { animationEvent, transitionEvent };\n"],"file":"supportEvents.js"}
1
+ {"version":3,"sources":["../../../src/lib/supportEvents.ts"],"names":["animationEvent","supported","transitionEvent","name","canUseDOM","isTesting","AnimationEvent","WebKitAnimationEvent","TransitionEvent","WebKitTransitionEvent"],"mappings":";;;;;;;AAAA;;AACA;;AAWA,IAAMA,cAAc,GAAG;AACrBC,EAAAA,SAAS,EAAE;AADU,CAAvB;;AAIA,IAAMC,eAAkC,GAAG;AACzCD,EAAAA,SAAS,EAAE,KAD8B;AAEzCE,EAAAA,IAAI,EAAE;AAFmC,CAA3C;;;AAKA,IAAIC,kBAAa,CAACC,kBAAlB,EAA6B;AAC3B,MAAI,OAAOC,cAAP,KAA0B,WAA9B,EAA2C;AACzCN,IAAAA,cAAc,CAACC,SAAf,GAA2B,IAA3B;AACD,GAFD,MAEO,IAAI,OAAOM,oBAAP,KAAgC,WAApC,EAAiD;AACtDP,IAAAA,cAAc,CAACC,SAAf,GAA2B,IAA3B;AACD;;AAED,MAAI,OAAOO,eAAP,KAA2B,WAA/B,EAA4C;AAC1CN,IAAAA,eAAe,CAACD,SAAhB,GAA4B,IAA5B;AACAC,IAAAA,eAAe,CAACC,IAAhB,GAAuB,eAAvB;AACD,GAHD,MAGO,IAAI,OAAOM,qBAAP,KAAiC,WAArC,EAAkD;AACvDP,IAAAA,eAAe,CAACD,SAAhB,GAA4B,IAA5B;AACAC,IAAAA,eAAe,CAACC,IAAhB,GAAuB,qBAAvB;AACD;AACF","sourcesContent":["import { canUseDOM } from './dom';\nimport { isTesting } from './testing';\n\nexport type VKUISupportEvents = {\n supported: boolean;\n name?: string;\n};\n\n// WebKitAnimationEvent и WebKitTransitionEvent не существуют в глобальном контексте\ndeclare const WebKitAnimationEvent: AnimationEvent;\ndeclare const WebKitTransitionEvent: TransitionEvent;\n\nconst animationEvent = {\n supported: false,\n};\n\nconst transitionEvent: VKUISupportEvents = {\n supported: false,\n name: null,\n};\n\nif (canUseDOM && !isTesting) {\n if (typeof AnimationEvent !== 'undefined') {\n animationEvent.supported = true;\n } else if (typeof WebKitAnimationEvent !== 'undefined') {\n animationEvent.supported = true;\n }\n\n if (typeof TransitionEvent !== 'undefined') {\n transitionEvent.supported = true;\n transitionEvent.name = 'transitionend';\n } else if (typeof WebKitTransitionEvent !== 'undefined') {\n transitionEvent.supported = true;\n transitionEvent.name = 'webkitTransitionEnd';\n }\n}\n\nexport { animationEvent, transitionEvent };\n"],"file":"supportEvents.js"}
@@ -9,6 +9,9 @@ export interface HasRootRef<T> {
9
9
  export interface HasRef<T> {
10
10
  getRef?: React.Ref<T>;
11
11
  }
12
+ export interface HasComponent {
13
+ Component?: React.ElementType;
14
+ }
12
15
  export interface HasAlign {
13
16
  align?: AlignType;
14
17
  }
@@ -17,6 +17,7 @@ import { useTimeout } from "../../hooks/useTimeout";
17
17
  import { useAdaptivity } from "../../hooks/useAdaptivity";
18
18
  import { useObjectMemo } from "../../hooks/useObjectMemo";
19
19
  import { warnOnce } from "../../lib/warnOnce";
20
+ import { noop } from '@vkontakte/vkjs';
20
21
  var warn = warnOnce('ActionSheet');
21
22
  export var ActionSheet = function ActionSheet(_ref) {
22
23
  var children = _ref.children,
@@ -38,15 +39,11 @@ export var ActionSheet = function ActionSheet(_ref) {
38
39
  return setClosing(true);
39
40
  };
40
41
 
41
- var _React$useState3 = React.useState(),
42
- _React$useState4 = _slicedToArray(_React$useState3, 2),
43
- _closeAction = _React$useState4[0],
44
- setCloseAction = _React$useState4[1];
42
+ var closeAction = React.useRef(noop);
45
43
 
46
44
  var afterClose = function afterClose() {
47
45
  restProps.onClose();
48
- _closeAction && _closeAction();
49
- setCloseAction(undefined);
46
+ closeAction.current();
50
47
  };
51
48
 
52
49
  if (process.env.NODE_ENV === 'development' && !restProps.onClose) {
@@ -59,7 +56,8 @@ export var ActionSheet = function ActionSheet(_ref) {
59
56
  hasMouse = _useAdaptivity.hasMouse;
60
57
 
61
58
  var isDesktop = viewWidth >= ViewWidth.SMALL_TABLET && (hasMouse || viewHeight >= ViewHeight.MEDIUM);
62
- var fallbackTransitionFinish = useTimeout(afterClose, platform === IOS ? 300 : 200);
59
+ var timeout = platform === IOS ? 300 : 200;
60
+ var fallbackTransitionFinish = useTimeout(afterClose, timeout);
63
61
  React.useEffect(function () {
64
62
  if (closing) {
65
63
  if (isDesktop) {
@@ -76,9 +74,10 @@ export var ActionSheet = function ActionSheet(_ref) {
76
74
  event.persist();
77
75
 
78
76
  if (autoclose) {
79
- setCloseAction(function () {
77
+ closeAction.current = function () {
80
78
  return action && action(event);
81
- });
79
+ };
80
+
82
81
  setClosing(true);
83
82
  } else {
84
83
  action && action(event);
@@ -102,9 +101,10 @@ export var ActionSheet = function ActionSheet(_ref) {
102
101
  value: contextValue
103
102
  }, createScopedElement(DropdownComponent, _extends({
104
103
  closing: closing,
105
- onClose: onClose,
106
- onTransitionEnd: closing && !isDesktop ? afterClose : null
107
- }, restProps), (hasReactNode(header) || hasReactNode(text)) && createScopedElement("header", {
104
+ timeout: timeout
105
+ }, restProps, {
106
+ onClose: onClose
107
+ }), (hasReactNode(header) || hasReactNode(text)) && createScopedElement("header", {
108
108
  vkuiClass: "ActionSheet__header"
109
109
  }, hasReactNode(header) && createScopedElement(Caption, {
110
110
  level: "1",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ActionSheet/ActionSheet.tsx"],"names":["React","PopoutWrapper","ViewWidth","ViewHeight","IOS","ActionSheetDropdownDesktop","ActionSheetDropdown","hasReactNode","ActionSheetContext","Caption","usePlatform","useTimeout","useAdaptivity","useObjectMemo","warnOnce","warn","ActionSheet","children","className","header","text","style","iosCloseItem","restProps","platform","useState","closing","setClosing","onClose","_closeAction","setCloseAction","afterClose","undefined","process","env","NODE_ENV","viewWidth","viewHeight","hasMouse","isDesktop","SMALL_TABLET","MEDIUM","fallbackTransitionFinish","useEffect","set","clear","onItemClick","useCallback","action","autoclose","event","persist","contextValue","DropdownComponent","defaultProps","popupDirection"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport { ViewWidth, ViewHeight } from '../../hoc/withAdaptivity';\nimport { IOS } from '../../lib/platform';\nimport { ActionSheetDropdownDesktop } from './ActionSheetDropdownDesktop';\nimport { ActionSheetDropdown } from './ActionSheetDropdown';\nimport { hasReactNode } from '../../lib/utils';\nimport { ActionSheetContext, ItemClickHandler } from './ActionSheetContext';\nimport Caption from '../Typography/Caption/Caption';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { SharedDropdownProps, PopupDirection, ToggleRef } from './types';\nimport './ActionSheet.css';\n\nexport interface ActionSheetProps extends React.HTMLAttributes<HTMLDivElement> {\n header?: React.ReactNode;\n text?: React.ReactNode;\n /**\n * Закрыть попап по клику снаружи. В v5 будет обязательным.\n */\n onClose?: VoidFunction;\n /**\n * Элемент, рядом с которым вылезает попап на десктопе.\n * Лучше передавать RefObject c current.\n * В v5 будет обязательным.\n */\n toggleRef?: ToggleRef;\n /**\n * Направление на десктопе\n */\n popupDirection?: PopupDirection;\n /**\n * Только iOS. В v5 будет обязательным.\n */\n iosCloseItem?: React.ReactNode;\n}\n\nconst warn = warnOnce('ActionSheet');\n\nexport const ActionSheet: React.FC<ActionSheetProps> = ({\n children,\n className,\n header,\n text,\n style,\n iosCloseItem,\n ...restProps\n}: ActionSheetProps) => {\n const platform = usePlatform();\n const [closing, setClosing] = React.useState(false);\n const onClose = () => setClosing(true);\n\n const [_closeAction, setCloseAction] = React.useState<VoidFunction>();\n const afterClose = () => {\n restProps.onClose();\n _closeAction && _closeAction();\n setCloseAction(undefined);\n };\n\n if (process.env.NODE_ENV === 'development' && !restProps.onClose) {\n warn('can\\'t close on outer click without onClose');\n }\n\n const { viewWidth, viewHeight, hasMouse } = useAdaptivity();\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET && (hasMouse || viewHeight >= ViewHeight.MEDIUM);\n\n const fallbackTransitionFinish = useTimeout(afterClose, platform === IOS ? 300 : 200);\n React.useEffect(() => {\n if (closing) {\n if (isDesktop) {\n afterClose();\n } else {\n fallbackTransitionFinish.set();\n }\n } else {\n fallbackTransitionFinish.clear();\n }\n }, [closing]);\n\n const onItemClick = React.useCallback<ItemClickHandler>((action, autoclose) => (event) => {\n event.persist();\n\n if (autoclose) {\n setCloseAction(() => action && action(event));\n setClosing(true);\n } else {\n action && action(event);\n }\n }, []);\n const contextValue = useObjectMemo({ onItemClick, isDesktop });\n\n const DropdownComponent = isDesktop\n ? ActionSheetDropdownDesktop\n : ActionSheetDropdown;\n\n return (\n <PopoutWrapper\n closing={closing}\n alignY=\"bottom\"\n className={className}\n style={style}\n onClick={!isDesktop ? onClose : null}\n hasMask={!isDesktop}\n fixed={!isDesktop}\n >\n <ActionSheetContext.Provider value={contextValue}>\n <DropdownComponent\n closing={closing}\n onClose={onClose}\n onTransitionEnd={closing && !isDesktop ? afterClose : null}\n {...restProps as Omit<SharedDropdownProps, 'closing'>}\n >\n {(hasReactNode(header) || hasReactNode(text)) &&\n <header vkuiClass=\"ActionSheet__header\">\n {hasReactNode(header) &&\n <Caption level=\"1\" weight={platform === IOS ? 'semibold' : 'medium'} vkuiClass=\"ActionSheet__title\">\n {header}\n </Caption>\n }\n {hasReactNode(text) && <Caption level=\"1\" weight=\"regular\" vkuiClass=\"ActionSheet__text\">{text}</Caption>}\n </header>\n }\n {children}\n {platform === IOS && !isDesktop && iosCloseItem}\n </DropdownComponent>\n </ActionSheetContext.Provider>\n </PopoutWrapper>\n );\n};\n\nActionSheet.defaultProps = {\n popupDirection: 'bottom',\n};\n"],"file":"ActionSheet.js"}
1
+ {"version":3,"sources":["../../../src/components/ActionSheet/ActionSheet.tsx"],"names":["React","PopoutWrapper","ViewWidth","ViewHeight","IOS","ActionSheetDropdownDesktop","ActionSheetDropdown","hasReactNode","ActionSheetContext","Caption","usePlatform","useTimeout","useAdaptivity","useObjectMemo","warnOnce","noop","warn","ActionSheet","children","className","header","text","style","iosCloseItem","restProps","platform","useState","closing","setClosing","onClose","closeAction","useRef","afterClose","current","process","env","NODE_ENV","viewWidth","viewHeight","hasMouse","isDesktop","SMALL_TABLET","MEDIUM","timeout","fallbackTransitionFinish","useEffect","set","clear","onItemClick","useCallback","action","autoclose","event","persist","contextValue","DropdownComponent","defaultProps","popupDirection"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport { ViewWidth, ViewHeight } from '../../hoc/withAdaptivity';\nimport { IOS } from '../../lib/platform';\nimport { ActionSheetDropdownDesktop } from './ActionSheetDropdownDesktop';\nimport { ActionSheetDropdown } from './ActionSheetDropdown';\nimport { hasReactNode } from '../../lib/utils';\nimport { ActionSheetContext, ItemClickHandler } from './ActionSheetContext';\nimport Caption from '../Typography/Caption/Caption';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { SharedDropdownProps, PopupDirection, ToggleRef } from './types';\nimport { noop } from '@vkontakte/vkjs';\nimport './ActionSheet.css';\n\nexport interface ActionSheetProps extends React.HTMLAttributes<HTMLDivElement> {\n header?: React.ReactNode;\n text?: React.ReactNode;\n /**\n * Закрыть попап по клику снаружи. В v5 будет обязательным.\n */\n onClose?: VoidFunction;\n /**\n * Элемент, рядом с которым вылезает попап на десктопе.\n * Лучше передавать RefObject c current.\n * В v5 будет обязательным.\n */\n toggleRef?: ToggleRef;\n /**\n * Направление на десктопе\n */\n popupDirection?: PopupDirection;\n /**\n * Только iOS. В v5 будет обязательным.\n */\n iosCloseItem?: React.ReactNode;\n}\n\nconst warn = warnOnce('ActionSheet');\n\nexport const ActionSheet: React.FC<ActionSheetProps> = ({\n children,\n className,\n header,\n text,\n style,\n iosCloseItem,\n ...restProps\n}: ActionSheetProps) => {\n const platform = usePlatform();\n const [closing, setClosing] = React.useState(false);\n const onClose = () => setClosing(true);\n\n const closeAction = React.useRef<VoidFunction>(noop);\n const afterClose = () => {\n restProps.onClose();\n closeAction.current();\n };\n\n if (process.env.NODE_ENV === 'development' && !restProps.onClose) {\n warn('can\\'t close on outer click without onClose');\n }\n\n const { viewWidth, viewHeight, hasMouse } = useAdaptivity();\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET && (hasMouse || viewHeight >= ViewHeight.MEDIUM);\n\n const timeout = platform === IOS ? 300 : 200;\n\n const fallbackTransitionFinish = useTimeout(afterClose, timeout);\n React.useEffect(() => {\n if (closing) {\n if (isDesktop) {\n afterClose();\n } else {\n fallbackTransitionFinish.set();\n }\n } else {\n fallbackTransitionFinish.clear();\n }\n }, [closing]);\n\n const onItemClick = React.useCallback<ItemClickHandler>((action, autoclose) => (event) => {\n event.persist();\n\n if (autoclose) {\n closeAction.current = () => action && action(event);\n setClosing(true);\n } else {\n action && action(event);\n }\n }, []);\n const contextValue = useObjectMemo({ onItemClick, isDesktop });\n\n const DropdownComponent = isDesktop\n ? ActionSheetDropdownDesktop\n : ActionSheetDropdown;\n\n return (\n <PopoutWrapper\n closing={closing}\n alignY=\"bottom\"\n className={className}\n style={style}\n onClick={!isDesktop ? onClose : null}\n hasMask={!isDesktop}\n fixed={!isDesktop}\n >\n <ActionSheetContext.Provider value={contextValue}>\n <DropdownComponent\n closing={closing}\n timeout={timeout}\n {...restProps as Omit<SharedDropdownProps, 'closing'>}\n onClose={onClose}\n >\n {(hasReactNode(header) || hasReactNode(text)) &&\n <header vkuiClass=\"ActionSheet__header\">\n {hasReactNode(header) &&\n <Caption level=\"1\" weight={platform === IOS ? 'semibold' : 'medium'} vkuiClass=\"ActionSheet__title\">\n {header}\n </Caption>\n }\n {hasReactNode(text) && <Caption level=\"1\" weight=\"regular\" vkuiClass=\"ActionSheet__text\">{text}</Caption>}\n </header>\n }\n {children}\n {platform === IOS && !isDesktop && iosCloseItem}\n </DropdownComponent>\n </ActionSheetContext.Provider>\n </PopoutWrapper>\n );\n};\n\nActionSheet.defaultProps = {\n popupDirection: 'bottom',\n};\n"],"file":"ActionSheet.js"}
@@ -5,6 +5,7 @@ import { createScopedElement } from "../../lib/jsxRuntime";
5
5
  import { getClassName } from "../../helpers/getClassName";
6
6
  import { classNames } from "../../lib/classNames";
7
7
  import { usePlatform } from "../../hooks/usePlatform";
8
+ import { FocusTrap } from "../FocusTrap/FocusTrap";
8
9
 
9
10
  var stopPropagation = function stopPropagation(e) {
10
11
  return e.stopPropagation();
@@ -19,7 +20,7 @@ export var ActionSheetDropdown = function ActionSheetDropdown(_ref) {
19
20
 
20
21
  var platform = usePlatform();
21
22
  var baseClaseName = getClassName('ActionSheet', platform);
22
- return createScopedElement("div", _extends({}, restProps, {
23
+ return createScopedElement(FocusTrap, _extends({}, restProps, {
23
24
  onClick: stopPropagation,
24
25
  vkuiClass: classNames(baseClaseName, {
25
26
  'ActionSheet--closing': closing
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ActionSheet/ActionSheetDropdown.tsx"],"names":["getClassName","classNames","usePlatform","stopPropagation","e","ActionSheetDropdown","children","closing","toggleRef","popupDirection","restProps","platform","baseClaseName"],"mappings":";;;;AACA,SAASA,YAAT;AACA,SAASC,UAAT;AACA,SAASC,WAAT;;AAIA,IAAMC,eAAwC,GAAG,SAA3CA,eAA2C,CAACC,CAAD;AAAA,SAAOA,CAAC,CAACD,eAAF,EAAP;AAAA,CAAjD;;AAEA,OAAO,IAAME,mBAAkD,GAAG,SAArDA,mBAAqD,OAO5D;AAAA,MANJC,QAMI,QANJA,QAMI;AAAA,MALJC,OAKI,QALJA,OAKI;AAAA,MAHJC,SAGI,QAHJA,SAGI;AAAA,MAFJC,cAEI,QAFJA,cAEI;AAAA,MADDC,SACC;;AACJ,MAAMC,QAAQ,GAAGT,WAAW,EAA5B;AACA,MAAMU,aAAa,GAAGZ,YAAY,CAAC,aAAD,EAAgBW,QAAhB,CAAlC;AAEA,SACE,wCACMD,SADN;AAEE,IAAA,OAAO,EAAEP,eAFX;AAGE,IAAA,SAAS,EAAEF,UAAU,CAACW,aAAD,EAAgB;AACnC,8BAAwBL;AADW,KAAhB;AAHvB,MAOGD,QAPH,CADF;AAWD,CAtBM","sourcesContent":["import * as React from 'react';\nimport { getClassName } from '../../helpers/getClassName';\nimport { classNames } from '../../lib/classNames';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SharedDropdownProps } from './types';\nimport './ActionSheet.css';\n\nconst stopPropagation: React.MouseEventHandler = (e) => e.stopPropagation();\n\nexport const ActionSheetDropdown: React.FC<SharedDropdownProps> = ({\n children,\n closing,\n // these 2 props are only omitted - ActionSheetDesktop compat\n toggleRef,\n popupDirection,\n ...restProps\n}) => {\n const platform = usePlatform();\n const baseClaseName = getClassName('ActionSheet', platform);\n\n return (\n <div\n {...restProps}\n onClick={stopPropagation}\n vkuiClass={classNames(baseClaseName, {\n 'ActionSheet--closing': closing,\n })}\n >\n {children}\n </div>\n );\n};\n"],"file":"ActionSheetDropdown.js"}
1
+ {"version":3,"sources":["../../../src/components/ActionSheet/ActionSheetDropdown.tsx"],"names":["getClassName","classNames","usePlatform","FocusTrap","stopPropagation","e","ActionSheetDropdown","children","closing","toggleRef","popupDirection","restProps","platform","baseClaseName"],"mappings":";;;;AACA,SAASA,YAAT;AACA,SAASC,UAAT;AACA,SAASC,WAAT;AAEA,SAASC,SAAT;;AAGA,IAAMC,eAAwC,GAAG,SAA3CA,eAA2C,CAACC,CAAD;AAAA,SAAOA,CAAC,CAACD,eAAF,EAAP;AAAA,CAAjD;;AAEA,OAAO,IAAME,mBAAkD,GAAG,SAArDA,mBAAqD,OAO5D;AAAA,MANJC,QAMI,QANJA,QAMI;AAAA,MALJC,OAKI,QALJA,OAKI;AAAA,MAHJC,SAGI,QAHJA,SAGI;AAAA,MAFJC,cAEI,QAFJA,cAEI;AAAA,MADDC,SACC;;AACJ,MAAMC,QAAQ,GAAGV,WAAW,EAA5B;AACA,MAAMW,aAAa,GAAGb,YAAY,CAAC,aAAD,EAAgBY,QAAhB,CAAlC;AAEA,SACE,oBAAC,SAAD,eACMD,SADN;AAEE,IAAA,OAAO,EAAEP,eAFX;AAGE,IAAA,SAAS,EAAEH,UAAU,CAACY,aAAD,EAAgB;AACnC,8BAAwBL;AADW,KAAhB;AAHvB,MAOGD,QAPH,CADF;AAWD,CAtBM","sourcesContent":["import * as React from 'react';\nimport { getClassName } from '../../helpers/getClassName';\nimport { classNames } from '../../lib/classNames';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SharedDropdownProps } from './types';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport './ActionSheet.css';\n\nconst stopPropagation: React.MouseEventHandler = (e) => e.stopPropagation();\n\nexport const ActionSheetDropdown: React.FC<SharedDropdownProps> = ({\n children,\n closing,\n // these 2 props are only omitted - ActionSheetDesktop compat\n toggleRef,\n popupDirection,\n ...restProps\n}) => {\n const platform = usePlatform();\n const baseClaseName = getClassName('ActionSheet', platform);\n\n return (\n <FocusTrap\n {...restProps}\n onClick={stopPropagation}\n vkuiClass={classNames(baseClaseName, {\n 'ActionSheet--closing': closing,\n })}\n >\n {children}\n </FocusTrap>\n );\n};\n"],"file":"ActionSheetDropdown.js"}
@@ -12,6 +12,7 @@ import { useAdaptivity } from "../../hooks/useAdaptivity";
12
12
  import { warnOnce } from "../../lib/warnOnce";
13
13
  import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect";
14
14
  import { useEventListener } from "../../hooks/useEventListener";
15
+ import { FocusTrap } from "../FocusTrap/FocusTrap";
15
16
  var warn = warnOnce('ActionSheet');
16
17
 
17
18
  function getEl(ref) {
@@ -78,11 +79,14 @@ export var ActionSheetDropdownDesktop = function ActionSheetDropdownDesktop(_ref
78
79
  bodyClickListener.add(document.body);
79
80
  });
80
81
  }, []);
81
- return createScopedElement("div", _extends({}, restProps, {
82
- ref: elementRef,
83
- onClick: function onClick(e) {
84
- return e.stopPropagation();
85
- },
82
+ var onClick = React.useCallback(function (e) {
83
+ return e.stopPropagation();
84
+ }, []);
85
+ return createScopedElement(FocusTrap, _extends({
86
+ onClose: onClose
87
+ }, restProps, {
88
+ getRootRef: elementRef,
89
+ onClick: onClick,
86
90
  style: dropdownStyles,
87
91
  vkuiClass: classNames(getClassName('ActionSheet', platform), 'ActionSheet--desktop', {
88
92
  'ActionSheet--closing': closing
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ActionSheet/ActionSheetDropdownDesktop.tsx"],"names":["React","getClassName","classNames","useDOM","usePlatform","useAdaptivity","warnOnce","useIsomorphicLayoutEffect","useEventListener","warn","getEl","ref","current","ActionSheetDropdownDesktop","children","toggleRef","closing","popupDirection","onClose","restProps","window","document","platform","sizeY","elementRef","useRef","useState","left","top","opacity","pointerEvents","dropdownStyles","setDropdownStyles","toggleEl","process","env","NODE_ENV","toggleRect","getBoundingClientRect","elementRect","isTop","width","pageXOffset","pageYOffset","height","bodyClickListener","e","dropdownElement","contains","target","useEffect","setTimeout","add","body","stopPropagation"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { getClassName } from '../../helpers/getClassName';\nimport { classNames } from '../../lib/classNames';\nimport { useDOM } from '../../lib/dom';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { SharedDropdownProps } from './types';\nimport './ActionSheet.css';\n\nconst warn = warnOnce('ActionSheet');\nfunction getEl(ref: SharedDropdownProps['toggleRef']): Element | null | undefined {\n return ref && 'current' in ref ? ref.current : ref as Element | null | undefined;\n}\n\nexport const ActionSheetDropdownDesktop: React.FC<SharedDropdownProps> = ({\n children,\n toggleRef,\n closing,\n popupDirection,\n onClose,\n ...restProps\n}) => {\n const { window, document } = useDOM();\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n const elementRef = React.useRef<HTMLDivElement>();\n\n const [dropdownStyles, setDropdownStyles] = React.useState<React.CSSProperties>({\n left: 0,\n top: 0,\n opacity: 0,\n pointerEvents: 'none',\n });\n useIsomorphicLayoutEffect(() => {\n const toggleEl = getEl(toggleRef);\n if (!toggleEl) {\n if (process.env.NODE_ENV === 'development') {\n warn('toggleRef not passed');\n }\n return;\n }\n\n const toggleRect = toggleEl.getBoundingClientRect();\n const elementRect = elementRef.current.getBoundingClientRect();\n const isTop = popupDirection === 'top' || typeof popupDirection === 'function' && popupDirection(elementRef) === 'top';\n\n setDropdownStyles({\n left: toggleRect.left + toggleRect.width - elementRect.width + window.pageXOffset,\n top: toggleRect.top + window.pageYOffset + (isTop ? -elementRect.height : toggleRect.height),\n });\n }, [toggleRef]);\n\n const bodyClickListener = useEventListener('click', (e) => {\n const dropdownElement = elementRef?.current;\n if (dropdownElement && !dropdownElement.contains(e.target as Node)) {\n onClose();\n }\n });\n\n React.useEffect(() => {\n setTimeout(() => {\n bodyClickListener.add(document.body);\n });\n }, []);\n\n return (\n <div\n {...restProps}\n ref={elementRef}\n onClick={(e) => e.stopPropagation()}\n style={dropdownStyles}\n vkuiClass={classNames(getClassName('ActionSheet', platform), 'ActionSheet--desktop', {\n 'ActionSheet--closing': closing,\n }, `ActionSheet--sizeY-${sizeY}`)}\n >\n {children}\n </div>\n );\n};\n"],"file":"ActionSheetDropdownDesktop.js"}
1
+ {"version":3,"sources":["../../../src/components/ActionSheet/ActionSheetDropdownDesktop.tsx"],"names":["React","getClassName","classNames","useDOM","usePlatform","useAdaptivity","warnOnce","useIsomorphicLayoutEffect","useEventListener","FocusTrap","warn","getEl","ref","current","ActionSheetDropdownDesktop","children","toggleRef","closing","popupDirection","onClose","restProps","window","document","platform","sizeY","elementRef","useRef","useState","left","top","opacity","pointerEvents","dropdownStyles","setDropdownStyles","toggleEl","process","env","NODE_ENV","toggleRect","getBoundingClientRect","elementRect","isTop","width","pageXOffset","pageYOffset","height","bodyClickListener","e","dropdownElement","contains","target","useEffect","setTimeout","add","body","onClick","useCallback","stopPropagation"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { getClassName } from '../../helpers/getClassName';\nimport { classNames } from '../../lib/classNames';\nimport { useDOM } from '../../lib/dom';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { SharedDropdownProps } from './types';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport './ActionSheet.css';\n\nconst warn = warnOnce('ActionSheet');\nfunction getEl(ref: SharedDropdownProps['toggleRef']): Element | null | undefined {\n return ref && 'current' in ref ? ref.current : ref as Element | null | undefined;\n}\n\nexport const ActionSheetDropdownDesktop: React.FC<SharedDropdownProps> = ({\n children,\n toggleRef,\n closing,\n popupDirection,\n onClose,\n ...restProps\n}) => {\n const { window, document } = useDOM();\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n const elementRef = React.useRef<HTMLDivElement>();\n\n const [dropdownStyles, setDropdownStyles] = React.useState<React.CSSProperties>({\n left: 0,\n top: 0,\n opacity: 0,\n pointerEvents: 'none',\n });\n useIsomorphicLayoutEffect(() => {\n const toggleEl = getEl(toggleRef);\n if (!toggleEl) {\n if (process.env.NODE_ENV === 'development') {\n warn('toggleRef not passed');\n }\n return;\n }\n\n const toggleRect = toggleEl.getBoundingClientRect();\n const elementRect = elementRef.current.getBoundingClientRect();\n const isTop = popupDirection === 'top' || typeof popupDirection === 'function' && popupDirection(elementRef) === 'top';\n\n setDropdownStyles({\n left: toggleRect.left + toggleRect.width - elementRect.width + window.pageXOffset,\n top: toggleRect.top + window.pageYOffset + (isTop ? -elementRect.height : toggleRect.height),\n });\n }, [toggleRef]);\n\n const bodyClickListener = useEventListener('click', (e: MouseEvent) => {\n const dropdownElement = elementRef?.current;\n if (dropdownElement && !dropdownElement.contains(e.target as Node)) {\n onClose();\n }\n });\n\n React.useEffect(() => {\n setTimeout(() => {\n bodyClickListener.add(document.body);\n });\n }, []);\n\n const onClick = React.useCallback((e) => e.stopPropagation(), []);\n\n return (\n <FocusTrap\n onClose={onClose}\n {...restProps}\n getRootRef={elementRef}\n onClick={onClick}\n style={dropdownStyles}\n vkuiClass={classNames(getClassName('ActionSheet', platform), 'ActionSheet--desktop', {\n 'ActionSheet--closing': closing,\n }, `ActionSheet--sizeY-${sizeY}`)}\n >\n {children}\n </FocusTrap>\n );\n};\n"],"file":"ActionSheetDropdownDesktop.js"}
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
+ import { FocusTrapProps } from '../FocusTrap/FocusTrap';
2
3
  export declare type PopupDirection = 'top' | 'bottom' | ((elRef: React.RefObject<HTMLDivElement>) => 'top' | 'bottom');
3
4
  export declare type ToggleRef = Element | null | undefined | React.RefObject<Element>;
4
- export interface SharedDropdownProps extends React.HTMLAttributes<HTMLDivElement> {
5
+ export interface SharedDropdownProps extends React.AllHTMLAttributes<HTMLElement>, FocusTrapProps {
5
6
  closing: boolean;
6
- onClose: VoidFunction;
7
7
  toggleRef: ToggleRef;
8
8
  popupDirection: PopupDirection;
9
9
  }
@@ -27,6 +27,7 @@ declare class Alert extends React.Component<AlertProps, AlertState> {
27
27
  element: React.RefObject<HTMLDivElement>;
28
28
  private transitionFinishTimeout;
29
29
  static defaultProps: AlertProps;
30
+ private get timeout();
30
31
  onItemClick: ItemClickHander;
31
32
  onClose: VoidFunction;
32
33
  stopPropagation: React.MouseEventHandler;
@@ -23,6 +23,7 @@ import Headline from "../Typography/Headline/Headline";
23
23
  import Title from "../Typography/Title/Title";
24
24
  import Caption from "../Typography/Caption/Caption";
25
25
  import ModalDismissButton from "../ModalDismissButton/ModalDismissButton";
26
+ import { FocusTrap } from "../FocusTrap/FocusTrap";
26
27
 
27
28
  var Alert = /*#__PURE__*/function (_React$Component) {
28
29
  _inherits(Alert, _React$Component);
@@ -124,6 +125,11 @@ var Alert = /*#__PURE__*/function (_React$Component) {
124
125
  }
125
126
 
126
127
  _createClass(Alert, [{
128
+ key: "timeout",
129
+ get: function get() {
130
+ return this.props.platform === ANDROID || this.props.platform === VKCOM ? 200 : 300;
131
+ }
132
+ }, {
127
133
  key: "waitTransitionFinish",
128
134
  value: function waitTransitionFinish(eventHandler) {
129
135
  if (transitionEvent.supported) {
@@ -131,7 +137,7 @@ var Alert = /*#__PURE__*/function (_React$Component) {
131
137
  this.element.current.addEventListener(transitionEvent.name, eventHandler);
132
138
  } else {
133
139
  clearTimeout(this.transitionFinishTimeout);
134
- this.transitionFinishTimeout = setTimeout(eventHandler.bind(this), this.props.platform === ANDROID || this.props.platform === VKCOM ? 200 : 300);
140
+ this.transitionFinishTimeout = setTimeout(eventHandler.bind(this), this.timeout);
135
141
  }
136
142
  }
137
143
  }, {
@@ -208,9 +214,11 @@ var Alert = /*#__PURE__*/function (_React$Component) {
208
214
  closing: closing,
209
215
  style: style,
210
216
  onClick: this.onClose
211
- }, createScopedElement("div", _extends({}, restProps, {
212
- ref: this.element,
217
+ }, createScopedElement(FocusTrap, _extends({}, restProps, {
218
+ getRootRef: this.element,
213
219
  onClick: this.stopPropagation,
220
+ onClose: this.onClose,
221
+ timeout: this.timeout,
214
222
  vkuiClass: classNames(getClassName('Alert', platform), {
215
223
  'Alert--v': resolvedActionsLayout === 'vertical',
216
224
  'Alert--h': resolvedActionsLayout === 'horizontal',