@skbkontur/react-ui 3.9.2 → 3.9.3-sidepagefix

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 (816) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +112 -112
  3. package/cjs/components/Autocomplete/index.d.ts +1 -1
  4. package/cjs/components/Button/Button.d.ts +160 -157
  5. package/cjs/components/Button/Button.js +8 -1
  6. package/cjs/components/Button/Button.js.map +1 -1
  7. package/cjs/components/Button/Button.mixins.d.ts +6 -6
  8. package/cjs/components/Button/Button.styles.d.ts +67 -67
  9. package/cjs/components/Button/Corners.d.ts +6 -6
  10. package/cjs/components/Button/index.d.ts +1 -1
  11. package/cjs/components/Center/Center.d.ts +24 -24
  12. package/cjs/components/Center/Center.styles.d.ts +7 -7
  13. package/cjs/components/Center/index.d.ts +1 -1
  14. package/cjs/components/Checkbox/Checkbox.d.ts +95 -96
  15. package/cjs/components/Checkbox/Checkbox.js +21 -18
  16. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  17. package/cjs/components/Checkbox/Checkbox.styles.d.ts +22 -22
  18. package/cjs/components/Checkbox/index.d.ts +1 -1
  19. package/cjs/components/ComboBox/ComboBox.d.ts +182 -182
  20. package/cjs/components/ComboBox/index.d.ts +1 -1
  21. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  22. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +106 -105
  23. package/cjs/components/CurrencyInput/CurrencyInput.js +29 -1
  24. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  25. package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  26. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  27. package/cjs/components/CurrencyInput/CursorHelper.d.ts +10 -10
  28. package/cjs/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  29. package/cjs/components/CurrencyInput/constants.d.ts +2 -2
  30. package/cjs/components/CurrencyInput/index.d.ts +1 -1
  31. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  32. package/cjs/components/CurrencyLabel/index.d.ts +1 -1
  33. package/cjs/components/DateInput/DateFragmentsView.d.ts +20 -20
  34. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  35. package/cjs/components/DateInput/DateInput.d.ts +106 -106
  36. package/cjs/components/DateInput/DateInput.styles.d.ts +10 -10
  37. package/cjs/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  38. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  39. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  40. package/cjs/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  41. package/cjs/components/DateInput/helpers/inputNumber.d.ts +5 -5
  42. package/cjs/components/DateInput/index.d.ts +1 -1
  43. package/cjs/components/DatePicker/DatePicker.d.ts +132 -132
  44. package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -3
  45. package/cjs/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  46. package/cjs/components/DatePicker/Picker.d.ts +33 -33
  47. package/cjs/components/DatePicker/Picker.styles.d.ts +5 -5
  48. package/cjs/components/DatePicker/index.d.ts +1 -1
  49. package/cjs/components/DatePicker/locale/index.d.ts +4 -4
  50. package/cjs/components/DatePicker/locale/locales/en.d.ts +2 -2
  51. package/cjs/components/DatePicker/locale/locales/ru.d.ts +2 -2
  52. package/cjs/components/DatePicker/locale/types.d.ts +5 -5
  53. package/cjs/components/Dropdown/Dropdown.d.ts +123 -123
  54. package/cjs/components/Dropdown/index.d.ts +1 -1
  55. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +64 -64
  56. package/cjs/components/DropdownMenu/index.d.ts +1 -1
  57. package/cjs/components/FxInput/FxInput.d.ts +49 -49
  58. package/cjs/components/FxInput/index.d.ts +1 -1
  59. package/cjs/components/Gapped/Gapped.d.ts +56 -56
  60. package/cjs/components/Gapped/index.d.ts +1 -1
  61. package/cjs/components/Group/Group.d.ts +13 -13
  62. package/cjs/components/Group/Group.styles.d.ts +8 -8
  63. package/cjs/components/Group/index.d.ts +1 -1
  64. package/cjs/components/Hint/Hint.d.ts +79 -79
  65. package/cjs/components/Hint/Hint.styles.d.ts +5 -5
  66. package/cjs/components/Hint/index.d.ts +1 -1
  67. package/cjs/components/Input/Input.d.ts +154 -150
  68. package/cjs/components/Input/Input.js +9 -0
  69. package/cjs/components/Input/Input.js.map +1 -1
  70. package/cjs/components/Input/Input.styles.d.ts +42 -42
  71. package/cjs/components/Input/index.d.ts +1 -1
  72. package/cjs/components/Kebab/Kebab.d.ts +70 -70
  73. package/cjs/components/Kebab/Kebab.styles.d.ts +12 -12
  74. package/cjs/components/Kebab/index.d.ts +1 -1
  75. package/cjs/components/Link/Link.d.ts +71 -71
  76. package/cjs/components/Link/Link.mixins.d.ts +3 -3
  77. package/cjs/components/Link/Link.styles.d.ts +15 -15
  78. package/cjs/components/Link/index.d.ts +1 -1
  79. package/cjs/components/Loader/Loader.d.ts +99 -99
  80. package/cjs/components/Loader/Loader.styles.d.ts +8 -8
  81. package/cjs/components/Loader/index.d.ts +1 -1
  82. package/cjs/components/MenuHeader/MenuHeader.d.ts +20 -20
  83. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  84. package/cjs/components/MenuHeader/index.d.ts +1 -1
  85. package/cjs/components/MenuItem/MenuItem.d.ts +93 -93
  86. package/cjs/components/MenuItem/MenuItem.styles.d.ts +13 -13
  87. package/cjs/components/MenuItem/index.d.ts +1 -1
  88. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  89. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  90. package/cjs/components/MenuSeparator/index.d.ts +1 -1
  91. package/cjs/components/Modal/Modal.d.ts +87 -87
  92. package/cjs/components/Modal/Modal.styles.d.ts +26 -26
  93. package/cjs/components/Modal/ModalBody.d.ts +20 -20
  94. package/cjs/components/Modal/ModalClose.d.ts +2 -2
  95. package/cjs/components/Modal/ModalContext.d.ts +15 -15
  96. package/cjs/components/Modal/ModalFooter.d.ts +21 -21
  97. package/cjs/components/Modal/ModalHeader.d.ts +17 -17
  98. package/cjs/components/Modal/index.d.ts +4 -4
  99. package/cjs/components/Paging/NavigationHelper.d.ts +7 -7
  100. package/cjs/components/Paging/Paging.d.ts +90 -90
  101. package/cjs/components/Paging/Paging.styles.d.ts +16 -16
  102. package/cjs/components/Paging/PagingHelper.d.ts +2 -2
  103. package/cjs/components/Paging/index.d.ts +1 -1
  104. package/cjs/components/Paging/locale/index.d.ts +4 -4
  105. package/cjs/components/Paging/locale/locales/en.d.ts +2 -2
  106. package/cjs/components/Paging/locale/locales/ru.d.ts +2 -2
  107. package/cjs/components/Paging/locale/types.d.ts +3 -3
  108. package/cjs/components/PasswordInput/PasswordInput.d.ts +48 -48
  109. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  110. package/cjs/components/PasswordInput/index.d.ts +1 -1
  111. package/cjs/components/Radio/Radio.d.ts +82 -82
  112. package/cjs/components/Radio/Radio.js +4 -1
  113. package/cjs/components/Radio/Radio.js.map +1 -1
  114. package/cjs/components/Radio/Radio.styles.d.ts +19 -19
  115. package/cjs/components/Radio/index.d.ts +1 -1
  116. package/cjs/components/RadioGroup/Prevent.d.ts +8 -8
  117. package/cjs/components/RadioGroup/RadioGroup.d.ts +132 -132
  118. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  119. package/cjs/components/RadioGroup/index.d.ts +1 -1
  120. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -37
  121. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  122. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +83 -83
  123. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  124. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
  125. package/cjs/components/ScrollContainer/index.d.ts +1 -1
  126. package/cjs/components/Select/Item.d.ts +7 -7
  127. package/cjs/components/Select/Select.d.ts +178 -178
  128. package/cjs/components/Select/Select.js +3 -2
  129. package/cjs/components/Select/Select.js.map +1 -1
  130. package/cjs/components/Select/Select.styles.d.ts +17 -17
  131. package/cjs/components/Select/index.d.ts +1 -1
  132. package/cjs/components/Select/locale/index.d.ts +4 -4
  133. package/cjs/components/Select/locale/locales/en.d.ts +2 -2
  134. package/cjs/components/Select/locale/locales/ru.d.ts +2 -2
  135. package/cjs/components/Select/locale/types.d.ts +4 -4
  136. package/cjs/components/Select/selectTheme.d.ts +3 -3
  137. package/cjs/components/SidePage/SidePage.d.ts +107 -103
  138. package/cjs/components/SidePage/SidePage.js +19 -8
  139. package/cjs/components/SidePage/SidePage.js.map +1 -1
  140. package/cjs/components/SidePage/SidePage.styles.d.ts +37 -37
  141. package/cjs/components/SidePage/SidePageBody.d.ts +18 -18
  142. package/cjs/components/SidePage/SidePageContainer.d.ts +14 -14
  143. package/cjs/components/SidePage/SidePageContext.d.ts +17 -15
  144. package/cjs/components/SidePage/SidePageContext.js +3 -0
  145. package/cjs/components/SidePage/SidePageContext.js.map +1 -1
  146. package/cjs/components/SidePage/SidePageFooter.d.ts +37 -37
  147. package/cjs/components/SidePage/SidePageHeader.d.ts +43 -40
  148. package/cjs/components/SidePage/SidePageHeader.js +26 -8
  149. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  150. package/cjs/components/SidePage/index.d.ts +5 -5
  151. package/cjs/components/Spinner/Spinner.d.ts +47 -47
  152. package/cjs/components/Spinner/Spinner.styles.d.ts +11 -11
  153. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  154. package/cjs/components/Spinner/index.d.ts +1 -1
  155. package/cjs/components/Spinner/locale/index.d.ts +4 -4
  156. package/cjs/components/Spinner/locale/locales/en.d.ts +2 -2
  157. package/cjs/components/Spinner/locale/locales/ru.d.ts +2 -2
  158. package/cjs/components/Spinner/locale/types.d.ts +4 -4
  159. package/cjs/components/Sticky/Sticky.d.ts +58 -53
  160. package/cjs/components/Sticky/Sticky.js +5 -0
  161. package/cjs/components/Sticky/Sticky.js.map +1 -1
  162. package/cjs/components/Sticky/Sticky.styles.d.ts +7 -7
  163. package/cjs/components/Sticky/index.d.ts +1 -1
  164. package/cjs/components/Switcher/Switcher.d.ts +55 -55
  165. package/cjs/components/Switcher/Switcher.styles.d.ts +10 -10
  166. package/cjs/components/Switcher/index.d.ts +1 -1
  167. package/cjs/components/Switcher/switcherTheme.d.ts +2 -2
  168. package/cjs/components/Tabs/Indicator.d.ts +27 -27
  169. package/cjs/components/Tabs/Indicator.styles.d.ts +8 -8
  170. package/cjs/components/Tabs/Tab.d.ts +120 -120
  171. package/cjs/components/Tabs/Tab.styles.d.ts +27 -27
  172. package/cjs/components/Tabs/Tabs.d.ts +61 -61
  173. package/cjs/components/Tabs/Tabs.styles.d.ts +5 -5
  174. package/cjs/components/Tabs/TabsContext.d.ts +14 -14
  175. package/cjs/components/Tabs/index.d.ts +2 -2
  176. package/cjs/components/Textarea/Textarea.d.ts +184 -184
  177. package/cjs/components/Textarea/Textarea.styles.d.ts +15 -15
  178. package/cjs/components/Textarea/TextareaCounter.d.ts +13 -13
  179. package/cjs/components/Textarea/TextareaHelpers.d.ts +11 -11
  180. package/cjs/components/Textarea/index.d.ts +1 -1
  181. package/cjs/components/Toast/Toast.d.ts +55 -55
  182. package/cjs/components/Toast/Toast.styles.d.ts +6 -6
  183. package/cjs/components/Toast/ToastStatic.d.ts +8 -8
  184. package/cjs/components/Toast/ToastView.d.ts +37 -37
  185. package/cjs/components/Toast/ToastView.styles.d.ts +8 -8
  186. package/cjs/components/Toast/index.d.ts +1 -1
  187. package/cjs/components/Toggle/Toggle.d.ts +106 -106
  188. package/cjs/components/Toggle/Toggle.styles.d.ts +30 -30
  189. package/cjs/components/Toggle/index.d.ts +1 -1
  190. package/cjs/components/Token/Token.d.ts +35 -35
  191. package/cjs/components/Token/Token.styles.d.ts +29 -29
  192. package/cjs/components/Token/index.d.ts +1 -1
  193. package/cjs/components/TokenInput/TextWidthHelper.d.ts +18 -18
  194. package/cjs/components/TokenInput/TokenInput.d.ts +193 -193
  195. package/cjs/components/TokenInput/TokenInput.styles.d.ts +15 -15
  196. package/cjs/components/TokenInput/TokenInputMenu.d.ts +18 -18
  197. package/cjs/components/TokenInput/TokenInputReducer.d.ts +25 -25
  198. package/cjs/components/TokenInput/index.d.ts +1 -1
  199. package/cjs/components/TokenInput/locale/index.d.ts +4 -4
  200. package/cjs/components/TokenInput/locale/locales/en.d.ts +2 -2
  201. package/cjs/components/TokenInput/locale/locales/ru.d.ts +2 -2
  202. package/cjs/components/TokenInput/locale/types.d.ts +4 -4
  203. package/cjs/components/Tooltip/Tooltip.d.ts +171 -171
  204. package/cjs/components/Tooltip/Tooltip.styles.d.ts +5 -5
  205. package/cjs/components/Tooltip/index.d.ts +1 -1
  206. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +64 -64
  207. package/cjs/components/TooltipMenu/index.d.ts +1 -1
  208. package/cjs/index.d.ts +48 -48
  209. package/cjs/internal/BGRuler.d.ts +30 -30
  210. package/cjs/internal/Calendar/Calendar.d.ts +66 -66
  211. package/cjs/internal/Calendar/Calendar.styles.d.ts +5 -5
  212. package/cjs/internal/Calendar/CalendarDateShape.d.ts +14 -14
  213. package/cjs/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  214. package/cjs/internal/Calendar/CalendarUtils.d.ts +19 -19
  215. package/cjs/internal/Calendar/DayCellView.d.ts +13 -13
  216. package/cjs/internal/Calendar/DayCellView.styles.d.ts +7 -7
  217. package/cjs/internal/Calendar/DayCellViewModel.d.ts +8 -8
  218. package/cjs/internal/Calendar/Month.d.ts +33 -33
  219. package/cjs/internal/Calendar/MonthView.d.ts +21 -21
  220. package/cjs/internal/Calendar/MonthView.styles.d.ts +9 -9
  221. package/cjs/internal/Calendar/MonthViewModel.d.ts +14 -14
  222. package/cjs/internal/Calendar/config.d.ts +9 -9
  223. package/cjs/internal/Calendar/index.d.ts +2 -2
  224. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +23 -23
  225. package/cjs/internal/CommonWrapper/index.d.ts +1 -1
  226. package/cjs/internal/ComponentCombinator.d.ts +25 -25
  227. package/cjs/internal/ComponentTable.d.ts +21 -21
  228. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  229. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +87 -87
  230. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +135 -135
  231. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  232. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  233. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  234. package/cjs/internal/CustomComboBox/index.d.ts +2 -2
  235. package/cjs/internal/CustomComboBox/locale/index.d.ts +4 -4
  236. package/cjs/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  237. package/cjs/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  238. package/cjs/internal/CustomComboBox/locale/types.d.ts +5 -5
  239. package/cjs/internal/DateSelect/DateSelect.d.ts +93 -93
  240. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  241. package/cjs/internal/DateSelect/index.d.ts +1 -1
  242. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +46 -46
  243. package/cjs/internal/DropdownContainer/index.d.ts +1 -1
  244. package/cjs/internal/FocusTrap/FocusTrap.d.ts +16 -16
  245. package/cjs/internal/FocusTrap/index.d.ts +1 -1
  246. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  247. package/cjs/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  248. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  249. package/cjs/internal/IgnoreLayerClick/index.d.ts +1 -1
  250. package/cjs/internal/InputLikeText/HiddenInput.d.ts +13 -13
  251. package/cjs/internal/InputLikeText/InputLikeText.d.ts +72 -72
  252. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  253. package/cjs/internal/InputLikeText/index.d.ts +1 -1
  254. package/cjs/internal/InternalMenu/InternalMenu.d.ts +64 -64
  255. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  256. package/cjs/internal/InternalMenu/index.d.ts +1 -1
  257. package/cjs/internal/InternalMenu/isActiveElement.d.ts +3 -3
  258. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  259. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  260. package/cjs/internal/MaskCharLowLine/index.d.ts +1 -1
  261. package/cjs/internal/MaskedInput/MaskedInput.d.ts +40 -40
  262. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  263. package/cjs/internal/MaskedInput/index.d.ts +1 -1
  264. package/cjs/internal/Menu/Menu.d.ts +62 -62
  265. package/cjs/internal/Menu/Menu.styles.d.ts +6 -6
  266. package/cjs/internal/Menu/index.d.ts +1 -1
  267. package/cjs/internal/Menu/isActiveElement.d.ts +3 -3
  268. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  269. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  270. package/cjs/internal/NativeDateInput/index.d.ts +1 -1
  271. package/cjs/internal/NativeDateInput/utils.d.ts +7 -7
  272. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  273. package/cjs/internal/Popup/Popup.d.ts +161 -161
  274. package/cjs/internal/Popup/Popup.styles.d.ts +16 -16
  275. package/cjs/internal/Popup/PopupHelper.d.ts +26 -26
  276. package/cjs/internal/Popup/PopupPin.d.ts +56 -56
  277. package/cjs/internal/Popup/PopupPin.styles.d.ts +3 -3
  278. package/cjs/internal/Popup/index.d.ts +1 -1
  279. package/cjs/internal/PopupMenu/PopupMenu.d.ts +84 -84
  280. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  281. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +2 -2
  282. package/cjs/internal/PopupMenu/index.d.ts +1 -1
  283. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  284. package/cjs/internal/RenderContainer/RenderContainer.d.ts +16 -16
  285. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
  286. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
  287. package/cjs/internal/RenderContainer/index.d.ts +1 -1
  288. package/cjs/internal/RenderLayer/RenderLayer.d.ts +27 -27
  289. package/cjs/internal/RenderLayer/index.d.ts +1 -1
  290. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  291. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  292. package/cjs/internal/ResizeDetector/index.d.ts +1 -1
  293. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  294. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  295. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  296. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  297. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  298. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  299. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  300. package/cjs/internal/ThemePlayground/Playground.d.ts +31 -31
  301. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  302. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  303. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  304. package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  305. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  306. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  307. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  308. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  309. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  310. package/cjs/internal/ThemePlayground/VariableValue.d.ts +45 -45
  311. package/cjs/internal/ThemePlayground/constants.d.ts +18 -18
  312. package/cjs/internal/ThemePlayground/darkTheme.d.ts +255 -255
  313. package/cjs/internal/ThemePlayground/helpers.d.ts +2 -2
  314. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  315. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  316. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  317. package/cjs/internal/ZIndex/ZIndex.d.ts +34 -34
  318. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  319. package/cjs/internal/ZIndex/index.d.ts +1 -1
  320. package/cjs/internal/icons/16px/icon.styles.d.ts +4 -4
  321. package/cjs/internal/icons/16px/index.d.ts +21 -21
  322. package/cjs/internal/icons/20px/Icon.d.ts +30 -30
  323. package/cjs/internal/icons/20px/icon.styles.d.ts +4 -4
  324. package/cjs/internal/icons/20px/index.d.ts +2 -2
  325. package/cjs/internal/icons/20px/svg.d.ts +14 -14
  326. package/cjs/internal/icons/CloudIcon.d.ts +1 -1
  327. package/cjs/internal/icons/CrossIcon.d.ts +1 -1
  328. package/cjs/internal/icons/SpinnerIcon.d.ts +23 -23
  329. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  330. package/cjs/internal/themes/DefaultTheme.d.ts +766 -766
  331. package/cjs/internal/themes/FlatTheme.d.ts +132 -132
  332. package/cjs/internal/themes/Theme8px.d.ts +271 -271
  333. package/cjs/lib/ConditionalHandler.d.ts +11 -11
  334. package/cjs/lib/LayoutEvents.d.ts +4 -4
  335. package/cjs/lib/ModalStack.d.ts +14 -14
  336. package/cjs/lib/SSRSafe.d.ts +4 -4
  337. package/cjs/lib/Supports.d.ts +1 -1
  338. package/cjs/lib/Upgrades.d.ts +6 -6
  339. package/cjs/lib/animation/index.d.ts +6 -6
  340. package/cjs/lib/animation/presets.d.ts +18 -18
  341. package/cjs/lib/animation/stepper.d.ts +1 -1
  342. package/cjs/lib/client.d.ts +16 -16
  343. package/cjs/lib/createPropsGetter.d.ts +2 -2
  344. package/cjs/lib/currentEnvironment.d.ts +3 -3
  345. package/cjs/lib/date/InternalDate.d.ts +58 -58
  346. package/cjs/lib/date/InternalDateCalculator.d.ts +6 -6
  347. package/cjs/lib/date/InternalDateGetter.d.ts +15 -15
  348. package/cjs/lib/date/InternalDateSetter.d.ts +6 -6
  349. package/cjs/lib/date/InternalDateTransformer.d.ts +12 -12
  350. package/cjs/lib/date/InternalDateValidator.d.ts +12 -12
  351. package/cjs/lib/date/constants.d.ts +28 -28
  352. package/cjs/lib/date/localeSets.d.ts +5 -5
  353. package/cjs/lib/date/types.d.ts +90 -90
  354. package/cjs/lib/dom/getScrollWidth.d.ts +1 -1
  355. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -16
  356. package/cjs/lib/events/MouseDrag.d.ts +58 -58
  357. package/cjs/lib/events/fixClickFocusIE.d.ts +1 -1
  358. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  359. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +20 -0
  360. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  361. package/cjs/lib/events/keyListener.d.ts +7 -7
  362. package/cjs/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  363. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  364. package/cjs/lib/events/keyboard/extractCode.d.ts +3 -3
  365. package/cjs/lib/events/keyboard/identifiers.d.ts +48 -48
  366. package/cjs/lib/events/stopPropagation.d.ts +1 -1
  367. package/cjs/lib/events/tabListener.d.ts +1 -1
  368. package/cjs/lib/extractKeyboardAction.d.ts +13 -13
  369. package/cjs/lib/filterProps.d.ts +12 -12
  370. package/cjs/lib/forwardRefAndName.d.ts +5 -5
  371. package/cjs/lib/getDisplayName.d.ts +3 -0
  372. package/cjs/lib/getDisplayName.js +9 -0
  373. package/cjs/lib/getDisplayName.js.map +1 -0
  374. package/cjs/lib/listenFocusOutside.d.ts +8 -8
  375. package/cjs/lib/locale/LocaleContext.d.ts +7 -7
  376. package/cjs/lib/locale/LocaleHelper.d.ts +9 -9
  377. package/cjs/lib/locale/constants.d.ts +2 -2
  378. package/cjs/lib/locale/decorators.d.ts +36 -36
  379. package/cjs/lib/locale/index.d.ts +3 -3
  380. package/cjs/lib/locale/types.d.ts +19 -19
  381. package/cjs/lib/memo.d.ts +1 -1
  382. package/cjs/lib/net/fetch.d.ts +13 -13
  383. package/cjs/lib/polyfillPlaceholder.d.ts +1 -1
  384. package/cjs/lib/reactGetTextContent.d.ts +2 -2
  385. package/cjs/lib/styles/ColorFactory.d.ts +11 -11
  386. package/cjs/lib/styles/ColorFunctions.d.ts +11 -11
  387. package/cjs/lib/styles/ColorHelpers.d.ts +20 -20
  388. package/cjs/lib/styles/ColorKeywords.d.ts +150 -150
  389. package/cjs/lib/styles/ColorObject.d.ts +52 -52
  390. package/cjs/lib/styles/DimensionFunctions.d.ts +1 -1
  391. package/cjs/lib/styles/HoldSelectionColor.d.ts +1 -1
  392. package/cjs/lib/styles/Mixins.d.ts +2 -2
  393. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  394. package/cjs/lib/theming/AnimationKeyframes.d.ts +9 -9
  395. package/cjs/lib/theming/Emotion.d.ts +15 -15
  396. package/cjs/lib/theming/Theme.d.ts +3 -3
  397. package/cjs/lib/theming/ThemeContext.d.ts +2 -2
  398. package/cjs/lib/theming/ThemeFactory.d.ts +8 -8
  399. package/cjs/lib/theming/ThemeHelpers.d.ts +11 -11
  400. package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
  401. package/cjs/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  402. package/cjs/lib/theming/themes/FlatTheme.d.ts +1 -1
  403. package/cjs/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  404. package/cjs/lib/utils.d.ts +28 -28
  405. package/cjs/lib/withClassWrapper.d.ts +68 -0
  406. package/cjs/lib/withClassWrapper.js +59 -0
  407. package/cjs/lib/withClassWrapper.js.map +1 -0
  408. package/components/Autocomplete/Autocomplete.d.ts +112 -112
  409. package/components/Autocomplete/index.d.ts +1 -1
  410. package/components/Button/Button/Button.js +10 -0
  411. package/components/Button/Button/Button.js.map +1 -1
  412. package/components/Button/Button.d.ts +160 -157
  413. package/components/Button/Button.mixins.d.ts +6 -6
  414. package/components/Button/Button.styles.d.ts +67 -67
  415. package/components/Button/Corners.d.ts +6 -6
  416. package/components/Button/index.d.ts +1 -1
  417. package/components/Center/Center.d.ts +24 -24
  418. package/components/Center/Center.styles.d.ts +7 -7
  419. package/components/Center/index.d.ts +1 -1
  420. package/components/Checkbox/Checkbox/Checkbox.js +18 -20
  421. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  422. package/components/Checkbox/Checkbox.d.ts +95 -96
  423. package/components/Checkbox/Checkbox.styles.d.ts +22 -22
  424. package/components/Checkbox/index.d.ts +1 -1
  425. package/components/ComboBox/ComboBox.d.ts +182 -182
  426. package/components/ComboBox/index.d.ts +1 -1
  427. package/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  428. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +34 -1
  429. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  430. package/components/CurrencyInput/CurrencyInput.d.ts +106 -105
  431. package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  432. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  433. package/components/CurrencyInput/CursorHelper.d.ts +10 -10
  434. package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  435. package/components/CurrencyInput/constants.d.ts +2 -2
  436. package/components/CurrencyInput/index.d.ts +1 -1
  437. package/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  438. package/components/CurrencyLabel/index.d.ts +1 -1
  439. package/components/DateInput/DateFragmentsView.d.ts +20 -20
  440. package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  441. package/components/DateInput/DateInput.d.ts +106 -106
  442. package/components/DateInput/DateInput.styles.d.ts +10 -10
  443. package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  444. package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  445. package/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  446. package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  447. package/components/DateInput/helpers/inputNumber.d.ts +5 -5
  448. package/components/DateInput/index.d.ts +1 -1
  449. package/components/DatePicker/DatePicker.d.ts +132 -132
  450. package/components/DatePicker/DatePicker.styles.d.ts +3 -3
  451. package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  452. package/components/DatePicker/Picker.d.ts +33 -33
  453. package/components/DatePicker/Picker.styles.d.ts +5 -5
  454. package/components/DatePicker/index.d.ts +1 -1
  455. package/components/DatePicker/locale/index.d.ts +4 -4
  456. package/components/DatePicker/locale/locales/en.d.ts +2 -2
  457. package/components/DatePicker/locale/locales/ru.d.ts +2 -2
  458. package/components/DatePicker/locale/types.d.ts +5 -5
  459. package/components/Dropdown/Dropdown.d.ts +123 -123
  460. package/components/Dropdown/index.d.ts +1 -1
  461. package/components/DropdownMenu/DropdownMenu.d.ts +64 -64
  462. package/components/DropdownMenu/index.d.ts +1 -1
  463. package/components/FxInput/FxInput.d.ts +49 -49
  464. package/components/FxInput/index.d.ts +1 -1
  465. package/components/Gapped/Gapped.d.ts +56 -56
  466. package/components/Gapped/index.d.ts +1 -1
  467. package/components/Group/Group.d.ts +13 -13
  468. package/components/Group/Group.styles.d.ts +8 -8
  469. package/components/Group/index.d.ts +1 -1
  470. package/components/Hint/Hint.d.ts +79 -79
  471. package/components/Hint/Hint.styles.d.ts +5 -5
  472. package/components/Hint/index.d.ts +1 -1
  473. package/components/Input/Input/Input.js +8 -0
  474. package/components/Input/Input/Input.js.map +1 -1
  475. package/components/Input/Input.d.ts +154 -150
  476. package/components/Input/Input.styles.d.ts +42 -42
  477. package/components/Input/index.d.ts +1 -1
  478. package/components/Kebab/Kebab.d.ts +70 -70
  479. package/components/Kebab/Kebab.styles.d.ts +12 -12
  480. package/components/Kebab/index.d.ts +1 -1
  481. package/components/Link/Link.d.ts +71 -71
  482. package/components/Link/Link.mixins.d.ts +3 -3
  483. package/components/Link/Link.styles.d.ts +15 -15
  484. package/components/Link/index.d.ts +1 -1
  485. package/components/Loader/Loader.d.ts +99 -99
  486. package/components/Loader/Loader.styles.d.ts +8 -8
  487. package/components/Loader/index.d.ts +1 -1
  488. package/components/MenuHeader/MenuHeader.d.ts +20 -20
  489. package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  490. package/components/MenuHeader/index.d.ts +1 -1
  491. package/components/MenuItem/MenuItem.d.ts +93 -93
  492. package/components/MenuItem/MenuItem.styles.d.ts +13 -13
  493. package/components/MenuItem/index.d.ts +1 -1
  494. package/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  495. package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  496. package/components/MenuSeparator/index.d.ts +1 -1
  497. package/components/Modal/Modal.d.ts +87 -87
  498. package/components/Modal/Modal.styles.d.ts +26 -26
  499. package/components/Modal/ModalBody.d.ts +20 -20
  500. package/components/Modal/ModalClose.d.ts +2 -2
  501. package/components/Modal/ModalContext.d.ts +15 -15
  502. package/components/Modal/ModalFooter.d.ts +21 -21
  503. package/components/Modal/ModalHeader.d.ts +17 -17
  504. package/components/Modal/index.d.ts +4 -4
  505. package/components/Paging/NavigationHelper.d.ts +7 -7
  506. package/components/Paging/Paging.d.ts +90 -90
  507. package/components/Paging/Paging.styles.d.ts +16 -16
  508. package/components/Paging/PagingHelper.d.ts +2 -2
  509. package/components/Paging/index.d.ts +1 -1
  510. package/components/Paging/locale/index.d.ts +4 -4
  511. package/components/Paging/locale/locales/en.d.ts +2 -2
  512. package/components/Paging/locale/locales/ru.d.ts +2 -2
  513. package/components/Paging/locale/types.d.ts +3 -3
  514. package/components/PasswordInput/PasswordInput.d.ts +48 -48
  515. package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  516. package/components/PasswordInput/index.d.ts +1 -1
  517. package/components/Radio/Radio/Radio.js +4 -1
  518. package/components/Radio/Radio/Radio.js.map +1 -1
  519. package/components/Radio/Radio.d.ts +82 -82
  520. package/components/Radio/Radio.styles.d.ts +19 -19
  521. package/components/Radio/index.d.ts +1 -1
  522. package/components/RadioGroup/Prevent.d.ts +8 -8
  523. package/components/RadioGroup/RadioGroup.d.ts +132 -132
  524. package/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  525. package/components/RadioGroup/index.d.ts +1 -1
  526. package/components/ScrollContainer/ScrollBar.d.ts +37 -37
  527. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  528. package/components/ScrollContainer/ScrollContainer.d.ts +83 -83
  529. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  530. package/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
  531. package/components/ScrollContainer/index.d.ts +1 -1
  532. package/components/Select/Item.d.ts +7 -7
  533. package/components/Select/Select/Select.js +6 -1
  534. package/components/Select/Select/Select.js.map +1 -1
  535. package/components/Select/Select.d.ts +178 -178
  536. package/components/Select/Select.styles.d.ts +17 -17
  537. package/components/Select/index.d.ts +1 -1
  538. package/components/Select/locale/index.d.ts +4 -4
  539. package/components/Select/locale/locales/en.d.ts +2 -2
  540. package/components/Select/locale/locales/ru.d.ts +2 -2
  541. package/components/Select/locale/types.d.ts +4 -4
  542. package/components/Select/selectTheme.d.ts +3 -3
  543. package/components/SidePage/SidePage/SidePage.js +21 -12
  544. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  545. package/components/SidePage/SidePage.d.ts +107 -103
  546. package/components/SidePage/SidePage.styles.d.ts +37 -37
  547. package/components/SidePage/SidePageBody.d.ts +18 -18
  548. package/components/SidePage/SidePageContainer.d.ts +14 -14
  549. package/components/SidePage/SidePageContext/SidePageContext.js +3 -0
  550. package/components/SidePage/SidePageContext/SidePageContext.js.map +1 -1
  551. package/components/SidePage/SidePageContext.d.ts +17 -15
  552. package/components/SidePage/SidePageFooter.d.ts +37 -37
  553. package/components/SidePage/SidePageHeader/SidePageHeader.js +21 -2
  554. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  555. package/components/SidePage/SidePageHeader.d.ts +43 -40
  556. package/components/SidePage/index.d.ts +5 -5
  557. package/components/Spinner/Spinner.d.ts +47 -47
  558. package/components/Spinner/Spinner.styles.d.ts +11 -11
  559. package/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  560. package/components/Spinner/index.d.ts +1 -1
  561. package/components/Spinner/locale/index.d.ts +4 -4
  562. package/components/Spinner/locale/locales/en.d.ts +2 -2
  563. package/components/Spinner/locale/locales/ru.d.ts +2 -2
  564. package/components/Spinner/locale/types.d.ts +4 -4
  565. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  566. package/components/Sticky/Sticky.d.ts +58 -53
  567. package/components/Sticky/Sticky.styles.d.ts +7 -7
  568. package/components/Sticky/index.d.ts +1 -1
  569. package/components/Switcher/Switcher.d.ts +55 -55
  570. package/components/Switcher/Switcher.styles.d.ts +10 -10
  571. package/components/Switcher/index.d.ts +1 -1
  572. package/components/Switcher/switcherTheme.d.ts +2 -2
  573. package/components/Tabs/Indicator.d.ts +27 -27
  574. package/components/Tabs/Indicator.styles.d.ts +8 -8
  575. package/components/Tabs/Tab.d.ts +120 -120
  576. package/components/Tabs/Tab.styles.d.ts +27 -27
  577. package/components/Tabs/Tabs.d.ts +61 -61
  578. package/components/Tabs/Tabs.styles.d.ts +5 -5
  579. package/components/Tabs/TabsContext.d.ts +14 -14
  580. package/components/Tabs/index.d.ts +2 -2
  581. package/components/Textarea/Textarea.d.ts +184 -184
  582. package/components/Textarea/Textarea.styles.d.ts +15 -15
  583. package/components/Textarea/TextareaCounter.d.ts +13 -13
  584. package/components/Textarea/TextareaHelpers.d.ts +11 -11
  585. package/components/Textarea/index.d.ts +1 -1
  586. package/components/Toast/Toast.d.ts +55 -55
  587. package/components/Toast/Toast.styles.d.ts +6 -6
  588. package/components/Toast/ToastStatic.d.ts +8 -8
  589. package/components/Toast/ToastView.d.ts +37 -37
  590. package/components/Toast/ToastView.styles.d.ts +8 -8
  591. package/components/Toast/index.d.ts +1 -1
  592. package/components/Toggle/Toggle.d.ts +106 -106
  593. package/components/Toggle/Toggle.styles.d.ts +30 -30
  594. package/components/Toggle/index.d.ts +1 -1
  595. package/components/Token/Token.d.ts +35 -35
  596. package/components/Token/Token.styles.d.ts +29 -29
  597. package/components/Token/index.d.ts +1 -1
  598. package/components/TokenInput/TextWidthHelper.d.ts +18 -18
  599. package/components/TokenInput/TokenInput.d.ts +193 -193
  600. package/components/TokenInput/TokenInput.styles.d.ts +15 -15
  601. package/components/TokenInput/TokenInputMenu.d.ts +18 -18
  602. package/components/TokenInput/TokenInputReducer.d.ts +25 -25
  603. package/components/TokenInput/index.d.ts +1 -1
  604. package/components/TokenInput/locale/index.d.ts +4 -4
  605. package/components/TokenInput/locale/locales/en.d.ts +2 -2
  606. package/components/TokenInput/locale/locales/ru.d.ts +2 -2
  607. package/components/TokenInput/locale/types.d.ts +4 -4
  608. package/components/Tooltip/Tooltip.d.ts +171 -171
  609. package/components/Tooltip/Tooltip.styles.d.ts +5 -5
  610. package/components/Tooltip/index.d.ts +1 -1
  611. package/components/TooltipMenu/TooltipMenu.d.ts +64 -64
  612. package/components/TooltipMenu/index.d.ts +1 -1
  613. package/index.d.ts +48 -48
  614. package/internal/BGRuler.d.ts +30 -30
  615. package/internal/Calendar/Calendar.d.ts +66 -66
  616. package/internal/Calendar/Calendar.styles.d.ts +5 -5
  617. package/internal/Calendar/CalendarDateShape.d.ts +14 -14
  618. package/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  619. package/internal/Calendar/CalendarUtils.d.ts +19 -19
  620. package/internal/Calendar/DayCellView.d.ts +13 -13
  621. package/internal/Calendar/DayCellView.styles.d.ts +7 -7
  622. package/internal/Calendar/DayCellViewModel.d.ts +8 -8
  623. package/internal/Calendar/Month.d.ts +33 -33
  624. package/internal/Calendar/MonthView.d.ts +21 -21
  625. package/internal/Calendar/MonthView.styles.d.ts +9 -9
  626. package/internal/Calendar/MonthViewModel.d.ts +14 -14
  627. package/internal/Calendar/config.d.ts +9 -9
  628. package/internal/Calendar/index.d.ts +2 -2
  629. package/internal/CommonWrapper/CommonWrapper.d.ts +23 -23
  630. package/internal/CommonWrapper/index.d.ts +1 -1
  631. package/internal/ComponentCombinator.d.ts +25 -25
  632. package/internal/ComponentTable.d.ts +21 -21
  633. package/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  634. package/internal/CustomComboBox/ComboBoxView.d.ts +87 -87
  635. package/internal/CustomComboBox/CustomComboBox.d.ts +135 -135
  636. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  637. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  638. package/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  639. package/internal/CustomComboBox/index.d.ts +2 -2
  640. package/internal/CustomComboBox/locale/index.d.ts +4 -4
  641. package/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  642. package/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  643. package/internal/CustomComboBox/locale/types.d.ts +5 -5
  644. package/internal/DateSelect/DateSelect.d.ts +93 -93
  645. package/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  646. package/internal/DateSelect/index.d.ts +1 -1
  647. package/internal/DropdownContainer/DropdownContainer.d.ts +46 -46
  648. package/internal/DropdownContainer/index.d.ts +1 -1
  649. package/internal/FocusTrap/FocusTrap.d.ts +16 -16
  650. package/internal/FocusTrap/index.d.ts +1 -1
  651. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  652. package/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  653. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  654. package/internal/IgnoreLayerClick/index.d.ts +1 -1
  655. package/internal/InputLikeText/HiddenInput.d.ts +13 -13
  656. package/internal/InputLikeText/InputLikeText.d.ts +72 -72
  657. package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  658. package/internal/InputLikeText/index.d.ts +1 -1
  659. package/internal/InternalMenu/InternalMenu.d.ts +64 -64
  660. package/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  661. package/internal/InternalMenu/index.d.ts +1 -1
  662. package/internal/InternalMenu/isActiveElement.d.ts +3 -3
  663. package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  664. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  665. package/internal/MaskCharLowLine/index.d.ts +1 -1
  666. package/internal/MaskedInput/MaskedInput.d.ts +40 -40
  667. package/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  668. package/internal/MaskedInput/index.d.ts +1 -1
  669. package/internal/Menu/Menu.d.ts +62 -62
  670. package/internal/Menu/Menu.styles.d.ts +6 -6
  671. package/internal/Menu/index.d.ts +1 -1
  672. package/internal/Menu/isActiveElement.d.ts +3 -3
  673. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  674. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  675. package/internal/NativeDateInput/index.d.ts +1 -1
  676. package/internal/NativeDateInput/utils.d.ts +7 -7
  677. package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  678. package/internal/Popup/Popup.d.ts +161 -161
  679. package/internal/Popup/Popup.styles.d.ts +16 -16
  680. package/internal/Popup/PopupHelper.d.ts +26 -26
  681. package/internal/Popup/PopupPin.d.ts +56 -56
  682. package/internal/Popup/PopupPin.styles.d.ts +3 -3
  683. package/internal/Popup/index.d.ts +1 -1
  684. package/internal/PopupMenu/PopupMenu.d.ts +84 -84
  685. package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  686. package/internal/PopupMenu/PopupMenuPositions.d.ts +2 -2
  687. package/internal/PopupMenu/index.d.ts +1 -1
  688. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  689. package/internal/RenderContainer/RenderContainer.d.ts +16 -16
  690. package/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
  691. package/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
  692. package/internal/RenderContainer/index.d.ts +1 -1
  693. package/internal/RenderLayer/RenderLayer.d.ts +27 -27
  694. package/internal/RenderLayer/index.d.ts +1 -1
  695. package/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  696. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  697. package/internal/ResizeDetector/index.d.ts +1 -1
  698. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  699. package/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  700. package/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  701. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  702. package/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  703. package/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  704. package/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  705. package/internal/ThemePlayground/Playground.d.ts +31 -31
  706. package/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  707. package/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  708. package/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  709. package/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  710. package/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  711. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  712. package/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  713. package/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  714. package/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  715. package/internal/ThemePlayground/VariableValue.d.ts +45 -45
  716. package/internal/ThemePlayground/constants.d.ts +18 -18
  717. package/internal/ThemePlayground/darkTheme.d.ts +255 -255
  718. package/internal/ThemePlayground/helpers.d.ts +2 -2
  719. package/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  720. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  721. package/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  722. package/internal/ZIndex/ZIndex.d.ts +34 -34
  723. package/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  724. package/internal/ZIndex/index.d.ts +1 -1
  725. package/internal/icons/16px/icon.styles.d.ts +4 -4
  726. package/internal/icons/16px/index.d.ts +21 -21
  727. package/internal/icons/20px/Icon.d.ts +30 -30
  728. package/internal/icons/20px/icon.styles.d.ts +4 -4
  729. package/internal/icons/20px/index.d.ts +2 -2
  730. package/internal/icons/20px/svg.d.ts +14 -14
  731. package/internal/icons/CloudIcon.d.ts +1 -1
  732. package/internal/icons/CrossIcon.d.ts +1 -1
  733. package/internal/icons/SpinnerIcon.d.ts +23 -23
  734. package/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  735. package/internal/themes/DefaultTheme.d.ts +766 -766
  736. package/internal/themes/FlatTheme.d.ts +132 -132
  737. package/internal/themes/Theme8px.d.ts +271 -271
  738. package/lib/ConditionalHandler.d.ts +11 -11
  739. package/lib/LayoutEvents.d.ts +4 -4
  740. package/lib/ModalStack.d.ts +14 -14
  741. package/lib/SSRSafe.d.ts +4 -4
  742. package/lib/Supports.d.ts +1 -1
  743. package/lib/Upgrades.d.ts +6 -6
  744. package/lib/animation/index.d.ts +6 -6
  745. package/lib/animation/presets.d.ts +18 -18
  746. package/lib/animation/stepper.d.ts +1 -1
  747. package/lib/client.d.ts +16 -16
  748. package/lib/createPropsGetter.d.ts +2 -2
  749. package/lib/currentEnvironment.d.ts +3 -3
  750. package/lib/date/InternalDate.d.ts +58 -58
  751. package/lib/date/InternalDateCalculator.d.ts +6 -6
  752. package/lib/date/InternalDateGetter.d.ts +15 -15
  753. package/lib/date/InternalDateSetter.d.ts +6 -6
  754. package/lib/date/InternalDateTransformer.d.ts +12 -12
  755. package/lib/date/InternalDateValidator.d.ts +12 -12
  756. package/lib/date/constants.d.ts +28 -28
  757. package/lib/date/localeSets.d.ts +5 -5
  758. package/lib/date/types.d.ts +90 -90
  759. package/lib/dom/getScrollWidth.d.ts +1 -1
  760. package/lib/dom/tabbableHelpers.d.ts +16 -16
  761. package/lib/events/MouseDrag.d.ts +58 -58
  762. package/lib/events/fixClickFocusIE.d.ts +1 -1
  763. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +19 -0
  764. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  765. package/lib/events/fixFirefoxModifiedClickOnLabel/package.json +6 -0
  766. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  767. package/lib/events/keyListener.d.ts +7 -7
  768. package/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  769. package/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  770. package/lib/events/keyboard/extractCode.d.ts +3 -3
  771. package/lib/events/keyboard/identifiers.d.ts +48 -48
  772. package/lib/events/stopPropagation.d.ts +1 -1
  773. package/lib/events/tabListener.d.ts +1 -1
  774. package/lib/extractKeyboardAction.d.ts +13 -13
  775. package/lib/filterProps.d.ts +12 -12
  776. package/lib/forwardRefAndName.d.ts +5 -5
  777. package/lib/getDisplayName/getDisplayName.js +3 -0
  778. package/lib/getDisplayName/getDisplayName.js.map +1 -0
  779. package/lib/getDisplayName/package.json +6 -0
  780. package/lib/getDisplayName.d.ts +3 -0
  781. package/lib/listenFocusOutside.d.ts +8 -8
  782. package/lib/locale/LocaleContext.d.ts +7 -7
  783. package/lib/locale/LocaleHelper.d.ts +9 -9
  784. package/lib/locale/constants.d.ts +2 -2
  785. package/lib/locale/decorators.d.ts +36 -36
  786. package/lib/locale/index.d.ts +3 -3
  787. package/lib/locale/types.d.ts +19 -19
  788. package/lib/memo.d.ts +1 -1
  789. package/lib/net/fetch.d.ts +13 -13
  790. package/lib/polyfillPlaceholder.d.ts +1 -1
  791. package/lib/reactGetTextContent.d.ts +2 -2
  792. package/lib/styles/ColorFactory.d.ts +11 -11
  793. package/lib/styles/ColorFunctions.d.ts +11 -11
  794. package/lib/styles/ColorHelpers.d.ts +20 -20
  795. package/lib/styles/ColorKeywords.d.ts +150 -150
  796. package/lib/styles/ColorObject.d.ts +52 -52
  797. package/lib/styles/DimensionFunctions.d.ts +1 -1
  798. package/lib/styles/HoldSelectionColor.d.ts +1 -1
  799. package/lib/styles/Mixins.d.ts +2 -2
  800. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  801. package/lib/theming/AnimationKeyframes.d.ts +9 -9
  802. package/lib/theming/Emotion.d.ts +15 -15
  803. package/lib/theming/Theme.d.ts +3 -3
  804. package/lib/theming/ThemeContext.d.ts +2 -2
  805. package/lib/theming/ThemeFactory.d.ts +8 -8
  806. package/lib/theming/ThemeHelpers.d.ts +11 -11
  807. package/lib/theming/themes/DefaultTheme.d.ts +1 -1
  808. package/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  809. package/lib/theming/themes/FlatTheme.d.ts +1 -1
  810. package/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  811. package/lib/utils.d.ts +28 -28
  812. package/lib/withClassWrapper/package.json +6 -0
  813. package/lib/withClassWrapper/withClassWrapper.js +70 -0
  814. package/lib/withClassWrapper/withClassWrapper.js.map +1 -0
  815. package/lib/withClassWrapper.d.ts +68 -0
  816. package/package.json +4 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["SidePageContext.ts"],"names":["React","SidePageContext","createContext","requestClose","undefined","getWidth","updateLayout","footerRef","displayName"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;;;;;;;;;;;;;;;;AAiBA,OAAO,IAAMC,eAAe,gBAAGD,KAAK,CAACE,aAAN,CAAyC;AACtEC,EAAAA,YAAY,EAAE,gCAAMC,SAAN,EADwD;AAEtEC,EAAAA,QAAQ,EAAE,4BAAM,MAAN,EAF4D;AAGtEC,EAAAA,YAAY,EAAE,gCAAMF,SAAN,EAHwD;AAItEG,EAAAA,SAAS,EAAE,6BAAMH,SAAN,EAJ2D,EAAzC,CAAxB;;;AAOPH,eAAe,CAACO,WAAhB,GAA8B,iBAA9B","sourcesContent":["import React from 'react';\n\nimport { SidePageFooter } from './SidePageFooter';\n\nexport interface SidePageContextType {\n requestClose: () => void;\n getWidth: () => number | string;\n updateLayout: () => void;\n footerRef: (ref: SidePageFooter | null) => void;\n hasHeader?: boolean;\n hasFooter?: boolean;\n hasPanel?: boolean;\n setHasHeader?: (value?: boolean) => void;\n setHasFooter?: (value?: boolean) => void;\n setHasPanel?: (value?: boolean) => void;\n}\n\nexport const SidePageContext = React.createContext<SidePageContextType>({\n requestClose: () => undefined,\n getWidth: () => 'auto',\n updateLayout: () => undefined,\n footerRef: () => undefined,\n});\n\nSidePageContext.displayName = 'SidePageContext';\n"]}
1
+ {"version":3,"sources":["SidePageContext.ts"],"names":["React","SidePageContext","createContext","requestClose","undefined","getWidth","updateLayout","headerRef","footerRef","displayName"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;;;;;;;;;;;;;;;;;;AAmBA,OAAO,IAAMC,eAAe,gBAAGD,KAAK,CAACE,aAAN,CAAyC;AACtEC,EAAAA,YAAY,EAAE,gCAAMC,SAAN,EADwD;AAEtEC,EAAAA,QAAQ,EAAE,4BAAM,MAAN,EAF4D;AAGtEC,EAAAA,YAAY,EAAE,gCAAMF,SAAN,EAHwD;AAItEG,EAAAA,SAAS,EAAE,6BAAMH,SAAN,EAJ2D;AAKtEI,EAAAA,SAAS,EAAE,6BAAMJ,SAAN,EAL2D,EAAzC,CAAxB;;;AAQPH,eAAe,CAACQ,WAAhB,GAA8B,iBAA9B","sourcesContent":["import React from 'react';\n\nimport { SidePageFooter } from './SidePageFooter';\nimport { SidePageHeader } from './SidePageHeader';\n\nexport interface SidePageContextType {\n requestClose: () => void;\n getWidth: () => number | string;\n updateLayout: () => void;\n headerRef: (ref: SidePageHeader | null) => void;\n footerRef: (ref: SidePageFooter | null) => void;\n hasHeader?: boolean;\n hasFooter?: boolean;\n hasPanel?: boolean;\n setHasHeader?: (value?: boolean) => void;\n setHasFooter?: (value?: boolean) => void;\n setHasPanel?: (value?: boolean) => void;\n}\n\nexport const SidePageContext = React.createContext<SidePageContextType>({\n requestClose: () => undefined,\n getWidth: () => 'auto',\n updateLayout: () => undefined,\n headerRef: () => undefined,\n footerRef: () => undefined,\n});\n\nSidePageContext.displayName = 'SidePageContext';\n"]}
@@ -1,15 +1,17 @@
1
- import React from 'react';
2
- import { SidePageFooter } from './SidePageFooter';
3
- export interface SidePageContextType {
4
- requestClose: () => void;
5
- getWidth: () => number | string;
6
- updateLayout: () => void;
7
- footerRef: (ref: SidePageFooter | null) => void;
8
- hasHeader?: boolean;
9
- hasFooter?: boolean;
10
- hasPanel?: boolean;
11
- setHasHeader?: (value?: boolean) => void;
12
- setHasFooter?: (value?: boolean) => void;
13
- setHasPanel?: (value?: boolean) => void;
14
- }
15
- export declare const SidePageContext: React.Context<SidePageContextType>;
1
+ import React from 'react';
2
+ import { SidePageFooter } from './SidePageFooter';
3
+ import { SidePageHeader } from './SidePageHeader';
4
+ export interface SidePageContextType {
5
+ requestClose: () => void;
6
+ getWidth: () => number | string;
7
+ updateLayout: () => void;
8
+ headerRef: (ref: SidePageHeader | null) => void;
9
+ footerRef: (ref: SidePageFooter | null) => void;
10
+ hasHeader?: boolean;
11
+ hasFooter?: boolean;
12
+ hasPanel?: boolean;
13
+ setHasHeader?: (value?: boolean) => void;
14
+ setHasFooter?: (value?: boolean) => void;
15
+ setHasPanel?: (value?: boolean) => void;
16
+ }
17
+ export declare const SidePageContext: React.Context<SidePageContextType>;
@@ -1,37 +1,37 @@
1
- import React from 'react';
2
- import { CommonProps } from '../../internal/CommonWrapper';
3
- import { SidePageContextType } from './SidePageContext';
4
- export interface SidePageFooterProps extends CommonProps {
5
- children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);
6
- /**
7
- * Включает серый цвет в футере
8
- */
9
- panel?: boolean;
10
- }
11
- /**
12
- * Футер сайдпейджа.
13
- *
14
- * @visibleName SidePage.Footer
15
- */
16
- export declare class SidePageFooter extends React.Component<SidePageFooterProps> {
17
- static __KONTUR_REACT_UI__: string;
18
- static contextType: React.Context<SidePageContextType>;
19
- context: SidePageContextType;
20
- state: {
21
- fixed: boolean;
22
- };
23
- private theme;
24
- private content;
25
- private wrapper;
26
- private layoutSub;
27
- componentDidMount(): void;
28
- componentDidUpdate(prevProps: Readonly<SidePageFooterProps>): void;
29
- componentWillUnmount(): void;
30
- render(): JSX.Element;
31
- update: () => void;
32
- private renderMain;
33
- private refContent;
34
- private refWrapper;
35
- private setProperStyles;
36
- private getContentHeight;
37
- }
1
+ import React from 'react';
2
+ import { CommonProps } from '../../internal/CommonWrapper';
3
+ import { SidePageContextType } from './SidePageContext';
4
+ export interface SidePageFooterProps extends CommonProps {
5
+ children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);
6
+ /**
7
+ * Включает серый цвет в футере
8
+ */
9
+ panel?: boolean;
10
+ }
11
+ /**
12
+ * Футер сайдпейджа.
13
+ *
14
+ * @visibleName SidePage.Footer
15
+ */
16
+ export declare class SidePageFooter extends React.Component<SidePageFooterProps> {
17
+ static __KONTUR_REACT_UI__: string;
18
+ static contextType: React.Context<SidePageContextType>;
19
+ context: SidePageContextType;
20
+ state: {
21
+ fixed: boolean;
22
+ };
23
+ private theme;
24
+ private content;
25
+ private wrapper;
26
+ private layoutSub;
27
+ componentDidMount(): void;
28
+ componentDidUpdate(prevProps: Readonly<SidePageFooterProps>): void;
29
+ componentWillUnmount(): void;
30
+ render(): JSX.Element;
31
+ update: () => void;
32
+ private renderMain;
33
+ private refContent;
34
+ private refWrapper;
35
+ private setProperStyles;
36
+ private getContentHeight;
37
+ }
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
3
4
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
5
  import React from 'react';
5
6
  import { Sticky } from "../../Sticky";
@@ -35,19 +36,28 @@ export var SidePageHeader = /*#__PURE__*/function (_React$Component) {
35
36
  };
36
37
  _this.theme = void 0;
37
38
  _this.wrapper = null;
39
+ _this.sticky = null;
38
40
  _this.lastRegularHeight = 0;
39
41
 
40
42
  _this.componentDidMount = function () {
41
43
  window.addEventListener('scroll', _this.update, true);
42
44
  _this.context.setHasHeader == null ? void 0 : _this.context.setHasHeader();
45
+
46
+ _this.context.headerRef(_assertThisInitialized(_this));
43
47
  };
44
48
 
45
49
  _this.componentWillUnmount = function () {
46
50
  window.removeEventListener('scroll', _this.update, true);
47
51
  _this.context.setHasHeader == null ? void 0 : _this.context.setHasHeader(false);
52
+
53
+ _this.context.headerRef(null);
48
54
  };
49
55
 
50
56
  _this.update = function () {
57
+ var _this$sticky;
58
+
59
+ (_this$sticky = _this.sticky) == null ? void 0 : _this$sticky.reflow();
60
+
51
61
  _this.updateReadyToFix();
52
62
  };
53
63
 
@@ -72,7 +82,11 @@ export var SidePageHeader = /*#__PURE__*/function (_React$Component) {
72
82
  }, /*#__PURE__*/React.createElement(Sticky, {
73
83
  side: "top",
74
84
  offset: stickyOffset
75
- }, /*#__PURE__*/React.createElement(SidePageContext.Consumer, null, function (_ref) {
85
+ }, _this.closeIcon));
86
+ };
87
+
88
+ _this.closeIcon = function () {
89
+ return /*#__PURE__*/React.createElement(SidePageContext.Consumer, null, function (_ref) {
76
90
  var _cx3;
77
91
 
78
92
  var requestClose = _ref.requestClose;
@@ -84,7 +98,7 @@ export var SidePageHeader = /*#__PURE__*/function (_React$Component) {
84
98
  "data-tid": "SidePage__close",
85
99
  tabIndex: 0
86
100
  }, /*#__PURE__*/React.createElement(CrossIcon, null));
87
- })));
101
+ });
88
102
  };
