@vkontakte/vkui 4.26.0 → 4.27.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 (299) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +210 -85
  4. package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +1 -2
  5. package/.cache/ts/src/components/Alert/Alert.d.ts +1 -2
  6. package/.cache/ts/src/components/AppearanceProvider/AppearanceProvider.d.ts +1 -0
  7. package/.cache/ts/src/components/Card/Card.d.ts +1 -2
  8. package/.cache/ts/src/components/CardScroll/CardScroll.d.ts +4 -7
  9. package/.cache/ts/src/components/Chip/Chip.d.ts +2 -2
  10. package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +1 -1
  11. package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +5 -5
  12. package/.cache/ts/src/components/Gradient/Gradient.d.ts +1 -2
  13. package/.cache/ts/src/components/SegmentedControl/SegmentedControl.d.ts +17 -0
  14. package/.cache/ts/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
  15. package/.cache/ts/src/components/SliderSwitch/SliderSwitch.d.ts +6 -2
  16. package/.cache/ts/src/components/SliderSwitch/SliderSwitchButton.d.ts +4 -2
  17. package/.cache/ts/src/components/Switch/Switch.d.ts +3 -2
  18. package/.cache/ts/src/components/Typography/Title/Title.d.ts +4 -1
  19. package/.cache/ts/src/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
  20. package/.cache/ts/src/hooks/usePlatform.d.ts +1 -1
  21. package/.cache/ts/src/index.d.ts +7 -5
  22. package/.cache/ts/src/lib/utils.d.ts +1 -0
  23. package/.cache/ts/src/tokenized/index.d.ts +6 -0
  24. package/VKUI_TOKENS_MIGRATION_GUIDE.md +2 -1
  25. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +1 -2
  26. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +16 -10
  27. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  28. package/dist/cjs/components/Alert/Alert.d.ts +1 -2
  29. package/dist/cjs/components/Alert/Alert.js +12 -12
  30. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  31. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.d.ts +1 -0
  32. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js +29 -2
  33. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  34. package/dist/cjs/components/Banner/Banner.js +1 -1
  35. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  36. package/dist/cjs/components/Button/Button.js +9 -1
  37. package/dist/cjs/components/Button/Button.js.map +1 -1
  38. package/dist/cjs/components/Card/Card.d.ts +1 -2
  39. package/dist/cjs/components/Card/Card.js +4 -8
  40. package/dist/cjs/components/Card/Card.js.map +1 -1
  41. package/dist/cjs/components/CardScroll/CardScroll.d.ts +4 -7
  42. package/dist/cjs/components/CardScroll/CardScroll.js +11 -15
  43. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  44. package/dist/cjs/components/Chip/Chip.d.ts +2 -2
  45. package/dist/cjs/components/Chip/Chip.js +3 -5
  46. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  47. package/dist/cjs/components/ChipsInput/ChipsInput.js +2 -2
  48. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  49. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +1 -1
  50. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +1 -26
  51. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  52. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +5 -5
  53. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  54. package/dist/cjs/components/ContentCard/ContentCard.js +4 -4
  55. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  56. package/dist/cjs/components/Gradient/Gradient.d.ts +1 -2
  57. package/dist/cjs/components/Gradient/Gradient.js +6 -10
  58. package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
  59. package/dist/cjs/components/Header/Header.js +1 -1
  60. package/dist/cjs/components/Header/Header.js.map +1 -1
  61. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +1 -1
  62. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  63. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  64. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  65. package/dist/cjs/components/Placeholder/Placeholder.js +1 -1
  66. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  67. package/dist/cjs/components/Search/Search.js +47 -23
  68. package/dist/cjs/components/Search/Search.js.map +1 -1
  69. package/dist/cjs/components/SegmentedControl/SegmentedControl.d.ts +17 -0
  70. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +116 -0
  71. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -0
  72. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
  73. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +61 -0
  74. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -0
  75. package/dist/cjs/components/SimpleCell/SimpleCell.js +21 -8
  76. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  77. package/dist/cjs/components/SliderSwitch/SliderSwitch.d.ts +6 -2
  78. package/dist/cjs/components/SliderSwitch/SliderSwitch.js +18 -6
  79. package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
  80. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.d.ts +4 -2
  81. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +6 -5
  82. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  83. package/dist/cjs/components/Switch/Switch.d.ts +3 -2
  84. package/dist/cjs/components/Switch/Switch.js +3 -6
  85. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  86. package/dist/cjs/components/Typography/Title/Title.d.ts +4 -1
  87. package/dist/cjs/components/Typography/Title/Title.js +9 -19
  88. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  89. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
  90. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js +37 -0
  91. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -0
  92. package/dist/cjs/hooks/usePlatform.d.ts +1 -1
  93. package/dist/cjs/hooks/usePlatform.js.map +1 -1
  94. package/dist/cjs/index.d.ts +7 -5
  95. package/dist/cjs/index.js +18 -10
  96. package/dist/cjs/index.js.map +1 -1
  97. package/dist/cjs/lib/utils.d.ts +1 -0
  98. package/dist/cjs/lib/utils.js +7 -0
  99. package/dist/cjs/lib/utils.js.map +1 -1
  100. package/dist/cjs/tokenized/index.d.ts +6 -0
  101. package/dist/cjs/tokenized/index.js +24 -0
  102. package/dist/cjs/tokenized/index.js.map +1 -1
  103. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -2
  104. package/dist/components/ActionSheetItem/ActionSheetItem.js +14 -10
  105. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  106. package/dist/components/Alert/Alert.d.ts +1 -2
  107. package/dist/components/Alert/Alert.js +11 -12
  108. package/dist/components/Alert/Alert.js.map +1 -1
  109. package/dist/components/AppearanceProvider/AppearanceProvider.d.ts +1 -0
  110. package/dist/components/AppearanceProvider/AppearanceProvider.js +24 -1
  111. package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  112. package/dist/components/Banner/Banner.js +1 -1
  113. package/dist/components/Banner/Banner.js.map +1 -1
  114. package/dist/components/Button/Button.js +9 -2
  115. package/dist/components/Button/Button.js.map +1 -1
  116. package/dist/components/Card/Card.d.ts +1 -2
  117. package/dist/components/Card/Card.js +3 -9
  118. package/dist/components/Card/Card.js.map +1 -1
  119. package/dist/components/CardScroll/CardScroll.d.ts +4 -7
  120. package/dist/components/CardScroll/CardScroll.js +9 -14
  121. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  122. package/dist/components/Chip/Chip.d.ts +2 -2
  123. package/dist/components/Chip/Chip.js +2 -6
  124. package/dist/components/Chip/Chip.js.map +1 -1
  125. package/dist/components/ChipsInput/ChipsInput.js +1 -1
  126. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  127. package/dist/components/ConfigProvider/ConfigProvider.d.ts +1 -1
  128. package/dist/components/ConfigProvider/ConfigProvider.js +1 -25
  129. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  130. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +5 -5
  131. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  132. package/dist/components/ContentCard/ContentCard.js +3 -3
  133. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  134. package/dist/components/Gradient/Gradient.d.ts +1 -2
  135. package/dist/components/Gradient/Gradient.js +5 -11
  136. package/dist/components/Gradient/Gradient.js.map +1 -1
  137. package/dist/components/Header/Header.js +1 -1
  138. package/dist/components/Header/Header.js.map +1 -1
  139. package/dist/components/ModalCardBase/ModalCardBase.js +2 -2
  140. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  141. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  142. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  143. package/dist/components/Placeholder/Placeholder.js +1 -1
  144. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  145. package/dist/components/Search/Search.js +45 -22
  146. package/dist/components/Search/Search.js.map +1 -1
  147. package/dist/components/SegmentedControl/SegmentedControl.d.ts +17 -0
  148. package/dist/components/SegmentedControl/SegmentedControl.js +94 -0
  149. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -0
  150. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
  151. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +40 -0
  152. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -0
  153. package/dist/components/SimpleCell/SimpleCell.js +21 -9
  154. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  155. package/dist/components/SliderSwitch/SliderSwitch.d.ts +6 -2
  156. package/dist/components/SliderSwitch/SliderSwitch.js +14 -3
  157. package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
  158. package/dist/components/SliderSwitch/SliderSwitchButton.d.ts +4 -2
  159. package/dist/components/SliderSwitch/SliderSwitchButton.js +5 -5
  160. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  161. package/dist/components/Switch/Switch.d.ts +3 -2
  162. package/dist/components/Switch/Switch.js +3 -6
  163. package/dist/components/Switch/Switch.js.map +1 -1
  164. package/dist/components/Typography/Title/Title.d.ts +4 -1
  165. package/dist/components/Typography/Title/Title.js +7 -16
  166. package/dist/components/Typography/Title/Title.js.map +1 -1
  167. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
  168. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js +23 -0
  169. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -0
  170. package/dist/components.css +5 -5
  171. package/dist/components.css.map +1 -1
  172. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +14 -10
  173. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  174. package/dist/cssm/components/Alert/Alert.js +11 -12
  175. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  176. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js +24 -1
  177. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  178. package/dist/cssm/components/Banner/Banner.js +1 -1
  179. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  180. package/dist/cssm/components/Button/Button.js +9 -2
  181. package/dist/cssm/components/Button/Button.js.map +1 -1
  182. package/dist/cssm/components/Card/Card.css +2 -2
  183. package/dist/cssm/components/Card/Card.js +3 -9
  184. package/dist/cssm/components/Card/Card.js.map +1 -1
  185. package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
  186. package/dist/cssm/components/CardScroll/CardScroll.js +9 -14
  187. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  188. package/dist/cssm/components/Chip/Chip.js +2 -6
  189. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  190. package/dist/cssm/components/ChipsInput/ChipsInput.js +1 -1
  191. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  192. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +1 -25
  193. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  194. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  195. package/dist/cssm/components/ContentCard/ContentCard.js +3 -3
  196. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  197. package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
  198. package/dist/cssm/components/Gradient/Gradient.js +5 -11
  199. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  200. package/dist/cssm/components/Header/Header.js +1 -1
  201. package/dist/cssm/components/Header/Header.js.map +1 -1
  202. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +2 -2
  203. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  204. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  205. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  206. package/dist/cssm/components/Placeholder/Placeholder.js +1 -1
  207. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  208. package/dist/cssm/components/Search/Search.js +45 -22
  209. package/dist/cssm/components/Search/Search.js.map +1 -1
  210. package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -0
  211. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +95 -0
  212. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -0
  213. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -0
  214. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +41 -0
  215. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -0
  216. package/dist/cssm/components/SimpleCell/SimpleCell.js +21 -9
  217. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  218. package/dist/cssm/components/SliderSwitch/SliderSwitch.js +14 -3
  219. package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
  220. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +5 -5
  221. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  222. package/dist/cssm/components/Switch/Switch.css +1 -1
  223. package/dist/cssm/components/Switch/Switch.js +3 -6
  224. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  225. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  226. package/dist/cssm/components/Typography/Title/Title.js +7 -16
  227. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  228. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.css +1 -0
  229. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js +24 -0
  230. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -0
  231. package/dist/cssm/hooks/usePlatform.js.map +1 -1
  232. package/dist/cssm/index.js +6 -5
  233. package/dist/cssm/index.js.map +1 -1
  234. package/dist/cssm/lib/utils.js +3 -0
  235. package/dist/cssm/lib/utils.js.map +1 -1
  236. package/dist/cssm/styles/components.css +5 -5
  237. package/dist/cssm/styles/themes.css +1 -1
  238. package/dist/cssm/tokenized/index.js +3 -0
  239. package/dist/cssm/tokenized/index.js.map +1 -1
  240. package/dist/hooks/usePlatform.d.ts +1 -1
  241. package/dist/hooks/usePlatform.js.map +1 -1
  242. package/dist/index.d.ts +7 -5
  243. package/dist/index.js +6 -5
  244. package/dist/index.js.map +1 -1
  245. package/dist/lib/utils.d.ts +1 -0
  246. package/dist/lib/utils.js +3 -0
  247. package/dist/lib/utils.js.map +1 -1
  248. package/dist/tokenized/index.d.ts +6 -0
  249. package/dist/tokenized/index.js +3 -0
  250. package/dist/tokenized/index.js.map +1 -1
  251. package/dist/vkui.css +6 -6
  252. package/dist/vkui.css.map +1 -1
  253. package/package.json +2 -2
  254. package/src/components/ActionSheetItem/ActionSheetItem.tsx +26 -24
  255. package/src/components/Alert/Alert.tsx +5 -7
  256. package/src/components/AppearanceProvider/AppearanceProvider.tsx +25 -1
  257. package/src/components/Banner/Banner.tsx +1 -1
  258. package/src/components/Button/Button.tsx +6 -3
  259. package/src/components/Card/Card.css +41 -0
  260. package/src/components/Card/Card.tsx +2 -9
  261. package/src/components/CardScroll/CardScroll.css +2 -39
  262. package/src/components/CardScroll/CardScroll.tsx +7 -17
  263. package/src/components/CardScroll/Readme.md +3 -2
  264. package/src/components/Chip/Chip.tsx +1 -4
  265. package/src/components/ChipsInput/ChipsInput.tsx +1 -1
  266. package/src/components/ConfigProvider/ConfigProvider.tsx +6 -25
  267. package/src/components/ConfigProvider/ConfigProviderContext.tsx +5 -5
  268. package/src/components/ContentCard/ContentCard.tsx +2 -2
  269. package/src/components/FocusVisible/FocusVisible.css +4 -8
  270. package/src/components/FormItem/Readme.md +14 -2
  271. package/src/components/Gradient/Gradient.tsx +4 -12
  272. package/src/components/Gradient/Readme.md +1 -1
  273. package/src/components/Header/Header.tsx +1 -1
  274. package/src/components/ModalCardBase/ModalCardBase.tsx +2 -2
  275. package/src/components/ModalRoot/Readme.md +1 -1
  276. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +1 -5
  277. package/src/components/Placeholder/Placeholder.tsx +1 -1
  278. package/src/components/Search/Search.tsx +38 -14
  279. package/src/components/SegmentedControl/Readme.md +94 -0
  280. package/src/components/SegmentedControl/SegmentedControl.css +42 -0
  281. package/src/components/SegmentedControl/SegmentedControl.tsx +105 -0
  282. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +30 -0
  283. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +42 -0
  284. package/src/components/SimpleCell/SimpleCell.tsx +10 -6
  285. package/src/components/SliderSwitch/Readme.md +4 -0
  286. package/src/components/SliderSwitch/SliderSwitch.tsx +17 -3
  287. package/src/components/SliderSwitch/SliderSwitchButton.tsx +4 -4
  288. package/src/components/Switch/Switch.css +0 -12
  289. package/src/components/Switch/Switch.tsx +8 -10
  290. package/src/components/Typography/Title/Readme.md +28 -41
  291. package/src/components/Typography/Title/Title.css +22 -13
  292. package/src/components/Typography/Title/Title.tsx +27 -22
  293. package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.css +9 -0
  294. package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.tsx +25 -0
  295. package/src/hooks/usePlatform.ts +1 -1
  296. package/src/index.ts +11 -5
  297. package/src/lib/utils.ts +6 -0
  298. package/src/styles/components.css +3 -0
  299. package/src/tokenized/index.ts +13 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ConfigProvider/ConfigProvider.tsx"],"names":["React","canUseDOM","useDOM","ConfigProviderContext","defaultConfigProviderProps","useIsomorphicLayoutEffect","useObjectMemo","noop","warnOnce","normalizeScheme","Scheme","AppearanceProvider","Platform","warn","useSchemeDetector","node","_scheme","inherit","getScheme","useCallback","undefined","getAttribute","useState","resolvedScheme","setScheme","useEffect","observer","MutationObserver","observe","attributes","attributeFilter","disconnect","deriveAppearance","scheme","SPACE_GRAY","VKCOM_DARK","generateVKUITokensClassName","platform","appearance","tokensPlatform","ANDROID","IOS","VKCOM","ConfigProvider","children","props","config","document","target","body","process","env","NODE_ENV","hasAttribute","setAttribute","removeAttribute","realScheme","derivedAppearance","VKUITokensClassName","classList","add","remove","configContext"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { canUseDOM, useDOM } from \"../../lib/dom\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n defaultConfigProviderProps,\n} from \"./ConfigProviderContext\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useObjectMemo } from \"../../hooks/useObjectMemo\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport {\n normalizeScheme,\n AppearanceScheme,\n Scheme,\n} from \"../../helpers/scheme\";\nimport { AppearanceProvider } from \"../AppearanceProvider/AppearanceProvider\";\nimport { Platform } from \"../../lib/platform\";\n\nexport interface ConfigProviderProps extends ConfigProviderContextInterface {\n /**\n * @deprecated будет удалено в 5.0.0, устанавливать тему следует через appearance\n * Цветовая схема приложения\n */\n scheme?: AppearanceScheme;\n}\n\nconst warn = warnOnce(\"ConfigProvider\");\n\nfunction useSchemeDetector(\n node: HTMLElement | undefined | null,\n _scheme: Scheme | \"inherit\"\n) {\n const inherit = _scheme === \"inherit\";\n const getScheme = React.useCallback(() => {\n if (!inherit || !canUseDOM || !node) {\n return undefined;\n }\n return node.getAttribute(\"scheme\") as Scheme;\n }, [inherit, node]);\n const [resolvedScheme, setScheme] = React.useState(getScheme());\n\n React.useEffect(() => {\n if (!inherit || !node) {\n return noop;\n }\n setScheme(getScheme());\n const observer = new MutationObserver(() => setScheme(getScheme()));\n observer.observe(node, { attributes: true, attributeFilter: [\"scheme\"] });\n return () => observer.disconnect();\n }, [getScheme, inherit, node]);\n\n return _scheme === \"inherit\" ? resolvedScheme : _scheme;\n}\n\nconst deriveAppearance = (scheme: Scheme | undefined): AppearanceType =>\n scheme === Scheme.SPACE_GRAY || scheme === Scheme.VKCOM_DARK\n ? \"dark\"\n : \"light\";\n\nconst generateVKUITokensClassName = (\n platform: string,\n appearance: string\n): string => {\n let tokensPlatform;\n switch (platform) {\n case Platform.ANDROID:\n tokensPlatform = \"vkBase\";\n break;\n case Platform.IOS:\n tokensPlatform = \"vkIOS\";\n break;\n case Platform.VKCOM:\n tokensPlatform = \"vkCom\";\n break;\n default:\n tokensPlatform = platform;\n }\n\n return `vkui--${tokensPlatform}--${appearance}`;\n};\n\nconst ConfigProvider: React.FC<ConfigProviderProps> = ({\n children,\n ...props\n}) => {\n const config = { ...defaultConfigProviderProps, ...props };\n const { platform, appearance } = config;\n const scheme = normalizeScheme({\n scheme: config.scheme,\n platform: platform,\n appearance: appearance,\n });\n const { document } = useDOM();\n const target = document?.body;\n\n useIsomorphicLayoutEffect(() => {\n if (scheme === \"inherit\") {\n return noop;\n }\n if (\n process.env.NODE_ENV === \"development\" &&\n target?.hasAttribute(\"scheme\")\n ) {\n warn(\n '<body scheme> was set before VKUI mount - did you forget scheme=\"inherit\"?'\n );\n }\n target?.setAttribute(\"scheme\", scheme);\n return () => target?.removeAttribute(\"scheme\");\n }, [scheme]);\n\n const realScheme = useSchemeDetector(target, scheme);\n const derivedAppearance = deriveAppearance(realScheme);\n\n useIsomorphicLayoutEffect(() => {\n const VKUITokensClassName = generateVKUITokensClassName(\n platform,\n derivedAppearance\n );\n\n target?.classList.add(VKUITokensClassName);\n\n return () => {\n target?.classList.remove(VKUITokensClassName);\n };\n }, [platform, derivedAppearance]);\n\n const configContext = useObjectMemo({\n appearance: derivedAppearance,\n ...config,\n });\n\n return (\n <ConfigProviderContext.Provider value={configContext}>\n <AppearanceProvider appearance={configContext.appearance}>\n {children}\n </AppearanceProvider>\n </ConfigProviderContext.Provider>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default ConfigProvider;\n"],"file":"ConfigProvider.js"}
