@vkontakte/vkui 4.32.0 → 4.33.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 (890) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +358 -277
  4. package/.cache/ts/src/components/Avatar/Avatar.d.ts +1 -2
  5. package/.cache/ts/src/components/Banner/Banner.d.ts +1 -2
  6. package/.cache/ts/src/components/BaseGallery/BaseGallery.d.ts +4 -0
  7. package/.cache/ts/src/components/BaseGallery/helpers.d.ts +12 -0
  8. package/.cache/ts/src/components/BaseGallery/types.d.ts +43 -0
  9. package/.cache/ts/src/components/CellButton/CellButton.d.ts +1 -2
  10. package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +3 -1
  11. package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +1 -2
  12. package/.cache/ts/src/components/ContentCard/ContentCard.d.ts +1 -2
  13. package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +1 -2
  14. package/.cache/ts/src/components/Epic/Epic.d.ts +1 -3
  15. package/.cache/ts/src/components/FixedLayout/FixedLayout.d.ts +1 -2
  16. package/.cache/ts/src/components/FocusVisible/FocusVisible.d.ts +3 -4
  17. package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +1 -2
  18. package/.cache/ts/src/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
  19. package/.cache/ts/src/components/Gallery/Gallery.d.ts +6 -43
  20. package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +4 -1
  21. package/.cache/ts/src/components/Group/Group.d.ts +4 -2
  22. package/.cache/ts/src/components/Header/Header.d.ts +1 -2
  23. package/.cache/ts/src/components/IconButton/IconButton.d.ts +5 -2
  24. package/.cache/ts/src/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
  25. package/.cache/ts/src/components/Link/Link.d.ts +1 -2
  26. package/.cache/ts/src/components/List/List.d.ts +1 -2
  27. package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +4 -2
  28. package/.cache/ts/src/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
  29. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +4 -2
  30. package/.cache/ts/src/components/ModalRoot/ModalRootContext.d.ts +1 -1
  31. package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
  32. package/.cache/ts/src/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
  33. package/.cache/ts/src/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
  34. package/.cache/ts/src/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
  35. package/.cache/ts/src/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
  36. package/.cache/ts/src/components/Placeholder/Placeholder.d.ts +1 -2
  37. package/.cache/ts/src/components/PromoBanner/PromoBanner.d.ts +2 -2
  38. package/.cache/ts/src/components/RangeSlider/RangeSlider.d.ts +1 -2
  39. package/.cache/ts/src/components/RichCell/RichCell.d.ts +4 -2
  40. package/.cache/ts/src/components/Root/Root.d.ts +1 -2
  41. package/.cache/ts/src/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
  42. package/.cache/ts/src/components/Search/Search.d.ts +1 -2
  43. package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +4 -2
  44. package/.cache/ts/src/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  45. package/.cache/ts/src/components/Slider/Slider.d.ts +1 -2
  46. package/.cache/ts/src/components/Spacing/Spacing.d.ts +2 -1
  47. package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +1 -2
  48. package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +1 -2
  49. package/.cache/ts/src/components/Tabs/Tabs.d.ts +4 -2
  50. package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +1 -2
  51. package/.cache/ts/src/components/Tappable/Tappable.d.ts +7 -4
  52. package/.cache/ts/src/components/Textarea/Textarea.d.ts +2 -3
  53. package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +1 -2
  54. package/.cache/ts/src/components/UsersStack/UsersStack.d.ts +4 -2
  55. package/.cache/ts/src/components/View/View.d.ts +6 -3
  56. package/.cache/ts/src/index.d.ts +44 -44
  57. package/.cache/ts/src/lib/animate.d.ts +1 -1
  58. package/.cache/ts/src/tokenized/index.d.ts +44 -0
  59. package/README.md +1 -1
  60. package/VKUI_TOKENS_MIGRATION_GUIDE.md +0 -1
  61. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +2 -2
  62. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  63. package/dist/cjs/components/Alert/Alert.js +8 -6
  64. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  65. package/dist/cjs/components/Avatar/Avatar.d.ts +1 -2
  66. package/dist/cjs/components/Avatar/Avatar.js +6 -13
  67. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  68. package/dist/cjs/components/Banner/Banner.d.ts +1 -2
  69. package/dist/cjs/components/Banner/Banner.js +27 -36
  70. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  71. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts +4 -0
  72. package/dist/cjs/components/BaseGallery/BaseGallery.js +399 -0
  73. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -0
  74. package/dist/cjs/components/BaseGallery/helpers.d.ts +12 -0
  75. package/dist/cjs/components/BaseGallery/helpers.js +62 -0
  76. package/dist/cjs/components/BaseGallery/helpers.js.map +1 -0
  77. package/dist/cjs/components/BaseGallery/types.d.ts +43 -0
  78. package/dist/cjs/components/BaseGallery/types.js +6 -0
  79. package/dist/cjs/components/BaseGallery/types.js.map +1 -0
  80. package/dist/cjs/components/Button/Button.js +3 -3
  81. package/dist/cjs/components/Button/Button.js.map +1 -1
  82. package/dist/cjs/components/CalendarDay/CalendarDay.js +2 -4
  83. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  84. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +3 -5
  85. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  86. package/dist/cjs/components/Cell/Cell.js +2 -2
  87. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  88. package/dist/cjs/components/CellButton/CellButton.d.ts +1 -2
  89. package/dist/cjs/components/CellButton/CellButton.js +4 -12
  90. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  91. package/dist/cjs/components/Checkbox/Checkbox.d.ts +3 -1
  92. package/dist/cjs/components/Checkbox/Checkbox.js +69 -15
  93. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  94. package/dist/cjs/components/Chip/Chip.js +2 -2
  95. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  96. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +1 -2
  97. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +3 -5
  98. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  99. package/dist/cjs/components/ContentCard/ContentCard.d.ts +1 -2
  100. package/dist/cjs/components/ContentCard/ContentCard.js +38 -50
  101. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  102. package/dist/cjs/components/DateInput/DateInput.js +3 -3
  103. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  104. package/dist/cjs/components/DatePicker/DatePicker.d.ts +1 -2
  105. package/dist/cjs/components/DatePicker/DatePicker.js +6 -7
  106. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  107. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +3 -3
  108. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  109. package/dist/cjs/components/Epic/Epic.d.ts +1 -3
  110. package/dist/cjs/components/Epic/Epic.js +9 -11
  111. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  112. package/dist/cjs/components/FixedLayout/FixedLayout.d.ts +1 -2
  113. package/dist/cjs/components/FixedLayout/FixedLayout.js +6 -11
  114. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  115. package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +3 -4
  116. package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
  117. package/dist/cjs/components/FormItem/FormItem.js +3 -6
  118. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  119. package/dist/cjs/components/FormLayout/FormLayout.d.ts +1 -2
  120. package/dist/cjs/components/FormLayout/FormLayout.js +3 -5
  121. package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
  122. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
  123. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +6 -10
  124. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  125. package/dist/cjs/components/Gallery/Gallery.d.ts +6 -43
  126. package/dist/cjs/components/Gallery/Gallery.js +23 -565
  127. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  128. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +4 -1
  129. package/dist/cjs/components/GridAvatar/GridAvatar.js +9 -11
  130. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  131. package/dist/cjs/components/Group/Group.d.ts +4 -2
  132. package/dist/cjs/components/Group/Group.js +12 -14
  133. package/dist/cjs/components/Group/Group.js.map +1 -1
  134. package/dist/cjs/components/Header/Header.d.ts +1 -2
  135. package/dist/cjs/components/Header/Header.js +4 -8
  136. package/dist/cjs/components/Header/Header.js.map +1 -1
  137. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +4 -4
  138. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  139. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +1 -1
  140. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  141. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +2 -4
  142. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  143. package/dist/cjs/components/IconButton/IconButton.d.ts +5 -2
  144. package/dist/cjs/components/IconButton/IconButton.js +14 -18
  145. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  146. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
  147. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js +2 -4
  148. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  149. package/dist/cjs/components/Link/Link.d.ts +1 -2
  150. package/dist/cjs/components/Link/Link.js +5 -7
  151. package/dist/cjs/components/Link/Link.js.map +1 -1
  152. package/dist/cjs/components/List/List.d.ts +1 -2
  153. package/dist/cjs/components/List/List.js +3 -5
  154. package/dist/cjs/components/List/List.js.map +1 -1
  155. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +2 -2
  156. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  157. package/dist/cjs/components/ModalCard/ModalCard.d.ts +4 -2
  158. package/dist/cjs/components/ModalCard/ModalCard.js +32 -29
  159. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  160. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +2 -2
  161. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  162. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
  163. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js +15 -12
  164. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  165. package/dist/cjs/components/ModalPage/ModalPage.d.ts +4 -2
  166. package/dist/cjs/components/ModalPage/ModalPage.js +34 -31
  167. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  168. package/dist/cjs/components/ModalRoot/ModalRoot.js +2 -2
  169. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  170. package/dist/cjs/components/ModalRoot/ModalRootContext.d.ts +1 -1
  171. package/dist/cjs/components/ModalRoot/ModalRootContext.js +2 -6
  172. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  173. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +2 -2
  174. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  175. package/dist/cjs/components/ModalRoot/withModalRootContext.js +2 -2
  176. package/dist/cjs/components/ModalRoot/withModalRootContext.js.map +1 -1
  177. package/dist/cjs/components/Pagination/Pagination.js +2 -2
  178. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  179. package/dist/cjs/components/PanelHeader/PanelHeader.js +5 -5
  180. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  181. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
  182. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +11 -11
  183. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  184. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +2 -2
  185. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  186. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
  187. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js +4 -8
  188. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  189. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
  190. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +5 -7
  191. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  192. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +2 -2
  193. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  194. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
  195. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js +8 -12
  196. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  197. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
  198. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js +4 -8
  199. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  200. package/dist/cjs/components/Placeholder/Placeholder.d.ts +1 -2
  201. package/dist/cjs/components/Placeholder/Placeholder.js +3 -5
  202. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  203. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +1 -10
  204. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  205. package/dist/cjs/components/PromoBanner/PromoBanner.d.ts +2 -2
  206. package/dist/cjs/components/PromoBanner/PromoBanner.js +7 -9
  207. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  208. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +2 -2
  209. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  210. package/dist/cjs/components/Radio/Radio.js +2 -4
  211. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  212. package/dist/cjs/components/RangeSlider/RangeSlider.d.ts +1 -2
  213. package/dist/cjs/components/RangeSlider/RangeSlider.js +3 -5
  214. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  215. package/dist/cjs/components/RangeSlider/UniversalSlider.js +1 -6
  216. package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
  217. package/dist/cjs/components/Removable/Removable.js +10 -7
  218. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  219. package/dist/cjs/components/RichCell/RichCell.d.ts +4 -2
  220. package/dist/cjs/components/RichCell/RichCell.js +11 -11
  221. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  222. package/dist/cjs/components/Root/Root.d.ts +1 -2
  223. package/dist/cjs/components/Root/Root.js +6 -20
  224. package/dist/cjs/components/Root/Root.js.map +1 -1
  225. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
  226. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +14 -14
  227. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  228. package/dist/cjs/components/Search/Search.d.ts +1 -2
  229. package/dist/cjs/components/Search/Search.js +19 -18
  230. package/dist/cjs/components/Search/Search.js.map +1 -1
  231. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +4 -2
  232. package/dist/cjs/components/SimpleCell/SimpleCell.js +10 -12
  233. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  234. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  235. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +3 -2
  236. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  237. package/dist/cjs/components/Slider/Slider.d.ts +1 -2
  238. package/dist/cjs/components/Slider/Slider.js +3 -5
  239. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  240. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +2 -2
  241. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  242. package/dist/cjs/components/Spacing/Spacing.d.ts +2 -1
  243. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  244. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +2 -2
  245. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  246. package/dist/cjs/components/Tabbar/Tabbar.d.ts +1 -2
  247. package/dist/cjs/components/Tabbar/Tabbar.js +8 -12
  248. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  249. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +1 -2
  250. package/dist/cjs/components/TabbarItem/TabbarItem.js +5 -7
  251. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  252. package/dist/cjs/components/Tabs/Tabs.d.ts +4 -2
  253. package/dist/cjs/components/Tabs/Tabs.js +10 -13
  254. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  255. package/dist/cjs/components/TabsItem/TabsItem.d.ts +1 -2
  256. package/dist/cjs/components/TabsItem/TabsItem.js +6 -10
  257. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  258. package/dist/cjs/components/Tappable/Tappable.d.ts +7 -4
  259. package/dist/cjs/components/Tappable/Tappable.js +10 -9
  260. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  261. package/dist/cjs/components/Textarea/Textarea.d.ts +2 -3
  262. package/dist/cjs/components/Textarea/Textarea.js +14 -14
  263. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  264. package/dist/cjs/components/Tooltip/Tooltip.d.ts +1 -2
  265. package/dist/cjs/components/Tooltip/Tooltip.js +8 -13
  266. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  267. package/dist/cjs/components/UsersStack/UsersStack.d.ts +4 -2
  268. package/dist/cjs/components/UsersStack/UsersStack.js +51 -46
  269. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  270. package/dist/cjs/components/UsersStack/masks.js +1 -1
  271. package/dist/cjs/components/UsersStack/masks.js.map +1 -1
  272. package/dist/cjs/components/View/View.d.ts +6 -3
  273. package/dist/cjs/components/View/View.js +26 -43
  274. package/dist/cjs/components/View/View.js.map +1 -1
  275. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +2 -2
  276. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  277. package/dist/cjs/index.d.ts +44 -44
  278. package/dist/cjs/index.js +88 -88
  279. package/dist/cjs/index.js.map +1 -1
  280. package/dist/cjs/lib/animate.d.ts +1 -1
  281. package/dist/cjs/lib/animate.js +1 -2
  282. package/dist/cjs/lib/animate.js.map +1 -1
  283. package/dist/cjs/tokenized/index.d.ts +44 -0
  284. package/dist/cjs/tokenized/index.js +176 -0
  285. package/dist/cjs/tokenized/index.js.map +1 -1
  286. package/dist/components/ActionSheetItem/ActionSheetItem.js +1 -1
  287. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  288. package/dist/components/Alert/Alert.js +6 -4
  289. package/dist/components/Alert/Alert.js.map +1 -1
  290. package/dist/components/Avatar/Avatar.d.ts +1 -2
  291. package/dist/components/Avatar/Avatar.js +4 -11
  292. package/dist/components/Avatar/Avatar.js.map +1 -1
  293. package/dist/components/Banner/Banner.d.ts +1 -2
  294. package/dist/components/Banner/Banner.js +25 -35
  295. package/dist/components/Banner/Banner.js.map +1 -1
  296. package/dist/components/BaseGallery/BaseGallery.d.ts +4 -0
  297. package/dist/components/BaseGallery/BaseGallery.js +371 -0
  298. package/dist/components/BaseGallery/BaseGallery.js.map +1 -0
  299. package/dist/components/BaseGallery/helpers.d.ts +12 -0
  300. package/dist/components/BaseGallery/helpers.js +50 -0
  301. package/dist/components/BaseGallery/helpers.js.map +1 -0
  302. package/dist/components/BaseGallery/types.d.ts +43 -0
  303. package/dist/components/BaseGallery/types.js +2 -0
  304. package/dist/components/BaseGallery/types.js.map +1 -0
  305. package/dist/components/Button/Button.js +2 -2
  306. package/dist/components/Button/Button.js.map +1 -1
  307. package/dist/components/CalendarDay/CalendarDay.js +1 -1
  308. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  309. package/dist/components/CalendarHeader/CalendarHeader.js +1 -1
  310. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  311. package/dist/components/Cell/Cell.js +1 -1
  312. package/dist/components/Cell/Cell.js.map +1 -1
  313. package/dist/components/CellButton/CellButton.d.ts +1 -2
  314. package/dist/components/CellButton/CellButton.js +3 -10
  315. package/dist/components/CellButton/CellButton.js.map +1 -1
  316. package/dist/components/Checkbox/Checkbox.d.ts +3 -1
  317. package/dist/components/Checkbox/Checkbox.js +67 -15
  318. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  319. package/dist/components/Chip/Chip.js +1 -1
  320. package/dist/components/Chip/Chip.js.map +1 -1
  321. package/dist/components/ConfigProvider/ConfigProvider.d.ts +1 -2
  322. package/dist/components/ConfigProvider/ConfigProvider.js +2 -5
  323. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  324. package/dist/components/ContentCard/ContentCard.d.ts +1 -2
  325. package/dist/components/ContentCard/ContentCard.js +35 -46
  326. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  327. package/dist/components/DateInput/DateInput.js +1 -1
  328. package/dist/components/DateInput/DateInput.js.map +1 -1
  329. package/dist/components/DatePicker/DatePicker.d.ts +1 -2
  330. package/dist/components/DatePicker/DatePicker.js +4 -4
  331. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  332. package/dist/components/DateRangeInput/DateRangeInput.js +1 -1
  333. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  334. package/dist/components/Epic/Epic.d.ts +1 -3
  335. package/dist/components/Epic/Epic.js +8 -6
  336. package/dist/components/Epic/Epic.js.map +1 -1
  337. package/dist/components/FixedLayout/FixedLayout.d.ts +1 -2
  338. package/dist/components/FixedLayout/FixedLayout.js +5 -11
  339. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  340. package/dist/components/FocusVisible/FocusVisible.d.ts +3 -4
  341. package/dist/components/FocusVisible/FocusVisible.js.map +1 -1
  342. package/dist/components/FormItem/FormItem.js +3 -6
  343. package/dist/components/FormItem/FormItem.js.map +1 -1
  344. package/dist/components/FormLayout/FormLayout.d.ts +1 -2
  345. package/dist/components/FormLayout/FormLayout.js +2 -5
  346. package/dist/components/FormLayout/FormLayout.js.map +1 -1
  347. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
  348. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +5 -10
  349. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  350. package/dist/components/Gallery/Gallery.d.ts +6 -43
  351. package/dist/components/Gallery/Gallery.js +20 -567
  352. package/dist/components/Gallery/Gallery.js.map +1 -1
  353. package/dist/components/GridAvatar/GridAvatar.d.ts +4 -1
  354. package/dist/components/GridAvatar/GridAvatar.js +8 -9
  355. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  356. package/dist/components/Group/Group.d.ts +4 -2
  357. package/dist/components/Group/Group.js +9 -10
  358. package/dist/components/Group/Group.js.map +1 -1
  359. package/dist/components/Header/Header.d.ts +1 -2
  360. package/dist/components/Header/Header.js +3 -8
  361. package/dist/components/Header/Header.js.map +1 -1
  362. package/dist/components/HorizontalCell/HorizontalCell.js +2 -2
  363. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  364. package/dist/components/HorizontalScroll/HorizontalScroll.js +1 -1
  365. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  366. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
  367. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  368. package/dist/components/IconButton/IconButton.d.ts +5 -2
  369. package/dist/components/IconButton/IconButton.js +11 -13
  370. package/dist/components/IconButton/IconButton.js.map +1 -1
  371. package/dist/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
  372. package/dist/components/InitialsAvatar/InitialsAvatar.js +1 -1
  373. package/dist/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  374. package/dist/components/Link/Link.d.ts +1 -2
  375. package/dist/components/Link/Link.js +3 -6
  376. package/dist/components/Link/Link.js.map +1 -1
  377. package/dist/components/List/List.d.ts +1 -2
  378. package/dist/components/List/List.js +2 -5
  379. package/dist/components/List/List.js.map +1 -1
  380. package/dist/components/MiniInfoCell/MiniInfoCell.js +1 -1
  381. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  382. package/dist/components/ModalCard/ModalCard.d.ts +4 -2
  383. package/dist/components/ModalCard/ModalCard.js +29 -25
  384. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  385. package/dist/components/ModalCardBase/ModalCardBase.js +1 -1
  386. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  387. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
  388. package/dist/components/ModalDismissButton/ModalDismissButton.js +10 -9
  389. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  390. package/dist/components/ModalPage/ModalPage.d.ts +4 -2
  391. package/dist/components/ModalPage/ModalPage.js +31 -28
  392. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  393. package/dist/components/ModalRoot/ModalRoot.js +1 -1
  394. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  395. package/dist/components/ModalRoot/ModalRootContext.d.ts +1 -1
  396. package/dist/components/ModalRoot/ModalRootContext.js +1 -3
  397. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  398. package/dist/components/ModalRoot/ModalRootDesktop.js +1 -1
  399. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  400. package/dist/components/ModalRoot/withModalRootContext.js +1 -1
  401. package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
  402. package/dist/components/Pagination/Pagination.js +1 -1
  403. package/dist/components/Pagination/Pagination.js.map +1 -1
  404. package/dist/components/PanelHeader/PanelHeader.js +2 -2
  405. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  406. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
  407. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +8 -9
  408. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  409. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  410. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  411. package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
  412. package/dist/components/PanelHeaderClose/PanelHeaderClose.js +3 -8
  413. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  414. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
  415. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +3 -6
  416. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  417. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +1 -1
  418. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  419. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
  420. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +7 -12
  421. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  422. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
  423. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +3 -8
  424. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  425. package/dist/components/Placeholder/Placeholder.d.ts +1 -2
  426. package/dist/components/Placeholder/Placeholder.js +2 -5
  427. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  428. package/dist/components/PopoutWrapper/PopoutWrapper.js +1 -9
  429. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  430. package/dist/components/PromoBanner/PromoBanner.d.ts +2 -2
  431. package/dist/components/PromoBanner/PromoBanner.js +4 -7
  432. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  433. package/dist/components/PullToRefresh/PullToRefresh.js +1 -1
  434. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  435. package/dist/components/Radio/Radio.js +1 -1
  436. package/dist/components/Radio/Radio.js.map +1 -1
  437. package/dist/components/RangeSlider/RangeSlider.d.ts +1 -2
  438. package/dist/components/RangeSlider/RangeSlider.js +2 -5
  439. package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
  440. package/dist/components/RangeSlider/UniversalSlider.js +1 -5
  441. package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
  442. package/dist/components/Removable/Removable.js +7 -4
  443. package/dist/components/Removable/Removable.js.map +1 -1
  444. package/dist/components/RichCell/RichCell.d.ts +4 -2
  445. package/dist/components/RichCell/RichCell.js +8 -7
  446. package/dist/components/RichCell/RichCell.js.map +1 -1
  447. package/dist/components/Root/Root.d.ts +1 -2
  448. package/dist/components/Root/Root.js +5 -19
  449. package/dist/components/Root/Root.js.map +1 -1
  450. package/dist/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
  451. package/dist/components/ScreenSpinner/ScreenSpinner.js +12 -13
  452. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  453. package/dist/components/Search/Search.d.ts +1 -2
  454. package/dist/components/Search/Search.js +17 -15
  455. package/dist/components/Search/Search.js.map +1 -1
  456. package/dist/components/SimpleCell/SimpleCell.d.ts +4 -2
  457. package/dist/components/SimpleCell/SimpleCell.js +7 -8
  458. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  459. package/dist/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  460. package/dist/components/SimpleCheckbox/SimpleCheckbox.js +2 -1
  461. package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  462. package/dist/components/Slider/Slider.d.ts +1 -2
  463. package/dist/components/Slider/Slider.js +2 -5
  464. package/dist/components/Slider/Slider.js.map +1 -1
  465. package/dist/components/SliderSwitch/SliderSwitchButton.js +1 -1
  466. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  467. package/dist/components/Spacing/Spacing.d.ts +2 -1
  468. package/dist/components/Spacing/Spacing.js.map +1 -1
  469. package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -1
  470. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  471. package/dist/components/Tabbar/Tabbar.d.ts +1 -2
  472. package/dist/components/Tabbar/Tabbar.js +6 -11
  473. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  474. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -2
  475. package/dist/components/TabbarItem/TabbarItem.js +3 -6
  476. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  477. package/dist/components/Tabs/Tabs.d.ts +4 -2
  478. package/dist/components/Tabs/Tabs.js +8 -9
  479. package/dist/components/Tabs/Tabs.js.map +1 -1
  480. package/dist/components/TabsItem/TabsItem.d.ts +1 -2
  481. package/dist/components/TabsItem/TabsItem.js +4 -9
  482. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  483. package/dist/components/Tappable/Tappable.d.ts +7 -4
  484. package/dist/components/Tappable/Tappable.js +9 -6
  485. package/dist/components/Tappable/Tappable.js.map +1 -1
  486. package/dist/components/Textarea/Textarea.d.ts +2 -3
  487. package/dist/components/Textarea/Textarea.js +12 -9
  488. package/dist/components/Textarea/Textarea.js.map +1 -1
  489. package/dist/components/Tooltip/Tooltip.d.ts +1 -2
  490. package/dist/components/Tooltip/Tooltip.js +7 -13
  491. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  492. package/dist/components/UsersStack/UsersStack.d.ts +4 -2
  493. package/dist/components/UsersStack/UsersStack.js +48 -39
  494. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  495. package/dist/components/UsersStack/masks.js +1 -1
  496. package/dist/components/UsersStack/masks.js.map +1 -1
  497. package/dist/components/View/View.d.ts +6 -3
  498. package/dist/components/View/View.js +25 -39
  499. package/dist/components/View/View.js.map +1 -1
  500. package/dist/components/WriteBarIcon/WriteBarIcon.js +1 -1
  501. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  502. package/dist/components.css +26 -8
  503. package/dist/components.css.map +1 -1
  504. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +1 -1
  505. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  506. package/dist/cssm/components/Alert/Alert.js +6 -4
  507. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  508. package/dist/cssm/components/Avatar/Avatar.css +5 -1
  509. package/dist/cssm/components/Avatar/Avatar.d.ts +1 -2
  510. package/dist/cssm/components/Avatar/Avatar.js +4 -11
  511. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  512. package/dist/cssm/components/Banner/Banner.css +5 -1
  513. package/dist/cssm/components/Banner/Banner.d.ts +1 -2
  514. package/dist/cssm/components/Banner/Banner.js +25 -35
  515. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  516. package/dist/cssm/components/BaseGallery/BaseGallery.css +1 -0
  517. package/dist/cssm/components/BaseGallery/BaseGallery.d.ts +4 -0
  518. package/dist/cssm/components/BaseGallery/BaseGallery.js +372 -0
  519. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -0
  520. package/dist/cssm/components/BaseGallery/helpers.d.ts +12 -0
  521. package/dist/cssm/components/BaseGallery/helpers.js +50 -0
  522. package/dist/cssm/components/BaseGallery/helpers.js.map +1 -0
  523. package/dist/cssm/components/BaseGallery/types.d.ts +43 -0
  524. package/dist/cssm/components/BaseGallery/types.js +2 -0
  525. package/dist/cssm/components/BaseGallery/types.js.map +1 -0
  526. package/dist/cssm/components/Button/Button.css +1 -1
  527. package/dist/cssm/components/Button/Button.js +2 -2
  528. package/dist/cssm/components/Button/Button.js.map +1 -1
  529. package/dist/cssm/components/CalendarDay/CalendarDay.js +1 -1
  530. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  531. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +1 -1
  532. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  533. package/dist/cssm/components/Cell/Cell.js +1 -1
  534. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  535. package/dist/cssm/components/CellButton/CellButton.css +1 -1
  536. package/dist/cssm/components/CellButton/CellButton.d.ts +1 -2
  537. package/dist/cssm/components/CellButton/CellButton.js +3 -10
  538. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  539. package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
  540. package/dist/cssm/components/Checkbox/Checkbox.d.ts +3 -1
  541. package/dist/cssm/components/Checkbox/Checkbox.js +67 -15
  542. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  543. package/dist/cssm/components/Chip/Chip.js +1 -1
  544. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  545. package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +1 -2
  546. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +2 -5
  547. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  548. package/dist/cssm/components/ContentCard/ContentCard.css +1 -1
  549. package/dist/cssm/components/ContentCard/ContentCard.d.ts +1 -2
  550. package/dist/cssm/components/ContentCard/ContentCard.js +35 -46
  551. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  552. package/dist/cssm/components/DateInput/DateInput.js +1 -1
  553. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  554. package/dist/cssm/components/DatePicker/DatePicker.d.ts +1 -2
  555. package/dist/cssm/components/DatePicker/DatePicker.js +4 -4
  556. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  557. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +1 -1
  558. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  559. package/dist/cssm/components/Epic/Epic.d.ts +1 -3
  560. package/dist/cssm/components/Epic/Epic.js +8 -6
  561. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  562. package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
  563. package/dist/cssm/components/FixedLayout/FixedLayout.d.ts +1 -2
  564. package/dist/cssm/components/FixedLayout/FixedLayout.js +5 -11
  565. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  566. package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
  567. package/dist/cssm/components/FocusVisible/FocusVisible.d.ts +3 -4
  568. package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
  569. package/dist/cssm/components/FormItem/FormItem.css +1 -1
  570. package/dist/cssm/components/FormItem/FormItem.js +3 -6
  571. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  572. package/dist/cssm/components/FormLayout/FormLayout.d.ts +1 -2
  573. package/dist/cssm/components/FormLayout/FormLayout.js +2 -5
  574. package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
  575. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  576. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
  577. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +5 -10
  578. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  579. package/dist/cssm/components/Gallery/Gallery.d.ts +6 -43
  580. package/dist/cssm/components/Gallery/Gallery.js +20 -568
  581. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  582. package/dist/cssm/components/GridAvatar/GridAvatar.d.ts +4 -1
  583. package/dist/cssm/components/GridAvatar/GridAvatar.js +8 -9
  584. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  585. package/dist/cssm/components/Group/Group.d.ts +4 -2
  586. package/dist/cssm/components/Group/Group.js +9 -10
  587. package/dist/cssm/components/Group/Group.js.map +1 -1
  588. package/dist/cssm/components/Header/Header.d.ts +1 -2
  589. package/dist/cssm/components/Header/Header.js +3 -8
  590. package/dist/cssm/components/Header/Header.js.map +1 -1
  591. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +2 -2
  592. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  593. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +1 -1
  594. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  595. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
  596. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  597. package/dist/cssm/components/IconButton/IconButton.css +1 -1
  598. package/dist/cssm/components/IconButton/IconButton.d.ts +5 -2
  599. package/dist/cssm/components/IconButton/IconButton.js +11 -13
  600. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  601. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.css +1 -1
  602. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
  603. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js +1 -1
  604. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  605. package/dist/cssm/components/Link/Link.d.ts +1 -2
  606. package/dist/cssm/components/Link/Link.js +3 -6
  607. package/dist/cssm/components/Link/Link.js.map +1 -1
  608. package/dist/cssm/components/List/List.d.ts +1 -2
  609. package/dist/cssm/components/List/List.js +2 -5
  610. package/dist/cssm/components/List/List.js.map +1 -1
  611. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -1
  612. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  613. package/dist/cssm/components/ModalCard/ModalCard.d.ts +4 -2
  614. package/dist/cssm/components/ModalCard/ModalCard.js +29 -25
  615. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  616. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +1 -1
  617. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  618. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
  619. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +10 -9
  620. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  621. package/dist/cssm/components/ModalPage/ModalPage.d.ts +4 -2
  622. package/dist/cssm/components/ModalPage/ModalPage.js +31 -28
  623. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  624. package/dist/cssm/components/ModalRoot/ModalRoot.js +1 -1
  625. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  626. package/dist/cssm/components/ModalRoot/ModalRootContext.d.ts +1 -1
  627. package/dist/cssm/components/ModalRoot/ModalRootContext.js +1 -3
  628. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  629. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +1 -1
  630. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  631. package/dist/cssm/components/ModalRoot/withModalRootContext.js +1 -1
  632. package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
  633. package/dist/cssm/components/Pagination/Pagination.js +1 -1
  634. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  635. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  636. package/dist/cssm/components/PanelHeader/PanelHeader.js +2 -2
  637. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  638. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
  639. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +8 -9
  640. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  641. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  642. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  643. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
  644. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +3 -8
  645. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  646. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
  647. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +3 -6
  648. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  649. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +1 -1
  650. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  651. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
  652. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +7 -12
  653. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  654. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
  655. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +3 -8
  656. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  657. package/dist/cssm/components/Placeholder/Placeholder.d.ts +1 -2
  658. package/dist/cssm/components/Placeholder/Placeholder.js +2 -5
  659. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  660. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.css +1 -1
  661. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -9
  662. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  663. package/dist/cssm/components/PromoBanner/PromoBanner.d.ts +2 -2
  664. package/dist/cssm/components/PromoBanner/PromoBanner.js +4 -7
  665. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  666. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +1 -1
  667. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  668. package/dist/cssm/components/Radio/Radio.js +1 -1
  669. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  670. package/dist/cssm/components/RangeSlider/RangeSlider.d.ts +1 -2
  671. package/dist/cssm/components/RangeSlider/RangeSlider.js +2 -5
  672. package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
  673. package/dist/cssm/components/RangeSlider/UniversalSlider.js +1 -5
  674. package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
  675. package/dist/cssm/components/Removable/Removable.css +1 -1
  676. package/dist/cssm/components/Removable/Removable.js +7 -4
  677. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  678. package/dist/cssm/components/RichCell/RichCell.d.ts +4 -2
  679. package/dist/cssm/components/RichCell/RichCell.js +8 -7
  680. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  681. package/dist/cssm/components/Root/Root.css +1 -1
  682. package/dist/cssm/components/Root/Root.d.ts +1 -2
  683. package/dist/cssm/components/Root/Root.js +5 -19
  684. package/dist/cssm/components/Root/Root.js.map +1 -1
  685. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
  686. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +12 -13
  687. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  688. package/dist/cssm/components/Search/Search.d.ts +1 -2
  689. package/dist/cssm/components/Search/Search.js +17 -15
  690. package/dist/cssm/components/Search/Search.js.map +1 -1
  691. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  692. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +4 -2
  693. package/dist/cssm/components/SimpleCell/SimpleCell.js +7 -8
  694. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  695. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  696. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +2 -1
  697. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  698. package/dist/cssm/components/Slider/Slider.css +3 -1
  699. package/dist/cssm/components/Slider/Slider.d.ts +1 -2
  700. package/dist/cssm/components/Slider/Slider.js +2 -5
  701. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  702. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +1 -1
  703. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  704. package/dist/cssm/components/Snackbar/Snackbar.css +1 -1
  705. package/dist/cssm/components/Spacing/Spacing.css +1 -1
  706. package/dist/cssm/components/Spacing/Spacing.d.ts +2 -1
  707. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  708. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -1
  709. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  710. package/dist/cssm/components/Tabbar/Tabbar.d.ts +1 -2
  711. package/dist/cssm/components/Tabbar/Tabbar.js +6 -11
  712. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  713. package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -2
  714. package/dist/cssm/components/TabbarItem/TabbarItem.js +3 -6
  715. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  716. package/dist/cssm/components/Tabs/Tabs.d.ts +4 -2
  717. package/dist/cssm/components/Tabs/Tabs.js +8 -9
  718. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  719. package/dist/cssm/components/TabsItem/TabsItem.d.ts +1 -2
  720. package/dist/cssm/components/TabsItem/TabsItem.js +4 -9
  721. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  722. package/dist/cssm/components/Tappable/Tappable.css +5 -1
  723. package/dist/cssm/components/Tappable/Tappable.d.ts +7 -4
  724. package/dist/cssm/components/Tappable/Tappable.js +9 -6
  725. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  726. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  727. package/dist/cssm/components/Textarea/Textarea.d.ts +2 -3
  728. package/dist/cssm/components/Textarea/Textarea.js +12 -9
  729. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  730. package/dist/cssm/components/Tooltip/Tooltip.d.ts +1 -2
  731. package/dist/cssm/components/Tooltip/Tooltip.js +7 -13
  732. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  733. package/dist/cssm/components/UsersStack/UsersStack.css +5 -1
  734. package/dist/cssm/components/UsersStack/UsersStack.d.ts +4 -2
  735. package/dist/cssm/components/UsersStack/UsersStack.js +48 -39
  736. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  737. package/dist/cssm/components/UsersStack/masks.js +1 -1
  738. package/dist/cssm/components/UsersStack/masks.js.map +1 -1
  739. package/dist/cssm/components/View/View.css +1 -1
  740. package/dist/cssm/components/View/View.d.ts +6 -3
  741. package/dist/cssm/components/View/View.js +25 -39
  742. package/dist/cssm/components/View/View.js.map +1 -1
  743. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
  744. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  745. package/dist/cssm/index.d.ts +44 -44
  746. package/dist/cssm/index.js +44 -44
  747. package/dist/cssm/index.js.map +1 -1
  748. package/dist/cssm/lib/animate.d.ts +1 -1
  749. package/dist/cssm/lib/animate.js +1 -2
  750. package/dist/cssm/lib/animate.js.map +1 -1
  751. package/dist/cssm/styles/components.css +26 -8
  752. package/dist/cssm/tokenized/index.d.ts +44 -0
  753. package/dist/cssm/tokenized/index.js +22 -0
  754. package/dist/cssm/tokenized/index.js.map +1 -1
  755. package/dist/index.d.ts +44 -44
  756. package/dist/index.js +44 -44
  757. package/dist/index.js.map +1 -1
  758. package/dist/lib/animate.d.ts +1 -1
  759. package/dist/lib/animate.js +1 -2
  760. package/dist/lib/animate.js.map +1 -1
  761. package/dist/tokenized/index.d.ts +44 -0
  762. package/dist/tokenized/index.js +22 -0
  763. package/dist/tokenized/index.js.map +1 -1
  764. package/dist/vkui.css +26 -8
  765. package/dist/vkui.css.map +1 -1
  766. package/package.json +3 -3
  767. package/src/components/ActionSheetItem/ActionSheetItem.tsx +1 -1
  768. package/src/components/Alert/Alert.tsx +6 -4
  769. package/src/components/Avatar/Avatar.css +27 -20
  770. package/src/components/Avatar/Avatar.tsx +3 -9
  771. package/src/components/Avatar/Readme.md +43 -304
  772. package/src/components/Banner/Banner.css +24 -25
  773. package/src/components/Banner/Banner.tsx +28 -42
  774. package/src/components/{Gallery/Gallery.css → BaseGallery/BaseGallery.css} +7 -3
  775. package/src/components/BaseGallery/BaseGallery.tsx +394 -0
  776. package/src/components/BaseGallery/helpers.ts +51 -0
  777. package/src/components/BaseGallery/types.ts +52 -0
  778. package/src/components/Button/Button.css +4 -0
  779. package/src/components/Button/Button.tsx +3 -2
  780. package/src/components/CalendarDay/CalendarDay.tsx +1 -1
  781. package/src/components/CalendarHeader/CalendarHeader.tsx +1 -1
  782. package/src/components/Cell/Cell.tsx +1 -1
  783. package/src/components/CellButton/CellButton.css +10 -4
  784. package/src/components/CellButton/CellButton.tsx +4 -13
  785. package/src/components/Checkbox/Checkbox.css +41 -55
  786. package/src/components/Checkbox/Checkbox.tsx +89 -30
  787. package/src/components/Checkbox/Readme.md +19 -0
  788. package/src/components/Chip/Chip.tsx +1 -1
  789. package/src/components/ConfigProvider/ConfigProvider.tsx +1 -4
  790. package/src/components/ContentCard/ContentCard.css +10 -18
  791. package/src/components/ContentCard/ContentCard.tsx +44 -49
  792. package/src/components/ContentCard/Readme.md +6 -0
  793. package/src/components/DateInput/DateInput.tsx +1 -1
  794. package/src/components/DatePicker/DatePicker.tsx +4 -3
  795. package/src/components/DateRangeInput/DateRangeInput.tsx +1 -1
  796. package/src/components/Epic/Epic.tsx +7 -6
  797. package/src/components/FixedLayout/FixedLayout.css +1 -1
  798. package/src/components/FixedLayout/FixedLayout.tsx +5 -10
  799. package/src/components/FocusVisible/FocusVisible.css +1 -1
  800. package/src/components/FocusVisible/FocusVisible.tsx +2 -5
  801. package/src/components/FormItem/FormItem.css +22 -13
  802. package/src/components/FormItem/FormItem.tsx +3 -6
  803. package/src/components/FormLayout/FormLayout.tsx +3 -4
  804. package/src/components/FormLayoutGroup/FormLayoutGroup.css +2 -1
  805. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +3 -9
  806. package/src/components/Gallery/Gallery.tsx +10 -512
  807. package/src/components/GridAvatar/GridAvatar.tsx +17 -15
  808. package/src/components/Group/Group.tsx +8 -11
  809. package/src/components/Group/Readme.md +129 -134
  810. package/src/components/Header/Header.tsx +2 -9
  811. package/src/components/HorizontalCell/HorizontalCell.tsx +2 -2
  812. package/src/components/HorizontalScroll/HorizontalScroll.tsx +4 -1
  813. package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +1 -1
  814. package/src/components/IconButton/IconButton.css +14 -19
  815. package/src/components/IconButton/IconButton.tsx +14 -16
  816. package/src/components/IconButton/Readme.md +51 -0
  817. package/src/components/InitialsAvatar/InitialsAvatar.css +26 -29
  818. package/src/components/InitialsAvatar/InitialsAvatar.tsx +2 -2
  819. package/src/components/Link/Link.tsx +5 -5
  820. package/src/components/List/List.tsx +3 -7
  821. package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -1
  822. package/src/components/ModalCard/ModalCard.tsx +31 -30
  823. package/src/components/ModalCardBase/ModalCardBase.tsx +1 -1
  824. package/src/components/ModalDismissButton/ModalDismissButton.tsx +7 -12
  825. package/src/components/ModalPage/ModalPage.tsx +32 -32
  826. package/src/components/ModalRoot/ModalRoot.tsx +2 -1
  827. package/src/components/ModalRoot/ModalRootContext.tsx +0 -3
  828. package/src/components/ModalRoot/ModalRootDesktop.tsx +2 -1
  829. package/src/components/ModalRoot/withModalRootContext.tsx +2 -1
  830. package/src/components/Pagination/Pagination.tsx +1 -1
  831. package/src/components/PanelHeader/PanelHeader.css +9 -0
  832. package/src/components/PanelHeader/PanelHeader.tsx +2 -2
  833. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +9 -8
  834. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +1 -1
  835. package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +3 -11
  836. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +4 -5
  837. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +1 -1
  838. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +4 -13
  839. package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +3 -11
  840. package/src/components/Placeholder/Placeholder.tsx +3 -4
  841. package/src/components/PopoutWrapper/PopoutWrapper.css +4 -15
  842. package/src/components/PopoutWrapper/PopoutWrapper.tsx +5 -11
  843. package/src/components/PromoBanner/PromoBanner.tsx +3 -6
  844. package/src/components/PullToRefresh/PullToRefresh.tsx +1 -1
  845. package/src/components/Radio/Radio.tsx +1 -1
  846. package/src/components/RangeSlider/RangeSlider.tsx +1 -4
  847. package/src/components/RangeSlider/Readme.md +19 -27
  848. package/src/components/RangeSlider/UniversalSlider.tsx +1 -4
  849. package/src/components/Removable/Removable.css +15 -19
  850. package/src/components/Removable/Removable.tsx +5 -3
  851. package/src/components/RichCell/RichCell.tsx +8 -7
  852. package/src/components/Root/Root.css +9 -14
  853. package/src/components/Root/Root.tsx +26 -21
  854. package/src/components/ScreenSpinner/ScreenSpinner.tsx +13 -13
  855. package/src/components/Search/Search.tsx +9 -14
  856. package/src/components/SimpleCell/SimpleCell.css +3 -52
  857. package/src/components/SimpleCell/SimpleCell.tsx +6 -7
  858. package/src/components/SimpleCheckbox/Readme.md +4 -0
  859. package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +2 -1
  860. package/src/components/Slider/Readme.md +68 -76
  861. package/src/components/Slider/Slider.css +9 -49
  862. package/src/components/Slider/Slider.tsx +1 -4
  863. package/src/components/SliderSwitch/SliderSwitchButton.tsx +1 -1
  864. package/src/components/Snackbar/Snackbar.css +6 -2
  865. package/src/components/Spacing/Spacing.css +1 -1
  866. package/src/components/Spacing/Spacing.tsx +2 -1
  867. package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -1
  868. package/src/components/Tabbar/Tabbar.tsx +6 -9
  869. package/src/components/TabbarItem/TabbarItem.tsx +2 -5
  870. package/src/components/Tabs/Tabs.tsx +7 -10
  871. package/src/components/TabsItem/TabsItem.tsx +3 -10
  872. package/src/components/Tappable/Readme.md +53 -0
  873. package/src/components/Tappable/Tappable.css +12 -27
  874. package/src/components/Tappable/Tappable.tsx +13 -8
  875. package/src/components/Textarea/Readme.md +1 -2
  876. package/src/components/Textarea/Textarea.css +12 -8
  877. package/src/components/Textarea/Textarea.tsx +54 -55
  878. package/src/components/Tooltip/Tooltip.tsx +4 -12
  879. package/src/components/UsersStack/Readme.md +0 -1
  880. package/src/components/UsersStack/UsersStack.css +12 -30
  881. package/src/components/UsersStack/UsersStack.tsx +49 -43
  882. package/src/components/UsersStack/masks.tsx +28 -5
  883. package/src/components/View/View.css +1 -13
  884. package/src/components/View/View.tsx +39 -43
  885. package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -1
  886. package/src/index.ts +44 -44
  887. package/src/lib/animate.ts +1 -2
  888. package/src/styles/components.css +1 -1
  889. package/src/tokenized/index.ts +66 -0
  890. package/dist/cssm/components/Gallery/Gallery.css +0 -1
