@vkontakte/vkui 7.5.4 → 7.6.1

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 (489) hide show
  1. package/dist/components/Calendar/Calendar.js +6 -6
  2. package/dist/components/Calendar/Calendar.js.map +1 -1
  3. package/dist/components/CalendarDays/CalendarDays.js +3 -3
  4. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  5. package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  6. package/dist/components/CalendarRange/CalendarRange.js +16 -14
  7. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  8. package/dist/components/CalendarRange/utils.d.ts.map +1 -1
  9. package/dist/components/CalendarRange/utils.js +6 -5
  10. package/dist/components/CalendarRange/utils.js.map +1 -1
  11. package/dist/components/Cell/Cell.d.ts.map +1 -1
  12. package/dist/components/Cell/Cell.js +6 -3
  13. package/dist/components/Cell/Cell.js.map +1 -1
  14. package/dist/components/CellButtonGroup/CellButtonGroup.d.ts +5 -3
  15. package/dist/components/CellButtonGroup/CellButtonGroup.d.ts.map +1 -1
  16. package/dist/components/Checkbox/Checkbox.d.ts +4 -0
  17. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  18. package/dist/components/Checkbox/Checkbox.js +4 -2
  19. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  20. package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts +1 -1
  21. package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts.map +1 -1
  22. package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.js +6 -3
  23. package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.js.map +1 -1
  24. package/dist/components/ChipsInputBase/Chip/Chip.d.ts +41 -2
  25. package/dist/components/ChipsInputBase/Chip/Chip.d.ts.map +1 -1
  26. package/dist/components/ChipsInputBase/Chip/Chip.js +7 -2
  27. package/dist/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  28. package/dist/components/ChipsInputBase/types.d.ts +2 -35
  29. package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
  30. package/dist/components/ChipsInputBase/types.js.map +1 -1
  31. package/dist/components/ContentBadge/ContentBadge.d.ts +1 -1
  32. package/dist/components/ContentBadge/ContentBadge.d.ts.map +1 -1
  33. package/dist/components/ContentBadge/ContentBadge.js +15 -9
  34. package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
  35. package/dist/components/ContentCard/ContentCard.d.ts +1 -1
  36. package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
  37. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  38. package/dist/components/CustomSelect/CustomSelect.d.ts +16 -27
  39. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  40. package/dist/components/CustomSelect/CustomSelect.js +161 -428
  41. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  42. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts +3 -1
  43. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
  44. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +25 -5
  45. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  46. package/dist/components/CustomSelect/helpers.d.ts +12 -0
  47. package/dist/components/CustomSelect/helpers.d.ts.map +1 -0
  48. package/dist/components/CustomSelect/helpers.js +63 -0
  49. package/dist/components/CustomSelect/helpers.js.map +1 -0
  50. package/dist/components/CustomSelect/hooks/useAfterItems.d.ts +11 -0
  51. package/dist/components/CustomSelect/hooks/useAfterItems.d.ts.map +1 -0
  52. package/dist/components/CustomSelect/hooks/useAfterItems.js +57 -0
  53. package/dist/components/CustomSelect/hooks/useAfterItems.js.map +1 -0
  54. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts +13 -0
  55. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts.map +1 -0
  56. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.js +60 -0
  57. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -0
  58. package/dist/components/CustomSelect/hooks/useFocusedOptionController.d.ts +20 -0
  59. package/dist/components/CustomSelect/hooks/useFocusedOptionController.d.ts.map +1 -0
  60. package/dist/components/CustomSelect/hooks/useFocusedOptionController.js +52 -0
  61. package/dist/components/CustomSelect/hooks/useFocusedOptionController.js.map +1 -0
  62. package/dist/components/CustomSelect/hooks/useInputKeyboardController.d.ts +13 -0
  63. package/dist/components/CustomSelect/hooks/useInputKeyboardController.d.ts.map +1 -0
  64. package/dist/components/CustomSelect/hooks/useInputKeyboardController.js +78 -0
  65. package/dist/components/CustomSelect/hooks/useInputKeyboardController.js.map +1 -0
  66. package/dist/components/CustomSelect/hooks/useInputValueController.d.ts +15 -0
  67. package/dist/components/CustomSelect/hooks/useInputValueController.d.ts.map +1 -0
  68. package/dist/components/CustomSelect/hooks/useInputValueController.js +43 -0
  69. package/dist/components/CustomSelect/hooks/useInputValueController.js.map +1 -0
  70. package/dist/components/CustomSelect/hooks/useScrollListController.d.ts +9 -0
  71. package/dist/components/CustomSelect/hooks/useScrollListController.d.ts.map +1 -0
  72. package/dist/components/CustomSelect/hooks/useScrollListController.js +37 -0
  73. package/dist/components/CustomSelect/hooks/useScrollListController.js.map +1 -0
  74. package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts +18 -0
  75. package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts.map +1 -0
  76. package/dist/components/CustomSelect/hooks/useSelectedOptionController.js +81 -0
  77. package/dist/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -0
  78. package/dist/components/CustomSelect/types.d.ts +33 -0
  79. package/dist/components/CustomSelect/types.d.ts.map +1 -0
  80. package/dist/components/CustomSelect/types.js +3 -0
  81. package/dist/components/CustomSelect/types.js.map +1 -0
  82. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
  83. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -0
  84. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  85. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  86. package/dist/components/DateInput/DateInput.js +3 -2
  87. package/dist/components/DateInput/DateInput.js.map +1 -1
  88. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  89. package/dist/components/DateRangeInput/DateRangeInput.js +4 -4
  90. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  91. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +1 -1
  92. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  93. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +3 -2
  94. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts.map +1 -1
  95. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  96. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  97. package/dist/components/ModalCard/ModalCard.d.ts.map +1 -1
  98. package/dist/components/ModalCard/ModalCard.js +4 -2
  99. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  100. package/dist/components/ModalCard/ModalCardInternal.d.ts +1 -1
  101. package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -1
  102. package/dist/components/ModalCard/ModalCardInternal.js +5 -3
  103. package/dist/components/ModalCard/ModalCardInternal.js.map +1 -1
  104. package/dist/components/ModalCard/types.d.ts +8 -0
  105. package/dist/components/ModalCard/types.d.ts.map +1 -1
  106. package/dist/components/ModalCard/types.js.map +1 -1
  107. package/dist/components/ModalOutlet/ModalOutlet.d.ts +2 -1
  108. package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -1
  109. package/dist/components/ModalOutlet/ModalOutlet.js +4 -3
  110. package/dist/components/ModalOutlet/ModalOutlet.js.map +1 -1
  111. package/dist/components/ModalPage/ModalPage.d.ts +1 -1
  112. package/dist/components/ModalPage/ModalPage.d.ts.map +1 -1
  113. package/dist/components/ModalPage/ModalPage.js +3 -1
  114. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  115. package/dist/components/ModalPage/ModalPageInternal.d.ts +1 -1
  116. package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -1
  117. package/dist/components/ModalPage/ModalPageInternal.js +5 -3
  118. package/dist/components/ModalPage/ModalPageInternal.js.map +1 -1
  119. package/dist/components/ModalPage/types.d.ts +8 -0
  120. package/dist/components/ModalPage/types.d.ts.map +1 -1
  121. package/dist/components/ModalPage/types.js.map +1 -1
  122. package/dist/components/ModalRoot/ModalRoot.d.ts +1 -1
  123. package/dist/components/ModalRoot/ModalRoot.d.ts.map +1 -1
  124. package/dist/components/ModalRoot/ModalRoot.js +4 -2
  125. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  126. package/dist/components/ModalRoot/types.d.ts +6 -0
  127. package/dist/components/ModalRoot/types.d.ts.map +1 -1
  128. package/dist/components/ModalRoot/types.js.map +1 -1
  129. package/dist/components/ModalRoot/useModalManager.d.ts +3 -1
  130. package/dist/components/ModalRoot/useModalManager.d.ts.map +1 -1
  131. package/dist/components/ModalRoot/useModalManager.js +2 -1
  132. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  133. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +2 -2
  134. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
  135. package/dist/components/OnboardingTooltip/OnboardingTooltip.js +4 -2
  136. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  137. package/dist/components/Popover/Popover.d.ts +1 -1
  138. package/dist/components/Popover/Popover.d.ts.map +1 -1
  139. package/dist/components/Popover/Popover.js.map +1 -1
  140. package/dist/components/Popover/usePopover.d.ts +1 -1
  141. package/dist/components/Popover/usePopover.d.ts.map +1 -1
  142. package/dist/components/Popover/usePopover.js +3 -1
  143. package/dist/components/Popover/usePopover.js.map +1 -1
  144. package/dist/components/Popper/Popper.d.ts +2 -2
  145. package/dist/components/Popper/Popper.d.ts.map +1 -1
  146. package/dist/components/Popper/Popper.js +3 -1
  147. package/dist/components/Popper/Popper.js.map +1 -1
  148. package/dist/components/Select/Select.d.ts +2 -1
  149. package/dist/components/Select/Select.d.ts.map +1 -1
  150. package/dist/components/Select/Select.js +5 -2
  151. package/dist/components/Select/Select.js.map +1 -1
  152. package/dist/components/SelectionControl/SelectionControl.d.ts +5 -1
  153. package/dist/components/SelectionControl/SelectionControl.d.ts.map +1 -1
  154. package/dist/components/SelectionControl/SelectionControl.js +22 -6
  155. package/dist/components/SelectionControl/SelectionControl.js.map +1 -1
  156. package/dist/components/SelectionControl/SelectionControlContext.d.ts +7 -0
  157. package/dist/components/SelectionControl/SelectionControlContext.d.ts.map +1 -0
  158. package/dist/components/SelectionControl/SelectionControlContext.js +7 -0
  159. package/dist/components/SelectionControl/SelectionControlContext.js.map +1 -0
  160. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts.map +1 -1
  161. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js +3 -1
  162. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  163. package/dist/components/SimpleCell/SimpleCell.d.ts.map +1 -1
  164. package/dist/components/SimpleCell/SimpleCell.js +29 -8
  165. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  166. package/dist/components/Skeleton/Skeleton.js +1 -1
  167. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  168. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  169. package/dist/components/Tabs/Tabs.js +19 -9
  170. package/dist/components/Tabs/Tabs.js.map +1 -1
  171. package/dist/components/Tabs/TabsController.d.ts +2 -2
  172. package/dist/components/Tabs/TabsController.d.ts.map +1 -1
  173. package/dist/components/Tabs/TabsController.js.map +1 -1
  174. package/dist/components/Tabs/TabsControllerContext.d.ts +5 -0
  175. package/dist/components/Tabs/TabsControllerContext.d.ts.map +1 -0
  176. package/dist/components/Tabs/TabsControllerContext.js +4 -0
  177. package/dist/components/Tabs/TabsControllerContext.js.map +1 -0
  178. package/dist/components/Tabs/TabsModeContext.d.ts +0 -2
  179. package/dist/components/Tabs/TabsModeContext.d.ts.map +1 -1
  180. package/dist/components/Tabs/TabsModeContext.js +1 -2
  181. package/dist/components/Tabs/TabsModeContext.js.map +1 -1
  182. package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
  183. package/dist/components/TabsItem/TabsItem.js +3 -1
  184. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  185. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  186. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  187. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  188. package/dist/components/Tooltip/useTooltip.d.ts +1 -1
  189. package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
  190. package/dist/components/Tooltip/useTooltip.js +3 -1
  191. package/dist/components/Tooltip/useTooltip.js.map +1 -1
  192. package/dist/components/Typography/Caption/Caption.d.ts +2 -0
  193. package/dist/components/Typography/Caption/Caption.d.ts.map +1 -1
  194. package/dist/components/Typography/Caption/Caption.js +4 -1
  195. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  196. package/dist/components/Typography/Footnote/Footnote.d.ts +2 -0
  197. package/dist/components/Typography/Footnote/Footnote.d.ts.map +1 -1
  198. package/dist/components/Typography/Footnote/Footnote.js +4 -1
  199. package/dist/components/Typography/Footnote/Footnote.js.map +1 -1
  200. package/dist/components/Typography/Typography.d.ts +1 -0
  201. package/dist/components/Typography/Typography.d.ts.map +1 -1
  202. package/dist/components/Typography/Typography.js +7 -1
  203. package/dist/components/Typography/Typography.js.map +1 -1
  204. package/dist/components/View/View.d.ts.map +1 -1
  205. package/dist/components/View/View.js +2 -1
  206. package/dist/components/View/View.js.map +1 -1
  207. package/dist/components/View/ViewInfinite.d.ts.map +1 -1
  208. package/dist/components/View/ViewInfinite.js +2 -1
  209. package/dist/components/View/ViewInfinite.js.map +1 -1
  210. package/dist/components.css +1 -1
  211. package/dist/components.css.map +1 -1
  212. package/dist/cssm/components/Banner/Banner.module.css +1 -6
  213. package/dist/cssm/components/Calendar/Calendar.js +6 -6
  214. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  215. package/dist/cssm/components/CalendarDays/CalendarDays.js +3 -3
  216. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  217. package/dist/cssm/components/CalendarRange/CalendarRange.js +16 -14
  218. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  219. package/dist/cssm/components/CalendarRange/utils.js +6 -5
  220. package/dist/cssm/components/CalendarRange/utils.js.map +1 -1
  221. package/dist/cssm/components/Cell/Cell.js +3 -1
  222. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  223. package/dist/cssm/components/Checkbox/Checkbox.js +2 -1
  224. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  225. package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.js +4 -2
  226. package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.js.map +1 -1
  227. package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.module.css +11 -2
  228. package/dist/cssm/components/ChipsInputBase/Chip/Chip.js +6 -2
  229. package/dist/cssm/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  230. package/dist/cssm/components/ChipsInputBase/Chip/Chip.module.css +8 -1
  231. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  232. package/dist/cssm/components/ContentBadge/ContentBadge.js +14 -8
  233. package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
  234. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  235. package/dist/cssm/components/CustomSelect/CustomSelect.js +154 -421
  236. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  237. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +22 -4
  238. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  239. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.module.css +12 -0
  240. package/dist/cssm/components/CustomSelect/helpers.js +62 -0
  241. package/dist/cssm/components/CustomSelect/helpers.js.map +1 -0
  242. package/dist/cssm/components/CustomSelect/hooks/useAfterItems.js +58 -0
  243. package/dist/cssm/components/CustomSelect/hooks/useAfterItems.js.map +1 -0
  244. package/dist/cssm/components/CustomSelect/hooks/useDropdownOpenedController.js +60 -0
  245. package/dist/cssm/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -0
  246. package/dist/cssm/components/CustomSelect/hooks/useFocusedOptionController.js +52 -0
  247. package/dist/cssm/components/CustomSelect/hooks/useFocusedOptionController.js.map +1 -0
  248. package/dist/cssm/components/CustomSelect/hooks/useInputKeyboardController.js +78 -0
  249. package/dist/cssm/components/CustomSelect/hooks/useInputKeyboardController.js.map +1 -0
  250. package/dist/cssm/components/CustomSelect/hooks/useInputValueController.js +43 -0
  251. package/dist/cssm/components/CustomSelect/hooks/useInputValueController.js.map +1 -0
  252. package/dist/cssm/components/CustomSelect/hooks/useScrollListController.js +37 -0
  253. package/dist/cssm/components/CustomSelect/hooks/useScrollListController.js.map +1 -0
  254. package/dist/cssm/components/CustomSelect/hooks/useSelectedOptionController.js +81 -0
  255. package/dist/cssm/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -0
  256. package/dist/cssm/components/CustomSelect/types.js +3 -0
  257. package/dist/cssm/components/CustomSelect/types.js.map +1 -0
  258. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -0
  259. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  260. package/dist/cssm/components/DateInput/DateInput.js +3 -2
  261. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  262. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +4 -4
  263. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  264. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  265. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  266. package/dist/cssm/components/ModalCard/ModalCard.js +2 -1
  267. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  268. package/dist/cssm/components/ModalCard/ModalCardInternal.js +3 -2
  269. package/dist/cssm/components/ModalCard/ModalCardInternal.js.map +1 -1
  270. package/dist/cssm/components/ModalCard/types.js.map +1 -1
  271. package/dist/cssm/components/ModalOutlet/ModalOutlet.js +2 -2
  272. package/dist/cssm/components/ModalOutlet/ModalOutlet.js.map +1 -1
  273. package/dist/cssm/components/ModalOutlet/ModalOutlet.module.css +4 -0
  274. package/dist/cssm/components/ModalOverlay/ModalOverlay.module.css +1 -1
  275. package/dist/cssm/components/ModalPage/ModalPage.js +2 -1
  276. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  277. package/dist/cssm/components/ModalPage/ModalPage.module.css +1 -0
  278. package/dist/cssm/components/ModalPage/ModalPageInternal.js +3 -2
  279. package/dist/cssm/components/ModalPage/ModalPageInternal.js.map +1 -1
  280. package/dist/cssm/components/ModalPage/types.js.map +1 -1
  281. package/dist/cssm/components/ModalRoot/ModalRoot.js +4 -2
  282. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  283. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  284. package/dist/cssm/components/ModalRoot/useModalManager.js +2 -1
  285. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  286. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +3 -2
  287. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  288. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  289. package/dist/cssm/components/Popover/usePopover.js +2 -1
  290. package/dist/cssm/components/Popover/usePopover.js.map +1 -1
  291. package/dist/cssm/components/Popper/Popper.js +2 -1
  292. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  293. package/dist/cssm/components/RichCell/RichCell.module.css +4 -2
  294. package/dist/cssm/components/Select/Select.js +1 -1
  295. package/dist/cssm/components/Select/Select.js.map +1 -1
  296. package/dist/cssm/components/SelectionControl/SelectionControl.js +16 -6
  297. package/dist/cssm/components/SelectionControl/SelectionControl.js.map +1 -1
  298. package/dist/cssm/components/SelectionControl/SelectionControl.module.css +6 -3
  299. package/dist/cssm/components/SelectionControl/SelectionControlContext.js +7 -0
  300. package/dist/cssm/components/SelectionControl/SelectionControlContext.js.map +1 -0
  301. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js +3 -1
  302. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  303. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.module.css +6 -3
  304. package/dist/cssm/components/SimpleCell/SimpleCell.js +29 -8
  305. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  306. package/dist/cssm/components/Skeleton/Skeleton.js +1 -1
  307. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  308. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.module.css +2 -1
  309. package/dist/cssm/components/Tabs/Tabs.js +19 -9
  310. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  311. package/dist/cssm/components/Tabs/TabsController.js.map +1 -1
  312. package/dist/cssm/components/Tabs/TabsControllerContext.js +4 -0
  313. package/dist/cssm/components/Tabs/TabsControllerContext.js.map +1 -0
  314. package/dist/cssm/components/Tabs/TabsModeContext.js +1 -2
  315. package/dist/cssm/components/Tabs/TabsModeContext.js.map +1 -1
  316. package/dist/cssm/components/TabsItem/TabsItem.js +3 -1
  317. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  318. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  319. package/dist/cssm/components/Tooltip/useTooltip.js +2 -1
  320. package/dist/cssm/components/Tooltip/useTooltip.js.map +1 -1
  321. package/dist/cssm/components/Typography/Caption/Caption.js +4 -1
  322. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  323. package/dist/cssm/components/Typography/Footnote/Footnote.js +4 -1
  324. package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
  325. package/dist/cssm/components/Typography/Typography.js +7 -1
  326. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  327. package/dist/cssm/components/View/View.js +2 -1
  328. package/dist/cssm/components/View/View.js.map +1 -1
  329. package/dist/cssm/components/View/View.module.css +1 -1
  330. package/dist/cssm/components/View/ViewInfinite.js +2 -1
  331. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  332. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.module.css +0 -2
  333. package/dist/cssm/hooks/useCalendar.js +6 -4
  334. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  335. package/dist/cssm/hooks/useFloatingElement.js +3 -2
  336. package/dist/cssm/hooks/useFloatingElement.js.map +1 -1
  337. package/dist/cssm/hooks/useTodayDate.js +3 -2
  338. package/dist/cssm/hooks/useTodayDate.js.map +1 -1
  339. package/dist/cssm/index.js.map +1 -1
  340. package/dist/cssm/lib/accessibility.js +8 -0
  341. package/dist/cssm/lib/accessibility.js.map +1 -1
  342. package/dist/cssm/lib/calendar.js +9 -7
  343. package/dist/cssm/lib/calendar.js.map +1 -1
  344. package/dist/cssm/lib/date.js +66 -3
  345. package/dist/cssm/lib/date.js.map +1 -1
  346. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js +18 -8
  347. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  348. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  349. package/dist/cssm/lib/touch/UIPanGestureRecognizer.js +2 -2
  350. package/dist/cssm/lib/touch/UIPanGestureRecognizer.js.map +1 -1
  351. package/dist/cssm/lib/utils.js +1 -0
  352. package/dist/cssm/lib/utils.js.map +1 -1
  353. package/dist/cssm/styles/dynamicTokens.css +14 -2
  354. package/dist/cssm/styles/themes.css +1 -1
  355. package/dist/hooks/useCalendar.d.ts.map +1 -1
  356. package/dist/hooks/useCalendar.js +6 -4
  357. package/dist/hooks/useCalendar.js.map +1 -1
  358. package/dist/hooks/useFloatingElement.d.ts +1 -1
  359. package/dist/hooks/useFloatingElement.d.ts.map +1 -1
  360. package/dist/hooks/useFloatingElement.js +3 -2
  361. package/dist/hooks/useFloatingElement.js.map +1 -1
  362. package/dist/hooks/useTodayDate.d.ts.map +1 -1
  363. package/dist/hooks/useTodayDate.js +3 -2
  364. package/dist/hooks/useTodayDate.js.map +1 -1
  365. package/dist/index.d.ts +4 -2
  366. package/dist/index.d.ts.map +1 -1
  367. package/dist/index.js.map +1 -1
  368. package/dist/lib/accessibility.d.ts +1 -1
  369. package/dist/lib/accessibility.d.ts.map +1 -1
  370. package/dist/lib/accessibility.js +8 -0
  371. package/dist/lib/accessibility.js.map +1 -1
  372. package/dist/lib/calendar.d.ts.map +1 -1
  373. package/dist/lib/calendar.js +9 -7
  374. package/dist/lib/calendar.js.map +1 -1
  375. package/dist/lib/date.d.ts +31 -1
  376. package/dist/lib/date.d.ts.map +1 -1
  377. package/dist/lib/date.js +67 -3
  378. package/dist/lib/date.js.map +1 -1
  379. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +6 -1
  380. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts.map +1 -1
  381. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js +18 -8
  382. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  383. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts +2 -0
  384. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  385. package/dist/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  386. package/dist/lib/touch/UIPanGestureRecognizer.d.ts.map +1 -1
  387. package/dist/lib/touch/UIPanGestureRecognizer.js +2 -2
  388. package/dist/lib/touch/UIPanGestureRecognizer.js.map +1 -1
  389. package/dist/lib/utils.d.ts +1 -0
  390. package/dist/lib/utils.d.ts.map +1 -1
  391. package/dist/lib/utils.js +1 -0
  392. package/dist/lib/utils.js.map +1 -1
  393. package/dist/vkui.css +1 -1
  394. package/dist/vkui.css.map +1 -1
  395. package/package.json +6 -7
  396. package/src/components/Banner/Banner.module.css +1 -6
  397. package/src/components/Banner/Banner.module.css.d.ts.map +1 -1
  398. package/src/components/Calendar/Calendar.tsx +6 -6
  399. package/src/components/CalendarDays/CalendarDays.tsx +3 -3
  400. package/src/components/CalendarRange/CalendarRange.tsx +15 -20
  401. package/src/components/CalendarRange/utils.ts +7 -6
  402. package/src/components/Cell/Cell.tsx +3 -0
  403. package/src/components/Checkbox/Checkbox.tsx +6 -0
  404. package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.module.css +7 -2
  405. package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.module.css.d.ts.map +1 -1
  406. package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.tsx +12 -3
  407. package/src/components/ChipsInputBase/Chip/Chip.module.css +8 -1
  408. package/src/components/ChipsInputBase/Chip/Chip.module.css.d.ts.map +1 -1
  409. package/src/components/ChipsInputBase/Chip/Chip.tsx +55 -1
  410. package/src/components/ChipsInputBase/types.ts +2 -45
  411. package/src/components/ContentBadge/ContentBadge.tsx +18 -12
  412. package/src/components/ContentCard/ContentCard.tsx +1 -1
  413. package/src/components/CustomSelect/CustomSelect.tsx +216 -562
  414. package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.module.css +12 -0
  415. package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.module.css.d.ts.map +1 -1
  416. package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx +25 -2
  417. package/src/components/CustomSelect/helpers.ts +103 -0
  418. package/src/components/CustomSelect/hooks/useAfterItems.tsx +89 -0
  419. package/src/components/CustomSelect/hooks/useDropdownOpenedController.ts +61 -0
  420. package/src/components/CustomSelect/hooks/useFocusedOptionController.ts +86 -0
  421. package/src/components/CustomSelect/hooks/useInputKeyboardController.ts +96 -0
  422. package/src/components/CustomSelect/hooks/useInputValueController.ts +58 -0
  423. package/src/components/CustomSelect/hooks/useScrollListController.ts +46 -0
  424. package/src/components/CustomSelect/hooks/useSelectedOptionController.ts +132 -0
  425. package/src/components/CustomSelect/types.ts +38 -0
  426. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +1 -0
  427. package/src/components/DateInput/DateInput.tsx +9 -3
  428. package/src/components/DateRangeInput/DateRangeInput.tsx +9 -6
  429. package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.tsx +1 -1
  430. package/src/components/MiniInfoCell/MiniInfoCell.tsx +8 -3
  431. package/src/components/ModalCard/ModalCard.tsx +2 -0
  432. package/src/components/ModalCard/ModalCardInternal.tsx +8 -2
  433. package/src/components/ModalCard/types.ts +8 -0
  434. package/src/components/ModalOutlet/ModalOutlet.module.css +4 -0
  435. package/src/components/ModalOutlet/ModalOutlet.module.css.d.ts.map +1 -1
  436. package/src/components/ModalOutlet/ModalOutlet.tsx +8 -1
  437. package/src/components/ModalOverlay/ModalOverlay.module.css +1 -1
  438. package/src/components/ModalPage/ModalPage.module.css +1 -0
  439. package/src/components/ModalPage/ModalPage.module.css.d.ts.map +1 -1
  440. package/src/components/ModalPage/ModalPage.tsx +2 -0
  441. package/src/components/ModalPage/ModalPageInternal.tsx +8 -2
  442. package/src/components/ModalPage/types.ts +8 -0
  443. package/src/components/ModalRoot/ModalRoot.tsx +19 -6
  444. package/src/components/ModalRoot/types.ts +7 -0
  445. package/src/components/ModalRoot/useModalManager.tsx +4 -0
  446. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +3 -0
  447. package/src/components/Popover/Popover.tsx +1 -0
  448. package/src/components/Popover/usePopover.tsx +2 -0
  449. package/src/components/Popper/Popper.tsx +3 -0
  450. package/src/components/RichCell/RichCell.module.css +4 -2
  451. package/src/components/RichCell/RichCell.module.css.d.ts.map +1 -1
  452. package/src/components/Select/Select.tsx +5 -5
  453. package/src/components/SelectionControl/SelectionControl.module.css +6 -3
  454. package/src/components/SelectionControl/SelectionControl.module.css.d.ts.map +1 -1
  455. package/src/components/SelectionControl/SelectionControl.tsx +30 -8
  456. package/src/components/SelectionControl/SelectionControlContext.ts +7 -0
  457. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.module.css +6 -3
  458. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.module.css.d.ts.map +1 -1
  459. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.tsx +7 -1
  460. package/src/components/SimpleCell/SimpleCell.tsx +5 -0
  461. package/src/components/Skeleton/Skeleton.tsx +1 -1
  462. package/src/components/Slider/SliderThumb/SliderThumb.module.css +1 -1
  463. package/src/components/Tabs/Tabs.tsx +16 -12
  464. package/src/components/Tabs/TabsController.ts +2 -2
  465. package/src/components/Tabs/TabsControllerContext.ts +7 -0
  466. package/src/components/Tabs/TabsModeContext.ts +0 -3
  467. package/src/components/TabsItem/TabsItem.tsx +5 -9
  468. package/src/components/Tooltip/Tooltip.tsx +1 -0
  469. package/src/components/Tooltip/useTooltip.tsx +2 -0
  470. package/src/components/Typography/Caption/Caption.tsx +14 -6
  471. package/src/components/Typography/Footnote/Footnote.tsx +10 -6
  472. package/src/components/Typography/Typography.tsx +9 -2
  473. package/src/components/View/View.module.css +1 -1
  474. package/src/components/View/View.tsx +2 -1
  475. package/src/components/View/ViewInfinite.tsx +2 -1
  476. package/src/components/VisuallyHidden/VisuallyHidden.module.css +0 -2
  477. package/src/components/VisuallyHidden/VisuallyHidden.module.css.d.ts.map +1 -1
  478. package/src/hooks/useCalendar.ts +6 -4
  479. package/src/hooks/useFloatingElement.tsx +2 -0
  480. package/src/hooks/useTodayDate.ts +3 -2
  481. package/src/index.ts +5 -3
  482. package/src/lib/accessibility.ts +4 -0
  483. package/src/lib/calendar.ts +8 -12
  484. package/src/lib/date.ts +82 -3
  485. package/src/lib/floating/useFloatingMiddlewaresBootstrap/index.ts +23 -10
  486. package/src/lib/floating/useFloatingWithInteractions/types.ts +2 -0
  487. package/src/lib/touch/UIPanGestureRecognizer.ts +2 -2
  488. package/src/lib/utils.ts +3 -0
  489. package/src/styles/dynamicTokens.css +13 -2
