@vkontakte/vkui 4.22.2 → 4.23.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 (236) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +193 -30
  4. package/.cache/ts/src/components/ActionSheet/ActionSheetContext.d.ts +1 -1
  5. package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +7 -0
  6. package/.cache/ts/src/components/AdaptivityProvider/AdaptivityContext.d.ts +5 -0
  7. package/.cache/ts/src/components/AppRoot/AppRootContext.d.ts +1 -0
  8. package/.cache/ts/src/components/AppRoot/AppRootPortal.d.ts +1 -0
  9. package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +21 -0
  10. package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +8 -0
  11. package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +49 -0
  12. package/.cache/ts/src/components/Footer/Footer.d.ts +3 -3
  13. package/.cache/ts/src/components/HoverPopper/HoverPopper.d.ts +29 -0
  14. package/.cache/ts/src/components/Popper/Popper.d.ts +27 -0
  15. package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +46 -0
  16. package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +49 -0
  17. package/.cache/ts/src/hoc/withAdaptivity.d.ts +1 -0
  18. package/.cache/ts/src/hooks/usePatchChildrenRef.d.ts +6 -0
  19. package/.cache/ts/src/index.d.ts +2 -1
  20. package/.cache/ts/src/unstable/index.d.ts +8 -0
  21. package/dist/cjs/components/ActionSheet/ActionSheet.js +21 -7
  22. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  23. package/dist/cjs/components/ActionSheet/ActionSheetContext.d.ts +1 -1
  24. package/dist/cjs/components/ActionSheet/ActionSheetContext.js.map +1 -1
  25. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -3
  26. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  27. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +7 -0
  28. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +4 -3
  29. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  30. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.d.ts +5 -0
  31. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js +5 -1
  32. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  33. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +10 -5
  34. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  35. package/dist/cjs/components/AppRoot/AppRoot.js +3 -6
  36. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  37. package/dist/cjs/components/AppRoot/AppRootContext.d.ts +1 -0
  38. package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
  39. package/dist/cjs/components/AppRoot/AppRootPortal.d.ts +1 -0
  40. package/dist/cjs/components/AppRoot/AppRootPortal.js +7 -3
  41. package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
  42. package/dist/cjs/components/Cell/Cell.js +3 -1
  43. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  44. package/dist/cjs/components/ClickPopper/ClickPopper.d.ts +21 -0
  45. package/dist/cjs/components/ClickPopper/ClickPopper.js +92 -0
  46. package/dist/cjs/components/ClickPopper/ClickPopper.js.map +1 -0
  47. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +8 -0
  48. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  49. package/dist/cjs/components/Dropdown/Dropdown.d.ts +49 -0
  50. package/dist/cjs/components/Dropdown/Dropdown.js +56 -0
  51. package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -0
  52. package/dist/cjs/components/Footer/Footer.d.ts +3 -3
  53. package/dist/cjs/components/Footer/Footer.js +2 -3
  54. package/dist/cjs/components/Footer/Footer.js.map +1 -1
  55. package/dist/cjs/components/HoverPopper/HoverPopper.d.ts +29 -0
  56. package/dist/cjs/components/HoverPopper/HoverPopper.js +97 -0
  57. package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -0
  58. package/dist/cjs/components/Popper/Popper.d.ts +27 -0
  59. package/dist/cjs/components/Popper/Popper.js +153 -0
  60. package/dist/cjs/components/Popper/Popper.js.map +1 -0
  61. package/dist/cjs/components/RichTooltip/RichTooltip.d.ts +46 -0
  62. package/dist/cjs/components/RichTooltip/RichTooltip.js +47 -0
  63. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -0
  64. package/dist/cjs/components/Tappable/Tappable.js +6 -4
  65. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  66. package/dist/cjs/components/TextTooltip/TextTooltip.d.ts +49 -0
  67. package/dist/cjs/components/TextTooltip/TextTooltip.js +57 -0
  68. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -0
  69. package/dist/cjs/hoc/withAdaptivity.d.ts +1 -0
  70. package/dist/cjs/hoc/withAdaptivity.js +5 -2
  71. package/dist/cjs/hoc/withAdaptivity.js.map +1 -1
  72. package/dist/cjs/hooks/usePatchChildrenRef.d.ts +6 -0
  73. package/dist/cjs/hooks/usePatchChildrenRef.js +38 -0
  74. package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -0
  75. package/dist/cjs/index.d.ts +2 -1
  76. package/dist/cjs/index.js +2 -2
  77. package/dist/cjs/index.js.map +1 -1
  78. package/dist/cjs/unstable/index.d.ts +8 -0
  79. package/dist/cjs/unstable/index.js +32 -0
  80. package/dist/cjs/unstable/index.js.map +1 -1
  81. package/dist/components/ActionSheet/ActionSheet.js +22 -8
  82. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  83. package/dist/components/ActionSheet/ActionSheetContext.d.ts +1 -1
  84. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  85. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -3
  86. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  87. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +7 -0
  88. package/dist/components/ActionSheetItem/ActionSheetItem.js +4 -3
  89. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  90. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +5 -0
  91. package/dist/components/AdaptivityProvider/AdaptivityContext.js +4 -1
  92. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  93. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +11 -6
  94. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  95. package/dist/components/AppRoot/AppRoot.js +3 -6
  96. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  97. package/dist/components/AppRoot/AppRootContext.d.ts +1 -0
  98. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  99. package/dist/components/AppRoot/AppRootPortal.d.ts +1 -0
  100. package/dist/components/AppRoot/AppRootPortal.js +7 -3
  101. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  102. package/dist/components/Cell/Cell.js +3 -1
  103. package/dist/components/Cell/Cell.js.map +1 -1
  104. package/dist/components/ClickPopper/ClickPopper.d.ts +21 -0
  105. package/dist/components/ClickPopper/ClickPopper.js +67 -0
  106. package/dist/components/ClickPopper/ClickPopper.js.map +1 -0
  107. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +8 -0
  108. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  109. package/dist/components/Dropdown/Dropdown.d.ts +49 -0
  110. package/dist/components/Dropdown/Dropdown.js +38 -0
  111. package/dist/components/Dropdown/Dropdown.js.map +1 -0
  112. package/dist/components/Footer/Footer.d.ts +3 -3
  113. package/dist/components/Footer/Footer.js +1 -4
  114. package/dist/components/Footer/Footer.js.map +1 -1
  115. package/dist/components/HoverPopper/HoverPopper.d.ts +29 -0
  116. package/dist/components/HoverPopper/HoverPopper.js +73 -0
  117. package/dist/components/HoverPopper/HoverPopper.js.map +1 -0
  118. package/dist/components/Popper/Popper.d.ts +27 -0
  119. package/dist/components/Popper/Popper.js +127 -0
  120. package/dist/components/Popper/Popper.js.map +1 -0
  121. package/dist/components/RichTooltip/RichTooltip.d.ts +46 -0
  122. package/dist/components/RichTooltip/RichTooltip.js +26 -0
  123. package/dist/components/RichTooltip/RichTooltip.js.map +1 -0
  124. package/dist/components/Tappable/Tappable.js +7 -5
  125. package/dist/components/Tappable/Tappable.js.map +1 -1
  126. package/dist/components/TextTooltip/TextTooltip.d.ts +49 -0
  127. package/dist/components/TextTooltip/TextTooltip.js +34 -0
  128. package/dist/components/TextTooltip/TextTooltip.js.map +1 -0
  129. package/dist/components.css +1 -1
  130. package/dist/components.css.map +1 -1
  131. package/dist/cssm/components/ActionSheet/ActionSheet.js +22 -8
  132. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  133. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  134. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -3
  135. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  136. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +4 -3
  137. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  138. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js +4 -1
  139. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  140. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +11 -6
  141. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  142. package/dist/cssm/components/AppRoot/AppRoot.js +3 -6
  143. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  144. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  145. package/dist/cssm/components/AppRoot/AppRootPortal.js +7 -3
  146. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  147. package/dist/cssm/components/Cell/Cell.js +3 -1
  148. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  149. package/dist/cssm/components/ClickPopper/ClickPopper.js +67 -0
  150. package/dist/cssm/components/ClickPopper/ClickPopper.js.map +1 -0
  151. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  152. package/dist/cssm/components/Dropdown/Dropdown.css +1 -0
  153. package/dist/cssm/components/Dropdown/Dropdown.js +41 -0
  154. package/dist/cssm/components/Dropdown/Dropdown.js.map +1 -0
  155. package/dist/cssm/components/Footer/Footer.js +1 -4
  156. package/dist/cssm/components/Footer/Footer.js.map +1 -1
  157. package/dist/cssm/components/HoverPopper/HoverPopper.js +73 -0
  158. package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -0
  159. package/dist/cssm/components/Popper/Popper.css +1 -0
  160. package/dist/cssm/components/Popper/Popper.js +128 -0
  161. package/dist/cssm/components/Popper/Popper.js.map +1 -0
  162. package/dist/cssm/components/RichTooltip/RichTooltip.css +1 -0
  163. package/dist/cssm/components/RichTooltip/RichTooltip.js +29 -0
  164. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -0
  165. package/dist/cssm/components/Tappable/Tappable.js +7 -5
  166. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  167. package/dist/cssm/components/TextTooltip/TextTooltip.css +1 -0
  168. package/dist/cssm/components/TextTooltip/TextTooltip.js +37 -0
  169. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -0
  170. package/dist/cssm/hoc/withAdaptivity.js +5 -2
  171. package/dist/cssm/hoc/withAdaptivity.js.map +1 -1
  172. package/dist/cssm/hooks/usePatchChildrenRef.js +21 -0
  173. package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -0
  174. package/dist/cssm/index.js +1 -1
  175. package/dist/cssm/index.js.map +1 -1
  176. package/dist/cssm/styles/animations.css +1 -1
  177. package/dist/cssm/styles/common.css +1 -1
  178. package/dist/cssm/styles/components.css +1 -1
  179. package/dist/cssm/styles/unstable.css +1 -1
  180. package/dist/cssm/unstable/index.js +4 -0
  181. package/dist/cssm/unstable/index.js.map +1 -1
  182. package/dist/hoc/withAdaptivity.d.ts +1 -0
  183. package/dist/hoc/withAdaptivity.js +5 -2
  184. package/dist/hoc/withAdaptivity.js.map +1 -1
  185. package/dist/hooks/usePatchChildrenRef.d.ts +6 -0
  186. package/dist/hooks/usePatchChildrenRef.js +21 -0
  187. package/dist/hooks/usePatchChildrenRef.js.map +1 -0
  188. package/dist/index.d.ts +2 -1
  189. package/dist/index.js +1 -1
  190. package/dist/index.js.map +1 -1
  191. package/dist/unstable/index.d.ts +8 -0
  192. package/dist/unstable/index.js +4 -0
  193. package/dist/unstable/index.js.map +1 -1
  194. package/dist/unstable.css +1 -1
  195. package/dist/unstable.css.map +1 -1
  196. package/dist/vkui.css +1 -1
  197. package/dist/vkui.css.map +1 -1
  198. package/package.json +2 -2
  199. package/src/components/ActionSheet/ActionSheet.tsx +16 -9
  200. package/src/components/ActionSheet/ActionSheetContext.ts +1 -1
  201. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +1 -3
  202. package/src/components/ActionSheetItem/ActionSheetItem.tsx +10 -2
  203. package/src/components/AdaptivityProvider/AdaptivityContext.tsx +8 -0
  204. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +8 -6
  205. package/src/components/AdaptivityProvider/Readme.md +3 -3
  206. package/src/components/AppRoot/AppRoot.tsx +4 -5
  207. package/src/components/AppRoot/AppRootContext.ts +1 -0
  208. package/src/components/AppRoot/AppRootPortal.tsx +5 -3
  209. package/src/components/Cell/Cell.tsx +2 -1
  210. package/src/components/ChipsSelect/Readme.md +1 -1
  211. package/src/components/ClickPopper/ClickPopper.tsx +82 -0
  212. package/src/components/ConfigProvider/ConfigProviderContext.tsx +8 -0
  213. package/src/components/Dropdown/Dropdown.css +19 -0
  214. package/src/components/Dropdown/Dropdown.tsx +74 -0
  215. package/src/components/Dropdown/Readme.md +39 -0
  216. package/src/components/Footer/Footer.tsx +6 -4
  217. package/src/components/HoverPopper/HoverPopper.tsx +100 -0
  218. package/src/components/PanelHeader/Readme.md +4 -0
  219. package/src/components/Popper/Popper.css +39 -0
  220. package/src/components/Popper/Popper.tsx +147 -0
  221. package/src/components/Popper/Readme.md +23 -0
  222. package/src/components/RichTooltip/Readme.md +55 -0
  223. package/src/components/RichTooltip/RichTooltip.css +10 -0
  224. package/src/components/RichTooltip/RichTooltip.tsx +70 -0
  225. package/src/components/Tappable/Tappable.tsx +5 -4
  226. package/src/components/TextTooltip/Readme.md +7 -0
  227. package/src/components/TextTooltip/TextTooltip.css +12 -0
  228. package/src/components/TextTooltip/TextTooltip.tsx +76 -0
  229. package/src/components/Tooltip/Readme.md +2 -0
  230. package/src/hoc/withAdaptivity.tsx +5 -1
  231. package/src/hooks/usePatchChildrenRef.ts +24 -0
  232. package/src/index.ts +2 -1
  233. package/src/styles/animations.css +5 -0
  234. package/src/styles/common.css +7 -2
  235. package/src/styles/unstable.css +4 -0
  236. package/src/unstable/index.ts +12 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tappable/Tappable.tsx"],"names":["React","mitt","hasHover","deviceHasHover","noop","Touch","TouchRootContext","classNames","getClassName","ANDROID","getOffsetRect","coordX","coordY","withAdaptivity","shouldTriggerClickOnEnterOrSpace","useIsomorphicLayoutEffect","FocusVisible","useTimeout","useExternRef","usePlatform","ACTIVE_DELAY","ACTIVE_EFFECT_DELAY","activeBus","TapState","none","pending","active","exiting","TappableContext","createContext","onHoverChange","useActivity","hasActive","stopDelay","id","useMemo","Math","round","random","toString","useState","activity","setActivity","_stop","start","delayStart","activeTimeout","stopTimeout","set","clear","emit","onActiveChange","activeId","on","off","stop","delay","Tappable","children","Component","onClick","_onKeyDown","onKeyDown","activeEffectDelay","stopPropagation","getRootRef","sizeX","hasMouse","_hasHover","hoverMode","_hasActive","activeMode","focusVisibleMode","props","href","useContext","insideTouchRoot","platform","clicks","setClicks","childHover","setChildHover","_hovered","setHovered","hovered","disabled","isCustomElement","contentEditable","isPresetHoverMode","includes","isPresetActiveMode","containerRef","childContext","useRef","current","e","preventDefault","click","onStart","originalEvent","touches","length","top","left","x","y","Date","now","onMove","isSlide","onEnd","duration","activeDuraion","classes","handlers","role","undefined","map","wave","filter","c","Wave","onClear","timeout","useEffect"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport mitt from 'mitt';\nimport { hasHover as deviceHasHover, noop } from '@vkontakte/vkjs';\nimport { Touch, TouchEvent, TouchProps } from '../Touch/Touch';\nimport TouchRootContext from '../Touch/TouchContext';\nimport { classNames } from '../../lib/classNames';\nimport { getClassName } from '../../helpers/getClassName';\nimport { ANDROID } from '../../lib/platform';\nimport { getOffsetRect } from '../../lib/offset';\nimport { coordX, coordY } from '../../lib/touch';\nimport { HasComponent, HasRootRef } from '../../types';\nimport { withAdaptivity, AdaptivityProps } from '../../hoc/withAdaptivity';\nimport { shouldTriggerClickOnEnterOrSpace } from '../../lib/accessibility';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { FocusVisible, FocusVisibleMode } from '../FocusVisible/FocusVisible';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport './Tappable.css';\n\nexport interface TappableProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, AdaptivityProps, HasComponent {\n /**\n * Длительность показа active-состояния\n */\n activeEffectDelay?: number;\n stopPropagation?: boolean;\n /**\n * Указывает, должен ли компонент реагировать на hover-состояние\n */\n hasHover?: boolean;\n /**\n * Указывает, должен ли компонент реагировать на active-состояние\n */\n hasActive?: boolean;\n /**\n * Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active\n */\n activeMode?: 'opacity' | 'background' | string;\n /**\n * Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover\n */\n hoverMode?: 'opacity' | 'background' | string;\n /**\n * Стиль аутлайна focus visible.\n */\n focusVisibleMode?: FocusVisibleMode;\n}\n\ninterface Wave {\n x: number;\n y: number;\n id: string;\n}\n\nexport interface RootComponentProps extends TouchProps {\n ref?: React.Ref<HTMLElement>;\n}\n\nexport const ACTIVE_DELAY = 70;\nexport const ACTIVE_EFFECT_DELAY = 600;\n\nconst activeBus = mitt<{ active: string }>();\nconst TapState = { none: 0, pending: 1, active: 2, exiting: 3 } as const;\n\ntype TappableContextInterface = { onHoverChange: (s: boolean) => void };\nconst TappableContext = React.createContext<TappableContextInterface>({ onHoverChange: noop });\n\nfunction useActivity(hasActive: boolean, stopDelay: number) {\n const id = React.useMemo(() => Math.round(Math.random() * 1e8).toString(16), []);\n\n const [activity, setActivity] = React.useState<typeof TapState[keyof typeof TapState]>(TapState.none);\n const _stop = () => setActivity(TapState.none);\n const start = () => hasActive && setActivity(TapState.active);\n const delayStart = () => {\n hasActive && setActivity(TapState.pending);\n };\n\n const activeTimeout = useTimeout(start, ACTIVE_DELAY);\n const stopTimeout = useTimeout(_stop, stopDelay);\n\n useIsomorphicLayoutEffect(() => {\n if (activity === TapState.pending) {\n activeTimeout.set();\n return activeTimeout.clear;\n }\n if (activity === TapState.exiting) {\n return stopTimeout.clear;\n }\n if (activity === TapState.active) {\n activeBus.emit('active', id);\n }\n return noop;\n }, [activity]);\n\n useIsomorphicLayoutEffect(() => {\n if (activity === TapState.none) {\n return noop;\n }\n const onActiveChange = (activeId: string) => {\n activeId !== id && _stop();\n };\n activeBus.on('active', onActiveChange);\n return () => activeBus.off('active', onActiveChange);\n }, [activity === TapState.none]);\n\n useIsomorphicLayoutEffect(() => {\n !hasActive && _stop();\n }, [hasActive]);\n\n const stop = (delay?: number) => {\n if (delay) {\n setActivity(TapState.exiting);\n return stopTimeout.set(delay);\n }\n _stop();\n };\n\n return [activity, { delayStart, start, stop }] as const;\n}\n\nconst Tappable: React.FC<TappableProps> = ({\n children,\n Component,\n onClick,\n onKeyDown: _onKeyDown,\n activeEffectDelay = ACTIVE_EFFECT_DELAY,\n stopPropagation = false,\n getRootRef,\n sizeX,\n hasMouse,\n hasHover: _hasHover = deviceHasHover,\n hoverMode = 'background',\n hasActive: _hasActive = true,\n activeMode = 'background',\n focusVisibleMode = 'inside',\n ...props\n}: TappableProps) => {\n Component = Component || (props.href ? 'a' : 'div') as React.ElementType;\n\n const { onHoverChange } = React.useContext(TappableContext);\n const insideTouchRoot = React.useContext(TouchRootContext);\n const platform = usePlatform();\n\n const [clicks, setClicks] = React.useState<Wave[]>([]);\n const [childHover, setChildHover] = React.useState(false);\n const [_hovered, setHovered] = React.useState(false);\n\n const hovered = _hovered && !props.disabled;\n const hasActive = _hasActive && !childHover && !props.disabled;\n const hasHover = _hasHover && !childHover;\n const isCustomElement = Component !== 'a' && Component !== 'button' && !props.contentEditable;\n const isPresetHoverMode = ['opacity', 'background'].includes(hoverMode);\n const isPresetActiveMode = ['opacity', 'background'].includes(activeMode);\n\n const [activity, { start, stop, delayStart }] = useActivity(hasActive, activeEffectDelay);\n const active = activity === TapState.active || activity === TapState.exiting;\n\n const containerRef = useExternRef(getRootRef);\n\n // hover propagation\n const childContext = React.useRef({ onHoverChange: setChildHover }).current;\n useIsomorphicLayoutEffect(() => {\n if (!hovered) {\n return noop;\n }\n onHoverChange(true);\n return () => onHoverChange(false);\n }, [hovered]);\n\n /*\n * [a11y]\n * Обрабатывает событие onkeydown\n * для кастомных доступных элементов:\n * - role=\"link\" (активация по Enter)\n * - role=\"button\" (активация по Space и Enter)\n */\n function onKeyDown(e: React.KeyboardEvent<HTMLElement>) {\n if (isCustomElement && shouldTriggerClickOnEnterOrSpace(e)) {\n e.preventDefault();\n containerRef.current.click();\n }\n\n if (typeof _onKeyDown === 'function') {\n return _onKeyDown(e);\n }\n }\n\n function onStart({ originalEvent }: TouchEvent) {\n if (hasActive) {\n if (originalEvent.touches && originalEvent.touches.length > 1) {\n // r сожалению я так и не понял, что это делает и можно ли упихнуть его в Touch\n return stop();\n }\n\n if (platform === ANDROID) {\n const { top, left } = getOffsetRect(containerRef.current);\n const x = coordX(originalEvent) - left;\n const y = coordY(originalEvent) - top;\n setClicks([...clicks, { x, y, id: Date.now().toString() }]);\n }\n\n delayStart();\n }\n }\n\n function onMove({ isSlide }: TouchEvent) {\n if (isSlide) {\n stop();\n }\n }\n\n function onEnd({ duration }: TouchEvent) {\n if (activity === TapState.none) {\n return;\n }\n if (activity === TapState.pending) {\n // активировать при коротком тапе\n start();\n }\n\n // отключить без задержки при длинном тапе\n const activeDuraion = duration - ACTIVE_DELAY;\n stop(activeDuraion >= 100 ? 0 : activeEffectDelay - activeDuraion);\n }\n\n const classes = classNames(\n getClassName('Tappable', platform),\n `Tappable--sizeX-${sizeX}`,\n {\n 'Tappable--active': hasActive && active,\n 'Tappable--mouse': hasMouse,\n [`Tappable--hover-${hoverMode}`]: hasHover && hovered && isPresetHoverMode,\n [`Tappable--active-${activeMode}`]: hasActive && active && isPresetActiveMode,\n [hoverMode]: hasHover && hovered && !isPresetHoverMode,\n [activeMode]: hasActive && active && !isPresetActiveMode,\n });\n\n const handlers: RootComponentProps = { onStart, onMove, onEnd, onClick, onKeyDown };\n const role = props.href ? 'link' : 'button';\n\n return (\n <Touch\n onEnter={() => setHovered(true)}\n onLeave={() => setHovered(false)}\n type={Component === 'button' ? 'button' : undefined}\n tabIndex={isCustomElement && !props.disabled ? 0 : undefined}\n role={isCustomElement ? role : undefined}\n aria-disabled={isCustomElement ? props.disabled : null}\n stopPropagation={stopPropagation && !insideTouchRoot && !props.disabled}\n {...props}\n slideThreshold={20}\n usePointerHover\n vkuiClass={classes}\n Component={Component}\n getRootRef={containerRef}\n {...(props.disabled ? {} : handlers)}>\n <TappableContext.Provider value={childContext}>\n {children}\n </TappableContext.Provider>\n {platform === ANDROID && !hasMouse && hasActive && activeMode === 'background' && (\n <span aria-hidden=\"true\" vkuiClass=\"Tappable__waves\">\n {clicks.map((wave) => (\n <Wave {...wave} key={wave.id} onClear={() => setClicks(clicks.filter((c) => c.id !== wave.id))} />\n ))}\n </span>\n )}\n {hasHover && hoverMode === 'background' && <span aria-hidden=\"true\" vkuiClass=\"Tappable__hoverShadow\" />}\n {!props.disabled && <FocusVisible mode={focusVisibleMode} />}\n </Touch>\n );\n};\n\nexport default withAdaptivity(Tappable, { sizeX: true, hasMouse: true });\n\nfunction Wave({ x, y, onClear }: Wave & { onClear: VoidFunction }) {\n const timeout = useTimeout(onClear, 225);\n React.useEffect(() => timeout.set(), []);\n return <span vkuiClass=\"Tappable__wave\" style={{ top: y, left: x }} />;\n}\n"],"file":"Tappable.js"}