89
103
 
90
104
  _this.updateReadyToFix = function () {
@@ -105,6 +119,10 @@ export var SidePageHeader = /*#__PURE__*/function (_React$Component) {
105
119
  _this.wrapper = el;
106
120
  };
107
121
 
122
+ _this.stickyRef = function (el) {
123
+ _this.sticky = el;
124
+ };
125
+
108
126
  _this.handleFocus = function () {
109
127
  requestAnimationFrame(function () {
110
128
  if (keyListener.isTabPressed) {
@@ -141,6 +159,7 @@ export var SidePageHeader = /*#__PURE__*/function (_React$Component) {
141
159
  ref: this.wrapperRef,
142
160
  className: styles.headerWrapper()
143
161
  }, isReadyToFix ? /*#__PURE__*/React.createElement(Sticky, {
162
+ ref: this.stickyRef,
144
163
  side: "top"
145
164
  }, this.renderHeader) : this.renderHeader()));
146
165
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["SidePageHeader.tsx"],"names":["React","Sticky","CrossIcon","isFunction","ThemeContext","CommonWrapper","cx","keyListener","styles","SidePageContext","SidePageHeader","context","state","isReadyToFix","focusedByTab","theme","wrapper","lastRegularHeight","componentDidMount","window","addEventListener","update","setHasHeader","componentWillUnmount","removeEventListener","updateReadyToFix","renderHeader","fixed","header","headerFixed","renderClose","title","titleFixed","props","children","stickyOffset","parseInt","sidePageHeaderStickyOffset","wrapperClose","requestClose","close","closeFocus","handleFocus","handleBlur","wrapperScrolledUp","getBoundingClientRect","top","regularHeight","fixedHeaderHeight","setState","wrapperRef","el","requestAnimationFrame","isTabPressed","render","renderMain","headerWrapper","height","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","Component","__KONTUR_REACT_UI__","contextType"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { Sticky } from '../Sticky';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { isFunction } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\n\nimport { styles } from './SidePage.styles';\nimport { SidePageContext, SidePageContextType } from './SidePageContext';\n\nexport interface SidePageHeaderProps extends CommonProps {\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface SidePageHeaderState {\n isReadyToFix: boolean;\n focusedByTab: boolean;\n}\n\n/**\n * Шапка сайдпейджа\n *\n * @visibleName SidePage.Header\n */\nexport class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {\n public static __KONTUR_REACT_UI__ = 'SidePageHeader';\n\n public static contextType = SidePageContext;\n public context: SidePageContextType = this.context;\n\n public state = {\n isReadyToFix: false,\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private wrapper: HTMLElement | null = null;\n private lastRegularHeight = 0;\n\n public get regularHeight(): number {\n const { isReadyToFix } = this.state;\n if (!this.wrapper) {\n return 0;\n }\n if (!isReadyToFix) {\n this.lastRegularHeight = this.wrapper.getBoundingClientRect().height;\n }\n return this.lastRegularHeight;\n }\n\n public get fixedHeaderHeight(): number {\n const { theme } = this;\n return parseInt(theme.sidePageHeaderFixedLineHeight) + parseInt(theme.sidePageHeaderFixedPaddingY) * 2;\n }\n\n public componentDidMount = () => {\n window.addEventListener('scroll', this.update, true);\n this.context.setHasHeader?.();\n };\n\n public componentWillUnmount = () => {\n window.removeEventListener('scroll', this.update, true);\n this.context.setHasHeader?.(false);\n };\n\n public update = () => {\n this.updateReadyToFix();\n };\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { isReadyToFix } = this.state;\n return (\n <CommonWrapper {...this.props}>\n <div ref={this.wrapperRef} className={styles.headerWrapper()}>\n {isReadyToFix ? <Sticky side=\"top\">{this.renderHeader}</Sticky> : this.renderHeader()}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = (fixed = false) => {\n return (\n <div className={cx(styles.header(this.theme), { [styles.headerFixed(this.theme)]: fixed })}>\n {this.renderClose(fixed)}\n <div className={cx(styles.title(this.theme), { [styles.titleFixed()]: fixed })}>\n {isFunction(this.props.children) ? this.props.children(fixed) : this.props.children}\n </div>\n </div>\n );\n };\n\n private renderClose = (fixed: boolean) => {\n const stickyOffset = parseInt(this.theme.sidePageHeaderStickyOffset);\n\n return (\n <div className={cx(styles.wrapperClose(this.theme), fixed && styles.fixed(this.theme))}>\n <Sticky side=\"top\" offset={stickyOffset}>\n <SidePageContext.Consumer>\n {({ requestClose }) => (\n <button\n className={cx(styles.close(this.theme), {\n [styles.closeFocus(this.theme)]: this.state.focusedByTab,\n })}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onClick={requestClose}\n data-tid=\"SidePage__close\"\n tabIndex={0}\n >\n <CrossIcon />\n </button>\n )}\n </SidePageContext.Consumer>\n </Sticky>\n </div>\n );\n };\n\n private updateReadyToFix = () => {\n if (this.wrapper) {\n const wrapperScrolledUp = this.wrapper.getBoundingClientRect().top;\n const isReadyToFix = this.regularHeight + wrapperScrolledUp <= this.fixedHeaderHeight;\n this.setState((state) => (state.isReadyToFix !== isReadyToFix ? { ...state, isReadyToFix } : state));\n }\n };\n\n private wrapperRef = (el: HTMLElement | null) => {\n this.wrapper = el;\n };\n\n private handleFocus = () => {\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n };\n\n private handleBlur = () => {\n this.setState({ focusedByTab: false });\n };\n}\n"]}
1
+ {"version":3,"sources":["SidePageHeader.tsx"],"names":["React","Sticky","CrossIcon","isFunction","ThemeContext","CommonWrapper","cx","keyListener","styles","SidePageContext","SidePageHeader","context","state","isReadyToFix","focusedByTab","theme","wrapper","sticky","lastRegularHeight","componentDidMount","window","addEventListener","update","setHasHeader","headerRef","componentWillUnmount","removeEventListener","reflow","updateReadyToFix","renderHeader","fixed","header","headerFixed","renderClose","title","titleFixed","props","children","stickyOffset","parseInt","sidePageHeaderStickyOffset","wrapperClose","closeIcon","requestClose","close","closeFocus","handleFocus","handleBlur","wrapperScrolledUp","getBoundingClientRect","top","regularHeight","fixedHeaderHeight","setState","wrapperRef","el","stickyRef","requestAnimationFrame","isTabPressed","render","renderMain","headerWrapper","height","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","Component","__KONTUR_REACT_UI__","contextType"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { Sticky } from '../Sticky';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { isFunction } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\n\nimport { styles } from './SidePage.styles';\nimport { SidePageContext, SidePageContextType } from './SidePageContext';\n\nexport interface SidePageHeaderProps extends CommonProps {\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface SidePageHeaderState {\n isReadyToFix: boolean;\n focusedByTab: boolean;\n}\n\n/**\n * Шапка сайдпейджа\n *\n * @visibleName SidePage.Header\n */\nexport class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {\n public static __KONTUR_REACT_UI__ = 'SidePageHeader';\n\n public static contextType = SidePageContext;\n public context: SidePageContextType = this.context;\n\n public state = {\n isReadyToFix: false,\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private wrapper: HTMLElement | null = null;\n private sticky: Sticky | null = null;\n private lastRegularHeight = 0;\n\n public get regularHeight(): number {\n const { isReadyToFix } = this.state;\n if (!this.wrapper) {\n return 0;\n }\n if (!isReadyToFix) {\n this.lastRegularHeight = this.wrapper.getBoundingClientRect().height;\n }\n return this.lastRegularHeight;\n }\n\n public get fixedHeaderHeight(): number {\n const { theme } = this;\n return parseInt(theme.sidePageHeaderFixedLineHeight) + parseInt(theme.sidePageHeaderFixedPaddingY) * 2;\n }\n\n public componentDidMount = () => {\n window.addEventListener('scroll', this.update, true);\n this.context.setHasHeader?.();\n this.context.headerRef(this);\n };\n\n public componentWillUnmount = () => {\n window.removeEventListener('scroll', this.update, true);\n this.context.setHasHeader?.(false);\n this.context.headerRef(null);\n };\n\n public update = () => {\n this.sticky?.reflow();\n this.updateReadyToFix();\n };\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { isReadyToFix } = this.state;\n return (\n <CommonWrapper {...this.props}>\n <div ref={this.wrapperRef} className={styles.headerWrapper()}>\n {isReadyToFix ? (\n <Sticky ref={this.stickyRef} side=\"top\">\n {this.renderHeader}\n </Sticky>\n ) : (\n this.renderHeader()\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = (fixed = false) => {\n return (\n <div className={cx(styles.header(this.theme), { [styles.headerFixed(this.theme)]: fixed })}>\n {this.renderClose(fixed)}\n <div className={cx(styles.title(this.theme), { [styles.titleFixed()]: fixed })}>\n {isFunction(this.props.children) ? this.props.children(fixed) : this.props.children}\n </div>\n </div>\n );\n };\n\n private renderClose = (fixed: boolean) => {\n const stickyOffset = parseInt(this.theme.sidePageHeaderStickyOffset);\n\n return (\n <div className={cx(styles.wrapperClose(this.theme), fixed && styles.fixed(this.theme))}>\n <Sticky side=\"top\" offset={stickyOffset}>\n {this.closeIcon}\n </Sticky>\n </div>\n );\n };\n\n private closeIcon = () => (\n <SidePageContext.Consumer>\n {({ requestClose }) => (\n <button\n className={cx(styles.close(this.theme), {\n [styles.closeFocus(this.theme)]: this.state.focusedByTab,\n })}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onClick={requestClose}\n data-tid=\"SidePage__close\"\n tabIndex={0}\n >\n <CrossIcon />\n </button>\n )}\n </SidePageContext.Consumer>\n );\n\n private updateReadyToFix = () => {\n if (this.wrapper) {\n const wrapperScrolledUp = this.wrapper.getBoundingClientRect().top;\n const isReadyToFix = this.regularHeight + wrapperScrolledUp <= this.fixedHeaderHeight;\n this.setState((state) => (state.isReadyToFix !== isReadyToFix ? { ...state, isReadyToFix } : state));\n }\n };\n\n private wrapperRef = (el: HTMLElement | null) => {\n this.wrapper = el;\n };\n\n private stickyRef = (el: Sticky | null) => {\n this.sticky = el;\n };\n\n private handleFocus = () => {\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n };\n\n private handleBlur = () => {\n this.setState({ focusedByTab: false });\n };\n}\n"]}
@@ -1,40 +1,43 @@
1
- import React from 'react';
2
- import { CommonProps } from '../../internal/CommonWrapper';
3
- import { SidePageContextType } from './SidePageContext';
4
- export interface SidePageHeaderProps extends CommonProps {
5
- children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);
6
- }
7
- export interface SidePageHeaderState {
8
- isReadyToFix: boolean;
9
- focusedByTab: boolean;
10
- }
11
- /**
12
- * Шапка сайдпейджа
13
- *
14
- * @visibleName SidePage.Header
15
- */
16
- export declare class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {
17
- static __KONTUR_REACT_UI__: string;
18
- static contextType: React.Context<SidePageContextType>;
19
- context: SidePageContextType;
20
- state: {
21
- isReadyToFix: boolean;
22
- focusedByTab: boolean;
23
- };
24
- private theme;
25
- private wrapper;
26
- private lastRegularHeight;
27
- get regularHeight(): number;
28
- get fixedHeaderHeight(): number;
29
- componentDidMount: () => void;
30
- componentWillUnmount: () => void;
31
- update: () => void;
32
- render(): JSX.Element;
33
- private renderMain;
34
- private renderHeader;
35
- private renderClose;
36
- private updateReadyToFix;
37
- private wrapperRef;
38
- private handleFocus;
39
- private handleBlur;
40
- }
1
+ import React from 'react';
2
+ import { CommonProps } from '../../internal/CommonWrapper';
3
+ import { SidePageContextType } from './SidePageContext';
4
+ export interface SidePageHeaderProps extends CommonProps {
5
+ children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);
6
+ }
7
+ export interface SidePageHeaderState {
8
+ isReadyToFix: boolean;
9
+ focusedByTab: boolean;
10
+ }
11
+ /**
12
+ * Шапка сайдпейджа
13
+ *
14
+ * @visibleName SidePage.Header
15
+ */
16
+ export declare class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {
17
+ static __KONTUR_REACT_UI__: string;
18
+ static contextType: React.Context<SidePageContextType>;
19
+ context: SidePageContextType;
20
+ state: {
21
+ isReadyToFix: boolean;
22
+ focusedByTab: boolean;
23
+ };
24
+ private theme;
25
+ private wrapper;
26
+ private sticky;
27
+ private lastRegularHeight;
28
+ get regularHeight(): number;
29
+ get fixedHeaderHeight(): number;
30
+ componentDidMount: () => void;
31
+ componentWillUnmount: () => void;
32
+ update: () => void;
33
+ render(): JSX.Element;
34
+ private renderMain;
35
+ private renderHeader;
36
+ private renderClose;
37
+ private closeIcon;
38
+ private updateReadyToFix;
39
+ private wrapperRef;
40
+ private stickyRef;
41
+ private handleFocus;
42
+ private handleBlur;
43
+ }
@@ -1,5 +1,5 @@
1
- export * from './SidePage';
2
- export * from './SidePageHeader';
3
- export * from './SidePageBody';
4
- export * from './SidePageFooter';
5
- export * from './SidePageContainer';
1
+ export * from './SidePage';
2
+ export * from './SidePageHeader';
3
+ export * from './SidePageBody';
4
+ export * from './SidePageFooter';
5
+ export * from './SidePageContainer';
@@ -1,47 +1,47 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { CommonProps } from '../../internal/CommonWrapper';
4
- declare const types: Record<SpinnerType, SpinnerType>;
5
- export declare type SpinnerType = 'mini' | 'normal' | 'big';
6
- export interface SpinnerProps extends CommonProps {
7
- caption?: React.ReactNode;
8
- dimmed?: boolean;
9
- /**
10
- * Тип спиннера
11
- * @default normal
12
- */
13
- type: SpinnerType;
14
- }
15
- /**
16
- * DRAFT - инлайн-лоадер
17
- */
18
- export declare class Spinner extends React.Component<SpinnerProps> {
19
- static __KONTUR_REACT_UI__: string;
20
- static propTypes: {
21
- /**
22
- * Текст рядом с мини-лоадером.
23
- *
24
- * 'Загрузка' - значение по-умолчанию
25
- */
26
- caption: PropTypes.Requireable<PropTypes.ReactNodeLike>;
27
- dimmed: PropTypes.Requireable<boolean>;
28
- /**
29
- * Тип спиннера: mini, normal, big
30
- *
31
- * Значение по-умолчанию - normal
32
- *
33
- * Spinner.types - все доступные типы
34
- */
35
- type: PropTypes.Requireable<string>;
36
- };
37
- static defaultProps: SpinnerProps;
38
- static Types: typeof types;
39
- private theme;
40
- private readonly locale;
41
- constructor(props: SpinnerProps);
42
- render(): JSX.Element;
43
- private renderMain;
44
- private renderSpinner;
45
- private renderCaption;
46
- }
47
- export {};
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { CommonProps } from '../../internal/CommonWrapper';
4
+ declare const types: Record<SpinnerType, SpinnerType>;
5
+ export declare type SpinnerType = 'mini' | 'normal' | 'big';
6
+ export interface SpinnerProps extends CommonProps {
7
+ caption?: React.ReactNode;
8
+ dimmed?: boolean;
9
+ /**
10
+ * Тип спиннера
11
+ * @default normal
12
+ */
13
+ type: SpinnerType;
14
+ }
15
+ /**
16
+ * DRAFT - инлайн-лоадер
17
+ */
18
+ export declare class Spinner extends React.Component<SpinnerProps> {
19
+ static __KONTUR_REACT_UI__: string;
20
+ static propTypes: {
21
+ /**
22
+ * Текст рядом с мини-лоадером.
23
+ *
24
+ * 'Загрузка' - значение по-умолчанию
25
+ */
26
+ caption: PropTypes.Requireable<PropTypes.ReactNodeLike>;
27
+ dimmed: PropTypes.Requireable<boolean>;
28
+ /**
29
+ * Тип спиннера: mini, normal, big
30
+ *
31
+ * Значение по-умолчанию - normal
32
+ *
33
+ * Spinner.types - все доступные типы
34
+ */
35
+ type: PropTypes.Requireable<string>;
36
+ };
37
+ static defaultProps: SpinnerProps;
38
+ static Types: typeof types;
39
+ private theme;
40
+ private readonly locale;
41
+ constructor(props: SpinnerProps);
42
+ render(): JSX.Element;
43
+ private renderMain;
44
+ private renderSpinner;
45
+ private renderCaption;
46
+ }
47
+ export {};
@@ -1,11 +1,11 @@
1
- import { Theme } from '../../lib/theming/Theme';
2
- export declare const styles: {
3
- circle(t: Theme): string;
4
- circleDimmed(t: Theme): string;
5
- captionColor(t: Theme): string;
6
- mini(t: Theme): string;
7
- normal(t: Theme): string;
8
- big(t: Theme): string;
9
- spinner(): string;
10
- inner(): string;
11
- };
1
+ import { Theme } from '../../lib/theming/Theme';
2
+ export declare const styles: {
3
+ circle(t: Theme): string;
4
+ circleDimmed(t: Theme): string;
5
+ captionColor(t: Theme): string;
6
+ mini(t: Theme): string;
7
+ normal(t: Theme): string;
8
+ big(t: Theme): string;
9
+ spinner(): string;
10
+ inner(): string;
11
+ };
@@ -1,25 +1,25 @@
1
- export declare class SpinnerFallbackAnimationRunner {
2
- private animations;
3
- private FPS;
4
- private interval;
5
- constructor(animations: Animation[], FPS: number);
6
- start: () => void;
7
- stop: () => void;
8
- }
9
- declare class Animation {
10
- private duration;
11
- private onProgress;
12
- private onFinish?;
13
- private startTime;
14
- private isFinished;
15
- constructor(duration: number, onProgress: (progress: number) => void, onFinish?: ((animation: Animation) => void) | undefined);
16
- step: () => void;
17
- reset: () => void;
18
- finish: () => void;
19
- start: () => void;
20
- }
21
- export declare const createOffsetAnimation: (from: number, to: number, duration: number, setStyleProperty: CSSStyleDeclaration['setProperty'], units?: string) => Animation;
22
- export declare const createLengthAnimation: (from: number[], to: number[], duration: number, setStyleProperty: CSSStyleDeclaration['setProperty'], units?: string) => Animation;
23
- export declare const createColorAnimation: (colors: string[], duration: number, setStyleProperty: CSSStyleDeclaration['setProperty']) => Animation;
24
- export declare const createRotationAnimation: (from: number, to: number, duration: number, setStyleProperty: CSSStyleDeclaration['setProperty'], units?: string) => Animation;
25
- export {};
1
+ export declare class SpinnerFallbackAnimationRunner {
2
+ private animations;
3
+ private FPS;
4
+ private interval;
5
+ constructor(animations: Animation[], FPS: number);
6
+ start: () => void;
7
+ stop: () => void;
8
+ }
9
+ declare class Animation {
10
+ private duration;
11
+ private onProgress;
12
+ private onFinish?;
13
+ private startTime;
14
+ private isFinished;
15
+ constructor(duration: number, onProgress: (progress: number) => void, onFinish?: ((animation: Animation) => void) | undefined);
16
+ step: () => void;
17
+ reset: () => void;
18
+ finish: () => void;
19
+ start: () => void;
20
+ }
21
+ export declare const createOffsetAnimation: (from: number, to: number, duration: number, setStyleProperty: CSSStyleDeclaration['setProperty'], units?: string) => Animation;
22
+ export declare const createLengthAnimation: (from: number[], to: number[], duration: number, setStyleProperty: CSSStyleDeclaration['setProperty'], units?: string) => Animation;
23
+ export declare const createColorAnimation: (colors: string[], duration: number, setStyleProperty: CSSStyleDeclaration['setProperty']) => Animation;
24
+ export declare const createRotationAnimation: (from: number, to: number, duration: number, setStyleProperty: CSSStyleDeclaration['setProperty'], units?: string) => Animation;
25
+ export {};
@@ -1 +1 @@
1
- export * from './Spinner';
1
+ export * from './Spinner';
@@ -1,4 +1,4 @@
1
- import { LocaleHelper } from '../../../lib/locale/LocaleHelper';
2
- import { SpinnerLocale } from './types';
3
- export * from './types';
4
- export declare const SpinnerLocaleHelper: LocaleHelper<SpinnerLocale>;
1
+ import { LocaleHelper } from '../../../lib/locale/LocaleHelper';
2
+ import { SpinnerLocale } from './types';
3
+ export * from './types';
4
+ export declare const SpinnerLocaleHelper: LocaleHelper<SpinnerLocale>;
@@ -1,2 +1,2 @@
1
- import { SpinnerLocale } from '../types';
2
- export declare const componentsLocales: SpinnerLocale;
1
+ import { SpinnerLocale } from '../types';
2
+ export declare const componentsLocales: SpinnerLocale;
@@ -1,2 +1,2 @@
1
- import { SpinnerLocale } from '../types';
2
- export declare const componentsLocales: SpinnerLocale;
1
+ import { SpinnerLocale } from '../types';
2
+ export declare const componentsLocales: SpinnerLocale;
@@ -1,4 +1,4 @@
1
- import React from 'react';
2
- export interface SpinnerLocale {
3
- loading: React.ReactNode;
4
- }
1
+ import React from 'react';
2
+ export interface SpinnerLocale {
3
+ loading: React.ReactNode;
4
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["Sticky.tsx"],"names":["React","PropTypes","shallowEqual","LayoutEvents","isFunction","ZIndex","CommonWrapper","cx","styles","MAX_REFLOW_RETRIES","Sticky","state","fixed","deltaHeight","stopped","relativeTop","wrapper","inner","layoutSubscription","remove","reflowCounter","refWrapper","ref","refInner","reflow","document","documentElement","Error","windowHeight","window","innerHeight","clientHeight","getBoundingClientRect","top","bottom","left","width","height","props","offset","getStop","side","prevFixed","prevHeight","setState","stop","stopRect","outerHeight","componentDidMount","addListener","componentWillUnmount","componentDidUpdate","prevProps","prevState","emit","render","children","innerStyle","container","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","node","func","number","oneOf","isRequired","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport shallowEqual from 'shallowequal';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { isFunction } from '../../lib/utils';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Sticky.styles';\n\nconst MAX_REFLOW_RETRIES = 5;\n\nexport interface StickyProps extends CommonProps {\n side: 'top' | 'bottom';\n /**\n * Отступ в пикселях от края экрана, на сколько сдвигается элемент в залипшем состоянии\n * @default 0\n */\n offset: number;\n getStop?: () => Nullable<HTMLElement>;\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface StickyState {\n fixed: boolean;\n deltaHeight: number;\n height?: number;\n width?: number;\n left?: number;\n stopped: boolean;\n relativeTop: number;\n}\n\nexport class Sticky extends React.Component<StickyProps, StickyState> {\n public static __KONTUR_REACT_UI__ = 'Sticky';\n\n public static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Функция, которая возвращает DOM-элемент, который нельзя пересекать.\n */\n getStop: PropTypes.func,\n\n /**\n * Отступ от границы в пикселях\n */\n offset: PropTypes.number,\n\n side: PropTypes.oneOf(['top', 'bottom']).isRequired,\n };\n\n public static defaultProps = { offset: 0 };\n\n public state: StickyState = {\n fixed: false,\n deltaHeight: 0,\n stopped: false,\n relativeTop: 0,\n };\n\n private wrapper: Nullable<HTMLElement>;\n private inner: Nullable<HTMLElement>;\n private layoutSubscription: { remove: Nullable<() => void> } = { remove: null };\n private reflowCounter = 0;\n\n public componentDidMount() {\n this.reflow();\n\n this.layoutSubscription = LayoutEvents.addListener(this.reflow);\n }\n\n public componentWillUnmount() {\n if (this.layoutSubscription.remove) {\n this.layoutSubscription.remove();\n }\n }\n\n public componentDidUpdate(prevProps: StickyProps, prevState: StickyState) {\n if (!shallowEqual(prevProps, this.props) || !shallowEqual(prevState, this.state)) {\n if (this.reflowCounter < MAX_REFLOW_RETRIES) {\n LayoutEvents.emit();\n this.reflowCounter += 1;\n return;\n }\n }\n this.reflowCounter = 0;\n }\n\n public render() {\n let { children } = this.props;\n const { side, offset } = this.props;\n const { fixed, stopped, relativeTop, deltaHeight, width, height, left } = this.state;\n const innerStyle: React.CSSProperties = {};\n\n if (fixed) {\n if (stopped) {\n innerStyle.top = relativeTop;\n innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;\n } else {\n innerStyle.width = width;\n innerStyle[side] = offset;\n innerStyle.left = left;\n }\n }\n\n if (isFunction(children)) {\n children = children(fixed);\n }\n\n return (\n <CommonWrapper {...this.props}>\n <div ref={this.refWrapper} className={styles.wrapper()}>\n <ZIndex\n priority=\"Sticky\"\n applyZIndex={fixed}\n className={cx(styles.inner(), {\n [styles.fixed()]: fixed && !stopped,\n [styles.stopped()]: stopped,\n })}\n style={innerStyle}\n wrapperRef={this.refInner}\n >\n <div className={styles.container()}>{children}</div>\n </ZIndex>\n {fixed && !stopped ? <div style={{ width, height }} /> : null}\n </div>\n </CommonWrapper>\n );\n }\n\n private refWrapper = (ref: Nullable<HTMLElement>) => (this.wrapper = ref);\n\n private refInner = (ref: Nullable<HTMLElement>) => (this.inner = ref);\n\n private reflow = () => {\n const { documentElement } = document;\n\n if (!documentElement) {\n throw Error('There is no \"documentElement\" in document');\n }\n\n const windowHeight = window.innerHeight || documentElement.clientHeight;\n if (!this.wrapper || !this.inner) {\n return;\n }\n const { top, bottom, left } = this.wrapper.getBoundingClientRect();\n const { width, height } = this.inner.getBoundingClientRect();\n const { offset, getStop, side } = this.props;\n const { fixed: prevFixed, height: prevHeight = height } = this.state;\n const fixed = side === 'top' ? top < offset : bottom > windowHeight - offset;\n\n this.setState({ fixed, left });\n\n if (fixed && !prevFixed) {\n this.setState({ width, height });\n }\n\n if (fixed) {\n const stop = getStop && getStop();\n if (stop) {\n const deltaHeight = prevHeight - height;\n const stopRect = stop.getBoundingClientRect();\n const outerHeight = height + offset;\n let stopped = false;\n let relativeTop = 0;\n\n if (side === 'top') {\n stopped = stopRect.top - outerHeight < 0;\n relativeTop = stopRect.top - prevHeight - top;\n } else {\n stopped = stopRect.bottom + outerHeight > windowHeight;\n relativeTop = stopRect.bottom - top;\n }\n\n this.setState({ relativeTop, deltaHeight, stopped });\n }\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["Sticky.tsx"],"names":["React","PropTypes","shallowEqual","LayoutEvents","isFunction","ZIndex","CommonWrapper","cx","styles","MAX_REFLOW_RETRIES","Sticky","state","fixed","deltaHeight","stopped","relativeTop","wrapper","inner","layoutSubscription","remove","reflowCounter","refWrapper","ref","refInner","reflow","document","documentElement","Error","windowHeight","window","innerHeight","clientHeight","getBoundingClientRect","top","bottom","left","width","height","props","offset","getStop","side","prevFixed","prevHeight","setState","stop","stopRect","outerHeight","componentDidMount","addListener","componentWillUnmount","componentDidUpdate","prevProps","prevState","emit","render","children","innerStyle","container","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","node","func","number","oneOf","isRequired","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport shallowEqual from 'shallowequal';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { isFunction } from '../../lib/utils';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Sticky.styles';\n\nconst MAX_REFLOW_RETRIES = 5;\n\nexport interface StickyProps extends CommonProps {\n side: 'top' | 'bottom';\n /**\n * Отступ в пикселях от края экрана, на сколько сдвигается элемент в залипшем состоянии\n * @default 0\n */\n offset: number;\n getStop?: () => Nullable<HTMLElement>;\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface StickyState {\n fixed: boolean;\n deltaHeight: number;\n height?: number;\n width?: number;\n left?: number;\n stopped: boolean;\n relativeTop: number;\n}\n\nexport class Sticky extends React.Component<StickyProps, StickyState> {\n public static __KONTUR_REACT_UI__ = 'Sticky';\n\n public static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Функция, которая возвращает DOM-элемент, который нельзя пересекать.\n */\n getStop: PropTypes.func,\n\n /**\n * Отступ от границы в пикселях\n */\n offset: PropTypes.number,\n\n side: PropTypes.oneOf(['top', 'bottom']).isRequired,\n };\n\n public static defaultProps = { offset: 0 };\n\n public state: StickyState = {\n fixed: false,\n deltaHeight: 0,\n stopped: false,\n relativeTop: 0,\n };\n\n private wrapper: Nullable<HTMLElement>;\n private inner: Nullable<HTMLElement>;\n private layoutSubscription: { remove: Nullable<() => void> } = { remove: null };\n private reflowCounter = 0;\n\n public componentDidMount() {\n this.reflow();\n\n this.layoutSubscription = LayoutEvents.addListener(this.reflow);\n }\n\n public componentWillUnmount() {\n if (this.layoutSubscription.remove) {\n this.layoutSubscription.remove();\n }\n }\n\n public componentDidUpdate(prevProps: StickyProps, prevState: StickyState) {\n if (!shallowEqual(prevProps, this.props) || !shallowEqual(prevState, this.state)) {\n if (this.reflowCounter < MAX_REFLOW_RETRIES) {\n LayoutEvents.emit();\n this.reflowCounter += 1;\n return;\n }\n }\n this.reflowCounter = 0;\n }\n\n public render() {\n let { children } = this.props;\n const { side, offset } = this.props;\n const { fixed, stopped, relativeTop, deltaHeight, width, height, left } = this.state;\n const innerStyle: React.CSSProperties = {};\n\n if (fixed) {\n if (stopped) {\n innerStyle.top = relativeTop;\n innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;\n } else {\n innerStyle.width = width;\n innerStyle[side] = offset;\n innerStyle.left = left;\n }\n }\n\n if (isFunction(children)) {\n children = children(fixed);\n }\n\n return (\n <CommonWrapper {...this.props}>\n <div ref={this.refWrapper} className={styles.wrapper()}>\n <ZIndex\n priority=\"Sticky\"\n applyZIndex={fixed}\n className={cx(styles.inner(), {\n [styles.fixed()]: fixed && !stopped,\n [styles.stopped()]: stopped,\n })}\n style={innerStyle}\n wrapperRef={this.refInner}\n >\n <div className={styles.container()}>{children}</div>\n </ZIndex>\n {fixed && !stopped ? <div style={{ width, height }} /> : null}\n </div>\n </CommonWrapper>\n );\n }\n\n private refWrapper = (ref: Nullable<HTMLElement>) => (this.wrapper = ref);\n\n private refInner = (ref: Nullable<HTMLElement>) => (this.inner = ref);\n\n /**\n * Пересчитать габариты и позицию залипшего элемента\n *\n * @public\n */\n public reflow = () => {\n const { documentElement } = document;\n\n if (!documentElement) {\n throw Error('There is no \"documentElement\" in document');\n }\n\n const windowHeight = window.innerHeight || documentElement.clientHeight;\n if (!this.wrapper || !this.inner) {\n return;\n }\n const { top, bottom, left } = this.wrapper.getBoundingClientRect();\n const { width, height } = this.inner.getBoundingClientRect();\n const { offset, getStop, side } = this.props;\n const { fixed: prevFixed, height: prevHeight = height } = this.state;\n const fixed = side === 'top' ? top < offset : bottom > windowHeight - offset;\n\n this.setState({ fixed, left });\n\n if (fixed && !prevFixed) {\n this.setState({ width, height });\n }\n\n if (fixed) {\n const stop = getStop && getStop();\n if (stop) {\n const deltaHeight = prevHeight - height;\n const stopRect = stop.getBoundingClientRect();\n const outerHeight = height + offset;\n let stopped = false;\n let relativeTop = 0;\n\n if (side === 'top') {\n stopped = stopRect.top - outerHeight < 0;\n relativeTop = stopRect.top - prevHeight - top;\n } else {\n stopped = stopRect.bottom + outerHeight > windowHeight;\n relativeTop = stopRect.bottom - top;\n }\n\n this.setState({ relativeTop, deltaHeight, stopped });\n }\n }\n };\n}\n"]}