@vkontakte/vkui 4.30.0 → 4.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +38 -27
  4. package/.cache/ts/src/components/Calendar/Calendar.d.ts +1 -1
  5. package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +2 -0
  6. package/.cache/ts/src/components/CalendarRange/CalendarRange.d.ts +1 -1
  7. package/.cache/ts/src/components/DateInput/DateInput.d.ts +1 -1
  8. package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  9. package/.cache/ts/src/hooks/useAdaptivity.d.ts +1 -0
  10. package/.cache/ts/src/index.d.ts +1 -0
  11. package/dist/cjs/components/ActionSheet/ActionSheet.js +2 -9
  12. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  13. package/dist/cjs/components/Calendar/Calendar.d.ts +1 -1
  14. package/dist/cjs/components/Calendar/Calendar.js +6 -2
  15. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  16. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +2 -0
  17. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +15 -9
  18. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  19. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +1 -1
  20. package/dist/cjs/components/CalendarRange/CalendarRange.js +7 -3
  21. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  22. package/dist/cjs/components/DateInput/DateInput.d.ts +1 -1
  23. package/dist/cjs/components/DateInput/DateInput.js +7 -3
  24. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  25. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  26. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +6 -2
  27. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  28. package/dist/cjs/components/ModalCard/ModalCard.js +3 -1
  29. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  30. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +4 -2
  31. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  32. package/dist/cjs/components/ModalPage/ModalPage.js +6 -2
  33. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  34. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +2 -10
  35. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  36. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js +3 -4
  37. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  38. package/dist/cjs/components/PanelHeader/PanelHeader.js +8 -6
  39. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  40. package/dist/cjs/components/PopoutRoot/PopoutRoot.js +3 -1
  41. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  42. package/dist/cjs/hooks/useAdaptivity.d.ts +1 -0
  43. package/dist/cjs/hooks/useAdaptivity.js +18 -1
  44. package/dist/cjs/hooks/useAdaptivity.js.map +1 -1
  45. package/dist/cjs/index.d.ts +1 -0
  46. package/dist/cjs/index.js +8 -0
  47. package/dist/cjs/index.js.map +1 -1
  48. package/dist/components/ActionSheet/ActionSheet.js +2 -8
  49. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  50. package/dist/components/Calendar/Calendar.d.ts +1 -1
  51. package/dist/components/Calendar/Calendar.js +6 -2
  52. package/dist/components/Calendar/Calendar.js.map +1 -1
  53. package/dist/components/CalendarHeader/CalendarHeader.d.ts +2 -0
  54. package/dist/components/CalendarHeader/CalendarHeader.js +15 -9
  55. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  56. package/dist/components/CalendarRange/CalendarRange.d.ts +1 -1
  57. package/dist/components/CalendarRange/CalendarRange.js +7 -3
  58. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  59. package/dist/components/DateInput/DateInput.d.ts +1 -1
  60. package/dist/components/DateInput/DateInput.js +7 -3
  61. package/dist/components/DateInput/DateInput.js.map +1 -1
  62. package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  63. package/dist/components/DateRangeInput/DateRangeInput.js +6 -2
  64. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  65. package/dist/components/ModalCard/ModalCard.js +3 -2
  66. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  67. package/dist/components/ModalCardBase/ModalCardBase.js +5 -4
  68. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  69. package/dist/components/ModalPage/ModalPage.js +5 -3
  70. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  71. package/dist/components/ModalPageHeader/ModalPageHeader.js +2 -9
  72. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  73. package/dist/components/ModalRoot/ModalRootAdaptive.js +3 -5
  74. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  75. package/dist/components/PanelHeader/PanelHeader.js +8 -6
  76. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  77. package/dist/components/PopoutRoot/PopoutRoot.js +3 -2
  78. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  79. package/dist/components.css +18 -18
  80. package/dist/components.css.map +1 -1
  81. package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -8
  82. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  83. package/dist/cssm/components/Button/Button.css +9 -9
  84. package/dist/cssm/components/ButtonGroup/ButtonGroup.css +1 -1
  85. package/dist/cssm/components/Calendar/Calendar.css +1 -1
  86. package/dist/cssm/components/Calendar/Calendar.d.ts +1 -1
  87. package/dist/cssm/components/Calendar/Calendar.js +6 -2
  88. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  89. package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
  90. package/dist/cssm/components/CalendarDays/CalendarDays.css +1 -1
  91. package/dist/cssm/components/CalendarHeader/CalendarHeader.css +1 -1
  92. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +2 -0
  93. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +15 -9
  94. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  95. package/dist/cssm/components/CalendarRange/CalendarRange.css +1 -1
  96. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +1 -1
  97. package/dist/cssm/components/CalendarRange/CalendarRange.js +7 -3
  98. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  99. package/dist/cssm/components/CalendarTime/CalendarTime.css +1 -1
  100. package/dist/cssm/components/Card/Card.css +2 -2
  101. package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
  102. package/dist/cssm/components/Cell/Cell.css +1 -1
  103. package/dist/cssm/components/CellButton/CellButton.css +1 -1
  104. package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
  105. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  106. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +1 -1
  107. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +1 -1
  108. package/dist/cssm/components/DateInput/DateInput.d.ts +1 -1
  109. package/dist/cssm/components/DateInput/DateInput.js +7 -3
  110. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  111. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  112. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +6 -2
  113. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  114. package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
  115. package/dist/cssm/components/FormField/FormField.css +2 -2
  116. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  117. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +1 -1
  118. package/dist/cssm/components/Input/Input.css +1 -1
  119. package/dist/cssm/components/InputLike/InputLike.css +1 -1
  120. package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -1
  121. package/dist/cssm/components/ModalCard/ModalCard.js +3 -2
  122. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  123. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +5 -4
  124. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  125. package/dist/cssm/components/ModalPage/ModalPage.js +5 -3
  126. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  127. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +2 -9
  128. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  129. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +3 -5
  130. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  131. package/dist/cssm/components/Pagination/Pagination.css +1 -1
  132. package/dist/cssm/components/PanelHeader/PanelHeader.js +8 -6
  133. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  134. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +3 -2
  135. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  136. package/dist/cssm/components/Popper/Popper.css +1 -1
  137. package/dist/cssm/components/Radio/Radio.css +1 -1
  138. package/dist/cssm/components/RadioGroup/RadioGroup.css +1 -1
  139. package/dist/cssm/components/Removable/Removable.css +1 -1
  140. package/dist/cssm/components/RichCell/RichCell.css +1 -1
  141. package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -1
  142. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  143. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  144. package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
  145. package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -1
  146. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  147. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  148. package/dist/cssm/hooks/useAdaptivity.d.ts +1 -0
  149. package/dist/cssm/hooks/useAdaptivity.js +13 -1
  150. package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
  151. package/dist/cssm/index.d.ts +1 -0
  152. package/dist/cssm/index.js +1 -0
  153. package/dist/cssm/index.js.map +1 -1
  154. package/dist/cssm/styles/components.css +18 -18
  155. package/dist/cssm/styles/themes.css +1 -1
  156. package/dist/hooks/useAdaptivity.d.ts +1 -0
  157. package/dist/hooks/useAdaptivity.js +13 -1
  158. package/dist/hooks/useAdaptivity.js.map +1 -1
  159. package/dist/index.d.ts +1 -0
  160. package/dist/index.js +1 -0
  161. package/dist/index.js.map +1 -1
  162. package/dist/vkui.css +19 -19
  163. package/dist/vkui.css.map +1 -1
  164. package/jest.unit.config.js +1 -0
  165. package/package.json +4 -2
  166. package/postcss-custom-properties-fallback/__tests__/custom_properties.css +5 -0
  167. package/postcss-custom-properties-fallback/index.js +83 -0
  168. package/src/components/ActionSheet/ActionSheet.tsx +2 -6
  169. package/src/components/Calendar/Calendar.tsx +6 -0
  170. package/src/components/CalendarHeader/CalendarHeader.css +3 -0
  171. package/src/components/CalendarHeader/CalendarHeader.tsx +18 -2
  172. package/src/components/CalendarRange/CalendarRange.tsx +6 -0
  173. package/src/components/Cell/Cell.css +1 -1
  174. package/src/components/CellButton/CellButton.css +1 -1
  175. package/src/components/Checkbox/Checkbox.css +1 -1
  176. package/src/components/DateInput/DateInput.tsx +7 -1
  177. package/src/components/DateRangeInput/DateRangeInput.tsx +6 -0
  178. package/src/components/FixedLayout/FixedLayout.css +10 -2
  179. package/src/components/FormItem/FormItem.css +1 -0
  180. package/src/components/FormLayoutGroup/FormLayoutGroup.css +2 -1
  181. package/src/components/ModalCard/ModalCard.tsx +3 -8
  182. package/src/components/ModalCardBase/ModalCardBase.tsx +6 -10
  183. package/src/components/ModalPage/ModalPage.tsx +6 -9
  184. package/src/components/ModalPageHeader/ModalPageHeader.tsx +2 -6
  185. package/src/components/ModalRoot/ModalRootAdaptive.tsx +3 -9
  186. package/src/components/ModalRoot/Readme.md +1 -1
  187. package/src/components/PanelHeader/PanelHeader.tsx +19 -18
  188. package/src/components/PanelHeader/Readme.md +2 -2
  189. package/src/components/PopoutRoot/PopoutRoot.tsx +3 -8
  190. package/src/components/Popper/Popper.css +14 -2
  191. package/src/components/Radio/Radio.css +1 -1
  192. package/src/components/RadioGroup/RadioGroup.css +1 -1
  193. package/src/components/Removable/Removable.css +2 -2
  194. package/src/components/RichCell/RichCell.css +1 -1
  195. package/src/components/SimpleCell/SimpleCell.css +1 -1
  196. package/src/components/Tooltip/Readme.md +35 -47
  197. package/src/hooks/useAdaptivity.ts +15 -0
  198. package/src/index.ts +1 -0
  199. package/src/styles/constants.css +1 -0
  200. package/tsconfig.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AASA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAKA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AACA;;AACA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAKA;;AAEA;;AAKA;;AAKA;;AAMA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA;;AAEA;;AACA;;AAEA;;AAMA;;AAEA;;AACA;;AAEA;;AAIA;;AAEA;;AACA;;AAKA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAEA;;AASA;;AACA;;AAKA;;AACA","sourcesContent":["import \"./lib/polyfills\";\n\nimport \"./styles/constants.css\";\nimport \"./styles/animations.css\";\nimport \"./styles/common.css\";\n\n/**\n * Layout\n */\nexport { default as Root } from \"./components/Root/Root\";\nexport type { RootProps } from \"./components/Root/Root\";\nexport { default as View } from \"./components/View/View\";\nexport type { ViewProps } from \"./components/View/View\";\nexport { Panel } from \"./components/Panel/Panel\";\nexport type { PanelProps } from \"./components/Panel/Panel\";\nexport { PanelHeaderButton } from \"./components/PanelHeaderButton/PanelHeaderButton\";\nexport type { PanelHeaderButtonProps } from \"./components/PanelHeaderButton/PanelHeaderButton\";\nexport { default as PanelHeader } from \"./components/PanelHeader/PanelHeader\";\nexport type { PanelHeaderProps } from \"./components/PanelHeader/PanelHeader\";\nexport { default as PanelHeaderContent } from \"./components/PanelHeaderContent/PanelHeaderContent\";\nexport type { PanelHeaderContentProps } from \"./components/PanelHeaderContent/PanelHeaderContent\";\nexport { PanelHeaderContext } from \"./components/PanelHeaderContext/PanelHeaderContext\";\nexport type { PanelHeaderContextProps } from \"./components/PanelHeaderContext/PanelHeaderContext\";\nexport { SplitLayout } from \"./components/SplitLayout/SplitLayout\";\nexport type { SplitLayoutProps } from \"./components/SplitLayout/SplitLayout\";\nexport { SplitCol } from \"./components/SplitCol/SplitCol\";\nexport type { SplitColProps } from \"./components/SplitCol/SplitCol\";\nexport { default as Epic } from \"./components/Epic/Epic\";\nexport type { EpicProps } from \"./components/Epic/Epic\";\nexport { default as Tabbar } from \"./components/Tabbar/Tabbar\";\nexport type { TabbarProps } from \"./components/Tabbar/Tabbar\";\nexport { default as TabbarItem } from \"./components/TabbarItem/TabbarItem\";\nexport type { TabbarItemProps } from \"./components/TabbarItem/TabbarItem\";\nexport { HorizontalScroll } from \"./components/HorizontalScroll/HorizontalScroll\";\nexport type { HorizontalScrollProps } from \"./components/HorizontalScroll/HorizontalScroll\";\nexport { default as FixedLayout } from \"./components/FixedLayout/FixedLayout\";\nexport type { FixedLayoutProps } from \"./components/FixedLayout/FixedLayout\";\n\n/**\n * Popouts\n */\nexport { PopoutWrapper } from \"./components/PopoutWrapper/PopoutWrapper\";\nexport type { PopoutWrapperProps } from \"./components/PopoutWrapper/PopoutWrapper\";\nexport { Alert } from \"./components/Alert/Alert\";\nexport type {\n AlertProps,\n AlertActionInterface,\n} from \"./components/Alert/Alert\";\nexport { ActionSheet } from \"./components/ActionSheet/ActionSheet\";\nexport type { ActionSheetProps } from \"./components/ActionSheet/ActionSheet\";\nexport { ActionSheetItem } from \"./components/ActionSheetItem/ActionSheetItem\";\nexport type { ActionSheetItemProps } from \"./components/ActionSheetItem/ActionSheetItem\";\nexport { default as ScreenSpinner } from \"./components/ScreenSpinner/ScreenSpinner\";\nexport type { ScreenSpinnerProps } from \"./components/ScreenSpinner/ScreenSpinner\";\nexport { Snackbar } from \"./components/Snackbar/Snackbar\";\nexport type { SnackbarProps } from \"./components/Snackbar/Snackbar\";\n\n/**\n * Modals\n */\nexport { ModalRoot } from \"./components/ModalRoot/ModalRootAdaptive\";\nexport type { ModalRootProps } from \"./components/ModalRoot/ModalRootAdaptive\";\nexport { withModalRootContext } from \"./components/ModalRoot/withModalRootContext\";\nexport { default as ModalRootContext } from \"./components/ModalRoot/ModalRootContext\";\nexport { default as ModalPage } from \"./components/ModalPage/ModalPage\";\nexport type { ModalPageProps } from \"./components/ModalPage/ModalPage\";\nexport { default as ModalPageHeader } from \"./components/ModalPageHeader/ModalPageHeader\";\nexport type { ModalPageHeaderProps } from \"./components/ModalPageHeader/ModalPageHeader\";\nexport { default as ModalCard } from \"./components/ModalCard/ModalCard\";\nexport type { ModalCardProps } from \"./components/ModalCard/ModalCard\";\nexport { default as ModalDismissButton } from \"./components/ModalDismissButton/ModalDismissButton\";\nexport type { ModalDismissButtonProps } from \"./components/ModalDismissButton/ModalDismissButton\";\n\n/**\n * Blocks\n */\nexport { Badge } from \"./components/Badge/Badge\";\nexport type { BadgeProps } from \"./components/Badge/Badge\";\nexport { ButtonGroup } from \"./components/ButtonGroup/ButtonGroup\";\nexport type { ButtonGroupProps } from \"./components/ButtonGroup/ButtonGroup\";\nexport { Button } from \"./components/Button/Button\";\nexport type { ButtonProps } from \"./components/Button/Button\";\nexport { default as IconButton } from \"./components/IconButton/IconButton\";\nexport type { IconButtonProps } from \"./components/IconButton/IconButton\";\nexport { Card } from \"./components/Card/Card\";\nexport type { CardProps } from \"./components/Card/Card\";\nexport { default as CardGrid } from \"./components/CardGrid/CardGrid\";\nexport type { CardGridProps } from \"./components/CardGrid/CardGrid\";\nexport { CardScroll } from \"./components/CardScroll/CardScroll\";\nexport type { CardScrollProps } from \"./components/CardScroll/CardScroll\";\nexport { default as ContentCard } from \"./components/ContentCard/ContentCard\";\nexport type { ContentCardProps } from \"./components/ContentCard/ContentCard\";\nexport { CellButton } from \"./components/CellButton/CellButton\";\nexport type { CellButtonProps } from \"./components/CellButton/CellButton\";\nexport { default as Header } from \"./components/Header/Header\";\nexport type { HeaderProps } from \"./components/Header/Header\";\nexport { default as Group } from \"./components/Group/Group\";\nexport type { GroupProps } from \"./components/Group/Group\";\nexport { Gradient } from \"./components/Gradient/Gradient\";\nexport type { GradientProps } from \"./components/Gradient/Gradient\";\nexport { default as List } from \"./components/List/List\";\nexport { Cell } from \"./components/Cell/Cell\";\nexport type { CellProps } from \"./components/Cell/Cell\";\nexport { default as RichCell } from \"./components/RichCell/RichCell\";\nexport type { RichCellProps } from \"./components/RichCell/RichCell\";\nexport { default as SimpleCell } from \"./components/SimpleCell/SimpleCell\";\nexport type { SimpleCellProps } from \"./components/SimpleCell/SimpleCell\";\nexport { HorizontalCell } from \"./components/HorizontalCell/HorizontalCell\";\nexport type { HorizontalCellProps } from \"./components/HorizontalCell/HorizontalCell\";\nexport { Footer } from \"./components/Footer/Footer\";\nexport type { FooterProps } from \"./components/Footer/Footer\";\nexport { default as InfoRow } from \"./components/InfoRow/InfoRow\";\nexport type { InfoRowProps } from \"./components/InfoRow/InfoRow\";\nexport { default as Gallery } from \"./components/Gallery/Gallery\";\nexport type { GalleryProps } from \"./components/Gallery/Gallery\";\nexport { default as Avatar } from \"./components/Avatar/Avatar\";\nexport type { AvatarProps } from \"./components/Avatar/Avatar\";\nexport { GridAvatar } from \"./components/GridAvatar/GridAvatar\";\nexport type { GridAvatarProps } from \"./components/GridAvatar/GridAvatar\";\nexport { InitialsAvatar } from \"./components/InitialsAvatar/InitialsAvatar\";\nexport type { InitialsAvatarProps } from \"./components/InitialsAvatar/InitialsAvatar\";\nexport { default as Progress } from \"./components/Progress/Progress\";\nexport type { ProgressProps } from \"./components/Progress/Progress\";\nexport { default as Search } from \"./components/Search/Search\";\nexport type { SearchProps } from \"./components/Search/Search\";\nexport { default as Tabs } from \"./components/Tabs/Tabs\";\nexport type { TabsProps } from \"./components/Tabs/Tabs\";\nexport { default as TabsItem } from \"./components/TabsItem/TabsItem\";\nexport type { TabsItemProps } from \"./components/TabsItem/TabsItem\";\nexport { default as Spinner } from \"./components/Spinner/Spinner\";\nexport type { SpinnerProps } from \"./components/Spinner/Spinner\";\nexport { default as PullToRefresh } from \"./components/PullToRefresh/PullToRefresh\";\nexport type { PullToRefreshProps } from \"./components/PullToRefresh/PullToRefresh\";\nexport { default as Link } from \"./components/Link/Link\";\nexport type { LinkProps } from \"./components/Link/Link\";\nexport { default as Tooltip } from \"./components/Tooltip/Tooltip\";\nexport type { TooltipProps } from \"./components/Tooltip/Tooltip\";\nexport { TooltipContainer } from \"./components/Tooltip/TooltipContainer\";\nexport { default as Counter } from \"./components/Counter/Counter\";\nexport type { CounterProps } from \"./components/Counter/Counter\";\nexport { default as UsersStack } from \"./components/UsersStack/UsersStack\";\nexport type { UsersStackProps } from \"./components/UsersStack/UsersStack\";\nexport { default as Separator } from \"./components/Separator/Separator\";\nexport type { SeparatorProps } from \"./components/Separator/Separator\";\nexport { Spacing } from \"./components/Spacing/Spacing\";\nexport type { SpacingProps } from \"./components/Spacing/Spacing\";\nexport { default as Placeholder } from \"./components/Placeholder/Placeholder\";\nexport type { PlaceholderProps } from \"./components/Placeholder/Placeholder\";\nexport { default as Banner } from \"./components/Banner/Banner\";\nexport type { BannerProps } from \"./components/Banner/Banner\";\nexport { MiniInfoCell } from \"./components/MiniInfoCell/MiniInfoCell\";\nexport type { MiniInfoCellProps } from \"./components/MiniInfoCell/MiniInfoCell\";\nexport { WriteBar } from \"./components/WriteBar/WriteBar\";\nexport type { WriteBarProps } from \"./components/WriteBar/WriteBar\";\nexport { WriteBarIcon } from \"./components/WriteBarIcon/WriteBarIcon\";\nexport type { WriteBarIconProps } from \"./components/WriteBarIcon/WriteBarIcon\";\nexport { SubnavigationBar } from \"./components/SubnavigationBar/SubnavigationBar\";\nexport type { SubnavigationBarProps } from \"./components/SubnavigationBar/SubnavigationBar\";\nexport { SubnavigationButton } from \"./components/SubnavigationButton/SubnavigationButton\";\nexport type { SubnavigationButtonProps } from \"./components/SubnavigationButton/SubnavigationButton\";\nexport { Pagination } from \"./components/Pagination/Pagination\";\nexport type { PaginationProps } from \"./components/Pagination/Pagination\";\n\n/**\n * Forms\n */\nexport { default as FormLayout } from \"./components/FormLayout/FormLayout\";\nexport type { FormLayoutProps } from \"./components/FormLayout/FormLayout\";\nexport { FormItem } from \"./components/FormItem/FormItem\";\nexport type { FormItemProps } from \"./components/FormItem/FormItem\";\nexport { FormField } from \"./components/FormField/FormField\";\nexport type { FormFieldProps } from \"./components/FormField/FormField\";\nexport { default as FormLayoutGroup } from \"./components/FormLayoutGroup/FormLayoutGroup\";\nexport type { FormLayoutGroupProps } from \"./components/FormLayoutGroup/FormLayoutGroup\";\nexport { FormStatus } from \"./components/FormStatus/FormStatus\";\nexport type { FormStatusProps } from \"./components/FormStatus/FormStatus\";\nexport { Switch } from \"./components/Switch/Switch\";\nexport type { SwitchProps } from \"./components/Switch/Switch\";\nexport { default as File } from \"./components/File/File\";\nexport type { FileProps } from \"./components/File/File\";\nexport { Input } from \"./components/Input/Input\";\nexport type { InputProps } from \"./components/Input/Input\";\nexport { Chip } from \"./components/Chip/Chip\";\nexport type { ChipProps } from \"./components/Chip/Chip\";\nexport { ChipsInput } from \"./components/ChipsInput/ChipsInput\";\nexport type { ChipsInputProps } from \"./components/ChipsInput/ChipsInput\";\nexport { default as Slider } from \"./components/Slider/Slider\";\nexport type { SliderProps } from \"./components/Slider/Slider\";\nexport { default as RangeSlider } from \"./components/RangeSlider/RangeSlider\";\nexport type { RangeSliderProps } from \"./components/RangeSlider/RangeSlider\";\nexport { default as Textarea } from \"./components/Textarea/Textarea\";\nexport type { TextareaProps } from \"./components/Textarea/Textarea\";\nexport { default as Radio } from \"./components/Radio/Radio\";\nexport type { RadioProps } from \"./components/Radio/Radio\";\nexport { RadioGroup } from \"./components/RadioGroup/RadioGroup\";\nexport type { RadioGroupProps } from \"./components/RadioGroup/RadioGroup\";\nexport { default as Checkbox } from \"./components/Checkbox/Checkbox\";\nexport type { CheckboxProps } from \"./components/Checkbox/Checkbox\";\nexport { Select } from \"./components/Select/Select\";\nexport type { SelectProps } from \"./components/Select/Select\";\nexport { default as SelectMimicry } from \"./components/SelectMimicry/SelectMimicry\";\nexport type { SelectMimicryProps } from \"./components/SelectMimicry/SelectMimicry\";\nexport { NativeSelect } from \"./components/NativeSelect/NativeSelect\";\nexport type { NativeSelectProps } from \"./components/NativeSelect/NativeSelect\";\nexport { CustomSelect } from \"./components/CustomSelect/CustomSelect\";\nexport type {\n CustomSelectProps,\n CustomSelectOptionInterface,\n} from \"./components/CustomSelect/CustomSelect\";\nexport { CustomSelectOption } from \"./components/CustomSelectOption/CustomSelectOption\";\nexport type { CustomSelectOptionProps } from \"./components/CustomSelectOption/CustomSelectOption\";\nexport { default as DatePicker } from \"./components/DatePicker/DatePicker\";\nexport type {\n DatePickerProps,\n DatePickerDateFormat,\n} from \"./components/DatePicker/DatePicker\";\nexport { SliderSwitch } from \"./components/SliderSwitch/SliderSwitch\";\nexport type {\n SliderSwitchProps,\n SliderSwitchOptionInterface,\n} from \"./components/SliderSwitch/SliderSwitch\";\nexport { SegmentedControl } from \"./components/SegmentedControl/SegmentedControl\";\nexport type {\n SegmentedControlProps,\n SegmentedControlOptionInterface,\n SegmentedControlValue,\n} from \"./components/SegmentedControl/SegmentedControl\";\nexport { Calendar } from \"./components/Calendar/Calendar\";\nexport type { CalendarProps } from \"./components/Calendar/Calendar\";\nexport { CalendarRange } from \"./components/CalendarRange/CalendarRange\";\nexport type { CalendarRangeProps } from \"./components/CalendarRange/CalendarRange\";\nexport { DateInput } from \"./components/DateInput/DateInput\";\nexport type { DateInputProps } from \"./components/DateInput/DateInput\";\nexport { DateRangeInput } from \"./components/DateRangeInput/DateRangeInput\";\nexport type { DateRangeInputProps } from \"./components/DateRangeInput/DateRangeInput\";\n\n/**\n * Helpers\n */\nexport { Div } from \"./components/Div/Div\";\nexport type { DivProps } from \"./components/Div/Div\";\nexport { default as Tappable } from \"./components/Tappable/Tappable\";\nexport type { TappableProps } from \"./components/Tappable/Tappable\";\nexport { Touch } from \"./components/Touch/Touch\";\nexport type { TouchProps } from \"./components/Touch/Touch\";\nexport { default as PanelSpinner } from \"./components/PanelSpinner/PanelSpinner\";\nexport type { PanelSpinnerProps } from \"./components/PanelSpinner/PanelSpinner\";\nexport { default as PanelHeaderClose } from \"./components/PanelHeaderClose/PanelHeaderClose\";\nexport { default as PanelHeaderBack } from \"./components/PanelHeaderBack/PanelHeaderBack\";\nexport type { PanelHeaderBackProps } from \"./components/PanelHeaderBack/PanelHeaderBack\";\nexport { default as PanelHeaderSubmit } from \"./components/PanelHeaderSubmit/PanelHeaderSubmit\";\nexport { default as PanelHeaderEdit } from \"./components/PanelHeaderEdit/PanelHeaderEdit\";\nexport type { PanelHeaderEditProps } from \"./components/PanelHeaderEdit/PanelHeaderEdit\";\nexport { ModalCardBase } from \"./components/ModalCardBase/ModalCardBase\";\nexport type { ModalCardBaseProps } from \"./components/ModalCardBase/ModalCardBase\";\n\n/**\n * Wrappers\n */\nexport { AppRoot } from \"./components/AppRoot/AppRoot\";\nexport type { AppRootProps } from \"./components/AppRoot/AppRoot\";\nexport { AdaptivityProvider } from \"./components/AdaptivityProvider/AdaptivityProvider\";\nexport { default as ConfigProvider } from \"./components/ConfigProvider/ConfigProvider\";\nexport type { ConfigProviderProps } from \"./components/ConfigProvider/ConfigProvider\";\nexport {\n ConfigProviderContext,\n WebviewType,\n} from \"./components/ConfigProvider/ConfigProviderContext\";\nexport { AppearanceProvider } from \"./components/AppearanceProvider/AppearanceProvider\";\nexport type { AppearanceProviderProps } from \"./components/AppearanceProvider/AppearanceProvider\";\nexport { Scheme, Appearance } from \"./helpers/scheme\";\nexport { LocaleProviderContext } from \"./components/LocaleProviderContext/LocaleProviderContext\";\n\n/**\n * Advertisement\n */\nexport { default as PromoBanner } from \"./components/PromoBanner/PromoBanner\";\nexport type { PromoBannerProps } from \"./components/PromoBanner/PromoBanner\";\n\n/**\n * Typography\n */\nexport { Title } from \"./components/Typography/Title/Title\";\nexport type { TitleProps } from \"./components/Typography/Title/Title\";\nexport { default as Headline } from \"./components/Typography/Headline/Headline\";\nexport type { HeadlineProps } from \"./components/Typography/Headline/Headline\";\nexport { default as Text } from \"./components/Typography/Text/Text\";\nexport type { TextProps } from \"./components/Typography/Text/Text\";\nexport { Caption } from \"./components/Typography/Caption/Caption\";\nexport type { CaptionProps } from \"./components/Typography/Caption/Caption\";\nexport { Subhead } from \"./components/Typography/Subhead/Subhead\";\nexport type { SubheadProps } from \"./components/Typography/Subhead/Subhead\";\nexport { Paragraph } from \"./components/Typography/Paragraph/Paragraph\";\nexport type { ParagraphProps } from \"./components/Typography/Paragraph/Paragraph\";\n\n/**\n * HOCs\n */\nexport { withInsets } from \"./hoc/withInsets\";\nexport { withPlatform } from \"./hoc/withPlatform\";\nexport { withAdaptivity } from \"./hoc/withAdaptivity\";\n\n/**\n * Hooks\n */\nexport { useInsets } from \"./hooks/useInsets\";\nexport { usePlatform } from \"./hooks/usePlatform\";\nexport { useAdaptivity } from \"./hooks/useAdaptivity\";\nexport { useAppearance } from \"./hooks/useAppearance\";\nexport { usePagination } from \"./hooks/usePagination\";\n\n/**\n * Utils\n */\nexport { classNamesString as classNames } from \"./lib/classNames\";\nexport { default as animate } from \"./lib/animate\";\nexport { removeObjectKeys } from \"./lib/removeObjectKeys\";\nexport { SSRWrapper } from \"./lib/SSR\";\nexport type { SSRWrapperProps } from \"./lib/SSR\";\nexport {\n platform,\n ANDROID,\n IOS,\n VKCOM,\n Platform,\n IS_PLATFORM_ANDROID,\n IS_PLATFORM_IOS,\n} from \"./lib/platform\";\nexport { getClassName } from \"./helpers/getClassName\";\nexport {\n ViewWidth,\n ViewHeight,\n SizeType,\n} from \"./components/AdaptivityProvider/AdaptivityContext\";\nexport { calcInitialsAvatarColor } from \"./helpers/avatar\";\nexport { Popper } from \"./components/Popper/Popper\";\nexport type { PopperProps } from \"./components/Popper/Popper\";\n\n/**\n * Types\n */\nexport type { AlignType, HasPlatform, HasInsets } from \"./types\";\nexport type { NavIdProps } from \"./lib/getNavId\";\nexport type { PlatformType } from \"./lib/platform\";\nexport type { AdaptivityProps } from \"./hoc/withAdaptivity\";\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AASA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAKA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AACA;;AACA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAKA;;AAEA;;AAKA;;AAKA;;AAMA;;AAEA;;AAEA;;AAEA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA;;AAEA;;AACA;;AAEA;;AAMA;;AAEA;;AACA;;AAEA;;AAIA;;AAEA;;AACA;;AAKA;;AAMA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAMA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAEA;;AASA;;AACA;;AAKA;;AACA","sourcesContent":["import \"./lib/polyfills\";\n\nimport \"./styles/constants.css\";\nimport \"./styles/animations.css\";\nimport \"./styles/common.css\";\n\n/**\n * Layout\n */\nexport { default as Root } from \"./components/Root/Root\";\nexport type { RootProps } from \"./components/Root/Root\";\nexport { default as View } from \"./components/View/View\";\nexport type { ViewProps } from \"./components/View/View\";\nexport { Panel } from \"./components/Panel/Panel\";\nexport type { PanelProps } from \"./components/Panel/Panel\";\nexport { PanelHeaderButton } from \"./components/PanelHeaderButton/PanelHeaderButton\";\nexport type { PanelHeaderButtonProps } from \"./components/PanelHeaderButton/PanelHeaderButton\";\nexport { default as PanelHeader } from \"./components/PanelHeader/PanelHeader\";\nexport type { PanelHeaderProps } from \"./components/PanelHeader/PanelHeader\";\nexport { default as PanelHeaderContent } from \"./components/PanelHeaderContent/PanelHeaderContent\";\nexport type { PanelHeaderContentProps } from \"./components/PanelHeaderContent/PanelHeaderContent\";\nexport { PanelHeaderContext } from \"./components/PanelHeaderContext/PanelHeaderContext\";\nexport type { PanelHeaderContextProps } from \"./components/PanelHeaderContext/PanelHeaderContext\";\nexport { SplitLayout } from \"./components/SplitLayout/SplitLayout\";\nexport type { SplitLayoutProps } from \"./components/SplitLayout/SplitLayout\";\nexport { SplitCol } from \"./components/SplitCol/SplitCol\";\nexport type { SplitColProps } from \"./components/SplitCol/SplitCol\";\nexport { default as Epic } from \"./components/Epic/Epic\";\nexport type { EpicProps } from \"./components/Epic/Epic\";\nexport { default as Tabbar } from \"./components/Tabbar/Tabbar\";\nexport type { TabbarProps } from \"./components/Tabbar/Tabbar\";\nexport { default as TabbarItem } from \"./components/TabbarItem/TabbarItem\";\nexport type { TabbarItemProps } from \"./components/TabbarItem/TabbarItem\";\nexport { HorizontalScroll } from \"./components/HorizontalScroll/HorizontalScroll\";\nexport type { HorizontalScrollProps } from \"./components/HorizontalScroll/HorizontalScroll\";\nexport { default as FixedLayout } from \"./components/FixedLayout/FixedLayout\";\nexport type { FixedLayoutProps } from \"./components/FixedLayout/FixedLayout\";\n\n/**\n * Popouts\n */\nexport { PopoutWrapper } from \"./components/PopoutWrapper/PopoutWrapper\";\nexport type { PopoutWrapperProps } from \"./components/PopoutWrapper/PopoutWrapper\";\nexport { Alert } from \"./components/Alert/Alert\";\nexport type {\n AlertProps,\n AlertActionInterface,\n} from \"./components/Alert/Alert\";\nexport { ActionSheet } from \"./components/ActionSheet/ActionSheet\";\nexport type { ActionSheetProps } from \"./components/ActionSheet/ActionSheet\";\nexport { ActionSheetItem } from \"./components/ActionSheetItem/ActionSheetItem\";\nexport type { ActionSheetItemProps } from \"./components/ActionSheetItem/ActionSheetItem\";\nexport { default as ScreenSpinner } from \"./components/ScreenSpinner/ScreenSpinner\";\nexport type { ScreenSpinnerProps } from \"./components/ScreenSpinner/ScreenSpinner\";\nexport { Snackbar } from \"./components/Snackbar/Snackbar\";\nexport type { SnackbarProps } from \"./components/Snackbar/Snackbar\";\n\n/**\n * Modals\n */\nexport { ModalRoot } from \"./components/ModalRoot/ModalRootAdaptive\";\nexport type { ModalRootProps } from \"./components/ModalRoot/ModalRootAdaptive\";\nexport { withModalRootContext } from \"./components/ModalRoot/withModalRootContext\";\nexport { default as ModalRootContext } from \"./components/ModalRoot/ModalRootContext\";\nexport { default as ModalPage } from \"./components/ModalPage/ModalPage\";\nexport type { ModalPageProps } from \"./components/ModalPage/ModalPage\";\nexport { default as ModalPageHeader } from \"./components/ModalPageHeader/ModalPageHeader\";\nexport type { ModalPageHeaderProps } from \"./components/ModalPageHeader/ModalPageHeader\";\nexport { default as ModalCard } from \"./components/ModalCard/ModalCard\";\nexport type { ModalCardProps } from \"./components/ModalCard/ModalCard\";\nexport { default as ModalDismissButton } from \"./components/ModalDismissButton/ModalDismissButton\";\nexport type { ModalDismissButtonProps } from \"./components/ModalDismissButton/ModalDismissButton\";\n\n/**\n * Blocks\n */\nexport { Badge } from \"./components/Badge/Badge\";\nexport type { BadgeProps } from \"./components/Badge/Badge\";\nexport { ButtonGroup } from \"./components/ButtonGroup/ButtonGroup\";\nexport type { ButtonGroupProps } from \"./components/ButtonGroup/ButtonGroup\";\nexport { Button } from \"./components/Button/Button\";\nexport type { ButtonProps } from \"./components/Button/Button\";\nexport { default as IconButton } from \"./components/IconButton/IconButton\";\nexport type { IconButtonProps } from \"./components/IconButton/IconButton\";\nexport { Card } from \"./components/Card/Card\";\nexport type { CardProps } from \"./components/Card/Card\";\nexport { default as CardGrid } from \"./components/CardGrid/CardGrid\";\nexport type { CardGridProps } from \"./components/CardGrid/CardGrid\";\nexport { CardScroll } from \"./components/CardScroll/CardScroll\";\nexport type { CardScrollProps } from \"./components/CardScroll/CardScroll\";\nexport { default as ContentCard } from \"./components/ContentCard/ContentCard\";\nexport type { ContentCardProps } from \"./components/ContentCard/ContentCard\";\nexport { CellButton } from \"./components/CellButton/CellButton\";\nexport type { CellButtonProps } from \"./components/CellButton/CellButton\";\nexport { default as Header } from \"./components/Header/Header\";\nexport type { HeaderProps } from \"./components/Header/Header\";\nexport { default as Group } from \"./components/Group/Group\";\nexport type { GroupProps } from \"./components/Group/Group\";\nexport { Gradient } from \"./components/Gradient/Gradient\";\nexport type { GradientProps } from \"./components/Gradient/Gradient\";\nexport { default as List } from \"./components/List/List\";\nexport { Cell } from \"./components/Cell/Cell\";\nexport type { CellProps } from \"./components/Cell/Cell\";\nexport { default as RichCell } from \"./components/RichCell/RichCell\";\nexport type { RichCellProps } from \"./components/RichCell/RichCell\";\nexport { default as SimpleCell } from \"./components/SimpleCell/SimpleCell\";\nexport type { SimpleCellProps } from \"./components/SimpleCell/SimpleCell\";\nexport { HorizontalCell } from \"./components/HorizontalCell/HorizontalCell\";\nexport type { HorizontalCellProps } from \"./components/HorizontalCell/HorizontalCell\";\nexport { Footer } from \"./components/Footer/Footer\";\nexport type { FooterProps } from \"./components/Footer/Footer\";\nexport { default as InfoRow } from \"./components/InfoRow/InfoRow\";\nexport type { InfoRowProps } from \"./components/InfoRow/InfoRow\";\nexport { default as Gallery } from \"./components/Gallery/Gallery\";\nexport type { GalleryProps } from \"./components/Gallery/Gallery\";\nexport { default as Avatar } from \"./components/Avatar/Avatar\";\nexport type { AvatarProps } from \"./components/Avatar/Avatar\";\nexport { GridAvatar } from \"./components/GridAvatar/GridAvatar\";\nexport type { GridAvatarProps } from \"./components/GridAvatar/GridAvatar\";\nexport { InitialsAvatar } from \"./components/InitialsAvatar/InitialsAvatar\";\nexport type { InitialsAvatarProps } from \"./components/InitialsAvatar/InitialsAvatar\";\nexport { default as Progress } from \"./components/Progress/Progress\";\nexport type { ProgressProps } from \"./components/Progress/Progress\";\nexport { default as Search } from \"./components/Search/Search\";\nexport type { SearchProps } from \"./components/Search/Search\";\nexport { default as Tabs } from \"./components/Tabs/Tabs\";\nexport type { TabsProps } from \"./components/Tabs/Tabs\";\nexport { default as TabsItem } from \"./components/TabsItem/TabsItem\";\nexport type { TabsItemProps } from \"./components/TabsItem/TabsItem\";\nexport { default as Spinner } from \"./components/Spinner/Spinner\";\nexport type { SpinnerProps } from \"./components/Spinner/Spinner\";\nexport { default as PullToRefresh } from \"./components/PullToRefresh/PullToRefresh\";\nexport type { PullToRefreshProps } from \"./components/PullToRefresh/PullToRefresh\";\nexport { default as Link } from \"./components/Link/Link\";\nexport type { LinkProps } from \"./components/Link/Link\";\nexport { default as Tooltip } from \"./components/Tooltip/Tooltip\";\nexport type { TooltipProps } from \"./components/Tooltip/Tooltip\";\nexport { TooltipContainer } from \"./components/Tooltip/TooltipContainer\";\nexport { default as Counter } from \"./components/Counter/Counter\";\nexport type { CounterProps } from \"./components/Counter/Counter\";\nexport { default as UsersStack } from \"./components/UsersStack/UsersStack\";\nexport type { UsersStackProps } from \"./components/UsersStack/UsersStack\";\nexport { default as Separator } from \"./components/Separator/Separator\";\nexport type { SeparatorProps } from \"./components/Separator/Separator\";\nexport { Spacing } from \"./components/Spacing/Spacing\";\nexport type { SpacingProps } from \"./components/Spacing/Spacing\";\nexport { default as Placeholder } from \"./components/Placeholder/Placeholder\";\nexport type { PlaceholderProps } from \"./components/Placeholder/Placeholder\";\nexport { default as Banner } from \"./components/Banner/Banner\";\nexport type { BannerProps } from \"./components/Banner/Banner\";\nexport { MiniInfoCell } from \"./components/MiniInfoCell/MiniInfoCell\";\nexport type { MiniInfoCellProps } from \"./components/MiniInfoCell/MiniInfoCell\";\nexport { WriteBar } from \"./components/WriteBar/WriteBar\";\nexport type { WriteBarProps } from \"./components/WriteBar/WriteBar\";\nexport { WriteBarIcon } from \"./components/WriteBarIcon/WriteBarIcon\";\nexport type { WriteBarIconProps } from \"./components/WriteBarIcon/WriteBarIcon\";\nexport { SubnavigationBar } from \"./components/SubnavigationBar/SubnavigationBar\";\nexport type { SubnavigationBarProps } from \"./components/SubnavigationBar/SubnavigationBar\";\nexport { SubnavigationButton } from \"./components/SubnavigationButton/SubnavigationButton\";\nexport type { SubnavigationButtonProps } from \"./components/SubnavigationButton/SubnavigationButton\";\nexport { Pagination } from \"./components/Pagination/Pagination\";\nexport type { PaginationProps } from \"./components/Pagination/Pagination\";\n\n/**\n * Forms\n */\nexport { default as FormLayout } from \"./components/FormLayout/FormLayout\";\nexport type { FormLayoutProps } from \"./components/FormLayout/FormLayout\";\nexport { FormItem } from \"./components/FormItem/FormItem\";\nexport type { FormItemProps } from \"./components/FormItem/FormItem\";\nexport { FormField } from \"./components/FormField/FormField\";\nexport type { FormFieldProps } from \"./components/FormField/FormField\";\nexport { default as FormLayoutGroup } from \"./components/FormLayoutGroup/FormLayoutGroup\";\nexport type { FormLayoutGroupProps } from \"./components/FormLayoutGroup/FormLayoutGroup\";\nexport { FormStatus } from \"./components/FormStatus/FormStatus\";\nexport type { FormStatusProps } from \"./components/FormStatus/FormStatus\";\nexport { Switch } from \"./components/Switch/Switch\";\nexport type { SwitchProps } from \"./components/Switch/Switch\";\nexport { default as File } from \"./components/File/File\";\nexport type { FileProps } from \"./components/File/File\";\nexport { Input } from \"./components/Input/Input\";\nexport type { InputProps } from \"./components/Input/Input\";\nexport { Chip } from \"./components/Chip/Chip\";\nexport type { ChipProps } from \"./components/Chip/Chip\";\nexport { ChipsInput } from \"./components/ChipsInput/ChipsInput\";\nexport type { ChipsInputProps } from \"./components/ChipsInput/ChipsInput\";\nexport { default as Slider } from \"./components/Slider/Slider\";\nexport type { SliderProps } from \"./components/Slider/Slider\";\nexport { default as RangeSlider } from \"./components/RangeSlider/RangeSlider\";\nexport type { RangeSliderProps } from \"./components/RangeSlider/RangeSlider\";\nexport { default as Textarea } from \"./components/Textarea/Textarea\";\nexport type { TextareaProps } from \"./components/Textarea/Textarea\";\nexport { default as Radio } from \"./components/Radio/Radio\";\nexport type { RadioProps } from \"./components/Radio/Radio\";\nexport { RadioGroup } from \"./components/RadioGroup/RadioGroup\";\nexport type { RadioGroupProps } from \"./components/RadioGroup/RadioGroup\";\nexport { default as Checkbox } from \"./components/Checkbox/Checkbox\";\nexport type { CheckboxProps } from \"./components/Checkbox/Checkbox\";\nexport { Select } from \"./components/Select/Select\";\nexport type { SelectProps } from \"./components/Select/Select\";\nexport { default as SelectMimicry } from \"./components/SelectMimicry/SelectMimicry\";\nexport type { SelectMimicryProps } from \"./components/SelectMimicry/SelectMimicry\";\nexport { NativeSelect } from \"./components/NativeSelect/NativeSelect\";\nexport type { NativeSelectProps } from \"./components/NativeSelect/NativeSelect\";\nexport { CustomSelect } from \"./components/CustomSelect/CustomSelect\";\nexport type {\n CustomSelectProps,\n CustomSelectOptionInterface,\n} from \"./components/CustomSelect/CustomSelect\";\nexport { CustomSelectOption } from \"./components/CustomSelectOption/CustomSelectOption\";\nexport type { CustomSelectOptionProps } from \"./components/CustomSelectOption/CustomSelectOption\";\nexport { default as DatePicker } from \"./components/DatePicker/DatePicker\";\nexport type {\n DatePickerProps,\n DatePickerDateFormat,\n} from \"./components/DatePicker/DatePicker\";\nexport { SliderSwitch } from \"./components/SliderSwitch/SliderSwitch\";\nexport type {\n SliderSwitchProps,\n SliderSwitchOptionInterface,\n} from \"./components/SliderSwitch/SliderSwitch\";\nexport { SegmentedControl } from \"./components/SegmentedControl/SegmentedControl\";\nexport type {\n SegmentedControlProps,\n SegmentedControlOptionInterface,\n SegmentedControlValue,\n} from \"./components/SegmentedControl/SegmentedControl\";\nexport { Calendar } from \"./components/Calendar/Calendar\";\nexport type { CalendarProps } from \"./components/Calendar/Calendar\";\nexport { CalendarRange } from \"./components/CalendarRange/CalendarRange\";\nexport type { CalendarRangeProps } from \"./components/CalendarRange/CalendarRange\";\nexport { DateInput } from \"./components/DateInput/DateInput\";\nexport type { DateInputProps } from \"./components/DateInput/DateInput\";\nexport { DateRangeInput } from \"./components/DateRangeInput/DateRangeInput\";\nexport type { DateRangeInputProps } from \"./components/DateRangeInput/DateRangeInput\";\n\n/**\n * Helpers\n */\nexport { Div } from \"./components/Div/Div\";\nexport type { DivProps } from \"./components/Div/Div\";\nexport { default as Tappable } from \"./components/Tappable/Tappable\";\nexport type { TappableProps } from \"./components/Tappable/Tappable\";\nexport { Touch } from \"./components/Touch/Touch\";\nexport type { TouchProps } from \"./components/Touch/Touch\";\nexport { default as PanelSpinner } from \"./components/PanelSpinner/PanelSpinner\";\nexport type { PanelSpinnerProps } from \"./components/PanelSpinner/PanelSpinner\";\nexport { default as PanelHeaderClose } from \"./components/PanelHeaderClose/PanelHeaderClose\";\nexport { default as PanelHeaderBack } from \"./components/PanelHeaderBack/PanelHeaderBack\";\nexport type { PanelHeaderBackProps } from \"./components/PanelHeaderBack/PanelHeaderBack\";\nexport { default as PanelHeaderSubmit } from \"./components/PanelHeaderSubmit/PanelHeaderSubmit\";\nexport { default as PanelHeaderEdit } from \"./components/PanelHeaderEdit/PanelHeaderEdit\";\nexport type { PanelHeaderEditProps } from \"./components/PanelHeaderEdit/PanelHeaderEdit\";\nexport { ModalCardBase } from \"./components/ModalCardBase/ModalCardBase\";\nexport type { ModalCardBaseProps } from \"./components/ModalCardBase/ModalCardBase\";\n\n/**\n * Wrappers\n */\nexport { AppRoot } from \"./components/AppRoot/AppRoot\";\nexport type { AppRootProps } from \"./components/AppRoot/AppRoot\";\nexport { AdaptivityProvider } from \"./components/AdaptivityProvider/AdaptivityProvider\";\nexport { default as ConfigProvider } from \"./components/ConfigProvider/ConfigProvider\";\nexport type { ConfigProviderProps } from \"./components/ConfigProvider/ConfigProvider\";\nexport {\n ConfigProviderContext,\n WebviewType,\n} from \"./components/ConfigProvider/ConfigProviderContext\";\nexport { AppearanceProvider } from \"./components/AppearanceProvider/AppearanceProvider\";\nexport type { AppearanceProviderProps } from \"./components/AppearanceProvider/AppearanceProvider\";\nexport { Scheme, Appearance } from \"./helpers/scheme\";\nexport { LocaleProviderContext } from \"./components/LocaleProviderContext/LocaleProviderContext\";\n\n/**\n * Advertisement\n */\nexport { default as PromoBanner } from \"./components/PromoBanner/PromoBanner\";\nexport type { PromoBannerProps } from \"./components/PromoBanner/PromoBanner\";\n\n/**\n * Typography\n */\nexport { Title } from \"./components/Typography/Title/Title\";\nexport type { TitleProps } from \"./components/Typography/Title/Title\";\nexport { default as Headline } from \"./components/Typography/Headline/Headline\";\nexport type { HeadlineProps } from \"./components/Typography/Headline/Headline\";\nexport { default as Text } from \"./components/Typography/Text/Text\";\nexport type { TextProps } from \"./components/Typography/Text/Text\";\nexport { Caption } from \"./components/Typography/Caption/Caption\";\nexport type { CaptionProps } from \"./components/Typography/Caption/Caption\";\nexport { Subhead } from \"./components/Typography/Subhead/Subhead\";\nexport type { SubheadProps } from \"./components/Typography/Subhead/Subhead\";\nexport { Paragraph } from \"./components/Typography/Paragraph/Paragraph\";\nexport type { ParagraphProps } from \"./components/Typography/Paragraph/Paragraph\";\n\n/**\n * HOCs\n */\nexport { withInsets } from \"./hoc/withInsets\";\nexport { withPlatform } from \"./hoc/withPlatform\";\nexport { withAdaptivity } from \"./hoc/withAdaptivity\";\n\n/**\n * Hooks\n */\nexport { useInsets } from \"./hooks/useInsets\";\nexport { usePlatform } from \"./hooks/usePlatform\";\nexport { useAdaptivity } from \"./hooks/useAdaptivity\";\nexport { useAppearance } from \"./hooks/useAppearance\";\nexport { usePagination } from \"./hooks/usePagination\";\nexport { useScrollLock } from \"./components/AppRoot/ScrollContext\";\n\n/**\n * Utils\n */\nexport { classNamesString as classNames } from \"./lib/classNames\";\nexport { default as animate } from \"./lib/animate\";\nexport { removeObjectKeys } from \"./lib/removeObjectKeys\";\nexport { SSRWrapper } from \"./lib/SSR\";\nexport type { SSRWrapperProps } from \"./lib/SSR\";\nexport {\n platform,\n ANDROID,\n IOS,\n VKCOM,\n Platform,\n IS_PLATFORM_ANDROID,\n IS_PLATFORM_IOS,\n} from \"./lib/platform\";\nexport { getClassName } from \"./helpers/getClassName\";\nexport {\n ViewWidth,\n ViewHeight,\n SizeType,\n} from \"./components/AdaptivityProvider/AdaptivityContext\";\nexport { calcInitialsAvatarColor } from \"./helpers/avatar\";\nexport { Popper } from \"./components/Popper/Popper\";\nexport type { PopperProps } from \"./components/Popper/Popper\";\n\n/**\n * Types\n */\nexport type { AlignType, HasPlatform, HasInsets } from \"./types\";\nexport type { NavIdProps } from \"./lib/getNavId\";\nexport type { PlatformType } from \"./lib/platform\";\nexport type { AdaptivityProps } from \"./hoc/withAdaptivity\";\n"],"file":"index.js"}
