@vkontakte/vkui 4.21.0 → 4.22.2

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 (248) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +271 -37
  4. package/.cache/ts/src/components/Avatar/Avatar.d.ts +2 -0
  5. package/.cache/ts/src/components/Cell/Cell.d.ts +11 -0
  6. package/.cache/ts/src/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
  7. package/.cache/ts/src/components/Cell/CellDragger/CellDragger.d.ts +6 -0
  8. package/.cache/ts/src/components/Cell/useDraggable.d.ts +13 -0
  9. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +0 -1
  10. package/.cache/ts/src/components/DropdownIcon/DropdownIcon.d.ts +3 -0
  11. package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +9 -0
  12. package/.cache/ts/src/components/InitialsAvatar/InitialsAvatar.d.ts +33 -0
  13. package/.cache/ts/src/components/Removable/Removable.d.ts +2 -1
  14. package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +3 -1
  15. package/.cache/ts/src/index.d.ts +4 -0
  16. package/dist/cjs/components/ActionSheet/ActionSheet.js +1 -12
  17. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  18. package/dist/cjs/components/Avatar/Avatar.d.ts +2 -0
  19. package/dist/cjs/components/Avatar/Avatar.js +7 -3
  20. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  21. package/dist/cjs/components/CardScroll/CardScroll.js +1 -1
  22. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  23. package/dist/cjs/components/Cell/Cell.d.ts +11 -0
  24. package/dist/cjs/components/Cell/Cell.js +109 -182
  25. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  26. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
  27. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js +50 -0
  28. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -0
  29. package/dist/cjs/components/Cell/CellDragger/CellDragger.d.ts +6 -0
  30. package/dist/cjs/components/Cell/CellDragger/CellDragger.js +53 -0
  31. package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -0
  32. package/dist/cjs/components/Cell/useDraggable.d.ts +13 -0
  33. package/dist/cjs/components/Cell/useDraggable.js +142 -0
  34. package/dist/cjs/components/Cell/useDraggable.js.map +1 -0
  35. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +2 -2
  36. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  37. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +0 -1
  38. package/dist/cjs/components/CustomSelect/CustomSelect.js +2 -3
  39. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  40. package/dist/cjs/components/DropdownIcon/DropdownIcon.d.ts +3 -0
  41. package/dist/cjs/components/DropdownIcon/DropdownIcon.js +37 -0
  42. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -0
  43. package/dist/cjs/components/FocusTrap/FocusTrap.js +3 -5
  44. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  45. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +1 -0
  46. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  47. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +9 -0
  48. package/dist/cjs/components/GridAvatar/GridAvatar.js +61 -0
  49. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -0
  50. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.d.ts +33 -0
  51. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js +64 -0
  52. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js.map +1 -0
  53. package/dist/cjs/components/NativeSelect/NativeSelect.js +2 -2
  54. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  55. package/dist/cjs/components/Progress/Progress.js +6 -3
  56. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  57. package/dist/cjs/components/Removable/Removable.d.ts +2 -1
  58. package/dist/cjs/components/Removable/Removable.js +20 -10
  59. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  60. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +2 -2
  61. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  62. package/dist/cjs/components/Tabbar/Tabbar.js +3 -1
  63. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  64. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +3 -1
  65. package/dist/cjs/components/TabbarItem/TabbarItem.js +29 -11
  66. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  67. package/dist/cjs/components/View/View.js +53 -42
  68. package/dist/cjs/components/View/View.js.map +1 -1
  69. package/dist/cjs/components/View/ViewInfinite.js +63 -52
  70. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  71. package/dist/cjs/index.d.ts +4 -0
  72. package/dist/cjs/index.js +16 -0
  73. package/dist/cjs/index.js.map +1 -1
  74. package/dist/cjs/lib/prefixClass.js +7 -6
  75. package/dist/cjs/lib/prefixClass.js.map +1 -1
  76. package/dist/components/ActionSheet/ActionSheet.js +1 -11
  77. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  78. package/dist/components/Avatar/Avatar.d.ts +2 -0
  79. package/dist/components/Avatar/Avatar.js +4 -2
  80. package/dist/components/Avatar/Avatar.js.map +1 -1
  81. package/dist/components/CardScroll/CardScroll.js +1 -1
  82. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  83. package/dist/components/Cell/Cell.d.ts +11 -0
  84. package/dist/components/Cell/Cell.js +103 -177
  85. package/dist/components/Cell/Cell.js.map +1 -1
  86. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
  87. package/dist/components/Cell/CellCheckbox/CellCheckbox.js +31 -0
  88. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -0
  89. package/dist/components/Cell/CellDragger/CellDragger.d.ts +6 -0
  90. package/dist/components/Cell/CellDragger/CellDragger.js +30 -0
  91. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -0
  92. package/dist/components/Cell/useDraggable.d.ts +13 -0
  93. package/dist/components/Cell/useDraggable.js +126 -0
  94. package/dist/components/Cell/useDraggable.js.map +1 -0
  95. package/dist/components/ChipsSelect/ChipsSelect.js +2 -2
  96. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  97. package/dist/components/CustomSelect/CustomSelect.d.ts +0 -1
  98. package/dist/components/CustomSelect/CustomSelect.js +3 -5
  99. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  100. package/dist/components/DropdownIcon/DropdownIcon.d.ts +3 -0
  101. package/dist/components/DropdownIcon/DropdownIcon.js +19 -0
  102. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -0
  103. package/dist/components/FocusTrap/FocusTrap.js +3 -5
  104. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  105. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +1 -0
  106. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  107. package/dist/components/GridAvatar/GridAvatar.d.ts +9 -0
  108. package/dist/components/GridAvatar/GridAvatar.js +41 -0
  109. package/dist/components/GridAvatar/GridAvatar.js.map +1 -0
  110. package/dist/components/InitialsAvatar/InitialsAvatar.d.ts +33 -0
  111. package/dist/components/InitialsAvatar/InitialsAvatar.js +46 -0
  112. package/dist/components/InitialsAvatar/InitialsAvatar.js.map +1 -0
  113. package/dist/components/NativeSelect/NativeSelect.js +2 -2
  114. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  115. package/dist/components/Progress/Progress.js +6 -3
  116. package/dist/components/Progress/Progress.js.map +1 -1
  117. package/dist/components/Removable/Removable.d.ts +2 -1
  118. package/dist/components/Removable/Removable.js +20 -11
  119. package/dist/components/Removable/Removable.js.map +1 -1
  120. package/dist/components/SelectMimicry/SelectMimicry.js +2 -2
  121. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  122. package/dist/components/Tabbar/Tabbar.js +3 -1
  123. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  124. package/dist/components/TabbarItem/TabbarItem.d.ts +3 -1
  125. package/dist/components/TabbarItem/TabbarItem.js +26 -10
  126. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  127. package/dist/components/View/View.js +53 -42
  128. package/dist/components/View/View.js.map +1 -1
  129. package/dist/components/View/ViewInfinite.js +65 -54
  130. package/dist/components/View/ViewInfinite.js.map +1 -1
  131. package/dist/components.css +1 -1
  132. package/dist/components.css.map +1 -1
  133. package/dist/cssm/components/ActionSheet/ActionSheet.js +1 -11
  134. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  135. package/dist/cssm/components/Avatar/Avatar.js +4 -2
  136. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  137. package/dist/cssm/components/CardScroll/CardScroll.js +1 -1
  138. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  139. package/dist/cssm/components/Cell/Cell.css +1 -1
  140. package/dist/cssm/components/Cell/Cell.js +103 -177
  141. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  142. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.css +1 -0
  143. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js +32 -0
  144. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -0
  145. package/dist/cssm/components/Cell/CellDragger/CellDragger.css +1 -0
  146. package/dist/cssm/components/Cell/CellDragger/CellDragger.js +31 -0
  147. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -0
  148. package/dist/cssm/components/Cell/useDraggable.js +126 -0
  149. package/dist/cssm/components/Cell/useDraggable.js.map +1 -0
  150. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +2 -2
  151. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  152. package/dist/cssm/components/CustomSelect/CustomSelect.js +3 -5
  153. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  154. package/dist/cssm/components/DropdownIcon/DropdownIcon.css +1 -0
  155. package/dist/cssm/components/DropdownIcon/DropdownIcon.js +20 -0
  156. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -0
  157. package/dist/cssm/components/FocusTrap/FocusTrap.js +3 -5
  158. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  159. package/dist/cssm/components/FormItem/FormItem.css +1 -1
  160. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  161. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +1 -0
  162. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  163. package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -0
  164. package/dist/cssm/components/GridAvatar/GridAvatar.js +42 -0
  165. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -0
  166. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.css +1 -0
  167. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js +52 -0
  168. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js.map +1 -0
  169. package/dist/cssm/components/NativeSelect/NativeSelect.js +2 -2
  170. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  171. package/dist/cssm/components/Progress/Progress.js +6 -3
  172. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  173. package/dist/cssm/components/Removable/Removable.css +1 -1
  174. package/dist/cssm/components/Removable/Removable.js +20 -11
  175. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  176. package/dist/cssm/components/Select/Select.css +1 -1
  177. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +2 -2
  178. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  179. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  180. package/dist/cssm/components/Tabbar/Tabbar.css +1 -1
  181. package/dist/cssm/components/Tabbar/Tabbar.js +3 -1
  182. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  183. package/dist/cssm/components/TabbarItem/TabbarItem.css +1 -1
  184. package/dist/cssm/components/TabbarItem/TabbarItem.js +26 -10
  185. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  186. package/dist/cssm/components/TabsItem/TabsItem.css +1 -1
  187. package/dist/cssm/components/View/View.js +53 -42
  188. package/dist/cssm/components/View/View.js.map +1 -1
  189. package/dist/cssm/components/View/ViewInfinite.js +65 -54
  190. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  191. package/dist/cssm/index.js +2 -0
  192. package/dist/cssm/index.js.map +1 -1
  193. package/dist/cssm/lib/prefixClass.js +7 -6
  194. package/dist/cssm/lib/prefixClass.js.map +1 -1
  195. package/dist/cssm/styles/components.css +1 -1
  196. package/dist/index.d.ts +4 -0
  197. package/dist/index.js +2 -0
  198. package/dist/index.js.map +1 -1
  199. package/dist/lib/prefixClass.js +7 -6
  200. package/dist/lib/prefixClass.js.map +1 -1
  201. package/dist/vkui.css +1 -1
  202. package/dist/vkui.css.map +1 -1
  203. package/package.json +1 -1
  204. package/src/components/ActionSheet/ActionSheet.tsx +1 -8
  205. package/src/components/Avatar/Avatar.tsx +5 -2
  206. package/src/components/CardScroll/CardScroll.tsx +4 -1
  207. package/src/components/Cell/Cell.css +22 -45
  208. package/src/components/Cell/Cell.tsx +101 -162
  209. package/src/components/Cell/CellCheckbox/CellCheckbox.css +17 -0
  210. package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +42 -0
  211. package/src/components/Cell/CellDragger/CellDragger.css +4 -0
  212. package/src/components/Cell/CellDragger/CellDragger.tsx +40 -0
  213. package/src/components/Cell/Readme.md +89 -51
  214. package/src/components/Cell/useDraggable.tsx +112 -0
  215. package/src/components/ChipsSelect/ChipsSelect.tsx +2 -2
  216. package/src/components/CustomSelect/CustomSelect.tsx +3 -4
  217. package/src/components/DropdownIcon/DropdownIcon.css +3 -0
  218. package/src/components/DropdownIcon/DropdownIcon.tsx +20 -0
  219. package/src/components/Epic/Readme.md +1 -0
  220. package/src/components/FocusTrap/FocusTrap.tsx +11 -8
  221. package/src/components/FormItem/FormItem.css +8 -8
  222. package/src/components/FormLayoutGroup/FormLayoutGroup.css +9 -3
  223. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +10 -1
  224. package/src/components/GridAvatar/GridAvatar.css +37 -0
  225. package/src/components/GridAvatar/GridAvatar.tsx +55 -0
  226. package/src/components/GridAvatar/Readme.md +12 -0
  227. package/src/components/InitialsAvatar/InitialsAvatar.css +53 -0
  228. package/src/components/InitialsAvatar/InitialsAvatar.tsx +90 -0
  229. package/src/components/InitialsAvatar/Readme.md +14 -0
  230. package/src/components/ModalRoot/Readme.md +2 -2
  231. package/src/components/NativeSelect/NativeSelect.tsx +2 -2
  232. package/src/components/Progress/Progress.tsx +8 -3
  233. package/src/components/Removable/Removable.css +9 -20
  234. package/src/components/Removable/Removable.tsx +19 -11
  235. package/src/components/Select/Select.css +1 -1
  236. package/src/components/SelectMimicry/SelectMimicry.tsx +2 -2
  237. package/src/components/SimpleCell/SimpleCell.css +10 -27
  238. package/src/components/Tabbar/Tabbar.css +15 -4
  239. package/src/components/Tabbar/Tabbar.tsx +3 -1
  240. package/src/components/TabbarItem/Readme.md +72 -0
  241. package/src/components/TabbarItem/TabbarItem.css +65 -14
  242. package/src/components/TabbarItem/TabbarItem.tsx +46 -22
  243. package/src/components/TabsItem/TabsItem.css +5 -2
  244. package/src/components/View/View.tsx +37 -31
  245. package/src/components/View/ViewInfinite.tsx +44 -38
  246. package/src/index.ts +4 -0
  247. package/src/lib/prefixClass.ts +9 -6
  248. package/src/styles/components.css +4 -0