@@ -0,0 +1,371 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
+ var _excluded = ["bullets", "getRootRef", "children", "slideWidth", "slideIndex", "isDraggable", "onDragStart", "onDragEnd", "onChange", "onPrevClick", "onNextClick", "onEnd", "align", "showArrows", "getRef"];
6
+ import { createScopedElement } from "../../lib/jsxRuntime";
7
+ import * as React from "react";
8
+ import { classNames } from "../../lib/classNames";
9
+ import { Touch } from "../Touch/Touch";
10
+ import HorizontalScrollArrow from "../HorizontalScroll/HorizontalScrollArrow";
11
+ import { useExternRef } from "../../hooks/useExternRef";
12
+ import { useDOM } from "../../lib/dom";
13
+ import { useAdaptivity } from "../../hooks/useAdaptivity";
14
+ import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect";
15
+ import { useGlobalEventListener } from "../../hooks/useGlobalEventListener";
16
+ import { calcMax, calcMin } from "./helpers";
17
+ var ANIMATION_DURATION = 0.24;
18
+ var LAYOUT_DEFAULT_STATE = {
19
+ containerWidth: 0,
20
+ viewporOffsettWidth: 0,
21
+ layerWidth: 0,
22
+ min: 0,
23
+ max: 0,
24
+ slides: [],
25
+ isFullyVisible: true
26
+ };
27
+ var SHIFT_DEFAULT_STATE = {
28
+ animation: undefined,
29
+ shiftX: 0,
30
+ dragging: false,
31
+ deltaX: 0,
32
+ indent: 0
33
+ };
34
+ export var BaseGallery = function BaseGallery(_ref) {
35
+ var _layoutState$current$8;
36
+
37
+ var _ref$bullets = _ref.bullets,
38
+ bullets = _ref$bullets === void 0 ? false : _ref$bullets,
39
+ getRootRef = _ref.getRootRef,
40
+ children = _ref.children,
41
+ _ref$slideWidth = _ref.slideWidth,
42
+ slideWidth = _ref$slideWidth === void 0 ? "100%" : _ref$slideWidth,
43
+ _ref$slideIndex = _ref.slideIndex,
44
+ slideIndex = _ref$slideIndex === void 0 ? 0 : _ref$slideIndex,
45
+ _ref$isDraggable = _ref.isDraggable,
46
+ isDraggable = _ref$isDraggable === void 0 ? true : _ref$isDraggable,
47
+ onDragStart = _ref.onDragStart,
48
+ onDragEnd = _ref.onDragEnd,
49
+ onChange = _ref.onChange,
50
+ onPrevClick = _ref.onPrevClick,
51
+ onNextClick = _ref.onNextClick,
52
+ onEndProp = _ref.onEnd,
53
+ _ref$align = _ref.align,
54
+ align = _ref$align === void 0 ? "left" : _ref$align,
55
+ showArrows = _ref.showArrows,
56
+ getRef = _ref.getRef,
57
+ restProps = _objectWithoutProperties(_ref, _excluded);
58
+
59
+ var slidesStore = React.useRef({});
60
+ var layoutState = React.useRef(LAYOUT_DEFAULT_STATE);
61
+
62
+ var _React$useState = React.useState(SHIFT_DEFAULT_STATE),
63
+ _React$useState2 = _slicedToArray(_React$useState, 2),
64
+ shiftState = _React$useState2[0],
65
+ setShiftState = _React$useState2[1];
66
+
67
+ var rootRef = useExternRef(getRootRef);
68
+ var viewportRef = useExternRef(getRef);
69
+
70
+ var _useDOM = useDOM(),
71
+ window = _useDOM.window;
72
+
73
+ var _useAdaptivity = useAdaptivity(),
74
+ hasMouse = _useAdaptivity.hasMouse;
75
+
76
+ var isCenterWithCustomWidth = slideWidth === "custom" && align === "center";
77
+
78
+ var validateIndent = function validateIndent(value) {
79
+ var _layoutState$current$, _layoutState$current$2;
80
+
81
+ var localMax = (_layoutState$current$ = layoutState.current.max) !== null && _layoutState$current$ !== void 0 ? _layoutState$current$ : 0;
82
+ var localMin = (_layoutState$current$2 = layoutState.current.min) !== null && _layoutState$current$2 !== void 0 ? _layoutState$current$2 : 0;
83
+
84
+ if (value < localMin) {
85
+ return localMin;
86
+ } else if (value > localMax) {
87
+ return localMax;
88
+ }
89
+
90
+ return value;
91
+ };
92
+ /*
93
+ * Считает отступ слоя галереи
94
+ */
95
+
96
+
97
+ var calculateIndent = function calculateIndent(targetIndex) {
98
+ var _layoutState$current$3;
99
+
100
+ if (layoutState.current.isFullyVisible) {
101
+ return 0;
102
+ }
103
+
104
+ var targetSlide = (_layoutState$current$3 = layoutState.current.slides) !== null && _layoutState$current$3 !== void 0 && _layoutState$current$3.length ? layoutState.current.slides[targetIndex] : null;
105
+
106
+ if (targetSlide) {
107
+ var coordX = targetSlide.coordX,
108
+ width = targetSlide.width;
109
+
110
+ if (isCenterWithCustomWidth) {
111
+ var _layoutState$current$4;
112
+
113
+ var viewportWidth = (_layoutState$current$4 = layoutState.current.viewporOffsettWidth) !== null && _layoutState$current$4 !== void 0 ? _layoutState$current$4 : 0;
114
+ return viewportWidth / 2 - coordX - width / 2;
115
+ }
116
+
117
+ return validateIndent(-1 * coordX);
118
+ }
119
+
120
+ return 0;
121
+ };
122
+ /*
123
+ * Считает отступ слоя галереи во время драга
124
+ */
125
+
126
+
127
+ var calculateDragIndent = function calculateDragIndent() {
128
+ var _layoutState$current$5, _layoutState$current$6;
129
+
130
+ var localMax = (_layoutState$current$5 = layoutState.current.max) !== null && _layoutState$current$5 !== void 0 ? _layoutState$current$5 : 0;
131
+ var localMin = (_layoutState$current$6 = layoutState.current.min) !== null && _layoutState$current$6 !== void 0 ? _layoutState$current$6 : 0;
132
+ var indent = shiftState.shiftX + shiftState.deltaX;
133
+
134
+ if (indent > localMax) {
135
+ return localMax + Number((indent - localMax) / 3);
136
+ } else if (indent < localMin) {
137
+ return localMin + Number((indent - localMin) / 3);
138
+ }
139
+
140
+ return indent;
141
+ };
142
+
143
+ var initializeSlides = function initializeSlides() {
144
+ var _React$Children$map, _rootRef$current$offs, _rootRef$current, _viewportRef$current$, _viewportRef$current;
145
+
146
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
147
+ var localSlides = (_React$Children$map = React.Children.map(children, function (_item, i) {
148
+ var _elem$offsetLeft, _elem$offsetWidth;
149
+
150
+ var elem = slidesStore.current["slide-".concat(i)];
151
+ return {
152
+ coordX: (_elem$offsetLeft = elem === null || elem === void 0 ? void 0 : elem.offsetLeft) !== null && _elem$offsetLeft !== void 0 ? _elem$offsetLeft : 0,
153
+ width: (_elem$offsetWidth = elem === null || elem === void 0 ? void 0 : elem.offsetWidth) !== null && _elem$offsetWidth !== void 0 ? _elem$offsetWidth : 0
154
+ };
155
+ })) !== null && _React$Children$map !== void 0 ? _React$Children$map : [];
156
+ var localContainerWidth = (_rootRef$current$offs = (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.offsetWidth) !== null && _rootRef$current$offs !== void 0 ? _rootRef$current$offs : 0;
157
+ var localViewporOffsettWidth = (_viewportRef$current$ = (_viewportRef$current = viewportRef.current) === null || _viewportRef$current === void 0 ? void 0 : _viewportRef$current.offsetWidth) !== null && _viewportRef$current$ !== void 0 ? _viewportRef$current$ : 0;
158
+ var localLayerWidth = localSlides.reduce(function (val, slide) {
159
+ return slide.width + val;
160
+ }, 0);
161
+ layoutState.current = {
162
+ containerWidth: localContainerWidth,
163
+ viewporOffsettWidth: localViewporOffsettWidth,
164
+ layerWidth: localLayerWidth,
165
+ max: calcMax({
166
+ slides: localSlides,
167
+ viewporOffsettWidth: localViewporOffsettWidth,
168
+ isCenterWithCustomWidth: isCenterWithCustomWidth
169
+ }),
170
+ min: calcMin({
171
+ containerWidth: localContainerWidth,
172
+ layerWidth: localLayerWidth,
173
+ slides: localSlides,
174
+ viewporOffsettWidth: localViewporOffsettWidth,
175
+ isCenterWithCustomWidth: isCenterWithCustomWidth,
176
+ align: align
177
+ }),
178
+ slides: localSlides,
179
+ isFullyVisible: localLayerWidth <= localContainerWidth
180
+ };
181
+ setShiftState(function (prevState) {
182
+ var _options$animation;
183
+
184
+ return _objectSpread(_objectSpread({}, prevState), {}, {
185
+ shiftX: calculateIndent(slideIndex),
186
+ animation: (_options$animation = options.animation) !== null && _options$animation !== void 0 ? _options$animation : prevState.shiftX === validateIndent(prevState.shiftX)
187
+ });
188
+ });
189
+ };
190
+
191
+ var onResize = function onResize() {
192
+ if (shiftState.animation !== undefined) {
193
+ initializeSlides({
194
+ animation: false
195
+ });
196
+ }
197
+ };
198
+
199
+ useGlobalEventListener(window, "resize", onResize);
200
+ useIsomorphicLayoutEffect(function () {
201
+ initializeSlides({
202
+ animation: false
203
+ });
204
+ }, [children, align, slideWidth]);
205
+ useIsomorphicLayoutEffect(function () {
206
+ if (shiftState.animation !== undefined) {
207
+ setShiftState(function (prevState) {
208
+ return _objectSpread(_objectSpread({}, prevState), {}, {
209
+ animation: true,
210
+ deltaX: 0,
211
+ shiftX: calculateIndent(slideIndex !== null && slideIndex !== void 0 ? slideIndex : 0)
212
+ });
213
+ });
214
+ }
215
+ }, [slideIndex]);
216
+
217
+ var slideLeft = function slideLeft() {
218
+ onChange === null || onChange === void 0 ? void 0 : onChange(slideIndex - 1);
219
+ onPrevClick === null || onPrevClick === void 0 ? void 0 : onPrevClick();
220
+ };
221
+
222
+ var slideRight = function slideRight() {
223
+ onChange === null || onChange === void 0 ? void 0 : onChange(slideIndex + 1);
224
+ onNextClick === null || onNextClick === void 0 ? void 0 : onNextClick();
225
+ };
226
+ /*
227
+ * Получает индекс слайда, к которому будет осуществлен переход
228
+ */
229
+
230
+
231
+ var getTarget = function getTarget(e) {
232
+ var _layoutState$current$7;
233
+
234
+ var expectDeltaX = shiftState.deltaX / e.duration * 240 * 0.6;
235
+ var shift = shiftState.shiftX + shiftState.deltaX + expectDeltaX - ((_layoutState$current$7 = layoutState.current.max) !== null && _layoutState$current$7 !== void 0 ? _layoutState$current$7 : 0);
236
+ var direction = shiftState.deltaX < 0 ? 1 : -1; // Находим ближайшую границу слайда к текущему отступу
237
+
238
+ var targetIndex = layoutState.current.slides.reduce(function (val, item, index) {
239
+ var previousValue = Math.abs(layoutState.current.slides[val].coordX + shift);
240
+ var currentValue = Math.abs(item.coordX + shift);
241
+ return previousValue < currentValue ? val : index;
242
+ }, slideIndex);
243
+
244
+ if (targetIndex === slideIndex) {
245
+ var targetSlide = slideIndex + direction;
246
+
247
+ if (targetSlide >= 0 && targetSlide < layoutState.current.slides.length) {
248
+ if (Math.abs(shiftState.deltaX) > layoutState.current.slides[targetSlide].width * 0.05) {
249
+ targetIndex = targetSlide;
250
+ }
251
+ }
252
+ }
253
+
254
+ return targetIndex;
255
+ };
256
+
257
+ var onStart = function onStart() {
258
+ setShiftState(function (prevState) {
259
+ return _objectSpread(_objectSpread({}, prevState), {}, {
260
+ animation: false
261
+ });
262
+ });
263
+ };
264
+
265
+ var onMoveX = function onMoveX(e) {
266
+ if (isDraggable && !layoutState.current.isFullyVisible) {
267
+ e.originalEvent.preventDefault();
268
+
269
+ if (e.isSlideX) {
270
+ // TODO исправить в рамках issue #2698
271
+ onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(e);
272
+
273
+ if (shiftState.deltaX !== e.shiftX) {
274
+ setShiftState(function (prevState) {
275
+ return _objectSpread(_objectSpread({}, prevState), {}, {
276
+ deltaX: e.shiftX,
277
+ dragging: e.isSlideX
278
+ });
279
+ });
280
+ }
281
+ }
282
+ }
283
+ };
284
+
285
+ var onEnd = function onEnd(e) {
286
+ var targetIndex = e.isSlide ? getTarget(e) : slideIndex !== null && slideIndex !== void 0 ? slideIndex : 0;
287
+ onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(e);
288
+ var nextShiftState = {
289
+ animation: true,
290
+ dragging: false,
291
+ deltaX: 0
292
+ };
293
+ var shiftXStick = calculateDragIndent();
294
+
295
+ if (targetIndex !== slideIndex) {
296
+ // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)
297
+ nextShiftState.shiftX = shiftXStick;
298
+ }
299
+
300
+ setShiftState(function (prevState) {
301
+ return _objectSpread(_objectSpread({}, prevState), nextShiftState);
302
+ });
303
+
304
+ if (targetIndex !== slideIndex) {
305
+ onChange === null || onChange === void 0 ? void 0 : onChange(targetIndex);
306
+ } // TODO исправить в рамках issue #2698
307
+
308
+
309
+ onEndProp === null || onEndProp === void 0 ? void 0 : onEndProp({
310
+ targetIndex: targetIndex
311
+ });
312
+ };
313
+
314
+ var indent = shiftState.dragging ? calculateDragIndent() : shiftState.shiftX;
315
+ var layerStyle = {
316
+ WebkitTransform: "translateX(".concat(indent, "px)"),
317
+ transform: "translateX(".concat(indent, "px)"),
318
+ WebkitTransition: shiftState.animation ? "-webkit-transform ".concat(ANIMATION_DURATION, "s cubic-bezier(.1, 0, .25, 1)") : "none",
319
+ transition: shiftState.animation ? "transform ".concat(ANIMATION_DURATION, "s cubic-bezier(.1, 0, .25, 1)") : "none"
320
+ };
321
+
322
+ var setSlideRef = function setSlideRef(slideRef, slideIndex) {
323
+ slidesStore.current["slide-".concat(slideIndex)] = slideRef;
324
+ }; // shiftX is negative number <= 0, we can swipe back only if it is < 0
325
+
326
+
327
+ var canSlideLeft = !layoutState.current.isFullyVisible && shiftState.shiftX < 0;
328
+ var canSlideRight = !layoutState.current.isFullyVisible && ( // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side
329
+ align === "left" && layoutState.current.containerWidth - shiftState.shiftX < ((_layoutState$current$8 = layoutState.current.layerWidth) !== null && _layoutState$current$8 !== void 0 ? _layoutState$current$8 : 0) || // otherwise we need to check current slide index (align = right or align = center)
330
+ align !== "left" && slideIndex < layoutState.current.slides.length - 1);
331
+ return createScopedElement("div", _extends({}, restProps, {
332
+ vkuiClass: classNames("Gallery", "Gallery--".concat(align), shiftState.dragging && "Gallery--dragging", slideWidth === "custom" && "Gallery--custom-width"),
333
+ ref: rootRef
334
+ }), createScopedElement(Touch, {
335
+ vkuiClass: "Gallery__viewport",
336
+ onStartX: onStart,
337
+ onMoveX: onMoveX,
338
+ onEnd: onEnd,
339
+ style: {
340
+ width: slideWidth === "custom" ? "100%" : slideWidth
341
+ },
342
+ getRootRef: viewportRef,
343
+ noSlideClick: true
344
+ }, createScopedElement("div", {
345
+ vkuiClass: "Gallery__layer",
346
+ style: layerStyle
347
+ }, React.Children.map(children, function (item, i) {
348
+ return createScopedElement("div", {
349
+ vkuiClass: "Gallery__slide",
350
+ key: "slide-".concat(i),
351
+ ref: function ref(el) {
352
+ return setSlideRef(el, i);
353
+ }
354
+ }, item);
355
+ }))), bullets && createScopedElement("div", {
356
+ "aria-hidden": "true",
357
+ vkuiClass: classNames("Gallery__bullets", "Gallery__bullets--".concat(bullets))
358
+ }, React.Children.map(children, function (_item, index) {
359
+ return createScopedElement("div", {
360
+ vkuiClass: classNames("Gallery__bullet", index === slideIndex && "Gallery__bullet--active"),
361
+ key: index
362
+ });
363
+ })), showArrows && hasMouse && canSlideLeft && createScopedElement(HorizontalScrollArrow, {
364
+ direction: "left",
365
+ onClick: slideLeft
366
+ }), showArrows && hasMouse && canSlideRight && createScopedElement(HorizontalScrollArrow, {
367
+ direction: "right",
368
+ onClick: slideRight
369
+ }));
370
+ };
371
+ //# sourceMappingURL=BaseGallery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/BaseGallery/BaseGallery.tsx"],"names":["React","classNames","Touch","HorizontalScrollArrow","useExternRef","useDOM","useAdaptivity","useIsomorphicLayoutEffect","useGlobalEventListener","calcMax","calcMin","ANIMATION_DURATION","LAYOUT_DEFAULT_STATE","containerWidth","viewporOffsettWidth","layerWidth","min","max","slides","isFullyVisible","SHIFT_DEFAULT_STATE","animation","undefined","shiftX","dragging","deltaX","indent","BaseGallery","bullets","getRootRef","children","slideWidth","slideIndex","isDraggable","onDragStart","onDragEnd","onChange","onPrevClick","onNextClick","onEndProp","onEnd","align","showArrows","getRef","restProps","slidesStore","useRef","layoutState","useState","shiftState","setShiftState","rootRef","viewportRef","window","hasMouse","isCenterWithCustomWidth","validateIndent","value","localMax","current","localMin","calculateIndent","targetIndex","targetSlide","length","coordX","width","viewportWidth","calculateDragIndent","Number","initializeSlides","options","localSlides","Children","map","_item","i","elem","offsetLeft","offsetWidth","localContainerWidth","localViewporOffsettWidth","localLayerWidth","reduce","val","slide","prevState","onResize","slideLeft","slideRight","getTarget","e","expectDeltaX","duration","shift","direction","item","index","previousValue","Math","abs","currentValue","onStart","onMoveX","originalEvent","preventDefault","isSlideX","isSlide","nextShiftState","shiftXStick","layerStyle","WebkitTransform","transform","WebkitTransition","transition","setSlideRef","slideRef","canSlideLeft","canSlideRight","el"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport HorizontalScrollArrow from \"../HorizontalScroll/HorizontalScrollArrow\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { calcMax, calcMin } from \"./helpers\";\nimport {\n BaseGalleryProps,\n GallerySlidesState,\n LayoutState,\n ShiftingState,\n} from \"./types\";\nimport \"./BaseGallery.css\";\n\nconst ANIMATION_DURATION = 0.24;\n\nconst LAYOUT_DEFAULT_STATE = {\n containerWidth: 0,\n viewporOffsettWidth: 0,\n layerWidth: 0,\n min: 0,\n max: 0,\n slides: [],\n isFullyVisible: true,\n};\n\nconst SHIFT_DEFAULT_STATE = {\n animation: undefined,\n shiftX: 0,\n dragging: false,\n deltaX: 0,\n indent: 0,\n};\n\nexport const BaseGallery = ({\n bullets = false,\n getRootRef,\n children,\n slideWidth = \"100%\",\n slideIndex = 0,\n isDraggable = true,\n onDragStart,\n onDragEnd,\n onChange,\n onPrevClick,\n onNextClick,\n onEnd: onEndProp,\n align = \"left\",\n showArrows,\n getRef,\n ...restProps\n}: BaseGalleryProps) => {\n const slidesStore = React.useRef<Record<string, HTMLDivElement | null>>({});\n const layoutState = React.useRef<LayoutState>(LAYOUT_DEFAULT_STATE);\n const [shiftState, setShiftState] =\n React.useState<ShiftingState>(SHIFT_DEFAULT_STATE);\n\n const rootRef = useExternRef(getRootRef);\n const viewportRef = useExternRef(getRef);\n\n const { window } = useDOM();\n const { hasMouse } = useAdaptivity();\n\n const isCenterWithCustomWidth = slideWidth === \"custom\" && align === \"center\";\n\n const validateIndent = (value: number) => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n\n if (value < localMin) {\n return localMin;\n } else if (value > localMax) {\n return localMax;\n }\n\n return value;\n };\n\n /*\n * Считает отступ слоя галереи\n */\n const calculateIndent = (targetIndex: number) => {\n if (layoutState.current.isFullyVisible) {\n return 0;\n }\n\n const targetSlide = layoutState.current.slides?.length\n ? layoutState.current.slides[targetIndex]\n : null;\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenterWithCustomWidth) {\n const viewportWidth = layoutState.current.viewporOffsettWidth ?? 0;\n return viewportWidth / 2 - coordX - width / 2;\n }\n\n return validateIndent(-1 * coordX);\n }\n\n return 0;\n };\n\n /*\n * Считает отступ слоя галереи во время драга\n */\n const calculateDragIndent = () => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n const indent = shiftState.shiftX + shiftState.deltaX;\n\n if (indent > localMax) {\n return localMax + Number((indent - localMax) / 3);\n } else if (indent < localMin) {\n return localMin + Number((indent - localMin) / 3);\n }\n\n return indent;\n };\n\n const initializeSlides = (options: { animation?: boolean } = {}) => {\n const localSlides =\n React.Children.map(\n children,\n (_item: React.ReactNode, i: number): GallerySlidesState => {\n const elem = slidesStore.current[`slide-${i}`];\n return {\n coordX: elem?.offsetLeft ?? 0,\n width: elem?.offsetWidth ?? 0,\n };\n }\n ) ?? [];\n\n const localContainerWidth = rootRef.current?.offsetWidth ?? 0;\n const localViewporOffsettWidth = viewportRef.current?.offsetWidth ?? 0;\n const localLayerWidth = localSlides.reduce(\n (val: number, slide: GallerySlidesState) => slide.width + val,\n 0\n );\n\n layoutState.current = {\n containerWidth: localContainerWidth,\n viewporOffsettWidth: localViewporOffsettWidth,\n layerWidth: localLayerWidth,\n max: calcMax({\n slides: localSlides,\n viewporOffsettWidth: localViewporOffsettWidth,\n isCenterWithCustomWidth,\n }),\n min: calcMin({\n containerWidth: localContainerWidth,\n layerWidth: localLayerWidth,\n slides: localSlides,\n viewporOffsettWidth: localViewporOffsettWidth,\n isCenterWithCustomWidth,\n align,\n }),\n slides: localSlides,\n isFullyVisible: localLayerWidth <= localContainerWidth,\n };\n\n setShiftState((prevState) => ({\n ...prevState,\n shiftX: calculateIndent(slideIndex),\n animation:\n options.animation ??\n prevState.shiftX === validateIndent(prevState.shiftX),\n }));\n };\n\n const onResize = () => {\n if (shiftState.animation !== undefined) {\n initializeSlides({ animation: false });\n }\n };\n\n useGlobalEventListener(window, \"resize\", onResize);\n\n useIsomorphicLayoutEffect(() => {\n initializeSlides({ animation: false });\n }, [children, align, slideWidth]);\n\n useIsomorphicLayoutEffect(() => {\n if (shiftState.animation !== undefined) {\n setShiftState((prevState) => ({\n ...prevState,\n animation: true,\n deltaX: 0,\n shiftX: calculateIndent(slideIndex ?? 0),\n }));\n }\n }, [slideIndex]);\n\n const slideLeft = () => {\n onChange?.(slideIndex - 1);\n onPrevClick?.();\n };\n\n const slideRight = () => {\n onChange?.(slideIndex + 1);\n onNextClick?.();\n };\n\n /*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\n const getTarget = (e: TouchEvent) => {\n const expectDeltaX = (shiftState.deltaX / e.duration) * 240 * 0.6;\n const shift =\n shiftState.shiftX +\n shiftState.deltaX +\n expectDeltaX -\n (layoutState.current.max ?? 0);\n const direction = shiftState.deltaX < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = layoutState.current.slides.reduce(\n (val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(\n layoutState.current.slides[val].coordX + shift\n );\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n },\n slideIndex\n );\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < layoutState.current.slides.length) {\n if (\n Math.abs(shiftState.deltaX) >\n layoutState.current.slides[targetSlide].width * 0.05\n ) {\n targetIndex = targetSlide;\n }\n }\n }\n\n return targetIndex;\n };\n\n const onStart = () => {\n setShiftState((prevState) => ({ ...prevState, animation: false }));\n };\n\n const onMoveX = (e: TouchEvent) => {\n if (isDraggable && !layoutState.current.isFullyVisible) {\n e.originalEvent.preventDefault();\n\n if (e.isSlideX) {\n // TODO исправить в рамках issue #2698\n onDragStart?.(e);\n\n if (shiftState.deltaX !== e.shiftX) {\n setShiftState((prevState) => ({\n ...prevState,\n deltaX: e.shiftX,\n dragging: e.isSlideX,\n }));\n }\n }\n }\n };\n\n const onEnd = (e: TouchEvent) => {\n const targetIndex = e.isSlide ? getTarget(e) : slideIndex ?? 0;\n onDragEnd?.(e);\n\n const nextShiftState: Partial<ShiftingState> = {\n animation: true,\n dragging: false,\n deltaX: 0,\n };\n\n const shiftXStick = calculateDragIndent();\n if (targetIndex !== slideIndex) {\n // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)\n nextShiftState.shiftX = shiftXStick;\n }\n\n setShiftState((prevState) => ({ ...prevState, ...nextShiftState }));\n if (targetIndex !== slideIndex) {\n onChange?.(targetIndex);\n }\n\n // TODO исправить в рамках issue #2698\n onEndProp?.({ targetIndex });\n };\n\n const indent = shiftState.dragging\n ? calculateDragIndent()\n : shiftState.shiftX;\n\n const layerStyle = {\n WebkitTransform: `translateX(${indent}px)`,\n transform: `translateX(${indent}px)`,\n WebkitTransition: shiftState.animation\n ? `-webkit-transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : \"none\",\n transition: shiftState.animation\n ? `transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : \"none\",\n };\n\n const setSlideRef = (slideRef: HTMLDivElement | null, slideIndex: number) => {\n slidesStore.current[`slide-${slideIndex}`] = slideRef;\n };\n\n // shiftX is negative number <= 0, we can swipe back only if it is < 0\n const canSlideLeft =\n !layoutState.current.isFullyVisible && shiftState.shiftX < 0;\n\n const canSlideRight =\n !layoutState.current.isFullyVisible &&\n // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side\n ((align === \"left\" &&\n layoutState.current.containerWidth - shiftState.shiftX <\n (layoutState.current.layerWidth ?? 0)) ||\n // otherwise we need to check current slide index (align = right or align = center)\n (align !== \"left\" && slideIndex < layoutState.current.slides.length - 1));\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n \"Gallery\",\n `Gallery--${align}`,\n shiftState.dragging && \"Gallery--dragging\",\n slideWidth === \"custom\" && \"Gallery--custom-width\"\n )}\n ref={rootRef}\n >\n <Touch\n vkuiClass=\"Gallery__viewport\"\n onStartX={onStart}\n onMoveX={onMoveX}\n onEnd={onEnd}\n style={{ width: slideWidth === \"custom\" ? \"100%\" : slideWidth }}\n getRootRef={viewportRef}\n noSlideClick\n >\n <div vkuiClass=\"Gallery__layer\" style={layerStyle}>\n {React.Children.map(children, (item: React.ReactNode, i: number) => (\n <div\n vkuiClass=\"Gallery__slide\"\n key={`slide-${i}`}\n ref={(el) => setSlideRef(el, i)}\n >\n {item}\n </div>\n ))}\n </div>\n </Touch>\n\n {bullets && (\n <div\n aria-hidden=\"true\"\n vkuiClass={classNames(\n \"Gallery__bullets\",\n `Gallery__bullets--${bullets}`\n )}\n >\n {React.Children.map(\n children,\n (_item: React.ReactNode, index: number) => (\n <div\n vkuiClass={classNames(\n \"Gallery__bullet\",\n index === slideIndex && \"Gallery__bullet--active\"\n )}\n key={index}\n />\n )\n )}\n </div>\n )}\n\n {showArrows && hasMouse && canSlideLeft && (\n <HorizontalScrollArrow direction=\"left\" onClick={slideLeft} />\n )}\n {showArrows && hasMouse && canSlideRight && (\n <HorizontalScrollArrow direction=\"right\" onClick={slideRight} />\n )}\n </div>\n );\n};\n"],"file":"BaseGallery.js"}
@@ -0,0 +1,12 @@
1
+ import { LayoutState } from "./types";
2
+ import { HasAlign } from "../../types";
3
+ interface CalcMin extends Partial<LayoutState> {
4
+ isCenterWithCustomWidth: boolean;
5
+ align: HasAlign["align"];
6
+ }
7
+ export declare const calcMin: ({ containerWidth, layerWidth, slides, viewporOffsettWidth, align, isCenterWithCustomWidth, }: CalcMin) => number | undefined;
8
+ interface CalcMax extends Partial<LayoutState> {
9
+ isCenterWithCustomWidth: boolean;
10
+ }
11
+ export declare const calcMax: ({ slides, viewporOffsettWidth, isCenterWithCustomWidth, }: CalcMax) => number;
12
+ export {};
@@ -0,0 +1,50 @@
1
+ export var calcMin = function calcMin(_ref) {
2
+ var _ref$containerWidth = _ref.containerWidth,
3
+ containerWidth = _ref$containerWidth === void 0 ? 0 : _ref$containerWidth,
4
+ _ref$layerWidth = _ref.layerWidth,
5
+ layerWidth = _ref$layerWidth === void 0 ? 0 : _ref$layerWidth,
6
+ _ref$slides = _ref.slides,
7
+ slides = _ref$slides === void 0 ? [] : _ref$slides,
8
+ _ref$viewporOffsettWi = _ref.viewporOffsettWidth,
9
+ viewporOffsettWidth = _ref$viewporOffsettWi === void 0 ? 0 : _ref$viewporOffsettWi,
10
+ align = _ref.align,
11
+ isCenterWithCustomWidth = _ref.isCenterWithCustomWidth;
12
+
13
+ switch (align) {
14
+ case "left":
15
+ return containerWidth - layerWidth;
16
+
17
+ case "right":
18
+ return viewporOffsettWidth - layerWidth;
19
+
20
+ case "center":
21
+ if (isCenterWithCustomWidth && slides.length) {
22
+ var _slides = slides[slides.length - 1],
23
+ coordX = _slides.coordX,
24
+ width = _slides.width;
25
+ return viewporOffsettWidth / 2 - coordX - width / 2;
26
+ } else {
27
+ return viewporOffsettWidth - (containerWidth - viewporOffsettWidth) / 2 - layerWidth;
28
+ }
29
+
30
+ }
31
+
32
+ return undefined;
33
+ };
34
+ export var calcMax = function calcMax(_ref2) {
35
+ var _ref2$slides = _ref2.slides,
36
+ slides = _ref2$slides === void 0 ? [] : _ref2$slides,
37
+ _ref2$viewporOffsettW = _ref2.viewporOffsettWidth,
38
+ viewporOffsettWidth = _ref2$viewporOffsettW === void 0 ? 0 : _ref2$viewporOffsettW,
39
+ isCenterWithCustomWidth = _ref2.isCenterWithCustomWidth;
40
+
41
+ if (isCenterWithCustomWidth && slides.length) {
42
+ var _slides$ = slides[0],
43
+ width = _slides$.width,
44
+ coordX = _slides$.coordX;
45
+ return viewporOffsettWidth / 2 - coordX - width / 2;
46
+ }
47
+
48
+ return 0;
49
+ };
50
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/BaseGallery/helpers.ts"],"names":["calcMin","containerWidth","layerWidth","slides","viewporOffsettWidth","align","isCenterWithCustomWidth","length","coordX","width","undefined","calcMax"],"mappings":"AAQA,OAAO,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAOR;AAAA,iCANbC,cAMa;AAAA,MANbA,cAMa,oCANI,CAMJ;AAAA,6BALbC,UAKa;AAAA,MALbA,UAKa,gCALA,CAKA;AAAA,yBAJbC,MAIa;AAAA,MAJbA,MAIa,4BAJJ,EAII;AAAA,mCAHbC,mBAGa;AAAA,MAHbA,mBAGa,sCAHS,CAGT;AAAA,MAFbC,KAEa,QAFbA,KAEa;AAAA,MADbC,uBACa,QADbA,uBACa;;AACb,UAAQD,KAAR;AACE,SAAK,MAAL;AACE,aAAOJ,cAAc,GAAGC,UAAxB;;AACF,SAAK,OAAL;AACE,aAAOE,mBAAmB,GAAGF,UAA7B;;AACF,SAAK,QAAL;AACE,UAAII,uBAAuB,IAAIH,MAAM,CAACI,MAAtC,EAA8C;AAC5C,sBAA0BJ,MAAM,CAACA,MAAM,CAACI,MAAP,GAAgB,CAAjB,CAAhC;AAAA,YAAQC,MAAR,WAAQA,MAAR;AAAA,YAAgBC,KAAhB,WAAgBA,KAAhB;AACA,eAAOL,mBAAmB,GAAG,CAAtB,GAA0BI,MAA1B,GAAmCC,KAAK,GAAG,CAAlD;AACD,OAHD,MAGO;AACL,eACEL,mBAAmB,GACnB,CAACH,cAAc,GAAGG,mBAAlB,IAAyC,CADzC,GAEAF,UAHF;AAKD;;AAfL;;AAiBA,SAAOQ,SAAP;AACD,CA1BM;AAgCP,OAAO,IAAMC,OAAO,GAAG,SAAVA,OAAU,QAIR;AAAA,2BAHbR,MAGa;AAAA,MAHbA,MAGa,6BAHJ,EAGI;AAAA,oCAFbC,mBAEa;AAAA,MAFbA,mBAEa,sCAFS,CAET;AAAA,MADbE,uBACa,SADbA,uBACa;;AACb,MAAIA,uBAAuB,IAAIH,MAAM,CAACI,MAAtC,EAA8C;AAC5C,mBAA0BJ,MAAM,CAAC,CAAD,CAAhC;AAAA,QAAQM,KAAR,YAAQA,KAAR;AAAA,QAAeD,MAAf,YAAeA,MAAf;AACA,WAAOJ,mBAAmB,GAAG,CAAtB,GAA0BI,MAA1B,GAAmCC,KAAK,GAAG,CAAlD;AACD;;AACD,SAAO,CAAP;AACD,CAVM","sourcesContent":["import { LayoutState } from \"./types\";\nimport { HasAlign } from \"../../types\";\n\ninterface CalcMin extends Partial<LayoutState> {\n isCenterWithCustomWidth: boolean;\n align: HasAlign[\"align\"];\n}\n\nexport const calcMin = ({\n containerWidth = 0,\n layerWidth = 0,\n slides = [],\n viewporOffsettWidth = 0,\n align,\n isCenterWithCustomWidth,\n}: CalcMin) => {\n switch (align) {\n case \"left\":\n return containerWidth - layerWidth;\n case \"right\":\n return viewporOffsettWidth - layerWidth;\n case \"center\":\n if (isCenterWithCustomWidth && slides.length) {\n const { coordX, width } = slides[slides.length - 1];\n return viewporOffsettWidth / 2 - coordX - width / 2;\n } else {\n return (\n viewporOffsettWidth -\n (containerWidth - viewporOffsettWidth) / 2 -\n layerWidth\n );\n }\n }\n return undefined;\n};\n\ninterface CalcMax extends Partial<LayoutState> {\n isCenterWithCustomWidth: boolean;\n}\n\nexport const calcMax = ({\n slides = [],\n viewporOffsettWidth = 0,\n isCenterWithCustomWidth,\n}: CalcMax) => {\n if (isCenterWithCustomWidth && slides.length) {\n const { width, coordX } = slides[0];\n return viewporOffsettWidth / 2 - coordX - width / 2;\n }\n return 0;\n};\n"],"file":"helpers.js"}
@@ -0,0 +1,43 @@
1
+ import * as React from "react";
2
+ import { HasAlign, HasRef, HasRootRef } from "../../types";
3
+ import { TouchEventHandler } from "../Touch/Touch";
4
+ export interface GallerySlidesState {
5
+ coordX: number;
6
+ width: number;
7
+ }
8
+ export interface ShiftingState {
9
+ deltaX: number;
10
+ shiftX: number;
11
+ animation?: boolean;
12
+ dragging: boolean;
13
+ }
14
+ export interface LayoutState {
15
+ containerWidth: number;
16
+ viewporOffsettWidth: number;
17
+ layerWidth: number;
18
+ min?: number;
19
+ max: number;
20
+ slides: GallerySlidesState[];
21
+ isFullyVisible: boolean;
22
+ }
23
+ export interface BaseGalleryProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "onDragStart" | "onDragEnd">, HasAlign, HasRootRef<HTMLDivElement>, HasRef<HTMLElement> {
24
+ slideWidth?: string | number;
25
+ slideIndex?: number;
26
+ onDragStart?: TouchEventHandler;
27
+ onDragEnd?: TouchEventHandler;
28
+ onChange?(current: number): void;
29
+ onEnd?({ targetIndex }: {
30
+ targetIndex: number;
31
+ }): void;
32
+ /**
33
+ * Будет вызвано при клике на кнопку-стрелку влево
34
+ */
35
+ onPrevClick?(): void;
36
+ /**
37
+ * Будет вызвано при клике на кнопку-стрелку вправо
38
+ */
39
+ onNextClick?(): void;
40
+ bullets?: "dark" | "light" | false;
41
+ isDraggable?: boolean;
42
+ showArrows?: boolean;
43
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"types.js"}
@@ -6,7 +6,7 @@ import { createScopedElement } from "../../lib/jsxRuntime";
6
6
  import * as React from "react";
