@vkontakte/vkui 6.6.0 → 6.7.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 (551) hide show
  1. package/dist/cjs/components/Alert/Alert.js +1 -1
  2. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  3. package/dist/cjs/components/AspectRatio/AspectRatio.js +1 -1
  4. package/dist/cjs/components/AspectRatio/AspectRatio.js.map +1 -1
  5. package/dist/cjs/components/Badge/Badge.js +1 -1
  6. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  7. package/dist/cjs/components/Button/Button.js +1 -1
  8. package/dist/cjs/components/Button/Button.js.map +1 -1
  9. package/dist/cjs/components/Calendar/Calendar.d.ts +2 -2
  10. package/dist/cjs/components/Calendar/Calendar.d.ts.map +1 -1
  11. package/dist/cjs/components/Calendar/Calendar.js +4 -2
  12. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  13. package/dist/cjs/components/CalendarDay/CalendarDay.d.ts +1 -0
  14. package/dist/cjs/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  15. package/dist/cjs/components/CalendarDay/CalendarDay.js +26 -14
  16. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  17. package/dist/cjs/components/CalendarDays/CalendarDays.d.ts +3 -3
  18. package/dist/cjs/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  19. package/dist/cjs/components/CalendarDays/CalendarDays.js +5 -3
  20. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  21. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +2 -2
  22. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  23. package/dist/cjs/components/CalendarRange/CalendarRange.js +5 -2
  24. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  25. package/dist/cjs/components/CardGrid/CardGrid.js +1 -1
  26. package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
  27. package/dist/cjs/components/Clickable/Clickable.d.ts +1 -0
  28. package/dist/cjs/components/Clickable/Clickable.d.ts.map +1 -1
  29. package/dist/cjs/components/Clickable/Clickable.js +21 -6
  30. package/dist/cjs/components/Clickable/Clickable.js.map +1 -1
  31. package/dist/cjs/components/Clickable/useState.d.ts +39 -3
  32. package/dist/cjs/components/Clickable/useState.d.ts.map +1 -1
  33. package/dist/cjs/components/Clickable/useState.js +110 -37
  34. package/dist/cjs/components/Clickable/useState.js.map +1 -1
  35. package/dist/cjs/components/Clickable/useStateWithDelay.d.ts +19 -1
  36. package/dist/cjs/components/Clickable/useStateWithDelay.d.ts.map +1 -1
  37. package/dist/cjs/components/Clickable/useStateWithDelay.js +20 -4
  38. package/dist/cjs/components/Clickable/useStateWithDelay.js.map +1 -1
  39. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +3 -2
  40. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  41. package/dist/cjs/components/CustomSelect/CustomSelect.js +7 -7
  42. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  43. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +1 -1
  44. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  45. package/dist/cjs/components/DateInput/DateInput.d.ts +2 -2
  46. package/dist/cjs/components/DateInput/DateInput.d.ts.map +1 -1
  47. package/dist/cjs/components/DateInput/DateInput.js +5 -3
  48. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  49. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +2 -2
  50. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  51. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +6 -4
  52. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  53. package/dist/cjs/components/FormField/FormField.js +1 -1
  54. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  55. package/dist/cjs/components/FormItem/FormItem.js +1 -1
  56. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  57. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +1 -1
  58. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  59. package/dist/cjs/components/Input/Input.js +1 -1
  60. package/dist/cjs/components/Input/Input.js.map +1 -1
  61. package/dist/cjs/components/ModalRoot/ModalRoot.js +4 -14
  62. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  63. package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts.map +1 -1
  64. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +9 -1
  65. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  66. package/dist/cjs/components/NativeSelect/NativeSelect.js +1 -1
  67. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  68. package/dist/cjs/components/Panel/Panel.js +2 -2
  69. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  70. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
  71. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  72. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  73. package/dist/cjs/components/RichCell/RichCell.js +1 -1
  74. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  75. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.d.ts.map +1 -1
  76. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +4 -2
  77. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  78. package/dist/cjs/components/ScreenSpinner/ScreenSpinnerContainer.d.ts +1 -1
  79. package/dist/cjs/components/ScreenSpinner/ScreenSpinnerContainer.d.ts.map +1 -1
  80. package/dist/cjs/components/ScreenSpinner/ScreenSpinnerContainer.js +23 -6
  81. package/dist/cjs/components/ScreenSpinner/ScreenSpinnerContainer.js.map +1 -1
  82. package/dist/cjs/components/ScreenSpinner/ScreenSpinnerLoader.d.ts.map +1 -1
  83. package/dist/cjs/components/ScreenSpinner/ScreenSpinnerLoader.js +8 -3
  84. package/dist/cjs/components/ScreenSpinner/ScreenSpinnerLoader.js.map +1 -1
  85. package/dist/cjs/components/ScreenSpinner/context.d.ts +1 -0
  86. package/dist/cjs/components/ScreenSpinner/context.d.ts.map +1 -1
  87. package/dist/cjs/components/ScreenSpinner/context.js +2 -1
  88. package/dist/cjs/components/ScreenSpinner/context.js.map +1 -1
  89. package/dist/cjs/components/ScreenSpinner/types.d.ts +5 -0
  90. package/dist/cjs/components/ScreenSpinner/types.d.ts.map +1 -1
  91. package/dist/cjs/components/Search/Search.d.ts.map +1 -1
  92. package/dist/cjs/components/Search/Search.js +16 -11
  93. package/dist/cjs/components/Search/Search.js.map +1 -1
  94. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +1 -1
  95. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  96. package/dist/cjs/components/Select/Select.d.ts.map +1 -1
  97. package/dist/cjs/components/Select/Select.js +5 -1
  98. package/dist/cjs/components/Select/Select.js.map +1 -1
  99. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +1 -1
  100. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  101. package/dist/cjs/components/SimpleCell/SimpleCell.js +1 -1
  102. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  103. package/dist/cjs/components/Skeleton/Skeleton.d.ts +1 -1
  104. package/dist/cjs/components/Skeleton/Skeleton.d.ts.map +1 -1
  105. package/dist/cjs/components/Skeleton/Skeleton.js +85 -4
  106. package/dist/cjs/components/Skeleton/Skeleton.js.map +1 -1
  107. package/dist/cjs/components/Slider/Slider.js +1 -1
  108. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  109. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +1 -1
  110. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  111. package/dist/cjs/components/TabsItem/TabsItem.js +1 -1
  112. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  113. package/dist/cjs/components/Textarea/Textarea.js +1 -1
  114. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  115. package/dist/cjs/components/ToolButton/ToolButton.d.ts +2 -1
  116. package/dist/cjs/components/ToolButton/ToolButton.d.ts.map +1 -1
  117. package/dist/cjs/components/ToolButton/ToolButton.js +20 -4
  118. package/dist/cjs/components/ToolButton/ToolButton.js.map +1 -1
  119. package/dist/cjs/components/Typography/Caption/Caption.d.ts.map +1 -1
  120. package/dist/cjs/components/Typography/Caption/Caption.js +7 -1
  121. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  122. package/dist/cjs/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -1
  123. package/dist/cjs/components/Typography/DisplayTitle/DisplayTitle.js +7 -1
  124. package/dist/cjs/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  125. package/dist/cjs/components/Typography/Footnote/Footnote.d.ts.map +1 -1
  126. package/dist/cjs/components/Typography/Footnote/Footnote.js +7 -1
  127. package/dist/cjs/components/Typography/Footnote/Footnote.js.map +1 -1
  128. package/dist/cjs/components/Typography/Headline/Headline.d.ts +1 -1
  129. package/dist/cjs/components/Typography/Headline/Headline.d.ts.map +1 -1
  130. package/dist/cjs/components/Typography/Headline/Headline.js +2 -4
  131. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  132. package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts.map +1 -1
  133. package/dist/cjs/components/Typography/Paragraph/Paragraph.js +7 -1
  134. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -1
  135. package/dist/cjs/components/Typography/Subhead/Subhead.js +1 -1
  136. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  137. package/dist/cjs/components/Typography/Text/Text.js +1 -1
  138. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  139. package/dist/cjs/components/Typography/Title/Title.d.ts.map +1 -1
  140. package/dist/cjs/components/Typography/Title/Title.js +7 -1
  141. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  142. package/dist/cjs/components/Typography/Typography.d.ts +7 -1
  143. package/dist/cjs/components/Typography/Typography.d.ts.map +1 -1
  144. package/dist/cjs/components/Typography/Typography.js +4 -2
  145. package/dist/cjs/components/Typography/Typography.js.map +1 -1
  146. package/dist/cjs/components/View/ViewInfinite.js +5 -16
  147. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  148. package/dist/cjs/components/WriteBar/WriteBar.js +3 -1
  149. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  150. package/dist/cjs/hooks/useAdaptivityConditionalRender/constants.js +4 -4
  151. package/dist/cjs/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
  152. package/dist/cjs/hooks/useWaitTransitionFinish.d.ts +1 -1
  153. package/dist/cjs/hooks/useWaitTransitionFinish.d.ts.map +1 -1
  154. package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
  155. package/dist/components/Alert/Alert.js +1 -1
  156. package/dist/components/Alert/Alert.js.map +1 -1
  157. package/dist/components/AspectRatio/AspectRatio.js +1 -1
  158. package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
  159. package/dist/components/Badge/Badge.js +1 -1
  160. package/dist/components/Badge/Badge.js.map +1 -1
  161. package/dist/components/Button/Button.js +1 -1
  162. package/dist/components/Button/Button.js.map +1 -1
  163. package/dist/components/Calendar/Calendar.d.ts +2 -2
  164. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  165. package/dist/components/Calendar/Calendar.js +4 -2
  166. package/dist/components/Calendar/Calendar.js.map +1 -1
  167. package/dist/components/CalendarDay/CalendarDay.d.ts +1 -0
  168. package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  169. package/dist/components/CalendarDay/CalendarDay.js +26 -14
  170. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  171. package/dist/components/CalendarDays/CalendarDays.d.ts +3 -3
  172. package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  173. package/dist/components/CalendarDays/CalendarDays.js +5 -3
  174. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  175. package/dist/components/CalendarRange/CalendarRange.d.ts +2 -2
  176. package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  177. package/dist/components/CalendarRange/CalendarRange.js +5 -2
  178. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  179. package/dist/components/CardGrid/CardGrid.js +1 -1
  180. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  181. package/dist/components/Clickable/Clickable.d.ts +1 -0
  182. package/dist/components/Clickable/Clickable.d.ts.map +1 -1
  183. package/dist/components/Clickable/Clickable.js +21 -7
  184. package/dist/components/Clickable/Clickable.js.map +1 -1
  185. package/dist/components/Clickable/useState.d.ts +39 -3
  186. package/dist/components/Clickable/useState.d.ts.map +1 -1
  187. package/dist/components/Clickable/useState.js +110 -37
  188. package/dist/components/Clickable/useState.js.map +1 -1
  189. package/dist/components/Clickable/useStateWithDelay.d.ts +19 -1
  190. package/dist/components/Clickable/useStateWithDelay.d.ts.map +1 -1
  191. package/dist/components/Clickable/useStateWithDelay.js +38 -4
  192. package/dist/components/Clickable/useStateWithDelay.js.map +1 -1
  193. package/dist/components/CustomSelect/CustomSelect.d.ts +3 -2
  194. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  195. package/dist/components/CustomSelect/CustomSelect.js +7 -7
  196. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  197. package/dist/components/CustomSelectOption/CustomSelectOption.js +1 -1
  198. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  199. package/dist/components/DateInput/DateInput.d.ts +2 -2
  200. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  201. package/dist/components/DateInput/DateInput.js +5 -3
  202. package/dist/components/DateInput/DateInput.js.map +1 -1
  203. package/dist/components/DateRangeInput/DateRangeInput.d.ts +2 -2
  204. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  205. package/dist/components/DateRangeInput/DateRangeInput.js +6 -4
  206. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  207. package/dist/components/FormField/FormField.js +1 -1
  208. package/dist/components/FormField/FormField.js.map +1 -1
  209. package/dist/components/FormItem/FormItem.js +1 -1
  210. package/dist/components/FormItem/FormItem.js.map +1 -1
  211. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +1 -1
  212. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  213. package/dist/components/Input/Input.js +1 -1
  214. package/dist/components/Input/Input.js.map +1 -1
  215. package/dist/components/ModalRoot/ModalRoot.js +4 -14
  216. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  217. package/dist/components/ModalRoot/ModalRootDesktop.d.ts.map +1 -1
  218. package/dist/components/ModalRoot/ModalRootDesktop.js +9 -1
  219. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  220. package/dist/components/NativeSelect/NativeSelect.js +1 -1
  221. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  222. package/dist/components/Panel/Panel.js +2 -2
  223. package/dist/components/Panel/Panel.js.map +1 -1
  224. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
  225. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  226. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  227. package/dist/components/RichCell/RichCell.js +1 -1
  228. package/dist/components/RichCell/RichCell.js.map +1 -1
  229. package/dist/components/ScreenSpinner/ScreenSpinner.d.ts.map +1 -1
  230. package/dist/components/ScreenSpinner/ScreenSpinner.js +4 -2
  231. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  232. package/dist/components/ScreenSpinner/ScreenSpinnerContainer.d.ts +1 -1
  233. package/dist/components/ScreenSpinner/ScreenSpinnerContainer.d.ts.map +1 -1
  234. package/dist/components/ScreenSpinner/ScreenSpinnerContainer.js +25 -8
  235. package/dist/components/ScreenSpinner/ScreenSpinnerContainer.js.map +1 -1
  236. package/dist/components/ScreenSpinner/ScreenSpinnerLoader.d.ts.map +1 -1
  237. package/dist/components/ScreenSpinner/ScreenSpinnerLoader.js +8 -3
  238. package/dist/components/ScreenSpinner/ScreenSpinnerLoader.js.map +1 -1
  239. package/dist/components/ScreenSpinner/context.d.ts +1 -0
  240. package/dist/components/ScreenSpinner/context.d.ts.map +1 -1
  241. package/dist/components/ScreenSpinner/context.js +2 -1
  242. package/dist/components/ScreenSpinner/context.js.map +1 -1
  243. package/dist/components/ScreenSpinner/types.d.ts +5 -0
  244. package/dist/components/ScreenSpinner/types.d.ts.map +1 -1
  245. package/dist/components/ScreenSpinner/types.js.map +1 -1
  246. package/dist/components/Search/Search.d.ts.map +1 -1
  247. package/dist/components/Search/Search.js +17 -12
  248. package/dist/components/Search/Search.js.map +1 -1
  249. package/dist/components/SegmentedControl/SegmentedControl.js +1 -1
  250. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  251. package/dist/components/Select/Select.d.ts.map +1 -1
  252. package/dist/components/Select/Select.js +5 -1
  253. package/dist/components/Select/Select.js.map +1 -1
  254. package/dist/components/SelectMimicry/SelectMimicry.js +1 -1
  255. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  256. package/dist/components/SimpleCell/SimpleCell.js +1 -1
  257. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  258. package/dist/components/Skeleton/Skeleton.d.ts +1 -1
  259. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  260. package/dist/components/Skeleton/Skeleton.js +85 -4
  261. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  262. package/dist/components/Slider/Slider.js +1 -1
  263. package/dist/components/Slider/Slider.js.map +1 -1
  264. package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -1
  265. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  266. package/dist/components/TabsItem/TabsItem.js +1 -1
  267. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  268. package/dist/components/Textarea/Textarea.js +1 -1
  269. package/dist/components/Textarea/Textarea.js.map +1 -1
  270. package/dist/components/ToolButton/ToolButton.d.ts +2 -1
  271. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
  272. package/dist/components/ToolButton/ToolButton.js +9 -1
  273. package/dist/components/ToolButton/ToolButton.js.map +1 -1
  274. package/dist/components/Typography/Caption/Caption.d.ts.map +1 -1
  275. package/dist/components/Typography/Caption/Caption.js +7 -1
  276. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  277. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -1
  278. package/dist/components/Typography/DisplayTitle/DisplayTitle.js +7 -1
  279. package/dist/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  280. package/dist/components/Typography/Footnote/Footnote.d.ts.map +1 -1
  281. package/dist/components/Typography/Footnote/Footnote.js +7 -1
  282. package/dist/components/Typography/Footnote/Footnote.js.map +1 -1
  283. package/dist/components/Typography/Headline/Headline.d.ts +1 -1
  284. package/dist/components/Typography/Headline/Headline.d.ts.map +1 -1
  285. package/dist/components/Typography/Headline/Headline.js +2 -4
  286. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  287. package/dist/components/Typography/Paragraph/Paragraph.d.ts.map +1 -1
  288. package/dist/components/Typography/Paragraph/Paragraph.js +7 -1
  289. package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -1
  290. package/dist/components/Typography/Subhead/Subhead.js +1 -1
  291. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  292. package/dist/components/Typography/Text/Text.js +1 -1
  293. package/dist/components/Typography/Text/Text.js.map +1 -1
  294. package/dist/components/Typography/Title/Title.d.ts.map +1 -1
  295. package/dist/components/Typography/Title/Title.js +7 -1
  296. package/dist/components/Typography/Title/Title.js.map +1 -1
  297. package/dist/components/Typography/Typography.d.ts +7 -1
  298. package/dist/components/Typography/Typography.d.ts.map +1 -1
  299. package/dist/components/Typography/Typography.js +4 -2
  300. package/dist/components/Typography/Typography.js.map +1 -1
  301. package/dist/components/View/ViewInfinite.js +5 -16
  302. package/dist/components/View/ViewInfinite.js.map +1 -1
  303. package/dist/components/WriteBar/WriteBar.js +3 -1
  304. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  305. package/dist/components.css +313 -3
  306. package/dist/components.css.map +1 -1
  307. package/dist/components.js.tmp +647 -301
  308. package/dist/cssm/components/Alert/Alert.js +1 -1
  309. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  310. package/dist/cssm/components/AspectRatio/AspectRatio.js +1 -1
  311. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  312. package/dist/cssm/components/Badge/Badge.js +1 -1
  313. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  314. package/dist/cssm/components/Button/Button.js +1 -1
  315. package/dist/cssm/components/Button/Button.js.map +1 -1
  316. package/dist/cssm/components/Calendar/Calendar.d.ts +2 -2
  317. package/dist/cssm/components/Calendar/Calendar.d.ts.map +1 -1
  318. package/dist/cssm/components/Calendar/Calendar.js +3 -2
  319. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  320. package/dist/cssm/components/CalendarDay/CalendarDay.d.ts +1 -0
  321. package/dist/cssm/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  322. package/dist/cssm/components/CalendarDay/CalendarDay.js +24 -13
  323. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  324. package/dist/cssm/components/CalendarDays/CalendarDays.d.ts +3 -3
  325. package/dist/cssm/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  326. package/dist/cssm/components/CalendarDays/CalendarDays.js +2 -1
  327. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  328. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +2 -2
  329. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  330. package/dist/cssm/components/CalendarRange/CalendarRange.js +3 -1
  331. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  332. package/dist/cssm/components/CardGrid/CardGrid.js +1 -1
  333. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  334. package/dist/cssm/components/Clickable/Clickable.d.ts +1 -0
  335. package/dist/cssm/components/Clickable/Clickable.d.ts.map +1 -1
  336. package/dist/cssm/components/Clickable/Clickable.js +16 -6
  337. package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
  338. package/dist/cssm/components/Clickable/useState.d.ts +39 -3
  339. package/dist/cssm/components/Clickable/useState.d.ts.map +1 -1
  340. package/dist/cssm/components/Clickable/useState.js +104 -36
  341. package/dist/cssm/components/Clickable/useState.js.map +1 -1
  342. package/dist/cssm/components/Clickable/useStateWithDelay.d.ts +19 -1
  343. package/dist/cssm/components/Clickable/useStateWithDelay.d.ts.map +1 -1
  344. package/dist/cssm/components/Clickable/useStateWithDelay.js +38 -4
  345. package/dist/cssm/components/Clickable/useStateWithDelay.js.map +1 -1
  346. package/dist/cssm/components/Counter/Counter.module.css +0 -14
  347. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +3 -2
  348. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  349. package/dist/cssm/components/CustomSelect/CustomSelect.js +3 -3
  350. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  351. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +1 -1
  352. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  353. package/dist/cssm/components/DateInput/DateInput.d.ts +2 -2
  354. package/dist/cssm/components/DateInput/DateInput.d.ts.map +1 -1
  355. package/dist/cssm/components/DateInput/DateInput.js +3 -2
  356. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  357. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +2 -2
  358. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  359. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +4 -3
  360. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  361. package/dist/cssm/components/FormField/FormField.js +1 -1
  362. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  363. package/dist/cssm/components/FormItem/FormItem.js +1 -1
  364. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  365. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +1 -1
  366. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  367. package/dist/cssm/components/Input/Input.js +1 -1
  368. package/dist/cssm/components/Input/Input.js.map +1 -1
  369. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts.map +1 -1
  370. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +9 -1
  371. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  372. package/dist/cssm/components/NativeSelect/NativeSelect.js +1 -1
  373. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  374. package/dist/cssm/components/Panel/Panel.js +2 -2
  375. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  376. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
  377. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  378. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  379. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.module.css +48 -3
  380. package/dist/cssm/components/RichCell/RichCell.js +1 -1
  381. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  382. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.d.ts.map +1 -1
  383. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +2 -1
  384. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  385. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.module.css +40 -0
  386. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerContainer.d.ts +1 -1
  387. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerContainer.d.ts.map +1 -1
  388. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerContainer.js +20 -7
  389. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerContainer.js.map +1 -1
  390. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerLoader.d.ts.map +1 -1
  391. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerLoader.js +8 -3
  392. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerLoader.js.map +1 -1
  393. package/dist/cssm/components/ScreenSpinner/context.d.ts +1 -0
  394. package/dist/cssm/components/ScreenSpinner/context.d.ts.map +1 -1
  395. package/dist/cssm/components/ScreenSpinner/context.js +2 -1
  396. package/dist/cssm/components/ScreenSpinner/context.js.map +1 -1
  397. package/dist/cssm/components/ScreenSpinner/types.d.ts +5 -0
  398. package/dist/cssm/components/ScreenSpinner/types.d.ts.map +1 -1
  399. package/dist/cssm/components/ScreenSpinner/types.js.map +1 -1
  400. package/dist/cssm/components/Search/Search.d.ts.map +1 -1
  401. package/dist/cssm/components/Search/Search.js +17 -12
  402. package/dist/cssm/components/Search/Search.js.map +1 -1
  403. package/dist/cssm/components/Search/Search.module.css +25 -13
  404. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +1 -1
  405. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  406. package/dist/cssm/components/Select/Select.d.ts.map +1 -1
  407. package/dist/cssm/components/Select/Select.js +1 -1
  408. package/dist/cssm/components/Select/Select.js.map +1 -1
  409. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +1 -1
  410. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  411. package/dist/cssm/components/SimpleCell/SimpleCell.js +1 -1
  412. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  413. package/dist/cssm/components/Skeleton/Skeleton.d.ts +1 -1
  414. package/dist/cssm/components/Skeleton/Skeleton.d.ts.map +1 -1
  415. package/dist/cssm/components/Skeleton/Skeleton.js +83 -3
  416. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  417. package/dist/cssm/components/Skeleton/Skeleton.module.css +30 -32
  418. package/dist/cssm/components/Slider/Slider.js +1 -1
  419. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  420. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -1
  421. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  422. package/dist/cssm/components/TabsItem/TabsItem.js +1 -1
  423. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  424. package/dist/cssm/components/Textarea/Textarea.js +1 -1
  425. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  426. package/dist/cssm/components/ToolButton/ToolButton.d.ts +2 -1
  427. package/dist/cssm/components/ToolButton/ToolButton.d.ts.map +1 -1
  428. package/dist/cssm/components/ToolButton/ToolButton.js +9 -1
  429. package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
  430. package/dist/cssm/components/ToolButton/ToolButton.module.css +13 -6
  431. package/dist/cssm/components/Typography/Caption/Caption.d.ts.map +1 -1
  432. package/dist/cssm/components/Typography/Caption/Caption.js +7 -1
  433. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  434. package/dist/cssm/components/Typography/Caption/Caption.module.css +240 -0
  435. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -1
  436. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js +7 -1
  437. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  438. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.module.css +160 -0
  439. package/dist/cssm/components/Typography/Footnote/Footnote.d.ts.map +1 -1
  440. package/dist/cssm/components/Typography/Footnote/Footnote.js +10 -2
  441. package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
  442. package/dist/cssm/components/Typography/Footnote/Footnote.module.css +80 -0
  443. package/dist/cssm/components/Typography/Headline/Headline.d.ts +1 -1
  444. package/dist/cssm/components/Typography/Headline/Headline.d.ts.map +1 -1
  445. package/dist/cssm/components/Typography/Headline/Headline.js +2 -3
  446. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  447. package/dist/cssm/components/Typography/Headline/Headline.module.css +48 -8
  448. package/dist/cssm/components/Typography/Paragraph/Paragraph.d.ts.map +1 -1
  449. package/dist/cssm/components/Typography/Paragraph/Paragraph.js +7 -1
  450. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
  451. package/dist/cssm/components/Typography/Paragraph/Paragraph.module.css +40 -0
  452. package/dist/cssm/components/Typography/Subhead/Subhead.js +1 -1
  453. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  454. package/dist/cssm/components/Typography/Subhead/Subhead.module.css +32 -4
  455. package/dist/cssm/components/Typography/Text/Text.js +1 -1
  456. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  457. package/dist/cssm/components/Typography/Text/Text.module.css +29 -4
  458. package/dist/cssm/components/Typography/Title/Title.d.ts.map +1 -1
  459. package/dist/cssm/components/Typography/Title/Title.js +7 -1
  460. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  461. package/dist/cssm/components/Typography/Title/Title.module.css +120 -0
  462. package/dist/cssm/components/Typography/Typography.d.ts +7 -1
  463. package/dist/cssm/components/Typography/Typography.d.ts.map +1 -1
  464. package/dist/cssm/components/Typography/Typography.js +3 -2
  465. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  466. package/dist/cssm/components/Typography/Typography.module.css +21 -3
  467. package/dist/cssm/components/WriteBar/WriteBar.js +1 -0
  468. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  469. package/dist/cssm/hooks/useAdaptivityConditionalRender/constants.js +4 -4
  470. package/dist/cssm/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
  471. package/dist/cssm/hooks/useWaitTransitionFinish.d.ts +1 -1
  472. package/dist/cssm/hooks/useWaitTransitionFinish.d.ts.map +1 -1
  473. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  474. package/dist/cssm/styles/missedThemeTokens.css +22 -0
  475. package/dist/hooks/useAdaptivityConditionalRender/constants.js +4 -4
  476. package/dist/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
  477. package/dist/hooks/useWaitTransitionFinish.d.ts +1 -1
  478. package/dist/hooks/useWaitTransitionFinish.d.ts.map +1 -1
  479. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  480. package/dist/vkui.css +313 -3
  481. package/dist/vkui.css.map +1 -1
  482. package/dist/vkui.js.tmp +647 -301
  483. package/package.json +3 -2
  484. package/src/components/Alert/Alert.tsx +1 -1
  485. package/src/components/AspectRatio/AspectRatio.tsx +1 -1
  486. package/src/components/Badge/Badge.tsx +1 -1
  487. package/src/components/Button/Button.tsx +1 -1
  488. package/src/components/Calendar/Calendar.tsx +3 -1
  489. package/src/components/CalendarDay/CalendarDay.tsx +16 -4
  490. package/src/components/CalendarDays/CalendarDays.tsx +9 -2
  491. package/src/components/CalendarRange/CalendarRange.tsx +4 -1
  492. package/src/components/CardGrid/CardGrid.tsx +1 -1
  493. package/src/components/Clickable/Clickable.tsx +21 -3
  494. package/src/components/Clickable/useState.tsx +195 -42
  495. package/src/components/Clickable/useStateWithDelay.tsx +40 -3
  496. package/src/components/Counter/Counter.module.css +0 -12
  497. package/src/components/CustomSelect/CustomSelect.tsx +11 -10
  498. package/src/components/CustomSelectOption/CustomSelectOption.tsx +1 -1
  499. package/src/components/DateInput/DateInput.tsx +4 -1
  500. package/src/components/DateRangeInput/DateRangeInput.tsx +4 -1
  501. package/src/components/FormField/FormField.tsx +1 -1
  502. package/src/components/FormItem/FormItem.tsx +1 -1
  503. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +1 -1
  504. package/src/components/Input/Input.tsx +1 -1
  505. package/src/components/ModalRoot/ModalRootDesktop.tsx +13 -1
  506. package/src/components/NativeSelect/NativeSelect.tsx +1 -1
  507. package/src/components/Panel/Panel.tsx +2 -2
  508. package/src/components/PanelHeaderButton/PanelHeaderButton.module.css +44 -3
  509. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +1 -1
  510. package/src/components/RichCell/RichCell.tsx +1 -1
  511. package/src/components/ScreenSpinner/ScreenSpinner.module.css +35 -0
  512. package/src/components/ScreenSpinner/ScreenSpinner.tsx +2 -1
  513. package/src/components/ScreenSpinner/ScreenSpinnerContainer.tsx +15 -4
  514. package/src/components/ScreenSpinner/ScreenSpinnerLoader.tsx +16 -3
  515. package/src/components/ScreenSpinner/context.ts +2 -0
  516. package/src/components/ScreenSpinner/types.tsx +5 -0
  517. package/src/components/Search/Search.module.css +24 -13
  518. package/src/components/Search/Search.tsx +19 -14
  519. package/src/components/SegmentedControl/SegmentedControl.tsx +1 -1
  520. package/src/components/Select/Select.tsx +4 -0
  521. package/src/components/SelectMimicry/SelectMimicry.tsx +1 -1
  522. package/src/components/SimpleCell/SimpleCell.tsx +1 -1
  523. package/src/components/Skeleton/Skeleton.module.css +30 -32
  524. package/src/components/Skeleton/Skeleton.tsx +90 -2
  525. package/src/components/Slider/Slider.tsx +1 -1
  526. package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -1
  527. package/src/components/TabsItem/TabsItem.tsx +1 -1
  528. package/src/components/Textarea/Textarea.tsx +1 -1
  529. package/src/components/ToolButton/ToolButton.module.css +12 -6
  530. package/src/components/ToolButton/ToolButton.tsx +15 -2
  531. package/src/components/Typography/Caption/Caption.module.css +240 -0
  532. package/src/components/Typography/Caption/Caption.tsx +14 -1
  533. package/src/components/Typography/DisplayTitle/DisplayTitle.module.css +160 -0
  534. package/src/components/Typography/DisplayTitle/DisplayTitle.tsx +13 -1
  535. package/src/components/Typography/Footnote/Footnote.module.css +80 -0
  536. package/src/components/Typography/Footnote/Footnote.tsx +24 -9
  537. package/src/components/Typography/Headline/Headline.module.css +48 -8
  538. package/src/components/Typography/Headline/Headline.tsx +1 -3
  539. package/src/components/Typography/Paragraph/Paragraph.module.css +40 -0
  540. package/src/components/Typography/Paragraph/Paragraph.tsx +13 -1
  541. package/src/components/Typography/Subhead/Subhead.module.css +32 -4
  542. package/src/components/Typography/Subhead/Subhead.tsx +1 -1
  543. package/src/components/Typography/Text/Text.module.css +29 -4
  544. package/src/components/Typography/Text/Text.tsx +1 -1
  545. package/src/components/Typography/Title/Title.module.css +120 -0
  546. package/src/components/Typography/Title/Title.tsx +13 -1
  547. package/src/components/Typography/Typography.module.css +20 -3
  548. package/src/components/Typography/Typography.tsx +10 -0
  549. package/src/components/WriteBar/WriteBar.tsx +1 -1
  550. package/src/hooks/useAdaptivityConditionalRender/constants.ts +4 -4
  551. package/src/hooks/useWaitTransitionFinish.ts +2 -2