1
+ {"version":3,"sources":["../../../src/components/ConfigProvider/ConfigProvider.tsx"],"names":["React","canUseDOM","useDOM","ConfigProviderContext","defaultConfigProviderProps","useIsomorphicLayoutEffect","useObjectMemo","noop","warnOnce","normalizeScheme","Scheme","AppearanceProvider","generateVKUITokensClassName","warn","useSchemeDetector","node","_scheme","inherit","getScheme","useCallback","undefined","getAttribute","useState","resolvedScheme","setScheme","useEffect","observer","MutationObserver","observe","attributes","attributeFilter","disconnect","deriveAppearance","scheme","SPACE_GRAY","VKCOM_DARK","ConfigProvider","children","props","config","platform","appearance","document","target","body","process","env","NODE_ENV","hasAttribute","setAttribute","removeAttribute","realScheme","derivedAppearance","VKUITokensClassName","classList","add","remove","configContext"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { canUseDOM, useDOM } from \"../../lib/dom\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n defaultConfigProviderProps,\n} from \"./ConfigProviderContext\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useObjectMemo } from \"../../hooks/useObjectMemo\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport {\n normalizeScheme,\n AppearanceScheme,\n Scheme,\n} from \"../../helpers/scheme\";\nimport {\n AppearanceProvider,\n generateVKUITokensClassName,\n} from \"../AppearanceProvider/AppearanceProvider\";\n\nexport interface ConfigProviderProps\n extends Partial<ConfigProviderContextInterface> {\n /**\n * @deprecated будет удалено в 5.0.0, устанавливать тему следует через appearance\n * Цветовая схема приложения\n */\n scheme?: AppearanceScheme;\n}\n\nconst warn = warnOnce(\"ConfigProvider\");\n\nfunction useSchemeDetector(\n node: HTMLElement | undefined | null,\n _scheme: Scheme | \"inherit\"\n) {\n const inherit = _scheme === \"inherit\";\n const getScheme = React.useCallback(() => {\n if (!inherit || !canUseDOM || !node) {\n return undefined;\n }\n return node.getAttribute(\"scheme\") as Scheme;\n }, [inherit, node]);\n const [resolvedScheme, setScheme] = React.useState(getScheme());\n\n React.useEffect(() => {\n if (!inherit || !node) {\n return noop;\n }\n setScheme(getScheme());\n const observer = new MutationObserver(() => setScheme(getScheme()));\n observer.observe(node, { attributes: true, attributeFilter: [\"scheme\"] });\n return () => observer.disconnect();\n }, [getScheme, inherit, node]);\n\n return _scheme === \"inherit\" ? resolvedScheme : _scheme;\n}\n\nconst deriveAppearance = (scheme: Scheme | undefined): AppearanceType =>\n scheme === Scheme.SPACE_GRAY || scheme === Scheme.VKCOM_DARK\n ? \"dark\"\n : \"light\";\n\nconst ConfigProvider: React.FC<ConfigProviderProps> = ({\n children,\n ...props\n}) => {\n const config = { ...defaultConfigProviderProps, ...props };\n const { platform, appearance } = config;\n const scheme = normalizeScheme({\n scheme: config.scheme,\n platform: platform,\n appearance: appearance,\n });\n const { document } = useDOM();\n const target = document?.body;\n\n useIsomorphicLayoutEffect(() => {\n if (scheme === \"inherit\") {\n return noop;\n }\n if (\n process.env.NODE_ENV === \"development\" &&\n target?.hasAttribute(\"scheme\")\n ) {\n warn(\n '<body scheme> was set before VKUI mount - did you forget scheme=\"inherit\"?'\n );\n }\n target?.setAttribute(\"scheme\", scheme);\n return () => target?.removeAttribute(\"scheme\");\n }, [scheme]);\n\n const realScheme = useSchemeDetector(target, scheme);\n const derivedAppearance = deriveAppearance(realScheme);\n\n useIsomorphicLayoutEffect(() => {\n const VKUITokensClassName = generateVKUITokensClassName(\n platform,\n derivedAppearance\n );\n\n target?.classList.add(VKUITokensClassName);\n\n return () => {\n target?.classList.remove(VKUITokensClassName);\n };\n }, [platform, derivedAppearance]);\n\n const configContext = useObjectMemo({\n appearance: derivedAppearance,\n ...config,\n });\n\n return (\n <ConfigProviderContext.Provider value={configContext}>\n <AppearanceProvider appearance={configContext.appearance}>\n {children}\n </AppearanceProvider>\n </ConfigProviderContext.Provider>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default ConfigProvider;\n"],"file":"ConfigProvider.js"}
@@ -9,12 +9,12 @@ export interface ConfigProviderContextInterface {
9
9
  /**
10
10
  * Подсказывает приложению, обёрнутому в `ConfigProvider`, где открыто приложение: внутри webview или в мобильном браузере
11
11
  */
12
- isWebView?: boolean;
12
+ isWebView: boolean;
13
13
  /**
14
14
  * Тип вебвью.<br>
15
15
  * В случае `WebviewType.VKAPPS` интерфейс будет адаптирован для отображения в вебвью Mini Apps (системные контролы в правой части шапки)
16
16
  */
17
- webviewType?: WebviewType.INTERNAL | WebviewType.VKAPPS;
17
+ webviewType: WebviewType.INTERNAL | WebviewType.VKAPPS;
18
18
  /**
19
19
  * Тип приложения
20
20
  */
@@ -26,12 +26,12 @@ export interface ConfigProviderContextInterface {
26
26
  /**
27
27
  * Включена ли анимация переходов между экранами в `Root` и `View`
28
28
  */
29
- transitionMotionEnabled?: boolean;
29
+ transitionMotionEnabled: boolean;
30
30
  /**
31
31
  * Платформа
32
32
  */
33
- platform?: PlatformType;
34
- hasNewTokens?: boolean;
33
+ platform: PlatformType;
34
+ hasNewTokens: boolean;
35
35
  }
36
36
  export declare const defaultConfigProviderProps: {
37
37
  webviewType: WebviewType;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ConfigProvider/ConfigProviderContext.tsx"],"names":["React","vkBridge","platform","WebviewType","defaultConfigProviderProps","webviewType","VKAPPS","isWebView","transitionMotionEnabled","hasNewTokens","ConfigProviderContext","createContext"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,QAAP,MAAyC,sBAAzC;AACA,SAAuBC,QAAvB;AAEA,WAAYC,WAAZ;;WAAYA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;GAAAA,W,KAAAA,W;;AAkCZ,OAAO,IAAMC,0BAA0B,GAAG;AACxCC,EAAAA,WAAW,EAAEF,WAAW,CAACG,MADe;AAExCC,EAAAA,SAAS,EAAEN,QAAQ,CAACM,SAAT,EAF6B;AAGxCC,EAAAA,uBAAuB,EAAE,IAHe;AAIxCN,EAAAA,QAAQ,EAAEA,QAAQ,EAJsB;AAKxCO,EAAAA,YAAY,EAAE,KAL0B,CAMxC;AACA;;AAPwC,CAAnC;AAUP,OAAO,IAAMC,qBAAqB,gBAChCV,KAAK,CAACW,aAAN,CACEP,0BADF,CADK","sourcesContent":["import * as React from \"react\";\nimport vkBridge, { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { PlatformType, platform } from \"../../lib/platform\";\n\nexport enum WebviewType {\n VKAPPS = \"vkapps\",\n INTERNAL = \"internal\",\n}\n\nexport interface ConfigProviderContextInterface {\n /**\n * Подсказывает приложению, обёрнутому в `ConfigProvider`, где открыто приложение: внутри webview или в мобильном браузере\n */\n isWebView?: boolean;\n /**\n * Тип вебвью.<br>\n * В случае `WebviewType.VKAPPS` интерфейс будет адаптирован для отображения в вебвью Mini Apps (системные контролы в правой части шапки)\n */\n webviewType?: WebviewType.INTERNAL | WebviewType.VKAPPS;\n /**\n * Тип приложения\n */\n app?: string;\n /**\n * Тип цветовой схемы – `light` или `dark`\n */\n appearance?: AppearanceType;\n /**\n * Включена ли анимация переходов между экранами в `Root` и `View`\n */\n transitionMotionEnabled?: boolean;\n /**\n * Платформа\n */\n platform?: PlatformType;\n hasNewTokens?: boolean;\n}\n\nexport const defaultConfigProviderProps = {\n webviewType: WebviewType.VKAPPS,\n isWebView: vkBridge.isWebView(),\n transitionMotionEnabled: true,\n platform: platform(),\n hasNewTokens: false,\n // appearance is auto-detected by default\n // appearance: Appearance.LIGHT,\n};\n\nexport const ConfigProviderContext =\n React.createContext<ConfigProviderContextInterface>(\n defaultConfigProviderProps\n );\n"],"file":"ConfigProviderContext.js"}
1
+ {"version":3,"sources":["../../../src/components/ConfigProvider/ConfigProviderContext.tsx"],"names":["React","vkBridge","platform","WebviewType","defaultConfigProviderProps","webviewType","VKAPPS","isWebView","transitionMotionEnabled","hasNewTokens","ConfigProviderContext","createContext"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,QAAP,MAAyC,sBAAzC;AACA,SAAuBC,QAAvB;AAEA,WAAYC,WAAZ;;WAAYA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;GAAAA,W,KAAAA,W;;AAkCZ,OAAO,IAAMC,0BAA0B,GAAG;AACxCC,EAAAA,WAAW,EAAEF,WAAW,CAACG,MADe;AAExCC,EAAAA,SAAS,EAAEN,QAAQ,CAACM,SAAT,EAF6B;AAGxCC,EAAAA,uBAAuB,EAAE,IAHe;AAIxCN,EAAAA,QAAQ,EAAEA,QAAQ,EAJsB;AAKxCO,EAAAA,YAAY,EAAE,KAL0B,CAMxC;AACA;;AAPwC,CAAnC;AAUP,OAAO,IAAMC,qBAAqB,gBAChCV,KAAK,CAACW,aAAN,CACEP,0BADF,CADK","sourcesContent":["import * as React from \"react\";\nimport vkBridge, { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { PlatformType, platform } from \"../../lib/platform\";\n\nexport enum WebviewType {\n VKAPPS = \"vkapps\",\n INTERNAL = \"internal\",\n}\n\nexport interface ConfigProviderContextInterface {\n /**\n * Подсказывает приложению, обёрнутому в `ConfigProvider`, где открыто приложение: внутри webview или в мобильном браузере\n */\n isWebView: boolean;\n /**\n * Тип вебвью.<br>\n * В случае `WebviewType.VKAPPS` интерфейс будет адаптирован для отображения в вебвью Mini Apps (системные контролы в правой части шапки)\n */\n webviewType: WebviewType.INTERNAL | WebviewType.VKAPPS;\n /**\n * Тип приложения\n */\n app?: string;\n /**\n * Тип цветовой схемы – `light` или `dark`\n */\n appearance?: AppearanceType;\n /**\n * Включена ли анимация переходов между экранами в `Root` и `View`\n */\n transitionMotionEnabled: boolean;\n /**\n * Платформа\n */\n platform: PlatformType;\n hasNewTokens: boolean;\n}\n\nexport const defaultConfigProviderProps = {\n webviewType: WebviewType.VKAPPS,\n isWebView: vkBridge.isWebView(),\n transitionMotionEnabled: true,\n platform: platform(),\n hasNewTokens: false,\n // appearance is auto-detected by default\n // appearance: Appearance.LIGHT,\n};\n\nexport const ConfigProviderContext =\n React.createContext<ConfigProviderContextInterface>(\n defaultConfigProviderProps\n );\n"],"file":"ConfigProviderContext.js"}
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  var _excluded = ["subtitle", "header", "text", "caption", "className", "mode", "style", "getRootRef", "getRef", "maxHeight", "image", "src", "srcSet", "alt", "width", "height", "crossOrigin", "decoding", "loading", "referrerPolicy", "sizes", "useMap"];
4
4
  import { createScopedElement } from "../../lib/jsxRuntime";
5
- import Card from "../Card/Card";
5
+ import { Card } from "../Card/Card";
6
6
  import Caption from "../Typography/Caption/Caption";
7
7
  import Title from "../Typography/Title/Title";
8
8
  import Text from "../Typography/Text/Text";
@@ -85,8 +85,8 @@ var ContentCard = function ContentCard(props) {
85
85
  level: "3"
86
86
  }, subtitle), hasReactNode(header) && createScopedElement(Title, {
87
87
  vkuiClass: "ContentCard__text",
88
- weight: "semibold",
89
- level: "3"
88
+ weight: "3",
89
+ level: "1"
90
90
  }, header), hasReactNode(text) && createScopedElement(Text, {
91
91
  vkuiClass: "ContentCard__text",
92
92
  weight: "regular"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ContentCard/ContentCard.tsx"],"names":["Card","Caption","Title","Text","Tappable","getClassName","usePlatform","hasReactNode","warnOnce","classNames","warn","ContentCard","props","subtitle","header","text","caption","className","mode","style","getRootRef","getRef","maxHeight","image","src","srcSet","alt","width","height","crossOrigin","decoding","loading","referrerPolicy","sizes","useMap","restProps","platform","source","process","env","NODE_ENV","disabled","onClick","href","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport Card, { CardProps } from \"../Card/Card\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Tappable, { TappableProps } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./ContentCard.css\";\n\nexport interface ContentCardProps\n extends HasRootRef<HTMLDivElement>,\n Omit<TappableProps, \"getRootRef\" | \"crossOrigin\">,\n Omit<\n React.ImgHTMLAttributes<HTMLImageElement>,\n keyof React.HTMLAttributes<HTMLImageElement>\n >,\n HasRef<HTMLImageElement> {\n /**\n Текст над заголовком\n */\n subtitle?: React.ReactNode;\n /**\n Заголовок\n */\n header?: React.ReactNode;\n /**\n Текст\n */\n text?: React.ReactNode;\n /**\n Нижний текст\n */\n caption?: React.ReactNode;\n /**\n @deprecated будет удалено в 5.0.0. Используйте src\n */\n image?: string;\n /**\n Максимальная высота изображения\n */\n maxHeight?: number;\n mode?: CardProps[\"mode\"];\n}\n\nconst warn = warnOnce(\"ContentCard\");\nconst ContentCard: React.FC<ContentCardProps> = (props: ContentCardProps) => {\n const {\n subtitle,\n header,\n text,\n caption,\n // card props\n className,\n mode,\n style,\n getRootRef,\n // img props\n getRef,\n maxHeight,\n image,\n src,\n srcSet,\n alt,\n width,\n height,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n useMap,\n ...restProps\n } = props;\n const platform = usePlatform();\n\n const source = image || src;\n\n if (image && process.env.NODE_ENV === \"development\") {\n warn(\"Свойство image устарело и будет удалено в 5.0.0. Используйте src\");\n }\n\n return (\n <Card\n mode={mode}\n getRootRef={getRootRef}\n vkuiClass={classNames(getClassName(\"ContentCard\", platform), {\n \"ContentCard--disabled\": restProps.disabled,\n })}\n style={style}\n className={className}\n >\n <Tappable\n {...restProps}\n disabled={restProps.disabled || (!restProps.onClick && !restProps.href)}\n hasHover={false}\n hasActive={false}\n vkuiClass=\"ContentCard__tappable\"\n >\n {(source || srcSet) && (\n <img\n ref={getRef}\n vkuiClass=\"ContentCard__img\"\n src={source}\n srcSet={srcSet}\n alt={alt}\n crossOrigin={crossOrigin}\n decoding={decoding}\n loading={loading}\n referrerPolicy={referrerPolicy}\n sizes={sizes}\n useMap={useMap}\n height={height}\n style={{ maxHeight }}\n width=\"100%\"\n />\n )}\n <div vkuiClass=\"ContentCard__body\">\n {hasReactNode(subtitle) && (\n <Caption\n caps\n vkuiClass=\"ContentCard__text\"\n weight=\"semibold\"\n level=\"3\"\n >\n {subtitle}\n </Caption>\n )}\n {hasReactNode(header) && (\n <Title vkuiClass=\"ContentCard__text\" weight=\"semibold\" level=\"3\">\n {header}\n </Title>\n )}\n {hasReactNode(text) && (\n <Text vkuiClass=\"ContentCard__text\" weight=\"regular\">\n {text}\n </Text>\n )}\n {hasReactNode(caption) && (\n <Caption vkuiClass=\"ContentCard__text\" weight=\"regular\" level=\"1\">\n {caption}\n </Caption>\n )}\n </div>\n </Tappable>\n </Card>\n );\n};\n\nContentCard.defaultProps = {\n mode: \"shadow\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default ContentCard;\n"],"file":"ContentCard.js"}
