@skbkontur/react-ui 0.0.0-f50cd2db6e → 0.0.0-fed57d84fb

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 (1213) hide show
  1. package/CHANGELOG.md +243 -0
  2. package/README.md +1 -1
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +3 -1
  4. package/cjs/components/Autocomplete/Autocomplete.js +21 -15
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +7 -8
  7. package/cjs/components/Button/Button.js +9 -12
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.d.ts +2 -1
  10. package/cjs/components/Button/Button.styles.js +43 -33
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Center/Center.d.ts +3 -0
  13. package/cjs/components/Center/Center.js +8 -3
  14. package/cjs/components/Center/Center.js.map +1 -1
  15. package/cjs/components/Checkbox/Checkbox.d.ts +10 -2
  16. package/cjs/components/Checkbox/Checkbox.js +37 -3
  17. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  18. package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -0
  19. package/cjs/components/Checkbox/Checkbox.styles.js +27 -24
  20. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  21. package/cjs/components/ComboBox/ComboBox.d.ts +3 -3
  22. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  23. package/cjs/components/CurrencyInput/CurrencyHelper.js +18 -12
  24. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  25. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +5 -2
  26. package/cjs/components/CurrencyInput/CurrencyInput.js +41 -15
  27. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  28. package/cjs/components/CurrencyInput/CurrencyInputHelper.js +7 -5
  29. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  30. package/cjs/components/CurrencyInput/CursorHelper.js +19 -16
  31. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  32. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  33. package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -2
  34. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  35. package/cjs/components/DateInput/DateInput.d.ts +2 -2
  36. package/cjs/components/DateInput/DateInput.js +5 -1
  37. package/cjs/components/DateInput/DateInput.js.map +1 -1
  38. package/cjs/components/DateInput/DateInput.styles.js +2 -2
  39. package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
  40. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
  41. package/cjs/components/DateInput/helpers/InternalDateMediator.js +12 -2
  42. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  43. package/cjs/components/DateInput/helpers/inputNumber.d.ts +1 -1
  44. package/cjs/components/DateInput/helpers/inputNumber.js +45 -12
  45. package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
  46. package/cjs/components/DatePicker/DatePicker.d.ts +8 -6
  47. package/cjs/components/DatePicker/DatePicker.js +28 -12
  48. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  49. package/cjs/components/DatePicker/Picker.js +7 -2
  50. package/cjs/components/DatePicker/Picker.js.map +1 -1
  51. package/cjs/components/Dropdown/Dropdown.d.ts +5 -2
  52. package/cjs/components/Dropdown/Dropdown.js +7 -2
  53. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  54. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +3 -6
  55. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -16
  56. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  57. package/cjs/components/FileUploader/FileUploader.d.ts +47 -0
  58. package/cjs/components/FileUploader/FileUploader.js +292 -0
  59. package/cjs/components/FileUploader/FileUploader.js.map +1 -0
  60. package/cjs/components/FileUploader/FileUploader.md +67 -0
  61. package/cjs/components/FileUploader/FileUploader.styles.d.ts +22 -0
  62. package/cjs/components/FileUploader/FileUploader.styles.js +173 -0
  63. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -0
  64. package/cjs/components/FileUploader/index.d.ts +5 -0
  65. package/cjs/components/FileUploader/index.js +5 -0
  66. package/cjs/components/FileUploader/index.js.map +1 -0
  67. package/cjs/components/FileUploader/locale/index.d.ts +4 -0
  68. package/cjs/components/FileUploader/locale/index.js +11 -0
  69. package/cjs/components/FileUploader/locale/index.js.map +1 -0
  70. package/cjs/components/FileUploader/locale/locales/en.d.ts +2 -0
  71. package/cjs/components/FileUploader/locale/locales/en.js +7 -0
  72. package/cjs/components/FileUploader/locale/locales/en.js.map +1 -0
  73. package/cjs/components/FileUploader/locale/locales/ru.d.ts +2 -0
  74. package/cjs/components/FileUploader/locale/locales/ru.js +7 -0
  75. package/cjs/components/FileUploader/locale/locales/ru.js.map +1 -0
  76. package/cjs/components/FileUploader/locale/types.d.ts +6 -0
  77. package/cjs/components/FileUploader/locale/types.js +1 -0
  78. package/cjs/components/FileUploader/locale/types.js.map +1 -0
  79. package/cjs/components/FxInput/FxInput.d.ts +3 -0
  80. package/cjs/components/FxInput/FxInput.js +7 -3
  81. package/cjs/components/FxInput/FxInput.js.map +1 -1
  82. package/cjs/components/Gapped/Gapped.d.ts +4 -0
  83. package/cjs/components/Gapped/Gapped.js +13 -7
  84. package/cjs/components/Gapped/Gapped.js.map +1 -1
  85. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +113 -0
  86. package/cjs/components/GlobalLoader/GlobalLoader.js +271 -0
  87. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -0
  88. package/cjs/components/GlobalLoader/GlobalLoader.md +98 -0
  89. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +13 -0
  90. package/cjs/components/GlobalLoader/GlobalLoaderView.js +73 -0
  91. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -0
  92. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.d.ts +16 -0
  93. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +190 -0
  94. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -0
  95. package/cjs/components/GlobalLoader/index.d.ts +1 -0
  96. package/cjs/components/GlobalLoader/index.js +1 -0
  97. package/cjs/components/GlobalLoader/index.js.map +1 -0
  98. package/cjs/components/GlobalLoader/useParams.d.ts +22 -0
  99. package/cjs/components/GlobalLoader/useParams.js +45 -0
  100. package/cjs/components/GlobalLoader/useParams.js.map +1 -0
  101. package/cjs/components/Group/Group.d.ts +3 -0
  102. package/cjs/components/Group/Group.js +80 -33
  103. package/cjs/components/Group/Group.js.map +1 -1
  104. package/cjs/components/Hint/Hint.d.ts +8 -3
  105. package/cjs/components/Hint/Hint.js +9 -17
  106. package/cjs/components/Hint/Hint.js.map +1 -1
  107. package/cjs/components/Input/Input.d.ts +7 -8
  108. package/cjs/components/Input/Input.js +22 -25
  109. package/cjs/components/Input/Input.js.map +1 -1
  110. package/cjs/components/Kebab/Kebab.d.ts +4 -15
  111. package/cjs/components/Kebab/Kebab.js +5 -29
  112. package/cjs/components/Kebab/Kebab.js.map +1 -1
  113. package/cjs/components/Link/Link.d.ts +4 -1
  114. package/cjs/components/Link/Link.js +9 -5
  115. package/cjs/components/Link/Link.js.map +1 -1
  116. package/cjs/components/Link/Link.styles.d.ts +1 -1
  117. package/cjs/components/Link/Link.styles.js +3 -3
  118. package/cjs/components/Link/Link.styles.js.map +1 -1
  119. package/cjs/components/Loader/Loader.d.ts +4 -0
  120. package/cjs/components/Loader/Loader.js +15 -10
  121. package/cjs/components/Loader/Loader.js.map +1 -1
  122. package/cjs/components/MenuHeader/MenuHeader.d.ts +3 -0
  123. package/cjs/components/MenuHeader/MenuHeader.js +7 -2
  124. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  125. package/cjs/components/MenuItem/MenuItem.d.ts +6 -2
  126. package/cjs/components/MenuItem/MenuItem.js +12 -9
  127. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  128. package/cjs/components/MenuItem/MenuItem.styles.js +3 -2
  129. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  130. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  131. package/cjs/components/MenuSeparator/MenuSeparator.js +7 -3
  132. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  133. package/cjs/components/Modal/Modal.d.ts +6 -1
  134. package/cjs/components/Modal/Modal.js +13 -6
  135. package/cjs/components/Modal/Modal.js.map +1 -1
  136. package/cjs/components/Modal/Modal.styles.d.ts +1 -0
  137. package/cjs/components/Modal/Modal.styles.js +26 -14
  138. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  139. package/cjs/components/Modal/ModalClose.js +3 -2
  140. package/cjs/components/Modal/ModalClose.js.map +1 -1
  141. package/cjs/components/Modal/ModalFooter.d.ts +3 -0
  142. package/cjs/components/Modal/ModalFooter.js +10 -4
  143. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  144. package/cjs/components/Modal/ModalHeader.d.ts +3 -0
  145. package/cjs/components/Modal/ModalHeader.js +10 -4
  146. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  147. package/cjs/components/Paging/Paging.d.ts +20 -3
  148. package/cjs/components/Paging/Paging.js +29 -10
  149. package/cjs/components/Paging/Paging.js.map +1 -1
  150. package/cjs/components/Paging/PagingDefaultComponent.d.ts +9 -0
  151. package/cjs/components/Paging/PagingDefaultComponent.js +21 -0
  152. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -0
  153. package/cjs/components/PasswordInput/PasswordInput.d.ts +7 -0
  154. package/cjs/components/PasswordInput/PasswordInput.js +36 -11
  155. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  156. package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  157. package/cjs/components/PasswordInput/PasswordInputIcon.js +15 -0
  158. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -0
  159. package/cjs/components/Radio/Radio.d.ts +5 -2
  160. package/cjs/components/Radio/Radio.js +7 -3
  161. package/cjs/components/Radio/Radio.js.map +1 -1
  162. package/cjs/components/Radio/Radio.styles.js +4 -7
  163. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  164. package/cjs/components/RadioGroup/RadioGroup.d.ts +11 -2
  165. package/cjs/components/RadioGroup/RadioGroup.js +22 -5
  166. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  167. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +7 -2
  168. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  169. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +1 -1
  170. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +14 -7
  171. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  172. package/cjs/components/ResponsiveLayout/useResponsiveLayout.js +1 -1
  173. package/cjs/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -1
  174. package/cjs/components/ScrollContainer/ScrollBar.js +4 -2
  175. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  176. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  177. package/cjs/components/ScrollContainer/ScrollContainer.js +19 -7
  178. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  179. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
  180. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +12 -8
  181. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  182. package/cjs/components/Select/Select.d.ts +13 -8
  183. package/cjs/components/Select/Select.js +57 -18
  184. package/cjs/components/Select/Select.js.map +1 -1
  185. package/cjs/components/SidePage/SidePage.d.ts +8 -1
  186. package/cjs/components/SidePage/SidePage.js +25 -11
  187. package/cjs/components/SidePage/SidePage.js.map +1 -1
  188. package/cjs/components/SidePage/SidePage.styles.d.ts +1 -0
  189. package/cjs/components/SidePage/SidePage.styles.js +14 -6
  190. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  191. package/cjs/components/SidePage/SidePageBody.d.ts +3 -0
  192. package/cjs/components/SidePage/SidePageBody.js +10 -3
  193. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  194. package/cjs/components/SidePage/SidePageContainer.d.ts +3 -0
  195. package/cjs/components/SidePage/SidePageContainer.js +7 -2
  196. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  197. package/cjs/components/SidePage/SidePageContext.d.ts +2 -0
  198. package/cjs/components/SidePage/SidePageContext.js +3 -0
  199. package/cjs/components/SidePage/SidePageContext.js.map +1 -1
  200. package/cjs/components/SidePage/SidePageFooter.d.ts +3 -0
  201. package/cjs/components/SidePage/SidePageFooter.js +16 -6
  202. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  203. package/cjs/components/SidePage/SidePageHeader.d.ts +7 -0
  204. package/cjs/components/SidePage/SidePageHeader.js +44 -28
  205. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  206. package/cjs/components/Spinner/Spinner.d.ts +11 -1
  207. package/cjs/components/Spinner/Spinner.js +28 -9
  208. package/cjs/components/Spinner/Spinner.js.map +1 -1
  209. package/cjs/components/Spinner/Spinner.md +1 -0
  210. package/cjs/components/Spinner/Spinner.styles.d.ts +2 -1
  211. package/cjs/components/Spinner/Spinner.styles.js +14 -11
  212. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  213. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +16 -5
  214. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  215. package/cjs/components/Sticky/Sticky.d.ts +9 -1
  216. package/cjs/components/Sticky/Sticky.js +16 -6
  217. package/cjs/components/Sticky/Sticky.js.map +1 -1
  218. package/cjs/components/Switcher/Switcher.d.ts +5 -1
  219. package/cjs/components/Switcher/Switcher.js +8 -3
  220. package/cjs/components/Switcher/Switcher.js.map +1 -1
  221. package/cjs/components/Switcher/Switcher.styles.js +5 -3
  222. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  223. package/cjs/components/Tabs/Indicator.js +6 -3
  224. package/cjs/components/Tabs/Indicator.js.map +1 -1
  225. package/cjs/components/Tabs/Tab.d.ts +5 -2
  226. package/cjs/components/Tabs/Tab.js +7 -2
  227. package/cjs/components/Tabs/Tab.js.map +1 -1
  228. package/cjs/components/Tabs/Tabs.d.ts +7 -1
  229. package/cjs/components/Tabs/Tabs.js +20 -7
  230. package/cjs/components/Tabs/Tabs.js.map +1 -1
  231. package/cjs/components/Textarea/Textarea.d.ts +10 -6
  232. package/cjs/components/Textarea/Textarea.js +14 -9
  233. package/cjs/components/Textarea/Textarea.js.map +1 -1
  234. package/cjs/components/Textarea/TextareaCounter.d.ts +1 -2
  235. package/cjs/components/Textarea/TextareaCounter.js +25 -16
  236. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  237. package/cjs/components/Toast/Toast.d.ts +6 -0
  238. package/cjs/components/Toast/Toast.js +9 -2
  239. package/cjs/components/Toast/Toast.js.map +1 -1
  240. package/cjs/components/Toast/Toast.styles.js +2 -2
  241. package/cjs/components/Toast/Toast.styles.js.map +1 -1
  242. package/cjs/components/Toast/ToastStatic.js +1 -1
  243. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  244. package/cjs/components/Toast/ToastView.js +6 -5
  245. package/cjs/components/Toast/ToastView.js.map +1 -1
  246. package/cjs/components/Toast/ToastView.styles.d.ts +1 -1
  247. package/cjs/components/Toast/ToastView.styles.js +3 -2
  248. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  249. package/cjs/components/Toggle/Toggle.d.ts +6 -3
  250. package/cjs/components/Toggle/Toggle.js +7 -3
  251. package/cjs/components/Toggle/Toggle.js.map +1 -1
  252. package/cjs/components/Toggle/Toggle.styles.js +12 -10
  253. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  254. package/cjs/components/Token/Token.d.ts +5 -2
  255. package/cjs/components/Token/Token.js +20 -3
  256. package/cjs/components/Token/Token.js.map +1 -1
  257. package/cjs/components/Token/Token.styles.js +13 -6
  258. package/cjs/components/Token/Token.styles.js.map +1 -1
  259. package/cjs/components/TokenInput/TextWidthHelper.js +2 -1
  260. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  261. package/cjs/components/TokenInput/TokenInput.d.ts +16 -2
  262. package/cjs/components/TokenInput/TokenInput.js +37 -14
  263. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  264. package/cjs/components/TokenInput/TokenInput.styles.js +3 -2
  265. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  266. package/cjs/components/TokenInput/TokenInputMenu.js +4 -3
  267. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  268. package/cjs/components/Tooltip/Tooltip.d.ts +19 -24
  269. package/cjs/components/Tooltip/Tooltip.js +44 -37
  270. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  271. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +6 -3
  272. package/cjs/components/TooltipMenu/TooltipMenu.js +9 -2
  273. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  274. package/cjs/hooks/useDrop.d.ts +11 -0
  275. package/cjs/hooks/useDrop.js +77 -0
  276. package/cjs/hooks/useDrop.js.map +1 -0
  277. package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -0
  278. package/cjs/hooks/useEffectWithoutInitCall.js +13 -0
  279. package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -0
  280. package/cjs/hooks/useMemoObject.d.ts +1 -0
  281. package/cjs/hooks/useMemoObject.js +5 -0
  282. package/cjs/hooks/useMemoObject.js.map +1 -0
  283. package/cjs/index.d.ts +5 -0
  284. package/cjs/index.js +6 -1
  285. package/cjs/index.js.map +1 -1
  286. package/cjs/internal/BGRuler.js +3 -1
  287. package/cjs/internal/BGRuler.js.map +1 -1
  288. package/cjs/internal/Calendar/Calendar.d.ts +6 -0
  289. package/cjs/internal/Calendar/Calendar.js +12 -5
  290. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  291. package/cjs/internal/Calendar/CalendarDateShape.d.ts +1 -1
  292. package/cjs/internal/Calendar/MonthView.js +5 -4
  293. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  294. package/cjs/internal/Calendar/MonthViewModel.js +36 -17
  295. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  296. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  297. package/cjs/internal/CommonWrapper/CommonWrapper.js +22 -6
  298. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  299. package/cjs/internal/ComponentTable.d.ts +4 -2
  300. package/cjs/internal/ComponentTable.js +1 -0
  301. package/cjs/internal/ComponentTable.js.map +1 -1
  302. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  303. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +28 -5
  304. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  305. package/cjs/internal/CustomComboBox/ComboBoxView.js +4 -2
  306. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  307. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  308. package/cjs/internal/CustomComboBox/CustomComboBox.js +9 -4
  309. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  310. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  311. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +35 -35
  312. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  313. package/cjs/internal/DataTids/DATATIDS.md +12 -0
  314. package/cjs/internal/DataTids/DataTids.d.ts +12 -0
  315. package/cjs/internal/DataTids/DataTids.js +46 -0
  316. package/cjs/internal/DataTids/DataTids.js.map +1 -0
  317. package/cjs/internal/DataTids/DataTids.styles.d.ts +7 -0
  318. package/cjs/internal/DataTids/DataTids.styles.js +41 -0
  319. package/cjs/internal/DataTids/DataTids.styles.js.map +1 -0
  320. package/cjs/internal/DataTids/componentsDataTids.d.ts +5 -0
  321. package/cjs/internal/DataTids/componentsDataTids.js +16 -0
  322. package/cjs/internal/DataTids/componentsDataTids.js.map +1 -0
  323. package/cjs/internal/DateSelect/DateSelect.d.ts +4 -0
  324. package/cjs/internal/DateSelect/DateSelect.js +30 -13
  325. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  326. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +2 -1
  327. package/cjs/internal/DropdownContainer/DropdownContainer.js +28 -18
  328. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  329. package/cjs/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -0
  330. package/cjs/internal/DropdownContainer/DropdownContainer.styles.js +9 -0
  331. package/cjs/internal/DropdownContainer/DropdownContainer.styles.js.map +1 -0
  332. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
  333. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +16 -0
  334. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +1 -0
  335. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  336. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +108 -0
  337. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -0
  338. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +19 -0
  339. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +197 -0
  340. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -0
  341. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  342. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +68 -0
  343. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +1 -0
  344. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +13 -0
  345. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +34 -0
  346. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  347. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +5 -0
  348. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +22 -0
  349. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -0
  350. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  351. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +16 -0
  352. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +1 -0
  353. package/cjs/internal/FileUploaderControl/fileUtils.d.ts +14 -0
  354. package/cjs/internal/FileUploaderControl/fileUtils.js +26 -0
  355. package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -0
  356. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  357. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +4 -0
  358. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +1 -0
  359. package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  360. package/cjs/internal/FileUploaderControl/hooks/useUpload.js +51 -0
  361. package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +1 -0
  362. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  363. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +23 -0
  364. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -0
  365. package/cjs/internal/InputLikeText/InputLikeText.d.ts +5 -1
  366. package/cjs/internal/InputLikeText/InputLikeText.js +10 -4
  367. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  368. package/cjs/internal/InternalMenu/InternalMenu.d.ts +3 -0
  369. package/cjs/internal/InternalMenu/InternalMenu.js +13 -14
  370. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  371. package/cjs/internal/InternalMenu/InternalMenu.styles.js +2 -1
  372. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  373. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  374. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js +16 -0
  375. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  376. package/cjs/internal/MaskedInput/MaskedInput.d.ts +3 -0
  377. package/cjs/internal/MaskedInput/MaskedInput.js +16 -5
  378. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  379. package/cjs/internal/Menu/Menu.d.ts +5 -0
  380. package/cjs/internal/Menu/Menu.js +54 -23
  381. package/cjs/internal/Menu/Menu.js.map +1 -1
  382. package/cjs/internal/Menu/Menu.styles.d.ts +3 -0
  383. package/cjs/internal/Menu/Menu.styles.js +27 -5
  384. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  385. package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
  386. package/cjs/internal/MobilePopup/MobilePopup.js +10 -3
  387. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  388. package/cjs/internal/Popup/Popup.d.ts +12 -6
  389. package/cjs/internal/Popup/Popup.js +38 -39
  390. package/cjs/internal/Popup/Popup.js.map +1 -1
  391. package/cjs/internal/Popup/PopupHelper.d.ts +2 -2
  392. package/cjs/internal/Popup/PopupHelper.js +4 -2
  393. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  394. package/cjs/internal/Popup/PopupPin.js +2 -1
  395. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  396. package/cjs/internal/Popup/types.d.ts +2 -0
  397. package/cjs/internal/Popup/types.js +1 -0
  398. package/cjs/internal/Popup/types.js.map +1 -0
  399. package/cjs/internal/PopupMenu/PopupMenu.d.ts +11 -3
  400. package/cjs/internal/PopupMenu/PopupMenu.js +39 -7
  401. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  402. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  403. package/cjs/internal/PopupMenu/validatePositions.js +8 -10
  404. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  405. package/cjs/internal/RenderContainer/RenderContainer.js +9 -0
  406. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  407. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +2 -0
  408. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  409. package/cjs/internal/RenderContainer/RenderInnerContainer.js +9 -1
  410. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  411. package/cjs/internal/RenderLayer/RenderLayer.js +4 -1
  412. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  413. package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  414. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +36 -0
  415. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -0
  416. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  417. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +23 -0
  418. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -0
  419. package/cjs/internal/ThemePlayground/CheckboxPlayground.js +1 -0
  420. package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +1 -1
  421. package/cjs/internal/ThemePlayground/Playground.d.ts +1 -0
  422. package/cjs/internal/ThemePlayground/Playground.js +20 -21
  423. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  424. package/cjs/internal/ThemePlayground/RadioPlayground.js.map +1 -1
  425. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  426. package/cjs/internal/ThemePlayground/SizesGroup.js +20 -0
  427. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -0
  428. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -2
  429. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +11 -14
  430. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  431. package/cjs/internal/ThemePlayground/ThemeEditor.js +8 -1
  432. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  433. package/cjs/internal/ThemePlayground/VariableValue.js +18 -6
  434. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  435. package/cjs/internal/ThemePlayground/constants.d.ts +2 -1
  436. package/cjs/internal/ThemePlayground/constants.js +4 -2
  437. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  438. package/cjs/internal/ThemePlayground/darkTheme.d.ts +14 -0
  439. package/cjs/internal/ThemePlayground/darkTheme.js +14 -0
  440. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  441. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +42 -42
  442. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  443. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +4 -2
  444. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js +37 -22
  445. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js.map +1 -1
  446. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  447. package/cjs/internal/ThemeShowcase/VariablesCollector.js +10 -6
  448. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  449. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +3 -1
  450. package/cjs/internal/ZIndex/ZIndexStorage.js +14 -6
  451. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  452. package/cjs/internal/icons/16px/index.d.ts +19 -16
  453. package/cjs/internal/icons/16px/index.js +86 -37
  454. package/cjs/internal/icons/16px/index.js.map +1 -1
  455. package/cjs/internal/icons/20px/svg.js +6 -0
  456. package/cjs/internal/icons/20px/svg.js.map +1 -1
  457. package/cjs/internal/icons/SpinnerIcon.d.ts +4 -1
  458. package/cjs/internal/icons/SpinnerIcon.js +7 -4
  459. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  460. package/cjs/internal/themes/DarkTheme.d.ts +34 -0
  461. package/cjs/internal/themes/DarkTheme.js +55 -3
  462. package/cjs/internal/themes/DarkTheme.js.map +1 -1
  463. package/cjs/internal/themes/DefaultTheme.d.ts +62 -4
  464. package/cjs/internal/themes/DefaultTheme.js +119 -18
  465. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  466. package/cjs/internal/themes/NotFlat.d.ts +6 -0
  467. package/cjs/internal/themes/NotFlat.js +12 -2
  468. package/cjs/internal/themes/NotFlat.js.map +1 -1
  469. package/cjs/internal/themes/OldColors.d.ts +6 -0
  470. package/cjs/internal/themes/OldColors.js +35 -17
  471. package/cjs/internal/themes/OldColors.js.map +1 -1
  472. package/cjs/internal/themes/Theme2022.d.ts +66 -0
  473. package/cjs/internal/themes/Theme2022.js +100 -0
  474. package/cjs/internal/themes/Theme2022.js.map +1 -0
  475. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -0
  476. package/cjs/internal/themes/Theme2022Dark.js +9 -0
  477. package/cjs/internal/themes/Theme2022Dark.js.map +1 -0
  478. package/cjs/lib/ConditionalHandler.d.ts +3 -2
  479. package/cjs/lib/ConditionalHandler.js +5 -3
  480. package/cjs/lib/ConditionalHandler.js.map +1 -1
  481. package/cjs/lib/InstanceWithAnchorElement.d.ts +5 -0
  482. package/cjs/lib/InstanceWithAnchorElement.js +9 -0
  483. package/cjs/lib/InstanceWithAnchorElement.js.map +1 -0
  484. package/cjs/lib/ModalStack.d.ts +1 -1
  485. package/cjs/lib/ModalStack.js +16 -17
  486. package/cjs/lib/ModalStack.js.map +1 -1
  487. package/cjs/lib/SSRSafe.d.ts +1 -0
  488. package/cjs/lib/SSRSafe.js +9 -1
  489. package/cjs/lib/SSRSafe.js.map +1 -1
  490. package/cjs/lib/animation/index.d.ts +1 -1
  491. package/cjs/lib/animation/index.js +3 -3
  492. package/cjs/lib/animation/index.js.map +1 -1
  493. package/cjs/lib/date/InternalDate.js +23 -9
  494. package/cjs/lib/date/InternalDate.js.map +1 -1
  495. package/cjs/lib/date/InternalDateCalculator.js +16 -2
  496. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  497. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  498. package/cjs/lib/date/InternalDateGetter.js +27 -7
  499. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  500. package/cjs/lib/date/InternalDateTransformer.js +11 -2
  501. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  502. package/cjs/lib/date/InternalDateValidator.js +52 -17
  503. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  504. package/cjs/lib/date/types.d.ts +4 -0
  505. package/cjs/lib/date/types.js.map +1 -1
  506. package/cjs/lib/dom/getDOMRect.d.ts +11 -0
  507. package/cjs/lib/dom/getDOMRect.js +36 -0
  508. package/cjs/lib/dom/getDOMRect.js.map +1 -0
  509. package/cjs/lib/events/MouseDrag.js +5 -1
  510. package/cjs/lib/events/MouseDrag.js.map +1 -1
  511. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
  512. package/cjs/lib/events/keyboard/KeyboardMapKeys.js +1 -0
  513. package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  514. package/cjs/lib/events/keyboard/extractCode.js +7 -5
  515. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  516. package/cjs/lib/listenFocusOutside.js +1 -1
  517. package/cjs/lib/listenFocusOutside.js.map +1 -1
  518. package/cjs/lib/locale/types.d.ts +2 -0
  519. package/cjs/lib/locale/types.js +2 -0
  520. package/cjs/lib/locale/types.js.map +1 -1
  521. package/cjs/lib/locale/useLocaleForControl.d.ts +3 -0
  522. package/cjs/lib/locale/useLocaleForControl.js +14 -0
  523. package/cjs/lib/locale/useLocaleForControl.js.map +1 -0
  524. package/cjs/lib/needsPolyfillPlaceholder.d.ts +6 -0
  525. package/cjs/lib/needsPolyfillPlaceholder.js +19 -0
  526. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -0
  527. package/cjs/lib/rootNode/getRootNode.d.ts +9 -0
  528. package/cjs/lib/rootNode/getRootNode.js +44 -12
  529. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  530. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +20 -1
  531. package/cjs/lib/rootNode/rootNodeDecorator.js +42 -5
  532. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  533. package/cjs/lib/stringUtils.d.ts +1 -0
  534. package/cjs/lib/stringUtils.js +15 -0
  535. package/cjs/lib/stringUtils.js.map +1 -0
  536. package/cjs/lib/styles/ColorFactory.js +9 -9
  537. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  538. package/cjs/lib/styles/ColorHelpers.d.ts +1 -0
  539. package/cjs/lib/styles/ColorHelpers.js +33 -10
  540. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  541. package/cjs/lib/styles/ColorObject.js +3 -2
  542. package/cjs/lib/styles/ColorObject.js.map +1 -1
  543. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  544. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js +9 -0
  545. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -0
  546. package/cjs/lib/taskWithDelayAndMinimalDuration.js +3 -1
  547. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  548. package/cjs/lib/theming/AnimationKeyframes.js +1 -1
  549. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  550. package/cjs/lib/theming/Emotion.js +5 -2
  551. package/cjs/lib/theming/Emotion.js.map +1 -1
  552. package/cjs/lib/theming/ThemeFactory.d.ts +1 -1
  553. package/cjs/lib/theming/ThemeFactory.js +9 -4
  554. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  555. package/cjs/lib/theming/ThemeHelpers.d.ts +1 -0
  556. package/cjs/lib/theming/ThemeHelpers.js +16 -2
  557. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  558. package/cjs/lib/theming/themes/Theme2022.d.ts +1 -0
  559. package/cjs/lib/theming/themes/Theme2022.js +6 -0
  560. package/cjs/lib/theming/themes/Theme2022.js.map +1 -0
  561. package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  562. package/cjs/lib/theming/themes/Theme2022Dark.js +9 -0
  563. package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -0
  564. package/cjs/lib/theming/useTheme.d.ts +1 -0
  565. package/cjs/lib/theming/useTheme.js +7 -0
  566. package/cjs/lib/theming/useTheme.js.map +1 -0
  567. package/cjs/lib/uidUtils.d.ts +1 -0
  568. package/cjs/lib/uidUtils.js +5 -0
  569. package/cjs/lib/uidUtils.js.map +1 -0
  570. package/cjs/lib/utils.d.ts +48 -0
  571. package/cjs/lib/utils.js +117 -3
  572. package/cjs/lib/utils.js.map +1 -1
  573. package/cjs/typings/html-props.d.ts +123 -0
  574. package/components/Autocomplete/Autocomplete/Autocomplete.js +18 -20
  575. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  576. package/components/Autocomplete/Autocomplete.d.ts +3 -1
  577. package/components/Button/Button/Button.js +13 -20
  578. package/components/Button/Button/Button.js.map +1 -1
  579. package/components/Button/Button.d.ts +7 -8
  580. package/components/Button/Button.styles/Button.styles.js +35 -32
  581. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  582. package/components/Button/Button.styles.d.ts +2 -1
  583. package/components/Center/Center/Center.js +10 -5
  584. package/components/Center/Center/Center.js.map +1 -1
  585. package/components/Center/Center.d.ts +3 -0
  586. package/components/Checkbox/Checkbox/Checkbox.js +33 -2
  587. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  588. package/components/Checkbox/Checkbox.d.ts +10 -2
  589. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +22 -18
  590. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  591. package/components/Checkbox/Checkbox.styles.d.ts +1 -0
  592. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  593. package/components/ComboBox/ComboBox.d.ts +3 -3
  594. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +12 -11
  595. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  596. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +45 -22
  597. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  598. package/components/CurrencyInput/CurrencyInput.d.ts +5 -2
  599. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js +7 -1
  600. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  601. package/components/CurrencyInput/CursorHelper/CursorHelper.js +18 -11
  602. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  603. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +6 -1
  604. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  605. package/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  606. package/components/DateInput/DateInput/DateInput.js +9 -1
  607. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  608. package/components/DateInput/DateInput.d.ts +2 -2
  609. package/components/DateInput/DateInput.styles/DateInput.styles.js +2 -2
  610. package/components/DateInput/DateInput.styles/DateInput.styles.js.map +1 -1
  611. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +16 -10
  612. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  613. package/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
  614. package/components/DateInput/helpers/inputNumber/inputNumber.js +53 -16
  615. package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
  616. package/components/DateInput/helpers/inputNumber.d.ts +1 -1
  617. package/components/DatePicker/DatePicker/DatePicker.js +25 -15
  618. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  619. package/components/DatePicker/DatePicker.d.ts +8 -6
  620. package/components/DatePicker/Picker/Picker.js +3 -1
  621. package/components/DatePicker/Picker/Picker.js.map +1 -1
  622. package/components/Dropdown/Dropdown/Dropdown.js +9 -5
  623. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  624. package/components/Dropdown/Dropdown.d.ts +5 -2
  625. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -16
  626. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  627. package/components/DropdownMenu/DropdownMenu.d.ts +3 -6
  628. package/components/FileUploader/FileUploader/FileUploader.js +280 -0
  629. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -0
  630. package/components/FileUploader/FileUploader/package.json +6 -0
  631. package/components/FileUploader/FileUploader.d.ts +47 -0
  632. package/components/FileUploader/FileUploader.md +67 -0
  633. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +65 -0
  634. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -0
  635. package/components/FileUploader/FileUploader.styles/package.json +6 -0
  636. package/components/FileUploader/FileUploader.styles.d.ts +22 -0
  637. package/components/FileUploader/index/index.js +3 -0
  638. package/components/FileUploader/index/index.js.map +1 -0
  639. package/components/FileUploader/index/package.json +6 -0
  640. package/components/FileUploader/index.d.ts +5 -0
  641. package/components/FileUploader/locale/index/index.js +8 -0
  642. package/components/FileUploader/locale/index/index.js.map +1 -0
  643. package/components/FileUploader/locale/index/package.json +6 -0
  644. package/components/FileUploader/locale/index.d.ts +4 -0
  645. package/components/FileUploader/locale/locales/en/en.js +6 -0
  646. package/components/FileUploader/locale/locales/en/en.js.map +1 -0
  647. package/components/FileUploader/locale/locales/en/package.json +6 -0
  648. package/components/FileUploader/locale/locales/en.d.ts +2 -0
  649. package/components/FileUploader/locale/locales/ru/package.json +6 -0
  650. package/components/FileUploader/locale/locales/ru/ru.js +6 -0
  651. package/components/FileUploader/locale/locales/ru/ru.js.map +1 -0
  652. package/components/FileUploader/locale/locales/ru.d.ts +2 -0
  653. package/components/FileUploader/locale/package.json +6 -0
  654. package/components/FileUploader/locale/types/package.json +6 -0
  655. package/components/FileUploader/locale/types/types.js +1 -0
  656. package/components/FileUploader/locale/types/types.js.map +1 -0
  657. package/components/FileUploader/locale/types.d.ts +6 -0
  658. package/components/FileUploader/package.json +6 -0
  659. package/components/FxInput/FxInput/FxInput.js +6 -2
  660. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  661. package/components/FxInput/FxInput.d.ts +3 -0
  662. package/components/Gapped/Gapped/Gapped.js +16 -8
  663. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  664. package/components/Gapped/Gapped.d.ts +4 -0
  665. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +223 -0
  666. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -0
  667. package/components/GlobalLoader/GlobalLoader/package.json +6 -0
  668. package/components/GlobalLoader/GlobalLoader.d.ts +113 -0
  669. package/components/GlobalLoader/GlobalLoader.md +98 -0
  670. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +73 -0
  671. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -0
  672. package/components/GlobalLoader/GlobalLoaderView/package.json +6 -0
  673. package/components/GlobalLoader/GlobalLoaderView.d.ts +13 -0
  674. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js +53 -0
  675. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js.map +1 -0
  676. package/components/GlobalLoader/GlobalLoaderView.styles/package.json +6 -0
  677. package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +16 -0
  678. package/components/GlobalLoader/index/index.js +1 -0
  679. package/components/GlobalLoader/index/index.js.map +1 -0
  680. package/components/GlobalLoader/index/package.json +6 -0
  681. package/components/GlobalLoader/index.d.ts +1 -0
  682. package/components/GlobalLoader/package.json +6 -0
  683. package/components/GlobalLoader/useParams/package.json +6 -0
  684. package/components/GlobalLoader/useParams/useParams.js +51 -0
  685. package/components/GlobalLoader/useParams/useParams.js.map +1 -0
  686. package/components/GlobalLoader/useParams.d.ts +22 -0
  687. package/components/Group/Group/Group.js +66 -30
  688. package/components/Group/Group/Group.js.map +1 -1
  689. package/components/Group/Group.d.ts +3 -0
  690. package/components/Hint/Hint/Hint.js +9 -1
  691. package/components/Hint/Hint/Hint.js.map +1 -1
  692. package/components/Hint/Hint.d.ts +8 -3
  693. package/components/Input/Input/Input.js +18 -31
  694. package/components/Input/Input/Input.js.map +1 -1
  695. package/components/Input/Input.d.ts +7 -8
  696. package/components/Kebab/Kebab/Kebab.js +3 -13
  697. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  698. package/components/Kebab/Kebab.d.ts +4 -15
  699. package/components/Link/Link/Link.js +12 -7
  700. package/components/Link/Link/Link.js.map +1 -1
  701. package/components/Link/Link.d.ts +4 -1
  702. package/components/Link/Link.styles/Link.styles.js +2 -2
  703. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  704. package/components/Link/Link.styles.d.ts +1 -1
  705. package/components/Loader/Loader/Loader.js +21 -18
  706. package/components/Loader/Loader/Loader.js.map +1 -1
  707. package/components/Loader/Loader.d.ts +4 -0
  708. package/components/MenuHeader/MenuHeader/MenuHeader.js +4 -0
  709. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  710. package/components/MenuHeader/MenuHeader.d.ts +3 -0
  711. package/components/MenuItem/MenuItem/MenuItem.js +18 -17
  712. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  713. package/components/MenuItem/MenuItem.d.ts +6 -2
  714. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +1 -1
  715. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  716. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +4 -0
  717. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  718. package/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  719. package/components/Modal/Modal/Modal.js +11 -5
  720. package/components/Modal/Modal/Modal.js.map +1 -1
  721. package/components/Modal/Modal.d.ts +6 -1
  722. package/components/Modal/Modal.styles/Modal.styles.js +15 -12
  723. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  724. package/components/Modal/Modal.styles.d.ts +1 -0
  725. package/components/Modal/ModalClose/ModalClose.js +2 -1
  726. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  727. package/components/Modal/ModalFooter/ModalFooter.js +8 -4
  728. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  729. package/components/Modal/ModalFooter.d.ts +3 -0
  730. package/components/Modal/ModalHeader/ModalHeader.js +7 -3
  731. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  732. package/components/Modal/ModalHeader.d.ts +3 -0
  733. package/components/Paging/Paging/Paging.js +24 -18
  734. package/components/Paging/Paging/Paging.js.map +1 -1
  735. package/components/Paging/Paging.d.ts +20 -3
  736. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js +19 -0
  737. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -0
  738. package/components/Paging/PagingDefaultComponent/package.json +6 -0
  739. package/components/Paging/PagingDefaultComponent.d.ts +9 -0
  740. package/components/PasswordInput/PasswordInput/PasswordInput.js +39 -14
  741. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  742. package/components/PasswordInput/PasswordInput.d.ts +7 -0
  743. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +15 -0
  744. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -0
  745. package/components/PasswordInput/PasswordInputIcon/package.json +6 -0
  746. package/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  747. package/components/Radio/Radio/Radio.js +10 -5
  748. package/components/Radio/Radio/Radio.js.map +1 -1
  749. package/components/Radio/Radio.d.ts +5 -2
  750. package/components/Radio/Radio.styles/Radio.styles.js +2 -1
  751. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  752. package/components/RadioGroup/RadioGroup/RadioGroup.js +25 -13
  753. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  754. package/components/RadioGroup/RadioGroup.d.ts +11 -2
  755. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +5 -0
  756. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  757. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +15 -7
  758. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  759. package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +1 -1
  760. package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js +1 -1
  761. package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js.map +1 -1
  762. package/components/ScrollContainer/ScrollBar/ScrollBar.js +6 -2
  763. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  764. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +11 -4
  765. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  766. package/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  767. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +11 -8
  768. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  769. package/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
  770. package/components/Select/Select/Select.js +51 -22
  771. package/components/Select/Select/Select.js.map +1 -1
  772. package/components/Select/Select.d.ts +13 -8
  773. package/components/SidePage/SidePage/SidePage.js +27 -15
  774. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  775. package/components/SidePage/SidePage.d.ts +8 -1
  776. package/components/SidePage/SidePage.styles/SidePage.styles.js +9 -6
  777. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  778. package/components/SidePage/SidePage.styles.d.ts +1 -0
  779. package/components/SidePage/SidePageBody/SidePageBody.js +10 -6
  780. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  781. package/components/SidePage/SidePageBody.d.ts +3 -0
  782. package/components/SidePage/SidePageContainer/SidePageContainer.js +10 -6
  783. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  784. package/components/SidePage/SidePageContainer.d.ts +3 -0
  785. package/components/SidePage/SidePageContext/SidePageContext.js +3 -0
  786. package/components/SidePage/SidePageContext/SidePageContext.js.map +1 -1
  787. package/components/SidePage/SidePageContext.d.ts +2 -0
  788. package/components/SidePage/SidePageFooter/SidePageFooter.js +15 -11
  789. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  790. package/components/SidePage/SidePageFooter.d.ts +3 -0
  791. package/components/SidePage/SidePageHeader/SidePageHeader.js +41 -23
  792. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  793. package/components/SidePage/SidePageHeader.d.ts +7 -0
  794. package/components/Spinner/Spinner/Spinner.js +19 -8
  795. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  796. package/components/Spinner/Spinner.d.ts +11 -1
  797. package/components/Spinner/Spinner.md +1 -0
  798. package/components/Spinner/Spinner.styles/Spinner.styles.js +13 -10
  799. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  800. package/components/Spinner/Spinner.styles.d.ts +2 -1
  801. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +18 -4
  802. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  803. package/components/Sticky/Sticky/Sticky.js +13 -8
  804. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  805. package/components/Sticky/Sticky.d.ts +9 -1
  806. package/components/Switcher/Switcher/Switcher.js +4 -0
  807. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  808. package/components/Switcher/Switcher.d.ts +5 -1
  809. package/components/Switcher/Switcher.styles/Switcher.styles.js +3 -1
  810. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  811. package/components/Tabs/Indicator/Indicator.js +4 -1
  812. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  813. package/components/Tabs/Tab/Tab.js +4 -0
  814. package/components/Tabs/Tab/Tab.js.map +1 -1
  815. package/components/Tabs/Tab.d.ts +5 -2
  816. package/components/Tabs/Tabs/Tabs.js +11 -6
  817. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  818. package/components/Tabs/Tabs.d.ts +7 -1
  819. package/components/Textarea/Textarea/Textarea.js +21 -15
  820. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  821. package/components/Textarea/Textarea.d.ts +10 -6
  822. package/components/Textarea/TextareaCounter/TextareaCounter.js +20 -8
  823. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  824. package/components/Textarea/TextareaCounter.d.ts +1 -2
  825. package/components/Toast/Toast/Toast.js +16 -10
  826. package/components/Toast/Toast/Toast.js.map +1 -1
  827. package/components/Toast/Toast.d.ts +6 -0
  828. package/components/Toast/Toast.styles/Toast.styles.js +2 -2
  829. package/components/Toast/Toast.styles/Toast.styles.js.map +1 -1
  830. package/components/Toast/ToastStatic/ToastStatic.js +2 -2
  831. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  832. package/components/Toast/ToastView/ToastView.js +5 -4
  833. package/components/Toast/ToastView/ToastView.js.map +1 -1
  834. package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
  835. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  836. package/components/Toast/ToastView.styles.d.ts +1 -1
  837. package/components/Toggle/Toggle/Toggle.js +8 -4
  838. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  839. package/components/Toggle/Toggle.d.ts +6 -3
  840. package/components/Toggle/Toggle.styles/Toggle.styles.js +3 -4
  841. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  842. package/components/Token/Token/Token.js +16 -1
  843. package/components/Token/Token/Token.js.map +1 -1
  844. package/components/Token/Token.d.ts +5 -2
  845. package/components/Token/Token.styles/Token.styles.js +11 -4
  846. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  847. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +3 -2
  848. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  849. package/components/TokenInput/TokenInput/TokenInput.js +31 -17
  850. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  851. package/components/TokenInput/TokenInput.d.ts +16 -2
  852. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
  853. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  854. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -0
  855. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  856. package/components/Tooltip/Tooltip/Tooltip.js +42 -22
  857. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  858. package/components/Tooltip/Tooltip.d.ts +19 -24
  859. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +18 -12
  860. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  861. package/components/TooltipMenu/TooltipMenu.d.ts +6 -3
  862. package/hooks/useDrop/package.json +6 -0
  863. package/hooks/useDrop/useDrop.js +61 -0
  864. package/hooks/useDrop/useDrop.js.map +1 -0
  865. package/hooks/useDrop.d.ts +11 -0
  866. package/hooks/useEffectWithoutInitCall/package.json +6 -0
  867. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +11 -0
  868. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -0
  869. package/hooks/useEffectWithoutInitCall.d.ts +2 -0
  870. package/hooks/useMemoObject/package.json +6 -0
  871. package/hooks/useMemoObject/useMemoObject.js +6 -0
  872. package/hooks/useMemoObject/useMemoObject.js.map +1 -0
  873. package/hooks/useMemoObject.d.ts +1 -0
  874. package/index.d.ts +5 -0
  875. package/index.js +6 -1
  876. package/index.js.map +1 -1
  877. package/internal/BGRuler/BGRuler.js +2 -1
  878. package/internal/BGRuler/BGRuler.js.map +1 -1
  879. package/internal/Calendar/Calendar/Calendar.js +13 -5
  880. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  881. package/internal/Calendar/Calendar.d.ts +6 -0
  882. package/internal/Calendar/CalendarDateShape.d.ts +1 -1
  883. package/internal/Calendar/MonthView/MonthView.js +4 -3
  884. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  885. package/internal/Calendar/MonthViewModel/MonthViewModel.js +35 -18
  886. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  887. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +24 -11
  888. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  889. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  890. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  891. package/internal/ComponentTable.d.ts +4 -2
  892. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +34 -19
  893. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  894. package/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  895. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
  896. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  897. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +21 -17
  898. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  899. package/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  900. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +35 -35
  901. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  902. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  903. package/internal/DataTids/DATATIDS.md +12 -0
  904. package/internal/DataTids/DataTids/DataTids.js +69 -0
  905. package/internal/DataTids/DataTids/DataTids.js.map +1 -0
  906. package/internal/DataTids/DataTids/package.json +6 -0
  907. package/internal/DataTids/DataTids.d.ts +12 -0
  908. package/internal/DataTids/DataTids.styles/DataTids.styles.js +22 -0
  909. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +1 -0
  910. package/internal/DataTids/DataTids.styles/package.json +6 -0
  911. package/internal/DataTids/DataTids.styles.d.ts +7 -0
  912. package/internal/DataTids/componentsDataTids/componentsDataTids.js +14 -0
  913. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +1 -0
  914. package/internal/DataTids/componentsDataTids/package.json +6 -0
  915. package/internal/DataTids/componentsDataTids.d.ts +5 -0
  916. package/internal/DateSelect/DateSelect/DateSelect.js +29 -18
  917. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  918. package/internal/DateSelect/DateSelect.d.ts +4 -0
  919. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +32 -35
  920. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  921. package/internal/DropdownContainer/DropdownContainer.d.ts +2 -1
  922. package/internal/DropdownContainer/DropdownContainer.styles/DropdownContainer.styles.js +10 -0
  923. package/internal/DropdownContainer/DropdownContainer.styles/DropdownContainer.styles.js.map +1 -0
  924. package/internal/DropdownContainer/DropdownContainer.styles/package.json +6 -0
  925. package/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -0
  926. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +2 -0
  927. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +1 -0
  928. package/internal/FileUploaderControl/FileUploaderControlContext/package.json +6 -0
  929. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
  930. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +89 -0
  931. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -0
  932. package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +6 -0
  933. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  934. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +187 -0
  935. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -0
  936. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +6 -0
  937. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +19 -0
  938. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +32 -0
  939. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +1 -0
  940. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +6 -0
  941. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  942. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +30 -0
  943. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  944. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +6 -0
  945. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +13 -0
  946. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +14 -0
  947. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +1 -0
  948. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +6 -0
  949. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +5 -0
  950. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +16 -0
  951. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +1 -0
  952. package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +6 -0
  953. package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  954. package/internal/FileUploaderControl/fileUtils/fileUtils.js +19 -0
  955. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -0
  956. package/internal/FileUploaderControl/fileUtils/package.json +6 -0
  957. package/internal/FileUploaderControl/fileUtils.d.ts +14 -0
  958. package/internal/FileUploaderControl/hooks/useControlLocale/package.json +6 -0
  959. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +5 -0
  960. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +1 -0
  961. package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  962. package/internal/FileUploaderControl/hooks/useUpload/package.json +6 -0
  963. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +56 -0
  964. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +1 -0
  965. package/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  966. package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +6 -0
  967. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +19 -0
  968. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -0
  969. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  970. package/internal/InputLikeText/InputLikeText/InputLikeText.js +8 -2
  971. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  972. package/internal/InputLikeText/InputLikeText.d.ts +5 -1
  973. package/internal/InternalMenu/InternalMenu/InternalMenu.js +20 -22
  974. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  975. package/internal/InternalMenu/InternalMenu.d.ts +3 -0
  976. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +1 -1
  977. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  978. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js +14 -0
  979. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  980. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/package.json +6 -0
  981. package/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  982. package/internal/MaskedInput/MaskedInput/MaskedInput.js +14 -3
  983. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  984. package/internal/MaskedInput/MaskedInput.d.ts +3 -0
  985. package/internal/Menu/Menu/Menu.js +45 -25
  986. package/internal/Menu/Menu/Menu.js.map +1 -1
  987. package/internal/Menu/Menu.d.ts +5 -0
  988. package/internal/Menu/Menu.styles/Menu.styles.js +13 -4
  989. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  990. package/internal/Menu/Menu.styles.d.ts +3 -0
  991. package/internal/MobilePopup/MobilePopup/MobilePopup.js +6 -0
  992. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  993. package/internal/MobilePopup/MobilePopup.d.ts +4 -0
  994. package/internal/Popup/Popup/Popup.js +37 -28
  995. package/internal/Popup/Popup/Popup.js.map +1 -1
  996. package/internal/Popup/Popup.d.ts +12 -6
  997. package/internal/Popup/PopupHelper/PopupHelper.js +3 -1
  998. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  999. package/internal/Popup/PopupHelper.d.ts +2 -2
  1000. package/internal/Popup/PopupPin/PopupPin.js +2 -0
  1001. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  1002. package/internal/Popup/types/package.json +6 -0
  1003. package/internal/Popup/types/types.js +1 -0
  1004. package/internal/Popup/types/types.js.map +1 -0
  1005. package/internal/Popup/types.d.ts +2 -0
  1006. package/internal/PopupMenu/PopupMenu/PopupMenu.js +19 -6
  1007. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  1008. package/internal/PopupMenu/PopupMenu.d.ts +11 -3
  1009. package/internal/PopupMenu/validatePositions/validatePositions.js +8 -8
  1010. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  1011. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  1012. package/internal/RenderContainer/RenderContainer/RenderContainer.js +9 -0
  1013. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  1014. package/internal/RenderContainer/RenderContainerTypes.d.ts +2 -0
  1015. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +11 -2
  1016. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  1017. package/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  1018. package/internal/RenderLayer/RenderLayer/RenderLayer.js +5 -1
  1019. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  1020. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +50 -0
  1021. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -0
  1022. package/internal/TextWidthHelper/TextWidthHelper/package.json +6 -0
  1023. package/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  1024. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +14 -0
  1025. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +1 -0
  1026. package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +6 -0
  1027. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  1028. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +1 -1
  1029. package/internal/ThemePlayground/Playground/Playground.js +26 -35
  1030. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  1031. package/internal/ThemePlayground/Playground.d.ts +1 -0
  1032. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +1 -1
  1033. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +29 -0
  1034. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -0
  1035. package/internal/ThemePlayground/SizesGroup/package.json +6 -0
  1036. package/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  1037. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +15 -18
  1038. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  1039. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -2
  1040. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +5 -1
  1041. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  1042. package/internal/ThemePlayground/VariableValue/VariableValue.js +16 -5
  1043. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  1044. package/internal/ThemePlayground/constants/constants.js +5 -1
  1045. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  1046. package/internal/ThemePlayground/constants.d.ts +2 -1
  1047. package/internal/ThemePlayground/darkTheme/darkTheme.js +14 -0
  1048. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  1049. package/internal/ThemePlayground/darkTheme.d.ts +14 -0
  1050. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +12 -13
  1051. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  1052. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js +26 -20
  1053. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js.map +1 -1
  1054. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +4 -2
  1055. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +12 -6
  1056. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  1057. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  1058. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +13 -6
  1059. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  1060. package/internal/ZIndex/ZIndexStorage.d.ts +3 -1
  1061. package/internal/icons/16px/index/index.js +67 -17
  1062. package/internal/icons/16px/index/index.js.map +1 -1
  1063. package/internal/icons/16px/index.d.ts +19 -16
  1064. package/internal/icons/20px/svg/svg.js +5 -0
  1065. package/internal/icons/20px/svg/svg.js.map +1 -1
  1066. package/internal/icons/SpinnerIcon/SpinnerIcon.js +7 -5
  1067. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  1068. package/internal/icons/SpinnerIcon.d.ts +4 -1
  1069. package/internal/themes/DarkTheme/DarkTheme.js +65 -3
  1070. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
  1071. package/internal/themes/DarkTheme.d.ts +34 -0
  1072. package/internal/themes/DefaultTheme/DefaultTheme.js +159 -24
  1073. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1074. package/internal/themes/DefaultTheme.d.ts +62 -4
  1075. package/internal/themes/NotFlat/NotFlat.js +15 -0
  1076. package/internal/themes/NotFlat/NotFlat.js.map +1 -1
  1077. package/internal/themes/NotFlat.d.ts +6 -0
  1078. package/internal/themes/OldColors/OldColors.js +31 -19
  1079. package/internal/themes/OldColors/OldColors.js.map +1 -1
  1080. package/internal/themes/OldColors.d.ts +6 -0
  1081. package/internal/themes/Theme2022/Theme2022.js +78 -0
  1082. package/internal/themes/Theme2022/Theme2022.js.map +1 -0
  1083. package/internal/themes/Theme2022/package.json +6 -0
  1084. package/internal/themes/Theme2022.d.ts +66 -0
  1085. package/internal/themes/Theme2022Dark/Theme2022Dark.js +17 -0
  1086. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  1087. package/internal/themes/Theme2022Dark/package.json +6 -0
  1088. package/internal/themes/Theme2022Dark.d.ts +5 -0
  1089. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  1090. package/lib/ConditionalHandler.d.ts +3 -2
  1091. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js +3 -0
  1092. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -0
  1093. package/lib/InstanceWithAnchorElement/package.json +6 -0
  1094. package/lib/InstanceWithAnchorElement.d.ts +5 -0
  1095. package/lib/ModalStack/ModalStack.js +9 -13
  1096. package/lib/ModalStack/ModalStack.js.map +1 -1
  1097. package/lib/ModalStack.d.ts +1 -1
  1098. package/lib/SSRSafe/SSRSafe.js +7 -0
  1099. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  1100. package/lib/SSRSafe.d.ts +1 -0
  1101. package/lib/animation/index/index.js +1 -1
  1102. package/lib/animation/index/index.js.map +1 -1
  1103. package/lib/animation/index.d.ts +1 -1
  1104. package/lib/date/InternalDate/InternalDate.js +16 -1
  1105. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  1106. package/lib/date/InternalDateCalculator/InternalDateCalculator.js +14 -2
  1107. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  1108. package/lib/date/InternalDateGetter/InternalDateGetter.js +23 -7
  1109. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  1110. package/lib/date/InternalDateGetter.d.ts +1 -1
  1111. package/lib/date/InternalDateTransformer/InternalDateTransformer.js +11 -1
  1112. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  1113. package/lib/date/InternalDateValidator/InternalDateValidator.js +75 -34
  1114. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  1115. package/lib/date/types/types.js.map +1 -1
  1116. package/lib/date/types.d.ts +4 -0
  1117. package/lib/dom/getDOMRect/getDOMRect.js +40 -0
  1118. package/lib/dom/getDOMRect/getDOMRect.js.map +1 -0
  1119. package/lib/dom/getDOMRect/package.json +6 -0
  1120. package/lib/dom/getDOMRect.d.ts +11 -0
  1121. package/lib/events/MouseDrag/MouseDrag.js +5 -1
  1122. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  1123. package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
  1124. package/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
  1125. package/lib/events/keyboard/extractCode/extractCode.js +5 -5
  1126. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  1127. package/lib/listenFocusOutside/listenFocusOutside.js +1 -1
  1128. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  1129. package/lib/locale/types/types.js.map +1 -1
  1130. package/lib/locale/types.d.ts +2 -0
  1131. package/lib/locale/useLocaleForControl/package.json +6 -0
  1132. package/lib/locale/useLocaleForControl/useLocaleForControl.js +12 -0
  1133. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -0
  1134. package/lib/locale/useLocaleForControl.d.ts +3 -0
  1135. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +21 -0
  1136. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -0
  1137. package/lib/needsPolyfillPlaceholder/package.json +6 -0
  1138. package/lib/needsPolyfillPlaceholder.d.ts +6 -0
  1139. package/lib/rootNode/getRootNode/getRootNode.js +41 -13
  1140. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  1141. package/lib/rootNode/getRootNode.d.ts +9 -0
  1142. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +26 -2
  1143. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  1144. package/lib/rootNode/rootNodeDecorator.d.ts +20 -1
  1145. package/lib/stringUtils/package.json +6 -0
  1146. package/lib/stringUtils/stringUtils.js +15 -0
  1147. package/lib/stringUtils/stringUtils.js.map +1 -0
  1148. package/lib/stringUtils.d.ts +1 -0
  1149. package/lib/styles/ColorFactory/ColorFactory.js +9 -9
  1150. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  1151. package/lib/styles/ColorHelpers/ColorHelpers.js +26 -9
  1152. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  1153. package/lib/styles/ColorHelpers.d.ts +1 -0
  1154. package/lib/styles/ColorObject/ColorObject.js +2 -2
  1155. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  1156. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js +9 -0
  1157. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js.map +1 -0
  1158. package/lib/styles/getLabGrotesqueBaselineCompensation/package.json +6 -0
  1159. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  1160. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +4 -1
  1161. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  1162. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +1 -1
  1163. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  1164. package/lib/theming/Emotion/Emotion.js +5 -2
  1165. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1166. package/lib/theming/ThemeFactory/ThemeFactory.js +8 -4
  1167. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  1168. package/lib/theming/ThemeFactory.d.ts +1 -1
  1169. package/lib/theming/ThemeHelpers/ThemeHelpers.js +14 -1
  1170. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  1171. package/lib/theming/ThemeHelpers.d.ts +1 -0
  1172. package/lib/theming/themes/Theme2022/Theme2022.js +4 -0
  1173. package/lib/theming/themes/Theme2022/Theme2022.js.map +1 -0
  1174. package/lib/theming/themes/Theme2022/package.json +6 -0
  1175. package/lib/theming/themes/Theme2022.d.ts +1 -0
  1176. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +5 -0
  1177. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  1178. package/lib/theming/themes/Theme2022Dark/package.json +6 -0
  1179. package/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  1180. package/lib/theming/useTheme/package.json +6 -0
  1181. package/lib/theming/useTheme/useTheme.js +5 -0
  1182. package/lib/theming/useTheme/useTheme.js.map +1 -0
  1183. package/lib/theming/useTheme.d.ts +1 -0
  1184. package/lib/uidUtils/package.json +6 -0
  1185. package/lib/uidUtils/uidUtils.js +4 -0
  1186. package/lib/uidUtils/uidUtils.js.map +1 -0
  1187. package/lib/uidUtils.d.ts +1 -0
  1188. package/lib/utils/utils.js +120 -0
  1189. package/lib/utils/utils.js.map +1 -1
  1190. package/lib/utils.d.ts +48 -0
  1191. package/package.json +14 -5
  1192. package/typings/html-props.d.ts +123 -0
  1193. package/cjs/components/Button/Corners.d.ts +0 -6
  1194. package/cjs/components/Button/Corners.js +0 -5
  1195. package/cjs/components/Button/Corners.js.map +0 -1
  1196. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  1197. package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
  1198. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
  1199. package/cjs/lib/polyfillPlaceholder.d.ts +0 -1
  1200. package/cjs/lib/polyfillPlaceholder.js +0 -17
  1201. package/cjs/lib/polyfillPlaceholder.js.map +0 -1
  1202. package/components/Button/Corners/Corners.js +0 -6
  1203. package/components/Button/Corners/Corners.js.map +0 -1
  1204. package/components/Button/Corners/package.json +0 -6
  1205. package/components/Button/Corners.d.ts +0 -6
  1206. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
  1207. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
  1208. package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
  1209. package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  1210. package/lib/polyfillPlaceholder/package.json +0 -6
  1211. package/lib/polyfillPlaceholder/polyfillPlaceholder.js +0 -12
  1212. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +0 -1
  1213. package/lib/polyfillPlaceholder.d.ts +0 -1