@@ -53,9 +53,9 @@ const Alert = (_param)=>{
53
53
  const itemActionCallbackRef = _react.useRef(_vkjs.noop);
54
54
  const [animationState, animationHandlers] = (0, _animation.useCSSKeyframesAnimationController)(closing ? 'exit' : 'enter', {
55
55
  onExited () {
56
- onClose();
57
56
  itemActionCallbackRef.current();
58
57
  itemActionCallbackRef.current = _vkjs.noop;
58
+ onClose();
59
59
  }
60
60
  });
61
61
  const isDismissButtonVisible = isDesktop && platform !== 'ios';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon20Cancel } from '@vkontakte/icons';\nimport { classNames, hasReactNode, noop } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useCSSKeyframesAnimationController } from '../../lib/animation';\nimport { stopPropagation } from '../../lib/utils';\nimport type {\n AlignType,\n AnchorHTMLAttributesOnly,\n HasDataAttribute,\n HasRootRef,\n} from '../../types';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport type { ButtonProps } from '../Button/Button';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { IconButton } from '../IconButton/IconButton';\nimport { ModalDismissButton } from '../ModalDismissButton/ModalDismissButton';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport type { AlertActionProps } from './AlertAction';\nimport { AlertActions } from './AlertActions';\nimport { AlertHeader, AlertText } from './AlertTypography';\nimport styles from './Alert.module.css';\n\ntype AlertActionMode = 'cancel' | 'destructive' | 'default';\n\nexport interface AlertActionInterface\n extends Pick<ButtonProps, 'Component'>,\n AnchorHTMLAttributesOnly,\n HasDataAttribute {\n title: string;\n /**\n * Обработчик клика на опцию. Если свойство `autoCloseDisabled` включено,\n * то в аргументы `action` передаётся объект с функцией close,\n * вызвав которую можно закрыть `action` вручную.\n */\n action?: (args?: { close?: VoidFunction }) => void;\n /**\n * По умолчанию клик на опцию вызывает переданную в `Alert` функцию `onClose`, данное свойство\n * позволяет отключить такое поведение\n */\n autoCloseDisabled?: boolean;\n mode: AlertActionMode;\n}\n\nexport interface AlertProps extends React.HTMLAttributes<HTMLElement>, HasRootRef<HTMLDivElement> {\n actionsLayout?: 'vertical' | 'horizontal';\n actionsAlign?: AlignType;\n actions?: AlertActionInterface[];\n renderAction?: (props: AlertActionProps) => React.ReactNode;\n header?: React.ReactNode;\n text?: React.ReactNode;\n onClose: VoidFunction;\n /**\n * Текст кнопки закрытия. Делает ее доступной для ассистивных технологий\n */\n dismissLabel?: string;\n /**\n * Расположение кнопки закрытия (внутри и вне `popout'a`)\n * Доступно только в `compact`-режиме, не отображается на `iOS`\n */\n dismissButtonMode?: 'inside' | 'outside';\n /**\n * `data-testid` для кнопки закрытия\n */\n dismissButtonTestId?: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Alert\n */\nexport const Alert = ({\n actions,\n actionsLayout = 'horizontal',\n children,\n className,\n style,\n text,\n header,\n onClose,\n dismissLabel = 'Закрыть предупреждение',\n renderAction,\n actionsAlign,\n dismissButtonMode = 'outside',\n dismissButtonTestId,\n getRootRef,\n ...restProps\n}: AlertProps): React.ReactNode => {\n const generatedId = React.useId();\n\n const headerId = `vkui-alert-${generatedId}-header`;\n const textId = `vkui-alert-${generatedId}-text`;\n\n const platform = usePlatform();\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n\n const [closing, setClosing] = React.useState(false);\n const itemActionCallbackRef = React.useRef(noop);\n const [animationState, animationHandlers] = useCSSKeyframesAnimationController(\n closing ? 'exit' : 'enter',\n {\n onExited() {\n onClose();\n itemActionCallbackRef.current();\n itemActionCallbackRef.current = noop;\n },\n },\n );\n const isDismissButtonVisible = isDesktop && platform !== 'ios';\n const elementRef = React.useRef<HTMLDivElement>(null);\n\n const close = React.useCallback(() => {\n setClosing(true);\n }, []);\n\n const onItemClick = React.useCallback(\n (item: AlertActionInterface) => {\n const { action: itemAction, autoCloseDisabled = false } = item;\n\n if (autoCloseDisabled) {\n itemAction && itemAction({ close });\n } else {\n if (itemAction) {\n itemActionCallbackRef.current = itemAction;\n }\n setClosing(true);\n }\n },\n [close],\n );\n\n useScrollLock();\n\n return (\n <PopoutWrapper\n className={className}\n closing={closing}\n style={style}\n onClick={close}\n getRootRef={getRootRef}\n >\n <FocusTrap\n {...restProps}\n {...animationHandlers}\n getRootRef={elementRef}\n onClick={stopPropagation}\n onClose={close}\n autoFocus={animationState === 'entered'}\n className={classNames(\n styles['Alert'],\n platform === 'ios' && styles['Alert--ios'],\n platform === 'vkcom' && styles['Alert--vkcom'],\n closing ? styles['Alert--closing'] : styles['Alert--opening'],\n isDesktop && styles['Alert--desktop'],\n )}\n role=\"alertdialog\"\n aria-modal\n aria-labelledby={headerId}\n aria-describedby={textId}\n >\n <div\n className={classNames(\n styles['Alert__content'],\n dismissButtonMode === 'inside' && styles['Alert__content--withButton'],\n )}\n >\n {hasReactNode(header) && <AlertHeader id={headerId}>{header}</AlertHeader>}\n {hasReactNode(text) && <AlertText id={textId}>{text}</AlertText>}\n {children}\n {isDismissButtonVisible && dismissButtonMode === 'inside' && (\n <IconButton\n label={dismissLabel}\n className={classNames(styles['Alert__dismiss'], 'vkuiInternalAlert__dismiss')}\n onClick={close}\n hoverMode=\"opacity\"\n activeMode=\"opacity\"\n data-testid={dismissButtonTestId}\n >\n <Icon20Cancel />\n </IconButton>\n )}\n </div>\n <AlertActions\n actions={actions}\n actionsAlign={actionsAlign}\n actionsLayout={actionsLayout}\n renderAction={renderAction}\n onItemClick={onItemClick}\n />\n {isDismissButtonVisible && dismissButtonMode === 'outside' && (\n <ModalDismissButton onClick={close} data-testid={dismissButtonTestId}>\n {dismissLabel}\n </ModalDismissButton>\n )}\n </FocusTrap>\n </PopoutWrapper>\n );\n};\n"],"names":["Alert","actions","actionsLayout","children","className","style","text","header","onClose","dismissLabel","renderAction","actionsAlign","dismissButtonMode","dismissButtonTestId","getRootRef","restProps","generatedId","React","useId","headerId","textId","platform","usePlatform","isDesktop","useAdaptivityWithJSMediaQueries","closing","setClosing","useState","itemActionCallbackRef","useRef","noop","animationState","animationHandlers","useCSSKeyframesAnimationController","onExited","current","isDismissButtonVisible","elementRef","close","useCallback","onItemClick","item","action","itemAction","autoCloseDisabled","useScrollLock","PopoutWrapper","onClick","FocusTrap","stopPropagation","autoFocus","classNames","role","aria-modal","aria-labelledby","aria-describedby","div","hasReactNode","AlertHeader","id","AlertText","IconButton","label","hoverMode","activeMode","data-testid","Icon20Cancel","AlertActions","ModalDismissButton"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon20Cancel } from '@vkontakte/icons';\nimport { classNames, hasReactNode, noop } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useCSSKeyframesAnimationController } from '../../lib/animation';\nimport { stopPropagation } from '../../lib/utils';\nimport type {\n AlignType,\n AnchorHTMLAttributesOnly,\n HasDataAttribute,\n HasRootRef,\n} from '../../types';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport type { ButtonProps } from '../Button/Button';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { IconButton } from '../IconButton/IconButton';\nimport { ModalDismissButton } from '../ModalDismissButton/ModalDismissButton';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport type { AlertActionProps } from './AlertAction';\nimport { AlertActions } from './AlertActions';\nimport { AlertHeader, AlertText } from './AlertTypography';\nimport styles from './Alert.module.css';\n\ntype AlertActionMode = 'cancel' | 'destructive' | 'default';\n\nexport interface AlertActionInterface\n extends Pick<ButtonProps, 'Component'>,\n AnchorHTMLAttributesOnly,\n HasDataAttribute {\n title: string;\n /**\n * Обработчик клика на опцию. Если свойство `autoCloseDisabled` включено,\n * то в аргументы `action` передаётся объект с функцией close,\n * вызвав которую можно закрыть `action` вручную.\n */\n action?: (args?: { close?: VoidFunction }) => void;\n /**\n * По умолчанию клик на опцию вызывает переданную в `Alert` функцию `onClose`, данное свойство\n * позволяет отключить такое поведение\n */\n autoCloseDisabled?: boolean;\n mode: AlertActionMode;\n}\n\nexport interface AlertProps extends React.HTMLAttributes<HTMLElement>, HasRootRef<HTMLDivElement> {\n actionsLayout?: 'vertical' | 'horizontal';\n actionsAlign?: AlignType;\n actions?: AlertActionInterface[];\n renderAction?: (props: AlertActionProps) => React.ReactNode;\n header?: React.ReactNode;\n text?: React.ReactNode;\n onClose: VoidFunction;\n /**\n * Текст кнопки закрытия. Делает ее доступной для ассистивных технологий\n */\n dismissLabel?: string;\n /**\n * Расположение кнопки закрытия (внутри и вне `popout'a`)\n * Доступно только в `compact`-режиме, не отображается на `iOS`\n */\n dismissButtonMode?: 'inside' | 'outside';\n /**\n * `data-testid` для кнопки закрытия\n */\n dismissButtonTestId?: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Alert\n */\nexport const Alert = ({\n actions,\n actionsLayout = 'horizontal',\n children,\n className,\n style,\n text,\n header,\n onClose,\n dismissLabel = 'Закрыть предупреждение',\n renderAction,\n actionsAlign,\n dismissButtonMode = 'outside',\n dismissButtonTestId,\n getRootRef,\n ...restProps\n}: AlertProps): React.ReactNode => {\n const generatedId = React.useId();\n\n const headerId = `vkui-alert-${generatedId}-header`;\n const textId = `vkui-alert-${generatedId}-text`;\n\n const platform = usePlatform();\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n\n const [closing, setClosing] = React.useState(false);\n const itemActionCallbackRef = React.useRef(noop);\n const [animationState, animationHandlers] = useCSSKeyframesAnimationController(\n closing ? 'exit' : 'enter',\n {\n onExited() {\n itemActionCallbackRef.current();\n itemActionCallbackRef.current = noop;\n onClose();\n },\n },\n );\n const isDismissButtonVisible = isDesktop && platform !== 'ios';\n const elementRef = React.useRef<HTMLDivElement>(null);\n\n const close = React.useCallback(() => {\n setClosing(true);\n }, []);\n\n const onItemClick = React.useCallback(\n (item: AlertActionInterface) => {\n const { action: itemAction, autoCloseDisabled = false } = item;\n\n if (autoCloseDisabled) {\n itemAction && itemAction({ close });\n } else {\n if (itemAction) {\n itemActionCallbackRef.current = itemAction;\n }\n setClosing(true);\n }\n },\n [close],\n );\n\n useScrollLock();\n\n return (\n <PopoutWrapper\n className={className}\n closing={closing}\n style={style}\n onClick={close}\n getRootRef={getRootRef}\n >\n <FocusTrap\n {...restProps}\n {...animationHandlers}\n getRootRef={elementRef}\n onClick={stopPropagation}\n onClose={close}\n autoFocus={animationState === 'entered'}\n className={classNames(\n styles['Alert'],\n platform === 'ios' && styles['Alert--ios'],\n platform === 'vkcom' && styles['Alert--vkcom'],\n closing ? styles['Alert--closing'] : styles['Alert--opening'],\n isDesktop && styles['Alert--desktop'],\n )}\n role=\"alertdialog\"\n aria-modal\n aria-labelledby={headerId}\n aria-describedby={textId}\n >\n <div\n className={classNames(\n styles['Alert__content'],\n dismissButtonMode === 'inside' && styles['Alert__content--withButton'],\n )}\n >\n {hasReactNode(header) && <AlertHeader id={headerId}>{header}</AlertHeader>}\n {hasReactNode(text) && <AlertText id={textId}>{text}</AlertText>}\n {children}\n {isDismissButtonVisible && dismissButtonMode === 'inside' && (\n <IconButton\n label={dismissLabel}\n className={classNames(styles['Alert__dismiss'], 'vkuiInternalAlert__dismiss')}\n onClick={close}\n hoverMode=\"opacity\"\n activeMode=\"opacity\"\n data-testid={dismissButtonTestId}\n >\n <Icon20Cancel />\n </IconButton>\n )}\n </div>\n <AlertActions\n actions={actions}\n actionsAlign={actionsAlign}\n actionsLayout={actionsLayout}\n renderAction={renderAction}\n onItemClick={onItemClick}\n />\n {isDismissButtonVisible && dismissButtonMode === 'outside' && (\n <ModalDismissButton onClick={close} data-testid={dismissButtonTestId}>\n {dismissLabel}\n </ModalDismissButton>\n )}\n </FocusTrap>\n </PopoutWrapper>\n );\n};\n"],"names":["Alert","actions","actionsLayout","children","className","style","text","header","onClose","dismissLabel","renderAction","actionsAlign","dismissButtonMode","dismissButtonTestId","getRootRef","restProps","generatedId","React","useId","headerId","textId","platform","usePlatform","isDesktop","useAdaptivityWithJSMediaQueries","closing","setClosing","useState","itemActionCallbackRef","useRef","noop","animationState","animationHandlers","useCSSKeyframesAnimationController","onExited","current","isDismissButtonVisible","elementRef","close","useCallback","onItemClick","item","action","itemAction","autoCloseDisabled","useScrollLock","PopoutWrapper","onClick","FocusTrap","stopPropagation","autoFocus","classNames","role","aria-modal","aria-labelledby","aria-describedby","div","hasReactNode","AlertHeader","id","AlertText","IconButton","label","hoverMode","activeMode","data-testid","Icon20Cancel","AlertActions","ModalDismissButton"],"mappings":"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"}
@@ -22,7 +22,7 @@ function AspectRatio(_param) {
22
22
  "style"
23
23
  ]);
24
24
  const style = {
25
- ['--vkui_internal--aspect_ratio']: String(ratio)
25
+ '--vkui_internal--aspect_ratio': String(ratio)
26
26
  };
27
27
  return /*#__PURE__*/ (0, _jsxruntime.jsx)(_RootComponent.RootComponent, _object_spread._({
28
28
  baseClassName: (0, _vkjs.classNames)("vkuiAspectRatio", mode === 'stretch' && "vkuiAspectRatio--mode-stretch"),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AspectRatio/AspectRatio.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { CSSCustomProperties } from '../../types';\nimport { RootComponent, type RootComponentProps } from '../RootComponent/RootComponent';\nimport styles from './AspectRatio.module.css';\n\nexport interface AspectRatioProps extends Omit<RootComponentProps<HTMLElement>, 'baseClassName'> {\n className?: string;\n /**\n * По умолчанию, вложенный контент будет растягиваться и заполнять весь блок.\n */\n mode?: 'stretch' | 'none';\n /**\n * Например 16 / 9, 4 / 3, 1920 / 1080\n */\n ratio: number;\n}\n\n/**\n * `AspectRatio` позволяет поддерживать постоянное соотношение ширины и высоты.\n * Его можно использовать для отображения изображений, карт, видео и других медиафайлов.\n\n * @since 5.5.0\n * @see https://vkcom.github.io/VKUI/#/AspectRatio\n */\nexport function AspectRatio({\n ratio,\n mode = 'stretch',\n style: styleProp,\n ...props\n}: AspectRatioProps): JSX.Element {\n const style: React.CSSProperties & CSSCustomProperties = {\n ['--vkui_internal--aspect_ratio']: String(ratio),\n };\n\n return (\n <RootComponent\n baseClassName={classNames(\n styles.AspectRatio,\n mode === 'stretch' && styles['AspectRatio--mode-stretch'],\n )}\n style={{ ...styleProp, ...style }}\n {...props}\n />\n );\n}\n"],"names":["AspectRatio","ratio","mode","style","styleProp","props","String","RootComponent","baseClassName","classNames"],"mappings":";;;;+BAyBgBA;;;eAAAA;;;;;;;iEAzBO;sBACI;+BAE4B;AAsBhD,SAASA,YAAY;QAAA,EAC1BC,KAAK,EACLC,OAAO,SAAS,EAChBC,OAAOC,SAAS,EAEC,GALS,QAIvBC,qCAJuB;QAC1BJ;QACAC;QACAC;;IAGA,MAAMA,QAAmD;QACvD,CAAC,gCAAgC,EAAEG,OAAOL;IAC5C;IAEA,qBACE,qBAACM,4BAAa;QACZC,eAAeC,IAAAA,gBAAU,qBAEvBP,SAAS;QAEXC,OAAO,qBAAKC,WAAcD;OACtBE;AAGV"}
1
+ {"version":3,"sources":["../../../../src/components/AspectRatio/AspectRatio.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { CSSCustomProperties } from '../../types';\nimport { RootComponent, type RootComponentProps } from '../RootComponent/RootComponent';\nimport styles from './AspectRatio.module.css';\n\nexport interface AspectRatioProps extends Omit<RootComponentProps<HTMLElement>, 'baseClassName'> {\n className?: string;\n /**\n * По умолчанию, вложенный контент будет растягиваться и заполнять весь блок.\n */\n mode?: 'stretch' | 'none';\n /**\n * Например 16 / 9, 4 / 3, 1920 / 1080\n */\n ratio: number;\n}\n\n/**\n * `AspectRatio` позволяет поддерживать постоянное соотношение ширины и высоты.\n * Его можно использовать для отображения изображений, карт, видео и других медиафайлов.\n\n * @since 5.5.0\n * @see https://vkcom.github.io/VKUI/#/AspectRatio\n */\nexport function AspectRatio({\n ratio,\n mode = 'stretch',\n style: styleProp,\n ...props\n}: AspectRatioProps): JSX.Element {\n const style: React.CSSProperties & CSSCustomProperties = {\n '--vkui_internal--aspect_ratio': String(ratio),\n };\n\n return (\n <RootComponent\n baseClassName={classNames(\n styles.AspectRatio,\n mode === 'stretch' && styles['AspectRatio--mode-stretch'],\n )}\n style={{ ...styleProp, ...style }}\n {...props}\n />\n );\n}\n"],"names":["AspectRatio","ratio","mode","style","styleProp","props","String","RootComponent","baseClassName","classNames"],"mappings":";;;;+BAyBgBA;;;eAAAA;;;;;;;iEAzBO;sBACI;+BAE4B;AAsBhD,SAASA,YAAY;QAAA,EAC1BC,KAAK,EACLC,OAAO,SAAS,EAChBC,OAAOC,SAAS,EAEC,GALS,QAIvBC,qCAJuB;QAC1BJ;QACAC;QACAC;;IAGA,MAAMA,QAAmD;QACvD,iCAAiCG,OAAOL;IAC1C;IAEA,qBACE,qBAACM,4BAAa;QACZC,eAAeC,IAAAA,gBAAU,qBAEvBP,SAAS;QAEXC,OAAO,qBAAKC,WAAcD;OACtBE;AAGV"}
@@ -26,7 +26,7 @@ const Badge = (_param)=>{
26
26
  ]);
27
27
  return /*#__PURE__*/ (0, _jsxruntime.jsx)(_RootComponent.RootComponent, _object_spread_props._(_object_spread._({
28
28
  Component: "span",
29
- baseClassName: (0, _vkjs.classNames)("vkuiBadge", stylesMode[mode])
29
+ baseClassName: (0, _vkjs.classNames)("vkuiBadge", 'vkuiInternalBadge', stylesMode[mode])
30
30
  }, restProps), {
31
31
  children: children && /*#__PURE__*/ (0, _jsxruntime.jsx)(_VisuallyHidden.VisuallyHidden, {
32
32
  children: children
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import { classNames } from '@vkontakte/vkjs';\nimport { RootComponent, type RootComponentProps } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Badge.module.css';\n\nconst stylesMode = {\n new: styles['Badge--mode-new'],\n prominent: styles['Badge--mode-prominent'],\n};\n\nexport interface BadgeProps extends RootComponentProps<HTMLSpanElement> {\n mode?: 'new' | 'prominent';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Badge\n *\n * TODO [>=7]: переименовать в Dot\n */\nexport const Badge = ({ mode = 'new', children, ...restProps }: BadgeProps): React.ReactNode => (\n <RootComponent\n Component=\"span\"\n baseClassName={classNames(styles['Badge'], stylesMode[mode])}\n {...restProps}\n >\n {children && <VisuallyHidden>{children}</VisuallyHidden>}\n </RootComponent>\n);\n"],"names":["Badge","stylesMode","new","prominent","mode","children","restProps","RootComponent","Component","baseClassName","classNames","VisuallyHidden"],"mappings":";;;;+BAmBaA;;;eAAAA;;;;;;;sBAnBc;+BAC4B;gCACxB;AAG/B,MAAMC,aAAa;IACjBC,GAAG;IACHC,SAAS;AACX;AAWO,MAAMH,QAAQ;QAAC,EAAEI,OAAO,KAAK,EAAEC,QAAQ,EAA4B,WAAvBC;QAA3BF;QAAcC;;yBACpC,qBAACE,4BAAa;QACZC,WAAU;QACVC,eAAeC,IAAAA,gBAAU,eAAkBT,UAAU,CAACG,KAAK;OACvDE;kBAEHD,0BAAY,qBAACM,8BAAc;sBAAEN"}
1
+ {"version":3,"sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import { classNames } from '@vkontakte/vkjs';\nimport { RootComponent, type RootComponentProps } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Badge.module.css';\n\nconst stylesMode = {\n new: styles['Badge--mode-new'],\n prominent: styles['Badge--mode-prominent'],\n};\n\nexport interface BadgeProps extends RootComponentProps<HTMLSpanElement> {\n mode?: 'new' | 'prominent';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Badge\n *\n * TODO [>=7]: переименовать в Dot\n */\nexport const Badge = ({ mode = 'new', children, ...restProps }: BadgeProps): React.ReactNode => (\n <RootComponent\n Component=\"span\"\n baseClassName={classNames(styles['Badge'], 'vkuiInternalBadge', stylesMode[mode])}\n {...restProps}\n >\n {children && <VisuallyHidden>{children}</VisuallyHidden>}\n </RootComponent>\n);\n"],"names":["Badge","stylesMode","new","prominent","mode","children","restProps","RootComponent","Component","baseClassName","classNames","VisuallyHidden"],"mappings":";;;;+BAmBaA;;;eAAAA;;;;;;;sBAnBc;+BAC4B;gCACxB;AAG/B,MAAMC,aAAa;IACjBC,GAAG;IACHC,SAAS;AACX;AAWO,MAAMH,QAAQ;QAAC,EAAEI,OAAO,KAAK,EAAEC,QAAQ,EAA4B,WAAvBC;QAA3BF;QAAcC;;yBACpC,qBAACE,4BAAa;QACZC,WAAU;QACVC,eAAeC,IAAAA,gBAAU,eAAkB,qBAAqBT,UAAU,CAACG,KAAK;OAC5EE;kBAEHD,0BAAY,qBAACM,8BAAc;sBAAEN"}
@@ -46,7 +46,7 @@ const stylesAlign = {
46
46
  };
47
47
  const sizeYClassNames = {
48
48
  none: "vkuiButton--sizeY-none",
49
- ['regular']: "vkuiButton--sizeY-regular"
49
+ regular: "vkuiButton--sizeY-regular"
50
50
  };
51
51
  const Button = (_param)=>{
52
52
  var { size = 's', mode = 'primary', appearance = 'accent', stretched = false, align = 'center', children, before, after, getRootRef, loading, onClick, className, disableSpinnerAnimation, rounded } = _param, restProps = _object_without_properties._(_param, [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HasAlign } from '../../types';\nimport { Spinner } from '../Spinner/Spinner';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport '../Spinner/Spinner.module.css';\nimport styles from './Button.module.css';\n\nconst stylesSize = {\n s: styles['Button--size-s'],\n m: styles['Button--size-m'],\n l: styles['Button--size-l'],\n};\n\nconst stylesMode = {\n primary: styles['Button--mode-primary'],\n secondary: styles['Button--mode-secondary'],\n tertiary: styles['Button--mode-tertiary'],\n outline: styles['Button--mode-outline'],\n link: styles['Button--mode-link'],\n};\n\nconst stylesAppearance = {\n 'accent': styles['Button--appearance-accent'],\n 'positive': styles['Button--appearance-positive'],\n 'negative': styles['Button--appearance-negative'],\n 'neutral': styles['Button--appearance-neutral'],\n 'overlay': styles['Button--appearance-overlay'],\n 'accent-invariable': styles['Button--appearance-accent-invariable'],\n};\n\nconst stylesAlign = {\n left: styles['Button--align-left'],\n center: styles['Button--align-center'],\n right: styles['Button--align-right'],\n};\n\nconst sizeYClassNames = {\n none: styles['Button--sizeY-none'],\n ['regular']: styles['Button--sizeY-regular'],\n};\n\nexport interface VKUIButtonProps extends HasAlign {\n mode?: 'primary' | 'secondary' | 'tertiary' | 'outline' | 'link';\n appearance?: 'accent' | 'positive' | 'negative' | 'neutral' | 'overlay' | 'accent-invariable';\n size?: 's' | 'm' | 'l';\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n disableSpinnerAnimation?: boolean;\n rounded?: boolean;\n}\n\nexport interface ButtonProps extends Omit<TappableProps, 'size'>, VKUIButtonProps {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Button\n */\nexport const Button = ({\n size = 's',\n mode = 'primary',\n appearance = 'accent',\n stretched = false,\n align = 'center',\n children,\n before,\n after,\n getRootRef,\n loading,\n onClick,\n className,\n disableSpinnerAnimation,\n rounded,\n ...restProps\n}: ButtonProps): React.ReactNode => {\n const hasIcons = Boolean(before || after);\n const hasIconOnly = !children && Boolean(after) !== Boolean(before);\n const { sizeY = 'none' } = useAdaptivity();\n const platform = usePlatform();\n\n return (\n <Tappable\n hoverMode={styles['Button--hover']}\n activeMode={styles['Button--active']}\n Component={restProps.href ? 'a' : 'button'}\n focusVisibleMode=\"outside\"\n {...restProps}\n onClick={loading ? undefined : onClick}\n className={classNames(\n className,\n styles.Button,\n stylesSize[size],\n stylesMode[mode],\n stylesAppearance[appearance],\n stylesAlign[align],\n sizeY !== 'compact' && sizeYClassNames[sizeY],\n platform === 'ios' && styles['Button--ios'],\n stretched && styles['Button--stretched'],\n hasIcons && styles['Button--with-icon'],\n hasIconOnly && !stretched && styles['Button--singleIcon'],\n loading && styles['Button--loading'],\n rounded && styles['Button--rounded'],\n )}\n getRootRef={getRootRef}\n >\n {loading && (\n <Spinner\n size=\"small\"\n className={styles.Button__spinner}\n disableAnimation={disableSpinnerAnimation}\n />\n )}\n <span className={styles.Button__in}>\n {hasReactNode(before) && (\n <span\n className={styles.Button__before}\n role=\"presentation\"\n data-testid={process.env.NODE_ENV === 'test' ? 'before' : undefined}\n >\n {before}\n </span>\n )}\n {hasReactNode(children) && (\n <span\n className={styles.Button__content}\n data-testid={process.env.NODE_ENV === 'test' ? 'children' : undefined}\n >\n {children}\n </span>\n )}\n {hasReactNode(after) && (\n <span\n className={styles.Button__after}\n role=\"presentation\"\n data-testid={process.env.NODE_ENV === 'test' ? 'after' : undefined}\n >\n {after}\n </span>\n )}\n </span>\n </Tappable>\n );\n};\n"],"names":["Button","stylesSize","s","m","l","stylesMode","primary","secondary","tertiary","outline","link","stylesAppearance","stylesAlign","left","center","right","sizeYClassNames","none","size","mode","appearance","stretched","align","children","before","after","getRootRef","loading","onClick","className","disableSpinnerAnimation","rounded","restProps","hasIcons","Boolean","hasIconOnly","sizeY","useAdaptivity","platform","usePlatform","Tappable","hoverMode","activeMode","Component","href","focusVisibleMode","undefined","classNames","Spinner","disableAnimation","span","hasReactNode","role","data-testid","process","env","NODE_ENV"],"mappings":";;;;+BA6DaA;;;eAAAA;;;;;;;;iEA7DU;sBACkB;+BACX;6BACF;yBAEJ;0BACqB;AAI7C,MAAMC,aAAa;IACjBC,CAAC;IACDC,CAAC;IACDC,CAAC;AACH;AAEA,MAAMC,aAAa;IACjBC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACRC,OAAO;IACPC,IAAI;AACN;AAEA,MAAMC,mBAAmB;IACvB,QAAQ;IACR,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,mBAAmB;AACrB;AAEA,MAAMC,cAAc;IAClBC,IAAI;IACJC,MAAM;IACNC,KAAK;AACP;AAEA,MAAMC,kBAAkB;IACtBC,IAAI;IACJ,CAAC,UAAU;AACb;AAmBO,MAAMjB,SAAS;QAAC,EACrBkB,OAAO,GAAG,EACVC,OAAO,SAAS,EAChBC,aAAa,QAAQ,EACrBC,YAAY,KAAK,EACjBC,QAAQ,QAAQ,EAChBC,QAAQ,EACRC,MAAM,EACNC,KAAK,EACLC,UAAU,EACVC,OAAO,EACPC,OAAO,EACPC,SAAS,EACTC,uBAAuB,EACvBC,OAAO,EAEK,WADTC;QAdHd;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,WAAWC,QAAQV,UAAUC;IACnC,MAAMU,cAAc,CAACZ,YAAYW,QAAQT,WAAWS,QAAQV;IAC5D,MAAM,EAAEY,QAAQ,MAAM,EAAE,GAAGC,IAAAA,4BAAa;IACxC,MAAMC,WAAWC,IAAAA,wBAAW;IAE5B,qBACE,sBAACC,kBAAQ;QACPC,SAAS;QACTC,UAAU;QACVC,WAAWX,UAAUY,IAAI,GAAG,MAAM;QAClCC,kBAAiB;OACbb;QACJJ,SAASD,UAAUmB,YAAYlB;QAC/BC,WAAWkB,IAAAA,gBAAU,EACnBlB,yBAEA5B,UAAU,CAACiB,KAAK,EAChBb,UAAU,CAACc,KAAK,EAChBR,gBAAgB,CAACS,WAAW,EAC5BR,WAAW,CAACU,MAAM,EAClBc,UAAU,aAAapB,eAAe,CAACoB,MAAM,EAC7CE,aAAa,4BACbjB,sCACAY,qCACAE,eAAe,CAACd,uCAChBM,kCACAI;QAEFL,YAAYA;;YAEXC,yBACC,qBAACqB,gBAAO;gBACN9B,MAAK;gBACLW,SAAS;gBACToB,kBAAkBnB;;0BAGtB,sBAACoB;gBAAKrB,SAAS;;oBACZsB,IAAAA,kBAAY,EAAC3B,yBACZ,qBAAC0B;wBACCrB,SAAS;wBACTuB,MAAK;wBACLC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,WAAWV;kCAEzDtB;;oBAGJ2B,IAAAA,kBAAY,EAAC5B,2BACZ,qBAAC2B;wBACCrB,SAAS;wBACTwB,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,aAAaV;kCAE3DvB;;oBAGJ4B,IAAAA,kBAAY,EAAC1B,wBACZ,qBAACyB;wBACCrB,SAAS;wBACTuB,MAAK;wBACLC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,UAAUV;kCAExDrB;;;;;;AAMb"}
1
+ {"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HasAlign } from '../../types';\nimport { Spinner } from '../Spinner/Spinner';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport '../Spinner/Spinner.module.css';\nimport styles from './Button.module.css';\n\nconst stylesSize = {\n s: styles['Button--size-s'],\n m: styles['Button--size-m'],\n l: styles['Button--size-l'],\n};\n\nconst stylesMode = {\n primary: styles['Button--mode-primary'],\n secondary: styles['Button--mode-secondary'],\n tertiary: styles['Button--mode-tertiary'],\n outline: styles['Button--mode-outline'],\n link: styles['Button--mode-link'],\n};\n\nconst stylesAppearance = {\n 'accent': styles['Button--appearance-accent'],\n 'positive': styles['Button--appearance-positive'],\n 'negative': styles['Button--appearance-negative'],\n 'neutral': styles['Button--appearance-neutral'],\n 'overlay': styles['Button--appearance-overlay'],\n 'accent-invariable': styles['Button--appearance-accent-invariable'],\n};\n\nconst stylesAlign = {\n left: styles['Button--align-left'],\n center: styles['Button--align-center'],\n right: styles['Button--align-right'],\n};\n\nconst sizeYClassNames = {\n none: styles['Button--sizeY-none'],\n regular: styles['Button--sizeY-regular'],\n};\n\nexport interface VKUIButtonProps extends HasAlign {\n mode?: 'primary' | 'secondary' | 'tertiary' | 'outline' | 'link';\n appearance?: 'accent' | 'positive' | 'negative' | 'neutral' | 'overlay' | 'accent-invariable';\n size?: 's' | 'm' | 'l';\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n disableSpinnerAnimation?: boolean;\n rounded?: boolean;\n}\n\nexport interface ButtonProps extends Omit<TappableProps, 'size'>, VKUIButtonProps {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Button\n */\nexport const Button = ({\n size = 's',\n mode = 'primary',\n appearance = 'accent',\n stretched = false,\n align = 'center',\n children,\n before,\n after,\n getRootRef,\n loading,\n onClick,\n className,\n disableSpinnerAnimation,\n rounded,\n ...restProps\n}: ButtonProps): React.ReactNode => {\n const hasIcons = Boolean(before || after);\n const hasIconOnly = !children && Boolean(after) !== Boolean(before);\n const { sizeY = 'none' } = useAdaptivity();\n const platform = usePlatform();\n\n return (\n <Tappable\n hoverMode={styles['Button--hover']}\n activeMode={styles['Button--active']}\n Component={restProps.href ? 'a' : 'button'}\n focusVisibleMode=\"outside\"\n {...restProps}\n onClick={loading ? undefined : onClick}\n className={classNames(\n className,\n styles.Button,\n stylesSize[size],\n stylesMode[mode],\n stylesAppearance[appearance],\n stylesAlign[align],\n sizeY !== 'compact' && sizeYClassNames[sizeY],\n platform === 'ios' && styles['Button--ios'],\n stretched && styles['Button--stretched'],\n hasIcons && styles['Button--with-icon'],\n hasIconOnly && !stretched && styles['Button--singleIcon'],\n loading && styles['Button--loading'],\n rounded && styles['Button--rounded'],\n )}\n getRootRef={getRootRef}\n >\n {loading && (\n <Spinner\n size=\"small\"\n className={styles.Button__spinner}\n disableAnimation={disableSpinnerAnimation}\n />\n )}\n <span className={styles.Button__in}>\n {hasReactNode(before) && (\n <span\n className={styles.Button__before}\n role=\"presentation\"\n data-testid={process.env.NODE_ENV === 'test' ? 'before' : undefined}\n >\n {before}\n </span>\n )}\n {hasReactNode(children) && (\n <span\n className={styles.Button__content}\n data-testid={process.env.NODE_ENV === 'test' ? 'children' : undefined}\n >\n {children}\n </span>\n )}\n {hasReactNode(after) && (\n <span\n className={styles.Button__after}\n role=\"presentation\"\n data-testid={process.env.NODE_ENV === 'test' ? 'after' : undefined}\n >\n {after}\n </span>\n )}\n </span>\n </Tappable>\n );\n};\n"],"names":["Button","stylesSize","s","m","l","stylesMode","primary","secondary","tertiary","outline","link","stylesAppearance","stylesAlign","left","center","right","sizeYClassNames","none","regular","size","mode","appearance","stretched","align","children","before","after","getRootRef","loading","onClick","className","disableSpinnerAnimation","rounded","restProps","hasIcons","Boolean","hasIconOnly","sizeY","useAdaptivity","platform","usePlatform","Tappable","hoverMode","activeMode","Component","href","focusVisibleMode","undefined","classNames","Spinner","disableAnimation","span","hasReactNode","role","data-testid","process","env","NODE_ENV"],"mappings":";;;;+BA6DaA;;;eAAAA;;;;;;;;iEA7DU;sBACkB;+BACX;6BACF;yBAEJ;0BACqB;AAI7C,MAAMC,aAAa;IACjBC,CAAC;IACDC,CAAC;IACDC,CAAC;AACH;AAEA,MAAMC,aAAa;IACjBC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACRC,OAAO;IACPC,IAAI;AACN;AAEA,MAAMC,mBAAmB;IACvB,QAAQ;IACR,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,mBAAmB;AACrB;AAEA,MAAMC,cAAc;IAClBC,IAAI;IACJC,MAAM;IACNC,KAAK;AACP;AAEA,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AAmBO,MAAMlB,SAAS;QAAC,EACrBmB,OAAO,GAAG,EACVC,OAAO,SAAS,EAChBC,aAAa,QAAQ,EACrBC,YAAY,KAAK,EACjBC,QAAQ,QAAQ,EAChBC,QAAQ,EACRC,MAAM,EACNC,KAAK,EACLC,UAAU,EACVC,OAAO,EACPC,OAAO,EACPC,SAAS,EACTC,uBAAuB,EACvBC,OAAO,EAEK,WADTC;QAdHd;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,WAAWC,QAAQV,UAAUC;IACnC,MAAMU,cAAc,CAACZ,YAAYW,QAAQT,WAAWS,QAAQV;IAC5D,MAAM,EAAEY,QAAQ,MAAM,EAAE,GAAGC,IAAAA,4BAAa;IACxC,MAAMC,WAAWC,IAAAA,wBAAW;IAE5B,qBACE,sBAACC,kBAAQ;QACPC,SAAS;QACTC,UAAU;QACVC,WAAWX,UAAUY,IAAI,GAAG,MAAM;QAClCC,kBAAiB;OACbb;QACJJ,SAASD,UAAUmB,YAAYlB;QAC/BC,WAAWkB,IAAAA,gBAAU,EACnBlB,yBAEA7B,UAAU,CAACkB,KAAK,EAChBd,UAAU,CAACe,KAAK,EAChBT,gBAAgB,CAACU,WAAW,EAC5BT,WAAW,CAACW,MAAM,EAClBc,UAAU,aAAarB,eAAe,CAACqB,MAAM,EAC7CE,aAAa,4BACbjB,sCACAY,qCACAE,eAAe,CAACd,uCAChBM,kCACAI;QAEFL,YAAYA;;YAEXC,yBACC,qBAACqB,gBAAO;gBACN9B,MAAK;gBACLW,SAAS;gBACToB,kBAAkBnB;;0BAGtB,sBAACoB;gBAAKrB,SAAS;;oBACZsB,IAAAA,kBAAY,EAAC3B,yBACZ,qBAAC0B;wBACCrB,SAAS;wBACTuB,MAAK;wBACLC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,WAAWV;kCAEzDtB;;oBAGJ2B,IAAAA,kBAAY,EAAC5B,2BACZ,qBAAC2B;wBACCrB,SAAS;wBACTwB,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,aAAaV;kCAE3DvB;;oBAGJ4B,IAAAA,kBAAY,EAAC1B,wBACZ,qBAACyB;wBACCrB,SAAS;wBACTuB,MAAK;wBACLC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,UAAUV;kCAExDrB;;;;;;AAMb"}
@@ -3,7 +3,7 @@ import type { HTMLAttributesWithRootRef } from '../../types';
3
3
  import { type CalendarDaysProps } from '../CalendarDays/CalendarDays';
4
4
  import { type CalendarHeaderProps } from '../CalendarHeader/CalendarHeader';
5
5
  import { type CalendarTimeProps } from '../CalendarTime/CalendarTime';
6
- export interface CalendarProps extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'>, Pick<CalendarTimeProps, 'changeHoursLabel' | 'changeMinutesLabel'>, Pick<CalendarHeaderProps, 'prevMonthLabel' | 'nextMonthLabel' | 'changeMonthLabel' | 'changeYearLabel' | 'onNextMonth' | 'onPrevMonth' | 'prevMonthIcon' | 'nextMonthIcon' | 'prevMonthProps' | 'nextMonthProps'>, Pick<CalendarDaysProps, 'dayProps' | 'listenDayChangesForUpdate'> {
6
+ export interface CalendarProps extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'>, Pick<CalendarTimeProps, 'changeHoursLabel' | 'changeMinutesLabel'>, Pick<CalendarHeaderProps, 'prevMonthLabel' | 'nextMonthLabel' | 'changeMonthLabel' | 'changeYearLabel' | 'onNextMonth' | 'onPrevMonth' | 'prevMonthIcon' | 'nextMonthIcon' | 'prevMonthProps' | 'nextMonthProps'>, Pick<CalendarDaysProps, 'dayProps' | 'listenDayChangesForUpdate' | 'renderDayContent'> {
7
7
  value?: Date;
8
8
  /**
9
9
  * Запрещает выбор даты в прошлом.
@@ -51,5 +51,5 @@ export interface CalendarProps extends Omit<HTMLAttributesWithRootRef<HTMLDivEle
51
51
  /**
52
52
  * @see https://vkcom.github.io/VKUI/#/Calendar
53
53
  */
54
- export declare const Calendar: ({ value, onChange, disablePast, disableFuture, shouldDisableDate, onClose, enableTime, doneButtonText, weekStartsOn, disablePickers, changeHoursLabel, changeMinutesLabel, prevMonthLabel, nextMonthLabel, changeMonthLabel, changeYearLabel, showNeighboringMonth, changeDayLabel, size, viewDate: externalViewDate, onHeaderChange, onNextMonth, onPrevMonth, prevMonthIcon, nextMonthIcon, prevMonthProps, nextMonthProps, dayProps, listenDayChangesForUpdate, minDateTime, maxDateTime, ...props }: CalendarProps) => React.ReactNode;
54
+ export declare const Calendar: ({ value, onChange, disablePast, disableFuture, shouldDisableDate, onClose, enableTime, doneButtonText, weekStartsOn, disablePickers, changeHoursLabel, changeMinutesLabel, prevMonthLabel, nextMonthLabel, changeMonthLabel, changeYearLabel, showNeighboringMonth, changeDayLabel, size, viewDate: externalViewDate, onHeaderChange, onNextMonth, onPrevMonth, prevMonthIcon, nextMonthIcon, prevMonthProps, nextMonthProps, dayProps, listenDayChangesForUpdate, renderDayContent, minDateTime, maxDateTime, ...props }: CalendarProps) => React.ReactNode;
55
55
  //# sourceMappingURL=Calendar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../src/components/Calendar/Calendar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAIpF,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,EACjE,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,oBAAoB,CAAC,EAClE,IAAI,CACF,mBAAmB,EACjB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,aAAa,GACb,aAAa,GACb,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,gBAAgB,CACnB,EACD,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,2BAA2B,CAAC;IACnE,KAAK,CAAC,EAAE,IAAI,CAAC;IACb;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IAClC;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAID;;GAEG;AACH,eAAO,MAAM,QAAQ,4eAiClB,aAAa,KAAG,KAAK,CAAC,SAgIxB,CAAC"}
1
+ {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../src/components/Calendar/Calendar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAIpF,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,EACjE,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,oBAAoB,CAAC,EAClE,IAAI,CACF,mBAAmB,EACjB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,aAAa,GACb,aAAa,GACb,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,gBAAgB,CACnB,EACD,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,2BAA2B,GAAG,kBAAkB,CAAC;IACxF,KAAK,CAAC,EAAE,IAAI,CAAC;IACb;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IAClC;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAID;;GAEG;AACH,eAAO,MAAM,QAAQ,8fAkClB,aAAa,KAAG,KAAK,CAAC,SAiIxB,CAAC"}
@@ -26,7 +26,7 @@ const _CalendarTime = require("../CalendarTime/CalendarTime");
26
26
  const _RootComponent = require("../RootComponent/RootComponent");
27
27
  const warn = (0, _warnOnce.warnOnce)('Calendar');
28
28
  const Calendar = (_param)=>{
29
- var { value, onChange, disablePast, disableFuture, shouldDisableDate, onClose, enableTime = false, doneButtonText, weekStartsOn = 1, disablePickers, changeHoursLabel = 'Изменить час', changeMinutesLabel = 'Изменить минуту', prevMonthLabel = 'Предыдущий месяц', nextMonthLabel = 'Следующий месяц', changeMonthLabel = 'Изменить месяц', changeYearLabel = 'Изменить год', showNeighboringMonth, changeDayLabel = 'Изменить день', size = 'm', viewDate: externalViewDate, onHeaderChange, onNextMonth, onPrevMonth, prevMonthIcon, nextMonthIcon, prevMonthProps, nextMonthProps, dayProps, listenDayChangesForUpdate, minDateTime, maxDateTime } = _param, props = _object_without_properties._(_param, [
29
+ var { value, onChange, disablePast, disableFuture, shouldDisableDate, onClose, enableTime = false, doneButtonText, weekStartsOn = 1, disablePickers, changeHoursLabel = 'Изменить час', changeMinutesLabel = 'Изменить минуту', prevMonthLabel = 'Предыдущий месяц', nextMonthLabel = 'Следующий месяц', changeMonthLabel = 'Изменить месяц', changeYearLabel = 'Изменить год', showNeighboringMonth, changeDayLabel = 'Изменить день', size = 'm', viewDate: externalViewDate, onHeaderChange, onNextMonth, onPrevMonth, prevMonthIcon, nextMonthIcon, prevMonthProps, nextMonthProps, dayProps, listenDayChangesForUpdate, renderDayContent, minDateTime, maxDateTime } = _param, props = _object_without_properties._(_param, [
30
30
  "value",
31
31
  "onChange",
32
32
  "disablePast",
@@ -56,6 +56,7 @@ const Calendar = (_param)=>{
56
56
  "nextMonthProps",
57
57
  "dayProps",
58
58
  "listenDayChangesForUpdate",
59
+ "renderDayContent",
59
60
  "minDateTime",
60
61
  "maxDateTime"
61
62
  ]);
@@ -160,7 +161,8 @@ const Calendar = (_param)=>{
160
161
  showNeighboringMonth: showNeighboringMonth,
161
162
  size: size,
162
163
  dayProps: dayProps,
163
- listenDayChangesForUpdate: listenDayChangesForUpdate
164
+ listenDayChangesForUpdate: listenDayChangesForUpdate,
165
+ renderDayContent: renderDayContent
164
166
  }),
165
167
  enableTime && value && size !== 's' && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
166
168
  className: "vkuiCalendar__time",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { isSameDay, isSameMonth } from 'date-fns';\nimport { useCalendar } from '../../hooks/useCalendar';\nimport { clamp, isFirstDay, isLastDay, navigateDate, setTimeEqual } from '../../lib/calendar';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { CalendarDays, type CalendarDaysProps } from '../CalendarDays/CalendarDays';\nimport { CalendarHeader, type CalendarHeaderProps } from '../CalendarHeader/CalendarHeader';\nimport { CalendarTime, type CalendarTimeProps } from '../CalendarTime/CalendarTime';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Calendar.module.css';\n\nexport interface CalendarProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'>,\n Pick<CalendarTimeProps, 'changeHoursLabel' | 'changeMinutesLabel'>,\n Pick<\n CalendarHeaderProps,\n | 'prevMonthLabel'\n | 'nextMonthLabel'\n | 'changeMonthLabel'\n | 'changeYearLabel'\n | 'onNextMonth'\n | 'onPrevMonth'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n | 'prevMonthProps'\n | 'nextMonthProps'\n >,\n Pick<CalendarDaysProps, 'dayProps' | 'listenDayChangesForUpdate'> {\n value?: Date;\n /**\n * Запрещает выбор даты в прошлом.\n * Применяется, если не заданы `shouldDisableDate` и `disableFuture`.\n */\n disablePast?: boolean;\n /**\n * Запрещает выбор даты в будущем.\n * Применяется, если не задано `shouldDisableDate`.\n */\n disableFuture?: boolean;\n enableTime?: boolean;\n disablePickers?: boolean;\n doneButtonText?: string;\n changeDayLabel?: string;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n showNeighboringMonth?: boolean;\n size?: 's' | 'm';\n onChange?: (value?: Date) => void;\n /**\n * Позволяет запретить выбор даты.\n */\n shouldDisableDate?: (value: Date) => boolean;\n onClose?: () => void;\n /**\n * Дата отображаемого месяца.\n * При использовании обновление даты должно происходить вне компонента.\n */\n viewDate?: Date;\n /**\n * Изменение даты в шапке календаря.\n */\n onHeaderChange?: (value: Date) => void;\n /**\n * Минимальные дата и время, которые можно выбрать\n * Применяется, если не заданы `shouldDisableDate` и `disablePast`/`disableFuture`.\n */\n minDateTime?: Date;\n /**\n * Максимальные дата и время, которые можно выбрать.\n * Применяется, если не заданы `shouldDisableDate` и `disablePast`/`disableFuture`.\n */\n maxDateTime?: Date;\n}\n\nconst warn = warnOnce('Calendar');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Calendar\n */\nexport const Calendar = ({\n value,\n onChange,\n disablePast,\n disableFuture,\n shouldDisableDate,\n onClose,\n enableTime = false,\n doneButtonText,\n weekStartsOn = 1,\n disablePickers,\n changeHoursLabel = 'Изменить час',\n changeMinutesLabel = 'Изменить минуту',\n prevMonthLabel = 'Предыдущий месяц',\n nextMonthLabel = 'Следующий месяц',\n changeMonthLabel = 'Изменить месяц',\n changeYearLabel = 'Изменить год',\n showNeighboringMonth,\n changeDayLabel = 'Изменить день',\n size = 'm',\n viewDate: externalViewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n prevMonthIcon,\n nextMonthIcon,\n prevMonthProps,\n nextMonthProps,\n dayProps,\n listenDayChangesForUpdate,\n minDateTime,\n maxDateTime,\n ...props\n}: CalendarProps): React.ReactNode => {\n const {\n viewDate,\n setViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n isMonthDisabled,\n isYearDisabled,\n } = useCalendar({\n value,\n disableFuture,\n disablePast,\n shouldDisableDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n minDateTime,\n maxDateTime,\n });\n\n useIsomorphicLayoutEffect(() => {\n if (value) {\n setViewDate(value);\n }\n }, [value]);\n\n if (process.env.NODE_ENV === 'development' && !disablePickers && size === 's') {\n warn(\"Нельзя включить селекты выбора месяца/года, если размер календаря 's'\", 'error');\n }\n\n if (process.env.NODE_ENV === 'development' && enableTime && size === 's') {\n warn(\"Нельзя включить выбор времени, если размер календаря 's'\", 'error');\n }\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {\n event.preventDefault();\n }\n\n const newFocusedDay = navigateDate(focusedDay ?? value, event.key);\n\n if (newFocusedDay && !isSameMonth(newFocusedDay, viewDate)) {\n setViewDate(newFocusedDay);\n }\n setFocusedDay(newFocusedDay);\n },\n [focusedDay, setFocusedDay, setViewDate, value, viewDate],\n );\n\n const onDayChange = React.useCallback(\n (date: Date) => {\n let actualDate = setTimeEqual(date, value);\n if (minDateTime || maxDateTime) {\n actualDate = clamp(actualDate, { min: minDateTime, max: maxDateTime });\n }\n onChange?.(actualDate);\n },\n [value, onChange, maxDateTime, minDateTime],\n );\n\n const isDayActive = React.useCallback(\n (day: Date) => Boolean(value && isSameDay(day, value)),\n [value],\n );\n\n return (\n <RootComponent\n {...props}\n baseClassName={classNames(styles['Calendar'], size === 's' && styles['Calendar--size-s'])}\n >\n <CalendarHeader\n viewDate={externalViewDate || viewDate}\n onChange={setViewDate}\n onNextMonth={setNextMonth}\n onPrevMonth={setPrevMonth}\n disablePickers={disablePickers || size === 's'}\n className={styles['Calendar__header']}\n prevMonthLabel={prevMonthLabel}\n nextMonthLabel={nextMonthLabel}\n changeMonthLabel={changeMonthLabel}\n changeYearLabel={changeYearLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n prevMonthProps={prevMonthProps}\n nextMonthProps={nextMonthProps}\n isMonthDisabled={isMonthDisabled}\n isYearDisabled={isYearDisabled}\n />\n <CalendarDays\n viewDate={externalViewDate || viewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n isDayFocused={isDayFocused}\n tabIndex={0}\n aria-label={changeDayLabel}\n onKeyDown={handleKeyDown}\n onDayChange={onDayChange}\n isDayActive={isDayActive}\n isDaySelectionStart={isFirstDay}\n isDaySelectionEnd={isLastDay}\n isDayDisabled={isDayDisabled}\n onBlur={resetSelectedDay}\n showNeighboringMonth={showNeighboringMonth}\n size={size}\n dayProps={dayProps}\n listenDayChangesForUpdate={listenDayChangesForUpdate}\n />\n {enableTime && value && size !== 's' && (\n <div className={styles['Calendar__time']}>\n <CalendarTime\n value={value}\n onChange={onChange}\n onClose={onClose}\n doneButtonText={doneButtonText}\n changeHoursLabel={changeHoursLabel}\n changeMinutesLabel={changeMinutesLabel}\n isDayDisabled={minDateTime || maxDateTime ? isDayDisabled : undefined}\n />\n </div>\n )}\n </RootComponent>\n );\n};\n"],"names":["Calendar","warn","warnOnce","value","onChange","disablePast","disableFuture","shouldDisableDate","onClose","enableTime","doneButtonText","weekStartsOn","disablePickers","changeHoursLabel","changeMinutesLabel","prevMonthLabel","nextMonthLabel","changeMonthLabel","changeYearLabel","showNeighboringMonth","changeDayLabel","size","viewDate","externalViewDate","onHeaderChange","onNextMonth","onPrevMonth","prevMonthIcon","nextMonthIcon","prevMonthProps","nextMonthProps","dayProps","listenDayChangesForUpdate","minDateTime","maxDateTime","props","setViewDate","setPrevMonth","setNextMonth","focusedDay","setFocusedDay","isDayFocused","isDayDisabled","resetSelectedDay","isMonthDisabled","isYearDisabled","useCalendar","useIsomorphicLayoutEffect","process","env","NODE_ENV","handleKeyDown","React","useCallback","event","includes","key","preventDefault","newFocusedDay","navigateDate","isSameMonth","onDayChange","date","actualDate","setTimeEqual","clamp","min","max","isDayActive","day","Boolean","isSameDay","RootComponent","baseClassName","classNames","CalendarHeader","className","CalendarDays","tabIndex","aria-label","onKeyDown","isDaySelectionStart","isFirstDay","isDaySelectionEnd","isLastDay","onBlur","div","CalendarTime","undefined"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { isSameDay, isSameMonth } from 'date-fns';\nimport { useCalendar } from '../../hooks/useCalendar';\nimport { clamp, isFirstDay, isLastDay, navigateDate, setTimeEqual } from '../../lib/calendar';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { CalendarDays, type CalendarDaysProps } from '../CalendarDays/CalendarDays';\nimport { CalendarHeader, type CalendarHeaderProps } from '../CalendarHeader/CalendarHeader';\nimport { CalendarTime, type CalendarTimeProps } from '../CalendarTime/CalendarTime';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Calendar.module.css';\n\nexport interface CalendarProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'>,\n Pick<CalendarTimeProps, 'changeHoursLabel' | 'changeMinutesLabel'>,\n Pick<\n CalendarHeaderProps,\n | 'prevMonthLabel'\n | 'nextMonthLabel'\n | 'changeMonthLabel'\n | 'changeYearLabel'\n | 'onNextMonth'\n | 'onPrevMonth'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n | 'prevMonthProps'\n | 'nextMonthProps'\n >,\n Pick<CalendarDaysProps, 'dayProps' | 'listenDayChangesForUpdate' | 'renderDayContent'> {\n value?: Date;\n /**\n * Запрещает выбор даты в прошлом.\n * Применяется, если не заданы `shouldDisableDate` и `disableFuture`.\n */\n disablePast?: boolean;\n /**\n * Запрещает выбор даты в будущем.\n * Применяется, если не задано `shouldDisableDate`.\n */\n disableFuture?: boolean;\n enableTime?: boolean;\n disablePickers?: boolean;\n doneButtonText?: string;\n changeDayLabel?: string;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n showNeighboringMonth?: boolean;\n size?: 's' | 'm';\n onChange?: (value?: Date) => void;\n /**\n * Позволяет запретить выбор даты.\n */\n shouldDisableDate?: (value: Date) => boolean;\n onClose?: () => void;\n /**\n * Дата отображаемого месяца.\n * При использовании обновление даты должно происходить вне компонента.\n */\n viewDate?: Date;\n /**\n * Изменение даты в шапке календаря.\n */\n onHeaderChange?: (value: Date) => void;\n /**\n * Минимальные дата и время, которые можно выбрать\n * Применяется, если не заданы `shouldDisableDate` и `disablePast`/`disableFuture`.\n */\n minDateTime?: Date;\n /**\n * Максимальные дата и время, которые можно выбрать.\n * Применяется, если не заданы `shouldDisableDate` и `disablePast`/`disableFuture`.\n */\n maxDateTime?: Date;\n}\n\nconst warn = warnOnce('Calendar');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Calendar\n */\nexport const Calendar = ({\n value,\n onChange,\n disablePast,\n disableFuture,\n shouldDisableDate,\n onClose,\n enableTime = false,\n doneButtonText,\n weekStartsOn = 1,\n disablePickers,\n changeHoursLabel = 'Изменить час',\n changeMinutesLabel = 'Изменить минуту',\n prevMonthLabel = 'Предыдущий месяц',\n nextMonthLabel = 'Следующий месяц',\n changeMonthLabel = 'Изменить месяц',\n changeYearLabel = 'Изменить год',\n showNeighboringMonth,\n changeDayLabel = 'Изменить день',\n size = 'm',\n viewDate: externalViewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n prevMonthIcon,\n nextMonthIcon,\n prevMonthProps,\n nextMonthProps,\n dayProps,\n listenDayChangesForUpdate,\n renderDayContent,\n minDateTime,\n maxDateTime,\n ...props\n}: CalendarProps): React.ReactNode => {\n const {\n viewDate,\n setViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n isMonthDisabled,\n isYearDisabled,\n } = useCalendar({\n value,\n disableFuture,\n disablePast,\n shouldDisableDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n minDateTime,\n maxDateTime,\n });\n\n useIsomorphicLayoutEffect(() => {\n if (value) {\n setViewDate(value);\n }\n }, [value]);\n\n if (process.env.NODE_ENV === 'development' && !disablePickers && size === 's') {\n warn(\"Нельзя включить селекты выбора месяца/года, если размер календаря 's'\", 'error');\n }\n\n if (process.env.NODE_ENV === 'development' && enableTime && size === 's') {\n warn(\"Нельзя включить выбор времени, если размер календаря 's'\", 'error');\n }\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {\n event.preventDefault();\n }\n\n const newFocusedDay = navigateDate(focusedDay ?? value, event.key);\n\n if (newFocusedDay && !isSameMonth(newFocusedDay, viewDate)) {\n setViewDate(newFocusedDay);\n }\n setFocusedDay(newFocusedDay);\n },\n [focusedDay, setFocusedDay, setViewDate, value, viewDate],\n );\n\n const onDayChange = React.useCallback(\n (date: Date) => {\n let actualDate = setTimeEqual(date, value);\n if (minDateTime || maxDateTime) {\n actualDate = clamp(actualDate, { min: minDateTime, max: maxDateTime });\n }\n onChange?.(actualDate);\n },\n [value, onChange, maxDateTime, minDateTime],\n );\n\n const isDayActive = React.useCallback(\n (day: Date) => Boolean(value && isSameDay(day, value)),\n [value],\n );\n\n return (\n <RootComponent\n {...props}\n baseClassName={classNames(styles['Calendar'], size === 's' && styles['Calendar--size-s'])}\n >\n <CalendarHeader\n viewDate={externalViewDate || viewDate}\n onChange={setViewDate}\n onNextMonth={setNextMonth}\n onPrevMonth={setPrevMonth}\n disablePickers={disablePickers || size === 's'}\n className={styles['Calendar__header']}\n prevMonthLabel={prevMonthLabel}\n nextMonthLabel={nextMonthLabel}\n changeMonthLabel={changeMonthLabel}\n changeYearLabel={changeYearLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n prevMonthProps={prevMonthProps}\n nextMonthProps={nextMonthProps}\n isMonthDisabled={isMonthDisabled}\n isYearDisabled={isYearDisabled}\n />\n <CalendarDays\n viewDate={externalViewDate || viewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n isDayFocused={isDayFocused}\n tabIndex={0}\n aria-label={changeDayLabel}\n onKeyDown={handleKeyDown}\n onDayChange={onDayChange}\n isDayActive={isDayActive}\n isDaySelectionStart={isFirstDay}\n isDaySelectionEnd={isLastDay}\n isDayDisabled={isDayDisabled}\n onBlur={resetSelectedDay}\n showNeighboringMonth={showNeighboringMonth}\n size={size}\n dayProps={dayProps}\n listenDayChangesForUpdate={listenDayChangesForUpdate}\n renderDayContent={renderDayContent}\n />\n {enableTime && value && size !== 's' && (\n <div className={styles['Calendar__time']}>\n <CalendarTime\n value={value}\n onChange={onChange}\n onClose={onClose}\n doneButtonText={doneButtonText}\n changeHoursLabel={changeHoursLabel}\n changeMinutesLabel={changeMinutesLabel}\n isDayDisabled={minDateTime || maxDateTime ? isDayDisabled : undefined}\n />\n </div>\n )}\n </RootComponent>\n );\n};\n"],"names":["Calendar","warn","warnOnce","value","onChange","disablePast","disableFuture","shouldDisableDate","onClose","enableTime","doneButtonText","weekStartsOn","disablePickers","changeHoursLabel","changeMinutesLabel","prevMonthLabel","nextMonthLabel","changeMonthLabel","changeYearLabel","showNeighboringMonth","changeDayLabel","size","viewDate","externalViewDate","onHeaderChange","onNextMonth","onPrevMonth","prevMonthIcon","nextMonthIcon","prevMonthProps","nextMonthProps","dayProps","listenDayChangesForUpdate","renderDayContent","minDateTime","maxDateTime","props","setViewDate","setPrevMonth","setNextMonth","focusedDay","setFocusedDay","isDayFocused","isDayDisabled","resetSelectedDay","isMonthDisabled","isYearDisabled","useCalendar","useIsomorphicLayoutEffect","process","env","NODE_ENV","handleKeyDown","React","useCallback","event","includes","key","preventDefault","newFocusedDay","navigateDate","isSameMonth","onDayChange","date","actualDate","setTimeEqual","clamp","min","max","isDayActive","day","Boolean","isSameDay","RootComponent","baseClassName","classNames","CalendarHeader","className","CalendarDays","tabIndex","aria-label","onKeyDown","isDaySelectionStart","isFirstDay","isDaySelectionEnd","isLastDay","onBlur","div","CalendarTime","undefined"],"mappings":"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"}
@@ -18,6 +18,7 @@ export interface CalendarDayProps extends CalendarDayElementProps {
18
18
  onChange: (value: Date) => void;
19
19
  onEnter?: (value: Date) => void;
20
20
  onLeave?: (value: Date) => void;
21
+ renderDayContent?: (day: Date) => React.ReactNode;
21
22
  }
22
23
  export declare const CalendarDay: React.FC<CalendarDayProps>;
23
24
  //# sourceMappingURL=CalendarDay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDay.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarDay/CalendarDay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,EACpC,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAC9C,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,uBAAuB;IAC/D,GAAG,EAAE,IAAI,CAAC;IACV,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;CACjC;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8FlD,CAAC"}
1
+ {"version":3,"file":"CalendarDay.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarDay/CalendarDay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,EACpC,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAC9C,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,uBAAuB;IAC/D,GAAG,EAAE,IAAI,CAAC;IACV,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IAEhC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;CACnD;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAwGlD,CAAC"}
@@ -20,7 +20,7 @@ const _ConfigProviderContext = require("../ConfigProvider/ConfigProviderContext"
20
20
  const _Tappable = require("../Tappable/Tappable");
21
21
  const _VisuallyHidden = require("../VisuallyHidden/VisuallyHidden");
22
22
  const CalendarDay = /*#__PURE__*/ _react.memo((_param)=>{
23
- var { day, today, selected, onChange, hidden, disabled, active, selectionStart, selectionEnd, focused, onEnter, onLeave, hinted, hintedSelectionStart, hintedSelectionEnd, sameMonth, size, className, children } = _param, restProps = _object_without_properties._(_param, [
23
+ var { day, today, selected, onChange, hidden, disabled, active, selectionStart, selectionEnd, focused, onEnter, onLeave, hinted, hintedSelectionStart, hintedSelectionEnd, sameMonth, size, className, children, renderDayContent } = _param, restProps = _object_without_properties._(_param, [
24
24
  "day",
25
25
  "today",
26
26
  "selected",
@@ -39,7 +39,8 @@ const CalendarDay = /*#__PURE__*/ _react.memo((_param)=>{
39
39
  "sameMonth",
40
40
  "size",
41
41
  "className",
42
- "children"
42
+ "children",
43
+ "renderDayContent"
43
44
  ]);
44
45
  const { locale } = (0, _ConfigProviderContext.useConfigProvider)();
45
46
  const ref = _react.useRef(null);
@@ -71,6 +72,28 @@ const CalendarDay = /*#__PURE__*/ _react.memo((_param)=>{
71
72
  }, [
72
73
  focused
73
74
  ]);
75
+ const content = _react.useMemo(()=>{
76
+ if (renderDayContent) {
77
+ return renderDayContent(day);
78
+ }
79
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
80
+ className: "vkuiCalendarDay__day-number",
81
+ children: [
82
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_VisuallyHidden.VisuallyHidden, {
83
+ children: children !== null && children !== void 0 ? children : label
84
+ }),
85
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
86
+ "aria-hidden": true,
87
+ children: day.getDate()
88
+ })
89
+ ]
90
+ });
91
+ }, [
92
+ renderDayContent,
93
+ day,
94
+ children,
95
+ label
96
+ ]);
74
97
  if (hidden) {
75
98
  return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
76
99
  className: "vkuiCalendarDay__hidden"
@@ -92,18 +115,7 @@ const CalendarDay = /*#__PURE__*/ _react.memo((_param)=>{
92
115
  className: (0, _vkjs.classNames)("vkuiCalendarDay__hinted", hinted && "vkuiCalendarDay__hinted--active", hintedSelectionStart && "vkuiCalendarDay__hinted--selection-start", hintedSelectionEnd && "vkuiCalendarDay__hinted--selection-end"),
93
116
  children: /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
94
117
  className: (0, _vkjs.classNames)("vkuiCalendarDay__inner", active && !disabled && "vkuiCalendarDay__inner--active"),
95
- children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
96
- className: "vkuiCalendarDay__day-number",
97
- children: [
98
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_VisuallyHidden.VisuallyHidden, {
99
- children: children !== null && children !== void 0 ? children : label
100
- }),
101
- /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
102
- "aria-hidden": true,
103
- children: day.getDate()
104
- })
105
- ]
106
- })
118
+ children: content
107
119
  })
108
120
  })
109
121
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CalendarDay/CalendarDay.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { ENABLE_KEYBOARD_INPUT_EVENT_NAME } from '../../hooks/useKeyboardInputTracker';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { Tappable } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './CalendarDay.module.css';\n\nexport type CalendarDayElementProps = Omit<\n React.AllHTMLAttributes<HTMLElement>,\n 'onChange' | 'size' | 'disabled' | 'selected'\n>;\n\nexport interface CalendarDayProps extends CalendarDayElementProps {\n day: Date;\n today?: boolean;\n selected?: boolean;\n selectionStart?: boolean;\n selectionEnd?: boolean;\n hintedSelectionStart?: boolean;\n hintedSelectionEnd?: boolean;\n active?: boolean;\n hidden?: boolean;\n disabled?: boolean;\n focused?: boolean;\n hinted?: boolean;\n sameMonth?: boolean;\n size?: 's' | 'm';\n onChange: (value: Date) => void;\n onEnter?: (value: Date) => void;\n onLeave?: (value: Date) => void;\n}\n\nexport const CalendarDay: React.FC<CalendarDayProps> = React.memo(\n ({\n day,\n today,\n selected,\n onChange,\n hidden,\n disabled,\n active,\n selectionStart,\n selectionEnd,\n focused,\n onEnter,\n onLeave,\n hinted,\n hintedSelectionStart,\n hintedSelectionEnd,\n sameMonth,\n size,\n className,\n children,\n ...restProps\n }: CalendarDayProps) => {\n const { locale } = useConfigProvider();\n const ref = React.useRef<HTMLElement>(null);\n const onClick = React.useCallback(() => onChange(day), [day, onChange]);\n const handleEnter = React.useCallback(() => onEnter?.(day), [day, onEnter]);\n const handleLeave = React.useCallback(() => onLeave?.(day), [day, onLeave]);\n\n const label = new Intl.DateTimeFormat(locale, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n }).format(day);\n\n React.useEffect(() => {\n if (focused && ref.current) {\n ref.current.dispatchEvent(new Event(ENABLE_KEYBOARD_INPUT_EVENT_NAME, { bubbles: true }));\n ref.current.focus();\n }\n }, [focused]);\n\n if (hidden) {\n return <div className={styles['CalendarDay__hidden']} />;\n }\n\n return (\n <Tappable\n className={classNames(\n styles['CalendarDay'],\n size === 's' && styles['CalendarDay--size-s'],\n today && styles['CalendarDay--today'],\n selected && !disabled && styles['CalendarDay--selected'],\n selectionStart && styles['CalendarDay--selection-start'],\n selectionEnd && styles['CalendarDay--selection-end'],\n disabled && styles['CalendarDay--disabled'],\n !sameMonth && styles['CalendarDay--not-same-month'],\n className,\n )}\n hoverMode={active ? '' : styles['CalendarDay--hover']}\n hasActive={false}\n onClick={onClick}\n disabled={disabled}\n tabIndex={-1}\n getRootRef={ref}\n focusVisibleMode={active ? 'outside' : 'inside'}\n onPointerEnter={handleEnter}\n onPointerLeave={handleLeave}\n {...restProps}\n >\n <div\n className={classNames(\n styles['CalendarDay__hinted'],\n hinted && styles['CalendarDay__hinted--active'],\n hintedSelectionStart && styles['CalendarDay__hinted--selection-start'],\n hintedSelectionEnd && styles['CalendarDay__hinted--selection-end'],\n )}\n >\n <div\n className={classNames(\n styles['CalendarDay__inner'],\n active && !disabled && styles['CalendarDay__inner--active'],\n )}\n >\n <div className={styles['CalendarDay__day-number']}>\n <VisuallyHidden>{children ?? label}</VisuallyHidden>\n <span aria-hidden>{day.getDate()}</span>\n </div>\n </div>\n </div>\n </Tappable>\n );\n },\n);\n\nCalendarDay.displayName = 'CalendarDay';\n"],"names":["CalendarDay","React","memo","day","today","selected","onChange","hidden","disabled","active","selectionStart","selectionEnd","focused","onEnter","onLeave","hinted","hintedSelectionStart","hintedSelectionEnd","sameMonth","size","className","children","restProps","locale","useConfigProvider","ref","useRef","onClick","useCallback","handleEnter","handleLeave","label","Intl","DateTimeFormat","weekday","year","month","format","useEffect","current","dispatchEvent","Event","ENABLE_KEYBOARD_INPUT_EVENT_NAME","bubbles","focus","div","Tappable","classNames","hoverMode","hasActive","tabIndex","getRootRef","focusVisibleMode","onPointerEnter","onPointerLeave","VisuallyHidden","span","aria-hidden","getDate","displayName"],"mappings":";;;;+BAiCaA;;;eAAAA;;;;;;;;iEAjCU;sBACI;yCACsB;uCACf;0BACT;gCACM;AA4BxB,MAAMA,4BAA0CC,OAAMC,IAAI,CAC/D;QAAC,EACCC,GAAG,EACHC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACRC,MAAM,EACNC,QAAQ,EACRC,MAAM,EACNC,cAAc,EACdC,YAAY,EACZC,OAAO,EACPC,OAAO,EACPC,OAAO,EACPC,MAAM,EACNC,oBAAoB,EACpBC,kBAAkB,EAClBC,SAAS,EACTC,IAAI,EACJC,SAAS,EACTC,QAAQ,EAES,WADdC;QAnBHnB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAM,EAAEE,MAAM,EAAE,GAAGC,IAAAA,wCAAiB;IACpC,MAAMC,MAAMxB,OAAMyB,MAAM,CAAc;IACtC,MAAMC,UAAU1B,OAAM2B,WAAW,CAAC,IAAMtB,SAASH,MAAM;QAACA;QAAKG;KAAS;IACtE,MAAMuB,cAAc5B,OAAM2B,WAAW,CAAC,IAAMf,oBAAAA,8BAAAA,QAAUV,MAAM;QAACA;QAAKU;KAAQ;IAC1E,MAAMiB,cAAc7B,OAAM2B,WAAW,CAAC,IAAMd,oBAAAA,8BAAAA,QAAUX,MAAM;QAACA;QAAKW;KAAQ;IAE1E,MAAMiB,QAAQ,IAAIC,KAAKC,cAAc,CAACV,QAAQ;QAC5CW,SAAS;QACTC,MAAM;QACNC,OAAO;QACPjC,KAAK;IACP,GAAGkC,MAAM,CAAClC;IAEVF,OAAMqC,SAAS,CAAC;QACd,IAAI1B,WAAWa,IAAIc,OAAO,EAAE;YAC1Bd,IAAIc,OAAO,CAACC,aAAa,CAAC,IAAIC,MAAMC,yDAAgC,EAAE;gBAAEC,SAAS;YAAK;YACtFlB,IAAIc,OAAO,CAACK,KAAK;QACnB;IACF,GAAG;QAAChC;KAAQ;IAEZ,IAAIL,QAAQ;QACV,qBAAO,qBAACsC;YAAIzB,SAAS;;IACvB;IAEA,qBACE,qBAAC0B,kBAAQ;QACP1B,WAAW2B,IAAAA,gBAAU,qBAEnB5B,SAAS,kCACTf,mCACAC,YAAY,CAACG,yCACbE,sDACAC,kDACAH,yCACA,CAACU,gDACDE;QAEF4B,WAAWvC,SAAS;QACpBwC,WAAW;QACXtB,SAASA;QACTnB,UAAUA;QACV0C,UAAU,CAAC;QACXC,YAAY1B;QACZ2B,kBAAkB3C,SAAS,YAAY;QACvC4C,gBAAgBxB;QAChByB,gBAAgBxB;OACZR;kBAEJ,cAAA,qBAACuB;YACCzB,WAAW2B,IAAAA,gBAAU,6BAEnBhC,6CACAC,oEACAC;sBAGF,cAAA,qBAAC4B;gBACCzB,WAAW2B,IAAAA,gBAAU,4BAEnBtC,UAAU,CAACD;0BAGb,cAAA,sBAACqC;oBAAIzB,SAAS;;sCACZ,qBAACmC,8BAAc;sCAAElC,qBAAAA,sBAAAA,WAAYU;;sCAC7B,qBAACyB;4BAAKC,aAAW;sCAAEtD,IAAIuD,OAAO;;;;;;;AAM1C;AAGF1D,YAAY2D,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../src/components/CalendarDay/CalendarDay.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { ENABLE_KEYBOARD_INPUT_EVENT_NAME } from '../../hooks/useKeyboardInputTracker';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { Tappable } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './CalendarDay.module.css';\n\nexport type CalendarDayElementProps = Omit<\n React.AllHTMLAttributes<HTMLElement>,\n 'onChange' | 'size' | 'disabled' | 'selected'\n>;\n\nexport interface CalendarDayProps extends CalendarDayElementProps {\n day: Date;\n today?: boolean;\n selected?: boolean;\n selectionStart?: boolean;\n selectionEnd?: boolean;\n hintedSelectionStart?: boolean;\n hintedSelectionEnd?: boolean;\n active?: boolean;\n hidden?: boolean;\n disabled?: boolean;\n focused?: boolean;\n hinted?: boolean;\n sameMonth?: boolean;\n size?: 's' | 'm';\n onChange: (value: Date) => void;\n onEnter?: (value: Date) => void;\n onLeave?: (value: Date) => void;\n // Функция отрисовки контента в ячейке дня\n renderDayContent?: (day: Date) => React.ReactNode;\n}\n\nexport const CalendarDay: React.FC<CalendarDayProps> = React.memo(\n ({\n day,\n today,\n selected,\n onChange,\n hidden,\n disabled,\n active,\n selectionStart,\n selectionEnd,\n focused,\n onEnter,\n onLeave,\n hinted,\n hintedSelectionStart,\n hintedSelectionEnd,\n sameMonth,\n size,\n className,\n children,\n renderDayContent,\n ...restProps\n }: CalendarDayProps) => {\n const { locale } = useConfigProvider();\n const ref = React.useRef<HTMLElement>(null);\n const onClick = React.useCallback(() => onChange(day), [day, onChange]);\n const handleEnter = React.useCallback(() => onEnter?.(day), [day, onEnter]);\n const handleLeave = React.useCallback(() => onLeave?.(day), [day, onLeave]);\n\n const label = new Intl.DateTimeFormat(locale, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n }).format(day);\n\n React.useEffect(() => {\n if (focused && ref.current) {\n ref.current.dispatchEvent(new Event(ENABLE_KEYBOARD_INPUT_EVENT_NAME, { bubbles: true }));\n ref.current.focus();\n }\n }, [focused]);\n\n const content = React.useMemo(() => {\n if (renderDayContent) {\n return renderDayContent(day);\n }\n return (\n <div className={styles['CalendarDay__day-number']}>\n <VisuallyHidden>{children ?? label}</VisuallyHidden>\n <span aria-hidden>{day.getDate()}</span>\n </div>\n );\n }, [renderDayContent, day, children, label]);\n\n if (hidden) {\n return <div className={styles['CalendarDay__hidden']} />;\n }\n\n return (\n <Tappable\n className={classNames(\n styles['CalendarDay'],\n size === 's' && styles['CalendarDay--size-s'],\n today && styles['CalendarDay--today'],\n selected && !disabled && styles['CalendarDay--selected'],\n selectionStart && styles['CalendarDay--selection-start'],\n selectionEnd && styles['CalendarDay--selection-end'],\n disabled && styles['CalendarDay--disabled'],\n !sameMonth && styles['CalendarDay--not-same-month'],\n className,\n )}\n hoverMode={active ? '' : styles['CalendarDay--hover']}\n hasActive={false}\n onClick={onClick}\n disabled={disabled}\n tabIndex={-1}\n getRootRef={ref}\n focusVisibleMode={active ? 'outside' : 'inside'}\n onPointerEnter={handleEnter}\n onPointerLeave={handleLeave}\n {...restProps}\n >\n <div\n className={classNames(\n styles['CalendarDay__hinted'],\n hinted && styles['CalendarDay__hinted--active'],\n hintedSelectionStart && styles['CalendarDay__hinted--selection-start'],\n hintedSelectionEnd && styles['CalendarDay__hinted--selection-end'],\n )}\n >\n <div\n className={classNames(\n styles['CalendarDay__inner'],\n active && !disabled && styles['CalendarDay__inner--active'],\n )}\n >\n {content}\n </div>\n </div>\n </Tappable>\n );\n },\n);\n\nCalendarDay.displayName = 'CalendarDay';\n"],"names":["CalendarDay","React","memo","day","today","selected","onChange","hidden","disabled","active","selectionStart","selectionEnd","focused","onEnter","onLeave","hinted","hintedSelectionStart","hintedSelectionEnd","sameMonth","size","className","children","renderDayContent","restProps","locale","useConfigProvider","ref","useRef","onClick","useCallback","handleEnter","handleLeave","label","Intl","DateTimeFormat","weekday","year","month","format","useEffect","current","dispatchEvent","Event","ENABLE_KEYBOARD_INPUT_EVENT_NAME","bubbles","focus","content","useMemo","div","VisuallyHidden","span","aria-hidden","getDate","Tappable","classNames","hoverMode","hasActive","tabIndex","getRootRef","focusVisibleMode","onPointerEnter","onPointerLeave","displayName"],"mappings":";;;;+BAmCaA;;;eAAAA;;;;;;;;iEAnCU;sBACI;yCACsB;uCACf;0BACT;gCACM;AA8BxB,MAAMA,4BAA0CC,OAAMC,IAAI,CAC/D;QAAC,EACCC,GAAG,EACHC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACRC,MAAM,EACNC,QAAQ,EACRC,MAAM,EACNC,cAAc,EACdC,YAAY,EACZC,OAAO,EACPC,OAAO,EACPC,OAAO,EACPC,MAAM,EACNC,oBAAoB,EACpBC,kBAAkB,EAClBC,SAAS,EACTC,IAAI,EACJC,SAAS,EACTC,QAAQ,EACRC,gBAAgB,EAEC,WADdC;QApBHpB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAM,EAAEE,MAAM,EAAE,GAAGC,IAAAA,wCAAiB;IACpC,MAAMC,MAAMzB,OAAM0B,MAAM,CAAc;IACtC,MAAMC,UAAU3B,OAAM4B,WAAW,CAAC,IAAMvB,SAASH,MAAM;QAACA;QAAKG;KAAS;IACtE,MAAMwB,cAAc7B,OAAM4B,WAAW,CAAC,IAAMhB,oBAAAA,8BAAAA,QAAUV,MAAM;QAACA;QAAKU;KAAQ;IAC1E,MAAMkB,cAAc9B,OAAM4B,WAAW,CAAC,IAAMf,oBAAAA,8BAAAA,QAAUX,MAAM;QAACA;QAAKW;KAAQ;IAE1E,MAAMkB,QAAQ,IAAIC,KAAKC,cAAc,CAACV,QAAQ;QAC5CW,SAAS;QACTC,MAAM;QACNC,OAAO;QACPlC,KAAK;IACP,GAAGmC,MAAM,CAACnC;IAEVF,OAAMsC,SAAS,CAAC;QACd,IAAI3B,WAAWc,IAAIc,OAAO,EAAE;YAC1Bd,IAAIc,OAAO,CAACC,aAAa,CAAC,IAAIC,MAAMC,yDAAgC,EAAE;gBAAEC,SAAS;YAAK;YACtFlB,IAAIc,OAAO,CAACK,KAAK;QACnB;IACF,GAAG;QAACjC;KAAQ;IAEZ,MAAMkC,UAAU7C,OAAM8C,OAAO,CAAC;QAC5B,IAAIzB,kBAAkB;YACpB,OAAOA,iBAAiBnB;QAC1B;QACA,qBACE,sBAAC6C;YAAI5B,SAAS;;8BACZ,qBAAC6B,8BAAc;8BAAE5B,qBAAAA,sBAAAA,WAAYW;;8BAC7B,qBAACkB;oBAAKC,aAAW;8BAAEhD,IAAIiD,OAAO;;;;IAGpC,GAAG;QAAC9B;QAAkBnB;QAAKkB;QAAUW;KAAM;IAE3C,IAAIzB,QAAQ;QACV,qBAAO,qBAACyC;YAAI5B,SAAS;;IACvB;IAEA,qBACE,qBAACiC,kBAAQ;QACPjC,WAAWkC,IAAAA,gBAAU,qBAEnBnC,SAAS,kCACTf,mCACAC,YAAY,CAACG,yCACbE,sDACAC,kDACAH,yCACA,CAACU,gDACDE;QAEFmC,WAAW9C,SAAS;QACpB+C,WAAW;QACX5B,SAASA;QACTpB,UAAUA;QACViD,UAAU,CAAC;QACXC,YAAYhC;QACZiC,kBAAkBlD,SAAS,YAAY;QACvCmD,gBAAgB9B;QAChB+B,gBAAgB9B;OACZR;kBAEJ,cAAA,qBAACyB;YACC5B,WAAWkC,IAAAA,gBAAU,6BAEnBvC,6CACAC,oEACAC;sBAGF,cAAA,qBAAC+B;gBACC5B,WAAWkC,IAAAA,gBAAU,4BAEnB7C,UAAU,CAACD;0BAGZsC;;;;AAKX;AAGF9C,YAAY8D,WAAW,GAAG"}
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import type { HTMLAttributesWithRootRef } from '../../types';
3
- import { type CalendarDayElementProps } from '../CalendarDay/CalendarDay';
4
- export interface CalendarDaysProps extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'> {
3
+ import { type CalendarDayElementProps, type CalendarDayProps } from '../CalendarDay/CalendarDay';
4
+ export interface CalendarDaysProps extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'>, Pick<CalendarDayProps, 'renderDayContent'> {
5
5
  value?: Date | Array<Date | null>;
6
6
  viewDate: Date;
7
7
  weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6;
@@ -22,5 +22,5 @@ export interface CalendarDaysProps extends Omit<HTMLAttributesWithRootRef<HTMLDi
22
22
  onDayEnter?: (value: Date) => void;
23
23
  onDayLeave?: (value: Date) => void;
24
24
  }
25
- export declare const CalendarDays: ({ viewDate, value, weekStartsOn, onDayChange, isDaySelected, isDayActive, isDaySelectionEnd, isDaySelectionStart, onDayEnter, onDayLeave, isDayHinted, isHintedDaySelectionStart, isHintedDaySelectionEnd, isDayFocused, isDayDisabled, size, showNeighboringMonth, dayProps, listenDayChangesForUpdate, getRootRef, ...props }: CalendarDaysProps) => React.ReactNode;
25
+ export declare const CalendarDays: ({ viewDate, value, weekStartsOn, onDayChange, isDaySelected, isDayActive, isDaySelectionEnd, isDaySelectionStart, onDayEnter, onDayLeave, isDayHinted, isHintedDaySelectionStart, isHintedDaySelectionEnd, isDayFocused, isDayDisabled, size, showNeighboringMonth, dayProps, listenDayChangesForUpdate, getRootRef, renderDayContent, ...props }: CalendarDaysProps) => React.ReactNode;
26
26
  //# sourceMappingURL=CalendarDays.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDays.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarDays/CalendarDays.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAe,KAAK,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAMvF,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACnE,KAAK,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAClC,QAAQ,EAAE,IAAI,CAAC;IACf,YAAY,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;IACxC,mBAAmB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACjE,iBAAiB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/D,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACxE,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACtE,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;IACvC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;IACzC,YAAY,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;IACvC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,YAAY,oUAsBtB,iBAAiB,KAAG,KAAK,CAAC,SA0E5B,CAAC"}
1
+ {"version":3,"file":"CalendarDays.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarDays/CalendarDays.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACtB,MAAM,4BAA4B,CAAC;AAMpC,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,EACjE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;IAC5C,KAAK,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAClC,QAAQ,EAAE,IAAI,CAAC;IACf,YAAY,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;IACxC,mBAAmB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACjE,iBAAiB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/D,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACxE,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACtE,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;IACvC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;IACzC,YAAY,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;IACvC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,YAAY,sVAuBtB,iBAAiB,KAAG,KAAK,CAAC,SA2E5B,CAAC"}
@@ -24,7 +24,7 @@ const _ConfigProviderContext = require("../ConfigProvider/ConfigProviderContext"
24
24
  const _RootComponent = require("../RootComponent/RootComponent");
25
25
  const _Footnote = require("../Typography/Footnote/Footnote");
26
26
  const CalendarDays = (_param)=>{
27
- var { viewDate, value, weekStartsOn, onDayChange, isDaySelected, isDayActive, isDaySelectionEnd, isDaySelectionStart, onDayEnter, onDayLeave, isDayHinted, isHintedDaySelectionStart, isHintedDaySelectionEnd, isDayFocused, isDayDisabled, size, showNeighboringMonth = false, dayProps, listenDayChangesForUpdate = false, getRootRef } = _param, props = _object_without_properties._(_param, [
27
+ var { viewDate, value, weekStartsOn, onDayChange, isDaySelected, isDayActive, isDaySelectionEnd, isDaySelectionStart, onDayEnter, onDayLeave, isDayHinted, isHintedDaySelectionStart, isHintedDaySelectionEnd, isDayFocused, isDayDisabled, size, showNeighboringMonth = false, dayProps, listenDayChangesForUpdate = false, getRootRef, renderDayContent } = _param, props = _object_without_properties._(_param, [
28
28
  "viewDate",
29
29
  "value",
30
30
  "weekStartsOn",
@@ -44,7 +44,8 @@ const CalendarDays = (_param)=>{
44
44
  "showNeighboringMonth",
45
45
  "dayProps",
46
46
  "listenDayChangesForUpdate",
47
- "getRootRef"
47
+ "getRootRef",
48
+ "renderDayContent"
48
49
  ]);
49
50
  const { locale } = (0, _ConfigProviderContext.useConfigProvider)();
50
51
  const ref = (0, _useExternRef.useExternRef)(getRootRef);
@@ -98,7 +99,8 @@ const CalendarDays = (_param)=>{
98
99
  onLeave: onDayLeave,
99
100
  hinted: isDayHinted === null || isDayHinted === void 0 ? void 0 : isDayHinted(day),
100
101
  sameMonth: sameMonth,
101
- size: size
102
+ size: size,
103
+ renderDayContent: renderDayContent
102
104
  }, dayProps), day.toISOString());
103
105
  })
104
106
  }, i))
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { isSameDay, isSameMonth } from 'date-fns';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useTodayDate } from '../../hooks/useTodayDate';\nimport { getDaysNames, getWeeks } from '../../lib/calendar';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { CalendarDay, type CalendarDayElementProps } from '../CalendarDay/CalendarDay';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport styles from './CalendarDays.module.css';\n\nexport interface CalendarDaysProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'> {\n value?: Date | Array<Date | null>;\n viewDate: Date;\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n showNeighboringMonth?: boolean;\n size?: 's' | 'm';\n dayProps?: CalendarDayElementProps;\n listenDayChangesForUpdate?: boolean;\n onDayChange: (value: Date) => void;\n isDayDisabled: (value: Date) => boolean;\n isDaySelectionStart: (value: Date, dayOfWeek: number) => boolean;\n isDaySelectionEnd: (value: Date, dayOfWeek: number) => boolean;\n isHintedDaySelectionStart?: (value: Date, dayOfWeek: number) => boolean;\n isHintedDaySelectionEnd?: (value: Date, dayOfWeek: number) => boolean;\n isDayActive: (value: Date) => boolean;\n isDayHinted?: (value: Date) => boolean;\n isDaySelected?: (value: Date) => boolean;\n isDayFocused: (value: Date) => boolean;\n onDayEnter?: (value: Date) => void;\n onDayLeave?: (value: Date) => void;\n}\n\nexport const CalendarDays = ({\n viewDate,\n value,\n weekStartsOn,\n onDayChange,\n isDaySelected,\n isDayActive,\n isDaySelectionEnd,\n isDaySelectionStart,\n onDayEnter,\n onDayLeave,\n isDayHinted,\n isHintedDaySelectionStart,\n isHintedDaySelectionEnd,\n isDayFocused,\n isDayDisabled,\n size,\n showNeighboringMonth = false,\n dayProps,\n listenDayChangesForUpdate = false,\n getRootRef,\n ...props\n}: CalendarDaysProps): React.ReactNode => {\n const { locale } = useConfigProvider();\n const ref = useExternRef(getRootRef);\n const now = useTodayDate(listenDayChangesForUpdate);\n\n const weeks = React.useMemo(() => getWeeks(viewDate, weekStartsOn), [weekStartsOn, viewDate]);\n\n const daysNames = React.useMemo(\n () => getDaysNames(now, weekStartsOn, locale),\n [locale, now, weekStartsOn],\n );\n\n const handleDayChange = React.useCallback(\n (date: Date) => {\n onDayChange(date);\n\n ref.current?.focus();\n },\n [onDayChange, ref],\n );\n\n return (\n <RootComponent {...props} baseClassName={styles['CalendarDays']} getRootRef={ref}>\n <div\n className={classNames(\n styles['CalendarDays__row'],\n size === 's' && styles['CalendarDays__row--size-s'],\n )}\n >\n {daysNames.map((dayName) => (\n <Footnote key={dayName} className={styles['CalendarDays__weekday']}>\n {dayName}\n </Footnote>\n ))}\n </div>\n\n {weeks.map((week, i) => (\n <div\n className={classNames(\n styles['CalendarDays__row'],\n size === 's' && styles['CalendarDays__row--size-s'],\n )}\n key={i}\n >\n {week.map((day, i) => {\n const sameMonth = isSameMonth(day, viewDate);\n return (\n <CalendarDay\n key={day.toISOString()}\n day={day}\n today={isSameDay(day, now)}\n active={isDayActive(day)}\n onChange={handleDayChange}\n hidden={!showNeighboringMonth && !sameMonth}\n disabled={isDayDisabled(day)}\n selectionStart={isDaySelectionStart(day, i)}\n selectionEnd={isDaySelectionEnd(day, i)}\n hintedSelectionStart={isHintedDaySelectionStart?.(day, i)}\n hintedSelectionEnd={isHintedDaySelectionEnd?.(day, i)}\n selected={isDaySelected?.(day)}\n focused={isDayFocused(day)}\n onEnter={onDayEnter}\n onLeave={onDayLeave}\n hinted={isDayHinted?.(day)}\n sameMonth={sameMonth}\n size={size}\n {...dayProps}\n />\n );\n })}\n </div>\n ))}\n </RootComponent>\n );\n};\n"],"names":["CalendarDays","viewDate","value","weekStartsOn","onDayChange","isDaySelected","isDayActive","isDaySelectionEnd","isDaySelectionStart","onDayEnter","onDayLeave","isDayHinted","isHintedDaySelectionStart","isHintedDaySelectionEnd","isDayFocused","isDayDisabled","size","showNeighboringMonth","dayProps","listenDayChangesForUpdate","getRootRef","props","locale","useConfigProvider","ref","useExternRef","now","useTodayDate","weeks","React","useMemo","getWeeks","daysNames","getDaysNames","handleDayChange","useCallback","date","current","focus","RootComponent","baseClassName","div","className","classNames","map","dayName","Footnote","week","i","day","sameMonth","isSameMonth","CalendarDay","today","isSameDay","active","onChange","hidden","disabled","selectionStart","selectionEnd","hintedSelectionStart","hintedSelectionEnd","selected","focused","onEnter","onLeave","hinted","toISOString"],"mappings":";;;;+BAoCaA;;;eAAAA;;;;;;;;iEApCU;sBACI;yBACY;8BACV;8BACA;0BACU;6BAEmB;uCACxB;+BACJ;0BACL;AA0BlB,MAAMA,eAAe;QAAC,EAC3BC,QAAQ,EACRC,KAAK,EACLC,YAAY,EACZC,WAAW,EACXC,aAAa,EACbC,WAAW,EACXC,iBAAiB,EACjBC,mBAAmB,EACnBC,UAAU,EACVC,UAAU,EACVC,WAAW,EACXC,yBAAyB,EACzBC,uBAAuB,EACvBC,YAAY,EACZC,aAAa,EACbC,IAAI,EACJC,uBAAuB,KAAK,EAC5BC,QAAQ,EACRC,4BAA4B,KAAK,EACjCC,UAAU,EAEQ,WADfC;QApBHpB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAM,EAAEE,MAAM,EAAE,GAAGC,IAAAA,wCAAiB;IACpC,MAAMC,MAAMC,IAAAA,0BAAY,EAACL;IACzB,MAAMM,MAAMC,IAAAA,0BAAY,EAACR;IAEzB,MAAMS,QAAQC,OAAMC,OAAO,CAAC,IAAMC,IAAAA,kBAAQ,EAAC9B,UAAUE,eAAe;QAACA;QAAcF;KAAS;IAE5F,MAAM+B,YAAYH,OAAMC,OAAO,CAC7B,IAAMG,IAAAA,sBAAY,EAACP,KAAKvB,cAAcmB,SACtC;QAACA;QAAQI;QAAKvB;KAAa;IAG7B,MAAM+B,kBAAkBL,OAAMM,WAAW,CACvC,CAACC;YAGCZ;QAFApB,YAAYgC;SAEZZ,eAAAA,IAAIa,OAAO,cAAXb,mCAAAA,aAAac,KAAK;IACpB,GACA;QAAClC;QAAaoB;KAAI;IAGpB,qBACE,sBAACe,4BAAa,8CAAKlB;QAAOmB,aAAa;QAA0BpB,YAAYI;;0BAC3E,qBAACiB;gBACCC,WAAWC,IAAAA,gBAAU,2BAEnB3B,SAAS;0BAGVgB,UAAUY,GAAG,CAAC,CAACC,wBACd,qBAACC,kBAAQ;wBAAeJ,SAAS;kCAC9BG;uBADYA;;YAMlBjB,MAAMgB,GAAG,CAAC,CAACG,MAAMC,kBAChB,qBAACP;oBACCC,WAAWC,IAAAA,gBAAU,2BAEnB3B,SAAS;8BAIV+B,KAAKH,GAAG,CAAC,CAACK,KAAKD;wBACd,MAAME,YAAYC,IAAAA,oBAAW,EAACF,KAAKhD;wBACnC,qBACE,qBAACmD,wBAAW;4BAEVH,KAAKA;4BACLI,OAAOC,IAAAA,kBAAS,EAACL,KAAKvB;4BACtB6B,QAAQjD,YAAY2C;4BACpBO,UAAUtB;4BACVuB,QAAQ,CAACxC,wBAAwB,CAACiC;4BAClCQ,UAAU3C,cAAckC;4BACxBU,gBAAgBnD,oBAAoByC,KAAKD;4BACzCY,cAAcrD,kBAAkB0C,KAAKD;4BACrCa,oBAAoB,EAAEjD,sCAAAA,gDAAAA,0BAA4BqC,KAAKD;4BACvDc,kBAAkB,EAAEjD,oCAAAA,8CAAAA,wBAA0BoC,KAAKD;4BACnDe,QAAQ,EAAE1D,0BAAAA,oCAAAA,cAAgB4C;4BAC1Be,SAASlD,aAAamC;4BACtBgB,SAASxD;4BACTyD,SAASxD;4BACTyD,MAAM,EAAExD,wBAAAA,kCAAAA,YAAcsC;4BACtBC,WAAWA;4BACXlC,MAAMA;2BACFE,WAlBC+B,IAAImB,WAAW;oBAqB1B;mBA3BKpB;;;AAgCf"}
1
+ {"version":3,"sources":["../../../../src/components/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { isSameDay, isSameMonth } from 'date-fns';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useTodayDate } from '../../hooks/useTodayDate';\nimport { getDaysNames, getWeeks } from '../../lib/calendar';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport {\n CalendarDay,\n type CalendarDayElementProps,\n type CalendarDayProps,\n} from '../CalendarDay/CalendarDay';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport styles from './CalendarDays.module.css';\n\nexport interface CalendarDaysProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'>,\n Pick<CalendarDayProps, 'renderDayContent'> {\n value?: Date | Array<Date | null>;\n viewDate: Date;\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n showNeighboringMonth?: boolean;\n size?: 's' | 'm';\n dayProps?: CalendarDayElementProps;\n listenDayChangesForUpdate?: boolean;\n onDayChange: (value: Date) => void;\n isDayDisabled: (value: Date) => boolean;\n isDaySelectionStart: (value: Date, dayOfWeek: number) => boolean;\n isDaySelectionEnd: (value: Date, dayOfWeek: number) => boolean;\n isHintedDaySelectionStart?: (value: Date, dayOfWeek: number) => boolean;\n isHintedDaySelectionEnd?: (value: Date, dayOfWeek: number) => boolean;\n isDayActive: (value: Date) => boolean;\n isDayHinted?: (value: Date) => boolean;\n isDaySelected?: (value: Date) => boolean;\n isDayFocused: (value: Date) => boolean;\n onDayEnter?: (value: Date) => void;\n onDayLeave?: (value: Date) => void;\n}\n\nexport const CalendarDays = ({\n viewDate,\n value,\n weekStartsOn,\n onDayChange,\n isDaySelected,\n isDayActive,\n isDaySelectionEnd,\n isDaySelectionStart,\n onDayEnter,\n onDayLeave,\n isDayHinted,\n isHintedDaySelectionStart,\n isHintedDaySelectionEnd,\n isDayFocused,\n isDayDisabled,\n size,\n showNeighboringMonth = false,\n dayProps,\n listenDayChangesForUpdate = false,\n getRootRef,\n renderDayContent,\n ...props\n}: CalendarDaysProps): React.ReactNode => {\n const { locale } = useConfigProvider();\n const ref = useExternRef(getRootRef);\n const now = useTodayDate(listenDayChangesForUpdate);\n\n const weeks = React.useMemo(() => getWeeks(viewDate, weekStartsOn), [weekStartsOn, viewDate]);\n\n const daysNames = React.useMemo(\n () => getDaysNames(now, weekStartsOn, locale),\n [locale, now, weekStartsOn],\n );\n\n const handleDayChange = React.useCallback(\n (date: Date) => {\n onDayChange(date);\n\n ref.current?.focus();\n },\n [onDayChange, ref],\n );\n\n return (\n <RootComponent {...props} baseClassName={styles['CalendarDays']} getRootRef={ref}>\n <div\n className={classNames(\n styles['CalendarDays__row'],\n size === 's' && styles['CalendarDays__row--size-s'],\n )}\n >\n {daysNames.map((dayName) => (\n <Footnote key={dayName} className={styles['CalendarDays__weekday']}>\n {dayName}\n </Footnote>\n ))}\n </div>\n\n {weeks.map((week, i) => (\n <div\n className={classNames(\n styles['CalendarDays__row'],\n size === 's' && styles['CalendarDays__row--size-s'],\n )}\n key={i}\n >\n {week.map((day, i) => {\n const sameMonth = isSameMonth(day, viewDate);\n return (\n <CalendarDay\n key={day.toISOString()}\n day={day}\n today={isSameDay(day, now)}\n active={isDayActive(day)}\n onChange={handleDayChange}\n hidden={!showNeighboringMonth && !sameMonth}\n disabled={isDayDisabled(day)}\n selectionStart={isDaySelectionStart(day, i)}\n selectionEnd={isDaySelectionEnd(day, i)}\n hintedSelectionStart={isHintedDaySelectionStart?.(day, i)}\n hintedSelectionEnd={isHintedDaySelectionEnd?.(day, i)}\n selected={isDaySelected?.(day)}\n focused={isDayFocused(day)}\n onEnter={onDayEnter}\n onLeave={onDayLeave}\n hinted={isDayHinted?.(day)}\n sameMonth={sameMonth}\n size={size}\n renderDayContent={renderDayContent}\n {...dayProps}\n />\n );\n })}\n </div>\n ))}\n </RootComponent>\n );\n};\n"],"names":["CalendarDays","viewDate","value","weekStartsOn","onDayChange","isDaySelected","isDayActive","isDaySelectionEnd","isDaySelectionStart","onDayEnter","onDayLeave","isDayHinted","isHintedDaySelectionStart","isHintedDaySelectionEnd","isDayFocused","isDayDisabled","size","showNeighboringMonth","dayProps","listenDayChangesForUpdate","getRootRef","renderDayContent","props","locale","useConfigProvider","ref","useExternRef","now","useTodayDate","weeks","React","useMemo","getWeeks","daysNames","getDaysNames","handleDayChange","useCallback","date","current","focus","RootComponent","baseClassName","div","className","classNames","map","dayName","Footnote","week","i","day","sameMonth","isSameMonth","CalendarDay","today","isSameDay","active","onChange","hidden","disabled","selectionStart","selectionEnd","hintedSelectionStart","hintedSelectionEnd","selected","focused","onEnter","onLeave","hinted","toISOString"],"mappings":";;;;+BAyCaA;;;eAAAA;;;;;;;;iEAzCU;sBACI;yBACY;8BACV;8BACA;0BACU;6BAMhC;uCAC2B;+BACJ;0BACL;AA2BlB,MAAMA,eAAe;QAAC,EAC3BC,QAAQ,EACRC,KAAK,EACLC,YAAY,EACZC,WAAW,EACXC,aAAa,EACbC,WAAW,EACXC,iBAAiB,EACjBC,mBAAmB,EACnBC,UAAU,EACVC,UAAU,EACVC,WAAW,EACXC,yBAAyB,EACzBC,uBAAuB,EACvBC,YAAY,EACZC,aAAa,EACbC,IAAI,EACJC,uBAAuB,KAAK,EAC5BC,QAAQ,EACRC,4BAA4B,KAAK,EACjCC,UAAU,EACVC,gBAAgB,EAEE,WADfC;QArBHrB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAM,EAAEE,MAAM,EAAE,GAAGC,IAAAA,wCAAiB;IACpC,MAAMC,MAAMC,IAAAA,0BAAY,EAACN;IACzB,MAAMO,MAAMC,IAAAA,0BAAY,EAACT;IAEzB,MAAMU,QAAQC,OAAMC,OAAO,CAAC,IAAMC,IAAAA,kBAAQ,EAAC/B,UAAUE,eAAe;QAACA;QAAcF;KAAS;IAE5F,MAAMgC,YAAYH,OAAMC,OAAO,CAC7B,IAAMG,IAAAA,sBAAY,EAACP,KAAKxB,cAAcoB,SACtC;QAACA;QAAQI;QAAKxB;KAAa;IAG7B,MAAMgC,kBAAkBL,OAAMM,WAAW,CACvC,CAACC;YAGCZ;QAFArB,YAAYiC;SAEZZ,eAAAA,IAAIa,OAAO,cAAXb,mCAAAA,aAAac,KAAK;IACpB,GACA;QAACnC;QAAaqB;KAAI;IAGpB,qBACE,sBAACe,4BAAa,8CAAKlB;QAAOmB,aAAa;QAA0BrB,YAAYK;;0BAC3E,qBAACiB;gBACCC,WAAWC,IAAAA,gBAAU,2BAEnB5B,SAAS;0BAGViB,UAAUY,GAAG,CAAC,CAACC,wBACd,qBAACC,kBAAQ;wBAAeJ,SAAS;kCAC9BG;uBADYA;;YAMlBjB,MAAMgB,GAAG,CAAC,CAACG,MAAMC,kBAChB,qBAACP;oBACCC,WAAWC,IAAAA,gBAAU,2BAEnB5B,SAAS;8BAIVgC,KAAKH,GAAG,CAAC,CAACK,KAAKD;wBACd,MAAME,YAAYC,IAAAA,oBAAW,EAACF,KAAKjD;wBACnC,qBACE,qBAACoD,wBAAW;4BAEVH,KAAKA;4BACLI,OAAOC,IAAAA,kBAAS,EAACL,KAAKvB;4BACtB6B,QAAQlD,YAAY4C;4BACpBO,UAAUtB;4BACVuB,QAAQ,CAACzC,wBAAwB,CAACkC;4BAClCQ,UAAU5C,cAAcmC;4BACxBU,gBAAgBpD,oBAAoB0C,KAAKD;4BACzCY,cAActD,kBAAkB2C,KAAKD;4BACrCa,oBAAoB,EAAElD,sCAAAA,gDAAAA,0BAA4BsC,KAAKD;4BACvDc,kBAAkB,EAAElD,oCAAAA,8CAAAA,wBAA0BqC,KAAKD;4BACnDe,QAAQ,EAAE3D,0BAAAA,oCAAAA,cAAgB6C;4BAC1Be,SAASnD,aAAaoC;4BACtBgB,SAASzD;4BACT0D,SAASzD;4BACT0D,MAAM,EAAEzD,wBAAAA,kCAAAA,YAAcuC;4BACtBC,WAAWA;4BACXnC,MAAMA;4BACNK,kBAAkBA;2BACdH,WAnBCgC,IAAImB,WAAW;oBAsB1B;mBA5BKpB;;;AAiCf"}
@@ -3,7 +3,7 @@ import type { HTMLAttributesWithRootRef } from '../../types';
3
3
  import { type CalendarDaysProps } from '../CalendarDays/CalendarDays';
4
4
  import { type CalendarHeaderProps } from '../CalendarHeader/CalendarHeader';
5
5
  export type DateRangeType = [Date | null, Date | null];
6
- export interface CalendarRangeProps extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'>, Pick<CalendarHeaderProps, 'prevMonthLabel' | 'nextMonthLabel' | 'changeMonthLabel' | 'changeYearLabel' | 'prevMonthIcon' | 'nextMonthIcon'>, Pick<CalendarDaysProps, 'listenDayChangesForUpdate'> {
6
+ export interface CalendarRangeProps extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'>, Pick<CalendarHeaderProps, 'prevMonthLabel' | 'nextMonthLabel' | 'changeMonthLabel' | 'changeYearLabel' | 'prevMonthIcon' | 'nextMonthIcon'>, Pick<CalendarDaysProps, 'listenDayChangesForUpdate' | 'renderDayContent'> {
7
7
  value?: DateRangeType;
8
8
  disablePast?: boolean;
9
9
  disableFuture?: boolean;
@@ -17,5 +17,5 @@ export interface CalendarRangeProps extends Omit<HTMLAttributesWithRootRef<HTMLD
17
17
  /**
18
18
  * @see https://vkcom.github.io/VKUI/#/CalendarRange
19
19
  */
20
- export declare const CalendarRange: ({ value, onChange, disablePast, disableFuture, shouldDisableDate, onClose, weekStartsOn, disablePickers, prevMonthLabel, nextMonthLabel, changeMonthLabel, changeYearLabel, changeDayLabel, prevMonthIcon, nextMonthIcon, listenDayChangesForUpdate, ...props }: CalendarRangeProps) => React.ReactNode;
20
+ export declare const CalendarRange: ({ value, onChange, disablePast, disableFuture, shouldDisableDate, onClose, weekStartsOn, disablePickers, prevMonthLabel, nextMonthLabel, changeMonthLabel, changeYearLabel, changeDayLabel, prevMonthIcon, nextMonthIcon, listenDayChangesForUpdate, renderDayContent, ...props }: CalendarRangeProps) => React.ReactNode;
21
21
  //# sourceMappingURL=CalendarRange.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarRange.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarRange/CalendarRange.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAI5F,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;AAEvD,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,EACjE,IAAI,CACF,mBAAmB,EACjB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,eAAe,GACf,eAAe,CAClB,EACD,IAAI,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;IACtD,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAUD;;GAEG;AACH,eAAO,MAAM,aAAa,oQAkBvB,kBAAkB,KAAG,KAAK,CAAC,SAkM7B,CAAC"}
1
+ {"version":3,"file":"CalendarRange.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarRange/CalendarRange.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAI5F,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;AAEvD,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,EACjE,IAAI,CACF,mBAAmB,EACjB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,eAAe,GACf,eAAe,CAClB,EACD,IAAI,CAAC,iBAAiB,EAAE,2BAA2B,GAAG,kBAAkB,CAAC;IAC3E,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAUD;;GAEG;AACH,eAAO,MAAM,aAAa,sRAmBvB,kBAAkB,KAAG,KAAK,CAAC,SAoM7B,CAAC"}