1
+ {"version":3,"sources":["../../../src/components/ContentCard/ContentCard.tsx"],"names":["Card","Caption","Title","Text","Tappable","getClassName","usePlatform","hasReactNode","warnOnce","classNames","warn","ContentCard","props","subtitle","header","text","caption","className","mode","style","getRootRef","getRef","maxHeight","image","src","srcSet","alt","width","height","crossOrigin","decoding","loading","referrerPolicy","sizes","useMap","restProps","platform","source","process","env","NODE_ENV","disabled","onClick","href","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Card, CardProps } from \"../Card/Card\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Tappable, { TappableProps } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./ContentCard.css\";\n\nexport interface ContentCardProps\n extends HasRootRef<HTMLDivElement>,\n Omit<TappableProps, \"getRootRef\" | \"crossOrigin\">,\n Omit<\n React.ImgHTMLAttributes<HTMLImageElement>,\n keyof React.HTMLAttributes<HTMLImageElement>\n >,\n HasRef<HTMLImageElement> {\n /**\n Текст над заголовком\n */\n subtitle?: React.ReactNode;\n /**\n Заголовок\n */\n header?: React.ReactNode;\n /**\n Текст\n */\n text?: React.ReactNode;\n /**\n Нижний текст\n */\n caption?: React.ReactNode;\n /**\n @deprecated будет удалено в 5.0.0. Используйте src\n */\n image?: string;\n /**\n Максимальная высота изображения\n */\n maxHeight?: number;\n mode?: CardProps[\"mode\"];\n}\n\nconst warn = warnOnce(\"ContentCard\");\nconst ContentCard: React.FC<ContentCardProps> = (props: ContentCardProps) => {\n const {\n subtitle,\n header,\n text,\n caption,\n // card props\n className,\n mode,\n style,\n getRootRef,\n // img props\n getRef,\n maxHeight,\n image,\n src,\n srcSet,\n alt,\n width,\n height,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n useMap,\n ...restProps\n } = props;\n const platform = usePlatform();\n\n const source = image || src;\n\n if (image && process.env.NODE_ENV === \"development\") {\n warn(\"Свойство image устарело и будет удалено в 5.0.0. Используйте src\");\n }\n\n return (\n <Card\n mode={mode}\n getRootRef={getRootRef}\n vkuiClass={classNames(getClassName(\"ContentCard\", platform), {\n \"ContentCard--disabled\": restProps.disabled,\n })}\n style={style}\n className={className}\n >\n <Tappable\n {...restProps}\n disabled={restProps.disabled || (!restProps.onClick && !restProps.href)}\n hasHover={false}\n hasActive={false}\n vkuiClass=\"ContentCard__tappable\"\n >\n {(source || srcSet) && (\n <img\n ref={getRef}\n vkuiClass=\"ContentCard__img\"\n src={source}\n srcSet={srcSet}\n alt={alt}\n crossOrigin={crossOrigin}\n decoding={decoding}\n loading={loading}\n referrerPolicy={referrerPolicy}\n sizes={sizes}\n useMap={useMap}\n height={height}\n style={{ maxHeight }}\n width=\"100%\"\n />\n )}\n <div vkuiClass=\"ContentCard__body\">\n {hasReactNode(subtitle) && (\n <Caption\n caps\n vkuiClass=\"ContentCard__text\"\n weight=\"semibold\"\n level=\"3\"\n >\n {subtitle}\n </Caption>\n )}\n {hasReactNode(header) && (\n <Title vkuiClass=\"ContentCard__text\" weight=\"3\" level=\"1\">\n {header}\n </Title>\n )}\n {hasReactNode(text) && (\n <Text vkuiClass=\"ContentCard__text\" weight=\"regular\">\n {text}\n </Text>\n )}\n {hasReactNode(caption) && (\n <Caption vkuiClass=\"ContentCard__text\" weight=\"regular\" level=\"1\">\n {caption}\n </Caption>\n )}\n </div>\n </Tappable>\n </Card>\n );\n};\n\nContentCard.defaultProps = {\n mode: \"shadow\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default ContentCard;\n"],"file":"ContentCard.js"}
@@ -4,5 +4,4 @@ export interface GradientProps extends React.HTMLAttributes<HTMLDivElement> {
4
4
  mode?: "tint" | "white" | "black";
5
5
  to?: "top" | "bottom";
6
6
  }
