@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
@@ -9,7 +9,7 @@ import { ViewWidth, ViewHeight } from "../../hoc/withAdaptivity";
9
9
  import { IOS } from "../../lib/platform";
10
10
  import { ActionSheetDropdownDesktop } from "./ActionSheetDropdownDesktop";
11
11
  import { ActionSheetDropdown } from "./ActionSheetDropdown";
12
- import { hasReactNode } from "../../lib/utils";
12
+ import { hasReactNode, noop } from "../../lib/utils";
13
13
  import { ActionSheetContext } from "./ActionSheetContext";
14
14
  import Caption from "../Typography/Caption/Caption";
15
15
  import { usePlatform } from "../../hooks/usePlatform";
@@ -39,8 +39,14 @@ export var ActionSheet = function ActionSheet(_ref) {
39
39
  return setClosing(true);
40
40
  };
41
41
 
42
+ var _action = React.useRef(noop);
43
+
42
44
  var afterClose = function afterClose() {
43
45
  restProps.onClose();
46
+
47
+ _action.current();
48
+
49
+ _action.current = noop;
44
50
  };
45
51
 
46
52
  if (process.env.NODE_ENV === 'development' && !restProps.onClose) {
@@ -54,24 +60,32 @@ export var ActionSheet = function ActionSheet(_ref) {
54
60
 
55
61
  var isDesktop = viewWidth >= ViewWidth.SMALL_TABLET && (hasMouse || viewHeight >= ViewHeight.MEDIUM);
56
62
  var timeout = platform === IOS ? 300 : 200;
63
+
64
+ if (isDesktop) {
65
+ timeout = 0;
66
+ }
67
+
57
68
  var fallbackTransitionFinish = useTimeout(afterClose, timeout);
58
69
  React.useEffect(function () {
59
70
  if (closing) {
60
- if (isDesktop) {
61
- afterClose();
62
- } else {
63
- fallbackTransitionFinish.set();
64
- }
71
+ fallbackTransitionFinish.set();
65
72
  } else {
66
73
  fallbackTransitionFinish.clear();
67
74
  }
68
75
  }, [closing]);
69
- var onItemClick = React.useCallback(function (action, autoclose) {
76
+ var onItemClick = React.useCallback(function (action, immediateAction, autoclose) {
70
77
  return function (event) {
71
- action && action(event);
78
+ event.persist();
79
+ immediateAction && immediateAction(event);
72
80
 
73
81
  if (autoclose) {
82
+ _action.current = function () {
83
+ return action && action(event);
84
+ };
85
+
74
86
  setClosing(true);
87
+ } else {
88
+ action && action(event);
75
89
  }
76
90
  };
77
91
  }, []);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheet.tsx"],"names":["React","PopoutWrapper","ViewWidth","ViewHeight","IOS","ActionSheetDropdownDesktop","ActionSheetDropdown","hasReactNode","ActionSheetContext","Caption","usePlatform","useTimeout","useAdaptivity","useObjectMemo","warnOnce","warn","ActionSheet","children","className","header","text","style","iosCloseItem","restProps","platform","useState","closing","setClosing","onClose","afterClose","process","env","NODE_ENV","viewWidth","viewHeight","hasMouse","isDesktop","SMALL_TABLET","MEDIUM","timeout","fallbackTransitionFinish","useEffect","set","clear","onItemClick","useCallback","action","autoclose","event","contextValue","DropdownComponent","defaultProps","popupDirection"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport { ViewWidth, ViewHeight } from '../../hoc/withAdaptivity';\nimport { IOS } from '../../lib/platform';\nimport { ActionSheetDropdownDesktop } from './ActionSheetDropdownDesktop';\nimport { ActionSheetDropdown } from './ActionSheetDropdown';\nimport { hasReactNode } from '../../lib/utils';\nimport { ActionSheetContext, ItemClickHandler } from './ActionSheetContext';\nimport Caption from '../Typography/Caption/Caption';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { SharedDropdownProps, PopupDirection, ToggleRef } from './types';\nimport './ActionSheet.css';\n\nexport interface ActionSheetProps extends React.HTMLAttributes<HTMLDivElement> {\n header?: React.ReactNode;\n text?: React.ReactNode;\n /**\n * Закрыть попап по клику снаружи. В v5 будет обязательным.\n */\n onClose?: VoidFunction;\n /**\n * Элемент, рядом с которым вылезает попап на десктопе.\n * Лучше передавать RefObject c current.\n * В v5 будет обязательным.\n */\n toggleRef?: ToggleRef;\n /**\n * Направление на десктопе\n */\n popupDirection?: PopupDirection;\n /**\n * Только iOS. В v5 будет обязательным.\n */\n iosCloseItem?: React.ReactNode;\n}\n\nconst warn = warnOnce('ActionSheet');\n\nexport const ActionSheet: React.FC<ActionSheetProps> = ({\n children,\n className,\n header,\n text,\n style,\n iosCloseItem,\n ...restProps\n}: ActionSheetProps) => {\n const platform = usePlatform();\n const [closing, setClosing] = React.useState(false);\n const onClose = () => setClosing(true);\n\n const afterClose = () => {\n restProps.onClose();\n };\n\n if (process.env.NODE_ENV === 'development' && !restProps.onClose) {\n warn('can\\'t close on outer click without onClose');\n }\n\n const { viewWidth, viewHeight, hasMouse } = useAdaptivity();\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET && (hasMouse || viewHeight >= ViewHeight.MEDIUM);\n\n const timeout = platform === IOS ? 300 : 200;\n\n const fallbackTransitionFinish = useTimeout(afterClose, timeout);\n React.useEffect(() => {\n if (closing) {\n if (isDesktop) {\n afterClose();\n } else {\n fallbackTransitionFinish.set();\n }\n } else {\n fallbackTransitionFinish.clear();\n }\n }, [closing]);\n\n const onItemClick = React.useCallback<ItemClickHandler>((action, autoclose) => (event) => {\n action && action(event);\n if (autoclose) {\n setClosing(true);\n }\n }, []);\n const contextValue = useObjectMemo({ onItemClick, isDesktop });\n\n const DropdownComponent = isDesktop\n ? ActionSheetDropdownDesktop\n : ActionSheetDropdown;\n\n return (\n <PopoutWrapper\n closing={closing}\n alignY=\"bottom\"\n className={className}\n style={style}\n onClick={!isDesktop ? onClose : null}\n hasMask={!isDesktop}\n fixed={!isDesktop}\n >\n <ActionSheetContext.Provider value={contextValue}>\n <DropdownComponent\n closing={closing}\n timeout={timeout}\n {...restProps as Omit<SharedDropdownProps, 'closing'>}\n onClose={onClose}\n >\n {(hasReactNode(header) || hasReactNode(text)) &&\n <header vkuiClass=\"ActionSheet__header\">\n {hasReactNode(header) &&\n <Caption level=\"1\" weight={platform === IOS ? 'semibold' : 'medium'} vkuiClass=\"ActionSheet__title\">\n {header}\n </Caption>\n }\n {hasReactNode(text) && <Caption level=\"1\" weight=\"regular\" vkuiClass=\"ActionSheet__text\">{text}</Caption>}\n </header>\n }\n {children}\n {platform === IOS && !isDesktop && iosCloseItem}\n </DropdownComponent>\n </ActionSheetContext.Provider>\n </PopoutWrapper>\n );\n};\n\nActionSheet.defaultProps = {\n popupDirection: 'bottom',\n};\n"],"file":"ActionSheet.js"}
1
+ {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheet.tsx"],"names":["React","PopoutWrapper","ViewWidth","ViewHeight","IOS","ActionSheetDropdownDesktop","ActionSheetDropdown","hasReactNode","noop","ActionSheetContext","Caption","usePlatform","useTimeout","useAdaptivity","useObjectMemo","warnOnce","warn","ActionSheet","children","className","header","text","style","iosCloseItem","restProps","platform","useState","closing","setClosing","onClose","_action","useRef","afterClose","current","process","env","NODE_ENV","viewWidth","viewHeight","hasMouse","isDesktop","SMALL_TABLET","MEDIUM","timeout","fallbackTransitionFinish","useEffect","set","clear","onItemClick","useCallback","action","immediateAction","autoclose","event","persist","contextValue","DropdownComponent","defaultProps","popupDirection"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport { ViewWidth, ViewHeight } from '../../hoc/withAdaptivity';\nimport { IOS } from '../../lib/platform';\nimport { ActionSheetDropdownDesktop } from './ActionSheetDropdownDesktop';\nimport { ActionSheetDropdown } from './ActionSheetDropdown';\nimport { hasReactNode, noop } from '../../lib/utils';\nimport { ActionSheetContext, ItemClickHandler } from './ActionSheetContext';\nimport Caption from '../Typography/Caption/Caption';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { SharedDropdownProps, PopupDirection, ToggleRef } from './types';\nimport './ActionSheet.css';\n\nexport interface ActionSheetProps extends React.HTMLAttributes<HTMLDivElement> {\n header?: React.ReactNode;\n text?: React.ReactNode;\n /**\n * Закрыть попап по клику снаружи. В v5 будет обязательным.\n */\n onClose?: VoidFunction;\n /**\n * Элемент, рядом с которым вылезает попап на десктопе.\n * Лучше передавать RefObject c current.\n * В v5 будет обязательным.\n */\n toggleRef?: ToggleRef;\n /**\n * Направление на десктопе\n */\n popupDirection?: PopupDirection;\n /**\n * Только iOS. В v5 будет обязательным.\n */\n iosCloseItem?: React.ReactNode;\n}\n\nconst warn = warnOnce('ActionSheet');\n\nexport const ActionSheet: React.FC<ActionSheetProps> = ({\n children,\n className,\n header,\n text,\n style,\n iosCloseItem,\n ...restProps\n}: ActionSheetProps) => {\n const platform = usePlatform();\n const [closing, setClosing] = React.useState(false);\n const onClose = () => setClosing(true);\n const _action = React.useRef(noop);\n\n const afterClose = () => {\n restProps.onClose();\n _action.current();\n _action.current = noop;\n };\n\n if (process.env.NODE_ENV === 'development' && !restProps.onClose) {\n warn('can\\'t close on outer click without onClose');\n }\n\n const { viewWidth, viewHeight, hasMouse } = useAdaptivity();\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET && (hasMouse || viewHeight >= ViewHeight.MEDIUM);\n\n let timeout = platform === IOS ? 300 : 200;\n\n if (isDesktop) {\n timeout = 0;\n }\n\n const fallbackTransitionFinish = useTimeout(afterClose, timeout);\n React.useEffect(() => {\n if (closing) {\n fallbackTransitionFinish.set();\n } else {\n fallbackTransitionFinish.clear();\n }\n }, [closing]);\n\n const onItemClick = React.useCallback<ItemClickHandler>((action, immediateAction, autoclose) => (event) => {\n event.persist();\n immediateAction && immediateAction(event);\n if (autoclose) {\n _action.current = () => action && action(event);\n setClosing(true);\n } else {\n action && action(event);\n }\n }, []);\n const contextValue = useObjectMemo({ onItemClick, isDesktop });\n\n const DropdownComponent = isDesktop\n ? ActionSheetDropdownDesktop\n : ActionSheetDropdown;\n\n return (\n <PopoutWrapper\n closing={closing}\n alignY=\"bottom\"\n className={className}\n style={style}\n onClick={!isDesktop ? onClose : null}\n hasMask={!isDesktop}\n fixed={!isDesktop}\n >\n <ActionSheetContext.Provider value={contextValue}>\n <DropdownComponent\n closing={closing}\n timeout={timeout}\n {...restProps as Omit<SharedDropdownProps, 'closing'>}\n onClose={onClose}\n >\n {(hasReactNode(header) || hasReactNode(text)) &&\n <header vkuiClass=\"ActionSheet__header\">\n {hasReactNode(header) &&\n <Caption level=\"1\" weight={platform === IOS ? 'semibold' : 'medium'} vkuiClass=\"ActionSheet__title\">\n {header}\n </Caption>\n }\n {hasReactNode(text) && <Caption level=\"1\" weight=\"regular\" vkuiClass=\"ActionSheet__text\">{text}</Caption>}\n </header>\n }\n {children}\n {platform === IOS && !isDesktop && iosCloseItem}\n </DropdownComponent>\n </ActionSheetContext.Provider>\n </PopoutWrapper>\n );\n};\n\nActionSheet.defaultProps = {\n popupDirection: 'bottom',\n};\n"],"file":"ActionSheet.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetContext.ts"],"names":["React","ActionSheetContext","createContext"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAMA,OAAO,IAAMC,kBAAkB,gBAAGD,KAAK,CAACE,aAAN,CAG/B,EAH+B,CAA3B","sourcesContent":["import * as React from 'react';\n\nexport type ActionType = (event: React.MouseEvent) => void;\n\nexport type ItemClickHandler = (action: ActionType, autoclose: boolean) => (event: React.MouseEvent) => void;\n\nexport const ActionSheetContext = React.createContext<{\n onItemClick?: ItemClickHandler;\n isDesktop?: boolean;\n}>({});\n"],"file":"ActionSheetContext.js"}
1
+ {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetContext.ts"],"names":["React","ActionSheetContext","createContext"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAMA,OAAO,IAAMC,kBAAkB,gBAAGD,KAAK,CAACE,aAAN,CAG/B,EAH+B,CAA3B","sourcesContent":["import * as React from 'react';\n\nexport type ActionType = (event: React.MouseEvent) => void;\n\nexport type ItemClickHandler = (action: ActionType, immediateAction: ActionType, autoclose: boolean) => (event: React.MouseEvent) => void;\n\nexport const ActionSheetContext = React.createContext<{\n onItemClick?: ItemClickHandler;\n isDesktop?: boolean;\n}>({});\n"],"file":"ActionSheetContext.js"}
@@ -89,9 +89,7 @@ export var ActionSheetDropdownDesktop = function ActionSheetDropdownDesktop(_ref
89
89
  getRootRef: elementRef,
90
90
  onClick: onClick,
91
91
  style: dropdownStyles,
92
- vkuiClass: classNames(getClassName('ActionSheet', platform), 'ActionSheet--desktop', {
93
- 'ActionSheet--closing': closing
94
- }, "ActionSheet--sizeY-".concat(sizeY))
92
+ vkuiClass: classNames(getClassName('ActionSheet', platform), 'ActionSheet--desktop', "ActionSheet--sizeY-".concat(sizeY))
95
93
  }), children);