@@ -5,7 +5,6 @@ var _excluded = ["children", "className", "header", "text", "style", "iosCloseIt
5
5
  import { createScopedElement } from "../../lib/jsxRuntime";
6
6
  import * as React from "react";
7
7
  import { PopoutWrapper } from "../PopoutWrapper/PopoutWrapper";
8
- import { ViewWidth, ViewHeight } from "../../hoc/withAdaptivity";
9
8
  import { IOS } from "../../lib/platform";
10
9
  import { ActionSheetDropdownDesktop } from "./ActionSheetDropdownDesktop";
11
10
  import { ActionSheetDropdown } from "./ActionSheetDropdown";
@@ -14,7 +13,7 @@ import { ActionSheetContext } from "./ActionSheetContext";
14
13
  import { Caption } from "../Typography/Caption/Caption";
15
14
  import { usePlatform } from "../../hooks/usePlatform";
16
15
  import { useTimeout } from "../../hooks/useTimeout";
17
- import { useAdaptivity } from "../../hooks/useAdaptivity";
16
+ import { useAdaptivityIsDesktop } from "../../hooks/useAdaptivity";
18
17
  import { useObjectMemo } from "../../hooks/useObjectMemo";
19
18
  import { warnOnce } from "../../lib/warnOnce";
20
19
  import { useScrollLock } from "../AppRoot/ScrollContext";
@@ -55,12 +54,7 @@ export var ActionSheet = function ActionSheet(_ref) {
55
54
  warn("\u0411\u0435\u0437 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \"onClose\" \u043D\u0435\u043B\u044C\u0437\u044F \u0437\u0430\u043A\u0440\u044B\u0442\u044C ActionSheet \u043F\u043E \u043A\u043B\u0438\u043A\u0443 \u0432\u043D\u0435 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430", "error");
56
55
  }
57
56
 
58
- var _useAdaptivity = useAdaptivity(),
59
- viewWidth = _useAdaptivity.viewWidth,
60
- viewHeight = _useAdaptivity.viewHeight,
61
- hasMouse = _useAdaptivity.hasMouse;
62
-
63
- var isDesktop = viewWidth >= ViewWidth.SMALL_TABLET && (hasMouse || viewHeight >= ViewHeight.MEDIUM);
57
+ var isDesktop = useAdaptivityIsDesktop();
64
58
  useScrollLock(!isDesktop);
65
59
  var timeout = platform === IOS ? 300 : 200;
66
60
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ActionSheet/ActionSheet.tsx"],"names":["React","PopoutWrapper","ViewWidth","ViewHeight","IOS","ActionSheetDropdownDesktop","ActionSheetDropdown","hasReactNode","noop","ActionSheetContext","Caption","usePlatform","useTimeout","useAdaptivity","useObjectMemo","warnOnce","useScrollLock","warn","ActionSheet","children","className","header","text","style","iosCloseItem","restProps","platform","useState","closing","setClosing","onClose","_action","useRef","afterClose","current","process","env","NODE_ENV","viewWidth","viewHeight","hasMouse","isDesktop","SMALL_TABLET","MEDIUM","timeout","fallbackTransitionFinish","useEffect","set","clear","onItemClick","useCallback","action","immediateAction","autoclose","event","persist","contextValue","DropdownComponent","actionSheet","undefined","defaultProps","popupDirection"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { PopoutWrapper } from \"../PopoutWrapper/PopoutWrapper\";\nimport { ViewWidth, ViewHeight } from \"../../hoc/withAdaptivity\";\nimport { IOS } from \"../../lib/platform\";\nimport { ActionSheetDropdownDesktop } from \"./ActionSheetDropdownDesktop\";\nimport { ActionSheetDropdown } from \"./ActionSheetDropdown\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport { ActionSheetContext, ItemClickHandler } from \"./ActionSheetContext\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { useObjectMemo } from \"../../hooks/useObjectMemo\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { SharedDropdownProps, PopupDirection, ToggleRef } from \"./types\";\nimport { useScrollLock } from \"../AppRoot/ScrollContext\";\nimport \"./ActionSheet.css\";\n\nexport interface ActionSheetProps extends React.HTMLAttributes<HTMLDivElement> {\n header?: React.ReactNode;\n text?: React.ReactNode;\n /**\n * Закрыть попап по клику снаружи. В v5 будет обязательным.\n */\n onClose?: VoidFunction;\n /**\n * Элемент, рядом с которым вылезает попап на десктопе.\n * Лучше передавать RefObject c current.\n * В v5 будет обязательным.\n */\n toggleRef?: ToggleRef;\n /**\n * Направление на десктопе\n */\n popupDirection?: PopupDirection;\n /**\n * Только iOS. В v5 будет обязательным.\n */\n iosCloseItem?: React.ReactNode;\n}\n\nconst warn = warnOnce(\"ActionSheet\");\n\nexport const ActionSheet: React.FC<ActionSheetProps> = ({\n children,\n className,\n header,\n text,\n style,\n iosCloseItem,\n ...restProps\n}) => {\n const platform = usePlatform();\n const [closing, setClosing] = React.useState(false);\n const onClose = () => setClosing(true);\n const _action = React.useRef(noop);\n\n const afterClose = () => {\n restProps.onClose?.();\n _action.current();\n _action.current = noop;\n };\n\n if (process.env.NODE_ENV === \"development\" && !restProps.onClose) {\n warn(\n `Без свойства \"onClose\" нельзя закрыть ActionSheet по клику вне компонента`,\n \"error\"\n );\n }\n\n const { viewWidth, viewHeight, hasMouse } = useAdaptivity();\n const isDesktop =\n viewWidth >= ViewWidth.SMALL_TABLET &&\n (hasMouse || viewHeight >= ViewHeight.MEDIUM);\n\n useScrollLock(!isDesktop);\n\n let timeout = platform === IOS ? 300 : 200;\n\n if (isDesktop) {\n timeout = 0;\n }\n\n const fallbackTransitionFinish = useTimeout(afterClose, timeout);\n React.useEffect(() => {\n if (closing) {\n fallbackTransitionFinish.set();\n } else {\n fallbackTransitionFinish.clear();\n }\n }, [closing, fallbackTransitionFinish]);\n\n const onItemClick = React.useCallback<ItemClickHandler>(\n (action, immediateAction, autoclose) => (event) => {\n event.persist();\n immediateAction && immediateAction(event);\n if (autoclose) {\n _action.current = () => action && action(event);\n setClosing(true);\n } else {\n action && action(event);\n }\n },\n []\n );\n const contextValue = useObjectMemo({ onItemClick, isDesktop });\n\n const DropdownComponent = isDesktop\n ? ActionSheetDropdownDesktop\n : ActionSheetDropdown;\n\n const actionSheet = (\n <ActionSheetContext.Provider value={contextValue}>\n <DropdownComponent\n closing={closing}\n timeout={timeout}\n {...(restProps as Omit<SharedDropdownProps, \"closing\">)}\n onClose={onClose}\n className={isDesktop ? className : undefined}\n style={isDesktop ? style : undefined}\n >\n {(hasReactNode(header) || hasReactNode(text)) && (\n <header vkuiClass=\"ActionSheet__header\">\n {hasReactNode(header) && (\n <Caption\n weight={platform === IOS ? \"1\" : \"2\"}\n vkuiClass=\"ActionSheet__title\"\n >\n {header}\n </Caption>\n )}\n {hasReactNode(text) && (\n <Caption vkuiClass=\"ActionSheet__text\">{text}</Caption>\n )}\n </header>\n )}\n {children}\n {platform === IOS && !isDesktop && iosCloseItem}\n </DropdownComponent>\n </ActionSheetContext.Provider>\n );\n\n if (isDesktop) {\n return actionSheet;\n }\n\n return (\n <PopoutWrapper\n closing={closing}\n alignY=\"bottom\"\n className={className}\n style={style}\n onClick={onClose}\n hasMask\n fixed\n >\n {actionSheet}\n </PopoutWrapper>\n );\n};\n\nActionSheet.defaultProps = {\n popupDirection: \"bottom\",\n};\n"],"file":"ActionSheet.js"}
1
+ {"version":3,"sources":["../../../src/components/ActionSheet/ActionSheet.tsx"],"names":["React","PopoutWrapper","IOS","ActionSheetDropdownDesktop","ActionSheetDropdown","hasReactNode","noop","ActionSheetContext","Caption","usePlatform","useTimeout","useAdaptivityIsDesktop","useObjectMemo","warnOnce","useScrollLock","warn","ActionSheet","children","className","header","text","style","iosCloseItem","restProps","platform","useState","closing","setClosing","onClose","_action","useRef","afterClose","current","process","env","NODE_ENV","isDesktop","timeout","fallbackTransitionFinish","useEffect","set","clear","onItemClick","useCallback","action","immediateAction","autoclose","event","persist","contextValue","DropdownComponent","actionSheet","undefined","defaultProps","popupDirection"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { PopoutWrapper } from \"../PopoutWrapper/PopoutWrapper\";\nimport { IOS } from \"../../lib/platform\";\nimport { ActionSheetDropdownDesktop } from \"./ActionSheetDropdownDesktop\";\nimport { ActionSheetDropdown } from \"./ActionSheetDropdown\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport { ActionSheetContext, ItemClickHandler } from \"./ActionSheetContext\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { useAdaptivityIsDesktop } from \"../../hooks/useAdaptivity\";\nimport { useObjectMemo } from \"../../hooks/useObjectMemo\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { SharedDropdownProps, PopupDirection, ToggleRef } from \"./types\";\nimport { useScrollLock } from \"../AppRoot/ScrollContext\";\nimport \"./ActionSheet.css\";\n\nexport interface ActionSheetProps extends React.HTMLAttributes<HTMLDivElement> {\n header?: React.ReactNode;\n text?: React.ReactNode;\n /**\n * Закрыть попап по клику снаружи. В v5 будет обязательным.\n */\n onClose?: VoidFunction;\n /**\n * Элемент, рядом с которым вылезает попап на десктопе.\n * Лучше передавать RefObject c current.\n * В v5 будет обязательным.\n */\n toggleRef?: ToggleRef;\n /**\n * Направление на десктопе\n */\n popupDirection?: PopupDirection;\n /**\n * Только iOS. В v5 будет обязательным.\n */\n iosCloseItem?: React.ReactNode;\n}\n\nconst warn = warnOnce(\"ActionSheet\");\n\nexport const ActionSheet: React.FC<ActionSheetProps> = ({\n children,\n className,\n header,\n text,\n style,\n iosCloseItem,\n ...restProps\n}) => {\n const platform = usePlatform();\n const [closing, setClosing] = React.useState(false);\n const onClose = () => setClosing(true);\n const _action = React.useRef(noop);\n\n const afterClose = () => {\n restProps.onClose?.();\n _action.current();\n _action.current = noop;\n };\n\n if (process.env.NODE_ENV === \"development\" && !restProps.onClose) {\n warn(\n `Без свойства \"onClose\" нельзя закрыть ActionSheet по клику вне компонента`,\n \"error\"\n );\n }\n\n const isDesktop = useAdaptivityIsDesktop();\n\n useScrollLock(!isDesktop);\n\n let timeout = platform === IOS ? 300 : 200;\n\n if (isDesktop) {\n timeout = 0;\n }\n\n const fallbackTransitionFinish = useTimeout(afterClose, timeout);\n React.useEffect(() => {\n if (closing) {\n fallbackTransitionFinish.set();\n } else {\n fallbackTransitionFinish.clear();\n }\n }, [closing, fallbackTransitionFinish]);\n\n const onItemClick = React.useCallback<ItemClickHandler>(\n (action, immediateAction, autoclose) => (event) => {\n event.persist();\n immediateAction && immediateAction(event);\n if (autoclose) {\n _action.current = () => action && action(event);\n setClosing(true);\n } else {\n action && action(event);\n }\n },\n []\n );\n const contextValue = useObjectMemo({ onItemClick, isDesktop });\n\n const DropdownComponent = isDesktop\n ? ActionSheetDropdownDesktop\n : ActionSheetDropdown;\n\n const actionSheet = (\n <ActionSheetContext.Provider value={contextValue}>\n <DropdownComponent\n closing={closing}\n timeout={timeout}\n {...(restProps as Omit<SharedDropdownProps, \"closing\">)}\n onClose={onClose}\n className={isDesktop ? className : undefined}\n style={isDesktop ? style : undefined}\n >\n {(hasReactNode(header) || hasReactNode(text)) && (\n <header vkuiClass=\"ActionSheet__header\">\n {hasReactNode(header) && (\n <Caption\n weight={platform === IOS ? \"1\" : \"2\"}\n vkuiClass=\"ActionSheet__title\"\n >\n {header}\n </Caption>\n )}\n {hasReactNode(text) && (\n <Caption vkuiClass=\"ActionSheet__text\">{text}</Caption>\n )}\n </header>\n )}\n {children}\n {platform === IOS && !isDesktop && iosCloseItem}\n </DropdownComponent>\n </ActionSheetContext.Provider>\n );\n\n if (isDesktop) {\n return actionSheet;\n }\n\n return (\n <PopoutWrapper\n closing={closing}\n alignY=\"bottom\"\n className={className}\n style={style}\n onClick={onClose}\n hasMask\n fixed\n >\n {actionSheet}\n </PopoutWrapper>\n );\n};\n\nActionSheet.defaultProps = {\n popupDirection: \"bottom\",\n};\n"],"file":"ActionSheet.js"}
@@ -3,7 +3,7 @@ import { CalendarHeaderProps } from "../CalendarHeader/CalendarHeader";
3
3
  import { CalendarTimeProps } from "../CalendarTime/CalendarTime";