7
- declare const Gradient: React.FunctionComponent<GradientProps>;
8
- export default Gradient;
7
+ export declare const Gradient: React.FC<GradientProps>;
@@ -3,11 +3,12 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
3
3
  var _excluded = ["mode", "children", "to"];
4
4
  import { createScopedElement } from "../../lib/jsxRuntime";
5
5
  import { classNames } from "../../lib/classNames";
6
-
7
- var Gradient = function Gradient(_ref) {
8
- var mode = _ref.mode,
6
+ export var Gradient = function Gradient(_ref) {
7
+ var _ref$mode = _ref.mode,
8
+ mode = _ref$mode === void 0 ? "tint" : _ref$mode,
9
9
  children = _ref.children,
10
- to = _ref.to,
10
+ _ref$to = _ref.to,
11
+ to = _ref$to === void 0 ? "top" : _ref$to,
11
12
  restProps = _objectWithoutProperties(_ref, _excluded);
12
13
 
13
14
  return createScopedElement("div", _extends({
@@ -16,11 +17,4 @@ var Gradient = function Gradient(_ref) {
16
17
  vkuiClass: classNames("Gradient", "Gradient--md-".concat(mode), "Gradient--to-".concat(to))
17
18
  }), children);
18
19
  };
19
-
20
- Gradient.defaultProps = {
21
- mode: "tint",
22
- to: "top"
23
- }; // eslint-disable-next-line import/no-default-export
24
-
25
- export default Gradient;
26
20
  //# sourceMappingURL=Gradient.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Gradient/Gradient.tsx"],"names":["classNames","Gradient","mode","children","to","restProps","defaultProps"],"mappings":";;;;AACA,SAASA,UAAT;;AAQA,IAAMC,QAAgD,GAAG,SAAnDA,QAAmD,OAKpC;AAAA,MAJnBC,IAImB,QAJnBA,IAImB;AAAA,MAHnBC,QAGmB,QAHnBA,QAGmB;AAAA,MAFnBC,EAEmB,QAFnBA,EAEmB;AAAA,MADhBC,SACgB;;AACnB,SACE;AACE,IAAA,IAAI,EAAC;AADP,KAEMA,SAFN;AAGE,IAAA,SAAS,EAAEL,UAAU,CACnB,UADmB,yBAEHE,IAFG,0BAGHE,EAHG;AAHvB,MASGD,QATH,CADF;AAaD,CAnBD;;AAqBAF,QAAQ,CAACK,YAAT,GAAwB;AACtBJ,EAAAA,IAAI,EAAE,MADgB;AAEtBE,EAAAA,EAAE,EAAE;AAFkB,CAAxB,C,CAKA;;AACA,eAAeH,QAAf","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./Gradient.css\";\n\nexport interface GradientProps extends React.HTMLAttributes<HTMLDivElement> {\n mode?: \"tint\" | \"white\" | \"black\";\n to?: \"top\" | \"bottom\";\n}\n\nconst Gradient: React.FunctionComponent<GradientProps> = ({\n mode,\n children,\n to,\n ...restProps\n}: GradientProps) => {\n return (\n <div\n role=\"presentation\"\n {...restProps}\n vkuiClass={classNames(\n \"Gradient\",\n `Gradient--md-${mode}`,\n `Gradient--to-${to}`\n )}\n >\n {children}\n </div>\n );\n};\n\nGradient.defaultProps = {\n mode: \"tint\",\n to: \"top\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Gradient;\n"],"file":"Gradient.js"}
1
+ {"version":3,"sources":["../../../src/components/Gradient/Gradient.tsx"],"names":["classNames","Gradient","mode","children","to","restProps"],"mappings":";;;;AACA,SAASA,UAAT;AAQA,OAAO,IAAMC,QAAiC,GAAG,SAApCA,QAAoC,OAK3C;AAAA,uBAJJC,IAII;AAAA,MAJJA,IAII,0BAJG,MAIH;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,qBAFJC,EAEI;AAAA,MAFJA,EAEI,wBAFC,KAED;AAAA,MADDC,SACC;;AACJ,SACE;AACE,IAAA,IAAI,EAAC;AADP,KAEMA,SAFN;AAGE,IAAA,SAAS,EAAEL,UAAU,CACnB,UADmB,yBAEHE,IAFG,0BAGHE,EAHG;AAHvB,MASGD,QATH,CADF;AAaD,CAnBM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./Gradient.css\";\n\nexport interface GradientProps extends React.HTMLAttributes<HTMLDivElement> {\n mode?: \"tint\" | \"white\" | \"black\";\n to?: \"top\" | \"bottom\";\n}\n\nexport const Gradient: React.FC<GradientProps> = ({\n mode = \"tint\",\n children,\n to = \"top\",\n ...restProps\n}) => {\n return (\n <div\n role=\"presentation\"\n {...restProps}\n vkuiClass={classNames(\n \"Gradient\",\n `Gradient--md-${mode}`,\n `Gradient--to-${to}`\n )}\n >\n {children}\n </div>\n );\n};\n"],"file":"Gradient.js"}
@@ -26,7 +26,7 @@ var HeaderContent = function HeaderContent(_ref) {
26
26
  case "primary":
27
27
  case "tertiary":
28
28
  return createScopedElement(Title, _extends({
29
- weight: "semibold",
29
+ weight: "1",
30
30
  level: "3"
31
31
  }, restProps));
32
32
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Header/Header.tsx"],"names":["getClassName","classNames","usePlatform","hasReactNode","isPrimitiveReactNode","Platform","Headline","Caption","Title","Text","Subhead","HeaderContent","platform","mode","restProps","IOS","VKCOM","HeaderAside","HeaderSubtitle","Header","children","subtitle","indicator","aside","getRootRef","multiline","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { HasComponent, HasPlatform, HasRootRef } from \"../../types\";\nimport { hasReactNode, isPrimitiveReactNode } from \"../../lib/utils\";\nimport { Platform } from \"../../lib/platform\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport \"./Header.css\";\n\nexport interface HeaderProps\n extends React.HTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement> {\n mode?: \"primary\" | \"secondary\" | \"tertiary\";\n subtitle?: React.ReactNode;\n /**\n * Допускаются иконки, текст, Link\n */\n aside?: React.ReactNode;\n /**\n * Допускаются текст, Indicator\n */\n indicator?: React.ReactNode;\n multiline?: boolean;\n}\n\ntype HeaderContentProps = Pick<HeaderProps, \"children\" | \"mode\"> &\n HasPlatform &\n HasComponent;\n\nconst HeaderContent: React.FC<HeaderContentProps> = ({\n platform,\n mode,\n ...restProps\n}) => {\n if (platform === Platform.IOS) {\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Title weight=\"semibold\" level=\"3\" {...restProps} />;\n case \"secondary\":\n return <Caption level=\"1\" weight=\"semibold\" caps {...restProps} />;\n }\n }\n\n if (platform === Platform.VKCOM) {\n switch (mode) {\n case \"primary\":\n return <Headline weight=\"regular\" {...restProps} />;\n case \"secondary\":\n case \"tertiary\":\n return <Caption level=\"1\" weight=\"regular\" {...restProps} />;\n }\n }\n\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Headline weight=\"medium\" {...restProps} />;\n case \"secondary\":\n return <Caption level=\"1\" weight=\"medium\" caps {...restProps} />;\n }\n\n return null;\n};\n\ntype HeaderAsideProps = Pick<HeaderProps, \"aside\"> & HasPlatform & HasComponent;\n\nconst HeaderAside: React.FC<HeaderAsideProps> = ({\n platform,\n ...restProps\n}) => {\n return platform === Platform.VKCOM ? (\n <Subhead weight=\"regular\" {...restProps} />\n ) : (\n <Text weight=\"regular\" {...restProps} />\n );\n};\n\ntype HeaderSubtitleProps = Pick<HeaderProps, \"subtitle\" | \"mode\"> &\n HasComponent;\n\nconst HeaderSubtitle: React.FC<HeaderSubtitleProps> = ({\n mode,\n ...restProps\n}) => {\n return mode === \"secondary\" ? (\n <Subhead weight=\"regular\" {...restProps} />\n ) : (\n <Caption weight=\"regular\" level=\"1\" {...restProps} />\n );\n};\n\nconst Header: React.FC<HeaderProps> = ({\n mode,\n children,\n subtitle,\n indicator,\n aside,\n getRootRef,\n multiline,\n ...restProps\n}: HeaderProps) => {\n const platform = usePlatform();\n\n return (\n <header\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n getClassName(\"Header\", platform),\n `Header--mode-${mode}`,\n { \"Header--pi\": isPrimitiveReactNode(indicator) }\n )}\n >\n <div vkuiClass=\"Header__main\">\n <HeaderContent\n vkuiClass=\"Header__content\"\n Component=\"span\"\n mode={mode}\n platform={platform}\n >\n <span\n vkuiClass={classNames(\"Header__content-in\", {\n \"Header__content-in--multiline\": multiline,\n })}\n >\n {children}\n </span>\n {hasReactNode(indicator) && (\n <Caption\n vkuiClass=\"Header__indicator\"\n weight={\n mode === \"primary\" || mode === \"secondary\"\n ? \"medium\"\n : \"regular\"\n }\n level=\"1\"\n >\n {indicator}\n </Caption>\n )}\n </HeaderContent>\n\n {hasReactNode(subtitle) && (\n <HeaderSubtitle vkuiClass=\"Header__subtitle\" Component=\"span\">\n {subtitle}\n </HeaderSubtitle>\n )}\n </div>\n\n {hasReactNode(aside) && (\n <HeaderAside\n vkuiClass=\"Header__aside\"\n Component=\"span\"\n platform={platform}\n >\n {aside}\n </HeaderAside>\n )}\n </header>\n );\n};\n\nHeader.defaultProps = {\n mode: \"primary\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Header;\n"],"file":"Header.js"}
1
+ {"version":3,"sources":["../../../src/components/Header/Header.tsx"],"names":["getClassName","classNames","usePlatform","hasReactNode","isPrimitiveReactNode","Platform","Headline","Caption","Title","Text","Subhead","HeaderContent","platform","mode","restProps","IOS","VKCOM","HeaderAside","HeaderSubtitle","Header","children","subtitle","indicator","aside","getRootRef","multiline","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { HasComponent, HasPlatform, HasRootRef } from \"../../types\";\nimport { hasReactNode, isPrimitiveReactNode } from \"../../lib/utils\";\nimport { Platform } from \"../../lib/platform\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport \"./Header.css\";\n\nexport interface HeaderProps\n extends React.HTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement> {\n mode?: \"primary\" | \"secondary\" | \"tertiary\";\n subtitle?: React.ReactNode;\n /**\n * Допускаются иконки, текст, Link\n */\n aside?: React.ReactNode;\n /**\n * Допускаются текст, Indicator\n */\n indicator?: React.ReactNode;\n multiline?: boolean;\n}\n\ntype HeaderContentProps = Pick<HeaderProps, \"children\" | \"mode\"> &\n HasPlatform &\n HasComponent;\n\nconst HeaderContent: React.FC<HeaderContentProps> = ({\n platform,\n mode,\n ...restProps\n}) => {\n if (platform === Platform.IOS) {\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Title weight=\"1\" level=\"3\" {...restProps} />;\n case \"secondary\":\n return <Caption level=\"1\" weight=\"semibold\" caps {...restProps} />;\n }\n }\n\n if (platform === Platform.VKCOM) {\n switch (mode) {\n case \"primary\":\n return <Headline weight=\"regular\" {...restProps} />;\n case \"secondary\":\n case \"tertiary\":\n return <Caption level=\"1\" weight=\"regular\" {...restProps} />;\n }\n }\n\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Headline weight=\"medium\" {...restProps} />;\n case \"secondary\":\n return <Caption level=\"1\" weight=\"medium\" caps {...restProps} />;\n }\n\n return null;\n};\n\ntype HeaderAsideProps = Pick<HeaderProps, \"aside\"> & HasPlatform & HasComponent;\n\nconst HeaderAside: React.FC<HeaderAsideProps> = ({\n platform,\n ...restProps\n}) => {\n return platform === Platform.VKCOM ? (\n <Subhead weight=\"regular\" {...restProps} />\n ) : (\n <Text weight=\"regular\" {...restProps} />\n );\n};\n\ntype HeaderSubtitleProps = Pick<HeaderProps, \"subtitle\" | \"mode\"> &\n HasComponent;\n\nconst HeaderSubtitle: React.FC<HeaderSubtitleProps> = ({\n mode,\n ...restProps\n}) => {\n return mode === \"secondary\" ? (\n <Subhead weight=\"regular\" {...restProps} />\n ) : (\n <Caption weight=\"regular\" level=\"1\" {...restProps} />\n );\n};\n\nconst Header: React.FC<HeaderProps> = ({\n mode,\n children,\n subtitle,\n indicator,\n aside,\n getRootRef,\n multiline,\n ...restProps\n}: HeaderProps) => {\n const platform = usePlatform();\n\n return (\n <header\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n getClassName(\"Header\", platform),\n `Header--mode-${mode}`,\n { \"Header--pi\": isPrimitiveReactNode(indicator) }\n )}\n >\n <div vkuiClass=\"Header__main\">\n <HeaderContent\n vkuiClass=\"Header__content\"\n Component=\"span\"\n mode={mode}\n platform={platform}\n >\n <span\n vkuiClass={classNames(\"Header__content-in\", {\n \"Header__content-in--multiline\": multiline,\n })}\n >\n {children}\n </span>\n {hasReactNode(indicator) && (\n <Caption\n vkuiClass=\"Header__indicator\"\n weight={\n mode === \"primary\" || mode === \"secondary\"\n ? \"medium\"\n : \"regular\"\n }\n level=\"1\"\n >\n {indicator}\n </Caption>\n )}\n </HeaderContent>\n\n {hasReactNode(subtitle) && (\n <HeaderSubtitle vkuiClass=\"Header__subtitle\" Component=\"span\">\n {subtitle}\n </HeaderSubtitle>\n )}\n </div>\n\n {hasReactNode(aside) && (\n <HeaderAside\n vkuiClass=\"Header__aside\"\n Component=\"span\"\n platform={platform}\n >\n {aside}\n </HeaderAside>\n )}\n </header>\n );\n};\n\nHeader.defaultProps = {\n mode: \"primary\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Header;\n"],"file":"Header.js"}
@@ -10,7 +10,7 @@ import { getClassName } from "../../helpers/getClassName";
10
10
  import { usePlatform } from "../../hooks/usePlatform";