@@ -10,4 +10,6 @@ export interface AvatarProps extends React.ImgHTMLAttributes<HTMLElement>, HasRo
10
10
  shadow?: boolean;
11
11
  }
12
12
  declare const Avatar: React.FC<AvatarProps>;
13
+ export declare const AVATAR_DEFAULT_SIZE = 48;
14
+ export declare const AVATAR_DEFAULT_SHADOW = true;
13
15
  export default Avatar;
@@ -4,15 +4,22 @@ import { HasPlatform } from '../../types';
4
4
  import { RemovableProps } from '../Removable/Removable';
5
5
  import './Cell.css';
6
6
  export interface CellProps extends SimpleCellProps, HasPlatform, RemovableProps {
7
+ mode?: 'removable' | 'selectable';
7
8
  /**
8
9
  * В режиме перетаскивания ячейка перестает быть кликабельной, то есть при клике переданный onClick вызываться не будет
9
10
  */
10
11
  draggable?: boolean;
12
+ /**
13
+ * @deprecated Будет удалено в 5.0.0. Используйте mode="removable"
14
+ */
11
15
  removable?: boolean;
12
16
  /**
13
17
  * Имя для input в режиме selectable
14
18
  */
15
19
  name?: string;
20
+ /**
21
+ * @deprecated Будет удалено в 5.0.0. Используйте mode="selectable"
22
+ */
16
23
  selectable?: boolean;
17
24
  /**
18
25
  * В режиме selectable реагирует на входящие значения пропса cheсked, как зависящий напрямую от входящего значения
@@ -32,5 +39,9 @@ export interface CellProps extends SimpleCellProps, HasPlatform, RemovableProps
32
39
  from: number;
33
40
  to: number;
34
41
  }) => void;
42
+ /**
43
+ * aria-label для кнопки перетаскивания ячейки
44
+ */
45
+ draggerLabel?: string;
35
46
  }
