@vkontakte/vkui 4.30.0 → 4.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +38 -27
  4. package/.cache/ts/src/components/Calendar/Calendar.d.ts +1 -1
  5. package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +2 -0
  6. package/.cache/ts/src/components/CalendarRange/CalendarRange.d.ts +1 -1
  7. package/.cache/ts/src/components/DateInput/DateInput.d.ts +1 -1
  8. package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  9. package/.cache/ts/src/hooks/useAdaptivity.d.ts +1 -0
  10. package/.cache/ts/src/index.d.ts +1 -0
  11. package/dist/cjs/components/ActionSheet/ActionSheet.js +2 -9
  12. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  13. package/dist/cjs/components/Calendar/Calendar.d.ts +1 -1
  14. package/dist/cjs/components/Calendar/Calendar.js +6 -2
  15. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  16. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +2 -0
  17. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +15 -9
  18. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  19. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +1 -1
  20. package/dist/cjs/components/CalendarRange/CalendarRange.js +7 -3
  21. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  22. package/dist/cjs/components/DateInput/DateInput.d.ts +1 -1
  23. package/dist/cjs/components/DateInput/DateInput.js +7 -3
  24. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  25. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  26. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +6 -2
  27. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  28. package/dist/cjs/components/ModalCard/ModalCard.js +3 -1
  29. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  30. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +4 -2
  31. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  32. package/dist/cjs/components/ModalPage/ModalPage.js +6 -2
  33. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  34. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +2 -10
  35. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  36. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js +3 -4
  37. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  38. package/dist/cjs/components/PanelHeader/PanelHeader.js +8 -6
  39. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  40. package/dist/cjs/components/PopoutRoot/PopoutRoot.js +3 -1
  41. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  42. package/dist/cjs/hooks/useAdaptivity.d.ts +1 -0
  43. package/dist/cjs/hooks/useAdaptivity.js +18 -1
  44. package/dist/cjs/hooks/useAdaptivity.js.map +1 -1
  45. package/dist/cjs/index.d.ts +1 -0
  46. package/dist/cjs/index.js +8 -0
  47. package/dist/cjs/index.js.map +1 -1
  48. package/dist/components/ActionSheet/ActionSheet.js +2 -8
  49. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  50. package/dist/components/Calendar/Calendar.d.ts +1 -1
  51. package/dist/components/Calendar/Calendar.js +6 -2
  52. package/dist/components/Calendar/Calendar.js.map +1 -1
  53. package/dist/components/CalendarHeader/CalendarHeader.d.ts +2 -0
  54. package/dist/components/CalendarHeader/CalendarHeader.js +15 -9
  55. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  56. package/dist/components/CalendarRange/CalendarRange.d.ts +1 -1
  57. package/dist/components/CalendarRange/CalendarRange.js +7 -3
  58. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  59. package/dist/components/DateInput/DateInput.d.ts +1 -1
  60. package/dist/components/DateInput/DateInput.js +7 -3
  61. package/dist/components/DateInput/DateInput.js.map +1 -1
  62. package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  63. package/dist/components/DateRangeInput/DateRangeInput.js +6 -2
  64. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  65. package/dist/components/ModalCard/ModalCard.js +3 -2
  66. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  67. package/dist/components/ModalCardBase/ModalCardBase.js +5 -4
  68. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  69. package/dist/components/ModalPage/ModalPage.js +5 -3
  70. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  71. package/dist/components/ModalPageHeader/ModalPageHeader.js +2 -9
  72. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  73. package/dist/components/ModalRoot/ModalRootAdaptive.js +3 -5
  74. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  75. package/dist/components/PanelHeader/PanelHeader.js +8 -6
  76. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  77. package/dist/components/PopoutRoot/PopoutRoot.js +3 -2
  78. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  79. package/dist/components.css +18 -18
  80. package/dist/components.css.map +1 -1
  81. package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -8
  82. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  83. package/dist/cssm/components/Button/Button.css +9 -9
  84. package/dist/cssm/components/ButtonGroup/ButtonGroup.css +1 -1
  85. package/dist/cssm/components/Calendar/Calendar.css +1 -1
  86. package/dist/cssm/components/Calendar/Calendar.d.ts +1 -1
  87. package/dist/cssm/components/Calendar/Calendar.js +6 -2
  88. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  89. package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
  90. package/dist/cssm/components/CalendarDays/CalendarDays.css +1 -1
  91. package/dist/cssm/components/CalendarHeader/CalendarHeader.css +1 -1
  92. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +2 -0
  93. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +15 -9
  94. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  95. package/dist/cssm/components/CalendarRange/CalendarRange.css +1 -1
  96. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +1 -1
  97. package/dist/cssm/components/CalendarRange/CalendarRange.js +7 -3
  98. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  99. package/dist/cssm/components/CalendarTime/CalendarTime.css +1 -1
  100. package/dist/cssm/components/Card/Card.css +2 -2
  101. package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
  102. package/dist/cssm/components/Cell/Cell.css +1 -1
  103. package/dist/cssm/components/CellButton/CellButton.css +1 -1
  104. package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
  105. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  106. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +1 -1
  107. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +1 -1
  108. package/dist/cssm/components/DateInput/DateInput.d.ts +1 -1
  109. package/dist/cssm/components/DateInput/DateInput.js +7 -3
  110. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  111. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  112. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +6 -2
  113. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  114. package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
  115. package/dist/cssm/components/FormField/FormField.css +2 -2
  116. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  117. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +1 -1
  118. package/dist/cssm/components/Input/Input.css +1 -1
  119. package/dist/cssm/components/InputLike/InputLike.css +1 -1
  120. package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -1
  121. package/dist/cssm/components/ModalCard/ModalCard.js +3 -2
  122. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  123. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +5 -4
  124. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  125. package/dist/cssm/components/ModalPage/ModalPage.js +5 -3
  126. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  127. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +2 -9
  128. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  129. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +3 -5
  130. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  131. package/dist/cssm/components/Pagination/Pagination.css +1 -1
  132. package/dist/cssm/components/PanelHeader/PanelHeader.js +8 -6
  133. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  134. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +3 -2
  135. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  136. package/dist/cssm/components/Popper/Popper.css +1 -1
  137. package/dist/cssm/components/Radio/Radio.css +1 -1
  138. package/dist/cssm/components/RadioGroup/RadioGroup.css +1 -1
  139. package/dist/cssm/components/Removable/Removable.css +1 -1
  140. package/dist/cssm/components/RichCell/RichCell.css +1 -1
  141. package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -1
  142. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  143. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  144. package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
  145. package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -1
  146. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  147. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  148. package/dist/cssm/hooks/useAdaptivity.d.ts +1 -0
  149. package/dist/cssm/hooks/useAdaptivity.js +13 -1
  150. package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
  151. package/dist/cssm/index.d.ts +1 -0
  152. package/dist/cssm/index.js +1 -0
  153. package/dist/cssm/index.js.map +1 -1
  154. package/dist/cssm/styles/components.css +18 -18
  155. package/dist/cssm/styles/themes.css +1 -1
  156. package/dist/hooks/useAdaptivity.d.ts +1 -0
  157. package/dist/hooks/useAdaptivity.js +13 -1
  158. package/dist/hooks/useAdaptivity.js.map +1 -1
  159. package/dist/index.d.ts +1 -0
  160. package/dist/index.js +1 -0
  161. package/dist/index.js.map +1 -1
  162. package/dist/vkui.css +19 -19
  163. package/dist/vkui.css.map +1 -1
  164. package/jest.unit.config.js +1 -0
  165. package/package.json +4 -2
  166. package/postcss-custom-properties-fallback/__tests__/custom_properties.css +5 -0
  167. package/postcss-custom-properties-fallback/index.js +83 -0
  168. package/src/components/ActionSheet/ActionSheet.tsx +2 -6
  169. package/src/components/Calendar/Calendar.tsx +6 -0
  170. package/src/components/CalendarHeader/CalendarHeader.css +3 -0
  171. package/src/components/CalendarHeader/CalendarHeader.tsx +18 -2
  172. package/src/components/CalendarRange/CalendarRange.tsx +6 -0
  173. package/src/components/Cell/Cell.css +1 -1
  174. package/src/components/CellButton/CellButton.css +1 -1
  175. package/src/components/Checkbox/Checkbox.css +1 -1
  176. package/src/components/DateInput/DateInput.tsx +7 -1
  177. package/src/components/DateRangeInput/DateRangeInput.tsx +6 -0
  178. package/src/components/FixedLayout/FixedLayout.css +10 -2
  179. package/src/components/FormItem/FormItem.css +1 -0
  180. package/src/components/FormLayoutGroup/FormLayoutGroup.css +2 -1
  181. package/src/components/ModalCard/ModalCard.tsx +3 -8
  182. package/src/components/ModalCardBase/ModalCardBase.tsx +6 -10
  183. package/src/components/ModalPage/ModalPage.tsx +6 -9
  184. package/src/components/ModalPageHeader/ModalPageHeader.tsx +2 -6
  185. package/src/components/ModalRoot/ModalRootAdaptive.tsx +3 -9
  186. package/src/components/ModalRoot/Readme.md +1 -1
  187. package/src/components/PanelHeader/PanelHeader.tsx +19 -18
  188. package/src/components/PanelHeader/Readme.md +2 -2
  189. package/src/components/PopoutRoot/PopoutRoot.tsx +3 -8
  190. package/src/components/Popper/Popper.css +14 -2
  191. package/src/components/Radio/Radio.css +1 -1
  192. package/src/components/RadioGroup/RadioGroup.css +1 -1
  193. package/src/components/Removable/Removable.css +2 -2
  194. package/src/components/RichCell/RichCell.css +1 -1
  195. package/src/components/SimpleCell/SimpleCell.css +1 -1
  196. package/src/components/Tooltip/Readme.md +35 -47
  197. package/src/hooks/useAdaptivity.ts +15 -0
  198. package/src/index.ts +1 -0
  199. package/src/styles/constants.css +1 -0
  200. package/tsconfig.json +1 -0