96
94
  };
97
95
  //# sourceMappingURL=ActionSheetDropdownDesktop.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetDropdownDesktop.tsx"],"names":["React","getClassName","classNames","useDOM","usePlatform","useAdaptivity","warnOnce","useIsomorphicLayoutEffect","useEventListener","FocusTrap","warn","getEl","ref","current","ActionSheetDropdownDesktop","children","toggleRef","closing","popupDirection","onClose","restProps","window","document","platform","sizeY","elementRef","useRef","useState","left","top","opacity","pointerEvents","dropdownStyles","setDropdownStyles","toggleEl","process","env","NODE_ENV","toggleRect","getBoundingClientRect","elementRect","isTop","width","pageXOffset","pageYOffset","height","bodyClickListener","e","dropdownElement","contains","target","useEffect","setTimeout","add","body","onClick","useCallback","stopPropagation"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { getClassName } from '../../helpers/getClassName';\nimport { classNames } from '../../lib/classNames';\nimport { useDOM } from '../../lib/dom';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { SharedDropdownProps } from './types';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport './ActionSheet.css';\n\nconst warn = warnOnce('ActionSheet');\nfunction getEl(ref: SharedDropdownProps['toggleRef']): Element | null | undefined {\n return ref && 'current' in ref ? ref.current : ref as Element | null | undefined;\n}\n\nexport const ActionSheetDropdownDesktop: React.FC<SharedDropdownProps> = ({\n children,\n toggleRef,\n closing,\n popupDirection,\n onClose,\n ...restProps\n}) => {\n const { window, document } = useDOM();\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n const elementRef = React.useRef<HTMLDivElement>();\n\n const [dropdownStyles, setDropdownStyles] = React.useState<React.CSSProperties>({\n left: 0,\n top: 0,\n opacity: 0,\n pointerEvents: 'none',\n });\n useIsomorphicLayoutEffect(() => {\n const toggleEl = getEl(toggleRef);\n if (!toggleEl) {\n if (process.env.NODE_ENV === 'development') {\n warn('toggleRef not passed');\n }\n return;\n }\n\n const toggleRect = toggleEl.getBoundingClientRect();\n const elementRect = elementRef.current.getBoundingClientRect();\n const isTop = popupDirection === 'top' || typeof popupDirection === 'function' && popupDirection(elementRef) === 'top';\n\n setDropdownStyles({\n left: toggleRect.left + toggleRect.width - elementRect.width + window.pageXOffset,\n top: toggleRect.top + window.pageYOffset + (isTop ? -elementRect.height : toggleRect.height),\n });\n }, [toggleRef]);\n\n const bodyClickListener = useEventListener('click', (e: MouseEvent) => {\n const dropdownElement = elementRef?.current;\n if (dropdownElement && !dropdownElement.contains(e.target as Node)) {\n onClose();\n }\n });\n\n React.useEffect(() => {\n setTimeout(() => {\n bodyClickListener.add(document.body);\n });\n }, []);\n\n const onClick = React.useCallback((e) => e.stopPropagation(), []);\n\n return (\n <FocusTrap\n onClose={onClose}\n {...restProps}\n getRootRef={elementRef}\n onClick={onClick}\n style={dropdownStyles}\n vkuiClass={classNames(getClassName('ActionSheet', platform), 'ActionSheet--desktop', {\n 'ActionSheet--closing': closing,\n }, `ActionSheet--sizeY-${sizeY}`)}\n >\n {children}\n </FocusTrap>\n );\n};\n"],"file":"ActionSheetDropdownDesktop.js"}
