@skbkontur/react-ui 0.0.0-c91b3db3f4 → 0.0.0-cb270e7a13

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 (1804) hide show
  1. package/CHANGELOG.md +2508 -2056
  2. package/LICENSE +21 -21
  3. package/README.md +68 -61
  4. package/cjs/components/Autocomplete/Autocomplete.d.ts +12 -0
  5. package/cjs/components/Autocomplete/Autocomplete.js +103 -30
  6. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  7. package/cjs/components/Autocomplete/Autocomplete.md +7 -7
  8. package/cjs/components/Autocomplete/Autocomplete.styles.d.ts +4 -0
  9. package/cjs/components/Autocomplete/Autocomplete.styles.js +10 -0
  10. package/cjs/components/Autocomplete/Autocomplete.styles.js.map +1 -0
  11. package/cjs/components/Autocomplete/index.js.map +1 -1
  12. package/cjs/components/Button/Button.d.ts +73 -13
  13. package/cjs/components/Button/Button.js +111 -11
  14. package/cjs/components/Button/Button.js.map +1 -1
  15. package/cjs/components/Button/Button.md +104 -92
  16. package/cjs/components/Button/Button.mixins.d.ts +6 -5
  17. package/cjs/components/Button/Button.mixins.js +33 -40
  18. package/cjs/components/Button/Button.mixins.js.map +1 -1
  19. package/cjs/components/Button/Button.styles.d.ts +33 -11
  20. package/cjs/components/Button/Button.styles.js +283 -256
  21. package/cjs/components/Button/Button.styles.js.map +1 -1
  22. package/cjs/components/Button/Corners.js.map +1 -1
  23. package/cjs/components/Button/index.js.map +1 -1
  24. package/cjs/components/Center/Center.d.ts +4 -8
  25. package/cjs/components/Center/Center.js +10 -15
  26. package/cjs/components/Center/Center.js.map +1 -1
  27. package/cjs/components/Center/Center.md +26 -5
  28. package/cjs/components/Center/Center.styles.d.ts +1 -1
  29. package/cjs/components/Center/Center.styles.js +3 -6
  30. package/cjs/components/Center/Center.styles.js.map +1 -1
  31. package/cjs/components/Center/index.js.map +1 -1
  32. package/cjs/components/Checkbox/Checkbox.d.ts +31 -15
  33. package/cjs/components/Checkbox/Checkbox.js +84 -51
  34. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  35. package/cjs/components/Checkbox/Checkbox.md +104 -63
  36. package/cjs/components/Checkbox/Checkbox.styles.d.ts +12 -7
  37. package/cjs/components/Checkbox/Checkbox.styles.js +94 -79
  38. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  39. package/cjs/components/Checkbox/index.js.map +1 -1
  40. package/cjs/components/ComboBox/ComboBox.d.ts +9 -1
  41. package/cjs/components/ComboBox/ComboBox.js +29 -22
  42. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  43. package/cjs/components/ComboBox/ComboBox.md +445 -445
  44. package/cjs/components/ComboBox/index.js.map +1 -1
  45. package/cjs/components/CurrencyInput/CurrencyHelper.js +2 -1
  46. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  47. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +4 -1
  48. package/cjs/components/CurrencyInput/CurrencyInput.js +58 -14
  49. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  50. package/cjs/components/CurrencyInput/CurrencyInput.md +24 -24
  51. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  52. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  53. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  54. package/cjs/components/CurrencyInput/SelectionHelper.js.map +1 -1
  55. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  56. package/cjs/components/CurrencyInput/index.js.map +1 -1
  57. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  58. package/cjs/components/CurrencyLabel/CurrencyLabel.md +23 -23
  59. package/cjs/components/CurrencyLabel/index.js.map +1 -1
  60. package/cjs/components/DateInput/DateFragmentsView.js +2 -2
  61. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  62. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +1 -1
  63. package/cjs/components/DateInput/DateFragmentsView.styles.js +4 -7
  64. package/cjs/components/DateInput/DateFragmentsView.styles.js.map +1 -1
  65. package/cjs/components/DateInput/DateInput.d.ts +7 -0
  66. package/cjs/components/DateInput/DateInput.js +21 -9
  67. package/cjs/components/DateInput/DateInput.js.map +1 -1
  68. package/cjs/components/DateInput/DateInput.md +106 -106
  69. package/cjs/components/DateInput/DateInput.styles.d.ts +3 -1
  70. package/cjs/components/DateInput/DateInput.styles.js +15 -3
  71. package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
  72. package/cjs/components/DateInput/ViewDateInputValidateChecks.js.map +1 -1
  73. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  74. package/cjs/components/DateInput/helpers/InternalDateMediator.js +1 -4
  75. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  76. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  77. package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
  78. package/cjs/components/DateInput/index.js.map +1 -1
  79. package/cjs/components/DatePicker/DatePicker.d.ts +16 -2
  80. package/cjs/components/DatePicker/DatePicker.js +59 -23
  81. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  82. package/cjs/components/DatePicker/DatePicker.md +307 -307
  83. package/cjs/components/DatePicker/DatePicker.styles.d.ts +1 -1
  84. package/cjs/components/DatePicker/DatePicker.styles.js +4 -5
  85. package/cjs/components/DatePicker/DatePicker.styles.js.map +1 -1
  86. package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
  87. package/cjs/components/DatePicker/Picker.js +2 -1
  88. package/cjs/components/DatePicker/Picker.js.map +1 -1
  89. package/cjs/components/DatePicker/Picker.styles.d.ts +1 -1
  90. package/cjs/components/DatePicker/Picker.styles.js +5 -7
  91. package/cjs/components/DatePicker/Picker.styles.js.map +1 -1
  92. package/cjs/components/DatePicker/index.js.map +1 -1
  93. package/cjs/components/DatePicker/locale/index.js.map +1 -1
  94. package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
  95. package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
  96. package/cjs/components/Dropdown/Dropdown.d.ts +3 -2
  97. package/cjs/components/Dropdown/Dropdown.js +25 -24
  98. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  99. package/cjs/components/Dropdown/Dropdown.md +11 -12
  100. package/cjs/components/Dropdown/index.js.map +1 -1
  101. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +19 -3
  102. package/cjs/components/DropdownMenu/DropdownMenu.js +21 -3
  103. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  104. package/cjs/components/DropdownMenu/DropdownMenu.md +154 -73
  105. package/cjs/components/DropdownMenu/index.js.map +1 -1
  106. package/cjs/components/FxInput/FxInput.js +8 -2
  107. package/cjs/components/FxInput/FxInput.js.map +1 -1
  108. package/cjs/components/FxInput/FxInput.md +16 -16
  109. package/cjs/components/FxInput/index.js.map +1 -1
  110. package/cjs/components/Gapped/Gapped.d.ts +4 -3
  111. package/cjs/components/Gapped/Gapped.js +36 -21
  112. package/cjs/components/Gapped/Gapped.js.map +1 -1
  113. package/cjs/components/Gapped/Gapped.md +43 -43
  114. package/cjs/components/Gapped/index.js.map +1 -1
  115. package/cjs/components/Group/Group.js +10 -10
  116. package/cjs/components/Group/Group.js.map +1 -1
  117. package/cjs/components/Group/Group.md +18 -18
  118. package/cjs/components/Group/Group.styles.d.ts +1 -1
  119. package/cjs/components/Group/Group.styles.js +5 -7
  120. package/cjs/components/Group/Group.styles.js.map +1 -1
  121. package/cjs/components/Group/index.js.map +1 -1
  122. package/cjs/components/Hint/Hint.d.ts +41 -0
  123. package/cjs/components/Hint/Hint.js +71 -6
  124. package/cjs/components/Hint/Hint.js.map +1 -1
  125. package/cjs/components/Hint/Hint.md +42 -3
  126. package/cjs/components/Hint/Hint.styles.d.ts +2 -1
  127. package/cjs/components/Hint/Hint.styles.js +14 -9
  128. package/cjs/components/Hint/Hint.styles.js.map +1 -1
  129. package/cjs/components/Hint/index.js.map +1 -1
  130. package/cjs/components/Input/Input.d.ts +10 -2
  131. package/cjs/components/Input/Input.js +60 -39
  132. package/cjs/components/Input/Input.js.map +1 -1
  133. package/cjs/components/Input/Input.md +13 -13
  134. package/cjs/components/Input/Input.styles.d.ts +9 -1
  135. package/cjs/components/Input/Input.styles.js +133 -87
  136. package/cjs/components/Input/Input.styles.js.map +1 -1
  137. package/cjs/components/Input/index.js.map +1 -1
  138. package/cjs/components/Kebab/Kebab.d.ts +10 -2
  139. package/cjs/components/Kebab/Kebab.js +36 -37
  140. package/cjs/components/Kebab/Kebab.js.map +1 -1
  141. package/cjs/components/Kebab/Kebab.md +291 -45
  142. package/cjs/components/Kebab/Kebab.styles.d.ts +6 -5
  143. package/cjs/components/Kebab/Kebab.styles.js +20 -26
  144. package/cjs/components/Kebab/Kebab.styles.js.map +1 -1
  145. package/cjs/components/Kebab/__stories__/Kebab.items.js.map +1 -1
  146. package/cjs/components/Kebab/index.js.map +1 -1
  147. package/cjs/components/Link/Link.d.ts +29 -11
  148. package/cjs/components/Link/Link.js +46 -30
  149. package/cjs/components/Link/Link.js.map +1 -1
  150. package/cjs/components/Link/Link.md +77 -11
  151. package/cjs/components/Link/Link.mixins.js +2 -1
  152. package/cjs/components/Link/Link.mixins.js.map +1 -1
  153. package/cjs/components/Link/Link.styles.d.ts +2 -1
  154. package/cjs/components/Link/Link.styles.js +13 -17
  155. package/cjs/components/Link/Link.styles.js.map +1 -1
  156. package/cjs/components/Link/index.js.map +1 -1
  157. package/cjs/components/Loader/Loader.d.ts +34 -3
  158. package/cjs/components/Loader/Loader.js +163 -24
  159. package/cjs/components/Loader/Loader.js.map +1 -1
  160. package/cjs/components/Loader/Loader.md +25 -25
  161. package/cjs/components/Loader/Loader.styles.d.ts +1 -3
  162. package/cjs/components/Loader/Loader.styles.js +11 -31
  163. package/cjs/components/Loader/Loader.styles.js.map +1 -1
  164. package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
  165. package/cjs/components/Loader/index.js.map +1 -1
  166. package/cjs/components/MenuHeader/MenuHeader.d.ts +5 -1
  167. package/cjs/components/MenuHeader/MenuHeader.js +11 -7
  168. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  169. package/cjs/components/MenuHeader/MenuHeader.md +23 -0
  170. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +1 -1
  171. package/cjs/components/MenuHeader/MenuHeader.styles.js +3 -6
  172. package/cjs/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  173. package/cjs/components/MenuHeader/index.js.map +1 -1
  174. package/cjs/components/MenuItem/MenuItem.d.ts +51 -6
  175. package/cjs/components/MenuItem/MenuItem.js +61 -17
  176. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  177. package/cjs/components/MenuItem/MenuItem.md +109 -7
  178. package/cjs/components/MenuItem/MenuItem.styles.d.ts +2 -1
  179. package/cjs/components/MenuItem/MenuItem.styles.js +24 -18
  180. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  181. package/cjs/components/MenuItem/index.js.map +1 -1
  182. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +3 -1
  183. package/cjs/components/MenuSeparator/MenuSeparator.js +5 -3
  184. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  185. package/cjs/components/MenuSeparator/MenuSeparator.md +14 -0
  186. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +1 -1
  187. package/cjs/components/MenuSeparator/MenuSeparator.styles.js +3 -6
  188. package/cjs/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  189. package/cjs/components/MenuSeparator/index.js.map +1 -1
  190. package/cjs/components/Modal/Modal.d.ts +7 -3
  191. package/cjs/components/Modal/Modal.js +51 -25
  192. package/cjs/components/Modal/Modal.js.map +1 -1
  193. package/cjs/components/Modal/Modal.md +38 -38
  194. package/cjs/components/Modal/Modal.styles.d.ts +16 -2
  195. package/cjs/components/Modal/Modal.styles.js +142 -40
  196. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  197. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  198. package/cjs/components/Modal/ModalBody.js +40 -24
  199. package/cjs/components/Modal/ModalBody.js.map +1 -1
  200. package/cjs/components/Modal/ModalClose.d.ts +1 -1
  201. package/cjs/components/Modal/ModalClose.js +40 -11
  202. package/cjs/components/Modal/ModalClose.js.map +1 -1
  203. package/cjs/components/Modal/ModalContext.d.ts +5 -1
  204. package/cjs/components/Modal/ModalContext.js +5 -0
  205. package/cjs/components/Modal/ModalContext.js.map +1 -1
  206. package/cjs/components/Modal/ModalFooter.js +35 -29
  207. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  208. package/cjs/components/Modal/ModalHeader.js +34 -29
  209. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  210. package/cjs/components/Modal/index.js.map +1 -1
  211. package/cjs/components/Paging/NavigationHelper.js +2 -1
  212. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  213. package/cjs/components/Paging/Paging.js +32 -32
  214. package/cjs/components/Paging/Paging.js.map +1 -1
  215. package/cjs/components/Paging/Paging.md +43 -43
  216. package/cjs/components/Paging/Paging.styles.d.ts +2 -2
  217. package/cjs/components/Paging/Paging.styles.js +16 -31
  218. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  219. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  220. package/cjs/components/Paging/index.js.map +1 -1
  221. package/cjs/components/Paging/locale/index.js.map +1 -1
  222. package/cjs/components/Paging/locale/locales/en.js.map +1 -1
  223. package/cjs/components/Paging/locale/locales/ru.js.map +1 -1
  224. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -0
  225. package/cjs/components/PasswordInput/PasswordInput.js +34 -10
  226. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  227. package/cjs/components/PasswordInput/PasswordInput.md +9 -9
  228. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +6 -2
  229. package/cjs/components/PasswordInput/PasswordInput.styles.js +30 -11
  230. package/cjs/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  231. package/cjs/components/PasswordInput/index.js.map +1 -1
  232. package/cjs/components/Radio/Radio.d.ts +37 -13
  233. package/cjs/components/Radio/Radio.js +90 -26
  234. package/cjs/components/Radio/Radio.js.map +1 -1
  235. package/cjs/components/Radio/Radio.md +38 -14
  236. package/cjs/components/Radio/Radio.styles.d.ts +11 -5
  237. package/cjs/components/Radio/Radio.styles.js +97 -60
  238. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  239. package/cjs/components/Radio/index.js.map +1 -1
  240. package/cjs/components/RadioGroup/Prevent.js.map +1 -1
  241. package/cjs/components/RadioGroup/RadioGroup.d.ts +51 -61
  242. package/cjs/components/RadioGroup/RadioGroup.js +33 -79
  243. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  244. package/cjs/components/RadioGroup/RadioGroup.md +43 -43
  245. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -1
  246. package/cjs/components/RadioGroup/RadioGroup.styles.js +5 -7
  247. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  248. package/cjs/components/RadioGroup/index.js.map +1 -1
  249. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +42 -0
  250. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +127 -0
  251. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -0
  252. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -0
  253. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +93 -0
  254. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -0
  255. package/cjs/components/ResponsiveLayout/index.d.ts +1 -0
  256. package/cjs/components/ResponsiveLayout/index.js +1 -0
  257. package/cjs/components/ResponsiveLayout/index.js.map +1 -0
  258. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -0
  259. package/cjs/components/ScrollContainer/ScrollBar.js +244 -0
  260. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -0
  261. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
  262. package/cjs/components/ScrollContainer/ScrollContainer.constants.js +33 -0
  263. package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -0
  264. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +42 -23
  265. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
  266. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js +62 -0
  267. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -0
  268. package/cjs/components/ScrollContainer/ScrollContainer.js +93 -155
  269. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  270. package/cjs/components/ScrollContainer/ScrollContainer.md +143 -94
  271. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +13 -4
  272. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +72 -12
  273. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  274. package/cjs/components/ScrollContainer/index.js.map +1 -1
  275. package/cjs/components/Select/Item.js.map +1 -1
  276. package/cjs/components/Select/Select.d.ts +14 -1
  277. package/cjs/components/Select/Select.js +94 -6
  278. package/cjs/components/Select/Select.js.map +1 -1
  279. package/cjs/components/Select/Select.md +67 -55
  280. package/cjs/components/Select/Select.styles.d.ts +5 -2
  281. package/cjs/components/Select/Select.styles.js +35 -19
  282. package/cjs/components/Select/Select.styles.js.map +1 -1
  283. package/cjs/components/Select/index.js.map +1 -1
  284. package/cjs/components/Select/locale/index.js.map +1 -1
  285. package/cjs/components/Select/locale/locales/en.js.map +1 -1
  286. package/cjs/components/Select/locale/locales/ru.js.map +1 -1
  287. package/cjs/components/Select/selectTheme.js +5 -1
  288. package/cjs/components/Select/selectTheme.js.map +1 -1
  289. package/cjs/components/SidePage/SidePage.d.ts +19 -1
  290. package/cjs/components/SidePage/SidePage.js +78 -47
  291. package/cjs/components/SidePage/SidePage.js.map +1 -1
  292. package/cjs/components/SidePage/SidePage.md +48 -48
  293. package/cjs/components/SidePage/SidePage.styles.d.ts +22 -7
  294. package/cjs/components/SidePage/SidePage.styles.js +187 -64
  295. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  296. package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
  297. package/cjs/components/SidePage/SidePageBody.js +24 -11
  298. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  299. package/cjs/components/SidePage/SidePageContainer.d.ts +1 -0
  300. package/cjs/components/SidePage/SidePageContainer.js +20 -15
  301. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  302. package/cjs/components/SidePage/SidePageContext.d.ts +3 -0
  303. package/cjs/components/SidePage/SidePageContext.js +3 -0
  304. package/cjs/components/SidePage/SidePageContext.js.map +1 -1
  305. package/cjs/components/SidePage/SidePageFooter.d.ts +4 -0
  306. package/cjs/components/SidePage/SidePageFooter.js +36 -10
  307. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  308. package/cjs/components/SidePage/SidePageHeader.d.ts +10 -4
  309. package/cjs/components/SidePage/SidePageHeader.js +94 -32
  310. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  311. package/cjs/components/SidePage/index.js.map +1 -1
  312. package/cjs/components/Spinner/Spinner.d.ts +1 -0
  313. package/cjs/components/Spinner/Spinner.js +17 -16
  314. package/cjs/components/Spinner/Spinner.js.map +1 -1
  315. package/cjs/components/Spinner/Spinner.md +34 -34
  316. package/cjs/components/Spinner/Spinner.styles.d.ts +2 -1
  317. package/cjs/components/Spinner/Spinner.styles.js +17 -12
  318. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  319. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  320. package/cjs/components/Spinner/index.js.map +1 -1
  321. package/cjs/components/Spinner/locale/index.js.map +1 -1
  322. package/cjs/components/Spinner/locale/locales/en.js.map +1 -1
  323. package/cjs/components/Spinner/locale/locales/ru.js.map +1 -1
  324. package/cjs/components/Sticky/Sticky.js +6 -6
  325. package/cjs/components/Sticky/Sticky.js.map +1 -1
  326. package/cjs/components/Sticky/Sticky.md +27 -27
  327. package/cjs/components/Sticky/Sticky.styles.d.ts +1 -1
  328. package/cjs/components/Sticky/Sticky.styles.js +3 -6
  329. package/cjs/components/Sticky/Sticky.styles.js.map +1 -1
  330. package/cjs/components/Sticky/index.js.map +1 -1
  331. package/cjs/components/Switcher/Switcher.d.ts +2 -2
  332. package/cjs/components/Switcher/Switcher.js +5 -5
  333. package/cjs/components/Switcher/Switcher.js.map +1 -1
  334. package/cjs/components/Switcher/Switcher.md +10 -10
  335. package/cjs/components/Switcher/Switcher.styles.d.ts +6 -5
  336. package/cjs/components/Switcher/Switcher.styles.js +30 -26
  337. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  338. package/cjs/components/Switcher/index.js.map +1 -1
  339. package/cjs/components/Switcher/switcherTheme.js.map +1 -1
  340. package/cjs/components/Tabs/Indicator.d.ts +1 -2
  341. package/cjs/components/Tabs/Indicator.js +3 -5
  342. package/cjs/components/Tabs/Indicator.js.map +1 -1
  343. package/cjs/components/Tabs/Indicator.styles.d.ts +1 -1
  344. package/cjs/components/Tabs/Indicator.styles.js +3 -6
  345. package/cjs/components/Tabs/Indicator.styles.js.map +1 -1
  346. package/cjs/components/Tabs/Tab.d.ts +7 -12
  347. package/cjs/components/Tabs/Tab.js +21 -29
  348. package/cjs/components/Tabs/Tab.js.map +1 -1
  349. package/cjs/components/Tabs/Tab.styles.d.ts +17 -2
  350. package/cjs/components/Tabs/Tab.styles.js +87 -46
  351. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  352. package/cjs/components/Tabs/Tabs.d.ts +4 -5
  353. package/cjs/components/Tabs/Tabs.js +6 -10
  354. package/cjs/components/Tabs/Tabs.js.map +1 -1
  355. package/cjs/components/Tabs/Tabs.md +36 -36
  356. package/cjs/components/Tabs/Tabs.styles.d.ts +2 -2
  357. package/cjs/components/Tabs/Tabs.styles.js +5 -10
  358. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  359. package/cjs/components/Tabs/TabsContext.d.ts +8 -8
  360. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  361. package/cjs/components/Tabs/index.js.map +1 -1
  362. package/cjs/components/Textarea/Textarea.d.ts +9 -4
  363. package/cjs/components/Textarea/Textarea.js +51 -28
  364. package/cjs/components/Textarea/Textarea.js.map +1 -1
  365. package/cjs/components/Textarea/Textarea.md +25 -25
  366. package/cjs/components/Textarea/Textarea.styles.d.ts +2 -1
  367. package/cjs/components/Textarea/Textarea.styles.js +28 -26
  368. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  369. package/cjs/components/Textarea/TextareaCounter.js +7 -7
  370. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  371. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  372. package/cjs/components/Textarea/index.js.map +1 -1
  373. package/cjs/components/Toast/Toast.js +20 -20
  374. package/cjs/components/Toast/Toast.js.map +1 -1
  375. package/cjs/components/Toast/Toast.md +41 -41
  376. package/cjs/components/Toast/Toast.styles.d.ts +1 -1
  377. package/cjs/components/Toast/Toast.styles.js +3 -6
  378. package/cjs/components/Toast/Toast.styles.js.map +1 -1
  379. package/cjs/components/Toast/ToastStatic.js +4 -3
  380. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  381. package/cjs/components/Toast/ToastView.js +9 -9
  382. package/cjs/components/Toast/ToastView.js.map +1 -1
  383. package/cjs/components/Toast/ToastView.styles.d.ts +1 -1
  384. package/cjs/components/Toast/ToastView.styles.js +5 -7
  385. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  386. package/cjs/components/Toast/index.js.map +1 -1
  387. package/cjs/components/Toggle/Toggle.d.ts +47 -1
  388. package/cjs/components/Toggle/Toggle.js +72 -8
  389. package/cjs/components/Toggle/Toggle.js.map +1 -1
  390. package/cjs/components/Toggle/Toggle.md +94 -20
  391. package/cjs/components/Toggle/Toggle.styles.d.ts +16 -5
  392. package/cjs/components/Toggle/Toggle.styles.js +103 -55
  393. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  394. package/cjs/components/Toggle/index.js.map +1 -1
  395. package/cjs/components/Token/Token.d.ts +8 -2
  396. package/cjs/components/Token/Token.js +8 -2
  397. package/cjs/components/Token/Token.js.map +1 -1
  398. package/cjs/components/Token/Token.md +112 -112
  399. package/cjs/components/Token/Token.styles.d.ts +5 -2
  400. package/cjs/components/Token/Token.styles.js +20 -19
  401. package/cjs/components/Token/Token.styles.js.map +1 -1
  402. package/cjs/components/Token/index.js.map +1 -1
  403. package/cjs/components/TokenInput/TextWidthHelper.js +4 -4
  404. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  405. package/cjs/components/TokenInput/TokenInput.d.ts +25 -0
  406. package/cjs/components/TokenInput/TokenInput.js +67 -21
  407. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  408. package/cjs/components/TokenInput/TokenInput.md +79 -79
  409. package/cjs/components/TokenInput/TokenInput.styles.d.ts +1 -3
  410. package/cjs/components/TokenInput/TokenInput.styles.js +39 -39
  411. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  412. package/cjs/components/TokenInput/TokenInputMenu.d.ts +3 -0
  413. package/cjs/components/TokenInput/TokenInputMenu.js +12 -3
  414. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  415. package/cjs/components/TokenInput/TokenInputReducer.js.map +1 -1
  416. package/cjs/components/TokenInput/index.js.map +1 -1
  417. package/cjs/components/TokenInput/locale/index.js.map +1 -1
  418. package/cjs/components/TokenInput/locale/locales/en.js.map +1 -1
  419. package/cjs/components/TokenInput/locale/locales/ru.js.map +1 -1
  420. package/cjs/components/Tooltip/Tooltip.d.ts +5 -2
  421. package/cjs/components/Tooltip/Tooltip.js +36 -12
  422. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  423. package/cjs/components/Tooltip/Tooltip.md +292 -292
  424. package/cjs/components/Tooltip/Tooltip.styles.d.ts +1 -1
  425. package/cjs/components/Tooltip/Tooltip.styles.js +8 -8
  426. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  427. package/cjs/components/Tooltip/index.js.map +1 -1
  428. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +26 -8
  429. package/cjs/components/TooltipMenu/TooltipMenu.js +25 -7
  430. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  431. package/cjs/components/TooltipMenu/TooltipMenu.md +183 -115
  432. package/cjs/components/TooltipMenu/index.js.map +1 -1
  433. package/cjs/index.d.ts +3 -3
  434. package/cjs/index.js +3 -3
  435. package/cjs/index.js.map +1 -1
  436. package/cjs/internal/BGRuler.js +5 -5
  437. package/cjs/internal/BGRuler.js.map +1 -1
  438. package/cjs/internal/Calendar/Calendar.d.ts +6 -0
  439. package/cjs/internal/Calendar/Calendar.js +64 -18
  440. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  441. package/cjs/internal/Calendar/Calendar.styles.d.ts +1 -1
  442. package/cjs/internal/Calendar/Calendar.styles.js +5 -7
  443. package/cjs/internal/Calendar/Calendar.styles.js.map +1 -1
  444. package/cjs/internal/Calendar/CalendarDateShape.js.map +1 -1
  445. package/cjs/internal/Calendar/CalendarScrollEvents.js.map +1 -1
  446. package/cjs/internal/Calendar/CalendarUtils.js +20 -21
  447. package/cjs/internal/Calendar/CalendarUtils.js.map +1 -1
  448. package/cjs/internal/Calendar/DayCellView.js +8 -8
  449. package/cjs/internal/Calendar/DayCellView.js.map +1 -1
  450. package/cjs/internal/Calendar/DayCellView.styles.d.ts +1 -1
  451. package/cjs/internal/Calendar/DayCellView.styles.js +8 -11
  452. package/cjs/internal/Calendar/DayCellView.styles.js.map +1 -1
  453. package/cjs/internal/Calendar/DayCellViewModel.js.map +1 -1
  454. package/cjs/internal/Calendar/Month.js +3 -2
  455. package/cjs/internal/Calendar/Month.js.map +1 -1
  456. package/cjs/internal/Calendar/MonthView.js +10 -10
  457. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  458. package/cjs/internal/Calendar/MonthView.styles.d.ts +3 -2
  459. package/cjs/internal/Calendar/MonthView.styles.js +13 -11
  460. package/cjs/internal/Calendar/MonthView.styles.js.map +1 -1
  461. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  462. package/cjs/internal/Calendar/config.js.map +1 -1
  463. package/cjs/internal/Calendar/index.js.map +1 -1
  464. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
  465. package/cjs/internal/CommonWrapper/CommonWrapper.js +11 -3
  466. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  467. package/cjs/internal/CommonWrapper/index.js.map +1 -1
  468. package/cjs/internal/ComponentCombinator.js.map +1 -1
  469. package/cjs/internal/ComponentTable.js.map +1 -1
  470. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  471. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +20 -2
  472. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  473. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +21 -1
  474. package/cjs/internal/CustomComboBox/ComboBoxView.js +102 -14
  475. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  476. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +8 -0
  477. package/cjs/internal/CustomComboBox/CustomComboBox.js +35 -15
  478. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  479. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +2 -2
  480. package/cjs/internal/CustomComboBox/CustomComboBox.styles.js +6 -8
  481. package/cjs/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
  482. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +5 -4
  483. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  484. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
  485. package/cjs/internal/CustomComboBox/index.js.map +1 -1
  486. package/cjs/internal/CustomComboBox/locale/index.js.map +1 -1
  487. package/cjs/internal/CustomComboBox/locale/locales/en.js.map +1 -1
  488. package/cjs/internal/CustomComboBox/locale/locales/ru.js.map +1 -1
  489. package/cjs/internal/DateSelect/DateSelect.d.ts +3 -0
  490. package/cjs/internal/DateSelect/DateSelect.js +42 -4
  491. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  492. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +3 -3
  493. package/cjs/internal/DateSelect/DateSelect.styles.js +14 -19
  494. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  495. package/cjs/internal/DateSelect/index.js.map +1 -1
  496. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  497. package/cjs/internal/DropdownContainer/index.js.map +1 -1
  498. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  499. package/cjs/internal/FocusTrap/index.js.map +1 -1
  500. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -3
  501. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +31 -72
  502. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  503. package/cjs/internal/HideBodyVerticalScroll/index.js.map +1 -1
  504. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  505. package/cjs/internal/IgnoreLayerClick/index.js.map +1 -1
  506. package/cjs/internal/InputLikeText/HiddenInput.js +4 -4
  507. package/cjs/internal/InputLikeText/HiddenInput.js.map +1 -1
  508. package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -1
  509. package/cjs/internal/InputLikeText/InputLikeText.js +106 -59
  510. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  511. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +2 -3
  512. package/cjs/internal/InputLikeText/InputLikeText.styles.js +5 -14
  513. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  514. package/cjs/internal/InputLikeText/index.js.map +1 -1
  515. package/cjs/internal/InternalMenu/InternalMenu.d.ts +6 -1
  516. package/cjs/internal/InternalMenu/InternalMenu.js +15 -10
  517. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  518. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +1 -1
  519. package/cjs/internal/InternalMenu/InternalMenu.styles.js +4 -7
  520. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  521. package/cjs/internal/InternalMenu/index.js.map +1 -1
  522. package/cjs/internal/InternalMenu/isActiveElement.js.map +1 -1
  523. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js +7 -7
  524. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  525. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +1 -1
  526. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js +3 -6
  527. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
  528. package/cjs/internal/MaskCharLowLine/index.js.map +1 -1
  529. package/cjs/internal/MaskedInput/MaskedInput.js +2 -2
  530. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  531. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +1 -1
  532. package/cjs/internal/MaskedInput/MaskedInput.styles.js +3 -6
  533. package/cjs/internal/MaskedInput/MaskedInput.styles.js.map +1 -1
  534. package/cjs/internal/MaskedInput/index.js.map +1 -1
  535. package/cjs/internal/Menu/Menu.d.ts +5 -0
  536. package/cjs/internal/Menu/Menu.js +51 -44
  537. package/cjs/internal/Menu/Menu.js.map +1 -1
  538. package/cjs/internal/Menu/Menu.styles.d.ts +1 -1
  539. package/cjs/internal/Menu/Menu.styles.js +7 -11
  540. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  541. package/cjs/internal/Menu/index.js.map +1 -1
  542. package/cjs/internal/Menu/isActiveElement.js.map +1 -1
  543. package/cjs/internal/MobilePopup/MobilePopup.d.ts +34 -0
  544. package/cjs/internal/MobilePopup/MobilePopup.js +141 -0
  545. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -0
  546. package/cjs/internal/MobilePopup/MobilePopup.styles.d.ts +10 -0
  547. package/cjs/internal/MobilePopup/MobilePopup.styles.js +75 -0
  548. package/cjs/internal/MobilePopup/MobilePopup.styles.js.map +1 -0
  549. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -0
  550. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +69 -0
  551. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -0
  552. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -0
  553. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +65 -0
  554. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -0
  555. package/cjs/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -0
  556. package/cjs/internal/MobilePopup/MobilePopupHeader/index.js +1 -0
  557. package/cjs/internal/MobilePopup/MobilePopupHeader/index.js.map +1 -0
  558. package/cjs/internal/MobilePopup/index.d.ts +1 -0
  559. package/cjs/internal/MobilePopup/index.js +1 -0
  560. package/cjs/internal/MobilePopup/index.js.map +1 -0
  561. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -0
  562. package/cjs/internal/NativeDateInput/NativeDateInput.js +65 -0
  563. package/cjs/internal/NativeDateInput/NativeDateInput.js.map +1 -0
  564. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -0
  565. package/cjs/internal/NativeDateInput/NativeDateInput.styles.js +19 -0
  566. package/cjs/internal/NativeDateInput/NativeDateInput.styles.js.map +1 -0
  567. package/cjs/internal/NativeDateInput/index.d.ts +1 -0
  568. package/cjs/internal/NativeDateInput/index.js +1 -0
  569. package/cjs/internal/NativeDateInput/index.js.map +1 -0
  570. package/cjs/internal/NativeDateInput/utils.d.ts +7 -0
  571. package/cjs/internal/NativeDateInput/utils.js +49 -0
  572. package/cjs/internal/NativeDateInput/utils.js.map +1 -0
  573. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  574. package/cjs/internal/Popup/Popup.d.ts +21 -0
  575. package/cjs/internal/Popup/Popup.js +110 -42
  576. package/cjs/internal/Popup/Popup.js.map +1 -1
  577. package/cjs/internal/Popup/Popup.styles.d.ts +1 -1
  578. package/cjs/internal/Popup/Popup.styles.js +10 -10
  579. package/cjs/internal/Popup/Popup.styles.js.map +1 -1
  580. package/cjs/internal/Popup/PopupHelper.js +1 -0
  581. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  582. package/cjs/internal/Popup/PopupPin.js +17 -17
  583. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  584. package/cjs/internal/Popup/PopupPin.styles.d.ts +1 -1
  585. package/cjs/internal/Popup/PopupPin.styles.js +3 -6
  586. package/cjs/internal/Popup/PopupPin.styles.js.map +1 -1
  587. package/cjs/internal/Popup/index.js.map +1 -1
  588. package/cjs/internal/PopupMenu/PopupMenu.d.ts +3 -1
  589. package/cjs/internal/PopupMenu/PopupMenu.js +11 -5
  590. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  591. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +1 -1
  592. package/cjs/internal/PopupMenu/PopupMenu.styles.js +6 -7
  593. package/cjs/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
  594. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +1 -1
  595. package/cjs/internal/PopupMenu/index.js.map +1 -1
  596. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  597. package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
  598. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  599. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  600. package/cjs/internal/RenderContainer/index.js.map +1 -1
  601. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  602. package/cjs/internal/RenderLayer/index.js.map +1 -1
  603. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  604. package/cjs/internal/ResizeDetector/ResizeDetector.js +6 -1
  605. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  606. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +2 -1
  607. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js +11 -6
  608. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  609. package/cjs/internal/ResizeDetector/index.js.map +1 -1
  610. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  611. package/cjs/internal/ThemePlayground/darkTheme.d.ts +18 -4
  612. package/cjs/internal/ThemePlayground/darkTheme.js +48 -14
  613. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  614. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +88 -60
  615. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  616. package/cjs/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  617. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +9 -4
  618. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js +42 -32
  619. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js.map +1 -1
  620. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  621. package/cjs/internal/ThemeShowcase/VariablesCollector.js +58 -53
  622. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  623. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  624. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +1 -0
  625. package/cjs/internal/ZIndex/ZIndexStorage.js +1 -0
  626. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  627. package/cjs/internal/ZIndex/index.js.map +1 -1
  628. package/cjs/internal/icons/16px/icon.styles.d.ts +1 -1
  629. package/cjs/internal/icons/16px/icon.styles.js +3 -6
  630. package/cjs/internal/icons/16px/icon.styles.js.map +1 -1
  631. package/cjs/internal/icons/16px/index.js +2 -2
  632. package/cjs/internal/icons/16px/index.js.map +1 -1
  633. package/cjs/internal/icons/20px/Icon.js +2 -2
  634. package/cjs/internal/icons/20px/Icon.js.map +1 -1
  635. package/cjs/internal/icons/20px/icon.styles.d.ts +1 -1
  636. package/cjs/internal/icons/20px/icon.styles.js +3 -6
  637. package/cjs/internal/icons/20px/icon.styles.js.map +1 -1
  638. package/cjs/internal/icons/20px/index.js.map +1 -1
  639. package/cjs/internal/icons/20px/svg.js +2 -2
  640. package/cjs/internal/icons/20px/svg.js.map +1 -1
  641. package/cjs/internal/icons/CloudIcon.js.map +1 -1
  642. package/cjs/internal/icons/CrossIcon.js +8 -1
  643. package/cjs/internal/icons/CrossIcon.js.map +1 -1
  644. package/cjs/internal/icons/SpinnerIcon.d.ts +2 -1
  645. package/cjs/internal/icons/SpinnerIcon.js +8 -5
  646. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  647. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +3 -1
  648. package/cjs/internal/icons/SpinnerIcon.styles.js +18 -5
  649. package/cjs/internal/icons/SpinnerIcon.styles.js.map +1 -1
  650. package/cjs/internal/themes/DarkTheme.d.ts +103 -0
  651. package/cjs/internal/themes/DarkTheme.js +183 -0
  652. package/cjs/internal/themes/DarkTheme.js.map +1 -0
  653. package/cjs/internal/themes/DefaultTheme.d.ts +202 -117
  654. package/cjs/internal/themes/DefaultTheme.js +505 -246
  655. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  656. package/{internal/themes/FlatTheme.d.ts → cjs/internal/themes/NotFlat.d.ts} +80 -85
  657. package/cjs/internal/themes/NotFlat.js +219 -0
  658. package/cjs/internal/themes/NotFlat.js.map +1 -0
  659. package/cjs/internal/themes/OldColors.d.ts +110 -0
  660. package/cjs/internal/themes/OldColors.js +149 -0
  661. package/cjs/internal/themes/OldColors.js.map +1 -0
  662. package/cjs/lib/ConditionalHandler.js +2 -2
  663. package/cjs/lib/ConditionalHandler.js.map +1 -1
  664. package/cjs/lib/LayoutEvents.js +4 -4
  665. package/cjs/lib/LayoutEvents.js.map +1 -1
  666. package/cjs/lib/ModalStack.js +4 -4
  667. package/cjs/lib/ModalStack.js.map +1 -1
  668. package/cjs/lib/SSRSafe.js.map +1 -1
  669. package/cjs/lib/Supports.js.map +1 -1
  670. package/cjs/lib/Upgrades.d.ts +2 -0
  671. package/cjs/lib/Upgrades.js +14 -0
  672. package/cjs/lib/Upgrades.js.map +1 -1
  673. package/cjs/lib/animation/index.js.map +1 -1
  674. package/cjs/lib/animation/presets.js.map +1 -1
  675. package/cjs/lib/animation/stepper.js.map +1 -1
  676. package/cjs/lib/client.d.ts +2 -0
  677. package/cjs/lib/client.js +8 -2
  678. package/cjs/lib/client.js.map +1 -1
  679. package/cjs/lib/createPropsGetter.js.map +1 -1
  680. package/cjs/lib/currentEnvironment.js +12 -3
  681. package/cjs/lib/currentEnvironment.js.map +1 -1
  682. package/cjs/lib/date/InternalDate.js +4 -6
  683. package/cjs/lib/date/InternalDate.js.map +1 -1
  684. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  685. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  686. package/cjs/lib/date/InternalDateSetter.js.map +1 -1
  687. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  688. package/cjs/lib/date/InternalDateValidator.js +3 -0
  689. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  690. package/cjs/lib/date/constants.js.map +1 -1
  691. package/cjs/lib/date/localeSets.js.map +1 -1
  692. package/cjs/lib/date/types.js.map +1 -1
  693. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  694. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -0
  695. package/cjs/lib/dom/tabbableHelpers.js +31 -0
  696. package/cjs/lib/dom/tabbableHelpers.js.map +1 -0
  697. package/cjs/lib/events/MouseDrag.js +26 -26
  698. package/cjs/lib/events/MouseDrag.js.map +1 -1
  699. package/cjs/lib/events/fixClickFocusIE.js +2 -2
  700. package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
  701. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  702. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +20 -0
  703. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  704. package/cjs/lib/events/keyListener.d.ts +7 -0
  705. package/cjs/lib/events/keyListener.js +22 -0
  706. package/cjs/lib/events/keyListener.js.map +1 -0
  707. package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  708. package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  709. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  710. package/cjs/lib/events/keyboard/identifiers.d.ts +1 -0
  711. package/cjs/lib/events/keyboard/identifiers.js +12 -3
  712. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  713. package/cjs/lib/events/stopPropagation.js.map +1 -1
  714. package/cjs/lib/events/tabListener.d.ts +1 -6
  715. package/cjs/lib/events/tabListener.js +2 -15
  716. package/cjs/lib/events/tabListener.js.map +1 -1
  717. package/cjs/lib/extractKeyboardAction.js.map +1 -1
  718. package/cjs/lib/filterProps.js.map +1 -1
  719. package/cjs/lib/forwardRefAndName.d.ts +5 -0
  720. package/cjs/lib/forwardRefAndName.js +23 -0
  721. package/cjs/lib/forwardRefAndName.js.map +1 -0
  722. package/cjs/lib/getDisplayName.d.ts +3 -0
  723. package/cjs/lib/getDisplayName.js +9 -0
  724. package/cjs/lib/getDisplayName.js.map +1 -0
  725. package/cjs/lib/listenFocusOutside.d.ts +4 -0
  726. package/cjs/lib/listenFocusOutside.js +11 -11
  727. package/cjs/lib/listenFocusOutside.js.map +1 -1
  728. package/cjs/lib/locale/LOCALECONTEXT.md +221 -221
  729. package/cjs/lib/locale/LocaleContext.js.map +1 -1
  730. package/cjs/lib/locale/LocaleHelper.js.map +1 -1
  731. package/cjs/lib/locale/constants.js.map +1 -1
  732. package/cjs/lib/locale/decorators.js +6 -1
  733. package/cjs/lib/locale/decorators.js.map +1 -1
  734. package/cjs/lib/locale/index.js.map +1 -1
  735. package/cjs/lib/locale/types.js.map +1 -1
  736. package/cjs/lib/memo.js.map +1 -1
  737. package/cjs/lib/net/fetch.js.map +1 -1
  738. package/cjs/lib/polyfillPlaceholder.js.map +1 -1
  739. package/cjs/lib/reactGetTextContent.js.map +1 -1
  740. package/cjs/lib/styles/ColorFactory.js +8 -4
  741. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  742. package/cjs/lib/styles/ColorFunctions.js +1 -1
  743. package/cjs/lib/styles/ColorFunctions.js.map +1 -1
  744. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  745. package/cjs/lib/styles/ColorKeywords.js.map +1 -1
  746. package/cjs/lib/styles/ColorObject.js.map +1 -1
  747. package/cjs/lib/styles/DimensionFunctions.js.map +1 -1
  748. package/cjs/lib/styles/HoldSelectionColor.js.map +1 -1
  749. package/cjs/lib/styles/Mixins.js.map +1 -1
  750. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -0
  751. package/cjs/lib/taskWithDelayAndMinimalDuration.js +80 -0
  752. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -0
  753. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  754. package/cjs/lib/theming/Emotion.d.ts +1 -1
  755. package/cjs/lib/theming/Emotion.js +12 -17
  756. package/cjs/lib/theming/Emotion.js.map +1 -1
  757. package/cjs/lib/theming/ThemeContext.d.ts +1 -1
  758. package/cjs/lib/theming/ThemeContext.js +2 -2
  759. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  760. package/cjs/lib/theming/ThemeContext.md +264 -265
  761. package/cjs/lib/theming/ThemeFactory.d.ts +0 -1
  762. package/cjs/lib/theming/ThemeFactory.js +4 -8
  763. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  764. package/cjs/lib/theming/ThemeHelpers.d.ts +0 -10
  765. package/cjs/lib/theming/ThemeHelpers.js +2 -58
  766. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  767. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  768. package/cjs/lib/theming/themes/DarkTheme.js +4 -0
  769. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -0
  770. package/cjs/lib/theming/themes/DefaultTheme.js +3 -2
  771. package/cjs/lib/theming/themes/DefaultTheme.js.map +1 -1
  772. package/cjs/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -0
  773. package/cjs/lib/theming/themes/DefaultTheme8pxOld.js +8 -0
  774. package/cjs/lib/theming/themes/DefaultTheme8pxOld.js.map +1 -0
  775. package/cjs/lib/theming/themes/DefaultThemeMobile.d.ts +3 -0
  776. package/cjs/lib/theming/themes/DefaultThemeMobile.js +9 -0
  777. package/cjs/lib/theming/themes/DefaultThemeMobile.js.map +1 -0
  778. package/cjs/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -0
  779. package/cjs/lib/theming/themes/FlatTheme8pxOld.js +5 -0
  780. package/cjs/lib/theming/themes/FlatTheme8pxOld.js.map +1 -0
  781. package/cjs/lib/utils.d.ts +7 -0
  782. package/cjs/lib/utils.js +15 -8
  783. package/cjs/lib/utils.js.map +1 -1
  784. package/cjs/lib/withClassWrapper.d.ts +71 -0
  785. package/cjs/lib/withClassWrapper.js +59 -0
  786. package/cjs/lib/withClassWrapper.js.map +1 -0
  787. package/cjs/typings/console.d.ts +3 -3
  788. package/cjs/typings/event-types.d.ts +4 -4
  789. package/cjs/typings/fonts.d.ts +12 -12
  790. package/cjs/typings/global.d.ts +6 -6
  791. package/cjs/typings/images.d.ts +1 -1
  792. package/cjs/typings/normalize-wheel.d.ts +5 -5
  793. package/cjs/typings/stories.d.ts +7 -0
  794. package/cjs/typings/stylis-plugin-extra-scope.d.ts +3 -3
  795. package/cjs/typings/utility-types.d.ts +14 -14
  796. package/components/Autocomplete/Autocomplete/Autocomplete.js +115 -49
  797. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  798. package/components/Autocomplete/Autocomplete.d.ts +12 -0
  799. package/components/Autocomplete/Autocomplete.md +7 -7
  800. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js +10 -0
  801. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js.map +1 -0
  802. package/components/Autocomplete/Autocomplete.styles/package.json +6 -0
  803. package/components/Autocomplete/Autocomplete.styles.d.ts +4 -0
  804. package/components/Autocomplete/index/index.js.map +1 -1
  805. package/components/Button/Button/Button.js +103 -71
  806. package/components/Button/Button/Button.js.map +1 -1
  807. package/components/Button/Button.d.ts +73 -13
  808. package/components/Button/Button.md +104 -92
  809. package/components/Button/Button.mixins/Button.mixins.js +16 -12
  810. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  811. package/components/Button/Button.mixins.d.ts +6 -5
  812. package/components/Button/Button.styles/Button.styles.js +112 -66
  813. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  814. package/components/Button/Button.styles.d.ts +33 -11
  815. package/components/Button/Corners/Corners.js.map +1 -1
  816. package/components/Button/index/index.js.map +1 -1
  817. package/components/Center/Center/Center.js +8 -9
  818. package/components/Center/Center/Center.js.map +1 -1
  819. package/components/Center/Center.d.ts +4 -8
  820. package/components/Center/Center.md +26 -5
  821. package/components/Center/Center.styles/Center.styles.js +2 -3
  822. package/components/Center/Center.styles/Center.styles.js.map +1 -1
  823. package/components/Center/Center.styles.d.ts +1 -1
  824. package/components/Center/index/index.js.map +1 -1
  825. package/components/Checkbox/Checkbox/Checkbox.js +49 -47
  826. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  827. package/components/Checkbox/Checkbox.d.ts +31 -15
  828. package/components/Checkbox/Checkbox.md +104 -63
  829. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +38 -27
  830. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  831. package/components/Checkbox/Checkbox.styles.d.ts +12 -7
  832. package/components/Checkbox/index/index.js.map +1 -1
  833. package/components/ComboBox/ComboBox/ComboBox.js +22 -22
  834. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  835. package/components/ComboBox/ComboBox.d.ts +9 -1
  836. package/components/ComboBox/ComboBox.md +445 -445
  837. package/components/ComboBox/index/index.js.map +1 -1
  838. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +2 -1
  839. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  840. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +62 -15
  841. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  842. package/components/CurrencyInput/CurrencyInput.d.ts +4 -1
  843. package/components/CurrencyInput/CurrencyInput.md +24 -24
  844. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  845. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js.map +1 -1
  846. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  847. package/components/CurrencyInput/SelectionHelper/SelectionHelper.js.map +1 -1
  848. package/components/CurrencyInput/constants/constants.js.map +1 -1
  849. package/components/CurrencyInput/index/index.js.map +1 -1
  850. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  851. package/components/CurrencyLabel/CurrencyLabel.md +23 -23
  852. package/components/CurrencyLabel/index/index.js.map +1 -1
  853. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +6 -6
  854. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  855. package/components/DateInput/DateFragmentsView.styles/DateFragmentsView.styles.js +3 -4
  856. package/components/DateInput/DateFragmentsView.styles/DateFragmentsView.styles.js.map +1 -1
  857. package/components/DateInput/DateFragmentsView.styles.d.ts +1 -1
  858. package/components/DateInput/DateInput/DateInput.js +15 -8
  859. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  860. package/components/DateInput/DateInput.d.ts +7 -0
  861. package/components/DateInput/DateInput.md +106 -106
  862. package/components/DateInput/DateInput.styles/DateInput.styles.js +8 -2
  863. package/components/DateInput/DateInput.styles/DateInput.styles.js.map +1 -1
  864. package/components/DateInput/DateInput.styles.d.ts +3 -1
  865. package/components/DateInput/ViewDateInputValidateChecks/ViewDateInputValidateChecks.js.map +1 -1
  866. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  867. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  868. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  869. package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
  870. package/components/DateInput/index/index.js.map +1 -1
  871. package/components/DatePicker/DatePicker/DatePicker.js +46 -23
  872. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  873. package/components/DatePicker/DatePicker.d.ts +16 -2
  874. package/components/DatePicker/DatePicker.md +307 -307
  875. package/components/DatePicker/DatePicker.styles/DatePicker.styles.js +3 -4
  876. package/components/DatePicker/DatePicker.styles/DatePicker.styles.js.map +1 -1
  877. package/components/DatePicker/DatePicker.styles.d.ts +1 -1
  878. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
  879. package/components/DatePicker/Picker/Picker.js +4 -4
  880. package/components/DatePicker/Picker/Picker.js.map +1 -1
  881. package/components/DatePicker/Picker.styles/Picker.styles.js +3 -4
  882. package/components/DatePicker/Picker.styles/Picker.styles.js.map +1 -1
  883. package/components/DatePicker/Picker.styles.d.ts +1 -1
  884. package/components/DatePicker/index/index.js.map +1 -1
  885. package/components/DatePicker/locale/index/index.js.map +1 -1
  886. package/components/DatePicker/locale/locales/en/en.js.map +1 -1
  887. package/components/DatePicker/locale/locales/ru/ru.js.map +1 -1
  888. package/components/Dropdown/Dropdown/Dropdown.js +25 -24
  889. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  890. package/components/Dropdown/Dropdown.d.ts +3 -2
  891. package/components/Dropdown/Dropdown.md +11 -12
  892. package/components/Dropdown/index/index.js.map +1 -1
  893. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +4 -3
  894. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  895. package/components/DropdownMenu/DropdownMenu.d.ts +19 -3
  896. package/components/DropdownMenu/DropdownMenu.md +154 -73
  897. package/components/DropdownMenu/index/index.js.map +1 -1
  898. package/components/FxInput/FxInput/FxInput.js +3 -1
  899. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  900. package/components/FxInput/FxInput.md +16 -16
  901. package/components/FxInput/index/index.js.map +1 -1
  902. package/components/Gapped/Gapped/Gapped.js +30 -21
  903. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  904. package/components/Gapped/Gapped.d.ts +4 -3
  905. package/components/Gapped/Gapped.md +43 -43
  906. package/components/Gapped/index/index.js.map +1 -1
  907. package/components/Group/Group/Group.js +6 -6
  908. package/components/Group/Group/Group.js.map +1 -1
  909. package/components/Group/Group.md +18 -18
  910. package/components/Group/Group.styles/Group.styles.js +3 -4
  911. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  912. package/components/Group/Group.styles.d.ts +1 -1
  913. package/components/Group/index/index.js.map +1 -1
  914. package/components/Hint/Hint/Hint.js +40 -13
  915. package/components/Hint/Hint/Hint.js.map +1 -1
  916. package/components/Hint/Hint.d.ts +41 -0
  917. package/components/Hint/Hint.md +42 -3
  918. package/components/Hint/Hint.styles/Hint.styles.js +8 -6
  919. package/components/Hint/Hint.styles/Hint.styles.js.map +1 -1
  920. package/components/Hint/Hint.styles.d.ts +2 -1
  921. package/components/Hint/index/index.js.map +1 -1
  922. package/components/Input/Input/Input.js +65 -47
  923. package/components/Input/Input/Input.js.map +1 -1
  924. package/components/Input/Input.d.ts +10 -2
  925. package/components/Input/Input.md +13 -13
  926. package/components/Input/Input.styles/Input.styles.js +61 -33
  927. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  928. package/components/Input/Input.styles.d.ts +9 -1
  929. package/components/Input/index/index.js.map +1 -1
  930. package/components/Kebab/Kebab/Kebab.js +21 -45
  931. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  932. package/components/Kebab/Kebab.d.ts +10 -2
  933. package/components/Kebab/Kebab.md +291 -45
  934. package/components/Kebab/Kebab.styles/Kebab.styles.js +18 -16
  935. package/components/Kebab/Kebab.styles/Kebab.styles.js.map +1 -1
  936. package/components/Kebab/Kebab.styles.d.ts +6 -5
  937. package/components/Kebab/__stories__/Kebab.items/Kebab.items.js.map +1 -1
  938. package/components/Kebab/index/index.js.map +1 -1
  939. package/components/Link/Link/Link.js +17 -23
  940. package/components/Link/Link/Link.js.map +1 -1
  941. package/components/Link/Link.d.ts +29 -11
  942. package/components/Link/Link.md +77 -11
  943. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  944. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  945. package/components/Link/Link.styles/Link.styles.js +10 -8
  946. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  947. package/components/Link/Link.styles.d.ts +2 -1
  948. package/components/Link/index/index.js.map +1 -1
  949. package/components/Loader/Loader/Loader.js +190 -48
  950. package/components/Loader/Loader/Loader.js.map +1 -1
  951. package/components/Loader/Loader.d.ts +34 -3
  952. package/components/Loader/Loader.md +25 -25
  953. package/components/Loader/Loader.styles/Loader.styles.js +8 -15
  954. package/components/Loader/Loader.styles/Loader.styles.js.map +1 -1
  955. package/components/Loader/Loader.styles.d.ts +1 -3
  956. package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
  957. package/components/Loader/index/index.js.map +1 -1
  958. package/components/MenuHeader/MenuHeader/MenuHeader.js +10 -6
  959. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  960. package/components/MenuHeader/MenuHeader.d.ts +5 -1
  961. package/components/MenuHeader/MenuHeader.md +23 -0
  962. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js +2 -3
  963. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js.map +1 -1
  964. package/components/MenuHeader/MenuHeader.styles.d.ts +1 -1
  965. package/components/MenuHeader/index/index.js.map +1 -1
  966. package/components/MenuItem/MenuItem/MenuItem.js +13 -9
  967. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  968. package/components/MenuItem/MenuItem.d.ts +51 -6
  969. package/components/MenuItem/MenuItem.md +109 -7
  970. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +16 -14
  971. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  972. package/components/MenuItem/MenuItem.styles.d.ts +2 -1
  973. package/components/MenuItem/index/index.js.map +1 -1
  974. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +6 -4
  975. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  976. package/components/MenuSeparator/MenuSeparator.d.ts +3 -1
  977. package/components/MenuSeparator/MenuSeparator.md +14 -0
  978. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js +2 -3
  979. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js.map +1 -1
  980. package/components/MenuSeparator/MenuSeparator.styles.d.ts +1 -1
  981. package/components/MenuSeparator/index/index.js.map +1 -1
  982. package/components/Modal/Modal/Modal.js +97 -71
  983. package/components/Modal/Modal/Modal.js.map +1 -1
  984. package/components/Modal/Modal.d.ts +7 -3
  985. package/components/Modal/Modal.md +38 -38
  986. package/components/Modal/Modal.styles/Modal.styles.js +67 -25
  987. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  988. package/components/Modal/Modal.styles.d.ts +16 -2
  989. package/components/Modal/ModalBody/ModalBody.js +27 -15
  990. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  991. package/components/Modal/ModalBody.d.ts +2 -0
  992. package/components/Modal/ModalClose/ModalClose.js +41 -10
  993. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  994. package/components/Modal/ModalClose.d.ts +1 -1
  995. package/components/Modal/ModalContext/ModalContext.js.map +1 -1
  996. package/components/Modal/ModalContext.d.ts +5 -1
  997. package/components/Modal/ModalFooter/ModalFooter.js +26 -31
  998. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  999. package/components/Modal/ModalHeader/ModalHeader.js +33 -35
  1000. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  1001. package/components/Modal/index/index.js.map +1 -1
  1002. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  1003. package/components/Paging/Paging/Paging.js +27 -27
  1004. package/components/Paging/Paging/Paging.js.map +1 -1
  1005. package/components/Paging/Paging.md +43 -43
  1006. package/components/Paging/Paging.styles/Paging.styles.js +10 -12
  1007. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  1008. package/components/Paging/Paging.styles.d.ts +2 -2
  1009. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  1010. package/components/Paging/index/index.js.map +1 -1
  1011. package/components/Paging/locale/index/index.js.map +1 -1
  1012. package/components/Paging/locale/locales/en/en.js.map +1 -1
  1013. package/components/Paging/locale/locales/ru/ru.js.map +1 -1
  1014. package/components/PasswordInput/PasswordInput/PasswordInput.js +39 -12
  1015. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  1016. package/components/PasswordInput/PasswordInput.d.ts +2 -0
  1017. package/components/PasswordInput/PasswordInput.md +9 -9
  1018. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js +16 -8
  1019. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js.map +1 -1
  1020. package/components/PasswordInput/PasswordInput.styles.d.ts +6 -2
  1021. package/components/PasswordInput/index/index.js.map +1 -1
  1022. package/components/Radio/Radio/Radio.js +67 -27
  1023. package/components/Radio/Radio/Radio.js.map +1 -1
  1024. package/components/Radio/Radio.d.ts +37 -13
  1025. package/components/Radio/Radio.md +38 -14
  1026. package/components/Radio/Radio.styles/Radio.styles.js +44 -24
  1027. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  1028. package/components/Radio/Radio.styles.d.ts +11 -5
  1029. package/components/Radio/index/index.js.map +1 -1
  1030. package/components/RadioGroup/Prevent/Prevent.js.map +1 -1
  1031. package/components/RadioGroup/RadioGroup/RadioGroup.js +7 -79
  1032. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  1033. package/components/RadioGroup/RadioGroup.d.ts +51 -61
  1034. package/components/RadioGroup/RadioGroup.md +43 -43
  1035. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +3 -4
  1036. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  1037. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -1
  1038. package/components/RadioGroup/index/index.js.map +1 -1
  1039. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +129 -0
  1040. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -0
  1041. package/components/ResponsiveLayout/ResponsiveLayout/package.json +6 -0
  1042. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +42 -0
  1043. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +83 -0
  1044. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -0
  1045. package/components/ResponsiveLayout/ResponsiveLayoutEvents/package.json +6 -0
  1046. package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -0
  1047. package/components/ResponsiveLayout/index/index.js +1 -0
  1048. package/components/ResponsiveLayout/index/index.js.map +1 -0
  1049. package/components/ResponsiveLayout/index/package.json +6 -0
  1050. package/components/ResponsiveLayout/index.d.ts +1 -0
  1051. package/components/ResponsiveLayout/package.json +6 -0
  1052. package/components/ScrollContainer/ScrollBar/ScrollBar.js +254 -0
  1053. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -0
  1054. package/components/ScrollContainer/ScrollBar/package.json +6 -0
  1055. package/components/ScrollContainer/ScrollBar.d.ts +37 -0
  1056. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +130 -209
  1057. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  1058. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +31 -0
  1059. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -0
  1060. package/components/ScrollContainer/ScrollContainer.constants/package.json +6 -0
  1061. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
  1062. package/components/ScrollContainer/ScrollContainer.d.ts +42 -23
  1063. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js +55 -0
  1064. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js.map +1 -0
  1065. package/components/ScrollContainer/ScrollContainer.helpers/package.json +6 -0
  1066. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
  1067. package/components/ScrollContainer/ScrollContainer.md +143 -94
  1068. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +25 -12
  1069. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  1070. package/components/ScrollContainer/ScrollContainer.styles.d.ts +13 -4
  1071. package/components/ScrollContainer/index/index.js.map +1 -1
  1072. package/components/Select/Item/Item.js.map +1 -1
  1073. package/components/Select/Select/Select.js +139 -61
  1074. package/components/Select/Select/Select.js.map +1 -1
  1075. package/components/Select/Select.d.ts +14 -1
  1076. package/components/Select/Select.md +67 -55
  1077. package/components/Select/Select.styles/Select.styles.js +25 -17
  1078. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  1079. package/components/Select/Select.styles.d.ts +5 -2
  1080. package/components/Select/index/index.js.map +1 -1
  1081. package/components/Select/locale/index/index.js.map +1 -1
  1082. package/components/Select/locale/locales/en/en.js.map +1 -1
  1083. package/components/Select/locale/locales/ru/ru.js.map +1 -1
  1084. package/components/Select/selectTheme/selectTheme.js +4 -1
  1085. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  1086. package/components/SidePage/SidePage/SidePage.js +110 -86
  1087. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  1088. package/components/SidePage/SidePage.d.ts +19 -1
  1089. package/components/SidePage/SidePage.md +48 -48
  1090. package/components/SidePage/SidePage.styles/SidePage.styles.js +87 -42
  1091. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  1092. package/components/SidePage/SidePage.styles.d.ts +22 -7
  1093. package/components/SidePage/SidePageBody/SidePageBody.js +25 -14
  1094. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  1095. package/components/SidePage/SidePageBody.d.ts +1 -0
  1096. package/components/SidePage/SidePageContainer/SidePageContainer.js +17 -13
  1097. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  1098. package/components/SidePage/SidePageContainer.d.ts +1 -0
  1099. package/components/SidePage/SidePageContext/SidePageContext.js.map +1 -1
  1100. package/components/SidePage/SidePageContext.d.ts +3 -0
  1101. package/components/SidePage/SidePageFooter/SidePageFooter.js +46 -15
  1102. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  1103. package/components/SidePage/SidePageFooter.d.ts +4 -0
  1104. package/components/SidePage/SidePageHeader/SidePageHeader.js +86 -38
  1105. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  1106. package/components/SidePage/SidePageHeader.d.ts +10 -4
  1107. package/components/SidePage/index/index.js.map +1 -1
  1108. package/components/Spinner/Spinner/Spinner.js +24 -22
  1109. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  1110. package/components/Spinner/Spinner.d.ts +1 -0
  1111. package/components/Spinner/Spinner.md +34 -34
  1112. package/components/Spinner/Spinner.styles/Spinner.styles.js +11 -9
  1113. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  1114. package/components/Spinner/Spinner.styles.d.ts +2 -1
  1115. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  1116. package/components/Spinner/index/index.js.map +1 -1
  1117. package/components/Spinner/locale/index/index.js.map +1 -1
  1118. package/components/Spinner/locale/locales/en/en.js.map +1 -1
  1119. package/components/Spinner/locale/locales/ru/ru.js.map +1 -1
  1120. package/components/Sticky/Sticky/Sticky.js +11 -11
  1121. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  1122. package/components/Sticky/Sticky.md +27 -27
  1123. package/components/Sticky/Sticky.styles/Sticky.styles.js +2 -3
  1124. package/components/Sticky/Sticky.styles/Sticky.styles.js.map +1 -1
  1125. package/components/Sticky/Sticky.styles.d.ts +1 -1
  1126. package/components/Sticky/index/index.js.map +1 -1
  1127. package/components/Switcher/Switcher/Switcher.js +16 -14
  1128. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  1129. package/components/Switcher/Switcher.d.ts +2 -2
  1130. package/components/Switcher/Switcher.md +10 -10
  1131. package/components/Switcher/Switcher.styles/Switcher.styles.js +17 -15
  1132. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  1133. package/components/Switcher/Switcher.styles.d.ts +6 -5
  1134. package/components/Switcher/index/index.js.map +1 -1
  1135. package/components/Switcher/switcherTheme/switcherTheme.js.map +1 -1
  1136. package/components/Tabs/Indicator/Indicator.js +7 -10
  1137. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  1138. package/components/Tabs/Indicator.d.ts +1 -2
  1139. package/components/Tabs/Indicator.styles/Indicator.styles.js +2 -3
  1140. package/components/Tabs/Indicator.styles/Indicator.styles.js.map +1 -1
  1141. package/components/Tabs/Indicator.styles.d.ts +1 -1
  1142. package/components/Tabs/Tab/Tab.js +27 -39
  1143. package/components/Tabs/Tab/Tab.js.map +1 -1
  1144. package/components/Tabs/Tab.d.ts +7 -12
  1145. package/components/Tabs/Tab.styles/Tab.styles.js +48 -19
  1146. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  1147. package/components/Tabs/Tab.styles.d.ts +17 -2
  1148. package/components/Tabs/Tabs/Tabs.js +8 -9
  1149. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  1150. package/components/Tabs/Tabs.d.ts +4 -5
  1151. package/components/Tabs/Tabs.md +36 -36
  1152. package/components/Tabs/Tabs.styles/Tabs.styles.js +5 -6
  1153. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  1154. package/components/Tabs/Tabs.styles.d.ts +2 -2
  1155. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  1156. package/components/Tabs/TabsContext.d.ts +8 -8
  1157. package/components/Tabs/index/index.js.map +1 -1
  1158. package/components/Textarea/Textarea/Textarea.js +44 -27
  1159. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  1160. package/components/Textarea/Textarea.d.ts +9 -4
  1161. package/components/Textarea/Textarea.md +25 -25
  1162. package/components/Textarea/Textarea.styles/Textarea.styles.js +17 -15
  1163. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  1164. package/components/Textarea/Textarea.styles.d.ts +2 -1
  1165. package/components/Textarea/TextareaCounter/TextareaCounter.js +6 -6
  1166. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  1167. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  1168. package/components/Textarea/index/index.js.map +1 -1
  1169. package/components/Toast/Toast/Toast.js +24 -24
  1170. package/components/Toast/Toast/Toast.js.map +1 -1
  1171. package/components/Toast/Toast.md +41 -41
  1172. package/components/Toast/Toast.styles/Toast.styles.js +2 -3
  1173. package/components/Toast/Toast.styles/Toast.styles.js.map +1 -1
  1174. package/components/Toast/Toast.styles.d.ts +1 -1
  1175. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  1176. package/components/Toast/ToastView/ToastView.js +10 -10
  1177. package/components/Toast/ToastView/ToastView.js.map +1 -1
  1178. package/components/Toast/ToastView.styles/ToastView.styles.js +3 -4
  1179. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  1180. package/components/Toast/ToastView.styles.d.ts +1 -1
  1181. package/components/Toast/index/index.js.map +1 -1
  1182. package/components/Toggle/Toggle/Toggle.js +30 -25
  1183. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  1184. package/components/Toggle/Toggle.d.ts +47 -1
  1185. package/components/Toggle/Toggle.md +94 -20
  1186. package/components/Toggle/Toggle.styles/Toggle.styles.js +44 -25
  1187. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  1188. package/components/Toggle/Toggle.styles.d.ts +16 -5
  1189. package/components/Toggle/index/index.js.map +1 -1
  1190. package/components/Token/Token/Token.js +11 -11
  1191. package/components/Token/Token/Token.js.map +1 -1
  1192. package/components/Token/Token.d.ts +8 -2
  1193. package/components/Token/Token.md +112 -112
  1194. package/components/Token/Token.styles/Token.styles.js +11 -9
  1195. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  1196. package/components/Token/Token.styles.d.ts +5 -2
  1197. package/components/Token/index/index.js.map +1 -1
  1198. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +5 -5
  1199. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  1200. package/components/TokenInput/TokenInput/TokenInput.js +70 -31
  1201. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  1202. package/components/TokenInput/TokenInput.d.ts +25 -0
  1203. package/components/TokenInput/TokenInput.md +79 -79
  1204. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +22 -21
  1205. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  1206. package/components/TokenInput/TokenInput.styles.d.ts +1 -3
  1207. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +11 -6
  1208. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  1209. package/components/TokenInput/TokenInputMenu.d.ts +3 -0
  1210. package/components/TokenInput/TokenInputReducer/TokenInputReducer.js.map +1 -1
  1211. package/components/TokenInput/index/index.js.map +1 -1
  1212. package/components/TokenInput/locale/index/index.js.map +1 -1
  1213. package/components/TokenInput/locale/locales/en/en.js.map +1 -1
  1214. package/components/TokenInput/locale/locales/ru/ru.js.map +1 -1
  1215. package/components/Tooltip/Tooltip/Tooltip.js +42 -23
  1216. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  1217. package/components/Tooltip/Tooltip.d.ts +5 -2
  1218. package/components/Tooltip/Tooltip.md +292 -292
  1219. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +3 -4
  1220. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  1221. package/components/Tooltip/Tooltip.styles.d.ts +1 -1
  1222. package/components/Tooltip/index/index.js.map +1 -1
  1223. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +10 -7
  1224. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  1225. package/components/TooltipMenu/TooltipMenu.d.ts +26 -8
  1226. package/components/TooltipMenu/TooltipMenu.md +183 -115
  1227. package/components/TooltipMenu/index/index.js.map +1 -1
  1228. package/index.d.ts +3 -3
  1229. package/index.js +3 -3
  1230. package/index.js.map +1 -1
  1231. package/internal/BGRuler/BGRuler.js +5 -5
  1232. package/internal/BGRuler/BGRuler.js.map +1 -1
  1233. package/internal/Calendar/Calendar/Calendar.js +65 -23
  1234. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  1235. package/internal/Calendar/Calendar.d.ts +6 -0
  1236. package/internal/Calendar/Calendar.styles/Calendar.styles.js +3 -4
  1237. package/internal/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  1238. package/internal/Calendar/Calendar.styles.d.ts +1 -1
  1239. package/internal/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
  1240. package/internal/Calendar/CalendarScrollEvents/CalendarScrollEvents.js.map +1 -1
  1241. package/internal/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
  1242. package/internal/Calendar/DayCellView/DayCellView.js +4 -4
  1243. package/internal/Calendar/DayCellView/DayCellView.js.map +1 -1
  1244. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js +6 -7
  1245. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  1246. package/internal/Calendar/DayCellView.styles.d.ts +1 -1
  1247. package/internal/Calendar/DayCellViewModel/DayCellViewModel.js.map +1 -1
  1248. package/internal/Calendar/Month/Month.js +4 -1
  1249. package/internal/Calendar/Month/Month.js.map +1 -1
  1250. package/internal/Calendar/MonthView/MonthView.js +8 -8
  1251. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  1252. package/internal/Calendar/MonthView.styles/MonthView.styles.js +10 -8
  1253. package/internal/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
  1254. package/internal/Calendar/MonthView.styles.d.ts +3 -2
  1255. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  1256. package/internal/Calendar/config/config.js.map +1 -1
  1257. package/internal/Calendar/index/index.js.map +1 -1
  1258. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +2 -2
  1259. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  1260. package/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
  1261. package/internal/CommonWrapper/index/index.js.map +1 -1
  1262. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  1263. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  1264. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +39 -15
  1265. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  1266. package/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  1267. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +181 -108
  1268. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  1269. package/internal/CustomComboBox/ComboBoxView.d.ts +21 -1
  1270. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +27 -17
  1271. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  1272. package/internal/CustomComboBox/CustomComboBox.d.ts +8 -0
  1273. package/internal/CustomComboBox/CustomComboBox.styles/CustomComboBox.styles.js +4 -5
  1274. package/internal/CustomComboBox/CustomComboBox.styles/CustomComboBox.styles.js.map +1 -1
  1275. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +2 -2
  1276. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +5 -4
  1277. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  1278. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
  1279. package/internal/CustomComboBox/index/index.js.map +1 -1
  1280. package/internal/CustomComboBox/locale/index/index.js.map +1 -1
  1281. package/internal/CustomComboBox/locale/locales/en/en.js.map +1 -1
  1282. package/internal/CustomComboBox/locale/locales/ru/ru.js.map +1 -1
  1283. package/internal/DateSelect/DateSelect/DateSelect.js +52 -15
  1284. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  1285. package/internal/DateSelect/DateSelect.d.ts +3 -0
  1286. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +11 -12
  1287. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  1288. package/internal/DateSelect/DateSelect.styles.d.ts +3 -3
  1289. package/internal/DateSelect/index/index.js.map +1 -1
  1290. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  1291. package/internal/DropdownContainer/index/index.js.map +1 -1
  1292. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  1293. package/internal/FocusTrap/index/index.js.map +1 -1
  1294. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +29 -65
  1295. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  1296. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -3
  1297. package/internal/HideBodyVerticalScroll/index/index.js.map +1 -1
  1298. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  1299. package/internal/IgnoreLayerClick/index/index.js.map +1 -1
  1300. package/internal/InputLikeText/HiddenInput/HiddenInput.js +4 -4
  1301. package/internal/InputLikeText/HiddenInput/HiddenInput.js.map +1 -1
  1302. package/internal/InputLikeText/InputLikeText/InputLikeText.js +67 -40
  1303. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  1304. package/internal/InputLikeText/InputLikeText.d.ts +2 -1
  1305. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +5 -9
  1306. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  1307. package/internal/InputLikeText/InputLikeText.styles.d.ts +2 -3
  1308. package/internal/InputLikeText/index/index.js.map +1 -1
  1309. package/internal/InternalMenu/InternalMenu/InternalMenu.js +9 -9
  1310. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  1311. package/internal/InternalMenu/InternalMenu.d.ts +6 -1
  1312. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +3 -4
  1313. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  1314. package/internal/InternalMenu/InternalMenu.styles.d.ts +1 -1
  1315. package/internal/InternalMenu/index/index.js.map +1 -1
  1316. package/internal/InternalMenu/isActiveElement/isActiveElement.js.map +1 -1
  1317. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js +8 -8
  1318. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  1319. package/internal/MaskCharLowLine/MaskCharLowLine.styles/MaskCharLowLine.styles.js +2 -3
  1320. package/internal/MaskCharLowLine/MaskCharLowLine.styles/MaskCharLowLine.styles.js.map +1 -1
  1321. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +1 -1
  1322. package/internal/MaskCharLowLine/index/index.js.map +1 -1
  1323. package/internal/MaskedInput/MaskedInput/MaskedInput.js +5 -5
  1324. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  1325. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js +2 -3
  1326. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +1 -1
  1327. package/internal/MaskedInput/MaskedInput.styles.d.ts +1 -1
  1328. package/internal/MaskedInput/index/index.js.map +1 -1
  1329. package/internal/Menu/Menu/Menu.js +64 -60
  1330. package/internal/Menu/Menu/Menu.js.map +1 -1
  1331. package/internal/Menu/Menu.d.ts +5 -0
  1332. package/internal/Menu/Menu.styles/Menu.styles.js +4 -6
  1333. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  1334. package/internal/Menu/Menu.styles.d.ts +1 -1
  1335. package/internal/Menu/index/index.js.map +1 -1
  1336. package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
  1337. package/internal/MobilePopup/MobilePopup/MobilePopup.js +113 -0
  1338. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -0
  1339. package/internal/MobilePopup/MobilePopup/package.json +6 -0
  1340. package/internal/MobilePopup/MobilePopup.d.ts +34 -0
  1341. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js +29 -0
  1342. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js.map +1 -0
  1343. package/internal/MobilePopup/MobilePopup.styles/package.json +6 -0
  1344. package/internal/MobilePopup/MobilePopup.styles.d.ts +10 -0
  1345. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +67 -0
  1346. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -0
  1347. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/package.json +6 -0
  1348. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -0
  1349. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js +29 -0
  1350. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js.map +1 -0
  1351. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/package.json +6 -0
  1352. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -0
  1353. package/internal/MobilePopup/MobilePopupHeader/index/index.js +1 -0
  1354. package/internal/MobilePopup/MobilePopupHeader/index/index.js.map +1 -0
  1355. package/internal/MobilePopup/MobilePopupHeader/index/package.json +6 -0
  1356. package/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -0
  1357. package/internal/MobilePopup/MobilePopupHeader/package.json +6 -0
  1358. package/internal/MobilePopup/index/index.js +1 -0
  1359. package/internal/MobilePopup/index/index.js.map +1 -0
  1360. package/internal/MobilePopup/index/package.json +6 -0
  1361. package/internal/MobilePopup/index.d.ts +1 -0
  1362. package/internal/MobilePopup/package.json +6 -0
  1363. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js +67 -0
  1364. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js.map +1 -0
  1365. package/internal/NativeDateInput/NativeDateInput/package.json +6 -0
  1366. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -0
  1367. package/internal/NativeDateInput/NativeDateInput.styles/NativeDateInput.styles.js +11 -0
  1368. package/internal/NativeDateInput/NativeDateInput.styles/NativeDateInput.styles.js.map +1 -0
  1369. package/internal/NativeDateInput/NativeDateInput.styles/package.json +6 -0
  1370. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -0
  1371. package/internal/NativeDateInput/index/index.js +1 -0
  1372. package/internal/NativeDateInput/index/index.js.map +1 -0
  1373. package/internal/NativeDateInput/index/package.json +6 -0
  1374. package/internal/NativeDateInput/index.d.ts +1 -0
  1375. package/internal/NativeDateInput/package.json +6 -0
  1376. package/internal/NativeDateInput/utils/package.json +6 -0
  1377. package/internal/NativeDateInput/utils/utils.js +54 -0
  1378. package/internal/NativeDateInput/utils/utils.js.map +1 -0
  1379. package/internal/NativeDateInput/utils.d.ts +7 -0
  1380. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  1381. package/internal/Popup/Popup/Popup.js +115 -73
  1382. package/internal/Popup/Popup/Popup.js.map +1 -1
  1383. package/internal/Popup/Popup.d.ts +21 -0
  1384. package/internal/Popup/Popup.styles/Popup.styles.js +6 -7
  1385. package/internal/Popup/Popup.styles/Popup.styles.js.map +1 -1
  1386. package/internal/Popup/Popup.styles.d.ts +1 -1
  1387. package/internal/Popup/PopupHelper/PopupHelper.js +2 -1
  1388. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  1389. package/internal/Popup/PopupPin/PopupPin.js +18 -18
  1390. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  1391. package/internal/Popup/PopupPin.styles/PopupPin.styles.js +2 -3
  1392. package/internal/Popup/PopupPin.styles/PopupPin.styles.js.map +1 -1
  1393. package/internal/Popup/PopupPin.styles.d.ts +1 -1
  1394. package/internal/Popup/index/index.js.map +1 -1
  1395. package/internal/PopupMenu/PopupMenu/PopupMenu.js +19 -14
  1396. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  1397. package/internal/PopupMenu/PopupMenu.d.ts +3 -1
  1398. package/internal/PopupMenu/PopupMenu.styles/PopupMenu.styles.js +4 -5
  1399. package/internal/PopupMenu/PopupMenu.styles/PopupMenu.styles.js.map +1 -1
  1400. package/internal/PopupMenu/PopupMenu.styles.d.ts +1 -1
  1401. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +1 -1
  1402. package/internal/PopupMenu/index/index.js.map +1 -1
  1403. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  1404. package/internal/RenderContainer/RenderContainer/RenderContainer.js +2 -1
  1405. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  1406. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  1407. package/internal/RenderContainer/index/index.js.map +1 -1
  1408. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  1409. package/internal/RenderLayer/index/index.js.map +1 -1
  1410. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +8 -4
  1411. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  1412. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  1413. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js +8 -6
  1414. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js.map +1 -1
  1415. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +2 -1
  1416. package/internal/ResizeDetector/index/index.js.map +1 -1
  1417. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  1418. package/internal/ThemePlayground/darkTheme/darkTheme.js +57 -13
  1419. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  1420. package/internal/ThemePlayground/darkTheme.d.ts +18 -4
  1421. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +128 -110
  1422. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  1423. package/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  1424. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js +36 -25
  1425. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js.map +1 -1
  1426. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +9 -4
  1427. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +67 -60
  1428. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  1429. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  1430. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  1431. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +1 -0
  1432. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  1433. package/internal/ZIndex/ZIndexStorage.d.ts +1 -0
  1434. package/internal/ZIndex/index/index.js.map +1 -1
  1435. package/internal/icons/16px/icon.styles/icon.styles.js +2 -3
  1436. package/internal/icons/16px/icon.styles/icon.styles.js.map +1 -1
  1437. package/internal/icons/16px/icon.styles.d.ts +1 -1
  1438. package/internal/icons/16px/index/index.js +3 -3
  1439. package/internal/icons/16px/index/index.js.map +1 -1
  1440. package/internal/icons/20px/Icon/Icon.js +2 -2
  1441. package/internal/icons/20px/Icon/Icon.js.map +1 -1
  1442. package/internal/icons/20px/icon.styles/icon.styles.js +2 -3
  1443. package/internal/icons/20px/icon.styles/icon.styles.js.map +1 -1
  1444. package/internal/icons/20px/icon.styles.d.ts +1 -1
  1445. package/internal/icons/20px/index/index.js.map +1 -1
  1446. package/internal/icons/20px/svg/svg.js +3 -3
  1447. package/internal/icons/20px/svg/svg.js.map +1 -1
  1448. package/internal/icons/CloudIcon/CloudIcon.js.map +1 -1
  1449. package/internal/icons/CrossIcon/CrossIcon.js +2 -1
  1450. package/internal/icons/CrossIcon/CrossIcon.js.map +1 -1
  1451. package/internal/icons/SpinnerIcon/SpinnerIcon.js +9 -6
  1452. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  1453. package/internal/icons/SpinnerIcon.d.ts +2 -1
  1454. package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js +10 -5
  1455. package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js.map +1 -1
  1456. package/internal/icons/SpinnerIcon.styles.d.ts +3 -1
  1457. package/internal/themes/DarkTheme/DarkTheme.js +194 -0
  1458. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -0
  1459. package/internal/themes/DarkTheme/package.json +6 -0
  1460. package/internal/themes/DarkTheme.d.ts +103 -0
  1461. package/internal/themes/DefaultTheme/DefaultTheme.js +927 -509
  1462. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1463. package/internal/themes/DefaultTheme.d.ts +202 -117
  1464. package/internal/themes/NotFlat/NotFlat.js +295 -0
  1465. package/internal/themes/NotFlat/NotFlat.js.map +1 -0
  1466. package/internal/themes/NotFlat/package.json +6 -0
  1467. package/{cjs/internal/themes/FlatTheme.d.ts → internal/themes/NotFlat.d.ts} +80 -85
  1468. package/internal/themes/OldColors/OldColors.js +160 -0
  1469. package/internal/themes/OldColors/OldColors.js.map +1 -0
  1470. package/internal/themes/OldColors/package.json +6 -0
  1471. package/internal/themes/OldColors.d.ts +110 -0
  1472. package/lib/ConditionalHandler/ConditionalHandler.js +2 -2
  1473. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  1474. package/lib/LayoutEvents/LayoutEvents.js +12 -4
  1475. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  1476. package/lib/ModalStack/ModalStack.js +4 -4
  1477. package/lib/ModalStack/ModalStack.js.map +1 -1
  1478. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  1479. package/lib/Supports/Supports.js.map +1 -1
  1480. package/lib/Upgrades/Upgrades.js +13 -0
  1481. package/lib/Upgrades/Upgrades.js.map +1 -1
  1482. package/lib/Upgrades.d.ts +2 -0
  1483. package/lib/animation/index/index.js.map +1 -1
  1484. package/lib/animation/presets/presets.js.map +1 -1
  1485. package/lib/animation/stepper/stepper.js.map +1 -1
  1486. package/lib/client/client.js +3 -1
  1487. package/lib/client/client.js.map +1 -1
  1488. package/lib/client.d.ts +2 -0
  1489. package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
  1490. package/lib/currentEnvironment/currentEnvironment.js +14 -3
  1491. package/lib/currentEnvironment/currentEnvironment.js.map +1 -1
  1492. package/lib/date/InternalDate/InternalDate.js +3 -3
  1493. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  1494. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  1495. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  1496. package/lib/date/InternalDateSetter/InternalDateSetter.js.map +1 -1
  1497. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  1498. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  1499. package/lib/date/constants/constants.js.map +1 -1
  1500. package/lib/date/localeSets/localeSets.js.map +1 -1
  1501. package/lib/date/types/types.js.map +1 -1
  1502. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  1503. package/lib/dom/tabbableHelpers/package.json +6 -0
  1504. package/lib/dom/tabbableHelpers/tabbableHelpers.js +34 -0
  1505. package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -0
  1506. package/lib/dom/tabbableHelpers.d.ts +16 -0
  1507. package/lib/events/MouseDrag/MouseDrag.js +26 -26
  1508. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  1509. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +1 -1
  1510. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
  1511. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +19 -0
  1512. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  1513. package/lib/events/fixFirefoxModifiedClickOnLabel/package.json +6 -0
  1514. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  1515. package/lib/events/keyListener/keyListener.js +22 -0
  1516. package/lib/events/keyListener/keyListener.js.map +1 -0
  1517. package/lib/events/keyListener/package.json +6 -0
  1518. package/lib/events/keyListener.d.ts +7 -0
  1519. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
  1520. package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
  1521. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  1522. package/lib/events/keyboard/identifiers/identifiers.js +10 -1
  1523. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  1524. package/lib/events/keyboard/identifiers.d.ts +1 -0
  1525. package/lib/events/stopPropagation/stopPropagation.js.map +1 -1
  1526. package/lib/events/tabListener/tabListener.js +2 -19
  1527. package/lib/events/tabListener/tabListener.js.map +1 -1
  1528. package/lib/events/tabListener.d.ts +1 -6
  1529. package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
  1530. package/lib/filterProps/filterProps.js.map +1 -1
  1531. package/lib/forwardRefAndName/forwardRefAndName.js +11 -0
  1532. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -0
  1533. package/lib/forwardRefAndName/package.json +6 -0
  1534. package/lib/forwardRefAndName.d.ts +5 -0
  1535. package/lib/getDisplayName/getDisplayName.js +3 -0
  1536. package/lib/getDisplayName/getDisplayName.js.map +1 -0
  1537. package/lib/getDisplayName/package.json +6 -0
  1538. package/lib/getDisplayName.d.ts +3 -0
  1539. package/lib/listenFocusOutside/listenFocusOutside.js +13 -12
  1540. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  1541. package/lib/listenFocusOutside.d.ts +4 -0
  1542. package/lib/locale/LOCALECONTEXT.md +221 -221
  1543. package/lib/locale/LocaleContext/LocaleContext.js.map +1 -1
  1544. package/lib/locale/LocaleHelper/LocaleHelper.js.map +1 -1
  1545. package/lib/locale/constants/constants.js.map +1 -1
  1546. package/lib/locale/decorators/decorators.js +8 -3
  1547. package/lib/locale/decorators/decorators.js.map +1 -1
  1548. package/lib/locale/index/index.js.map +1 -1
  1549. package/lib/locale/types/types.js.map +1 -1
  1550. package/lib/memo/memo.js.map +1 -1
  1551. package/lib/net/fetch/fetch.js.map +1 -1
  1552. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +1 -1
  1553. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  1554. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  1555. package/lib/styles/ColorFunctions/ColorFunctions.js +1 -1
  1556. package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
  1557. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  1558. package/lib/styles/ColorKeywords/ColorKeywords.js.map +1 -1
  1559. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  1560. package/lib/styles/DimensionFunctions/DimensionFunctions.js.map +1 -1
  1561. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js.map +1 -1
  1562. package/lib/styles/Mixins/Mixins.js.map +1 -1
  1563. package/lib/taskWithDelayAndMinimalDuration/package.json +6 -0
  1564. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +76 -0
  1565. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -0
  1566. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -0
  1567. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  1568. package/lib/theming/Emotion/Emotion.js +17 -6
  1569. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1570. package/lib/theming/Emotion.d.ts +1 -1
  1571. package/lib/theming/ThemeContext/ThemeContext.js +2 -2
  1572. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  1573. package/lib/theming/ThemeContext.d.ts +1 -1
  1574. package/lib/theming/ThemeContext.md +264 -265
  1575. package/lib/theming/ThemeFactory/ThemeFactory.js +2 -10
  1576. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  1577. package/lib/theming/ThemeFactory.d.ts +0 -1
  1578. package/lib/theming/ThemeHelpers/ThemeHelpers.js +0 -45
  1579. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  1580. package/lib/theming/ThemeHelpers.d.ts +0 -10
  1581. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -0
  1582. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -0
  1583. package/lib/theming/themes/DarkTheme/package.json +6 -0
  1584. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  1585. package/lib/theming/themes/DefaultTheme/DefaultTheme.js +2 -1
  1586. package/lib/theming/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1587. package/lib/theming/themes/DefaultTheme8pxOld/DefaultTheme8pxOld.js +5 -0
  1588. package/lib/theming/themes/DefaultTheme8pxOld/DefaultTheme8pxOld.js.map +1 -0
  1589. package/lib/theming/themes/DefaultTheme8pxOld/package.json +6 -0
  1590. package/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -0
  1591. package/lib/theming/themes/DefaultThemeMobile/DefaultThemeMobile.js +5 -0
  1592. package/lib/theming/themes/DefaultThemeMobile/DefaultThemeMobile.js.map +1 -0
  1593. package/lib/theming/themes/DefaultThemeMobile/package.json +6 -0
  1594. package/lib/theming/themes/DefaultThemeMobile.d.ts +3 -0
  1595. package/lib/theming/themes/FlatTheme8pxOld/FlatTheme8pxOld.js +4 -0
  1596. package/lib/theming/themes/FlatTheme8pxOld/FlatTheme8pxOld.js.map +1 -0
  1597. package/lib/theming/themes/FlatTheme8pxOld/package.json +6 -0
  1598. package/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -0
  1599. package/lib/utils/utils.js +12 -2
  1600. package/lib/utils/utils.js.map +1 -1
  1601. package/lib/utils.d.ts +7 -0
  1602. package/lib/withClassWrapper/package.json +6 -0
  1603. package/lib/withClassWrapper/withClassWrapper.js +70 -0
  1604. package/lib/withClassWrapper/withClassWrapper.js.map +1 -0
  1605. package/lib/withClassWrapper.d.ts +71 -0
  1606. package/package.json +17 -31
  1607. package/typings/console.d.ts +3 -3
  1608. package/typings/event-types.d.ts +4 -4
  1609. package/typings/fonts.d.ts +12 -12
  1610. package/typings/global.d.ts +6 -6
  1611. package/typings/images.d.ts +1 -1
  1612. package/typings/normalize-wheel.d.ts +5 -5
  1613. package/typings/stories.d.ts +7 -0
  1614. package/typings/stylis-plugin-extra-scope.d.ts +3 -3
  1615. package/typings/utility-types.d.ts +14 -14
  1616. package/cjs/components/Modal/helpers.d.ts +0 -6
  1617. package/cjs/components/Modal/helpers.js +0 -20
  1618. package/cjs/components/Modal/helpers.js.map +0 -1
  1619. package/cjs/components/SidePage/helpers.d.ts +0 -5
  1620. package/cjs/components/SidePage/helpers.js +0 -14
  1621. package/cjs/components/SidePage/helpers.js.map +0 -1
  1622. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +0 -13
  1623. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js +0 -60
  1624. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +0 -1
  1625. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +0 -1
  1626. package/cjs/internal/ThemePlayground/CheckboxPlayground.js +0 -28
  1627. package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +0 -1
  1628. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +0 -10
  1629. package/cjs/internal/ThemePlayground/ComponentsGroup.js +0 -29
  1630. package/cjs/internal/ThemePlayground/ComponentsGroup.js.map +0 -1
  1631. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +0 -11
  1632. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js +0 -31
  1633. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +0 -1
  1634. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +0 -10
  1635. package/cjs/internal/ThemePlayground/FxInputPlayground.js +0 -37
  1636. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +0 -1
  1637. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +0 -6
  1638. package/cjs/internal/ThemePlayground/HintPlayground.js +0 -28
  1639. package/cjs/internal/ThemePlayground/HintPlayground.js.map +0 -1
  1640. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +0 -10
  1641. package/cjs/internal/ThemePlayground/PagingPlayground.js +0 -16
  1642. package/cjs/internal/ThemePlayground/PagingPlayground.js.map +0 -1
  1643. package/cjs/internal/ThemePlayground/Playground.d.ts +0 -31
  1644. package/cjs/internal/ThemePlayground/Playground.js +0 -321
  1645. package/cjs/internal/ThemePlayground/Playground.js.map +0 -1
  1646. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  1647. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +0 -23
  1648. package/cjs/internal/ThemePlayground/Playground.styles.js +0 -162
  1649. package/cjs/internal/ThemePlayground/Playground.styles.js.map +0 -1
  1650. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +0 -1
  1651. package/cjs/internal/ThemePlayground/RadioPlayground.js +0 -27
  1652. package/cjs/internal/ThemePlayground/RadioPlayground.js.map +0 -1
  1653. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +0 -12
  1654. package/cjs/internal/ThemePlayground/SelectPlayground.js +0 -31
  1655. package/cjs/internal/ThemePlayground/SelectPlayground.js.map +0 -1
  1656. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +0 -15
  1657. package/cjs/internal/ThemePlayground/SwitcherPlayground.js +0 -30
  1658. package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +0 -1
  1659. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +0 -51
  1660. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +0 -231
  1661. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +0 -1
  1662. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +0 -39
  1663. package/cjs/internal/ThemePlayground/ThemeEditor.js +0 -165
  1664. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +0 -1
  1665. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +0 -9
  1666. package/cjs/internal/ThemePlayground/TogglePlayground.js +0 -26
  1667. package/cjs/internal/ThemePlayground/TogglePlayground.js.map +0 -1
  1668. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +0 -7
  1669. package/cjs/internal/ThemePlayground/TokenInputPlayground.js +0 -69
  1670. package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +0 -1
  1671. package/cjs/internal/ThemePlayground/VariableValue.d.ts +0 -45
  1672. package/cjs/internal/ThemePlayground/VariableValue.js +0 -222
  1673. package/cjs/internal/ThemePlayground/VariableValue.js.map +0 -1
  1674. package/cjs/internal/ThemePlayground/constants.d.ts +0 -18
  1675. package/cjs/internal/ThemePlayground/constants.js +0 -40
  1676. package/cjs/internal/ThemePlayground/constants.js.map +0 -1
  1677. package/cjs/internal/ThemePlayground/helpers.d.ts +0 -2
  1678. package/cjs/internal/ThemePlayground/helpers.js +0 -26
  1679. package/cjs/internal/ThemePlayground/helpers.js.map +0 -1
  1680. package/cjs/internal/themes/FlatTheme.js +0 -229
  1681. package/cjs/internal/themes/FlatTheme.js.map +0 -1
  1682. package/cjs/internal/themes/Theme8px.d.ts +0 -277
  1683. package/cjs/internal/themes/Theme8px.js +0 -570
  1684. package/cjs/internal/themes/Theme8px.js.map +0 -1
  1685. package/cjs/lib/dom/getFocusableElements.d.ts +0 -42
  1686. package/cjs/lib/dom/getFocusableElements.js +0 -88
  1687. package/cjs/lib/dom/getFocusableElements.js.map +0 -1
  1688. package/cjs/lib/theming/themes/DefaultTheme8px.d.ts +0 -1
  1689. package/cjs/lib/theming/themes/DefaultTheme8px.js +0 -6
  1690. package/cjs/lib/theming/themes/DefaultTheme8px.js.map +0 -1
  1691. package/cjs/lib/theming/themes/FlatTheme.d.ts +0 -1
  1692. package/cjs/lib/theming/themes/FlatTheme.js +0 -6
  1693. package/cjs/lib/theming/themes/FlatTheme.js.map +0 -1
  1694. package/cjs/lib/theming/themes/FlatTheme8px.d.ts +0 -1
  1695. package/cjs/lib/theming/themes/FlatTheme8px.js +0 -6
  1696. package/cjs/lib/theming/themes/FlatTheme8px.js.map +0 -1
  1697. package/components/Modal/helpers/helpers.js +0 -10
  1698. package/components/Modal/helpers/helpers.js.map +0 -1
  1699. package/components/Modal/helpers/package.json +0 -6
  1700. package/components/Modal/helpers.d.ts +0 -6
  1701. package/components/SidePage/helpers/helpers.js +0 -7
  1702. package/components/SidePage/helpers/helpers.js.map +0 -1
  1703. package/components/SidePage/helpers/package.json +0 -6
  1704. package/components/SidePage/helpers.d.ts +0 -5
  1705. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js +0 -79
  1706. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +0 -1
  1707. package/internal/ThemePlayground/AnotherInputsPlayground/package.json +0 -6
  1708. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +0 -13
  1709. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js +0 -36
  1710. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +0 -1
  1711. package/internal/ThemePlayground/CheckboxPlayground/package.json +0 -6
  1712. package/internal/ThemePlayground/CheckboxPlayground.d.ts +0 -1
  1713. package/internal/ThemePlayground/ComponentsGroup/ComponentsGroup.js +0 -23
  1714. package/internal/ThemePlayground/ComponentsGroup/ComponentsGroup.js.map +0 -1
  1715. package/internal/ThemePlayground/ComponentsGroup/package.json +0 -6
  1716. package/internal/ThemePlayground/ComponentsGroup.d.ts +0 -10
  1717. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js +0 -41
  1718. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +0 -1
  1719. package/internal/ThemePlayground/CurrencyInputPlayground/package.json +0 -6
  1720. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +0 -11
  1721. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js +0 -47
  1722. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +0 -1
  1723. package/internal/ThemePlayground/FxInputPlayground/package.json +0 -6
  1724. package/internal/ThemePlayground/FxInputPlayground.d.ts +0 -10
  1725. package/internal/ThemePlayground/HintPlayground/HintPlayground.js +0 -57
  1726. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +0 -1
  1727. package/internal/ThemePlayground/HintPlayground/package.json +0 -6
  1728. package/internal/ThemePlayground/HintPlayground.d.ts +0 -6
  1729. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js +0 -39
  1730. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +0 -1
  1731. package/internal/ThemePlayground/PagingPlayground/package.json +0 -6
  1732. package/internal/ThemePlayground/PagingPlayground.d.ts +0 -10
  1733. package/internal/ThemePlayground/Playground/Playground.js +0 -394
  1734. package/internal/ThemePlayground/Playground/Playground.js.map +0 -1
  1735. package/internal/ThemePlayground/Playground/package.json +0 -6
  1736. package/internal/ThemePlayground/Playground.d.ts +0 -31
  1737. package/internal/ThemePlayground/Playground.md +0 -7
  1738. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +0 -68
  1739. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +0 -1
  1740. package/internal/ThemePlayground/Playground.styles/package.json +0 -6
  1741. package/internal/ThemePlayground/Playground.styles.d.ts +0 -23
  1742. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js +0 -41
  1743. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +0 -1
  1744. package/internal/ThemePlayground/RadioPlayground/package.json +0 -6
  1745. package/internal/ThemePlayground/RadioPlayground.d.ts +0 -1
  1746. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js +0 -49
  1747. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +0 -1
  1748. package/internal/ThemePlayground/SelectPlayground/package.json +0 -6
  1749. package/internal/ThemePlayground/SelectPlayground.d.ts +0 -12
  1750. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js +0 -44
  1751. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +0 -1
  1752. package/internal/ThemePlayground/SwitcherPlayground/package.json +0 -6
  1753. package/internal/ThemePlayground/SwitcherPlayground.d.ts +0 -15
  1754. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +0 -239
  1755. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +0 -1
  1756. package/internal/ThemePlayground/ThemeContextPlayground/package.json +0 -6
  1757. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +0 -51
  1758. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +0 -213
  1759. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +0 -1
  1760. package/internal/ThemePlayground/ThemeEditor/package.json +0 -6
  1761. package/internal/ThemePlayground/ThemeEditor.d.ts +0 -39
  1762. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js +0 -39
  1763. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +0 -1
  1764. package/internal/ThemePlayground/TogglePlayground/package.json +0 -6
  1765. package/internal/ThemePlayground/TogglePlayground.d.ts +0 -9
  1766. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js +0 -112
  1767. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +0 -1
  1768. package/internal/ThemePlayground/TokenInputPlayground/package.json +0 -6
  1769. package/internal/ThemePlayground/TokenInputPlayground.d.ts +0 -7
  1770. package/internal/ThemePlayground/VariableValue/VariableValue.js +0 -246
  1771. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +0 -1
  1772. package/internal/ThemePlayground/VariableValue/package.json +0 -6
  1773. package/internal/ThemePlayground/VariableValue.d.ts +0 -45
  1774. package/internal/ThemePlayground/constants/constants.js +0 -91
  1775. package/internal/ThemePlayground/constants/constants.js.map +0 -1
  1776. package/internal/ThemePlayground/constants/package.json +0 -6
  1777. package/internal/ThemePlayground/constants.d.ts +0 -18
  1778. package/internal/ThemePlayground/helpers/helpers.js +0 -31
  1779. package/internal/ThemePlayground/helpers/helpers.js.map +0 -1
  1780. package/internal/ThemePlayground/helpers/package.json +0 -6
  1781. package/internal/ThemePlayground/helpers.d.ts +0 -2
  1782. package/internal/themes/FlatTheme/FlatTheme.js +0 -307
  1783. package/internal/themes/FlatTheme/FlatTheme.js.map +0 -1
  1784. package/internal/themes/FlatTheme/package.json +0 -6
  1785. package/internal/themes/Theme8px/Theme8px.js +0 -752
  1786. package/internal/themes/Theme8px/Theme8px.js.map +0 -1
  1787. package/internal/themes/Theme8px/package.json +0 -6
  1788. package/internal/themes/Theme8px.d.ts +0 -277
  1789. package/lib/dom/getFocusableElements/getFocusableElements.js +0 -103
  1790. package/lib/dom/getFocusableElements/getFocusableElements.js.map +0 -1
  1791. package/lib/dom/getFocusableElements/package.json +0 -6
  1792. package/lib/dom/getFocusableElements.d.ts +0 -42
  1793. package/lib/theming/themes/DefaultTheme8px/DefaultTheme8px.js +0 -5
  1794. package/lib/theming/themes/DefaultTheme8px/DefaultTheme8px.js.map +0 -1
  1795. package/lib/theming/themes/DefaultTheme8px/package.json +0 -6
  1796. package/lib/theming/themes/DefaultTheme8px.d.ts +0 -1
  1797. package/lib/theming/themes/FlatTheme/FlatTheme.js +0 -5
  1798. package/lib/theming/themes/FlatTheme/FlatTheme.js.map +0 -1
  1799. package/lib/theming/themes/FlatTheme/package.json +0 -6
  1800. package/lib/theming/themes/FlatTheme.d.ts +0 -1
  1801. package/lib/theming/themes/FlatTheme8px/FlatTheme8px.js +0 -5
  1802. package/lib/theming/themes/FlatTheme8px/FlatTheme8px.js.map +0 -1
  1803. package/lib/theming/themes/FlatTheme8px/package.json +0 -6
  1804. package/lib/theming/themes/FlatTheme8px.d.ts +0 -1
