@skbkontur/react-ui 2.17.6 → 2.17.7-sidepage-header

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 (1099) hide show
  1. package/CHANGELOG.md +2194 -2183
  2. package/README.md +61 -61
  3. package/cjs/components/Autocomplete/Autocomplete.js +23 -23
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.md +7 -7
  6. package/cjs/components/Autocomplete/index.js.map +1 -1
  7. package/cjs/components/Button/Button.js +4 -4
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.md +89 -89
  10. package/cjs/components/Button/Button.mixins.js.map +1 -1
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Button/Corners.js.map +1 -1
  13. package/cjs/components/Button/index.js.map +1 -1
  14. package/cjs/components/Center/Center.js +3 -3
  15. package/cjs/components/Center/Center.js.map +1 -1
  16. package/cjs/components/Center/Center.md +5 -5
  17. package/cjs/components/Center/Center.styles.js.map +1 -1
  18. package/cjs/components/Center/index.js.map +1 -1
  19. package/cjs/components/Checkbox/Checkbox.js +9 -9
  20. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  21. package/cjs/components/Checkbox/Checkbox.md +63 -63
  22. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  23. package/cjs/components/Checkbox/index.js.map +1 -1
  24. package/cjs/components/ComboBox/ComboBox.js +20 -20
  25. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  26. package/cjs/components/ComboBox/ComboBox.md +432 -432
  27. package/cjs/components/ComboBox/index.js.map +1 -1
  28. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  29. package/cjs/components/CurrencyInput/CurrencyInput.js +7 -7
  30. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  31. package/cjs/components/CurrencyInput/CurrencyInput.md +20 -20
  32. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  33. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  34. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  35. package/cjs/components/CurrencyInput/SelectionHelper.js.map +1 -1
  36. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  37. package/cjs/components/CurrencyInput/index.js.map +1 -1
  38. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  39. package/cjs/components/CurrencyLabel/index.js.map +1 -1
  40. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  41. package/cjs/components/DateInput/DateFragmentsView.styles.js.map +1 -1
  42. package/cjs/components/DateInput/DateInput.js.map +1 -1
  43. package/cjs/components/DateInput/DateInput.md +104 -104
  44. package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
  45. package/cjs/components/DateInput/ViewDateInputValidateChecks.js.map +1 -1
  46. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  47. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  48. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  49. package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
  50. package/cjs/components/DateInput/index.js.map +1 -1
  51. package/cjs/components/DatePicker/DatePicker.js +15 -15
  52. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  53. package/cjs/components/DatePicker/DatePicker.md +310 -310
  54. package/cjs/components/DatePicker/DatePicker.styles.js.map +1 -1
  55. package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
  56. package/cjs/components/DatePicker/Picker.js.map +1 -1
  57. package/cjs/components/DatePicker/Picker.styles.js.map +1 -1
  58. package/cjs/components/DatePicker/index.js.map +1 -1
  59. package/cjs/components/DatePicker/locale/index.js.map +1 -1
  60. package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
  61. package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
  62. package/cjs/components/Dropdown/Dropdown.js +24 -24
  63. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  64. package/cjs/components/Dropdown/Dropdown.md +12 -12
  65. package/cjs/components/Dropdown/index.js.map +1 -1
  66. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -2
  67. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  68. package/cjs/components/DropdownMenu/DropdownMenu.md +73 -73
  69. package/cjs/components/DropdownMenu/index.js.map +1 -1
  70. package/cjs/components/Fias/Fias.js +2 -2
  71. package/cjs/components/Fias/Fias.js.map +1 -1
  72. package/cjs/components/Fias/Fias.md +451 -451
  73. package/cjs/components/Fias/Fias.styles.js.map +1 -1
  74. package/cjs/components/Fias/FiasModal.js.map +1 -1
  75. package/cjs/components/Fias/FiasSearch/FiasSearch.js +2 -2
  76. package/cjs/components/Fias/FiasSearch/FiasSearch.js.map +1 -1
  77. package/cjs/components/Fias/FiasSearch/FiasSearch.md +78 -78
  78. package/cjs/components/Fias/Form/FiasComboBox.js.map +1 -1
  79. package/cjs/components/Fias/Form/FiasCountrySelector.js.map +1 -1
  80. package/cjs/components/Fias/Form/FiasForm.js.map +1 -1
  81. package/cjs/components/Fias/Form/FiasForm.styles.js.map +1 -1
  82. package/cjs/components/Fias/api/FiasAPI.js.map +1 -1
  83. package/cjs/components/Fias/api/FiasAPIResultFactory.js.map +1 -1
  84. package/cjs/components/Fias/api/FiasMockAPI.js.map +1 -1
  85. package/cjs/components/Fias/api/data.json +285 -285
  86. package/cjs/components/Fias/constants/abbreviations.js.map +1 -1
  87. package/cjs/components/Fias/index.js.map +1 -1
  88. package/cjs/components/Fias/locale/index.js.map +1 -1
  89. package/cjs/components/Fias/locale/locales/ru.js.map +1 -1
  90. package/cjs/components/Fias/logger/FiasLogger.js.map +1 -1
  91. package/cjs/components/Fias/models/FiasAddress.js.map +1 -1
  92. package/cjs/components/Fias/models/FiasAddressElement.js.map +1 -1
  93. package/cjs/components/Fias/models/FiasData.js.map +1 -1
  94. package/cjs/components/Fias/types.js.map +1 -1
  95. package/cjs/components/FxInput/FxInput.js.map +1 -1
  96. package/cjs/components/FxInput/FxInput.md +13 -13
  97. package/cjs/components/FxInput/index.js.map +1 -1
  98. package/cjs/components/Gapped/Gapped.js +8 -8
  99. package/cjs/components/Gapped/Gapped.js.map +1 -1
  100. package/cjs/components/Gapped/index.js.map +1 -1
  101. package/cjs/components/Group/Group.js.map +1 -1
  102. package/cjs/components/Group/Group.md +26 -26
  103. package/cjs/components/Group/Group.styles.js.map +1 -1
  104. package/cjs/components/Group/index.js.map +1 -1
  105. package/cjs/components/Hint/Hint.js.map +1 -1
  106. package/cjs/components/Hint/Hint.md +3 -3
  107. package/cjs/components/Hint/Hint.styles.js.map +1 -1
  108. package/cjs/components/Hint/index.js.map +1 -1
  109. package/cjs/components/Input/Input.js +13 -13
  110. package/cjs/components/Input/Input.js.map +1 -1
  111. package/cjs/components/Input/Input.styles.js.map +1 -1
  112. package/cjs/components/Input/index.js.map +1 -1
  113. package/cjs/components/Kebab/Kebab.js +6 -6
  114. package/cjs/components/Kebab/Kebab.js.map +1 -1
  115. package/cjs/components/Kebab/Kebab.md +45 -45
  116. package/cjs/components/Kebab/Kebab.styles.js.map +1 -1
  117. package/cjs/components/Kebab/__stories__/Kebab.items.js.map +1 -1
  118. package/cjs/components/Kebab/index.js.map +1 -1
  119. package/cjs/components/Link/Link.js +5 -5
  120. package/cjs/components/Link/Link.js.map +1 -1
  121. package/cjs/components/Link/Link.md +11 -11
  122. package/cjs/components/Link/Link.mixins.js.map +1 -1
  123. package/cjs/components/Link/Link.styles.js.map +1 -1
  124. package/cjs/components/Link/index.js.map +1 -1
  125. package/cjs/components/Loader/Loader.js +20 -20
  126. package/cjs/components/Loader/Loader.js.map +1 -1
  127. package/cjs/components/Loader/Loader.md +25 -25
  128. package/cjs/components/Loader/Loader.styles.js.map +1 -1
  129. package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
  130. package/cjs/components/Loader/index.js.map +1 -1
  131. package/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -1
  132. package/cjs/components/LocaleProvider/index.js.map +1 -1
  133. package/cjs/components/Logotype/Logotype.js +2 -2
  134. package/cjs/components/Logotype/Logotype.js.map +1 -1
  135. package/cjs/components/Logotype/Logotype.md +33 -33
  136. package/cjs/components/Logotype/Logotype.styles.js.map +1 -1
  137. package/cjs/components/Logotype/ProductWidget.js.map +1 -1
  138. package/cjs/components/Logotype/index.js.map +1 -1
  139. package/cjs/components/Logotype/locale/index.js.map +1 -1
  140. package/cjs/components/Logotype/locale/locales/en.js.map +1 -1
  141. package/cjs/components/Logotype/locale/locales/ru.js.map +1 -1
  142. package/cjs/components/MenuHeader/MenuHeader.js +2 -2
  143. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  144. package/cjs/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  145. package/cjs/components/MenuHeader/index.js.map +1 -1
  146. package/cjs/components/MenuItem/MenuItem.js +2 -2
  147. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  148. package/cjs/components/MenuItem/MenuItem.md +7 -7
  149. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  150. package/cjs/components/MenuItem/index.js.map +1 -1
  151. package/cjs/components/MenuSeparator/MenuSeparator.js +2 -2
  152. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  153. package/cjs/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  154. package/cjs/components/MenuSeparator/index.js.map +1 -1
  155. package/cjs/components/Modal/Modal.js +13 -13
  156. package/cjs/components/Modal/Modal.js.map +1 -1
  157. package/cjs/components/Modal/Modal.md +37 -37
  158. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  159. package/cjs/components/Modal/ModalBody.js +4 -4
  160. package/cjs/components/Modal/ModalBody.js.map +1 -1
  161. package/cjs/components/Modal/ModalClose.js.map +1 -1
  162. package/cjs/components/Modal/ModalContext.js.map +1 -1
  163. package/cjs/components/Modal/ModalFooter.js +4 -4
  164. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  165. package/cjs/components/Modal/ModalHeader.js +4 -4
  166. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  167. package/cjs/components/Modal/helpers.js.map +1 -1
  168. package/cjs/components/Modal/index.js.map +1 -1
  169. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  170. package/cjs/components/Paging/Paging.js +10 -10
  171. package/cjs/components/Paging/Paging.js.map +1 -1
  172. package/cjs/components/Paging/Paging.md +43 -43
  173. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  174. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  175. package/cjs/components/Paging/index.js.map +1 -1
  176. package/cjs/components/Paging/locale/index.js.map +1 -1
  177. package/cjs/components/Paging/locale/locales/en.js.map +1 -1
  178. package/cjs/components/Paging/locale/locales/ru.js.map +1 -1
  179. package/cjs/components/PasswordInput/PasswordInput.js +6 -6
  180. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  181. package/cjs/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  182. package/cjs/components/PasswordInput/index.js.map +1 -1
  183. package/cjs/components/Radio/Radio.js +4 -4
  184. package/cjs/components/Radio/Radio.js.map +1 -1
  185. package/cjs/components/Radio/Radio.md +14 -14
  186. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  187. package/cjs/components/Radio/index.js.map +1 -1
  188. package/cjs/components/RadioGroup/Prevent.js.map +1 -1
  189. package/cjs/components/RadioGroup/RadioGroup.js +46 -46
  190. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  191. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  192. package/cjs/components/RadioGroup/index.js.map +1 -1
  193. package/cjs/components/ScrollContainer/ScrollContainer.js +6 -6
  194. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  195. package/cjs/components/ScrollContainer/ScrollContainer.md +94 -94
  196. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  197. package/cjs/components/ScrollContainer/index.js.map +1 -1
  198. package/cjs/components/Select/Item.js.map +1 -1
  199. package/cjs/components/Select/Select.js +2 -2
  200. package/cjs/components/Select/Select.js.map +1 -1
  201. package/cjs/components/Select/Select.md +23 -23
  202. package/cjs/components/Select/Select.styles.js.map +1 -1
  203. package/cjs/components/Select/index.js.map +1 -1
  204. package/cjs/components/Select/locale/index.js.map +1 -1
  205. package/cjs/components/Select/locale/locales/en.js.map +1 -1
  206. package/cjs/components/Select/locale/locales/ru.js.map +1 -1
  207. package/cjs/components/Select/selectTheme.js.map +1 -1
  208. package/cjs/components/SidePage/SidePage.d.ts +2 -0
  209. package/cjs/components/SidePage/SidePage.js +21 -16
  210. package/cjs/components/SidePage/SidePage.js.map +1 -1
  211. package/cjs/components/SidePage/SidePage.md +48 -48
  212. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  213. package/cjs/components/SidePage/SidePageBody.js +4 -4
  214. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  215. package/cjs/components/SidePage/SidePageContainer.js +4 -4
  216. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  217. package/cjs/components/SidePage/SidePageContext.d.ts +2 -0
  218. package/cjs/components/SidePage/SidePageContext.js +3 -0
  219. package/cjs/components/SidePage/SidePageContext.js.map +1 -1
  220. package/cjs/components/SidePage/SidePageFooter.js +4 -4
  221. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  222. package/cjs/components/SidePage/SidePageHeader.d.ts +5 -0
  223. package/cjs/components/SidePage/SidePageHeader.js +24 -7
  224. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  225. package/cjs/components/SidePage/helpers.js.map +1 -1
  226. package/cjs/components/SidePage/index.js.map +1 -1
  227. package/cjs/components/Spinner/Spinner.js +16 -16
  228. package/cjs/components/Spinner/Spinner.js.map +1 -1
  229. package/cjs/components/Spinner/Spinner.md +34 -34
  230. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  231. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  232. package/cjs/components/Spinner/index.js.map +1 -1
  233. package/cjs/components/Spinner/locale/index.js.map +1 -1
  234. package/cjs/components/Spinner/locale/locales/en.js.map +1 -1
  235. package/cjs/components/Spinner/locale/locales/ru.js.map +1 -1
  236. package/cjs/components/Sticky/Sticky.d.ts +1 -1
  237. package/cjs/components/Sticky/Sticky.js +4 -4
  238. package/cjs/components/Sticky/Sticky.js.map +1 -1
  239. package/cjs/components/Sticky/Sticky.md +27 -27
  240. package/cjs/components/Sticky/Sticky.styles.js.map +1 -1
  241. package/cjs/components/Sticky/index.js.map +1 -1
  242. package/cjs/components/Switcher/Switcher.js.map +1 -1
  243. package/cjs/components/Switcher/Switcher.md +10 -10
  244. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  245. package/cjs/components/Switcher/index.js.map +1 -1
  246. package/cjs/components/Switcher/switcherTheme.js.map +1 -1
  247. package/cjs/components/Tabs/Indicator.js.map +1 -1
  248. package/cjs/components/Tabs/Indicator.styles.js.map +1 -1
  249. package/cjs/components/Tabs/Tab.js +14 -14
  250. package/cjs/components/Tabs/Tab.js.map +1 -1
  251. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  252. package/cjs/components/Tabs/Tabs.js +4 -4
  253. package/cjs/components/Tabs/Tabs.js.map +1 -1
  254. package/cjs/components/Tabs/Tabs.md +36 -36
  255. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  256. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  257. package/cjs/components/Tabs/index.js.map +1 -1
  258. package/cjs/components/Textarea/Textarea.js +12 -12
  259. package/cjs/components/Textarea/Textarea.js.map +1 -1
  260. package/cjs/components/Textarea/Textarea.md +25 -25
  261. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  262. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  263. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  264. package/cjs/components/Textarea/index.js.map +1 -1
  265. package/cjs/components/ThemeConsumer/ThemeConsumer.js.map +1 -1
  266. package/cjs/components/ThemeConsumer/index.js.map +1 -1
  267. package/cjs/components/ThemeProvider/ThemeProvider.js.map +1 -1
  268. package/cjs/components/ThemeProvider/index.js.map +1 -1
  269. package/cjs/components/Toast/Toast.js +19 -19
  270. package/cjs/components/Toast/Toast.js.map +1 -1
  271. package/cjs/components/Toast/Toast.md +41 -41
  272. package/cjs/components/Toast/Toast.styles.js.map +1 -1
  273. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  274. package/cjs/components/Toast/ToastView.js +4 -4
  275. package/cjs/components/Toast/ToastView.js.map +1 -1
  276. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  277. package/cjs/components/Toast/index.js.map +1 -1
  278. package/cjs/components/Toggle/Toggle.js +2 -2
  279. package/cjs/components/Toggle/Toggle.js.map +1 -1
  280. package/cjs/components/Toggle/Toggle.md +24 -24
  281. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  282. package/cjs/components/Toggle/index.js.map +1 -1
  283. package/cjs/components/Token/Token.js.map +1 -1
  284. package/cjs/components/Token/Token.styles.js.map +1 -1
  285. package/cjs/components/Token/index.js.map +1 -1
  286. package/cjs/components/TokenInput/TextWidthHelper.js +3 -3
  287. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  288. package/cjs/components/TokenInput/TokenInput.js +17 -17
  289. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  290. package/cjs/components/TokenInput/TokenInput.md +77 -77
  291. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  292. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  293. package/cjs/components/TokenInput/TokenInputReducer.js.map +1 -1
  294. package/cjs/components/TokenInput/index.js.map +1 -1
  295. package/cjs/components/TokenInput/locale/index.js.map +1 -1
  296. package/cjs/components/TokenInput/locale/locales/en.js.map +1 -1
  297. package/cjs/components/TokenInput/locale/locales/ru.js.map +1 -1
  298. package/cjs/components/Tooltip/Tooltip.js +8 -8
  299. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  300. package/cjs/components/Tooltip/Tooltip.md +301 -301
  301. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  302. package/cjs/components/Tooltip/index.js.map +1 -1
  303. package/cjs/components/TooltipMenu/TooltipMenu.js +7 -7
  304. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  305. package/cjs/components/TooltipMenu/TooltipMenu.md +115 -115
  306. package/cjs/components/TooltipMenu/index.js.map +1 -1
  307. package/cjs/components/TopBar/TopBar.js +38 -38
  308. package/cjs/components/TopBar/TopBar.js.map +1 -1
  309. package/cjs/components/TopBar/TopBar.md +111 -111
  310. package/cjs/components/TopBar/TopBar.styles.js.map +1 -1
  311. package/cjs/components/TopBar/TopBarButtonItem.js +4 -4
  312. package/cjs/components/TopBar/TopBarButtonItem.js.map +1 -1
  313. package/cjs/components/TopBar/TopBarDivider.js +4 -4
  314. package/cjs/components/TopBar/TopBarDivider.js.map +1 -1
  315. package/cjs/components/TopBar/TopBarDropdown.js +4 -4
  316. package/cjs/components/TopBar/TopBarDropdown.js.map +1 -1
  317. package/cjs/components/TopBar/TopBarEnd.js +4 -4
  318. package/cjs/components/TopBar/TopBarEnd.js.map +1 -1
  319. package/cjs/components/TopBar/TopBarItem.js +4 -4
  320. package/cjs/components/TopBar/TopBarItem.js.map +1 -1
  321. package/cjs/components/TopBar/TopBarLogout.js +4 -4
  322. package/cjs/components/TopBar/TopBarLogout.js.map +1 -1
  323. package/cjs/components/TopBar/TopBarOrganizations.js +4 -4
  324. package/cjs/components/TopBar/TopBarOrganizations.js.map +1 -1
  325. package/cjs/components/TopBar/TopBarStart.js +4 -4
  326. package/cjs/components/TopBar/TopBarStart.js.map +1 -1
  327. package/cjs/components/TopBar/TopBarUser.js +6 -6
  328. package/cjs/components/TopBar/TopBarUser.js.map +1 -1
  329. package/cjs/components/TopBar/index.js.map +1 -1
  330. package/cjs/components/TopBar/locale/index.js.map +1 -1
  331. package/cjs/components/TopBar/locale/locales/en.js.map +1 -1
  332. package/cjs/components/TopBar/locale/locales/ru.js.map +1 -1
  333. package/cjs/index.js.map +1 -1
  334. package/cjs/internal/BGRuler.js +5 -5
  335. package/cjs/internal/BGRuler.js.map +1 -1
  336. package/cjs/internal/Calendar/Calendar.js +3 -3
  337. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  338. package/cjs/internal/Calendar/Calendar.styles.js.map +1 -1
  339. package/cjs/internal/Calendar/CalendarDateShape.js.map +1 -1
  340. package/cjs/internal/Calendar/CalendarScrollEvents.js.map +1 -1
  341. package/cjs/internal/Calendar/CalendarUtils.js.map +1 -1
  342. package/cjs/internal/Calendar/DayCellView.js.map +1 -1
  343. package/cjs/internal/Calendar/DayCellView.styles.js.map +1 -1
  344. package/cjs/internal/Calendar/DayCellViewModel.js.map +1 -1
  345. package/cjs/internal/Calendar/Month.js.map +1 -1
  346. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  347. package/cjs/internal/Calendar/MonthView.styles.js.map +1 -1
  348. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  349. package/cjs/internal/Calendar/config.js.map +1 -1
  350. package/cjs/internal/Calendar/index.js.map +1 -1
  351. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  352. package/cjs/internal/CommonWrapper/index.js.map +1 -1
  353. package/cjs/internal/ComponentCombinator.js.map +1 -1
  354. package/cjs/internal/ComponentTable.js.map +1 -1
  355. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  356. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  357. package/cjs/internal/CustomComboBox/CustomComboBox.js +10 -10
  358. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  359. package/cjs/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
  360. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  361. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
  362. package/cjs/internal/CustomComboBox/index.js.map +1 -1
  363. package/cjs/internal/CustomComboBox/locale/index.js.map +1 -1
  364. package/cjs/internal/CustomComboBox/locale/locales/en.js.map +1 -1
  365. package/cjs/internal/CustomComboBox/locale/locales/ru.js.map +1 -1
  366. package/cjs/internal/DateSelect/DateSelect.js +2 -2
  367. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  368. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  369. package/cjs/internal/DateSelect/index.js.map +1 -1
  370. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  371. package/cjs/internal/DropdownContainer/index.js.map +1 -1
  372. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  373. package/cjs/internal/FocusTrap/index.js.map +1 -1
  374. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  375. package/cjs/internal/HideBodyVerticalScroll/index.js.map +1 -1
  376. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  377. package/cjs/internal/IgnoreLayerClick/index.js.map +1 -1
  378. package/cjs/internal/InputLikeText/HiddenInput.js +4 -4
  379. package/cjs/internal/InputLikeText/HiddenInput.js.map +1 -1
  380. package/cjs/internal/InputLikeText/InputLikeText.js +6 -6
  381. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  382. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  383. package/cjs/internal/InputLikeText/index.js.map +1 -1
  384. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  385. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  386. package/cjs/internal/InternalMenu/index.js.map +1 -1
  387. package/cjs/internal/InternalMenu/isActiveElement.js.map +1 -1
  388. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js +6 -6
  389. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  390. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
  391. package/cjs/internal/MaskCharLowLine/index.js.map +1 -1
  392. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  393. package/cjs/internal/MaskedInput/MaskedInput.styles.js.map +1 -1
  394. package/cjs/internal/MaskedInput/index.js.map +1 -1
  395. package/cjs/internal/Menu/Menu.js +10 -10
  396. package/cjs/internal/Menu/Menu.js.map +1 -1
  397. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  398. package/cjs/internal/Menu/index.js.map +1 -1
  399. package/cjs/internal/Menu/isActiveElement.js.map +1 -1
  400. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  401. package/cjs/internal/Popup/Popup.js +31 -31
  402. package/cjs/internal/Popup/Popup.js.map +1 -1
  403. package/cjs/internal/Popup/Popup.styles.js.map +1 -1
  404. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  405. package/cjs/internal/Popup/PopupPin.js +16 -16
  406. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  407. package/cjs/internal/Popup/PopupPin.styles.js.map +1 -1
  408. package/cjs/internal/Popup/index.js.map +1 -1
  409. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  410. package/cjs/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
  411. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +1 -1
  412. package/cjs/internal/PopupMenu/index.js.map +1 -1
  413. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  414. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  415. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  416. package/cjs/internal/RenderContainer/index.js.map +1 -1
  417. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  418. package/cjs/internal/RenderLayer/index.js.map +1 -1
  419. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  420. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  421. package/cjs/internal/ResizeDetector/index.js.map +1 -1
  422. package/cjs/internal/SpinnerOld/SpinnerOld.js +12 -12
  423. package/cjs/internal/SpinnerOld/SpinnerOld.js.map +1 -1
  424. package/cjs/internal/SpinnerOld/SpinnerOld.styles.js.map +1 -1
  425. package/cjs/internal/SpinnerOld/SpinnerOldCloudIcon.js.map +1 -1
  426. package/cjs/internal/SpinnerOld/index.js.map +1 -1
  427. package/cjs/internal/SpinnerOld/locale/index.js.map +1 -1
  428. package/cjs/internal/SpinnerOld/locale/locales/en.js.map +1 -1
  429. package/cjs/internal/SpinnerOld/locale/locales/ru.js.map +1 -1
  430. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
  431. package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +1 -1
  432. package/cjs/internal/ThemePlayground/ComponentsGroup.js.map +1 -1
  433. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
  434. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
  435. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  436. package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
  437. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  438. package/cjs/internal/ThemePlayground/Playground.md +7 -7
  439. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  440. package/cjs/internal/ThemePlayground/RadioPlayground.js.map +1 -1
  441. package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
  442. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  443. package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
  444. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  445. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  446. package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
  447. package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
  448. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  449. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  450. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  451. package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
  452. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  453. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js.map +1 -1
  454. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  455. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  456. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  457. package/cjs/internal/ZIndex/index.js.map +1 -1
  458. package/cjs/internal/icons/16px/icon.styles.js.map +1 -1
  459. package/cjs/internal/icons/16px/index.js.map +1 -1
  460. package/cjs/internal/icons/20px/Icon.js +2 -2
  461. package/cjs/internal/icons/20px/Icon.js.map +1 -1
  462. package/cjs/internal/icons/20px/icon.styles.js.map +1 -1
  463. package/cjs/internal/icons/20px/index.js.map +1 -1
  464. package/cjs/internal/icons/20px/svg.js.map +1 -1
  465. package/cjs/internal/icons/CloudIcon.js.map +1 -1
  466. package/cjs/internal/icons/CrossIcon.js.map +1 -1
  467. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  468. package/cjs/internal/icons/SpinnerIcon.styles.js.map +1 -1
  469. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  470. package/cjs/internal/themes/FlatTheme.js.map +1 -1
  471. package/cjs/internal/themes/Theme8px.js.map +1 -1
  472. package/cjs/lib/ConditionalHandler.js +2 -2
  473. package/cjs/lib/ConditionalHandler.js.map +1 -1
  474. package/cjs/lib/LayoutEvents.js.map +1 -1
  475. package/cjs/lib/MockDate.js.map +1 -1
  476. package/cjs/lib/ModalStack.js +4 -4
  477. package/cjs/lib/ModalStack.js.map +1 -1
  478. package/cjs/lib/SSRSafe.js.map +1 -1
  479. package/cjs/lib/Supports.js.map +1 -1
  480. package/cjs/lib/Upgrades.js.map +1 -1
  481. package/cjs/lib/animation/index.js.map +1 -1
  482. package/cjs/lib/animation/presets.js.map +1 -1
  483. package/cjs/lib/animation/stepper.js.map +1 -1
  484. package/cjs/lib/client.js.map +1 -1
  485. package/cjs/lib/createPropsGetter.js.map +1 -1
  486. package/cjs/lib/currentEnvironment.js.map +1 -1
  487. package/cjs/lib/date/InternalDate.js +3 -3
  488. package/cjs/lib/date/InternalDate.js.map +1 -1
  489. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  490. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  491. package/cjs/lib/date/InternalDateSetter.js.map +1 -1
  492. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  493. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  494. package/cjs/lib/date/constants.js.map +1 -1
  495. package/cjs/lib/date/localeSets.js.map +1 -1
  496. package/cjs/lib/date/types.js.map +1 -1
  497. package/cjs/lib/dom/getFocusableElements.js +33 -33
  498. package/cjs/lib/dom/getFocusableElements.js.map +1 -1
  499. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  500. package/cjs/lib/events/MouseDrag.js +26 -26
  501. package/cjs/lib/events/MouseDrag.js.map +1 -1
  502. package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  503. package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  504. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  505. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  506. package/cjs/lib/events/stopPropagation.js.map +1 -1
  507. package/cjs/lib/events/tabListener.js.map +1 -1
  508. package/cjs/lib/extractKeyboardAction.js.map +1 -1
  509. package/cjs/lib/filterProps.js.map +1 -1
  510. package/cjs/lib/listenFocusOutside.js +9 -9
  511. package/cjs/lib/listenFocusOutside.js.map +1 -1
  512. package/cjs/lib/locale/LOCALECONTEXT.md +246 -246
  513. package/cjs/lib/locale/LocaleContext.js.map +1 -1
  514. package/cjs/lib/locale/LocaleHelper.js.map +1 -1
  515. package/cjs/lib/locale/constants.js.map +1 -1
  516. package/cjs/lib/locale/decorators.js.map +1 -1
  517. package/cjs/lib/locale/index.js.map +1 -1
  518. package/cjs/lib/locale/types.js.map +1 -1
  519. package/cjs/lib/memo.js.map +1 -1
  520. package/cjs/lib/net/fetch.js.map +1 -1
  521. package/cjs/lib/polyfillPlaceholder.js.map +1 -1
  522. package/cjs/lib/reactGetTextContent.js.map +1 -1
  523. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  524. package/cjs/lib/styles/ColorFunctions.js.map +1 -1
  525. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  526. package/cjs/lib/styles/ColorKeywords.js.map +1 -1
  527. package/cjs/lib/styles/ColorObject.js.map +1 -1
  528. package/cjs/lib/styles/DimensionFunctions.js.map +1 -1
  529. package/cjs/lib/styles/HoldSelectionColor.js.map +1 -1
  530. package/cjs/lib/styles/Mixins.js.map +1 -1
  531. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  532. package/cjs/lib/theming/Emotion.js.map +1 -1
  533. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  534. package/cjs/lib/theming/ThemeContext.md +248 -248
  535. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  536. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  537. package/cjs/lib/theming/themes/DefaultTheme.js.map +1 -1
  538. package/cjs/lib/theming/themes/DefaultTheme8px.js.map +1 -1
  539. package/cjs/lib/theming/themes/FlatTheme.js.map +1 -1
  540. package/cjs/lib/theming/themes/FlatTheme8px.js.map +1 -1
  541. package/cjs/lib/utils.js +2 -2
  542. package/cjs/lib/utils.js.map +1 -1
  543. package/cjs/typings/console.d.ts +3 -3
  544. package/cjs/typings/event-types.d.ts +4 -4
  545. package/cjs/typings/fonts.d.ts +12 -12
  546. package/cjs/typings/global.d.ts +6 -6
  547. package/cjs/typings/images.d.ts +1 -1
  548. package/cjs/typings/normalize-wheel.d.ts +5 -5
  549. package/cjs/typings/stylis-plugin-extra-scope.d.ts +3 -3
  550. package/cjs/typings/utility-types.d.ts +14 -14
  551. package/components/Autocomplete/Autocomplete/Autocomplete.js +23 -23
  552. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  553. package/components/Autocomplete/Autocomplete.md +7 -7
  554. package/components/Autocomplete/index/index.js.map +1 -1
  555. package/components/Button/Button/Button.js +4 -4
  556. package/components/Button/Button/Button.js.map +1 -1
  557. package/components/Button/Button.md +89 -89
  558. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  559. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  560. package/components/Button/Corners/Corners.js.map +1 -1
  561. package/components/Button/index/index.js.map +1 -1
  562. package/components/Center/Center/Center.js +3 -3
  563. package/components/Center/Center/Center.js.map +1 -1
  564. package/components/Center/Center.md +5 -5
  565. package/components/Center/Center.styles/Center.styles.js.map +1 -1
  566. package/components/Center/index/index.js.map +1 -1
  567. package/components/Checkbox/Checkbox/Checkbox.js +9 -9
  568. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  569. package/components/Checkbox/Checkbox.md +63 -63
  570. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  571. package/components/Checkbox/index/index.js.map +1 -1
  572. package/components/ComboBox/ComboBox/ComboBox.js +20 -20
  573. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  574. package/components/ComboBox/ComboBox.md +432 -432
  575. package/components/ComboBox/index/index.js.map +1 -1
  576. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  577. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +7 -7
  578. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  579. package/components/CurrencyInput/CurrencyInput.md +20 -20
  580. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  581. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js.map +1 -1
  582. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  583. package/components/CurrencyInput/SelectionHelper/SelectionHelper.js.map +1 -1
  584. package/components/CurrencyInput/constants/constants.js.map +1 -1
  585. package/components/CurrencyInput/index/index.js.map +1 -1
  586. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  587. package/components/CurrencyLabel/index/index.js.map +1 -1
  588. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  589. package/components/DateInput/DateFragmentsView.styles/DateFragmentsView.styles.js.map +1 -1
  590. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  591. package/components/DateInput/DateInput.md +104 -104
  592. package/components/DateInput/DateInput.styles/DateInput.styles.js.map +1 -1
  593. package/components/DateInput/ViewDateInputValidateChecks/ViewDateInputValidateChecks.js.map +1 -1
  594. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  595. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  596. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  597. package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
  598. package/components/DateInput/index/index.js.map +1 -1
  599. package/components/DatePicker/DatePicker/DatePicker.js +15 -15
  600. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  601. package/components/DatePicker/DatePicker.md +310 -310
  602. package/components/DatePicker/DatePicker.styles/DatePicker.styles.js.map +1 -1
  603. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
  604. package/components/DatePicker/Picker/Picker.js.map +1 -1
  605. package/components/DatePicker/Picker.styles/Picker.styles.js.map +1 -1
  606. package/components/DatePicker/index/index.js.map +1 -1
  607. package/components/DatePicker/locale/index/index.js.map +1 -1
  608. package/components/DatePicker/locale/locales/en/en.js.map +1 -1
  609. package/components/DatePicker/locale/locales/ru/ru.js.map +1 -1
  610. package/components/Dropdown/Dropdown/Dropdown.js +24 -24
  611. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  612. package/components/Dropdown/Dropdown.md +12 -12
  613. package/components/Dropdown/index/index.js.map +1 -1
  614. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +2 -2
  615. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  616. package/components/DropdownMenu/DropdownMenu.md +73 -73
  617. package/components/DropdownMenu/index/index.js.map +1 -1
  618. package/components/Fias/Fias/Fias.js +2 -2
  619. package/components/Fias/Fias/Fias.js.map +1 -1
  620. package/components/Fias/Fias.md +451 -451
  621. package/components/Fias/Fias.styles/Fias.styles.js.map +1 -1
  622. package/components/Fias/FiasModal/FiasModal.js.map +1 -1
  623. package/components/Fias/FiasSearch/FiasSearch/FiasSearch.js +2 -2
  624. package/components/Fias/FiasSearch/FiasSearch/FiasSearch.js.map +1 -1
  625. package/components/Fias/FiasSearch/FiasSearch.md +78 -78
  626. package/components/Fias/Form/FiasComboBox/FiasComboBox.js.map +1 -1
  627. package/components/Fias/Form/FiasCountrySelector/FiasCountrySelector.js.map +1 -1
  628. package/components/Fias/Form/FiasForm/FiasForm.js.map +1 -1
  629. package/components/Fias/Form/FiasForm.styles/FiasForm.styles.js.map +1 -1
  630. package/components/Fias/api/FiasAPI/FiasAPI.js.map +1 -1
  631. package/components/Fias/api/FiasAPIResultFactory/FiasAPIResultFactory.js.map +1 -1
  632. package/components/Fias/api/FiasMockAPI/FiasMockAPI.js.map +1 -1
  633. package/components/Fias/api/data.json +285 -285
  634. package/components/Fias/constants/abbreviations/abbreviations.js.map +1 -1
  635. package/components/Fias/index/index.js.map +1 -1
  636. package/components/Fias/locale/index/index.js.map +1 -1
  637. package/components/Fias/locale/locales/ru/ru.js.map +1 -1
  638. package/components/Fias/logger/FiasLogger/FiasLogger.js.map +1 -1
  639. package/components/Fias/models/FiasAddress/FiasAddress.js.map +1 -1
  640. package/components/Fias/models/FiasAddressElement/FiasAddressElement.js.map +1 -1
  641. package/components/Fias/models/FiasData/FiasData.js.map +1 -1
  642. package/components/Fias/types/types.js.map +1 -1
  643. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  644. package/components/FxInput/FxInput.md +13 -13
  645. package/components/FxInput/index/index.js.map +1 -1
  646. package/components/Gapped/Gapped/Gapped.js +8 -8
  647. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  648. package/components/Gapped/index/index.js.map +1 -1
  649. package/components/Group/Group/Group.js.map +1 -1
  650. package/components/Group/Group.md +26 -26
  651. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  652. package/components/Group/index/index.js.map +1 -1
  653. package/components/Hint/Hint/Hint.js.map +1 -1
  654. package/components/Hint/Hint.md +3 -3
  655. package/components/Hint/Hint.styles/Hint.styles.js.map +1 -1
  656. package/components/Hint/index/index.js.map +1 -1
  657. package/components/Input/Input/Input.js +13 -13
  658. package/components/Input/Input/Input.js.map +1 -1
  659. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  660. package/components/Input/index/index.js.map +1 -1
  661. package/components/Kebab/Kebab/Kebab.js +6 -6
  662. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  663. package/components/Kebab/Kebab.md +45 -45
  664. package/components/Kebab/Kebab.styles/Kebab.styles.js.map +1 -1
  665. package/components/Kebab/__stories__/Kebab.items/Kebab.items.js.map +1 -1
  666. package/components/Kebab/index/index.js.map +1 -1
  667. package/components/Link/Link/Link.js +5 -5
  668. package/components/Link/Link/Link.js.map +1 -1
  669. package/components/Link/Link.md +11 -11
  670. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  671. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  672. package/components/Link/index/index.js.map +1 -1
  673. package/components/Loader/Loader/Loader.js +20 -20
  674. package/components/Loader/Loader/Loader.js.map +1 -1
  675. package/components/Loader/Loader.md +25 -25
  676. package/components/Loader/Loader.styles/Loader.styles.js.map +1 -1
  677. package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
  678. package/components/Loader/index/index.js.map +1 -1
  679. package/components/LocaleProvider/LocaleProvider/LocaleProvider.js.map +1 -1
  680. package/components/LocaleProvider/index/index.js.map +1 -1
  681. package/components/Logotype/Logotype/Logotype.js +2 -2
  682. package/components/Logotype/Logotype/Logotype.js.map +1 -1
  683. package/components/Logotype/Logotype.md +33 -33
  684. package/components/Logotype/Logotype.styles/Logotype.styles.js.map +1 -1
  685. package/components/Logotype/ProductWidget/ProductWidget.js.map +1 -1
  686. package/components/Logotype/index/index.js.map +1 -1
  687. package/components/Logotype/locale/index/index.js.map +1 -1
  688. package/components/Logotype/locale/locales/en/en.js.map +1 -1
  689. package/components/Logotype/locale/locales/ru/ru.js.map +1 -1
  690. package/components/MenuHeader/MenuHeader/MenuHeader.js +2 -2
  691. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  692. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js.map +1 -1
  693. package/components/MenuHeader/index/index.js.map +1 -1
  694. package/components/MenuItem/MenuItem/MenuItem.js +2 -2
  695. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  696. package/components/MenuItem/MenuItem.md +7 -7
  697. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  698. package/components/MenuItem/index/index.js.map +1 -1
  699. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +2 -2
  700. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  701. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js.map +1 -1
  702. package/components/MenuSeparator/index/index.js.map +1 -1
  703. package/components/Modal/Modal/Modal.js +13 -13
  704. package/components/Modal/Modal/Modal.js.map +1 -1
  705. package/components/Modal/Modal.md +37 -37
  706. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  707. package/components/Modal/ModalBody/ModalBody.js +4 -4
  708. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  709. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  710. package/components/Modal/ModalContext/ModalContext.js.map +1 -1
  711. package/components/Modal/ModalFooter/ModalFooter.js +4 -4
  712. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  713. package/components/Modal/ModalHeader/ModalHeader.js +4 -4
  714. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  715. package/components/Modal/helpers/helpers.js.map +1 -1
  716. package/components/Modal/index/index.js.map +1 -1
  717. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  718. package/components/Paging/Paging/Paging.js +10 -10
  719. package/components/Paging/Paging/Paging.js.map +1 -1
  720. package/components/Paging/Paging.md +43 -43
  721. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  722. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  723. package/components/Paging/index/index.js.map +1 -1
  724. package/components/Paging/locale/index/index.js.map +1 -1
  725. package/components/Paging/locale/locales/en/en.js.map +1 -1
  726. package/components/Paging/locale/locales/ru/ru.js.map +1 -1
  727. package/components/PasswordInput/PasswordInput/PasswordInput.js +6 -6
  728. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  729. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js.map +1 -1
  730. package/components/PasswordInput/index/index.js.map +1 -1
  731. package/components/Radio/Radio/Radio.js +4 -4
  732. package/components/Radio/Radio/Radio.js.map +1 -1
  733. package/components/Radio/Radio.md +14 -14
  734. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  735. package/components/Radio/index/index.js.map +1 -1
  736. package/components/RadioGroup/Prevent/Prevent.js.map +1 -1
  737. package/components/RadioGroup/RadioGroup/RadioGroup.js +46 -46
  738. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  739. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  740. package/components/RadioGroup/index/index.js.map +1 -1
  741. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +6 -6
  742. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  743. package/components/ScrollContainer/ScrollContainer.md +94 -94
  744. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  745. package/components/ScrollContainer/index/index.js.map +1 -1
  746. package/components/Select/Item/Item.js.map +1 -1
  747. package/components/Select/Select/Select.js +2 -2
  748. package/components/Select/Select/Select.js.map +1 -1
  749. package/components/Select/Select.md +23 -23
  750. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  751. package/components/Select/index/index.js.map +1 -1
  752. package/components/Select/locale/index/index.js.map +1 -1
  753. package/components/Select/locale/locales/en/en.js.map +1 -1
  754. package/components/Select/locale/locales/ru/ru.js.map +1 -1
  755. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  756. package/components/SidePage/SidePage/SidePage.js +22 -15
  757. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  758. package/components/SidePage/SidePage.d.ts +2 -0
  759. package/components/SidePage/SidePage.md +48 -48
  760. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  761. package/components/SidePage/SidePageBody/SidePageBody.js +4 -4
  762. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  763. package/components/SidePage/SidePageContainer/SidePageContainer.js +4 -4
  764. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  765. package/components/SidePage/SidePageContext/SidePageContext.js +3 -0
  766. package/components/SidePage/SidePageContext/SidePageContext.js.map +1 -1
  767. package/components/SidePage/SidePageContext.d.ts +2 -0
  768. package/components/SidePage/SidePageFooter/SidePageFooter.js +4 -4
  769. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  770. package/components/SidePage/SidePageHeader/SidePageHeader.js +23 -6
  771. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  772. package/components/SidePage/SidePageHeader.d.ts +5 -0
  773. package/components/SidePage/helpers/helpers.js.map +1 -1
  774. package/components/SidePage/index/index.js.map +1 -1
  775. package/components/Spinner/Spinner/Spinner.js +16 -16
  776. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  777. package/components/Spinner/Spinner.md +34 -34
  778. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  779. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  780. package/components/Spinner/index/index.js.map +1 -1
  781. package/components/Spinner/locale/index/index.js.map +1 -1
  782. package/components/Spinner/locale/locales/en/en.js.map +1 -1
  783. package/components/Spinner/locale/locales/ru/ru.js.map +1 -1
  784. package/components/Sticky/Sticky/Sticky.js +4 -4
  785. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  786. package/components/Sticky/Sticky.d.ts +1 -1
  787. package/components/Sticky/Sticky.md +27 -27
  788. package/components/Sticky/Sticky.styles/Sticky.styles.js.map +1 -1
  789. package/components/Sticky/index/index.js.map +1 -1
  790. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  791. package/components/Switcher/Switcher.md +10 -10
  792. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  793. package/components/Switcher/index/index.js.map +1 -1
  794. package/components/Switcher/switcherTheme/switcherTheme.js.map +1 -1
  795. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  796. package/components/Tabs/Indicator.styles/Indicator.styles.js.map +1 -1
  797. package/components/Tabs/Tab/Tab.js +14 -14
  798. package/components/Tabs/Tab/Tab.js.map +1 -1
  799. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  800. package/components/Tabs/Tabs/Tabs.js +4 -4
  801. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  802. package/components/Tabs/Tabs.md +36 -36
  803. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  804. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  805. package/components/Tabs/index/index.js.map +1 -1
  806. package/components/Textarea/Textarea/Textarea.js +12 -12
  807. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  808. package/components/Textarea/Textarea.md +25 -25
  809. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  810. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  811. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  812. package/components/Textarea/index/index.js.map +1 -1
  813. package/components/ThemeConsumer/ThemeConsumer/ThemeConsumer.js.map +1 -1
  814. package/components/ThemeConsumer/index/index.js.map +1 -1
  815. package/components/ThemeProvider/ThemeProvider/ThemeProvider.js.map +1 -1
  816. package/components/ThemeProvider/index/index.js.map +1 -1
  817. package/components/Toast/Toast/Toast.js +19 -19
  818. package/components/Toast/Toast/Toast.js.map +1 -1
  819. package/components/Toast/Toast.md +41 -41
  820. package/components/Toast/Toast.styles/Toast.styles.js.map +1 -1
  821. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  822. package/components/Toast/ToastView/ToastView.js +4 -4
  823. package/components/Toast/ToastView/ToastView.js.map +1 -1
  824. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  825. package/components/Toast/index/index.js.map +1 -1
  826. package/components/Toggle/Toggle/Toggle.js +2 -2
  827. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  828. package/components/Toggle/Toggle.md +24 -24
  829. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  830. package/components/Toggle/index/index.js.map +1 -1
  831. package/components/Token/Token/Token.js.map +1 -1
  832. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  833. package/components/Token/index/index.js.map +1 -1
  834. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +3 -3
  835. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  836. package/components/TokenInput/TokenInput/TokenInput.js +28 -17
  837. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  838. package/components/TokenInput/TokenInput.md +77 -77
  839. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  840. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  841. package/components/TokenInput/TokenInputReducer/TokenInputReducer.js.map +1 -1
  842. package/components/TokenInput/index/index.js.map +1 -1
  843. package/components/TokenInput/locale/index/index.js.map +1 -1
  844. package/components/TokenInput/locale/locales/en/en.js.map +1 -1
  845. package/components/TokenInput/locale/locales/ru/ru.js.map +1 -1
  846. package/components/Tooltip/Tooltip/Tooltip.js +8 -8
  847. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  848. package/components/Tooltip/Tooltip.md +301 -301
  849. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  850. package/components/Tooltip/index/index.js.map +1 -1
  851. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +7 -7
  852. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  853. package/components/TooltipMenu/TooltipMenu.md +115 -115
  854. package/components/TooltipMenu/index/index.js.map +1 -1
  855. package/components/TopBar/TopBar/TopBar.js +38 -38
  856. package/components/TopBar/TopBar/TopBar.js.map +1 -1
  857. package/components/TopBar/TopBar.md +111 -111
  858. package/components/TopBar/TopBar.styles/TopBar.styles.js.map +1 -1
  859. package/components/TopBar/TopBarButtonItem/TopBarButtonItem.js +4 -4
  860. package/components/TopBar/TopBarButtonItem/TopBarButtonItem.js.map +1 -1
  861. package/components/TopBar/TopBarDivider/TopBarDivider.js +4 -4
  862. package/components/TopBar/TopBarDivider/TopBarDivider.js.map +1 -1
  863. package/components/TopBar/TopBarDropdown/TopBarDropdown.js +4 -4
  864. package/components/TopBar/TopBarDropdown/TopBarDropdown.js.map +1 -1
  865. package/components/TopBar/TopBarEnd/TopBarEnd.js +4 -4
  866. package/components/TopBar/TopBarEnd/TopBarEnd.js.map +1 -1
  867. package/components/TopBar/TopBarItem/TopBarItem.js +4 -4
  868. package/components/TopBar/TopBarItem/TopBarItem.js.map +1 -1
  869. package/components/TopBar/TopBarLogout/TopBarLogout.js +4 -4
  870. package/components/TopBar/TopBarLogout/TopBarLogout.js.map +1 -1
  871. package/components/TopBar/TopBarOrganizations/TopBarOrganizations.js +4 -4
  872. package/components/TopBar/TopBarOrganizations/TopBarOrganizations.js.map +1 -1
  873. package/components/TopBar/TopBarStart/TopBarStart.js +4 -4
  874. package/components/TopBar/TopBarStart/TopBarStart.js.map +1 -1
  875. package/components/TopBar/TopBarUser/TopBarUser.js +6 -6
  876. package/components/TopBar/TopBarUser/TopBarUser.js.map +1 -1
  877. package/components/TopBar/index/index.js.map +1 -1
  878. package/components/TopBar/locale/index/index.js.map +1 -1
  879. package/components/TopBar/locale/locales/en/en.js.map +1 -1
  880. package/components/TopBar/locale/locales/ru/ru.js.map +1 -1
  881. package/index.js.map +1 -1
  882. package/internal/BGRuler/BGRuler.js +5 -5
  883. package/internal/BGRuler/BGRuler.js.map +1 -1
  884. package/internal/Calendar/Calendar/Calendar.js +3 -3
  885. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  886. package/internal/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  887. package/internal/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
  888. package/internal/Calendar/CalendarScrollEvents/CalendarScrollEvents.js.map +1 -1
  889. package/internal/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
  890. package/internal/Calendar/DayCellView/DayCellView.js.map +1 -1
  891. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  892. package/internal/Calendar/DayCellViewModel/DayCellViewModel.js.map +1 -1
  893. package/internal/Calendar/Month/Month.js.map +1 -1
  894. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  895. package/internal/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
  896. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  897. package/internal/Calendar/config/config.js.map +1 -1
  898. package/internal/Calendar/index/index.js.map +1 -1
  899. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  900. package/internal/CommonWrapper/index/index.js.map +1 -1
  901. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  902. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  903. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  904. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  905. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +10 -10
  906. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  907. package/internal/CustomComboBox/CustomComboBox.styles/CustomComboBox.styles.js.map +1 -1
  908. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  909. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
  910. package/internal/CustomComboBox/index/index.js.map +1 -1
  911. package/internal/CustomComboBox/locale/index/index.js.map +1 -1
  912. package/internal/CustomComboBox/locale/locales/en/en.js.map +1 -1
  913. package/internal/CustomComboBox/locale/locales/ru/ru.js.map +1 -1
  914. package/internal/DateSelect/DateSelect/DateSelect.js +2 -2
  915. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  916. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  917. package/internal/DateSelect/index/index.js.map +1 -1
  918. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  919. package/internal/DropdownContainer/index/index.js.map +1 -1
  920. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  921. package/internal/FocusTrap/index/index.js.map +1 -1
  922. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  923. package/internal/HideBodyVerticalScroll/index/index.js.map +1 -1
  924. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  925. package/internal/IgnoreLayerClick/index/index.js.map +1 -1
  926. package/internal/InputLikeText/HiddenInput/HiddenInput.js +4 -4
  927. package/internal/InputLikeText/HiddenInput/HiddenInput.js.map +1 -1
  928. package/internal/InputLikeText/InputLikeText/InputLikeText.js +6 -6
  929. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  930. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  931. package/internal/InputLikeText/index/index.js.map +1 -1
  932. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  933. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  934. package/internal/InternalMenu/index/index.js.map +1 -1
  935. package/internal/InternalMenu/isActiveElement/isActiveElement.js.map +1 -1
  936. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js +6 -6
  937. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  938. package/internal/MaskCharLowLine/MaskCharLowLine.styles/MaskCharLowLine.styles.js.map +1 -1
  939. package/internal/MaskCharLowLine/index/index.js.map +1 -1
  940. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  941. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +1 -1
  942. package/internal/MaskedInput/index/index.js.map +1 -1
  943. package/internal/Menu/Menu/Menu.js +10 -10
  944. package/internal/Menu/Menu/Menu.js.map +1 -1
  945. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  946. package/internal/Menu/index/index.js.map +1 -1
  947. package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
  948. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  949. package/internal/Popup/Popup/Popup.js +31 -31
  950. package/internal/Popup/Popup/Popup.js.map +1 -1
  951. package/internal/Popup/Popup.styles/Popup.styles.js.map +1 -1
  952. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  953. package/internal/Popup/PopupPin/PopupPin.js +16 -16
  954. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  955. package/internal/Popup/PopupPin.styles/PopupPin.styles.js.map +1 -1
  956. package/internal/Popup/index/index.js.map +1 -1
  957. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  958. package/internal/PopupMenu/PopupMenu.styles/PopupMenu.styles.js.map +1 -1
  959. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +1 -1
  960. package/internal/PopupMenu/index/index.js.map +1 -1
  961. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  962. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  963. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  964. package/internal/RenderContainer/index/index.js.map +1 -1
  965. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  966. package/internal/RenderLayer/index/index.js.map +1 -1
  967. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  968. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js.map +1 -1
  969. package/internal/ResizeDetector/index/index.js.map +1 -1
  970. package/internal/SpinnerOld/SpinnerOld/SpinnerOld.js +12 -12
  971. package/internal/SpinnerOld/SpinnerOld/SpinnerOld.js.map +1 -1
  972. package/internal/SpinnerOld/SpinnerOld.styles/SpinnerOld.styles.js.map +1 -1
  973. package/internal/SpinnerOld/SpinnerOldCloudIcon/SpinnerOldCloudIcon.js.map +1 -1
  974. package/internal/SpinnerOld/index/index.js.map +1 -1
  975. package/internal/SpinnerOld/locale/index/index.js.map +1 -1
  976. package/internal/SpinnerOld/locale/locales/en/en.js.map +1 -1
  977. package/internal/SpinnerOld/locale/locales/ru/ru.js.map +1 -1
  978. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
  979. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +1 -1
  980. package/internal/ThemePlayground/ComponentsGroup/ComponentsGroup.js.map +1 -1
  981. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +1 -1
  982. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
  983. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
  984. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +1 -1
  985. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  986. package/internal/ThemePlayground/Playground.md +7 -7
  987. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  988. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +1 -1
  989. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +1 -1
  990. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  991. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +1 -1
  992. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  993. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  994. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +1 -1
  995. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +1 -1
  996. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  997. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  998. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  999. package/internal/ThemePlayground/helpers/helpers.js.map +1 -1
  1000. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  1001. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js.map +1 -1
  1002. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  1003. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  1004. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  1005. package/internal/ZIndex/index/index.js.map +1 -1
  1006. package/internal/icons/16px/icon.styles/icon.styles.js.map +1 -1
  1007. package/internal/icons/16px/index/index.js.map +1 -1
  1008. package/internal/icons/20px/Icon/Icon.js +2 -2
  1009. package/internal/icons/20px/Icon/Icon.js.map +1 -1
  1010. package/internal/icons/20px/icon.styles/icon.styles.js.map +1 -1
  1011. package/internal/icons/20px/index/index.js.map +1 -1
  1012. package/internal/icons/20px/svg/svg.js.map +1 -1
  1013. package/internal/icons/CloudIcon/CloudIcon.js.map +1 -1
  1014. package/internal/icons/CrossIcon/CrossIcon.js.map +1 -1
  1015. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  1016. package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js.map +1 -1
  1017. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1018. package/internal/themes/FlatTheme/FlatTheme.js.map +1 -1
  1019. package/internal/themes/Theme8px/Theme8px.js.map +1 -1
  1020. package/lib/ConditionalHandler/ConditionalHandler.js +2 -2
  1021. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  1022. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  1023. package/lib/MockDate/MockDate.js.map +1 -1
  1024. package/lib/ModalStack/ModalStack.js +4 -4
  1025. package/lib/ModalStack/ModalStack.js.map +1 -1
  1026. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  1027. package/lib/Supports/Supports.js.map +1 -1
  1028. package/lib/Upgrades/Upgrades.js.map +1 -1
  1029. package/lib/animation/index/index.js.map +1 -1
  1030. package/lib/animation/presets/presets.js.map +1 -1
  1031. package/lib/animation/stepper/stepper.js.map +1 -1
  1032. package/lib/client/client.js.map +1 -1
  1033. package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
  1034. package/lib/currentEnvironment/currentEnvironment.js.map +1 -1
  1035. package/lib/date/InternalDate/InternalDate.js +3 -3
  1036. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  1037. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  1038. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  1039. package/lib/date/InternalDateSetter/InternalDateSetter.js.map +1 -1
  1040. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  1041. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  1042. package/lib/date/constants/constants.js.map +1 -1
  1043. package/lib/date/localeSets/localeSets.js.map +1 -1
  1044. package/lib/date/types/types.js.map +1 -1
  1045. package/lib/dom/getFocusableElements/getFocusableElements.js +33 -33
  1046. package/lib/dom/getFocusableElements/getFocusableElements.js.map +1 -1
  1047. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  1048. package/lib/events/MouseDrag/MouseDrag.js +26 -26
  1049. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  1050. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
  1051. package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
  1052. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  1053. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  1054. package/lib/events/stopPropagation/stopPropagation.js.map +1 -1
  1055. package/lib/events/tabListener/tabListener.js.map +1 -1
  1056. package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
  1057. package/lib/filterProps/filterProps.js.map +1 -1
  1058. package/lib/listenFocusOutside/listenFocusOutside.js +9 -9
  1059. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  1060. package/lib/locale/LOCALECONTEXT.md +246 -246
  1061. package/lib/locale/LocaleContext/LocaleContext.js.map +1 -1
  1062. package/lib/locale/LocaleHelper/LocaleHelper.js.map +1 -1
  1063. package/lib/locale/constants/constants.js.map +1 -1
  1064. package/lib/locale/decorators/decorators.js.map +1 -1
  1065. package/lib/locale/index/index.js.map +1 -1
  1066. package/lib/locale/types/types.js.map +1 -1
  1067. package/lib/memo/memo.js.map +1 -1
  1068. package/lib/net/fetch/fetch.js.map +1 -1
  1069. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +1 -1
  1070. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  1071. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  1072. package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
  1073. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  1074. package/lib/styles/ColorKeywords/ColorKeywords.js.map +1 -1
  1075. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  1076. package/lib/styles/DimensionFunctions/DimensionFunctions.js.map +1 -1
  1077. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js.map +1 -1
  1078. package/lib/styles/Mixins/Mixins.js.map +1 -1
  1079. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  1080. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1081. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  1082. package/lib/theming/ThemeContext.md +248 -248
  1083. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  1084. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  1085. package/lib/theming/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1086. package/lib/theming/themes/DefaultTheme8px/DefaultTheme8px.js.map +1 -1
  1087. package/lib/theming/themes/FlatTheme/FlatTheme.js.map +1 -1
  1088. package/lib/theming/themes/FlatTheme8px/FlatTheme8px.js.map +1 -1
  1089. package/lib/utils/utils.js +2 -2
  1090. package/lib/utils/utils.js.map +1 -1
  1091. package/package.json +2 -5
  1092. package/typings/console.d.ts +3 -3
  1093. package/typings/event-types.d.ts +4 -4
  1094. package/typings/fonts.d.ts +12 -12
  1095. package/typings/global.d.ts +6 -6
  1096. package/typings/images.d.ts +1 -1
  1097. package/typings/normalize-wheel.d.ts +5 -5
  1098. package/typings/stylis-plugin-extra-scope.d.ts +3 -3
  1099. package/typings/utility-types.d.ts +14 -14