@@ -1,16 +1,13 @@
1
1
  import * as React from "react";
2
2
  import { HasRootRef } from "../../types";
3
- import {
4
- withAdaptivity,
5
- ViewWidth,
6
- ViewHeight,
7
- } from "../../hoc/withAdaptivity";
3
+ import { withAdaptivity } from "../../hoc/withAdaptivity";
8
4
  import { AppRootPortal } from "../AppRoot/AppRootPortal";
9
5
  import { blurActiveElement, useDOM } from "../../lib/dom";
10
6
  import {
11
7
  AdaptivityContextInterface,
12
8
  AdaptivityProps,
13
9
  } from "../AdaptivityProvider/AdaptivityContext";
10
+ import { useAdaptivityIsDesktop } from "../../hooks/useAdaptivity";
14
11
  import "./PopoutRoot.css";
15
12
 
16
13
  export interface PopoutRootProps
@@ -36,9 +33,7 @@ export const PopoutRootComponent: React.FC<
36
33
  } = props;
37
34
  const { document } = useDOM();
38
35
 
39
- const isDesktop =
40
- viewWidth >= ViewWidth.SMALL_TABLET &&
41
- (hasMouse || viewHeight >= ViewHeight.MEDIUM);
36
+ const isDesktop = useAdaptivityIsDesktop();
42
37
 