11
11
  import { ViewHeight, ViewWidth, withAdaptivity } from "../../hoc/withAdaptivity";
12
12
  import { PanelHeaderButton } from "../PanelHeaderButton/PanelHeaderButton";
13
- import { IOS } from "../../lib/platform";
13
+ import { ANDROID, IOS } from "../../lib/platform";
14
14
  import ModalDismissButton from "../ModalDismissButton/ModalDismissButton";
15
15
  import { Icon24Dismiss } from "@vkontakte/icons";
16
16
  import { useKeyboard } from "../../hooks/useKeyboard";
@@ -46,7 +46,7 @@ export var ModalCardBase = withAdaptivity(function (_ref) {
46
46
  vkuiClass: "ModalCardBase__icon"
47
47
  }, icon), hasReactNode(header) && createScopedElement(Title, {
48
48
  level: "2",
49
- weight: "semibold",
49
+ weight: platform === ANDROID ? "2" : "1",
50
50
  vkuiClass: "ModalCardBase__header"
51
51
  }, header), hasReactNode(subheader) && createScopedElement(Headline, {
52
52
  weight: "regular",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ModalCardBase/ModalCardBase.tsx"],"names":["hasReactNode","Title","Headline","classNames","getClassName","usePlatform","ViewHeight","ViewWidth","withAdaptivity","PanelHeaderButton","IOS","ModalDismissButton","Icon24Dismiss","useKeyboard","ModalCardBase","getRootRef","icon","header","subheader","children","actions","actionsLayout","viewWidth","hasMouse","viewHeight","onClose","restProps","platform","isDesktop","SMALL_TABLET","MEDIUM","isSoftwareKeyboardOpened","isOpened","canShowCloseBtn","canShowCloseBtnIos"],"mappings":";;;;AACA,SAASA,YAAT;AACA,OAAOC,KAAP;AACA,OAAOC,QAAP;AACA,SAASC,UAAT;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SACEC,UADF,EAEEC,SAFF,EAGEC,cAHF;AAMA,SAASC,iBAAT;AACA,SAASC,GAAT;AACA,OAAOC,kBAAP;AACA,SAASC,aAAT,QAA8B,kBAA9B;AACA,SAASC,WAAT;AAsCA,OAAO,IAAMC,aAAa,GAAGN,cAAc,CAGzC,gBAaM;AAAA,MAZJO,UAYI,QAZJA,UAYI;AAAA,MAXJC,IAWI,QAXJA,IAWI;AAAA,MAVJC,MAUI,QAVJA,MAUI;AAAA,MATJC,SASI,QATJA,SASI;AAAA,MARJC,QAQI,QARJA,QAQI;AAAA,MAPJC,OAOI,QAPJA,OAOI;AAAA,MANJC,aAMI,QANJA,aAMI;AAAA,MALJC,SAKI,QALJA,SAKI;AAAA,MAJJC,QAII,QAJJA,QAII;AAAA,MAHJC,UAGI,QAHJA,UAGI;AAAA,MAFJC,OAEI,QAFJA,OAEI;AAAA,MADDC,SACC;;AACJ,MAAMC,QAAQ,GAAGtB,WAAW,EAA5B;AACA,MAAMuB,SAAS,GACbN,SAAS,IAAIf,SAAS,CAACsB,YAAvB,KACCN,QAAQ,IAAIC,UAAU,IAAIlB,UAAU,CAACwB,MADtC,CADF;AAGA,MAAMC,wBAAwB,GAAGlB,WAAW,GAAGmB,QAA/C;AAEA,MAAMC,eAAe,GAAGX,SAAS,IAAIf,SAAS,CAACsB,YAA/C;AACA,MAAMK,kBAAkB,GAAGP,QAAQ,KAAKjB,GAAb,IAAoB,CAACuB,eAAhD;AAEA,SACE,wCACMP,SADN;AAEE,IAAA,SAAS,EAAEvB,UAAU,CAACC,YAAY,CAAC,eAAD,EAAkBuB,QAAlB,CAAb,EAA0C;AAC7D,gCAA0BC;AADmC,KAA1C,CAFvB;AAKE,IAAA,GAAG,EAAEb;AALP,MAOE;AACE,IAAA,SAAS,EAAEZ,UAAU,CAAC,0BAAD,EAA6B;AAChD,0DACE4B;AAF8C,KAA7B;AADvB,KAMG/B,YAAY,CAACgB,IAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCA,IAAtC,CAPJ,EASGhB,YAAY,CAACiB,MAAD,CAAZ,IACC,oBAAC,KAAD;AACE,IAAA,KAAK,EAAC,GADR;AAEE,IAAA,MAAM,EAAC,UAFT;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGA,MALH,CAVJ,EAkBGjB,YAAY,CAACkB,SAAD,CAAZ,IACC,oBAAC,QAAD;AAAU,IAAA,MAAM,EAAC,SAAjB;AAA2B,IAAA,SAAS,EAAC;AAArC,KACGA,SADH,CAnBJ,EAwBGC,QAxBH,EA0BGnB,YAAY,CAACoB,OAAD,CAAZ,IACC;AACE,IAAA,SAAS,EAAEjB,UAAU,CAAC,wBAAD,EAA2B;AAC9C,mCAA6BkB,aAAa,KAAK;AADD,KAA3B;AADvB,KAKGD,OALH,CA3BJ,EAoCGa,eAAe,IAAI,oBAAC,kBAAD;AAAoB,IAAA,OAAO,EAAER;AAA7B,IApCtB,EAqCGS,kBAAkB,IACjB,oBAAC,iBAAD;AAAmB,IAAA,SAAS,EAAC,oBAA7B;AAAkD,IAAA,OAAO,EAAET;AAA3D,KACE,oBAAC,aAAD,OADF,CAtCJ,CAPF,CADF;AAqDD,CA/EwC,EAgFzC;AACEH,EAAAA,SAAS,EAAE,IADb;AAEEE,EAAAA,UAAU,EAAE,IAFd;AAGED,EAAAA,QAAQ,EAAE;AAHZ,CAhFyC,CAApC","sourcesContent":["import * as React from \"react\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Title from \"../Typography/Title/Title\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n ViewHeight,\n ViewWidth,\n withAdaptivity,\n} from \"../../hoc/withAdaptivity\";\nimport { HasRootRef } from \"../../types\";\nimport { PanelHeaderButton } from \"../PanelHeaderButton/PanelHeaderButton\";\nimport { IOS } from \"../../lib/platform\";\nimport ModalDismissButton from \"../ModalDismissButton/ModalDismissButton\";\nimport { Icon24Dismiss } from \"@vkontakte/icons\";\nimport { useKeyboard } from \"../../hooks/useKeyboard\";\nimport { AdaptivityContextInterface } from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./ModalCardBase.css\";\n\nexport interface ModalCardBaseProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * Иконка.\n *\n * Может быть компонентом иконки, например, `<Icon56MoneyTransferOutline />`, или `<Avatar size={72} src=\"\" />`\n */\n icon?: React.ReactNode;\n\n /**\n * Заголовок карточки\n */\n header?: React.ReactNode;\n\n /**\n * Подзаголовок\n */\n subheader?: React.ReactNode;\n\n /**\n * Кнопки-действия.\n *\n * Рекомендуется использовать `<Button size=\"l\" mode=\"primary\" />` или `<Button size=\"l\" mode=\"secondary\" />`\n */\n actions?: React.ReactNode;\n\n /**\n * Тип отображения кнопок: вертикальный или горизонтальный\n */\n actionsLayout?: \"vertical\" | \"horizontal\";\n onClose?: VoidFunction;\n}\n\nexport const ModalCardBase = withAdaptivity<\n ModalCardBaseProps & AdaptivityContextInterface\n>(\n ({\n getRootRef,\n icon,\n header,\n subheader,\n children,\n actions,\n actionsLayout,\n viewWidth,\n hasMouse,\n viewHeight,\n onClose,\n ...restProps\n }) => {\n const platform = usePlatform();\n const isDesktop =\n viewWidth >= ViewWidth.SMALL_TABLET &&\n (hasMouse || viewHeight >= ViewHeight.MEDIUM);\n const isSoftwareKeyboardOpened = useKeyboard().isOpened;\n\n const canShowCloseBtn = viewWidth >= ViewWidth.SMALL_TABLET;\n const canShowCloseBtnIos = platform === IOS && !canShowCloseBtn;\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(getClassName(\"ModalCardBase\", platform), {\n \"ModalCardBase--desktop\": isDesktop,\n })}\n ref={getRootRef}\n >\n <div\n vkuiClass={classNames(\"ModalCardBase__container\", {\n \"ModalCardBase__container--softwareKeyboardOpened\":\n isSoftwareKeyboardOpened,\n })}\n >\n {hasReactNode(icon) && (\n <div vkuiClass=\"ModalCardBase__icon\">{icon}</div>\n )}\n {hasReactNode(header) && (\n <Title\n level=\"2\"\n weight=\"semibold\"\n vkuiClass=\"ModalCardBase__header\"\n >\n {header}\n </Title>\n )}\n {hasReactNode(subheader) && (\n <Headline weight=\"regular\" vkuiClass=\"ModalCardBase__subheader\">\n {subheader}\n </Headline>\n )}\n\n {children}\n\n {hasReactNode(actions) && (\n <div\n vkuiClass={classNames(\"ModalCardBase__actions\", {\n \"ModalCardBase__actions--v\": actionsLayout === \"vertical\",\n })}\n >\n {actions}\n </div>\n )}\n\n {canShowCloseBtn && <ModalDismissButton onClick={onClose} />}\n {canShowCloseBtnIos && (\n <PanelHeaderButton vkuiClass=\"ModalCard__dismiss\" onClick={onClose}>\n <Icon24Dismiss />\n </PanelHeaderButton>\n )}\n </div>\n </div>\n );\n },\n {\n viewWidth: true,\n viewHeight: true,\n hasMouse: true,\n }\n);\n"],"file":"ModalCardBase.js"}