7
7
  import { classNames } from "../../lib/classNames";
8
8
  import { ConfigProviderContext } from "../ConfigProvider/ConfigProviderContext";
9
- import Tappable from "../Tappable/Tappable";
9
+ import { Tappable } from "../Tappable/Tappable";
10
10
  import { Title } from "../Typography/Title/Title";
11
11
  import { Text } from "../Typography/Text/Text";
12
12
  import { Subhead } from "../Typography/Subhead/Subhead";
@@ -162,7 +162,7 @@ var ButtonComponent = function ButtonComponent(_ref) {
162
162
  onClick: loading ? undefined : onClick,
163
163
  focusVisibleMode: "outside",
164
164
  stopPropagation: stopPropagation,
165
- vkuiClass: classNames("Button", "Button--sz-".concat(size), "Button--lvl-".concat(resolvedMode), "Button--clr-".concat(resolvedAppearance), "Button--aln-".concat(align), "Button--sizeY-".concat(sizeY), stretched && "Button--stretched", hasIcons && "Button--with-icon", hasIconOnly && "Button--singleIcon"),
165
+ vkuiClass: classNames("Button", "Button--sz-".concat(size), "Button--lvl-".concat(resolvedMode), "Button--clr-".concat(resolvedAppearance), "Button--aln-".concat(align), "Button--sizeY-".concat(sizeY), stretched && "Button--stretched", hasIcons && "Button--with-icon", hasIconOnly && "Button--singleIcon", loading && "Button--loading"),
166
166
  getRootRef: getRootRef,
167
167
  hoverMode: hasNewTokens ? "Button--hover" : "background",
168
168
  activeMode: hasNewTokens ? "Button--active" : "opacity"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Button/Button.tsx"],"names":["React","classNames","ConfigProviderContext","Tappable","Title","Text","Subhead","Caption","usePlatform","SizeType","withAdaptivity","IOS","VKCOM","ANDROID","Spinner","Headline","ButtonTypography","props","size","sizeY","platform","restProps","isCompact","COMPACT","resolveButtonAppearance","appearance","mode","resolvedAppearance","resolvedMode","undefined","ButtonComponent","stretched","align","children","before","after","getRootRef","Component","loading","onClick","stopPropagation","hasIcons","Boolean","hasIconOnly","hasNewTokens","useContext","href","Button"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport Tappable, { TappableProps } from \"../Tappable/Tappable\";\nimport { Title } from \"../Typography/Title/Title\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { HasAlign, HasComponent } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n AdaptivityProps,\n SizeType,\n withAdaptivity,\n} from \"../../hoc/withAdaptivity\";\nimport { PlatformType, IOS, VKCOM, ANDROID } from \"../../lib/platform\";\nimport { Spinner } from \"../Spinner/Spinner\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport \"./Button.css\";\n\nexport interface VKUIButtonProps extends HasAlign {\n /**\n Значения `commerce`, `destructive`, `overlay_...` будут упразднены в 5.0.0\n */\n mode?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"outline\"\n | \"commerce\"\n | \"destructive\"\n | \"overlay_primary\"\n | \"overlay_secondary\"\n | \"overlay_outline\";\n appearance?: \"accent\" | \"positive\" | \"negative\" | \"neutral\" | \"overlay\";\n size?: \"s\" | \"m\" | \"l\";\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n}\n\nexport interface ButtonProps\n extends Omit<TappableProps, \"size\">,\n VKUIButtonProps {}\n\ninterface ButtonTypographyProps extends HasComponent {\n size: ButtonProps[\"size\"];\n platform: PlatformType | undefined;\n sizeY: AdaptivityProps[\"sizeY\"];\n children?: ButtonProps[\"children\"];\n}\n\nconst ButtonTypography: React.FC<ButtonTypographyProps> = (\n props: ButtonTypographyProps\n) => {\n const { size, sizeY, platform, ...restProps } = props;\n const isCompact = sizeY === SizeType.COMPACT;\n\n switch (size) {\n case \"l\":\n if (isCompact) {\n return <Text weight=\"2\" {...restProps} />;\n }\n if (platform === ANDROID) {\n return <Headline weight=\"2\" {...restProps} />;\n }\n return <Title level=\"3\" weight=\"2\" {...restProps} />;\n case \"m\":\n if (isCompact) {\n return (\n <Subhead weight={platform === VKCOM ? \"3\" : \"2\"} {...restProps} />\n );\n }\n\n return <Text weight=\"2\" {...restProps} />;\n case \"s\":\n default:\n if (platform === IOS) {\n return <Subhead weight=\"2\" {...restProps} />;\n }\n\n if (platform === VKCOM) {\n return <Caption {...restProps} />;\n }\n\n if (isCompact) {\n return <Caption weight=\"2\" {...restProps} />;\n }\n\n return <Subhead weight=\"2\" {...restProps} />;\n }\n};\n\ninterface ResolvedButtonAppearance {\n resolvedAppearance: ButtonProps[\"appearance\"];\n resolvedMode: ButtonProps[\"mode\"];\n}\n\nfunction resolveButtonAppearance(\n appearance: ButtonProps[\"appearance\"],\n mode: ButtonProps[\"mode\"]\n): ResolvedButtonAppearance {\n let resolvedAppearance: ButtonProps[\"appearance\"] = appearance;\n let resolvedMode: ButtonProps[\"mode\"] = mode;\n\n if (appearance === undefined) {\n switch (mode) {\n case \"tertiary\":\n case \"secondary\":\n case \"primary\":\n case \"outline\":\n resolvedAppearance = \"accent\";\n break;\n case \"commerce\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"positive\";\n break;\n case \"destructive\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"negative\";\n break;\n case \"overlay_primary\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_secondary\":\n resolvedMode = \"secondary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_outline\":\n resolvedMode = \"outline\";\n resolvedAppearance = \"overlay\";\n break;\n }\n }\n\n return {\n resolvedAppearance,\n resolvedMode,\n };\n}\n\nconst ButtonComponent: React.FC<ButtonProps> = ({\n size = \"s\",\n mode = \"primary\",\n appearance,\n stretched = false,\n align = \"center\",\n children,\n before,\n after,\n getRootRef,\n sizeY,\n Component = \"button\",\n loading,\n onClick,\n stopPropagation = true,\n ...restProps\n}) => {\n const platform = usePlatform();\n const hasIcons = Boolean(before || after);\n const hasIconOnly = !children && Boolean(after) !== Boolean(before);\n const { resolvedMode, resolvedAppearance } = resolveButtonAppearance(\n appearance,\n mode\n );\n const hasNewTokens = React.useContext(ConfigProviderContext).hasNewTokens;\n\n return (\n <Tappable\n {...restProps}\n Component={restProps.href ? \"a\" : Component}\n onClick={loading ? undefined : onClick}\n focusVisibleMode=\"outside\"\n stopPropagation={stopPropagation}\n vkuiClass={classNames(\n \"Button\",\n `Button--sz-${size}`,\n `Button--lvl-${resolvedMode}`,\n `Button--clr-${resolvedAppearance}`,\n `Button--aln-${align}`,\n `Button--sizeY-${sizeY}`,\n stretched && \"Button--stretched\",\n hasIcons && \"Button--with-icon\",\n hasIconOnly && \"Button--singleIcon\"\n )}\n getRootRef={getRootRef}\n hoverMode={hasNewTokens ? \"Button--hover\" : \"background\"}\n activeMode={hasNewTokens ? \"Button--active\" : \"opacity\"}\n >\n {loading && <Spinner size=\"small\" vkuiClass=\"Button__spinner\" />}\n <span vkuiClass=\"Button__in\">\n {before && (\n <span vkuiClass=\"Button__before\" role=\"presentation\">\n {before}\n </span>\n )}\n {children && (\n <ButtonTypography\n size={size}\n sizeY={sizeY}\n platform={platform}\n vkuiClass=\"Button__content\"\n Component=\"span\"\n >\n {children}\n </ButtonTypography>\n )}\n {after && (\n <span vkuiClass=\"Button__after\" role=\"presentation\">\n {after}\n </span>\n )}\n </span>\n </Tappable>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Button\n */\nexport const Button = withAdaptivity(ButtonComponent, {\n sizeY: true,\n});\n"],"file":"Button.js"}