@@ -1 +1 @@
1
- {"version":3,"sources":["ScrollContainer.styles.ts"],"names":["styles","root","css","inner","scroll","scrollHover","scrollInvert","jsStyles"],"mappings":"8QAAA,oD;;AAEA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IADa,kBACN;AACL,eAAOC,YAAP;;;;;AAKD,GAPY;;AASbC,EAAAA,KATa,mBASL;AACN,eAAOD,YAAP;;;;;;;;AAQD,GAlBY;;AAoBbE,EAAAA,MApBa,oBAoBJ;AACP,eAAOF,YAAP;;;;;;;;;;;;;;;;;;;AAmBD,GAxCY;;AA0CbG,EAAAA,WA1Ca,yBA0CC;AACZ,eAAOH,YAAP;;;AAGD,GA9CY;;AAgDbI,EAAAA,YAhDa,0BAgDE;AACb,eAAOJ,YAAP;;;;;;AAMD,GAvDY,EAAf;;;AA0DO,IAAMK,QAAQ,GAAG,2BAAaP,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\r\n\r\nconst styles = {\r\n root() {\r\n return css`\r\n height: 100%;\r\n overflow: hidden;\r\n position: relative;\r\n `;\r\n },\r\n\r\n inner() {\r\n return css`\r\n margin-bottom: -1px;\r\n max-height: 100%;\r\n\r\n /* IE sometimes enabled scroll: http://codepen.io/anon/pen/RRrLNX */\r\n padding-bottom: 1px;\r\n overflow-y: scroll;\r\n `;\r\n },\r\n\r\n scroll() {\r\n return css`\r\n position: absolute;\r\n right: 2px;\r\n transition: width 0.2s;\r\n width: 4px;\r\n z-index: 200;\r\n\r\n &::after {\r\n background: #b7b7b7;\r\n border-radius: 5px;\r\n bottom: 1px;\r\n content: '';\r\n display: block;\r\n left: 0;\r\n position: absolute;\r\n right: 0;\r\n top: 1px;\r\n }\r\n `;\r\n },\r\n\r\n scrollHover() {\r\n return css`\r\n width: 10px;\r\n `;\r\n },\r\n\r\n scrollInvert() {\r\n return css`\r\n &::after {\r\n background: #ccc;\r\n background: rgba(255, 255, 255, 0.5);\r\n }\r\n `;\r\n },\r\n};\r\n\r\nexport const jsStyles = memoizeStyle(styles);\r\n"]}
1
+ {"version":3,"sources":["ScrollContainer.styles.ts"],"names":["styles","root","css","inner","scroll","scrollHover","scrollInvert","jsStyles"],"mappings":"8QAAA,oD;;AAEA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IADa,kBACN;AACL,eAAOC,YAAP;;;;;AAKD,GAPY;;AASbC,EAAAA,KATa,mBASL;AACN,eAAOD,YAAP;;;;;;;;AAQD,GAlBY;;AAoBbE,EAAAA,MApBa,oBAoBJ;AACP,eAAOF,YAAP;;;;;;;;;;;;;;;;;;;AAmBD,GAxCY;;AA0CbG,EAAAA,WA1Ca,yBA0CC;AACZ,eAAOH,YAAP;;;AAGD,GA9CY;;AAgDbI,EAAAA,YAhDa,0BAgDE;AACb,eAAOJ,YAAP;;;;;;AAMD,GAvDY,EAAf;;;AA0DO,IAAMK,QAAQ,GAAG,2BAAaP,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nconst styles = {\n root() {\n return css`\n height: 100%;\n overflow: hidden;\n position: relative;\n `;\n },\n\n inner() {\n return css`\n margin-bottom: -1px;\n max-height: 100%;\n\n /* IE sometimes enabled scroll: http://codepen.io/anon/pen/RRrLNX */\n padding-bottom: 1px;\n overflow-y: scroll;\n `;\n },\n\n scroll() {\n return css`\n position: absolute;\n right: 2px;\n transition: width 0.2s;\n width: 4px;\n z-index: 200;\n\n &::after {\n background: #b7b7b7;\n border-radius: 5px;\n bottom: 1px;\n content: '';\n display: block;\n left: 0;\n position: absolute;\n right: 0;\n top: 1px;\n }\n `;\n },\n\n scrollHover() {\n return css`\n width: 10px;\n `;\n },\n\n scrollInvert() {\n return css`\n &::after {\n background: #ccc;\n background: rgba(255, 255, 255, 0.5);\n }\n `;\n },\n};\n\nexport const jsStyles = memoizeStyle(styles);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './ScrollContainer';\r\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './ScrollContainer';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["Item.tsx"],"names":["Item","render","props","children","React","Component","__KONTUR_REACT_UI__"],"mappings":"gPAAA;;AAEA,uC;;AAEaA,I;;;AAGJC,EAAAA,M,GAAP,kBAAgB;AACd,wBAAO,6BAAC,kBAAD,QAAW,KAAKC,KAAL,CAAWC,QAAtB,CAAP;AACD,G,eALuBC,eAAMC,S,sBAAnBL,I,CACGM,mB,GAAsB,Y","sourcesContent":["import React from 'react';\r\n\r\nimport { MenuItem } from '../MenuItem';\r\n\r\nexport class Item extends React.Component<{ children?: React.ReactNode }> {\r\n public static __KONTUR_REACT_UI__ = 'SelectItem';\r\n\r\n public render() {\r\n return <MenuItem>{this.props.children}</MenuItem>;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"sources":["Item.tsx"],"names":["Item","render","props","children","React","Component","__KONTUR_REACT_UI__"],"mappings":"gPAAA;;AAEA,uC;;AAEaA,I;;;AAGJC,EAAAA,M,GAAP,kBAAgB;AACd,wBAAO,6BAAC,kBAAD,QAAW,KAAKC,KAAL,CAAWC,QAAtB,CAAP;AACD,G,eALuBC,eAAMC,S,sBAAnBL,I,CACGM,mB,GAAsB,Y","sourcesContent":["import React from 'react';\n\nimport { MenuItem } from '../MenuItem';\n\nexport class Item extends React.Component<{ children?: React.ReactNode }> {\n public static __KONTUR_REACT_UI__ = 'SelectItem';\n\n public render() {\n return <MenuItem>{this.props.children}</MenuItem>;\n }\n}\n"]}
@@ -601,8 +601,8 @@ Select = (_dec = (0, _decorators.locale)('Select', _locale.SelectLocaleHelper),
601
601
  onBlur: _this.props.onBlur }) :
602
602
 
603
603
  buttonElement;
604
- };return _this;}var _proto = Select.prototype;_proto.componentDidUpdate = function componentDidUpdate(_prevProps, prevState) {if (!prevState.opened && this.state.opened) {window.addEventListener('popstate', this.close);}if (prevState.opened && !this.state.opened) {window.removeEventListener('popstate', this.close);}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: (0, _selectTheme.getSelectTheme)(theme, _this2.props) }, _this2.renderMain());});} /**
605
- * @public
604
+ };return _this;}var _proto = Select.prototype;_proto.componentDidUpdate = function componentDidUpdate(_prevProps, prevState) {if (!prevState.opened && this.state.opened) {window.addEventListener('popstate', this.close);}if (prevState.opened && !this.state.opened) {window.removeEventListener('popstate', this.close);}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: (0, _selectTheme.getSelectTheme)(theme, _this2.props) }, _this2.renderMain());});} /**
605
+ * @public
606
606
  */;_proto.renderMain = function renderMain() {var _this$renderLabel = this.renderLabel(),label = _this$renderLabel.label,isPlaceholder = _this$renderLabel.isPlaceholder;var buttonParams = { opened: this.state.opened, label: label, isPlaceholder: isPlaceholder, onClick: this.toggle, onKeyDown: this.handleKey };var style = { width: this.props.width, maxWidth: this.props.maxWidth || undefined };var button = this.getButton(buttonParams);return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.close, onFocusOutside: this.close, active: this.state.opened }, /*#__PURE__*/_react.default.createElement("span", { className: _Select.jsStyles.root(this.theme), style: style }, button, !this.props.disabled && this.state.opened && this.renderMenu())));};_proto.renderLabel = function renderLabel() {var value = this.getValue();var item = this.getItemByValue(value);if (item != null || value != null) {return { label: this.getProps().renderValue(value, item), isPlaceholder: false };}return { label: /*#__PURE__*/_react.default.createElement("span", null, this.props.placeholder || this.locale.placeholder), isPlaceholder: true };};_proto.renderDefaultButton = function renderDefaultButton(params) {var _cn, _cn2;if (this.props.diadocLinkIcon) {(0, _warning.default)(false, "diadocLinkIcon has been deprecated");return this.renderLinkButton(params);}var buttonProps = (0, _extends2.default)({}, (0, _filterProps.filterProps)(this.props, PASS_BUTTON_PROPS), { align: 'left', disabled: this.props.disabled, width: '100%', onClick: params.onClick, onKeyDown: params.onKeyDown, active: params.opened });if (this.props._icon) {Object.assign(buttonProps, { icon: this.props._icon, _noRightPadding: true });}var labelProps = { className: (0, _classnames.default)((_cn = {}, _cn[_Select.jsStyles.label()] = this.props.use !== 'link', _cn[_Select.jsStyles.placeholder(this.theme)] = params.isPlaceholder, _cn[_Select.jsStyles.customUsePlaceholder()] = params.isPlaceholder && this.props.use !== 'default', _cn)), style: { paddingRight: this.getLabelPaddingRight() } };var useIsCustom = this.props.use !== 'default';return /*#__PURE__*/_react.default.createElement(_Button.Button, buttonProps, /*#__PURE__*/_react.default.createElement("span", labelProps, /*#__PURE__*/_react.default.createElement("span", { className: _Select.jsStyles.labelText() }, params.label)), /*#__PURE__*/_react.default.createElement("div", { className: _Select.jsStyles.arrowWrap(), style: { right: this.getLegacyArrowShift() } }, /*#__PURE__*/_react.default.createElement("div", { className: (0, _classnames.default)(_Select.jsStyles.arrow(this.theme), (_cn2 = {}, _cn2[_Select.jsStyles.arrowDisabled(this.theme)] = this.props.disabled, _cn2[_Select.jsStyles.customUseArrow()] = useIsCustom, _cn2)) })));};_proto.getLabelPaddingRight = function getLabelPaddingRight() {var _this3 = this;var getArrowPadding = function getArrowPadding() {switch (_this3.props.size) {case 'large':return _this3.theme.selectPaddingArrowLarge;case 'medium':return _this3.theme.selectPaddingArrowMedium;case 'small':default:return _this3.theme.selectPaddingArrowSmall;}};var ARROW_WIDTH = 8;var arrowLeftPadding = parseFloat(getArrowPadding()) || 0;return ARROW_WIDTH + arrowLeftPadding + (this.props._icon ? 10 : 0) + this.getLegacyArrowShift();};_proto.getLegacyArrowShift = function getLegacyArrowShift() {var _this4 = this;var getSelectPadding = function getSelectPadding() {switch (_this4.props.size) {case 'large':return _this4.theme.selectPaddingXLarge;case 'medium':return _this4.theme.selectPaddingXMedium;case 'small':default:return _this4.theme.selectPaddingXSmall;}};var selectPadding = parseFloat(getSelectPadding()) || 0;return this.props.use === 'link' ? 10 : 1 + (this.props._icon ? selectPadding : 0);};_proto.renderLinkButton = function renderLinkButton(params) {var linkProps = { disabled: params.disabled, icon: this.props.diadocLinkIcon, _button: true, _buttonOpened: params.opened, onClick: params.onClick, onKeyDown: params.onKeyDown };return /*#__PURE__*/_react.default.createElement(_Link.Link, linkProps, params.label);};_proto.renderMenu = function renderMenu() {var _this5 = this;var search = this.props.search ? /*#__PURE__*/_react.default.createElement("div", { className: _Select.jsStyles.search() }, /*#__PURE__*/_react.default.createElement(_Input.Input, { ref: this.focusInput, onValueChange: this.handleSearch, width: "100%" })) : null;var value = this.getValue();return /*#__PURE__*/_react.default.createElement(_DropdownContainer.DropdownContainer, { getParent: this.dropdownContainerGetParent, offsetY: -1, align: this.props.menuAlign, disablePortal: this.props.disablePortal }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, { ref: this.refMenu, width: this.props.menuWidth, onItemClick: this.close, maxHeight: this.props.maxMenuHeight }, search, this.mapItems(function (iValue, item, i, comment) {if ((0, _utils.isFunction)(item)) {var element = item();if ( /*#__PURE__*/_react.default.isValidElement(element)) {return /*#__PURE__*/_react.default.cloneElement(element, { key: i });}return null;}if ( /*#__PURE__*/_react.default.isValidElement(item)) {return /*#__PURE__*/_react.default.cloneElement(item, { key: i });}return /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { key: i, state: _this5.getProps().areValuesEqual(iValue, value) ? 'selected' : null, onClick: _this5.select.bind(_this5, iValue), comment: comment }, _this5.getProps().renderItem(iValue, item));})));};_proto.select = function select(value) {this.focus();this.setState({ opened: false, value: value });if (this.props.onValueChange && !this.getProps().areValuesEqual(this.getValue(), value)) {this.props.onValueChange(value);}};_proto.getValue = function getValue() {if (this.props.value !== undefined) {return this.props.value;}return this.state.value;};_proto.mapItems = function mapItems(fn) {var items = this.props.items;if (!items) {return [];}var pattern = this.state.searchPattern && this.state.searchPattern.toLowerCase();var result = [];var index = 0;for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {var entry = _step.value;var _normalizeEntry = normalizeEntry(entry),_value = _normalizeEntry[0],_item = _normalizeEntry[1],_comment = _normalizeEntry[2];if (!pattern || this.getProps().filterItem(_value, _item, pattern)) {result.push(fn(_value, _item, index, _comment));++index;}}return result;};_proto.getItemByValue = function getItemByValue(value) {if (value === null || value === undefined) {return null;}var items = this.props.items || [];for (var _iterator2 = _createForOfIteratorHelperLoose(items), _step2; !(_step2 = _iterator2()).done;) {var entry = _step2.value;var _normalizeEntry2 = normalizeEntry(entry),itemValue = _normalizeEntry2[0],_item2 = _normalizeEntry2[1];if (this.getProps().areValuesEqual(itemValue, value)) {return _item2;}}return null;};return Select;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Select', _class2.propTypes = { areValuesEqual: _propTypes.default.func, defaultValue: _propTypes.default.any, disablePortal: _propTypes.default.bool, disabled: _propTypes.default.bool, error: _propTypes.default.bool, filterItem: _propTypes.default.func, items: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]), maxMenuHeight: _propTypes.default.number, maxWidth: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), placeholder: _propTypes.default.node, renderItem: _propTypes.default.func, renderValue: _propTypes.default.func, search: _propTypes.default.bool, value: _propTypes.default.any, width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), onValueChange: _propTypes.default.func, onMouseEnter: _propTypes.default.func, onMouseLeave: _propTypes.default.func, onMouseOver: _propTypes.default.func, onKeyDown: _propTypes.default.func }, _class2.defaultProps = { renderValue: renderValue, renderItem: renderItem, areValuesEqual: areValuesEqual, filterItem: filterItem, use: 'default' }, _class2.Item = _Item.Item, _class2.SEP = function () {return /*#__PURE__*/_react.default.createElement(_MenuSeparator.MenuSeparator, null);}, _class2.static = function (element) {(0, _invariant.default)( /*#__PURE__*/_react.default.isValidElement(element) || typeof element === 'function', 'Select.static(element) expects element to be a valid react element.');return element;}, _temp)) || _class);exports.Select = Select;