4
4
  import { HasRootRef } from "../../types";
5
5
  import "./Calendar.css";
6
- export interface CalendarProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange">, Pick<CalendarTimeProps, "changeHoursAriaLabel" | "changeMinutesAriaLabel">, Pick<CalendarHeaderProps, "prevMonthAriaLabel" | "nextMonthAriaLabel" | "changeMonthAriaLabel" | "changeYearAriaLabel" | "onNextMonth" | "onPrevMonth">, HasRootRef<HTMLDivElement> {
6
+ export interface CalendarProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange">, Pick<CalendarTimeProps, "changeHoursAriaLabel" | "changeMinutesAriaLabel">, Pick<CalendarHeaderProps, "prevMonthAriaLabel" | "nextMonthAriaLabel" | "changeMonthAriaLabel" | "changeYearAriaLabel" | "onNextMonth" | "onPrevMonth" | "prevMonthIcon" | "nextMonthIcon">, HasRootRef<HTMLDivElement> {
7
7
  value?: Date;
8
8
  disablePast?: boolean;
9
9
  disableFuture?: boolean;
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["value", "onChange", "disablePast", "disableFuture", "shouldDisableDate", "onClose", "enableTime", "doneButtonText", "weekStartsOn", "getRootRef", "disablePickers", "changeHoursAriaLabel", "changeMinutesAriaLabel", "prevMonthAriaLabel", "nextMonthAriaLabel", "changeMonthAriaLabel", "changeYearAriaLabel", "showNeighboringMonth", "changeDayAriaLabel", "size", "viewDate", "onHeaderChange", "onNextMonth", "onPrevMonth"];
3
+ var _excluded = ["value", "onChange", "disablePast", "disableFuture", "shouldDisableDate", "onClose", "enableTime", "doneButtonText", "weekStartsOn", "getRootRef", "disablePickers", "changeHoursAriaLabel", "changeMinutesAriaLabel", "prevMonthAriaLabel", "nextMonthAriaLabel", "changeMonthAriaLabel", "changeYearAriaLabel", "showNeighboringMonth", "changeDayAriaLabel", "size", "viewDate", "onHeaderChange", "onNextMonth", "onPrevMonth", "prevMonthIcon", "nextMonthIcon"];
4
4
  import { createScopedElement } from "../../lib/jsxRuntime";