@@ -1,6 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
3
3
 
4
+ var _class, _class2, _temp;
5
+
4
6
  function _createForOfIteratorHelperLoose(o, allowArrayLike) {
5
7
  var it;
6
8
 
@@ -51,19 +53,21 @@ import PropTypes from 'prop-types';
51
53
  import { Transition } from 'react-transition-group';
52
54
  import raf from 'raf';
53
55
  import warning from 'warning';
54
- import cn from 'classnames';
55
56
  import * as LayoutEvents from "../../../lib/LayoutEvents";
56
57
  import { ZIndex } from "../../ZIndex";
57
58
  import { RenderContainer } from "../../RenderContainer";
58
- import { isFunction } from "../../../lib/utils";
59
- import { isIE11, isEdge } from "../../../lib/client";
59
+ import { isFunction, isNonNullable } from "../../../lib/utils";
60
+ import { isIE11, isEdge, isSafari } from "../../../lib/client";
60
61
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
61
62
  import { isHTMLElement, safePropTypesInstanceOf } from "../../../lib/SSRSafe";
62
63
  import { isTestEnv } from "../../../lib/currentEnvironment";
63
64
  import { CommonWrapper } from "../../CommonWrapper";
65
+ import { cx } from "../../../lib/theming/Emotion";
66
+ import { responsiveLayout } from "../../../components/ResponsiveLayout";
67
+ import { MobilePopup } from "../../MobilePopup";
64
68
  import { PopupPin } from "../PopupPin";
65
69
  import { PopupHelper } from "../PopupHelper";
66
- import { jsStyles } from "../Popup.styles";
70
+ import { styles } from "../Popup.styles";
67
71
  var POPUP_BORDER_DEFAULT_COLOR = 'transparent';
68
72
  var TRANSITION_TIMEOUT = {
69
73
  enter: 0,
@@ -77,7 +81,7 @@ var DUMMY_LOCATION = {
77
81
  }
78
82
  };
79
83
  export var PopupPositions = ['top left', 'top center', 'top right', 'right top', 'right middle', 'right bottom', 'bottom right', 'bottom center', 'bottom left', 'left bottom', 'left middle', 'left top'];
80
- export var Popup = /*#__PURE__*/function (_React$Component) {
84
+ export var Popup = responsiveLayout(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
81
85
  _inheritsLoose(Popup, _React$Component);
82
86
 
83
87
  function Popup() {
@@ -97,6 +101,7 @@ export var Popup = /*#__PURE__*/function (_React$Component) {
97
101
  _this.lastPopupElement = void 0;
98
102
  _this.anchorElement = null;
99
103
  _this.anchorInstance = void 0;
104
+ _this.isMobileLayout = void 0;
100
105
 
101
106
  _this.refAnchorElement = function (instance) {
102
107
  _this.anchorInstance = instance;
@@ -138,6 +143,31 @@ export var Popup = /*#__PURE__*/function (_React$Component) {
138
143
  }
139
144
  };
140
145
 
146
+ _this.calculateWidth = function (width) {
147
+ if (typeof width === 'string' && width.includes('%')) {
148
+ return _this.anchorElement ? _this.anchorElement.offsetWidth * parseFloat(width) / 100 : 0;
149
+ }
150
+
151
+ return width;
152
+ };
153
+
154
+ _this.content = function (children) {
155
+ var _this$props = _this.props,
156
+ backgroundColor = _this$props.backgroundColor,
157
+ width = _this$props.width;
158
+ return /*#__PURE__*/React.createElement("div", {
159
+ className: styles.content(_this.theme),
160
+ "data-tid": 'PopupContent'
161
+ }, /*#__PURE__*/React.createElement("div", {
162
+ className: styles.contentInner(_this.theme),
163
+ style: {
164
+ backgroundColor: backgroundColor,
165
+ width: _this.calculateWidth(width)
166
+ },
167
+ "data-tid": 'PopupContentInner'
168
+ }, children));
169
+ };
170
+
141
171
  _this.resetLocation = function () {
142
172
  _this.cancelDelayedUpdateLocation();
143
173
 
@@ -191,8 +221,8 @@ export var Popup = /*#__PURE__*/function (_React$Component) {
191
221
  };
192
222
 
193
223
  _proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(nextProps) {
194
- /**
195
- * Delaying updateLocation to ensure it happens after props update
224
+ /**
225
+ * Delaying updateLocation to ensure it happens after props update
196
226
  */
197
227
  if (nextProps.opened) {
198
228
  if (!this.state.location) {
@@ -209,6 +239,12 @@ export var Popup = /*#__PURE__*/function (_React$Component) {
209
239
  var hadNoLocation = prevState.location === DUMMY_LOCATION;
210
240
  var hasLocation = this.state.location !== DUMMY_LOCATION;
211
241
 
242
+ if (this.isMobileLayout && prevState.location === null && this.state.location === null) {
243
+ this.setState({
244
+ location: DUMMY_LOCATION
245
+ });
246
+ }
247
+
212
248
  if (hadNoLocation && hasLocation && this.props.onOpen) {
213
249
  this.props.onOpen();
214
250
  }
@@ -241,11 +277,20 @@ export var Popup = /*#__PURE__*/function (_React$Component) {
241
277
  });
242
278
  };
243
279
 
280
+ _proto.renderMobile = function renderMobile() {
281
+ var opened = this.props.opened;
282
+ return /*#__PURE__*/React.createElement(MobilePopup, {
283
+ opened: opened,
284
+ withoutRenderContainer: true,
285
+ onCloseRequest: this.props.mobileOnCloseRequest
286
+ }, this.content(this.renderChildren()));
287
+ };
288
+
244
289
  _proto.renderMain = function renderMain() {
245
290
  var location = this.state.location;
246
- var _this$props = this.props,
247
- anchorElement = _this$props.anchorElement,
248
- useWrapper = _this$props.useWrapper;
291
+ var _this$props2 = this.props,
292
+ anchorElement = _this$props2.anchorElement,
293
+ useWrapper = _this$props2.useWrapper;
249
294
  var child = null;
250
295
 
251
296
  if (isHTMLElement(anchorElement)) {
@@ -259,7 +304,7 @@ export var Popup = /*#__PURE__*/function (_React$Component) {
259
304
  return /*#__PURE__*/React.createElement(RenderContainer, {
260
305
  anchor: child,
261
306
  ref: child ? this.refAnchorElement : undefined
262
- }, location && this.renderContent(location));
307
+ }, this.isMobileLayout && !this.props.withoutMobile ? this.renderMobile() : location && this.renderContent(location));
263
308
  };
264
309
 
265
310
  _proto.extractElement = function extractElement(instance) {
@@ -304,13 +349,12 @@ export var Popup = /*#__PURE__*/function (_React$Component) {
304
349
  _proto.renderContent = function renderContent(location) {
305
350
  var _this3 = this;
306
351
 
307
- var _this$props2 = this.props,
308
- backgroundColor = _this$props2.backgroundColor,
309
- disableAnimations = _this$props2.disableAnimations,
310
- maxWidth = _this$props2.maxWidth,
311
- hasShadow = _this$props2.hasShadow,
312
- ignoreHover = _this$props2.ignoreHover,
313
- opened = _this$props2.opened;
352
+ var _this$props3 = this.props,
353
+ disableAnimations = _this$props3.disableAnimations,
354
+ maxWidth = _this$props3.maxWidth,
355
+ hasShadow = _this$props3.hasShadow,
356
+ ignoreHover = _this$props3.ignoreHover,
357
+ opened = _this$props3.opened;
314
358
  var children = this.renderChildren();
315
359
 
316
360
  var _PopupHelper$getPosit = PopupHelper.getPositionObject(location.position),
@@ -320,6 +364,7 @@ export var Popup = /*#__PURE__*/function (_React$Component) {
320
364
  maxWidth: maxWidth
321
365
  });
322
366
 
367
+ var shouldFallbackShadow = isIE11 || isEdge || isSafari;
323
368
  return /*#__PURE__*/React.createElement(Transition, {
324
369
  timeout: TRANSITION_TIMEOUT,
325
370
  appear: !disableAnimations,
@@ -335,20 +380,11 @@ export var Popup = /*#__PURE__*/function (_React$Component) {
335
380
  return /*#__PURE__*/React.createElement(CommonWrapper, _this3.props, /*#__PURE__*/React.createElement(ZIndex, {
336
381
  ref: _this3.refPopupElement,
337
382
  priority: 'Popup',
338
- className: cn(_extends((_extends2 = {}, _extends2[jsStyles.popup(_this3.theme)] = true, _extends2[jsStyles.shadow(_this3.theme)] = hasShadow, _extends2[jsStyles.shadowFallback(_this3.theme)] = hasShadow && (isIE11 || isEdge), _extends2[jsStyles.popupIgnoreHover()] = ignoreHover, _extends2), disableAnimations ? {} : (_ref = {}, _ref[jsStyles["transition-enter-" + direction](_this3.theme)] = true, _ref[jsStyles.transitionEnter()] = state === 'entering', _ref[jsStyles.transitionEnterActive()] = state === 'entered', _ref[jsStyles.transitionExit()] = state === 'exiting', _ref))),
383
+ className: cx(_extends((_extends2 = {}, _extends2[styles.popup(_this3.theme)] = true, _extends2[styles.shadow(_this3.theme)] = hasShadow && !shouldFallbackShadow, _extends2[styles.shadowFallback(_this3.theme)] = hasShadow && shouldFallbackShadow, _extends2[styles.popupIgnoreHover()] = ignoreHover, _extends2), disableAnimations ? {} : (_ref = {}, _ref[styles["transition-enter-" + direction](_this3.theme)] = true, _ref[styles.transitionEnter()] = state === 'entering', _ref[styles.transitionEnterActive()] = state === 'entered', _ref[styles.transitionExit()] = state === 'exiting', _ref))),
339
384
  style: rootStyle,
340
385
  onMouseEnter: _this3.handleMouseEnter,
341
386
  onMouseLeave: _this3.handleMouseLeave
342
- }, /*#__PURE__*/React.createElement("div", {
343
- className: jsStyles.content(_this3.theme),
344
- "data-tid": 'PopupContent'
345
- }, /*#__PURE__*/React.createElement("div", {
346
- className: jsStyles.contentInner(_this3.theme),
347
- style: {
348
- backgroundColor: backgroundColor
349
- },
350
- "data-tid": 'PopupContentInner'
351
- }, children)), _this3.renderPin(location.position)));
387
+ }, _this3.content(children), !_this3.isMobileLayout && _this3.renderPin(location.position)));
352
388
  });
353
389
  };
354
390
 
@@ -357,18 +393,18 @@ export var Popup = /*#__PURE__*/function (_React$Component) {
357
393
  };
358
394
 
359
395
  _proto.renderPin = function renderPin(positionName) {
360
- /**
361
- * Box-shadow does not appear under the pin. Borders are used instead.
362
- * In non-ie browsers drop-shadow filter is used. It is applying
363
- * shadow to the pin too.
396
+ /**
397
+ * Box-shadow does not appear under the pin. Borders are used instead.
398
+ * In non-ie browsers drop-shadow filter is used. It is applying
399
+ * shadow to the pin too.
364
400
  */
365
401
  var isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;
366
402
  var pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;
367
- var _this$props3 = this.props,
368
- pinSize = _this$props3.pinSize,
369
- hasShadow = _this$props3.hasShadow,
370
- backgroundColor = _this$props3.backgroundColor,
371
- borderColor = _this$props3.borderColor;
403
+ var _this$props4 = this.props,
404
+ pinSize = _this$props4.pinSize,
405
+ hasShadow = _this$props4.hasShadow,
406
+ backgroundColor = _this$props4.backgroundColor,
407
+ borderColor = _this$props4.borderColor;
372
408
  var position = PopupHelper.getPositionObject(positionName);
373
409
  return this.props.hasPin && /*#__PURE__*/React.createElement(PopupPin, {
374
410
  popupElement: this.lastPopupElement,
@@ -406,7 +442,9 @@ export var Popup = /*#__PURE__*/function (_React$Component) {
406
442
  };
407
443
 
408
444
  _proto.getLocation = function getLocation(popupElement, location) {
409
- var positions = this.props.positions;
445
+ var _this$props5 = this.props,
446
+ positions = _this$props5.positions,
447
+ tryPreserveFirstRenderedPosition = _this$props5.tryPreserveFirstRenderedPosition;
410
448
  var anchorElement = this.anchorElement;
411
449
  warning(anchorElement && isHTMLElement(anchorElement), 'Anchor element is not defined or not instance of HTMLElement');
412
450
 
@@ -425,7 +463,12 @@ export var Popup = /*#__PURE__*/function (_React$Component) {
425
463
  var isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);
426
464
  var canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);
427
465
 
428
- if (isFullyVisible || canBecomeVisible) {
466
+ if ( // если нужно сохранить первоначальную позицию и Попап целиком
467
+ // находится в пределах вьюпорта (или может быть проскроллен в него)
468
+ tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible) || // если Попап целиком во вьюпорте и в самой приоритетной позиции
469
+ // (иначе нужно попытаться позицию сменить)
470
+ isFullyVisible && position === positions[0]) {
471
+ // сохраняем текущую позицию
429
472
  return {
430
473
  coordinates: coordinates,
431
474
  position: position
@@ -464,7 +507,8 @@ export var Popup = /*#__PURE__*/function (_React$Component) {
464
507
  };
465
508
 
466
509
  _proto.getCoordinates = function getCoordinates(anchorRect, popupRect, positionName) {
467
- var margin = this.props.margin || parseInt(this.theme.popupMargin);
510
+ var marginFromProps = this.props.margin;
511
+ var margin = isNonNullable(marginFromProps) && !isNaN(marginFromProps) ? marginFromProps : parseInt(this.theme.popupMargin) || 0;
468
512
  var position = PopupHelper.getPositionObject(positionName);
469
513
  var popupOffset = this.props.popupOffset + this.getPinnedPopupOffset(anchorRect, position);
470
514
 
@@ -552,75 +596,73 @@ export var Popup = /*#__PURE__*/function (_React$Component) {
552
596
  };
553
597
 
554
598
  return Popup;
555
- }(React.Component);
556
- Popup.__KONTUR_REACT_UI__ = 'Popup';
557
- Popup.propTypes = {
558
- /**
559
- * Ссылка (ref) на элемент или React компонент, для которого рисуется попап
599
+ }(React.Component), _class2.__KONTUR_REACT_UI__ = 'Popup', _class2.propTypes = {
600
+ /**
601
+ * Ссылка (ref) на элемент или React компонент, для которого рисуется попап
560
602
  */
561
603
  anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(function () {
562
604
  return HTMLElement;
563
605
  }), PropTypes.node]).isRequired,
564
606
 
565
- /**
566
- * Фон попапа и пина
607
+ /**
608
+ * Фон попапа и пина
567
609
  */
568
610
  backgroundColor: PropTypes.string,
569
611
  children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
570
612
 
571
- /**
572
- * Показывать ли пин
613
+ /**
614
+ * Показывать ли пин
573
615
  */
574
616
  hasPin: PropTypes.bool,
575
617
 
576
- /**
577
- * Применять ли box-shadow на попапе. При false отключает границу на пине
618
+ /**
619
+ * Применять ли box-shadow на попапе. При false отключает границу на пине
578
620
  */
579
621
  hasShadow: PropTypes.bool,
580
622
 
581
- /**
582
- * Отступ попапа от элемента
623
+ /**
624
+ * Отступ попапа от элемента
583
625
  */
584
626
  margin: PropTypes.number,
585
627
 
586
- /**
587
- * Показан или скрыт попап
628
+ /**
629
+ * Показан или скрыт попап
588
630
  */
589
631
  opened: PropTypes.bool,
590
632
 
591
- /**
592
- * Смещение пина от края попапа. Край задаётся в пропе position вторым словом
633
+ /**
634
+ * Смещение пина от края попапа. Край задаётся в пропе position вторым словом
593
635
  */
594
636
  pinOffset: PropTypes.number,
595
637
 
596
- /**
597
- * Сторона пина без учёта границы.
598
- * Пин представляет собой равносторонний треугольник, высота от попапа
599
- * до "носика" пина будет соответствовать формуле (size* √3)/2
638
+ /**
639
+ * Сторона пина без учёта границы.
640
+ * Пин представляет собой равносторонний треугольник, высота от попапа
641
+ * до "носика" пина будет соответствовать формуле (size* √3)/2
600
642
  */
601
643
  pinSize: PropTypes.number,
602
644
 
603
- /**
604
- * смещение попапа относительно родительского элемента
645
+ /**
646
+ * смещение попапа относительно родительского элемента
605
647
  */
606
648
  popupOffset: PropTypes.number,
607
649
 
608
- /**
609
- * С какой стороны показывать попап и край попапа,
610
- * на котором будет отображаться пин
650
+ /**
651
+ * С какой стороны показывать попап и край попапа,
652
+ * на котором будет отображаться пин
611
653
  */
612
654
  positions: PropTypes.array,
613
655
 
614
- /**
615
- * Игнорировать ли события hover/click
656
+ /**
657
+ * Игнорировать ли события hover/click
616
658
  */
617
659
  ignoreHover: PropTypes.bool
618
- };
619
- Popup.defaultProps = {
660
+ }, _class2.defaultProps = {
620
661
  popupOffset: 0,
621
662
  hasPin: false,
622
663
  hasShadow: false,
623
664
  disableAnimations: isTestEnv,
624
665
  useWrapper: false,
625
- ignoreHover: false
626
- };
666
+ ignoreHover: false,
667
+ width: 'auto'
668
+ }, _temp)) || _class;
@@ -1 +1 @@
1
- {"version":3,"sources":["Popup.tsx"],"names":["React","findDOMNode","PropTypes","Transition","raf","warning","cn","LayoutEvents","ZIndex","RenderContainer","isFunction","isIE11","isEdge","ThemeContext","isHTMLElement","safePropTypesInstanceOf","isTestEnv","CommonWrapper","PopupPin","PopupHelper","jsStyles","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","DUMMY_LOCATION","position","coordinates","top","left","PopupPositions","Popup","state","location","props","opened","theme","layoutEventsToken","locationUpdateId","lastPopupElement","anchorElement","anchorInstance","refAnchorElement","instance","element","extractElement","updateAnchorElement","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","zIndex","handleLayoutEvent","updateLocation","popupElement","getLocation","locationEquals","componentDidMount","addListener","UNSAFE_componentWillReceiveProps","nextProps","delayUpdateLocation","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","onOpen","onClose","componentWillUnmount","removeEventListeners","remove","render","renderMain","useWrapper","child","isValidElement","undefined","renderContent","addEventListeners","addEventListener","removeEventListener","backgroundColor","disableAnimations","maxWidth","hasShadow","ignoreHover","children","renderChildren","getPositionObject","direction","rootStyle","Boolean","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","content","contentInner","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","cancel","x","y","positions","anchorRect","getElementAbsoluteRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","getPinnedPopupOffset","test","anchorSize","width","height","Math","max","margin","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { Transition } from 'react-transition-group';\r\nimport raf from 'raf';\r\nimport warning from 'warning';\r\nimport cn from 'classnames';\r\n\r\nimport { Nullable } from '../../typings/utility-types';\r\nimport * as LayoutEvents from '../../lib/LayoutEvents';\r\nimport { ZIndex } from '../ZIndex';\r\nimport { RenderContainer } from '../RenderContainer';\r\nimport { FocusEventType, MouseEventType } from '../../typings/event-types';\r\nimport { isFunction } from '../../lib/utils';\r\nimport { isIE11, isEdge } from '../../lib/client';\r\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { isHTMLElement, safePropTypesInstanceOf } from '../../lib/SSRSafe';\r\nimport { isTestEnv } from '../../lib/currentEnvironment';\r\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\r\n\r\nimport { PopupPin } from './PopupPin';\r\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\r\nimport { jsStyles } from './Popup.styles';\r\n\r\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\r\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\r\n\r\nconst DUMMY_LOCATION: PopupLocation = {\r\n position: 'top left',\r\n coordinates: {\r\n top: -9999,\r\n left: -9999,\r\n },\r\n};\r\n\r\nexport type PopupPosition =\r\n | 'top left'\r\n | 'top center'\r\n | 'top right'\r\n | 'right top'\r\n | 'right middle'\r\n | 'right bottom'\r\n | 'bottom left'\r\n | 'bottom center'\r\n | 'bottom right'\r\n | 'left top'\r\n | 'left middle'\r\n | 'left bottom';\r\n\r\nexport const PopupPositions: PopupPosition[] = [\r\n 'top left',\r\n 'top center',\r\n 'top right',\r\n 'right top',\r\n 'right middle',\r\n 'right bottom',\r\n 'bottom right',\r\n 'bottom center',\r\n 'bottom left',\r\n 'left bottom',\r\n 'left middle',\r\n 'left top',\r\n];\r\n\r\nexport interface PopupHandlerProps {\r\n onMouseEnter?: (event: MouseEventType) => void;\r\n onMouseLeave?: (event: MouseEventType) => void;\r\n onClick?: (event: MouseEventType) => void;\r\n onFocus?: (event: FocusEventType) => void;\r\n onBlur?: (event: FocusEventType) => void;\r\n onOpen?: () => void;\r\n onClose?: () => void;\r\n}\r\n\r\nexport interface PopupProps extends CommonProps, PopupHandlerProps {\r\n anchorElement: React.ReactNode | HTMLElement;\r\n backgroundColor?: React.CSSProperties['backgroundColor'];\r\n borderColor?: React.CSSProperties['borderColor'];\r\n children: React.ReactNode | (() => React.ReactNode);\r\n hasPin: boolean;\r\n hasShadow: boolean;\r\n disableAnimations: boolean;\r\n margin?: number;\r\n maxWidth?: number | string;\r\n opened: boolean;\r\n pinOffset?: number;\r\n pinSize?: number;\r\n popupOffset: number;\r\n positions: PopupPosition[];\r\n useWrapper: boolean;\r\n ignoreHover: boolean;\r\n}\r\n\r\ninterface PopupLocation {\r\n coordinates: {\r\n left: number;\r\n top: number;\r\n };\r\n position: PopupPosition;\r\n}\r\n\r\nexport interface PopupState {\r\n location: Nullable<PopupLocation>;\r\n}\r\n\r\nexport class Popup extends React.Component<PopupProps, PopupState> {\r\n public static __KONTUR_REACT_UI__ = 'Popup';\r\n\r\n public static propTypes = {\r\n /**\r\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\r\n */\r\n anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(() => HTMLElement), PropTypes.node]).isRequired,\r\n\r\n /**\r\n * Фон попапа и пина\r\n */\r\n backgroundColor: PropTypes.string,\r\n\r\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\r\n\r\n /**\r\n * Показывать ли пин\r\n */\r\n hasPin: PropTypes.bool,\r\n\r\n /**\r\n * Применять ли box-shadow на попапе. При false отключает границу на пине\r\n */\r\n hasShadow: PropTypes.bool,\r\n\r\n /**\r\n * Отступ попапа от элемента\r\n */\r\n margin: PropTypes.number,\r\n\r\n /**\r\n * Показан или скрыт попап\r\n */\r\n opened: PropTypes.bool,\r\n\r\n /**\r\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\r\n */\r\n pinOffset: PropTypes.number,\r\n\r\n /**\r\n * Сторона пина без учёта границы.\r\n * Пин представляет собой равносторонний треугольник, высота от попапа\r\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\r\n */\r\n pinSize: PropTypes.number,\r\n\r\n /**\r\n * смещение попапа относительно родительского элемента\r\n */\r\n popupOffset: PropTypes.number,\r\n\r\n /**\r\n * С какой стороны показывать попап и край попапа,\r\n * на котором будет отображаться пин\r\n */\r\n positions: PropTypes.array,\r\n\r\n /**\r\n * Игнорировать ли события hover/click\r\n */\r\n ignoreHover: PropTypes.bool,\r\n };\r\n\r\n public static defaultProps = {\r\n popupOffset: 0,\r\n hasPin: false,\r\n hasShadow: false,\r\n disableAnimations: isTestEnv,\r\n useWrapper: false,\r\n ignoreHover: false,\r\n };\r\n\r\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\r\n private theme!: Theme;\r\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\r\n private locationUpdateId: Nullable<number> = null;\r\n private lastPopupElement: Nullable<HTMLElement>;\r\n private anchorElement: Nullable<HTMLElement> = null;\r\n private anchorInstance: Nullable<React.ReactInstance>;\r\n\r\n public componentDidMount() {\r\n this.updateLocation();\r\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\r\n }\r\n\r\n public UNSAFE_componentWillReceiveProps(nextProps: Readonly<PopupProps>) {\r\n /**\r\n * Delaying updateLocation to ensure it happens after props update\r\n */\r\n if (nextProps.opened) {\r\n if (!this.state.location) {\r\n this.setState({ location: DUMMY_LOCATION });\r\n }\r\n this.delayUpdateLocation();\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\r\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\r\n const hasLocation = this.state.location !== DUMMY_LOCATION;\r\n if (hadNoLocation && hasLocation && this.props.onOpen) {\r\n this.props.onOpen();\r\n }\r\n if (!hadNoLocation && !this.state.location && this.props.onClose) {\r\n this.props.onClose();\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n this.cancelDelayedUpdateLocation();\r\n this.removeEventListeners(this.anchorElement);\r\n if (this.layoutEventsToken) {\r\n this.layoutEventsToken.remove();\r\n this.layoutEventsToken = null;\r\n }\r\n if (this.state.location && this.props.onClose) {\r\n this.props.onClose();\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 this.renderMain();\r\n }}\r\n </ThemeContext.Consumer>\r\n );\r\n }\r\n\r\n private renderMain() {\r\n const { location } = this.state;\r\n const { anchorElement, useWrapper } = this.props;\r\n\r\n let child: Nullable<React.ReactNode> = null;\r\n if (isHTMLElement(anchorElement)) {\r\n this.updateAnchorElement(anchorElement);\r\n } else if (React.isValidElement(anchorElement)) {\r\n child = useWrapper ? <span>{anchorElement}</span> : anchorElement;\r\n } else {\r\n child = <span>{anchorElement}</span>;\r\n }\r\n\r\n return (\r\n <RenderContainer anchor={child} ref={child ? this.refAnchorElement : undefined}>\r\n {location && this.renderContent(location)}\r\n </RenderContainer>\r\n );\r\n }\r\n\r\n private refAnchorElement = (instance: React.ReactInstance | null) => {\r\n this.anchorInstance = instance;\r\n const element = this.extractElement(instance);\r\n this.updateAnchorElement(element);\r\n this.anchorElement = element;\r\n };\r\n\r\n private extractElement(instance: React.ReactInstance | null) {\r\n if (!instance) {\r\n return null;\r\n }\r\n const element = findDOMNode(instance);\r\n return isHTMLElement(element) ? element : null;\r\n }\r\n\r\n private updateAnchorElement(element: HTMLElement | null) {\r\n const anchorElement = this.anchorElement;\r\n\r\n if (element !== anchorElement) {\r\n this.removeEventListeners(anchorElement);\r\n this.anchorElement = element;\r\n this.addEventListeners(element);\r\n }\r\n }\r\n\r\n private addEventListeners(element: Nullable<HTMLElement>) {\r\n if (element && isHTMLElement(element)) {\r\n element.addEventListener('mouseenter', this.handleMouseEnter);\r\n element.addEventListener('mouseleave', this.handleMouseLeave);\r\n element.addEventListener('click', this.handleClick);\r\n element.addEventListener('focusin', this.handleFocus as EventListener);\r\n element.addEventListener('focusout', this.handleBlur as EventListener);\r\n }\r\n }\r\n\r\n private removeEventListeners(element: Nullable<HTMLElement>) {\r\n if (element && isHTMLElement(element)) {\r\n element.removeEventListener('mouseenter', this.handleMouseEnter);\r\n element.removeEventListener('mouseleave', this.handleMouseLeave);\r\n element.removeEventListener('click', this.handleClick);\r\n element.removeEventListener('focusin', this.handleFocus as EventListener);\r\n element.removeEventListener('focusout', this.handleBlur as EventListener);\r\n }\r\n }\r\n\r\n private handleMouseEnter = (event: MouseEventType) => {\r\n if (this.props.onMouseEnter) {\r\n this.props.onMouseEnter(event);\r\n }\r\n };\r\n\r\n private handleMouseLeave = (event: MouseEventType) => {\r\n if (this.props.onMouseLeave) {\r\n this.props.onMouseLeave(event);\r\n }\r\n };\r\n\r\n private handleClick = (event: MouseEventType) => {\r\n if (this.props.onClick) {\r\n this.props.onClick(event);\r\n }\r\n };\r\n\r\n private handleFocus = (event: FocusEventType) => {\r\n if (this.props.onFocus) {\r\n this.props.onFocus(event);\r\n }\r\n };\r\n\r\n private handleBlur = (event: FocusEventType) => {\r\n if (this.props.onBlur) {\r\n this.props.onBlur(event);\r\n }\r\n };\r\n\r\n private renderContent(location: PopupLocation) {\r\n const { backgroundColor, disableAnimations, maxWidth, hasShadow, ignoreHover, opened } = this.props;\r\n const children = this.renderChildren();\r\n\r\n const { direction } = PopupHelper.getPositionObject(location.position);\r\n const rootStyle: React.CSSProperties = { ...location.coordinates, maxWidth };\r\n\r\n return (\r\n <Transition\r\n timeout={TRANSITION_TIMEOUT}\r\n appear={!disableAnimations}\r\n in={Boolean(opened && children)}\r\n mountOnEnter\r\n unmountOnExit\r\n enter={!disableAnimations}\r\n exit={!disableAnimations}\r\n onExited={this.resetLocation}\r\n >\r\n {(state: string) => (\r\n <CommonWrapper {...this.props}>\r\n <ZIndex\r\n ref={this.refPopupElement}\r\n priority={'Popup'}\r\n className={cn({\r\n [jsStyles.popup(this.theme)]: true,\r\n [jsStyles.shadow(this.theme)]: hasShadow,\r\n [jsStyles.shadowFallback(this.theme)]: hasShadow && (isIE11 || isEdge),\r\n [jsStyles.popupIgnoreHover()]: ignoreHover,\r\n ...(disableAnimations\r\n ? {}\r\n : {\r\n [jsStyles[`transition-enter-${direction}` as keyof typeof jsStyles](this.theme)]: true,\r\n [jsStyles.transitionEnter()]: state === 'entering',\r\n [jsStyles.transitionEnterActive()]: state === 'entered',\r\n [jsStyles.transitionExit()]: state === 'exiting',\r\n }),\r\n })}\r\n style={rootStyle}\r\n onMouseEnter={this.handleMouseEnter}\r\n onMouseLeave={this.handleMouseLeave}\r\n >\r\n <div className={jsStyles.content(this.theme)} data-tid={'PopupContent'}>\r\n <div\r\n className={jsStyles.contentInner(this.theme)}\r\n style={{ backgroundColor }}\r\n data-tid={'PopupContentInner'}\r\n >\r\n {children}\r\n </div>\r\n </div>\r\n {this.renderPin(location.position)}\r\n </ZIndex>\r\n </CommonWrapper>\r\n )}\r\n </Transition>\r\n );\r\n }\r\n\r\n private resetLocation = () => {\r\n this.cancelDelayedUpdateLocation();\r\n this.setState({ location: null });\r\n };\r\n\r\n private renderChildren() {\r\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\r\n }\r\n\r\n private refPopupElement = (zIndex: ZIndex | null) => {\r\n if (zIndex) {\r\n this.lastPopupElement = zIndex && (findDOMNode(zIndex) as HTMLElement);\r\n }\r\n };\r\n\r\n private renderPin(positionName: string): React.ReactNode {\r\n /**\r\n * Box-shadow does not appear under the pin. Borders are used instead.\r\n * In non-ie browsers drop-shadow filter is used. It is applying\r\n * shadow to the pin too.\r\n */\r\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\r\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\r\n\r\n const { pinSize, hasShadow, backgroundColor, borderColor } = this.props;\r\n const position = PopupHelper.getPositionObject(positionName);\r\n\r\n return (\r\n this.props.hasPin && (\r\n <PopupPin\r\n popupElement={this.lastPopupElement}\r\n popupPosition={positionName}\r\n size={pinSize || parseInt(this.theme.popupPinSize)}\r\n offset={this.getPinOffset(position.align)}\r\n borderWidth={hasShadow ? 1 : 0}\r\n backgroundColor={backgroundColor || this.theme.popupBackground}\r\n borderColor={borderColor || pinBorder}\r\n />\r\n )\r\n );\r\n }\r\n\r\n private handleLayoutEvent = () => {\r\n if (!this.state.location) {\r\n return;\r\n }\r\n if (this.anchorInstance) {\r\n this.updateAnchorElement(this.extractElement(this.anchorInstance));\r\n }\r\n this.updateLocation();\r\n };\r\n\r\n private delayUpdateLocation() {\r\n this.cancelDelayedUpdateLocation();\r\n this.locationUpdateId = raf(this.updateLocation);\r\n }\r\n\r\n private cancelDelayedUpdateLocation() {\r\n if (this.locationUpdateId) {\r\n raf.cancel(this.locationUpdateId);\r\n this.locationUpdateId = null;\r\n }\r\n }\r\n\r\n private updateLocation = () => {\r\n const popupElement = this.lastPopupElement;\r\n\r\n if (!popupElement) {\r\n return;\r\n }\r\n\r\n const location = this.getLocation(popupElement, this.state.location);\r\n if (!this.locationEquals(this.state.location, location)) {\r\n this.setState({ location });\r\n }\r\n };\r\n\r\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\r\n if (x === y) {\r\n return true;\r\n }\r\n\r\n if (x == null || y == null) {\r\n return false;\r\n }\r\n\r\n return (\r\n x.coordinates.left === y.coordinates.left && x.coordinates.top === y.coordinates.top && x.position === y.position\r\n );\r\n }\r\n\r\n private getLocation(popupElement: HTMLElement, location?: Nullable<PopupLocation>) {\r\n const positions = this.props.positions;\r\n const anchorElement = this.anchorElement;\r\n\r\n warning(\r\n anchorElement && isHTMLElement(anchorElement),\r\n 'Anchor element is not defined or not instance of HTMLElement',\r\n );\r\n\r\n if (!(anchorElement && isHTMLElement(anchorElement))) {\r\n return location;\r\n }\r\n\r\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\r\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\r\n\r\n let position: PopupPosition;\r\n let coordinates: Offset;\r\n\r\n if (location && location !== DUMMY_LOCATION && location.position) {\r\n position = location.position;\r\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\r\n\r\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\r\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\r\n if (isFullyVisible || canBecomeVisible) {\r\n return { coordinates, position };\r\n }\r\n }\r\n\r\n for (position of positions) {\r\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\r\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\r\n return { coordinates, position };\r\n }\r\n }\r\n\r\n position = positions[0];\r\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\r\n return { coordinates, position };\r\n }\r\n\r\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\r\n if (!this.props.hasPin || /center|middle/.test(position.align)) {\r\n return 0;\r\n }\r\n\r\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\r\n\r\n const { pinSize } = this.props;\r\n\r\n return Math.max(\r\n 0,\r\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\r\n );\r\n }\r\n\r\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\r\n const margin = this.props.margin || parseInt(this.theme.popupMargin);\r\n const position = PopupHelper.getPositionObject(positionName);\r\n const popupOffset = this.props.popupOffset + this.getPinnedPopupOffset(anchorRect, position);\r\n\r\n switch (position.direction) {\r\n case 'top':\r\n return {\r\n top: anchorRect.top - popupRect.height - margin,\r\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\r\n };\r\n case 'bottom':\r\n return {\r\n top: anchorRect.top + anchorRect.height + margin,\r\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\r\n };\r\n case 'left':\r\n return {\r\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\r\n left: anchorRect.left - popupRect.width - margin,\r\n };\r\n case 'right':\r\n return {\r\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\r\n left: anchorRect.left + anchorRect.width + margin,\r\n };\r\n default:\r\n throw new Error(`Unexpected direction '${position.direction}'`);\r\n }\r\n }\r\n\r\n private getPinOffset(align: string) {\r\n const { pinOffset } = this.props;\r\n\r\n switch (align) {\r\n case 'top':\r\n case 'bottom':\r\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetY);\r\n case 'left':\r\n case 'right':\r\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetX);\r\n case 'center':\r\n case 'middle':\r\n return 0;\r\n default:\r\n throw new Error(`Unexpected align '${align}'`);\r\n }\r\n }\r\n\r\n private getHorizontalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\r\n switch (align) {\r\n case 'left':\r\n return anchorRect.left - popupOffset;\r\n case 'center':\r\n return anchorRect.left - (popupRect.width - anchorRect.width) / 2;\r\n case 'right':\r\n return anchorRect.left - (popupRect.width - anchorRect.width) + popupOffset;\r\n default:\r\n throw new Error(`Unexpected align '${align}'`);\r\n }\r\n }\r\n\r\n private getVerticalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\r\n switch (align) {\r\n case 'top':\r\n return anchorRect.top - popupOffset;\r\n case 'middle':\r\n return anchorRect.top - (popupRect.height - anchorRect.height) / 2;\r\n case 'bottom':\r\n return anchorRect.top - (popupRect.height - anchorRect.height) + popupOffset;\r\n default:\r\n throw new Error(`Unexpected align '${align}'`);\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"sources":["Popup.tsx"],"names":["React","findDOMNode","PropTypes","Transition","raf","warning","LayoutEvents","ZIndex","RenderContainer","isFunction","isNonNullable","isIE11","isEdge","isSafari","ThemeContext","isHTMLElement","safePropTypesInstanceOf","isTestEnv","CommonWrapper","cx","responsiveLayout","MobilePopup","PopupPin","PopupHelper","styles","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","DUMMY_LOCATION","position","coordinates","top","left","PopupPositions","Popup","state","location","props","opened","theme","layoutEventsToken","locationUpdateId","lastPopupElement","anchorElement","anchorInstance","isMobileLayout","refAnchorElement","instance","element","extractElement","updateAnchorElement","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","offsetWidth","parseFloat","content","children","backgroundColor","contentInner","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","zIndex","handleLayoutEvent","updateLocation","popupElement","getLocation","locationEquals","componentDidMount","addListener","UNSAFE_componentWillReceiveProps","nextProps","delayUpdateLocation","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","onOpen","onClose","componentWillUnmount","removeEventListeners","remove","render","renderMain","renderMobile","mobileOnCloseRequest","renderChildren","useWrapper","child","isValidElement","undefined","withoutMobile","renderContent","addEventListeners","addEventListener","removeEventListener","disableAnimations","maxWidth","hasShadow","ignoreHover","getPositionObject","direction","rootStyle","shouldFallbackShadow","Boolean","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","cancel","x","y","positions","tryPreserveFirstRenderedPosition","anchorRect","getElementAbsoluteRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","getPinnedPopupOffset","test","anchorSize","height","Math","max","marginFromProps","margin","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport raf from 'raf';\nimport warning from 'warning';\n\nimport { Nullable } from '../../typings/utility-types';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { ZIndex } from '../ZIndex';\nimport { RenderContainer } from '../RenderContainer';\nimport { FocusEventType, MouseEventType } from '../../typings/event-types';\nimport { isFunction, isNonNullable } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isHTMLElement, safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../../components/ResponsiveLayout';\nimport { MobilePopup } from '../MobilePopup';\n\nimport { PopupPin } from './PopupPin';\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { styles } from './Popup.styles';\n\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\n\nconst DUMMY_LOCATION: PopupLocation = {\n position: 'top left',\n coordinates: {\n top: -9999,\n left: -9999,\n },\n};\n\nexport type PopupPosition =\n | 'top left'\n | 'top center'\n | 'top right'\n | 'right top'\n | 'right middle'\n | 'right bottom'\n | 'bottom left'\n | 'bottom center'\n | 'bottom right'\n | 'left top'\n | 'left middle'\n | 'left bottom';\n\nexport const PopupPositions: PopupPosition[] = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom right',\n 'bottom center',\n 'bottom left',\n 'left bottom',\n 'left middle',\n 'left top',\n];\n\nexport interface PopupHandlerProps {\n onMouseEnter?: (event: MouseEventType) => void;\n onMouseLeave?: (event: MouseEventType) => void;\n onClick?: (event: MouseEventType) => void;\n onFocus?: (event: FocusEventType) => void;\n onBlur?: (event: FocusEventType) => void;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport interface PopupProps extends CommonProps, PopupHandlerProps {\n anchorElement: React.ReactNode | HTMLElement;\n backgroundColor?: React.CSSProperties['backgroundColor'];\n borderColor?: React.CSSProperties['borderColor'];\n children: React.ReactNode | (() => React.ReactNode);\n hasPin: boolean;\n hasShadow: boolean;\n disableAnimations: boolean;\n margin?: number;\n maxWidth?: number | string;\n opened: boolean;\n pinOffset?: number;\n pinSize?: number;\n popupOffset: number;\n positions: PopupPosition[];\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n ignoreHover: boolean;\n width: React.CSSProperties['width'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n withoutMobile?: boolean;\n mobileOnCloseRequest?: () => void;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPosition;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\n@responsiveLayout\nexport class Popup extends React.Component<PopupProps, PopupState> {\n public static __KONTUR_REACT_UI__ = 'Popup';\n\n public static propTypes = {\n /**\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\n */\n anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(() => HTMLElement), PropTypes.node]).isRequired,\n\n /**\n * Фон попапа и пина\n */\n backgroundColor: PropTypes.string,\n\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Показывать ли пин\n */\n hasPin: PropTypes.bool,\n\n /**\n * Применять ли box-shadow на попапе. При false отключает границу на пине\n */\n hasShadow: PropTypes.bool,\n\n /**\n * Отступ попапа от элемента\n */\n margin: PropTypes.number,\n\n /**\n * Показан или скрыт попап\n */\n opened: PropTypes.bool,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n pinOffset: PropTypes.number,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n pinSize: PropTypes.number,\n\n /**\n * смещение попапа относительно родительского элемента\n */\n popupOffset: PropTypes.number,\n\n /**\n * С какой стороны показывать попап и край попапа,\n * на котором будет отображаться пин\n */\n positions: PropTypes.array,\n\n /**\n * Игнорировать ли события hover/click\n */\n ignoreHover: PropTypes.bool,\n };\n\n public static defaultProps = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n width: 'auto',\n };\n\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\n private theme!: Theme;\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private locationUpdateId: Nullable<number> = null;\n private lastPopupElement: Nullable<HTMLElement>;\n private anchorElement: Nullable<HTMLElement> = null;\n private anchorInstance: Nullable<React.ReactInstance>;\n private isMobileLayout!: boolean;\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: Readonly<PopupProps>) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (nextProps.opened) {\n if (!this.state.location) {\n this.setState({ location: DUMMY_LOCATION });\n }\n this.delayUpdateLocation();\n }\n }\n\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\n const hasLocation = this.state.location !== DUMMY_LOCATION;\n\n if (this.isMobileLayout && prevState.location === null && this.state.location === null) {\n this.setState({ location: DUMMY_LOCATION });\n }\n\n if (hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (!hadNoLocation && !this.state.location && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n public componentWillUnmount() {\n this.cancelDelayedUpdateLocation();\n this.removeEventListeners(this.anchorElement);\n if (this.layoutEventsToken) {\n this.layoutEventsToken.remove();\n this.layoutEventsToken = null;\n }\n if (this.state.location && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMobile() {\n const { opened } = this.props;\n\n return (\n <MobilePopup opened={opened} withoutRenderContainer onCloseRequest={this.props.mobileOnCloseRequest}>\n {this.content(this.renderChildren())}\n </MobilePopup>\n );\n }\n\n private renderMain() {\n const { location } = this.state;\n const { anchorElement, useWrapper } = this.props;\n\n let child: Nullable<React.ReactNode> = null;\n if (isHTMLElement(anchorElement)) {\n this.updateAnchorElement(anchorElement);\n } else if (React.isValidElement(anchorElement)) {\n child = useWrapper ? <span>{anchorElement}</span> : anchorElement;\n } else {\n child = <span>{anchorElement}</span>;\n }\n\n return (\n <RenderContainer anchor={child} ref={child ? this.refAnchorElement : undefined}>\n {this.isMobileLayout && !this.props.withoutMobile\n ? this.renderMobile()\n : location && this.renderContent(location)}\n </RenderContainer>\n );\n }\n\n private refAnchorElement = (instance: React.ReactInstance | null) => {\n this.anchorInstance = instance;\n const element = this.extractElement(instance);\n this.updateAnchorElement(element);\n this.anchorElement = element;\n };\n\n private extractElement(instance: React.ReactInstance | null) {\n if (!instance) {\n return null;\n }\n const element = findDOMNode(instance);\n return isHTMLElement(element) ? element : null;\n }\n\n private updateAnchorElement(element: HTMLElement | null) {\n const anchorElement = this.anchorElement;\n\n if (element !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = element;\n this.addEventListeners(element);\n }\n }\n\n private addEventListeners(element: Nullable<HTMLElement>) {\n if (element && isHTMLElement(element)) {\n element.addEventListener('mouseenter', this.handleMouseEnter);\n element.addEventListener('mouseleave', this.handleMouseLeave);\n element.addEventListener('click', this.handleClick);\n element.addEventListener('focusin', this.handleFocus as EventListener);\n element.addEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private removeEventListeners(element: Nullable<HTMLElement>) {\n if (element && isHTMLElement(element)) {\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n element.removeEventListener('mouseleave', this.handleMouseLeave);\n element.removeEventListener('click', this.handleClick);\n element.removeEventListener('focusin', this.handleFocus as EventListener);\n element.removeEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(event);\n }\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(event);\n }\n };\n\n private handleClick = (event: MouseEventType) => {\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n };\n\n private handleFocus = (event: FocusEventType) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: FocusEventType) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private calculateWidth = (width: PopupProps['width']) => {\n if (typeof width === 'string' && width.includes('%')) {\n return this.anchorElement ? (this.anchorElement.offsetWidth * parseFloat(width)) / 100 : 0;\n }\n return width;\n };\n\n private content = (children: React.ReactNode) => {\n const { backgroundColor, width } = this.props;\n\n return (\n <div className={styles.content(this.theme)} data-tid={'PopupContent'}>\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width) }}\n data-tid={'PopupContentInner'}\n >\n {children}\n </div>\n </div>\n );\n };\n\n private renderContent(location: PopupLocation) {\n const { disableAnimations, maxWidth, hasShadow, ignoreHover, opened } = this.props;\n const children = this.renderChildren();\n\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = { ...location.coordinates, maxWidth };\n\n const shouldFallbackShadow = isIE11 || isEdge || isSafari;\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n >\n {(state: string) => (\n <CommonWrapper {...this.props}>\n <ZIndex\n ref={this.refPopupElement}\n priority={'Popup'}\n className={cx({\n [styles.popup(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow && !shouldFallbackShadow,\n [styles.shadowFallback(this.theme)]: hasShadow && shouldFallbackShadow,\n [styles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [styles[`transition-enter-${direction}` as keyof typeof styles](this.theme)]: true,\n [styles.transitionEnter()]: state === 'entering',\n [styles.transitionEnterActive()]: state === 'entered',\n [styles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {this.content(children)}\n {!this.isMobileLayout && this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.setState({ location: null });\n };\n\n private renderChildren() {\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\n }\n\n private refPopupElement = (zIndex: ZIndex | null) => {\n if (zIndex) {\n this.lastPopupElement = zIndex && (findDOMNode(zIndex) as HTMLElement);\n }\n };\n\n private renderPin(positionName: string): React.ReactNode {\n /**\n * Box-shadow does not appear under the pin. Borders are used instead.\n * In non-ie browsers drop-shadow filter is used. It is applying\n * shadow to the pin too.\n */\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\n\n const { pinSize, hasShadow, backgroundColor, borderColor } = this.props;\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n this.props.hasPin && (\n <PopupPin\n popupElement={this.lastPopupElement}\n popupPosition={positionName}\n size={pinSize || parseInt(this.theme.popupPinSize)}\n offset={this.getPinOffset(position.align)}\n borderWidth={hasShadow ? 1 : 0}\n backgroundColor={backgroundColor || this.theme.popupBackground}\n borderColor={borderColor || pinBorder}\n />\n )\n );\n }\n\n private handleLayoutEvent = () => {\n if (!this.state.location) {\n return;\n }\n if (this.anchorInstance) {\n this.updateAnchorElement(this.extractElement(this.anchorInstance));\n }\n this.updateLocation();\n };\n\n private delayUpdateLocation() {\n this.cancelDelayedUpdateLocation();\n this.locationUpdateId = raf(this.updateLocation);\n }\n\n private cancelDelayedUpdateLocation() {\n if (this.locationUpdateId) {\n raf.cancel(this.locationUpdateId);\n this.locationUpdateId = null;\n }\n }\n\n private updateLocation = () => {\n const popupElement = this.lastPopupElement;\n\n if (!popupElement) {\n return;\n }\n\n const location = this.getLocation(popupElement, this.state.location);\n if (!this.locationEquals(this.state.location, location)) {\n this.setState({ location });\n }\n };\n\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\n if (x === y) {\n return true;\n }\n\n if (x == null || y == null) {\n return false;\n }\n\n return (\n x.coordinates.left === y.coordinates.left && x.coordinates.top === y.coordinates.top && x.position === y.position\n );\n }\n\n private getLocation(popupElement: HTMLElement, location?: Nullable<PopupLocation>) {\n const { positions, tryPreserveFirstRenderedPosition } = this.props;\n const anchorElement = this.anchorElement;\n\n warning(\n anchorElement && isHTMLElement(anchorElement),\n 'Anchor element is not defined or not instance of HTMLElement',\n );\n\n if (!(anchorElement && isHTMLElement(anchorElement))) {\n return location;\n }\n\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\n\n let position: PopupPosition;\n let coordinates: Offset;\n\n if (location && location !== DUMMY_LOCATION && location.position) {\n position = location.position;\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\n\n if (\n // если нужно сохранить первоначальную позицию и Попап целиком\n // находится в пределах вьюпорта (или может быть проскроллен в него)\n (tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible)) ||\n // если Попап целиком во вьюпорте и в самой приоритетной позиции\n // (иначе нужно попытаться позицию сменить)\n (isFullyVisible && position === positions[0])\n ) {\n // сохраняем текущую позицию\n return { coordinates, position };\n }\n }\n\n for (position of positions) {\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\n return { coordinates, position };\n }\n }\n\n position = positions[0];\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n return { coordinates, position };\n }\n\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\n if (!this.props.hasPin || /center|middle/.test(position.align)) {\n return 0;\n }\n\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\n\n const { pinSize } = this.props;\n\n return Math.max(\n 0,\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\n );\n }\n\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\n const { margin: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\n const position = PopupHelper.getPositionObject(positionName);\n const popupOffset = this.props.popupOffset + this.getPinnedPopupOffset(anchorRect, position);\n\n switch (position.direction) {\n case 'top':\n return {\n top: anchorRect.top - popupRect.height - margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'bottom':\n return {\n top: anchorRect.top + anchorRect.height + margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'left':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left - popupRect.width - margin,\n };\n case 'right':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left + anchorRect.width + margin,\n };\n default:\n throw new Error(`Unexpected direction '${position.direction}'`);\n }\n }\n\n private getPinOffset(align: string) {\n const { pinOffset } = this.props;\n\n switch (align) {\n case 'top':\n case 'bottom':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetY);\n case 'left':\n case 'right':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetX);\n case 'center':\n case 'middle':\n return 0;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getHorizontalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'left':\n return anchorRect.left - popupOffset;\n case 'center':\n return anchorRect.left - (popupRect.width - anchorRect.width) / 2;\n case 'right':\n return anchorRect.left - (popupRect.width - anchorRect.width) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getVerticalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'top':\n return anchorRect.top - popupOffset;\n case 'middle':\n return anchorRect.top - (popupRect.height - anchorRect.height) / 2;\n case 'bottom':\n return anchorRect.top - (popupRect.height - anchorRect.height) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"]}
@@ -29,8 +29,24 @@ export interface PopupProps extends CommonProps, PopupHandlerProps {
29
29
  pinSize?: number;
30
30
  popupOffset: number;
31
31
  positions: PopupPosition[];
32
+ /**
33
+ * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.
34
+ *
35
+ * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.
36
+ */
32
37
  useWrapper: boolean;
33
38
  ignoreHover: boolean;
39
+ width: React.CSSProperties['width'];
40
+ /**
41
+ * При очередном рендере пытаться сохранить первоначальную позицию попапа
42
+ * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).
43
+ *
44
+ * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.
45
+ * @see https://github.com/skbkontur/retail-ui/pull/1195
46
+ */
47
+ tryPreserveFirstRenderedPosition?: boolean;
48
+ withoutMobile?: boolean;
49
+ mobileOnCloseRequest?: () => void;
34
50
  }
35
51
  interface PopupLocation {
36
52
  coordinates: {
@@ -101,6 +117,7 @@ export declare class Popup extends React.Component<PopupProps, PopupState> {
101
117
  disableAnimations: boolean;
102
118
  useWrapper: boolean;
103
119
  ignoreHover: boolean;
120
+ width: string;
104
121
  };
105
122
  state: PopupState;
106
123
  private theme;
@@ -109,11 +126,13 @@ export declare class Popup extends React.Component<PopupProps, PopupState> {
109
126
  private lastPopupElement;
110
127
  private anchorElement;
111
128
  private anchorInstance;
129
+ private isMobileLayout;
112
130
  componentDidMount(): void;
113
131
  UNSAFE_componentWillReceiveProps(nextProps: Readonly<PopupProps>): void;
114
132
  componentDidUpdate(prevProps: PopupProps, prevState: PopupState): void;
115
133
  componentWillUnmount(): void;
116
134
  render(): JSX.Element;
135
+ private renderMobile;
117
136
  private renderMain;
118
137
  private refAnchorElement;
119
138
  private extractElement;
@@ -125,6 +144,8 @@ export declare class Popup extends React.Component<PopupProps, PopupState> {
125
144
  private handleClick;
126
145
  private handleFocus;
127
146
  private handleBlur;
147
+ private calculateWidth;
148
+ private content;
128
149
  private renderContent;
129
150
  private resetLocation;
130
151
  private renderChildren;