1
+ {"version":3,"sources":["../../../src/components/ModalCardBase/ModalCardBase.tsx"],"names":["hasReactNode","Title","Headline","classNames","getClassName","usePlatform","ViewHeight","ViewWidth","withAdaptivity","PanelHeaderButton","ANDROID","IOS","ModalDismissButton","Icon24Dismiss","useKeyboard","ModalCardBase","getRootRef","icon","header","subheader","children","actions","actionsLayout","viewWidth","hasMouse","viewHeight","onClose","restProps","platform","isDesktop","SMALL_TABLET","MEDIUM","isSoftwareKeyboardOpened","isOpened","canShowCloseBtn","canShowCloseBtnIos"],"mappings":";;;;AACA,SAASA,YAAT;AACA,OAAOC,KAAP;AACA,OAAOC,QAAP;AACA,SAASC,UAAT;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SACEC,UADF,EAEEC,SAFF,EAGEC,cAHF;AAMA,SAASC,iBAAT;AACA,SAASC,OAAT,EAAkBC,GAAlB;AACA,OAAOC,kBAAP;AACA,SAASC,aAAT,QAA8B,kBAA9B;AACA,SAASC,WAAT;AAsCA,OAAO,IAAMC,aAAa,GAAGP,cAAc,CAGzC,gBAaM;AAAA,MAZJQ,UAYI,QAZJA,UAYI;AAAA,MAXJC,IAWI,QAXJA,IAWI;AAAA,MAVJC,MAUI,QAVJA,MAUI;AAAA,MATJC,SASI,QATJA,SASI;AAAA,MARJC,QAQI,QARJA,QAQI;AAAA,MAPJC,OAOI,QAPJA,OAOI;AAAA,MANJC,aAMI,QANJA,aAMI;AAAA,MALJC,SAKI,QALJA,SAKI;AAAA,MAJJC,QAII,QAJJA,QAII;AAAA,MAHJC,UAGI,QAHJA,UAGI;AAAA,MAFJC,OAEI,QAFJA,OAEI;AAAA,MADDC,SACC;;AACJ,MAAMC,QAAQ,GAAGvB,WAAW,EAA5B;AACA,MAAMwB,SAAS,GACbN,SAAS,IAAIhB,SAAS,CAACuB,YAAvB,KACCN,QAAQ,IAAIC,UAAU,IAAInB,UAAU,CAACyB,MADtC,CADF;AAGA,MAAMC,wBAAwB,GAAGlB,WAAW,GAAGmB,QAA/C;AAEA,MAAMC,eAAe,GAAGX,SAAS,IAAIhB,SAAS,CAACuB,YAA/C;AACA,MAAMK,kBAAkB,GAAGP,QAAQ,KAAKjB,GAAb,IAAoB,CAACuB,eAAhD;AAEA,SACE,wCACMP,SADN;AAEE,IAAA,SAAS,EAAExB,UAAU,CAACC,YAAY,CAAC,eAAD,EAAkBwB,QAAlB,CAAb,EAA0C;AAC7D,gCAA0BC;AADmC,KAA1C,CAFvB;AAKE,IAAA,GAAG,EAAEb;AALP,MAOE;AACE,IAAA,SAAS,EAAEb,UAAU,CAAC,0BAAD,EAA6B;AAChD,0DACE6B;AAF8C,KAA7B;AADvB,KAMGhC,YAAY,CAACiB,IAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCA,IAAtC,CAPJ,EASGjB,YAAY,CAACkB,MAAD,CAAZ,IACC,oBAAC,KAAD;AACE,IAAA,KAAK,EAAC,GADR;AAEE,IAAA,MAAM,EAAEU,QAAQ,KAAKlB,OAAb,GAAuB,GAAvB,GAA6B,GAFvC;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGQ,MALH,CAVJ,EAkBGlB,YAAY,CAACmB,SAAD,CAAZ,IACC,oBAAC,QAAD;AAAU,IAAA,MAAM,EAAC,SAAjB;AAA2B,IAAA,SAAS,EAAC;AAArC,KACGA,SADH,CAnBJ,EAwBGC,QAxBH,EA0BGpB,YAAY,CAACqB,OAAD,CAAZ,IACC;AACE,IAAA,SAAS,EAAElB,UAAU,CAAC,wBAAD,EAA2B;AAC9C,mCAA6BmB,aAAa,KAAK;AADD,KAA3B;AADvB,KAKGD,OALH,CA3BJ,EAoCGa,eAAe,IAAI,oBAAC,kBAAD;AAAoB,IAAA,OAAO,EAAER;AAA7B,IApCtB,EAqCGS,kBAAkB,IACjB,oBAAC,iBAAD;AAAmB,IAAA,SAAS,EAAC,oBAA7B;AAAkD,IAAA,OAAO,EAAET;AAA3D,KACE,oBAAC,aAAD,OADF,CAtCJ,CAPF,CADF;AAqDD,CA/EwC,EAgFzC;AACEH,EAAAA,SAAS,EAAE,IADb;AAEEE,EAAAA,UAAU,EAAE,IAFd;AAGED,EAAAA,QAAQ,EAAE;AAHZ,CAhFyC,CAApC","sourcesContent":["import * as React from \"react\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Title from \"../Typography/Title/Title\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n ViewHeight,\n ViewWidth,\n withAdaptivity,\n} from \"../../hoc/withAdaptivity\";\nimport { HasRootRef } from \"../../types\";\nimport { PanelHeaderButton } from \"../PanelHeaderButton/PanelHeaderButton\";\nimport { ANDROID, IOS } from \"../../lib/platform\";\nimport ModalDismissButton from \"../ModalDismissButton/ModalDismissButton\";\nimport { Icon24Dismiss } from \"@vkontakte/icons\";\nimport { useKeyboard } from \"../../hooks/useKeyboard\";\nimport { AdaptivityContextInterface } from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./ModalCardBase.css\";\n\nexport interface ModalCardBaseProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * Иконка.\n *\n * Может быть компонентом иконки, например, `<Icon56MoneyTransferOutline />`, или `<Avatar size={72} src=\"\" />`\n */\n icon?: React.ReactNode;\n\n /**\n * Заголовок карточки\n */\n header?: React.ReactNode;\n\n /**\n * Подзаголовок\n */\n subheader?: React.ReactNode;\n\n /**\n * Кнопки-действия.\n *\n * Рекомендуется использовать `<Button size=\"l\" mode=\"primary\" />` или `<Button size=\"l\" mode=\"secondary\" />`\n */\n actions?: React.ReactNode;\n\n /**\n * Тип отображения кнопок: вертикальный или горизонтальный\n */\n actionsLayout?: \"vertical\" | \"horizontal\";\n onClose?: VoidFunction;\n}\n\nexport const ModalCardBase = withAdaptivity<\n ModalCardBaseProps & AdaptivityContextInterface\n>(\n ({\n getRootRef,\n icon,\n header,\n subheader,\n children,\n actions,\n actionsLayout,\n viewWidth,\n hasMouse,\n viewHeight,\n onClose,\n ...restProps\n }) => {\n const platform = usePlatform();\n const isDesktop =\n viewWidth >= ViewWidth.SMALL_TABLET &&\n (hasMouse || viewHeight >= ViewHeight.MEDIUM);\n const isSoftwareKeyboardOpened = useKeyboard().isOpened;\n\n const canShowCloseBtn = viewWidth >= ViewWidth.SMALL_TABLET;\n const canShowCloseBtnIos = platform === IOS && !canShowCloseBtn;\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(getClassName(\"ModalCardBase\", platform), {\n \"ModalCardBase--desktop\": isDesktop,\n })}\n ref={getRootRef}\n >\n <div\n vkuiClass={classNames(\"ModalCardBase__container\", {\n \"ModalCardBase__container--softwareKeyboardOpened\":\n isSoftwareKeyboardOpened,\n })}\n >\n {hasReactNode(icon) && (\n <div vkuiClass=\"ModalCardBase__icon\">{icon}</div>\n )}\n {hasReactNode(header) && (\n <Title\n level=\"2\"\n weight={platform === ANDROID ? \"2\" : \"1\"}\n vkuiClass=\"ModalCardBase__header\"\n >\n {header}\n </Title>\n )}\n {hasReactNode(subheader) && (\n <Headline weight=\"regular\" vkuiClass=\"ModalCardBase__subheader\">\n {subheader}\n </Headline>\n )}\n\n {children}\n\n {hasReactNode(actions) && (\n <div\n vkuiClass={classNames(\"ModalCardBase__actions\", {\n \"ModalCardBase__actions--v\": actionsLayout === \"vertical\",\n })}\n >\n {actions}\n </div>\n )}\n\n {canShowCloseBtn && <ModalDismissButton onClick={onClose} />}\n {canShowCloseBtnIos && (\n <PanelHeaderButton vkuiClass=\"ModalCard__dismiss\" onClick={onClose}>\n <Icon24Dismiss />\n </PanelHeaderButton>\n )}\n </div>\n </div>\n );\n },\n {\n viewWidth: true,\n viewHeight: true,\n hasMouse: true,\n }\n);\n"],"file":"ModalCardBase.js"}
@@ -21,7 +21,7 @@ var ButtonTypography = function ButtonTypography(_ref) {
21
21
  return createScopedElement(Title, {
22
22
  Component: "span",
23
23
  level: "3",
24
- weight: primary ? "semibold" : "regular"
24
+ weight: primary ? "1" : "3"
25
25
  }, children);
26
26
  }