@@ -55,6 +55,7 @@ type AllowedFloatingComponentProps = Pick<
55
55
  | 'customMiddlewares'
56
56
  | 'onPlacementChange'
57
57
  | 'disableFlipMiddleware'
58
+ | 'disableShiftMiddleware'
58
59
  | 'flipMiddlewareFallbackAxisSideDirection'
59
60
  >;
60
61
 
@@ -107,6 +108,7 @@ export const Popper = ({
107
108
  arrowPadding = DEFAULT_ARROW_PADDING,
108
109
  customMiddlewares,
109
110
  disableFlipMiddleware = false,
111
+ disableShiftMiddleware = false,
110
112
  flipMiddlewareFallbackAxisSideDirection,
111
113
 
112
114
  // UseFloatingProps
@@ -142,6 +144,7 @@ export const Popper = ({
142
144
  hideWhenReferenceHidden,
143
145
  customMiddlewares,
144
146
  disableFlipMiddleware,
147
+ disableShiftMiddleware,
145
148
  flipMiddlewareFallbackAxisSideDirection,
146
149
  });
147
150
 
@@ -32,11 +32,13 @@
32
32
  max-inline-size: 100%;
33
33
  }
34
34
 
35
- .host.withAfter:not(.alignAfterStart).contentAlignStart .in {
35
+ .host.withAfter:not(.alignAfterStart).contentAlignStart .in,
36
+ .host:not(.withAfter).contentAlignStart .in {
36
37
  justify-content: flex-start;
37
38
  }
38
39
 
39
- .host.withAfter:not(.alignAfterStart).contentAlignEnd .in {
40
+ .host.withAfter:not(.alignAfterStart).contentAlignEnd .in,
41
+ .host:not(.withAfter).contentAlignEnd .in {
40
42
  justify-content: flex-end;
41
43
  }
42
44
 
@@ -1 +1 @@
1
- {"version":3,"sources":["./RichCell.module.css"],"names":["host","sizeYCompact","sizeYNone","before","in","withAfter","alignAfterStart","contentAlignStart","contentAlignEnd","content","contentBefore","contentAlignCenter","contentAfter","alignBeforeStart","alignBeforeCenter","alignAfterCenter","alignBeforeEnd","alignAfterEnd","afterChildren","afterCaption","overTitle","extraSubtitle","children","textEllipsis","subtitle","bottom","actions"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,aAWAC,c,WAXA;AAAA,E,aAgBEC,W,WAhBF;AAAA,E,aAqBAC,Q,WArBA;AAAA,E,aAyBAC,I,WAzBA;AAAA,E,aAkCAJ,M,WAlCA;AAAA,E,aAkCKK,W,WAlCL;AAAA,E,aAkCoBC,iB,WAlCpB;AAAA,E,aAkCqCC,mB,WAlCrC;AAAA,E,aAkCwDH,I,WAlCxD;AAAA,E,aAsCAJ,M,WAtCA;AAAA,E,aAsCKK,W,WAtCL;AAAA,E,aAsCoBC,iB,WAtCpB;AAAA,E,aAsCqCE,iB,WAtCrC;AAAA,E,aAsCsDJ,I,WAtCtD;AAAA,E,aA0CAK,S,WA1CA;AAAA,E,aA+CAC,e,WA/CA;AAAA,E,aAsDAJ,iB,WAtDA;AAAA,E,aAsDgBC,mB,WAtDhB;AAAA,E,aAsDmCG,e,WAtDnC;AAAA,E,aA0DAJ,iB,WA1DA;AAAA,E,aA0DgBK,oB,WA1DhB;AAAA,E,aA0DoCD,e,WA1DpC;AAAA,E,aA8DAJ,iB,WA9DA;AAAA,E,aA8DgBE,iB,WA9DhB;AAAA,E,aA8DiCE,e,WA9DjC;AAAA,E,aAkEAE,c,WAlEA;AAAA,E,aA2EAC,kB,WA3EA;AAAA,E,aA2EkBV,Q,WA3ElB;AAAA,E,aA4EAG,iB,WA5EA;AAAA,E,aA4EiBM,c,WA5EjB;AAAA,E,aAgFAE,mB,WAhFA;AAAA,E,aAgFmBX,Q,WAhFnB;AAAA,E,aAiFAY,kB,WAjFA;AAAA,E,aAiFkBH,c,WAjFlB;AAAA,E,aAqFAI,gB,WArFA;AAAA,E,aAqFgBb,Q,WArFhB;AAAA,E,aAsFAc,e,WAtFA;AAAA,E,aAsFeL,c,WAtFf;AAAA,E,aA0FAM,e,WA1FA;AAAA,E,aA8FAC,c,WA9FA;AAAA,E,aAqGAlB,c,WArGA;AAAA,E,aAqGckB,c,WArGd;AAAA,E,aA2GEjB,W,WA3GF;AAAA,E,aA2GaiB,c,WA3Gb;AAAA,E,aAiHAC,W,WAjHA;AAAA,E,aAqHAC,e,WArHA;AAAA,E,aA0HAC,U,WA1HA;AAAA,E,aA8HAC,c,WA9HA;AAAA,E,aA8HcH,W,WA9Hd;AAAA,E,aA+HAG,c,WA/HA;AAAA,E,aA+HcD,U,WA/Hd;AAAA,E,aAgIAC,c,WAhIA;AAAA,E,aAgIcC,U,WAhId;AAAA,E,aAiIAD,c,WAjIA;AAAA,E,aAiIcF,e,WAjId;AAAA,E,aAwIAI,Q,WAxIA;AAAA,E,aA4IAC,S,WA5IA;AAAA,E,aAgJAJ,U,WAhJA;AAAA,E,aAiJAE,U,WAjJA;AAAA,E,aAkJAN,e,WAlJA;AAAA,E,aAuJAjB,c,WAvJA;AAAA,E,aAuJcqB,U,WAvJd;AAAA,E,aAwJArB,c,WAxJA;AAAA,E,aAwJcuB,U,WAxJd;AAAA,E,aAyJAvB,c,WAzJA;AAAA,E,aAyJciB,e,WAzJd;AAAA,E,aA+JEhB,W,WA/JF;AAAA,E,aA+JaoB,U,WA/Jb;AAAA,E,aAgKIpB,W,WAhKJ;AAAA,E,aAgKesB,U,WAhKf;AAAA,E,aAiKItB,W,WAjKJ;AAAA,E,aAiKegB,e,WAjKf;AAAA,E,aA4K+BlB,M,WA5K/B;AAAA,E,aAiLEE,W,WAjLF;AAAA;AAAA","file":"RichCell.module.css.d.ts","sourceRoot":""}
1
+ {"version":3,"sources":["./RichCell.module.css"],"names":["host","sizeYCompact","sizeYNone","before","in","withAfter","alignAfterStart","contentAlignStart","contentAlignEnd","content","contentBefore","contentAlignCenter","contentAfter","alignBeforeStart","alignBeforeCenter","alignAfterCenter","alignBeforeEnd","alignAfterEnd","afterChildren","afterCaption","overTitle","extraSubtitle","children","textEllipsis","subtitle","bottom","actions"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,aAWAC,c,WAXA;AAAA,E,aAgBEC,W,WAhBF;AAAA,E,aAqBAC,Q,WArBA;AAAA,E,aAyBAC,I,WAzBA;AAAA,E,aAkCAJ,M,WAlCA;AAAA,E,aAkCKK,W,WAlCL;AAAA,E,aAkCoBC,iB,WAlCpB;AAAA,E,aAkCqCC,mB,WAlCrC;AAAA,E,aAkCwDH,I,WAlCxD;AAAA,E,aAmCAJ,M,WAnCA;AAAA,E,aAmCUK,W,WAnCV;AAAA,E,aAmCqBE,mB,WAnCrB;AAAA,E,aAmCwCH,I,WAnCxC;AAAA,E,aAuCAJ,M,WAvCA;AAAA,E,aAuCKK,W,WAvCL;AAAA,E,aAuCoBC,iB,WAvCpB;AAAA,E,aAuCqCE,iB,WAvCrC;AAAA,E,aAuCsDJ,I,WAvCtD;AAAA,E,aAwCAJ,M,WAxCA;AAAA,E,aAwCUK,W,WAxCV;AAAA,E,aAwCqBG,iB,WAxCrB;AAAA,E,aAwCsCJ,I,WAxCtC;AAAA,E,aA4CAK,S,WA5CA;AAAA,E,aAiDAC,e,WAjDA;AAAA,E,aAwDAJ,iB,WAxDA;AAAA,E,aAwDgBC,mB,WAxDhB;AAAA,E,aAwDmCG,e,WAxDnC;AAAA,E,aA4DAJ,iB,WA5DA;AAAA,E,aA4DgBK,oB,WA5DhB;AAAA,E,aA4DoCD,e,WA5DpC;AAAA,E,aAgEAJ,iB,WAhEA;AAAA,E,aAgEgBE,iB,WAhEhB;AAAA,E,aAgEiCE,e,WAhEjC;AAAA,E,aAoEAE,c,WApEA;AAAA,E,aA6EAC,kB,WA7EA;AAAA,E,aA6EkBV,Q,WA7ElB;AAAA,E,aA8EAG,iB,WA9EA;AAAA,E,aA8EiBM,c,WA9EjB;AAAA,E,aAkFAE,mB,WAlFA;AAAA,E,aAkFmBX,Q,WAlFnB;AAAA,E,aAmFAY,kB,WAnFA;AAAA,E,aAmFkBH,c,WAnFlB;AAAA,E,aAuFAI,gB,WAvFA;AAAA,E,aAuFgBb,Q,WAvFhB;AAAA,E,aAwFAc,e,WAxFA;AAAA,E,aAwFeL,c,WAxFf;AAAA,E,aA4FAM,e,WA5FA;AAAA,E,aAgGAC,c,WAhGA;AAAA,E,aAuGAlB,c,WAvGA;AAAA,E,aAuGckB,c,WAvGd;AAAA,E,aA6GEjB,W,WA7GF;AAAA,E,aA6GaiB,c,WA7Gb;AAAA,E,aAmHAC,W,WAnHA;AAAA,E,aAuHAC,e,WAvHA;AAAA,E,aA4HAC,U,WA5HA;AAAA,E,aAgIAC,c,WAhIA;AAAA,E,aAgIcH,W,WAhId;AAAA,E,aAiIAG,c,WAjIA;AAAA,E,aAiIcD,U,WAjId;AAAA,E,aAkIAC,c,WAlIA;AAAA,E,aAkIcC,U,WAlId;AAAA,E,aAmIAD,c,WAnIA;AAAA,E,aAmIcF,e,WAnId;AAAA,E,aA0IAI,Q,WA1IA;AAAA,E,aA8IAC,S,WA9IA;AAAA,E,aAkJAJ,U,WAlJA;AAAA,E,aAmJAE,U,WAnJA;AAAA,E,aAoJAN,e,WApJA;AAAA,E,aAyJAjB,c,WAzJA;AAAA,E,aAyJcqB,U,WAzJd;AAAA,E,aA0JArB,c,WA1JA;AAAA,E,aA0JcuB,U,WA1Jd;AAAA,E,aA2JAvB,c,WA3JA;AAAA,E,aA2JciB,e,WA3Jd;AAAA,E,aAiKEhB,W,WAjKF;AAAA,E,aAiKaoB,U,WAjKb;AAAA,E,aAkKIpB,W,WAlKJ;AAAA,E,aAkKesB,U,WAlKf;AAAA,E,aAmKItB,W,WAnKJ;AAAA,E,aAmKegB,e,WAnKf;AAAA,E,aA8K+BlB,M,WA9K/B;AAAA,E,aAmLEE,W,WAnLF;AAAA;AAAA","file":"RichCell.module.css.d.ts","sourceRoot":""}
@@ -4,11 +4,8 @@ import * as React from 'react';
4
4
  import { classNames } from '@vkontakte/vkjs';
5
5
  import { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';
6
6
  import type { HasOnlyExpectedProps } from '../../types';
7
- import {
8
- CustomSelect,
9
- type CustomSelectOptionInterface,
10
- type SelectProps,
11
- } from '../CustomSelect/CustomSelect';
7
+ import { CustomSelect, type SelectProps } from '../CustomSelect/CustomSelect';
8
+ import { type CustomSelectOptionInterface } from '../CustomSelect/types';
12
9
  import { NativeSelect, type NativeSelectProps } from '../NativeSelect/NativeSelect';
13
10
  export type SelectType = 'default' | 'plain' | 'accent';
14
11
 
@@ -53,6 +50,9 @@ export const Select = <OptionT extends CustomSelectOptionInterface>({
53
50
  beforeAlign,
54
51
  afterAlign,
55
52
  onInputKeyDown,
53
+ accessible,
54
+ fetchingCompletedLabel,
55
+ fetchingInProgressLabel,
56
56
  ...restProps
57
57
  } = props;
58
58
 
@@ -3,9 +3,12 @@
3
3
  display: flex;
4
4
  align-items: center;
5
5
  justify-content: flex-start;
6
+ font-family: var(--vkui--font_family_base);
7
+ }
8
+
9
+ .withPadding {
6
10
  min-block-size: var(--vkui--size_field_height--regular);
7
11
  padding-inline: var(--vkui--size_base_padding_horizontal--regular);
8
- font-family: var(--vkui--font_family_base);
9
12
  }
10
13
 
11
14
  /**
@@ -22,12 +25,12 @@
22
25
  opacity: var(--vkui--opacity_disable_accessibility);
23
26
  }
24
27
 
25
- .sizeYCompact {
28
+ .withPadding.sizeYCompact {
26
29
  min-block-size: var(--vkui--size_field_height--compact);
27
30
  }
28
31
 
29
32
  @media (--sizeY-compact) {
30
- .sizeYNone {
33
+ .withPadding.sizeYNone {
31
34
  min-block-size: var(--vkui--size_field_height--compact);
32
35
  }
33
36
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["./SelectionControl.module.css"],"names":["host","sizeYCompact","sizeYNone"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,aAe+BA,M,WAf/B;AAAA,E,aAoBAA,M,WApBA;AAAA,E,aAwBAC,c,WAxBA;AAAA,E,aA6BEC,W,WA7BF;AAAA;AAAA","file":"SelectionControl.module.css.d.ts","sourceRoot":""}
1
+ {"version":3,"sources":["./SelectionControl.module.css"],"names":["host","withPadding","sizeYCompact","sizeYNone"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,aAQAC,a,WARA;AAAA,E,aAkB+BD,M,WAlB/B;AAAA,E,aAuBAA,M,WAvBA;AAAA,E,aA2BAC,a,WA3BA;AAAA,E,aA2BYC,c,WA3BZ;AAAA,E,aAgCED,a,WAhCF;AAAA,E,aAgCcE,W,WAhCd;AAAA;AAAA","file":"SelectionControl.module.css.d.ts","sourceRoot":""}
@@ -7,6 +7,7 @@ import { usePlatform } from '../../hooks/usePlatform';
7
7
  import type { HasRootRef } from '../../types';
8
8
  import { DEFAULT_ACTIVE_EFFECT_DELAY } from '../Clickable/useState';
9
9
  import { Tappable, type TappableOmitProps } from '../Tappable/Tappable';
10
+ import { SelectionControlContext } from './SelectionControlContext';
10
11
  import { SelectionControlLabel } from './SelectionControlLabel/SelectionControlLabel';
11
12
  import styles from './SelectionControl.module.css';
12
13
 
@@ -21,22 +22,43 @@ export interface SelectionControlProps
21
22
  Pick<
22
23
  TappableOmitProps,
23
24
  'hoverMode' | 'activeMode' | 'hasHover' | 'hasActive' | 'focusVisibleMode' | 'disabled'
24
- > {}
25
+ > {
26
+ /**
27
+ * Отключает отступы. При использовании этого свойства, значение по умолчанию для свойств `hoverMode` и `activeMode` становится `"opacity"`.
28
+ */
29
+ noPadding?: boolean;
30
+ }
25
31
 
26
32
  /**
27
33
  * @see https://vkui.io/components/selection-control
28
34
  */
29
- export const SelectionControl = (restProps: SelectionControlProps): React.ReactNode => {
35
+ export const SelectionControl = ({
36
+ noPadding = false,
37
+ hoverMode: hoverModeProp,
38
+ activeMode: activeModeProp,
39
+ ...restProps
40
+ }: SelectionControlProps): React.ReactNode => {
30
41
  const { sizeY = 'none' } = useAdaptivity();
31
42
  const platform = usePlatform();
32
43
 
44
+ const hoverMode = hoverModeProp || (noPadding ? 'opacity' : 'background');
45
+ const activeMode = activeModeProp || (noPadding ? 'opacity' : 'background');
46
+
33
47
  return (
34
- <Tappable
35
- Component="label"
36
- baseClassName={classNames(styles.host, sizeY !== 'regular' && sizeYClassNames[sizeY])}
37
- activeEffectDelay={platform === 'ios' ? 100 : DEFAULT_ACTIVE_EFFECT_DELAY}
38
- {...restProps}
39
- />
48
+ <SelectionControlContext.Provider value={{ noPadding }}>
49
+ <Tappable
50
+ Component="label"
51
+ baseClassName={classNames(
52
+ styles.host,
53
+ sizeY !== 'regular' && sizeYClassNames[sizeY],
54
+ !noPadding && styles.withPadding,
55
+ )}
56
+ activeEffectDelay={platform === 'ios' ? 100 : DEFAULT_ACTIVE_EFFECT_DELAY}
57
+ hoverMode={hoverMode}
58
+ activeMode={activeMode}
59
+ {...restProps}
60
+ />
61
+ </SelectionControlContext.Provider>
40
62
  );
41
63
  };
42
64
 
@@ -0,0 +1,7 @@
1
+ import { createContext, useContext } from 'react';
2
+
3
+ export const SelectionControlContext = createContext<{ noPadding: boolean }>({
4
+ noPadding: false,
5
+ });
6
+
7
+ export const useSelectionControlContext = () => useContext(SelectionControlContext);
@@ -1,12 +1,15 @@
1
1
  .host {
2
2
  flex-grow: 1;
3
3
  min-inline-size: 0; /* см. https://github.com/VKCOM/VKUI/issues/5687 */
4
- margin-block: var(--vkui--spacing_size_xl);
5
4
  margin-inline-start: 12px;
6
5
  color: var(--vkui--color_text_primary);
7
6
  word-break: break-word;
8
7
  }
9
8
 
9
+ .withPadding {
10
+ margin-block: var(--vkui--spacing_size_xl);
11
+ }
12
+
10
13
  .host:first-child {
11
14
  margin-inline-start: 0;
12
15
  }
@@ -33,12 +36,12 @@
33
36
  color: var(--vkui--color_icon_tertiary);
34
37
  }
35
38
 
36
- .sizeYCompact {
39
+ .withPadding.sizeYCompact {
37
40
  margin-block: var(--vkui--spacing_size_m);
38
41
  }
39
42
 
40
43
  @media (--sizeY-compact) {
41
- .sizeYNone {
44
+ .withPadding.sizeYNone {
42
45
  margin-block: var(--vkui--spacing_size_m);
43
46
  }
44
47
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["./SelectionControlLabel.module.css"],"names":["host","description","titleLayout","title","titleAfter","sizeYCompact","sizeYNone"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,aASAA,M,WATA;AAAA,E,aAaAC,a,WAbA;AAAA,E,aAmBAC,a,WAnBA;AAAA,E,aAyBAC,O,WAzBA;AAAA,E,aA6BAC,Y,WA7BA;AAAA,E,aAmCAC,c,WAnCA;AAAA,E,aAwCEC,W,WAxCF;AAAA;AAAA","file":"SelectionControlLabel.module.css.d.ts","sourceRoot":""}
1
+ {"version":3,"sources":["./SelectionControlLabel.module.css"],"names":["host","withPadding","description","titleLayout","title","titleAfter","sizeYCompact","sizeYNone"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,aAQAC,a,WARA;AAAA,E,aAYAD,M,WAZA;AAAA,E,aAgBAE,a,WAhBA;AAAA,E,aAsBAC,a,WAtBA;AAAA,E,aA4BAC,O,WA5BA;AAAA,E,aAgCAC,Y,WAhCA;AAAA,E,aAsCAJ,a,WAtCA;AAAA,E,aAsCYK,c,WAtCZ;AAAA,E,aA2CEL,a,WA3CF;AAAA,E,aA2CcM,W,WA3Cd;AAAA;AAAA","file":"SelectionControlLabel.module.css.d.ts","sourceRoot":""}
@@ -6,6 +6,7 @@ import { useAdaptivity } from '../../../hooks/useAdaptivity';
6
6
  import { RootComponent } from '../../RootComponent/RootComponent';
7
7
  import { Footnote } from '../../Typography/Footnote/Footnote';
8
8
  import { Text } from '../../Typography/Text/Text';
9
+ import { useSelectionControlContext } from '../SelectionControlContext';
9
10
  import styles from './SelectionControlLabel.module.css';
10
11
 
11
12
  const sizeYClassNames = {
@@ -24,11 +25,16 @@ export function SelectionControlLabel({
24
25
  description,
25
26
  ...restProps
26
27
  }: SelectionControlLabelProps) {
28
+ const { noPadding } = useSelectionControlContext();
27
29
  const { sizeY = 'none' } = useAdaptivity();
28
30
 
29
31
  return (
30
32
  <RootComponent
31
- baseClassName={classNames(styles.host, sizeY !== 'regular' && sizeYClassNames[sizeY])}
33
+ baseClassName={classNames(
34
+ styles.host,
35
+ sizeY !== 'regular' && sizeYClassNames[sizeY],
36
+ !noPadding && styles.withPadding,
37
+ )}
32
38
  {...restProps}
33
39
  >
34
40
  <div className={styles.titleLayout}>
@@ -9,6 +9,7 @@ import { Tappable, type TappableOmitProps } from '../Tappable/Tappable';
9
9
  import { Footnote } from '../Typography/Footnote/Footnote';
10
10
  import { Headline } from '../Typography/Headline/Headline';
11
11
  import { Subhead } from '../Typography/Subhead/Subhead';
12
+ import { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';
12
13
  import { Chevron } from './Chevron/Chevron';
13
14
  import styles from './SimpleCell.module.css';
14
15
 
@@ -125,12 +126,14 @@ export const SimpleCell = ({
125
126
  {overTitle && (
126
127
  <Subhead Component="span" className={classNames(styles.text, styles.overTitle)}>
127
128
  {overTitle}
129
+ <VisuallyHidden>&nbsp;</VisuallyHidden>
128
130
  </Subhead>
129
131
  )}
130
132
  <div className={styles.content}>
131
133
  {badgeBeforeTitle && <span className={styles.badge}>{badgeBeforeTitle}</span>}
132
134
  <Headline Component="span" className={styles.children} weight="3">
133
135
  {children}
136
+ <VisuallyHidden>&nbsp;</VisuallyHidden>
134
137
  </Headline>
135
138
  {hasReactNode(badgeAfterTitle) && <span className={styles.badge}>{badgeAfterTitle}</span>}
136
139
  </div>
@@ -139,6 +142,7 @@ export const SimpleCell = ({
139
142
  {badgeBeforeSubtitle && <span className={styles.badge}>{badgeBeforeSubtitle}</span>}
140
143
  <Footnote normalize={false} className={classNames(styles.text, styles.subtitle)}>
141
144
  {subtitle}
145
+ <VisuallyHidden>&nbsp;</VisuallyHidden>
142
146
  </Footnote>
143
147
  {badgeAfterSubtitle && <span className={styles.badge}>{badgeAfterSubtitle}</span>}
144
148
  </div>
@@ -146,6 +150,7 @@ export const SimpleCell = ({
146
150
  {extraSubtitle && (
147
151
  <Footnote className={classNames(styles.text, styles.extraSubtitle)}>
148
152
  {extraSubtitle}
153
+ <VisuallyHidden>&nbsp;</VisuallyHidden>
149
154
  </Footnote>
150
155
  )}
151
156
  </div>
@@ -2,11 +2,11 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import { classNames } from '@vkontakte/vkjs';
5
- import { millisecondsInSecond } from 'date-fns/constants';
6
5
  import { mergeStyle } from '../../helpers/mergeStyle';
7
6
  import { useExternRef } from '../../hooks/useExternRef';
8
7
  import { useResizeObserver } from '../../hooks/useResizeObserver';
9
8
  import { useStateWithPrev } from '../../hooks/useStateWithPrev';
9
+ import { millisecondsInSecond } from '../../lib/date';
10
10
  import { useDOM } from '../../lib/dom';
11
11
  import { animationVisibilityDelayStyles } from '../../styles/animationVisibilityDelay';
12
12
  import type { CSSCustomProperties, HTMLAttributesWithRootRef } from '../../types';
@@ -37,6 +37,6 @@
37
37
  overflow: hidden;
38
38
  white-space: nowrap;
39
39
  border: 0 none;
40
- clip: rect(0, 0, 0, 0);
40
+ clip-path: rect(0 0 0 0);
41
41
  direction: ltr;
42
42
  }
@@ -8,9 +8,9 @@ import { useTabsNavigation } from '../../hooks/useTabsNavigation';
8
8
  import type { HTMLAttributesWithRootRef } from '../../types';
9
9
  import { RootComponent } from '../RootComponent/RootComponent';
10
10
  import { useTabsController } from './TabsController';
11
+ import { TabsControllerContext } from './TabsControllerContext';
11
12
  import { TabsModeContext } from './TabsModeContext';
12
13
  import styles from './Tabs.module.css';
13
-
14
14
  export interface TabsProps extends HTMLAttributesWithRootRef<HTMLDivElement> {
15
15
  /**
16
16
  * Режим отображения компонента.
@@ -76,6 +76,17 @@ export const Tabs = ({
76
76
 
77
77
  const { tabsRef } = useTabsNavigation(isTabFlow, direction === 'rtl');
78
78
 
79
+ const tabsModeContext = React.useMemo(
80
+ () => ({
81
+ mode,
82
+ withGaps,
83
+ layoutFillMode,
84
+ withScrollToSelectedTab,
85
+ scrollBehaviorToSelectedTab,
86
+ }),
87
+ [mode, withGaps, layoutFillMode, withScrollToSelectedTab, scrollBehaviorToSelectedTab],
88
+ );
89
+
79
90
  return (
80
91
  <RootComponent
81
92
  {...restProps}
@@ -89,17 +100,10 @@ export const Tabs = ({
89
100
  role={role}
90
101
  >
91
102
  <div className={styles.in} ref={tabsRef}>
92
- <TabsModeContext.Provider
93
- value={{
94
- mode,
95
- withGaps,
96
- layoutFillMode,
97
- withScrollToSelectedTab,
98
- scrollBehaviorToSelectedTab,
99
- controller,
100
- }}
101
- >
102
- {children}
103
+ <TabsModeContext.Provider value={tabsModeContext}>
104
+ <TabsControllerContext.Provider value={controller}>
105
+ {children}
106
+ </TabsControllerContext.Provider>
103
107
  </TabsModeContext.Provider>
104
108
  </div>
105
109
  </RootComponent>
@@ -3,7 +3,7 @@ import { useStableCallback } from '../../hooks/useStableCallback';
3
3
  import { type TabsProps } from './Tabs';
4
4
 
5
5
  /* eslint-disable jsdoc/require-jsdoc */
6
- export type TabsController = {
6
+ export type TabsControllerProps = {
7
7
  onChange: (id: string) => void;
8
8
  selectedTab: string;
9
9
  };
@@ -16,7 +16,7 @@ export const useTabsController = ({
16
16
  }: Pick<
17
17
  TabsProps,
18
18
  'selectedId' | 'defaultSelectedId' | 'onSelectedIdChange'
19
- >): TabsController | null => {
19
+ >): TabsControllerProps | null => {
20
20
  const onSelectedIdChange = useStableCallback(
21
21
  (id: string | undefined) => id && onSelectedIdChangeProp?.(id),
22
22
  );
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { type TabsControllerProps } from './TabsController';
3
+
4
+ export type TabsControllerContextProps = TabsControllerProps | null;
5
+
6
+ export const TabsControllerContext: React.Context<TabsControllerContextProps> =
7
+ React.createContext<TabsControllerContextProps>(null);
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import { type TabsProps } from './Tabs';
3
- import { type TabsController } from './TabsController';
4
3
 
5
4
  /* eslint-disable jsdoc/require-jsdoc */
6
5
  export interface TabsContextProps {
@@ -9,7 +8,6 @@ export interface TabsContextProps {
9
8
  layoutFillMode: NonNullable<TabsProps['layoutFillMode']>;
10
9
  withScrollToSelectedTab: TabsProps['withScrollToSelectedTab'];
11
10
  scrollBehaviorToSelectedTab: Required<TabsProps['scrollBehaviorToSelectedTab']>;
12
- controller: TabsController | null;
13
11
  }
14
12
  /* eslint-enable jsdoc/require-jsdoc */
15
13
 
@@ -20,5 +18,4 @@ export const TabsModeContext: React.Context<TabsContextProps> =
20
18
  layoutFillMode: 'auto',
21
19
  withScrollToSelectedTab: false,
22
20
  scrollBehaviorToSelectedTab: 'nearest',
23
- controller: null,
24
21
  });
@@ -8,7 +8,8 @@ import { usePrevious } from '../../hooks/usePrevious';
8
8
  import { useDOM } from '../../lib/dom';
9
9
  import { warnOnce } from '../../lib/warnOnce';
10
10
  import type { AnchorHTMLAttributesOnly, HTMLAttributesWithRootRef } from '../../types';
11
- import { type TabsContextProps, TabsModeContext } from '../Tabs/TabsModeContext';
11
+ import { TabsControllerContext } from '../Tabs/TabsControllerContext';
12
+ import { TabsModeContext } from '../Tabs/TabsModeContext';
12
13
  import { Tappable, type TappableOmitProps } from '../Tappable/Tappable';
13
14
  import { Headline } from '../Typography/Headline/Headline';
14
15
  import { Subhead } from '../Typography/Subhead/Subhead';
@@ -99,14 +100,9 @@ export const TabsItem = ({
99
100
  ...restProps
100
101
  }: TabsItemProps): React.ReactNode => {
101
102
  const { sizeY = 'none' } = useAdaptivity();
102
- const {
103
- mode,
104
- withGaps,
105
- layoutFillMode,
106
- scrollBehaviorToSelectedTab,
107
- withScrollToSelectedTab,
108
- controller,
109
- }: TabsContextProps = React.useContext(TabsModeContext);
103
+ const { mode, withGaps, layoutFillMode, scrollBehaviorToSelectedTab, withScrollToSelectedTab } =
104
+ React.useContext(TabsModeContext);
105
+ const controller = React.useContext(TabsControllerContext);
110
106
  let statusComponent = null;
111
107
 
112
108
  const isTabFlow = role === 'tab';
@@ -24,6 +24,7 @@ type AllowedFloatingComponentProps = Pick<
24
24
  | 'usePortal'
25
25
  | 'onPlacementChange'
26
26
  | 'disableFlipMiddleware'
27
+ | 'disableShiftMiddleware'
27
28
  | 'strategy'
28
29
  >;
29
30
 
@@ -43,6 +43,7 @@ export const useTooltip = ({
43
43
  offsetByCrossAxis = 0,
44
44
  hideWhenReferenceHidden,
45
45
  disableFlipMiddleware = false,
46
+ disableShiftMiddleware = false,
46
47
  disableTriggerOnFocus = false,
47
48
  onReferenceHiddenChange,
48
49
 
@@ -151,6 +152,7 @@ export const useTooltip = ({
151
152
  offsetByCrossAxis,
152
153
  hideWhenReferenceHidden,
153
154
  disableFlipMiddleware,
155
+ disableShiftMiddleware,
154
156
 
155
157
  defaultShown,
156
158
  shown: shownProp,
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { classNames } from '@vkontakte/vkjs';
4
4
  import { useAdaptivity } from '../../../hooks/useAdaptivity';
5
+ import { type SizeTypeValues } from '../../../lib/adaptivity';
5
6
  import { type HasCaps, Typography, type TypographyProps } from '../Typography';
6
7
  import styles from './Caption.module.css';
7
8
 
@@ -16,6 +17,18 @@ const sizeYClassNames = {
16
17
  compact: styles.sizeYCompact,
17
18
  };
18
19
 
20
+ export function captionClassNames(
21
+ sizeY: 'none' | SizeTypeValues,
22
+ level: '1' | '2' | '3' | undefined = '1',
23
+ caps = false,
24
+ ) {
25
+ return classNames(
26
+ sizeY !== 'regular' && sizeYClassNames[sizeY],
27
+ caps && styles.caps,
28
+ stylesLevel[level],
29
+ );
30
+ }
31
+
19
32
  export interface CaptionProps extends TypographyProps, HasCaps {
20
33
  /**
21
34
  * Уровень заголовка (от 1 до 3).
@@ -44,12 +57,7 @@ export const Caption = ({
44
57
  Component={Component}
45
58
  normalize={normalize}
46
59
  inline={inline}
47
- className={classNames(
48
- className,
49
- sizeY !== 'regular' && sizeYClassNames[sizeY],
50
- caps && styles.caps,
51
- stylesLevel[level],
52
- )}
60
+ className={classNames(className, captionClassNames(sizeY, level, caps))}
53
61
  {...restProps}
54
62
  />
55
63
  );
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { classNames } from '@vkontakte/vkjs';
4
4
  import { useAdaptivity } from '../../../hooks/useAdaptivity';
5
+ import { type SizeTypeValues } from '../../../lib/adaptivity';
5
6
  import { type HasCaps, Typography, type TypographyProps } from '../Typography';
6
7
  import styles from './Footnote.module.css';
7
8
 
@@ -10,6 +11,14 @@ const sizeYClassNames = {
10
11
  compact: styles.sizeYCompact,
11
12
  };
12
13
 
14
+ export function footnoteClassNames(sizeY: 'none' | SizeTypeValues, caps = false) {
15
+ return classNames(
16
+ styles.host,
17
+ sizeY !== 'regular' && sizeYClassNames[sizeY],
18
+ caps && styles.caps,
19
+ );
20
+ }
21
+
13
22
  export interface FootnoteProps extends TypographyProps, HasCaps {}
14
23
 
15
24
  /**
@@ -32,12 +41,7 @@ export const Footnote = ({
32
41
  Component={Component}
33
42
  normalize={normalize}
34
43
  inline={inline}
35
- className={classNames(
36
- className,
37
- sizeY !== 'regular' && sizeYClassNames[sizeY],
38
- styles.host,
39
- caps && styles.caps,
40
- )}
44
+ className={classNames(className, footnoteClassNames(sizeY, caps))}
41
45
  {...restProps}
42
46
  />
43
47
  );
@@ -10,6 +10,14 @@ const stylesWeight = {
10
10
  '3': styles.weight3,
11
11
  };
12
12
 
13
+ export function weightClassNames(weight: '1' | '2' | '3' | undefined, useAccentWeight = false) {
14
+ if (!weight) {
15
+ return '';
16
+ }
17
+
18
+ return classNames(stylesWeight[weight], useAccentWeight && styles.accent);
19
+ }
20
+
13
21
  export interface HasCaps {
14
22
  /**
15
23
  * Отображение текста в верхнем регистре.
@@ -55,8 +63,7 @@ export const Typography = ({
55
63
  styles.host,
56
64
  normalize && styles.normalize,
57
65
  inline && styles.inline,
58
- weight && stylesWeight[weight],
59
- weight && useAccentWeight && styles.accent,
66
+ weightClassNames(weight, useAccentWeight),
60
67
  )}
61
68
  {...restProps}
62
69
  />
@@ -4,7 +4,7 @@
4
4
  position: relative;
5
5
  inline-size: 100%;
6
6
  block-size: 100%;
7
- word-wrap: break-word;
7
+ overflow-wrap: break-word;
8
8
  }
9
9
 
10
10
  @media (--reduce-motion) {
@@ -4,6 +4,7 @@ import * as React from 'react';
4
4
  import { classNames } from '@vkontakte/vkjs';
5
5
  import { usePlatform } from '../../hooks/usePlatform';
6
6
  import { usePrevious } from '../../hooks/usePrevious';
7
+ import { millisecondsInSecond } from '../../lib/date';
7
8
  import { blurActiveElement, useDOM } from '../../lib/dom';
8
9
  import { getNavId, type NavIdProps } from '../../lib/getNavId';
9
10
  import { warnOnce } from '../../lib/warnOnce';
@@ -275,7 +276,7 @@ export const View = ({
275
276
  const handleTouchEndForIOSSwipeBackSimulation = (event: CustomTouchEvent) => {
276
277
  swipeBackPrevented.current = false;
277
278
  if (swipingBack) {
278
- const speed = (swipeBackShift / event.duration) * 1000;
279
+ const speed = (swipeBackShift / event.duration) * millisecondsInSecond;
279
280
  if (swipeBackShift === 0) {
280
281
  onSwipeBackCancel();
281
282
  } else if (swipeBackShift >= (window!.innerWidth ?? 0)) {
@@ -4,6 +4,7 @@ import * as React from 'react';
4
4
  import { classNames, noop } from '@vkontakte/vkjs';
5
5
  import { withContext } from '../../hoc/withContext';
6
6
  import { withPlatform } from '../../hoc/withPlatform';
7
+ import { millisecondsInSecond } from '../../lib/date';
7
8
  import { canUseDOM, type DOMProps, withDOM } from '../../lib/dom';
8
9
  import { getNavId, type NavIdProps } from '../../lib/getNavId';
9
10
  import { warnOnce } from '../../lib/warnOnce';
@@ -501,7 +502,7 @@ class ViewInfiniteComponent extends React.Component<
501
502
  this.swipeBackPrevented = false;
502
503
 
503
504
  if (this.state.swipingBack && this.window) {
504
- const speed = (this.state.swipeBackShift / event.duration) * 1000;
505
+ const speed = (this.state.swipeBackShift / event.duration) * millisecondsInSecond;
505
506
  if (this.state.swipeBackShift === 0) {
506
507
  this.onSwipeBackCancel();
507
508
  } else if (this.state.swipeBackShift >= this.window.innerWidth) {
@@ -10,7 +10,6 @@
10
10
  user-select: none;
11
11
  border: 0 !important;
12
12
  opacity: 0;
13
- clip: rect(0, 0, 0, 0) !important;
14
13
  clip-path: inset(50%);
15
14
  }
16
15
 
@@ -22,7 +21,6 @@
22
21
  inline-size: 100% !important;
23
22
  block-size: 100% !important;
24
23
  pointer-events: none;
25
- clip: auto !important;
26
24
  clip-path: none !important;
27
25
  }
28
26
  /* stylelint-enable declaration-no-important */
@@ -1 +1 @@
1
- {"version":3,"sources":["./VisuallyHidden.module.css"],"names":["host","focusableInput"],"mappings":"AAAA;AAAA,E,aACAA,M,WADA;AAAA,E,aAkBAC,gB,WAlBA;AAAA;AAAA","file":"VisuallyHidden.module.css.d.ts","sourceRoot":""}
1
+ {"version":3,"sources":["./VisuallyHidden.module.css"],"names":["host","focusableInput"],"mappings":"AAAA;AAAA,E,aACAA,M,WADA;AAAA,E,aAiBAC,gB,WAjBA;AAAA;AAAA","file":"VisuallyHidden.module.css.d.ts","sourceRoot":""}