5
5
  import * as React from "react";
6
6
  import { isSameMonth, isSameDay } from "../../lib/date";
@@ -42,6 +42,8 @@ export var Calendar = function Calendar(_ref) {
42
42
  onHeaderChange = _ref.onHeaderChange,
43
43
  onNextMonth = _ref.onNextMonth,
44
44
  onPrevMonth = _ref.onPrevMonth,
45
+ prevMonthIcon = _ref.prevMonthIcon,
46
+ nextMonthIcon = _ref.nextMonthIcon,
45
47
  props = _objectWithoutProperties(_ref, _excluded);
46
48
 
47
49
  var _useCalendar = useCalendar({
@@ -109,7 +111,9 @@ export var Calendar = function Calendar(_ref) {
109
111
  prevMonthAriaLabel: prevMonthAriaLabel,
110
112
  nextMonthAriaLabel: nextMonthAriaLabel,
111
113
  changeMonthAriaLabel: changeMonthAriaLabel,
112
- changeYearAriaLabel: changeYearAriaLabel
114
+ changeYearAriaLabel: changeYearAriaLabel,
115
+ prevMonthIcon: prevMonthIcon,
116
+ nextMonthIcon: nextMonthIcon
113
117
  }), createScopedElement(CalendarDays, {
114
118
  viewDate: externalViewDate || viewDate,
115
119
  value: value,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Calendar/Calendar.tsx"],"names":["React","isSameMonth","isSameDay","CalendarHeader","CalendarDays","CalendarTime","useIsomorphicLayoutEffect","navigateDate","setTimeEqual","isFirstDay","isLastDay","useCalendar","classNames","warnOnce","warn","Calendar","value","onChange","disablePast","disableFuture","shouldDisableDate","onClose","enableTime","doneButtonText","weekStartsOn","getRootRef","disablePickers","changeHoursAriaLabel","changeMinutesAriaLabel","prevMonthAriaLabel","nextMonthAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","showNeighboringMonth","changeDayAriaLabel","size","externalViewDate","viewDate","onHeaderChange","onNextMonth","onPrevMonth","props","setViewDate","setPrevMonth","setNextMonth","focusedDay","setFocusedDay","isDayFocused","isDayDisabled","resetSelectedDay","process","env","NODE_ENV","handleKeyDown","useCallback","event","includes","key","preventDefault","newFocusedDay","onDayChange","date","isDayActive","day","Boolean"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { isSameMonth, isSameDay } from \"../../lib/date\";\nimport {\n CalendarHeader,\n CalendarHeaderProps,\n} from \"../CalendarHeader/CalendarHeader\";\nimport { CalendarDays } from \"../CalendarDays/CalendarDays\";\nimport { CalendarTime, CalendarTimeProps } from \"../CalendarTime/CalendarTime\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport {\n navigateDate,\n setTimeEqual,\n isFirstDay,\n isLastDay,\n} from \"../../lib/calendar\";\nimport { useCalendar } from \"../../hooks/useCalendar\";\nimport { HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./Calendar.css\";\n\nexport interface CalendarProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\">,\n Pick<CalendarTimeProps, \"changeHoursAriaLabel\" | \"changeMinutesAriaLabel\">,\n Pick<\n CalendarHeaderProps,\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"onNextMonth\"\n | \"onPrevMonth\"\n >,\n HasRootRef<HTMLDivElement> {\n value?: Date;\n disablePast?: boolean;\n disableFuture?: boolean;\n enableTime?: boolean;\n disablePickers?: boolean;\n doneButtonText?: string;\n changeDayAriaLabel?: string;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n showNeighboringMonth?: boolean;\n size?: \"s\" | \"m\";\n onChange?(value?: Date): void;\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\nconst warn = warnOnce(\"Calendar\");\n\nexport const Calendar: React.FC<CalendarProps> = ({\n value,\n onChange,\n disablePast,\n disableFuture,\n shouldDisableDate,\n onClose,\n enableTime = false,\n doneButtonText,\n weekStartsOn = 1,\n getRootRef,\n disablePickers,\n changeHoursAriaLabel,\n changeMinutesAriaLabel,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n showNeighboringMonth,\n changeDayAriaLabel = \"Изменить день\",\n size = \"m\",\n viewDate: externalViewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n ...props\n}) => {\n const {\n viewDate,\n setViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n } = useCalendar({\n value,\n disableFuture,\n disablePast,\n shouldDisableDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n });\n\n useIsomorphicLayoutEffect(() => {\n if (value) {\n setViewDate(value);\n }\n }, [value]);\n\n if (\n process.env.NODE_ENV === \"development\" &&\n !disablePickers &&\n size === \"s\"\n ) {\n warn(\n \"Нельзя включить селекты выбора месяца/года, если размер календаря 's'\",\n \"error\"\n );\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 (\n [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"].includes(event.key)\n ) {\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 onChange?.(setTimeEqual(date, value as Date | undefined | null));\n },\n [value, onChange]\n );\n\n const isDayActive = React.useCallback(\n (day: Date) => Boolean(value && isSameDay(day, value)),\n [value]\n );\n\n return (\n <div\n {...props}\n ref={getRootRef}\n vkuiClass={classNames(\"Calendar\", `Calendar--size-${size}`)}\n >\n <CalendarHeader\n viewDate={externalViewDate || viewDate}\n onChange={setViewDate}\n onNextMonth={setNextMonth}\n onPrevMonth={setPrevMonth}\n disablePickers={disablePickers || size === \"s\"}\n vkuiClass=\"Calendar__header\"\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n />\n <CalendarDays\n viewDate={externalViewDate || viewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n isDayFocused={isDayFocused}\n tabIndex={0}\n aria-label={changeDayAriaLabel}\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 />\n {enableTime && value && size !== \"s\" && (\n <div vkuiClass=\"Calendar__time\">\n <CalendarTime\n value={value}\n onChange={onChange}\n onClose={onClose}\n doneButtonText={doneButtonText}\n changeHoursAriaLabel={changeHoursAriaLabel}\n changeMinutesAriaLabel={changeMinutesAriaLabel}\n />\n </div>\n )}\n </div>\n );\n};\n"],"file":"Calendar.js"}
1
+ {"version":3,"sources":["../../../src/components/Calendar/Calendar.tsx"],"names":["React","isSameMonth","isSameDay","CalendarHeader","CalendarDays","CalendarTime","useIsomorphicLayoutEffect","navigateDate","setTimeEqual","isFirstDay","isLastDay","useCalendar","classNames","warnOnce","warn","Calendar","value","onChange","disablePast","disableFuture","shouldDisableDate","onClose","enableTime","doneButtonText","weekStartsOn","getRootRef","disablePickers","changeHoursAriaLabel","changeMinutesAriaLabel","prevMonthAriaLabel","nextMonthAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","showNeighboringMonth","changeDayAriaLabel","size","externalViewDate","viewDate","onHeaderChange","onNextMonth","onPrevMonth","prevMonthIcon","nextMonthIcon","props","setViewDate","setPrevMonth","setNextMonth","focusedDay","setFocusedDay","isDayFocused","isDayDisabled","resetSelectedDay","process","env","NODE_ENV","handleKeyDown","useCallback","event","includes","key","preventDefault","newFocusedDay","onDayChange","date","isDayActive","day","Boolean"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { isSameMonth, isSameDay } from \"../../lib/date\";\nimport {\n CalendarHeader,\n CalendarHeaderProps,\n} from \"../CalendarHeader/CalendarHeader\";\nimport { CalendarDays } from \"../CalendarDays/CalendarDays\";\nimport { CalendarTime, CalendarTimeProps } from \"../CalendarTime/CalendarTime\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport {\n navigateDate,\n setTimeEqual,\n isFirstDay,\n isLastDay,\n} from \"../../lib/calendar\";\nimport { useCalendar } from \"../../hooks/useCalendar\";\nimport { HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./Calendar.css\";\n\nexport interface CalendarProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\">,\n Pick<CalendarTimeProps, \"changeHoursAriaLabel\" | \"changeMinutesAriaLabel\">,\n Pick<\n CalendarHeaderProps,\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"onNextMonth\"\n | \"onPrevMonth\"\n | \"prevMonthIcon\"\n | \"nextMonthIcon\"\n >,\n HasRootRef<HTMLDivElement> {\n value?: Date;\n disablePast?: boolean;\n disableFuture?: boolean;\n enableTime?: boolean;\n disablePickers?: boolean;\n doneButtonText?: string;\n changeDayAriaLabel?: string;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n showNeighboringMonth?: boolean;\n size?: \"s\" | \"m\";\n onChange?(value?: Date): void;\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\nconst warn = warnOnce(\"Calendar\");\n\nexport const Calendar: React.FC<CalendarProps> = ({\n value,\n onChange,\n disablePast,\n disableFuture,\n shouldDisableDate,\n onClose,\n enableTime = false,\n doneButtonText,\n weekStartsOn = 1,\n getRootRef,\n disablePickers,\n changeHoursAriaLabel,\n changeMinutesAriaLabel,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n showNeighboringMonth,\n changeDayAriaLabel = \"Изменить день\",\n size = \"m\",\n viewDate: externalViewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n prevMonthIcon,\n nextMonthIcon,\n ...props\n}) => {\n const {\n viewDate,\n setViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n } = useCalendar({\n value,\n disableFuture,\n disablePast,\n shouldDisableDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n });\n\n useIsomorphicLayoutEffect(() => {\n if (value) {\n setViewDate(value);\n }\n }, [value]);\n\n if (\n process.env.NODE_ENV === \"development\" &&\n !disablePickers &&\n size === \"s\"\n ) {\n warn(\n \"Нельзя включить селекты выбора месяца/года, если размер календаря 's'\",\n \"error\"\n );\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 (\n [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"].includes(event.key)\n ) {\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 onChange?.(setTimeEqual(date, value as Date | undefined | null));\n },\n [value, onChange]\n );\n\n const isDayActive = React.useCallback(\n (day: Date) => Boolean(value && isSameDay(day, value)),\n [value]\n );\n\n return (\n <div\n {...props}\n ref={getRootRef}\n vkuiClass={classNames(\"Calendar\", `Calendar--size-${size}`)}\n >\n <CalendarHeader\n viewDate={externalViewDate || viewDate}\n onChange={setViewDate}\n onNextMonth={setNextMonth}\n onPrevMonth={setPrevMonth}\n disablePickers={disablePickers || size === \"s\"}\n vkuiClass=\"Calendar__header\"\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n />\n <CalendarDays\n viewDate={externalViewDate || viewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n isDayFocused={isDayFocused}\n tabIndex={0}\n aria-label={changeDayAriaLabel}\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 />\n {enableTime && value && size !== \"s\" && (\n <div vkuiClass=\"Calendar__time\">\n <CalendarTime\n value={value}\n onChange={onChange}\n onClose={onClose}\n doneButtonText={doneButtonText}\n changeHoursAriaLabel={changeHoursAriaLabel}\n changeMinutesAriaLabel={changeMinutesAriaLabel}\n />\n </div>\n )}\n </div>\n );\n};\n"],"file":"Calendar.js"}
@@ -9,6 +9,8 @@ export interface CalendarHeaderProps extends Pick<React.HTMLAttributes<HTMLDivEl
9
9
  nextMonthAriaLabel?: string;
10
10
  changeMonthAriaLabel?: string;
11
11
  changeYearAriaLabel?: string;
12
+ prevMonthIcon?: React.ReactNode;
13
+ nextMonthIcon?: React.ReactNode;
12
14
  onChange(viewDate: Date): void;
13
15
  /**
14
16
  * Нажатие на кнопку переключения на следующий месяц.
@@ -42,7 +42,19 @@ export var CalendarHeader = function CalendarHeader(_ref2) {
42
42
  _ref2$changeMonthAria = _ref2.changeMonthAriaLabel,
43
43
  changeMonthAriaLabel = _ref2$changeMonthAria === void 0 ? "Изменить месяц" : _ref2$changeMonthAria,
44
44
  _ref2$changeYearAriaL = _ref2.changeYearAriaLabel,
45
- changeYearAriaLabel = _ref2$changeYearAriaL === void 0 ? "Изменить год" : _ref2$changeYearAriaL;
45
+ changeYearAriaLabel = _ref2$changeYearAriaL === void 0 ? "Изменить год" : _ref2$changeYearAriaL,
46
+ _ref2$prevMonthIcon = _ref2.prevMonthIcon,
47
+ prevMonthIcon = _ref2$prevMonthIcon === void 0 ? createScopedElement(Icon20ChevronLeftOutline, {
48
+ vkuiClass: "CalendarHeader__nav-icon--accent",
49
+ width: 30,
50
+ height: 30
51
+ }) : _ref2$prevMonthIcon,
52
+ _ref2$nextMonthIcon = _ref2.nextMonthIcon,
53
+ nextMonthIcon = _ref2$nextMonthIcon === void 0 ? createScopedElement(Icon20ChevronRightOutline, {
54
+ vkuiClass: "CalendarHeader__nav-icon--accent",
55
+ width: 30,
56
+ height: 30
57
+ }) : _ref2$nextMonthIcon;
46
58
  var locale = React.useContext(LocaleProviderContext);
47
59
  var onMonthsChange = React.useCallback(function (event) {
48
60
  return onChange(setMonth(viewDate, Number(event.target.value)));
@@ -68,10 +80,7 @@ export var CalendarHeader = function CalendarHeader(_ref2) {
68
80
  vkuiClass: classNames("CalendarHeader__nav-icon", "CalendarHeader__nav-icon-prev"),
69
81
  onClick: onPrevMonth,
70
82
  "aria-label": "".concat(prevMonthAriaLabel, ", ").concat(formatter.format(subMonths(viewDate, 1)))
71
- }, createScopedElement(Icon20ChevronLeftOutline, {
72
- width: 30,
73
- height: 30
74
- })), createScopedElement("div", {
83
+ }, prevMonthIcon), createScopedElement("div", {
75
84
  vkuiClass: "CalendarHeader__pickers"
76
85
  }, disablePickers ? createScopedElement(React.Fragment, null, createScopedElement(Paragraph, {
77
86
  weight: "2",
@@ -110,9 +119,6 @@ export var CalendarHeader = function CalendarHeader(_ref2) {
110
119
  vkuiClass: classNames("CalendarHeader__nav-icon", "CalendarHeader__nav-icon-next"),
111
120
  onClick: onNextMonth,
112
121
  "aria-label": "".concat(nextMonthAriaLabel, ", ").concat(formatter.format(addMonths(viewDate, 1)))
113
- }, createScopedElement(Icon20ChevronRightOutline, {
114
- width: 30,
115
- height: 30
116
- })));
122
+ }, nextMonthIcon));
117
123
  };
118
124
  //# sourceMappingURL=CalendarHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/CalendarHeader/CalendarHeader.tsx"],"names":["React","setMonth","setYear","subMonths","addMonths","Icon20ChevronLeftOutline","Icon20ChevronRightOutline","Icon12Dropdown","Tappable","classNames","CustomSelect","SelectType","CustomSelectOption","SizeType","getMonths","getYears","LocaleProviderContext","Paragraph","renderOption","option","children","props","CalendarHeader","viewDate","onChange","prevMonth","nextMonth","disablePickers","onNextMonth","onPrevMonth","className","prevMonthAriaLabel","nextMonthAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","locale","useContext","onMonthsChange","useCallback","event","Number","target","value","onYearChange","months","useMemo","currentYear","getFullYear","years","formatter","Intl","DateTimeFormat","year","month","format","getMonth","COMPACT","Plain"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { setMonth, setYear, subMonths, addMonths } from \"../../lib/date\";\nimport {\n Icon20ChevronLeftOutline,\n Icon20ChevronRightOutline,\n Icon12Dropdown,\n} from \"@vkontakte/icons\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { classNames } from \"../../lib/classNames\";\nimport {\n CustomSelect,\n CustomSelectProps,\n SelectType,\n} from \"../CustomSelect/CustomSelect\";\nimport { CustomSelectOption } from \"../CustomSelectOption/CustomSelectOption\";\nimport { SizeType } from \"../../hoc/withAdaptivity\";\nimport { getMonths, getYears } from \"../../lib/calendar\";\nimport { LocaleProviderContext } from \"../LocaleProviderContext/LocaleProviderContext\";\nimport { Paragraph } from \"../Typography/Paragraph/Paragraph\";\nimport \"./CalendarHeader.css\";\n\nexport interface CalendarHeaderProps\n extends Pick<React.HTMLAttributes<HTMLDivElement>, \"className\"> {\n viewDate: Date;\n prevMonth?: boolean;\n nextMonth?: boolean;\n disablePickers?: boolean;\n prevMonthAriaLabel?: string;\n nextMonthAriaLabel?: string;\n changeMonthAriaLabel?: string;\n changeYearAriaLabel?: string;\n onChange(viewDate: Date): void;\n /**\n * Нажатие на кнопку переключения на следующий месяц.\n */\n onNextMonth?(): void;\n /**\n * Нажатие на кнопку переключения на предыдущий месяц.\n */\n onPrevMonth?(): void;\n}\n\nconst renderOption: CustomSelectProps[\"renderOption\"] = ({\n option,\n children,\n ...props\n}) => {\n return (\n <CustomSelectOption {...props}>\n <span vkuiClass=\"CalendarHeader__month_name\">{children}</span>\n </CustomSelectOption>\n );\n};\n\nexport const CalendarHeader: React.FC<CalendarHeaderProps> = ({\n viewDate,\n onChange,\n prevMonth = true,\n nextMonth = true,\n disablePickers = false,\n onNextMonth,\n onPrevMonth,\n className,\n prevMonthAriaLabel = \"Предыдущий месяц\",\n nextMonthAriaLabel = \"Следующий месяц\",\n changeMonthAriaLabel = \"Изменить месяц\",\n changeYearAriaLabel = \"Изменить год\",\n}) => {\n const locale = React.useContext(LocaleProviderContext);\n const onMonthsChange = React.useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) =>\n onChange(setMonth(viewDate, Number(event.target.value))),\n [onChange, viewDate]\n );\n const onYearChange = React.useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) =>\n onChange(setYear(viewDate, Number(event.target.value))),\n [onChange, viewDate]\n );\n\n const months = React.useMemo(() => getMonths(locale), [locale]);\n\n const currentYear = viewDate.getFullYear();\n\n const years = React.useMemo(() => getYears(currentYear, 100), [currentYear]);\n\n const formatter = new Intl.DateTimeFormat(locale, {\n year: \"numeric\",\n month: \"long\",\n });\n\n return (\n <div vkuiClass=\"CalendarHeader\" className={className}>\n {prevMonth && (\n <Tappable\n vkuiClass={classNames(\n \"CalendarHeader__nav-icon\",\n \"CalendarHeader__nav-icon-prev\"\n )}\n onClick={onPrevMonth}\n aria-label={`${prevMonthAriaLabel}, ${formatter.format(\n subMonths(viewDate, 1)\n )}`}\n >\n <Icon20ChevronLeftOutline width={30} height={30} />\n </Tappable>\n )}\n <div vkuiClass=\"CalendarHeader__pickers\">\n {disablePickers ? (\n <React.Fragment>\n <Paragraph\n weight=\"2\"\n vkuiClass=\"CalendarHeader__pickers-placeholder\"\n >\n {new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(viewDate)}\n </Paragraph>\n <Paragraph\n weight=\"2\"\n vkuiClass=\"CalendarHeader__pickers-placeholder\"\n >\n {new Intl.DateTimeFormat(locale, {\n year: \"numeric\",\n }).format(viewDate)}\n </Paragraph>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <CustomSelect\n value={viewDate.getMonth()}\n options={months}\n renderOption={renderOption}\n dropdownOffsetDistance={4}\n fixDropdownWidth={false}\n sizeY={SizeType.COMPACT}\n icon={<Icon12Dropdown />}\n onChange={onMonthsChange}\n forceDropdownPortal={false}\n selectType={SelectType.Plain}\n aria-label={changeMonthAriaLabel}\n />\n <CustomSelect\n value={viewDate.getFullYear()}\n options={years}\n dropdownOffsetDistance={4}\n fixDropdownWidth={false}\n sizeY={SizeType.COMPACT}\n icon={<Icon12Dropdown />}\n onChange={onYearChange}\n forceDropdownPortal={false}\n selectType={SelectType.Plain}\n aria-label={changeYearAriaLabel}\n />\n </React.Fragment>\n )}\n </div>\n {nextMonth && (\n <Tappable\n vkuiClass={classNames(\n \"CalendarHeader__nav-icon\",\n \"CalendarHeader__nav-icon-next\"\n )}\n onClick={onNextMonth}\n aria-label={`${nextMonthAriaLabel}, ${formatter.format(\n addMonths(viewDate, 1)\n )}`}\n >\n <Icon20ChevronRightOutline width={30} height={30} />\n </Tappable>\n )}\n </div>\n );\n};\n"],"file":"CalendarHeader.js"}