1
+ {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetDropdownDesktop.tsx"],"names":["React","getClassName","classNames","useDOM","usePlatform","useAdaptivity","warnOnce","useIsomorphicLayoutEffect","useEventListener","FocusTrap","warn","getEl","ref","current","ActionSheetDropdownDesktop","children","toggleRef","closing","popupDirection","onClose","restProps","window","document","platform","sizeY","elementRef","useRef","useState","left","top","opacity","pointerEvents","dropdownStyles","setDropdownStyles","toggleEl","process","env","NODE_ENV","toggleRect","getBoundingClientRect","elementRect","isTop","width","pageXOffset","pageYOffset","height","bodyClickListener","e","dropdownElement","contains","target","useEffect","setTimeout","add","body","onClick","useCallback","stopPropagation"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { getClassName } from '../../helpers/getClassName';\nimport { classNames } from '../../lib/classNames';\nimport { useDOM } from '../../lib/dom';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { SharedDropdownProps } from './types';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport './ActionSheet.css';\n\nconst warn = warnOnce('ActionSheet');\nfunction getEl(ref: SharedDropdownProps['toggleRef']): Element | null | undefined {\n return ref && 'current' in ref ? ref.current : ref as Element | null | undefined;\n}\n\nexport const ActionSheetDropdownDesktop: React.FC<SharedDropdownProps> = ({\n children,\n toggleRef,\n closing,\n popupDirection,\n onClose,\n ...restProps\n}) => {\n const { window, document } = useDOM();\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n const elementRef = React.useRef<HTMLDivElement>();\n\n const [dropdownStyles, setDropdownStyles] = React.useState<React.CSSProperties>({\n left: 0,\n top: 0,\n opacity: 0,\n pointerEvents: 'none',\n });\n useIsomorphicLayoutEffect(() => {\n const toggleEl = getEl(toggleRef);\n if (!toggleEl) {\n if (process.env.NODE_ENV === 'development') {\n warn('toggleRef not passed');\n }\n return;\n }\n\n const toggleRect = toggleEl.getBoundingClientRect();\n const elementRect = elementRef.current.getBoundingClientRect();\n const isTop = popupDirection === 'top' || typeof popupDirection === 'function' && popupDirection(elementRef) === 'top';\n\n setDropdownStyles({\n left: toggleRect.left + toggleRect.width - elementRect.width + window.pageXOffset,\n top: toggleRect.top + window.pageYOffset + (isTop ? -elementRect.height : toggleRect.height),\n });\n }, [toggleRef]);\n\n const bodyClickListener = useEventListener('click', (e: MouseEvent) => {\n const dropdownElement = elementRef?.current;\n if (dropdownElement && !dropdownElement.contains(e.target as Node)) {\n onClose();\n }\n });\n\n React.useEffect(() => {\n setTimeout(() => {\n bodyClickListener.add(document.body);\n });\n }, []);\n\n const onClick = React.useCallback((e) => e.stopPropagation(), []);\n\n return (\n <FocusTrap\n onClose={onClose}\n {...restProps}\n getRootRef={elementRef}\n onClick={onClick}\n style={dropdownStyles}\n vkuiClass={classNames(getClassName('ActionSheet', platform), 'ActionSheet--desktop', `ActionSheet--sizeY-${sizeY}`)}\n >\n {children}\n </FocusTrap>\n );\n};\n"],"file":"ActionSheetDropdownDesktop.js"}
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["children", "autoclose", "mode", "meta", "subtitle", "before", "selectable", "value", "name", "checked", "defaultChecked", "onChange", "onClick", "sizeY"];
3
+ var _excluded = ["children", "autoclose", "mode", "meta", "subtitle", "before", "selectable", "value", "name", "checked", "defaultChecked", "onChange", "onClick", "sizeY", "onImmediateClick"];
4
4
  import { createScopedElement } from "../../lib/jsxRuntime";
5
5
  import * as React from 'react';
6
6
  import { classNames } from "../../lib/classNames";
