@vkontakte/vkui 4.29.0 → 4.31.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 (439) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +111 -84
  4. package/.cache/ts/src/components/Alert/Alert.d.ts +4 -1
  5. package/.cache/ts/src/components/AppRoot/ScrollContext.d.ts +6 -14
  6. package/.cache/ts/src/components/Calendar/Calendar.d.ts +10 -1
  7. package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +8 -0
  8. package/.cache/ts/src/components/CalendarRange/CalendarRange.d.ts +1 -1
  9. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  10. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +1 -1
  11. package/.cache/ts/src/components/DateInput/DateInput.d.ts +1 -1
  12. package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  13. package/.cache/ts/src/components/FormField/FormField.d.ts +15 -1
  14. package/.cache/ts/src/components/Input/Input.d.ts +1 -1
  15. package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +1 -2
  16. package/.cache/ts/src/components/Select/Select.d.ts +1 -1
  17. package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  18. package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +1 -1
  19. package/.cache/ts/src/hooks/useAdaptivity.d.ts +1 -0
  20. package/.cache/ts/src/hooks/useCalendar.d.ts +4 -3
  21. package/.cache/ts/src/index.d.ts +2 -1
  22. package/dist/cjs/components/ActionSheet/ActionSheet.js +6 -10
  23. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  24. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  25. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  26. package/dist/cjs/components/Alert/Alert.d.ts +4 -1
  27. package/dist/cjs/components/Alert/Alert.js +20 -2
  28. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  29. package/dist/cjs/components/AppRoot/AppRoot.js +18 -2
  30. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  31. package/dist/cjs/components/AppRoot/ScrollContext.d.ts +6 -14
  32. package/dist/cjs/components/AppRoot/ScrollContext.js +94 -2
  33. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  34. package/dist/cjs/components/Calendar/Calendar.d.ts +10 -1
  35. package/dist/cjs/components/Calendar/Calendar.js +16 -5
  36. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  37. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +8 -0
  38. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +15 -9
  39. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  40. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +1 -1
  41. package/dist/cjs/components/CalendarRange/CalendarRange.js +7 -3
  42. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  43. package/dist/cjs/components/ChipsInput/ChipsInput.js +3 -1
  44. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  45. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  46. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +1 -1
  47. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  48. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +1 -1
  49. package/dist/cjs/components/CustomSelect/CustomSelect.js +6 -3
  50. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  51. package/dist/cjs/components/DateInput/DateInput.d.ts +1 -1
  52. package/dist/cjs/components/DateInput/DateInput.js +14 -2
  53. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  54. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  55. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +6 -2
  56. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  57. package/dist/cjs/components/Epic/Epic.js +1 -1
  58. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  59. package/dist/cjs/components/FormField/FormField.d.ts +15 -1
  60. package/dist/cjs/components/FormField/FormField.js +6 -2
  61. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  62. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +12 -3
  63. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  64. package/dist/cjs/components/Input/Input.d.ts +1 -1
  65. package/dist/cjs/components/Input/Input.js +3 -1
  66. package/dist/cjs/components/Input/Input.js.map +1 -1
  67. package/dist/cjs/components/ModalCard/ModalCard.js +3 -1
  68. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  69. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +4 -2
  70. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  71. package/dist/cjs/components/ModalPage/ModalPage.js +6 -2
  72. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  73. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +2 -10
  74. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  75. package/dist/cjs/components/ModalRoot/ModalRoot.js +2 -2
  76. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  77. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js +6 -4
  78. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  79. package/dist/cjs/components/ModalRoot/useModalManager.js +1 -1
  80. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  81. package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +1 -2
  82. package/dist/cjs/components/NativeSelect/NativeSelect.js +5 -7
  83. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  84. package/dist/cjs/components/PanelHeader/PanelHeader.js +6 -4
  85. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  86. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +4 -1
  87. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  88. package/dist/cjs/components/PopoutRoot/PopoutRoot.js +3 -1
  89. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  90. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +3 -0
  91. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  92. package/dist/cjs/components/Select/Select.d.ts +1 -1
  93. package/dist/cjs/components/Select/Select.js +2 -2
  94. package/dist/cjs/components/Select/Select.js.map +1 -1
  95. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  96. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +3 -1
  97. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  98. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +1 -1
  99. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  100. package/dist/cjs/components/Tooltip/Tooltip.js +1 -1
  101. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  102. package/dist/cjs/components/Typography/Text/Text.js +1 -1
  103. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  104. package/dist/cjs/hooks/useAdaptivity.d.ts +1 -0
  105. package/dist/cjs/hooks/useAdaptivity.js +18 -1
  106. package/dist/cjs/hooks/useAdaptivity.js.map +1 -1
  107. package/dist/cjs/hooks/useCalendar.d.ts +4 -3
  108. package/dist/cjs/hooks/useCalendar.js +15 -6
  109. package/dist/cjs/hooks/useCalendar.js.map +1 -1
  110. package/dist/cjs/index.d.ts +2 -1
  111. package/dist/cjs/index.js +10 -2
  112. package/dist/cjs/index.js.map +1 -1
  113. package/dist/cjs/lib/getNavId.js +1 -1
  114. package/dist/cjs/lib/getNavId.js.map +1 -1
  115. package/dist/cjs/lib/platform.js +29 -0
  116. package/dist/cjs/lib/platform.js.map +1 -1
  117. package/dist/components/ActionSheet/ActionSheet.js +5 -9
  118. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  119. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  120. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  121. package/dist/components/Alert/Alert.d.ts +4 -1
  122. package/dist/components/Alert/Alert.js +18 -2
  123. package/dist/components/Alert/Alert.js.map +1 -1
  124. package/dist/components/AppRoot/AppRoot.js +17 -2
  125. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  126. package/dist/components/AppRoot/ScrollContext.d.ts +6 -14
  127. package/dist/components/AppRoot/ScrollContext.js +87 -1
  128. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  129. package/dist/components/Calendar/Calendar.d.ts +10 -1
  130. package/dist/components/Calendar/Calendar.js +16 -5
  131. package/dist/components/Calendar/Calendar.js.map +1 -1
  132. package/dist/components/CalendarHeader/CalendarHeader.d.ts +8 -0
  133. package/dist/components/CalendarHeader/CalendarHeader.js +15 -9
  134. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  135. package/dist/components/CalendarRange/CalendarRange.d.ts +1 -1
  136. package/dist/components/CalendarRange/CalendarRange.js +7 -3
  137. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  138. package/dist/components/ChipsInput/ChipsInput.js +3 -1
  139. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  140. package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  141. package/dist/components/ConfigProvider/ConfigProvider.js +1 -1
  142. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  143. package/dist/components/CustomSelect/CustomSelect.d.ts +1 -1
  144. package/dist/components/CustomSelect/CustomSelect.js +6 -3
  145. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  146. package/dist/components/DateInput/DateInput.d.ts +1 -1
  147. package/dist/components/DateInput/DateInput.js +14 -2
  148. package/dist/components/DateInput/DateInput.js.map +1 -1
  149. package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  150. package/dist/components/DateRangeInput/DateRangeInput.js +6 -2
  151. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  152. package/dist/components/Epic/Epic.js +1 -1
  153. package/dist/components/Epic/Epic.js.map +1 -1
  154. package/dist/components/FormField/FormField.d.ts +15 -1
  155. package/dist/components/FormField/FormField.js +6 -2
  156. package/dist/components/FormField/FormField.js.map +1 -1
  157. package/dist/components/HorizontalScroll/HorizontalScroll.js +12 -3
  158. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  159. package/dist/components/Input/Input.d.ts +1 -1
  160. package/dist/components/Input/Input.js +3 -1
  161. package/dist/components/Input/Input.js.map +1 -1
  162. package/dist/components/ModalCard/ModalCard.js +3 -2
  163. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  164. package/dist/components/ModalCardBase/ModalCardBase.js +5 -4
  165. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  166. package/dist/components/ModalPage/ModalPage.js +5 -3
  167. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  168. package/dist/components/ModalPageHeader/ModalPageHeader.js +2 -9
  169. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  170. package/dist/components/ModalRoot/ModalRoot.js +2 -2
  171. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  172. package/dist/components/ModalRoot/ModalRootAdaptive.js +5 -5
  173. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  174. package/dist/components/ModalRoot/useModalManager.js +1 -1
  175. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  176. package/dist/components/NativeSelect/NativeSelect.d.ts +1 -2
  177. package/dist/components/NativeSelect/NativeSelect.js +3 -4
  178. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  179. package/dist/components/PanelHeader/PanelHeader.js +6 -4
  180. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  181. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +3 -1
  182. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  183. package/dist/components/PopoutRoot/PopoutRoot.js +3 -2
  184. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  185. package/dist/components/ScreenSpinner/ScreenSpinner.js +2 -0
  186. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  187. package/dist/components/Select/Select.d.ts +1 -1
  188. package/dist/components/Select/Select.js +1 -1
  189. package/dist/components/Select/Select.js.map +1 -1
  190. package/dist/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  191. package/dist/components/SelectMimicry/SelectMimicry.js +3 -1
  192. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  193. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -1
  194. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  195. package/dist/components/Tooltip/Tooltip.js +1 -1
  196. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  197. package/dist/components/Typography/Text/Text.js +1 -1
  198. package/dist/components/Typography/Text/Text.js.map +1 -1
  199. package/dist/components.css +18 -18
  200. package/dist/components.css.map +1 -1
  201. package/dist/cssm/components/ActionSheet/ActionSheet.js +5 -9
  202. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  203. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  204. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  205. package/dist/cssm/components/Alert/Alert.d.ts +4 -1
  206. package/dist/cssm/components/Alert/Alert.js +18 -2
  207. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  208. package/dist/cssm/components/AppRoot/AppRoot.js +17 -2
  209. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  210. package/dist/cssm/components/AppRoot/ScrollContext.d.ts +6 -14
  211. package/dist/cssm/components/AppRoot/ScrollContext.js +87 -1
  212. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  213. package/dist/cssm/components/Button/Button.css +9 -9
  214. package/dist/cssm/components/ButtonGroup/ButtonGroup.css +1 -1
  215. package/dist/cssm/components/Calendar/Calendar.css +1 -1
  216. package/dist/cssm/components/Calendar/Calendar.d.ts +10 -1
  217. package/dist/cssm/components/Calendar/Calendar.js +16 -5
  218. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  219. package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
  220. package/dist/cssm/components/CalendarDays/CalendarDays.css +1 -1
  221. package/dist/cssm/components/CalendarHeader/CalendarHeader.css +1 -1
  222. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +8 -0
  223. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +15 -9
  224. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  225. package/dist/cssm/components/CalendarRange/CalendarRange.css +1 -1
  226. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +1 -1
  227. package/dist/cssm/components/CalendarRange/CalendarRange.js +7 -3
  228. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  229. package/dist/cssm/components/CalendarTime/CalendarTime.css +1 -1
  230. package/dist/cssm/components/Card/Card.css +2 -2
  231. package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
  232. package/dist/cssm/components/Cell/Cell.css +1 -1
  233. package/dist/cssm/components/CellButton/CellButton.css +1 -1
  234. package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
  235. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  236. package/dist/cssm/components/ChipsInput/ChipsInput.js +3 -1
  237. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  238. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  239. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +1 -1
  240. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  241. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +1 -1
  242. package/dist/cssm/components/CustomSelect/CustomSelect.js +6 -3
  243. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  244. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +1 -1
  245. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +1 -1
  246. package/dist/cssm/components/DateInput/DateInput.d.ts +1 -1
  247. package/dist/cssm/components/DateInput/DateInput.js +14 -2
  248. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  249. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  250. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +6 -2
  251. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  252. package/dist/cssm/components/Epic/Epic.js +1 -1
  253. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  254. package/dist/cssm/components/FormField/FormField.css +3 -3
  255. package/dist/cssm/components/FormField/FormField.d.ts +15 -1
  256. package/dist/cssm/components/FormField/FormField.js +6 -2
  257. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  258. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  259. package/dist/cssm/components/Gradient/Gradient.css +1 -1
  260. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +12 -3
  261. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  262. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +1 -1
  263. package/dist/cssm/components/Input/Input.css +1 -1
  264. package/dist/cssm/components/Input/Input.d.ts +1 -1
  265. package/dist/cssm/components/Input/Input.js +3 -1
  266. package/dist/cssm/components/Input/Input.js.map +1 -1
  267. package/dist/cssm/components/InputLike/InputLike.css +1 -1
  268. package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -1
  269. package/dist/cssm/components/ModalCard/ModalCard.css +1 -1
  270. package/dist/cssm/components/ModalCard/ModalCard.js +3 -2
  271. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  272. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +5 -4
  273. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  274. package/dist/cssm/components/ModalPage/ModalPage.js +5 -3
  275. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  276. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +2 -9
  277. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  278. package/dist/cssm/components/ModalRoot/ModalRoot.css +1 -1
  279. package/dist/cssm/components/ModalRoot/ModalRoot.js +2 -2
  280. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  281. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +5 -5
  282. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  283. package/dist/cssm/components/ModalRoot/useModalManager.js +1 -1
  284. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  285. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +1 -2
  286. package/dist/cssm/components/NativeSelect/NativeSelect.js +3 -4
  287. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  288. package/dist/cssm/components/Pagination/Pagination.css +1 -1
  289. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  290. package/dist/cssm/components/PanelHeader/PanelHeader.js +6 -4
  291. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  292. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +3 -1
  293. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  294. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +3 -2
  295. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  296. package/dist/cssm/components/Popper/Popper.css +1 -1
  297. package/dist/cssm/components/Radio/Radio.css +1 -1
  298. package/dist/cssm/components/RadioGroup/RadioGroup.css +1 -1
  299. package/dist/cssm/components/Removable/Removable.css +1 -1
  300. package/dist/cssm/components/RichCell/RichCell.css +1 -1
  301. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +2 -0
  302. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  303. package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -1
  304. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  305. package/dist/cssm/components/Select/Select.d.ts +1 -1
  306. package/dist/cssm/components/Select/Select.js +1 -1
  307. package/dist/cssm/components/Select/Select.js.map +1 -1
  308. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  309. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +3 -1
  310. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  311. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  312. package/dist/cssm/components/Snackbar/Snackbar.css +1 -1
  313. package/dist/cssm/components/SplitLayout/SplitLayout.css +1 -1
  314. package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -1
  315. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  316. package/dist/cssm/components/Tooltip/Tooltip.js +1 -1
  317. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  318. package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
  319. package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -1
  320. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  321. package/dist/cssm/components/Typography/Text/Text.js +1 -1
  322. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  323. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  324. package/dist/cssm/hooks/useAdaptivity.d.ts +1 -0
  325. package/dist/cssm/hooks/useAdaptivity.js +13 -1
  326. package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
  327. package/dist/cssm/hooks/useCalendar.d.ts +4 -3
  328. package/dist/cssm/hooks/useCalendar.js +15 -6
  329. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  330. package/dist/cssm/index.d.ts +2 -1
  331. package/dist/cssm/index.js +2 -1
  332. package/dist/cssm/index.js.map +1 -1
  333. package/dist/cssm/lib/getNavId.js +1 -1
  334. package/dist/cssm/lib/getNavId.js.map +1 -1
  335. package/dist/cssm/lib/platform.js +26 -0
  336. package/dist/cssm/lib/platform.js.map +1 -1
  337. package/dist/cssm/styles/bright_light.css +1 -1
  338. package/dist/cssm/styles/components.css +18 -18
  339. package/dist/cssm/styles/constants.css +1 -1
  340. package/dist/cssm/styles/space_gray.css +1 -1
  341. package/dist/cssm/styles/themes.css +3 -3
  342. package/dist/cssm/styles/vkcom_dark.css +2 -2
  343. package/dist/cssm/styles/vkcom_light.css +1 -1
  344. package/dist/default_scheme.css +1 -1
  345. package/dist/default_scheme.css.map +1 -1
  346. package/dist/hooks/useAdaptivity.d.ts +1 -0
  347. package/dist/hooks/useAdaptivity.js +13 -1
  348. package/dist/hooks/useAdaptivity.js.map +1 -1
  349. package/dist/hooks/useCalendar.d.ts +4 -3
  350. package/dist/hooks/useCalendar.js +15 -6
  351. package/dist/hooks/useCalendar.js.map +1 -1
  352. package/dist/index.d.ts +2 -1
  353. package/dist/index.js +2 -1
  354. package/dist/index.js.map +1 -1
  355. package/dist/lib/getNavId.js +1 -1
  356. package/dist/lib/getNavId.js.map +1 -1
  357. package/dist/lib/platform.js +26 -0
  358. package/dist/lib/platform.js.map +1 -1
  359. package/dist/vkui.css +21 -21
  360. package/dist/vkui.css.map +1 -1
  361. package/jest.unit.config.js +1 -0
  362. package/package.json +5 -3
  363. package/postcss-custom-properties-fallback/__tests__/custom_properties.css +5 -0
  364. package/postcss-custom-properties-fallback/index.js +83 -0
  365. package/postcss-plugin-vk-sans/index.js +34 -27
  366. package/src/components/ActionSheet/ActionSheet.tsx +9 -7
  367. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +1 -1
  368. package/src/components/ActionSheet/Readme.md +1 -0
  369. package/src/components/Alert/Alert.tsx +23 -4
  370. package/src/components/AppRoot/AppRoot.tsx +17 -2
  371. package/src/components/AppRoot/ScrollContext.ts +90 -2
  372. package/src/components/Button/Button.css +2 -0
  373. package/src/components/Calendar/Calendar.tsx +32 -3
  374. package/src/components/CalendarHeader/CalendarHeader.css +3 -0
  375. package/src/components/CalendarHeader/CalendarHeader.tsx +24 -2
  376. package/src/components/CalendarRange/CalendarRange.tsx +6 -0
  377. package/src/components/Card/Card.css +2 -1
  378. package/src/components/Cell/Cell.css +1 -1
  379. package/src/components/CellButton/CellButton.css +1 -1
  380. package/src/components/Checkbox/Checkbox.css +1 -1
  381. package/src/components/ChipsInput/ChipsInput.tsx +2 -0
  382. package/src/components/ConfigProvider/ConfigProvider.tsx +1 -1
  383. package/src/components/CustomSelect/CustomSelect.tsx +6 -3
  384. package/src/components/DateInput/DateInput.tsx +18 -0
  385. package/src/components/DateRangeInput/DateRangeInput.tsx +6 -0
  386. package/src/components/Epic/Epic.tsx +3 -1
  387. package/src/components/FixedLayout/FixedLayout.css +10 -0
  388. package/src/components/FormField/FormField.css +10 -0
  389. package/src/components/FormField/FormField.tsx +21 -1
  390. package/src/components/FormField/Readme.md +85 -19
  391. package/src/components/FormItem/FormItem.css +1 -0
  392. package/src/components/FormLayoutGroup/FormLayoutGroup.css +2 -1
  393. package/src/components/Gradient/Gradient.css +4 -2
  394. package/src/components/HorizontalScroll/HorizontalScroll.tsx +9 -3
  395. package/src/components/Input/Input.tsx +2 -0
  396. package/src/components/ModalCard/ModalCard.css +1 -1
  397. package/src/components/ModalCard/ModalCard.tsx +3 -8
  398. package/src/components/ModalCardBase/ModalCardBase.tsx +6 -10
  399. package/src/components/ModalPage/ModalPage.tsx +6 -9
  400. package/src/components/ModalPageHeader/ModalPageHeader.tsx +2 -6
  401. package/src/components/ModalRoot/ModalRoot.css +3 -2
  402. package/src/components/ModalRoot/ModalRoot.tsx +6 -2
  403. package/src/components/ModalRoot/ModalRootAdaptive.tsx +6 -9
  404. package/src/components/ModalRoot/Readme.md +1 -1
  405. package/src/components/ModalRoot/useModalManager.tsx +4 -1
  406. package/src/components/NativeSelect/NativeSelect.tsx +2 -3
  407. package/src/components/PanelHeader/PanelHeader.css +13 -13
  408. package/src/components/PanelHeader/PanelHeader.tsx +18 -17
  409. package/src/components/PanelHeader/Readme.md +2 -2
  410. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +3 -0
  411. package/src/components/PopoutRoot/PopoutRoot.tsx +3 -8
  412. package/src/components/Popper/Popper.css +14 -2
  413. package/src/components/Radio/Radio.css +1 -1
  414. package/src/components/RadioGroup/RadioGroup.css +1 -1
  415. package/src/components/Removable/Removable.css +2 -2
  416. package/src/components/RichCell/RichCell.css +1 -1
  417. package/src/components/ScreenSpinner/ScreenSpinner.tsx +3 -0
  418. package/src/components/Select/Select.tsx +1 -1
  419. package/src/components/SelectMimicry/SelectMimicry.tsx +5 -3
  420. package/src/components/SimpleCell/SimpleCell.css +1 -1
  421. package/src/components/Snackbar/Snackbar.css +6 -3
  422. package/src/components/SplitLayout/SplitLayout.css +3 -1
  423. package/src/components/Switch/Readme.md +12 -36
  424. package/src/components/TabbarItem/TabbarItem.tsx +1 -1
  425. package/src/components/Tooltip/Readme.md +35 -47
  426. package/src/components/Tooltip/Tooltip.tsx +2 -2
  427. package/src/components/Typography/Text/Text.tsx +4 -1
  428. package/src/hooks/useAdaptivity.ts +15 -0
  429. package/src/hooks/useCalendar.ts +25 -9
  430. package/src/index.ts +2 -1
  431. package/src/lib/getNavId.ts +1 -1
  432. package/src/lib/platform.ts +34 -0
  433. package/src/styles/bright_light.css +2 -0
  434. package/src/styles/constants.css +3 -2
  435. package/src/styles/space_gray.css +10 -8
  436. package/src/styles/vkcom_dark.css +6 -4
  437. package/src/styles/vkcom_light.css +4 -2
  438. package/src/testing/utils.tsx +5 -1
  439. package/tsconfig.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalRoot/useModalManager.tsx"],"names":["getModals","children","React","Children","toArray","warn","modalTransitionReducer","state","action","type","id","activeModal","nextModal","prevModal","exitingModal","history","isBack","Boolean","includes","splice","indexOf","push","enteringModal","useModalManager","onOpen","noop","onOpened","onClose","onClosed","initModal","modalsState","useRef","current","forEach","Modal","modalProps","props","undefined","dynamicContentHeight","settlingHeight","isMissing","safeActiveModal","useReducer","transitionState","dispatchTransition","process","env","NODE_ENV","isCard","ModalType","CARD","onEntered","useCallback","modalState","onExited","delayEnter","getModalState","onEnter","onExit","withModalManager","Wrapped","WithModalManager","transitionManager"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAoBA,SAASA,SAAT,CAAmBC,QAAnB,EAAkE;AAChE,SAAOC,KAAK,CAACC,QAAN,CAAeC,OAAf,CAAuBH,QAAvB,CAAP;AACD;;AAED,IAAMI,IAAI,GAAG,wBAAS,WAAT,CAAb;;AAEO,SAASC,sBAAT,CACLC,KADK,EAELC,MAFK,EAMiB;AACtB,MAAIA,MAAM,CAACC,IAAP,KAAgB,WAAhB,IAA+BD,MAAM,CAACE,EAAP,KAAcH,KAAK,CAACI,WAAvD,EAAoE;AAClE,QAAMC,SAAS,GAAGJ,MAAM,CAACE,EAAzB,CADkE,CAElE;;AACA,QAAMG,SAAS,GAAGN,KAAK,CAACO,YAAN,IAAsBP,KAAK,CAACI,WAA9C;AACA,QAAII,OAAO,GAAGR,KAAK,CAACQ,OAAN,oCAAoBR,KAAK,CAACQ,OAA1B,IAAqC,EAAnD;AACA,QAAMC,MAAM,GAAGC,OAAO,CAACL,SAAS,IAAIG,OAAO,CAACG,QAAR,CAAiBN,SAAjB,CAAd,CAAtB;;AAEA,QAAIA,SAAS,KAAK,IAAlB,EAAwB;AACtBG,MAAAA,OAAO,GAAG,EAAV;AACD,KAFD,MAEO,IAAIC,MAAJ,EAAY;AACjBD,MAAAA,OAAO,GAAGA,OAAO,CAACI,MAAR,CAAe,CAAf,EAAkBJ,OAAO,CAACK,OAAR,CAAgBR,SAAhB,IAA6B,CAA/C,CAAV;AACD,KAFM,MAEA;AACLG,MAAAA,OAAO,CAACM,IAAR,CAAaT,SAAb;AACD;;AAED,WAAO;AACLD,MAAAA,WAAW,EAAEC,SADR;AAEL;AACAU,MAAAA,aAAa,EAAE,IAHV;AAILR,MAAAA,YAAY,EAAED,SAJT;AAKLE,MAAAA,OAAO,EAAPA,OALK;AAMLC,MAAAA,MAAM,EAANA;AANK,KAAP;AAQD;;AACD,MAAIR,MAAM,CAACC,IAAP,KAAgB,SAAhB,IAA6BD,MAAM,CAACE,EAAP,KAAcH,KAAK,CAACe,aAArD,EAAoE;AAClE,uEAAYf,KAAZ;AAAmBe,MAAAA,aAAa,EAAE;AAAlC;AACD;;AACD,MAAId,MAAM,CAACC,IAAP,KAAgB,QAAhB,IAA4BD,MAAM,CAACE,EAAP,KAAcH,KAAK,CAACO,YAApD,EAAkE;AAChE,uEAAYP,KAAZ;AAAmBO,MAAAA,YAAY,EAAE;AAAjC;AACD;;AACD,MAAIN,MAAM,CAACC,IAAP,KAAgB,QAAhB,IAA4BD,MAAM,CAACE,EAAP,KAAcH,KAAK,CAACI,WAApD,EAAiE;AAC/D,uEAAYJ,KAAZ;AAAmBe,MAAAA,aAAa,EAAEd,MAAM,CAACE;AAAzC;AACD;;AACD,SAAOH,KAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASgB,eAAT,CACLZ,WADK,EAELV,QAFK,EAQiB;AAAA,MALtBuB,MAKsB,uEALSC,WAKT;AAAA,MAJtBC,QAIsB,uEAJWD,WAIX;AAAA,MAHtBE,OAGsB,uEAHUF,WAGV;AAAA,MAFtBG,QAEsB,uEAFWH,WAEX;AAAA,MADtBI,SACsB,uEADyBJ,WACzB;AACtB,MAAMK,WAAW,GAAG5B,KAAK,CAAC6B,MAAN,CAA0B,EAA1B,EAA8BC,OAAlD;AACAhC,EAAAA,SAAS,CAACC,QAAD,CAAT,CAAoBgC,OAApB,CAA4B,UAACC,KAAD,EAAW;AACrC,QAAMC,UAAU,GAAGD,KAAK,CAACE,KAAzB;AACA,QAAM1B,EAAE,GAAG,wBAASyB,UAAT,EAAqB9B,IAArB,CAAX;AACA,QAAME,KAAuB,GAAIG,EAAE,KAAK2B,SAAP,IAAoBP,WAAW,CAACpB,EAAD,CAAhC,IAAyC;AACvEA,MAAAA,EAAE,EAAEA,EAAF,aAAEA,EAAF,cAAEA,EAAF,GAAQ;AAD6D,KAAzE;AAIAH,IAAAA,KAAK,CAACiB,MAAN,GAAeU,KAAK,CAACE,KAAN,CAAYZ,MAA3B;AACAjB,IAAAA,KAAK,CAACmB,QAAN,GAAiBQ,KAAK,CAACE,KAAN,CAAYV,QAA7B;AACAnB,IAAAA,KAAK,CAACoB,OAAN,GAAgBO,KAAK,CAACE,KAAN,CAAYT,OAA5B;AACApB,IAAAA,KAAK,CAACqB,QAAN,GAAiBM,KAAK,CAACE,KAAN,CAAYR,QAA7B;AACArB,IAAAA,KAAK,CAAC+B,oBAAN,GAA6B,CAAC,CAACH,UAAU,CAACG,oBAA1C,CAXqC,CAYrC;;AACA,QAAI,OAAOH,UAAU,CAACI,cAAlB,KAAqC,QAAzC,EAAmD;AACjDhC,MAAAA,KAAK,CAACgC,cAAN,GAAuBJ,UAAU,CAACI,cAAlC;AACD;;AAED,QAAIhC,KAAK,CAACG,EAAN,KAAa,IAAjB,EAAuB;AACrBoB,MAAAA,WAAW,CAACvB,KAAK,CAACG,EAAP,CAAX,GAAwBH,KAAxB;AACD;AACF,GApBD;AAsBA,MAAMiC,SAAS,GAAG7B,WAAW,IAAI,CAACmB,WAAW,CAACnB,WAAD,CAA7C;AACA,MAAM8B,eAAe,GAAGD,SAAS,GAAG,IAAH,GAAU7B,WAA3C;;AACA,0BAA8CT,KAAK,CAACwC,UAAN,CAC5CpC,sBAD4C,EAE5C;AACEK,IAAAA,WAAW,EAAE8B,eADf;AAEEnB,IAAAA,aAAa,EAAE,IAFjB;AAGER,IAAAA,YAAY,EAAE,IAHhB;AAIEC,IAAAA,OAAO,EAAE0B,eAAe,GAAG,CAACA,eAAD,CAAH,GAAuB,EAJjD;AAKEzB,IAAAA,MAAM,EAAE;AALV,GAF4C,CAA9C;AAAA;AAAA,MAAO2B,eAAP;AAAA,MAAwBC,kBAAxB,yBA1BsB,CAqCtB;;;AACA,4DAA0B,YAAM;AAC9B;AACA,QAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0CP,SAA9C,EAAyD;AACvDnC,MAAAA,IAAI,oCAA6BM,WAA7B,iBAAsD,OAAtD,CAAJ;AACD;;AACDiC,IAAAA,kBAAkB,CAAC;AAAEnC,MAAAA,IAAI,EAAE,WAAR;AAAqBC,MAAAA,EAAE,EAAE+B,eAAF,aAAEA,eAAF,cAAEA,eAAF,GAAqB;AAA5C,KAAD,CAAlB;AACD,GAND,EAMG,CAAC9B,WAAD,CANH,EAtCsB,CA8CtB;;AACA,4DAA0B,YAAM;AAC9B,QAAIgC,eAAe,CAAChC,WAApB,EAAiC;AAC/BkB,MAAAA,SAAS,CAACC,WAAW,CAACa,eAAe,CAAChC,WAAjB,CAAZ,CAAT;AACAiC,MAAAA,kBAAkB,CAAC;AAAEnC,QAAAA,IAAI,EAAE,QAAR;AAAkBC,QAAAA,EAAE,EAAEiC,eAAe,CAAChC;AAAtC,OAAD,CAAlB;AACD;AACF,GALD,EAKG,CAACgC,eAAe,CAAChC,WAAjB,CALH;;AAOA,MAAMqC,MAAM,GAAG,SAATA,MAAS,CAACtC,EAAD;AAAA;;AAAA,WACbA,EAAE,IAAI,IAAN,IAAc,oBAAAoB,WAAW,CAACpB,EAAD,CAAX,oEAAiBD,IAAjB,MAA0BwC,iBAAUC,IADrC;AAAA,GAAf;;AAEA,MAAMC,SAAS,GAAGjD,KAAK,CAACkD,WAAN,CAChB,UAAC1C,EAAD,EAAuB;AACrB,QAAIA,EAAJ,EAAQ;AACN,UAAM2C,UAAU,GAAGvB,WAAW,CAACpB,EAAD,CAA9B;;AAEA,UAAI,uBAAW2C,UAAU,CAAC3B,QAAtB,CAAJ,EAAqC;AACnC2B,QAAAA,UAAU,CAAC3B,QAAX;AACD,OAFD,MAEO,IAAI,uBAAWA,QAAX,CAAJ,EAA0B;AAC/BA,QAAAA,QAAQ,CAAChB,EAAD,CAAR;AACD;AACF;;AAEDkC,IAAAA,kBAAkB,CAAC;AAAEnC,MAAAA,IAAI,EAAE,SAAR;AAAmBC,MAAAA,EAAE,EAAFA;AAAnB,KAAD,CAAlB;AACD,GAbe,EAchB,CAACoB,WAAD,EAAcJ,QAAd,CAdgB,CAAlB;AAgBA,MAAM4B,QAAQ,GAAGpD,KAAK,CAACkD,WAAN,CACf,UAAC1C,EAAD,EAAuB;AACrB,QAAIA,EAAJ,EAAQ;AACN,UAAM2C,UAAU,GAAGvB,WAAW,CAACpB,EAAD,CAA9B;;AAEA,UAAI,uBAAW2C,UAAU,CAACzB,QAAtB,CAAJ,EAAqC;AACnCyB,QAAAA,UAAU,CAACzB,QAAX;AACD,OAFD,MAEO,IAAI,uBAAWA,QAAX,CAAJ,EAA0B;AAC/BA,QAAAA,QAAQ,CAAClB,EAAD,CAAR;AACD;AACF;;AAEDkC,IAAAA,kBAAkB,CAAC;AAAEnC,MAAAA,IAAI,EAAE,QAAR;AAAkBC,MAAAA,EAAE,EAAFA;AAAlB,KAAD,CAAlB;AACD,GAbc,EAcf,CAACoB,WAAD,EAAcF,QAAd,CAde,CAAjB;AAgBA,MAAM2B,UAAU,GAAGtC,OAAO,CACxB0B,eAAe,CAAC7B,YAAhB,KACGkC,MAAM,CAACrC,WAAD,CAAN,IAAuBqC,MAAM,CAACL,eAAe,CAAC7B,YAAjB,CADhC,CADwB,CAA1B;AAIA,MAAM0C,aAAa,GAAGtD,KAAK,CAACkD,WAAN,CACpB,UAAC1C,EAAD;AAAA,WAAgBoB,WAAW,CAACpB,EAAD,CAA3B;AAAA,GADoB,EAEpB,CAACoB,WAAD,CAFoB,CAAtB;;AAKA,WAAS2B,OAAT,GAAmB;AACjB,QAAMJ,UAAU,GACdV,eAAe,CAAChC,WAAhB,IAA+BmB,WAAW,CAACa,eAAe,CAAChC,WAAjB,CAD5C;;AAEA,QAAI0C,UAAJ,EAAgB;AACd,UAAI,uBAAWA,UAAU,CAAC7B,MAAtB,CAAJ,EAAmC;AACjC6B,QAAAA,UAAU,CAAC7B,MAAX;AACD,OAFD,MAEO,IAAI,uBAAWA,MAAX,CAAJ,EAAwB;AAC7BA,QAAAA,MAAM,CAAC6B,UAAU,CAAC3C,EAAZ,CAAN;AACD;AACF;AACF;;AAED,WAASgD,MAAT,GAAkB;AAChB,QAAML,UAAU,GACdV,eAAe,CAAChC,WAAhB,IAA+BmB,WAAW,CAACa,eAAe,CAAChC,WAAjB,CAD5C;;AAEA,QAAI0C,UAAJ,EAAgB;AACd,UAAI,uBAAWA,UAAU,CAAC1B,OAAtB,CAAJ,EAAoC;AAClC0B,QAAAA,UAAU,CAAC1B,OAAX;AACD,OAFD,MAEO,IAAI,uBAAWA,OAAX,CAAJ,EAAyB;AAC9BA,QAAAA,OAAO,CAAC0B,UAAU,CAAC3C,EAAZ,CAAP;AACD;AACF;AACF;;AAED;AACE+C,IAAAA,OAAO,EAAPA,OADF;AAEEN,IAAAA,SAAS,EAATA,SAFF;AAGEO,IAAAA,MAAM,EAANA,MAHF;AAIEJ,IAAAA,QAAQ,EAARA;AAJF,KAKKX,eALL;AAMEY,IAAAA,UAAU,EAAVA,UANF;AAOEC,IAAAA,aAAa,EAAbA;AAPF;AASD;;AAEM,SAASG,gBAAT,GAEL;AAAA,MADA9B,SACA,uEAD2CJ,WAC3C;AACA,SAAO,UACLmC,OADK,EAIL;AACA,WAAO,SAASC,gBAAT,CAA0BzB,KAA1B,EAAiC;AACtC,UAAM0B,iBAAiB,GAAGvC,eAAe,CACvCa,KAAK,CAACzB,WADiC,EAEvCyB,KAAK,CAACnC,QAFiC,EAGtCmC,KAAD,CAAeZ,MAHwB,EAItCY,KAAD,CAAeV,QAJwB,EAKtCU,KAAD,CAAeT,OALwB,EAMtCS,KAAD,CAAeR,QANwB,EAOvCC,SAPuC,CAAzC;AASA,aAAO,qCAAC,OAAD,6BAAcO,KAAd,EAAiC0B,iBAAjC,EAAP;AACD,KAXD;AAYD,GAjBD;AAkBD","sourcesContent":["import * as React from \"react\";\nimport { ModalsState, ModalsStateEntry, ModalType } from \"./types\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { getNavId } from \"../../lib/getNavId\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { noop, isFunction } from \"../../lib/utils\";\n\ninterface ModalTransitionState {\n activeModal?: string | null;\n enteringModal?: string | null;\n exitingModal?: string | null;\n\n history?: string[];\n isBack?: boolean | null;\n}\n\nexport interface ModalTransitionProps extends ModalTransitionState {\n onEnter: VoidFunction;\n onEntered: (id: string | null) => void;\n onExit: VoidFunction;\n onExited: (id: string | null) => void;\n getModalState: (id: string) => ModalsStateEntry;\n delayEnter: boolean;\n}\n\nfunction getModals(children: React.ReactNode | React.ReactNode[]) {\n return React.Children.toArray(children) as React.ReactElement[];\n}\n\nconst warn = warnOnce(\"ModalRoot\");\n\nexport function modalTransitionReducer(\n state: ModalTransitionState,\n action: {\n type: \"setActive\" | \"entered\" | \"exited\" | \"inited\";\n id: string | null;\n }\n): ModalTransitionState {\n if (action.type === \"setActive\" && action.id !== state.activeModal) {\n const nextModal = action.id;\n // preserve exiting modal if switching mid-transition\n const prevModal = state.exitingModal || state.activeModal;\n let history = state.history ? [...state.history] : [];\n const isBack = Boolean(nextModal && history.includes(nextModal));\n\n if (nextModal === null) {\n history = [];\n } else if (isBack) {\n history = history.splice(0, history.indexOf(nextModal) + 1);\n } else {\n history.push(nextModal);\n }\n\n return {\n activeModal: nextModal,\n // not entering yet\n enteringModal: null,\n exitingModal: prevModal,\n history,\n isBack,\n };\n }\n if (action.type === \"entered\" && action.id === state.enteringModal) {\n return { ...state, enteringModal: null };\n }\n if (action.type === \"exited\" && action.id === state.exitingModal) {\n return { ...state, exitingModal: null };\n }\n if (action.type === \"inited\" && action.id === state.activeModal) {\n return { ...state, enteringModal: action.id };\n }\n return state;\n}\n\n/**\n * Реализует переход модалок. При смене activeModal m1 -> m2:\n * 1. activeModal: m1, exitingModal: null, enteringModal: null, триггер перехода\n * 2. activeModal: m2, exitingModal: m1, enteringModal: null, рендерим m2 чтобы прошел init, начинаем анимацию выхода\n * одновременный переход между ModalPage:\n * 3a. activeModal: m2, exitingModal: m1, enteringModal: m2\n * 4a. exitingModal и enteringModal переходят в null в порядке завершения анимации\n * ИЛИ дожидаемся скрытия ModalCard\n * 3b. activeModal: m2, exitingModal: null, enteringModal: m2\n * 4b. enteringModal переходит в null после завершения анимации\n * 5. activeModal: m2, exitingModal: null, enteringModal: null, переход закончен\n */\nexport function useModalManager(\n activeModal: string | null | undefined,\n children: React.ReactNode | React.ReactNode[],\n onOpen: (id: string) => void = noop,\n onOpened: (id: string) => void = noop,\n onClose: (id: string) => void = noop,\n onClosed: (id: string) => void = noop,\n initModal: (state: ModalsStateEntry) => void = noop\n): ModalTransitionProps {\n const modalsState = React.useRef<ModalsState>({}).current;\n getModals(children).forEach((Modal) => {\n const modalProps = Modal.props;\n const id = getNavId(modalProps, warn);\n const state: ModalsStateEntry = (id !== undefined && modalsState[id]) || {\n id: id ?? null,\n };\n\n state.onOpen = Modal.props.onOpen;\n state.onOpened = Modal.props.onOpened;\n state.onClose = Modal.props.onClose;\n state.onClosed = Modal.props.onClosed;\n state.dynamicContentHeight = !!modalProps.dynamicContentHeight;\n // ModalPage props\n if (typeof modalProps.settlingHeight === \"number\") {\n state.settlingHeight = modalProps.settlingHeight;\n }\n\n if (state.id !== null) {\n modalsState[state.id] = state;\n }\n });\n\n const isMissing = activeModal && !modalsState[activeModal];\n const safeActiveModal = isMissing ? null : activeModal;\n const [transitionState, dispatchTransition] = React.useReducer(\n modalTransitionReducer,\n {\n activeModal: safeActiveModal,\n enteringModal: null,\n exitingModal: null,\n history: safeActiveModal ? [safeActiveModal] : [],\n isBack: false,\n }\n );\n\n // Map props to state, render activeModal for init\n useIsomorphicLayoutEffect(() => {\n // ignore non-existent activeModal\n if (process.env.NODE_ENV === \"development\" && isMissing) {\n warn(`Can't transition - modal ${activeModal} not found`, \"error\");\n }\n dispatchTransition({ type: \"setActive\", id: safeActiveModal ?? null });\n }, [activeModal]);\n\n // Init activeModal & set enteringModal\n useIsomorphicLayoutEffect(() => {\n if (transitionState.activeModal) {\n initModal(modalsState[transitionState.activeModal]);\n dispatchTransition({ type: \"inited\", id: transitionState.activeModal });\n }\n }, [transitionState.activeModal]);\n\n const isCard = (id: string | null | undefined) =>\n id != null && modalsState[id]?.type === ModalType.CARD;\n const onEntered = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onOpened)) {\n modalState.onOpened();\n } else if (isFunction(onOpened)) {\n onOpened(id);\n }\n }\n\n dispatchTransition({ type: \"entered\", id });\n },\n [modalsState, onOpened]\n );\n const onExited = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onClosed)) {\n modalState.onClosed();\n } else if (isFunction(onClosed)) {\n onClosed(id);\n }\n }\n\n dispatchTransition({ type: \"exited\", id });\n },\n [modalsState, onClosed]\n );\n const delayEnter = Boolean(\n transitionState.exitingModal &&\n (isCard(activeModal) || isCard(transitionState.exitingModal))\n );\n const getModalState = React.useCallback(\n (id: string) => modalsState[id],\n [modalsState]\n );\n\n function onEnter() {\n const modalState =\n transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onOpen)) {\n modalState.onOpen();\n } else if (isFunction(onOpen)) {\n onOpen(modalState.id);\n }\n }\n }\n\n function onExit() {\n const modalState =\n transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onClose)) {\n modalState.onClose();\n } else if (isFunction(onClose)) {\n onClose(modalState.id);\n }\n }\n }\n\n return {\n onEnter,\n onEntered,\n onExit,\n onExited,\n ...transitionState,\n delayEnter,\n getModalState,\n };\n}\n\nexport function withModalManager(\n initModal: (a: ModalsStateEntry) => void = noop\n) {\n return function <Props extends ModalTransitionProps>(\n Wrapped: React.ComponentType<Props>\n ): React.FC<\n Omit<Props, keyof ModalTransitionProps> & { activeModal?: string | null }\n > {\n return function WithModalManager(props) {\n const transitionManager = useModalManager(\n props.activeModal,\n props.children,\n (props as any).onOpen,\n (props as any).onOpened,\n (props as any).onClose,\n (props as any).onClosed,\n initModal\n );\n return <Wrapped {...(props as any)} {...transitionManager} />;\n };\n };\n}\n"],"file":"useModalManager.js"}