1
+ {"version":3,"sources":["../../../src/components/CalendarHeader/CalendarHeader.tsx"],"names":["React","setMonth","setYear","subMonths","addMonths","Icon20ChevronLeftOutline","Icon20ChevronRightOutline","Icon12Dropdown","Tappable","classNames","CustomSelect","SelectType","CustomSelectOption","SizeType","getMonths","getYears","LocaleProviderContext","Paragraph","renderOption","option","children","props","CalendarHeader","viewDate","onChange","prevMonth","nextMonth","disablePickers","onNextMonth","onPrevMonth","className","prevMonthAriaLabel","nextMonthAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","prevMonthIcon","nextMonthIcon","locale","useContext","onMonthsChange","useCallback","event","Number","target","value","onYearChange","months","useMemo","currentYear","getFullYear","years","formatter","Intl","DateTimeFormat","year","month","format","getMonth","COMPACT","Plain"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { setMonth, setYear, subMonths, addMonths } from \"../../lib/date\";\nimport {\n Icon20ChevronLeftOutline,\n Icon20ChevronRightOutline,\n Icon12Dropdown,\n} from \"@vkontakte/icons\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { classNames } from \"../../lib/classNames\";\nimport {\n CustomSelect,\n CustomSelectProps,\n SelectType,\n} from \"../CustomSelect/CustomSelect\";\nimport { CustomSelectOption } from \"../CustomSelectOption/CustomSelectOption\";\nimport { SizeType } from \"../../hoc/withAdaptivity\";\nimport { getMonths, getYears } from \"../../lib/calendar\";\nimport { LocaleProviderContext } from \"../LocaleProviderContext/LocaleProviderContext\";\nimport { Paragraph } from \"../Typography/Paragraph/Paragraph\";\nimport \"./CalendarHeader.css\";\n\nexport interface CalendarHeaderProps\n extends Pick<React.HTMLAttributes<HTMLDivElement>, \"className\"> {\n viewDate: Date;\n prevMonth?: boolean;\n nextMonth?: boolean;\n disablePickers?: boolean;\n prevMonthAriaLabel?: string;\n nextMonthAriaLabel?: string;\n changeMonthAriaLabel?: string;\n changeYearAriaLabel?: string;\n prevMonthIcon?: React.ReactNode;\n nextMonthIcon?: React.ReactNode;\n onChange(viewDate: Date): void;\n /**\n * Нажатие на кнопку переключения на следующий месяц.\n */\n onNextMonth?(): void;\n /**\n * Нажатие на кнопку переключения на предыдущий месяц.\n */\n onPrevMonth?(): void;\n}\n\nconst renderOption: CustomSelectProps[\"renderOption\"] = ({\n option,\n children,\n ...props\n}) => {\n return (\n <CustomSelectOption {...props}>\n <span vkuiClass=\"CalendarHeader__month_name\">{children}</span>\n </CustomSelectOption>\n );\n};\n\nexport const CalendarHeader: React.FC<CalendarHeaderProps> = ({\n viewDate,\n onChange,\n prevMonth = true,\n nextMonth = true,\n disablePickers = false,\n onNextMonth,\n onPrevMonth,\n className,\n prevMonthAriaLabel = \"Предыдущий месяц\",\n nextMonthAriaLabel = \"Следующий месяц\",\n changeMonthAriaLabel = \"Изменить месяц\",\n changeYearAriaLabel = \"Изменить год\",\n prevMonthIcon = (\n <Icon20ChevronLeftOutline\n vkuiClass=\"CalendarHeader__nav-icon--accent\"\n width={30}\n height={30}\n />\n ),\n nextMonthIcon = (\n <Icon20ChevronRightOutline\n vkuiClass=\"CalendarHeader__nav-icon--accent\"\n width={30}\n height={30}\n />\n ),\n}) => {\n const locale = React.useContext(LocaleProviderContext);\n const onMonthsChange = React.useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) =>\n onChange(setMonth(viewDate, Number(event.target.value))),\n [onChange, viewDate]\n );\n const onYearChange = React.useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) =>\n onChange(setYear(viewDate, Number(event.target.value))),\n [onChange, viewDate]\n );\n\n const months = React.useMemo(() => getMonths(locale), [locale]);\n\n const currentYear = viewDate.getFullYear();\n\n const years = React.useMemo(() => getYears(currentYear, 100), [currentYear]);\n\n const formatter = new Intl.DateTimeFormat(locale, {\n year: \"numeric\",\n month: \"long\",\n });\n\n return (\n <div vkuiClass=\"CalendarHeader\" className={className}>\n {prevMonth && (\n <Tappable\n vkuiClass={classNames(\n \"CalendarHeader__nav-icon\",\n \"CalendarHeader__nav-icon-prev\"\n )}\n onClick={onPrevMonth}\n aria-label={`${prevMonthAriaLabel}, ${formatter.format(\n subMonths(viewDate, 1)\n )}`}\n >\n {prevMonthIcon}\n </Tappable>\n )}\n <div vkuiClass=\"CalendarHeader__pickers\">\n {disablePickers ? (\n <React.Fragment>\n <Paragraph\n weight=\"2\"\n vkuiClass=\"CalendarHeader__pickers-placeholder\"\n >\n {new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(viewDate)}\n </Paragraph>\n <Paragraph\n weight=\"2\"\n vkuiClass=\"CalendarHeader__pickers-placeholder\"\n >\n {new Intl.DateTimeFormat(locale, {\n year: \"numeric\",\n }).format(viewDate)}\n </Paragraph>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <CustomSelect\n value={viewDate.getMonth()}\n options={months}\n renderOption={renderOption}\n dropdownOffsetDistance={4}\n fixDropdownWidth={false}\n sizeY={SizeType.COMPACT}\n icon={<Icon12Dropdown />}\n onChange={onMonthsChange}\n forceDropdownPortal={false}\n selectType={SelectType.Plain}\n aria-label={changeMonthAriaLabel}\n />\n <CustomSelect\n value={viewDate.getFullYear()}\n options={years}\n dropdownOffsetDistance={4}\n fixDropdownWidth={false}\n sizeY={SizeType.COMPACT}\n icon={<Icon12Dropdown />}\n onChange={onYearChange}\n forceDropdownPortal={false}\n selectType={SelectType.Plain}\n aria-label={changeYearAriaLabel}\n />\n </React.Fragment>\n )}\n </div>\n {nextMonth && (\n <Tappable\n vkuiClass={classNames(\n \"CalendarHeader__nav-icon\",\n \"CalendarHeader__nav-icon-next\"\n )}\n onClick={onNextMonth}\n aria-label={`${nextMonthAriaLabel}, ${formatter.format(\n addMonths(viewDate, 1)\n )}`}\n >\n {nextMonthIcon}\n </Tappable>\n )}\n </div>\n );\n};\n"],"file":"CalendarHeader.js"}
@@ -2,7 +2,7 @@ import * as React from "react";
2
2
  import { CalendarHeaderProps } from "../CalendarHeader/CalendarHeader";