27
27
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PanelHeaderButton/PanelHeaderButton.tsx"],"names":["Tappable","getClassName","classNames","warnOnce","usePlatform","getTitleFromChildren","isPrimitiveReactNode","IOS","VKCOM","ANDROID","Text","Title","ButtonTypography","primary","children","platform","warn","PanelHeaderButton","label","restProps","isPrimitive","isPrimitiveLabel","hoverMode","activeMode","process","env","NODE_ENV","hasAccessibleName","Boolean","href"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport Tappable, { TappableProps } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getTitleFromChildren, isPrimitiveReactNode } from \"../../lib/utils\";\nimport { IOS, VKCOM, ANDROID } from \"../../lib/platform\";\nimport Text from \"../Typography/Text/Text\";\nimport Title from \"../Typography/Title/Title\";\nimport \"./PanelHeaderButton.css\";\n\nexport interface PanelHeaderButtonProps extends Omit<TappableProps, \"label\"> {\n primary?: boolean;\n label?: React.ReactNode;\n}\n\ninterface ButtonTypographyProps extends React.AllHTMLAttributes<HTMLElement> {\n primary?: PanelHeaderButtonProps[\"primary\"];\n}\n\nconst ButtonTypography: React.FC<ButtonTypographyProps> = ({\n primary,\n children,\n}: ButtonTypographyProps) => {\n const platform = usePlatform();\n\n if (platform === IOS) {\n return (\n <Title\n Component=\"span\"\n level=\"3\"\n weight={primary ? \"semibold\" : \"regular\"}\n >\n {children}\n </Title>\n );\n }\n\n return (\n <Text weight={platform === VKCOM ? \"regular\" : \"medium\"}>{children}</Text>\n );\n};\n\nconst warn = warnOnce(\"PanelHeaderButton\");\nexport const PanelHeaderButton: React.FC<PanelHeaderButtonProps> = ({\n children,\n primary = false,\n label,\n ...restProps\n}: PanelHeaderButtonProps) => {\n const isPrimitive = isPrimitiveReactNode(children);\n const isPrimitiveLabel = isPrimitiveReactNode(label);\n const platform = usePlatform();\n\n let hoverMode;\n let activeMode;\n\n switch (platform) {\n case ANDROID:\n hoverMode = \"background\";\n activeMode = \"background\";\n break;\n case IOS:\n hoverMode = \"background\";\n activeMode = \"opacity\";\n break;\n case VKCOM:\n hoverMode = \"PanelHeaderButton--hover\";\n activeMode = \"PanelHeaderButton--active\";\n }\n\n if (process.env.NODE_ENV === \"development\") {\n const hasAccessibleName = Boolean(\n getTitleFromChildren(children) ||\n getTitleFromChildren(label) ||\n restProps[\"aria-label\"] ||\n restProps[\"aria-labelledby\"]\n );\n\n if (!hasAccessibleName) {\n warn(\n \"a11y: У кнопки нет названия, которое может прочитать скринридер, и она недоступна для части пользователей. Замените содержимое на текст или добавьте описание действия с помощью пропа aria-label.\"\n );\n }\n }\n\n return (\n <Tappable\n {...restProps}\n hoverMode={hoverMode}\n Component={restProps.href ? \"a\" : \"button\"}\n activeEffectDelay={200}\n activeMode={activeMode}\n vkuiClass={classNames(getClassName(\"PanelHeaderButton\", platform), {\n \"PanelHeaderButton--primary\": primary,\n \"PanelHeaderButton--primitive\": isPrimitive,\n \"PanelHeaderButton--notPrimitive\": !isPrimitive && !isPrimitiveLabel,\n })}\n >\n {isPrimitive ? (\n <ButtonTypography primary={primary}>{children}</ButtonTypography>\n ) : (\n children\n )}\n {isPrimitiveLabel ? (\n <ButtonTypography primary={primary}>{label}</ButtonTypography>\n ) : (\n label\n )}\n </Tappable>\n );\n};\n"],"file":"PanelHeaderButton.js"}
1
+ {"version":3,"sources":["../../../src/components/PanelHeaderButton/PanelHeaderButton.tsx"],"names":["Tappable","getClassName","classNames","warnOnce","usePlatform","getTitleFromChildren","isPrimitiveReactNode","IOS","VKCOM","ANDROID","Text","Title","ButtonTypography","primary","children","platform","warn","PanelHeaderButton","label","restProps","isPrimitive","isPrimitiveLabel","hoverMode","activeMode","process","env","NODE_ENV","hasAccessibleName","Boolean","href"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport Tappable, { TappableProps } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getTitleFromChildren, isPrimitiveReactNode } from \"../../lib/utils\";\nimport { IOS, VKCOM, ANDROID } from \"../../lib/platform\";\nimport Text from \"../Typography/Text/Text\";\nimport Title from \"../Typography/Title/Title\";\nimport \"./PanelHeaderButton.css\";\n\nexport interface PanelHeaderButtonProps extends Omit<TappableProps, \"label\"> {\n primary?: boolean;\n label?: React.ReactNode;\n}\n\ninterface ButtonTypographyProps extends React.AllHTMLAttributes<HTMLElement> {\n primary?: PanelHeaderButtonProps[\"primary\"];\n}\n\nconst ButtonTypography: React.FC<ButtonTypographyProps> = ({\n primary,\n children,\n}: ButtonTypographyProps) => {\n const platform = usePlatform();\n\n if (platform === IOS) {\n return (\n <Title Component=\"span\" level=\"3\" weight={primary ? \"1\" : \"3\"}>\n {children}\n </Title>\n );\n }\n\n return (\n <Text weight={platform === VKCOM ? \"regular\" : \"medium\"}>{children}</Text>\n );\n};\n\nconst warn = warnOnce(\"PanelHeaderButton\");\nexport const PanelHeaderButton: React.FC<PanelHeaderButtonProps> = ({\n children,\n primary = false,\n label,\n ...restProps\n}: PanelHeaderButtonProps) => {\n const isPrimitive = isPrimitiveReactNode(children);\n const isPrimitiveLabel = isPrimitiveReactNode(label);\n const platform = usePlatform();\n\n let hoverMode;\n let activeMode;\n\n switch (platform) {\n case ANDROID:\n hoverMode = \"background\";\n activeMode = \"background\";\n break;\n case IOS:\n hoverMode = \"background\";\n activeMode = \"opacity\";\n break;\n case VKCOM:\n hoverMode = \"PanelHeaderButton--hover\";\n activeMode = \"PanelHeaderButton--active\";\n }\n\n if (process.env.NODE_ENV === \"development\") {\n const hasAccessibleName = Boolean(\n getTitleFromChildren(children) ||\n getTitleFromChildren(label) ||\n restProps[\"aria-label\"] ||\n restProps[\"aria-labelledby\"]\n );\n\n if (!hasAccessibleName) {\n warn(\n \"a11y: У кнопки нет названия, которое может прочитать скринридер, и она недоступна для части пользователей. Замените содержимое на текст или добавьте описание действия с помощью пропа aria-label.\"\n );\n }\n }\n\n return (\n <Tappable\n {...restProps}\n hoverMode={hoverMode}\n Component={restProps.href ? \"a\" : \"button\"}\n activeEffectDelay={200}\n activeMode={activeMode}\n vkuiClass={classNames(getClassName(\"PanelHeaderButton\", platform), {\n \"PanelHeaderButton--primary\": primary,\n \"PanelHeaderButton--primitive\": isPrimitive,\n \"PanelHeaderButton--notPrimitive\": !isPrimitive && !isPrimitiveLabel,\n })}\n >\n {isPrimitive ? (\n <ButtonTypography primary={primary}>{children}</ButtonTypography>\n ) : (\n children\n )}\n {isPrimitiveLabel ? (\n <ButtonTypography primary={primary}>{label}</ButtonTypography>\n ) : (\n label\n )}\n </Tappable>\n );\n};\n"],"file":"PanelHeaderButton.js"}
@@ -27,7 +27,7 @@ var Placeholder = function Placeholder(props) {
27
27
  vkuiClass: "Placeholder__icon"
28
28
  }, icon), hasReactNode(header) && createScopedElement(Title, {
29
29
  level: "2",
30
- weight: "medium",
30
+ weight: "2",
31
31
  vkuiClass: "Placeholder__header"
32
32
  }, header), hasReactNode(children) && createScopedElement(Headline, {
33
33
  weight: "regular",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Placeholder/Placeholder.tsx"],"names":["classNames","hasReactNode","Title","Headline","Placeholder","props","icon","header","action","children","stretched","getRootRef","restProps"],"mappings":";;;;AACA,SAASA,UAAT;AACA,SAASC,YAAT;AACA,OAAOC,KAAP;AACA,OAAOC,QAAP;;AAyBA,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,CAACC,KAAD,EAA6B;AAC3E,MACEC,IADF,GAQID,KARJ,CACEC,IADF;AAAA,MAEEC,MAFF,GAQIF,KARJ,CAEEE,MAFF;AAAA,MAGEC,MAHF,GAQIH,KARJ,CAGEG,MAHF;AAAA,MAIEC,QAJF,GAQIJ,KARJ,CAIEI,QAJF;AAAA,MAKEC,SALF,GAQIL,KARJ,CAKEK,SALF;AAAA,MAMEC,UANF,GAQIN,KARJ,CAMEM,UANF;AAAA,MAOKC,SAPL,4BAQIP,KARJ;;AAUA,SACE,wCACMO,SADN;AAEE,IAAA,GAAG,EAAED,UAFP;AAGE,IAAA,SAAS,EAAEX,UAAU,CAAC,aAAD,EAAgB;AACnC,gCAA0BU;AADS,KAAhB;AAHvB,MAOE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGT,YAAY,CAACK,IAAD,CAAZ,IAAsB;AAAK,IAAA,SAAS,EAAC;AAAf,KAAoCA,IAApC,CADzB,EAEGL,YAAY,CAACM,MAAD,CAAZ,IACC,oBAAC,KAAD;AAAO,IAAA,KAAK,EAAC,GAAb;AAAiB,IAAA,MAAM,EAAC,QAAxB;AAAiC,IAAA,SAAS,EAAC;AAA3C,KACGA,MADH,CAHJ,EAOGN,YAAY,CAACQ,QAAD,CAAZ,IACC,oBAAC,QAAD;AAAU,IAAA,MAAM,EAAC,SAAjB;AAA2B,IAAA,SAAS,EAAC;AAArC,KACGA,QADH,CARJ,EAYGR,YAAY,CAACO,MAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCA,MAAtC,CAbJ,CAPF,CADF;AA0BD,CArCD,C,CAuCA;;;AACA,eAAeJ,WAAf","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Title from \"../Typography/Title/Title\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { HasRootRef } from \"../../types\";\nimport \"./Placeholder.css\";\n\nexport interface PlaceholderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * Иконка\n */\n icon?: React.ReactNode;\n /**\n * Заголовок плейсхолдера\n */\n header?: React.ReactNode;\n /**\n * Кнопка действия\n */\n action?: React.ReactNode;\n /**\n * Растягивает плейсхолдер на весь экран, но в таком случае на экране должен быть только плейсхолдер\n */\n stretched?: boolean;\n}\n\nconst Placeholder: React.FC<PlaceholderProps> = (props: PlaceholderProps) => {\n const {\n icon,\n header,\n action,\n children,\n stretched,\n getRootRef,\n ...restProps\n } = props;\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\"Placeholder\", {\n \"Placeholder--stretched\": stretched,\n })}\n >\n <div vkuiClass=\"Placeholder__in\">\n {hasReactNode(icon) && <div vkuiClass=\"Placeholder__icon\">{icon}</div>}\n {hasReactNode(header) && (\n <Title level=\"2\" weight=\"medium\" vkuiClass=\"Placeholder__header\">\n {header}\n </Title>\n )}\n {hasReactNode(children) && (\n <Headline weight=\"regular\" vkuiClass=\"Placeholder__text\">\n {children}\n </Headline>\n )}\n {hasReactNode(action) && (\n <div vkuiClass=\"Placeholder__action\">{action}</div>\n )}\n </div>\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Placeholder;\n"],"file":"Placeholder.js"}
1
+ {"version":3,"sources":["../../../src/components/Placeholder/Placeholder.tsx"],"names":["classNames","hasReactNode","Title","Headline","Placeholder","props","icon","header","action","children","stretched","getRootRef","restProps"],"mappings":";;;;AACA,SAASA,UAAT;AACA,SAASC,YAAT;AACA,OAAOC,KAAP;AACA,OAAOC,QAAP;;AAyBA,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,CAACC,KAAD,EAA6B;AAC3E,MACEC,IADF,GAQID,KARJ,CACEC,IADF;AAAA,MAEEC,MAFF,GAQIF,KARJ,CAEEE,MAFF;AAAA,MAGEC,MAHF,GAQIH,KARJ,CAGEG,MAHF;AAAA,MAIEC,QAJF,GAQIJ,KARJ,CAIEI,QAJF;AAAA,MAKEC,SALF,GAQIL,KARJ,CAKEK,SALF;AAAA,MAMEC,UANF,GAQIN,KARJ,CAMEM,UANF;AAAA,MAOKC,SAPL,4BAQIP,KARJ;;AAUA,SACE,wCACMO,SADN;AAEE,IAAA,GAAG,EAAED,UAFP;AAGE,IAAA,SAAS,EAAEX,UAAU,CAAC,aAAD,EAAgB;AACnC,gCAA0BU;AADS,KAAhB;AAHvB,MAOE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGT,YAAY,CAACK,IAAD,CAAZ,IAAsB;AAAK,IAAA,SAAS,EAAC;AAAf,KAAoCA,IAApC,CADzB,EAEGL,YAAY,CAACM,MAAD,CAAZ,IACC,oBAAC,KAAD;AAAO,IAAA,KAAK,EAAC,GAAb;AAAiB,IAAA,MAAM,EAAC,GAAxB;AAA4B,IAAA,SAAS,EAAC;AAAtC,KACGA,MADH,CAHJ,EAOGN,YAAY,CAACQ,QAAD,CAAZ,IACC,oBAAC,QAAD;AAAU,IAAA,MAAM,EAAC,SAAjB;AAA2B,IAAA,SAAS,EAAC;AAArC,KACGA,QADH,CARJ,EAYGR,YAAY,CAACO,MAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCA,MAAtC,CAbJ,CAPF,CADF;AA0BD,CArCD,C,CAuCA;;;AACA,eAAeJ,WAAf","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Title from \"../Typography/Title/Title\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { HasRootRef } from \"../../types\";\nimport \"./Placeholder.css\";\n\nexport interface PlaceholderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * Иконка\n */\n icon?: React.ReactNode;\n /**\n * Заголовок плейсхолдера\n */\n header?: React.ReactNode;\n /**\n * Кнопка действия\n */\n action?: React.ReactNode;\n /**\n * Растягивает плейсхолдер на весь экран, но в таком случае на экране должен быть только плейсхолдер\n */\n stretched?: boolean;\n}\n\nconst Placeholder: React.FC<PlaceholderProps> = (props: PlaceholderProps) => {\n const {\n icon,\n header,\n action,\n children,\n stretched,\n getRootRef,\n ...restProps\n } = props;\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\"Placeholder\", {\n \"Placeholder--stretched\": stretched,\n })}\n >\n <div vkuiClass=\"Placeholder__in\">\n {hasReactNode(icon) && <div vkuiClass=\"Placeholder__icon\">{icon}</div>}\n {hasReactNode(header) && (\n <Title level=\"2\" weight=\"2\" vkuiClass=\"Placeholder__header\">\n {header}\n </Title>\n )}\n {hasReactNode(children) && (\n <Headline weight=\"regular\" vkuiClass=\"Placeholder__text\">\n {children}\n </Headline>\n )}\n {hasReactNode(action) && (\n <div vkuiClass=\"Placeholder__action\">{action}</div>\n )}\n </div>\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Placeholder;\n"],"file":"Placeholder.js"}
@@ -1,35 +1,62 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["before", "className", "defaultValue", "placeholder", "after", "getRef", "platform", "icon", "onIconClick", "style"];
4
+ var _excluded = ["platform", "children"],
5
+ _excluded2 = ["before", "className", "defaultValue", "placeholder", "after", "getRef", "platform", "icon", "onIconClick", "style"];
5
6
  import { createScopedElement } from "../../lib/jsxRuntime";
6
7
  import * as React from "react";
7
8
  import { classNames } from "../../lib/classNames";
8
9
  import { withPlatform } from "../../hoc/withPlatform";
9
10
  import { getClassName } from "../../helpers/getClassName";
10
11
  import { Icon16SearchOutline, Icon16Clear, Icon24Cancel } from "@vkontakte/icons";
11
- import { IOS, VKCOM } from "../../lib/platform";
12
+ import { IOS, VKCOM, ANDROID } from "../../lib/platform";
12
13
  import { Touch } from "../Touch/Touch";
13
14
  import { noop } from "../../lib/utils";
14
15
  import Text from "../Typography/Text/Text";
15
16
  import Title from "../Typography/Title/Title";
17
+ import Headline from "../Typography/Headline/Headline";
16
18
  import Separator from "../Separator/Separator";
17
19
  import { useExternRef } from "../../hooks/useExternRef";
18
20
  import { useEnsuredControl } from "../../hooks/useEnsuredControl";
19
21
 