1
+ {"version":3,"sources":["../../../../src/components/ModalRoot/useModalManager.tsx"],"names":["getModals","children","React","Children","toArray","warn","modalTransitionReducer","state","action","type","id","activeModal","nextModal","prevModal","exitingModal","history","isBack","Boolean","includes","splice","indexOf","push","enteringModal","useModalManager","onOpen","noop","onOpened","onClose","onClosed","initModal","modalsState","useRef","current","forEach","Modal","modalProps","props","undefined","dynamicContentHeight","settlingHeight","isMissing","safeActiveModal","useReducer","transitionState","dispatchTransition","process","env","NODE_ENV","isCard","ModalType","CARD","onEntered","useCallback","modalState","onExited","delayEnter","getModalState","onEnter","onExit","withModalManager","Wrapped","WithModalManager","transitionManager"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { ModalsState, ModalsStateEntry, ModalType } from \"./types\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { getNavId } from \"../../lib/getNavId\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { noop, isFunction } from \"../../lib/utils\";\n\ninterface ModalTransitionState {\n activeModal?: string | null;\n enteringModal?: string | null;\n exitingModal?: string | null;\n\n history?: string[];\n isBack?: boolean | null;\n}\n\nexport interface ModalTransitionProps extends ModalTransitionState {\n onEnter: VoidFunction;\n onEntered: (id: string | null) => void;\n onExit: VoidFunction;\n onExited: (id: string | null) => void;\n getModalState: (id: string) => ModalsStateEntry;\n delayEnter: boolean;\n}\n\nfunction getModals(children: React.ReactNode | React.ReactNode[]) {\n return React.Children.toArray(children) as React.ReactElement[];\n}\n\nconst warn = warnOnce(\"ModalRoot\");\n\nexport function modalTransitionReducer(\n state: ModalTransitionState,\n action: {\n type: \"setActive\" | \"entered\" | \"exited\" | \"inited\";\n id: string | null;\n }\n): ModalTransitionState {\n if (action.type === \"setActive\" && action.id !== state.activeModal) {\n const nextModal = action.id;\n // preserve exiting modal if switching mid-transition\n const prevModal = state.exitingModal || state.activeModal;\n let history = state.history ? [...state.history] : [];\n const isBack = Boolean(nextModal && history.includes(nextModal));\n\n if (nextModal === null) {\n history = [];\n } else if (isBack) {\n history = history.splice(0, history.indexOf(nextModal) + 1);\n } else {\n history.push(nextModal);\n }\n\n return {\n activeModal: nextModal,\n // not entering yet\n enteringModal: null,\n exitingModal: prevModal,\n history,\n isBack,\n };\n }\n if (action.type === \"entered\" && action.id === state.enteringModal) {\n return { ...state, enteringModal: null };\n }\n if (action.type === \"exited\" && action.id === state.exitingModal) {\n return { ...state, exitingModal: null };\n }\n if (action.type === \"inited\" && action.id === state.activeModal) {\n return { ...state, enteringModal: action.id };\n }\n return state;\n}\n\n/**\n * Реализует переход модалок. При смене activeModal m1 -> m2:\n * 1. activeModal: m1, exitingModal: null, enteringModal: null, триггер перехода\n * 2. activeModal: m2, exitingModal: m1, enteringModal: null, рендерим m2 чтобы прошел init, начинаем анимацию выхода\n * одновременный переход между ModalPage:\n * 3a. activeModal: m2, exitingModal: m1, enteringModal: m2\n * 4a. exitingModal и enteringModal переходят в null в порядке завершения анимации\n * ИЛИ дожидаемся скрытия ModalCard\n * 3b. activeModal: m2, exitingModal: null, enteringModal: m2\n * 4b. enteringModal переходит в null после завершения анимации\n * 5. activeModal: m2, exitingModal: null, enteringModal: null, переход закончен\n */\nexport function useModalManager(\n activeModal: string | null | undefined,\n children: React.ReactNode | React.ReactNode[],\n onOpen: (id: string) => void = noop,\n onOpened: (id: string) => void = noop,\n onClose: (id: string) => void = noop,\n onClosed: (id: string) => void = noop,\n initModal: (state: ModalsStateEntry) => void = noop\n): ModalTransitionProps {\n const modalsState = React.useRef<ModalsState>({}).current;\n getModals(children).forEach((Modal) => {\n const modalProps = Modal.props;\n const id = getNavId(modalProps, warn);\n const state: ModalsStateEntry = (id !== undefined && modalsState[id]) || {\n id: id ?? null,\n };\n\n state.onOpen = Modal.props.onOpen;\n state.onOpened = Modal.props.onOpened;\n state.onClose = Modal.props.onClose;\n state.onClosed = Modal.props.onClosed;\n state.dynamicContentHeight = !!modalProps.dynamicContentHeight;\n // ModalPage props\n if (typeof modalProps.settlingHeight === \"number\") {\n state.settlingHeight = modalProps.settlingHeight;\n }\n\n if (state.id !== null) {\n modalsState[state.id] = state;\n }\n });\n\n const isMissing = activeModal && !modalsState[activeModal];\n const safeActiveModal = isMissing ? null : activeModal;\n const [transitionState, dispatchTransition] = React.useReducer(\n modalTransitionReducer,\n {\n activeModal: safeActiveModal,\n enteringModal: null,\n exitingModal: null,\n history: safeActiveModal ? [safeActiveModal] : [],\n isBack: false,\n }\n );\n\n // Map props to state, render activeModal for init\n useIsomorphicLayoutEffect(() => {\n // ignore non-existent activeModal\n if (process.env.NODE_ENV === \"development\" && isMissing) {\n warn(\n `Переход невозможен - модальное окно (страница) ${activeModal} не существует`,\n \"error\"\n );\n }\n dispatchTransition({ type: \"setActive\", id: safeActiveModal ?? null });\n }, [activeModal]);\n\n // Init activeModal & set enteringModal\n useIsomorphicLayoutEffect(() => {\n if (transitionState.activeModal) {\n initModal(modalsState[transitionState.activeModal]);\n dispatchTransition({ type: \"inited\", id: transitionState.activeModal });\n }\n }, [transitionState.activeModal]);\n\n const isCard = (id: string | null | undefined) =>\n id != null && modalsState[id]?.type === ModalType.CARD;\n const onEntered = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onOpened)) {\n modalState.onOpened();\n } else if (isFunction(onOpened)) {\n onOpened(id);\n }\n }\n\n dispatchTransition({ type: \"entered\", id });\n },\n [modalsState, onOpened]\n );\n const onExited = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onClosed)) {\n modalState.onClosed();\n } else if (isFunction(onClosed)) {\n onClosed(id);\n }\n }\n\n dispatchTransition({ type: \"exited\", id });\n },\n [modalsState, onClosed]\n );\n const delayEnter = Boolean(\n transitionState.exitingModal &&\n (isCard(activeModal) || isCard(transitionState.exitingModal))\n );\n const getModalState = React.useCallback(\n (id: string) => modalsState[id],\n [modalsState]\n );\n\n function onEnter() {\n const modalState =\n transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onOpen)) {\n modalState.onOpen();\n } else if (isFunction(onOpen)) {\n onOpen(modalState.id);\n }\n }\n }\n\n function onExit() {\n const modalState =\n transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onClose)) {\n modalState.onClose();\n } else if (isFunction(onClose)) {\n onClose(modalState.id);\n }\n }\n }\n\n return {\n onEnter,\n onEntered,\n onExit,\n onExited,\n ...transitionState,\n delayEnter,\n getModalState,\n };\n}\n\nexport function withModalManager(\n initModal: (a: ModalsStateEntry) => void = noop\n) {\n return function <Props extends ModalTransitionProps>(\n Wrapped: React.ComponentType<Props>\n ): React.FC<\n Omit<Props, keyof ModalTransitionProps> & { activeModal?: string | null }\n > {\n return function WithModalManager(props) {\n const transitionManager = useModalManager(\n props.activeModal,\n props.children,\n (props as any).onOpen,\n (props as any).onOpened,\n (props as any).onClose,\n (props as any).onClosed,\n initModal\n );\n return <Wrapped {...(props as any)} {...transitionManager} />;\n };\n };\n}\n"],"file":"useModalManager.js"}
@@ -11,5 +11,4 @@ export interface SelectState {
11
11
  title?: string;
12
12
  notSelected?: boolean;
13
13
  }