3
3
  import { HasRootRef } from "../../types";
4
4
  import "./CalendarRange.css";
5
- export interface CalendarRangeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange">, Pick<CalendarHeaderProps, "prevMonthAriaLabel" | "nextMonthAriaLabel" | "changeMonthAriaLabel" | "changeYearAriaLabel">, HasRootRef<HTMLDivElement> {
5
+ export interface CalendarRangeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange">, Pick<CalendarHeaderProps, "prevMonthAriaLabel" | "nextMonthAriaLabel" | "changeMonthAriaLabel" | "changeYearAriaLabel" | "prevMonthIcon" | "nextMonthIcon">, HasRootRef<HTMLDivElement> {
6
6
  value?: Array<Date | null>;
7
7
  disablePast?: boolean;
8
8
  disableFuture?: boolean;
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["value", "onChange", "disablePast", "disableFuture", "shouldDisableDate", "onClose", "weekStartsOn", "getRootRef", "disablePickers", "prevMonthAriaLabel", "nextMonthAriaLabel", "changeMonthAriaLabel", "changeYearAriaLabel", "changeDayAriaLabel"];
4
+ var _excluded = ["value", "onChange", "disablePast", "disableFuture", "shouldDisableDate", "onClose", "weekStartsOn", "getRootRef", "disablePickers", "prevMonthAriaLabel", "nextMonthAriaLabel", "changeMonthAriaLabel", "changeYearAriaLabel", "changeDayAriaLabel", "prevMonthIcon", "nextMonthIcon"];
5
5
  import { createScopedElement } from "../../lib/jsxRuntime";