607
607
  function renderValue(value, item) {
608
608
  return item;
@@ -1 +1 @@
1
- {"version":3,"sources":["Select.tsx"],"names":["PASS_BUTTON_PROPS","disabled","error","use","size","warning","onMouseEnter","onMouseLeave","onMouseOver","Select","SelectLocaleHelper","state","opened","value","props","defaultValue","searchPattern","theme","locale","menu","buttonElement","getProps","defaultProps","open","setState","onOpen","close","onClose","focus","dropdownContainerGetParent","ReactDOM","findDOMNode","focusInput","input","setTimeout","refMenu","toggle","handleKey","e","preventDefault","up","down","enter","onKeyDown","handleSearch","buttonRef","element","getButton","buttonParams","button","_renderButton","renderDefaultButton","React","Children","only","isValidElement","cloneElement","ref","onFocus","onBlur","componentDidUpdate","_prevProps","prevState","window","addEventListener","removeEventListener","render","renderMain","renderLabel","label","isPlaceholder","onClick","style","width","maxWidth","undefined","jsStyles","root","renderMenu","getValue","item","getItemByValue","renderValue","placeholder","params","diadocLinkIcon","renderLinkButton","buttonProps","align","active","_icon","Object","assign","icon","_noRightPadding","labelProps","className","customUsePlaceholder","paddingRight","getLabelPaddingRight","useIsCustom","labelText","arrowWrap","right","getLegacyArrowShift","arrow","arrowDisabled","customUseArrow","getArrowPadding","selectPaddingArrowLarge","selectPaddingArrowMedium","selectPaddingArrowSmall","ARROW_WIDTH","arrowLeftPadding","parseFloat","getSelectPadding","selectPaddingXLarge","selectPaddingXMedium","selectPaddingXSmall","selectPadding","linkProps","_button","_buttonOpened","search","menuAlign","disablePortal","menuWidth","maxMenuHeight","mapItems","iValue","i","comment","key","areValuesEqual","select","bind","renderItem","onValueChange","fn","items","pattern","toLowerCase","result","index","entry","normalizeEntry","filterItem","push","itemValue","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","func","any","bool","oneOfType","array","object","number","string","node","Item","SEP","static","value1","value2","Array","isArray","toString","indexOf"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ReactDOM from 'react-dom';\r\nimport invariant from 'invariant';\r\nimport warning from 'warning';\r\nimport cn from 'classnames';\r\n\r\nimport {\r\n isKeyArrowDown,\r\n isKeyArrowUp,\r\n isKeyArrowVertical,\r\n isKeyEnter,\r\n isKeyEscape,\r\n isKeySpace,\r\n} from '../../lib/events/keyboard/identifiers';\r\nimport { locale } from '../../lib/locale/decorators';\r\nimport { reactGetTextContent } from '../../lib/reactGetTextContent';\r\nimport { Button, ButtonProps, ButtonSize, ButtonUse } from '../Button';\r\nimport { DropdownContainer } from '../../internal/DropdownContainer';\r\nimport { filterProps } from '../../lib/filterProps';\r\nimport { Input } from '../Input';\r\nimport { Link } from '../Link';\r\nimport { Menu } from '../../internal/Menu';\r\nimport { MenuItem } from '../MenuItem';\r\nimport { MenuSeparator } from '../MenuSeparator';\r\nimport { RenderLayer } from '../../internal/RenderLayer';\r\nimport { createPropsGetter } from '../../lib/createPropsGetter';\r\nimport { Nullable } from '../../typings/utility-types';\r\nimport { isFunction } from '../../lib/utils';\r\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\r\n\r\nimport { Item } from './Item';\r\nimport { SelectLocale, SelectLocaleHelper } from './locale';\r\nimport { jsStyles } from './Select.styles';\r\nimport { getSelectTheme } from './selectTheme';\r\n\r\nexport interface ButtonParams {\r\n disabled?: boolean;\r\n label: React.ReactNode;\r\n onClick: () => void;\r\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\r\n opened: boolean;\r\n isPlaceholder: boolean;\r\n}\r\n\r\nconst PASS_BUTTON_PROPS = {\r\n disabled: true,\r\n error: true,\r\n use: true,\r\n size: true,\r\n warning: true,\r\n\r\n onMouseEnter: true,\r\n onMouseLeave: true,\r\n onMouseOver: true,\r\n};\r\n\r\nexport interface SelectProps<TValue, TItem> extends CommonProps {\r\n /** @ignore */\r\n _icon?: React.ReactElement<any>;\r\n /** @ignore */\r\n _renderButton?: (params: ButtonParams) => React.ReactNode;\r\n defaultValue?: TValue;\r\n /** @deprecated @ignore */\r\n diadocLinkIcon?: React.ReactElement<any>;\r\n /**\r\n * Отключает использование портала\r\n */\r\n disablePortal?: boolean;\r\n disabled?: boolean;\r\n /**\r\n * Визуально показать наличие ошибки.\r\n */\r\n error?: boolean;\r\n filterItem?: (value: TValue, item: TItem, pattern: string) => boolean;\r\n /**\r\n * Набор значений. Поддерживаются любые перечисляемые типы, в том числе\r\n * `Array`, `Map`, `Immutable.Map`.\r\n *\r\n * Элементы воспринимаются следующим образом: если элемент — это массив, то\r\n * первый элемент является значением, второй — отображается в списке,\r\n * а третий – комментарий;\r\n * если элемент не является массивом, то он используется и для отображения,\r\n * и для значения.\r\n *\r\n * Для вставки разделителя можно использовать `Select.SEP`.\r\n *\r\n * Вставить невыделяемый элемент со своей разметкой можно так:\r\n * ```\r\n * <Select ...\r\n * items={[Select.static(() => <div>My Element</div>)]}\r\n * />\r\n * ```\r\n *\r\n * Чтобы добавить стандартный отступ для статического элемента:\r\n * ```\r\n * <Select.Item>My Element</Select.Item>\r\n * ```\r\n */\r\n items?: Array<[TValue, TItem, React.ReactNode?] | TItem | React.ReactElement | (() => React.ReactElement)>;\r\n maxMenuHeight?: number;\r\n maxWidth?: React.CSSProperties['maxWidth'];\r\n menuAlign?: 'left' | 'right';\r\n menuWidth?: React.CSSProperties['width'];\r\n onValueChange?: (value: TValue) => void;\r\n onClose?: () => void;\r\n onMouseEnter?: (e: React.MouseEvent<HTMLElement>) => void;\r\n onMouseLeave?: (e: React.MouseEvent<HTMLElement>) => void;\r\n onMouseOver?: (e: React.MouseEvent<HTMLElement>) => void;\r\n onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\r\n onOpen?: () => void;\r\n placeholder?: React.ReactNode;\r\n /**\r\n * Функция для отрисовки элемента в выпадающем списке. Аргументы — *value*,\r\n * *item*.\r\n */\r\n renderItem?: (value: TValue, item?: TItem) => React.ReactNode;\r\n /**\r\n * Функция для отрисовки выбранного элемента. Аргументы — *value*, *item*.\r\n */\r\n renderValue?: (value: TValue, item?: TItem) => React.ReactNode;\r\n /**\r\n * Функция для сравнения `value` с элементом из `items`\r\n */\r\n areValuesEqual?: (value1: TValue, value2: TValue) => boolean;\r\n /**\r\n * Показывать строку поиска в списке.\r\n */\r\n search?: boolean;\r\n value?: TValue;\r\n width?: number | string;\r\n warning?: boolean;\r\n use?: ButtonUse;\r\n size?: ButtonSize;\r\n onFocus?: React.FocusEventHandler<HTMLElement>;\r\n onBlur?: React.FocusEventHandler<HTMLElement>;\r\n}\r\n\r\nexport interface SelectState<TValue> {\r\n opened: boolean;\r\n searchPattern: string;\r\n value: Nullable<TValue>;\r\n}\r\n\r\ninterface FocusableReactElement extends React.ReactElement<any> {\r\n focus: (event?: any) => void;\r\n}\r\n\r\n@locale('Select', SelectLocaleHelper)\r\nexport class Select<TValue = {}, TItem = {}> extends React.Component<SelectProps<TValue, TItem>, SelectState<TValue>> {\r\n public static __KONTUR_REACT_UI__ = 'Select';\r\n\r\n public static propTypes = {\r\n areValuesEqual: PropTypes.func,\r\n defaultValue: PropTypes.any,\r\n disablePortal: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n error: PropTypes.bool,\r\n filterItem: PropTypes.func,\r\n items: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\r\n maxMenuHeight: PropTypes.number,\r\n maxWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n placeholder: PropTypes.node,\r\n renderItem: PropTypes.func,\r\n renderValue: PropTypes.func,\r\n search: PropTypes.bool,\r\n value: PropTypes.any,\r\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n onValueChange: PropTypes.func,\r\n onMouseEnter: PropTypes.func,\r\n onMouseLeave: PropTypes.func,\r\n onMouseOver: PropTypes.func,\r\n onKeyDown: PropTypes.func,\r\n };\r\n\r\n public static defaultProps = {\r\n renderValue,\r\n renderItem,\r\n areValuesEqual,\r\n filterItem,\r\n use: 'default',\r\n };\r\n\r\n public static Item = Item;\r\n public static SEP = () => <MenuSeparator />;\r\n\r\n public static static = (element: React.ReactElement | (() => React.ReactElement)) => {\r\n invariant(\r\n React.isValidElement(element) || typeof element === 'function',\r\n 'Select.static(element) expects element to be a valid react element.',\r\n );\r\n return element;\r\n };\r\n\r\n public state: SelectState<TValue> = {\r\n opened: false,\r\n value: this.props.defaultValue,\r\n searchPattern: '',\r\n };\r\n\r\n private theme!: Theme;\r\n private readonly locale!: SelectLocale;\r\n private menu: Nullable<Menu>;\r\n private buttonElement: FocusableReactElement | null = null;\r\n private getProps = createPropsGetter(Select.defaultProps);\r\n\r\n public componentDidUpdate(_prevProps: SelectProps<TValue, TItem>, prevState: SelectState<TValue>) {\r\n if (!prevState.opened && this.state.opened) {\r\n window.addEventListener('popstate', this.close);\r\n }\r\n if (prevState.opened && !this.state.opened) {\r\n window.removeEventListener('popstate', this.close);\r\n }\r\n }\r\n\r\n public render() {\r\n return (\r\n <ThemeContext.Consumer>\r\n {theme => {\r\n this.theme = theme;\r\n return (\r\n <ThemeContext.Provider value={getSelectTheme(theme, this.props)}>{this.renderMain()}</ThemeContext.Provider>\r\n );\r\n }}\r\n </ThemeContext.Consumer>\r\n );\r\n }\r\n\r\n /**\r\n * @public\r\n */\r\n public open = () => {\r\n if (!this.state.opened) {\r\n this.setState({ opened: true });\r\n\r\n if (this.props.onOpen) {\r\n this.props.onOpen();\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * @public\r\n */\r\n public close = () => {\r\n if (this.state.opened) {\r\n this.setState({ opened: false, searchPattern: '' });\r\n\r\n if (this.props.onClose) {\r\n this.props.onClose();\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * @public\r\n */\r\n public focus = () => {\r\n if (this.buttonElement && this.buttonElement.focus) {\r\n this.buttonElement.focus();\r\n }\r\n };\r\n\r\n private renderMain() {\r\n const { label, isPlaceholder } = this.renderLabel();\r\n\r\n const buttonParams: ButtonParams = {\r\n opened: this.state.opened,\r\n label,\r\n isPlaceholder,\r\n onClick: this.toggle,\r\n onKeyDown: this.handleKey,\r\n };\r\n\r\n const style = {\r\n width: this.props.width,\r\n maxWidth: this.props.maxWidth || undefined,\r\n };\r\n\r\n const button = this.getButton(buttonParams);\r\n\r\n return (\r\n <CommonWrapper {...this.props}>\r\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active={this.state.opened}>\r\n <span className={jsStyles.root(this.theme)} style={style}>\r\n {button}\r\n {!this.props.disabled && this.state.opened && this.renderMenu()}\r\n </span>\r\n </RenderLayer>\r\n </CommonWrapper>\r\n );\r\n }\r\n\r\n private renderLabel() {\r\n const value = this.getValue();\r\n const item = this.getItemByValue(value);\r\n\r\n if (item != null || value != null) {\r\n return {\r\n label: this.getProps().renderValue(value, item),\r\n isPlaceholder: false,\r\n };\r\n }\r\n\r\n return {\r\n label: <span>{this.props.placeholder || this.locale.placeholder}</span>,\r\n isPlaceholder: true,\r\n };\r\n }\r\n\r\n private renderDefaultButton(params: ButtonParams) {\r\n if (this.props.diadocLinkIcon) {\r\n warning(false, `diadocLinkIcon has been deprecated`);\r\n return this.renderLinkButton(params);\r\n }\r\n\r\n const buttonProps: ButtonProps = {\r\n ...filterProps(this.props, PASS_BUTTON_PROPS),\r\n align: 'left' as React.CSSProperties['textAlign'],\r\n disabled: this.props.disabled,\r\n width: '100%',\r\n onClick: params.onClick,\r\n onKeyDown: params.onKeyDown,\r\n active: params.opened,\r\n };\r\n\r\n if (this.props._icon) {\r\n Object.assign(buttonProps, {\r\n icon: this.props._icon,\r\n _noRightPadding: true,\r\n });\r\n }\r\n\r\n const labelProps = {\r\n className: cn({\r\n [jsStyles.label()]: this.props.use !== 'link',\r\n [jsStyles.placeholder(this.theme)]: params.isPlaceholder,\r\n [jsStyles.customUsePlaceholder()]: params.isPlaceholder && this.props.use !== 'default',\r\n }),\r\n style: {\r\n paddingRight: this.getLabelPaddingRight(),\r\n },\r\n };\r\n\r\n const useIsCustom = this.props.use !== 'default';\r\n\r\n return (\r\n <Button {...buttonProps}>\r\n <span {...labelProps}>\r\n <span className={jsStyles.labelText()}>{params.label}</span>\r\n </span>\r\n <div className={jsStyles.arrowWrap()} style={{ right: this.getLegacyArrowShift() }}>\r\n <div\r\n className={cn(jsStyles.arrow(this.theme), {\r\n [jsStyles.arrowDisabled(this.theme)]: this.props.disabled,\r\n [jsStyles.customUseArrow()]: useIsCustom,\r\n })}\r\n />\r\n </div>\r\n </Button>\r\n );\r\n }\r\n\r\n private getLabelPaddingRight(): number {\r\n const getArrowPadding = () => {\r\n switch (this.props.size) {\r\n case 'large':\r\n return this.theme.selectPaddingArrowLarge;\r\n case 'medium':\r\n return this.theme.selectPaddingArrowMedium;\r\n case 'small':\r\n default:\r\n return this.theme.selectPaddingArrowSmall;\r\n }\r\n };\r\n const ARROW_WIDTH = 8;\r\n const arrowLeftPadding = parseFloat(getArrowPadding()) || 0;\r\n\r\n return ARROW_WIDTH + arrowLeftPadding + (this.props._icon ? 10 : 0) + this.getLegacyArrowShift();\r\n }\r\n\r\n private getLegacyArrowShift(): number {\r\n const getSelectPadding = () => {\r\n switch (this.props.size) {\r\n case 'large':\r\n return this.theme.selectPaddingXLarge;\r\n case 'medium':\r\n return this.theme.selectPaddingXMedium;\r\n case 'small':\r\n default:\r\n return this.theme.selectPaddingXSmall;\r\n }\r\n };\r\n const selectPadding = parseFloat(getSelectPadding()) || 0;\r\n return this.props.use === 'link' ? 10 : 1 + (this.props._icon ? selectPadding : 0);\r\n }\r\n\r\n private renderLinkButton(params: ButtonParams): React.ReactNode {\r\n const linkProps = {\r\n disabled: params.disabled,\r\n icon: this.props.diadocLinkIcon,\r\n _button: true,\r\n _buttonOpened: params.opened,\r\n\r\n onClick: params.onClick,\r\n onKeyDown: params.onKeyDown,\r\n };\r\n\r\n return <Link {...linkProps}>{params.label}</Link>;\r\n }\r\n\r\n private renderMenu(): React.ReactNode {\r\n const search = this.props.search ? (\r\n <div className={jsStyles.search()}>\r\n <Input ref={this.focusInput} onValueChange={this.handleSearch} width=\"100%\" />\r\n </div>\r\n ) : null;\r\n\r\n const value = this.getValue();\r\n\r\n return (\r\n <DropdownContainer\r\n getParent={this.dropdownContainerGetParent}\r\n offsetY={-1}\r\n align={this.props.menuAlign}\r\n disablePortal={this.props.disablePortal}\r\n >\r\n <Menu\r\n ref={this.refMenu}\r\n width={this.props.menuWidth}\r\n onItemClick={this.close}\r\n maxHeight={this.props.maxMenuHeight}\r\n >\r\n {search}\r\n {this.mapItems(\r\n (iValue: TValue, item: TItem | (() => React.ReactNode), i: number, comment: Nullable<React.ReactNode>) => {\r\n if (isFunction(item)) {\r\n const element = item();\r\n\r\n if (React.isValidElement(element)) {\r\n return React.cloneElement(element, { key: i });\r\n }\r\n\r\n return null;\r\n }\r\n\r\n if (React.isValidElement(item)) {\r\n return React.cloneElement(item, { key: i });\r\n }\r\n\r\n return (\r\n <MenuItem\r\n key={i}\r\n state={this.getProps().areValuesEqual(iValue, value) ? 'selected' : null}\r\n onClick={this.select.bind(this, iValue)}\r\n comment={comment}\r\n >\r\n {this.getProps().renderItem(iValue, item)}\r\n </MenuItem>\r\n );\r\n },\r\n )}\r\n </Menu>\r\n </DropdownContainer>\r\n );\r\n }\r\n\r\n private dropdownContainerGetParent = () => {\r\n return ReactDOM.findDOMNode(this);\r\n };\r\n\r\n private focusInput = (input: Input) => {\r\n // fix cases when an Input is rendered in portal\r\n setTimeout(() => input?.focus(), 0);\r\n };\r\n\r\n private refMenu = (menu: Menu) => {\r\n this.menu = menu;\r\n };\r\n\r\n private toggle = () => {\r\n if (this.state.opened) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n };\r\n\r\n private handleKey = (e: React.KeyboardEvent<HTMLElement>) => {\r\n if (!this.state.opened) {\r\n if (isKeySpace(e) || isKeyArrowVertical(e)) {\r\n e.preventDefault();\r\n this.open();\r\n }\r\n } else {\r\n switch (true) {\r\n case isKeyEscape(e):\r\n this.focus();\r\n this.close();\r\n break;\r\n case isKeyArrowUp(e):\r\n e.preventDefault();\r\n if (this.menu) {\r\n this.menu.up();\r\n }\r\n break;\r\n case isKeyArrowDown(e):\r\n e.preventDefault();\r\n if (this.menu) {\r\n this.menu.down();\r\n }\r\n break;\r\n case isKeyEnter(e):\r\n e.preventDefault(); // To prevent form submission.\r\n if (this.menu) {\r\n this.menu.enter(e);\r\n }\r\n break;\r\n }\r\n }\r\n if (this.props.onKeyDown) {\r\n this.props.onKeyDown(e);\r\n }\r\n };\r\n\r\n private handleSearch = (value: string) => {\r\n this.setState({ searchPattern: value });\r\n };\r\n\r\n private select(value: TValue) {\r\n this.focus();\r\n this.setState({ opened: false, value });\r\n\r\n if (this.props.onValueChange && !this.getProps().areValuesEqual(this.getValue(), value)) {\r\n this.props.onValueChange(value);\r\n }\r\n }\r\n\r\n private getValue() {\r\n if (this.props.value !== undefined) {\r\n return this.props.value;\r\n }\r\n return this.state.value;\r\n }\r\n\r\n private mapItems(fn: (value: TValue, item: TItem, index: number, comment?: string) => React.ReactNode) {\r\n const { items } = this.props;\r\n if (!items) {\r\n return [];\r\n }\r\n const pattern = this.state.searchPattern && this.state.searchPattern.toLowerCase();\r\n\r\n const result: React.ReactNodeArray = [];\r\n let index = 0;\r\n for (const entry of items) {\r\n const [value, item, comment] = normalizeEntry(entry as TItem);\r\n\r\n if (!pattern || this.getProps().filterItem(value, item, pattern)) {\r\n result.push(fn(value, item, index, comment));\r\n ++index;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private getItemByValue(value?: Nullable<TValue>) {\r\n if (value === null || value === undefined) {\r\n return null;\r\n }\r\n\r\n const items = this.props.items || [];\r\n\r\n for (const entry of items) {\r\n const [itemValue, item] = normalizeEntry(entry);\r\n\r\n if (this.getProps().areValuesEqual(itemValue, value)) {\r\n return item;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n private buttonRef = (element: FocusableReactElement | null) => {\r\n this.buttonElement = element;\r\n };\r\n\r\n private getButton = (buttonParams: ButtonParams) => {\r\n const button = this.props._renderButton\r\n ? this.props._renderButton(buttonParams)\r\n : this.renderDefaultButton(buttonParams);\r\n\r\n const buttonElement = React.Children.only(button);\r\n\r\n return React.isValidElement(buttonElement)\r\n ? React.cloneElement(buttonElement as React.ReactElement, {\r\n ref: this.buttonRef,\r\n onFocus: this.props.onFocus,\r\n onBlur: this.props.onBlur,\r\n })\r\n : buttonElement;\r\n };\r\n}\r\n\r\nfunction renderValue(value: any, item: any) {\r\n return item;\r\n}\r\n\r\nfunction renderItem(value: any, item: any) {\r\n return item;\r\n}\r\n\r\nfunction areValuesEqual(value1: any, value2: any) {\r\n return value1 === value2;\r\n}\r\n\r\nfunction normalizeEntry(entry: any) {\r\n if (Array.isArray(entry)) {\r\n return entry;\r\n } else {\r\n return [entry, entry, undefined];\r\n }\r\n}\r\n\r\nfunction filterItem(value: any, item: any, pattern: string) {\r\n if (item === Select.SEP) {\r\n return false;\r\n }\r\n if (React.isValidElement(item) || (isFunction(item) && React.isValidElement((item = item())))) {\r\n item = reactGetTextContent(item);\r\n }\r\n if (typeof item === 'number') {\r\n item = item.toString(10);\r\n }\r\n if (typeof item !== 'string') {\r\n return false;\r\n }\r\n return item.toLowerCase().indexOf(pattern) !== -1;\r\n}\r\n"]}
1
+ {"version":3,"sources":["Select.tsx"],"names":["PASS_BUTTON_PROPS","disabled","error","use","size","warning","onMouseEnter","onMouseLeave","onMouseOver","Select","SelectLocaleHelper","state","opened","value","props","defaultValue","searchPattern","theme","locale","menu","buttonElement","getProps","defaultProps","open","setState","onOpen","close","onClose","focus","dropdownContainerGetParent","ReactDOM","findDOMNode","focusInput","input","setTimeout","refMenu","toggle","handleKey","e","preventDefault","up","down","enter","onKeyDown","handleSearch","buttonRef","element","getButton","buttonParams","button","_renderButton","renderDefaultButton","React","Children","only","isValidElement","cloneElement","ref","onFocus","onBlur","componentDidUpdate","_prevProps","prevState","window","addEventListener","removeEventListener","render","renderMain","renderLabel","label","isPlaceholder","onClick","style","width","maxWidth","undefined","jsStyles","root","renderMenu","getValue","item","getItemByValue","renderValue","placeholder","params","diadocLinkIcon","renderLinkButton","buttonProps","align","active","_icon","Object","assign","icon","_noRightPadding","labelProps","className","customUsePlaceholder","paddingRight","getLabelPaddingRight","useIsCustom","labelText","arrowWrap","right","getLegacyArrowShift","arrow","arrowDisabled","customUseArrow","getArrowPadding","selectPaddingArrowLarge","selectPaddingArrowMedium","selectPaddingArrowSmall","ARROW_WIDTH","arrowLeftPadding","parseFloat","getSelectPadding","selectPaddingXLarge","selectPaddingXMedium","selectPaddingXSmall","selectPadding","linkProps","_button","_buttonOpened","search","menuAlign","disablePortal","menuWidth","maxMenuHeight","mapItems","iValue","i","comment","key","areValuesEqual","select","bind","renderItem","onValueChange","fn","items","pattern","toLowerCase","result","index","entry","normalizeEntry","filterItem","push","itemValue","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","func","any","bool","oneOfType","array","object","number","string","node","Item","SEP","static","value1","value2","Array","isArray","toString","indexOf"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport invariant from 'invariant';\nimport warning from 'warning';\nimport cn from 'classnames';\n\nimport {\n isKeyArrowDown,\n isKeyArrowUp,\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n} from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport { reactGetTextContent } from '../../lib/reactGetTextContent';\nimport { Button, ButtonProps, ButtonSize, ButtonUse } from '../Button';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { filterProps } from '../../lib/filterProps';\nimport { Input } from '../Input';\nimport { Link } from '../Link';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { MenuSeparator } from '../MenuSeparator';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { isFunction } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { Item } from './Item';\nimport { SelectLocale, SelectLocaleHelper } from './locale';\nimport { jsStyles } from './Select.styles';\nimport { getSelectTheme } from './selectTheme';\n\nexport interface ButtonParams {\n disabled?: boolean;\n label: React.ReactNode;\n onClick: () => void;\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n opened: boolean;\n isPlaceholder: boolean;\n}\n\nconst PASS_BUTTON_PROPS = {\n disabled: true,\n error: true,\n use: true,\n size: true,\n warning: true,\n\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseOver: true,\n};\n\nexport interface SelectProps<TValue, TItem> extends CommonProps {\n /** @ignore */\n _icon?: React.ReactElement<any>;\n /** @ignore */\n _renderButton?: (params: ButtonParams) => React.ReactNode;\n defaultValue?: TValue;\n /** @deprecated @ignore */\n diadocLinkIcon?: React.ReactElement<any>;\n /**\n * Отключает использование портала\n */\n disablePortal?: boolean;\n disabled?: boolean;\n /**\n * Визуально показать наличие ошибки.\n */\n error?: boolean;\n filterItem?: (value: TValue, item: TItem, pattern: string) => boolean;\n /**\n * Набор значений. Поддерживаются любые перечисляемые типы, в том числе\n * `Array`, `Map`, `Immutable.Map`.\n *\n * Элементы воспринимаются следующим образом: если элемент — это массив, то\n * первый элемент является значением, второй — отображается в списке,\n * а третий – комментарий;\n * если элемент не является массивом, то он используется и для отображения,\n * и для значения.\n *\n * Для вставки разделителя можно использовать `Select.SEP`.\n *\n * Вставить невыделяемый элемент со своей разметкой можно так:\n * ```\n * <Select ...\n * items={[Select.static(() => <div>My Element</div>)]}\n * />\n * ```\n *\n * Чтобы добавить стандартный отступ для статического элемента:\n * ```\n * <Select.Item>My Element</Select.Item>\n * ```\n */\n items?: Array<[TValue, TItem, React.ReactNode?] | TItem | React.ReactElement | (() => React.ReactElement)>;\n maxMenuHeight?: number;\n maxWidth?: React.CSSProperties['maxWidth'];\n menuAlign?: 'left' | 'right';\n menuWidth?: React.CSSProperties['width'];\n onValueChange?: (value: TValue) => void;\n onClose?: () => void;\n onMouseEnter?: (e: React.MouseEvent<HTMLElement>) => void;\n onMouseLeave?: (e: React.MouseEvent<HTMLElement>) => void;\n onMouseOver?: (e: React.MouseEvent<HTMLElement>) => void;\n onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n onOpen?: () => void;\n placeholder?: React.ReactNode;\n /**\n * Функция для отрисовки элемента в выпадающем списке. Аргументы — *value*,\n * *item*.\n */\n renderItem?: (value: TValue, item?: TItem) => React.ReactNode;\n /**\n * Функция для отрисовки выбранного элемента. Аргументы — *value*, *item*.\n */\n renderValue?: (value: TValue, item?: TItem) => React.ReactNode;\n /**\n * Функция для сравнения `value` с элементом из `items`\n */\n areValuesEqual?: (value1: TValue, value2: TValue) => boolean;\n /**\n * Показывать строку поиска в списке.\n */\n search?: boolean;\n value?: TValue;\n width?: number | string;\n warning?: boolean;\n use?: ButtonUse;\n size?: ButtonSize;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n}\n\nexport interface SelectState<TValue> {\n opened: boolean;\n searchPattern: string;\n value: Nullable<TValue>;\n}\n\ninterface FocusableReactElement extends React.ReactElement<any> {\n focus: (event?: any) => void;\n}\n\n@locale('Select', SelectLocaleHelper)\nexport class Select<TValue = {}, TItem = {}> extends React.Component<SelectProps<TValue, TItem>, SelectState<TValue>> {\n public static __KONTUR_REACT_UI__ = 'Select';\n\n public static propTypes = {\n areValuesEqual: PropTypes.func,\n defaultValue: PropTypes.any,\n disablePortal: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n filterItem: PropTypes.func,\n items: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n maxMenuHeight: PropTypes.number,\n maxWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n placeholder: PropTypes.node,\n renderItem: PropTypes.func,\n renderValue: PropTypes.func,\n search: PropTypes.bool,\n value: PropTypes.any,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n onValueChange: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onKeyDown: PropTypes.func,\n };\n\n public static defaultProps = {\n renderValue,\n renderItem,\n areValuesEqual,\n filterItem,\n use: 'default',\n };\n\n public static Item = Item;\n public static SEP = () => <MenuSeparator />;\n\n public static static = (element: React.ReactElement | (() => React.ReactElement)) => {\n invariant(\n React.isValidElement(element) || typeof element === 'function',\n 'Select.static(element) expects element to be a valid react element.',\n );\n return element;\n };\n\n public state: SelectState<TValue> = {\n opened: false,\n value: this.props.defaultValue,\n searchPattern: '',\n };\n\n private theme!: Theme;\n private readonly locale!: SelectLocale;\n private menu: Nullable<Menu>;\n private buttonElement: FocusableReactElement | null = null;\n private getProps = createPropsGetter(Select.defaultProps);\n\n public componentDidUpdate(_prevProps: SelectProps<TValue, TItem>, prevState: SelectState<TValue>) {\n if (!prevState.opened && this.state.opened) {\n window.addEventListener('popstate', this.close);\n }\n if (prevState.opened && !this.state.opened) {\n window.removeEventListener('popstate', this.close);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {theme => {\n this.theme = theme;\n return (\n <ThemeContext.Provider value={getSelectTheme(theme, this.props)}>{this.renderMain()}</ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public open = () => {\n if (!this.state.opened) {\n this.setState({ opened: true });\n\n if (this.props.onOpen) {\n this.props.onOpen();\n }\n }\n };\n\n /**\n * @public\n */\n public close = () => {\n if (this.state.opened) {\n this.setState({ opened: false, searchPattern: '' });\n\n if (this.props.onClose) {\n this.props.onClose();\n }\n }\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.buttonElement && this.buttonElement.focus) {\n this.buttonElement.focus();\n }\n };\n\n private renderMain() {\n const { label, isPlaceholder } = this.renderLabel();\n\n const buttonParams: ButtonParams = {\n opened: this.state.opened,\n label,\n isPlaceholder,\n onClick: this.toggle,\n onKeyDown: this.handleKey,\n };\n\n const style = {\n width: this.props.width,\n maxWidth: this.props.maxWidth || undefined,\n };\n\n const button = this.getButton(buttonParams);\n\n return (\n <CommonWrapper {...this.props}>\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active={this.state.opened}>\n <span className={jsStyles.root(this.theme)} style={style}>\n {button}\n {!this.props.disabled && this.state.opened && this.renderMenu()}\n </span>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private renderLabel() {\n const value = this.getValue();\n const item = this.getItemByValue(value);\n\n if (item != null || value != null) {\n return {\n label: this.getProps().renderValue(value, item),\n isPlaceholder: false,\n };\n }\n\n return {\n label: <span>{this.props.placeholder || this.locale.placeholder}</span>,\n isPlaceholder: true,\n };\n }\n\n private renderDefaultButton(params: ButtonParams) {\n if (this.props.diadocLinkIcon) {\n warning(false, `diadocLinkIcon has been deprecated`);\n return this.renderLinkButton(params);\n }\n\n const buttonProps: ButtonProps = {\n ...filterProps(this.props, PASS_BUTTON_PROPS),\n align: 'left' as React.CSSProperties['textAlign'],\n disabled: this.props.disabled,\n width: '100%',\n onClick: params.onClick,\n onKeyDown: params.onKeyDown,\n active: params.opened,\n };\n\n if (this.props._icon) {\n Object.assign(buttonProps, {\n icon: this.props._icon,\n _noRightPadding: true,\n });\n }\n\n const labelProps = {\n className: cn({\n [jsStyles.label()]: this.props.use !== 'link',\n [jsStyles.placeholder(this.theme)]: params.isPlaceholder,\n [jsStyles.customUsePlaceholder()]: params.isPlaceholder && this.props.use !== 'default',\n }),\n style: {\n paddingRight: this.getLabelPaddingRight(),\n },\n };\n\n const useIsCustom = this.props.use !== 'default';\n\n return (\n <Button {...buttonProps}>\n <span {...labelProps}>\n <span className={jsStyles.labelText()}>{params.label}</span>\n </span>\n <div className={jsStyles.arrowWrap()} style={{ right: this.getLegacyArrowShift() }}>\n <div\n className={cn(jsStyles.arrow(this.theme), {\n [jsStyles.arrowDisabled(this.theme)]: this.props.disabled,\n [jsStyles.customUseArrow()]: useIsCustom,\n })}\n />\n </div>\n </Button>\n );\n }\n\n private getLabelPaddingRight(): number {\n const getArrowPadding = () => {\n switch (this.props.size) {\n case 'large':\n return this.theme.selectPaddingArrowLarge;\n case 'medium':\n return this.theme.selectPaddingArrowMedium;\n case 'small':\n default:\n return this.theme.selectPaddingArrowSmall;\n }\n };\n const ARROW_WIDTH = 8;\n const arrowLeftPadding = parseFloat(getArrowPadding()) || 0;\n\n return ARROW_WIDTH + arrowLeftPadding + (this.props._icon ? 10 : 0) + this.getLegacyArrowShift();\n }\n\n private getLegacyArrowShift(): number {\n const getSelectPadding = () => {\n switch (this.props.size) {\n case 'large':\n return this.theme.selectPaddingXLarge;\n case 'medium':\n return this.theme.selectPaddingXMedium;\n case 'small':\n default:\n return this.theme.selectPaddingXSmall;\n }\n };\n const selectPadding = parseFloat(getSelectPadding()) || 0;\n return this.props.use === 'link' ? 10 : 1 + (this.props._icon ? selectPadding : 0);\n }\n\n private renderLinkButton(params: ButtonParams): React.ReactNode {\n const linkProps = {\n disabled: params.disabled,\n icon: this.props.diadocLinkIcon,\n _button: true,\n _buttonOpened: params.opened,\n\n onClick: params.onClick,\n onKeyDown: params.onKeyDown,\n };\n\n return <Link {...linkProps}>{params.label}</Link>;\n }\n\n private renderMenu(): React.ReactNode {\n const search = this.props.search ? (\n <div className={jsStyles.search()}>\n <Input ref={this.focusInput} onValueChange={this.handleSearch} width=\"100%\" />\n </div>\n ) : null;\n\n const value = this.getValue();\n\n return (\n <DropdownContainer\n getParent={this.dropdownContainerGetParent}\n offsetY={-1}\n align={this.props.menuAlign}\n disablePortal={this.props.disablePortal}\n >\n <Menu\n ref={this.refMenu}\n width={this.props.menuWidth}\n onItemClick={this.close}\n maxHeight={this.props.maxMenuHeight}\n >\n {search}\n {this.mapItems(\n (iValue: TValue, item: TItem | (() => React.ReactNode), i: number, comment: Nullable<React.ReactNode>) => {\n if (isFunction(item)) {\n const element = item();\n\n if (React.isValidElement(element)) {\n return React.cloneElement(element, { key: i });\n }\n\n return null;\n }\n\n if (React.isValidElement(item)) {\n return React.cloneElement(item, { key: i });\n }\n\n return (\n <MenuItem\n key={i}\n state={this.getProps().areValuesEqual(iValue, value) ? 'selected' : null}\n onClick={this.select.bind(this, iValue)}\n comment={comment}\n >\n {this.getProps().renderItem(iValue, item)}\n </MenuItem>\n );\n },\n )}\n </Menu>\n </DropdownContainer>\n );\n }\n\n private dropdownContainerGetParent = () => {\n return ReactDOM.findDOMNode(this);\n };\n\n private focusInput = (input: Input) => {\n // fix cases when an Input is rendered in portal\n setTimeout(() => input?.focus(), 0);\n };\n\n private refMenu = (menu: Menu) => {\n this.menu = menu;\n };\n\n private toggle = () => {\n if (this.state.opened) {\n this.close();\n } else {\n this.open();\n }\n };\n\n private handleKey = (e: React.KeyboardEvent<HTMLElement>) => {\n if (!this.state.opened) {\n if (isKeySpace(e) || isKeyArrowVertical(e)) {\n e.preventDefault();\n this.open();\n }\n } else {\n switch (true) {\n case isKeyEscape(e):\n this.focus();\n this.close();\n break;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n break;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n break;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n break;\n }\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleSearch = (value: string) => {\n this.setState({ searchPattern: value });\n };\n\n private select(value: TValue) {\n this.focus();\n this.setState({ opened: false, value });\n\n if (this.props.onValueChange && !this.getProps().areValuesEqual(this.getValue(), value)) {\n this.props.onValueChange(value);\n }\n }\n\n private getValue() {\n if (this.props.value !== undefined) {\n return this.props.value;\n }\n return this.state.value;\n }\n\n private mapItems(fn: (value: TValue, item: TItem, index: number, comment?: string) => React.ReactNode) {\n const { items } = this.props;\n if (!items) {\n return [];\n }\n const pattern = this.state.searchPattern && this.state.searchPattern.toLowerCase();\n\n const result: React.ReactNodeArray = [];\n let index = 0;\n for (const entry of items) {\n const [value, item, comment] = normalizeEntry(entry as TItem);\n\n if (!pattern || this.getProps().filterItem(value, item, pattern)) {\n result.push(fn(value, item, index, comment));\n ++index;\n }\n }\n\n return result;\n }\n\n private getItemByValue(value?: Nullable<TValue>) {\n if (value === null || value === undefined) {\n return null;\n }\n\n const items = this.props.items || [];\n\n for (const entry of items) {\n const [itemValue, item] = normalizeEntry(entry);\n\n if (this.getProps().areValuesEqual(itemValue, value)) {\n return item;\n }\n }\n return null;\n }\n\n private buttonRef = (element: FocusableReactElement | null) => {\n this.buttonElement = element;\n };\n\n private getButton = (buttonParams: ButtonParams) => {\n const button = this.props._renderButton\n ? this.props._renderButton(buttonParams)\n : this.renderDefaultButton(buttonParams);\n\n const buttonElement = React.Children.only(button);\n\n return React.isValidElement(buttonElement)\n ? React.cloneElement(buttonElement as React.ReactElement, {\n ref: this.buttonRef,\n onFocus: this.props.onFocus,\n onBlur: this.props.onBlur,\n })\n : buttonElement;\n };\n}\n\nfunction renderValue(value: any, item: any) {\n return item;\n}\n\nfunction renderItem(value: any, item: any) {\n return item;\n}\n\nfunction areValuesEqual(value1: any, value2: any) {\n return value1 === value2;\n}\n\nfunction normalizeEntry(entry: any) {\n if (Array.isArray(entry)) {\n return entry;\n } else {\n return [entry, entry, undefined];\n }\n}\n\nfunction filterItem(value: any, item: any, pattern: string) {\n if (item === Select.SEP) {\n return false;\n }\n if (React.isValidElement(item) || (isFunction(item) && React.isValidElement((item = item())))) {\n item = reactGetTextContent(item);\n }\n if (typeof item === 'number') {\n item = item.toString(10);\n }\n if (typeof item !== 'string') {\n return false;\n }\n return item.toLowerCase().indexOf(pattern) !== -1;\n}\n"]}
@@ -1,23 +1,23 @@
1
- ```jsx harmony
2
- let items = [Select.static(() => <Select.Item>Not selectable</Select.Item>), 'One', 'Two', 'Three', Select.SEP, 'Four'];
3
-
4
- let initialState = {};
5
-
6
- <Select items={items} value={state.value} onValueChange={value => setState({ value })} />;
7
- ```
8
-
9
- #### Локали по умолчанию (см. `LocaleProvider`)
10
-
11
- ```typescript
12
- interface SelectLocale {
13
- placeholder?: React.ReactNode;
14
- }
15
-
16
- const ru_RU = {
17
- placeholder: 'Ничего не выбрано',
18
- };
19
-
20
- const en_GB = {
21
- placeholder: 'Nothing selected',
22
- };
23
- ```
1
+ ```jsx harmony
2
+ let items = [Select.static(() => <Select.Item>Not selectable</Select.Item>), 'One', 'Two', 'Three', Select.SEP, 'Four'];
3
+
4
+ let initialState = {};
5
+
6
+ <Select items={items} value={state.value} onValueChange={value => setState({ value })} />;
7
+ ```
8
+
9
+ #### Локали по умолчанию (см. `LocaleProvider`)
10
+
11
+ ```typescript
12
+ interface SelectLocale {
13
+ placeholder?: React.ReactNode;
14
+ }
15
+
16
+ const ru_RU = {
17
+ placeholder: 'Ничего не выбрано',
18
+ };
19
+
20
+ const en_GB = {
21
+ placeholder: 'Nothing selected',
22
+ };
23
+ ```
@@ -1 +1 @@
1
- {"version":3,"sources":["Select.styles.ts"],"names":["styles","root","t","css","placeholder","selectPlaceholderColor","customUsePlaceholder","arrow","selectMenuArrowColor","arrowWrap","arrowDisabled","selectMenuArrowColorDisabled","customUseArrow","label","labelText","search","jsStyles"],"mappings":"8QAAA,oD;;;AAGA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IADa,gBACRC,CADQ,EACE;AACb,eAAOC,YAAP;;;;AAID,GANY;;AAQbC,EAAAA,WARa,uBAQDF,CARC,EAQS;AACpB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACG,sBADb;;;AAID,GAbY;;AAebC,EAAAA,oBAfa,kCAeU;AACrB,eAAOH,YAAP;;;;AAID,GApBY;;AAsBbI,EAAAA,KAtBa,iBAsBPL,CAtBO,EAsBG;AACd,eAAOC,YAAP;;;AAGsBD,IAAAA,CAAC,CAACM,oBAHxB;;;;;;AASD,GAhCY;;AAkCbC,EAAAA,SAlCa,uBAkCD;AACV,eAAON,YAAP;;;;;;;;;;;;;AAaD,GAhDY;;AAkDbO,EAAAA,aAlDa,yBAkDCR,CAlDD,EAkDW;AACtB,eAAOC,YAAP;AACsBD,IAAAA,CAAC,CAACS,4BADxB;;AAGD,GAtDY;;AAwDbC,EAAAA,cAxDa,4BAwDI;AACf,eAAOT,YAAP;;;;;AAKD,GA9DY;;AAgEbU,EAAAA,KAhEa,mBAgEL;AACN,eAAOV,YAAP;;;;;;;AAOD,GAxEY;;AA0EbW,EAAAA,SA1Ea,uBA0ED;AACV,eAAOX,YAAP;;;;;;;;AAQD,GAnFY;;AAqFbY,EAAAA,MArFa,oBAqFJ;AACP,eAAOZ,YAAP;;;AAGD,GAzFY,EAAf;;;AA4FO,IAAMa,QAAQ,GAAG,2BAAahB,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\r\nimport { Theme } from '../../lib/theming/Theme';\r\n\r\nconst styles = {\r\n root(t: Theme) {\r\n return css`\r\n display: inline-block;\r\n position: relative;\r\n `;\r\n },\r\n\r\n placeholder(t: Theme) {\r\n return css`\r\n color: ${t.selectPlaceholderColor};\r\n text-overflow: ellipsis;\r\n `;\r\n },\r\n\r\n customUsePlaceholder() {\r\n return css`\r\n color: inherit;\r\n opacity: 0.7;\r\n `;\r\n },\r\n\r\n arrow(t: Theme) {\r\n return css`\r\n border: 4px solid transparent;\r\n border-bottom-width: 0;\r\n border-top-color: ${t.selectMenuArrowColor};\r\n\r\n display: inline-block;\r\n margin-bottom: 3px;\r\n vertical-align: middle;\r\n `;\r\n },\r\n\r\n arrowWrap() {\r\n return css`\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n\r\n &::before {\r\n content: '';\r\n display: inline-block;\r\n height: 100%;\r\n vertical-align: middle;\r\n }\r\n `;\r\n },\r\n\r\n arrowDisabled(t: Theme) {\r\n return css`\r\n border-top-color: ${t.selectMenuArrowColorDisabled};\r\n `;\r\n },\r\n\r\n customUseArrow() {\r\n return css`\r\n border-top-color: inherit;\r\n color: inherit;\r\n opacity: 0.7;\r\n `;\r\n },\r\n\r\n label() {\r\n return css`\r\n box-sizing: border-box;\r\n display: inline-block;\r\n max-width: 100%;\r\n width: auto;\r\n position: relative;\r\n `;\r\n },\r\n\r\n labelText() {\r\n return css`\r\n display: inline-block;\r\n max-width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n vertical-align: top;\r\n white-space: nowrap;\r\n `;\r\n },\r\n\r\n search() {\r\n return css`\r\n margin: 1px 4px 4px;\r\n `;\r\n },\r\n};\r\n\r\nexport const jsStyles = memoizeStyle(styles);\r\n"]}
1
+ {"version":3,"sources":["Select.styles.ts"],"names":["styles","root","t","css","placeholder","selectPlaceholderColor","customUsePlaceholder","arrow","selectMenuArrowColor","arrowWrap","arrowDisabled","selectMenuArrowColorDisabled","customUseArrow","label","labelText","search","jsStyles"],"mappings":"8QAAA,oD;;;AAGA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IADa,gBACRC,CADQ,EACE;AACb,eAAOC,YAAP;;;;AAID,GANY;;AAQbC,EAAAA,WARa,uBAQDF,CARC,EAQS;AACpB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACG,sBADb;;;AAID,GAbY;;AAebC,EAAAA,oBAfa,kCAeU;AACrB,eAAOH,YAAP;;;;AAID,GApBY;;AAsBbI,EAAAA,KAtBa,iBAsBPL,CAtBO,EAsBG;AACd,eAAOC,YAAP;;;AAGsBD,IAAAA,CAAC,CAACM,oBAHxB;;;;;;AASD,GAhCY;;AAkCbC,EAAAA,SAlCa,uBAkCD;AACV,eAAON,YAAP;;;;;;;;;;;;;AAaD,GAhDY;;AAkDbO,EAAAA,aAlDa,yBAkDCR,CAlDD,EAkDW;AACtB,eAAOC,YAAP;AACsBD,IAAAA,CAAC,CAACS,4BADxB;;AAGD,GAtDY;;AAwDbC,EAAAA,cAxDa,4BAwDI;AACf,eAAOT,YAAP;;;;;AAKD,GA9DY;;AAgEbU,EAAAA,KAhEa,mBAgEL;AACN,eAAOV,YAAP;;;;;;;AAOD,GAxEY;;AA0EbW,EAAAA,SA1Ea,uBA0ED;AACV,eAAOX,YAAP;;;;;;;;AAQD,GAnFY;;AAqFbY,EAAAA,MArFa,oBAqFJ;AACP,eAAOZ,YAAP;;;AAGD,GAzFY,EAAf;;;AA4FO,IAAMa,QAAQ,GAAG,2BAAahB,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nconst styles = {\n root(t: Theme) {\n return css`\n display: inline-block;\n position: relative;\n `;\n },\n\n placeholder(t: Theme) {\n return css`\n color: ${t.selectPlaceholderColor};\n text-overflow: ellipsis;\n `;\n },\n\n customUsePlaceholder() {\n return css`\n color: inherit;\n opacity: 0.7;\n `;\n },\n\n arrow(t: Theme) {\n return css`\n border: 4px solid transparent;\n border-bottom-width: 0;\n border-top-color: ${t.selectMenuArrowColor};\n\n display: inline-block;\n margin-bottom: 3px;\n vertical-align: middle;\n `;\n },\n\n arrowWrap() {\n return css`\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n\n &::before {\n content: '';\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n }\n `;\n },\n\n arrowDisabled(t: Theme) {\n return css`\n border-top-color: ${t.selectMenuArrowColorDisabled};\n `;\n },\n\n customUseArrow() {\n return css`\n border-top-color: inherit;\n color: inherit;\n opacity: 0.7;\n `;\n },\n\n label() {\n return css`\n box-sizing: border-box;\n display: inline-block;\n max-width: 100%;\n width: auto;\n position: relative;\n `;\n },\n\n labelText() {\n return css`\n display: inline-block;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n vertical-align: top;\n white-space: nowrap;\n `;\n },\n\n search() {\n return css`\n margin: 1px 4px 4px;\n `;\n },\n};\n\nexport const jsStyles = memoizeStyle(styles);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './Select';\r\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './Select';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["SelectLocaleHelper","LocaleHelper","ru_RU","en_GB"],"mappings":"2HAAA;;AAEA;AACA;;;AAGA;;AAEO,IAAMA,kBAAkB,GAAG,IAAIC,0BAAJ,CAA+B;AAC/DC,EAAAA,KAAK,EAALA,qBAD+D;AAE/DC,EAAAA,KAAK,EAALA,qBAF+D,EAA/B,CAA3B,C","sourcesContent":["import { LocaleHelper } from '../../../lib/locale/LocaleHelper';\r\n\r\nimport { componentsLocales as en_GB } from './locales/en';\r\nimport { componentsLocales as ru_RU } from './locales/ru';\r\nimport { SelectLocale } from './types';\r\n\r\nexport * from './types';\r\n\r\nexport const SelectLocaleHelper = new LocaleHelper<SelectLocale>({\r\n ru_RU,\r\n en_GB,\r\n});\r\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["SelectLocaleHelper","LocaleHelper","ru_RU","en_GB"],"mappings":"2HAAA;;AAEA;AACA;;;AAGA;;AAEO,IAAMA,kBAAkB,GAAG,IAAIC,0BAAJ,CAA+B;AAC/DC,EAAAA,KAAK,EAALA,qBAD+D;AAE/DC,EAAAA,KAAK,EAALA,qBAF+D,EAA/B,CAA3B,C","sourcesContent":["import { LocaleHelper } from '../../../lib/locale/LocaleHelper';\n\nimport { componentsLocales as en_GB } from './locales/en';\nimport { componentsLocales as ru_RU } from './locales/ru';\nimport { SelectLocale } from './types';\n\nexport * from './types';\n\nexport const SelectLocaleHelper = new LocaleHelper<SelectLocale>({\n ru_RU,\n en_GB,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["en.ts"],"names":["componentsLocales","placeholder"],"mappings":";;AAEO,IAAMA,iBAA+B,GAAG;AAC7CC,EAAAA,WAAW,EAAE,kBADgC,EAAxC,C","sourcesContent":["import { SelectLocale } from '../types';\r\n\r\nexport const componentsLocales: SelectLocale = {\r\n placeholder: 'Nothing selected',\r\n};\r\n"]}
1
+ {"version":3,"sources":["en.ts"],"names":["componentsLocales","placeholder"],"mappings":";;AAEO,IAAMA,iBAA+B,GAAG;AAC7CC,EAAAA,WAAW,EAAE,kBADgC,EAAxC,C","sourcesContent":["import { SelectLocale } from '../types';\n\nexport const componentsLocales: SelectLocale = {\n placeholder: 'Nothing selected',\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["ru.ts"],"names":["componentsLocales","placeholder"],"mappings":";;AAEO,IAAMA,iBAA+B,GAAG;AAC7CC,EAAAA,WAAW,EAAE,mBADgC,EAAxC,C","sourcesContent":["import { SelectLocale } from '../types';\r\n\r\nexport const componentsLocales: SelectLocale = {\r\n placeholder: 'Ничего не выбрано',\r\n};\r\n"]}
1
+ {"version":3,"sources":["ru.ts"],"names":["componentsLocales","placeholder"],"mappings":";;AAEO,IAAMA,iBAA+B,GAAG;AAC7CC,EAAAA,WAAW,EAAE,mBADgC,EAAxC,C","sourcesContent":["import { SelectLocale } from '../types';\n\nexport const componentsLocales: SelectLocale = {\n placeholder: 'Ничего не выбрано',\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["selectTheme.ts"],"names":["getSelectTheme","theme","props","ThemeFactory","create","btnBorderWidth","selectBorderWidth","btnOutlineWidth","selectOutlineWidth","btnLineHeightSmall","selectLineHeightSmall","btnFontSizeSmall","selectFontSizeSmall","btnPaddingXSmall","_icon","selectPaddingXSmall","btnPaddingYSmall","selectPaddingYSmall","btnIconGapSmall","selectIconGapSmall","btnIconSizeSmall","selectIconSizeSmall","btnBorderRadiusSmall","selectBorderRadiusSmall","btnLineHeightMedium","selectLineHeightMedium","btnFontSizeMedium","selectFontSizeMedium","btnPaddingXMedium","selectPaddingXMedium","btnPaddingYMedium","selectPaddingYMedium","btnIconGapMedium","selectIconGapMedium","btnIconSizeMedium","selectIconSizeMedium","btnBorderRadiusMedium","selectBorderRadiusMedium","btnLineHeightLarge","selectLineHeightLarge","btnFontSizeLarge","selectFontSizeLarge","btnPaddingXLarge","selectPaddingXLarge","btnPaddingYLarge","selectPaddingYLarge","btnIconGapLarge","selectIconGapLarge","btnIconSizeLarge","selectIconSizeLarge","btnBorderRadiusLarge","selectBorderRadiusLarge","btnDisabledBg","selectBgDisabled","btnDisabledBorderColor","selectBorderColorDisabled","btnDisabledShadowColor","selectShadowColorDisabled","btnDisabledTextColor","selectTextColorDisabled"],"mappings":"uEAAA;;;;;AAKO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD,EAAeC,KAAf,EAAuD;AACnF,SAAOC,2BAAaC,MAAb;AACL;AACEC,IAAAA,cAAc,EAAEJ,KAAK,CAACK,iBADxB;AAEEC,IAAAA,eAAe,EAAEN,KAAK,CAACO,kBAFzB;;AAIEC,IAAAA,kBAAkB,EAAER,KAAK,CAACS,qBAJ5B;AAKEC,IAAAA,gBAAgB,EAAEV,KAAK,CAACW,mBAL1B;AAMEC,IAAAA,gBAAgB,EAAEX,KAAK,CAACY,KAAN,GAAcb,KAAK,CAACY,gBAApB,GAAuCZ,KAAK,CAACc,mBANjE;AAOEC,IAAAA,gBAAgB,EAAEf,KAAK,CAACgB,mBAP1B;AAQEC,IAAAA,eAAe,EAAEjB,KAAK,CAACkB,kBARzB;AASEC,IAAAA,gBAAgB,EAAEnB,KAAK,CAACoB,mBAT1B;AAUEC,IAAAA,oBAAoB,EAAErB,KAAK,CAACsB,uBAV9B;;AAYEC,IAAAA,mBAAmB,EAAEvB,KAAK,CAACwB,sBAZ7B;AAaEC,IAAAA,iBAAiB,EAAEzB,KAAK,CAAC0B,oBAb3B;AAcEC,IAAAA,iBAAiB,EAAE1B,KAAK,CAACY,KAAN,GAAcb,KAAK,CAAC2B,iBAApB,GAAwC3B,KAAK,CAAC4B,oBAdnE;AAeEC,IAAAA,iBAAiB,EAAE7B,KAAK,CAAC8B,oBAf3B;AAgBEC,IAAAA,gBAAgB,EAAE/B,KAAK,CAACgC,mBAhB1B;AAiBEC,IAAAA,iBAAiB,EAAEjC,KAAK,CAACkC,oBAjB3B;AAkBEC,IAAAA,qBAAqB,EAAEnC,KAAK,CAACoC,wBAlB/B;;AAoBEC,IAAAA,kBAAkB,EAAErC,KAAK,CAACsC,qBApB5B;AAqBEC,IAAAA,gBAAgB,EAAEvC,KAAK,CAACwC,mBArB1B;AAsBEC,IAAAA,gBAAgB,EAAExC,KAAK,CAACY,KAAN,GAAcb,KAAK,CAACyC,gBAApB,GAAuCzC,KAAK,CAAC0C,mBAtBjE;AAuBEC,IAAAA,gBAAgB,EAAE3C,KAAK,CAAC4C,mBAvB1B;AAwBEC,IAAAA,eAAe,EAAE7C,KAAK,CAAC8C,kBAxBzB;AAyBEC,IAAAA,gBAAgB,EAAE/C,KAAK,CAACgD,mBAzB1B;AA0BEC,IAAAA,oBAAoB,EAAEjD,KAAK,CAACkD,uBA1B9B;;AA4BEC,IAAAA,aAAa,EAAEnD,KAAK,CAACoD,gBA5BvB;AA6BEC,IAAAA,sBAAsB,EAAErD,KAAK,CAACsD,yBA7BhC;AA8BEC,IAAAA,sBAAsB,EAAEvD,KAAK,CAACwD,yBA9BhC;AA+BEC,IAAAA,oBAAoB,EAAEzD,KAAK,CAAC0D,uBA/B9B,EADK;;AAkCL1D,EAAAA,KAlCK,CAAP;;AAoCD,CArCM,C","sourcesContent":["import { ThemeFactory } from '../../lib/theming/ThemeFactory';\r\nimport { Theme } from '../../lib/theming/Theme';\r\n\r\nimport { SelectProps } from './Select';\r\n\r\nexport const getSelectTheme = (theme: Theme, props: SelectProps<any, any>): Theme => {\r\n return ThemeFactory.create(\r\n {\r\n btnBorderWidth: theme.selectBorderWidth,\r\n btnOutlineWidth: theme.selectOutlineWidth,\r\n\r\n btnLineHeightSmall: theme.selectLineHeightSmall,\r\n btnFontSizeSmall: theme.selectFontSizeSmall,\r\n btnPaddingXSmall: props._icon ? theme.btnPaddingXSmall : theme.selectPaddingXSmall,\r\n btnPaddingYSmall: theme.selectPaddingYSmall,\r\n btnIconGapSmall: theme.selectIconGapSmall,\r\n btnIconSizeSmall: theme.selectIconSizeSmall,\r\n btnBorderRadiusSmall: theme.selectBorderRadiusSmall,\r\n\r\n btnLineHeightMedium: theme.selectLineHeightMedium,\r\n btnFontSizeMedium: theme.selectFontSizeMedium,\r\n btnPaddingXMedium: props._icon ? theme.btnPaddingXMedium : theme.selectPaddingXMedium,\r\n btnPaddingYMedium: theme.selectPaddingYMedium,\r\n btnIconGapMedium: theme.selectIconGapMedium,\r\n btnIconSizeMedium: theme.selectIconSizeMedium,\r\n btnBorderRadiusMedium: theme.selectBorderRadiusMedium,\r\n\r\n btnLineHeightLarge: theme.selectLineHeightLarge,\r\n btnFontSizeLarge: theme.selectFontSizeLarge,\r\n btnPaddingXLarge: props._icon ? theme.btnPaddingXLarge : theme.selectPaddingXLarge,\r\n btnPaddingYLarge: theme.selectPaddingYLarge,\r\n btnIconGapLarge: theme.selectIconGapLarge,\r\n btnIconSizeLarge: theme.selectIconSizeLarge,\r\n btnBorderRadiusLarge: theme.selectBorderRadiusLarge,\r\n\r\n btnDisabledBg: theme.selectBgDisabled,\r\n btnDisabledBorderColor: theme.selectBorderColorDisabled,\r\n btnDisabledShadowColor: theme.selectShadowColorDisabled,\r\n btnDisabledTextColor: theme.selectTextColorDisabled,\r\n },\r\n theme,\r\n );\r\n};\r\n"]}
1
+ {"version":3,"sources":["selectTheme.ts"],"names":["getSelectTheme","theme","props","ThemeFactory","create","btnBorderWidth","selectBorderWidth","btnOutlineWidth","selectOutlineWidth","btnLineHeightSmall","selectLineHeightSmall","btnFontSizeSmall","selectFontSizeSmall","btnPaddingXSmall","_icon","selectPaddingXSmall","btnPaddingYSmall","selectPaddingYSmall","btnIconGapSmall","selectIconGapSmall","btnIconSizeSmall","selectIconSizeSmall","btnBorderRadiusSmall","selectBorderRadiusSmall","btnLineHeightMedium","selectLineHeightMedium","btnFontSizeMedium","selectFontSizeMedium","btnPaddingXMedium","selectPaddingXMedium","btnPaddingYMedium","selectPaddingYMedium","btnIconGapMedium","selectIconGapMedium","btnIconSizeMedium","selectIconSizeMedium","btnBorderRadiusMedium","selectBorderRadiusMedium","btnLineHeightLarge","selectLineHeightLarge","btnFontSizeLarge","selectFontSizeLarge","btnPaddingXLarge","selectPaddingXLarge","btnPaddingYLarge","selectPaddingYLarge","btnIconGapLarge","selectIconGapLarge","btnIconSizeLarge","selectIconSizeLarge","btnBorderRadiusLarge","selectBorderRadiusLarge","btnDisabledBg","selectBgDisabled","btnDisabledBorderColor","selectBorderColorDisabled","btnDisabledShadowColor","selectShadowColorDisabled","btnDisabledTextColor","selectTextColorDisabled"],"mappings":"uEAAA;;;;;AAKO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD,EAAeC,KAAf,EAAuD;AACnF,SAAOC,2BAAaC,MAAb;AACL;AACEC,IAAAA,cAAc,EAAEJ,KAAK,CAACK,iBADxB;AAEEC,IAAAA,eAAe,EAAEN,KAAK,CAACO,kBAFzB;;AAIEC,IAAAA,kBAAkB,EAAER,KAAK,CAACS,qBAJ5B;AAKEC,IAAAA,gBAAgB,EAAEV,KAAK,CAACW,mBAL1B;AAMEC,IAAAA,gBAAgB,EAAEX,KAAK,CAACY,KAAN,GAAcb,KAAK,CAACY,gBAApB,GAAuCZ,KAAK,CAACc,mBANjE;AAOEC,IAAAA,gBAAgB,EAAEf,KAAK,CAACgB,mBAP1B;AAQEC,IAAAA,eAAe,EAAEjB,KAAK,CAACkB,kBARzB;AASEC,IAAAA,gBAAgB,EAAEnB,KAAK,CAACoB,mBAT1B;AAUEC,IAAAA,oBAAoB,EAAErB,KAAK,CAACsB,uBAV9B;;AAYEC,IAAAA,mBAAmB,EAAEvB,KAAK,CAACwB,sBAZ7B;AAaEC,IAAAA,iBAAiB,EAAEzB,KAAK,CAAC0B,oBAb3B;AAcEC,IAAAA,iBAAiB,EAAE1B,KAAK,CAACY,KAAN,GAAcb,KAAK,CAAC2B,iBAApB,GAAwC3B,KAAK,CAAC4B,oBAdnE;AAeEC,IAAAA,iBAAiB,EAAE7B,KAAK,CAAC8B,oBAf3B;AAgBEC,IAAAA,gBAAgB,EAAE/B,KAAK,CAACgC,mBAhB1B;AAiBEC,IAAAA,iBAAiB,EAAEjC,KAAK,CAACkC,oBAjB3B;AAkBEC,IAAAA,qBAAqB,EAAEnC,KAAK,CAACoC,wBAlB/B;;AAoBEC,IAAAA,kBAAkB,EAAErC,KAAK,CAACsC,qBApB5B;AAqBEC,IAAAA,gBAAgB,EAAEvC,KAAK,CAACwC,mBArB1B;AAsBEC,IAAAA,gBAAgB,EAAExC,KAAK,CAACY,KAAN,GAAcb,KAAK,CAACyC,gBAApB,GAAuCzC,KAAK,CAAC0C,mBAtBjE;AAuBEC,IAAAA,gBAAgB,EAAE3C,KAAK,CAAC4C,mBAvB1B;AAwBEC,IAAAA,eAAe,EAAE7C,KAAK,CAAC8C,kBAxBzB;AAyBEC,IAAAA,gBAAgB,EAAE/C,KAAK,CAACgD,mBAzB1B;AA0BEC,IAAAA,oBAAoB,EAAEjD,KAAK,CAACkD,uBA1B9B;;AA4BEC,IAAAA,aAAa,EAAEnD,KAAK,CAACoD,gBA5BvB;AA6BEC,IAAAA,sBAAsB,EAAErD,KAAK,CAACsD,yBA7BhC;AA8BEC,IAAAA,sBAAsB,EAAEvD,KAAK,CAACwD,yBA9BhC;AA+BEC,IAAAA,oBAAoB,EAAEzD,KAAK,CAAC0D,uBA/B9B,EADK;;AAkCL1D,EAAAA,KAlCK,CAAP;;AAoCD,CArCM,C","sourcesContent":["import { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\n\nimport { SelectProps } from './Select';\n\nexport const getSelectTheme = (theme: Theme, props: SelectProps<any, any>): Theme => {\n return ThemeFactory.create(\n {\n btnBorderWidth: theme.selectBorderWidth,\n btnOutlineWidth: theme.selectOutlineWidth,\n\n btnLineHeightSmall: theme.selectLineHeightSmall,\n btnFontSizeSmall: theme.selectFontSizeSmall,\n btnPaddingXSmall: props._icon ? theme.btnPaddingXSmall : theme.selectPaddingXSmall,\n btnPaddingYSmall: theme.selectPaddingYSmall,\n btnIconGapSmall: theme.selectIconGapSmall,\n btnIconSizeSmall: theme.selectIconSizeSmall,\n btnBorderRadiusSmall: theme.selectBorderRadiusSmall,\n\n btnLineHeightMedium: theme.selectLineHeightMedium,\n btnFontSizeMedium: theme.selectFontSizeMedium,\n btnPaddingXMedium: props._icon ? theme.btnPaddingXMedium : theme.selectPaddingXMedium,\n btnPaddingYMedium: theme.selectPaddingYMedium,\n btnIconGapMedium: theme.selectIconGapMedium,\n btnIconSizeMedium: theme.selectIconSizeMedium,\n btnBorderRadiusMedium: theme.selectBorderRadiusMedium,\n\n btnLineHeightLarge: theme.selectLineHeightLarge,\n btnFontSizeLarge: theme.selectFontSizeLarge,\n btnPaddingXLarge: props._icon ? theme.btnPaddingXLarge : theme.selectPaddingXLarge,\n btnPaddingYLarge: theme.selectPaddingYLarge,\n btnIconGapLarge: theme.selectIconGapLarge,\n btnIconSizeLarge: theme.selectIconSizeLarge,\n btnBorderRadiusLarge: theme.selectBorderRadiusLarge,\n\n btnDisabledBg: theme.selectBgDisabled,\n btnDisabledBorderColor: theme.selectBorderColorDisabled,\n btnDisabledShadowColor: theme.selectShadowColorDisabled,\n btnDisabledTextColor: theme.selectTextColorDisabled,\n },\n theme,\n );\n};\n"]}
@@ -63,6 +63,7 @@ export declare class SidePage extends React.Component<SidePageProps, SidePageSta
63
63
  private stackSubscription;
64
64
  private layoutRef;
65
65
  private footer;
66
+ private header;
66
67
  componentDidMount(): void;
67
68
  componentWillUnmount(): void;
68
69
  /**
@@ -82,5 +83,6 @@ export declare class SidePage extends React.Component<SidePageProps, SidePageSta
82
83
  private handleClickOutside;
83
84
  private handleKeyDown;
84
85
  private requestClose;
86
+ private headerRef;
85
87
  private footerRef;
86
88
  }
@@ -71,14 +71,14 @@ var _helpers = require("./helpers");
71
71
 
72
72
  var TRANSITION_TIMEOUT = 200;
73
73
 
74
- /**
75
- * Сайдпейдж
76
- *
77
- * Содержит в себе три компоненты: **SidePage.Header**,
78
- * **SidePage.Body** и **SidePage.Footer**
79
- *
80
- * Для отображения серой плашки в футере в компонент
81
- * **Footer** необходимо передать пропс **panel**
74
+ /**
75
+ * Сайдпейдж
76
+ *
77
+ * Содержит в себе три компоненты: **SidePage.Header**,
78
+ * **SidePage.Body** и **SidePage.Footer**
79
+ *
80
+ * Для отображения серой плашки в футере в компонент
81
+ * **Footer** необходимо передать пропс **panel**
82
82
  */var
83
83
  SidePage = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(SidePage, _React$Component);function SidePage() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
84
84
 
@@ -92,6 +92,7 @@ SidePage = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default
92
92
  stackSubscription = null;_this.
93
93
  layoutRef = null;_this.
94
94
  footer = null;_this.
95
+ header = null;_this.
95
96
 
96
97
 
97
98
 
@@ -110,10 +111,9 @@ SidePage = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default
110
111
 
111
112
 
112
113
 
113
- updateLayout = function () {
114
- if (_this.footer) {
115
- _this.footer.update();
116
- }
114
+ updateLayout = function () {var _this$header, _this$footer;
115
+ (_this$header = _this.header) == null ? void 0 : _this$header.update();
116
+ (_this$footer = _this.footer) == null ? void 0 : _this$footer.update();
117
117
  };_this.
118
118
 
119
119
 
@@ -210,7 +210,8 @@ SidePage = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default
210
210
  requestClose: _this.requestClose,
211
211
  getWidth: _this.getWidth,
212
212
  updateLayout: _this.updateLayout,
213
- footerRef: _this.footerRef };
213
+ footerRef: _this.footerRef,
214
+ headerRef: _this.headerRef };
214
215
 
215
216
 
216
217
  return sidePageContextProps;
@@ -310,9 +311,13 @@ SidePage = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default
310
311
  }
311
312
  };_this.
312
313
 
314
+ headerRef = function (ref) {
315
+ _this.header = ref;
316
+ };_this.
317
+
313
318
  footerRef = function (ref) {
314
319
  _this.footer = ref;
315
- };return _this;}var _proto = SidePage.prototype;_proto.componentDidMount = function componentDidMount() {window.addEventListener('keydown', this.handleKeyDown);this.stackSubscription = _ModalStack.ModalStack.add(this, this.handleStackChange);};_proto.componentWillUnmount = function componentWillUnmount() {window.removeEventListener('keydown', this.handleKeyDown);if (this.stackSubscription != null) {this.stackSubscription.remove();}_ModalStack.ModalStack.remove(this);} /**
316
- * Обновляет разметку компонента.
317
- * @public
320
+ };return _this;}var _proto = SidePage.prototype;_proto.componentDidMount = function componentDidMount() {window.addEventListener('keydown', this.handleKeyDown);this.stackSubscription = _ModalStack.ModalStack.add(this, this.handleStackChange);};_proto.componentWillUnmount = function componentWillUnmount() {window.removeEventListener('keydown', this.handleKeyDown);if (this.stackSubscription != null) {this.stackSubscription.remove();}_ModalStack.ModalStack.remove(this);} /**
321
+ * Обновляет разметку компонента.
322
+ * @public
318
323
  */;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _this$props = this.props,blockBackground = _this$props.blockBackground,disableAnimations = _this$props.disableAnimations;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement(_RenderContainer.RenderContainer, null, /*#__PURE__*/_react.default.createElement("div", null, blockBackground && this.renderShadow(), /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.CSSTransition, { in: true, classNames: this.getTransitionNames(), appear: !disableAnimations, enter: !disableAnimations, exit: false, timeout: { enter: TRANSITION_TIMEOUT, exit: TRANSITION_TIMEOUT } }, this.renderContainer()))));};_proto.renderContainer = function renderContainer() {var _cn,_this3 = this;var _this$props2 = this.props,width = _this$props2.width,blockBackground = _this$props2.blockBackground,fromLeft = _this$props2.fromLeft;return /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { priority: 'Sidepage', "data-tid": "SidePage__root", className: (0, _classnames.default)((_cn = {}, _cn[_SidePage.jsStyles.root()] = true, _cn[_SidePage.jsStyles.leftSide(this.theme)] = Boolean(fromLeft), _cn)), onScroll: LayoutEvents.emit, createStackingContext: true, style: { width: width || (blockBackground ? 800 : 500) } }, /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.handleClickOutside, active: true }, /*#__PURE__*/_react.default.createElement("div", { "data-tid": "SidePage__container", className: (0, _classnames.default)(_SidePage.jsStyles.wrapper(this.theme), this.state.hasShadow && _SidePage.jsStyles.shadow(this.theme)), style: this.getSidebarStyle() }, /*#__PURE__*/_react.default.createElement("div", { ref: function ref(_) {return _this3.layoutRef = _;}, className: _SidePage.jsStyles.layout() }, /*#__PURE__*/_react.default.createElement(_SidePageContext.SidePageContext.Provider, { value: this.getSidePageContextProps() }, this.props.children)))));};_proto.renderShadow = function renderShadow() {var _cn2;return /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { priority: 'Sidepage', className: _SidePage.jsStyles.overlay(), onScroll: LayoutEvents.emit }, /*#__PURE__*/_react.default.createElement(_HideBodyVerticalScroll.HideBodyVerticalScroll, { key: "hbvs" }), /*#__PURE__*/_react.default.createElement("div", { key: "overlay", className: (0, _classnames.default)((_cn2 = {}, _cn2[_SidePage.jsStyles.background()] = true, _cn2[_SidePage.jsStyles.backgroundGray(this.theme)] = this.state.hasBackground, _cn2)) }));};_proto.getSidebarStyle = function getSidebarStyle() {var sidePageStyle = {};if (this.state.hasMargin) {if (this.props.fromLeft) {sidePageStyle.marginLeft = 20;} else {sidePageStyle.marginRight = 20;}}return sidePageStyle;};_proto.getTransitionNames = function getTransitionNames() {var transition = this.props.fromLeft ? _SidePage.jsStyles.transitionRight : _SidePage.jsStyles.transitionLeft;return { enter: transition(), enterActive: _SidePage.jsStyles.transitionActive(), exit: _SidePage.jsStyles.transitionLeave(), exitActive: _SidePage.jsStyles.transitionLeaveActive(), appear: transition(), appearActive: _SidePage.jsStyles.transitionActive() };};return SidePage;}(_react.default.Component);exports.SidePage = SidePage;SidePage.__KONTUR_REACT_UI__ = 'SidePage';SidePage.Header = _SidePageHeader.SidePageHeader;SidePage.Body = _SidePageBody.SidePageBody;SidePage.Footer = _SidePageFooter.SidePageFooter;SidePage.Container = _SidePageContainer.SidePageContainer;
@@ -1 +1 @@
1
- {"version":3,"sources":["SidePage.tsx"],"names":["TRANSITION_TIMEOUT","SidePage","state","theme","stackSubscription","layoutRef","footer","updateLayout","update","getSidePageContextProps","hasHeader","hasFooter","hasPanel","React","Children","toArray","props","children","forEach","child","panel","sidePageContextProps","requestClose","getWidth","footerRef","getBoundingClientRect","width","handleStackChange","stack","sidePages","filter","x","fromLeft","currentSidePagePosition","indexOf","hasMargin","length","hasShadow","hasBackground","ModalStack","isBlocking","setState","stackPosition","handleClickOutside","e","ignoreBackgroundClick","MouseEvent","clientX","document","documentElement","clientWidth","handleKeyDown","disableClose","onClose","ref","componentDidMount","window","addEventListener","add","componentWillUnmount","removeEventListener","remove","render","renderMain","blockBackground","disableAnimations","renderShadow","getTransitionNames","enter","exit","renderContainer","jsStyles","root","leftSide","Boolean","LayoutEvents","emit","wrapper","shadow","getSidebarStyle","_","layout","overlay","background","backgroundGray","sidePageStyle","marginLeft","marginRight","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appear","appearActive","Component","__KONTUR_REACT_UI__","Header","SidePageHeader","Body","SidePageBody","Footer","SidePageFooter","Container","SidePageContainer"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport { CSSTransition } from 'react-transition-group';\r\nimport cn from 'classnames';\r\n\r\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\r\nimport * as LayoutEvents from '../../lib/LayoutEvents';\r\nimport { stopPropagation } from '../../lib/events/stopPropagation';\r\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\r\nimport { ModalStack, ModalStackSubscription } from '../../lib/ModalStack';\r\nimport { RenderContainer } from '../../internal/RenderContainer';\r\nimport { RenderLayer } from '../../internal/RenderLayer';\r\nimport { ZIndex } from '../../internal/ZIndex';\r\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\r\n\r\nimport { SidePageBody } from './SidePageBody';\r\nimport { SidePageContainer } from './SidePageContainer';\r\nimport { SidePageContext, SidePageContextType } from './SidePageContext';\r\nimport { SidePageFooter } from './SidePageFooter';\r\nimport { SidePageHeader } from './SidePageHeader';\r\nimport { jsStyles } from './SidePage.styles';\r\nimport { isFooter, isHeader } from './helpers';\r\n\r\nexport interface SidePageProps extends CommonProps {\r\n /**\r\n * Добавить блокирующий фон, когда сайдпейдж открыт\r\n */\r\n blockBackground?: boolean;\r\n\r\n /**\r\n * Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа\r\n */\r\n disableClose?: boolean;\r\n\r\n /**\r\n * Не закрывать сайдпейдж при клике на фон.\r\n */\r\n ignoreBackgroundClick?: boolean;\r\n\r\n /**\r\n * Задать ширину сайдпейджа\r\n */\r\n width?: number | string;\r\n\r\n /**\r\n * Вызывается, когда пользователь запросил закрытие сайдпейджа (нажал на фон, на\r\n * Escape или на крестик).\r\n */\r\n onClose?: () => void;\r\n\r\n /**\r\n * Показывать сайдпэйдж слева\r\n *\r\n */\r\n fromLeft?: boolean;\r\n\r\n /**\r\n * Отключить анимации\r\n *\r\n */\r\n disableAnimations?: boolean;\r\n}\r\n\r\nexport interface SidePageState {\r\n stackPosition?: number;\r\n hasMargin?: boolean;\r\n hasShadow?: boolean;\r\n hasBackground?: boolean;\r\n}\r\n\r\nconst TRANSITION_TIMEOUT = 200;\r\n\r\n/**\r\n * Сайдпейдж\r\n *\r\n * Содержит в себе три компоненты: **SidePage.Header**,\r\n * **SidePage.Body** и **SidePage.Footer**\r\n *\r\n * Для отображения серой плашки в футере в компонент\r\n * **Footer** необходимо передать пропс **panel**\r\n */\r\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\r\n public static __KONTUR_REACT_UI__ = 'SidePage';\r\n\r\n public static Header = SidePageHeader;\r\n public static Body = SidePageBody;\r\n public static Footer = SidePageFooter;\r\n public static Container = SidePageContainer;\r\n public state: SidePageState = {};\r\n private theme!: Theme;\r\n private stackSubscription: ModalStackSubscription | null = null;\r\n private layoutRef: HTMLElement | null = null;\r\n private footer: SidePageFooter | null = null;\r\n\r\n public componentDidMount() {\r\n window.addEventListener('keydown', this.handleKeyDown);\r\n this.stackSubscription = ModalStack.add(this, this.handleStackChange);\r\n }\r\n\r\n public componentWillUnmount() {\r\n window.removeEventListener('keydown', this.handleKeyDown);\r\n if (this.stackSubscription != null) {\r\n this.stackSubscription.remove();\r\n }\r\n ModalStack.remove(this);\r\n }\r\n\r\n /**\r\n * Обновляет разметку компонента.\r\n * @public\r\n */\r\n public updateLayout = (): void => {\r\n if (this.footer) {\r\n this.footer.update();\r\n }\r\n };\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <ThemeContext.Consumer>\r\n {theme => {\r\n this.theme = theme;\r\n return this.renderMain();\r\n }}\r\n </ThemeContext.Consumer>\r\n );\r\n }\r\n\r\n private renderMain() {\r\n const { blockBackground, disableAnimations } = this.props;\r\n\r\n return (\r\n <CommonWrapper {...this.props}>\r\n <RenderContainer>\r\n <div>\r\n {blockBackground && this.renderShadow()}\r\n <CSSTransition\r\n in\r\n classNames={this.getTransitionNames()}\r\n appear={!disableAnimations}\r\n enter={!disableAnimations}\r\n exit={false}\r\n timeout={{\r\n enter: TRANSITION_TIMEOUT,\r\n exit: TRANSITION_TIMEOUT,\r\n }}\r\n >\r\n {this.renderContainer()}\r\n </CSSTransition>\r\n </div>\r\n </RenderContainer>\r\n </CommonWrapper>\r\n );\r\n }\r\n\r\n private renderContainer(): JSX.Element {\r\n const { width, blockBackground, fromLeft } = this.props;\r\n\r\n return (\r\n <ZIndex\r\n priority={'Sidepage'}\r\n data-tid=\"SidePage__root\"\r\n className={cn({\r\n [jsStyles.root()]: true,\r\n [jsStyles.leftSide(this.theme)]: Boolean(fromLeft),\r\n })}\r\n onScroll={LayoutEvents.emit}\r\n createStackingContext\r\n style={{ width: width || (blockBackground ? 800 : 500) }}\r\n >\r\n <RenderLayer onClickOutside={this.handleClickOutside} active>\r\n <div\r\n data-tid=\"SidePage__container\"\r\n className={cn(jsStyles.wrapper(this.theme), this.state.hasShadow && jsStyles.shadow(this.theme))}\r\n style={this.getSidebarStyle()}\r\n >\r\n <div ref={_ => (this.layoutRef = _)} className={jsStyles.layout()}>\r\n <SidePageContext.Provider value={this.getSidePageContextProps()}>\r\n {this.props.children}\r\n </SidePageContext.Provider>\r\n </div>\r\n </div>\r\n </RenderLayer>\r\n </ZIndex>\r\n );\r\n }\r\n\r\n private getSidePageContextProps = (): SidePageContextType => {\r\n let hasHeader = false;\r\n let hasFooter = false;\r\n let hasPanel = false;\r\n\r\n React.Children.toArray(this.props.children).forEach(child => {\r\n if (isHeader(child)) {\r\n hasHeader = true;\r\n }\r\n if (isFooter(child)) {\r\n hasFooter = true;\r\n if (child.props.panel) {\r\n hasPanel = true;\r\n }\r\n }\r\n });\r\n\r\n const sidePageContextProps: SidePageContextType = {\r\n hasHeader,\r\n hasFooter,\r\n hasPanel,\r\n requestClose: this.requestClose,\r\n getWidth: this.getWidth,\r\n updateLayout: this.updateLayout,\r\n footerRef: this.footerRef,\r\n };\r\n\r\n return sidePageContextProps;\r\n };\r\n\r\n private getWidth = () => {\r\n if (!this.layoutRef) {\r\n return 'auto';\r\n }\r\n return this.layoutRef.getBoundingClientRect().width;\r\n };\r\n\r\n private renderShadow(): JSX.Element {\r\n return (\r\n <ZIndex priority={'Sidepage'} className={jsStyles.overlay()} onScroll={LayoutEvents.emit}>\r\n <HideBodyVerticalScroll key=\"hbvs\" />\r\n <div\r\n key=\"overlay\"\r\n className={cn({\r\n [jsStyles.background()]: true,\r\n [jsStyles.backgroundGray(this.theme)]: this.state.hasBackground,\r\n })}\r\n />\r\n </ZIndex>\r\n );\r\n }\r\n\r\n private getSidebarStyle(): React.CSSProperties {\r\n const sidePageStyle: React.CSSProperties = {};\r\n\r\n if (this.state.hasMargin) {\r\n if (this.props.fromLeft) {\r\n sidePageStyle.marginLeft = 20;\r\n } else {\r\n sidePageStyle.marginRight = 20;\r\n }\r\n }\r\n\r\n return sidePageStyle;\r\n }\r\n\r\n private getTransitionNames(): Record<string, string> {\r\n const transition = this.props.fromLeft ? jsStyles.transitionRight : jsStyles.transitionLeft;\r\n\r\n return {\r\n enter: transition(),\r\n enterActive: jsStyles.transitionActive(),\r\n exit: jsStyles.transitionLeave(),\r\n exitActive: jsStyles.transitionLeaveActive(),\r\n appear: transition(),\r\n appearActive: jsStyles.transitionActive(),\r\n };\r\n }\r\n\r\n private handleStackChange = (stack: ReadonlyArray<React.Component>) => {\r\n const sidePages = stack.filter(x => x instanceof SidePage && x.props.fromLeft === this.props.fromLeft);\r\n const currentSidePagePosition = sidePages.indexOf(this);\r\n\r\n const hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;\r\n const hasShadow = sidePages.length < 3 || currentSidePagePosition > sidePages.length - 3;\r\n const hasBackground = ModalStack.isBlocking(this);\r\n\r\n this.setState({\r\n stackPosition: stack.indexOf(this),\r\n hasMargin,\r\n hasShadow,\r\n hasBackground,\r\n });\r\n };\r\n\r\n private handleClickOutside = (e: Event) => {\r\n if (this.state.stackPosition === 0 && !this.props.ignoreBackgroundClick) {\r\n // ignore mousedown on window scrollbar\r\n if (e instanceof MouseEvent && e.clientX > document.documentElement.clientWidth) {\r\n return;\r\n }\r\n this.requestClose();\r\n }\r\n };\r\n\r\n private handleKeyDown = (e: KeyboardEvent) => {\r\n if (this.state.stackPosition !== 0) {\r\n return;\r\n }\r\n if (isKeyEscape(e)) {\r\n stopPropagation(e);\r\n this.requestClose();\r\n }\r\n };\r\n\r\n private requestClose = () => {\r\n if (this.props.disableClose) {\r\n return;\r\n }\r\n if (this.props.onClose) {\r\n this.props.onClose();\r\n }\r\n };\r\n\r\n private footerRef = (ref: SidePageFooter | null) => {\r\n this.footer = ref;\r\n };\r\n}\r\n"]}
1
+ {"version":3,"sources":["SidePage.tsx"],"names":["TRANSITION_TIMEOUT","SidePage","state","theme","stackSubscription","layoutRef","footer","header","updateLayout","update","getSidePageContextProps","hasHeader","hasFooter","hasPanel","React","Children","toArray","props","children","forEach","child","panel","sidePageContextProps","requestClose","getWidth","footerRef","headerRef","getBoundingClientRect","width","handleStackChange","stack","sidePages","filter","x","fromLeft","currentSidePagePosition","indexOf","hasMargin","length","hasShadow","hasBackground","ModalStack","isBlocking","setState","stackPosition","handleClickOutside","e","ignoreBackgroundClick","MouseEvent","clientX","document","documentElement","clientWidth","handleKeyDown","disableClose","onClose","ref","componentDidMount","window","addEventListener","add","componentWillUnmount","removeEventListener","remove","render","renderMain","blockBackground","disableAnimations","renderShadow","getTransitionNames","enter","exit","renderContainer","jsStyles","root","leftSide","Boolean","LayoutEvents","emit","wrapper","shadow","getSidebarStyle","_","layout","overlay","background","backgroundGray","sidePageStyle","marginLeft","marginRight","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appear","appearActive","Component","__KONTUR_REACT_UI__","Header","SidePageHeader","Body","SidePageBody","Footer","SidePageFooter","Container","SidePageContainer"],"mappings":"ybAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,IAAMA,kBAAkB,GAAG,GAA3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;AACaC,Q;;;;;;;AAOJC,IAAAA,K,GAAuB,E;AACtBC,IAAAA,K;AACAC,IAAAA,iB,GAAmD,I;AACnDC,IAAAA,S,GAAgC,I;AAChCC,IAAAA,M,GAAgC,I;AAChCC,IAAAA,M,GAAgC,I;;;;;;;;;;;;;;;;;;;AAmBjCC,IAAAA,Y,GAAe,YAAY;AAChC,4BAAKD,MAAL,kCAAaE,MAAb;AACA,4BAAKH,MAAL,kCAAaG,MAAb;AACD,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwEOC,IAAAA,uB,GAA0B,YAA2B;AAC3D,UAAIC,SAAS,GAAG,KAAhB;AACA,UAAIC,SAAS,GAAG,KAAhB;AACA,UAAIC,QAAQ,GAAG,KAAf;;AAEAC,qBAAMC,QAAN,CAAeC,OAAf,CAAuB,MAAKC,KAAL,CAAWC,QAAlC,EAA4CC,OAA5C,CAAoD,UAACC,KAAD,EAAW;AAC7D,YAAI,uBAASA,KAAT,CAAJ,EAAqB;AACnBT,UAAAA,SAAS,GAAG,IAAZ;AACD;AACD,YAAI,uBAASS,KAAT,CAAJ,EAAqB;AACnBR,UAAAA,SAAS,GAAG,IAAZ;AACA,cAAIQ,KAAK,CAACH,KAAN,CAAYI,KAAhB,EAAuB;AACrBR,YAAAA,QAAQ,GAAG,IAAX;AACD;AACF;AACF,OAVD;;AAYA,UAAMS,oBAAyC,GAAG;AAChDX,QAAAA,SAAS,EAATA,SADgD;AAEhDC,QAAAA,SAAS,EAATA,SAFgD;AAGhDC,QAAAA,QAAQ,EAARA,QAHgD;AAIhDU,QAAAA,YAAY,EAAE,MAAKA,YAJ6B;AAKhDC,QAAAA,QAAQ,EAAE,MAAKA,QALiC;AAMhDhB,QAAAA,YAAY,EAAE,MAAKA,YAN6B;AAOhDiB,QAAAA,SAAS,EAAE,MAAKA,SAPgC;AAQhDC,QAAAA,SAAS,EAAE,MAAKA,SARgC,EAAlD;;;AAWA,aAAOJ,oBAAP;AACD,K;;AAEOE,IAAAA,Q,GAAW,YAAM;AACvB,UAAI,CAAC,MAAKnB,SAAV,EAAqB;AACnB,eAAO,MAAP;AACD;AACD,aAAO,MAAKA,SAAL,CAAesB,qBAAf,GAAuCC,KAA9C;AACD,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4COC,IAAAA,iB,GAAoB,UAACC,KAAD,EAA2C;AACrE,UAAMC,SAAS,GAAGD,KAAK,CAACE,MAAN,CAAa,UAACC,CAAD,UAAOA,CAAC,YAAYhC,QAAb,IAAyBgC,CAAC,CAAChB,KAAF,CAAQiB,QAAR,KAAqB,MAAKjB,KAAL,CAAWiB,QAAhE,EAAb,CAAlB;AACA,UAAMC,uBAAuB,GAAGJ,SAAS,CAACK,OAAV,6CAAhC;;AAEA,UAAMC,SAAS,GAAGN,SAAS,CAACO,MAAV,GAAmB,CAAnB,IAAwBH,uBAAuB,KAAKJ,SAAS,CAACO,MAAV,GAAmB,CAAzF;AACA,UAAMC,SAAS,GAAGR,SAAS,CAACO,MAAV,GAAmB,CAAnB,IAAwBH,uBAAuB,GAAGJ,SAAS,CAACO,MAAV,GAAmB,CAAvF;AACA,UAAME,aAAa,GAAGC,uBAAWC,UAAX,6CAAtB;;AAEA,YAAKC,QAAL,CAAc;AACZC,QAAAA,aAAa,EAAEd,KAAK,CAACM,OAAN,6CADH;AAEZC,QAAAA,SAAS,EAATA,SAFY;AAGZE,QAAAA,SAAS,EAATA,SAHY;AAIZC,QAAAA,aAAa,EAAbA,aAJY,EAAd;;AAMD,K;;AAEOK,IAAAA,kB,GAAqB,UAACC,CAAD,EAAc;AACzC,UAAI,MAAK5C,KAAL,CAAW0C,aAAX,KAA6B,CAA7B,IAAkC,CAAC,MAAK3B,KAAL,CAAW8B,qBAAlD,EAAyE;AACvE;AACA,YAAID,CAAC,YAAYE,UAAb,IAA2BF,CAAC,CAACG,OAAF,GAAYC,QAAQ,CAACC,eAAT,CAAyBC,WAApE,EAAiF;AAC/E;AACD;AACD,cAAK7B,YAAL;AACD;AACF,K;;AAEO8B,IAAAA,a,GAAgB,UAACP,CAAD,EAAsB;AAC5C,UAAI,MAAK5C,KAAL,CAAW0C,aAAX,KAA6B,CAAjC,EAAoC;AAClC;AACD;AACD,UAAI,8BAAYE,CAAZ,CAAJ,EAAoB;AAClB,8CAAgBA,CAAhB;AACA,cAAKvB,YAAL;AACD;AACF,K;;AAEOA,IAAAA,Y,GAAe,YAAM;AAC3B,UAAI,MAAKN,KAAL,CAAWqC,YAAf,EAA6B;AAC3B;AACD;AACD,UAAI,MAAKrC,KAAL,CAAWsC,OAAf,EAAwB;AACtB,cAAKtC,KAAL,CAAWsC,OAAX;AACD;AACF,K;;AAEO7B,IAAAA,S,GAAY,UAAC8B,GAAD,EAAgC;AAClD,YAAKjD,MAAL,GAAciD,GAAd;AACD,K;;AAEO/B,IAAAA,S,GAAY,UAAC+B,GAAD,EAAgC;AAClD,YAAKlD,MAAL,GAAckD,GAAd;AACD,K,sDA/NMC,iB,GAAP,6BAA2B,CACzBC,MAAM,CAACC,gBAAP,CAAwB,SAAxB,EAAmC,KAAKN,aAAxC,EACA,KAAKjD,iBAAL,GAAyBqC,uBAAWmB,GAAX,CAAe,IAAf,EAAqB,KAAK/B,iBAA1B,CAAzB,CACD,C,QAEMgC,oB,GAAP,gCAA8B,CAC5BH,MAAM,CAACI,mBAAP,CAA2B,SAA3B,EAAsC,KAAKT,aAA3C,EACA,IAAI,KAAKjD,iBAAL,IAA0B,IAA9B,EAAoC,CAClC,KAAKA,iBAAL,CAAuB2D,MAAvB,GACD,CACDtB,uBAAWsB,MAAX,CAAkB,IAAlB,EACD,C,CAED;AACF;AACA;AACA,K,QAMSC,M,GAAP,kBAA6B,mBAC3B,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAAC7D,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAAC8D,UAAL,EAAP,CACD,CAJH,CADF,CAQD,C,QAEOA,U,GAAR,sBAAqB,mBAC4B,KAAKhD,KADjC,CACXiD,eADW,eACXA,eADW,CACMC,iBADN,eACMA,iBADN,CAGnB,oBACE,6BAAC,4BAAD,EAAmB,KAAKlD,KAAxB,eACE,6BAAC,gCAAD,qBACE,0CACGiD,eAAe,IAAI,KAAKE,YAAL,EADtB,eAEE,6BAAC,mCAAD,IACE,EAAE,MADJ,EAEE,UAAU,EAAE,KAAKC,kBAAL,EAFd,EAGE,MAAM,EAAE,CAACF,iBAHX,EAIE,KAAK,EAAE,CAACA,iBAJV,EAKE,IAAI,EAAE,KALR,EAME,OAAO,EAAE,EACPG,KAAK,EAAEtE,kBADA,EAEPuE,IAAI,EAAEvE,kBAFC,EANX,IAWG,KAAKwE,eAAL,EAXH,CAFF,CADF,CADF,CADF,CAsBD,C,QAEOA,e,GAAR,2BAAuC,0CACQ,KAAKvD,KADb,CAC7BW,KAD6B,gBAC7BA,KAD6B,CACtBsC,eADsB,gBACtBA,eADsB,CACLhC,QADK,gBACLA,QADK,CAGrC,oBACE,6BAAC,cAAD,IACE,QAAQ,EAAE,UADZ,EAEE,YAAS,gBAFX,EAGE,SAAS,EAAE,wCACRuC,mBAASC,IAAT,EADQ,IACU,IADV,MAERD,mBAASE,QAAT,CAAkB,KAAKxE,KAAvB,CAFQ,IAEwByE,OAAO,CAAC1C,QAAD,CAF/B,OAHb,EAOE,QAAQ,EAAE2C,YAAY,CAACC,IAPzB,EAQE,qBAAqB,MARvB,EASE,KAAK,EAAE,EAAElD,KAAK,EAAEA,KAAK,KAAKsC,eAAe,GAAG,GAAH,GAAS,GAA7B,CAAd,EATT,iBAWE,6BAAC,wBAAD,IAAa,cAAc,EAAE,KAAKrB,kBAAlC,EAAsD,MAAM,MAA5D,iBACE,sCACE,YAAS,qBADX,EAEE,SAAS,EAAE,yBAAG4B,mBAASM,OAAT,CAAiB,KAAK5E,KAAtB,CAAH,EAAiC,KAAKD,KAAL,CAAWqC,SAAX,IAAwBkC,mBAASO,MAAT,CAAgB,KAAK7E,KAArB,CAAzD,CAFb,EAGE,KAAK,EAAE,KAAK8E,eAAL,EAHT,iBAKE,sCAAK,GAAG,EAAE,aAACC,CAAD,UAAQ,MAAI,CAAC7E,SAAL,GAAiB6E,CAAzB,EAAV,EAAuC,SAAS,EAAET,mBAASU,MAAT,EAAlD,iBACE,6BAAC,gCAAD,CAAiB,QAAjB,IAA0B,KAAK,EAAE,KAAKzE,uBAAL,EAAjC,IACG,KAAKO,KAAL,CAAWC,QADd,CADF,CALF,CADF,CAXF,CADF,CA2BD,C,QAwCOkD,Y,GAAR,wBAAoC,UAClC,oBACE,6BAAC,cAAD,IAAQ,QAAQ,EAAE,UAAlB,EAA8B,SAAS,EAAEK,mBAASW,OAAT,EAAzC,EAA6D,QAAQ,EAAEP,YAAY,CAACC,IAApF,iBACE,6BAAC,8CAAD,IAAwB,GAAG,EAAC,MAA5B,GADF,eAEE,sCACE,GAAG,EAAC,SADN,EAEE,SAAS,EAAE,0CACRL,mBAASY,UAAT,EADQ,IACgB,IADhB,OAERZ,mBAASa,cAAT,CAAwB,KAAKnF,KAA7B,CAFQ,IAE8B,KAAKD,KAAL,CAAWsC,aAFzC,QAFb,GAFF,CADF,CAYD,C,QAEOyC,e,GAAR,2BAA+C,CAC7C,IAAMM,aAAkC,GAAG,EAA3C,CAEA,IAAI,KAAKrF,KAAL,CAAWmC,SAAf,EAA0B,CACxB,IAAI,KAAKpB,KAAL,CAAWiB,QAAf,EAAyB,CACvBqD,aAAa,CAACC,UAAd,GAA2B,EAA3B,CACD,CAFD,MAEO,CACLD,aAAa,CAACE,WAAd,GAA4B,EAA5B,CACD,CACF,CAED,OAAOF,aAAP,CACD,C,QAEOlB,kB,GAAR,8BAAqD,CACnD,IAAMqB,UAAU,GAAG,KAAKzE,KAAL,CAAWiB,QAAX,GAAsBuC,mBAASkB,eAA/B,GAAiDlB,mBAASmB,cAA7E,CAEA,OAAO,EACLtB,KAAK,EAAEoB,UAAU,EADZ,EAELG,WAAW,EAAEpB,mBAASqB,gBAAT,EAFR,EAGLvB,IAAI,EAAEE,mBAASsB,eAAT,EAHD,EAILC,UAAU,EAAEvB,mBAASwB,qBAAT,EAJP,EAKLC,MAAM,EAAER,UAAU,EALb,EAMLS,YAAY,EAAE1B,mBAASqB,gBAAT,EANT,EAAP,CAQD,C,mBAxL2BhF,eAAMsF,S,8BAAvBnG,Q,CACGoG,mB,GAAsB,U,CADzBpG,Q,CAGGqG,M,GAASC,8B,CAHZtG,Q,CAIGuG,I,GAAOC,0B,CAJVxG,Q,CAKGyG,M,GAASC,8B,CALZ1G,Q,CAMG2G,S,GAAYC,oC","sourcesContent":["import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport cn from 'classnames';\n\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { stopPropagation } from '../../lib/events/stopPropagation';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\nimport { ModalStack, ModalStackSubscription } from '../../lib/ModalStack';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { SidePageBody } from './SidePageBody';\nimport { SidePageContainer } from './SidePageContainer';\nimport { SidePageContext, SidePageContextType } from './SidePageContext';\nimport { SidePageFooter } from './SidePageFooter';\nimport { SidePageHeader } from './SidePageHeader';\nimport { jsStyles } from './SidePage.styles';\nimport { isFooter, isHeader } from './helpers';\n\nexport interface SidePageProps extends CommonProps {\n /**\n * Добавить блокирующий фон, когда сайдпейдж открыт\n */\n blockBackground?: boolean;\n\n /**\n * Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа\n */\n disableClose?: boolean;\n\n /**\n * Не закрывать сайдпейдж при клике на фон.\n */\n ignoreBackgroundClick?: boolean;\n\n /**\n * Задать ширину сайдпейджа\n */\n width?: number | string;\n\n /**\n * Вызывается, когда пользователь запросил закрытие сайдпейджа (нажал на фон, на\n * Escape или на крестик).\n */\n onClose?: () => void;\n\n /**\n * Показывать сайдпэйдж слева\n *\n */\n fromLeft?: boolean;\n\n /**\n * Отключить анимации\n *\n */\n disableAnimations?: boolean;\n}\n\nexport interface SidePageState {\n stackPosition?: number;\n hasMargin?: boolean;\n hasShadow?: boolean;\n hasBackground?: boolean;\n}\n\nconst TRANSITION_TIMEOUT = 200;\n\n/**\n * Сайдпейдж\n *\n * Содержит в себе три компоненты: **SidePage.Header**,\n * **SidePage.Body** и **SidePage.Footer**\n *\n * Для отображения серой плашки в футере в компонент\n * **Footer** необходимо передать пропс **panel**\n */\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\n public static __KONTUR_REACT_UI__ = 'SidePage';\n\n public static Header = SidePageHeader;\n public static Body = SidePageBody;\n public static Footer = SidePageFooter;\n public static Container = SidePageContainer;\n public state: SidePageState = {};\n private theme!: Theme;\n private stackSubscription: ModalStackSubscription | null = null;\n private layoutRef: HTMLElement | null = null;\n private footer: SidePageFooter | null = null;\n private header: SidePageHeader | null = null;\n\n public componentDidMount() {\n window.addEventListener('keydown', this.handleKeyDown);\n this.stackSubscription = ModalStack.add(this, this.handleStackChange);\n }\n\n public componentWillUnmount() {\n window.removeEventListener('keydown', this.handleKeyDown);\n if (this.stackSubscription != null) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this);\n }\n\n /**\n * Обновляет разметку компонента.\n * @public\n */\n public updateLayout = (): void => {\n this.header?.update();\n this.footer?.update();\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 { blockBackground, disableAnimations } = this.props;\n\n return (\n <CommonWrapper {...this.props}>\n <RenderContainer>\n <div>\n {blockBackground && this.renderShadow()}\n <CSSTransition\n in\n classNames={this.getTransitionNames()}\n appear={!disableAnimations}\n enter={!disableAnimations}\n exit={false}\n timeout={{\n enter: TRANSITION_TIMEOUT,\n exit: TRANSITION_TIMEOUT,\n }}\n >\n {this.renderContainer()}\n </CSSTransition>\n </div>\n </RenderContainer>\n </CommonWrapper>\n );\n }\n\n private renderContainer(): JSX.Element {\n const { width, blockBackground, fromLeft } = this.props;\n\n return (\n <ZIndex\n priority={'Sidepage'}\n data-tid=\"SidePage__root\"\n className={cn({\n [jsStyles.root()]: true,\n [jsStyles.leftSide(this.theme)]: Boolean(fromLeft),\n })}\n onScroll={LayoutEvents.emit}\n createStackingContext\n style={{ width: width || (blockBackground ? 800 : 500) }}\n >\n <RenderLayer onClickOutside={this.handleClickOutside} active>\n <div\n data-tid=\"SidePage__container\"\n className={cn(jsStyles.wrapper(this.theme), this.state.hasShadow && jsStyles.shadow(this.theme))}\n style={this.getSidebarStyle()}\n >\n <div ref={(_) => (this.layoutRef = _)} className={jsStyles.layout()}>\n <SidePageContext.Provider value={this.getSidePageContextProps()}>\n {this.props.children}\n </SidePageContext.Provider>\n </div>\n </div>\n </RenderLayer>\n </ZIndex>\n );\n }\n\n private getSidePageContextProps = (): SidePageContextType => {\n let hasHeader = false;\n let hasFooter = false;\n let hasPanel = false;\n\n React.Children.toArray(this.props.children).forEach((child) => {\n if (isHeader(child)) {\n hasHeader = true;\n }\n if (isFooter(child)) {\n hasFooter = true;\n if (child.props.panel) {\n hasPanel = true;\n }\n }\n });\n\n const sidePageContextProps: SidePageContextType = {\n hasHeader,\n hasFooter,\n hasPanel,\n requestClose: this.requestClose,\n getWidth: this.getWidth,\n updateLayout: this.updateLayout,\n footerRef: this.footerRef,\n headerRef: this.headerRef,\n };\n\n return sidePageContextProps;\n };\n\n private getWidth = () => {\n if (!this.layoutRef) {\n return 'auto';\n }\n return this.layoutRef.getBoundingClientRect().width;\n };\n\n private renderShadow(): JSX.Element {\n return (\n <ZIndex priority={'Sidepage'} className={jsStyles.overlay()} onScroll={LayoutEvents.emit}>\n <HideBodyVerticalScroll key=\"hbvs\" />\n <div\n key=\"overlay\"\n className={cn({\n [jsStyles.background()]: true,\n [jsStyles.backgroundGray(this.theme)]: this.state.hasBackground,\n })}\n />\n </ZIndex>\n );\n }\n\n private getSidebarStyle(): React.CSSProperties {\n const sidePageStyle: React.CSSProperties = {};\n\n if (this.state.hasMargin) {\n if (this.props.fromLeft) {\n sidePageStyle.marginLeft = 20;\n } else {\n sidePageStyle.marginRight = 20;\n }\n }\n\n return sidePageStyle;\n }\n\n private getTransitionNames(): Record<string, string> {\n const transition = this.props.fromLeft ? jsStyles.transitionRight : jsStyles.transitionLeft;\n\n return {\n enter: transition(),\n enterActive: jsStyles.transitionActive(),\n exit: jsStyles.transitionLeave(),\n exitActive: jsStyles.transitionLeaveActive(),\n appear: transition(),\n appearActive: jsStyles.transitionActive(),\n };\n }\n\n private handleStackChange = (stack: ReadonlyArray<React.Component>) => {\n const sidePages = stack.filter((x) => x instanceof SidePage && x.props.fromLeft === this.props.fromLeft);\n const currentSidePagePosition = sidePages.indexOf(this);\n\n const hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;\n const hasShadow = sidePages.length < 3 || currentSidePagePosition > sidePages.length - 3;\n const hasBackground = ModalStack.isBlocking(this);\n\n this.setState({\n stackPosition: stack.indexOf(this),\n hasMargin,\n hasShadow,\n hasBackground,\n });\n };\n\n private handleClickOutside = (e: Event) => {\n if (this.state.stackPosition === 0 && !this.props.ignoreBackgroundClick) {\n // ignore mousedown on window scrollbar\n if (e instanceof MouseEvent && e.clientX > document.documentElement.clientWidth) {\n return;\n }\n this.requestClose();\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.state.stackPosition !== 0) {\n return;\n }\n if (isKeyEscape(e)) {\n stopPropagation(e);\n this.requestClose();\n }\n };\n\n private requestClose = () => {\n if (this.props.disableClose) {\n return;\n }\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n private headerRef = (ref: SidePageHeader | null) => {\n this.header = ref;\n };\n\n private footerRef = (ref: SidePageFooter | null) => {\n this.footer = ref;\n };\n}\n"]}