1
+ {"version":3,"sources":["../../../src/components/Button/Button.tsx"],"names":["React","classNames","ConfigProviderContext","Tappable","Title","Text","Subhead","Caption","usePlatform","SizeType","withAdaptivity","IOS","VKCOM","ANDROID","Spinner","Headline","ButtonTypography","props","size","sizeY","platform","restProps","isCompact","COMPACT","resolveButtonAppearance","appearance","mode","resolvedAppearance","resolvedMode","undefined","ButtonComponent","stretched","align","children","before","after","getRootRef","Component","loading","onClick","stopPropagation","hasIcons","Boolean","hasIconOnly","hasNewTokens","useContext","href","Button"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport { TappableProps, Tappable } from \"../Tappable/Tappable\";\nimport { Title } from \"../Typography/Title/Title\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { HasAlign, HasComponent } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n AdaptivityProps,\n SizeType,\n withAdaptivity,\n} from \"../../hoc/withAdaptivity\";\nimport { PlatformType, IOS, VKCOM, ANDROID } from \"../../lib/platform\";\nimport { Spinner } from \"../Spinner/Spinner\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport \"./Button.css\";\n\nexport interface VKUIButtonProps extends HasAlign {\n /**\n Значения `commerce`, `destructive`, `overlay_...` будут упразднены в 5.0.0\n */\n mode?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"outline\"\n | \"commerce\"\n | \"destructive\"\n | \"overlay_primary\"\n | \"overlay_secondary\"\n | \"overlay_outline\";\n appearance?: \"accent\" | \"positive\" | \"negative\" | \"neutral\" | \"overlay\";\n size?: \"s\" | \"m\" | \"l\";\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n}\n\nexport interface ButtonProps\n extends Omit<TappableProps, \"size\">,\n VKUIButtonProps {}\n\ninterface ButtonTypographyProps extends HasComponent {\n size: ButtonProps[\"size\"];\n platform: PlatformType | undefined;\n sizeY: AdaptivityProps[\"sizeY\"];\n children?: ButtonProps[\"children\"];\n}\n\nconst ButtonTypography: React.FC<ButtonTypographyProps> = (\n props: ButtonTypographyProps\n) => {\n const { size, sizeY, platform, ...restProps } = props;\n const isCompact = sizeY === SizeType.COMPACT;\n\n switch (size) {\n case \"l\":\n if (isCompact) {\n return <Text weight=\"2\" {...restProps} />;\n }\n if (platform === ANDROID) {\n return <Headline weight=\"2\" {...restProps} />;\n }\n return <Title level=\"3\" weight=\"2\" {...restProps} />;\n case \"m\":\n if (isCompact) {\n return (\n <Subhead weight={platform === VKCOM ? \"3\" : \"2\"} {...restProps} />\n );\n }\n\n return <Text weight=\"2\" {...restProps} />;\n case \"s\":\n default:\n if (platform === IOS) {\n return <Subhead weight=\"2\" {...restProps} />;\n }\n\n if (platform === VKCOM) {\n return <Caption {...restProps} />;\n }\n\n if (isCompact) {\n return <Caption weight=\"2\" {...restProps} />;\n }\n\n return <Subhead weight=\"2\" {...restProps} />;\n }\n};\n\ninterface ResolvedButtonAppearance {\n resolvedAppearance: ButtonProps[\"appearance\"];\n resolvedMode: ButtonProps[\"mode\"];\n}\n\nfunction resolveButtonAppearance(\n appearance: ButtonProps[\"appearance\"],\n mode: ButtonProps[\"mode\"]\n): ResolvedButtonAppearance {\n let resolvedAppearance: ButtonProps[\"appearance\"] = appearance;\n let resolvedMode: ButtonProps[\"mode\"] = mode;\n\n if (appearance === undefined) {\n switch (mode) {\n case \"tertiary\":\n case \"secondary\":\n case \"primary\":\n case \"outline\":\n resolvedAppearance = \"accent\";\n break;\n case \"commerce\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"positive\";\n break;\n case \"destructive\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"negative\";\n break;\n case \"overlay_primary\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_secondary\":\n resolvedMode = \"secondary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_outline\":\n resolvedMode = \"outline\";\n resolvedAppearance = \"overlay\";\n break;\n }\n }\n\n return {\n resolvedAppearance,\n resolvedMode,\n };\n}\n\nconst ButtonComponent: React.FC<ButtonProps> = ({\n size = \"s\",\n mode = \"primary\",\n appearance,\n stretched = false,\n align = \"center\",\n children,\n before,\n after,\n getRootRef,\n sizeY,\n Component = \"button\",\n loading,\n onClick,\n stopPropagation = true,\n ...restProps\n}) => {\n const platform = usePlatform();\n const hasIcons = Boolean(before || after);\n const hasIconOnly = !children && Boolean(after) !== Boolean(before);\n const { resolvedMode, resolvedAppearance } = resolveButtonAppearance(\n appearance,\n mode\n );\n const hasNewTokens = React.useContext(ConfigProviderContext).hasNewTokens;\n\n return (\n <Tappable\n {...restProps}\n Component={restProps.href ? \"a\" : Component}\n onClick={loading ? undefined : onClick}\n focusVisibleMode=\"outside\"\n stopPropagation={stopPropagation}\n vkuiClass={classNames(\n \"Button\",\n `Button--sz-${size}`,\n `Button--lvl-${resolvedMode}`,\n `Button--clr-${resolvedAppearance}`,\n `Button--aln-${align}`,\n `Button--sizeY-${sizeY}`,\n stretched && \"Button--stretched\",\n hasIcons && \"Button--with-icon\",\n hasIconOnly && \"Button--singleIcon\",\n loading && \"Button--loading\"\n )}\n getRootRef={getRootRef}\n hoverMode={hasNewTokens ? \"Button--hover\" : \"background\"}\n activeMode={hasNewTokens ? \"Button--active\" : \"opacity\"}\n >\n {loading && <Spinner size=\"small\" vkuiClass=\"Button__spinner\" />}\n <span vkuiClass=\"Button__in\">\n {before && (\n <span vkuiClass=\"Button__before\" role=\"presentation\">\n {before}\n </span>\n )}\n {children && (\n <ButtonTypography\n size={size}\n sizeY={sizeY}\n platform={platform}\n vkuiClass=\"Button__content\"\n Component=\"span\"\n >\n {children}\n </ButtonTypography>\n )}\n {after && (\n <span vkuiClass=\"Button__after\" role=\"presentation\">\n {after}\n </span>\n )}\n </span>\n </Tappable>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Button\n */\nexport const Button = withAdaptivity(ButtonComponent, {\n sizeY: true,\n});\n"],"file":"Button.js"}
@@ -1,7 +1,7 @@
1
1
  import { createScopedElement } from "../../lib/jsxRuntime";
2
2
  import * as React from "react";
3
3
  import { classNames } from "../../lib/classNames";
4
- import Tappable from "../Tappable/Tappable";
4
+ import { Tappable } from "../Tappable/Tappable";
5
5
  import { ENABLE_KEYBOARD_INPUT_EVENT_NAME } from "../../hooks/useKeyboardInputTracker";
6
6
  import { LocaleProviderContext } from "../LocaleProviderContext/LocaleProviderContext";
7
7
  export var CalendarDay = /*#__PURE__*/React.memo(function (_ref) {