14
- declare const _default: React.FC<Pick<NativeSelectProps & AdaptivityContextInterface, "required" | "disabled" | "hidden" | "dir" | "form" | "slot" | "style" | "title" | "color" | "size" | "multiple" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "name" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "value" | "autoFocus" | "autoComplete" | "align" | "getRootRef" | "getRef" | "multiline"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
15
- export default _default;
14
+ export declare const NativeSelect: React.FC<Pick<NativeSelectProps & AdaptivityContextInterface, "required" | "disabled" | "hidden" | "dir" | "form" | "slot" | "style" | "title" | "color" | "size" | "multiple" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "name" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "value" | "autoFocus" | "autoComplete" | "align" | "getRootRef" | "getRef" | "multiline"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
@@ -7,7 +7,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.default = void 0;
10
+ exports.NativeSelect = void 0;
11
11
 
12
12
  var _jsxRuntime = require("../../lib/jsxRuntime");
13
13
 
@@ -47,7 +47,7 @@ var _usePlatform = require("../../hooks/usePlatform");
47
47
 
48
48
  var _excluded = ["style", "defaultValue", "align", "placeholder", "children", "className", "getRef", "getRootRef", "disabled", "sizeX", "sizeY", "multiline"];
49
49
 
50
- var NativeSelect = function NativeSelect(_ref) {
50
+ var NativeSelectComponent = function NativeSelectComponent(_ref) {
51
51
  var _classNames;
52
52
 
53
53
  var style = _ref.style,
@@ -119,13 +119,11 @@ var NativeSelect = function NativeSelect(_ref) {
119
119
  }, (0, _jsxRuntime.createScopedElement)("span", {
120
120
  vkuiClass: "Select__title"
121
121
  }, title)));