43
38
  React.useEffect(() => {
44
39
  popout && blurActiveElement(document);
@@ -1,5 +1,17 @@
1
- .PopperPortal {
2
- position: relative;
1
+ /**
2
+ * ⚠ WARNING️ ⚠
3
+ *
4
+ * Если указать `position: relaitve` контейнеру, где позиционируется `Popper`, то при кейсе когда:
5
+ * 1. Мы передали `sameWidth`.
6
+ * 2. Мы позциционируем `Popper` через `position: absolute`.
7
+ * 3. Мы используем `height: 100%` или `height: 100vh`, чтобы растянуть страницу на всю высоту.
8
+ * 4. НЕТ скроллбара.
9
+ * будет неправильно высчитан `offsetWidth` у `targetRef` при первом вызове `effect()` модификатора `sameWdith`,
10
+ * а именно из `offsetWidth` будет вычтен размер скроллабара, которого на самом деле на странице нет (см. п. 4)
11
+ *
12
+ * Второй и последующие вызовы исправляют ситуацию.
13
+ */
14
+ .Popper {
3
15
  z-index: 100;
4
16
  }
5
17
 
@@ -5,7 +5,7 @@
5
5
  .FormItem .Radio {
6
6
  width: 100%;
7
7
  box-sizing: content-box;
8
- margin: 0 calc(-1 * var(--formitem_padding));
8
+ margin: 0 calc(-1 * var(--vkui--size_base_padding_horizontal--regular));
9
9
  }
10
10
 
11
11
  .Radio__input {
@@ -7,6 +7,6 @@
7
7
  * FormItem
8
8
  */
9
9
  .FormItem .RadioGroup {
10
- margin: 0 calc(-1 * var(--formitem_padding));
10
+ margin: 0 calc(-1 * var(--vkui--size_base_padding_horizontal--regular));
11
11
  box-sizing: content-box;
12
12
  }
@@ -2,7 +2,7 @@
2
2
  position: relative;
3
3
  display: flex;
4
4
  align-items: center;
5
- padding-left: var(--formitem_padding);
5
+ padding-left: var(--vkui--size_base_padding_horizontal--regular);
6
6
  }
7
7
 
8
8
  .Removable__action {
@@ -102,7 +102,7 @@
102
102
 
103
103
  .Removable--ios .Removable__content {
104
104
  padding-left: 0;
105
- padding-right: var(--formitem_padding);
105
+ padding-right: var(--vkui--size_base_padding_horizontal--regular);
106
106
  }
107
107
 
108
108
  .FormLayoutGroup--removable .Removable__content {
@@ -12,7 +12,7 @@
12
12
  .FormItem .RichCell {
13
13
  width: 100%;
14
14
  box-sizing: content-box;
15
- margin: 0 calc(-1 * var(--formitem_padding));
15
+ margin: 0 calc(-1 * var(--vkui--size_base_padding_horizontal--regular));
16
16
  }
17
17
 
18
18
  .RichCell--mult {
@@ -254,5 +254,5 @@
254
254
  * FormItem
255
255
  */
256
256
  .FormItem > .SimpleCell {
257
- margin: 0 calc(-1 * var(--formitem_padding));
257
+ margin: 0 calc(-1 * var(--vkui--size_base_padding_horizontal--regular));
258
258
  }
@@ -48,12 +48,12 @@ class Example extends React.Component {
48
48
  <PanelHeader>Tooltip</PanelHeader>
49
49
  <Group>
50
50
  <List>
51
- <Cell>Музыка</Cell>
52
- <Cell>Видео</Cell>
53
- <Cell>Игры</Cell>
54
- <Cell>Закладки</Cell>
55
- <Cell>Документы</Cell>
56
- <Cell>Денежные переводы</Cell>
51
+ <SimpleCell>Музыка</SimpleCell>
52
+ <SimpleCell>Видео</SimpleCell>
53
+ <SimpleCell>Игры</SimpleCell>
54
+ <SimpleCell>Закладки</SimpleCell>
55
+ <SimpleCell>Документы</SimpleCell>
56
+ <SimpleCell>Денежные переводы</SimpleCell>
57
57
  </List>
58
58
  </Group>
59
59
  <Group>
@@ -64,9 +64,11 @@ class Example extends React.Component {
64
64
  onClose={() => this.setState({ tooltip: false })}
65
65
  offsetX={10}
66
66
  >
67
- <Cell onClick={() => this.setState({ activePanel: "tooltip2" })}>
67
+ <SimpleCell
68
+ onClick={() => this.setState({ activePanel: "tooltip2" })}
69
+ >
68
70
  VK Pay
69
- </Cell>
71
+ </SimpleCell>
70
72
  </Tooltip>
71
73
  </Group>
72
74
  </Panel>
@@ -74,39 +76,25 @@ class Example extends React.Component {
74
76
  <Panel id="tooltip2">
75
77
  <PanelHeader
76
78
  left={
77
- <PanelHeaderButton
78
- onClick={() => this.setState({ activePanel: "tooltip" })}
79
+ <Tooltip
80
+ isShown={this.state.tooltip2}
81
+ onClose={() =>
82
+ this.setState({ tooltip2: false, tooltip3: true })
83
+ }
84
+ text="Нажмите на кнопку, если хотите вернуться"
85
+ header="Возвратиться"
79
86
  >
80
- {this.props.platform === ANDROID ||
81
- this.props.platform === VKCOM ? (
82
- <Icon24Back />
83
- ) : (
84
- <Icon28ChevronBack />
85
- )}
86
- </PanelHeaderButton>
87
- }
88
- right={
89
- <PanelHeaderButton>
90
- <Tooltip
91
- isShown={this.state.tooltip2}
92
- onClose={() =>
93
- this.setState({ tooltip2: false, tooltip3: true })
94
- }
95
- cornerOffset={-10}
96
- offsetX={7}
97
- text="Обновлённый раздел поможет найти друзей"
98
- header="Рекомендации друзей"
99
- >
100
- <Icon24Add />
101
- </Tooltip>
102
- </PanelHeaderButton>
87
+ <PanelHeaderBack
88
+ onClick={() => this.setState({ activePanel: "tooltip" })}
89
+ />
90
+ </Tooltip>
103
91
  }
104
92
  >
105
93
  Tooltip
106
94
  </PanelHeader>
107
95
  <Group>
108
96
  <List>
109
- <Cell
97
+ <SimpleCell
110
98
  before={
111
99
  <Tooltip
112
100
  text="Теперь у нас появились аватарки в списках. Правда круто?"
@@ -120,25 +108,25 @@ class Example extends React.Component {
120
108
  description="Веб-сайт"
121
109
  >
122
110
  Команда ВКонтакте
123
- </Cell>
124
- <Cell before={<Avatar />} description="Музыкант">
111
+ </SimpleCell>
112
+ <SimpleCell before={<Avatar />} description="Музыкант">
125
113
  Robbie Williams
126
- </Cell>
127
- <Cell before={<Avatar />} description="Издательский дом">
114
+ </SimpleCell>
115
+ <SimpleCell before={<Avatar />} description="Издательский дом">
128
116
  ПостНаука
129
- </Cell>
130
- <Cell before={<Avatar />} description="Издательский дом">
117
+ </SimpleCell>
118
+ <SimpleCell before={<Avatar />} description="Издательский дом">
131
119
  ПостНаука
132
- </Cell>
133
- <Cell before={<Avatar />} description="Издательский дом">
120
+ </SimpleCell>
121
+ <SimpleCell before={<Avatar />} description="Издательский дом">
134
122
  ПостНаука
135
- </Cell>
136
- <Cell before={<Avatar />} description="Издательский дом">
123
+ </SimpleCell>
124
+ <SimpleCell before={<Avatar />} description="Издательский дом">
137
125
  ПостНаука
138
- </Cell>
139
- <Cell before={<Avatar />} description="Издательский дом">
126
+ </SimpleCell>
127
+ <SimpleCell before={<Avatar />} description="Издательский дом">
140
128
  ПостНаука
141
- </Cell>
129
+ </SimpleCell>
142
130
  </List>
143
131
  </Group>
144
132
  </Panel>
@@ -3,10 +3,25 @@ import {
3
3
  AdaptivityContext,
4
4
  AdaptivityProps,
5
5
  AdaptivityContextInterface,
6
+ ViewWidth,
7
+ ViewHeight,
6
8
  } from "../components/AdaptivityProvider/AdaptivityContext";
9
+ import { usePlatform } from "./usePlatform";
10
+ import { VKCOM } from "../lib/platform";
7
11
 
8
12
  export type { AdaptivityProps };
9
13
 
10
14
  export const useAdaptivity = (): AdaptivityContextInterface => {
11
15
  return React.useContext(AdaptivityContext);
12
16
  };
17
+
18
+ export const useAdaptivityIsDesktop = (): boolean => {
19
+ const platform = usePlatform();
20
+ const { viewWidth, viewHeight, hasMouse } = useAdaptivity();
21
+
22
+ return (
23
+ (viewWidth >= ViewWidth.SMALL_TABLET &&
24
+ (hasMouse || viewHeight >= ViewHeight.MEDIUM)) ||
25
+ platform === VKCOM
26
+ );
27
+ };
package/src/index.ts CHANGED
@@ -308,6 +308,7 @@ export { usePlatform } from "./hooks/usePlatform";
308
308
  export { useAdaptivity } from "./hooks/useAdaptivity";
309
309
  export { useAppearance } from "./hooks/useAppearance";
310
310
  export { usePagination } from "./hooks/usePagination";
311
+ export { useScrollLock } from "./components/AppRoot/ScrollContext";
311
312
 
312
313
  /**
313
314
  * Utils
@@ -32,6 +32,7 @@
32
32
  --thin-border: 1px;
33
33
 
34
34
  /* paddings */
35
+ /* TODO: v5 удалить */
35
36
  --formitem_padding: 16px;
36
37
 
37
38
  /* colors */
package/tsconfig.json CHANGED
@@ -29,6 +29,7 @@
29
29
  ".github/**/*.js",
30
30
  "eslint-plugin-vkui/*.js",
31
31
  "postcss-plugin-vk-sans/*.js",
32
+ "postcss-custom-properties-fallback/*.js",
32
33
  "*.js"
33
34
  ],
34
35
  "files": [