1
+ {"version":3,"sources":["../../../../src/components/Tappable/Tappable.tsx"],"names":["React","mitt","noop","Touch","TouchRootContext","classNames","getClassName","ANDROID","getOffsetRect","coordX","coordY","withAdaptivity","shouldTriggerClickOnEnterOrSpace","useIsomorphicLayoutEffect","FocusVisible","useTimeout","useExternRef","usePlatform","ACTIVE_DELAY","ACTIVE_EFFECT_DELAY","activeBus","TapState","none","pending","active","exiting","TappableContext","createContext","onHoverChange","useActivity","hasActive","stopDelay","id","useMemo","Math","round","random","toString","useState","activity","setActivity","_stop","start","delayStart","activeTimeout","stopTimeout","set","clear","emit","onActiveChange","activeId","on","off","stop","delay","Tappable","children","Component","onClick","_onKeyDown","onKeyDown","activeEffectDelay","stopPropagation","getRootRef","sizeX","hasMouse","deviceHasHover","hasHover","_hasHover","hoverMode","_hasActive","activeMode","focusVisibleMode","props","href","useContext","insideTouchRoot","platform","clicks","setClicks","childHover","setChildHover","_hovered","setHovered","hovered","disabled","isCustomElement","contentEditable","isPresetHoverMode","includes","isPresetActiveMode","containerRef","childContext","useRef","current","e","preventDefault","click","onStart","originalEvent","touches","length","top","left","x","y","Date","now","onMove","isSlide","onEnd","duration","activeDuraion","classes","handlers","role","undefined","map","wave","filter","c","Wave","onClear","timeout","useEffect"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport mitt from 'mitt';\nimport { noop } from '@vkontakte/vkjs';\nimport { Touch, TouchEvent, TouchProps } from '../Touch/Touch';\nimport TouchRootContext from '../Touch/TouchContext';\nimport { classNames } from '../../lib/classNames';\nimport { getClassName } from '../../helpers/getClassName';\nimport { ANDROID } from '../../lib/platform';\nimport { getOffsetRect } from '../../lib/offset';\nimport { coordX, coordY } from '../../lib/touch';\nimport { HasComponent, HasRootRef } from '../../types';\nimport { withAdaptivity, AdaptivityProps } from '../../hoc/withAdaptivity';\nimport { shouldTriggerClickOnEnterOrSpace } from '../../lib/accessibility';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { FocusVisible, FocusVisibleMode } from '../FocusVisible/FocusVisible';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport './Tappable.css';\n\nexport interface TappableProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, AdaptivityProps, HasComponent {\n /**\n * Длительность показа active-состояния\n */\n activeEffectDelay?: number;\n stopPropagation?: boolean;\n /**\n * Указывает, должен ли компонент реагировать на hover-состояние\n */\n hasHover?: boolean;\n /**\n * Указывает, должен ли компонент реагировать на active-состояние\n */\n hasActive?: boolean;\n /**\n * Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active\n */\n activeMode?: 'opacity' | 'background' | string;\n /**\n * Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover\n */\n hoverMode?: 'opacity' | 'background' | string;\n /**\n * Стиль аутлайна focus visible.\n */\n focusVisibleMode?: FocusVisibleMode;\n}\n\ninterface Wave {\n x: number;\n y: number;\n id: string;\n}\n\nexport interface RootComponentProps extends TouchProps {\n ref?: React.Ref<HTMLElement>;\n}\n\nexport const ACTIVE_DELAY = 70;\nexport const ACTIVE_EFFECT_DELAY = 600;\n\nconst activeBus = mitt<{ active: string }>();\nconst TapState = { none: 0, pending: 1, active: 2, exiting: 3 } as const;\n\ntype TappableContextInterface = { onHoverChange: (s: boolean) => void };\nconst TappableContext = React.createContext<TappableContextInterface>({ onHoverChange: noop });\n\nfunction useActivity(hasActive: boolean, stopDelay: number) {\n const id = React.useMemo(() => Math.round(Math.random() * 1e8).toString(16), []);\n\n const [activity, setActivity] = React.useState<typeof TapState[keyof typeof TapState]>(TapState.none);\n const _stop = () => setActivity(TapState.none);\n const start = () => hasActive && setActivity(TapState.active);\n const delayStart = () => {\n hasActive && setActivity(TapState.pending);\n };\n\n const activeTimeout = useTimeout(start, ACTIVE_DELAY);\n const stopTimeout = useTimeout(_stop, stopDelay);\n\n useIsomorphicLayoutEffect(() => {\n if (activity === TapState.pending) {\n activeTimeout.set();\n return activeTimeout.clear;\n }\n if (activity === TapState.exiting) {\n return stopTimeout.clear;\n }\n if (activity === TapState.active) {\n activeBus.emit('active', id);\n }\n return noop;\n }, [activity]);\n\n useIsomorphicLayoutEffect(() => {\n if (activity === TapState.none) {\n return noop;\n }\n const onActiveChange = (activeId: string) => {\n activeId !== id && _stop();\n };\n activeBus.on('active', onActiveChange);\n return () => activeBus.off('active', onActiveChange);\n }, [activity === TapState.none]);\n\n useIsomorphicLayoutEffect(() => {\n !hasActive && _stop();\n }, [hasActive]);\n\n const stop = (delay?: number) => {\n if (delay) {\n setActivity(TapState.exiting);\n return stopTimeout.set(delay);\n }\n _stop();\n };\n\n return [activity, { delayStart, start, stop }] as const;\n}\n\nconst Tappable: React.FC<TappableProps> = ({\n children,\n Component,\n onClick,\n onKeyDown: _onKeyDown,\n activeEffectDelay = ACTIVE_EFFECT_DELAY,\n stopPropagation = false,\n getRootRef,\n sizeX,\n hasMouse,\n deviceHasHover,\n hasHover: _hasHover = true,\n hoverMode = 'background',\n hasActive: _hasActive = true,\n activeMode = 'background',\n focusVisibleMode = 'inside',\n ...props\n}: TappableProps) => {\n Component = Component || (props.href ? 'a' : 'div') as React.ElementType;\n\n const { onHoverChange } = React.useContext(TappableContext);\n const insideTouchRoot = React.useContext(TouchRootContext);\n const platform = usePlatform();\n\n const [clicks, setClicks] = React.useState<Wave[]>([]);\n const [childHover, setChildHover] = React.useState(false);\n const [_hovered, setHovered] = React.useState(false);\n\n const hovered = _hovered && !props.disabled;\n const hasActive = _hasActive && !childHover && !props.disabled;\n const hasHover = deviceHasHover && _hasHover && !childHover;\n const isCustomElement = Component !== 'a' && Component !== 'button' && !props.contentEditable;\n const isPresetHoverMode = ['opacity', 'background'].includes(hoverMode);\n const isPresetActiveMode = ['opacity', 'background'].includes(activeMode);\n\n const [activity, { start, stop, delayStart }] = useActivity(hasActive, activeEffectDelay);\n const active = activity === TapState.active || activity === TapState.exiting;\n\n const containerRef = useExternRef(getRootRef);\n\n // hover propagation\n const childContext = React.useRef({ onHoverChange: setChildHover }).current;\n useIsomorphicLayoutEffect(() => {\n if (!hovered) {\n return noop;\n }\n onHoverChange(true);\n return () => onHoverChange(false);\n }, [hovered]);\n\n /*\n * [a11y]\n * Обрабатывает событие onkeydown\n * для кастомных доступных элементов:\n * - role=\"link\" (активация по Enter)\n * - role=\"button\" (активация по Space и Enter)\n */\n function onKeyDown(e: React.KeyboardEvent<HTMLElement>) {\n if (isCustomElement && shouldTriggerClickOnEnterOrSpace(e)) {\n e.preventDefault();\n containerRef.current.click();\n }\n\n if (typeof _onKeyDown === 'function') {\n return _onKeyDown(e);\n }\n }\n\n function onStart({ originalEvent }: TouchEvent) {\n if (hasActive) {\n if (originalEvent.touches && originalEvent.touches.length > 1) {\n // r сожалению я так и не понял, что это делает и можно ли упихнуть его в Touch\n return stop();\n }\n\n if (platform === ANDROID) {\n const { top, left } = getOffsetRect(containerRef.current);\n const x = coordX(originalEvent) - left;\n const y = coordY(originalEvent) - top;\n setClicks([...clicks, { x, y, id: Date.now().toString() }]);\n }\n\n delayStart();\n }\n }\n\n function onMove({ isSlide }: TouchEvent) {\n if (isSlide) {\n stop();\n }\n }\n\n function onEnd({ duration }: TouchEvent) {\n if (activity === TapState.none) {\n return;\n }\n if (activity === TapState.pending) {\n // активировать при коротком тапе\n start();\n }\n\n // отключить без задержки при длинном тапе\n const activeDuraion = duration - ACTIVE_DELAY;\n stop(activeDuraion >= 100 ? 0 : activeEffectDelay - activeDuraion);\n }\n\n const classes = classNames(\n getClassName('Tappable', platform),\n `Tappable--sizeX-${sizeX}`,\n {\n 'Tappable--active': hasActive && active,\n 'Tappable--mouse': hasMouse,\n [`Tappable--hover-${hoverMode}`]: hasHover && hovered && isPresetHoverMode,\n [`Tappable--active-${activeMode}`]: hasActive && active && isPresetActiveMode,\n [hoverMode]: hasHover && hovered && !isPresetHoverMode,\n [activeMode]: hasActive && active && !isPresetActiveMode,\n });\n\n const handlers: RootComponentProps = { onStart, onMove, onEnd, onClick, onKeyDown };\n const role = props.href ? 'link' : 'button';\n\n return (\n <Touch\n onEnter={() => setHovered(true)}\n onLeave={() => setHovered(false)}\n type={Component === 'button' ? 'button' : undefined}\n tabIndex={isCustomElement && !props.disabled ? 0 : undefined}\n role={isCustomElement ? role : undefined}\n aria-disabled={isCustomElement ? props.disabled : null}\n stopPropagation={stopPropagation && !insideTouchRoot && !props.disabled}\n {...props}\n slideThreshold={20}\n usePointerHover\n vkuiClass={classes}\n Component={Component}\n getRootRef={containerRef}\n {...(props.disabled ? {} : handlers)}>\n <TappableContext.Provider value={childContext}>\n {children}\n </TappableContext.Provider>\n {platform === ANDROID && !hasMouse && hasActive && activeMode === 'background' && (\n <span aria-hidden=\"true\" vkuiClass=\"Tappable__waves\">\n {clicks.map((wave) => (\n <Wave {...wave} key={wave.id} onClear={() => setClicks(clicks.filter((c) => c.id !== wave.id))} />\n ))}\n </span>\n )}\n {hasHover && hoverMode === 'background' && <span aria-hidden=\"true\" vkuiClass=\"Tappable__hoverShadow\" />}\n {!props.disabled && <FocusVisible mode={focusVisibleMode} />}\n </Touch>\n );\n};\n\nexport default withAdaptivity(Tappable, { sizeX: true, hasMouse: true, deviceHasHover: true });\n\nfunction Wave({ x, y, onClear }: Wave & { onClear: VoidFunction }) {\n const timeout = useTimeout(onClear, 225);\n React.useEffect(() => timeout.set(), []);\n return <span vkuiClass=\"Tappable__wave\" style={{ top: y, left: x }} />;\n}\n"],"file":"Tappable.js"}
@@ -0,0 +1 @@
1
+ .vkuiTextTooltip{border-radius:8px;background:rgba(44,45,46,.88);padding:8px 12px 9px;color:#fff;color:var(--white);box-shadow:0 0 4px rgba(0,0,0,.04),0 4px 32px rgba(0,0,0,.16);-webkit-animation:vkui-popper-fadein .2s ease;animation:vkui-popper-fadein .2s ease}.vkuiTextTooltip__arrow{color:rgba(44,45,46,.88)}
@@ -0,0 +1,37 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["children", "text", "header"];
4
+ import { createScopedElement } from "../../lib/jsxRuntime";
5
+ import * as React from 'react';
6
+ import { HoverPopper } from "../HoverPopper/HoverPopper";
7
+ import { getClassName } from "../../helpers/getClassName";
8
+ import { usePlatform } from "../../hooks/usePlatform";
9
+ import { hasReactNode } from "../../lib/utils";
10
+ import Subhead from "../Typography/Subhead/Subhead";
11
+ import { prefixClass } from "../../lib/prefixClass";
12
+ import "./TextTooltip.css"; // Приходится избегать экстендов от HoverPopperProps и PopperProps, потому что react-docgen не умеет в Omit.
13
+ // Ждём либо фикса react-docgen (что вряд ли), либо переезда на react-docgen-typescript, где такой проблемы нет.
14
+
15
+ export var TextTooltip = function TextTooltip(_ref) {
16
+ var children = _ref.children,
17
+ text = _ref.text,
18
+ header = _ref.header,
19
+ popperProps = _objectWithoutProperties(_ref, _excluded);
20
+
21
+ var platform = usePlatform();
22
+ return createScopedElement(HoverPopper, _extends({
23
+ vkuiClass: getClassName('TextTooltip', platform),
24
+ arrow: true,
25
+ arrowClassName: prefixClass('TextTooltip__arrow'),
26
+ content: createScopedElement(React.Fragment, null, hasReactNode(header) && createScopedElement(Subhead, {
27
+ Component: "span",
28
+ weight: "medium",
29
+ vkuiClass: "TextTooltip__header"
30
+ }, header), hasReactNode(text) && createScopedElement(Subhead, {
31
+ Component: "span",
32
+ weight: "regular",
33
+ vkuiClass: "TextTooltip__text"
34
+ }, text))
35
+ }, popperProps), children);
36
+ };
37
+ //# sourceMappingURL=TextTooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/TextTooltip/TextTooltip.tsx"],"names":["React","HoverPopper","getClassName","usePlatform","hasReactNode","Subhead","prefixClass","TextTooltip","children","text","header","popperProps","platform"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AAEA,OAAOC,OAAP;AACA,SAASC,WAAT;AACA,2B,CAEA;AACA;;AA6CA,OAAO,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,OAAkE;AAAA,MAA/DC,QAA+D,QAA/DA,QAA+D;AAAA,MAArDC,IAAqD,QAArDA,IAAqD;AAAA,MAA/CC,MAA+C,QAA/CA,MAA+C;AAAA,MAApCC,WAAoC;;AACvH,MAAMC,QAAQ,GAAGT,WAAW,EAA5B;AAEA,SACE,oBAAC,WAAD;AACE,IAAA,SAAS,EAAED,YAAY,CAAC,aAAD,EAAgBU,QAAhB,CADzB;AAEE,IAAA,KAAK,MAFP;AAGE,IAAA,cAAc,EAAEN,WAAW,CAAC,oBAAD,CAH7B;AAIE,IAAA,OAAO,EACL,oBAAC,KAAD,CAAO,QAAP,QACGF,YAAY,CAACM,MAAD,CAAZ,IAAwB,oBAAC,OAAD;AAAS,MAAA,SAAS,EAAC,MAAnB;AAA0B,MAAA,MAAM,EAAC,QAAjC;AAA0C,MAAA,SAAS,EAAC;AAApD,OAA2EA,MAA3E,CAD3B,EAEGN,YAAY,CAACK,IAAD,CAAZ,IAAsB,oBAAC,OAAD;AAAS,MAAA,SAAS,EAAC,MAAnB;AAA0B,MAAA,MAAM,EAAC,SAAjC;AAA2C,MAAA,SAAS,EAAC;AAArD,OAA0EA,IAA1E,CAFzB;AALJ,KAUME,WAVN,GAYGH,QAZH,CADF;AAgBD,CAnBM","sourcesContent":["import * as React from 'react';\nimport { HoverPopper } from '../HoverPopper/HoverPopper';\nimport { getClassName } from '../../helpers/getClassName';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { hasReactNode } from '../../lib/utils';\nimport { Placement } from '../Popper/Popper';\nimport Subhead from '../Typography/Subhead/Subhead';\nimport { prefixClass } from '../../lib/prefixClass';\nimport './TextTooltip.css';\n\n// Приходится избегать экстендов от HoverPopperProps и PopperProps, потому что react-docgen не умеет в Omit.\n// Ждём либо фикса react-docgen (что вряд ли), либо переезда на react-docgen-typescript, где такой проблемы нет.\nexport interface TextTooltipProps {\n /**\n * Если передан, то тултип будет показыван/скрыт в зависимости от значения свойства\n */\n shown?: boolean;\n /**\n * Вызывается при каждом изменении видимости тултипа\n */\n onShownChange?: (shown: boolean) => void;\n /**\n * Количество миллисекунд, после которых произойдет показ дропдауна\n */\n showDelay?: number;\n /**\n * Количество миллисекунд, после которых произойдет скрытие дропдауна\n */\n hideDelay?: number;\n /**\n * Либо jsx-элемент (div, button, etc.), либо компонент со свойством `getRootRef`, которое применяется к корневому элементу компонента\n */\n children?: React.ReactElement;\n /**\n * По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства\n */\n placement?: Placement;\n /**\n * Отступ по вспомогательной оси\n */\n offsetSkidding?: number;\n /**\n * Отступ по главной оси\n */\n offsetDistance?: number;\n onPlacementChange?: (data: { placement?: Placement }) => void;\n /**\n * Текст тултипа\n */\n text?: React.ReactNode;\n /**\n * Заголовок тултипа\n */\n header?: React.ReactNode;\n}\n\nexport const TextTooltip: React.FC<TextTooltipProps> = ({ children, text, header, ...popperProps }: TextTooltipProps) => {\n const platform = usePlatform();\n\n return (\n <HoverPopper\n vkuiClass={getClassName('TextTooltip', platform)}\n arrow\n arrowClassName={prefixClass('TextTooltip__arrow')}\n content={\n <React.Fragment>\n {hasReactNode(header) && <Subhead Component=\"span\" weight=\"medium\" vkuiClass=\"TextTooltip__header\">{header}</Subhead>}\n {hasReactNode(text) && <Subhead Component=\"span\" weight=\"regular\" vkuiClass=\"TextTooltip__text\">{text}</Subhead>}\n </React.Fragment>\n }\n {...popperProps}\n >\n {children}\n </HoverPopper>\n );\n};\n"],"file":"TextTooltip.js"}
@@ -17,12 +17,14 @@ export function withAdaptivity(TargetComponent, config) {
17
17
  var viewWidth = context.viewWidth;
18
18
  var viewHeight = context.viewHeight;
19
19
  var hasMouse = context.hasMouse;
20
+ var deviceHasHover = context.deviceHasHover;
20
21
  var adaptivityProps = {};
21
22
  config.sizeX ? adaptivityProps.sizeX = sizeX : undefined;
22
23
  config.sizeY ? adaptivityProps.sizeY = sizeY : undefined;
23
24
  config.viewWidth ? adaptivityProps.viewWidth = viewWidth : undefined;
24
25
  config.viewHeight ? adaptivityProps.viewHeight = viewHeight : undefined;
25
- config.hasMouse ? adaptivityProps.hasMouse = hasMouse : undefined; // @ts-ignore
26
+ config.hasMouse ? adaptivityProps.hasMouse = hasMouse : undefined;
27
+ config.deviceHasHover ? adaptivityProps.deviceHasHover = deviceHasHover : undefined; // @ts-ignore
26
28
 
27
29
  var target = createScopedElement(TargetComponent, _extends({}, props, adaptivityProps));
28
30
 
@@ -33,7 +35,8 @@ export function withAdaptivity(TargetComponent, config) {
33
35
  sizeY: sizeY,
34
36
  viewWidth: viewWidth,
35
37
  viewHeight: viewHeight,
36
- hasMouse: hasMouse
38
+ hasMouse: hasMouse,
39
+ deviceHasHover: deviceHasHover
37
40
  }
38
41
  }, target);
39
42
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hoc/withAdaptivity.tsx"],"names":["React","AdaptivityContext","SizeType","ViewHeight","ViewWidth","withAdaptivity","TargetComponent","config","AdaptivityConsumer","props","context","useContext","update","sizeX","sizeY","viewWidth","viewHeight","hasMouse","adaptivityProps","undefined","target"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SACEC,iBADF,EAEEC,QAFF,EAGEC,UAHF,EAIEC,SAJF;AAQA,SAASF,QAAT,EAAmBE,SAAnB,EAA8BD,UAA9B;AAWA,OAAO,SAASE,cAAT,CAA2BC,eAA3B,EAA+CC,MAA/C,EAAkE;AACvE,WAASC,kBAAT,CAA4BC,KAA5B,EAAoD;AAClD,QAAMC,OAAO,GAAGV,KAAK,CAACW,UAAN,CAAiBV,iBAAjB,CAAhB;AACA,QAAIW,MAAM,GAAG,KAAb;;AAEA,QAAIH,KAAK,CAACI,KAAN,IAAeJ,KAAK,CAACK,KAAzB,EAAgC;AAC9BF,MAAAA,MAAM,GAAG,IAAT;AACD;;AAED,QAAMC,KAAK,GAAGJ,KAAK,CAACI,KAAN,IAAeH,OAAO,CAACG,KAArC;AACA,QAAMC,KAAK,GAAGL,KAAK,CAACK,KAAN,IAAeJ,OAAO,CAACI,KAArC;AACA,QAAMC,SAAS,GAAGL,OAAO,CAACK,SAA1B;AACA,QAAMC,UAAU,GAAGN,OAAO,CAACM,UAA3B;AACA,QAAMC,QAAQ,GAAGP,OAAO,CAACO,QAAzB;AAEA,QAAMC,eAML,GAAG,EANJ;AAOAX,IAAAA,MAAM,CAACM,KAAP,GAAeK,eAAe,CAACL,KAAhB,GAAwBA,KAAvC,GAA+CM,SAA/C;AACAZ,IAAAA,MAAM,CAACO,KAAP,GAAeI,eAAe,CAACJ,KAAhB,GAAwBA,KAAvC,GAA+CK,SAA/C;AACAZ,IAAAA,MAAM,CAACQ,SAAP,GAAmBG,eAAe,CAACH,SAAhB,GAA4BA,SAA/C,GAA2DI,SAA3D;AACAZ,IAAAA,MAAM,CAACS,UAAP,GAAoBE,eAAe,CAACF,UAAhB,GAA6BA,UAAjD,GAA8DG,SAA9D;AACAZ,IAAAA,MAAM,CAACU,QAAP,GAAkBC,eAAe,CAACD,QAAhB,GAA2BA,QAA7C,GAAwDE,SAAxD,CAzBkD,CA2BlD;;AACA,QAAMC,MAAM,GAAG,oBAAC,eAAD,eAAqBX,KAArB,EAAgCS,eAAhC,EAAf;;AAEA,QAAIN,MAAJ,EAAY;AACV,aAAO,oBAAC,iBAAD,CAAmB,QAAnB;AAA4B,QAAA,KAAK,EAAE;AAAEC,UAAAA,KAAK,EAALA,KAAF;AAASC,UAAAA,KAAK,EAALA,KAAT;AAAgBC,UAAAA,SAAS,EAATA,SAAhB;AAA2BC,UAAAA,UAAU,EAAVA,UAA3B;AAAuCC,UAAAA,QAAQ,EAARA;AAAvC;AAAnC,SACJG,MADI,CAAP;AAGD;;AAED,WAAOA,MAAP;AACD;;AAED,SAAOZ,kBAAP;AACD","sourcesContent":["import * as React from 'react';\nimport {\n AdaptivityContext,\n SizeType,\n ViewHeight,\n ViewWidth,\n AdaptivityProps,\n} from '../components/AdaptivityProvider/AdaptivityContext';\n\nexport { SizeType, ViewWidth, ViewHeight };\nexport type { AdaptivityProps };\n\ninterface Config {\n sizeX?: boolean;\n sizeY?: boolean;\n viewWidth?: boolean;\n viewHeight?: boolean;\n hasMouse?: boolean;\n}\n\nexport function withAdaptivity<T>(TargetComponent: T, config: Config): T {\n function AdaptivityConsumer(props: AdaptivityProps) {\n const context = React.useContext(AdaptivityContext);\n let update = false;\n\n if (props.sizeX || props.sizeY) {\n update = true;\n }\n\n const sizeX = props.sizeX || context.sizeX;\n const sizeY = props.sizeY || context.sizeY;\n const viewWidth = context.viewWidth;\n const viewHeight = context.viewHeight;\n const hasMouse = context.hasMouse;\n\n const adaptivityProps: {\n sizeX?: SizeType;\n sizeY?: SizeType;\n viewWidth?: ViewWidth;\n viewHeight?: ViewHeight;\n hasMouse?: boolean;\n } = {};\n config.sizeX ? adaptivityProps.sizeX = sizeX : undefined;\n config.sizeY ? adaptivityProps.sizeY = sizeY : undefined;\n config.viewWidth ? adaptivityProps.viewWidth = viewWidth : undefined;\n config.viewHeight ? adaptivityProps.viewHeight = viewHeight : undefined;\n config.hasMouse ? adaptivityProps.hasMouse = hasMouse : undefined;\n\n // @ts-ignore\n const target = <TargetComponent {...props} {...adaptivityProps} />;\n\n if (update) {\n return <AdaptivityContext.Provider value={{ sizeX, sizeY, viewWidth, viewHeight, hasMouse }}>\n {target}\n </AdaptivityContext.Provider>;\n }\n\n return target;\n }\n\n return AdaptivityConsumer as unknown as T;\n}\n"],"file":"withAdaptivity.js"}
1
+ {"version":3,"sources":["../../../src/hoc/withAdaptivity.tsx"],"names":["React","AdaptivityContext","SizeType","ViewHeight","ViewWidth","withAdaptivity","TargetComponent","config","AdaptivityConsumer","props","context","useContext","update","sizeX","sizeY","viewWidth","viewHeight","hasMouse","deviceHasHover","adaptivityProps","undefined","target"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SACEC,iBADF,EAEEC,QAFF,EAGEC,UAHF,EAIEC,SAJF;AAQA,SAASF,QAAT,EAAmBE,SAAnB,EAA8BD,UAA9B;AAYA,OAAO,SAASE,cAAT,CAA2BC,eAA3B,EAA+CC,MAA/C,EAAkE;AACvE,WAASC,kBAAT,CAA4BC,KAA5B,EAAoD;AAClD,QAAMC,OAAO,GAAGV,KAAK,CAACW,UAAN,CAAiBV,iBAAjB,CAAhB;AACA,QAAIW,MAAM,GAAG,KAAb;;AAEA,QAAIH,KAAK,CAACI,KAAN,IAAeJ,KAAK,CAACK,KAAzB,EAAgC;AAC9BF,MAAAA,MAAM,GAAG,IAAT;AACD;;AAED,QAAMC,KAAK,GAAGJ,KAAK,CAACI,KAAN,IAAeH,OAAO,CAACG,KAArC;AACA,QAAMC,KAAK,GAAGL,KAAK,CAACK,KAAN,IAAeJ,OAAO,CAACI,KAArC;AACA,QAAMC,SAAS,GAAGL,OAAO,CAACK,SAA1B;AACA,QAAMC,UAAU,GAAGN,OAAO,CAACM,UAA3B;AACA,QAAMC,QAAQ,GAAGP,OAAO,CAACO,QAAzB;AACA,QAAMC,cAAc,GAAGR,OAAO,CAACQ,cAA/B;AAEA,QAAMC,eAOL,GAAG,EAPJ;AAQAZ,IAAAA,MAAM,CAACM,KAAP,GAAeM,eAAe,CAACN,KAAhB,GAAwBA,KAAvC,GAA+CO,SAA/C;AACAb,IAAAA,MAAM,CAACO,KAAP,GAAeK,eAAe,CAACL,KAAhB,GAAwBA,KAAvC,GAA+CM,SAA/C;AACAb,IAAAA,MAAM,CAACQ,SAAP,GAAmBI,eAAe,CAACJ,SAAhB,GAA4BA,SAA/C,GAA2DK,SAA3D;AACAb,IAAAA,MAAM,CAACS,UAAP,GAAoBG,eAAe,CAACH,UAAhB,GAA6BA,UAAjD,GAA8DI,SAA9D;AACAb,IAAAA,MAAM,CAACU,QAAP,GAAkBE,eAAe,CAACF,QAAhB,GAA2BA,QAA7C,GAAwDG,SAAxD;AACAb,IAAAA,MAAM,CAACW,cAAP,GAAwBC,eAAe,CAACD,cAAhB,GAAiCA,cAAzD,GAA0EE,SAA1E,CA5BkD,CA8BlD;;AACA,QAAMC,MAAM,GAAG,oBAAC,eAAD,eAAqBZ,KAArB,EAAgCU,eAAhC,EAAf;;AAEA,QAAIP,MAAJ,EAAY;AACV,aAAO,oBAAC,iBAAD,CAAmB,QAAnB;AAA4B,QAAA,KAAK,EAAE;AAAEC,UAAAA,KAAK,EAALA,KAAF;AAASC,UAAAA,KAAK,EAALA,KAAT;AAAgBC,UAAAA,SAAS,EAATA,SAAhB;AAA2BC,UAAAA,UAAU,EAAVA,UAA3B;AAAuCC,UAAAA,QAAQ,EAARA,QAAvC;AAAiDC,UAAAA,cAAc,EAAdA;AAAjD;AAAnC,SACJG,MADI,CAAP;AAGD;;AAED,WAAOA,MAAP;AACD;;AAED,SAAOb,kBAAP;AACD","sourcesContent":["import * as React from 'react';\nimport {\n AdaptivityContext,\n SizeType,\n ViewHeight,\n ViewWidth,\n AdaptivityProps,\n} from '../components/AdaptivityProvider/AdaptivityContext';\n\nexport { SizeType, ViewWidth, ViewHeight };\nexport type { AdaptivityProps };\n\ninterface Config {\n sizeX?: boolean;\n sizeY?: boolean;\n viewWidth?: boolean;\n viewHeight?: boolean;\n hasMouse?: boolean;\n deviceHasHover?: boolean;\n}\n\nexport function withAdaptivity<T>(TargetComponent: T, config: Config): T {\n function AdaptivityConsumer(props: AdaptivityProps) {\n const context = React.useContext(AdaptivityContext);\n let update = false;\n\n if (props.sizeX || props.sizeY) {\n update = true;\n }\n\n const sizeX = props.sizeX || context.sizeX;\n const sizeY = props.sizeY || context.sizeY;\n const viewWidth = context.viewWidth;\n const viewHeight = context.viewHeight;\n const hasMouse = context.hasMouse;\n const deviceHasHover = context.deviceHasHover;\n\n const adaptivityProps: {\n sizeX?: SizeType;\n sizeY?: SizeType;\n viewWidth?: ViewWidth;\n viewHeight?: ViewHeight;\n hasMouse?: boolean;\n deviceHasHover?: boolean;\n } = {};\n config.sizeX ? adaptivityProps.sizeX = sizeX : undefined;\n config.sizeY ? adaptivityProps.sizeY = sizeY : undefined;\n config.viewWidth ? adaptivityProps.viewWidth = viewWidth : undefined;\n config.viewHeight ? adaptivityProps.viewHeight = viewHeight : undefined;\n config.hasMouse ? adaptivityProps.hasMouse = hasMouse : undefined;\n config.deviceHasHover ? adaptivityProps.deviceHasHover = deviceHasHover : undefined;\n\n // @ts-ignore\n const target = <TargetComponent {...props} {...adaptivityProps} />;\n\n if (update) {\n return <AdaptivityContext.Provider value={{ sizeX, sizeY, viewWidth, viewHeight, hasMouse, deviceHasHover }}>\n {target}\n </AdaptivityContext.Provider>;\n }\n\n return target;\n }\n\n return AdaptivityConsumer as unknown as T;\n}\n"],"file":"withAdaptivity.js"}
@@ -0,0 +1,21 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import * as React from 'react';
3
+ import { useExternRef } from "./useExternRef";
4
+ import { warnOnce } from "../lib/warnOnce";
5
+
6
+ var isDOMTypeElement = function isDOMTypeElement(element) {
7
+ return typeof element.type === 'string';
8
+ };
9
+
10
+ var warn = warnOnce('usePatchChildrenRef');
11
+ export var usePatchChildrenRef = function usePatchChildrenRef(children) {
12
+ var childRef = /*#__PURE__*/React.isValidElement(children) && (isDOMTypeElement(children) ? children.ref : children.props.getRootRef);
13
+ var patchedRef = useExternRef(childRef);
14
+ React.useEffect(function () {
15
+ if (!patchedRef.current && process.env.NODE_ENV === 'development') {
16
+ warn('Кажется, в `children` передан компонент, который не поддерживает свойство `getRootRef`. Мы не можем' + 'получить ссылку на корневой dom-элемент этого компонента');
17
+ }
18
+ }, [children.type]);
19
+ return [patchedRef, /*#__PURE__*/React.isValidElement(children) ? /*#__PURE__*/React.cloneElement(children, _defineProperty({}, isDOMTypeElement(children) ? 'ref' : 'getRootRef', patchedRef)) : children];
20
+ };
21
+ //# sourceMappingURL=usePatchChildrenRef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/hooks/usePatchChildrenRef.ts"],"names":["React","useExternRef","warnOnce","isDOMTypeElement","element","type","warn","usePatchChildrenRef","children","childRef","isValidElement","ref","props","getRootRef","patchedRef","useEffect","current","process","env","NODE_ENV","cloneElement"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,SAASC,QAAT;;AAIA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,OAAD,EAAwE;AAC/F,SAAO,OAAOA,OAAO,CAACC,IAAf,KAAwB,QAA/B;AACD,CAFD;;AAIA,IAAMC,IAAI,GAAGJ,QAAQ,CAAC,qBAAD,CAArB;AACA,OAAO,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAkBC,QAAlB,EAAoG;AACrI,MAAMC,QAAQ,GAAG,aAAAT,KAAK,CAACU,cAAN,CAAqBF,QAArB,MAAmCL,gBAAgB,CAACK,QAAD,CAAhB,GAA6BA,QAAQ,CAACG,GAAtC,GAA4DH,QAAQ,CAACI,KAAT,CAAeC,UAA9G,CAAjB;AACA,MAAMC,UAAU,GAAGb,YAAY,CAAIQ,QAAJ,CAA/B;AACAT,EAAAA,KAAK,CAACe,SAAN,CAAgB,YAAM;AACpB,QAAI,CAACD,UAAU,CAACE,OAAZ,IAAuBC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAApD,EAAmE;AACjEb,MAAAA,IAAI,CAAC,wGACH,0DADE,CAAJ;AAED;AACF,GALD,EAKG,CAACE,QAAQ,CAACH,IAAV,CALH;AAMA,SAAO,CAACS,UAAD,EAAa,aAAAd,KAAK,CAACU,cAAN,CAAqBF,QAArB,iBAAiCR,KAAK,CAACoB,YAAN,CAAmBZ,QAAnB,sBAClDL,gBAAgB,CAACK,QAAD,CAAhB,GAA6B,KAA7B,GAAqC,YADa,EACEM,UADF,EAAjC,GAEfN,QAFE,CAAP;AAGD,CAZM","sourcesContent":["import * as React from 'react';\nimport { useExternRef } from './useExternRef';\nimport { warnOnce } from '../lib/warnOnce';\n\ntype ChildrenElement<T> = React.ReactElement<{ getRootRef?: React.Ref<T> }>;\n\nconst isDOMTypeElement = (element: React.ReactElement): element is React.DOMElement<any, any> => {\n return typeof element.type === 'string';\n};\n\nconst warn = warnOnce('usePatchChildrenRef');\nexport const usePatchChildrenRef = <T = HTMLElement>(children: ChildrenElement<T>): [React.MutableRefObject<T>, ChildrenElement<T>] => {\n const childRef = React.isValidElement(children) && (isDOMTypeElement(children) ? children.ref as React.Ref<T> : children.props.getRootRef);\n const patchedRef = useExternRef<T>(childRef);\n React.useEffect(() => {\n if (!patchedRef.current && process.env.NODE_ENV === 'development') {\n warn('Кажется, в `children` передан компонент, который не поддерживает свойство `getRootRef`. Мы не можем' +\n 'получить ссылку на корневой dom-элемент этого компонента');\n }\n }, [children.type]);\n return [patchedRef, React.isValidElement(children) ? React.cloneElement(children, {\n [isDOMTypeElement(children) ? 'ref' : 'getRootRef']: patchedRef,\n }) : children];\n};\n"],"file":"usePatchChildrenRef.js"}
@@ -61,7 +61,7 @@ export { Cell } from "./components/Cell/Cell";
61
61
  export { default as RichCell } from "./components/RichCell/RichCell";
62
62
  export { default as SimpleCell } from "./components/SimpleCell/SimpleCell";
63
63
  export { HorizontalCell } from "./components/HorizontalCell/HorizontalCell";
64
- export { default as Footer } from "./components/Footer/Footer";
64
+ export { Footer } from "./components/Footer/Footer";
65
65
  export { default as InfoRow } from "./components/InfoRow/InfoRow";
66
66
  export { default as Gallery } from "./components/Gallery/Gallery";
67
67
  export { default as Avatar } from "./components/Avatar/Avatar";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":["default","Root","View","Panel","PanelHeaderButton","PanelHeader","PanelHeaderContent","PanelHeaderContext","SplitLayout","SplitCol","Epic","Tabbar","TabbarItem","HorizontalScroll","FixedLayout","PopoutWrapper","Alert","ActionSheet","ActionSheetItem","ScreenSpinner","Snackbar","ModalRoot","withModalRootContext","ModalRootContext","ModalPage","ModalPageHeader","ModalCard","ModalDismissButton","Badge","Button","IconButton","Card","CardGrid","CardScroll","ContentCard","CellButton","Header","Group","Gradient","List","Cell","RichCell","SimpleCell","HorizontalCell","Footer","InfoRow","Gallery","Avatar","GridAvatar","InitialsAvatar","Progress","Search","Tabs","TabsItem","Spinner","PullToRefresh","Link","Tooltip","TooltipContainer","Counter","UsersStack","Separator","Spacing","Placeholder","Banner","MiniInfoCell","WriteBar","WriteBarIcon","SubnavigationBar","SubnavigationButton","FormLayout","FormItem","FormField","FormLayoutGroup","FormStatus","Switch","File","Input","Chip","ChipsInput","Slider","RangeSlider","Textarea","Radio","Checkbox","Select","SelectMimicry","NativeSelect","CustomSelect","CustomSelectOption","DatePicker","SliderSwitch","Div","Tappable","Touch","PanelSpinner","PanelHeaderClose","PanelHeaderBack","PanelHeaderSubmit","PanelHeaderEdit","ModalCardBase","AppRoot","AdaptivityProvider","ConfigProvider","ConfigProviderContext","Appearance","Scheme","WebviewType","PromoBanner","Title","Headline","Text","Caption","Subhead","withInsets","withPlatform","withAdaptivity","useInsets","usePlatform","useAdaptivity","useAppearance","classNamesString","classNames","animate","removeObjectKeys","SSRWrapper","platform","ANDROID","IOS","VKCOM","Platform","IS_PLATFORM_ANDROID","IS_PLATFORM_IOS","getClassName","ViewWidth","ViewHeight","SizeType"],"mappings":"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","sourcesContent":["import './lib/polyfills';\n\nimport './styles/constants.css';\nimport './styles/animations.css';\nimport './styles/common.css';\n\n/**\n * Layout\n */\nexport { default as Root } from './components/Root/Root';\nexport type { RootProps } from './components/Root/Root';\nexport { default as View } from './components/View/View';\nexport type { ViewProps } from './components/View/View';\nexport { Panel } from './components/Panel/Panel';\nexport type { PanelProps } from './components/Panel/Panel';\nexport { PanelHeaderButton } from './components/PanelHeaderButton/PanelHeaderButton';\nexport type { PanelHeaderButtonProps } from './components/PanelHeaderButton/PanelHeaderButton';\nexport { default as PanelHeader } from './components/PanelHeader/PanelHeader';\nexport type { PanelHeaderProps } from './components/PanelHeader/PanelHeader';\nexport { default as PanelHeaderContent } from './components/PanelHeaderContent/PanelHeaderContent';\nexport type { PanelHeaderContentProps } from './components/PanelHeaderContent/PanelHeaderContent';\nexport { PanelHeaderContext } from './components/PanelHeaderContext/PanelHeaderContext';\nexport type { PanelHeaderContextProps } from './components/PanelHeaderContext/PanelHeaderContext';\nexport { SplitLayout } from './components/SplitLayout/SplitLayout';\nexport type { SplitLayoutProps } from './components/SplitLayout/SplitLayout';\nexport { SplitCol } from './components/SplitCol/SplitCol';\nexport type { SplitColProps } from './components/SplitCol/SplitCol';\nexport { default as Epic } from './components/Epic/Epic';\nexport type { EpicProps } from './components/Epic/Epic';\nexport { default as Tabbar } from './components/Tabbar/Tabbar';\nexport type { TabbarProps } from './components/Tabbar/Tabbar';\nexport { default as TabbarItem } from './components/TabbarItem/TabbarItem';\nexport type { TabbarItemProps } from './components/TabbarItem/TabbarItem';\nexport { default as HorizontalScroll } from './components/HorizontalScroll/HorizontalScroll';\nexport type { HorizontalScrollProps } from './components/HorizontalScroll/HorizontalScroll';\nexport { default as FixedLayout } from './components/FixedLayout/FixedLayout';\nexport type { FixedLayoutProps } from './components/FixedLayout/FixedLayout';\n\n/**\n * Popouts\n */\nexport { PopoutWrapper } from './components/PopoutWrapper/PopoutWrapper';\nexport type { PopoutWrapperProps } from './components/PopoutWrapper/PopoutWrapper';\nexport { default as Alert } from './components/Alert/Alert';\nexport type { AlertProps, AlertActionInterface } from './components/Alert/Alert';\nexport { ActionSheet } from './components/ActionSheet/ActionSheet';\nexport type { ActionSheetProps } from './components/ActionSheet/ActionSheet';\nexport { default as ActionSheetItem } from './components/ActionSheetItem/ActionSheetItem';\nexport type { ActionSheetItemProps } from './components/ActionSheetItem/ActionSheetItem';\nexport { default as ScreenSpinner } from './components/ScreenSpinner/ScreenSpinner';\nexport type { ScreenSpinnerProps } from './components/ScreenSpinner/ScreenSpinner';\nexport { Snackbar } from './components/Snackbar/Snackbar';\nexport type { SnackbarProps } from './components/Snackbar/Snackbar';\n\n/**\n * Modals\n */\nexport { ModalRoot } from './components/ModalRoot/ModalRootAdaptive';\nexport type { ModalRootProps } from './components/ModalRoot/ModalRootAdaptive';\nexport { withModalRootContext } from './components/ModalRoot/withModalRootContext';\nexport { default as ModalRootContext } from './components/ModalRoot/ModalRootContext';\nexport { default as ModalPage } from './components/ModalPage/ModalPage';\nexport type { ModalPageProps } from './components/ModalPage/ModalPage';\nexport { default as ModalPageHeader } from './components/ModalPageHeader/ModalPageHeader';\nexport type { ModalPageHeaderProps } from './components/ModalPageHeader/ModalPageHeader';\nexport { default as ModalCard } from './components/ModalCard/ModalCard';\nexport type { ModalCardProps } from './components/ModalCard/ModalCard';\nexport { default as ModalDismissButton } from './components/ModalDismissButton/ModalDismissButton';\nexport type { ModalDismissButtonProps } from './components/ModalDismissButton/ModalDismissButton';\n\n/**\n * Blocks\n */\nexport { Badge } from './components/Badge/Badge';\nexport type { BadgeProps } from './components/Badge/Badge';\nexport { default as Button } from './components/Button/Button';\nexport type { ButtonProps } from './components/Button/Button';\nexport { default as IconButton } from './components/IconButton/IconButton';\nexport type { IconButtonProps } from './components/IconButton/IconButton';\nexport { default as Card } from './components/Card/Card';\nexport type { CardProps } from './components/Card/Card';\nexport { default as CardGrid } from './components/CardGrid/CardGrid';\nexport type { CardGridProps } from './components/CardGrid/CardGrid';\nexport { default as CardScroll } from './components/CardScroll/CardScroll';\nexport type { CardScrollProps } from './components/CardScroll/CardScroll';\nexport { default as ContentCard } from './components/ContentCard/ContentCard';\nexport type { ContentCardProps } from './components/ContentCard/ContentCard';\nexport { CellButton } from './components/CellButton/CellButton';\nexport type { CellButtonProps } from './components/CellButton/CellButton';\nexport { default as Header } from './components/Header/Header';\nexport type { HeaderProps } from './components/Header/Header';\nexport { default as Group } from './components/Group/Group';\nexport type { GroupProps } from './components/Group/Group';\nexport { default as Gradient } from './components/Gradient/Gradient';\nexport type { GradientProps } from './components/Gradient/Gradient';\nexport { default as List } from './components/List/List';\nexport { Cell } from './components/Cell/Cell';\nexport type { CellProps } from './components/Cell/Cell';\nexport { default as RichCell } from './components/RichCell/RichCell';\nexport type { RichCellProps } from './components/RichCell/RichCell';\nexport { default as SimpleCell } from './components/SimpleCell/SimpleCell';\nexport type { SimpleCellProps } from './components/SimpleCell/SimpleCell';\nexport { HorizontalCell } from './components/HorizontalCell/HorizontalCell';\nexport type { HorizontalCellProps } from './components/HorizontalCell/HorizontalCell';\nexport { default as Footer } from './components/Footer/Footer';\nexport { default as InfoRow } from './components/InfoRow/InfoRow';\nexport type { InfoRowProps } from './components/InfoRow/InfoRow';\nexport { default as Gallery } from './components/Gallery/Gallery';\nexport type { GalleryProps } from './components/Gallery/Gallery';\nexport { default as Avatar } from './components/Avatar/Avatar';\nexport type { AvatarProps } from './components/Avatar/Avatar';\nexport { GridAvatar } from './components/GridAvatar/GridAvatar';\nexport type { GridAvatarProps } from './components/GridAvatar/GridAvatar';\nexport { InitialsAvatar } from './components/InitialsAvatar/InitialsAvatar';\nexport type { InitialsAvatarProps } from './components/InitialsAvatar/InitialsAvatar';\nexport { default as Progress } from './components/Progress/Progress';\nexport type { ProgressProps } from './components/Progress/Progress';\nexport { default as Search } from './components/Search/Search';\nexport type { SearchProps } from './components/Search/Search';\nexport { default as Tabs } from './components/Tabs/Tabs';\nexport type { TabsProps } from './components/Tabs/Tabs';\nexport { default as TabsItem } from './components/TabsItem/TabsItem';\nexport type { TabsItemProps } from './components/TabsItem/TabsItem';\nexport { default as Spinner } from './components/Spinner/Spinner';\nexport type { SpinnerProps } from './components/Spinner/Spinner';\nexport { default as PullToRefresh } from './components/PullToRefresh/PullToRefresh';\nexport type { PullToRefreshProps } from './components/PullToRefresh/PullToRefresh';\nexport { default as Link } from './components/Link/Link';\nexport type { LinkProps } from './components/Link/Link';\nexport { default as Tooltip } from './components/Tooltip/Tooltip';\nexport type { TooltipProps } from './components/Tooltip/Tooltip';\nexport { TooltipContainer } from './components/Tooltip/TooltipContainer';\nexport { default as Counter } from './components/Counter/Counter';\nexport type { CounterProps } from './components/Counter/Counter';\nexport { default as UsersStack } from './components/UsersStack/UsersStack';\nexport type { UsersStackProps } from './components/UsersStack/UsersStack';\nexport { default as Separator } from './components/Separator/Separator';\nexport type { SeparatorProps } from './components/Separator/Separator';\nexport { Spacing } from './components/Spacing/Spacing';\nexport type { SpacingProps } from './components/Spacing/Spacing';\nexport { default as Placeholder } from './components/Placeholder/Placeholder';\nexport type { PlaceholderProps } from './components/Placeholder/Placeholder';\nexport { default as Banner } from './components/Banner/Banner';\nexport type { BannerProps } from './components/Banner/Banner';\nexport { MiniInfoCell } from './components/MiniInfoCell/MiniInfoCell';\nexport type { MiniInfoCellProps } from './components/MiniInfoCell/MiniInfoCell';\nexport { WriteBar } from './components/WriteBar/WriteBar';\nexport type { WriteBarProps } from './components/WriteBar/WriteBar';\nexport { WriteBarIcon } from './components/WriteBarIcon/WriteBarIcon';\nexport type { WriteBarIconProps } from './components/WriteBarIcon/WriteBarIcon';\nexport { SubnavigationBar } from './components/SubnavigationBar/SubnavigationBar';\nexport type { SubnavigationBarProps } from './components/SubnavigationBar/SubnavigationBar';\nexport { SubnavigationButton } from './components/SubnavigationButton/SubnavigationButton';\nexport type { SubnavigationButtonProps } from './components/SubnavigationButton/SubnavigationButton';\n\n/**\n * Forms\n */\nexport { default as FormLayout } from './components/FormLayout/FormLayout';\nexport type { FormLayoutProps } from './components/FormLayout/FormLayout';\nexport { FormItem } from './components/FormItem/FormItem';\nexport type { FormItemProps } from './components/FormItem/FormItem';\nexport { FormField } from './components/FormField/FormField';\nexport type { FormFieldProps } from './components/FormField/FormField';\nexport { default as FormLayoutGroup } from './components/FormLayoutGroup/FormLayoutGroup';\nexport type { FormLayoutGroupProps } from './components/FormLayoutGroup/FormLayoutGroup';\nexport { FormStatus } from './components/FormStatus/FormStatus';\nexport type { FormStatusProps } from './components/FormStatus/FormStatus';\nexport { Switch } from './components/Switch/Switch';\nexport type { SwitchProps } from './components/Switch/Switch';\nexport { default as File } from './components/File/File';\nexport type { FileProps } from './components/File/File';\nexport { default as Input } from './components/Input/Input';\nexport type { InputProps } from './components/Input/Input';\nexport { default as Chip } from './components/Chip/Chip';\nexport type { ChipProps } from './components/Chip/Chip';\nexport { default as ChipsInput } from './components/ChipsInput/ChipsInput';\nexport type { ChipsInputProps } from './components/ChipsInput/ChipsInput';\nexport { default as Slider } from './components/Slider/Slider';\nexport type { SliderProps } from './components/Slider/Slider';\nexport { default as RangeSlider } from './components/RangeSlider/RangeSlider';\nexport type { RangeSliderProps } from './components/RangeSlider/RangeSlider';\nexport { default as Textarea } from './components/Textarea/Textarea';\nexport type { TextareaProps } from './components/Textarea/Textarea';\nexport { default as Radio } from './components/Radio/Radio';\nexport type { RadioProps } from './components/Radio/Radio';\nexport { default as Checkbox } from './components/Checkbox/Checkbox';\nexport type { CheckboxProps } from './components/Checkbox/Checkbox';\nexport { default as Select } from './components/Select/Select';\nexport type { SelectProps } from './components/Select/Select';\nexport { default as SelectMimicry } from './components/SelectMimicry/SelectMimicry';\nexport type { SelectMimicryProps } from './components/SelectMimicry/SelectMimicry';\nexport { default as NativeSelect } from './components/NativeSelect/NativeSelect';\nexport type { NativeSelectProps } from './components/NativeSelect/NativeSelect';\nexport { default as CustomSelect } from './components/CustomSelect/CustomSelect';\nexport type { CustomSelectProps, CustomSelectOptionInterface } from './components/CustomSelect/CustomSelect';\nexport { default as CustomSelectOption } from './components/CustomSelectOption/CustomSelectOption';\nexport type { CustomSelectOptionProps } from './components/CustomSelectOption/CustomSelectOption';\nexport { default as DatePicker } from './components/DatePicker/DatePicker';\nexport type { DatePickerProps, DatePickerDateFormat } from './components/DatePicker/DatePicker';\nexport { default as SliderSwitch } from './components/SliderSwitch/SliderSwitch';\nexport type { SliderSwitchProps, SliderSwitchOptionInterface } from './components/SliderSwitch/SliderSwitch';\n\n/**\n * Helpers\n */\nexport { default as Div } from './components/Div/Div';\nexport type { DivProps } from './components/Div/Div';\nexport { default as Tappable } from './components/Tappable/Tappable';\nexport type { TappableProps } from './components/Tappable/Tappable';\nexport { Touch } from './components/Touch/Touch';\nexport type { TouchProps } from './components/Touch/Touch';\nexport { default as PanelSpinner } from './components/PanelSpinner/PanelSpinner';\nexport type { PanelSpinnerProps } from './components/PanelSpinner/PanelSpinner';\nexport { default as PanelHeaderClose } from './components/PanelHeaderClose/PanelHeaderClose';\nexport { default as PanelHeaderBack } from './components/PanelHeaderBack/PanelHeaderBack';\nexport { default as PanelHeaderSubmit } from './components/PanelHeaderSubmit/PanelHeaderSubmit';\nexport { default as PanelHeaderEdit } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport type { PanelHeaderEditProps } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport { ModalCardBase } from './components/ModalCardBase/ModalCardBase';\nexport type { ModalCardBaseProps } from './components/ModalCardBase/ModalCardBase';\n\n/**\n * Wrappers\n */\nexport { AppRoot } from './components/AppRoot/AppRoot';\nexport { default as AdaptivityProvider } from './components/AdaptivityProvider/AdaptivityProvider';\nexport { default as ConfigProvider } from './components/ConfigProvider/ConfigProvider';\nexport type { ConfigProviderProps } from './components/ConfigProvider/ConfigProvider';\nexport {\n ConfigProviderContext,\n Appearance,\n Scheme,\n WebviewType,\n} from './components/ConfigProvider/ConfigProviderContext';\n\n/**\n * Advertisement\n */\nexport { default as PromoBanner } from './components/PromoBanner/PromoBanner';\nexport type { PromoBannerProps } from './components/PromoBanner/PromoBanner';\n\n/**\n * Typography\n */\nexport { default as Title } from './components/Typography/Title/Title';\nexport type { TitleProps } from './components/Typography/Title/Title';\nexport { default as Headline } from './components/Typography/Headline/Headline';\nexport type { HeadlineProps } from './components/Typography/Headline/Headline';\nexport { default as Text } from './components/Typography/Text/Text';\nexport type { TextProps } from './components/Typography/Text/Text';\nexport { default as Caption } from './components/Typography/Caption/Caption';\nexport type { CaptionProps } from './components/Typography/Caption/Caption';\nexport { default as Subhead } from './components/Typography/Subhead/Subhead';\nexport type { SubheadProps } from './components/Typography/Subhead/Subhead';\n\n/**\n * HOCs\n */\nexport { withInsets } from './hoc/withInsets';\nexport { withPlatform } from './hoc/withPlatform';\nexport { withAdaptivity } from './hoc/withAdaptivity';\n\n/**\n * Hooks\n */\nexport { useInsets } from './hooks/useInsets';\nexport { usePlatform } from './hooks/usePlatform';\nexport { useAdaptivity } from './hooks/useAdaptivity';\nexport { useAppearance } from './hooks/useAppearance';\n\n/**\n * Utils\n */\nexport { classNamesString as classNames } from './lib/classNames';\nexport { default as animate } from './lib/animate';\nexport { removeObjectKeys } from './lib/removeObjectKeys';\nexport { SSRWrapper } from './lib/SSR';\nexport { platform, ANDROID, IOS, VKCOM, Platform, IS_PLATFORM_ANDROID, IS_PLATFORM_IOS } from './lib/platform';\nexport { getClassName } from './helpers/getClassName';\nexport { ViewWidth, ViewHeight, SizeType } from './components/AdaptivityProvider/AdaptivityContext';\n\n/**\n * Types\n */\nexport type { AlignType, HasPlatform, HasInsets } from './types';\nexport type { NavIdProps } from './lib/getNavId';\nexport type { PlatformType } from './lib/platform';\nexport type { AdaptivityProps } from './hoc/withAdaptivity';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":["default","Root","View","Panel","PanelHeaderButton","PanelHeader","PanelHeaderContent","PanelHeaderContext","SplitLayout","SplitCol","Epic","Tabbar","TabbarItem","HorizontalScroll","FixedLayout","PopoutWrapper","Alert","ActionSheet","ActionSheetItem","ScreenSpinner","Snackbar","ModalRoot","withModalRootContext","ModalRootContext","ModalPage","ModalPageHeader","ModalCard","ModalDismissButton","Badge","Button","IconButton","Card","CardGrid","CardScroll","ContentCard","CellButton","Header","Group","Gradient","List","Cell","RichCell","SimpleCell","HorizontalCell","Footer","InfoRow","Gallery","Avatar","GridAvatar","InitialsAvatar","Progress","Search","Tabs","TabsItem","Spinner","PullToRefresh","Link","Tooltip","TooltipContainer","Counter","UsersStack","Separator","Spacing","Placeholder","Banner","MiniInfoCell","WriteBar","WriteBarIcon","SubnavigationBar","SubnavigationButton","FormLayout","FormItem","FormField","FormLayoutGroup","FormStatus","Switch","File","Input","Chip","ChipsInput","Slider","RangeSlider","Textarea","Radio","Checkbox","Select","SelectMimicry","NativeSelect","CustomSelect","CustomSelectOption","DatePicker","SliderSwitch","Div","Tappable","Touch","PanelSpinner","PanelHeaderClose","PanelHeaderBack","PanelHeaderSubmit","PanelHeaderEdit","ModalCardBase","AppRoot","AdaptivityProvider","ConfigProvider","ConfigProviderContext","Appearance","Scheme","WebviewType","PromoBanner","Title","Headline","Text","Caption","Subhead","withInsets","withPlatform","withAdaptivity","useInsets","usePlatform","useAdaptivity","useAppearance","classNamesString","classNames","animate","removeObjectKeys","SSRWrapper","platform","ANDROID","IOS","VKCOM","Platform","IS_PLATFORM_ANDROID","IS_PLATFORM_IOS","getClassName","ViewWidth","ViewHeight","SizeType"],"mappings":"AAAA;AAEA;AACA;AACA;AAEA;AACA;AACA;;AACA,SAASA,OAAO,IAAIC,IAApB;AAEA,SAASD,OAAO,IAAIE,IAApB;AAEA,SAASC,KAAT;AAEA,SAASC,iBAAT;AAEA,SAASJ,OAAO,IAAIK,WAApB;AAEA,SAASL,OAAO,IAAIM,kBAApB;AAEA,SAASC,kBAAT;AAEA,SAASC,WAAT;AAEA,SAASC,QAAT;AAEA,SAAST,OAAO,IAAIU,IAApB;AAEA,SAASV,OAAO,IAAIW,MAApB;AAEA,SAASX,OAAO,IAAIY,UAApB;AAEA,SAASZ,OAAO,IAAIa,gBAApB;AAEA,SAASb,OAAO,IAAIc,WAApB;;AAGA;AACA;AACA;AACA,SAASC,aAAT;AAEA,SAASf,OAAO,IAAIgB,KAApB;AAEA,SAASC,WAAT;AAEA,SAASjB,OAAO,IAAIkB,eAApB;AAEA,SAASlB,OAAO,IAAImB,aAApB;AAEA,SAASC,QAAT;;AAGA;AACA;AACA;AACA,SAASC,SAAT;AAEA,SAASC,oBAAT;AACA,SAAStB,OAAO,IAAIuB,gBAApB;AACA,SAASvB,OAAO,IAAIwB,SAApB;AAEA,SAASxB,OAAO,IAAIyB,eAApB;AAEA,SAASzB,OAAO,IAAI0B,SAApB;AAEA,SAAS1B,OAAO,IAAI2B,kBAApB;;AAGA;AACA;AACA;AACA,SAASC,KAAT;AAEA,SAAS5B,OAAO,IAAI6B,MAApB;AAEA,SAAS7B,OAAO,IAAI8B,UAApB;AAEA,SAAS9B,OAAO,IAAI+B,IAApB;AAEA,SAAS/B,OAAO,IAAIgC,QAApB;AAEA,SAAShC,OAAO,IAAIiC,UAApB;AAEA,SAASjC,OAAO,IAAIkC,WAApB;AAEA,SAASC,UAAT;AAEA,SAASnC,OAAO,IAAIoC,MAApB;AAEA,SAASpC,OAAO,IAAIqC,KAApB;AAEA,SAASrC,OAAO,IAAIsC,QAApB;AAEA,SAAStC,OAAO,IAAIuC,IAApB;AACA,SAASC,IAAT;AAEA,SAASxC,OAAO,IAAIyC,QAApB;AAEA,SAASzC,OAAO,IAAI0C,UAApB;AAEA,SAASC,cAAT;AAEA,SAASC,MAAT;AAEA,SAAS5C,OAAO,IAAI6C,OAApB;AAEA,SAAS7C,OAAO,IAAI8C,OAApB;AAEA,SAAS9C,OAAO,IAAI+C,MAApB;AAEA,SAASC,UAAT;AAEA,SAASC,cAAT;AAEA,SAASjD,OAAO,IAAIkD,QAApB;AAEA,SAASlD,OAAO,IAAImD,MAApB;AAEA,SAASnD,OAAO,IAAIoD,IAApB;AAEA,SAASpD,OAAO,IAAIqD,QAApB;AAEA,SAASrD,OAAO,IAAIsD,OAApB;AAEA,SAAStD,OAAO,IAAIuD,aAApB;AAEA,SAASvD,OAAO,IAAIwD,IAApB;AAEA,SAASxD,OAAO,IAAIyD,OAApB;AAEA,SAASC,gBAAT;AACA,SAAS1D,OAAO,IAAI2D,OAApB;AAEA,SAAS3D,OAAO,IAAI4D,UAApB;AAEA,SAAS5D,OAAO,IAAI6D,SAApB;AAEA,SAASC,OAAT;AAEA,SAAS9D,OAAO,IAAI+D,WAApB;AAEA,SAAS/D,OAAO,IAAIgE,MAApB;AAEA,SAASC,YAAT;AAEA,SAASC,QAAT;AAEA,SAASC,YAAT;AAEA,SAASC,gBAAT;AAEA,SAASC,mBAAT;;AAGA;AACA;AACA;AACA,SAASrE,OAAO,IAAIsE,UAApB;AAEA,SAASC,QAAT;AAEA,SAASC,SAAT;AAEA,SAASxE,OAAO,IAAIyE,eAApB;AAEA,SAASC,UAAT;AAEA,SAASC,MAAT;AAEA,SAAS3E,OAAO,IAAI4E,IAApB;AAEA,SAAS5E,OAAO,IAAI6E,KAApB;AAEA,SAAS7E,OAAO,IAAI8E,IAApB;AAEA,SAAS9E,OAAO,IAAI+E,UAApB;AAEA,SAAS/E,OAAO,IAAIgF,MAApB;AAEA,SAAShF,OAAO,IAAIiF,WAApB;AAEA,SAASjF,OAAO,IAAIkF,QAApB;AAEA,SAASlF,OAAO,IAAImF,KAApB;AAEA,SAASnF,OAAO,IAAIoF,QAApB;AAEA,SAASpF,OAAO,IAAIqF,MAApB;AAEA,SAASrF,OAAO,IAAIsF,aAApB;AAEA,SAAStF,OAAO,IAAIuF,YAApB;AAEA,SAASvF,OAAO,IAAIwF,YAApB;AAEA,SAASxF,OAAO,IAAIyF,kBAApB;AAEA,SAASzF,OAAO,IAAI0F,UAApB;AAEA,SAAS1F,OAAO,IAAI2F,YAApB;;AAGA;AACA;AACA;AACA,SAAS3F,OAAO,IAAI4F,GAApB;AAEA,SAAS5F,OAAO,IAAI6F,QAApB;AAEA,SAASC,KAAT;AAEA,SAAS9F,OAAO,IAAI+F,YAApB;AAEA,SAAS/F,OAAO,IAAIgG,gBAApB;AACA,SAAShG,OAAO,IAAIiG,eAApB;AACA,SAASjG,OAAO,IAAIkG,iBAApB;AACA,SAASlG,OAAO,IAAImG,eAApB;AAEA,SAASC,aAAT;;AAGA;AACA;AACA;AACA,SAASC,OAAT;AACA,SAASrG,OAAO,IAAIsG,kBAApB;AACA,SAAStG,OAAO,IAAIuG,cAApB;AAEA,SACEC,qBADF,EAEEC,UAFF,EAGEC,MAHF,EAIEC,WAJF;AAOA;AACA;AACA;;AACA,SAAS3G,OAAO,IAAI4G,WAApB;;AAGA;AACA;AACA;AACA,SAAS5G,OAAO,IAAI6G,KAApB;AAEA,SAAS7G,OAAO,IAAI8G,QAApB;AAEA,SAAS9G,OAAO,IAAI+G,IAApB;AAEA,SAAS/G,OAAO,IAAIgH,OAApB;AAEA,SAAShH,OAAO,IAAIiH,OAApB;;AAGA;AACA;AACA;AACA,SAASC,UAAT;AACA,SAASC,YAAT;AACA,SAASC,cAAT;AAEA;AACA;AACA;;AACA,SAASC,SAAT;AACA,SAASC,WAAT;AACA,SAASC,aAAT;AACA,SAASC,aAAT;AAEA;AACA;AACA;;AACA,SAASC,gBAAgB,IAAIC,UAA7B;AACA,SAAS1H,OAAO,IAAI2H,OAApB;AACA,SAASC,gBAAT;AACA,SAASC,UAAT;AACA,SAASC,QAAT,EAAmBC,OAAnB,EAA4BC,GAA5B,EAAiCC,KAAjC,EAAwCC,QAAxC,EAAkDC,mBAAlD,EAAuEC,eAAvE;AACA,SAASC,YAAT;AACA,SAASC,SAAT,EAAoBC,UAApB,EAAgCC,QAAhC;AAEA;AACA;AACA","sourcesContent":["import './lib/polyfills';\n\nimport './styles/constants.css';\nimport './styles/animations.css';\nimport './styles/common.css';\n\n/**\n * Layout\n */\nexport { default as Root } from './components/Root/Root';\nexport type { RootProps } from './components/Root/Root';\nexport { default as View } from './components/View/View';\nexport type { ViewProps } from './components/View/View';\nexport { Panel } from './components/Panel/Panel';\nexport type { PanelProps } from './components/Panel/Panel';\nexport { PanelHeaderButton } from './components/PanelHeaderButton/PanelHeaderButton';\nexport type { PanelHeaderButtonProps } from './components/PanelHeaderButton/PanelHeaderButton';\nexport { default as PanelHeader } from './components/PanelHeader/PanelHeader';\nexport type { PanelHeaderProps } from './components/PanelHeader/PanelHeader';\nexport { default as PanelHeaderContent } from './components/PanelHeaderContent/PanelHeaderContent';\nexport type { PanelHeaderContentProps } from './components/PanelHeaderContent/PanelHeaderContent';\nexport { PanelHeaderContext } from './components/PanelHeaderContext/PanelHeaderContext';\nexport type { PanelHeaderContextProps } from './components/PanelHeaderContext/PanelHeaderContext';\nexport { SplitLayout } from './components/SplitLayout/SplitLayout';\nexport type { SplitLayoutProps } from './components/SplitLayout/SplitLayout';\nexport { SplitCol } from './components/SplitCol/SplitCol';\nexport type { SplitColProps } from './components/SplitCol/SplitCol';\nexport { default as Epic } from './components/Epic/Epic';\nexport type { EpicProps } from './components/Epic/Epic';\nexport { default as Tabbar } from './components/Tabbar/Tabbar';\nexport type { TabbarProps } from './components/Tabbar/Tabbar';\nexport { default as TabbarItem } from './components/TabbarItem/TabbarItem';\nexport type { TabbarItemProps } from './components/TabbarItem/TabbarItem';\nexport { default as HorizontalScroll } from './components/HorizontalScroll/HorizontalScroll';\nexport type { HorizontalScrollProps } from './components/HorizontalScroll/HorizontalScroll';\nexport { default as FixedLayout } from './components/FixedLayout/FixedLayout';\nexport type { FixedLayoutProps } from './components/FixedLayout/FixedLayout';\n\n/**\n * Popouts\n */\nexport { PopoutWrapper } from './components/PopoutWrapper/PopoutWrapper';\nexport type { PopoutWrapperProps } from './components/PopoutWrapper/PopoutWrapper';\nexport { default as Alert } from './components/Alert/Alert';\nexport type { AlertProps, AlertActionInterface } from './components/Alert/Alert';\nexport { ActionSheet } from './components/ActionSheet/ActionSheet';\nexport type { ActionSheetProps } from './components/ActionSheet/ActionSheet';\nexport { default as ActionSheetItem } from './components/ActionSheetItem/ActionSheetItem';\nexport type { ActionSheetItemProps } from './components/ActionSheetItem/ActionSheetItem';\nexport { default as ScreenSpinner } from './components/ScreenSpinner/ScreenSpinner';\nexport type { ScreenSpinnerProps } from './components/ScreenSpinner/ScreenSpinner';\nexport { Snackbar } from './components/Snackbar/Snackbar';\nexport type { SnackbarProps } from './components/Snackbar/Snackbar';\n\n/**\n * Modals\n */\nexport { ModalRoot } from './components/ModalRoot/ModalRootAdaptive';\nexport type { ModalRootProps } from './components/ModalRoot/ModalRootAdaptive';\nexport { withModalRootContext } from './components/ModalRoot/withModalRootContext';\nexport { default as ModalRootContext } from './components/ModalRoot/ModalRootContext';\nexport { default as ModalPage } from './components/ModalPage/ModalPage';\nexport type { ModalPageProps } from './components/ModalPage/ModalPage';\nexport { default as ModalPageHeader } from './components/ModalPageHeader/ModalPageHeader';\nexport type { ModalPageHeaderProps } from './components/ModalPageHeader/ModalPageHeader';\nexport { default as ModalCard } from './components/ModalCard/ModalCard';\nexport type { ModalCardProps } from './components/ModalCard/ModalCard';\nexport { default as ModalDismissButton } from './components/ModalDismissButton/ModalDismissButton';\nexport type { ModalDismissButtonProps } from './components/ModalDismissButton/ModalDismissButton';\n\n/**\n * Blocks\n */\nexport { Badge } from './components/Badge/Badge';\nexport type { BadgeProps } from './components/Badge/Badge';\nexport { default as Button } from './components/Button/Button';\nexport type { ButtonProps } from './components/Button/Button';\nexport { default as IconButton } from './components/IconButton/IconButton';\nexport type { IconButtonProps } from './components/IconButton/IconButton';\nexport { default as Card } from './components/Card/Card';\nexport type { CardProps } from './components/Card/Card';\nexport { default as CardGrid } from './components/CardGrid/CardGrid';\nexport type { CardGridProps } from './components/CardGrid/CardGrid';\nexport { default as CardScroll } from './components/CardScroll/CardScroll';\nexport type { CardScrollProps } from './components/CardScroll/CardScroll';\nexport { default as ContentCard } from './components/ContentCard/ContentCard';\nexport type { ContentCardProps } from './components/ContentCard/ContentCard';\nexport { CellButton } from './components/CellButton/CellButton';\nexport type { CellButtonProps } from './components/CellButton/CellButton';\nexport { default as Header } from './components/Header/Header';\nexport type { HeaderProps } from './components/Header/Header';\nexport { default as Group } from './components/Group/Group';\nexport type { GroupProps } from './components/Group/Group';\nexport { default as Gradient } from './components/Gradient/Gradient';\nexport type { GradientProps } from './components/Gradient/Gradient';\nexport { default as List } from './components/List/List';\nexport { Cell } from './components/Cell/Cell';\nexport type { CellProps } from './components/Cell/Cell';\nexport { default as RichCell } from './components/RichCell/RichCell';\nexport type { RichCellProps } from './components/RichCell/RichCell';\nexport { default as SimpleCell } from './components/SimpleCell/SimpleCell';\nexport type { SimpleCellProps } from './components/SimpleCell/SimpleCell';\nexport { HorizontalCell } from './components/HorizontalCell/HorizontalCell';\nexport type { HorizontalCellProps } from './components/HorizontalCell/HorizontalCell';\nexport { Footer } from './components/Footer/Footer';\nexport type { FooterProps } from './components/Footer/Footer';\nexport { default as InfoRow } from './components/InfoRow/InfoRow';\nexport type { InfoRowProps } from './components/InfoRow/InfoRow';\nexport { default as Gallery } from './components/Gallery/Gallery';\nexport type { GalleryProps } from './components/Gallery/Gallery';\nexport { default as Avatar } from './components/Avatar/Avatar';\nexport type { AvatarProps } from './components/Avatar/Avatar';\nexport { GridAvatar } from './components/GridAvatar/GridAvatar';\nexport type { GridAvatarProps } from './components/GridAvatar/GridAvatar';\nexport { InitialsAvatar } from './components/InitialsAvatar/InitialsAvatar';\nexport type { InitialsAvatarProps } from './components/InitialsAvatar/InitialsAvatar';\nexport { default as Progress } from './components/Progress/Progress';\nexport type { ProgressProps } from './components/Progress/Progress';\nexport { default as Search } from './components/Search/Search';\nexport type { SearchProps } from './components/Search/Search';\nexport { default as Tabs } from './components/Tabs/Tabs';\nexport type { TabsProps } from './components/Tabs/Tabs';\nexport { default as TabsItem } from './components/TabsItem/TabsItem';\nexport type { TabsItemProps } from './components/TabsItem/TabsItem';\nexport { default as Spinner } from './components/Spinner/Spinner';\nexport type { SpinnerProps } from './components/Spinner/Spinner';\nexport { default as PullToRefresh } from './components/PullToRefresh/PullToRefresh';\nexport type { PullToRefreshProps } from './components/PullToRefresh/PullToRefresh';\nexport { default as Link } from './components/Link/Link';\nexport type { LinkProps } from './components/Link/Link';\nexport { default as Tooltip } from './components/Tooltip/Tooltip';\nexport type { TooltipProps } from './components/Tooltip/Tooltip';\nexport { TooltipContainer } from './components/Tooltip/TooltipContainer';\nexport { default as Counter } from './components/Counter/Counter';\nexport type { CounterProps } from './components/Counter/Counter';\nexport { default as UsersStack } from './components/UsersStack/UsersStack';\nexport type { UsersStackProps } from './components/UsersStack/UsersStack';\nexport { default as Separator } from './components/Separator/Separator';\nexport type { SeparatorProps } from './components/Separator/Separator';\nexport { Spacing } from './components/Spacing/Spacing';\nexport type { SpacingProps } from './components/Spacing/Spacing';\nexport { default as Placeholder } from './components/Placeholder/Placeholder';\nexport type { PlaceholderProps } from './components/Placeholder/Placeholder';\nexport { default as Banner } from './components/Banner/Banner';\nexport type { BannerProps } from './components/Banner/Banner';\nexport { MiniInfoCell } from './components/MiniInfoCell/MiniInfoCell';\nexport type { MiniInfoCellProps } from './components/MiniInfoCell/MiniInfoCell';\nexport { WriteBar } from './components/WriteBar/WriteBar';\nexport type { WriteBarProps } from './components/WriteBar/WriteBar';\nexport { WriteBarIcon } from './components/WriteBarIcon/WriteBarIcon';\nexport type { WriteBarIconProps } from './components/WriteBarIcon/WriteBarIcon';\nexport { SubnavigationBar } from './components/SubnavigationBar/SubnavigationBar';\nexport type { SubnavigationBarProps } from './components/SubnavigationBar/SubnavigationBar';\nexport { SubnavigationButton } from './components/SubnavigationButton/SubnavigationButton';\nexport type { SubnavigationButtonProps } from './components/SubnavigationButton/SubnavigationButton';\n\n/**\n * Forms\n */\nexport { default as FormLayout } from './components/FormLayout/FormLayout';\nexport type { FormLayoutProps } from './components/FormLayout/FormLayout';\nexport { FormItem } from './components/FormItem/FormItem';\nexport type { FormItemProps } from './components/FormItem/FormItem';\nexport { FormField } from './components/FormField/FormField';\nexport type { FormFieldProps } from './components/FormField/FormField';\nexport { default as FormLayoutGroup } from './components/FormLayoutGroup/FormLayoutGroup';\nexport type { FormLayoutGroupProps } from './components/FormLayoutGroup/FormLayoutGroup';\nexport { FormStatus } from './components/FormStatus/FormStatus';\nexport type { FormStatusProps } from './components/FormStatus/FormStatus';\nexport { Switch } from './components/Switch/Switch';\nexport type { SwitchProps } from './components/Switch/Switch';\nexport { default as File } from './components/File/File';\nexport type { FileProps } from './components/File/File';\nexport { default as Input } from './components/Input/Input';\nexport type { InputProps } from './components/Input/Input';\nexport { default as Chip } from './components/Chip/Chip';\nexport type { ChipProps } from './components/Chip/Chip';\nexport { default as ChipsInput } from './components/ChipsInput/ChipsInput';\nexport type { ChipsInputProps } from './components/ChipsInput/ChipsInput';\nexport { default as Slider } from './components/Slider/Slider';\nexport type { SliderProps } from './components/Slider/Slider';\nexport { default as RangeSlider } from './components/RangeSlider/RangeSlider';\nexport type { RangeSliderProps } from './components/RangeSlider/RangeSlider';\nexport { default as Textarea } from './components/Textarea/Textarea';\nexport type { TextareaProps } from './components/Textarea/Textarea';\nexport { default as Radio } from './components/Radio/Radio';\nexport type { RadioProps } from './components/Radio/Radio';\nexport { default as Checkbox } from './components/Checkbox/Checkbox';\nexport type { CheckboxProps } from './components/Checkbox/Checkbox';\nexport { default as Select } from './components/Select/Select';\nexport type { SelectProps } from './components/Select/Select';\nexport { default as SelectMimicry } from './components/SelectMimicry/SelectMimicry';\nexport type { SelectMimicryProps } from './components/SelectMimicry/SelectMimicry';\nexport { default as NativeSelect } from './components/NativeSelect/NativeSelect';\nexport type { NativeSelectProps } from './components/NativeSelect/NativeSelect';\nexport { default as CustomSelect } from './components/CustomSelect/CustomSelect';\nexport type { CustomSelectProps, CustomSelectOptionInterface } from './components/CustomSelect/CustomSelect';\nexport { default as CustomSelectOption } from './components/CustomSelectOption/CustomSelectOption';\nexport type { CustomSelectOptionProps } from './components/CustomSelectOption/CustomSelectOption';\nexport { default as DatePicker } from './components/DatePicker/DatePicker';\nexport type { DatePickerProps, DatePickerDateFormat } from './components/DatePicker/DatePicker';\nexport { default as SliderSwitch } from './components/SliderSwitch/SliderSwitch';\nexport type { SliderSwitchProps, SliderSwitchOptionInterface } from './components/SliderSwitch/SliderSwitch';\n\n/**\n * Helpers\n */\nexport { default as Div } from './components/Div/Div';\nexport type { DivProps } from './components/Div/Div';\nexport { default as Tappable } from './components/Tappable/Tappable';\nexport type { TappableProps } from './components/Tappable/Tappable';\nexport { Touch } from './components/Touch/Touch';\nexport type { TouchProps } from './components/Touch/Touch';\nexport { default as PanelSpinner } from './components/PanelSpinner/PanelSpinner';\nexport type { PanelSpinnerProps } from './components/PanelSpinner/PanelSpinner';\nexport { default as PanelHeaderClose } from './components/PanelHeaderClose/PanelHeaderClose';\nexport { default as PanelHeaderBack } from './components/PanelHeaderBack/PanelHeaderBack';\nexport { default as PanelHeaderSubmit } from './components/PanelHeaderSubmit/PanelHeaderSubmit';\nexport { default as PanelHeaderEdit } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport type { PanelHeaderEditProps } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport { ModalCardBase } from './components/ModalCardBase/ModalCardBase';\nexport type { ModalCardBaseProps } from './components/ModalCardBase/ModalCardBase';\n\n/**\n * Wrappers\n */\nexport { AppRoot } from './components/AppRoot/AppRoot';\nexport { default as AdaptivityProvider } from './components/AdaptivityProvider/AdaptivityProvider';\nexport { default as ConfigProvider } from './components/ConfigProvider/ConfigProvider';\nexport type { ConfigProviderProps } from './components/ConfigProvider/ConfigProvider';\nexport {\n ConfigProviderContext,\n Appearance,\n Scheme,\n WebviewType,\n} from './components/ConfigProvider/ConfigProviderContext';\n\n/**\n * Advertisement\n */\nexport { default as PromoBanner } from './components/PromoBanner/PromoBanner';\nexport type { PromoBannerProps } from './components/PromoBanner/PromoBanner';\n\n/**\n * Typography\n */\nexport { default as Title } from './components/Typography/Title/Title';\nexport type { TitleProps } from './components/Typography/Title/Title';\nexport { default as Headline } from './components/Typography/Headline/Headline';\nexport type { HeadlineProps } from './components/Typography/Headline/Headline';\nexport { default as Text } from './components/Typography/Text/Text';\nexport type { TextProps } from './components/Typography/Text/Text';\nexport { default as Caption } from './components/Typography/Caption/Caption';\nexport type { CaptionProps } from './components/Typography/Caption/Caption';\nexport { default as Subhead } from './components/Typography/Subhead/Subhead';\nexport type { SubheadProps } from './components/Typography/Subhead/Subhead';\n\n/**\n * HOCs\n */\nexport { withInsets } from './hoc/withInsets';\nexport { withPlatform } from './hoc/withPlatform';\nexport { withAdaptivity } from './hoc/withAdaptivity';\n\n/**\n * Hooks\n */\nexport { useInsets } from './hooks/useInsets';\nexport { usePlatform } from './hooks/usePlatform';\nexport { useAdaptivity } from './hooks/useAdaptivity';\nexport { useAppearance } from './hooks/useAppearance';\n\n/**\n * Utils\n */\nexport { classNamesString as classNames } from './lib/classNames';\nexport { default as animate } from './lib/animate';\nexport { removeObjectKeys } from './lib/removeObjectKeys';\nexport { SSRWrapper } from './lib/SSR';\nexport { platform, ANDROID, IOS, VKCOM, Platform, IS_PLATFORM_ANDROID, IS_PLATFORM_IOS } from './lib/platform';\nexport { getClassName } from './helpers/getClassName';\nexport { ViewWidth, ViewHeight, SizeType } from './components/AdaptivityProvider/AdaptivityContext';\n\n/**\n * Types\n */\nexport type { AlignType, HasPlatform, HasInsets } from './types';\nexport type { NavIdProps } from './lib/getNavId';\nexport type { PlatformType } from './lib/platform';\nexport type { AdaptivityProps } from './hoc/withAdaptivity';\n"],"file":"index.js"}
@@ -1 +1 @@
1
- @-webkit-keyframes vkui-rotator{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes vkui-rotator{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}
1
+ @-webkit-keyframes vkui-rotator{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes vkui-rotator{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes vkui-popper-fadein{0%{opacity:0}to{opacity:1}}@keyframes vkui-popper-fadein{0%{opacity:0}to{opacity:1}}
@@ -1 +1 @@
1
- .vkui>body{overflow-x:hidden}.vkui,.vkui>body,.vkui__root{margin:0;padding:0;height:100%}.vkui,.vkui>body,.vkui__root,.vkui__portal-root{-webkit-font-smoothing:subpixel-antialiased;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;font-family:-apple-system,system-ui,Helvetica Neue,Roboto,sans-serif;font-family:var(--font-common);color:#000;color:var(--text_primary)}.vkui__root input,.vkui__root textarea,.vkui__root select,.vkui__root button{font-family:inherit}.vkui__root :focus{outline:0}
1
+ .vkui>body{overflow-x:hidden}.vkui,.vkui>body,.vkui__root{margin:0;padding:0;height:100%}.vkui,.vkui>body,.vkui__root,.vkui__portal-root{-webkit-font-smoothing:subpixel-antialiased;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;font-family:-apple-system,system-ui,Helvetica Neue,Roboto,sans-serif;font-family:var(--font-common);color:#000;color:var(--text_primary)}.vkui__root input,.vkui__root textarea,.vkui__root select,.vkui__root button,.vkui__portal-root input,.vkui__portal-root textarea,.vkui__portal-root select,.vkui__portal-root button{font-family:inherit}.vkui__root :focus,.vkui__portal-root :focus{outline:0}