6
6
  import * as React from "react";
7
7
  import { addMonths, isSameMonth, isSameDay, isBefore, isAfter, startOfDay, endOfDay, isWithinInterval } from "../../lib/date";
@@ -35,6 +35,8 @@ export var CalendarRange = function CalendarRange(_ref) {
35
35
  changeYearAriaLabel = _ref.changeYearAriaLabel,
36
36
  _ref$changeDayAriaLab = _ref.changeDayAriaLabel,
37
37
  changeDayAriaLabel = _ref$changeDayAriaLab === void 0 ? "Изменить день" : _ref$changeDayAriaLab,
38
+ prevMonthIcon = _ref.prevMonthIcon,
39
+ nextMonthIcon = _ref.nextMonthIcon,
38
40
  props = _objectWithoutProperties(_ref, _excluded);
39
41
 
40
42
  var _useCalendar = useCalendar({
@@ -136,7 +138,8 @@ export var CalendarRange = function CalendarRange(_ref) {
136
138
  prevMonthAriaLabel: prevMonthAriaLabel,
137
139
  nextMonthAriaLabel: nextMonthAriaLabel,
138
140
  changeMonthAriaLabel: changeMonthAriaLabel,
139
- changeYearAriaLabel: changeYearAriaLabel
141
+ changeYearAriaLabel: changeYearAriaLabel,
142
+ prevMonthIcon: prevMonthIcon
140
143
  }), createScopedElement(CalendarDays, {
141
144
  viewDate: viewDate,
142
145
  value: value,
@@ -167,7 +170,8 @@ export var CalendarRange = function CalendarRange(_ref) {
167
170
  prevMonthAriaLabel: prevMonthAriaLabel,
168
171
  nextMonthAriaLabel: nextMonthAriaLabel,
169
172
  changeMonthAriaLabel: changeMonthAriaLabel,
170
- changeYearAriaLabel: changeYearAriaLabel
173
+ changeYearAriaLabel: changeYearAriaLabel,
174
+ nextMonthIcon: nextMonthIcon
171
175
  }), createScopedElement(CalendarDays, {
172
176
  viewDate: secondViewDate,
173
177
  value: value,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/CalendarRange/CalendarRange.tsx"],"names":["React","addMonths","isSameMonth","isSameDay","isBefore","isAfter","startOfDay","endOfDay","isWithinInterval","CalendarHeader","CalendarDays","navigateDate","setTimeEqual","isLastDay","isFirstDay","useCalendar","getIsDaySelected","day","value","Boolean","CalendarRange","onChange","disablePast","disableFuture","shouldDisableDate","onClose","weekStartsOn","getRootRef","disablePickers","prevMonthAriaLabel","nextMonthAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","changeDayAriaLabel","props","viewDate","setViewDate","setPrevMonth","setNextMonth","focusedDay","setFocusedDay","isDayFocused","isDayDisabled","resetSelectedDay","useState","hintedDate","setHintedDate","secondViewDate","handleKeyDown","useCallback","event","includes","key","preventDefault","newFocusedDay","getNewValue","date","start","end","onDayChange","undefined","isDaySelected","isDayActive","isDaySelectionEnd","dayOfWeek","isHintedDaySelectionEnd","isDaySelectionStart","isHintedDaySelectionStart","onDayEnter","onDayLeave","isDayHinted"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n addMonths,\n isSameMonth,\n isSameDay,\n isBefore,\n isAfter,\n startOfDay,\n endOfDay,\n isWithinInterval,\n} from \"../../lib/date\";\nimport {\n CalendarHeader,\n CalendarHeaderProps,\n} from \"../CalendarHeader/CalendarHeader\";\nimport { CalendarDays } from \"../CalendarDays/CalendarDays\";\nimport {\n navigateDate,\n setTimeEqual,\n isLastDay,\n isFirstDay,\n} from \"../../lib/calendar\";\nimport { useCalendar } from \"../../hooks/useCalendar\";\nimport { HasRootRef } from \"../../types\";\nimport \"./CalendarRange.css\";\n\nexport interface CalendarRangeProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\">,\n Pick<\n CalendarHeaderProps,\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n >,\n HasRootRef<HTMLDivElement> {\n value?: Array<Date | null>;\n disablePast?: boolean;\n disableFuture?: boolean;\n disablePickers?: boolean;\n changeDayAriaLabel?: string;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n onChange?(value?: Array<Date | null>): void;\n shouldDisableDate?(value: Date): boolean;\n onClose?(): void;\n}\n\nconst getIsDaySelected = (day: Date, value?: Array<Date | null>) => {\n if (!value?.[0] || !value[1]) {\n return false;\n }\n\n return Boolean(\n isWithinInterval(day, startOfDay(value[0]), endOfDay(value[1]))\n );\n};\n\nexport const CalendarRange: React.FC<CalendarRangeProps> = ({\n value,\n onChange,\n disablePast,\n disableFuture,\n shouldDisableDate,\n onClose,\n weekStartsOn = 1,\n getRootRef,\n disablePickers,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n changeDayAriaLabel = \"Изменить день\",\n ...props\n}) => {\n const {\n viewDate,\n setViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n } = useCalendar({ value, disableFuture, disablePast, shouldDisableDate });\n const [hintedDate, setHintedDate] = React.useState<Array<Date | null>>();\n const secondViewDate = addMonths(viewDate, 1);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (\n [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"].includes(event.key)\n ) {\n event.preventDefault();\n }\n\n const newFocusedDay = navigateDate(focusedDay ?? value?.[1], event.key);\n\n if (\n newFocusedDay &&\n !isSameMonth(newFocusedDay, viewDate) &&\n !isSameMonth(newFocusedDay, addMonths(viewDate, 1))\n ) {\n setViewDate(newFocusedDay);\n }\n setFocusedDay(newFocusedDay);\n },\n [focusedDay, setFocusedDay, setViewDate, value, viewDate]\n );\n\n const getNewValue = React.useCallback(\n (date: Date) => {\n if (!value) {\n return [date, null];\n }\n\n const start = value[0];\n const end = value[1];\n if ((start && isSameDay(date, start)) || (end && isSameDay(date, end))) {\n return [setTimeEqual(date, start), setTimeEqual(date, end)];\n } else if (start && isBefore(date, start)) {\n return [setTimeEqual(date, start), end];\n } else if (start && isAfter(date, start)) {\n return [start, setTimeEqual(date, end)];\n }\n\n return value;\n },\n [value]\n );\n\n const onDayChange = React.useCallback(\n (date: Date) => {\n onChange?.(getNewValue(date));\n setHintedDate(undefined);\n },\n [onChange, getNewValue]\n );\n\n const isDaySelected = React.useCallback(\n (day: Date) => getIsDaySelected(day, value),\n [value]\n );\n\n const isDayActive = React.useCallback(\n (day: Date) =>\n Boolean(\n (value?.[0] && isSameDay(day, value[0])) ||\n (value?.[1] && isSameDay(day, value[1]))\n ),\n [value]\n );\n\n const isDaySelectionEnd = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isLastDay(day, dayOfWeek) || (value?.[1] && isSameDay(day, value[1]))\n ),\n [value]\n );\n\n const isHintedDaySelectionEnd = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isLastDay(day, dayOfWeek) ||\n (hintedDate?.[1] && isSameDay(day, hintedDate[1]))\n ),\n [hintedDate]\n );\n\n const isDaySelectionStart = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isFirstDay(day, dayOfWeek) || (value?.[0] && isSameDay(day, value[0]))\n ),\n [value]\n );\n\n const isHintedDaySelectionStart = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isFirstDay(day, dayOfWeek) ||\n (hintedDate?.[0] && isSameDay(day, hintedDate[0]))\n ),\n [hintedDate]\n );\n\n const onDayEnter = React.useCallback(\n (date: Date) => setHintedDate(getNewValue(date)),\n [setHintedDate, getNewValue]\n );\n\n const onDayLeave = React.useCallback(\n () => setHintedDate(undefined),\n [setHintedDate]\n );\n\n const isDayHinted = React.useCallback(\n (day: Date) => getIsDaySelected(day, hintedDate),\n [hintedDate]\n );\n\n return (\n <div {...props} ref={getRootRef} vkuiClass=\"CalendarRange\">\n <div vkuiClass=\"CalendarRange__inner\">\n <CalendarHeader\n viewDate={viewDate}\n onChange={setViewDate}\n nextMonth={false}\n onPrevMonth={setPrevMonth}\n disablePickers={disablePickers}\n vkuiClass=\"CalendarRange__header\"\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n />\n <CalendarDays\n viewDate={viewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n onKeyDown={handleKeyDown}\n isDayFocused={isDayFocused}\n onDayChange={onDayChange}\n isDaySelected={isDaySelected}\n isDayActive={isDayActive}\n isDaySelectionEnd={isDaySelectionEnd}\n isDaySelectionStart={isDaySelectionStart}\n isDayHinted={isDayHinted}\n onDayEnter={onDayEnter}\n onDayLeave={onDayLeave}\n isHintedDaySelectionEnd={isHintedDaySelectionEnd}\n isHintedDaySelectionStart={isHintedDaySelectionStart}\n isDayDisabled={isDayDisabled}\n aria-label={changeDayAriaLabel}\n />\n </div>\n <div vkuiClass=\"CalendarRange__inner\">\n <CalendarHeader\n viewDate={secondViewDate}\n onChange={setViewDate}\n prevMonth={false}\n onNextMonth={setNextMonth}\n disablePickers={disablePickers}\n vkuiClass=\"CalendarRange__header\"\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n />\n <CalendarDays\n viewDate={secondViewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n aria-label={changeDayAriaLabel}\n onKeyDown={handleKeyDown}\n isDayFocused={isDayFocused}\n onDayChange={onDayChange}\n isDaySelected={isDaySelected}\n isDayActive={isDayActive}\n isDaySelectionEnd={isDaySelectionEnd}\n isDaySelectionStart={isDaySelectionStart}\n isDayHinted={isDayHinted}\n onDayEnter={onDayEnter}\n onDayLeave={onDayLeave}\n isHintedDaySelectionEnd={isHintedDaySelectionEnd}\n isHintedDaySelectionStart={isHintedDaySelectionStart}\n isDayDisabled={isDayDisabled}\n tabIndex={0}\n onBlur={resetSelectedDay}\n />\n </div>\n </div>\n );\n};\n"],"file":"CalendarRange.js"}