36
47
  export declare const Cell: React.FC<CellProps>;
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ import { CellProps } from '../Cell';
3
+ import './CellCheckbox.css';
4
+ export declare type CellCheckboxProps = Pick<CellProps, 'defaultChecked' | 'checked'> & React.InputHTMLAttributes<HTMLInputElement>;
5
+ export declare const CellCheckbox: React.FC<CellCheckboxProps>;
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import { DraggableProps } from '../useDraggable';
3
+ import './CellDragger.css';
4
+ declare type CellDraggerProps = DraggableProps & React.HTMLAttributes<HTMLElement>;
5
+ export declare const CellDragger: React.FC<CellDraggerProps>;
6
+ export {};
@@ -0,0 +1,13 @@
1
+ import { TouchEvent } from '../Touch/Touch';
2
+ import { CellProps } from './Cell';
3
+ export interface DraggableProps {
4
+ onDragStart: () => void;
5
+ onDragEnd: () => void;
6
+ onDragMove: (e: TouchEvent) => void;
7
+ }
8
+ interface UseDraggableProps extends DraggableProps {
9
+ dragging: boolean;
10
+ rootElRef: any;
11
+ }
12
+ export declare const useDraggable: ({ onDragFinish }: Pick<CellProps, "onDragFinish">) => UseDraggableProps;
13
+ export {};
@@ -64,7 +64,6 @@ declare type MouseEventHandler = (event: React.MouseEvent<HTMLElement>) => void;
64
64
  declare class CustomSelect extends React.Component<CustomSelectProps, CustomSelectState> {
65
65
  static defaultProps: CustomSelectProps;
66
66
  constructor(props: CustomSelectProps);
67
- state: CustomSelectState;
68
67
  private keyboardInput;
69
68
  private isControlledOutside;
70
69
  private selectEl;
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import './DropdownIcon.css';
3
+ export declare const DropdownIcon: React.FC<React.HTMLAttributes<HTMLElement>>;
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { HasRootRef } from '../../types';
3
+ import './GridAvatar.css';
4
+ export interface GridAvatarProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLDivElement> {
5
+ src?: string[];
6
+ size?: number;
7
+ shadow?: boolean;
8
+ }
9
+ export declare const GridAvatar: React.FC<GridAvatarProps>;
@@ -0,0 +1,33 @@
1
+ import * as React from 'react';
2
+ import { HasRootRef } from '../../types';
3
+ import './InitialsAvatar.css';
4
+ /**
5
+ * Градиенты, которые можно использовать в алгоритме поиска градиентов по числовому идентификатору пользователя.
6
+ * @example user.id % 6 + 1
7
+ */
8
+ export declare type InitialsAvatarNumberGradients = 1 | 2 | 3 | 4 | 5 | 6;
9
+ export declare type InitialsAvatarTextGradients = 'red' | 'pink' | 'orange' | 'yellow' | 'green' | 'l-blue' | 'blue' | 'violet';
10
+ export interface InitialsAvatarProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLDivElement> {
11
+ children?: React.ReactNode;
12
+ /**
13
+ * `'red' | 'pink' | 'orange' | 'yellow' | 'green' | 'l-blue' | 'blue' | 'violet'`
14
+ *
15
+ * Если передано число, то оно будет сконвертировано в строчное представление цвета по следующей схеме:
16
+ *
17
+ * 1: 'red'
18
+ *
19
+ * 2: 'orange'
20
+ *
21
+ * 3: 'yellow'
22
+ *
23
+ * 4: 'green'
24
+ *
25
+ * 5: 'l-blue'
26
+ *
27
+ * 6: 'violet'
28
+ */
29
+ gradientColor?: InitialsAvatarNumberGradients | InitialsAvatarTextGradients;
30
+ size?: number;
31
+ shadow?: boolean;
32
+ }
33
+ export declare const InitialsAvatar: React.FC<InitialsAvatarProps>;
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { HasRootRef } from '../../types';
2
3
  import './Removable.css';
3
4
  export interface RemovableProps {
4
5
  /**
@@ -10,7 +11,7 @@ export interface RemovableProps {
10
11
  */
11
12
  onRemove?: (e: React.MouseEvent, rootEl?: HTMLElement) => void;
12
13
  }
13
- interface RemovableOwnProps extends React.AllHTMLAttributes<HTMLElement>, RemovableProps {
14
+ interface RemovableOwnProps extends React.AllHTMLAttributes<HTMLElement>, RemovableProps, HasRootRef<HTMLDivElement> {
14
15
  /**
15
16
  * Расположение кнопки удаления.
16
17
  */
@@ -1,6 +1,8 @@
1
1
  import * as React from 'react';
2
+ import { HasComponent, HasRootRef } from '../../types';
2
3
  import './TabbarItem.css';
3
- export interface TabbarItemProps extends React.HTMLAttributes<HTMLElement>, React.AnchorHTMLAttributes<HTMLElement> {
4
+ export interface TabbarItemProps extends Omit<React.AllHTMLAttributes<HTMLElement>, 'label'>, // TODO убрать Omit после удаления свойства label
5
+ HasRootRef<HTMLElement>, HasComponent {
4
6
  selected?: boolean;
5
7
  /**
6
8
  * Тест рядом с иконкой
@@ -104,6 +104,10 @@ export { default as Gallery } from './components/Gallery/Gallery';
104
104
  export type { GalleryProps } from './components/Gallery/Gallery';
105
105
  export { default as Avatar } from './components/Avatar/Avatar';
106
106
  export type { AvatarProps } from './components/Avatar/Avatar';
107
+ export { GridAvatar } from './components/GridAvatar/GridAvatar';
108
+ export type { GridAvatarProps } from './components/GridAvatar/GridAvatar';
109
+ export { InitialsAvatar } from './components/InitialsAvatar/InitialsAvatar';
110
+ export type { InitialsAvatarProps } from './components/InitialsAvatar/InitialsAvatar';
107
111
  export { default as Progress } from './components/Progress/Progress';
108
112
  export type { ProgressProps } from './components/Progress/Progress';
109
113
  export { default as Search } from './components/Search/Search';
@@ -45,8 +45,6 @@ var _useObjectMemo = require("../../hooks/useObjectMemo");
45
45
 
46
46
  var _warnOnce = require("../../lib/warnOnce");
47
47
 
48
- var _vkjs = require("@vkontakte/vkjs");
49
-
50
48
  var _excluded = ["children", "className", "header", "text", "style", "iosCloseItem"];
51
49
  var warn = (0, _warnOnce.warnOnce)('ActionSheet');
52
50
 
@@ -69,11 +67,8 @@ var ActionSheet = function ActionSheet(_ref) {
69
67
  return setClosing(true);
70
68
  };
71
69
 
72
- var closeAction = React.useRef(_vkjs.noop);
73
-
74
70
  var afterClose = function afterClose() {
75
71
  restProps.onClose();
76
- closeAction.current();
77
72
  };
78
73
 
79
74
  if (process.env.NODE_ENV === 'development' && !restProps.onClose) {
@@ -101,16 +96,10 @@ var ActionSheet = function ActionSheet(_ref) {
101
96
  }, [closing]);
102
97
  var onItemClick = React.useCallback(function (action, autoclose) {
103
98
  return function (event) {
104
- event.persist();
99
+ action && action(event);
105
100
 
106
101
  if (autoclose) {
107
- closeAction.current = function () {
108
- return action && action(event);
109
- };
110
-
111
102
  setClosing(true);
112
- } else {
113
- action && action(event);
114
103
  }
115
104
  };
116
105
  }, []);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheet.tsx"],"names":["warn","ActionSheet","children","className","header","text","style","iosCloseItem","restProps","platform","React","useState","closing","setClosing","onClose","closeAction","useRef","noop","afterClose","current","process","env","NODE_ENV","viewWidth","viewHeight","hasMouse","isDesktop","ViewWidth","SMALL_TABLET","ViewHeight","MEDIUM","timeout","IOS","fallbackTransitionFinish","useEffect","set","clear","onItemClick","useCallback","action","autoclose","event","persist","contextValue","DropdownComponent","ActionSheetDropdownDesktop","ActionSheetDropdown","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 { noop } from '@vkontakte/vkjs';\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 closeAction = React.useRef<VoidFunction>(noop);\n const afterClose = () => {\n restProps.onClose();\n closeAction.current();\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 event.persist();\n\n if (autoclose) {\n closeAction.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
+ {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheet.tsx"],"names":["warn","ActionSheet","children","className","header","text","style","iosCloseItem","restProps","platform","React","useState","closing","setClosing","onClose","afterClose","process","env","NODE_ENV","viewWidth","viewHeight","hasMouse","isDesktop","ViewWidth","SMALL_TABLET","ViewHeight","MEDIUM","timeout","IOS","fallbackTransitionFinish","useEffect","set","clear","onItemClick","useCallback","action","autoclose","event","contextValue","DropdownComponent","ActionSheetDropdownDesktop","ActionSheetDropdown","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"}
@@ -10,4 +10,6 @@ export interface AvatarProps extends React.ImgHTMLAttributes<HTMLElement>, HasRo
10
10
  shadow?: boolean;
11
11
  }
12
12
  declare const Avatar: React.FC<AvatarProps>;
13
+ export declare const AVATAR_DEFAULT_SIZE = 48;
14
+ export declare const AVATAR_DEFAULT_SHADOW = true;
13
15
  export default Avatar;
@@ -7,7 +7,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.default = void 0;
10
+ exports.default = exports.AVATAR_DEFAULT_SHADOW = exports.AVATAR_DEFAULT_SIZE = void 0;
11
11
 
12
12
  var _jsxRuntime = require("../../lib/jsxRuntime");
13
13
 
@@ -123,10 +123,14 @@ var Avatar = function Avatar(_ref) {
123
123
  }, children));
124
124
  };
125
125
 
126
+ var AVATAR_DEFAULT_SIZE = 48;
127
+ exports.AVATAR_DEFAULT_SIZE = AVATAR_DEFAULT_SIZE;
128
+ var AVATAR_DEFAULT_SHADOW = true;
129
+ exports.AVATAR_DEFAULT_SHADOW = AVATAR_DEFAULT_SHADOW;
126
130
  Avatar.defaultProps = {
127
- size: 48,
131
+ size: AVATAR_DEFAULT_SIZE,
128
132
  mode: 'default',
129
- shadow: true
133
+ shadow: AVATAR_DEFAULT_SHADOW
130
134
  };
131
135
  var _default = Avatar;
132
136
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Avatar/Avatar.tsx"],"names":["Avatar","alt","crossOrigin","decoding","height","loading","referrerPolicy","sizes","src","srcSet","useMap","width","getRef","size","shadow","mode","className","children","getRootRef","style","ariaLabel","restProps","platform","React","useState","failedImage","setFailedImage","onImageError","onImageLoad","borderRadius","hasSrc","defaultProps"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { getClassName } from '../../helpers/getClassName';\nimport { classNames } from '../../lib/classNames';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { HasRef, HasRootRef } from '../../types';\nimport './Avatar.css';\n\nexport interface AvatarProps extends React.ImgHTMLAttributes<HTMLElement>, HasRootRef<HTMLDivElement>, HasRef<HTMLImageElement> {\n /**\n * Рекомендуемый сет значений: 96 | 88 | 80 | 72 | 64 | 56 | 48 | 44 | 40 | 36 | 32 | 28 | 24\n */\n size?: number;\n mode?: 'default' | 'image' | 'app';\n shadow?: boolean;\n}\n\nconst Avatar: React.FC<AvatarProps> = ({\n alt,\n crossOrigin,\n decoding,\n height,\n loading,\n referrerPolicy,\n sizes,\n src,\n srcSet,\n useMap,\n width,\n getRef,\n size,\n shadow,\n mode,\n className,\n children,\n getRootRef,\n style,\n 'aria-label': ariaLabel,\n ...restProps\n}: AvatarProps) => {\n const platform = usePlatform();\n const [failedImage, setFailedImage] = React.useState(false);\n\n const onImageError = () => {\n setFailedImage(true);\n };\n\n const onImageLoad = () => {\n setFailedImage(false);\n };\n\n let borderRadius: string | number = '50%';\n\n switch (mode) {\n case 'image':\n size < 64 && (borderRadius = 4);\n size >= 64 && size < 96 && (borderRadius = 6);\n size >= 96 && (borderRadius = 8);\n break;\n case 'app':\n size <= 40 && (borderRadius = 8);\n size > 40 && size < 56 && (borderRadius = 10);\n size >= 56 && size < 64 && (borderRadius = 12);\n size >= 64 && size < 84 && (borderRadius = 16);\n size >= 84 && (borderRadius = 18);\n break;\n default:\n break;\n }\n\n const hasSrc = src || srcSet;\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(getClassName('Avatar', platform), `Avatar--type-${mode}`, `Avatar--sz-${size}`, {\n 'Avatar--shadow': shadow,\n 'Avatar--failed': failedImage,\n })}\n className={className}\n ref={getRootRef}\n role={hasSrc ? 'img' : 'presentation'}\n aria-label={alt || ariaLabel}\n style={{ ...style, width: size, height: size, borderRadius }}\n >\n {hasSrc &&\n <img\n crossOrigin={crossOrigin}\n decoding={decoding}\n height={height}\n loading={loading}\n referrerPolicy={referrerPolicy}\n sizes={sizes}\n src={src}\n srcSet={srcSet}\n useMap={useMap}\n width={width}\n ref={getRef}\n onError={onImageError}\n onLoad={onImageLoad}\n vkuiClass=\"Avatar__img\"\n alt=\"\"\n />\n }\n {children && <div vkuiClass=\"Avatar__children\">{children}</div>}\n </div>\n );\n};\n\nAvatar.defaultProps = {\n size: 48,\n mode: 'default',\n shadow: true,\n};\n\nexport default Avatar;\n"],"file":"Avatar.js"}
1
+ {"version":3,"sources":["../../../../src/components/Avatar/Avatar.tsx"],"names":["Avatar","alt","crossOrigin","decoding","height","loading","referrerPolicy","sizes","src","srcSet","useMap","width","getRef","size","shadow","mode","className","children","getRootRef","style","ariaLabel","restProps","platform","React","useState","failedImage","setFailedImage","onImageError","onImageLoad","borderRadius","hasSrc","AVATAR_DEFAULT_SIZE","AVATAR_DEFAULT_SHADOW","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAaA,IAAMA,MAA6B,GAAG,SAAhCA,MAAgC,OAsBnB;AAAA,MArBjBC,GAqBiB,QArBjBA,GAqBiB;AAAA,MApBjBC,WAoBiB,QApBjBA,WAoBiB;AAAA,MAnBjBC,QAmBiB,QAnBjBA,QAmBiB;AAAA,MAlBjBC,MAkBiB,QAlBjBA,MAkBiB;AAAA,MAjBjBC,OAiBiB,QAjBjBA,OAiBiB;AAAA,MAhBjBC,cAgBiB,QAhBjBA,cAgBiB;AAAA,MAfjBC,KAeiB,QAfjBA,KAeiB;AAAA,MAdjBC,GAciB,QAdjBA,GAciB;AAAA,MAbjBC,MAaiB,QAbjBA,MAaiB;AAAA,MAZjBC,MAYiB,QAZjBA,MAYiB;AAAA,MAXjBC,KAWiB,QAXjBA,KAWiB;AAAA,MAVjBC,MAUiB,QAVjBA,MAUiB;AAAA,MATjBC,IASiB,QATjBA,IASiB;AAAA,MARjBC,MAQiB,QARjBA,MAQiB;AAAA,MAPjBC,IAOiB,QAPjBA,IAOiB;AAAA,MANjBC,SAMiB,QANjBA,SAMiB;AAAA,MALjBC,QAKiB,QALjBA,QAKiB;AAAA,MAJjBC,UAIiB,QAJjBA,UAIiB;AAAA,MAHjBC,KAGiB,QAHjBA,KAGiB;AAAA,MAFHC,SAEG,QAFjB,YAEiB;AAAA,MADdC,SACc;AACjB,MAAMC,QAAQ,GAAG,+BAAjB;;AACA,wBAAsCC,KAAK,CAACC,QAAN,CAAe,KAAf,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AAEA,MAAMC,YAAY,GAAG,SAAfA,YAAe,GAAM;AACzBD,IAAAA,cAAc,CAAC,IAAD,CAAd;AACD,GAFD;;AAIA,MAAME,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxBF,IAAAA,cAAc,CAAC,KAAD,CAAd;AACD,GAFD;;AAIA,MAAIG,YAA6B,GAAG,KAApC;;AAEA,UAAQd,IAAR;AACE,SAAK,OAAL;AACEF,MAAAA,IAAI,GAAG,EAAP,KAAcgB,YAAY,GAAG,CAA7B;AACAhB,MAAAA,IAAI,IAAI,EAAR,IAAcA,IAAI,GAAG,EAArB,KAA4BgB,YAAY,GAAG,CAA3C;AACAhB,MAAAA,IAAI,IAAI,EAAR,KAAegB,YAAY,GAAG,CAA9B;AACA;;AACF,SAAK,KAAL;AACEhB,MAAAA,IAAI,IAAI,EAAR,KAAegB,YAAY,GAAG,CAA9B;AACAhB,MAAAA,IAAI,GAAG,EAAP,IAAaA,IAAI,GAAG,EAApB,KAA2BgB,YAAY,GAAG,EAA1C;AACAhB,MAAAA,IAAI,IAAI,EAAR,IAAcA,IAAI,GAAG,EAArB,KAA4BgB,YAAY,GAAG,EAA3C;AACAhB,MAAAA,IAAI,IAAI,EAAR,IAAcA,IAAI,GAAG,EAArB,KAA4BgB,YAAY,GAAG,EAA3C;AACAhB,MAAAA,IAAI,IAAI,EAAR,KAAegB,YAAY,GAAG,EAA9B;AACA;;AACF;AACE;AAdJ;;AAiBA,MAAMC,MAAM,GAAGtB,GAAG,IAAIC,MAAtB;AAEA,SACE,uEACMY,SADN;AAEE,IAAA,SAAS,EAAE,4BAAW,gCAAa,QAAb,EAAuBC,QAAvB,CAAX,yBAA6DP,IAA7D,wBAAmFF,IAAnF,GAA2F;AACpG,wBAAkBC,MADkF;AAEpG,wBAAkBW;AAFkF,KAA3F,CAFb;AAME,IAAA,SAAS,EAAET,SANb;AAOE,IAAA,GAAG,EAAEE,UAPP;AAQE,IAAA,IAAI,EAAEY,MAAM,GAAG,KAAH,GAAW,cARzB;AASE,kBAAY7B,GAAG,IAAImB,SATrB;AAUE,IAAA,KAAK,8DAAOD,KAAP;AAAcR,MAAAA,KAAK,EAAEE,IAArB;AAA2BT,MAAAA,MAAM,EAAES,IAAnC;AAAyCgB,MAAAA,YAAY,EAAZA;AAAzC;AAVP,MAYGC,MAAM,IACL;AACE,IAAA,WAAW,EAAE5B,WADf;AAEE,IAAA,QAAQ,EAAEC,QAFZ;AAGE,IAAA,MAAM,EAAEC,MAHV;AAIE,IAAA,OAAO,EAAEC,OAJX;AAKE,IAAA,cAAc,EAAEC,cALlB;AAME,IAAA,KAAK,EAAEC,KANT;AAOE,IAAA,GAAG,EAAEC,GAPP;AAQE,IAAA,MAAM,EAAEC,MARV;AASE,IAAA,MAAM,EAAEC,MATV;AAUE,IAAA,KAAK,EAAEC,KAVT;AAWE,IAAA,GAAG,EAAEC,MAXP;AAYE,IAAA,OAAO,EAAEe,YAZX;AAaE,IAAA,MAAM,EAAEC,WAbV;AAcE,IAAA,SAAS,EAAC,aAdZ;AAeE,IAAA,GAAG,EAAC;AAfN,IAbJ,EA+BGX,QAAQ,IAAI;AAAK,IAAA,SAAS,EAAC;AAAf,KAAmCA,QAAnC,CA/Bf,CADF;AAmCD,CA1FD;;AA4FO,IAAMc,mBAAmB,GAAG,EAA5B;;AACA,IAAMC,qBAAqB,GAAG,IAA9B;;AAEPhC,MAAM,CAACiC,YAAP,GAAsB;AACpBpB,EAAAA,IAAI,EAAEkB,mBADc;AAEpBhB,EAAAA,IAAI,EAAE,SAFc;AAGpBD,EAAAA,MAAM,EAAEkB;AAHY,CAAtB;eAMehC,M","sourcesContent":["import * as React from 'react';\nimport { getClassName } from '../../helpers/getClassName';\nimport { classNames } from '../../lib/classNames';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { HasRef, HasRootRef } from '../../types';\nimport './Avatar.css';\n\nexport interface AvatarProps extends React.ImgHTMLAttributes<HTMLElement>, HasRootRef<HTMLDivElement>, HasRef<HTMLImageElement> {\n /**\n * Рекомендуемый сет значений: 96 | 88 | 80 | 72 | 64 | 56 | 48 | 44 | 40 | 36 | 32 | 28 | 24\n */\n size?: number;\n mode?: 'default' | 'image' | 'app';\n shadow?: boolean;\n}\n\nconst Avatar: React.FC<AvatarProps> = ({\n alt,\n crossOrigin,\n decoding,\n height,\n loading,\n referrerPolicy,\n sizes,\n src,\n srcSet,\n useMap,\n width,\n getRef,\n size,\n shadow,\n mode,\n className,\n children,\n getRootRef,\n style,\n 'aria-label': ariaLabel,\n ...restProps\n}: AvatarProps) => {\n const platform = usePlatform();\n const [failedImage, setFailedImage] = React.useState(false);\n\n const onImageError = () => {\n setFailedImage(true);\n };\n\n const onImageLoad = () => {\n setFailedImage(false);\n };\n\n let borderRadius: string | number = '50%';\n\n switch (mode) {\n case 'image':\n size < 64 && (borderRadius = 4);\n size >= 64 && size < 96 && (borderRadius = 6);\n size >= 96 && (borderRadius = 8);\n break;\n case 'app':\n size <= 40 && (borderRadius = 8);\n size > 40 && size < 56 && (borderRadius = 10);\n size >= 56 && size < 64 && (borderRadius = 12);\n size >= 64 && size < 84 && (borderRadius = 16);\n size >= 84 && (borderRadius = 18);\n break;\n default:\n break;\n }\n\n const hasSrc = src || srcSet;\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(getClassName('Avatar', platform), `Avatar--type-${mode}`, `Avatar--sz-${size}`, {\n 'Avatar--shadow': shadow,\n 'Avatar--failed': failedImage,\n })}\n className={className}\n ref={getRootRef}\n role={hasSrc ? 'img' : 'presentation'}\n aria-label={alt || ariaLabel}\n style={{ ...style, width: size, height: size, borderRadius }}\n >\n {hasSrc &&\n <img\n crossOrigin={crossOrigin}\n decoding={decoding}\n height={height}\n loading={loading}\n referrerPolicy={referrerPolicy}\n sizes={sizes}\n src={src}\n srcSet={srcSet}\n useMap={useMap}\n width={width}\n ref={getRef}\n onError={onImageError}\n onLoad={onImageLoad}\n vkuiClass=\"Avatar__img\"\n alt=\"\"\n />\n }\n {children && <div vkuiClass=\"Avatar__children\">{children}</div>}\n </div>\n );\n};\n\nexport const AVATAR_DEFAULT_SIZE = 48;\nexport const AVATAR_DEFAULT_SHADOW = true;\n\nAvatar.defaultProps = {\n size: AVATAR_DEFAULT_SIZE,\n mode: 'default',\n shadow: AVATAR_DEFAULT_SHADOW,\n};\n\nexport default Avatar;\n"],"file":"Avatar.js"}
@@ -69,7 +69,7 @@ var CardScroll = function CardScroll(_ref) {
69
69
 
70
70
  function getScrollToRight(offset) {
71
71
  var containerWidth = refContainer.current.offsetWidth;
72
- var slide = Array.from(refContainer.current.children).find(function (el) {
72
+ var slide = Array.prototype.find.call(refContainer.current.children, function (el) {
73
73
  return el.offsetLeft + el.offsetWidth - offset > containerWidth;
74
74
  });
75
75
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CardScroll/CardScroll.tsx"],"names":["CardScroll","children","size","sizeX","restProps","platform","refContainer","React","useRef","gapRef","window","getScrollToLeft","offset","containerWidth","current","offsetWidth","slideIndex","Array","from","findIndex","el","offsetLeft","parseInt","getComputedStyle","marginRight","slide","scrollTo","getScrollToRight","find","defaultProps"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { classNames } from '../../lib/classNames';\nimport { getClassName } from '../../helpers/getClassName';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport HorizontalScroll from '../HorizontalScroll/HorizontalScroll';\nimport { withAdaptivity, AdaptivityProps } from '../../hoc/withAdaptivity';\nimport { useDOM } from '../../lib/dom';\nimport './CardScroll.css';\n\nexport interface CardScrollProps extends React.HTMLAttributes<HTMLDivElement>, AdaptivityProps {\n size?: 's' | 'm' | 'l';\n}\n\nconst CardScroll: React.FC<CardScrollProps> = ({ children, size, sizeX, ...restProps }: CardScrollProps) => {\n const platform = usePlatform();\n\n const refContainer = React.useRef<HTMLDivElement>(null);\n const gapRef = React.useRef<HTMLDivElement>(null);\n\n const { window } = useDOM();\n\n function getScrollToLeft(offset: number): number {\n const containerWidth = refContainer.current.offsetWidth;\n const slideIndex = Array\n .from(refContainer.current.children)\n .findIndex((el: HTMLElement) => el.offsetLeft + el.offsetWidth + parseInt(window.getComputedStyle(el).marginRight) - offset >= 0);\n\n if (slideIndex === -1) {\n return offset;\n }\n\n if (slideIndex === 0) {\n return 0;\n }\n\n const slide = refContainer.current.children[slideIndex] as HTMLElement;\n\n const scrollTo = slide.offsetLeft - (containerWidth - slide.offsetWidth) + gapRef.current.offsetWidth;\n\n if (scrollTo <= 2 * gapRef.current.offsetWidth) {\n return 0;\n }\n\n return scrollTo;\n }\n\n function getScrollToRight(offset: number): number {\n const containerWidth = refContainer.current.offsetWidth;\n const slide = Array.from(refContainer.current.children).find((el: HTMLElement) => el.offsetLeft + el.offsetWidth - offset > containerWidth) as HTMLElement;\n\n if (!slide) {\n return offset;\n }\n\n return slide.offsetLeft - gapRef.current.offsetWidth;\n }\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n getClassName('CardScroll', platform),\n `CardScroll--${size}`,\n `CardScroll--sizeX-${sizeX}`,\n )}\n >\n <HorizontalScroll getScrollToLeft={getScrollToLeft} getScrollToRight={getScrollToRight} showArrows={true}>\n <div vkuiClass=\"CardScroll__in\" ref={refContainer}>\n <span vkuiClass=\"CardScroll__gap\" ref={gapRef} />\n {children}\n <span vkuiClass=\"CardScroll__gap\" />\n </div>\n </HorizontalScroll>\n </div>\n );\n};\n\nCardScroll.defaultProps = {\n size: 's',\n};\n\nexport default withAdaptivity(CardScroll, { sizeX: true });\n"],"file":"CardScroll.js"}
1
+ {"version":3,"sources":["../../../../src/components/CardScroll/CardScroll.tsx"],"names":["CardScroll","children","size","sizeX","restProps","platform","refContainer","React","useRef","gapRef","window","getScrollToLeft","offset","containerWidth","current","offsetWidth","slideIndex","Array","from","findIndex","el","offsetLeft","parseInt","getComputedStyle","marginRight","slide","scrollTo","getScrollToRight","prototype","find","call","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAOA,IAAMA,UAAqC,GAAG,SAAxCA,UAAwC,OAA8D;AAAA,MAA3DC,QAA2D,QAA3DA,QAA2D;AAAA,MAAjDC,IAAiD,QAAjDA,IAAiD;AAAA,MAA3CC,KAA2C,QAA3CA,KAA2C;AAAA,MAAjCC,SAAiC;AAC1G,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,MAAMC,YAAY,GAAGC,KAAK,CAACC,MAAN,CAA6B,IAA7B,CAArB;AACA,MAAMC,MAAM,GAAGF,KAAK,CAACC,MAAN,CAA6B,IAA7B,CAAf;;AAEA,gBAAmB,kBAAnB;AAAA,MAAQE,MAAR,WAAQA,MAAR;;AAEA,WAASC,eAAT,CAAyBC,MAAzB,EAAiD;AAC/C,QAAMC,cAAc,GAAGP,YAAY,CAACQ,OAAb,CAAqBC,WAA5C;AACA,QAAMC,UAAU,GAAGC,KAAK,CACrBC,IADgB,CACXZ,YAAY,CAACQ,OAAb,CAAqBb,QADV,EAEhBkB,SAFgB,CAEN,UAACC,EAAD;AAAA,aAAqBA,EAAE,CAACC,UAAH,GAAgBD,EAAE,CAACL,WAAnB,GAAiCO,QAAQ,CAACZ,MAAM,CAACa,gBAAP,CAAwBH,EAAxB,EAA4BI,WAA7B,CAAzC,GAAqFZ,MAArF,IAA+F,CAApH;AAAA,KAFM,CAAnB;;AAIA,QAAII,UAAU,KAAK,CAAC,CAApB,EAAuB;AACrB,aAAOJ,MAAP;AACD;;AAED,QAAII,UAAU,KAAK,CAAnB,EAAsB;AACpB,aAAO,CAAP;AACD;;AAED,QAAMS,KAAK,GAAGnB,YAAY,CAACQ,OAAb,CAAqBb,QAArB,CAA8Be,UAA9B,CAAd;AAEA,QAAMU,QAAQ,GAAGD,KAAK,CAACJ,UAAN,IAAoBR,cAAc,GAAGY,KAAK,CAACV,WAA3C,IAA0DN,MAAM,CAACK,OAAP,CAAeC,WAA1F;;AAEA,QAAIW,QAAQ,IAAI,IAAIjB,MAAM,CAACK,OAAP,CAAeC,WAAnC,EAAgD;AAC9C,aAAO,CAAP;AACD;;AAED,WAAOW,QAAP;AACD;;AAED,WAASC,gBAAT,CAA0Bf,MAA1B,EAAkD;AAChD,QAAMC,cAAc,GAAGP,YAAY,CAACQ,OAAb,CAAqBC,WAA5C;AACA,QAAMU,KAAK,GAAGR,KAAK,CAACW,SAAN,CAAgBC,IAAhB,CAAqBC,IAArB,CACZxB,YAAY,CAACQ,OAAb,CAAqBb,QADT,EAEZ,UAACmB,EAAD;AAAA,aAAqBA,EAAE,CAACC,UAAH,GAAgBD,EAAE,CAACL,WAAnB,GAAiCH,MAAjC,GAA0CC,cAA/D;AAAA,KAFY,CAAd;;AAKA,QAAI,CAACY,KAAL,EAAY;AACV,aAAOb,MAAP;AACD;;AAED,WAAOa,KAAK,CAACJ,UAAN,GAAmBZ,MAAM,CAACK,OAAP,CAAeC,WAAzC;AACD;;AAED,SACE,uEACMX,SADN;AAEE,IAAA,SAAS,EAAE,4BACT,gCAAa,YAAb,EAA2BC,QAA3B,CADS,wBAEMH,IAFN,+BAGYC,KAHZ;AAFb,MAQE,qCAAC,yBAAD;AAAkB,IAAA,eAAe,EAAEQ,eAAnC;AAAoD,IAAA,gBAAgB,EAAEgB,gBAAtE;AAAwF,IAAA,UAAU,EAAE;AAApG,KACE;AAAK,IAAA,SAAS,EAAC,gBAAf;AAAgC,IAAA,GAAG,EAAErB;AAArC,KACE;AAAM,IAAA,SAAS,EAAC,iBAAhB;AAAkC,IAAA,GAAG,EAAEG;AAAvC,IADF,EAEGR,QAFH,EAGE;AAAM,IAAA,SAAS,EAAC;AAAhB,IAHF,CADF,CARF,CADF;AAkBD,CAjED;;AAmEAD,UAAU,CAAC+B,YAAX,GAA0B;AACxB7B,EAAAA,IAAI,EAAE;AADkB,CAA1B;;eAIe,oCAAeF,UAAf,EAA2B;AAAEG,EAAAA,KAAK,EAAE;AAAT,CAA3B,C","sourcesContent":["import * as React from 'react';\nimport { classNames } from '../../lib/classNames';\nimport { getClassName } from '../../helpers/getClassName';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport HorizontalScroll from '../HorizontalScroll/HorizontalScroll';\nimport { withAdaptivity, AdaptivityProps } from '../../hoc/withAdaptivity';\nimport { useDOM } from '../../lib/dom';\nimport './CardScroll.css';\n\nexport interface CardScrollProps extends React.HTMLAttributes<HTMLDivElement>, AdaptivityProps {\n size?: 's' | 'm' | 'l';\n}\n\nconst CardScroll: React.FC<CardScrollProps> = ({ children, size, sizeX, ...restProps }: CardScrollProps) => {\n const platform = usePlatform();\n\n const refContainer = React.useRef<HTMLDivElement>(null);\n const gapRef = React.useRef<HTMLDivElement>(null);\n\n const { window } = useDOM();\n\n function getScrollToLeft(offset: number): number {\n const containerWidth = refContainer.current.offsetWidth;\n const slideIndex = Array\n .from(refContainer.current.children)\n .findIndex((el: HTMLElement) => el.offsetLeft + el.offsetWidth + parseInt(window.getComputedStyle(el).marginRight) - offset >= 0);\n\n if (slideIndex === -1) {\n return offset;\n }\n\n if (slideIndex === 0) {\n return 0;\n }\n\n const slide = refContainer.current.children[slideIndex] as HTMLElement;\n\n const scrollTo = slide.offsetLeft - (containerWidth - slide.offsetWidth) + gapRef.current.offsetWidth;\n\n if (scrollTo <= 2 * gapRef.current.offsetWidth) {\n return 0;\n }\n\n return scrollTo;\n }\n\n function getScrollToRight(offset: number): number {\n const containerWidth = refContainer.current.offsetWidth;\n const slide = Array.prototype.find.call(\n refContainer.current.children,\n (el: HTMLElement) => el.offsetLeft + el.offsetWidth - offset > containerWidth,\n ) as HTMLElement;\n\n if (!slide) {\n return offset;\n }\n\n return slide.offsetLeft - gapRef.current.offsetWidth;\n }\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n getClassName('CardScroll', platform),\n `CardScroll--${size}`,\n `CardScroll--sizeX-${sizeX}`,\n )}\n >\n <HorizontalScroll getScrollToLeft={getScrollToLeft} getScrollToRight={getScrollToRight} showArrows={true}>\n <div vkuiClass=\"CardScroll__in\" ref={refContainer}>\n <span vkuiClass=\"CardScroll__gap\" ref={gapRef} />\n {children}\n <span vkuiClass=\"CardScroll__gap\" />\n </div>\n </HorizontalScroll>\n </div>\n );\n};\n\nCardScroll.defaultProps = {\n size: 's',\n};\n\nexport default withAdaptivity(CardScroll, { sizeX: true });\n"],"file":"CardScroll.js"}
@@ -4,15 +4,22 @@ import { HasPlatform } from '../../types';
4
4
  import { RemovableProps } from '../Removable/Removable';
5
5
  import './Cell.css';
6
6
  export interface CellProps extends SimpleCellProps, HasPlatform, RemovableProps {
7
+ mode?: 'removable' | 'selectable';
7
8
  /**
8
9
  * В режиме перетаскивания ячейка перестает быть кликабельной, то есть при клике переданный onClick вызываться не будет
9
10
  */
10
11
  draggable?: boolean;
12
+ /**
13
+ * @deprecated Будет удалено в 5.0.0. Используйте mode="removable"
14
+ */
11
15
  removable?: boolean;
12
16
  /**
13
17
  * Имя для input в режиме selectable
14
18
  */
15
19
  name?: string;
20
+ /**
21
+ * @deprecated Будет удалено в 5.0.0. Используйте mode="selectable"
22
+ */
16
23
  selectable?: boolean;
17
24
  /**
18
25
  * В режиме selectable реагирует на входящие значения пропса cheсked, как зависящий напрямую от входящего значения
@@ -32,5 +39,9 @@ export interface CellProps extends SimpleCellProps, HasPlatform, RemovableProps
32
39
  from: number;
33
40
  to: number;
34
41
  }) => void;
42
+ /**
43
+ * aria-label для кнопки перетаскивания ячейки
44
+ */
45
+ draggerLabel?: string;
35
46
  }
36
47
  export declare const Cell: React.FC<CellProps>;