@skbkontur/react-ui 6.0.2 → 6.0.4-46247.0

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 (664) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +6 -8
  3. package/components/Autocomplete/Autocomplete.d.ts +2 -2
  4. package/components/Autocomplete/Autocomplete.js +16 -16
  5. package/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/components/Autocomplete/getAutocompleteTheme.js.map +1 -1
  7. package/components/Autocomplete/locale/index.js.map +1 -1
  8. package/components/Button/Button.d.ts +3 -3
  9. package/components/Button/Button.js +9 -9
  10. package/components/Button/Button.js.map +1 -1
  11. package/components/Button/Button.styles.js +2 -2
  12. package/components/Button/Button.styles.js.map +1 -1
  13. package/components/Button/ButtonArrow.d.ts +1 -1
  14. package/components/Button/ButtonArrow.js +2 -2
  15. package/components/Button/ButtonArrow.js.map +1 -1
  16. package/components/Button/ButtonIcon.js +1 -1
  17. package/components/Button/ButtonIcon.js.map +1 -1
  18. package/components/Button/LoadingButtonIcon.js +1 -1
  19. package/components/Button/LoadingButtonIcon.js.map +1 -1
  20. package/components/Button/getInnerLinkTheme.js.map +1 -1
  21. package/components/Calendar/Calendar.d.ts +2 -2
  22. package/components/Calendar/Calendar.js +13 -13
  23. package/components/Calendar/Calendar.js.map +1 -1
  24. package/components/Calendar/CalendarContext.d.ts +1 -1
  25. package/components/Calendar/CalendarContext.js.map +1 -1
  26. package/components/Calendar/CalendarDay.d.ts +1 -2
  27. package/components/Calendar/CalendarDay.js +7 -7
  28. package/components/Calendar/CalendarDay.js.map +1 -1
  29. package/components/Calendar/CalendarUtils.d.ts +2 -2
  30. package/components/Calendar/CalendarUtils.js +1 -1
  31. package/components/Calendar/CalendarUtils.js.map +1 -1
  32. package/components/Calendar/DayCellView.js +2 -2
  33. package/components/Calendar/DayCellView.js.map +1 -1
  34. package/components/Calendar/DayCellView.styles.js +1 -1
  35. package/components/Calendar/DayCellView.styles.js.map +1 -1
  36. package/components/Calendar/Month.js +4 -4
  37. package/components/Calendar/Month.js.map +1 -1
  38. package/components/Calendar/MonthView.js +5 -5
  39. package/components/Calendar/MonthView.js.map +1 -1
  40. package/components/Calendar/MonthViewModel.js.map +1 -1
  41. package/components/Calendar/config.js.map +1 -1
  42. package/components/Center/Center.d.ts +1 -1
  43. package/components/Center/Center.js +1 -1
  44. package/components/Center/Center.js.map +1 -1
  45. package/components/Checkbox/Checkbox.d.ts +1 -1
  46. package/components/Checkbox/Checkbox.js +5 -5
  47. package/components/Checkbox/Checkbox.js.map +1 -1
  48. package/components/Checkbox/Checkbox.styles.js.map +1 -1
  49. package/components/Checkbox/CheckedIcon.js +1 -1
  50. package/components/Checkbox/CheckedIcon.js.map +1 -1
  51. package/components/ComboBox/ComboBox.d.ts +3 -3
  52. package/components/ComboBox/ComboBox.js +1 -1
  53. package/components/ComboBox/ComboBox.js.map +1 -1
  54. package/components/CurrencyInput/CurrencyHelper.js +1 -1
  55. package/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  56. package/components/CurrencyInput/CurrencyInput.d.ts +2 -2
  57. package/components/CurrencyInput/CurrencyInput.js +6 -6
  58. package/components/CurrencyInput/CurrencyInput.js.map +1 -1
  59. package/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  60. package/components/CurrencyLabel/CurrencyLabel.js +2 -2
  61. package/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  62. package/components/DateInput/DateFragmentsView.d.ts +1 -1
  63. package/components/DateInput/DateFragmentsView.js +1 -1
  64. package/components/DateInput/DateFragmentsView.js.map +1 -1
  65. package/components/DateInput/DateInput.d.ts +1 -1
  66. package/components/DateInput/DateInput.js +8 -8
  67. package/components/DateInput/DateInput.js.map +1 -1
  68. package/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  69. package/components/DatePicker/DatePicker.d.ts +2 -2
  70. package/components/DatePicker/DatePicker.js +16 -16
  71. package/components/DatePicker/DatePicker.js.map +1 -1
  72. package/components/DatePicker/DatePicker.styles.js.map +1 -1
  73. package/components/DatePicker/MobilePicker.js +6 -6
  74. package/components/DatePicker/MobilePicker.js.map +1 -1
  75. package/components/DatePicker/getMobilePickerTheme.js.map +1 -1
  76. package/components/DatePicker/locale/index.js.map +1 -1
  77. package/components/DatePicker/locale/locales/en.js +1 -1
  78. package/components/DatePicker/locale/locales/en.js.map +1 -1
  79. package/components/DatePicker/locale/locales/ru.js +1 -1
  80. package/components/DatePicker/locale/locales/ru.js.map +1 -1
  81. package/components/DateRangePicker/DateRangePicker.d.ts +19 -19
  82. package/components/DateRangePicker/DateRangePicker.js +17 -17
  83. package/components/DateRangePicker/DateRangePicker.js.map +1 -1
  84. package/components/DateRangePicker/DateRangePicker.styles.d.ts +1 -1
  85. package/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  86. package/components/DateRangePicker/DateRangePickerContext.d.ts +1 -1
  87. package/components/DateRangePicker/DateRangePickerContext.js.map +1 -1
  88. package/components/DateRangePicker/DateRangePickerInput.d.ts +1 -1
  89. package/components/DateRangePicker/DateRangePickerInput.js +3 -3
  90. package/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  91. package/components/DateRangePicker/DateRangePickerTheme.js.map +1 -1
  92. package/components/DateRangePicker/helpers/getStateForValue.js +2 -2
  93. package/components/DateRangePicker/helpers/getStateForValue.js.map +1 -1
  94. package/components/DateRangePicker/helpers/validateDateRangePicker.js +3 -3
  95. package/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  96. package/components/DateRangePicker/locale/index.js.map +1 -1
  97. package/components/DateRangePicker/locale/locales/en.js.map +1 -1
  98. package/components/DateRangePicker/locale/locales/ru.js.map +1 -1
  99. package/components/Dropdown/Dropdown.d.ts +2 -2
  100. package/components/Dropdown/Dropdown.js +3 -3
  101. package/components/Dropdown/Dropdown.js.map +1 -1
  102. package/components/Dropdown/getDropdownTheme.js.map +1 -1
  103. package/components/DropdownMenu/DropdownMenu.d.ts +2 -2
  104. package/components/DropdownMenu/DropdownMenu.js +3 -3
  105. package/components/DropdownMenu/DropdownMenu.js.map +1 -1
  106. package/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
  107. package/components/FileUploader/FileUploader.d.ts +5 -5
  108. package/components/FileUploader/FileUploader.js +22 -20
  109. package/components/FileUploader/FileUploader.js.map +1 -1
  110. package/components/FileUploader/FileUploader.styles.js.map +1 -1
  111. package/components/FileUploader/FileUploaderControlContext.d.ts +1 -1
  112. package/components/FileUploader/FileUploaderControlContext.js.map +1 -1
  113. package/components/FileUploader/FileUploaderControlProvider.d.ts +1 -1
  114. package/components/FileUploader/FileUploaderControlProvider.js +3 -3
  115. package/components/FileUploader/FileUploaderControlProvider.js.map +1 -1
  116. package/components/FileUploader/FileUploaderFile.js +11 -11
  117. package/components/FileUploader/FileUploaderFile.js.map +1 -1
  118. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.d.ts +1 -1
  119. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js +5 -5
  120. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  121. package/components/FileUploader/FileUploaderFileStatusIcon.js +3 -3
  122. package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
  123. package/components/FileUploader/FileUploaderFileTypeIcon.js +4 -4
  124. package/components/FileUploader/FileUploaderFileTypeIcon.js.map +1 -1
  125. package/components/FileUploader/fileUtils.js.map +1 -1
  126. package/components/FileUploader/hooks/useUpload.js +1 -1
  127. package/components/FileUploader/hooks/useUpload.js.map +1 -1
  128. package/components/FileUploader/icons/UploadIcon.js +1 -1
  129. package/components/FileUploader/icons/UploadIcon.js.map +1 -1
  130. package/components/FileUploader/icons/row/ArchiveIcon.js +1 -1
  131. package/components/FileUploader/icons/row/ArchiveIcon.js.map +1 -1
  132. package/components/FileUploader/icons/row/DocTextIcon.js +1 -1
  133. package/components/FileUploader/icons/row/DocTextIcon.js.map +1 -1
  134. package/components/FileUploader/icons/row/FolderIcon.js +1 -1
  135. package/components/FileUploader/icons/row/FolderIcon.js.map +1 -1
  136. package/components/FileUploader/icons/row/MarkupIcon.js +1 -1
  137. package/components/FileUploader/icons/row/MarkupIcon.js.map +1 -1
  138. package/components/FileUploader/icons/row/PdfIcon.js +1 -1
  139. package/components/FileUploader/icons/row/PdfIcon.js.map +1 -1
  140. package/components/FileUploader/icons/row/PictureIcon.js +1 -1
  141. package/components/FileUploader/icons/row/PictureIcon.js.map +1 -1
  142. package/components/FileUploader/icons/row/PresentationIcon.js +1 -1
  143. package/components/FileUploader/icons/row/PresentationIcon.js.map +1 -1
  144. package/components/FileUploader/icons/row/TableIcon.js +1 -1
  145. package/components/FileUploader/icons/row/TableIcon.js.map +1 -1
  146. package/components/FileUploader/icons/row/TextIcon.js +1 -1
  147. package/components/FileUploader/icons/row/TextIcon.js.map +1 -1
  148. package/components/FileUploader/icons/tile/ArchiveIcon.js +1 -1
  149. package/components/FileUploader/icons/tile/ArchiveIcon.js.map +1 -1
  150. package/components/FileUploader/icons/tile/DocTextIcon.js +1 -1
  151. package/components/FileUploader/icons/tile/DocTextIcon.js.map +1 -1
  152. package/components/FileUploader/icons/tile/FolderIcon.js +1 -1
  153. package/components/FileUploader/icons/tile/FolderIcon.js.map +1 -1
  154. package/components/FileUploader/icons/tile/MarkupIcon.js +1 -1
  155. package/components/FileUploader/icons/tile/MarkupIcon.js.map +1 -1
  156. package/components/FileUploader/icons/tile/PdfIcon.js +1 -1
  157. package/components/FileUploader/icons/tile/PdfIcon.js.map +1 -1
  158. package/components/FileUploader/icons/tile/PictureIcon.js +1 -1
  159. package/components/FileUploader/icons/tile/PictureIcon.js.map +1 -1
  160. package/components/FileUploader/icons/tile/PresentationIcon.js +1 -1
  161. package/components/FileUploader/icons/tile/PresentationIcon.js.map +1 -1
  162. package/components/FileUploader/icons/tile/TableIcon.js +1 -1
  163. package/components/FileUploader/icons/tile/TableIcon.js.map +1 -1
  164. package/components/FileUploader/icons/tile/TextIcon.js +1 -1
  165. package/components/FileUploader/icons/tile/TextIcon.js.map +1 -1
  166. package/components/FileUploader/locale/index.js.map +1 -1
  167. package/components/FileUploader/withFileUploaderControlProvider.js.map +1 -1
  168. package/components/FxInput/FxInput.d.ts +6 -6
  169. package/components/FxInput/FxInput.js +6 -6
  170. package/components/FxInput/FxInput.js.map +1 -1
  171. package/components/FxInput/FxInputRestoreBtn.d.ts +1 -1
  172. package/components/FxInput/FxInputRestoreBtn.js +1 -1
  173. package/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  174. package/components/FxInput/UndoIcon.js +2 -2
  175. package/components/FxInput/UndoIcon.js.map +1 -1
  176. package/components/Gapped/Gapped.js +2 -2
  177. package/components/Gapped/Gapped.js.map +1 -1
  178. package/components/GlobalLoader/GlobalLoader.js +3 -3
  179. package/components/GlobalLoader/GlobalLoader.js.map +1 -1
  180. package/components/GlobalLoader/GlobalLoaderView.js +2 -2
  181. package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  182. package/components/GlobalLoader/useParams.js.map +1 -1
  183. package/components/Group/Group.js +2 -2
  184. package/components/Group/Group.js.map +1 -1
  185. package/components/Hint/Hint.d.ts +4 -4
  186. package/components/Hint/Hint.js +5 -5
  187. package/components/Hint/Hint.js.map +1 -1
  188. package/components/Hint/Hint.styles.js.map +1 -1
  189. package/components/Input/Input.d.ts +1 -1
  190. package/components/Input/Input.js +7 -8
  191. package/components/Input/Input.js.map +1 -1
  192. package/components/Input/Input.styles.js +1 -1
  193. package/components/Input/Input.styles.js.map +1 -1
  194. package/components/Input/InputLayout/InputLayout.d.ts +1 -1
  195. package/components/Input/InputLayout/InputLayout.js +4 -4
  196. package/components/Input/InputLayout/InputLayout.js.map +1 -1
  197. package/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  198. package/components/Input/InputLayout/InputLayoutAsideIcon.js +2 -2
  199. package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  200. package/components/Input/InputLayout/InputLayoutAsideText.js +1 -1
  201. package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
  202. package/components/Kebab/Kebab.d.ts +3 -3
  203. package/components/Kebab/Kebab.js +11 -11
  204. package/components/Kebab/Kebab.js.map +1 -1
  205. package/components/Link/Link.d.ts +3 -3
  206. package/components/Link/Link.js +6 -6
  207. package/components/Link/Link.js.map +1 -1
  208. package/components/Link/Link.styles.js +1 -1
  209. package/components/Link/Link.styles.js.map +1 -1
  210. package/components/Link/LinkIcon.js.map +1 -1
  211. package/components/Loader/Loader.d.ts +2 -2
  212. package/components/Loader/Loader.js +10 -10
  213. package/components/Loader/Loader.js.map +1 -1
  214. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +4 -4
  215. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  216. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js +1 -1
  217. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +1 -1
  218. package/components/MaskedInput/FixedIMaskInput.js +2 -2
  219. package/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  220. package/components/MaskedInput/MaskedInput.js +5 -5
  221. package/components/MaskedInput/MaskedInput.js.map +1 -1
  222. package/components/MaskedInput/MaskedInput.styles.js +1 -1
  223. package/components/MaskedInput/MaskedInput.styles.js.map +1 -1
  224. package/components/MenuFooter/MenuFooter.js +2 -2
  225. package/components/MenuFooter/MenuFooter.js.map +1 -1
  226. package/components/MenuFooter/MenuFooter.styles.js.map +1 -1
  227. package/components/MenuHeader/MenuHeader.js +2 -2
  228. package/components/MenuHeader/MenuHeader.js.map +1 -1
  229. package/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  230. package/components/MenuItem/MenuItem.d.ts +1 -1
  231. package/components/MenuItem/MenuItem.js +6 -6
  232. package/components/MenuItem/MenuItem.js.map +1 -1
  233. package/components/MenuItem/MenuItem.styles.js +1 -1
  234. package/components/MenuItem/MenuItem.styles.js.map +1 -1
  235. package/components/MenuSeparator/MenuSeparator.js +2 -2
  236. package/components/MenuSeparator/MenuSeparator.js.map +1 -1
  237. package/components/MiniModal/MiniModal.d.ts +2 -2
  238. package/components/MiniModal/MiniModal.js +3 -3
  239. package/components/MiniModal/MiniModal.js.map +1 -1
  240. package/components/MiniModal/MiniModalBody.js +2 -2
  241. package/components/MiniModal/MiniModalBody.js.map +1 -1
  242. package/components/MiniModal/MiniModalFooter.js +3 -3
  243. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  244. package/components/MiniModal/MiniModalHeader.js +4 -4
  245. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  246. package/components/MiniModal/MiniModalIndent.js +2 -2
  247. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  248. package/components/MiniModal/getMiniModalTheme.js.map +1 -1
  249. package/components/Modal/Modal.d.ts +2 -2
  250. package/components/Modal/Modal.js +15 -15
  251. package/components/Modal/Modal.js.map +1 -1
  252. package/components/Modal/Modal.styles.js +1 -1
  253. package/components/Modal/Modal.styles.js.map +1 -1
  254. package/components/Modal/ModalBody.js +7 -7
  255. package/components/Modal/ModalBody.js.map +1 -1
  256. package/components/Modal/ModalClose.js +6 -6
  257. package/components/Modal/ModalClose.js.map +1 -1
  258. package/components/Modal/ModalFooter.d.ts +1 -1
  259. package/components/Modal/ModalFooter.js +5 -5
  260. package/components/Modal/ModalFooter.js.map +1 -1
  261. package/components/Modal/ModalHeader.d.ts +1 -1
  262. package/components/Modal/ModalHeader.js +2 -2
  263. package/components/Modal/ModalHeader.js.map +1 -1
  264. package/components/Modal/ModalSeparator.js.map +1 -1
  265. package/components/Modal/getModalBodyTheme.js.map +1 -1
  266. package/components/Modal/getModalTheme.js.map +1 -1
  267. package/components/Modal/locale/index.js.map +1 -1
  268. package/components/Paging/DotsIcon.js +1 -1
  269. package/components/Paging/DotsIcon.js.map +1 -1
  270. package/components/Paging/Paging.d.ts +1 -1
  271. package/components/Paging/Paging.js +13 -13
  272. package/components/Paging/Paging.js.map +1 -1
  273. package/components/Paging/PagingDefaultComponent.js.map +1 -1
  274. package/components/Paging/locale/index.js.map +1 -1
  275. package/components/PasswordInput/ClosedIcon.js +1 -1
  276. package/components/PasswordInput/ClosedIcon.js.map +1 -1
  277. package/components/PasswordInput/OpenedIcon.js +1 -1
  278. package/components/PasswordInput/OpenedIcon.js.map +1 -1
  279. package/components/PasswordInput/PasswordInput.d.ts +1 -1
  280. package/components/PasswordInput/PasswordInput.js +8 -8
  281. package/components/PasswordInput/PasswordInput.js.map +1 -1
  282. package/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  283. package/components/PasswordInput/PasswordInputIcon.js.map +1 -1
  284. package/components/PasswordInput/locale/index.js.map +1 -1
  285. package/components/Radio/Radio.d.ts +2 -2
  286. package/components/Radio/Radio.js +6 -6
  287. package/components/Radio/Radio.js.map +1 -1
  288. package/components/Radio/Radio.mixins.js +1 -1
  289. package/components/Radio/Radio.mixins.js.map +1 -1
  290. package/components/Radio/Radio.styles.js.map +1 -1
  291. package/components/RadioGroup/RadioGroup.js +7 -7
  292. package/components/RadioGroup/RadioGroup.js.map +1 -1
  293. package/components/ResponsiveLayout/ResponsiveLayout.js +2 -2
  294. package/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  295. package/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -1
  296. package/components/ScrollContainer/ScrollBar.js +2 -2
  297. package/components/ScrollContainer/ScrollBar.js.map +1 -1
  298. package/components/ScrollContainer/ScrollContainer.d.ts +1 -1
  299. package/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -1
  300. package/components/ScrollContainer/ScrollContainer.js +8 -8
  301. package/components/ScrollContainer/ScrollContainer.js.map +1 -1
  302. package/components/Select/Select.d.ts +4 -4
  303. package/components/Select/Select.js +17 -17
  304. package/components/Select/Select.js.map +1 -1
  305. package/components/Select/locale/index.js.map +1 -1
  306. package/components/Select/selectTheme.js.map +1 -1
  307. package/components/SidePage/SidePage.js +11 -11
  308. package/components/SidePage/SidePage.js.map +1 -1
  309. package/components/SidePage/SidePage.styles.js +1 -1
  310. package/components/SidePage/SidePage.styles.js.map +1 -1
  311. package/components/SidePage/SidePageBody.js +2 -2
  312. package/components/SidePage/SidePageBody.js.map +1 -1
  313. package/components/SidePage/SidePageCloseButton.js +5 -5
  314. package/components/SidePage/SidePageCloseButton.js.map +1 -1
  315. package/components/SidePage/SidePageContainer.js +3 -3
  316. package/components/SidePage/SidePageContainer.js.map +1 -1
  317. package/components/SidePage/SidePageFooter.js +6 -6
  318. package/components/SidePage/SidePageFooter.js.map +1 -1
  319. package/components/SidePage/SidePageHeader.js +7 -7
  320. package/components/SidePage/SidePageHeader.js.map +1 -1
  321. package/components/SidePage/locale/index.js.map +1 -1
  322. package/components/SingleToast/SingleToast.js +1 -1
  323. package/components/SingleToast/SingleToast.js.map +1 -1
  324. package/components/Spinner/Spinner.js +3 -3
  325. package/components/Spinner/Spinner.js.map +1 -1
  326. package/components/Spinner/Spinner.styles.js +1 -1
  327. package/components/Spinner/Spinner.styles.js.map +1 -1
  328. package/components/Sticky/Sticky.d.ts +1 -1
  329. package/components/Sticky/Sticky.js +5 -5
  330. package/components/Sticky/Sticky.js.map +1 -1
  331. package/components/Switcher/Switcher.d.ts +2 -2
  332. package/components/Switcher/Switcher.js +6 -6
  333. package/components/Switcher/Switcher.js.map +1 -1
  334. package/components/Switcher/switcherTheme.js.map +1 -1
  335. package/components/Tabs/Indicator.js +5 -5
  336. package/components/Tabs/Indicator.js.map +1 -1
  337. package/components/Tabs/Tab.d.ts +1 -1
  338. package/components/Tabs/Tab.js +8 -8
  339. package/components/Tabs/Tab.js.map +1 -1
  340. package/components/Tabs/Tab.styles.js +1 -1
  341. package/components/Tabs/Tab.styles.js.map +1 -1
  342. package/components/Tabs/Tabs.js +4 -4
  343. package/components/Tabs/Tabs.js.map +1 -1
  344. package/components/Tabs/Tabs.styles.js.map +1 -1
  345. package/components/Tabs/TabsContext.js.map +1 -1
  346. package/components/Textarea/Textarea.d.ts +1 -1
  347. package/components/Textarea/Textarea.js +9 -9
  348. package/components/Textarea/Textarea.js.map +1 -1
  349. package/components/Textarea/Textarea.styles.js.map +1 -1
  350. package/components/Textarea/TextareaCounter.js +3 -3
  351. package/components/Textarea/TextareaCounter.js.map +1 -1
  352. package/components/Toast/Toast.d.ts +2 -2
  353. package/components/Toast/Toast.js +4 -4
  354. package/components/Toast/Toast.js.map +1 -1
  355. package/components/Toast/ToastView.d.ts +1 -1
  356. package/components/Toast/ToastView.js +7 -7
  357. package/components/Toast/ToastView.js.map +1 -1
  358. package/components/Toast/locale/index.js.map +1 -1
  359. package/components/Toggle/Toggle.d.ts +1 -1
  360. package/components/Toggle/Toggle.js +5 -5
  361. package/components/Toggle/Toggle.js.map +1 -1
  362. package/components/Toggle/Toggle.mixins.js.map +1 -1
  363. package/components/Toggle/Toggle.styles.js.map +1 -1
  364. package/components/Token/Token.js +7 -7
  365. package/components/Token/Token.js.map +1 -1
  366. package/components/Token/Token.styles.js.map +1 -1
  367. package/components/Token/TokenView.d.ts +1 -1
  368. package/components/Token/TokenView.js +2 -2
  369. package/components/Token/TokenView.js.map +1 -1
  370. package/components/Token/locale/index.js.map +1 -1
  371. package/components/TokenInput/TextWidthHelper.js +2 -2
  372. package/components/TokenInput/TextWidthHelper.js.map +1 -1
  373. package/components/TokenInput/TokenInput.d.ts +2 -2
  374. package/components/TokenInput/TokenInput.js +13 -13
  375. package/components/TokenInput/TokenInput.js.map +1 -1
  376. package/components/TokenInput/TokenInput.styles.js +2 -2
  377. package/components/TokenInput/TokenInput.styles.js.map +1 -1
  378. package/components/TokenInput/TokenInputMenu.d.ts +2 -2
  379. package/components/TokenInput/TokenInputMenu.js +2 -2
  380. package/components/TokenInput/TokenInputMenu.js.map +1 -1
  381. package/components/TokenInput/TokenInputReducer.js.map +1 -1
  382. package/components/TokenInput/locale/index.js.map +1 -1
  383. package/components/Tooltip/Tooltip.d.ts +3 -3
  384. package/components/Tooltip/Tooltip.js +12 -13
  385. package/components/Tooltip/Tooltip.js.map +1 -1
  386. package/components/TooltipMenu/TooltipMenu.d.ts +4 -4
  387. package/components/TooltipMenu/TooltipMenu.js +4 -4
  388. package/components/TooltipMenu/TooltipMenu.js.map +1 -1
  389. package/hooks/useDrop.js.map +1 -1
  390. package/hooks/useEffectWithoutInitCall.js.map +1 -1
  391. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -1
  392. package/internal/ClearCrossIcon/ClearCrossIcon.js +1 -1
  393. package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  394. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js +1 -1
  395. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  396. package/internal/CloseButtonIcon/CloseButtonIcon.js +2 -2
  397. package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  398. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js +1 -1
  399. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
  400. package/internal/CommonWrapper/CommonWrapper.js +2 -2
  401. package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  402. package/internal/CommonWrapper/utils/extractCommonProps.d.ts +1 -1
  403. package/internal/CommonWrapper/utils/extractCommonProps.js.map +1 -1
  404. package/internal/CustomComboBox/ComboBoxMenu.d.ts +3 -3
  405. package/internal/CustomComboBox/ComboBoxMenu.js +7 -7
  406. package/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  407. package/internal/CustomComboBox/ComboBoxView.d.ts +6 -6
  408. package/internal/CustomComboBox/ComboBoxView.js +15 -15
  409. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  410. package/internal/CustomComboBox/CustomComboBox.d.ts +6 -6
  411. package/internal/CustomComboBox/CustomComboBox.js +6 -6
  412. package/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  413. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -1
  414. package/internal/CustomComboBox/CustomComboBoxReducer.js +1 -1
  415. package/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  416. package/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  417. package/internal/CustomComboBox/locale/index.js.map +1 -1
  418. package/internal/DateSelect/DateSelect.js +7 -7
  419. package/internal/DateSelect/DateSelect.js.map +1 -1
  420. package/internal/DateSelect/locale/index.js.map +1 -1
  421. package/internal/FocusControlWrapper/FocusControlWrapper.js.map +1 -1
  422. package/internal/FocusControlWrapper/useFocusControl.js.map +1 -1
  423. package/internal/FocusTrap/FocusTrap.d.ts +1 -0
  424. package/internal/FocusTrap/FocusTrap.js +7 -7
  425. package/internal/FocusTrap/FocusTrap.js.map +1 -1
  426. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -2
  427. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  428. package/internal/InputLikeText/InputLikeText.d.ts +2 -2
  429. package/internal/InputLikeText/InputLikeText.js +14 -14
  430. package/internal/InputLikeText/InputLikeText.js.map +1 -1
  431. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +6 -6
  432. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  433. package/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  434. package/internal/Menu/Menu.js +10 -10
  435. package/internal/Menu/Menu.js.map +1 -1
  436. package/internal/Menu/MenuContext.js.map +1 -1
  437. package/internal/Menu/MenuNavigation.d.ts +1 -1
  438. package/internal/Menu/MenuNavigation.js.map +1 -1
  439. package/internal/MenuMessage/MenuMessage.d.ts +1 -1
  440. package/internal/MenuMessage/MenuMessage.js +2 -2
  441. package/internal/MenuMessage/MenuMessage.js.map +1 -1
  442. package/internal/MenuMessage/MenuMessage.styles.js +1 -1
  443. package/internal/MenuMessage/MenuMessage.styles.js.map +1 -1
  444. package/internal/MobilePopup/MobilePopup.js +5 -5
  445. package/internal/MobilePopup/MobilePopup.js.map +1 -1
  446. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +1 -1
  447. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  448. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +2 -2
  449. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  450. package/internal/NativeDateInput/NativeDateInput.js +1 -1
  451. package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  452. package/internal/NativeDateInput/utils.d.ts +1 -1
  453. package/internal/NativeDateInput/utils.js.map +1 -1
  454. package/internal/Popup/Popup.d.ts +5 -3
  455. package/internal/Popup/Popup.js +69 -40
  456. package/internal/Popup/Popup.js.map +1 -1
  457. package/internal/Popup/PopupHelper.d.ts +5 -3
  458. package/internal/Popup/PopupHelper.js +14 -8
  459. package/internal/Popup/PopupHelper.js.map +1 -1
  460. package/internal/Popup/PopupPin.js +1 -1
  461. package/internal/Popup/PopupPin.js.map +1 -1
  462. package/internal/Popup/types.js.map +1 -1
  463. package/internal/PopupMenu/PopupMenu.d.ts +2 -2
  464. package/internal/PopupMenu/PopupMenu.js +8 -8
  465. package/internal/PopupMenu/PopupMenu.js.map +1 -1
  466. package/internal/PopupMenu/validatePositions.js.map +1 -1
  467. package/internal/RenderContainer/RenderContainer.d.ts +9 -1
  468. package/internal/RenderContainer/RenderContainer.js +85 -6
  469. package/internal/RenderContainer/RenderContainer.js.map +1 -1
  470. package/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  471. package/internal/RenderLayer/RenderLayer.d.ts +2 -1
  472. package/internal/RenderLayer/RenderLayer.js +7 -9
  473. package/internal/RenderLayer/RenderLayer.js.map +1 -1
  474. package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  475. package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  476. package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  477. package/internal/ZIndex/ZIndex.js +6 -6
  478. package/internal/ZIndex/ZIndex.js.map +1 -1
  479. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.js.map +1 -1
  480. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.js.map +1 -1
  481. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.js.map +1 -1
  482. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.js.map +1 -1
  483. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.js.map +1 -1
  484. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.js.map +1 -1
  485. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.js.map +1 -1
  486. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.js.map +1 -1
  487. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.js.map +1 -1
  488. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.js.map +1 -1
  489. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.js.map +1 -1
  490. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.js.map +1 -1
  491. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.js.map +1 -1
  492. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.js.map +1 -1
  493. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js.map +1 -1
  494. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js.map +1 -1
  495. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js.map +1 -1
  496. package/internal/icons2022/BaseIcon.js +1 -1
  497. package/internal/icons2022/BaseIcon.js.map +1 -1
  498. package/internal/icons2022/CalendarIcon/CalendarIcon16Light.js.map +1 -1
  499. package/internal/icons2022/CalendarIcon/CalendarIcon20Light.js.map +1 -1
  500. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.js.map +1 -1
  501. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.js.map +1 -1
  502. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.js.map +1 -1
  503. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.js.map +1 -1
  504. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.js.map +1 -1
  505. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.js.map +1 -1
  506. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.js.map +1 -1
  507. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.js.map +1 -1
  508. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.js.map +1 -1
  509. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon16Solid.js.map +1 -1
  510. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon20Solid.js.map +1 -1
  511. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon24Regular.js.map +1 -1
  512. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon24Solid.js.map +1 -1
  513. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon32Regular.js.map +1 -1
  514. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon64Regular.js.map +1 -1
  515. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon16Solid.js.map +1 -1
  516. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon20Solid.js.map +1 -1
  517. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon24Regular.js.map +1 -1
  518. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon24Solid.js.map +1 -1
  519. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon32Regular.js.map +1 -1
  520. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon64Regular.js.map +1 -1
  521. package/internal/icons2022/FileTypeFolderIcon/FolderIcon16Solid.js.map +1 -1
  522. package/internal/icons2022/FileTypeFolderIcon/FolderIcon20Solid.js.map +1 -1
  523. package/internal/icons2022/FileTypeFolderIcon/FolderIcon24Regular.js.map +1 -1
  524. package/internal/icons2022/FileTypeFolderIcon/FolderIcon24Solid.js.map +1 -1
  525. package/internal/icons2022/FileTypeFolderIcon/FolderIcon32Regular.js.map +1 -1
  526. package/internal/icons2022/FileTypeFolderIcon/FolderIcon64Regular.js.map +1 -1
  527. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon16Solid.js.map +1 -1
  528. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon20Solid.js.map +1 -1
  529. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon24Regular.js.map +1 -1
  530. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon24Solid.js.map +1 -1
  531. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon32Regular.js.map +1 -1
  532. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon64Regular.js.map +1 -1
  533. package/internal/icons2022/FileTypePdfIcon/PdfIcon16Solid.js.map +1 -1
  534. package/internal/icons2022/FileTypePdfIcon/PdfIcon20Solid.js.map +1 -1
  535. package/internal/icons2022/FileTypePdfIcon/PdfIcon24Regular.js.map +1 -1
  536. package/internal/icons2022/FileTypePdfIcon/PdfIcon24Solid.js.map +1 -1
  537. package/internal/icons2022/FileTypePdfIcon/PdfIcon32Regular.js.map +1 -1
  538. package/internal/icons2022/FileTypePdfIcon/PdfIcon64Regular.js.map +1 -1
  539. package/internal/icons2022/FileTypePictureIcon/PictureIcon16Solid.js.map +1 -1
  540. package/internal/icons2022/FileTypePictureIcon/PictureIcon20Solid.js.map +1 -1
  541. package/internal/icons2022/FileTypePictureIcon/PictureIcon24Regular.js.map +1 -1
  542. package/internal/icons2022/FileTypePictureIcon/PictureIcon24Solid.js.map +1 -1
  543. package/internal/icons2022/FileTypePictureIcon/PictureIcon32Regular.js.map +1 -1
  544. package/internal/icons2022/FileTypePictureIcon/PictureIcon64Regular.js.map +1 -1
  545. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon16Solid.js.map +1 -1
  546. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon20Solid.js.map +1 -1
  547. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon24Regular.js.map +1 -1
  548. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon24Solid.js.map +1 -1
  549. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon32Regular.js.map +1 -1
  550. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon64Regular.js.map +1 -1
  551. package/internal/icons2022/FileTypeTableIcon/TableIcon16Solid.js.map +1 -1
  552. package/internal/icons2022/FileTypeTableIcon/TableIcon20Solid.js.map +1 -1
  553. package/internal/icons2022/FileTypeTableIcon/TableIcon24Regular.js.map +1 -1
  554. package/internal/icons2022/FileTypeTableIcon/TableIcon24Solid.js.map +1 -1
  555. package/internal/icons2022/FileTypeTableIcon/TableIcon32Regular.js.map +1 -1
  556. package/internal/icons2022/FileTypeTableIcon/TableIcon64Regular.js.map +1 -1
  557. package/internal/icons2022/FileTypeTextIcon/TextIcon16Solid.js.map +1 -1
  558. package/internal/icons2022/FileTypeTextIcon/TextIcon20Solid.js.map +1 -1
  559. package/internal/icons2022/FileTypeTextIcon/TextIcon24Regular.js.map +1 -1
  560. package/internal/icons2022/FileTypeTextIcon/TextIcon24Solid.js.map +1 -1
  561. package/internal/icons2022/FileTypeTextIcon/TextIcon32Regular.js.map +1 -1
  562. package/internal/icons2022/FileTypeTextIcon/TextIcon64Regular.js.map +1 -1
  563. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -1
  564. package/internal/icons2022/LoadingIcon.js +1 -1
  565. package/internal/icons2022/LoadingIcon.js.map +1 -1
  566. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.js.map +1 -1
  567. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.js.map +1 -1
  568. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.js.map +1 -1
  569. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.js.map +1 -1
  570. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Regular.js.map +1 -1
  571. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.js.map +1 -1
  572. package/internal/icons2022/NetUploadIcon/NetUploadIcon32Regular.js.map +1 -1
  573. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.js.map +1 -1
  574. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.js.map +1 -1
  575. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -1
  576. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.js.map +1 -1
  577. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.js.map +1 -1
  578. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.js.map +1 -1
  579. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon16Solid.js.map +1 -1
  580. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon20Solid.js.map +1 -1
  581. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon24Regular.js.map +1 -1
  582. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon24Solid.js.map +1 -1
  583. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon32Regular.js.map +1 -1
  584. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon64Regular.js.map +1 -1
  585. package/internal/icons2022/XCircleIcon/XCircleIcon16Solid.js.map +1 -1
  586. package/internal/icons2022/XCircleIcon/XCircleIcon20Solid.js.map +1 -1
  587. package/internal/icons2022/XCircleIcon/XCircleIcon24Regular.js.map +1 -1
  588. package/internal/icons2022/XCircleIcon/XCircleIcon24Solid.js.map +1 -1
  589. package/internal/icons2022/XCircleIcon/XCircleIcon32Regular.js.map +1 -1
  590. package/internal/icons2022/XCircleIcon/XCircleIcon64Regular.js.map +1 -1
  591. package/internal/icons2022/XIcon/XIcon16Light.js.map +1 -1
  592. package/internal/icons2022/XIcon/XIcon20Light.js.map +1 -1
  593. package/internal/icons2022/XIcon/XIcon20Regular.js.map +1 -1
  594. package/internal/icons2022/XIcon/XIcon24Regular.js.map +1 -1
  595. package/internal/icons2022/iconSizer.js.map +1 -1
  596. package/internal/react-focus-lock/Lock.js +1 -1
  597. package/internal/react-focus-lock/Lock.js.map +1 -1
  598. package/internal/react-focus-lock/Trap.js +2 -2
  599. package/internal/react-focus-lock/Trap.js.map +1 -1
  600. package/internal/themes/DarkTheme6_0.js +1 -1
  601. package/internal/themes/DarkTheme6_0.js.map +1 -1
  602. package/internal/themes/LightTheme6_0.js.map +1 -1
  603. package/lib/ModalStack.d.ts +1 -1
  604. package/lib/ModalStack.js.map +1 -1
  605. package/lib/animation/index.js.map +1 -1
  606. package/lib/date/InternalDate.js.map +1 -1
  607. package/lib/date/InternalDateGetter.d.ts +1 -1
  608. package/lib/date/InternalDateGetter.js.map +1 -1
  609. package/lib/date/InternalDateSetter.d.ts +1 -1
  610. package/lib/date/InternalDateSetter.js.map +1 -1
  611. package/lib/date/InternalDateTransformer.js +1 -1
  612. package/lib/date/InternalDateTransformer.js.map +1 -1
  613. package/lib/date/InternalDateValidator.js +1 -1
  614. package/lib/date/InternalDateValidator.js.map +1 -1
  615. package/lib/date/comparison.js.map +1 -1
  616. package/lib/date/localeSets.js.map +1 -1
  617. package/lib/dom/scrollYCenterIntoNearestScrollable.js.map +1 -1
  618. package/lib/dom/selectionHelpers.js +3 -3
  619. package/lib/dom/selectionHelpers.js.map +1 -1
  620. package/lib/dom/tabbableHelpers.js +1 -1
  621. package/lib/dom/tabbableHelpers.js.map +1 -1
  622. package/lib/events/fixFirefoxModifiedClickOnLabel.js +1 -1
  623. package/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  624. package/lib/events/keyListener.js.map +1 -1
  625. package/lib/events/keyboard/extractCode.js.map +1 -1
  626. package/lib/events/keyboard/identifiers.js.map +1 -1
  627. package/lib/forwardRefAndName.js.map +1 -1
  628. package/lib/listenFocusOutside.d.ts +3 -1
  629. package/lib/listenFocusOutside.js +21 -4
  630. package/lib/listenFocusOutside.js.map +1 -1
  631. package/lib/locale/LocaleContext.js.map +1 -1
  632. package/lib/locale/types.d.ts +6 -6
  633. package/lib/locale/types.js.map +1 -1
  634. package/lib/locale/useLocaleForControl.d.ts +1 -1
  635. package/lib/locale/useLocaleForControl.js.map +1 -1
  636. package/lib/mergeRefs.js.map +1 -1
  637. package/lib/renderEnvironment/RenderEnvironmentContext.d.ts +17 -1
  638. package/lib/renderEnvironment/RenderEnvironmentContext.js +10 -10
  639. package/lib/renderEnvironment/RenderEnvironmentContext.js.map +1 -1
  640. package/lib/renderEnvironment/RenderEnvironmentDecorator.js.map +1 -1
  641. package/lib/rootNode/getRootNode.js.map +1 -1
  642. package/lib/rootNode/rootNodeDecorator.js.map +1 -1
  643. package/lib/shadowDom/isShadowRoot.d.ts +6 -0
  644. package/lib/shadowDom/isShadowRoot.js +17 -0
  645. package/lib/shadowDom/isShadowRoot.js.map +1 -0
  646. package/lib/size/SizeControlContext.js.map +1 -1
  647. package/lib/size/SizeDecorator.js +1 -1
  648. package/lib/size/SizeDecorator.js.map +1 -1
  649. package/lib/size/useSizeControl.js.map +1 -1
  650. package/lib/styles/ColorFunctions.js +2 -2
  651. package/lib/styles/ColorFunctions.js.map +1 -1
  652. package/lib/theming/AnimationKeyframes.js.map +1 -1
  653. package/lib/theming/Emotion.d.ts +17 -1
  654. package/lib/theming/Emotion.js +16 -5
  655. package/lib/theming/Emotion.js.map +1 -1
  656. package/lib/theming/ThemeFactory.js +1 -1
  657. package/lib/theming/ThemeFactory.js.map +1 -1
  658. package/lib/theming/ThemeHelpers.js.map +1 -1
  659. package/lib/theming/useTheme.js.map +1 -1
  660. package/lib/types/polymorphic-component.d.ts +1 -1
  661. package/lib/types/polymorphic-component.js.map +1 -1
  662. package/lib/utils.d.ts +8 -8
  663. package/lib/utils.js.map +1 -1
  664. package/package.json +14 -23
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
- import type { PopupPositionsType, ShortPopupPositionsType } from '../../internal/Popup/index.js';
3
- import type { Nullable } from '../../typings/utility-types.js';
4
2
  import type { CommonProps } from '../../internal/CommonWrapper/index.js';