@@ -8,6 +8,10 @@ import { ZIndex } from "../../ZIndex";
8
8
  import { cx } from "../../../lib/theming/Emotion";
9
9
  import { jsStyles } from "../MobilePopup.styles";
10
10
  import { MobilePopupHeader } from "../MobilePopupHeader";
11
+ export var MobilePopupDataTids = {
12
+ root: 'MobilePopup__root',
13
+ container: 'MobilePopup__container'
14
+ };
11
15
  export var MobilePopup = /*#__PURE__*/function (_React$Component) {
12
16
  _inheritsLoose(MobilePopup, _React$Component);
13
17
 
@@ -78,8 +82,10 @@ export var MobilePopup = /*#__PURE__*/function (_React$Component) {
78
82
  var _cx, _cx2, _cx3;
79
83
 
80
84
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
85
+ "data-tid": MobilePopupDataTids.container,
81
86
  className: cx((_cx = {}, _cx[jsStyles.container(_this3.theme)] = true, _cx[jsStyles.containerOpened()] = state === 'entered', _cx))
82
87
  }, /*#__PURE__*/React.createElement("div", {
88
+ "data-tid": MobilePopupDataTids.root,
83
89
  className: cx((_cx2 = {}, _cx2[jsStyles.root(_this3.theme)] = true, _cx2[jsStyles.rootFullHeight(_this3.theme)] = _this3.props.useFullHeight, _cx2)),
84
90
  onClick: _this3.props.useFullHeight ? undefined : _this3.close
85
91
  }, /*#__PURE__*/React.createElement(MobilePopupHeader, {
@@ -1 +1 @@
1
- {"version":3,"sources":["MobilePopup.tsx"],"names":["React","Transition","ThemeContext","RenderContainer","HideBodyVerticalScroll","ZIndex","cx","jsStyles","MobilePopupHeader","MobilePopup","state","isScrolled","close","props","onCloseRequest","refContent","contentDiv","handleScrollMenu","e","scrollTop","setState","render","theme","renderMain","content","opened","onClose","appear","exit","container","containerOpened","root","rootFullHeight","useFullHeight","undefined","caption","headerChildComponent","stopPropagation","children","bg","bgShowed","withoutRenderContainer","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Nullable } from '../../typings/utility-types';\nimport { RenderContainer } from '../RenderContainer';\nimport { HideBodyVerticalScroll } from '../HideBodyVerticalScroll';\nimport { ZIndex } from '../ZIndex';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { jsStyles } from './MobilePopup.styles';\nimport { MobilePopupHeader } from './MobilePopupHeader';\n\ninterface MobilePopupProps {\n /**\n * Хэндлер, вызываемый при закрытии меню\n */\n onClose?: () => void;\n caption?: string;\n /**\n * Компонент, закрепленный сверху меню (под холдером)\n */\n headerChildComponent?: React.ReactNode;\n useFullHeight?: boolean;\n withoutRenderContainer?: boolean;\n /**\n * Хэндлер, вызываемый при клике по вуали или заголовку\n */\n onCloseRequest?: () => void;\n opened: boolean;\n}\n\ninterface MobilePopupState {\n isScrolled: boolean;\n}\n\nexport class MobilePopup extends React.Component<MobilePopupProps, MobilePopupState> {\n public static __KONTUR_REACT_UI__ = 'MobileMenuHeader';\n\n private contentDiv: Nullable<HTMLDivElement>;\n private theme!: Theme;\n\n public state: MobilePopupState = {\n isScrolled: false,\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 public renderMain() {\n const content = (\n <ZIndex priority={'MobilePopup'}>\n <Transition\n in={this.props.opened}\n onExited={this.props.onClose}\n mountOnEnter\n unmountOnExit\n appear={true}\n timeout={{ appear: 0, exit: 250 }}\n >\n {(state) => (\n <>\n <div\n className={cx({\n [jsStyles.container(this.theme)]: true,\n [jsStyles.containerOpened()]: state === 'entered',\n })}\n >\n <div\n className={cx({\n [jsStyles.root(this.theme)]: true,\n [jsStyles.rootFullHeight(this.theme)]: this.props.useFullHeight,\n })}\n onClick={this.props.useFullHeight ? undefined : this.close}\n >\n <MobilePopupHeader\n caption={this.props.caption}\n onClose={this.close}\n withShadow={this.state.isScrolled}\n >\n {this.props.headerChildComponent}\n </MobilePopupHeader>\n <div\n onClick={(e) => e.stopPropagation()}\n className={jsStyles.content(this.theme)}\n onScroll={this.handleScrollMenu}\n ref={this.refContent}\n >\n {this.props.children}\n </div>\n </div>\n </div>\n <div\n onClick={this.close}\n className={cx({\n [jsStyles.bg()]: true,\n [jsStyles.bgShowed()]: state === 'entered',\n })}\n />\n <HideBodyVerticalScroll />\n </>\n )}\n </Transition>\n </ZIndex>\n );\n\n if (this.props.withoutRenderContainer) {\n return content;\n }\n\n return <RenderContainer>{content}</RenderContainer>;\n }\n\n public close = () => {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n };\n\n private refContent = (contentDiv: HTMLDivElement) => {\n this.contentDiv = contentDiv;\n };\n\n private handleScrollMenu = (e: React.UIEvent<HTMLDivElement>) => {\n if (this.contentDiv) {\n const isScrolled = this.contentDiv.scrollTop > 0;\n\n if (isScrolled !== this.state.isScrolled) {\n this.setState({ isScrolled });\n }\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["MobilePopup.tsx"],"names":["React","Transition","ThemeContext","RenderContainer","HideBodyVerticalScroll","ZIndex","cx","jsStyles","MobilePopupHeader","MobilePopupDataTids","root","container","MobilePopup","state","isScrolled","close","props","onCloseRequest","refContent","contentDiv","handleScrollMenu","e","scrollTop","setState","render","theme","renderMain","content","opened","onClose","appear","exit","containerOpened","rootFullHeight","useFullHeight","undefined","caption","headerChildComponent","stopPropagation","children","bg","bgShowed","withoutRenderContainer","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Nullable } from '../../typings/utility-types';\nimport { RenderContainer } from '../RenderContainer';\nimport { HideBodyVerticalScroll } from '../HideBodyVerticalScroll';\nimport { ZIndex } from '../ZIndex';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { jsStyles } from './MobilePopup.styles';\nimport { MobilePopupHeader } from './MobilePopupHeader';\n\ninterface MobilePopupProps {\n /**\n * Хэндлер, вызываемый при закрытии меню\n */\n onClose?: () => void;\n caption?: string;\n /**\n * Компонент, закрепленный сверху меню (под холдером)\n */\n headerChildComponent?: React.ReactNode;\n useFullHeight?: boolean;\n withoutRenderContainer?: boolean;\n /**\n * Хэндлер, вызываемый при клике по вуали или заголовку\n */\n onCloseRequest?: () => void;\n opened: boolean;\n}\n\ninterface MobilePopupState {\n isScrolled: boolean;\n}\n\nexport const MobilePopupDataTids = {\n root: 'MobilePopup__root',\n container: 'MobilePopup__container',\n} as const;\n\nexport class MobilePopup extends React.Component<MobilePopupProps, MobilePopupState> {\n public static __KONTUR_REACT_UI__ = 'MobileMenuHeader';\n\n private contentDiv: Nullable<HTMLDivElement>;\n private theme!: Theme;\n\n public state: MobilePopupState = {\n isScrolled: false,\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 public renderMain() {\n const content = (\n <ZIndex priority={'MobilePopup'}>\n <Transition\n in={this.props.opened}\n onExited={this.props.onClose}\n mountOnEnter\n unmountOnExit\n appear\n timeout={{ appear: 0, exit: 250 }}\n >\n {(state) => (\n <>\n <div\n data-tid={MobilePopupDataTids.container}\n className={cx({\n [jsStyles.container(this.theme)]: true,\n [jsStyles.containerOpened()]: state === 'entered',\n })}\n >\n <div\n data-tid={MobilePopupDataTids.root}\n className={cx({\n [jsStyles.root(this.theme)]: true,\n [jsStyles.rootFullHeight(this.theme)]: this.props.useFullHeight,\n })}\n onClick={this.props.useFullHeight ? undefined : this.close}\n >\n <MobilePopupHeader\n caption={this.props.caption}\n onClose={this.close}\n withShadow={this.state.isScrolled}\n >\n {this.props.headerChildComponent}\n </MobilePopupHeader>\n <div\n onClick={(e) => e.stopPropagation()}\n className={jsStyles.content(this.theme)}\n onScroll={this.handleScrollMenu}\n ref={this.refContent}\n >\n {this.props.children}\n </div>\n </div>\n </div>\n <div\n onClick={this.close}\n className={cx({\n [jsStyles.bg()]: true,\n [jsStyles.bgShowed()]: state === 'entered',\n })}\n />\n <HideBodyVerticalScroll />\n </>\n )}\n </Transition>\n </ZIndex>\n );\n\n if (this.props.withoutRenderContainer) {\n return content;\n }\n\n return <RenderContainer>{content}</RenderContainer>;\n }\n\n public close = () => {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n };\n\n private refContent = (contentDiv: HTMLDivElement) => {\n this.contentDiv = contentDiv;\n };\n\n private handleScrollMenu = (e: React.UIEvent<HTMLDivElement>) => {\n if (this.contentDiv) {\n const isScrolled = this.contentDiv.scrollTop > 0;\n\n if (isScrolled !== this.state.isScrolled) {\n this.setState({ isScrolled });\n }\n }\n };\n}\n"]}
@@ -20,6 +20,10 @@ interface MobilePopupProps {
20
20
  interface MobilePopupState {
21
21
  isScrolled: boolean;
22
22
  }
23
+ export declare const MobilePopupDataTids: {
24
+ readonly root: "MobilePopup__root";
25
+ readonly container: "MobilePopup__container";
26
+ };
23
27
  export declare class MobilePopup extends React.Component<MobilePopupProps, MobilePopupState> {
24
28
  static __KONTUR_REACT_UI__: string;
25
29
  private contentDiv;
@@ -51,7 +51,7 @@ import warning from 'warning';
51
51
  import * as LayoutEvents from "../../../lib/LayoutEvents";
52
52
  import { ZIndex } from "../../ZIndex";
53
53
  import { RenderContainer } from "../../RenderContainer";
54
- import { isFunction, isNonNullable, isRefableElement } from "../../../lib/utils";
54
+ import { isFunction, isNonNullable, isNullable, isRefableElement } from "../../../lib/utils";
55
55
  import { isIE11, isEdge, isSafari } from "../../../lib/client";
56
56
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
57
57
  import { isHTMLElement, safePropTypesInstanceOf } from "../../../lib/SSRSafe";
@@ -62,6 +62,7 @@ import { responsiveLayout } from "../../../components/ResponsiveLayout/decorator
62
62
  import { MobilePopup } from "../../MobilePopup";
63
63
  import { getRootNode, rootNode } from "../../../lib/rootNode";
64
64
  import { callChildRef } from "../../../lib/callChildRef/callChildRef";
65
+ import { isInstanceWithAnchorElement } from "../../../lib/InstanceWithAnchorElement";
65
66
  import { PopupPin } from "../PopupPin";
66
67
  import { PopupHelper } from "../PopupHelper";
67
68
  import { styles } from "../Popup.styles";
@@ -70,14 +71,20 @@ var TRANSITION_TIMEOUT = {
70
71
  enter: 0,
71
72
  exit: 200
72
73
  };
74
+ export var PopupPositions = ['top left', 'top center', 'top right', 'right top', 'right middle', 'right bottom', 'bottom right', 'bottom center', 'bottom left', 'left bottom', 'left middle', 'left top'];
75
+ export var DefaultPosition = PopupPositions[0];
73
76
  var DUMMY_LOCATION = {
74
- position: 'top left',
77
+ position: DefaultPosition,
75
78
  coordinates: {
76
79
  top: -9999,
77
80
  left: -9999
78
81
  }
79
82
  };
80
- export var PopupPositions = ['top left', 'top center', 'top right', 'right top', 'right middle', 'right bottom', 'bottom right', 'bottom center', 'bottom left', 'left bottom', 'left middle', 'left top'];
83
+ export var PopupDataTids = {
84
+ content: 'PopupContent',
85
+ contentInner: 'PopupContentInner',
86
+ popupPin: 'PopupPin__root'
87
+ };
81
88
  export var Popup = responsiveLayout(_class = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
82
89
  _inheritsLoose(Popup, _React$Component);
83
90
 
@@ -93,11 +100,20 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_temp = _class2
93
100
  location: _this.props.opened ? DUMMY_LOCATION : null
94
101
  };
95
102
  _this.locationUpdateId = null;
96
- _this.anchorElement = null;
97
103
  _this.refForTransition = /*#__PURE__*/React.createRef();
104
+ _this.anchorElement = null;
105
+
106
+ _this.updateAnchorElement = function (instance) {
107
+ var childDomNode = isInstanceWithAnchorElement(instance) ? instance.getAnchorElement() : getRootNode(instance);
108
+ var anchorElement = _this.anchorElement;
109
+
110
+ if (childDomNode !== anchorElement) {
111
+ _this.removeEventListeners(anchorElement);
112
+
113
+ _this.anchorElement = childDomNode;
98
114
 
99
- _this.renderContainerRef = function (childInstance) {
100
- _this.updateAnchorElement(childInstance);
115
+ _this.addEventListeners(childDomNode);
116
+ }
101
117
  };
102
118
 
103
119
  _this.handleMouseEnter = function (event) {
@@ -144,7 +160,7 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_temp = _class2
144
160
  width = _this$props.width;
145
161
  return /*#__PURE__*/React.createElement("div", {
146
162
  className: styles.content(_this.theme),
147
- "data-tid": 'PopupContent',
163
+ "data-tid": PopupDataTids.content,
148
164
  ref: _this.refForTransition
149
165
  }, /*#__PURE__*/React.createElement("div", {
150
166
  className: styles.contentInner(_this.theme),
@@ -152,7 +168,7 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_temp = _class2
152
168
  backgroundColor: backgroundColor,
153
169
  width: _this.calculateWidth(width)
154
170
  },
155
- "data-tid": 'PopupContentInner'
171
+ "data-tid": PopupDataTids.contentInner
156
172
  }, children));
157
173
  };
158
174
 
@@ -232,7 +248,7 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_temp = _class2
232
248
  });
233
249
  }
234
250
 
235
- if (hadNoLocation && hasLocation && this.props.onOpen) {
251
+ if (this.props.opened && hadNoLocation && hasLocation && this.props.onOpen) {
236
252
  this.props.onOpen();
237
253
  }
238
254
 
@@ -270,11 +286,12 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_temp = _class2
270
286
 
271
287
  _proto.renderMobile = function renderMobile() {
272
288
  var opened = this.props.opened;
273
- return /*#__PURE__*/React.createElement(MobilePopup, {
289
+ var children = this.renderChildren();
290
+ return children ? /*#__PURE__*/React.createElement(MobilePopup, {
274
291
  opened: opened,
275
292
  withoutRenderContainer: true,
276
293
  onCloseRequest: this.props.mobileOnCloseRequest
277
- }, this.content(this.renderChildren()));
294
+ }, this.content(children)) : null;
278
295
  };
279
296
 
280
297
  _proto.renderMain = function renderMain() {
@@ -306,27 +323,16 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_temp = _class2
306
323
  }) : null; // we need to get anchor's DOM node
307
324
  // so we either set our own ref on it via cloning
308
325
  // or relay on findDOMNode (inside getRootNode)
309
- // which should be called with RenderContainer's ref
326
+ // which should be called within updateAnchorElement
310
327
  // in the case when the anchor is not refable
311
328
 
329
+ var canGetAnchorNode = !!anchorWithRef || isHTMLElement(anchorElement);
312
330
  return /*#__PURE__*/React.createElement(RenderContainer, {
313
331
  anchor: anchorWithRef || anchor,
314
- ref: anchorWithRef ? null : this.renderContainerRef
332
+ ref: canGetAnchorNode ? null : this.updateAnchorElement
315
333
  }, this.isMobileLayout && !this.props.withoutMobile ? this.renderMobile() : location && this.renderContent(location));
316
334
  };
317
335
 
318
- _proto.updateAnchorElement = function updateAnchorElement(childInstance) {
319
- var childDomNode = getRootNode(childInstance);
320
- var anchorElement = this.anchorElement;
321
-
322
- if (childDomNode !== anchorElement) {
323
- this.removeEventListeners(anchorElement);
324
- this.anchorElement = childDomNode;
325
- this.addEventListeners(childDomNode);
326
- this.setRootNode(childDomNode);
327
- }
328
- };
329
-
330
336
  _proto.addEventListeners = function addEventListeners(element) {
331
337
  if (element && isHTMLElement(element)) {
332
338
  element.addEventListener('mouseenter', this.handleMouseEnter);
@@ -379,7 +385,10 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_temp = _class2
379
385
  }, function (state) {
380
386
  var _extends2, _ref;
381
387
 
382
- return /*#__PURE__*/React.createElement(CommonWrapper, _this4.props, /*#__PURE__*/React.createElement(ZIndex, {
388
+ return /*#__PURE__*/React.createElement(CommonWrapper, _extends({}, _this4.props, {
389
+ rootNodeRef: _this4.setRootNode
390
+ }), /*#__PURE__*/React.createElement(ZIndex, {
391
+ "data-tid": 'Popup__root',
383
392
  wrapperRef: _this4.refPopupElement,
384
393
  priority: 'Popup',
385
394
  className: cx(_extends((_extends2 = {}, _extends2[styles.popup(_this4.theme)] = true, _extends2[styles.shadow(_this4.theme)] = hasShadow && !shouldFallbackShadow, _extends2[styles.shadowFallback(_this4.theme)] = hasShadow && shouldFallbackShadow, _extends2[styles.popupIgnoreHover()] = ignoreHover, _extends2), disableAnimations ? {} : (_ref = {}, _ref[styles["transition-enter-" + direction](_this4.theme)] = true, _ref[styles.transitionEnter()] = state === 'entering', _ref[styles.transitionEnterActive()] = state === 'entered', _ref[styles.transitionExit()] = state === 'exiting', _ref))),
@@ -436,7 +445,7 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_temp = _class2
436
445
  return true;
437
446
  }
438
447
 
439
- if (x == null || y == null) {
448
+ if (isNullable(x) || isNullable(y)) {
440
449
  return false;
441
450
  }
442
451
 
@@ -673,4 +682,4 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_temp = _class2
673
682
  useWrapper: false,
674
683
  ignoreHover: false,
675
684
  width: 'auto'
676
- }, _temp)) || _class) || _class;
685
+ }, _class2.defaultRootNode = null, _temp)) || _class) || _class;
@@ -1 +1 @@
1
- {"version":3,"sources":["Popup.tsx"],"names":["React","PropTypes","Transition","raf","warning","LayoutEvents","ZIndex","RenderContainer","isFunction","isNonNullable","isRefableElement","isIE11","isEdge","isSafari","ThemeContext","isHTMLElement","safePropTypesInstanceOf","isTestEnv","CommonWrapper","cx","responsiveLayout","MobilePopup","getRootNode","rootNode","callChildRef","PopupPin","PopupHelper","styles","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","DUMMY_LOCATION","position","coordinates","top","left","PopupPositions","Popup","state","location","props","opened","locationUpdateId","anchorElement","refForTransition","createRef","renderContainerRef","childInstance","updateAnchorElement","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","offsetWidth","parseFloat","content","children","backgroundColor","theme","contentInner","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","element","lastPopupElement","handleLayoutEvent","updateLocation","popupElement","getLocation","locationEquals","componentDidMount","layoutEventsToken","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","isMobileLayout","onOpen","onClose","delayUpdateLocation","componentWillUnmount","removeEventListeners","remove","render","renderMain","renderMobile","mobileOnCloseRequest","renderChildren","useWrapper","anchor","isValidElement","anchorWithRef","cloneElement","ref","instance","originalRef","withoutMobile","renderContent","childDomNode","addEventListeners","setRootNode","addEventListener","removeEventListener","disableAnimations","maxWidth","hasShadow","ignoreHover","getPositionObject","direction","rootStyle","shouldFallbackShadow","Boolean","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","cancel","x","y","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","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultProps"],"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 { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { MobilePopup } from '../MobilePopup';\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\nconst DUMMY_LOCATION: PopupLocation = {\n position: 'top left',\n coordinates: {\n top: -9999,\n left: -9999,\n },\n};\n\nexport type PopupPosition =\n | 'top left'\n | 'top center'\n | 'top right'\n | 'right top'\n | 'right middle'\n | 'right bottom'\n | 'bottom left'\n | 'bottom center'\n | 'bottom right'\n | 'left top'\n | 'left middle'\n | 'left bottom';\n\nexport const PopupPositions: PopupPosition[] = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom right',\n 'bottom center',\n 'bottom left',\n 'left bottom',\n 'left middle',\n 'left top',\n];\n\nexport interface PopupHandlerProps {\n onMouseEnter?: (event: MouseEventType) => void;\n onMouseLeave?: (event: MouseEventType) => void;\n onClick?: (event: MouseEventType) => void;\n onFocus?: (event: FocusEventType) => void;\n onBlur?: (event: FocusEventType) => void;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport interface PopupProps extends CommonProps, PopupHandlerProps {\n anchorElement: React.ReactNode | HTMLElement;\n backgroundColor?: React.CSSProperties['backgroundColor'];\n borderColor?: React.CSSProperties['borderColor'];\n children: React.ReactNode | (() => React.ReactNode);\n hasPin: boolean;\n hasShadow: boolean;\n disableAnimations: boolean;\n margin?: number;\n maxWidth?: number | string;\n opened: boolean;\n pinOffset?: number;\n pinSize?: number;\n popupOffset: number;\n positions: PopupPosition[];\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n ignoreHover: boolean;\n width: React.CSSProperties['width'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n withoutMobile?: boolean;\n mobileOnCloseRequest?: () => void;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPosition;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\n@responsiveLayout\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 isMobileLayout!: boolean;\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.isMobileLayout && prevState.location === null && this.state.location === null) {\n this.setState({ location: DUMMY_LOCATION });\n }\n\n if (hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (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 renderMobile() {\n const { opened } = this.props;\n\n return (\n <MobilePopup opened={opened} withoutRenderContainer onCloseRequest={this.props.mobileOnCloseRequest}>\n {this.content(this.renderChildren())}\n </MobilePopup>\n );\n }\n\n private renderMain() {\n const { location } = this.state;\n const { anchorElement, useWrapper } = this.props;\n\n let 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 return (\n <RenderContainer anchor={anchorWithRef || anchor} ref={anchorWithRef ? null : this.renderContainerRef}>\n {this.isMobileLayout && !this.props.withoutMobile\n ? this.renderMobile()\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 content = (children: React.ReactNode) => {\n const { backgroundColor, width } = this.props;\n\n return (\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 );\n };\n\n private renderContent(location: PopupLocation) {\n const { disableAnimations, maxWidth, hasShadow, ignoreHover, opened } = this.props;\n const children = this.renderChildren();\n\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = { ...location.coordinates, maxWidth };\n\n const shouldFallbackShadow = isIE11 || isEdge || isSafari;\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n 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 {this.content(children)}\n {!this.isMobileLayout && this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.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: PopupPosition;\n let coordinates: Offset;\n\n if (location && location !== DUMMY_LOCATION && location.position) {\n position = location.position;\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\n\n if (\n // если нужно сохранить первоначальную позицию и Попап целиком\n // находится в пределах вьюпорта (или может быть проскроллен в него)\n (tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible)) ||\n // если Попап целиком во вьюпорте и в самой приоритетной позиции\n // (иначе нужно попытаться позицию сменить)\n (isFullyVisible && position === positions[0])\n ) {\n // сохраняем текущую позицию\n return { coordinates, position };\n }\n }\n\n for (position of positions) {\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\n return { coordinates, position };\n }\n }\n\n position = positions[0];\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n return { coordinates, position };\n }\n\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\n if (!this.props.hasPin || /center|middle/.test(position.align)) {\n return 0;\n }\n\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\n\n const { pinSize } = this.props;\n\n return Math.max(\n 0,\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\n );\n }\n\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\n const { margin: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\n const position = PopupHelper.getPositionObject(positionName);\n const popupOffset = this.props.popupOffset + this.getPinnedPopupOffset(anchorRect, position);\n\n switch (position.direction) {\n case 'top':\n return {\n top: anchorRect.top - popupRect.height - margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'bottom':\n return {\n top: anchorRect.top + anchorRect.height + margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'left':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left - popupRect.width - margin,\n };\n case 'right':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left + anchorRect.width + margin,\n };\n default:\n throw new Error(`Unexpected direction '${position.direction}'`);\n }\n }\n\n private getPinOffset(align: string) {\n const { pinOffset } = this.props;\n\n switch (align) {\n case 'top':\n case 'bottom':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetY);\n case 'left':\n case 'right':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetX);\n case 'center':\n case 'middle':\n return 0;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getHorizontalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'left':\n return anchorRect.left - popupOffset;\n case 'center':\n return anchorRect.left - (popupRect.width - anchorRect.width) / 2;\n case 'right':\n return anchorRect.left - (popupRect.width - anchorRect.width) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getVerticalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'top':\n return anchorRect.top - popupOffset;\n case 'middle':\n return anchorRect.top - (popupRect.height - anchorRect.height) / 2;\n case 'bottom':\n return anchorRect.top - (popupRect.height - anchorRect.height) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["Popup.tsx"],"names":["React","PropTypes","Transition","raf","warning","LayoutEvents","ZIndex","RenderContainer","isFunction","isNonNullable","isNullable","isRefableElement","isIE11","isEdge","isSafari","ThemeContext","isHTMLElement","safePropTypesInstanceOf","isTestEnv","CommonWrapper","cx","responsiveLayout","MobilePopup","getRootNode","rootNode","callChildRef","isInstanceWithAnchorElement","PopupPin","PopupHelper","styles","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","PopupPositions","DefaultPosition","DUMMY_LOCATION","position","coordinates","top","left","PopupDataTids","content","contentInner","popupPin","Popup","state","location","props","opened","locationUpdateId","refForTransition","createRef","anchorElement","updateAnchorElement","instance","childDomNode","getAnchorElement","removeEventListeners","addEventListeners","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","offsetWidth","parseFloat","children","backgroundColor","theme","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","element","lastPopupElement","handleLayoutEvent","updateLocation","popupElement","getLocation","locationEquals","componentDidMount","layoutEventsToken","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","isMobileLayout","onOpen","onClose","delayUpdateLocation","componentWillUnmount","remove","render","renderMain","renderMobile","renderChildren","mobileOnCloseRequest","useWrapper","anchor","isValidElement","anchorWithRef","cloneElement","ref","originalRef","canGetAnchorNode","withoutMobile","renderContent","addEventListener","removeEventListener","disableAnimations","maxWidth","hasShadow","ignoreHover","getPositionObject","direction","rootStyle","shouldFallbackShadow","Boolean","setRootNode","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","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","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultProps","defaultRootNode"],"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, isNullable, 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 { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { MobilePopup } from '../MobilePopup';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\nimport { isInstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\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 withoutMobile?: boolean;\n mobileOnCloseRequest?: () => void;\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\nexport const PopupDataTids = {\n content: 'PopupContent',\n contentInner: 'PopupContentInner',\n popupPin: 'PopupPin__root',\n} as const;\n\n@responsiveLayout\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 // see #2873 and #2895\n public static readonly defaultRootNode = null;\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 isMobileLayout!: boolean;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\n\n public anchorElement: Nullable<HTMLElement> = null;\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.isMobileLayout && prevState.location === null && this.state.location === null) {\n this.setState({ location: DUMMY_LOCATION });\n }\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 renderMobile() {\n const { opened } = this.props;\n const children = this.renderChildren();\n\n return children ? (\n <MobilePopup opened={opened} withoutRenderContainer onCloseRequest={this.props.mobileOnCloseRequest}>\n {this.content(children)}\n </MobilePopup>\n ) : null;\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 within updateAnchorElement\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.updateAnchorElement}>\n {this.isMobileLayout && !this.props.withoutMobile\n ? this.renderMobile()\n : location && this.renderContent(location)}\n </RenderContainer>\n );\n }\n\n private updateAnchorElement = (instance: Nullable<React.ReactInstance>) => {\n const childDomNode = isInstanceWithAnchorElement(instance) ? instance.getAnchorElement() : getRootNode(instance);\n const anchorElement = this.anchorElement;\n\n if (childDomNode !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = childDomNode;\n this.addEventListeners(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 content = (children: React.ReactNode) => {\n const { backgroundColor, width } = this.props;\n\n return (\n <div className={styles.content(this.theme)} data-tid={PopupDataTids.content} ref={this.refForTransition}>\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width) }}\n data-tid={PopupDataTids.contentInner}\n >\n {children}\n </div>\n </div>\n );\n };\n\n private renderContent(location: PopupLocation) {\n const { disableAnimations, maxWidth, hasShadow, ignoreHover, opened } = this.props;\n const children = this.renderChildren();\n\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = { ...location.coordinates, maxWidth };\n\n const shouldFallbackShadow = isIE11 || isEdge || isSafari;\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n nodeRef={this.refForTransition}\n >\n {(state: string) => (\n <CommonWrapper {...this.props} rootNodeRef={this.setRootNode}>\n <ZIndex\n data-tid={'Popup__root'}\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 {this.content(children)}\n {!this.isMobileLayout && this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.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 (isNullable(x) || isNullable(y)) {\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"]}
@@ -3,8 +3,9 @@ import PropTypes from 'prop-types';
3
3
  import { Nullable } from '../../typings/utility-types';
4
4
  import { FocusEventType, MouseEventType } from '../../typings/event-types';
5
5
  import { CommonProps } from '../CommonWrapper';
6
- export declare type PopupPosition = 'top left' | 'top center' | 'top right' | 'right top' | 'right middle' | 'right bottom' | 'bottom left' | 'bottom center' | 'bottom right' | 'left top' | 'left middle' | 'left bottom';
7
- export declare const PopupPositions: PopupPosition[];
6
+ export declare const PopupPositions: readonly ["top left", "top center", "top right", "right top", "right middle", "right bottom", "bottom right", "bottom center", "bottom left", "left bottom", "left middle", "left top"];
7
+ export declare const DefaultPosition: "top left";
8
+ export declare type PopupPositionsType = typeof PopupPositions[number];
8
9
  export interface PopupHandlerProps {
9
10
  onMouseEnter?: (event: MouseEventType) => void;
10
11
  onMouseLeave?: (event: MouseEventType) => void;
@@ -28,7 +29,7 @@ export interface PopupProps extends CommonProps, PopupHandlerProps {
28
29
  pinOffset?: number;
29
30
  pinSize?: number;
30
31
  popupOffset: number;
31
- positions: PopupPosition[];
32
+ positions: Readonly<PopupPositionsType[]>;
32
33
  /**
33
34
  * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.
34
35
  *
@@ -53,11 +54,16 @@ interface PopupLocation {
53
54
  left: number;
54
55
  top: number;
55
56
  };
56
- position: PopupPosition;
57
+ position: PopupPositionsType;
57
58
  }
58
59
  export interface PopupState {
59
60
  location: Nullable<PopupLocation>;
60
61
  }
62
+ export declare const PopupDataTids: {
63
+ readonly content: "PopupContent";
64
+ readonly contentInner: "PopupContentInner";
65
+ readonly popupPin: "PopupPin__root";
66
+ };
61
67
  export declare class Popup extends React.Component<PopupProps, PopupState> {
62
68
  static __KONTUR_REACT_UI__: string;
63
69
  static propTypes: {
@@ -119,15 +125,16 @@ export declare class Popup extends React.Component<PopupProps, PopupState> {
119
125
  ignoreHover: boolean;
120
126
  width: string;
121
127
  };
128
+ static readonly defaultRootNode: null;
122
129
  state: PopupState;
123
130
  private theme;
124
131
  private layoutEventsToken;
125
132
  private locationUpdateId;
126
133
  private lastPopupElement;
127
- private anchorElement;
128
134
  private isMobileLayout;
129
135
  private setRootNode;
130
136
  private refForTransition;
137
+ anchorElement: Nullable<HTMLElement>;
131
138
  componentDidMount(): void;
132
139
  static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState): PopupState;
133
140
  componentDidUpdate(prevProps: PopupProps, prevState: PopupState): void;
@@ -135,7 +142,6 @@ export declare class Popup extends React.Component<PopupProps, PopupState> {
135
142
  render(): JSX.Element;
136
143
  private renderMobile;
137
144
  private renderMain;
138
- private renderContainerRef;
139
145
  private updateAnchorElement;
140
146
  private addEventListeners;
141
147
  private removeEventListeners;
@@ -1,3 +1,5 @@
1
+ import { getDOMRect } from "../../../lib/dom/getDOMRect";
2
+
1
3
  function getPositionObject(position) {
2
4
  var x = position.split(' ');
3
5
  return {
@@ -45,7 +47,7 @@ function canBecomeFullyVisible(positionName, coordinates) {
45
47
  }
46
48
 
47
49
  function _getElementRelativeRect(element) {
48
- var rect = element.getBoundingClientRect();
50
+ var rect = getDOMRect(element);
49
51
  return {
50
52
  top: rect.top,
51
53
  left: rect.left,
@@ -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';\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: PopupPosition, 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"]}
1
+ {"version":3,"sources":["PopupHelper.tsx"],"names":["getDOMRect","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","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 { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { 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 = getDOMRect(element);\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"]}
@@ -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;