@@ -33,6 +33,7 @@ var ActionSheetItem = function ActionSheetItem(_ref) {
33
33
  onChange = _ref.onChange,
34
34
  onClick = _ref.onClick,
35
35
  sizeY = _ref.sizeY,
36
+ onImmediateClick = _ref.onImmediateClick,
36
37
  restProps = _objectWithoutProperties(_ref, _excluded);
37
38
 
38
39
  var platform = usePlatform();
@@ -52,7 +53,7 @@ var ActionSheetItem = function ActionSheetItem(_ref) {
52
53
 
53
54
  var isCompact = hasReactNode(subtitle) || hasReactNode(meta) || selectable;
54
55
  return createScopedElement(Tappable, _extends({}, restProps, {
55
- onClick: selectable ? onClick : onItemClick(onClick, autoclose),
56
+ onClick: selectable ? onClick : onItemClick(onClick, onImmediateClick, autoclose),
56
57
  activeMode: "ActionSheetItem--active",
57
58
  vkuiClass: classNames(getClassName('ActionSheetItem', platform), "ActionSheetItem--".concat(mode), "ActionSheetItem--sizeY-".concat(sizeY), {
58
59
  'ActionSheetItem--compact': isCompact,
@@ -95,7 +96,7 @@ var ActionSheetItem = function ActionSheetItem(_ref) {
95
96
  name: name,
96
97
  value: value,
97
98
  onChange: onChange,
98
- onClick: onItemClick(noop, autoclose),
99
+ onClick: onItemClick(noop, noop, autoclose),
99
100
  defaultChecked: defaultChecked,
100
101
  checked: checked,
101
102
  disabled: restProps.disabled
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"names":["React","classNames","getClassName","Tappable","usePlatform","hasReactNode","noop","Subhead","Title","Text","ANDROID","VKCOM","Icon16Done","Icon24Done","ActionSheetContext","Caption","withAdaptivity","SizeType","ActionSheetItem","children","autoclose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","sizeY","restProps","platform","useContext","onItemClick","isDesktop","Component","href","isCompact","COMPACT","disabled","defaultProps"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { classNames } from '../../lib/classNames';\nimport { getClassName } from '../../helpers/getClassName';\nimport Tappable from '../Tappable/Tappable';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { hasReactNode, noop } from '../../lib/utils';\nimport Subhead from '../Typography/Subhead/Subhead';\nimport Title from '../Typography/Title/Title';\nimport Text from '../Typography/Text/Text';\nimport { ANDROID, VKCOM } from '../../lib/platform';\nimport { Icon16Done, Icon24Done } from '@vkontakte/icons';\nimport { ActionSheetContext } from '../ActionSheet/ActionSheetContext';\nimport Caption from '../Typography/Caption/Caption';\nimport { withAdaptivity, AdaptivityProps, SizeType } from '../../hoc/withAdaptivity';\nimport './ActionSheetItem.css';\n\nexport interface ActionSheetItemProps extends\n React.HTMLAttributes<HTMLElement>,\n React.AnchorHTMLAttributes<HTMLElement>,\n Pick<React.InputHTMLAttributes<HTMLInputElement>, 'name' | 'checked' | 'value'>,\n AdaptivityProps {\n mode?: 'default' | 'destructive' | 'cancel';\n before?: React.ReactNode;\n meta?: React.ReactNode;\n subtitle?: React.ReactNode;\n autoclose?: boolean;\n selectable?: boolean;\n disabled?: boolean;\n}\n\nconst ActionSheetItem: React.FC<ActionSheetItemProps> = ({\n children,\n autoclose,\n mode,\n meta,\n subtitle,\n before,\n selectable,\n value,\n name,\n checked,\n defaultChecked,\n onChange,\n onClick,\n sizeY,\n ...restProps\n}: ActionSheetItemProps) => {\n const platform = usePlatform();\n const { onItemClick = () => noop, isDesktop } = React.useContext(ActionSheetContext);\n\n let Component: React.ElementType = restProps.href ? 'a' : 'div';\n\n if (selectable) {\n Component = 'label';\n }\n\n const isCompact = hasReactNode(subtitle) || hasReactNode(meta) || selectable;\n\n return (\n <Tappable\n {...restProps}\n onClick={selectable ? onClick : onItemClick(onClick, autoclose)}\n activeMode=\"ActionSheetItem--active\"\n vkuiClass={\n classNames(\n getClassName('ActionSheetItem', platform),\n `ActionSheetItem--${mode}`,\n `ActionSheetItem--sizeY-${sizeY}`,\n {\n 'ActionSheetItem--compact': isCompact,\n 'ActionSheetItem--desktop': isDesktop,\n 'ActionSheetItem--withSubtitle': hasReactNode(subtitle),\n },\n )\n }\n Component={Component}\n >\n {hasReactNode(before) && <div vkuiClass=\"ActionSheetItem__before\">{before}</div>}\n <div vkuiClass=\"ActionSheetItem__container\">\n <div vkuiClass=\"ActionSheetItem__content\">\n {sizeY === SizeType.COMPACT ?\n <React.Fragment>\n <Text\n weight={mode === 'cancel' ? 'medium' : 'regular'}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Text>\n {hasReactNode(meta) &&\n <Text\n weight=\"regular\"\n vkuiClass=\"ActionSheetItem__meta\"\n >\n {meta}\n </Text>\n }\n </React.Fragment>\n :\n <React.Fragment>\n <Title\n weight={mode === 'cancel' ? 'medium' : 'regular'}\n level={isCompact || hasReactNode(before) || platform === ANDROID ? '3' : '2'}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Title>\n {hasReactNode(meta) &&\n <Title\n weight=\"regular\"\n level={isCompact || hasReactNode(before) || platform === ANDROID ? '3' : '2'}\n vkuiClass=\"ActionSheetItem__meta\"\n >\n {meta}\n </Title>\n }\n </React.Fragment>\n }\n </div>\n {hasReactNode(subtitle) && (sizeY === SizeType.COMPACT ?\n <Caption weight=\"regular\" vkuiClass=\"ActionSheetItem__subtitle\" level=\"1\">{subtitle}</Caption>\n :\n <Subhead weight=\"regular\" vkuiClass=\"ActionSheetItem__subtitle\">{subtitle}</Subhead>\n )}\n </div>\n {selectable &&\n <div vkuiClass=\"ActionSheetItem__after\">\n <input\n type=\"radio\"\n vkuiClass=\"ActionSheetItem__radio\"\n name={name}\n value={value}\n onChange={onChange}\n onClick={onItemClick(noop, autoclose)}\n defaultChecked={defaultChecked}\n checked={checked}\n disabled={restProps.disabled}\n />\n <div vkuiClass=\"ActionSheetItem__marker\">\n {platform === VKCOM ? <Icon24Done /> : <Icon16Done />}\n </div>\n </div>\n }\n </Tappable>\n );\n};\n\nActionSheetItem.defaultProps = {\n mode: 'default',\n};\n\nexport default withAdaptivity(ActionSheetItem, { sizeY: true });\n"],"file":"ActionSheetItem.js"}
1
+ {"version":3,"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"names":["React","classNames","getClassName","Tappable","usePlatform","hasReactNode","noop","Subhead","Title","Text","ANDROID","VKCOM","Icon16Done","Icon24Done","ActionSheetContext","Caption","withAdaptivity","SizeType","ActionSheetItem","children","autoclose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","sizeY","onImmediateClick","restProps","platform","useContext","onItemClick","isDesktop","Component","href","isCompact","COMPACT","disabled","defaultProps"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { classNames } from '../../lib/classNames';\nimport { getClassName } from '../../helpers/getClassName';\nimport Tappable from '../Tappable/Tappable';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { hasReactNode, noop } from '../../lib/utils';\nimport Subhead from '../Typography/Subhead/Subhead';\nimport Title from '../Typography/Title/Title';\nimport Text from '../Typography/Text/Text';\nimport { ANDROID, VKCOM } from '../../lib/platform';\nimport { Icon16Done, Icon24Done } from '@vkontakte/icons';\nimport { ActionSheetContext } from '../ActionSheet/ActionSheetContext';\nimport Caption from '../Typography/Caption/Caption';\nimport { withAdaptivity, AdaptivityProps, SizeType } from '../../hoc/withAdaptivity';\nimport './ActionSheetItem.css';\n\nexport interface ActionSheetItemProps extends\n React.HTMLAttributes<HTMLElement>,\n React.AnchorHTMLAttributes<HTMLElement>,\n Pick<React.InputHTMLAttributes<HTMLInputElement>, 'name' | 'checked' | 'value'>,\n AdaptivityProps {\n mode?: 'default' | 'destructive' | 'cancel';\n before?: React.ReactNode;\n meta?: React.ReactNode;\n subtitle?: React.ReactNode;\n autoclose?: boolean;\n selectable?: boolean;\n disabled?: boolean;\n /**\n * Если autoclose === true, onClick будет вызван после завершения анимации скрытия и после вызова onClose.\n * Из этого следует, что в объекте события значения полей типа `currentTarget` будут не определены.\n * Если вам нужен объект события именно на момент клика, используйте `onImmediateClick`.\n */\n onClick?: React.MouseEventHandler<HTMLElement>;\n onImmediateClick?: React.MouseEventHandler<HTMLElement>;\n}\n\nconst ActionSheetItem: React.FC<ActionSheetItemProps> = ({\n children,\n autoclose,\n mode,\n meta,\n subtitle,\n before,\n selectable,\n value,\n name,\n checked,\n defaultChecked,\n onChange,\n onClick,\n sizeY,\n onImmediateClick,\n ...restProps\n}: ActionSheetItemProps) => {\n const platform = usePlatform();\n const { onItemClick = () => noop, isDesktop } = React.useContext(ActionSheetContext);\n\n let Component: React.ElementType = restProps.href ? 'a' : 'div';\n\n if (selectable) {\n Component = 'label';\n }\n\n const isCompact = hasReactNode(subtitle) || hasReactNode(meta) || selectable;\n\n return (\n <Tappable\n {...restProps}\n onClick={selectable ? onClick : onItemClick(onClick, onImmediateClick, autoclose)}\n activeMode=\"ActionSheetItem--active\"\n vkuiClass={\n classNames(\n getClassName('ActionSheetItem', platform),\n `ActionSheetItem--${mode}`,\n `ActionSheetItem--sizeY-${sizeY}`,\n {\n 'ActionSheetItem--compact': isCompact,\n 'ActionSheetItem--desktop': isDesktop,\n 'ActionSheetItem--withSubtitle': hasReactNode(subtitle),\n },\n )\n }\n Component={Component}\n >\n {hasReactNode(before) && <div vkuiClass=\"ActionSheetItem__before\">{before}</div>}\n <div vkuiClass=\"ActionSheetItem__container\">\n <div vkuiClass=\"ActionSheetItem__content\">\n {sizeY === SizeType.COMPACT ?\n <React.Fragment>\n <Text\n weight={mode === 'cancel' ? 'medium' : 'regular'}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Text>\n {hasReactNode(meta) &&\n <Text\n weight=\"regular\"\n vkuiClass=\"ActionSheetItem__meta\"\n >\n {meta}\n </Text>\n }\n </React.Fragment>\n :\n <React.Fragment>\n <Title\n weight={mode === 'cancel' ? 'medium' : 'regular'}\n level={isCompact || hasReactNode(before) || platform === ANDROID ? '3' : '2'}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Title>\n {hasReactNode(meta) &&\n <Title\n weight=\"regular\"\n level={isCompact || hasReactNode(before) || platform === ANDROID ? '3' : '2'}\n vkuiClass=\"ActionSheetItem__meta\"\n >\n {meta}\n </Title>\n }\n </React.Fragment>\n }\n </div>\n {hasReactNode(subtitle) && (sizeY === SizeType.COMPACT ?\n <Caption weight=\"regular\" vkuiClass=\"ActionSheetItem__subtitle\" level=\"1\">{subtitle}</Caption>\n :\n <Subhead weight=\"regular\" vkuiClass=\"ActionSheetItem__subtitle\">{subtitle}</Subhead>\n )}\n </div>\n {selectable &&\n <div vkuiClass=\"ActionSheetItem__after\">\n <input\n type=\"radio\"\n vkuiClass=\"ActionSheetItem__radio\"\n name={name}\n value={value}\n onChange={onChange}\n onClick={onItemClick(noop, noop, autoclose)}\n defaultChecked={defaultChecked}\n checked={checked}\n disabled={restProps.disabled}\n />\n <div vkuiClass=\"ActionSheetItem__marker\">\n {platform === VKCOM ? <Icon24Done /> : <Icon16Done />}\n </div>\n </div>\n }\n </Tappable>\n );\n};\n\nActionSheetItem.defaultProps = {\n mode: 'default',\n};\n\nexport default withAdaptivity(ActionSheetItem, { sizeY: true });\n"],"file":"ActionSheetItem.js"}
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { hasHover, hasMouse } from '@vkontakte/vkjs';
2
3
  export var SizeType;
3
4
 
4
5
  (function (SizeType) {
@@ -26,6 +27,8 @@ export var ViewHeight;
26
27
 
27
28
  export var AdaptivityContext = /*#__PURE__*/React.createContext({
28
29
  sizeX: SizeType.COMPACT,
29
- sizeY: SizeType.REGULAR
30
+ sizeY: SizeType.REGULAR,
31
+ hasMouse: hasMouse,
32
+ deviceHasHover: hasHover
30
33
  });
31
34
  //# sourceMappingURL=AdaptivityContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityContext.tsx"],"names":["React","SizeType","ViewWidth","ViewHeight","AdaptivityContext","createContext","sizeX","COMPACT","sizeY","REGULAR"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,WAAYC,QAAZ;;WAAYA,Q;AAAAA,EAAAA,Q;AAAAA,EAAAA,Q;GAAAA,Q,KAAAA,Q;;AAKZ,WAAYC,SAAZ;;WAAYA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;GAAAA,S,KAAAA,S;;AAQZ,WAAYC,UAAZ;;WAAYA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAgCZ,OAAO,IAAMC,iBAAiB,gBAAGJ,KAAK,CAACK,aAAN,CAAgD;AAC/EC,EAAAA,KAAK,EAAEL,QAAQ,CAACM,OAD+D;AAE/EC,EAAAA,KAAK,EAAEP,QAAQ,CAACQ;AAF+D,CAAhD,CAA1B","sourcesContent":["import * as React from 'react';\n\nexport enum SizeType {\n COMPACT = 'compact',\n REGULAR = 'regular',\n}\n\nexport enum ViewWidth {\n SMALL_MOBILE = 1,\n MOBILE,\n SMALL_TABLET,\n TABLET,\n DESKTOP,\n}\n\nexport enum ViewHeight {\n EXTRA_SMALL = 1,\n SMALL,\n MEDIUM\n}\n\nexport interface SizeProps {\n sizeX?: SizeType;\n sizeY?: SizeType;\n}\n\nexport interface AdaptivityProps extends SizeProps {\n /**\n * @ignore\n */\n viewWidth?: ViewWidth;\n /**\n * @ignore\n */\n viewHeight?: ViewHeight;\n /**\n * @ignore\n */\n hasMouse?: boolean;\n}\n\nexport interface AdaptivityContextInterface extends SizeProps {\n viewWidth?: ViewWidth;\n viewHeight?: ViewHeight;\n hasMouse?: boolean;\n}\n\nexport const AdaptivityContext = React.createContext<AdaptivityContextInterface>({\n sizeX: SizeType.COMPACT,\n sizeY: SizeType.REGULAR,\n});\n"],"file":"AdaptivityContext.js"}
1
+ {"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityContext.tsx"],"names":["React","hasHover","hasMouse","SizeType","ViewWidth","ViewHeight","AdaptivityContext","createContext","sizeX","COMPACT","sizeY","REGULAR","deviceHasHover"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,QAAT,EAAmBC,QAAnB,QAAmC,iBAAnC;AAEA,WAAYC,QAAZ;;WAAYA,Q;AAAAA,EAAAA,Q;AAAAA,EAAAA,Q;GAAAA,Q,KAAAA,Q;;AAKZ,WAAYC,SAAZ;;WAAYA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;GAAAA,S,KAAAA,S;;AAQZ,WAAYC,UAAZ;;WAAYA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAqCZ,OAAO,IAAMC,iBAAiB,gBAAGN,KAAK,CAACO,aAAN,CAAgD;AAC/EC,EAAAA,KAAK,EAAEL,QAAQ,CAACM,OAD+D;AAE/EC,EAAAA,KAAK,EAAEP,QAAQ,CAACQ,OAF+D;AAG/ET,EAAAA,QAAQ,EAARA,QAH+E;AAI/EU,EAAAA,cAAc,EAAEX;AAJ+D,CAAhD,CAA1B","sourcesContent":["import * as React from 'react';\nimport { hasHover, hasMouse } from '@vkontakte/vkjs';\n\nexport enum SizeType {\n COMPACT = 'compact',\n REGULAR = 'regular',\n}\n\nexport enum ViewWidth {\n SMALL_MOBILE = 1,\n MOBILE,\n SMALL_TABLET,\n TABLET,\n DESKTOP,\n}\n\nexport enum ViewHeight {\n EXTRA_SMALL = 1,\n SMALL,\n MEDIUM\n}\n\nexport interface SizeProps {\n sizeX?: SizeType;\n sizeY?: SizeType;\n}\n\nexport interface AdaptivityProps extends SizeProps {\n /**\n * @ignore\n */\n viewWidth?: ViewWidth;\n /**\n * @ignore\n */\n viewHeight?: ViewHeight;\n /**\n * @ignore\n */\n hasMouse?: boolean;\n /**\n * @ignore\n */\n deviceHasHover?: boolean;\n}\n\nexport interface AdaptivityContextInterface extends SizeProps {\n viewWidth?: ViewWidth;\n viewHeight?: ViewHeight;\n hasMouse?: boolean;\n deviceHasHover?: boolean;\n}\n\nexport const AdaptivityContext = React.createContext<AdaptivityContextInterface>({\n sizeX: SizeType.COMPACT,\n sizeY: SizeType.REGULAR,\n hasMouse,\n deviceHasHover: hasHover,\n});\n"],"file":"AdaptivityContext.js"}
@@ -1,7 +1,7 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import { createScopedElement } from "../../lib/jsxRuntime";
3
3
  import * as React from 'react';
4
- import { hasMouse as _hasMouse } from '@vkontakte/vkjs';
4
+ import { hasMouse as _hasMouse, hasHover as _hasHover } from '@vkontakte/vkjs';
5
5
  import { AdaptivityContext, SizeType, ViewHeight, ViewWidth } from "./AdaptivityContext";
6
6
  import { useDOM } from "../../lib/dom";
7
7
  export var DESKTOP_SIZE = 1280;
@@ -32,9 +32,10 @@ export default function AdaptivityProvider(props) {
32
32
  viewHeight = _adaptivityRef$curren.viewHeight,
33
33
  sizeX = _adaptivityRef$curren.sizeX,
34
34
  sizeY = _adaptivityRef$curren.sizeY,
35
- hasMouse = _adaptivityRef$curren.hasMouse;
35
+ hasMouse = _adaptivityRef$curren.hasMouse,
36
+ deviceHasHover = _adaptivityRef$curren.deviceHasHover;
36
37
 
37
- if (viewWidth !== calculated.viewWidth || viewHeight !== calculated.viewHeight || sizeX !== calculated.sizeX || sizeY !== calculated.sizeY || hasMouse !== calculated.hasMouse) {
38
+ if (viewWidth !== calculated.viewWidth || viewHeight !== calculated.viewHeight || sizeX !== calculated.sizeX || sizeY !== calculated.sizeY || hasMouse !== calculated.hasMouse || deviceHasHover !== calculated.deviceHasHover) {
38
39
  adaptivityRef.current = calculated;
39
40
  updateAdaptivity({});
40
41
  }
@@ -45,18 +46,21 @@ export default function AdaptivityProvider(props) {
45
46
  return function () {
46
47
  window.removeEventListener('resize', onResize, false);
47
48
  };
48
- }, [props.viewWidth, props.viewHeight, props.sizeX, props.sizeY, props.hasMouse]);
49
+ }, [props.viewWidth, props.viewHeight, props.sizeX, props.sizeY, props.hasMouse, props.deviceHasHover]);
49
50
  return createScopedElement(AdaptivityContext.Provider, {
50
51
  value: adaptivityRef.current
51
52
  }, props.children);
52
53
  }
53
54
 
54
55
  function calculateAdaptivity(windowWidth, windowHeight, props) {
56
+ var _props$hasMouse, _props$deviceHasHover;
57
+
55
58
  var viewWidth = ViewWidth.SMALL_MOBILE;
56
59
  var viewHeight = ViewHeight.SMALL;
57
60
  var sizeY = SizeType.REGULAR;
58
61
  var sizeX = SizeType.REGULAR;
59
- var hasMouse = typeof props.hasMouse === 'boolean' ? props.hasMouse : _hasMouse;
62
+ var hasMouse = (_props$hasMouse = props.hasMouse) !== null && _props$hasMouse !== void 0 ? _props$hasMouse : _hasMouse;
63
+ var deviceHasHover = (_props$deviceHasHover = props.deviceHasHover) !== null && _props$deviceHasHover !== void 0 ? _props$deviceHasHover : _hasHover;
60
64
 
61
65
  if (windowWidth >= DESKTOP_SIZE) {
62
66
  viewWidth = ViewWidth.DESKTOP;
@@ -96,7 +100,8 @@ function calculateAdaptivity(windowWidth, windowHeight, props) {
96
100
  viewHeight: viewHeight,
97
101
  sizeX: sizeX,
98
102
  sizeY: sizeY,
99
- hasMouse: hasMouse
103
+ hasMouse: hasMouse,
104
+ deviceHasHover: deviceHasHover
100
105
  };
101
106
  }
102
107
  //# sourceMappingURL=AdaptivityProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityProvider.tsx"],"names":["React","hasMouse","_hasMouse","AdaptivityContext","SizeType","ViewHeight","ViewWidth","useDOM","DESKTOP_SIZE","TABLET_SIZE","SMALL_TABLET_SIZE","MOBILE_SIZE","MOBILE_LANDSCAPE_HEIGHT","MEDIUM_HEIGHT","AdaptivityProvider","props","adaptivityRef","useRef","useState","updateAdaptivity","window","current","calculateAdaptivity","innerWidth","innerHeight","useEffect","onResize","calculated","viewWidth","viewHeight","sizeX","sizeY","addEventListener","removeEventListener","children","windowWidth","windowHeight","SMALL_MOBILE","SMALL","REGULAR","DESKTOP","TABLET","SMALL_TABLET","MOBILE","MEDIUM","EXTRA_SMALL","COMPACT"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { hasMouse as _hasMouse } from '@vkontakte/vkjs';\nimport { AdaptivityContext, AdaptivityContextInterface, SizeType, ViewHeight, ViewWidth } from './AdaptivityContext';\nimport { useDOM } from '../../lib/dom';\n\nexport interface AdaptivityProviderProps extends AdaptivityContextInterface {\n children?: React.ReactNode;\n}\n\nexport const DESKTOP_SIZE = 1280;\nexport const TABLET_SIZE = 1024;\nexport const SMALL_TABLET_SIZE = 768;\nexport const MOBILE_SIZE = 320;\n\nexport const MOBILE_LANDSCAPE_HEIGHT = 414;\nexport const MEDIUM_HEIGHT = 720;\n\nexport default function AdaptivityProvider(props: AdaptivityProviderProps) {\n const adaptivityRef = React.useRef<AdaptivityContextInterface>(null);\n const [, updateAdaptivity] = React.useState({});\n\n const { window } = useDOM();\n\n if (!adaptivityRef.current) {\n adaptivityRef.current = calculateAdaptivity(\n window ? window.innerWidth : 0,\n window ? window.innerHeight : 0,\n props,\n );\n }\n\n React.useEffect(() => {\n function onResize() {\n const calculated = calculateAdaptivity(window.innerWidth, window.innerHeight, props);\n const { viewWidth, viewHeight, sizeX, sizeY, hasMouse } = adaptivityRef.current;\n\n if (\n viewWidth !== calculated.viewWidth ||\n viewHeight !== calculated.viewHeight ||\n sizeX !== calculated.sizeX ||\n sizeY !== calculated.sizeY ||\n hasMouse !== calculated.hasMouse\n ) {\n adaptivityRef.current = calculated;\n updateAdaptivity({});\n }\n }\n\n onResize();\n window.addEventListener('resize', onResize, false);\n\n return () => {\n window.removeEventListener('resize', onResize, false);\n };\n }, [props.viewWidth, props.viewHeight, props.sizeX, props.sizeY, props.hasMouse]);\n\n return (\n <AdaptivityContext.Provider value={adaptivityRef.current}>\n {props.children}\n </AdaptivityContext.Provider>\n );\n}\n\nfunction calculateAdaptivity(windowWidth: number, windowHeight: number, props: AdaptivityProviderProps) {\n let viewWidth = ViewWidth.SMALL_MOBILE;\n let viewHeight = ViewHeight.SMALL;\n let sizeY = SizeType.REGULAR;\n let sizeX = SizeType.REGULAR;\n let hasMouse = typeof props.hasMouse === 'boolean' ? props.hasMouse : _hasMouse;\n\n if (windowWidth >= DESKTOP_SIZE) {\n viewWidth = ViewWidth.DESKTOP;\n } else if (windowWidth >= TABLET_SIZE) {\n viewWidth = ViewWidth.TABLET;\n } else if (windowWidth >= SMALL_TABLET_SIZE) {\n viewWidth = ViewWidth.SMALL_TABLET;\n } else if (windowWidth >= MOBILE_SIZE) {\n viewWidth = ViewWidth.MOBILE;\n } else {\n viewWidth = ViewWidth.SMALL_MOBILE;\n }\n\n if (windowHeight >= MEDIUM_HEIGHT) {\n viewHeight = ViewHeight.MEDIUM;\n } else if (windowHeight > MOBILE_LANDSCAPE_HEIGHT) {\n viewHeight = ViewHeight.SMALL;\n } else {\n viewHeight = ViewHeight.EXTRA_SMALL;\n }\n\n props.viewWidth && (viewWidth = props.viewWidth);\n props.viewHeight && (viewHeight = props.viewHeight);\n\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n }\n\n if (viewWidth >= ViewWidth.SMALL_TABLET && hasMouse || viewHeight <= ViewHeight.EXTRA_SMALL) {\n sizeY = SizeType.COMPACT;\n }\n\n props.sizeX && (sizeX = props.sizeX);\n props.sizeY && (sizeY = props.sizeY);\n\n return { viewWidth, viewHeight, sizeX, sizeY, hasMouse };\n}\n"],"file":"AdaptivityProvider.js"}
1
+ {"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityProvider.tsx"],"names":["React","hasMouse","_hasMouse","hasHover","_hasHover","AdaptivityContext","SizeType","ViewHeight","ViewWidth","useDOM","DESKTOP_SIZE","TABLET_SIZE","SMALL_TABLET_SIZE","MOBILE_SIZE","MOBILE_LANDSCAPE_HEIGHT","MEDIUM_HEIGHT","AdaptivityProvider","props","adaptivityRef","useRef","useState","updateAdaptivity","window","current","calculateAdaptivity","innerWidth","innerHeight","useEffect","onResize","calculated","viewWidth","viewHeight","sizeX","sizeY","deviceHasHover","addEventListener","removeEventListener","children","windowWidth","windowHeight","SMALL_MOBILE","SMALL","REGULAR","DESKTOP","TABLET","SMALL_TABLET","MOBILE","MEDIUM","EXTRA_SMALL","COMPACT"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { hasMouse as _hasMouse, hasHover as _hasHover } from '@vkontakte/vkjs';\nimport { AdaptivityContext, AdaptivityContextInterface, SizeType, ViewHeight, ViewWidth } from './AdaptivityContext';\nimport { useDOM } from '../../lib/dom';\n\nexport interface AdaptivityProviderProps extends AdaptivityContextInterface {\n children?: React.ReactNode;\n}\n\nexport const DESKTOP_SIZE = 1280;\nexport const TABLET_SIZE = 1024;\nexport const SMALL_TABLET_SIZE = 768;\nexport const MOBILE_SIZE = 320;\n\nexport const MOBILE_LANDSCAPE_HEIGHT = 414;\nexport const MEDIUM_HEIGHT = 720;\n\nexport default function AdaptivityProvider(props: AdaptivityProviderProps) {\n const adaptivityRef = React.useRef<AdaptivityContextInterface>(null);\n const [, updateAdaptivity] = React.useState({});\n\n const { window } = useDOM();\n\n if (!adaptivityRef.current) {\n adaptivityRef.current = calculateAdaptivity(\n window ? window.innerWidth : 0,\n window ? window.innerHeight : 0,\n props,\n );\n }\n\n React.useEffect(() => {\n function onResize() {\n const calculated = calculateAdaptivity(window.innerWidth, window.innerHeight, props);\n const { viewWidth, viewHeight, sizeX, sizeY, hasMouse, deviceHasHover } = adaptivityRef.current;\n\n if (\n viewWidth !== calculated.viewWidth ||\n viewHeight !== calculated.viewHeight ||\n sizeX !== calculated.sizeX ||\n sizeY !== calculated.sizeY ||\n hasMouse !== calculated.hasMouse ||\n deviceHasHover !== calculated.deviceHasHover\n ) {\n adaptivityRef.current = calculated;\n updateAdaptivity({});\n }\n }\n\n onResize();\n window.addEventListener('resize', onResize, false);\n\n return () => {\n window.removeEventListener('resize', onResize, false);\n };\n }, [props.viewWidth, props.viewHeight, props.sizeX, props.sizeY, props.hasMouse, props.deviceHasHover]);\n\n return (\n <AdaptivityContext.Provider value={adaptivityRef.current}>\n {props.children}\n </AdaptivityContext.Provider>\n );\n}\n\nfunction calculateAdaptivity(windowWidth: number, windowHeight: number, props: AdaptivityProviderProps) {\n let viewWidth = ViewWidth.SMALL_MOBILE;\n let viewHeight = ViewHeight.SMALL;\n let sizeY = SizeType.REGULAR;\n let sizeX = SizeType.REGULAR;\n let hasMouse = props.hasMouse ?? _hasMouse;\n let deviceHasHover = props.deviceHasHover ?? _hasHover;\n\n if (windowWidth >= DESKTOP_SIZE) {\n viewWidth = ViewWidth.DESKTOP;\n } else if (windowWidth >= TABLET_SIZE) {\n viewWidth = ViewWidth.TABLET;\n } else if (windowWidth >= SMALL_TABLET_SIZE) {\n viewWidth = ViewWidth.SMALL_TABLET;\n } else if (windowWidth >= MOBILE_SIZE) {\n viewWidth = ViewWidth.MOBILE;\n } else {\n viewWidth = ViewWidth.SMALL_MOBILE;\n }\n\n if (windowHeight >= MEDIUM_HEIGHT) {\n viewHeight = ViewHeight.MEDIUM;\n } else if (windowHeight > MOBILE_LANDSCAPE_HEIGHT) {\n viewHeight = ViewHeight.SMALL;\n } else {\n viewHeight = ViewHeight.EXTRA_SMALL;\n }\n\n props.viewWidth && (viewWidth = props.viewWidth);\n props.viewHeight && (viewHeight = props.viewHeight);\n\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n }\n\n if (viewWidth >= ViewWidth.SMALL_TABLET && hasMouse || viewHeight <= ViewHeight.EXTRA_SMALL) {\n sizeY = SizeType.COMPACT;\n }\n\n props.sizeX && (sizeX = props.sizeX);\n props.sizeY && (sizeY = props.sizeY);\n\n return { viewWidth, viewHeight, sizeX, sizeY, hasMouse, deviceHasHover };\n}\n"],"file":"AdaptivityProvider.js"}
@@ -72,16 +72,12 @@ export var AppRoot = withAdaptivity(function (_ref) {
72
72
 
73
73
 
74
74
  useIsomorphicLayoutEffect(function () {
75
- if (mode === 'full') {
76
- return noop;
77
- }
78
-
79
75
  var portal = document.createElement('div');
80
76
  portal.classList.add('vkui__portal-root');
81
77
  document.body.appendChild(portal);
82
78
  setPortalRoot(portal);
83
79
  return function () {
84
- return portal.parentElement.removeChild(portal);
80
+ portal.parentElement.removeChild(portal);
85
81
  };
86
82
  }, []); // setup root classes
87
83
 
@@ -152,7 +148,8 @@ export var AppRoot = withAdaptivity(function (_ref) {
152
148
  appRoot: rootRef,
153
149
  portalRoot: portalRoot,
154
150
  embedded: mode === 'embedded',
155
- keyboardInput: isKeyboardInputActive
151
+ keyboardInput: isKeyboardInputActive,
152
+ mode: mode
156
153
  }
157
154
  }, createScopedElement(ScrollContext.Provider, {
158
155
  value: scrollController
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"names":["React","useDOM","classNames","AppRootContext","withAdaptivity","SizeType","useIsomorphicLayoutEffect","classScopingMode","IconSettingsProvider","elementScrollController","globalScrollController","ScrollContext","noop","warnOnce","useKeyboardInputTracker","useInsets","warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","props","isKeyboardInputActive","rootRef","useRef","useState","portalRoot","setPortalRoot","window","document","insets","initialized","current","documentElement","classList","add","noConflict","process","env","NODE_ENV","portal","createElement","body","appendChild","parentElement","removeChild","parent","classes","concat","remove","key","hasOwnProperty","inset","style","setProperty","removeProperty","REGULAR","container","scrollController","useMemo","content","appRoot","keyboardInput"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { useDOM } from '../../lib/dom';\nimport { classNames } from '../../lib/classNames';\nimport { AppRootContext } from './AppRootContext';\nimport { withAdaptivity, SizeType, AdaptivityProps } from '../../hoc/withAdaptivity';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { classScopingMode } from '../../lib/classScopingMode';\nimport { IconSettingsProvider } from '@vkontakte/icons';\nimport { elementScrollController, globalScrollController, ScrollContext, ScrollContextInterface } from './ScrollContext';\nimport { noop } from '../../lib/utils';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { useKeyboardInputTracker } from '../../hooks/useKeyboardInputTracker';\nimport { useInsets } from '../../hooks/useInsets';\nimport { Insets } from '@vkontakte/vk-bridge';\nimport './AppRoot.css';\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps extends React.HTMLAttributes<HTMLDivElement>, Pick<AdaptivityProps, 'sizeX' | 'hasMouse'> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: 'partial' | 'embedded' | 'full';\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: 'global' | 'contain';\n}\n\nconst warn = warnOnce('AppRoot');\nexport const AppRoot: React.FC<AppRootProps> = withAdaptivity(({\n children, mode: _mode, embedded: _embedded, sizeX, hasMouse, noLegacyClasses = false, scroll = 'global',\n ...props\n}: AppRootProps) => {\n // normalize mode\n const mode = _mode || (_embedded ? 'embedded' : 'full');\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement>();\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement>(null);\n const { window, document } = useDOM();\n const insets = useInsets();\n\n const initialized = React.useRef(false);\n if (!initialized.current) {\n if (window && mode === 'full') {\n document.documentElement.classList.add('vkui');\n }\n classScopingMode.noConflict = noLegacyClasses;\n initialized.current = true;\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (scroll !== 'global' && mode !== 'embedded') {\n warn('Scroll modes only supported in embedded mode');\n }\n if (_mode && _embedded) {\n warn(`mode=\"${mode}\" overrides embedded`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n if (mode === 'full') {\n return noop;\n }\n\n const portal = document.createElement('div');\n portal.classList.add('vkui__portal-root');\n document.body.appendChild(portal);\n setPortalRoot(portal);\n return () => portal.parentElement.removeChild(portal);\n }, []);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === 'partial') {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n const classes = ['vkui__root'].concat(mode === 'embedded' ? 'vkui__root--embedded' : []);\n parent.classList.add(...classes);\n\n return () => {\n parent.classList.remove(...classes);\n if (mode === 'full') {\n document.documentElement.classList.remove('vkui');\n }\n };\n }, []);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === 'partial') {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (insets.hasOwnProperty(key) && typeof insets[key as keyof Insets] === 'number') {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot && portalRoot.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot && portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === 'partial' || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container = mode === 'embedded' ? rootRef.current.parentElement : document.body;\n container.classList.add('vkui--sizeX-regular');\n return () => container.classList.remove('vkui--sizeX-regular');\n }, [sizeX]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => scroll === 'contain' ? elementScrollController(rootRef) : globalScrollController(window, document),\n [scroll]);\n\n const content = (\n <AppRootContext.Provider value={{\n appRoot: rootRef,\n portalRoot: portalRoot,\n embedded: mode === 'embedded',\n keyboardInput: isKeyboardInputActive,\n }}>\n <ScrollContext.Provider value={scrollController}>\n <IconSettingsProvider classPrefix=\"vkui\" globalClasses={!noLegacyClasses}>\n {children}\n </IconSettingsProvider>\n </ScrollContext.Provider>\n </AppRootContext.Provider>\n );\n\n return mode === 'partial' ? content : (\n <div ref={rootRef} vkuiClass={classNames('AppRoot', {\n 'AppRoot--no-mouse': !hasMouse,\n 'AppRoot--keyboard-input': isKeyboardInputActive,\n })} {...props}>\n {content}\n </div>\n );\n}, {\n sizeX: true,\n hasMouse: true,\n});\n\nexport default AppRoot;\n"],"file":"AppRoot.js"}
1
+ {"version":3,"sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"names":["React","useDOM","classNames","AppRootContext","withAdaptivity","SizeType","useIsomorphicLayoutEffect","classScopingMode","IconSettingsProvider","elementScrollController","globalScrollController","ScrollContext","noop","warnOnce","useKeyboardInputTracker","useInsets","warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","props","isKeyboardInputActive","rootRef","useRef","useState","portalRoot","setPortalRoot","window","document","insets","initialized","current","documentElement","classList","add","noConflict","process","env","NODE_ENV","portal","createElement","body","appendChild","parentElement","removeChild","parent","classes","concat","remove","key","hasOwnProperty","inset","style","setProperty","removeProperty","REGULAR","container","scrollController","useMemo","content","appRoot","keyboardInput"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { useDOM } from '../../lib/dom';\nimport { classNames } from '../../lib/classNames';\nimport { AppRootContext } from './AppRootContext';\nimport { withAdaptivity, SizeType, AdaptivityProps } from '../../hoc/withAdaptivity';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { classScopingMode } from '../../lib/classScopingMode';\nimport { IconSettingsProvider } from '@vkontakte/icons';\nimport { elementScrollController, globalScrollController, ScrollContext, ScrollContextInterface } from './ScrollContext';\nimport { noop } from '../../lib/utils';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { useKeyboardInputTracker } from '../../hooks/useKeyboardInputTracker';\nimport { useInsets } from '../../hooks/useInsets';\nimport { Insets } from '@vkontakte/vk-bridge';\nimport './AppRoot.css';\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps extends React.HTMLAttributes<HTMLDivElement>, Pick<AdaptivityProps, 'sizeX' | 'hasMouse'> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: 'partial' | 'embedded' | 'full';\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: 'global' | 'contain';\n}\n\nconst warn = warnOnce('AppRoot');\nexport const AppRoot: React.FC<AppRootProps> = withAdaptivity(({\n children, mode: _mode, embedded: _embedded, sizeX, hasMouse, noLegacyClasses = false, scroll = 'global',\n ...props\n}: AppRootProps) => {\n // normalize mode\n const mode = _mode || (_embedded ? 'embedded' : 'full');\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement>();\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement>(null);\n const { window, document } = useDOM();\n const insets = useInsets();\n\n const initialized = React.useRef(false);\n if (!initialized.current) {\n if (window && mode === 'full') {\n document.documentElement.classList.add('vkui');\n }\n classScopingMode.noConflict = noLegacyClasses;\n initialized.current = true;\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (scroll !== 'global' && mode !== 'embedded') {\n warn('Scroll modes only supported in embedded mode');\n }\n if (_mode && _embedded) {\n warn(`mode=\"${mode}\" overrides embedded`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n const portal = document.createElement('div');\n portal.classList.add('vkui__portal-root');\n document.body.appendChild(portal);\n setPortalRoot(portal);\n return () => {\n portal.parentElement.removeChild(portal);\n };\n }, []);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === 'partial') {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n const classes = ['vkui__root'].concat(mode === 'embedded' ? 'vkui__root--embedded' : []);\n parent.classList.add(...classes);\n\n return () => {\n parent.classList.remove(...classes);\n if (mode === 'full') {\n document.documentElement.classList.remove('vkui');\n }\n };\n }, []);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === 'partial') {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (insets.hasOwnProperty(key) && typeof insets[key as keyof Insets] === 'number') {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot && portalRoot.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot && portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === 'partial' || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container = mode === 'embedded' ? rootRef.current.parentElement : document.body;\n container.classList.add('vkui--sizeX-regular');\n return () => container.classList.remove('vkui--sizeX-regular');\n }, [sizeX]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => scroll === 'contain' ? elementScrollController(rootRef) : globalScrollController(window, document),\n [scroll]);\n\n const content = (\n <AppRootContext.Provider value={{\n appRoot: rootRef,\n portalRoot: portalRoot,\n embedded: mode === 'embedded',\n keyboardInput: isKeyboardInputActive,\n mode,\n }}>\n <ScrollContext.Provider value={scrollController}>\n <IconSettingsProvider classPrefix=\"vkui\" globalClasses={!noLegacyClasses}>\n {children}\n </IconSettingsProvider>\n </ScrollContext.Provider>\n </AppRootContext.Provider>\n );\n\n return mode === 'partial' ? content : (\n <div ref={rootRef} vkuiClass={classNames('AppRoot', {\n 'AppRoot--no-mouse': !hasMouse,\n 'AppRoot--keyboard-input': isKeyboardInputActive,\n })} {...props}>\n {content}\n </div>\n );\n}, {\n sizeX: true,\n hasMouse: true,\n});\n\nexport default AppRoot;\n"],"file":"AppRoot.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppRoot/AppRootContext.ts"],"names":["React","AppRootContext","createContext","portalRoot"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AASA,OAAO,IAAMC,cAAc,gBAAGD,KAAK,CAACE,aAAN,CAA6C;AACzEC,EAAAA,UAAU,EAAE;AAD6D,CAA7C,CAAvB","sourcesContent":["import * as React from 'react';\n\nexport interface AppRootContextInterface {\n appRoot?: React.RefObject<HTMLDivElement>;\n portalRoot?: HTMLDivElement;\n embedded?: boolean;\n keyboardInput?: boolean;\n}\n\nexport const AppRootContext = React.createContext<AppRootContextInterface>({\n portalRoot: null,\n});\n"],"file":"AppRootContext.js"}
1
+ {"version":3,"sources":["../../../../src/components/AppRoot/AppRootContext.ts"],"names":["React","AppRootContext","createContext","portalRoot"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAUA,OAAO,IAAMC,cAAc,gBAAGD,KAAK,CAACE,aAAN,CAA6C;AACzEC,EAAAA,UAAU,EAAE;AAD6D,CAA7C,CAAvB","sourcesContent":["import * as React from 'react';\n\nexport interface AppRootContextInterface {\n appRoot?: React.RefObject<HTMLDivElement>;\n portalRoot?: HTMLDivElement;\n embedded?: boolean;\n mode?: 'partial' | 'embedded' | 'full';\n keyboardInput?: boolean;\n}\n\nexport const AppRootContext = React.createContext<AppRootContextInterface>({\n portalRoot: null,\n});\n"],"file":"AppRootContext.js"}
@@ -3,14 +3,18 @@ import * as React from 'react';
3
3
  import { createPortal } from 'react-dom';
4
4
  import { AppRootContext } from "./AppRootContext";
5
5
  export var AppRootPortal = function AppRootPortal(_ref) {
6
+ var _forcePortal;
7
+
6
8
  var children = _ref.children,
7
- className = _ref.className;
9
+ className = _ref.className,
10
+ forcePortal = _ref.forcePortal;
8
11
 
9
12
  var _React$useContext = React.useContext(AppRootContext),
10
13
  portalRoot = _React$useContext.portalRoot,
11
- embedded = _React$useContext.embedded;
14
+ mode = _React$useContext.mode;
12
15
 
13
- return embedded && portalRoot ? /*#__PURE__*/createPortal(createScopedElement("div", {
16
+ forcePortal = (_forcePortal = forcePortal) !== null && _forcePortal !== void 0 ? _forcePortal : mode !== 'full';
17
+ return portalRoot && forcePortal ? /*#__PURE__*/createPortal(createScopedElement("div", {
14
18
  className: className
15
19
  }, children), portalRoot) : createScopedElement(React.Fragment, null, children);
16
20
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppRoot/AppRootPortal.tsx"],"names":["React","createPortal","AppRootContext","AppRootPortal","children","className","useContext","portalRoot","embedded"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT,QAA6B,WAA7B;AACA,SAASC,cAAT;AAEA,OAAO,IAAMC,aAAwE,GAAG,SAA3EA,aAA2E,OAA6B;AAAA,MAA1BC,QAA0B,QAA1BA,QAA0B;AAAA,MAAhBC,SAAgB,QAAhBA,SAAgB;;AACnH,0BAAiCL,KAAK,CAACM,UAAN,CAAiBJ,cAAjB,CAAjC;AAAA,MAAQK,UAAR,qBAAQA,UAAR;AAAA,MAAoBC,QAApB,qBAAoBA,QAApB;;AACA,SAAOA,QAAQ,IAAID,UAAZ,gBACHN,YAAY,CAAE;AAAK,IAAA,SAAS,EAAEI;AAAhB,KAA4BD,QAA5B,CAAF,EAAgDG,UAAhD,CADT,GAEH,oBAAC,KAAD,CAAO,QAAP,QAAiBH,QAAjB,CAFJ;AAGD,CALM","sourcesContent":["import * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { AppRootContext } from './AppRootContext';\n\nexport const AppRootPortal: React.FC<React.PropsWithChildren<{ className?: string }>> = ({ children, className }) => {\n const { portalRoot, embedded } = React.useContext(AppRootContext);\n return embedded && portalRoot\n ? createPortal((<div className={className}>{children}</div>), portalRoot)\n : <React.Fragment>{children}</React.Fragment>;\n};\n"],"file":"AppRootPortal.js"}
1
+ {"version":3,"sources":["../../../../src/components/AppRoot/AppRootPortal.tsx"],"names":["React","createPortal","AppRootContext","AppRootPortal","children","className","forcePortal","useContext","portalRoot","mode"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT,QAA6B,WAA7B;AACA,SAASC,cAAT;AAEA,OAAO,IAAMC,aAA+F,GAAG,SAAlGA,aAAkG,OAA0C;AAAA;;AAAA,MAAvCC,QAAuC,QAAvCA,QAAuC;AAAA,MAA7BC,SAA6B,QAA7BA,SAA6B;AAAA,MAAlBC,WAAkB,QAAlBA,WAAkB;;AACvJ,0BAA6BN,KAAK,CAACO,UAAN,CAAiBL,cAAjB,CAA7B;AAAA,MAAQM,UAAR,qBAAQA,UAAR;AAAA,MAAoBC,IAApB,qBAAoBA,IAApB;;AAEAH,EAAAA,WAAW,mBAAGA,WAAH,uDAAkBG,IAAI,KAAK,MAAtC;AACA,SAAOD,UAAU,IAAIF,WAAd,gBACHL,YAAY,CAAE;AAAK,IAAA,SAAS,EAAEI;AAAhB,KAA4BD,QAA5B,CAAF,EAAgDI,UAAhD,CADT,GAEH,oBAAC,KAAD,CAAO,QAAP,QAAiBJ,QAAjB,CAFJ;AAGD,CAPM","sourcesContent":["import * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { AppRootContext } from './AppRootContext';\n\nexport const AppRootPortal: React.FC<React.PropsWithChildren<{ className?: string; forcePortal?: boolean }>> = ({ children, className, forcePortal }) => {\n const { portalRoot, mode } = React.useContext(AppRootContext);\n\n forcePortal = forcePortal ?? mode !== 'full';\n return portalRoot && forcePortal\n ? createPortal((<div className={className}>{children}</div>), portalRoot)\n : <React.Fragment>{children}</React.Fragment>;\n};\n"],"file":"AppRootPortal.js"}
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["mode", "onRemove", "removePlaceholder", "onDragFinish", "before", "after", "disabled", "removable", "draggable", "selectable", "Component", "onChange", "name", "checked", "defaultChecked", "getRootRef", "draggerLabel", "className", "style"],
3
+ var _excluded = ["mode", "onRemove", "removePlaceholder", "onDragFinish", "before", "after", "disabled", "removable", "draggable", "selectable", "Component", "onChange", "name", "value", "checked", "defaultChecked", "getRootRef", "draggerLabel", "className", "style"],
4
4
  _excluded2 = ["dragging", "rootElRef"];
5
5
  import { createScopedElement } from "../../lib/jsxRuntime";
6
6
  import * as React from 'react';
@@ -32,6 +32,7 @@ export var Cell = function Cell(_ref) {
32
32
  Component = _ref.Component,
33
33
  onChange = _ref.onChange,
34
34
  name = _ref.name,
35
+ value = _ref.value,
35
36
  checked = _ref.checked,
36
37
  defaultChecked = _ref.defaultChecked,
37
38
  getRootRef = _ref.getRootRef,
@@ -92,6 +93,7 @@ export var Cell = function Cell(_ref) {
92
93
  if (selectable) {
93
94
  var checkboxProps = {
94
95
  name: name,
96
+ value: value,
95
97
  onChange: onChange,
96
98
  defaultChecked: defaultChecked,
97
99
  checked: checked,