20
- var Search = function Search(_ref) {
21
- var before = _ref.before,
22
- className = _ref.className,
23
- defaultValue = _ref.defaultValue,
24
- placeholder = _ref.placeholder,
25
- after = _ref.after,
26
- getRef = _ref.getRef,
27
- platform = _ref.platform,
28
- icon = _ref.icon,
29
- _ref$onIconClick = _ref.onIconClick,
30
- onIconClick = _ref$onIconClick === void 0 ? noop : _ref$onIconClick,
31
- style = _ref.style,
32
- inputProps = _objectWithoutProperties(_ref, _excluded);
22
+ var SearchPlaceholderTypography = function SearchPlaceholderTypography(_ref) {
23
+ var platform = _ref.platform,
24
+ children = _ref.children,
25
+ restProps = _objectWithoutProperties(_ref, _excluded);
26
+
27
+ switch (platform) {
28
+ case IOS:
29
+ return createScopedElement(Title, _extends({}, restProps, {
30
+ level: "3",
31
+ weight: "3"
32
+ }), children);
33
+
34
+ case VKCOM:
35
+ return createScopedElement(Text, _extends({}, restProps, {
36
+ weight: "regular"
37
+ }), children);
38
+
39
+ case ANDROID:
40
+ default:
41
+ return createScopedElement(Headline, _extends({}, restProps, {
42
+ weight: "regular"
43
+ }), children);
44
+ }
45
+ };
46
+
47
+ var Search = function Search(_ref2) {
48
+ var before = _ref2.before,
49
+ className = _ref2.className,
50
+ defaultValue = _ref2.defaultValue,
51
+ placeholder = _ref2.placeholder,
52
+ after = _ref2.after,
53
+ getRef = _ref2.getRef,
54
+ platform = _ref2.platform,
55
+ icon = _ref2.icon,
56
+ _ref2$onIconClick = _ref2.onIconClick,
57
+ onIconClick = _ref2$onIconClick === void 0 ? noop : _ref2$onIconClick,
58
+ style = _ref2.style,
59
+ inputProps = _objectWithoutProperties(_ref2, _excluded2);
33
60
 
34
61
  var inputRef = useExternRef(getRef);
35
62
 
@@ -106,13 +133,9 @@ var Search = function Search(_ref) {
106
133
  vkuiClass: "Search__placeholder"
107
134
  }, createScopedElement("div", {
108
135
  vkuiClass: "Search__placeholder-in"
109
- }, before, platform === VKCOM ? createScopedElement(Text, {
110
- vkuiClass: "Search__placeholder-text",
111
- weight: "regular"
112
- }, placeholder) : createScopedElement(Title, {
136
+ }, before, createScopedElement(SearchPlaceholderTypography, {
113
137
  vkuiClass: "Search__placeholder-text",
114
- level: "3",
115
- weight: "regular"
138
+ platform: platform
116
139
  }, placeholder)), isFocused && platform === IOS && after && createScopedElement("div", {
117
140
  vkuiClass: "Search__after-width"
118
141
  }, after))), createScopedElement("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Search/Search.tsx"],"names":["React","classNames","withPlatform","getClassName","Icon16SearchOutline","Icon16Clear","Icon24Cancel","IOS","VKCOM","Touch","noop","Text","Title","Separator","useExternRef","useEnsuredControl","Search","before","className","defaultValue","placeholder","after","getRef","platform","icon","onIconClick","style","inputProps","inputRef","useState","isFocused","setFocused","value","onChange","onFocus","e","onBlur","onCancel","useCallback","nativeInputValueSetter","Object","getOwnPropertyDescriptor","HTMLInputElement","prototype","set","call","current","ev2","Event","bubbles","dispatchEvent","onIconClickStart","originalEvent","onIconCancelClickStart","preventDefault","focus","defaultProps","autoComplete"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport {\n Icon16SearchOutline,\n Icon16Clear,\n Icon24Cancel,\n} from \"@vkontakte/icons\";\nimport { IOS, VKCOM } from \"../../lib/platform\";\nimport { HasPlatform, HasRef } from \"../../types\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { VKUITouchEvent } from \"../../lib/touch\";\nimport { noop } from \"../../lib/utils\";\nimport Text from \"../Typography/Text/Text\";\nimport Title from \"../Typography/Title/Title\";\nimport Separator from \"../Separator/Separator\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useEnsuredControl } from \"../../hooks/useEnsuredControl\";\nimport \"./Search.css\";\n\nexport type InputRef = (element: HTMLInputElement) => void;\n\nexport interface SearchProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasPlatform {\n /**\n * iOS only. Текст кнопки \"отмена\", которая чистит текстовое поле и убирает фокус.\n */\n after?: React.ReactNode;\n before?: React.ReactNode;\n icon?: React.ReactNode;\n onIconClick?: (e: VKUITouchEvent) => void;\n defaultValue?: string;\n}\n\nconst Search: React.FC<SearchProps> = ({\n before,\n className,\n defaultValue,\n placeholder,\n after,\n getRef,\n platform,\n icon,\n onIconClick = noop,\n style,\n ...inputProps\n}) => {\n const inputRef = useExternRef(getRef);\n const [isFocused, setFocused] = React.useState(false);\n const [value, onChange] = useEnsuredControl(inputProps, { defaultValue });\n\n const onFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true);\n inputProps.onFocus && inputProps.onFocus(e);\n };\n\n const onBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(false);\n inputProps.onBlur && inputProps.onBlur(e);\n };\n\n const onCancel = React.useCallback(() => {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n \"value\"\n )?.set;\n nativeInputValueSetter?.call(inputRef.current, \"\");\n\n const ev2 = new Event(\"input\", { bubbles: true });\n inputRef.current?.dispatchEvent(ev2);\n }, [inputRef]);\n\n const onIconClickStart = React.useCallback(\n (e: TouchEvent) => onIconClick(e.originalEvent),\n [onIconClick]\n );\n\n const onIconCancelClickStart = React.useCallback(\n (e: TouchEvent) => {\n e.originalEvent.preventDefault();\n inputRef.current?.focus();\n onCancel();\n },\n [inputRef, onCancel]\n );\n\n return (\n <div\n vkuiClass={classNames(getClassName(\"Search\", platform), {\n \"Search--focused\": isFocused,\n \"Search--has-value\": !!value,\n \"Search--has-after\": !!after,\n \"Search--has-icon\": !!icon,\n })}\n className={className}\n style={style}\n >\n <div vkuiClass=\"Search__in\">\n <div vkuiClass=\"Search__width\" />\n <label vkuiClass=\"Search__control\">\n <input\n type=\"search\"\n {...inputProps}\n ref={inputRef}\n vkuiClass=\"Search__input\"\n onFocus={onFocus}\n onBlur={onBlur}\n onChange={onChange}\n value={value}\n />\n {platform === IOS && after && (\n <div vkuiClass=\"Search__after-width\">{after}</div>\n )}\n <div vkuiClass=\"Search__placeholder\">\n <div vkuiClass=\"Search__placeholder-in\">\n {before}\n {platform === VKCOM ? (\n <Text vkuiClass=\"Search__placeholder-text\" weight=\"regular\">\n {placeholder}\n </Text>\n ) : (\n <Title\n vkuiClass=\"Search__placeholder-text\"\n level=\"3\"\n weight=\"regular\"\n >\n {placeholder}\n </Title>\n )}\n </div>\n {isFocused && platform === IOS && after && (\n <div vkuiClass=\"Search__after-width\">{after}</div>\n )}\n </div>\n </label>\n <div vkuiClass=\"Search__after\" onClick={onCancel}>\n <div vkuiClass=\"Search__icons\">\n {icon && (\n <Touch onStart={onIconClickStart} vkuiClass=\"Search__icon\">\n {icon}\n </Touch>\n )}\n {!!value && (\n <Touch onStart={onIconCancelClickStart} vkuiClass=\"Search__icon\">\n {platform === IOS ? <Icon16Clear /> : <Icon24Cancel />}\n </Touch>\n )}\n </div>\n {platform === IOS && after && (\n <div vkuiClass=\"Search__after-in\">{after}</div>\n )}\n </div>\n </div>\n {platform === VKCOM && <Separator vkuiClass=\"Search__separator\" wide />}\n </div>\n );\n};\n\nSearch.defaultProps = {\n autoComplete: \"off\",\n defaultValue: \"\",\n placeholder: \"Поиск\",\n after: \"Отмена\",\n before: <Icon16SearchOutline />,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withPlatform(Search);\n"],"file":"Search.js"}
1
+ {"version":3,"sources":["../../../src/components/Search/Search.tsx"],"names":["React","classNames","withPlatform","getClassName","Icon16SearchOutline","Icon16Clear","Icon24Cancel","IOS","VKCOM","ANDROID","Touch","noop","Text","Title","Headline","Separator","useExternRef","useEnsuredControl","SearchPlaceholderTypography","platform","children","restProps","Search","before","className","defaultValue","placeholder","after","getRef","icon","onIconClick","style","inputProps","inputRef","useState","isFocused","setFocused","value","onChange","onFocus","e","onBlur","onCancel","useCallback","nativeInputValueSetter","Object","getOwnPropertyDescriptor","HTMLInputElement","prototype","set","call","current","ev2","Event","bubbles","dispatchEvent","onIconClickStart","originalEvent","onIconCancelClickStart","preventDefault","focus","defaultProps","autoComplete"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport {\n Icon16SearchOutline,\n Icon16Clear,\n Icon24Cancel,\n} from \"@vkontakte/icons\";\nimport { IOS, VKCOM, ANDROID } from \"../../lib/platform\";\nimport { HasPlatform, HasRef } from \"../../types\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { VKUITouchEvent } from \"../../lib/touch\";\nimport { noop } from \"../../lib/utils\";\nimport Text from \"../Typography/Text/Text\";\nimport Title from \"../Typography/Title/Title\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Separator from \"../Separator/Separator\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useEnsuredControl } from \"../../hooks/useEnsuredControl\";\nimport \"./Search.css\";\n\nexport type InputRef = (element: HTMLInputElement) => void;\n\ninterface SearchPlaceholderTypographyProps\n extends HasPlatform,\n React.HTMLAttributes<HTMLElement> {}\n\nconst SearchPlaceholderTypography: React.FC<\n SearchPlaceholderTypographyProps\n> = ({ platform, children, ...restProps }) => {\n switch (platform) {\n case IOS:\n return (\n <Title {...restProps} level=\"3\" weight=\"3\">\n {children}\n </Title>\n );\n case VKCOM:\n return (\n <Text {...restProps} weight=\"regular\">\n {children}\n </Text>\n );\n case ANDROID:\n default:\n return (\n <Headline {...restProps} weight=\"regular\">\n {children}\n </Headline>\n );\n }\n};\n\nexport interface SearchProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasPlatform {\n /**\n * iOS only. Текст кнопки \"отмена\", которая чистит текстовое поле и убирает фокус.\n */\n after?: React.ReactNode;\n before?: React.ReactNode;\n icon?: React.ReactNode;\n onIconClick?: (e: VKUITouchEvent) => void;\n defaultValue?: string;\n}\n\nconst Search: React.FC<SearchProps> = ({\n before,\n className,\n defaultValue,\n placeholder,\n after,\n getRef,\n platform,\n icon,\n onIconClick = noop,\n style,\n ...inputProps\n}) => {\n const inputRef = useExternRef(getRef);\n const [isFocused, setFocused] = React.useState(false);\n const [value, onChange] = useEnsuredControl(inputProps, { defaultValue });\n\n const onFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true);\n inputProps.onFocus && inputProps.onFocus(e);\n };\n\n const onBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(false);\n inputProps.onBlur && inputProps.onBlur(e);\n };\n\n const onCancel = React.useCallback(() => {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n \"value\"\n )?.set;\n nativeInputValueSetter?.call(inputRef.current, \"\");\n\n const ev2 = new Event(\"input\", { bubbles: true });\n inputRef.current?.dispatchEvent(ev2);\n }, [inputRef]);\n\n const onIconClickStart = React.useCallback(\n (e: TouchEvent) => onIconClick(e.originalEvent),\n [onIconClick]\n );\n\n const onIconCancelClickStart = React.useCallback(\n (e: TouchEvent) => {\n e.originalEvent.preventDefault();\n inputRef.current?.focus();\n onCancel();\n },\n [inputRef, onCancel]\n );\n\n return (\n <div\n vkuiClass={classNames(getClassName(\"Search\", platform), {\n \"Search--focused\": isFocused,\n \"Search--has-value\": !!value,\n \"Search--has-after\": !!after,\n \"Search--has-icon\": !!icon,\n })}\n className={className}\n style={style}\n >\n <div vkuiClass=\"Search__in\">\n <div vkuiClass=\"Search__width\" />\n <label vkuiClass=\"Search__control\">\n <input\n type=\"search\"\n {...inputProps}\n ref={inputRef}\n vkuiClass=\"Search__input\"\n onFocus={onFocus}\n onBlur={onBlur}\n onChange={onChange}\n value={value}\n />\n {platform === IOS && after && (\n <div vkuiClass=\"Search__after-width\">{after}</div>\n )}\n <div vkuiClass=\"Search__placeholder\">\n <div vkuiClass=\"Search__placeholder-in\">\n {before}\n <SearchPlaceholderTypography\n vkuiClass=\"Search__placeholder-text\"\n platform={platform}\n >\n {placeholder}\n </SearchPlaceholderTypography>\n </div>\n {isFocused && platform === IOS && after && (\n <div vkuiClass=\"Search__after-width\">{after}</div>\n )}\n </div>\n </label>\n <div vkuiClass=\"Search__after\" onClick={onCancel}>\n <div vkuiClass=\"Search__icons\">\n {icon && (\n <Touch onStart={onIconClickStart} vkuiClass=\"Search__icon\">\n {icon}\n </Touch>\n )}\n {!!value && (\n <Touch onStart={onIconCancelClickStart} vkuiClass=\"Search__icon\">\n {platform === IOS ? <Icon16Clear /> : <Icon24Cancel />}\n </Touch>\n )}\n </div>\n {platform === IOS && after && (\n <div vkuiClass=\"Search__after-in\">{after}</div>\n )}\n </div>\n </div>\n {platform === VKCOM && <Separator vkuiClass=\"Search__separator\" wide />}\n </div>\n );\n};\n\nSearch.defaultProps = {\n autoComplete: \"off\",\n defaultValue: \"\",\n placeholder: \"Поиск\",\n after: \"Отмена\",\n before: <Icon16SearchOutline />,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withPlatform(Search);\n"],"file":"Search.js"}
@@ -0,0 +1,17 @@
1
+ import * as React from "react";
2
+ import { HasRootRef } from "../../types";
3
+ import "./SegmentedControl.css";
4
+ export declare type SegmentedControlValue = string | number | undefined;
5
+ export interface SegmentedControlOptionInterface extends Omit<React.HTMLAttributes<HTMLElement>, "label"> {
6
+ label: React.ReactChild;
7
+ value: SegmentedControlValue;
8
+ }
9
+ export interface SegmentedControlProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange">, HasRootRef<HTMLDivElement> {
10
+ options: SegmentedControlOptionInterface[];
11
+ size?: "m" | "l";
12
+ name?: string;
13
+ onChange?: (value: SegmentedControlValue) => void;
14
+ value?: SegmentedControlValue;
15
+ defaultValue?: SegmentedControlValue;
16
+ }
17
+ export declare const SegmentedControl: React.FC<SegmentedControlProps>;