122
- }; // eslint-disable-next-line import/no-default-export
122
+ };
123
123
 
124
-
125
- var _default = (0, _withAdaptivity.withAdaptivity)(NativeSelect, {
124
+ var NativeSelect = (0, _withAdaptivity.withAdaptivity)(NativeSelectComponent, {
126
125
  sizeX: true,
127
126
  sizeY: true
128
127
  });
129
-
130
- exports.default = _default;
128
+ exports.NativeSelect = NativeSelect;
131
129
  //# sourceMappingURL=NativeSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/NativeSelect/NativeSelect.tsx"],"names":["NativeSelect","style","defaultValue","align","placeholder","children","className","getRef","getRootRef","disabled","sizeX","sizeY","multiline","restProps","platform","React","useState","title","setTitle","notSelected","setNotSelected","value","onChange","selectRef","selectedOption","current","options","selectedIndex","text","TypographyComponent","VKCOM","SizeType","COMPACT","Text","Headline"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { FormField } from \"../FormField/FormField\";\nimport { HasAlign, HasRef, HasRootRef } from \"../../types\";\nimport { withAdaptivity, SizeType } from \"../../hoc/withAdaptivity\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Text from \"../Typography/Text/Text\";\nimport { VKCOM } from \"../../lib/platform\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useEnsuredControl } from \"../../hooks/useEnsuredControl\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"../Select/Select.css\";\n\nexport interface NativeSelectProps\n extends React.SelectHTMLAttributes<HTMLSelectElement>,\n HasRef<HTMLSelectElement>,\n HasRootRef<HTMLLabelElement>,\n HasAlign,\n AdaptivityProps {\n placeholder?: string;\n multiline?: boolean;\n}\n\nexport interface SelectState {\n value?: React.SelectHTMLAttributes<HTMLSelectElement>[\"value\"];\n title?: string;\n notSelected?: boolean;\n}\n\nconst NativeSelect: React.FC<\n NativeSelectProps & AdaptivityContextInterface\n> = ({\n style,\n defaultValue = \"\",\n align,\n placeholder,\n children,\n className,\n getRef,\n getRootRef,\n disabled,\n sizeX,\n sizeY,\n multiline,\n ...restProps\n}) => {\n const platform = usePlatform();\n const [title, setTitle] = React.useState(\"\");\n const [notSelected, setNotSelected] = React.useState(false);\n const [value, onChange] = useEnsuredControl(restProps, { defaultValue });\n const selectRef = useExternRef(getRef);\n useIsomorphicLayoutEffect(() => {\n const selectedOption =\n selectRef.current?.options[selectRef.current.selectedIndex];\n if (selectedOption) {\n setTitle(selectedOption.text);\n setNotSelected(selectedOption.value === \"\" && placeholder != null);\n }\n }, [value, children]);\n\n const TypographyComponent =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <FormField\n Component=\"label\"\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"Select\", platform), {\n [\"Select--not-selected\"]: notSelected,\n [`Select--align-${align}`]: !!align,\n [`Select--sizeX--${sizeX}`]: !!sizeX,\n [`Select--sizeY--${sizeY}`]: !!sizeY,\n \"Select--multiline\": multiline,\n })}\n className={className}\n style={style}\n getRootRef={getRootRef}\n disabled={disabled}\n after={<DropdownIcon />}\n >\n <select\n {...restProps}\n disabled={disabled}\n vkuiClass=\"Select__el\"\n onChange={onChange}\n value={value}\n ref={selectRef}\n >\n {placeholder && <option value=\"\">{placeholder}</option>}\n {children}\n </select>\n <TypographyComponent\n Component=\"div\"\n weight=\"regular\"\n vkuiClass=\"Select__container\"\n >\n <span vkuiClass=\"Select__title\">{title}</span>\n </TypographyComponent>\n </FormField>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(NativeSelect, {\n sizeX: true,\n sizeY: true,\n});\n"],"file":"NativeSelect.js"}
1
+ {"version":3,"sources":["../../../../src/components/NativeSelect/NativeSelect.tsx"],"names":["NativeSelectComponent","style","defaultValue","align","placeholder","children","className","getRef","getRootRef","disabled","sizeX","sizeY","multiline","restProps","platform","React","useState","title","setTitle","notSelected","setNotSelected","value","onChange","selectRef","selectedOption","current","options","selectedIndex","text","TypographyComponent","VKCOM","SizeType","COMPACT","Text","Headline","NativeSelect"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { FormField } from \"../FormField/FormField\";\nimport { HasAlign, HasRef, HasRootRef } from \"../../types\";\nimport { withAdaptivity, SizeType } from \"../../hoc/withAdaptivity\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Text from \"../Typography/Text/Text\";\nimport { VKCOM } from \"../../lib/platform\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useEnsuredControl } from \"../../hooks/useEnsuredControl\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"../Select/Select.css\";\n\nexport interface NativeSelectProps\n extends React.SelectHTMLAttributes<HTMLSelectElement>,\n HasRef<HTMLSelectElement>,\n HasRootRef<HTMLLabelElement>,\n HasAlign,\n AdaptivityProps {\n placeholder?: string;\n multiline?: boolean;\n}\n\nexport interface SelectState {\n value?: React.SelectHTMLAttributes<HTMLSelectElement>[\"value\"];\n title?: string;\n notSelected?: boolean;\n}\n\nconst NativeSelectComponent: React.FC<\n NativeSelectProps & AdaptivityContextInterface\n> = ({\n style,\n defaultValue = \"\",\n align,\n placeholder,\n children,\n className,\n getRef,\n getRootRef,\n disabled,\n sizeX,\n sizeY,\n multiline,\n ...restProps\n}) => {\n const platform = usePlatform();\n const [title, setTitle] = React.useState(\"\");\n const [notSelected, setNotSelected] = React.useState(false);\n const [value, onChange] = useEnsuredControl(restProps, { defaultValue });\n const selectRef = useExternRef(getRef);\n useIsomorphicLayoutEffect(() => {\n const selectedOption =\n selectRef.current?.options[selectRef.current.selectedIndex];\n if (selectedOption) {\n setTitle(selectedOption.text);\n setNotSelected(selectedOption.value === \"\" && placeholder != null);\n }\n }, [value, children]);\n\n const TypographyComponent =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <FormField\n Component=\"label\"\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"Select\", platform), {\n [\"Select--not-selected\"]: notSelected,\n [`Select--align-${align}`]: !!align,\n [`Select--sizeX--${sizeX}`]: !!sizeX,\n [`Select--sizeY--${sizeY}`]: !!sizeY,\n \"Select--multiline\": multiline,\n })}\n className={className}\n style={style}\n getRootRef={getRootRef}\n disabled={disabled}\n after={<DropdownIcon />}\n >\n <select\n {...restProps}\n disabled={disabled}\n vkuiClass=\"Select__el\"\n onChange={onChange}\n value={value}\n ref={selectRef}\n >\n {placeholder && <option value=\"\">{placeholder}</option>}\n {children}\n </select>\n <TypographyComponent\n Component=\"div\"\n weight=\"regular\"\n vkuiClass=\"Select__container\"\n >\n <span vkuiClass=\"Select__title\">{title}</span>\n </TypographyComponent>\n </FormField>\n );\n};\n\nexport const NativeSelect = withAdaptivity(NativeSelectComponent, {\n sizeX: true,\n sizeY: true,\n});\n"],"file":"NativeSelect.js"}
@@ -44,7 +44,8 @@ var _excluded = ["left", "children", "right", "separator", "visor", "transparent
44
44
  var PanelHeaderIn = function PanelHeaderIn(_ref) {
45
45
  var children = _ref.children,
46
46
  left = _ref.left,
47
- right = _ref.right;
47
+ right = _ref.right,
48
+ separator = _ref.separator;
48
49
 
49
50
  var _React$useContext = React.useContext(_ConfigProviderContext.ConfigProviderContext),
50
51
  webviewType = _React$useContext.webviewType;
@@ -53,7 +54,7 @@ var PanelHeaderIn = function PanelHeaderIn(_ref) {
53
54
  isInsideModal = _React$useContext2.isInsideModal;
54
55
 
55
56
  var platform = (0, _usePlatform.usePlatform)();
56
- return (0, _jsxRuntime.createScopedElement)(_TooltipContainer.TooltipContainer, {
57
+ return (0, _jsxRuntime.createScopedElement)(React.Fragment, null, (0, _jsxRuntime.createScopedElement)(_TooltipContainer.TooltipContainer, {
57
58
  fixed: true,
58
59
  vkuiClass: "PanelHeader__in"
59
60
  }, (0, _jsxRuntime.createScopedElement)("div", {
@@ -66,7 +67,9 @@ var PanelHeaderIn = function PanelHeaderIn(_ref) {
66
67
  vkuiClass: "PanelHeader__content-in"
67
68
  }, children)), (0, _jsxRuntime.createScopedElement)("div", {
68
69
  vkuiClass: "PanelHeader__right"
69
- }, (webviewType === _ConfigProviderContext.WebviewType.INTERNAL || isInsideModal) && right));
70
+ }, (webviewType === _ConfigProviderContext.WebviewType.INTERNAL || isInsideModal) && right)), separator && platform === _platform.VKCOM && (0, _jsxRuntime.createScopedElement)(_Separator.default, {
71
+ wide: true
72
+ }));
70
73
  };
71
74
 
72
75
  var PanelHeader = function PanelHeader(props) {
@@ -111,7 +114,6 @@ var PanelHeader = function PanelHeader(props) {
111
114
  vertical: "top",
112
115
  getRootRef: getRef
113
116
  }, (0, _jsxRuntime.createScopedElement)(PanelHeaderIn, props)) : (0, _jsxRuntime.createScopedElement)(PanelHeaderIn, props), separator && visor && platform !== _platform.VKCOM && (0, _jsxRuntime.createScopedElement)(_Separator.default, {
114
- vkuiClass: "PanelHeader__separator",
115
117
  expanded: sizeX === _withAdaptivity.SizeType.REGULAR
116
118
  }));
117
119
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/PanelHeader/PanelHeader.tsx"],"names":["PanelHeaderIn","children","left","right","React","useContext","ConfigProviderContext","webviewType","ModalRootContext","isInsideModal","platform","VKCOM","WebviewType","INTERNAL","PanelHeader","props","separator","visor","transparent","shadow","getRef","getRootRef","sizeX","sizeY","fixed","restProps","needShadow","SizeType","REGULAR","isFixed","undefined","Platform","VKAPPS","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport FixedLayout from \"../FixedLayout/FixedLayout\";\nimport Separator from \"../Separator/Separator\";\nimport { Platform, VKCOM } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport {\n ConfigProviderContext,\n WebviewType,\n} from \"../ConfigProvider/ConfigProviderContext\";\nimport {\n AdaptivityProps,\n SizeType,\n withAdaptivity,\n} from \"../../hoc/withAdaptivity\";\nimport Text from \"../Typography/Text/Text\";\nimport { TooltipContainer } from \"../Tooltip/TooltipContainer\";\nimport ModalRootContext from \"../ModalRoot/ModalRootContext\";\nimport \"./PanelHeader.css\";\n\nexport interface PanelHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n AdaptivityProps {\n left?: React.ReactNode;\n right?: React.ReactNode;\n separator?: boolean;\n transparent?: boolean;\n shadow?: boolean;\n /**\n * Если `false`, то шапка будет нулевой высоты и контент панели \"залезет\" под неё\n */\n visor?: boolean;\n /**\n * Если `false`, то шапка будет в потоке. По умолчанию `true`, но если платформа vkcom, то по умолчанию `false`.\n */\n fixed?: boolean;\n}\n\nconst PanelHeaderIn: React.FC<PanelHeaderProps> = ({\n children,\n left,\n right,\n}) => {\n const { webviewType } = React.useContext(ConfigProviderContext);\n const { isInsideModal } = React.useContext(ModalRootContext);\n const platform = usePlatform();\n\n return (\n <TooltipContainer fixed vkuiClass=\"PanelHeader__in\">\n <div vkuiClass=\"PanelHeader__left\">{left}</div>\n <div vkuiClass=\"PanelHeader__content\">\n {platform === VKCOM ? (\n <Text weight=\"medium\">{children}</Text>\n ) : (\n <span vkuiClass=\"PanelHeader__content-in\">{children}</span>\n )}\n </div>\n <div vkuiClass=\"PanelHeader__right\">\n {(webviewType === WebviewType.INTERNAL || isInsideModal) && right}\n </div>\n </TooltipContainer>\n );\n};\n\nconst PanelHeader: React.FC<PanelHeaderProps> = (props: PanelHeaderProps) => {\n const {\n left,\n children,\n right,\n separator,\n visor,\n transparent,\n shadow,\n getRef,\n getRootRef,\n sizeX,\n sizeY,\n fixed,\n ...restProps\n } = props;\n const platform = usePlatform();\n const { webviewType } = React.useContext(ConfigProviderContext);\n const { isInsideModal } = React.useContext(ModalRootContext);\n const needShadow = shadow && sizeX === SizeType.REGULAR;\n let isFixed = fixed !== undefined ? fixed : platform !== Platform.VKCOM;\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"PanelHeader\", platform),\n {\n \"PanelHeader--trnsp\": transparent,\n \"PanelHeader--shadow\": needShadow,\n \"PanelHeader--vis\": visor,\n \"PanelHeader--sep\": separator && visor,\n \"PanelHeader--vkapps\":\n webviewType === WebviewType.VKAPPS && !isInsideModal,\n \"PanelHeader--no-left\": !left,\n \"PanelHeader--no-right\": !right,\n \"PanelHeader--fixed\": isFixed,\n },\n `PanelHeader--sizeX-${sizeX}`\n )}\n ref={isFixed ? getRootRef : getRef}\n >\n {isFixed ? (\n <FixedLayout\n vkuiClass=\"PanelHeader__fixed\"\n vertical=\"top\"\n getRootRef={getRef}\n >\n <PanelHeaderIn {...props} />\n </FixedLayout>\n ) : (\n <PanelHeaderIn {...props} />\n )}\n {separator && visor && platform !== VKCOM && (\n <Separator\n vkuiClass=\"PanelHeader__separator\"\n expanded={sizeX === SizeType.REGULAR}\n />\n )}\n </div>\n );\n};\n\nPanelHeader.defaultProps = {\n separator: true,\n transparent: false,\n visor: true,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(PanelHeader, {\n sizeX: true,\n sizeY: true,\n});\n"],"file":"PanelHeader.js"}
1
+ {"version":3,"sources":["../../../../src/components/PanelHeader/PanelHeader.tsx"],"names":["PanelHeaderIn","children","left","right","separator","React","useContext","ConfigProviderContext","webviewType","ModalRootContext","isInsideModal","platform","VKCOM","WebviewType","INTERNAL","PanelHeader","props","visor","transparent","shadow","getRef","getRootRef","sizeX","sizeY","fixed","restProps","needShadow","SizeType","REGULAR","isFixed","undefined","Platform","VKAPPS","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport FixedLayout from \"../FixedLayout/FixedLayout\";\nimport Separator from \"../Separator/Separator\";\nimport { Platform, VKCOM } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport {\n ConfigProviderContext,\n WebviewType,\n} from \"../ConfigProvider/ConfigProviderContext\";\nimport {\n AdaptivityProps,\n SizeType,\n withAdaptivity,\n} from \"../../hoc/withAdaptivity\";\nimport Text from \"../Typography/Text/Text\";\nimport { TooltipContainer } from \"../Tooltip/TooltipContainer\";\nimport ModalRootContext from \"../ModalRoot/ModalRootContext\";\nimport \"./PanelHeader.css\";\n\nexport interface PanelHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n AdaptivityProps {\n left?: React.ReactNode;\n right?: React.ReactNode;\n separator?: boolean;\n transparent?: boolean;\n shadow?: boolean;\n /**\n * Если `false`, то шапка будет нулевой высоты и контент панели \"залезет\" под неё\n */\n visor?: boolean;\n /**\n * Если `false`, то шапка будет в потоке. По умолчанию `true`, но если платформа vkcom, то по умолчанию `false`.\n */\n fixed?: boolean;\n}\n\nconst PanelHeaderIn: React.FC<PanelHeaderProps> = ({\n children,\n left,\n right,\n separator,\n}) => {\n const { webviewType } = React.useContext(ConfigProviderContext);\n const { isInsideModal } = React.useContext(ModalRootContext);\n const platform = usePlatform();\n\n return (\n <React.Fragment>\n <TooltipContainer fixed vkuiClass=\"PanelHeader__in\">\n <div vkuiClass=\"PanelHeader__left\">{left}</div>\n <div vkuiClass=\"PanelHeader__content\">\n {platform === VKCOM ? (\n <Text weight=\"medium\">{children}</Text>\n ) : (\n <span vkuiClass=\"PanelHeader__content-in\">{children}</span>\n )}\n </div>\n <div vkuiClass=\"PanelHeader__right\">\n {(webviewType === WebviewType.INTERNAL || isInsideModal) && right}\n </div>\n </TooltipContainer>\n {separator && platform === VKCOM && <Separator wide />}\n </React.Fragment>\n );\n};\n\nconst PanelHeader: React.FC<PanelHeaderProps> = (props: PanelHeaderProps) => {\n const {\n left,\n children,\n right,\n separator,\n visor,\n transparent,\n shadow,\n getRef,\n getRootRef,\n sizeX,\n sizeY,\n fixed,\n ...restProps\n } = props;\n const platform = usePlatform();\n const { webviewType } = React.useContext(ConfigProviderContext);\n const { isInsideModal } = React.useContext(ModalRootContext);\n const needShadow = shadow && sizeX === SizeType.REGULAR;\n let isFixed = fixed !== undefined ? fixed : platform !== Platform.VKCOM;\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"PanelHeader\", platform),\n {\n \"PanelHeader--trnsp\": transparent,\n \"PanelHeader--shadow\": needShadow,\n \"PanelHeader--vis\": visor,\n \"PanelHeader--sep\": separator && visor,\n \"PanelHeader--vkapps\":\n webviewType === WebviewType.VKAPPS && !isInsideModal,\n \"PanelHeader--no-left\": !left,\n \"PanelHeader--no-right\": !right,\n \"PanelHeader--fixed\": isFixed,\n },\n `PanelHeader--sizeX-${sizeX}`\n )}\n ref={isFixed ? getRootRef : getRef}\n >\n {isFixed ? (\n <FixedLayout\n vkuiClass=\"PanelHeader__fixed\"\n vertical=\"top\"\n getRootRef={getRef}\n >\n <PanelHeaderIn {...props} />\n </FixedLayout>\n ) : (\n <PanelHeaderIn {...props} />\n )}\n {separator && visor && platform !== VKCOM && (\n <Separator expanded={sizeX === SizeType.REGULAR} />\n )}\n </div>\n );\n};\n\nPanelHeader.defaultProps = {\n separator: true,\n transparent: false,\n visor: true,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(PanelHeader, {\n sizeX: true,\n sizeY: true,\n});\n"],"file":"PanelHeader.js"}
@@ -39,6 +39,8 @@ var _useTimeout = require("../../hooks/useTimeout");
39
39
 