1
+ {"version":3,"sources":["../../../src/components/CalendarRange/CalendarRange.tsx"],"names":["React","addMonths","isSameMonth","isSameDay","isBefore","isAfter","startOfDay","endOfDay","isWithinInterval","CalendarHeader","CalendarDays","navigateDate","setTimeEqual","isLastDay","isFirstDay","useCalendar","getIsDaySelected","day","value","Boolean","CalendarRange","onChange","disablePast","disableFuture","shouldDisableDate","onClose","weekStartsOn","getRootRef","disablePickers","prevMonthAriaLabel","nextMonthAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","changeDayAriaLabel","prevMonthIcon","nextMonthIcon","props","viewDate","setViewDate","setPrevMonth","setNextMonth","focusedDay","setFocusedDay","isDayFocused","isDayDisabled","resetSelectedDay","useState","hintedDate","setHintedDate","secondViewDate","handleKeyDown","useCallback","event","includes","key","preventDefault","newFocusedDay","getNewValue","date","start","end","onDayChange","undefined","isDaySelected","isDayActive","isDaySelectionEnd","dayOfWeek","isHintedDaySelectionEnd","isDaySelectionStart","isHintedDaySelectionStart","onDayEnter","onDayLeave","isDayHinted"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n addMonths,\n isSameMonth,\n isSameDay,\n isBefore,\n isAfter,\n startOfDay,\n endOfDay,\n isWithinInterval,\n} from \"../../lib/date\";\nimport {\n CalendarHeader,\n CalendarHeaderProps,\n} from \"../CalendarHeader/CalendarHeader\";\nimport { CalendarDays } from \"../CalendarDays/CalendarDays\";\nimport {\n navigateDate,\n setTimeEqual,\n isLastDay,\n isFirstDay,\n} from \"../../lib/calendar\";\nimport { useCalendar } from \"../../hooks/useCalendar\";\nimport { HasRootRef } from \"../../types\";\nimport \"./CalendarRange.css\";\n\nexport interface CalendarRangeProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\">,\n Pick<\n CalendarHeaderProps,\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"prevMonthIcon\"\n | \"nextMonthIcon\"\n >,\n HasRootRef<HTMLDivElement> {\n value?: Array<Date | null>;\n disablePast?: boolean;\n disableFuture?: boolean;\n disablePickers?: boolean;\n changeDayAriaLabel?: string;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n onChange?(value?: Array<Date | null>): void;\n shouldDisableDate?(value: Date): boolean;\n onClose?(): void;\n}\n\nconst getIsDaySelected = (day: Date, value?: Array<Date | null>) => {\n if (!value?.[0] || !value[1]) {\n return false;\n }\n\n return Boolean(\n isWithinInterval(day, startOfDay(value[0]), endOfDay(value[1]))\n );\n};\n\nexport const CalendarRange: React.FC<CalendarRangeProps> = ({\n value,\n onChange,\n disablePast,\n disableFuture,\n shouldDisableDate,\n onClose,\n weekStartsOn = 1,\n getRootRef,\n disablePickers,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n changeDayAriaLabel = \"Изменить день\",\n prevMonthIcon,\n nextMonthIcon,\n ...props\n}) => {\n const {\n viewDate,\n setViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n } = useCalendar({ value, disableFuture, disablePast, shouldDisableDate });\n const [hintedDate, setHintedDate] = React.useState<Array<Date | null>>();\n const secondViewDate = addMonths(viewDate, 1);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (\n [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"].includes(event.key)\n ) {\n event.preventDefault();\n }\n\n const newFocusedDay = navigateDate(focusedDay ?? value?.[1], event.key);\n\n if (\n newFocusedDay &&\n !isSameMonth(newFocusedDay, viewDate) &&\n !isSameMonth(newFocusedDay, addMonths(viewDate, 1))\n ) {\n setViewDate(newFocusedDay);\n }\n setFocusedDay(newFocusedDay);\n },\n [focusedDay, setFocusedDay, setViewDate, value, viewDate]\n );\n\n const getNewValue = React.useCallback(\n (date: Date) => {\n if (!value) {\n return [date, null];\n }\n\n const start = value[0];\n const end = value[1];\n if ((start && isSameDay(date, start)) || (end && isSameDay(date, end))) {\n return [setTimeEqual(date, start), setTimeEqual(date, end)];\n } else if (start && isBefore(date, start)) {\n return [setTimeEqual(date, start), end];\n } else if (start && isAfter(date, start)) {\n return [start, setTimeEqual(date, end)];\n }\n\n return value;\n },\n [value]\n );\n\n const onDayChange = React.useCallback(\n (date: Date) => {\n onChange?.(getNewValue(date));\n setHintedDate(undefined);\n },\n [onChange, getNewValue]\n );\n\n const isDaySelected = React.useCallback(\n (day: Date) => getIsDaySelected(day, value),\n [value]\n );\n\n const isDayActive = React.useCallback(\n (day: Date) =>\n Boolean(\n (value?.[0] && isSameDay(day, value[0])) ||\n (value?.[1] && isSameDay(day, value[1]))\n ),\n [value]\n );\n\n const isDaySelectionEnd = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isLastDay(day, dayOfWeek) || (value?.[1] && isSameDay(day, value[1]))\n ),\n [value]\n );\n\n const isHintedDaySelectionEnd = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isLastDay(day, dayOfWeek) ||\n (hintedDate?.[1] && isSameDay(day, hintedDate[1]))\n ),\n [hintedDate]\n );\n\n const isDaySelectionStart = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isFirstDay(day, dayOfWeek) || (value?.[0] && isSameDay(day, value[0]))\n ),\n [value]\n );\n\n const isHintedDaySelectionStart = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isFirstDay(day, dayOfWeek) ||\n (hintedDate?.[0] && isSameDay(day, hintedDate[0]))\n ),\n [hintedDate]\n );\n\n const onDayEnter = React.useCallback(\n (date: Date) => setHintedDate(getNewValue(date)),\n [setHintedDate, getNewValue]\n );\n\n const onDayLeave = React.useCallback(\n () => setHintedDate(undefined),\n [setHintedDate]\n );\n\n const isDayHinted = React.useCallback(\n (day: Date) => getIsDaySelected(day, hintedDate),\n [hintedDate]\n );\n\n return (\n <div {...props} ref={getRootRef} vkuiClass=\"CalendarRange\">\n <div vkuiClass=\"CalendarRange__inner\">\n <CalendarHeader\n viewDate={viewDate}\n onChange={setViewDate}\n nextMonth={false}\n onPrevMonth={setPrevMonth}\n disablePickers={disablePickers}\n vkuiClass=\"CalendarRange__header\"\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n prevMonthIcon={prevMonthIcon}\n />\n <CalendarDays\n viewDate={viewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n onKeyDown={handleKeyDown}\n isDayFocused={isDayFocused}\n onDayChange={onDayChange}\n isDaySelected={isDaySelected}\n isDayActive={isDayActive}\n isDaySelectionEnd={isDaySelectionEnd}\n isDaySelectionStart={isDaySelectionStart}\n isDayHinted={isDayHinted}\n onDayEnter={onDayEnter}\n onDayLeave={onDayLeave}\n isHintedDaySelectionEnd={isHintedDaySelectionEnd}\n isHintedDaySelectionStart={isHintedDaySelectionStart}\n isDayDisabled={isDayDisabled}\n aria-label={changeDayAriaLabel}\n />\n </div>\n <div vkuiClass=\"CalendarRange__inner\">\n <CalendarHeader\n viewDate={secondViewDate}\n onChange={setViewDate}\n prevMonth={false}\n onNextMonth={setNextMonth}\n disablePickers={disablePickers}\n vkuiClass=\"CalendarRange__header\"\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n nextMonthIcon={nextMonthIcon}\n />\n <CalendarDays\n viewDate={secondViewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n aria-label={changeDayAriaLabel}\n onKeyDown={handleKeyDown}\n isDayFocused={isDayFocused}\n onDayChange={onDayChange}\n isDaySelected={isDaySelected}\n isDayActive={isDayActive}\n isDaySelectionEnd={isDaySelectionEnd}\n isDaySelectionStart={isDaySelectionStart}\n isDayHinted={isDayHinted}\n onDayEnter={onDayEnter}\n onDayLeave={onDayLeave}\n isHintedDaySelectionEnd={isHintedDaySelectionEnd}\n isHintedDaySelectionStart={isHintedDaySelectionStart}\n isDayDisabled={isDayDisabled}\n tabIndex={0}\n onBlur={resetSelectedDay}\n />\n </div>\n </div>\n );\n};\n"],"file":"CalendarRange.js"}
@@ -3,7 +3,7 @@ import { CalendarProps } from "../Calendar/Calendar";
3
3
  import { Placement } from "../Popper/Popper";
4
4
  import { HasRootRef } from "../../types";
5
5
  import "./DateInput.css";
6
- export interface DateInputProps extends Omit<React.InputHTMLAttributes<HTMLDivElement>, "value" | "onChange" | "size">, Pick<CalendarProps, "disablePast" | "disableFuture" | "enableTime" | "shouldDisableDate" | "onChange" | "value" | "doneButtonText" | "weekStartsOn" | "disablePickers" | "changeHoursAriaLabel" | "changeMinutesAriaLabel" | "prevMonthAriaLabel" | "nextMonthAriaLabel" | "changeMonthAriaLabel" | "changeYearAriaLabel" | "changeDayAriaLabel" | "showNeighboringMonth" | "size" | "viewDate" | "onHeaderChange" | "onNextMonth" | "onPrevMonth">, HasRootRef<HTMLDivElement> {
6
+ export interface DateInputProps extends Omit<React.InputHTMLAttributes<HTMLDivElement>, "value" | "onChange" | "size">, Pick<CalendarProps, "disablePast" | "disableFuture" | "enableTime" | "shouldDisableDate" | "onChange" | "value" | "doneButtonText" | "weekStartsOn" | "disablePickers" | "changeHoursAriaLabel" | "changeMinutesAriaLabel" | "prevMonthAriaLabel" | "nextMonthAriaLabel" | "changeMonthAriaLabel" | "changeYearAriaLabel" | "changeDayAriaLabel" | "showNeighboringMonth" | "size" | "viewDate" | "onHeaderChange" | "onNextMonth" | "onPrevMonth" | "prevMonthIcon" | "nextMonthIcon">, HasRootRef<HTMLDivElement> {
7
7
  calendarPlacement?: Placement;
8
8
  closeOnChange?: boolean;
9
9
  clearFieldAriaLabel?: string;