@skbkontur/react-ui 0.0.0-80ce75eca6 → 0.0.0-85ea551f96

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