40
40
  var _usePlatform = require("../../hooks/usePlatform");
41
41
 
42
+ var _ScrollContext = require("../AppRoot/ScrollContext");
43
+
42
44
  var _excluded = ["children", "onClose", "opened"];
43
45
 
44
46
  var PanelHeaderContext = function PanelHeaderContext(_ref) {
@@ -67,7 +69,8 @@ var PanelHeaderContext = function PanelHeaderContext(_ref) {
67
69
  var elementRef = React.useRef(null);
68
70
  (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
69
71
  opened && setVisible(true);
70
- }, [opened]); // start closing on outer click
72
+ }, [opened]);
73
+ (0, _ScrollContext.useScrollLock)(!isDesktop && opened); // start closing on outer click
71
74
 
72
75
  (0, _useGlobalEventListener.useGlobalEventListener)(document, "click", isDesktop && opened && !closing && function (event) {
73
76
  if (elementRef.current && !elementRef.current.contains(event.target)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/PanelHeaderContext/PanelHeaderContext.tsx"],"names":["PanelHeaderContext","children","onClose","opened","restProps","document","platform","React","useState","visible","setVisible","closing","viewWidth","isDesktop","ViewWidth","SMALL_TABLET","elementRef","useRef","event","current","contains","target","onAnimationEnd","animationFallback","useEffect","set","clear","undefined"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AASO,IAAMA,kBAAqD,GAAG,SAAxDA,kBAAwD,OAK/D;AAAA,MAJJC,QAII,QAJJA,QAII;AAAA,MAHJC,OAGI,QAHJA,OAGI;AAAA,yBAFJC,MAEI;AAAA,MAFJA,MAEI,4BAFK,KAEL;AAAA,MADDC,SACC;;AACJ,gBAAqB,kBAArB;AAAA,MAAQC,QAAR,WAAQA,QAAR;;AACA,MAAMC,QAAQ,GAAG,+BAAjB;;AACA,wBAA8BC,KAAK,CAACC,QAAN,CAAeL,MAAf,CAA9B;AAAA;AAAA,MAAOM,OAAP;AAAA,MAAgBC,UAAhB;;AACA,MAAMC,OAAO,GAAGF,OAAO,IAAI,CAACN,MAA5B;;AACA,uBAAsB,oCAAtB;AAAA,MAAQS,SAAR,kBAAQA,SAAR;;AACA,MAAMC,SAAS,GAAGD,SAAS,IAAIE,6BAAUC,YAAzC;AACA,MAAMC,UAAU,GAAGT,KAAK,CAACU,MAAN,CAA6B,IAA7B,CAAnB;AAEA,4DAA0B,YAAM;AAC9Bd,IAAAA,MAAM,IAAIO,UAAU,CAAC,IAAD,CAApB;AACD,GAFD,EAEG,CAACP,MAAD,CAFH,EATI,CAaJ;;AACA,sDACEE,QADF,EAEE,OAFF,EAGEQ,SAAS,IACPV,MADF,IAEE,CAACQ,OAFH,IAGG,UAACO,KAAD,EAAW;AACV,QACEF,UAAU,CAACG,OAAX,IACA,CAACH,UAAU,CAACG,OAAX,CAAmBC,QAAnB,CAA4BF,KAAK,CAACG,MAAlC,CAFH,EAGE;AACAnB,MAAAA,OAAO;AACR;AACF,GAbL,EAdI,CA8BJ;;AACA,MAAMoB,cAAc,GAAG,SAAjBA,cAAiB;AAAA,WAAMZ,UAAU,CAAC,KAAD,CAAhB;AAAA,GAAvB;;AACA,MAAMa,iBAAiB,GAAG,4BAAWD,cAAX,EAA2B,GAA3B,CAA1B;AACAf,EAAAA,KAAK,CAACiB,SAAN,CACE;AAAA,WAAOb,OAAO,GAAGY,iBAAiB,CAACE,GAAlB,EAAH,GAA6BF,iBAAiB,CAACG,KAAlB,EAA3C;AAAA,GADF,EAEE,CAACH,iBAAD,EAAoBZ,OAApB,CAFF;AAKA,SACE,qCAAC,oBAAD,6BACMP,SADN;AAEE;AACA,IAAA,SAAS,EAAE,4BAAW,gCAAa,oBAAb,EAAmCE,QAAnC,CAAX,EAAyD;AAClE,oCAA8BH,MADoC;AAElE,qCAA+BQ,OAFmC;AAGlE,qCAA+BE;AAHmC,KAAzD,CAHb;AAQE,IAAA,QAAQ,EAAC;AARX,MAUE;AACE,IAAA,SAAS,EAAC,wBADZ;AAEE,IAAA,GAAG,EAAEG,UAFP;AAGE,IAAA,cAAc,EAAEL,OAAO,GAAGW,cAAH,GAAoBK;AAH7C,KAKE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA8ClB,OAAO,IAAIR,QAAzD,CALF,CAVF,EAiBG,CAACY,SAAD,IAAcJ,OAAd,IACC;AAAK,IAAA,OAAO,EAAEP,OAAd;AAAuB,IAAA,SAAS,EAAC;AAAjC,IAlBJ,CADF;AAuBD,CAlEM","sourcesContent":["import * as React from \"react\";\nimport FixedLayout from \"../FixedLayout/FixedLayout\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { ViewWidth } from \"../AdaptivityProvider/AdaptivityContext\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./PanelHeaderContext.css\";\n\nexport interface PanelHeaderContextProps\n extends React.HTMLAttributes<HTMLDivElement> {\n opened: boolean;\n onClose: VoidFunction;\n}\n\nexport const PanelHeaderContext: React.FC<PanelHeaderContextProps> = ({\n children,\n onClose,\n opened = false,\n ...restProps\n}) => {\n const { document } = useDOM();\n const platform = usePlatform();\n const [visible, setVisible] = React.useState(opened);\n const closing = visible && !opened;\n const { viewWidth } = useAdaptivity();\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n const elementRef = React.useRef<HTMLDivElement>(null);\n\n useIsomorphicLayoutEffect(() => {\n opened && setVisible(true);\n }, [opened]);\n\n // start closing on outer click\n useGlobalEventListener(\n document,\n \"click\",\n isDesktop &&\n opened &&\n !closing &&\n ((event) => {\n if (\n elementRef.current &&\n !elementRef.current.contains(event.target as Node)\n ) {\n onClose();\n }\n })\n );\n\n // fallback onAnimationEnd when animationend not supported\n const onAnimationEnd = () => setVisible(false);\n const animationFallback = useTimeout(onAnimationEnd, 200);\n React.useEffect(\n () => (closing ? animationFallback.set() : animationFallback.clear()),\n [animationFallback, closing]\n );\n\n return (\n <FixedLayout\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"PanelHeaderContext\", platform), {\n \"PanelHeaderContext--opened\": opened,\n \"PanelHeaderContext--closing\": closing,\n \"PanelHeaderContext--desktop\": isDesktop,\n })}\n vertical=\"top\"\n >\n <div\n vkuiClass=\"PanelHeaderContext__in\"\n ref={elementRef}\n onAnimationEnd={closing ? onAnimationEnd : undefined}\n >\n <div vkuiClass=\"PanelHeaderContext__content\">{visible && children}</div>\n </div>\n {!isDesktop && visible && (\n <div onClick={onClose} vkuiClass=\"PanelHeaderContext__fade\" />\n )}\n </FixedLayout>\n );\n};\n"],"file":"PanelHeaderContext.js"}
1
+ {"version":3,"sources":["../../../../src/components/PanelHeaderContext/PanelHeaderContext.tsx"],"names":["PanelHeaderContext","children","onClose","opened","restProps","document","platform","React","useState","visible","setVisible","closing","viewWidth","isDesktop","ViewWidth","SMALL_TABLET","elementRef","useRef","event","current","contains","target","onAnimationEnd","animationFallback","useEffect","set","clear","undefined"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AASO,IAAMA,kBAAqD,GAAG,SAAxDA,kBAAwD,OAK/D;AAAA,MAJJC,QAII,QAJJA,QAII;AAAA,MAHJC,OAGI,QAHJA,OAGI;AAAA,yBAFJC,MAEI;AAAA,MAFJA,MAEI,4BAFK,KAEL;AAAA,MADDC,SACC;;AACJ,gBAAqB,kBAArB;AAAA,MAAQC,QAAR,WAAQA,QAAR;;AACA,MAAMC,QAAQ,GAAG,+BAAjB;;AACA,wBAA8BC,KAAK,CAACC,QAAN,CAAeL,MAAf,CAA9B;AAAA;AAAA,MAAOM,OAAP;AAAA,MAAgBC,UAAhB;;AACA,MAAMC,OAAO,GAAGF,OAAO,IAAI,CAACN,MAA5B;;AACA,uBAAsB,oCAAtB;AAAA,MAAQS,SAAR,kBAAQA,SAAR;;AACA,MAAMC,SAAS,GAAGD,SAAS,IAAIE,6BAAUC,YAAzC;AACA,MAAMC,UAAU,GAAGT,KAAK,CAACU,MAAN,CAA6B,IAA7B,CAAnB;AAEA,4DAA0B,YAAM;AAC9Bd,IAAAA,MAAM,IAAIO,UAAU,CAAC,IAAD,CAApB;AACD,GAFD,EAEG,CAACP,MAAD,CAFH;AAIA,oCAAc,CAACU,SAAD,IAAcV,MAA5B,EAbI,CAeJ;;AACA,sDACEE,QADF,EAEE,OAFF,EAGEQ,SAAS,IACPV,MADF,IAEE,CAACQ,OAFH,IAGG,UAACO,KAAD,EAAW;AACV,QACEF,UAAU,CAACG,OAAX,IACA,CAACH,UAAU,CAACG,OAAX,CAAmBC,QAAnB,CAA4BF,KAAK,CAACG,MAAlC,CAFH,EAGE;AACAnB,MAAAA,OAAO;AACR;AACF,GAbL,EAhBI,CAgCJ;;AACA,MAAMoB,cAAc,GAAG,SAAjBA,cAAiB;AAAA,WAAMZ,UAAU,CAAC,KAAD,CAAhB;AAAA,GAAvB;;AACA,MAAMa,iBAAiB,GAAG,4BAAWD,cAAX,EAA2B,GAA3B,CAA1B;AACAf,EAAAA,KAAK,CAACiB,SAAN,CACE;AAAA,WAAOb,OAAO,GAAGY,iBAAiB,CAACE,GAAlB,EAAH,GAA6BF,iBAAiB,CAACG,KAAlB,EAA3C;AAAA,GADF,EAEE,CAACH,iBAAD,EAAoBZ,OAApB,CAFF;AAKA,SACE,qCAAC,oBAAD,6BACMP,SADN;AAEE;AACA,IAAA,SAAS,EAAE,4BAAW,gCAAa,oBAAb,EAAmCE,QAAnC,CAAX,EAAyD;AAClE,oCAA8BH,MADoC;AAElE,qCAA+BQ,OAFmC;AAGlE,qCAA+BE;AAHmC,KAAzD,CAHb;AAQE,IAAA,QAAQ,EAAC;AARX,MAUE;AACE,IAAA,SAAS,EAAC,wBADZ;AAEE,IAAA,GAAG,EAAEG,UAFP;AAGE,IAAA,cAAc,EAAEL,OAAO,GAAGW,cAAH,GAAoBK;AAH7C,KAKE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA8ClB,OAAO,IAAIR,QAAzD,CALF,CAVF,EAiBG,CAACY,SAAD,IAAcJ,OAAd,IACC;AAAK,IAAA,OAAO,EAAEP,OAAd;AAAuB,IAAA,SAAS,EAAC;AAAjC,IAlBJ,CADF;AAuBD,CApEM","sourcesContent":["import * as React from \"react\";\nimport FixedLayout from \"../FixedLayout/FixedLayout\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { ViewWidth } from \"../AdaptivityProvider/AdaptivityContext\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useScrollLock } from \"../AppRoot/ScrollContext\";\nimport \"./PanelHeaderContext.css\";\n\nexport interface PanelHeaderContextProps\n extends React.HTMLAttributes<HTMLDivElement> {\n opened: boolean;\n onClose: VoidFunction;\n}\n\nexport const PanelHeaderContext: React.FC<PanelHeaderContextProps> = ({\n children,\n onClose,\n opened = false,\n ...restProps\n}) => {\n const { document } = useDOM();\n const platform = usePlatform();\n const [visible, setVisible] = React.useState(opened);\n const closing = visible && !opened;\n const { viewWidth } = useAdaptivity();\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n const elementRef = React.useRef<HTMLDivElement>(null);\n\n useIsomorphicLayoutEffect(() => {\n opened && setVisible(true);\n }, [opened]);\n\n useScrollLock(!isDesktop && opened);\n\n // start closing on outer click\n useGlobalEventListener(\n document,\n \"click\",\n isDesktop &&\n opened &&\n !closing &&\n ((event) => {\n if (\n elementRef.current &&\n !elementRef.current.contains(event.target as Node)\n ) {\n onClose();\n }\n })\n );\n\n // fallback onAnimationEnd when animationend not supported\n const onAnimationEnd = () => setVisible(false);\n const animationFallback = useTimeout(onAnimationEnd, 200);\n React.useEffect(\n () => (closing ? animationFallback.set() : animationFallback.clear()),\n [animationFallback, closing]\n );\n\n return (\n <FixedLayout\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"PanelHeaderContext\", platform), {\n \"PanelHeaderContext--opened\": opened,\n \"PanelHeaderContext--closing\": closing,\n \"PanelHeaderContext--desktop\": isDesktop,\n })}\n vertical=\"top\"\n >\n <div\n vkuiClass=\"PanelHeaderContext__in\"\n ref={elementRef}\n onAnimationEnd={closing ? onAnimationEnd : undefined}\n >\n <div vkuiClass=\"PanelHeaderContext__content\">{visible && children}</div>\n </div>\n {!isDesktop && visible && (\n <div onClick={onClose} vkuiClass=\"PanelHeaderContext__fade\" />\n )}\n </FixedLayout>\n );\n};\n"],"file":"PanelHeaderContext.js"}
@@ -23,6 +23,8 @@ var _AppRootPortal = require("../AppRoot/AppRootPortal");
23
23
 
24
24
  var _dom = require("../../lib/dom");
25
25
 
26
+ var _useAdaptivity = require("../../hooks/useAdaptivity");
27
+
26
28
  var _excluded = ["popout", "modal", "viewWidth", "viewHeight", "hasMouse", "children", "getRootRef"];
27
29
 
28
30
  var PopoutRootComponent = function PopoutRootComponent(props) {
@@ -38,7 +40,7 @@ var PopoutRootComponent = function PopoutRootComponent(props) {
38
40
  var _useDOM = (0, _dom.useDOM)(),
39
41
  document = _useDOM.document;
40
42
 
41
- var isDesktop = viewWidth >= _withAdaptivity.ViewWidth.SMALL_TABLET && (hasMouse || viewHeight >= _withAdaptivity.ViewHeight.MEDIUM);
43
+ var isDesktop = (0, _useAdaptivity.useAdaptivityIsDesktop)();
42
44
  React.useEffect(function () {
43
45
  popout && (0, _dom.blurActiveElement)(document);
44
46
  }, [document, popout]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/PopoutRoot/PopoutRoot.tsx"],"names":["PopoutRootComponent","props","popout","modal","viewWidth","viewHeight","hasMouse","children","getRootRef","restProps","document","isDesktop","ViewWidth","SMALL_TABLET","ViewHeight","MEDIUM","React","useEffect","displayName","PopoutRoot"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA;;AAKA;;AACA;;;;AAeO,IAAMA,mBAEZ,GAAG,SAFSA,mBAET,CAACC,KAAD,EAAW;AACb,MACEC,MADF,GASID,KATJ,CACEC,MADF;AAAA,MAEEC,KAFF,GASIF,KATJ,CAEEE,KAFF;AAAA,MAGEC,SAHF,GASIH,KATJ,CAGEG,SAHF;AAAA,MAIEC,UAJF,GASIJ,KATJ,CAIEI,UAJF;AAAA,MAKEC,QALF,GASIL,KATJ,CAKEK,QALF;AAAA,MAMEC,QANF,GASIN,KATJ,CAMEM,QANF;AAAA,MAOEC,UAPF,GASIP,KATJ,CAOEO,UAPF;AAAA,MAQKC,SARL,0CASIR,KATJ;;AAUA,gBAAqB,kBAArB;AAAA,MAAQS,QAAR,WAAQA,QAAR;;AAEA,MAAMC,SAAS,GACbP,SAAS,IAAIQ,0BAAUC,YAAvB,KACCP,QAAQ,IAAID,UAAU,IAAIS,2BAAWC,MADtC,CADF;AAIAC,EAAAA,KAAK,CAACC,SAAN,CAAgB,YAAM;AACpBf,IAAAA,MAAM,IAAI,4BAAkBQ,QAAlB,CAAV;AACD,GAFD,EAEG,CAACA,QAAD,EAAWR,MAAX,CAFH;AAIA,SACE,uEAASO,SAAT;AAAoB,IAAA,SAAS,EAAC,YAA9B;AAA2C,IAAA,GAAG,EAAED;AAAhD,MACGD,QADH,EAEE,qCAAC,4BAAD,QACG,CAAC,CAACL,MAAF,IACC;AACE,IAAA,SAAS,EACPS,SAAS,GAAG,sBAAH,GAA4B;AAFzC,KAKGT,MALH,CAFJ,EAUG,CAAC,CAACC,KAAF,IAAW;AAAK,IAAA,SAAS,EAAC;AAAf,KAAoCA,KAApC,CAVd,CAFF,CADF;AAiBD,CAxCM;;;AA0CPH,mBAAmB,CAACkB,WAApB,GAAkC,YAAlC;AAEO,IAAMC,UAAU,GAAG,oCAAenB,mBAAf,EAAoC;AAC5DI,EAAAA,SAAS,EAAE,IADiD;AAE5DC,EAAAA,UAAU,EAAE,IAFgD;AAG5DC,EAAAA,QAAQ,EAAE;AAHkD,CAApC,CAAnB","sourcesContent":["import * as React from \"react\";\nimport { HasRootRef } from \"../../types\";\nimport {\n withAdaptivity,\n ViewWidth,\n ViewHeight,\n} from \"../../hoc/withAdaptivity\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { blurActiveElement, useDOM } from \"../../lib/dom\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./PopoutRoot.css\";\n\nexport interface PopoutRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n AdaptivityProps,\n HasRootRef<HTMLDivElement> {\n popout?: React.ReactNode;\n modal?: React.ReactNode;\n}\n\nexport const PopoutRootComponent: React.FC<\n PopoutRootProps & AdaptivityContextInterface\n> = (props) => {\n const {\n popout,\n modal,\n viewWidth,\n viewHeight,\n hasMouse,\n children,\n getRootRef,\n ...restProps\n } = props;\n const { document } = useDOM();\n\n const isDesktop =\n viewWidth >= ViewWidth.SMALL_TABLET &&\n (hasMouse || viewHeight >= ViewHeight.MEDIUM);\n\n React.useEffect(() => {\n popout && blurActiveElement(document);\n }, [document, popout]);\n\n return (\n <div {...restProps} vkuiClass=\"PopoutRoot\" ref={getRootRef}>\n {children}\n <AppRootPortal>\n {!!popout && (\n <div\n vkuiClass={\n isDesktop ? \"PopoutRoot--absolute\" : \"PopoutRoot__popout\"\n }\n >\n {popout}\n </div>\n )}\n {!!modal && <div vkuiClass=\"PopoutRoot__modal\">{modal}</div>}\n </AppRootPortal>\n </div>\n );\n};\n\nPopoutRootComponent.displayName = \"PopoutRoot\";\n\nexport const PopoutRoot = withAdaptivity(PopoutRootComponent, {\n viewWidth: true,\n viewHeight: true,\n hasMouse: true,\n});\n"],"file":"PopoutRoot.js"}
1
+ {"version":3,"sources":["../../../../src/components/PopoutRoot/PopoutRoot.tsx"],"names":["PopoutRootComponent","props","popout","modal","viewWidth","viewHeight","hasMouse","children","getRootRef","restProps","document","isDesktop","React","useEffect","displayName","PopoutRoot"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AAKA;;;;AAWO,IAAMA,mBAEZ,GAAG,SAFSA,mBAET,CAACC,KAAD,EAAW;AACb,MACEC,MADF,GASID,KATJ,CACEC,MADF;AAAA,MAEEC,KAFF,GASIF,KATJ,CAEEE,KAFF;AAAA,MAGEC,SAHF,GASIH,KATJ,CAGEG,SAHF;AAAA,MAIEC,UAJF,GASIJ,KATJ,CAIEI,UAJF;AAAA,MAKEC,QALF,GASIL,KATJ,CAKEK,QALF;AAAA,MAMEC,QANF,GASIN,KATJ,CAMEM,QANF;AAAA,MAOEC,UAPF,GASIP,KATJ,CAOEO,UAPF;AAAA,MAQKC,SARL,0CASIR,KATJ;;AAUA,gBAAqB,kBAArB;AAAA,MAAQS,QAAR,WAAQA,QAAR;;AAEA,MAAMC,SAAS,GAAG,4CAAlB;AAEAC,EAAAA,KAAK,CAACC,SAAN,CAAgB,YAAM;AACpBX,IAAAA,MAAM,IAAI,4BAAkBQ,QAAlB,CAAV;AACD,GAFD,EAEG,CAACA,QAAD,EAAWR,MAAX,CAFH;AAIA,SACE,uEAASO,SAAT;AAAoB,IAAA,SAAS,EAAC,YAA9B;AAA2C,IAAA,GAAG,EAAED;AAAhD,MACGD,QADH,EAEE,qCAAC,4BAAD,QACG,CAAC,CAACL,MAAF,IACC;AACE,IAAA,SAAS,EACPS,SAAS,GAAG,sBAAH,GAA4B;AAFzC,KAKGT,MALH,CAFJ,EAUG,CAAC,CAACC,KAAF,IAAW;AAAK,IAAA,SAAS,EAAC;AAAf,KAAoCA,KAApC,CAVd,CAFF,CADF;AAiBD,CAtCM;;;AAwCPH,mBAAmB,CAACc,WAApB,GAAkC,YAAlC;AAEO,IAAMC,UAAU,GAAG,oCAAef,mBAAf,EAAoC;AAC5DI,EAAAA,SAAS,EAAE,IADiD;AAE5DC,EAAAA,UAAU,EAAE,IAFgD;AAG5DC,EAAAA,QAAQ,EAAE;AAHkD,CAApC,CAAnB","sourcesContent":["import * as React from \"react\";\nimport { HasRootRef } from \"../../types\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { blurActiveElement, useDOM } from \"../../lib/dom\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport { useAdaptivityIsDesktop } from \"../../hooks/useAdaptivity\";\nimport \"./PopoutRoot.css\";\n\nexport interface PopoutRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n AdaptivityProps,\n HasRootRef<HTMLDivElement> {\n popout?: React.ReactNode;\n modal?: React.ReactNode;\n}\n\nexport const PopoutRootComponent: React.FC<\n PopoutRootProps & AdaptivityContextInterface\n> = (props) => {\n const {\n popout,\n modal,\n viewWidth,\n viewHeight,\n hasMouse,\n children,\n getRootRef,\n ...restProps\n } = props;\n const { document } = useDOM();\n\n const isDesktop = useAdaptivityIsDesktop();\n\n React.useEffect(() => {\n popout && blurActiveElement(document);\n }, [document, popout]);\n\n return (\n <div {...restProps} vkuiClass=\"PopoutRoot\" ref={getRootRef}>\n {children}\n <AppRootPortal>\n {!!popout && (\n <div\n vkuiClass={\n isDesktop ? \"PopoutRoot--absolute\" : \"PopoutRoot__popout\"\n }\n >\n {popout}\n </div>\n )}\n {!!modal && <div vkuiClass=\"PopoutRoot__modal\">{modal}</div>}\n </AppRootPortal>\n </div>\n );\n};\n\nPopoutRootComponent.displayName = \"PopoutRoot\";\n\nexport const PopoutRoot = withAdaptivity(PopoutRootComponent, {\n viewWidth: true,\n viewHeight: true,\n hasMouse: true,\n});\n"],"file":"PopoutRoot.js"}
@@ -21,6 +21,8 @@ var _getClassName = require("../../helpers/getClassName");
21
21
 
22
22
  var _usePlatform = require("../../hooks/usePlatform");
23
23
 
24
+ var _ScrollContext = require("../AppRoot/ScrollContext");
25
+
24
26
  var _excluded = ["style", "className"];
25
27
 
26
28
  var ScreenSpinner = function ScreenSpinner(props) {
@@ -28,6 +30,7 @@ var ScreenSpinner = function ScreenSpinner(props) {
28
30
  className = props.className,
29
31
  restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
30
32
  var platform = (0, _usePlatform.usePlatform)();
33
+ (0, _ScrollContext.useScrollLock)();
31
34
  return (0, _jsxRuntime.createScopedElement)(_PopoutWrapper.PopoutWrapper, {
32
35
  hasMask: false,
33
36
  vkuiClass: (0, _getClassName.getClassName)("ScreenSpinner", platform),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScreenSpinner/ScreenSpinner.tsx"],"names":["ScreenSpinner","props","style","className","restProps","platform","defaultProps","size"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;;;AAMA,IAAMA,aAA2C,GAAG,SAA9CA,aAA8C,CAClDC,KADkD,EAE/C;AACH,MAAQC,KAAR,GAA2CD,KAA3C,CAAQC,KAAR;AAAA,MAAeC,SAAf,GAA2CF,KAA3C,CAAeE,SAAf;AAAA,MAA6BC,SAA7B,0CAA2CH,KAA3C;AACA,MAAMI,QAAQ,GAAG,+BAAjB;AAEA,SACE,qCAAC,4BAAD;AACE,IAAA,OAAO,EAAE,KADX;AAEE,IAAA,SAAS,EAAE,gCAAa,eAAb,EAA8BA,QAA9B,CAFb;AAGE,IAAA,SAAS,EAAEF,SAHb;AAIE,IAAA,KAAK,EAAED;AAJT,KAME;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAgDE,SAAhD,EADF,CANF,CADF;AAYD,CAlBD;;AAoBAJ,aAAa,CAACM,YAAd,GAA6B;AAC3BC,EAAAA,IAAI,EAAE,OADqB;AAE3B,gBAAc;AAFa,CAA7B,C,CAKA;;eACeP,a","sourcesContent":["import * as React from \"react\";\nimport Spinner, { SpinnerProps } from \"../Spinner/Spinner\";\nimport { PopoutWrapper } from \"../PopoutWrapper/PopoutWrapper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./ScreenSpinner.css\";\n\nexport type ScreenSpinnerProps = React.HTMLAttributes<HTMLDivElement> &\n SpinnerProps;\n\nconst ScreenSpinner: React.FC<ScreenSpinnerProps> = (\n props: ScreenSpinnerProps\n) => {\n const { style, className, ...restProps } = props;\n const platform = usePlatform();\n\n return (\n <PopoutWrapper\n hasMask={false}\n vkuiClass={getClassName(\"ScreenSpinner\", platform)}\n className={className}\n style={style}\n >\n <div vkuiClass=\"ScreenSpinner__container\">\n <Spinner vkuiClass=\"ScreenSpinner__spinner\" {...restProps} />\n </div>\n </PopoutWrapper>\n );\n};\n\nScreenSpinner.defaultProps = {\n size: \"large\",\n \"aria-label\": \"Пожалуйста, подождите...\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default ScreenSpinner;\n"],"file":"ScreenSpinner.js"}
1
+ {"version":3,"sources":["../../../../src/components/ScreenSpinner/ScreenSpinner.tsx"],"names":["ScreenSpinner","props","style","className","restProps","platform","defaultProps","size"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAMA,IAAMA,aAA2C,GAAG,SAA9CA,aAA8C,CAClDC,KADkD,EAE/C;AACH,MAAQC,KAAR,GAA2CD,KAA3C,CAAQC,KAAR;AAAA,MAAeC,SAAf,GAA2CF,KAA3C,CAAeE,SAAf;AAAA,MAA6BC,SAA7B,0CAA2CH,KAA3C;AACA,MAAMI,QAAQ,GAAG,+BAAjB;AAEA;AAEA,SACE,qCAAC,4BAAD;AACE,IAAA,OAAO,EAAE,KADX;AAEE,IAAA,SAAS,EAAE,gCAAa,eAAb,EAA8BA,QAA9B,CAFb;AAGE,IAAA,SAAS,EAAEF,SAHb;AAIE,IAAA,KAAK,EAAED;AAJT,KAME;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAgDE,SAAhD,EADF,CANF,CADF;AAYD,CApBD;;AAsBAJ,aAAa,CAACM,YAAd,GAA6B;AAC3BC,EAAAA,IAAI,EAAE,OADqB;AAE3B,gBAAc;AAFa,CAA7B,C,CAKA;;eACeP,a","sourcesContent":["import * as React from \"react\";\nimport Spinner, { SpinnerProps } from \"../Spinner/Spinner\";\nimport { PopoutWrapper } from \"../PopoutWrapper/PopoutWrapper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useScrollLock } from \"../AppRoot/ScrollContext\";\nimport \"./ScreenSpinner.css\";\n\nexport type ScreenSpinnerProps = React.HTMLAttributes<HTMLDivElement> &\n SpinnerProps;\n\nconst ScreenSpinner: React.FC<ScreenSpinnerProps> = (\n props: ScreenSpinnerProps\n) => {\n const { style, className, ...restProps } = props;\n const platform = usePlatform();\n\n useScrollLock();\n\n return (\n <PopoutWrapper\n hasMask={false}\n vkuiClass={getClassName(\"ScreenSpinner\", platform)}\n className={className}\n style={style}\n >\n <div vkuiClass=\"ScreenSpinner__container\">\n <Spinner vkuiClass=\"ScreenSpinner__spinner\" {...restProps} />\n </div>\n </PopoutWrapper>\n );\n};\n\nScreenSpinner.defaultProps = {\n size: \"large\",\n \"aria-label\": \"Пожалуйста, подождите...\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default ScreenSpinner;\n"],"file":"ScreenSpinner.js"}
@@ -3,4 +3,4 @@ import { CustomSelectProps } from "../CustomSelect/CustomSelect";
3
3
  import { AdaptivityContextInterface, AdaptivityProps } from "../AdaptivityProvider/AdaptivityContext";
4
4
  export interface SelectProps extends CustomSelectProps, AdaptivityProps {
5
5
  }
6
- export declare const Select: React.FC<Pick<SelectProps & AdaptivityContextInterface, "platform" | "required" | "disabled" | "hidden" | "dir" | "form" | "slot" | "style" | "title" | "color" | "size" | "icon" | "after" | "multiple" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "name" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "value" | "autoFocus" | "autoComplete" | "align" | "getRootRef" | "getRef" | "onOpen" | "onClose" | "options" | "popupDirection" | "multiline" | "onInputChange" | "selectType" | "fetching" | "searchable" | "emptyText" | "filterFn" | "renderOption" | "renderDropdown" | "dropdownOffsetDistance" | "fixDropdownWidth" | "forceDropdownPortal"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
6
+ export declare const Select: React.FC<Pick<SelectProps & AdaptivityContextInterface, "platform" | "required" | "disabled" | "hidden" | "dir" | "form" | "slot" | "style" | "title" | "color" | "size" | "icon" | "after" | "multiple" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "name" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "value" | "autoFocus" | "autoComplete" | "align" | "getRootRef" | "getRef" | "onOpen" | "onClose" | "before" | "options" | "popupDirection" | "multiline" | "onInputChange" | "selectType" | "fetching" | "searchable" | "emptyText" | "filterFn" | "renderOption" | "renderDropdown" | "dropdownOffsetDistance" | "fixDropdownWidth" | "forceDropdownPortal"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
@@ -11,7 +11,7 @@ var _jsxRuntime = require("../../lib/jsxRuntime");
11
11
 
12
12
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
13
 
14
- var _NativeSelect = _interopRequireDefault(require("../NativeSelect/NativeSelect"));
14
+ var _NativeSelect = require("../NativeSelect/NativeSelect");
15
15
 
16
16
  var _CustomSelect = require("../CustomSelect/CustomSelect");
17
17
 
@@ -38,7 +38,7 @@ var SelectComponent = function SelectComponent(_ref) {
38
38
  popupDirection = props.popupDirection,
39
39
  renderOption = props.renderOption,
40
40
  restProps = (0, _objectWithoutProperties2.default)(props, _excluded3);
41
- return (0, _jsxRuntime.createScopedElement)(_NativeSelect.default, restProps, options.map(function (_ref2) {
41
+ return (0, _jsxRuntime.createScopedElement)(_NativeSelect.NativeSelect, restProps, options.map(function (_ref2) {
42
42
  var label = _ref2.label,
43
43
  value = _ref2.value;
44
44
  return (0, _jsxRuntime.createScopedElement)("option", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Select/Select.tsx"],"names":["SelectComponent","hasMouse","props","children","restProps","options","popupDirection","renderOption","map","label","value","Select"],"mappings":";;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;AAQA,IAAMA,eAAmE,GAAG,SAAtEA,eAAsE,OAGzD;AAAA,MAFjBC,QAEiB,QAFjBA,QAEiB;AAAA,MADdC,KACc;;AACjB;AACA,MAAID,QAAJ,EAAc;AACZ,QAAQE,QAAR,GAAmCD,KAAnC,CAAQC,QAAR;AAAA,QAAqBC,UAArB,0CAAmCF,KAAnC;;AAEA,WAAO,qCAAC,0BAAD,EAAkBE,UAAlB,CAAP;AACD;;AAED,uBAAqEF,KAArE,CAAQG,OAAR;AAAA,MAAQA,OAAR,+BAAkB,EAAlB;AAAA,MAAsBC,cAAtB,GAAqEJ,KAArE,CAAsBI,cAAtB;AAAA,MAAsCC,YAAtC,GAAqEL,KAArE,CAAsCK,YAAtC;AAAA,MAAuDH,SAAvD,0CAAqEF,KAArE;AAEA,SACE,qCAAC,qBAAD,EAAkBE,SAAlB,EACGC,OAAO,CAACG,GAAR,CAAY;AAAA,QAAGC,KAAH,SAAGA,KAAH;AAAA,QAAUC,KAAV,SAAUA,KAAV;AAAA,WACX;AAAQ,MAAA,KAAK,EAAEA,KAAf;AAAsB,MAAA,GAAG,YAAKA,KAAL;AAAzB,OACGD,KADH,CADW;AAAA,GAAZ,CADH,CADF;AASD,CAtBD;;AAwBO,IAAME,MAAM,GAAG,oCAAeX,eAAf,EAAgC;AACpDC,EAAAA,QAAQ,EAAE;AAD0C,CAAhC,CAAf","sourcesContent":["import * as React from \"react\";\nimport NativeSelect from \"../NativeSelect/NativeSelect\";\nimport { CustomSelect, CustomSelectProps } from \"../CustomSelect/CustomSelect\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\n\nexport interface SelectProps extends CustomSelectProps, AdaptivityProps {}\n\nconst SelectComponent: React.FC<SelectProps & AdaptivityContextInterface> = ({\n hasMouse,\n ...props\n}: SelectProps) => {\n // Use custom select if device has connected a mouse\n if (hasMouse) {\n const { children, ...restProps } = props;\n\n return <CustomSelect {...restProps} />;\n }\n\n const { options = [], popupDirection, renderOption, ...restProps } = props;\n\n return (\n <NativeSelect {...restProps}>\n {options.map(({ label, value }) => (\n <option value={value} key={`${value}`}>\n {label}\n </option>\n ))}\n </NativeSelect>\n );\n};\n\nexport const Select = withAdaptivity(SelectComponent, {\n hasMouse: true,\n});\n"],"file":"Select.js"}
1
+ {"version":3,"sources":["../../../../src/components/Select/Select.tsx"],"names":["SelectComponent","hasMouse","props","children","restProps","options","popupDirection","renderOption","map","label","value","Select"],"mappings":";;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;AAQA,IAAMA,eAAmE,GAAG,SAAtEA,eAAsE,OAGzD;AAAA,MAFjBC,QAEiB,QAFjBA,QAEiB;AAAA,MADdC,KACc;;AACjB;AACA,MAAID,QAAJ,EAAc;AACZ,QAAQE,QAAR,GAAmCD,KAAnC,CAAQC,QAAR;AAAA,QAAqBC,UAArB,0CAAmCF,KAAnC;;AAEA,WAAO,qCAAC,0BAAD,EAAkBE,UAAlB,CAAP;AACD;;AAED,uBAAqEF,KAArE,CAAQG,OAAR;AAAA,MAAQA,OAAR,+BAAkB,EAAlB;AAAA,MAAsBC,cAAtB,GAAqEJ,KAArE,CAAsBI,cAAtB;AAAA,MAAsCC,YAAtC,GAAqEL,KAArE,CAAsCK,YAAtC;AAAA,MAAuDH,SAAvD,0CAAqEF,KAArE;AAEA,SACE,qCAAC,0BAAD,EAAkBE,SAAlB,EACGC,OAAO,CAACG,GAAR,CAAY;AAAA,QAAGC,KAAH,SAAGA,KAAH;AAAA,QAAUC,KAAV,SAAUA,KAAV;AAAA,WACX;AAAQ,MAAA,KAAK,EAAEA,KAAf;AAAsB,MAAA,GAAG,YAAKA,KAAL;AAAzB,OACGD,KADH,CADW;AAAA,GAAZ,CADH,CADF;AASD,CAtBD;;AAwBO,IAAME,MAAM,GAAG,oCAAeX,eAAf,EAAgC;AACpDC,EAAAA,QAAQ,EAAE;AAD0C,CAAhC,CAAf","sourcesContent":["import * as React from \"react\";\nimport { NativeSelect } from \"../NativeSelect/NativeSelect\";\nimport { CustomSelect, CustomSelectProps } from \"../CustomSelect/CustomSelect\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\n\nexport interface SelectProps extends CustomSelectProps, AdaptivityProps {}\n\nconst SelectComponent: React.FC<SelectProps & AdaptivityContextInterface> = ({\n hasMouse,\n ...props\n}: SelectProps) => {\n // Use custom select if device has connected a mouse\n if (hasMouse) {\n const { children, ...restProps } = props;\n\n return <CustomSelect {...restProps} />;\n }\n\n const { options = [], popupDirection, renderOption, ...restProps } = props;\n\n return (\n <NativeSelect {...restProps}>\n {options.map(({ label, value }) => (\n <option value={value} key={`${value}`}>\n {label}\n </option>\n ))}\n </NativeSelect>\n );\n};\n\nexport const Select = withAdaptivity(SelectComponent, {\n hasMouse: true,\n});\n"],"file":"Select.js"}
@@ -1,14 +1,14 @@
1
1
  import * as React from "react";
2
+ import { FormFieldProps } from "../FormField/FormField";
2
3
  import { HasAlign, HasRootRef } from "../../types";
3
4
  import { AdaptivityProps } from "../../hoc/withAdaptivity";
4
5
  import { SelectType } from "../CustomSelect/CustomSelect";
5
6
  import "../Select/Select.css";
6
7
  import "./SelectMimicry.css";
7
- export interface SelectMimicryProps extends React.HTMLAttributes<HTMLElement>, HasAlign, HasRootRef<HTMLElement>, AdaptivityProps {
8
+ export interface SelectMimicryProps extends React.HTMLAttributes<HTMLElement>, HasAlign, HasRootRef<HTMLElement>, AdaptivityProps, Pick<FormFieldProps, "before" | "after"> {
8
9
  multiline?: boolean;
9
10
  disabled?: boolean;
10
- after?: React.ReactNode;
11
11
  selectType?: SelectType;
12
12
  }
13
- declare const _default: React.FC<Pick<SelectMimicryProps, "disabled" | "hidden" | "dir" | "slot" | "style" | "title" | "color" | "after" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "align" | "getRootRef" | "multiline" | "selectType"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
13
+ declare const _default: React.FC<Pick<SelectMimicryProps, "disabled" | "hidden" | "dir" | "slot" | "style" | "title" | "color" | "after" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "align" | "getRootRef" | "before" | "multiline" | "selectType"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
14
14
  export default _default;
@@ -35,7 +35,7 @@ var _platform = require("../../lib/platform");
35
35
 
36
36
  var _CustomSelect = require("../CustomSelect/CustomSelect");
37
37
 
38
- var _excluded = ["tabIndex", "placeholder", "children", "align", "getRootRef", "multiline", "disabled", "onClick", "sizeX", "sizeY", "after", "selectType"];
38
+ var _excluded = ["tabIndex", "placeholder", "children", "align", "getRootRef", "multiline", "disabled", "onClick", "sizeX", "sizeY", "before", "after", "selectType"];
39
39
 
40
40
  var SelectMimicry = function SelectMimicry(_ref) {
41
41
  var _classNames;
@@ -50,6 +50,7 @@ var SelectMimicry = function SelectMimicry(_ref) {
50
50
  onClick = _ref.onClick,
51
51
  sizeX = _ref.sizeX,
52
52
  sizeY = _ref.sizeY,
53
+ before = _ref.before,
53
54
  _ref$after = _ref.after,
54
55
  after = _ref$after === void 0 ? (0, _jsxRuntime.createScopedElement)(_DropdownIcon.DropdownIcon, null) : _ref$after,
55
56
  _ref$selectType = _ref.selectType,
@@ -67,6 +68,7 @@ var SelectMimicry = function SelectMimicry(_ref) {
67
68
  getRootRef: getRootRef,
68
69
  onClick: disabled ? undefined : onClick,
69
70
  disabled: disabled,
71
+ before: before,
70
72
  after: after
71
73
  }), (0, _jsxRuntime.createScopedElement)(TypographyComponent, {
72
74
  Component: "div",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SelectMimicry/SelectMimicry.tsx"],"names":["SelectMimicry","tabIndex","placeholder","children","align","getRootRef","multiline","disabled","onClick","sizeX","sizeY","after","selectType","SelectType","Default","restProps","platform","TypographyComponent","VKCOM","SizeType","COMPACT","Text","Headline","undefined","Plain","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAEA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAeA,IAAMA,aAA0D,GAAG,SAA7DA,aAA6D,OAczC;AAAA;;AAAA,MAbxBC,QAawB,QAbxBA,QAawB;AAAA,MAZxBC,WAYwB,QAZxBA,WAYwB;AAAA,MAXxBC,QAWwB,QAXxBA,QAWwB;AAAA,MAVxBC,KAUwB,QAVxBA,KAUwB;AAAA,MATxBC,UASwB,QATxBA,UASwB;AAAA,MARxBC,SAQwB,QARxBA,SAQwB;AAAA,MAPxBC,QAOwB,QAPxBA,QAOwB;AAAA,MANxBC,OAMwB,QANxBA,OAMwB;AAAA,MALxBC,KAKwB,QALxBA,KAKwB;AAAA,MAJxBC,KAIwB,QAJxBA,KAIwB;AAAA,wBAHxBC,KAGwB;AAAA,MAHxBA,KAGwB,2BAHhB,qCAAC,0BAAD,OAGgB;AAAA,6BAFxBC,UAEwB;AAAA,MAFxBA,UAEwB,gCAFXC,yBAAWC,OAEA;AAAA,MADrBC,SACqB;AACxB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,MAAMC,mBAAmB,GACvBD,QAAQ,KAAKE,eAAb,IAAsBR,KAAK,KAAKS,yBAASC,OAAzC,GAAmDC,aAAnD,GAA0DC,iBAD5D;AAGA,SACE,qCAAC,oBAAD,6BACMP,SADN;AAEE,IAAA,QAAQ,EAAER,QAAQ,GAAGgB,SAAH,GAAetB,QAFnC,CAGE;AAHF;AAIE,IAAA,SAAS,EAAE,6BACT,gCAAa,QAAb,EAAuBe,QAAvB,CADS,EAET,iBAFS,4BAGUJ,UAHV;AAKP,8BAAwB,CAACT,QALlB;AAMP,2BAAqBG;AANd,0EAOWF,KAPX,GAOqB,CAAC,CAACA,KAPvB,uEAQYK,KARZ,GAQsB,CAAC,CAACA,KARxB,uEASYC,KATZ,GASsB,CAAC,CAACA,KATxB,gBAJb;AAgBE,IAAA,UAAU,EAAEL,UAhBd;AAiBE,IAAA,OAAO,EAAEE,QAAQ,GAAGgB,SAAH,GAAef,OAjBlC;AAkBE,IAAA,QAAQ,EAAED,QAlBZ;AAmBE,IAAA,KAAK,EAAEI;AAnBT,MAqBE,qCAAC,mBAAD;AACE,IAAA,SAAS,EAAC,KADZ;AAEE,IAAA,MAAM,EAAEC,UAAU,KAAKC,yBAAWW,KAA1B,GAAkC,UAAlC,GAA+C,SAFzD;AAGE,IAAA,SAAS,EAAE,6BACT,mBADS,+BAEaZ,UAFb;AAHb,KAQE;AAAM,IAAA,SAAS,EAAC;AAAhB,KAAiCT,QAAQ,IAAID,WAA7C,CARF,CArBF,CADF;AAkCD,CAtDD;;AAwDAF,aAAa,CAACyB,YAAd,GAA6B;AAC3BxB,EAAAA,QAAQ,EAAE;AADiB,CAA7B,C,CAIA;;eACe,oCAAeD,aAAf,EAA8B;AAC3CS,EAAAA,KAAK,EAAE,IADoC;AAE3CC,EAAAA,KAAK,EAAE;AAFoC,CAA9B,C","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { FormField } from \"../FormField/FormField\";\nimport { HasAlign, HasRootRef } from \"../../types\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Text from \"../Typography/Text/Text\";\nimport { VKCOM } from \"../../lib/platform\";\nimport { SelectType } from \"../CustomSelect/CustomSelect\";\nimport \"../Select/Select.css\";\nimport \"./SelectMimicry.css\";\n\nexport interface SelectMimicryProps\n extends React.HTMLAttributes<HTMLElement>,\n HasAlign,\n HasRootRef<HTMLElement>,\n AdaptivityProps {\n multiline?: boolean;\n disabled?: boolean;\n after?: React.ReactNode;\n selectType?: SelectType;\n}\n\nconst SelectMimicry: React.FunctionComponent<SelectMimicryProps> = ({\n tabIndex,\n placeholder,\n children,\n align,\n getRootRef,\n multiline,\n disabled,\n onClick,\n sizeX,\n sizeY,\n after = <DropdownIcon />,\n selectType = SelectType.Default,\n ...restProps\n}: SelectMimicryProps) => {\n const platform = usePlatform();\n\n const TypographyComponent =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <FormField\n {...restProps}\n tabIndex={disabled ? undefined : tabIndex}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"Select\", platform),\n \"Select--mimicry\",\n `Select--mimicry-${selectType}`,\n {\n \"Select--not-selected\": !children,\n \"Select--multiline\": multiline,\n [`Select--align-${align}`]: !!align,\n [`Select--sizeX--${sizeX}`]: !!sizeX,\n [`Select--sizeY--${sizeY}`]: !!sizeY,\n }\n )}\n getRootRef={getRootRef}\n onClick={disabled ? undefined : onClick}\n disabled={disabled}\n after={after}\n >\n <TypographyComponent\n Component=\"div\"\n weight={selectType === SelectType.Plain ? \"semibold\" : \"regular\"}\n vkuiClass={classNames(\n \"Select__container\",\n `Select__container--${selectType}`\n )}\n >\n <span vkuiClass=\"Select__title\">{children || placeholder}</span>\n </TypographyComponent>\n </FormField>\n );\n};\n\nSelectMimicry.defaultProps = {\n tabIndex: 0,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(SelectMimicry, {\n sizeX: true,\n sizeY: true,\n});\n"],"file":"SelectMimicry.js"}
1
+ {"version":3,"sources":["../../../../src/components/SelectMimicry/SelectMimicry.tsx"],"names":["SelectMimicry","tabIndex","placeholder","children","align","getRootRef","multiline","disabled","onClick","sizeX","sizeY","before","after","selectType","SelectType","Default","restProps","platform","TypographyComponent","VKCOM","SizeType","COMPACT","Text","Headline","undefined","Plain","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAEA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAeA,IAAMA,aAA0D,GAAG,SAA7DA,aAA6D,OAezC;AAAA;;AAAA,MAdxBC,QAcwB,QAdxBA,QAcwB;AAAA,MAbxBC,WAawB,QAbxBA,WAawB;AAAA,MAZxBC,QAYwB,QAZxBA,QAYwB;AAAA,MAXxBC,KAWwB,QAXxBA,KAWwB;AAAA,MAVxBC,UAUwB,QAVxBA,UAUwB;AAAA,MATxBC,SASwB,QATxBA,SASwB;AAAA,MARxBC,QAQwB,QARxBA,QAQwB;AAAA,MAPxBC,OAOwB,QAPxBA,OAOwB;AAAA,MANxBC,KAMwB,QANxBA,KAMwB;AAAA,MALxBC,KAKwB,QALxBA,KAKwB;AAAA,MAJxBC,MAIwB,QAJxBA,MAIwB;AAAA,wBAHxBC,KAGwB;AAAA,MAHxBA,KAGwB,2BAHhB,qCAAC,0BAAD,OAGgB;AAAA,6BAFxBC,UAEwB;AAAA,MAFxBA,UAEwB,gCAFXC,yBAAWC,OAEA;AAAA,MADrBC,SACqB;AACxB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,MAAMC,mBAAmB,GACvBD,QAAQ,KAAKE,eAAb,IAAsBT,KAAK,KAAKU,yBAASC,OAAzC,GAAmDC,aAAnD,GAA0DC,iBAD5D;AAGA,SACE,qCAAC,oBAAD,6BACMP,SADN;AAEE,IAAA,QAAQ,EAAET,QAAQ,GAAGiB,SAAH,GAAevB,QAFnC,CAGE;AAHF;AAIE,IAAA,SAAS,EAAE,6BACT,gCAAa,QAAb,EAAuBgB,QAAvB,CADS,EAET,iBAFS,4BAGUJ,UAHV;AAKP,8BAAwB,CAACV,QALlB;AAMP,2BAAqBG;AANd,0EAOWF,KAPX,GAOqB,CAAC,CAACA,KAPvB,uEAQYK,KARZ,GAQsB,CAAC,CAACA,KARxB,uEASYC,KATZ,GASsB,CAAC,CAACA,KATxB,gBAJb;AAgBE,IAAA,UAAU,EAAEL,UAhBd;AAiBE,IAAA,OAAO,EAAEE,QAAQ,GAAGiB,SAAH,GAAehB,OAjBlC;AAkBE,IAAA,QAAQ,EAAED,QAlBZ;AAmBE,IAAA,MAAM,EAAEI,MAnBV;AAoBE,IAAA,KAAK,EAAEC;AApBT,MAsBE,qCAAC,mBAAD;AACE,IAAA,SAAS,EAAC,KADZ;AAEE,IAAA,MAAM,EAAEC,UAAU,KAAKC,yBAAWW,KAA1B,GAAkC,UAAlC,GAA+C,SAFzD;AAGE,IAAA,SAAS,EAAE,6BACT,mBADS,+BAEaZ,UAFb;AAHb,KAQE;AAAM,IAAA,SAAS,EAAC;AAAhB,KAAiCV,QAAQ,IAAID,WAA7C,CARF,CAtBF,CADF;AAmCD,CAxDD;;AA0DAF,aAAa,CAAC0B,YAAd,GAA6B;AAC3BzB,EAAAA,QAAQ,EAAE;AADiB,CAA7B,C,CAIA;;eACe,oCAAeD,aAAf,EAA8B;AAC3CS,EAAAA,KAAK,EAAE,IADoC;AAE3CC,EAAAA,KAAK,EAAE;AAFoC,CAA9B,C","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { FormField, FormFieldProps } from \"../FormField/FormField\";\nimport { HasAlign, HasRootRef } from \"../../types\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Text from \"../Typography/Text/Text\";\nimport { VKCOM } from \"../../lib/platform\";\nimport { SelectType } from \"../CustomSelect/CustomSelect\";\nimport \"../Select/Select.css\";\nimport \"./SelectMimicry.css\";\n\nexport interface SelectMimicryProps\n extends React.HTMLAttributes<HTMLElement>,\n HasAlign,\n HasRootRef<HTMLElement>,\n AdaptivityProps,\n Pick<FormFieldProps, \"before\" | \"after\"> {\n multiline?: boolean;\n disabled?: boolean;\n selectType?: SelectType;\n}\n\nconst SelectMimicry: React.FunctionComponent<SelectMimicryProps> = ({\n tabIndex,\n placeholder,\n children,\n align,\n getRootRef,\n multiline,\n disabled,\n onClick,\n sizeX,\n sizeY,\n before,\n after = <DropdownIcon />,\n selectType = SelectType.Default,\n ...restProps\n}: SelectMimicryProps) => {\n const platform = usePlatform();\n\n const TypographyComponent =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <FormField\n {...restProps}\n tabIndex={disabled ? undefined : tabIndex}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"Select\", platform),\n \"Select--mimicry\",\n `Select--mimicry-${selectType}`,\n {\n \"Select--not-selected\": !children,\n \"Select--multiline\": multiline,\n [`Select--align-${align}`]: !!align,\n [`Select--sizeX--${sizeX}`]: !!sizeX,\n [`Select--sizeY--${sizeY}`]: !!sizeY,\n }\n )}\n getRootRef={getRootRef}\n onClick={disabled ? undefined : onClick}\n disabled={disabled}\n before={before}\n after={after}\n >\n <TypographyComponent\n Component=\"div\"\n weight={selectType === SelectType.Plain ? \"semibold\" : \"regular\"}\n vkuiClass={classNames(\n \"Select__container\",\n `Select__container--${selectType}`\n )}\n >\n <span vkuiClass=\"Select__title\">{children || placeholder}</span>\n </TypographyComponent>\n </FormField>\n );\n};\n\nSelectMimicry.defaultProps = {\n tabIndex: 0,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(SelectMimicry, {\n sizeX: true,\n sizeY: true,\n});\n"],"file":"SelectMimicry.js"}