5
- import type { TGetRootNode } from '../../lib/rootNode/index.js';
3
+ import type { PopupPositionsType, ShortPopupPositionsType } from '../../internal/Popup/index.js';
6
4
  import type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement.js';
5
+ import type { TGetRootNode } from '../../lib/rootNode/index.js';
7
6
  import type { SizeProp } from '../../lib/types/props.js';
7
+ import type { Nullable } from '../../typings/utility-types.js';
8
8
  export type TooltipTrigger =
9
9
  /** Наведение на children и на тултип */
10
10
  'hover'
@@ -32,20 +32,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
32
32
  };
33
33
  import React from 'react';
34
34
  import warning from 'warning';
35
- import { isNullable } from '../../lib/utils.js';
36
- import { ThemeFactory } from '../../lib/theming/ThemeFactory.js';
35
+ import { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon.js';
36
+ import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
37
37
  import { Popup } from '../../internal/Popup/index.js';
38
38
  import { RenderLayer } from '../../internal/RenderLayer/index.js';
39
- import { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside.js';
40
- import { ThemeContext } from '../../lib/theming/ThemeContext.js';
39
+ import { createPropsGetter } from '../../lib/createPropsGetter.js';
41
40
  import { isTestEnv } from '../../lib/currentEnvironment.js';
42
- import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
41
+ import { clickOutsideContent } from '../../lib/listenFocusOutside.js';
42
+ import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
43
43
  import { rootNode } from '../../lib/rootNode/index.js';
44
- import { createPropsGetter } from '../../lib/createPropsGetter.js';
45
- import { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon.js';
46
- import { isInstanceOf } from '../../lib/isInstanceOf.js';
44
+ import { isShadowRoot } from '../../lib/shadowDom/isShadowRoot.js';
47
45
  import { withSize } from '../../lib/size/SizeDecorator.js';
48
- import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
46
+ import { ThemeContext } from '../../lib/theming/ThemeContext.js';
47
+ import { ThemeFactory } from '../../lib/theming/ThemeFactory.js';
48
+ import { isNullable } from '../../lib/utils.js';
49
49
  import { getStyles } from './Tooltip.styles.js';
50
50
  var DEFAULT_DELAY = 100;
51
51
  export var TooltipDataTids = {
@@ -387,10 +387,9 @@ var Tooltip = /** @class */ (function (_super) {
387
387
  }
388
388
  };
389
389
  Tooltip.prototype.isClickOutsideContent = function (event) {
390
- if (this.contentElement && isInstanceOf(event.target, this.globalObject.Element)) {
391
- return !containsTargetOrRenderContainer(event.target)(this.contentElement);
392
- }
393
- return true;
390
+ var node = this.contentElement;
391
+ var isShadowRootElement = isShadowRoot(this.emotion.sheet.container.getRootNode());
392
+ return clickOutsideContent(event, node, isShadowRootElement, this.globalObject);
394
393
  };
395
394
  var Tooltip_1;
396
395
  Tooltip.__KONTUR_REACT_UI__ = 'Tooltip';
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { type JSX } from 'react';\nimport warning from 'warning';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport type { GlobalObject, SafeTimer } from '../../lib/globalObject.js';\nimport { isNullable } from '../../lib/utils.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport type { PopupPositionsType, PopupProps, ShortPopupPositionsType } from '../../internal/Popup/index.js';\nimport { Popup } from '../../internal/Popup/index.js';\nimport type { RenderLayerProps } from '../../internal/RenderLayer/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport type { MouseEventType } from '../../typings/event-types.js';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon.js';\nimport { isInstanceOf } from '../../lib/isInstanceOf.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\n\nimport { getStyles } from './Tooltip.styles.js';\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /** Указывает элемент, относительно которого позиционировать тултип. */\n anchorElement?: HTMLElement;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает HTML-атрибут class. */\n className?: string;\n\n /** Отображает крестик для закрытия тултипа. По умолчанию крестик виден, если проп *trigger* не равен `hover` или `focus`. */\n closeButton?: boolean;\n\n /** Задает функцию, которая возвращает содержимое тултипа. Если функция вернула `null`, то тултип не показывается. */\n render?: Nullable<() => React.ReactNode>;\n\n /** Задает приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPositionsType;\n\n /** Задает размер тултипа.\n * @default 'small' */\n size?: SizeProp;\n\n /** Задает триггер открытия тултипа. */\n trigger?: TooltipTrigger;\n\n /** Задает хендлер, который вызывается при клике по крестику. */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /** Задает хендлер, который вызывается при клике по крестику или снаружи тултипа. */\n onCloseRequest?: (event?: Event | React.MouseEvent) => void;\n\n /** Задает хендлер, который вызывается при закрытии тултипа. */\n onClose?: () => void;\n\n /** Задает хендлер, который вызывается при открытии тултипа. */\n onOpen?: () => void;\n\n /** Задает список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции будет выходить за край экрана, то будет выбрана следующая позиция.\n * Обязательно должен включать позицию указанную в `pos`. */\n allowedPositions?: PopupPositionsType[];\n\n /** Отключает анимацию.\n * @default false */\n disableAnimations?: boolean;\n\n /** Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`.\n * Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n\n /** Устанавливает задержку в миллисекундах до появления лоадера. */\n delayBeforeShow?: number;\n}\n\nconst DEFAULT_DELAY = 100;\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nexport const TooltipDataTids = {\n root: 'Tooltip__root',\n content: 'Tooltip__content',\n crossIcon: 'Tooltip__crossIcon',\n} as const;\n\nconst DefaultPositions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\ninterface TooltipSizeVariables {\n closeButtonStyle: string;\n contentStyle: string;\n borderRadius: string;\n pinSize: string;\n pinOffsetX: string;\n pinOffsetY: string;\n margin: string;\n}\n\ntype DefaultProps = Required<Pick<TooltipProps, 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>>;\n\n/**\n * `Tooltip` — это подсказка, которая объясняет состояние контрола или даёт контекстную справку.\n *\n * Открывается по клику, фокусом на элемент или по наведению. В отличие от `Hint`, `Tooltip` может содержать\n * изображения, кнопки, ссылки и прочие интерактивные элементы.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n public static displayName = 'Tooltip';\n\n public static defaultProps: DefaultProps = {\n trigger: 'hover',\n disableAnimations: isTestEnv,\n useWrapper: false,\n delayBeforeShow: DEFAULT_DELAY,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n private validateProps(props: TooltipProps): void {\n warning(\n props.children || props.anchorElement,\n `[Tooltip]: you must provide either 'children' or 'anchorElement' prop for Tooltip to work properly`,\n );\n }\n\n public static delay = DEFAULT_DELAY;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private size!: SizeProp;\n private sizeVariables!: TooltipSizeVariables;\n private hoverTimeout: SafeTimer;\n private contentElement: Nullable<HTMLElement> = null;\n private clickedOutside = true;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions(): string[] {\n return this.props.allowedPositions ? this.props.allowedPositions : DefaultPositions;\n }\n\n public componentDidMount(): void {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n const { trigger } = this.getProps();\n\n this.validateProps(this.getProps());\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n this.sizeVariables = this.getSizeVariables();\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupBackground: theme.tooltipBg,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: this.sizeVariables.borderRadius,\n popupPinSize: this.sizeVariables.pinSize,\n popupPinOffsetX: this.sizeVariables.pinOffsetX,\n popupPinOffsetY: this.sizeVariables.pinOffsetY,\n popupMargin: this.sizeVariables.margin,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderContent = (): React.JSX.Element | null => {\n const content = this.props.render ? this.props.render() : null;\n if (isNullable(content)) {\n return null;\n }\n\n return (\n <div\n ref={this.refContent}\n className={this.cx(this.styles.tooltipContent(this.theme), this.sizeVariables.contentStyle)}\n data-tid={TooltipDataTids.content}\n >\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton(): React.JSX.Element | null {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.getProps().trigger)\n : this.props.closeButton;\n\n if (!hasCross) {\n return null;\n }\n\n const icon = (\n <CloseButtonIcon\n tabbable={false}\n side={parseInt(this.theme.tooltipCloseBtnSide)}\n color={this.theme.tooltipCloseBtnColor}\n colorHover={this.theme.tooltipCloseBtnHoverColor}\n />\n );\n\n return (\n <div\n className={this.cx(this.styles.closeButton(this.theme), this.sizeVariables.closeButtonStyle)}\n onClick={this.handleCloseButtonClick}\n data-tid={TooltipDataTids.crossIcon}\n >\n {icon}\n </div>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show(): void {\n if (this.state.opened) {\n return;\n }\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(false, `Function 'show' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide(): void {\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(false, `Function 'hide' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getPopupAndLayerProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n return (\n <RenderLayer {...layerProps} getAnchorElement={this.getAnchorElement}>\n {popup}\n </RenderLayer>\n );\n }\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n const { disableAnimations, trigger } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n data-tid={TooltipDataTids.root}\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={disableAnimations}\n positions={this.getPositions()}\n pos={this.props.pos}\n ignoreHover={trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n withoutMobile\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private getPositions = (): PopupPositionsType[] =>\n this.props.allowedPositions\n ? this.props.allowedPositions.filter((item) => DefaultPositions.includes(item))\n : DefaultPositions;\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPopupAndLayerProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && this.getProps().useWrapper;\n const trigger = this.getProps().trigger;\n\n const defaultPopupAndLayerProps: ReturnType<typeof this.getPopupAndLayerProps> = {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n switch (trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return defaultPopupAndLayerProps;\n default:\n warning(false, `Unknown trigger specified: ${trigger}. Returning default value.`);\n return defaultPopupAndLayerProps;\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.getProps().trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n this.hoverTimeout = setTimeout(this.open, this.getProps().delayBeforeShow);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n const trigger = this.getProps().trigger;\n if (\n (trigger === 'hover&focus' && this.state.focused) ||\n (trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n if (this.contentElement && isInstanceOf(event.target, this.globalObject.Element)) {\n return !containsTargetOrRenderContainer(event.target)(this.contentElement);\n }\n\n return true;\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n const trigger = this.getProps().trigger;\n if (trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n\n this.close();\n };\n\n private getSizeVariables = (): TooltipSizeVariables => {\n switch (this.size) {\n case 'small':\n return {\n closeButtonStyle: this.styles.closeButtonSmall(this.theme),\n contentStyle: this.styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n case 'medium':\n return {\n closeButtonStyle: this.styles.closeButtonMedium(this.theme),\n contentStyle: this.styles.tooltipContentMedium(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusMedium,\n pinSize: this.theme.tooltipPinSizeMedium,\n pinOffsetX: this.theme.tooltipPinOffsetXMedium,\n pinOffsetY: this.theme.tooltipPinOffsetYMedium,\n margin: this.theme.tooltipMarginMedium,\n };\n case 'large':\n return {\n closeButtonStyle: this.styles.closeButtonLarge(this.theme),\n contentStyle: this.styles.tooltipContentLarge(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusLarge,\n pinSize: this.theme.tooltipPinSizeLarge,\n pinOffsetX: this.theme.tooltipPinOffsetXLarge,\n pinOffsetY: this.theme.tooltipPinOffsetYLarge,\n margin: this.theme.tooltipMarginLarge,\n };\n default:\n warning(false, `Can't get size variables: invalid value in size prop '${this.props.size}'. Returning default`);\n return {\n closeButtonStyle: this.styles.closeButtonSmall(this.theme),\n contentStyle: this.styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n }\n };\n}\n"]}
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../components/Tooltip/Tooltip.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAEpF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AA4EhD,IAAM,aAAa,GAAG,GAAG,CAAC;AAO1B,MAAM,CAAC,IAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,kBAAkB;IAC3B,SAAS,EAAE,oBAAoB;CACvB,CAAC;AAEX,IAAM,gBAAgB,GAAyB;IAC7C,cAAc;IACd,cAAc;IACd,WAAW;IACX,WAAW;IACX,YAAY;IACZ,UAAU;IACV,UAAU;IACV,aAAa;IACb,aAAa;IACb,aAAa;IACb,eAAe;IACf,cAAc;CACf,CAAC;AAcF;;;;;GAKG;AAIH;IAA6B,2BAA+C;IAA5E;;QAWU,cAAQ,GAAG,iBAAiB,CAAC,SAAO,CAAC,YAAY,CAAC,CAAC;QAWpD,WAAK,GAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QASvD,oBAAc,GAA0B,IAAI,CAAC;QAC7C,oBAAc,GAAG,IAAI,CAAC;QAItB,cAAQ,GAAG,KAAK,CAAC,SAAS,EAAS,CAAC;QAsDrC,mBAAa,GAAG;YACrB,IAAM,OAAO,GAAG,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/D,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,CACL,6BACE,GAAG,EAAE,KAAI,CAAC,UAAU,EACpB,SAAS,EAAE,KAAI,CAAC,EAAE,CAAC,KAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAI,CAAC,KAAK,CAAC,EAAE,KAAI,CAAC,aAAa,CAAC,YAAY,CAAC,cACjF,eAAe,CAAC,OAAO;gBAEhC,OAAO;gBACP,KAAI,CAAC,iBAAiB,EAAE,CACrB,CACP,CAAC;QACJ,CAAC,CAAC;QAgCK,sBAAgB,GAAG;;YACxB,OAAO,MAAA,KAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,aAAa,CAAC;QAC9C,CAAC,CAAC;QA+EM,kBAAY,GAAG;YACrB,OAAA,KAAI,CAAC,KAAK,CAAC,gBAAgB;gBACzB,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAA/B,CAA+B,CAAC;gBAC/E,CAAC,CAAC,gBAAgB;QAFpB,CAEoB,CAAC;QAEf,gBAAU,GAAG,UAAC,IAAwB;YAC5C,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC;QA0FM,UAAI,GAAG,cAAM,OAAA,KAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAA/B,CAA+B,CAAC;QAE7C,WAAK,GAAG,cAAM,OAAA,KAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAhC,CAAgC,CAAC;QAS/C,sBAAgB,GAAG,UAAC,KAAqB;YAC/C,IAAM,aAAa,GAAG,KAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,aAAa,CAAC;YAChE,IAAI,aAAa,IAAI,KAAK,CAAC,MAAM,KAAK,KAAI,CAAC,cAAc,EAAE,CAAC;gBAC1D,OAAO;YACT,CAAC;YAED,KAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,KAAI,CAAC,YAAY,GAAG,UAAU,CAAC,KAAI,CAAC,IAAI,EAAE,KAAI,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,CAAC;QAC7E,CAAC,CAAC;QAEM,sBAAgB,GAAG,UAAC,KAAqB;YAC/C,IAAM,OAAO,GAAG,KAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;YACxC,IACE,CAAC,OAAO,KAAK,aAAa,IAAI,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBACjD,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,aAAa,KAAK,KAAI,CAAC,cAAc,CAAC,EACpE,CAAC;gBACD,OAAO;YACT,CAAC;YAED,KAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;gBAC9B,KAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,KAAI,CAAC,YAAY,GAAG,UAAU,CAAC,KAAI,CAAC,KAAK,EAAE,SAAO,CAAC,KAAK,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC;QAEM,iBAAW,GAAG;YACpB,KAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;QAEM,8BAAwB,GAAG,UAAC,KAAY;YAC9C,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,KAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,KAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;oBAC9B,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;gBACD,KAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC;QAQM,iBAAW,GAAG;YACpB,KAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACjC,KAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;QAEM,gBAAU,GAAG;YACnB,IAAM,OAAO,GAAG,KAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;YACxC,IAAI,OAAO,KAAK,aAAa,IAAI,KAAI,CAAC,cAAc,EAAE,CAAC;gBACrD,KAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;YAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,KAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;YAED,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,KAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC;QAEM,4BAAsB,GAAG,UAAC,KAAoC;YACpE,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,IAAI,KAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;YAED,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,IAAI,KAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;gBAC9B,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YAED,KAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC;QAEM,sBAAgB,GAAG;YACzB,QAAQ,KAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,OAAO;oBACV,OAAO;wBACL,gBAAgB,EAAE,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAI,CAAC,KAAK,CAAC;wBAC1D,YAAY,EAAE,KAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAI,CAAC,KAAK,CAAC;wBACzD,YAAY,EAAE,KAAI,CAAC,KAAK,CAAC,wBAAwB;wBACjD,OAAO,EAAE,KAAI,CAAC,KAAK,CAAC,mBAAmB;wBACvC,UAAU,EAAE,KAAI,CAAC,KAAK,CAAC,sBAAsB;wBAC7C,UAAU,EAAE,KAAI,CAAC,KAAK,CAAC,sBAAsB;wBAC7C,MAAM,EAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB;qBACtC,CAAC;gBACJ,KAAK,QAAQ;oBACX,OAAO;wBACL,gBAAgB,EAAE,KAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAI,CAAC,KAAK,CAAC;wBAC3D,YAAY,EAAE,KAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAI,CAAC,KAAK,CAAC;wBAC1D,YAAY,EAAE,KAAI,CAAC,KAAK,CAAC,yBAAyB;wBAClD,OAAO,EAAE,KAAI,CAAC,KAAK,CAAC,oBAAoB;wBACxC,UAAU,EAAE,KAAI,CAAC,KAAK,CAAC,uBAAuB;wBAC9C,UAAU,EAAE,KAAI,CAAC,KAAK,CAAC,uBAAuB;wBAC9C,MAAM,EAAE,KAAI,CAAC,KAAK,CAAC,mBAAmB;qBACvC,CAAC;gBACJ,KAAK,OAAO;oBACV,OAAO;wBACL,gBAAgB,EAAE,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAI,CAAC,KAAK,CAAC;wBAC1D,YAAY,EAAE,KAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAI,CAAC,KAAK,CAAC;wBACzD,YAAY,EAAE,KAAI,CAAC,KAAK,CAAC,wBAAwB;wBACjD,OAAO,EAAE,KAAI,CAAC,KAAK,CAAC,mBAAmB;wBACvC,UAAU,EAAE,KAAI,CAAC,KAAK,CAAC,sBAAsB;wBAC7C,UAAU,EAAE,KAAI,CAAC,KAAK,CAAC,sBAAsB;wBAC7C,MAAM,EAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB;qBACtC,CAAC;gBACJ;oBACE,OAAO,CAAC,KAAK,EAAE,gEAAyD,KAAI,CAAC,KAAK,CAAC,IAAI,yBAAsB,CAAC,CAAC;oBAC/G,OAAO;wBACL,gBAAgB,EAAE,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAI,CAAC,KAAK,CAAC;wBAC1D,YAAY,EAAE,KAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAI,CAAC,KAAK,CAAC;wBACzD,YAAY,EAAE,KAAI,CAAC,KAAK,CAAC,wBAAwB;wBACjD,OAAO,EAAE,KAAI,CAAC,KAAK,CAAC,mBAAmB;wBACvC,UAAU,EAAE,KAAI,CAAC,KAAK,CAAC,sBAAsB;wBAC7C,UAAU,EAAE,KAAI,CAAC,KAAK,CAAC,sBAAsB;wBAC7C,MAAM,EAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB;qBACtC,CAAC;YACN,CAAC;QACH,CAAC,CAAC;;IACJ,CAAC;gBAzcY,OAAO;IAYV,+BAAa,GAArB,UAAsB,KAAmB;QACvC,OAAO,CACL,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,aAAa,EACrC,oGAAoG,CACrG,CAAC;IACJ,CAAC;IAqBM,qCAAmB,GAA1B;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACtF,CAAC;IAEM,mCAAiB,GAAxB;QACE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtC,CAAC;IAEM,oCAAkB,GAAzB;QACU,IAAA,OAAO,GAAK,IAAI,CAAC,QAAQ,EAAE,QAApB,CAAqB;QAEpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpC,IAAI,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAEM,sCAAoB,GAA3B;QACE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEM,wBAAM,GAAb;QAAA,iBA6BC;QA5BC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtC,OAAO,CACL,oBAAC,YAAY,CAAC,QAAQ,QACnB,UAAC,KAAK;YACL,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7C,OAAO,CACL,oBAAC,YAAY,CAAC,QAAQ,IACpB,KAAK,EAAE,YAAY,CAAC,MAAM,CACxB;oBACE,eAAe,EAAE,KAAK,CAAC,SAAS;oBAChC,WAAW,EAAE,KAAK,CAAC,aAAa;oBAChC,iBAAiB,EAAE,KAAI,CAAC,aAAa,CAAC,YAAY;oBAClD,YAAY,EAAE,KAAI,CAAC,aAAa,CAAC,OAAO;oBACxC,eAAe,EAAE,KAAI,CAAC,aAAa,CAAC,UAAU;oBAC9C,eAAe,EAAE,KAAI,CAAC,aAAa,CAAC,UAAU;oBAC9C,WAAW,EAAE,KAAI,CAAC,aAAa,CAAC,MAAM;iBACvC,EACD,KAAK,CACN,IAEA,KAAI,CAAC,UAAU,EAAE,CACI,CACzB,CAAC;QACJ,CAAC,CACqB,CACzB,CAAC;IACJ,CAAC;IAoBM,mCAAiB,GAAxB;QACE,IAAM,QAAQ,GACZ,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS;YAClC,CAAC,CAAC,CAAC,SAAO,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;YACvE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAE7B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAM,IAAI,GAAG,CACX,oBAAC,eAAe,IACd,QAAQ,EAAE,KAAK,EACf,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAC9C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EACtC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,yBAAyB,GAChD,CACH,CAAC;QAEF,OAAO,CACL,6BACE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAC5F,OAAO,EAAE,IAAI,CAAC,sBAAsB,cAC1B,eAAe,CAAC,SAAS,IAElC,IAAI,CACD,CACP,CAAC;IACJ,CAAC;IAMD;;;;OAIG;IACI,sBAAI,GAAX;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QACxC,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjD,OAAO,CAAC,KAAK,EAAE,mEAA4D,OAAO,MAAG,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,sBAAI,GAAX;QACE,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QACxC,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjD,OAAO,CAAC,KAAK,EAAE,mEAA4D,OAAO,MAAG,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEO,4BAAU,GAAlB;QACE,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/B,IAAA,KAAiD,IAAI,CAAC,qBAAqB,EAAE,EAA3E,UAAU,gBAAA,EAAE,kBAA8B,EAA9B,UAAU,mBAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAiC,CAAC;QACpF,IAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,aAAa,CAAC;QAC5D,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAEnE,OAAO,CACL,oBAAC,WAAW,eAAK,UAAU,IAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,KACjE,KAAK,CACM,CACf,CAAC;IACJ,CAAC;IAEO,6BAAW,GAAnB,UACE,aAA4C,EAC5C,UAA+B,EAC/B,OAA2B;QAErB,IAAA,KAAiC,IAAI,CAAC,QAAQ,EAAE,EAA9C,iBAAiB,uBAAA,EAAE,OAAO,aAAoB,CAAC;QACvD,OAAO,CACL,oBAAC,aAAa,aAAC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAM,IAAI,CAAC,KAAK;YAC1D,oBAAC,KAAK,yBACM,eAAe,CAAC,IAAI,EAC9B,aAAa,EAAE,aAAa,EAC5B,MAAM,QACN,SAAS,QACT,QAAQ,EAAC,MAAM,EACf,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACzB,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,EAC9B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EACnB,WAAW,EAAE,OAAO,KAAK,aAAa,EACtC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACzB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAC3B,gCAAgC,QAChC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,aAAa,UACT,UAAU,GAEb,OAAO,CACF,CACM,CACjB,CAAC;IACJ,CAAC;IAWO,uCAAqB,GAA7B;QAIE,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC;QAClE,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QAExC,IAAM,yBAAyB,GAAkD;YAC/E,UAAU,EAAE;gBACV,YAAY,EAAE,IAAI,CAAC,gBAAgB;gBACnC,YAAY,EAAE,IAAI,CAAC,gBAAgB;gBACnC,UAAU,YAAA;aACX;SACF,CAAC;QAEF,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,QAAQ;gBACX,OAAO;oBACL,UAAU,EAAE;wBACV,MAAM,EAAE,IAAI;wBACZ,cAAc,EAAE,IAAI,CAAC,wBAAwB;qBAC9C;oBACD,UAAU,EAAE;wBACV,MAAM,EAAE,IAAI;wBACZ,UAAU,YAAA;qBACX;iBACF,CAAC;YAEJ,KAAK,QAAQ;gBACX,OAAO;oBACL,UAAU,EAAE;wBACV,MAAM,EAAE,KAAK;wBACb,UAAU,YAAA;qBACX;iBACF,CAAC;YAEJ,KAAK,QAAQ;gBACX,OAAO;oBACL,UAAU,EAAE;wBACV,UAAU,YAAA;qBACX;iBACF,CAAC;YACJ,KAAK,OAAO;gBACV,OAAO;oBACL,UAAU,EAAE;wBACV,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;wBACzB,cAAc,EAAE,IAAI,CAAC,wBAAwB;qBAC9C;oBACD,UAAU,EAAE;wBACV,OAAO,EAAE,IAAI,CAAC,WAAW;wBACzB,UAAU,YAAA;qBACX;iBACF,CAAC;YAEJ,KAAK,OAAO;gBACV,OAAO;oBACL,UAAU,EAAE;wBACV,OAAO,EAAE,IAAI,CAAC,WAAW;wBACzB,MAAM,EAAE,IAAI,CAAC,UAAU;wBACvB,UAAU,YAAA;qBACX;iBACF,CAAC;YAEJ,KAAK,aAAa;gBAChB,OAAO;oBACL,UAAU,EAAE;wBACV,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;wBACzB,cAAc,EAAE,IAAI,CAAC,wBAAwB;qBAC9C;oBACD,UAAU,EAAE;wBACV,OAAO,EAAE,IAAI,CAAC,WAAW;wBACzB,MAAM,EAAE,IAAI,CAAC,UAAU;wBACvB,YAAY,EAAE,IAAI,CAAC,gBAAgB;wBACnC,YAAY,EAAE,IAAI,CAAC,gBAAgB;wBACnC,UAAU,YAAA;qBACX;iBACF,CAAC;YAEJ,KAAK,aAAa,CAAC;YACnB,KAAK,OAAO;gBACV,OAAO,yBAAyB,CAAC;YACnC;gBACE,OAAO,CAAC,KAAK,EAAE,qCAA8B,OAAO,+BAA4B,CAAC,CAAC;gBAClF,OAAO,yBAAyB,CAAC;QACrC,CAAC;IACH,CAAC;IAMO,mCAAiB,GAAzB;QACE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IA4CO,uCAAqB,GAA7B,UAA8B,KAAY;QACxC,IAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QACjC,IAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QACrF,OAAO,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAClF,CAAC;;IApXa,2BAAmB,GAAG,SAAS,AAAZ,CAAa;IAChC,mBAAW,GAAG,SAAS,AAAZ,CAAa;IAExB,oBAAY,GAAiB;QACzC,OAAO,EAAE,OAAO;QAChB,iBAAiB,EAAE,SAAS;QAC5B,UAAU,EAAE,KAAK;QACjB,eAAe,EAAE,aAAa;KAC/B,AALyB,CAKxB;IAUY,aAAK,GAAG,aAAa,AAAhB,CAAiB;IACrB,kCAA0B,GAAqB,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC,AAArE,CAAsE;IApBpG,OAAO;QAHnB,qBAAqB;QACrB,QAAQ;QACR,QAAQ;OACI,OAAO,CAycnB;IAAD,cAAC;CAAA,AAzcD,CAA6B,KAAK,CAAC,aAAa,GAyc/C;SAzcY,OAAO","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React, { type JSX } from 'react';\nimport warning from 'warning';\n\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { PopupPositionsType, PopupProps, ShortPopupPositionsType } from '../../internal/Popup/index.js';\nimport { Popup } from '../../internal/Popup/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport type { RenderLayerProps } from '../../internal/RenderLayer/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport type { GlobalObject, SafeTimer } from '../../lib/globalObject.js';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement.js';\nimport { clickOutsideContent } from '../../lib/listenFocusOutside.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { isShadowRoot } from '../../lib/shadowDom/isShadowRoot.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { isNullable } from '../../lib/utils.js';\nimport type { MouseEventType } from '../../typings/event-types.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { getStyles } from './Tooltip.styles.js';\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /** Указывает элемент, относительно которого позиционировать тултип. */\n anchorElement?: HTMLElement;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает HTML-атрибут class. */\n className?: string;\n\n /** Отображает крестик для закрытия тултипа. По умолчанию крестик виден, если проп *trigger* не равен `hover` или `focus`. */\n closeButton?: boolean;\n\n /** Задает функцию, которая возвращает содержимое тултипа. Если функция вернула `null`, то тултип не показывается. */\n render?: Nullable<() => React.ReactNode>;\n\n /** Задает приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPositionsType;\n\n /** Задает размер тултипа.\n * @default 'small' */\n size?: SizeProp;\n\n /** Задает триггер открытия тултипа. */\n trigger?: TooltipTrigger;\n\n /** Задает хендлер, который вызывается при клике по крестику. */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /** Задает хендлер, который вызывается при клике по крестику или снаружи тултипа. */\n onCloseRequest?: (event?: Event | React.MouseEvent) => void;\n\n /** Задает хендлер, который вызывается при закрытии тултипа. */\n onClose?: () => void;\n\n /** Задает хендлер, который вызывается при открытии тултипа. */\n onOpen?: () => void;\n\n /** Задает список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции будет выходить за край экрана, то будет выбрана следующая позиция.\n * Обязательно должен включать позицию указанную в `pos`. */\n allowedPositions?: PopupPositionsType[];\n\n /** Отключает анимацию.\n * @default false */\n disableAnimations?: boolean;\n\n /** Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`.\n * Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n\n /** Устанавливает задержку в миллисекундах до появления лоадера. */\n delayBeforeShow?: number;\n}\n\nconst DEFAULT_DELAY = 100;\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nexport const TooltipDataTids = {\n root: 'Tooltip__root',\n content: 'Tooltip__content',\n crossIcon: 'Tooltip__crossIcon',\n} as const;\n\nconst DefaultPositions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\ninterface TooltipSizeVariables {\n closeButtonStyle: string;\n contentStyle: string;\n borderRadius: string;\n pinSize: string;\n pinOffsetX: string;\n pinOffsetY: string;\n margin: string;\n}\n\ntype DefaultProps = Required<Pick<TooltipProps, 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>>;\n\n/**\n * `Tooltip` — это подсказка, которая объясняет состояние контрола или даёт контекстную справку.\n *\n * Открывается по клику, фокусом на элемент или по наведению. В отличие от `Hint`, `Tooltip` может содержать\n * изображения, кнопки, ссылки и прочие интерактивные элементы.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n public static displayName = 'Tooltip';\n\n public static defaultProps: DefaultProps = {\n trigger: 'hover',\n disableAnimations: isTestEnv,\n useWrapper: false,\n delayBeforeShow: DEFAULT_DELAY,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n private validateProps(props: TooltipProps): void {\n warning(\n props.children || props.anchorElement,\n `[Tooltip]: you must provide either 'children' or 'anchorElement' prop for Tooltip to work properly`,\n );\n }\n\n public static delay = DEFAULT_DELAY;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private size!: SizeProp;\n private sizeVariables!: TooltipSizeVariables;\n private hoverTimeout: SafeTimer;\n private contentElement: Nullable<HTMLElement> = null;\n private clickedOutside = true;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions(): string[] {\n return this.props.allowedPositions ? this.props.allowedPositions : DefaultPositions;\n }\n\n public componentDidMount(): void {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n const { trigger } = this.getProps();\n\n this.validateProps(this.getProps());\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n this.sizeVariables = this.getSizeVariables();\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupBackground: theme.tooltipBg,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: this.sizeVariables.borderRadius,\n popupPinSize: this.sizeVariables.pinSize,\n popupPinOffsetX: this.sizeVariables.pinOffsetX,\n popupPinOffsetY: this.sizeVariables.pinOffsetY,\n popupMargin: this.sizeVariables.margin,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderContent = (): React.JSX.Element | null => {\n const content = this.props.render ? this.props.render() : null;\n if (isNullable(content)) {\n return null;\n }\n\n return (\n <div\n ref={this.refContent}\n className={this.cx(this.styles.tooltipContent(this.theme), this.sizeVariables.contentStyle)}\n data-tid={TooltipDataTids.content}\n >\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton(): React.JSX.Element | null {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.getProps().trigger)\n : this.props.closeButton;\n\n if (!hasCross) {\n return null;\n }\n\n const icon = (\n <CloseButtonIcon\n tabbable={false}\n side={parseInt(this.theme.tooltipCloseBtnSide)}\n color={this.theme.tooltipCloseBtnColor}\n colorHover={this.theme.tooltipCloseBtnHoverColor}\n />\n );\n\n return (\n <div\n className={this.cx(this.styles.closeButton(this.theme), this.sizeVariables.closeButtonStyle)}\n onClick={this.handleCloseButtonClick}\n data-tid={TooltipDataTids.crossIcon}\n >\n {icon}\n </div>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show(): void {\n if (this.state.opened) {\n return;\n }\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(false, `Function 'show' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide(): void {\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(false, `Function 'hide' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getPopupAndLayerProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n return (\n <RenderLayer {...layerProps} getAnchorElement={this.getAnchorElement}>\n {popup}\n </RenderLayer>\n );\n }\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n const { disableAnimations, trigger } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n data-tid={TooltipDataTids.root}\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={disableAnimations}\n positions={this.getPositions()}\n pos={this.props.pos}\n ignoreHover={trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n withoutMobile\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private getPositions = (): PopupPositionsType[] =>\n this.props.allowedPositions\n ? this.props.allowedPositions.filter((item) => DefaultPositions.includes(item))\n : DefaultPositions;\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPopupAndLayerProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && this.getProps().useWrapper;\n const trigger = this.getProps().trigger;\n\n const defaultPopupAndLayerProps: ReturnType<typeof this.getPopupAndLayerProps> = {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n switch (trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return defaultPopupAndLayerProps;\n default:\n warning(false, `Unknown trigger specified: ${trigger}. Returning default value.`);\n return defaultPopupAndLayerProps;\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.getProps().trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n this.hoverTimeout = setTimeout(this.open, this.getProps().delayBeforeShow);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n const trigger = this.getProps().trigger;\n if (\n (trigger === 'hover&focus' && this.state.focused) ||\n (trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n const node = this.contentElement;\n const isShadowRootElement = isShadowRoot(this.emotion.sheet.container.getRootNode());\n return clickOutsideContent(event, node, isShadowRootElement, this.globalObject);\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n const trigger = this.getProps().trigger;\n if (trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n\n this.close();\n };\n\n private getSizeVariables = (): TooltipSizeVariables => {\n switch (this.size) {\n case 'small':\n return {\n closeButtonStyle: this.styles.closeButtonSmall(this.theme),\n contentStyle: this.styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n case 'medium':\n return {\n closeButtonStyle: this.styles.closeButtonMedium(this.theme),\n contentStyle: this.styles.tooltipContentMedium(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusMedium,\n pinSize: this.theme.tooltipPinSizeMedium,\n pinOffsetX: this.theme.tooltipPinOffsetXMedium,\n pinOffsetY: this.theme.tooltipPinOffsetYMedium,\n margin: this.theme.tooltipMarginMedium,\n };\n case 'large':\n return {\n closeButtonStyle: this.styles.closeButtonLarge(this.theme),\n contentStyle: this.styles.tooltipContentLarge(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusLarge,\n pinSize: this.theme.tooltipPinSizeLarge,\n pinOffsetX: this.theme.tooltipPinOffsetXLarge,\n pinOffsetY: this.theme.tooltipPinOffsetYLarge,\n margin: this.theme.tooltipMarginLarge,\n };\n default:\n warning(false, `Can't get size variables: invalid value in size prop '${this.props.size}'. Returning default`);\n return {\n closeButtonStyle: this.styles.closeButtonSmall(this.theme),\n contentStyle: this.styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n }\n };\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import type { AriaAttributes } from 'react';
2
2
  import React from 'react';
3
- import type { PopupMenuProps } from '../../internal/PopupMenu/index.js';
4
- import type { MenuItemProps } from '../MenuItem/index.js';
5
- import type { MenuHeaderProps } from '../MenuHeader/index.js';
6
- import type { PopupPositionsType } from '../../internal/Popup/index.js';
7
3
  import type { CommonProps } from '../../internal/CommonWrapper/types.js';
4
+ import type { PopupPositionsType } from '../../internal/Popup/index.js';
5
+ import type { PopupMenuProps } from '../../internal/PopupMenu/index.js';
8
6
  import type { TGetRootNode } from '../../lib/rootNode//rootNodeDecorator.js';
7
+ import type { MenuHeaderProps } from '../MenuHeader/index.js';
8
+ import type { MenuItemProps } from '../MenuItem/index.js';
9
9
  export type TooltipMenuChildType = React.ReactElement<MenuItemProps | unknown | MenuHeaderProps>;
10
10
  export interface TooltipMenuProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'preventIconsOffset'> {
11
11
  /** @ignore */
@@ -32,13 +32,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
32
32
  };
33
33
  import React from 'react';
34
34
  import warning from 'warning';
35
- import { ThemeFactory } from '../../lib/theming/ThemeFactory.js';
36
- import { ThemeContext } from '../../lib/theming/ThemeContext.js';
35
+ import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
37
36
  import { PopupMenu } from '../../internal/PopupMenu/index.js';
37
+ import { createPropsGetter } from '../../lib/createPropsGetter.js';
38
38
  import { isTestEnv } from '../../lib/currentEnvironment.js';
39
- import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
40
39
  import { rootNode } from '../../lib/rootNode/index.js';
41
- import { createPropsGetter } from '../../lib/createPropsGetter.js';
40
+ import { ThemeContext } from '../../lib/theming/ThemeContext.js';
41
+ import { ThemeFactory } from '../../lib/theming/ThemeFactory.js';
42
42
  export var TooltipMenuDataTids = {
43
43
  root: 'TooltipMenu__root',
44
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipMenu.js","sourceRoot":"","sources":["../../../components/TooltipMenu/TooltipMenu.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAI5D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AA8BnE,MAAM,CAAC,IAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,mBAAmB;CACjB,CAAC;AAIX;;;;;;;;;;GAUG;AAEH;IAAiC,+BAAiC;IAahE,qBAAY,KAAuB;QACjC,YAAA,MAAK,YAAC,KAAK,CAAC,SAAC;QAHP,cAAQ,GAAG,iBAAiB,CAAC,aAAW,CAAC,YAAY,CAAC,CAAC;QAK7D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;QAClD,CAAC;;IACH,CAAC;oBAnBU,WAAW;IAqBf,4BAAM,GAAb;QAAA,iBAsBC;QArBC,OAAO,CACL,oBAAC,YAAY,CAAC,QAAQ,QACnB,UAAC,KAAK;YACL,OAAO,CACL,oBAAC,YAAY,CAAC,QAAQ,IACpB,KAAK,EAAE,YAAY,CAAC,MAAM,CACxB;oBACE,eAAe,EAAE,KAAK,CAAC,qBAAqB;oBAC5C,eAAe,EAAE,KAAK,CAAC,qBAAqB;oBAC5C,WAAW,EAAE,KAAK,CAAC,iBAAiB;oBACpC,YAAY,EAAE,KAAK,CAAC,kBAAkB;iBACvC,EACD,KAAK,CACN,IAEA,KAAI,CAAC,UAAU,EAAE,CACI,CACzB,CAAC;QACJ,CAAC,CACqB,CACzB,CAAC;IACJ,CAAC;IAEM,gCAAU,GAAjB;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAEO,IAAA,iBAAiB,GAAK,IAAI,CAAC,QAAQ,EAAE,kBAApB,CAAqB;QAE9C,OAAO,CACL,oBAAC,aAAa,aAAC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAM,IAAI,CAAC,KAAK;YAC1D,oBAAC,SAAS,kBACI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAC1B,mBAAmB,CAAC,IAAI,EAClC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EACvC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAC3B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACzB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACzB,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,EACjD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACzB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAC3B,WAAW,QACX,iBAAiB,EAAE,iBAAiB,IAEnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CACV,CACE,CACjB,CAAC;IACJ,CAAC;;IAxEa,+BAAmB,GAAG,aAAa,AAAhB,CAAiB;IACpC,uBAAW,GAAG,aAAa,AAAhB,CAAiB;IAK5B,wBAAY,GAAiB;QACzC,iBAAiB,EAAE,SAAS;KAC7B,AAFyB,CAExB;IATS,WAAW;QADvB,QAAQ;OACI,WAAW,CA0EvB;IAAD,kBAAC;CAAA,AA1ED,CAAiC,KAAK,CAAC,SAAS,GA0E/C;SA1EY,WAAW","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { PopupMenuProps } from '../../internal/PopupMenu/index.js';\nimport { PopupMenu } from '../../internal/PopupMenu/index.js';\nimport type { MenuItemProps } from '../MenuItem/index.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport type { MenuHeaderProps } from '../MenuHeader/index.js';\nimport type { PopupPositionsType } from '../../internal/Popup/index.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/types.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode//rootNodeDecorator.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\n\nexport type TooltipMenuChildType = React.ReactElement<MenuItemProps | unknown | MenuHeaderProps>;\n\nexport interface TooltipMenuProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'preventIconsOffset'> {\n /** @ignore */\n children?: TooltipMenuChildType | TooltipMenuChildType[];\n /** Задает максимальную высоту меню. */\n menuMaxHeight?: number | string;\n /** Задает ширину меню. */\n menuWidth?: number | string;\n /** Задает элемент или функцию возвращающую элемент, которые используется вместо `caption`.\n * В случае функции, внутри нее необходимо управлять открытием и закрытием меню. */\n caption: PopupMenuProps['caption'];\n /** Задает элемент, который будет отрендерен в шапке меню.\n * _Примечание_: контрол MenuHeader передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`. */\n header?: React.ReactNode;\n /** Задает элемент, который будет отрендерен в подвале меню.\n * Перед элементом переданным в `footer` будет отрендерен MenuSeparator. */\n footer?: React.ReactNode;\n /** Определяет список позиций, доступных для расположения выпадашки относительно caption.\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка. */\n positions?: PopupPositionsType[];\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n}\n\nexport const TooltipMenuDataTids = {\n root: 'TooltipMenu__root',\n} as const;\n\ntype DefaultProps = Required<Pick<TooltipMenuProps, 'disableAnimations'>>;\n\n/**\n * Меню `TooltipMenu` раскрывается по клику на переданный в `caption` элемент.\n *\n * Положение меню задаётся с помощью массива `positions` и работает так:\n * первое значение в массиве - дефолтная позиция, меню раскроется на этой позиции, если оно не будет выходить за пределы `viewport`,\n * если раскрыться в дефолтной позиции не получится - будет использована следующая позиция, и так далее, пока не будет достигнут конец массива. Если все положения из списка будут выходить за пределы `viewport`, в качестве положения будет использовано первое значение в массиве.\n *\n * Если меню должно раскрываться только в одну сторону - массив `positions` должен содержать только один элемент: сторону, в которую должно открываться меню.\n *\n * Если массив `positions` не передан (или передан пустой массив), будут использованы всевозможные значения.\n */\n@rootNode\nexport class TooltipMenu extends React.Component<TooltipMenuProps> {\n public static __KONTUR_REACT_UI__ = 'TooltipMenu';\n public static displayName = 'TooltipMenu';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(TooltipMenu.defaultProps);\n\n constructor(props: TooltipMenuProps) {\n super(props);\n\n if (!props.caption) {\n warning(false, 'Prop \"caption\" is required!!!');\n }\n }\n\n public render(): React.JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffsetX: theme.tooltipMenuPinOffsetX,\n popupPinOffsetY: theme.tooltipMenuPinOffsetY,\n popupMargin: theme.tooltipMenuMargin,\n popupPinSize: theme.tooltipMenuPinSize,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain(): React.JSX.Element | null {\n if (!this.props.caption) {\n return null;\n }\n\n const { disableAnimations } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n aria-label={this.props['aria-label']}\n data-tid={TooltipMenuDataTids.root}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n caption={this.props.caption}\n header={this.props.header}\n footer={this.props.footer}\n preventIconsOffset={this.props.preventIconsOffset}\n positions={this.props.positions}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n popupHasPin\n disableAnimations={disableAnimations}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"TooltipMenu.js","sourceRoot":"","sources":["../../../components/TooltipMenu/TooltipMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/types.js';\nimport type { PopupPositionsType } from '../../internal/Popup/index.js';\nimport { PopupMenu } from '../../internal/PopupMenu/index.js';\nimport type { PopupMenuProps } from '../../internal/PopupMenu/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode//rootNodeDecorator.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport type { MenuHeaderProps } from '../MenuHeader/index.js';\nimport type { MenuItemProps } from '../MenuItem/index.js';\n\nexport type TooltipMenuChildType = React.ReactElement<MenuItemProps | unknown | MenuHeaderProps>;\n\nexport interface TooltipMenuProps\n extends\n Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'preventIconsOffset'> {\n /** @ignore */\n children?: TooltipMenuChildType | TooltipMenuChildType[];\n /** Задает максимальную высоту меню. */\n menuMaxHeight?: number | string;\n /** Задает ширину меню. */\n menuWidth?: number | string;\n /** Задает элемент или функцию возвращающую элемент, которые используется вместо `caption`.\n * В случае функции, внутри нее необходимо управлять открытием и закрытием меню. */\n caption: PopupMenuProps['caption'];\n /** Задает элемент, который будет отрендерен в шапке меню.\n * _Примечание_: контрол MenuHeader передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`. */\n header?: React.ReactNode;\n /** Задает элемент, который будет отрендерен в подвале меню.\n * Перед элементом переданным в `footer` будет отрендерен MenuSeparator. */\n footer?: React.ReactNode;\n /** Определяет список позиций, доступных для расположения выпадашки относительно caption.\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка. */\n positions?: PopupPositionsType[];\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n}\n\nexport const TooltipMenuDataTids = {\n root: 'TooltipMenu__root',\n} as const;\n\ntype DefaultProps = Required<Pick<TooltipMenuProps, 'disableAnimations'>>;\n\n/**\n * Меню `TooltipMenu` раскрывается по клику на переданный в `caption` элемент.\n *\n * Положение меню задаётся с помощью массива `positions` и работает так:\n * первое значение в массиве - дефолтная позиция, меню раскроется на этой позиции, если оно не будет выходить за пределы `viewport`,\n * если раскрыться в дефолтной позиции не получится - будет использована следующая позиция, и так далее, пока не будет достигнут конец массива. Если все положения из списка будут выходить за пределы `viewport`, в качестве положения будет использовано первое значение в массиве.\n *\n * Если меню должно раскрываться только в одну сторону - массив `positions` должен содержать только один элемент: сторону, в которую должно открываться меню.\n *\n * Если массив `positions` не передан (или передан пустой массив), будут использованы всевозможные значения.\n */\n@rootNode\nexport class TooltipMenu extends React.Component<TooltipMenuProps> {\n public static __KONTUR_REACT_UI__ = 'TooltipMenu';\n public static displayName = 'TooltipMenu';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(TooltipMenu.defaultProps);\n\n constructor(props: TooltipMenuProps) {\n super(props);\n\n if (!props.caption) {\n warning(false, 'Prop \"caption\" is required!!!');\n }\n }\n\n public render(): React.JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffsetX: theme.tooltipMenuPinOffsetX,\n popupPinOffsetY: theme.tooltipMenuPinOffsetY,\n popupMargin: theme.tooltipMenuMargin,\n popupPinSize: theme.tooltipMenuPinSize,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain(): React.JSX.Element | null {\n if (!this.props.caption) {\n return null;\n }\n\n const { disableAnimations } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n aria-label={this.props['aria-label']}\n data-tid={TooltipMenuDataTids.root}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n caption={this.props.caption}\n header={this.props.header}\n footer={this.props.footer}\n preventIconsOffset={this.props.preventIconsOffset}\n positions={this.props.positions}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n popupHasPin\n disableAnimations={disableAnimations}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useDrop.js","sourceRoot":"","sources":["../../hooks/useDrop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAejE,MAAM,CAAC,IAAM,OAAO,GAAG,UAAwC,KAAyB;IAAzB,sBAAA,EAAA,UAAyB;IAC9E,IAAA,MAAM,GAAK,KAAK,OAAV,CAAW;IAEzB,IAAM,YAAY,GAAG,MAAM,CAAW,IAAI,CAAC,CAAC;IAC5C,IAAM,OAAO,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IACvC,IAAM,OAAO,GAAG,MAAM,CAAY,SAAS,CAAC,CAAC;IACvC,IAAA,KAAgC,QAAQ,CAAU,KAAK,CAAC,EAAvD,WAAW,QAAA,EAAE,cAAc,QAA4B,CAAC;IAE/D,IAAM,UAAU,GAAG,WAAW,CAAC;QAC7B,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,cAAc,GAAG,WAAW,CAChC,UAAC,KAAgB;QACf,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,cAAc,CAAC,IAAI,CAAC,CAAC;QAErB,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC;YAC3B,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YACxB,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,IAAM,cAAc,GAAG,WAAW,CAAC,UAAC,KAAgB;QAClD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,UAAU,GAAG,WAAW,CAC5B,UAAC,KAAgB;QACf,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QAExB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,KAAK,CAAC,CAAC;IAClB,CAAC,EACD,CAAC,cAAc,EAAE,MAAM,CAAC,CACzB,CAAC;IAEF,SAAS,CAAC;QACR,IAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC;QAEjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QAED,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAClD,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAClD,GAAG,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACjD,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEzC,OAAO;YACL,GAAG,CAAC,mBAAmB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YACrD,GAAG,CAAC,mBAAmB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YACrD,GAAG,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YACpD,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;IAEjD,OAAO,EAAE,WAAW,aAAA,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AAC5C,CAAC,CAAC","sourcesContent":["import type { MutableRefObject } from 'react';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport type { SafeTimer } from '../lib/globalObject.js';\n\ninterface IUseDropProps {\n onDrop?: (event: DragEvent) => void;\n}\n\ntype IElementWithListener = Pick<HTMLElement, 'addEventListener' | 'removeEventListener'>;\n\ninterface IUseDropResult<TElement extends IElementWithListener> {\n isDraggable: boolean;\n ref: MutableRefObject<TElement | null>;\n}\n\nexport const useDrop = <TElement extends IElementWithListener>(props: IUseDropProps = {}): IUseDropResult<TElement> => {\n const { onDrop } = props;\n\n const droppableRef = useRef<TElement>(null);\n const overRef = useRef<boolean>(false);\n const timerId = useRef<SafeTimer>(undefined);\n const [isDraggable, setIsDraggable] = useState<boolean>(false);\n\n const clearTimer = useCallback(() => {\n timerId.current && clearTimeout(timerId.current);\n }, []);\n\n const handleDragOver = useCallback(\n (event: DragEvent) => {\n event.preventDefault();\n setIsDraggable(true);\n\n clearTimer();\n timerId.current = setTimeout(() => {\n overRef.current = false;\n setIsDraggable(false);\n }, 200);\n },\n [clearTimer],\n );\n\n const preventDefault = useCallback((event: DragEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n const handleDrop = useCallback(\n (event: DragEvent) => {\n preventDefault(event);\n setIsDraggable(false);\n overRef.current = false;\n\n onDrop?.(event);\n },\n [preventDefault, onDrop],\n );\n\n useEffect(() => {\n const ref = droppableRef.current;\n\n if (!ref) {\n return;\n }\n\n ref.addEventListener('dragenter', preventDefault);\n ref.addEventListener('dragleave', preventDefault);\n ref.addEventListener('dragover', handleDragOver);\n ref.addEventListener('drop', handleDrop);\n\n return () => {\n ref.removeEventListener('dragenter', preventDefault);\n ref.removeEventListener('dragleave', preventDefault);\n ref.removeEventListener('dragover', handleDragOver);\n ref.removeEventListener('drop', handleDrop);\n };\n }, [handleDrop, handleDragOver, preventDefault]);\n\n return { isDraggable, ref: droppableRef };\n};\n"]}
1
+ {"version":3,"file":"useDrop.js","sourceRoot":"","sources":["../../hooks/useDrop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAgBjE,MAAM,CAAC,IAAM,OAAO,GAAG,UAAwC,KAAyB;IAAzB,sBAAA,EAAA,UAAyB;IAC9E,IAAA,MAAM,GAAK,KAAK,OAAV,CAAW;IAEzB,IAAM,YAAY,GAAG,MAAM,CAAW,IAAI,CAAC,CAAC;IAC5C,IAAM,OAAO,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IACvC,IAAM,OAAO,GAAG,MAAM,CAAY,SAAS,CAAC,CAAC;IACvC,IAAA,KAAgC,QAAQ,CAAU,KAAK,CAAC,EAAvD,WAAW,QAAA,EAAE,cAAc,QAA4B,CAAC;IAE/D,IAAM,UAAU,GAAG,WAAW,CAAC;QAC7B,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,cAAc,GAAG,WAAW,CAChC,UAAC,KAAgB;QACf,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,cAAc,CAAC,IAAI,CAAC,CAAC;QAErB,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC;YAC3B,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YACxB,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,IAAM,cAAc,GAAG,WAAW,CAAC,UAAC,KAAgB;QAClD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,UAAU,GAAG,WAAW,CAC5B,UAAC,KAAgB;QACf,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QAExB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,KAAK,CAAC,CAAC;IAClB,CAAC,EACD,CAAC,cAAc,EAAE,MAAM,CAAC,CACzB,CAAC;IAEF,SAAS,CAAC;QACR,IAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC;QAEjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QAED,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAClD,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAClD,GAAG,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACjD,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEzC,OAAO;YACL,GAAG,CAAC,mBAAmB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YACrD,GAAG,CAAC,mBAAmB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YACrD,GAAG,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YACpD,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;IAEjD,OAAO,EAAE,WAAW,aAAA,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AAC5C,CAAC,CAAC","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport type { MutableRefObject } from 'react';\n\nimport type { SafeTimer } from '../lib/globalObject.js';\n\ninterface IUseDropProps {\n onDrop?: (event: DragEvent) => void;\n}\n\ntype IElementWithListener = Pick<HTMLElement, 'addEventListener' | 'removeEventListener'>;\n\ninterface IUseDropResult<TElement extends IElementWithListener> {\n isDraggable: boolean;\n ref: MutableRefObject<TElement | null>;\n}\n\nexport const useDrop = <TElement extends IElementWithListener>(props: IUseDropProps = {}): IUseDropResult<TElement> => {\n const { onDrop } = props;\n\n const droppableRef = useRef<TElement>(null);\n const overRef = useRef<boolean>(false);\n const timerId = useRef<SafeTimer>(undefined);\n const [isDraggable, setIsDraggable] = useState<boolean>(false);\n\n const clearTimer = useCallback(() => {\n timerId.current && clearTimeout(timerId.current);\n }, []);\n\n const handleDragOver = useCallback(\n (event: DragEvent) => {\n event.preventDefault();\n setIsDraggable(true);\n\n clearTimer();\n timerId.current = setTimeout(() => {\n overRef.current = false;\n setIsDraggable(false);\n }, 200);\n },\n [clearTimer],\n );\n\n const preventDefault = useCallback((event: DragEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n const handleDrop = useCallback(\n (event: DragEvent) => {\n preventDefault(event);\n setIsDraggable(false);\n overRef.current = false;\n\n onDrop?.(event);\n },\n [preventDefault, onDrop],\n );\n\n useEffect(() => {\n const ref = droppableRef.current;\n\n if (!ref) {\n return;\n }\n\n ref.addEventListener('dragenter', preventDefault);\n ref.addEventListener('dragleave', preventDefault);\n ref.addEventListener('dragover', handleDragOver);\n ref.addEventListener('drop', handleDrop);\n\n return () => {\n ref.removeEventListener('dragenter', preventDefault);\n ref.removeEventListener('dragleave', preventDefault);\n ref.removeEventListener('dragover', handleDragOver);\n ref.removeEventListener('drop', handleDrop);\n };\n }, [handleDrop, handleDragOver, preventDefault]);\n\n return { isDraggable, ref: droppableRef };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useEffectWithoutInitCall.js","sourceRoot":"","sources":["../../hooks/useEffectWithoutInitCall.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C,MAAM,CAAC,IAAM,wBAAwB,GAAG,UAAC,MAAkB,EAAE,IAAoB;IAC/E,IAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEnC,SAAS,CAAC;QACR,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,SAAS,CAAC;QACR,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,OAAO;YACL,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC","sourcesContent":["import type { DependencyList } from 'react';\nimport { useEffect, useRef } from 'react';\n\nexport const useEffectWithoutInitCall = (effect: () => void, deps: DependencyList): void => {\n const isMountedRef = useRef(false);\n\n useEffect(() => {\n if (isMountedRef.current) {\n effect();\n }\n }, deps);\n\n useEffect(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n};\n"]}
1
+ {"version":3,"file":"useEffectWithoutInitCall.js","sourceRoot":"","sources":["../../hooks/useEffectWithoutInitCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG1C,MAAM,CAAC,IAAM,wBAAwB,GAAG,UAAC,MAAkB,EAAE,IAAoB;IAC/E,IAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEnC,SAAS,CAAC;QACR,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,SAAS,CAAC;QACR,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,OAAO;YACL,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC","sourcesContent":["import { useEffect, useRef } from 'react';\nimport type { DependencyList } from 'react';\n\nexport const useEffectWithoutInitCall = (effect: () => void, deps: DependencyList): void => {\n const isMountedRef = useRef(false);\n\n useEffect(() => {\n if (isMountedRef.current) {\n effect();\n }\n }, deps);\n\n useEffect(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n};\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { AriaAttributes } from 'react';
2
2
  import React from 'react';
3
- import type { CommonProps } from '../CommonWrapper/index.js';
4
3
  import type { SizeProp } from '../../lib/types/props.js';
4
+ import type { CommonProps } from '../CommonWrapper/index.js';
5
5
  export interface ClearCrossIconProps extends Pick<AriaAttributes, 'aria-label'>, React.ButtonHTMLAttributes<HTMLButtonElement>, CommonProps {
6
6
  /** Ширина и высота иконки крестика
7
7
  * @default small */
@@ -21,8 +21,8 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  return t;
22
22
  };
23
23
  import React from 'react';
24
- import { useGlobal, useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';
25
24
  import { useKeyListener } from '../../lib/events/keyListener.js';
25
+ import { useEmotion, useGlobal, useStyles } from '../../lib/renderEnvironment/index.js';
26
26
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
27
27
  import { CommonWrapper } from '../CommonWrapper/index.js';
28
28
  import { getStyles } from './ClearCrossIcon.styles.js';
@@ -1 +1 @@
1
- {"version":3,"file":"ClearCrossIcon.js","sourceRoot":"","sources":["../../../internal/ClearCrossIcon/ClearCrossIcon.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport { useGlobal, useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { useKeyListener } from '../../lib/events/keyListener.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { CommonProps } from '../CommonWrapper/index.js';\nimport { CommonWrapper } from '../CommonWrapper/index.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { TokenSize } from '../../components/Token/index.js';\n\nimport { getStyles } from './ClearCrossIcon.styles.js';\nimport { CrossIcon } from './CrossIcon.js';\n\nexport interface ClearCrossIconProps\n extends Pick<AriaAttributes, 'aria-label'>,\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n CommonProps {\n /** Ширина и высота иконки крестика\n * @default small */\n size?: SizeProp;\n 'data-tid'?: string;\n}\n\nexport const ClearCrossIcon: React.FunctionComponent<ClearCrossIconProps> = ({\n size = 'small',\n style,\n 'data-tid': dataTid,\n ...rest\n}) => {\n const globalObject = useGlobal();\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const theme = React.useContext(ThemeContext);\n const keyListener = useKeyListener();\n const getSizeClassNames = (size: TokenSize) => {\n switch (size) {\n case 'large':\n return { button: styles.clearCrossLarge(theme), span: styles.relativeWidthLarge(theme) };\n case 'medium':\n return { button: styles.clearCrossMedium(theme), span: styles.relativeWidthMedium(theme) };\n case 'small':\n default:\n return { button: styles.clearCrossSmall(theme), span: styles.relativeWidthSmall(theme) };\n }\n };\n\n const [focusedByTab, setFocusedByTab] = React.useState<boolean>(false);\n\n const handleFocus = () => {\n // focus event fires before keyDown eventlistener so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n setFocusedByTab(true);\n }\n });\n };\n const handleBlur = () => setFocusedByTab(false);\n\n return (\n <CommonWrapper {...rest}>\n <span className={getSizeClassNames(size).span}>\n <button\n data-tid={dataTid}\n type=\"button\"\n tabIndex={-1}\n className={cx(\n styles.root(theme),\n // Todo: use &:focus-visible on root instead styles.focus. It supported on Chrome >= 86, Firefox >= 4, Safari >= 15.4\n focusedByTab && styles.focus(theme),\n getSizeClassNames(size).button,\n )}\n style={style}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...rest}\n >\n <CrossIcon size={size} focusable />\n </button>\n </span>\n </CommonWrapper>\n );\n};\n\nClearCrossIcon.__KONTUR_REACT_UI__ = 'ClearCrossIcon';\nClearCrossIcon.displayName = 'ClearCrossIcon';\n"]}
1
+ {"version":3,"file":"ClearCrossIcon.js","sourceRoot":"","sources":["../../../internal/ClearCrossIcon/ClearCrossIcon.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport type { TokenSize } from '../../components/Token/index.js';\nimport { useKeyListener } from '../../lib/events/keyListener.js';\nimport { useEmotion, useGlobal, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { CommonProps } from '../CommonWrapper/index.js';\nimport { CommonWrapper } from '../CommonWrapper/index.js';\nimport { getStyles } from './ClearCrossIcon.styles.js';\nimport { CrossIcon } from './CrossIcon.js';\n\nexport interface ClearCrossIconProps\n extends Pick<AriaAttributes, 'aria-label'>, React.ButtonHTMLAttributes<HTMLButtonElement>, CommonProps {\n /** Ширина и высота иконки крестика\n * @default small */\n size?: SizeProp;\n 'data-tid'?: string;\n}\n\nexport const ClearCrossIcon: React.FunctionComponent<ClearCrossIconProps> = ({\n size = 'small',\n style,\n 'data-tid': dataTid,\n ...rest\n}) => {\n const globalObject = useGlobal();\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const theme = React.useContext(ThemeContext);\n const keyListener = useKeyListener();\n const getSizeClassNames = (size: TokenSize) => {\n switch (size) {\n case 'large':\n return { button: styles.clearCrossLarge(theme), span: styles.relativeWidthLarge(theme) };\n case 'medium':\n return { button: styles.clearCrossMedium(theme), span: styles.relativeWidthMedium(theme) };\n case 'small':\n default:\n return { button: styles.clearCrossSmall(theme), span: styles.relativeWidthSmall(theme) };\n }\n };\n\n const [focusedByTab, setFocusedByTab] = React.useState<boolean>(false);\n\n const handleFocus = () => {\n // focus event fires before keyDown eventlistener so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n setFocusedByTab(true);\n }\n });\n };\n const handleBlur = () => setFocusedByTab(false);\n\n return (\n <CommonWrapper {...rest}>\n <span className={getSizeClassNames(size).span}>\n <button\n data-tid={dataTid}\n type=\"button\"\n tabIndex={-1}\n className={cx(\n styles.root(theme),\n // Todo: use &:focus-visible on root instead styles.focus. It supported on Chrome >= 86, Firefox >= 4, Safari >= 15.4\n focusedByTab && styles.focus(theme),\n getSizeClassNames(size).button,\n )}\n style={style}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...rest}\n >\n <CrossIcon size={size} focusable />\n </button>\n </span>\n </CommonWrapper>\n );\n};\n\nClearCrossIcon.__KONTUR_REACT_UI__ = 'ClearCrossIcon';\nClearCrossIcon.displayName = 'ClearCrossIcon';\n"]}
@@ -2,8 +2,8 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
2
2
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
3
  return cooked;
4
4
  };
5
- import { memoizeStyle } from '../../lib/theming/Emotion.js';
6
5
  import { resetButton } from '../../lib/styles/Mixins.js';
6
+ import { memoizeStyle } from '../../lib/theming/Emotion.js';
7
7
  export var getStyles = function (emotion) {
8
8
  return memoizeStyle({
9
9
  root: function (t) {
@@ -1 +1 @@
1
- {"version":3,"file":"ClearCrossIcon.styles.js","sourceRoot":"","sources":["../../../internal/ClearCrossIcon/ClearCrossIcon.styles.tsx"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,MAAM,CAAC,IAAM,SAAS,GAAG,UAAC,OAAgB;IACxC,OAAA,YAAY,CAAC;QACX,IAAI,YAAC,CAAQ;YACX,OAAO,OAAO,CAAC,GAAG,0WAAA,UAChB,EAAa,iBACN,EAAqB,qDAEV,EAAoB,GAAI,EAA0B,qCAE3D,EAA0B,2DAGlB,EAAqB,0EAG9B,EAAkB,iBACpB,EAAkB,SAC3B,KAbG,WAAW,EAAE,EACN,CAAC,CAAC,mBAAmB,EAEV,CAAC,CAAC,kBAAkB,EAAI,CAAC,CAAC,wBAAwB,EAE3D,CAAC,CAAC,wBAAwB,EAGlB,CAAC,CAAC,mBAAmB,EAG9B,CAAC,CAAC,gBAAgB,EACpB,CAAC,CAAC,gBAAgB,EAC1B;QACF,CAAC;QAED,KAAK,YAAC,CAAQ;YACZ,OAAO,OAAO,CAAC,GAAG,mGAAA,mBACP,EAA0B,WACpC,KADU,CAAC,CAAC,wBAAwB,EACnC;QACJ,CAAC;QAED,eAAe,YAAC,CAAQ;YACtB,OAAO,OAAO,CAAC,GAAG,gJAAA,iBACT,EAA0B,mBACzB,EAA2B,0BACpB,EAAiC,SACnD,KAHU,CAAC,CAAC,wBAAwB,EACzB,CAAC,CAAC,yBAAyB,EACpB,CAAC,CAAC,+BAA+B,EAClD;QACF,CAAC;QACD,gBAAgB,YAAC,CAAQ;YACvB,OAAO,OAAO,CAAC,GAAG,gJAAA,iBACT,EAA2B,mBAC1B,EAA4B,0BACrB,EAAkC,SACpD,KAHU,CAAC,CAAC,yBAAyB,EAC1B,CAAC,CAAC,0BAA0B,EACrB,CAAC,CAAC,gCAAgC,EACnD;QACF,CAAC;QACD,eAAe,YAAC,CAAQ;YACtB,OAAO,OAAO,CAAC,GAAG,gJAAA,iBACT,EAA0B,mBACzB,EAA2B,0BACpB,EAAiC,SACnD,KAHU,CAAC,CAAC,wBAAwB,EACzB,CAAC,CAAC,yBAAyB,EACpB,CAAC,CAAC,+BAA+B,EAClD;QACF,CAAC;QACD,kBAAkB,YAAC,CAAQ;YACzB,OAAO,OAAO,CAAC,GAAG,6HAAA,+CAET,EAAoB,SAC9B,KADU,CAAC,CAAC,kBAAkB,EAC7B;QACF,CAAC;QACD,mBAAmB,YAAC,CAAQ;YAC1B,OAAO,OAAO,CAAC,GAAG,6HAAA,+CAET,EAAqB,SAC/B,KADU,CAAC,CAAC,mBAAmB,EAC9B;QACF,CAAC;QACD,kBAAkB,YAAC,CAAQ;YACzB,OAAO,OAAO,CAAC,GAAG,6HAAA,+CAET,EAAoB,SAC9B,KADU,CAAC,CAAC,kBAAkB,EAC7B;QACF,CAAC;KACF,CAAC;AAhEF,CAgEE,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeStyle } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { resetButton } from '../../lib/styles/Mixins.js';\n\nexport const getStyles = (emotion: Emotion) =>\n memoizeStyle({\n root(t: Theme) {\n return emotion.css`\n ${resetButton()}\n color: ${t.clearCrossIconColor};\n cursor: pointer;\n transition: color ${t.transitionDuration} ${t.transitionTimingFunction};\n &:hover {\n color: ${t.clearCrossIconHoverColor};\n }\n display: flex;\n justify-content: ${t.clearCrossIconAlign};\n align-items: center;\n position: absolute;\n right: -${t.inputBorderWidth};\n top: -${t.inputBorderWidth};\n `;\n },\n\n focus(t: Theme) {\n return emotion.css`\n color: ${t.clearCrossIconHoverColor};\n `;\n },\n\n clearCrossSmall(t: Theme) {\n return emotion.css`\n width: ${t.clearCrossIconWidthSmall};\n height: ${t.clearCrossIconHeightSmall};\n border-radius: ${t.clearCrossIconBorderRadiusSmall};\n `;\n },\n clearCrossMedium(t: Theme) {\n return emotion.css`\n width: ${t.clearCrossIconWidthMedium};\n height: ${t.clearCrossIconHeightMedium};\n border-radius: ${t.clearCrossIconBorderRadiusMedium};\n `;\n },\n clearCrossLarge(t: Theme) {\n return emotion.css`\n width: ${t.clearCrossIconWidthLarge};\n height: ${t.clearCrossIconHeightLarge};\n border-radius: ${t.clearCrossIconBorderRadiusLarge};\n `;\n },\n relativeWidthSmall(t: Theme) {\n return emotion.css`\n display: inline-block;\n width: ${t.inputIconSizeSmall};\n `;\n },\n relativeWidthMedium(t: Theme) {\n return emotion.css`\n display: inline-block;\n width: ${t.inputIconSizeMedium};\n `;\n },\n relativeWidthLarge(t: Theme) {\n return emotion.css`\n display: inline-block;\n width: ${t.inputIconSizeLarge};\n `;\n },\n });\n"]}
1
+ {"version":3,"file":"ClearCrossIcon.styles.js","sourceRoot":"","sources":["../../../internal/ClearCrossIcon/ClearCrossIcon.styles.tsx"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,MAAM,CAAC,IAAM,SAAS,GAAG,UAAC,OAAgB;IACxC,OAAA,YAAY,CAAC;QACX,IAAI,YAAC,CAAQ;YACX,OAAO,OAAO,CAAC,GAAG,0WAAA,UAChB,EAAa,iBACN,EAAqB,qDAEV,EAAoB,GAAI,EAA0B,qCAE3D,EAA0B,2DAGlB,EAAqB,0EAG9B,EAAkB,iBACpB,EAAkB,SAC3B,KAbG,WAAW,EAAE,EACN,CAAC,CAAC,mBAAmB,EAEV,CAAC,CAAC,kBAAkB,EAAI,CAAC,CAAC,wBAAwB,EAE3D,CAAC,CAAC,wBAAwB,EAGlB,CAAC,CAAC,mBAAmB,EAG9B,CAAC,CAAC,gBAAgB,EACpB,CAAC,CAAC,gBAAgB,EAC1B;QACF,CAAC;QAED,KAAK,YAAC,CAAQ;YACZ,OAAO,OAAO,CAAC,GAAG,mGAAA,mBACP,EAA0B,WACpC,KADU,CAAC,CAAC,wBAAwB,EACnC;QACJ,CAAC;QAED,eAAe,YAAC,CAAQ;YACtB,OAAO,OAAO,CAAC,GAAG,gJAAA,iBACT,EAA0B,mBACzB,EAA2B,0BACpB,EAAiC,SACnD,KAHU,CAAC,CAAC,wBAAwB,EACzB,CAAC,CAAC,yBAAyB,EACpB,CAAC,CAAC,+BAA+B,EAClD;QACF,CAAC;QACD,gBAAgB,YAAC,CAAQ;YACvB,OAAO,OAAO,CAAC,GAAG,gJAAA,iBACT,EAA2B,mBAC1B,EAA4B,0BACrB,EAAkC,SACpD,KAHU,CAAC,CAAC,yBAAyB,EAC1B,CAAC,CAAC,0BAA0B,EACrB,CAAC,CAAC,gCAAgC,EACnD;QACF,CAAC;QACD,eAAe,YAAC,CAAQ;YACtB,OAAO,OAAO,CAAC,GAAG,gJAAA,iBACT,EAA0B,mBACzB,EAA2B,0BACpB,EAAiC,SACnD,KAHU,CAAC,CAAC,wBAAwB,EACzB,CAAC,CAAC,yBAAyB,EACpB,CAAC,CAAC,+BAA+B,EAClD;QACF,CAAC;QACD,kBAAkB,YAAC,CAAQ;YACzB,OAAO,OAAO,CAAC,GAAG,6HAAA,+CAET,EAAoB,SAC9B,KADU,CAAC,CAAC,kBAAkB,EAC7B;QACF,CAAC;QACD,mBAAmB,YAAC,CAAQ;YAC1B,OAAO,OAAO,CAAC,GAAG,6HAAA,+CAET,EAAqB,SAC/B,KADU,CAAC,CAAC,mBAAmB,EAC9B;QACF,CAAC;QACD,kBAAkB,YAAC,CAAQ;YACzB,OAAO,OAAO,CAAC,GAAG,6HAAA,+CAET,EAAoB,SAC9B,KADU,CAAC,CAAC,kBAAkB,EAC7B;QACF,CAAC;KACF,CAAC;AAhEF,CAgEE,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { resetButton } from '../../lib/styles/Mixins.js';\nimport { memoizeStyle } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = (emotion: Emotion) =>\n memoizeStyle({\n root(t: Theme) {\n return emotion.css`\n ${resetButton()}\n color: ${t.clearCrossIconColor};\n cursor: pointer;\n transition: color ${t.transitionDuration} ${t.transitionTimingFunction};\n &:hover {\n color: ${t.clearCrossIconHoverColor};\n }\n display: flex;\n justify-content: ${t.clearCrossIconAlign};\n align-items: center;\n position: absolute;\n right: -${t.inputBorderWidth};\n top: -${t.inputBorderWidth};\n `;\n },\n\n focus(t: Theme) {\n return emotion.css`\n color: ${t.clearCrossIconHoverColor};\n `;\n },\n\n clearCrossSmall(t: Theme) {\n return emotion.css`\n width: ${t.clearCrossIconWidthSmall};\n height: ${t.clearCrossIconHeightSmall};\n border-radius: ${t.clearCrossIconBorderRadiusSmall};\n `;\n },\n clearCrossMedium(t: Theme) {\n return emotion.css`\n width: ${t.clearCrossIconWidthMedium};\n height: ${t.clearCrossIconHeightMedium};\n border-radius: ${t.clearCrossIconBorderRadiusMedium};\n `;\n },\n clearCrossLarge(t: Theme) {\n return emotion.css`\n width: ${t.clearCrossIconWidthLarge};\n height: ${t.clearCrossIconHeightLarge};\n border-radius: ${t.clearCrossIconBorderRadiusLarge};\n `;\n },\n relativeWidthSmall(t: Theme) {\n return emotion.css`\n display: inline-block;\n width: ${t.inputIconSizeSmall};\n `;\n },\n relativeWidthMedium(t: Theme) {\n return emotion.css`\n display: inline-block;\n width: ${t.inputIconSizeMedium};\n `;\n },\n relativeWidthLarge(t: Theme) {\n return emotion.css`\n display: inline-block;\n width: ${t.inputIconSizeLarge};\n `;\n },\n });\n"]}
@@ -21,12 +21,12 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  return t;
22
22
  };
23
23
  import React from 'react';
24
- import { useGlobal, useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';
25
24
  import { useKeyListener } from '../../lib/events/keyListener.js';
25
+ import { useEmotion, useGlobal, useStyles } from '../../lib/renderEnvironment/index.js';
26
26
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
27
- import { DEFAULT_ICON_SIZE } from '../icons2022/iconConstants.js';
28
27
  import { ThemeFactory } from '../../lib/theming/ThemeFactory.js';
29
28
  import { CommonWrapper } from '../CommonWrapper/index.js';
29
+ import { DEFAULT_ICON_SIZE } from '../icons2022/iconConstants.js';
30
30
  import { getStyles } from './CloseButtonIcon.styles.js';
31
31
  import { CrossIcon } from './CrossIcon.js';
32
32
  export var CloseButtonIcon = function (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"CloseButtonIcon.js","sourceRoot":"","sources":["../../../internal/CloseButtonIcon/CloseButtonIcon.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAsC3C,MAAM,CAAC,IAAM,eAAe,GAAkD,UAAC,EAQ9E;IAPC,IAAA,YAAwB,EAAxB,IAAI,mBAAG,iBAAiB,KAAA,EACxB,YAAwB,EAAxB,IAAI,mBAAG,iBAAiB,KAAA,EACxB,KAAK,WAAA,EACL,UAAU,gBAAA,EACV,gBAAe,EAAf,QAAQ,mBAAG,IAAI,KAAA,EACf,KAAK,WAAA,EACF,IAAI,cAPsE,4DAQ9E,CADQ;IAEP,IAAM,YAAY,GAAG,SAAS,EAAE,CAAC;IACzB,IAAA,EAAE,GAAK,UAAU,EAAE,GAAjB,CAAkB;IAC5B,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,IAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC9C,IAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAC/B;QACE,iBAAiB,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,MAAM,CAAC,iBAAiB;QACpD,sBAAsB,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,MAAM,CAAC,sBAAsB;KACpE,EACD,MAAM,CACP,CAAC;IACF,IAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAC/B,IAAA,KAAkC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAtD,YAAY,QAAA,EAAE,eAAe,QAAyB,CAAC;IAE9D,IAAM,WAAW,GAAG;;QAClB,iDAAiD;QACjD,6CAA6C;QAC7C,MAAA,YAAY,CAAC,qBAAqB,6DAAG;YACnC,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;gBAC7B,eAAe,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,IAAM,UAAU,GAAG,cAAM,OAAA,eAAe,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC;IAEhD,IAAM,QAAQ,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,OAAO,CACL,oBAAC,aAAa,eAAK,IAAI;QACrB,yCACE,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAClB,CAAC,IAAI,CAAC,QAAQ,IAAI,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EACrD,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAC5C,EACD,KAAK,wBAAO,KAAK,KAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,KAC5C,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,IACd,IAAI;YAER,8BAAM,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE;gBAC/B,oBAAC,SAAS,IAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC,GAAI,CACnE,CACA,CACK,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,CAAC,mBAAmB,GAAG,iBAAiB,CAAC;AACxD,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC","sourcesContent":["import type { AriaAttributes, CSSProperties } from 'react';\nimport React from 'react';\n\nimport { useGlobal, useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { useKeyListener } from '../../lib/events/keyListener.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { DEFAULT_ICON_SIZE } from '../icons2022/iconConstants.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport type { CommonProps } from '../CommonWrapper/index.js';\nimport { CommonWrapper } from '../CommonWrapper/index.js';\n\nimport { getStyles } from './CloseButtonIcon.styles.js';\nimport { CrossIcon } from './CrossIcon.js';\n\nexport interface CloseButtonIconProps\n extends Pick<AriaAttributes, 'aria-label'>,\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n CommonProps {\n /**\n * Ширина и высота иконки крестика\n *\n * @default 16\n */\n size?: number;\n /**\n * Ширина и высота всей кнопки\n *\n * @default 16\n */\n side?: number;\n /**\n * Цвет иконки\n *\n * Переменная темы: `closeBtnIconColor`\n */\n color?: CSSProperties['color'];\n /**\n * Цвет иконки при наведении мышью и при фокусе\n *\n * Переменная темы: `closeBtnIconHoverColor`\n */\n colorHover?: CSSProperties['color'];\n /**\n * Возможность сфокусироваться на кнопке клавишей TAB\n *\n * @default true\n * */\n tabbable?: boolean;\n}\n\nexport const CloseButtonIcon: React.FunctionComponent<CloseButtonIconProps> = ({\n side = DEFAULT_ICON_SIZE,\n size = DEFAULT_ICON_SIZE,\n color,\n colorHover,\n tabbable = true,\n style,\n ...rest\n}) => {\n const globalObject = useGlobal();\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const _theme = React.useContext(ThemeContext);\n const theme = ThemeFactory.create(\n {\n closeBtnIconColor: color ?? _theme.closeBtnIconColor,\n closeBtnIconHoverColor: colorHover ?? _theme.closeBtnIconHoverColor,\n },\n _theme,\n );\n const keyListener = useKeyListener();\n const [focusedByTab, setFocusedByTab] = React.useState(false);\n\n const handleFocus = () => {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n setFocusedByTab(true);\n }\n });\n };\n const handleBlur = () => setFocusedByTab(false);\n\n const tabIndex = !tabbable || rest.disabled ? -1 : 0;\n\n return (\n <CommonWrapper {...rest}>\n <button\n tabIndex={tabIndex}\n className={cx(\n styles.root(theme),\n !rest.disabled && focusedByTab && styles.focus(theme),\n rest.disabled && styles.rootDisabled(theme),\n )}\n style={{ ...style, width: side, height: side }}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...rest}\n >\n <span className={styles.wrapper()}>\n <CrossIcon size={side < size ? side : size} focusable={tabIndex >= 0} />\n </span>\n </button>\n </CommonWrapper>\n );\n};\n\nCloseButtonIcon.__KONTUR_REACT_UI__ = 'CloseButtonIcon';\nCloseButtonIcon.displayName = 'CloseButtonIcon';\n"]}
1
+ {"version":3,"file":"CloseButtonIcon.js","sourceRoot":"","sources":["../../../internal/CloseButtonIcon/CloseButtonIcon.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes, CSSProperties } from 'react';\nimport React from 'react';\n\nimport { useKeyListener } from '../../lib/events/keyListener.js';\nimport { useEmotion, useGlobal, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport type { CommonProps } from '../CommonWrapper/index.js';\nimport { CommonWrapper } from '../CommonWrapper/index.js';\nimport { DEFAULT_ICON_SIZE } from '../icons2022/iconConstants.js';\nimport { getStyles } from './CloseButtonIcon.styles.js';\nimport { CrossIcon } from './CrossIcon.js';\n\nexport interface CloseButtonIconProps\n extends Pick<AriaAttributes, 'aria-label'>, React.ButtonHTMLAttributes<HTMLButtonElement>, CommonProps {\n /**\n * Ширина и высота иконки крестика\n *\n * @default 16\n */\n size?: number;\n /**\n * Ширина и высота всей кнопки\n *\n * @default 16\n */\n side?: number;\n /**\n * Цвет иконки\n *\n * Переменная темы: `closeBtnIconColor`\n */\n color?: CSSProperties['color'];\n /**\n * Цвет иконки при наведении мышью и при фокусе\n *\n * Переменная темы: `closeBtnIconHoverColor`\n */\n colorHover?: CSSProperties['color'];\n /**\n * Возможность сфокусироваться на кнопке клавишей TAB\n *\n * @default true\n * */\n tabbable?: boolean;\n}\n\nexport const CloseButtonIcon: React.FunctionComponent<CloseButtonIconProps> = ({\n side = DEFAULT_ICON_SIZE,\n size = DEFAULT_ICON_SIZE,\n color,\n colorHover,\n tabbable = true,\n style,\n ...rest\n}) => {\n const globalObject = useGlobal();\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const _theme = React.useContext(ThemeContext);\n const theme = ThemeFactory.create(\n {\n closeBtnIconColor: color ?? _theme.closeBtnIconColor,\n closeBtnIconHoverColor: colorHover ?? _theme.closeBtnIconHoverColor,\n },\n _theme,\n );\n const keyListener = useKeyListener();\n const [focusedByTab, setFocusedByTab] = React.useState(false);\n\n const handleFocus = () => {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n setFocusedByTab(true);\n }\n });\n };\n const handleBlur = () => setFocusedByTab(false);\n\n const tabIndex = !tabbable || rest.disabled ? -1 : 0;\n\n return (\n <CommonWrapper {...rest}>\n <button\n tabIndex={tabIndex}\n className={cx(\n styles.root(theme),\n !rest.disabled && focusedByTab && styles.focus(theme),\n rest.disabled && styles.rootDisabled(theme),\n )}\n style={{ ...style, width: side, height: side }}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...rest}\n >\n <span className={styles.wrapper()}>\n <CrossIcon size={side < size ? side : size} focusable={tabIndex >= 0} />\n </span>\n </button>\n </CommonWrapper>\n );\n};\n\nCloseButtonIcon.__KONTUR_REACT_UI__ = 'CloseButtonIcon';\nCloseButtonIcon.displayName = 'CloseButtonIcon';\n"]}
@@ -2,8 +2,8 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
2
2
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
3
  return cooked;
4
4
  };
5
- import { memoizeStyle } from '../../lib/theming/Emotion.js';
6
5
  import { resetButton } from '../../lib/styles/Mixins.js';
6
+ import { memoizeStyle } from '../../lib/theming/Emotion.js';
7
7
  export var getStyles = function (emotion) {
8
8
  return memoizeStyle({
9
9
  root: function (t) {
@@ -1 +1 @@
1
- {"version":3,"file":"CloseButtonIcon.styles.js","sourceRoot":"","sources":["../../../internal/CloseButtonIcon/CloseButtonIcon.styles.tsx"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,MAAM,CAAC,IAAM,SAAS,GAAG,UAAC,OAAgB;IACxC,OAAA,YAAY,CAAC;QACX,IAAI,YAAC,CAAQ;YACX,OAAO,OAAO,CAAC,GAAG,sWAAA,YACd,EAAa,wFAGE,EAA0B,oBAClC,EAAmB,yDAER,EAAoB,GAAI,EAA0B,6EAI3D,EAAwB,sBAEpC,KAZG,WAAW,EAAE,EAGE,CAAC,CAAC,wBAAwB,EAClC,CAAC,CAAC,iBAAiB,EAER,CAAC,CAAC,kBAAkB,EAAI,CAAC,CAAC,wBAAwB,EAI3D,CAAC,CAAC,sBAAsB,EAEnC;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,OAAO,CAAC,GAAG,mGAAA,mBACP,EAA2B,WACrC,KADU,CAAC,CAAC,yBAAyB,EACpC;QACJ,CAAC;QACD,KAAK,YAAC,CAAQ;YACZ,OAAO,OAAO,CAAC,GAAG,wGAAA,wBACF,EAAyB,WACxC,KADe,CAAC,CAAC,uBAAuB,EACvC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,OAAO,CAAC,GAAG,mRAAA,gNAQjB,KAAC;QACJ,CAAC;KACF,CAAC;AAtCF,CAsCE,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeStyle } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { resetButton } from '../../lib/styles/Mixins.js';\n\nexport const getStyles = (emotion: Emotion) =>\n memoizeStyle({\n root(t: Theme) {\n return emotion.css`\n ${resetButton()}\n display: inline-block;\n position: relative;\n border-radius: ${t.closeBtnIconBorderRadius};\n color: ${t.closeBtnIconColor};\n cursor: pointer;\n transition: color ${t.transitionDuration} ${t.transitionTimingFunction};\n\n &:enabled:focus,\n &:enabled:hover {\n color: ${t.closeBtnIconHoverColor};\n }\n `;\n },\n rootDisabled(t: Theme) {\n return emotion.css`\n color: ${t.closeBtnIconDisabledColor};\n `;\n },\n focus(t: Theme) {\n return emotion.css`\n box-shadow: ${t.closeBtnIconFocusShadow};\n `;\n },\n wrapper() {\n return emotion.css`\n box-sizing: content-box;\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n `;\n },\n });\n"]}
1
+ {"version":3,"file":"CloseButtonIcon.styles.js","sourceRoot":"","sources":["../../../internal/CloseButtonIcon/CloseButtonIcon.styles.tsx"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,MAAM,CAAC,IAAM,SAAS,GAAG,UAAC,OAAgB;IACxC,OAAA,YAAY,CAAC;QACX,IAAI,YAAC,CAAQ;YACX,OAAO,OAAO,CAAC,GAAG,sWAAA,YACd,EAAa,wFAGE,EAA0B,oBAClC,EAAmB,yDAER,EAAoB,GAAI,EAA0B,6EAI3D,EAAwB,sBAEpC,KAZG,WAAW,EAAE,EAGE,CAAC,CAAC,wBAAwB,EAClC,CAAC,CAAC,iBAAiB,EAER,CAAC,CAAC,kBAAkB,EAAI,CAAC,CAAC,wBAAwB,EAI3D,CAAC,CAAC,sBAAsB,EAEnC;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,OAAO,CAAC,GAAG,mGAAA,mBACP,EAA2B,WACrC,KADU,CAAC,CAAC,yBAAyB,EACpC;QACJ,CAAC;QACD,KAAK,YAAC,CAAQ;YACZ,OAAO,OAAO,CAAC,GAAG,wGAAA,wBACF,EAAyB,WACxC,KADe,CAAC,CAAC,uBAAuB,EACvC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,OAAO,CAAC,GAAG,mRAAA,gNAQjB,KAAC;QACJ,CAAC;KACF,CAAC;AAtCF,CAsCE,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { resetButton } from '../../lib/styles/Mixins.js';\nimport { memoizeStyle } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = (emotion: Emotion) =>\n memoizeStyle({\n root(t: Theme) {\n return emotion.css`\n ${resetButton()}\n display: inline-block;\n position: relative;\n border-radius: ${t.closeBtnIconBorderRadius};\n color: ${t.closeBtnIconColor};\n cursor: pointer;\n transition: color ${t.transitionDuration} ${t.transitionTimingFunction};\n\n &:enabled:focus,\n &:enabled:hover {\n color: ${t.closeBtnIconHoverColor};\n }\n `;\n },\n rootDisabled(t: Theme) {\n return emotion.css`\n color: ${t.closeBtnIconDisabledColor};\n `;\n },\n focus(t: Theme) {\n return emotion.css`\n box-shadow: ${t.closeBtnIconFocusShadow};\n `;\n },\n wrapper() {\n return emotion.css`\n box-sizing: content-box;\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n `;\n },\n });\n"]}
@@ -42,11 +42,11 @@ var __rest = (this && this.__rest) || function (s, e) {
42
42
  return t;
43
43
  };
44
44
  import React from 'react';
45
- import { isFunction, isRefableElement } from '../../lib/utils.js';
46
- import { getRootNode, isInstanceWithRootNode, rootNode } from '../../lib/rootNode/index.js';
47
45
  import { callChildRef } from '../../lib/callChildRef/callChildRef.js';
48
46
  import { getElementRef } from '../../lib/getElementRef.js';
49
47
  import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
48
+ import { getRootNode, isInstanceWithRootNode, rootNode } from '../../lib/rootNode/index.js';
49
+ import { isFunction, isRefableElement } from '../../lib/utils.js';
50
50
  import { extractCommonProps } from './utils/extractCommonProps.js';
51
51
  import { getCommonVisualStateDataAttributes } from './utils/getCommonVisualStateDataAttributes.js';
52
52
  var CommonWrapper = /** @class */ (function (_super) {
@@ -1 +1 @@
1
- {"version":3,"file":"CommonWrapper.js","sourceRoot":"","sources":["../../../internal/CommonWrapper/CommonWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { isFunction, isRefableElement } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport type { TGetRootNode, TRootNodeSubscription, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { getRootNode, isInstanceWithRootNode, rootNode } from '../../lib/rootNode/index.js';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef.js';\nimport { getElementRef } from '../../lib/getElementRef.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\n\nimport type { CommonProps, CommonPropsRootNodeRef, CommonWrapperProps } from './types.js';\nimport { extractCommonProps } from './utils/extractCommonProps.js';\nimport { getCommonVisualStateDataAttributes } from './utils/getCommonVisualStateDataAttributes.js';\n\nexport type CommonPropsWithRootNodeRef = CommonProps & CommonPropsRootNodeRef;\n\n@withRenderEnvironment\n@rootNode\nexport class CommonWrapper<P extends CommonPropsWithRootNodeRef> extends React.Component<\n CommonWrapperProps<P> & CommonPropsRootNodeRef\n> {\n public static __KONTUR_REACT_UI__ = 'CommonWrapper';\n public static displayName = 'CommonWrapper';\n\n private cx!: Emotion['cx'];\n private child: React.ReactNode;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private rootNodeSubscription: Nullable<TRootNodeSubscription> = null;\n\n render() {\n const [{ className, style, children, rootNodeRef, ...dataProps }, { ...rest }] = extractCommonProps(this.props);\n this.child = isFunction(children) ? children(rest) : children;\n\n const getChildProps = (child: React.ReactElement<CommonProps & React.RefAttributes<any>>) => {\n const childProps: Record<string, unknown> = {\n ...getCommonVisualStateDataAttributes(rest),\n ...dataProps,\n };\n\n isRefableElement(child) && (childProps.ref = this.ref);\n\n const classNames: string = this.cx(child.props.className, className);\n classNames && (childProps.className = classNames);\n\n const styles: React.CSSProperties = { ...child.props.style, ...style };\n Object.keys(styles).length && (childProps.style = styles);\n\n return childProps;\n };\n\n return React.isValidElement<CommonProps & React.RefAttributes<any>>(this.child)\n ? React.cloneElement(this.child, getChildProps(this.child))\n : this.child;\n }\n\n private ref = (instance: Nullable<React.ReactInstance>) => {\n this.setRootNode(instance);\n this.props.rootNodeRef?.(getRootNode(instance));\n\n // refs are called when instances change,\n // so we have to renew or remove old subscription\n this.rootNodeSubscription?.remove();\n this.rootNodeSubscription = null;\n\n if (instance && isInstanceWithRootNode(instance)) {\n this.rootNodeSubscription = instance.addRootNodeChangeListener?.((node) => {\n this.setRootNode(node);\n this.props.rootNodeRef?.(node);\n });\n }\n\n const originalRef = getElementRef(this.child as React.ReactElement);\n if (typeof originalRef === 'function' || (originalRef && typeof originalRef === 'object')) {\n originalRef && callChildRef(originalRef, instance);\n }\n };\n}\n"]}
1
+ {"version":3,"file":"CommonWrapper.js","sourceRoot":"","sources":["../../../internal/CommonWrapper/CommonWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React from 'react';\n\nimport { callChildRef } from '../../lib/callChildRef/callChildRef.js';\nimport { getElementRef } from '../../lib/getElementRef.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TRootNodeSubscription, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { getRootNode, isInstanceWithRootNode, rootNode } from '../../lib/rootNode/index.js';\nimport { isFunction, isRefableElement } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport type { CommonProps, CommonPropsRootNodeRef, CommonWrapperProps } from './types.js';\nimport { extractCommonProps } from './utils/extractCommonProps.js';\nimport { getCommonVisualStateDataAttributes } from './utils/getCommonVisualStateDataAttributes.js';\n\nexport type CommonPropsWithRootNodeRef = CommonProps & CommonPropsRootNodeRef;\n\n@withRenderEnvironment\n@rootNode\nexport class CommonWrapper<P extends CommonPropsWithRootNodeRef> extends React.Component<\n CommonWrapperProps<P> & CommonPropsRootNodeRef\n> {\n public static __KONTUR_REACT_UI__ = 'CommonWrapper';\n public static displayName = 'CommonWrapper';\n\n private cx!: Emotion['cx'];\n private child: React.ReactNode;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private rootNodeSubscription: Nullable<TRootNodeSubscription> = null;\n\n render() {\n const [{ className, style, children, rootNodeRef, ...dataProps }, { ...rest }] = extractCommonProps(this.props);\n this.child = isFunction(children) ? children(rest) : children;\n\n const getChildProps = (child: React.ReactElement<CommonProps & React.RefAttributes<any>>) => {\n const childProps: Record<string, unknown> = {\n ...getCommonVisualStateDataAttributes(rest),\n ...dataProps,\n };\n\n isRefableElement(child) && (childProps.ref = this.ref);\n\n const classNames: string = this.cx(child.props.className, className);\n classNames && (childProps.className = classNames);\n\n const styles: React.CSSProperties = { ...child.props.style, ...style };\n Object.keys(styles).length && (childProps.style = styles);\n\n return childProps;\n };\n\n return React.isValidElement<CommonProps & React.RefAttributes<any>>(this.child)\n ? React.cloneElement(this.child, getChildProps(this.child))\n : this.child;\n }\n\n private ref = (instance: Nullable<React.ReactInstance>) => {\n this.setRootNode(instance);\n this.props.rootNodeRef?.(getRootNode(instance));\n\n // refs are called when instances change,\n // so we have to renew or remove old subscription\n this.rootNodeSubscription?.remove();\n this.rootNodeSubscription = null;\n\n if (instance && isInstanceWithRootNode(instance)) {\n this.rootNodeSubscription = instance.addRootNodeChangeListener?.((node) => {\n this.setRootNode(node);\n this.props.rootNodeRef?.(node);\n });\n }\n\n const originalRef = getElementRef(this.child as React.ReactElement);\n if (typeof originalRef === 'function' || (originalRef && typeof originalRef === 'object')) {\n originalRef && callChildRef(originalRef, instance);\n }\n };\n}\n"]}
@@ -1,3 +1,3 @@
1
- import type { NotCommonProps } from '../types.js';
2
1
  import type { CommonPropsWithRootNodeRef } from '../CommonWrapper.js';
2
+ import type { NotCommonProps } from '../types.js';
3
3
  export declare const extractCommonProps: <P extends CommonPropsWithRootNodeRef>(props: P) => [CommonPropsWithRootNodeRef, NotCommonProps<P>];
@@ -1 +1 @@
1
- {"version":3,"file":"extractCommonProps.js","sourceRoot":"","sources":["../../../../internal/CommonWrapper/utils/extractCommonProps.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAChC,KAAQ;IAER,IAAM,MAAM,GAAG,EAAgC,CAAC;IAChD,IAAM,IAAI,GAAG,EAAuB,CAAC;IAErC,KAAK,IAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,YAAY,CAAC,IAAwC,CAAC,EAAE,CAAC;YAC3D,4KAA4K;YAC5K,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,IAAM,YAAY,GAAG,UAAC,IAAsC;IAC1D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI,KAAK,WAAW,CAAC;QAC1B,KAAK,IAAI,KAAK,OAAO,CAAC;QACtB,KAAK,IAAI,KAAK,aAAa,CAAC;QAC5B,KAAK,IAAI,KAAK,UAAU,CAAC;QACzB,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,oBAAoB;YACpD,OAAO,IAAI,CAAC;QACd;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC,CAAC","sourcesContent":["import type { NotCommonProps } from '../types.js';\nimport type { CommonPropsWithRootNodeRef } from '../CommonWrapper.js';\n\nexport const extractCommonProps = <P extends CommonPropsWithRootNodeRef>(\n props: P,\n): [CommonPropsWithRootNodeRef, NotCommonProps<P>] => {\n const common = {} as CommonPropsWithRootNodeRef;\n const rest = {} as NotCommonProps<P>;\n\n for (const prop in props) {\n if (isCommonProp(prop as keyof CommonPropsWithRootNodeRef)) {\n // @ts-expect-error: See: https://github.com/skbkontur/retail-ui/pull/2257#discussion_r565275843 and https://github.com/skbkontur/retail-ui/pull/2257#discussion_r569542736.\n common[prop] = props[prop];\n } else {\n // @ts-expect-error: Read the comment above.\n rest[prop] = props[prop];\n }\n }\n\n return [common, rest];\n};\n\nconst isCommonProp = (prop: keyof CommonPropsWithRootNodeRef) => {\n switch (true) {\n case prop === 'className':\n case prop === 'style':\n case prop === 'rootNodeRef':\n case prop === 'children':\n case prop.indexOf('data-') === 0: // все data-атрибуты\n return true;\n default:\n return false;\n }\n};\n"]}
1
+ {"version":3,"file":"extractCommonProps.js","sourceRoot":"","sources":["../../../../internal/CommonWrapper/utils/extractCommonProps.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAChC,KAAQ;IAER,IAAM,MAAM,GAAG,EAAgC,CAAC;IAChD,IAAM,IAAI,GAAG,EAAuB,CAAC;IAErC,KAAK,IAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,YAAY,CAAC,IAAwC,CAAC,EAAE,CAAC;YAC3D,4KAA4K;YAC5K,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,IAAM,YAAY,GAAG,UAAC,IAAsC;IAC1D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI,KAAK,WAAW,CAAC;QAC1B,KAAK,IAAI,KAAK,OAAO,CAAC;QACtB,KAAK,IAAI,KAAK,aAAa,CAAC;QAC5B,KAAK,IAAI,KAAK,UAAU,CAAC;QACzB,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,oBAAoB;YACpD,OAAO,IAAI,CAAC;QACd;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC,CAAC","sourcesContent":["import type { CommonPropsWithRootNodeRef } from '../CommonWrapper.js';\nimport type { NotCommonProps } from '../types.js';\n\nexport const extractCommonProps = <P extends CommonPropsWithRootNodeRef>(\n props: P,\n): [CommonPropsWithRootNodeRef, NotCommonProps<P>] => {\n const common = {} as CommonPropsWithRootNodeRef;\n const rest = {} as NotCommonProps<P>;\n\n for (const prop in props) {\n if (isCommonProp(prop as keyof CommonPropsWithRootNodeRef)) {\n // @ts-expect-error: See: https://github.com/skbkontur/retail-ui/pull/2257#discussion_r565275843 and https://github.com/skbkontur/retail-ui/pull/2257#discussion_r569542736.\n common[prop] = props[prop];\n } else {\n // @ts-expect-error: Read the comment above.\n rest[prop] = props[prop];\n }\n }\n\n return [common, rest];\n};\n\nconst isCommonProp = (prop: keyof CommonPropsWithRootNodeRef) => {\n switch (true) {\n case prop === 'className':\n case prop === 'style':\n case prop === 'rootNodeRef':\n case prop === 'children':\n case prop.indexOf('data-') === 0: // все data-атрибуты\n return true;\n default:\n return false;\n }\n};\n"]}