@skbkontur/react-ui 5.4.7-7ccf0.0 → 5.4.7-a27a4.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 (281) hide show
  1. package/cjs/components/Button/Button.d.ts +1 -0
  2. package/cjs/components/Button/Button.js.map +1 -1
  3. package/cjs/components/Calendar/Calendar.d.ts +1 -1
  4. package/cjs/components/Calendar/Calendar.js.map +1 -1
  5. package/cjs/components/DateInput/DateFragmentsView.d.ts +2 -2
  6. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  7. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +2 -2
  8. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  9. package/cjs/components/DateRangePicker/DateRangePickerContext.d.ts +3 -3
  10. package/cjs/components/DateRangePicker/DateRangePickerContext.js.map +1 -1
  11. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  12. package/cjs/components/Dropdown/Dropdown.d.ts +4 -4
  13. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  14. package/cjs/components/DropdownMenu/DropdownMenu.js +3 -1
  15. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  16. package/cjs/components/FileUploader/FileUploader.d.ts +1 -1
  17. package/cjs/components/FileUploader/FileUploaderFile.js.map +1 -1
  18. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +3 -2
  19. package/cjs/components/GlobalLoader/GlobalLoaderView.js +49 -50
  20. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  21. package/cjs/components/Input/Input.d.ts +2 -2
  22. package/cjs/components/Input/Input.js.map +1 -1
  23. package/cjs/components/Input/InputLayout/InputLayout.d.ts +3 -1
  24. package/cjs/components/Input/InputLayout/InputLayout.js +2 -1
  25. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  26. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +6 -4
  27. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  28. package/cjs/components/Kebab/Kebab.d.ts +1 -1
  29. package/cjs/components/Kebab/Kebab.js.map +1 -1
  30. package/cjs/components/Link/Link.d.ts +1 -1
  31. package/cjs/components/Link/Link.js.map +1 -1
  32. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -1
  33. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +1 -1
  34. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  35. package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -1
  36. package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  37. package/cjs/components/MaskedInput/MaskedInput.js +2 -2
  38. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  39. package/cjs/components/MenuItem/MenuItem.d.ts +1 -1
  40. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  41. package/cjs/components/Modal/Modal.d.ts +4 -1
  42. package/cjs/components/Modal/Modal.js +8 -3
  43. package/cjs/components/Modal/Modal.js.map +1 -1
  44. package/cjs/components/Modal/ModalBody.d.ts +2 -2
  45. package/cjs/components/Modal/ModalBody.js.map +1 -1
  46. package/cjs/components/Paging/Paging.d.ts +2 -2
  47. package/cjs/components/Paging/Paging.js.map +1 -1
  48. package/cjs/components/PasswordInput/PasswordInput.d.ts +1 -1
  49. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  50. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -2
  51. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  52. package/cjs/components/ResponsiveLayout/decorator.d.ts +0 -3
  53. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -1
  54. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  55. package/cjs/components/Select/Select.d.ts +1 -1
  56. package/cjs/components/Select/Select.js.map +1 -1
  57. package/cjs/components/SidePage/SidePage.d.ts +5 -2
  58. package/cjs/components/SidePage/SidePage.js +9 -3
  59. package/cjs/components/SidePage/SidePage.js.map +1 -1
  60. package/cjs/components/SidePage/SidePageFooter.d.ts +1 -1
  61. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  62. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -1
  63. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  64. package/cjs/components/SingleToast/SingleToast.d.ts +1 -1
  65. package/cjs/components/Sticky/Sticky.js +6 -2
  66. package/cjs/components/Sticky/Sticky.js.map +1 -1
  67. package/cjs/components/Tabs/Tabs.d.ts +1 -1
  68. package/cjs/components/Tabs/Tabs.js.map +1 -1
  69. package/cjs/components/Token/TokenView.d.ts +2 -1
  70. package/cjs/components/Token/TokenView.js +4 -4
  71. package/cjs/components/Token/TokenView.js.map +1 -1
  72. package/cjs/components/TokenInput/TextWidthHelper.js +3 -1
  73. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  74. package/cjs/components/TokenInput/TokenInput.js +14 -7
  75. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  76. package/cjs/components/Tooltip/Tooltip.d.ts +4 -4
  77. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  78. package/cjs/hooks/useDrop.js +1 -1
  79. package/cjs/hooks/useDrop.js.map +1 -1
  80. package/cjs/internal/CommonWrapper/CommonWrapper.js +3 -2
  81. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  82. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +3 -6
  83. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +84 -83
  84. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  85. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  86. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +11 -12
  87. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  88. package/cjs/internal/FocusControlWrapper/FocusControlWrapper.d.ts +5 -6
  89. package/cjs/internal/FocusControlWrapper/FocusControlWrapper.js +28 -23
  90. package/cjs/internal/FocusControlWrapper/FocusControlWrapper.js.map +1 -1
  91. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
  92. package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -2
  93. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  94. package/cjs/internal/Menu/Menu.js +6 -2
  95. package/cjs/internal/Menu/Menu.js.map +1 -1
  96. package/cjs/internal/Menu/MenuNavigation.d.ts +1 -1
  97. package/cjs/internal/Menu/MenuNavigation.js.map +1 -1
  98. package/cjs/internal/MobilePopup/MobilePopup.d.ts +1 -0
  99. package/cjs/internal/MobilePopup/MobilePopup.js +9 -1
  100. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  101. package/cjs/internal/Popup/Popup.js +2 -4
  102. package/cjs/internal/Popup/Popup.js.map +1 -1
  103. package/cjs/internal/PopupMenu/PopupMenu.d.ts +1 -1
  104. package/cjs/internal/PopupMenu/PopupMenu.js +9 -3
  105. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  106. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -2
  107. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  108. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +3 -1
  109. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  110. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +1 -1
  111. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
  112. package/cjs/lib/dom/getDOMRect.d.ts +1 -1
  113. package/cjs/lib/dom/getDOMRect.js +3 -1
  114. package/cjs/lib/dom/getDOMRect.js.map +1 -1
  115. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +1 -1
  116. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  117. package/cjs/lib/forwardRefAndName.d.ts +3 -2
  118. package/cjs/lib/forwardRefAndName.js +2 -1
  119. package/cjs/lib/forwardRefAndName.js.map +1 -1
  120. package/cjs/lib/getElementRef.d.ts +5 -0
  121. package/cjs/lib/getElementRef.js +16 -0
  122. package/cjs/lib/getElementRef.js.map +1 -0
  123. package/cjs/lib/locale/decorators.d.ts +0 -3
  124. package/cjs/lib/mergeRefs.d.ts +2 -3
  125. package/cjs/lib/mergeRefs.js +1 -1
  126. package/cjs/lib/mergeRefs.js.map +1 -1
  127. package/cjs/lib/reactGetTextContent.js +6 -1
  128. package/cjs/lib/reactGetTextContent.js.map +1 -1
  129. package/cjs/lib/renderEnvironment/RenderEnvironmentDecorator.d.ts +0 -3
  130. package/cjs/lib/rootNode/getRootNode.js +1 -24
  131. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  132. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +0 -3
  133. package/cjs/lib/size/SizeDecorator.d.ts +0 -3
  134. package/cjs/lib/types/polymorphic-component.d.ts +2 -1
  135. package/cjs/lib/types/polymorphic-component.js.map +1 -1
  136. package/cjs/lib/utils.d.ts +4 -3
  137. package/cjs/lib/utils.js +4 -3
  138. package/cjs/lib/utils.js.map +1 -1
  139. package/cjs/lib/withClassWrapper.d.ts +3 -8
  140. package/components/Button/Button/Button.js +1 -1
  141. package/components/Button/Button/Button.js.map +1 -1
  142. package/components/Button/Button.d.ts +1 -0
  143. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  144. package/components/Calendar/Calendar.d.ts +1 -1
  145. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  146. package/components/DateInput/DateFragmentsView.d.ts +2 -2
  147. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +1 -1
  148. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  149. package/components/DateRangePicker/DateRangePicker.d.ts +2 -2
  150. package/components/DateRangePicker/DateRangePickerContext/DateRangePickerContext.js.map +1 -1
  151. package/components/DateRangePicker/DateRangePickerContext.d.ts +3 -3
  152. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  153. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  154. package/components/Dropdown/Dropdown.d.ts +4 -4
  155. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
  156. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  157. package/components/FileUploader/FileUploader.d.ts +1 -1
  158. package/components/FileUploader/FileUploaderFile/FileUploaderFile.js +1 -1
  159. package/components/FileUploader/FileUploaderFile/FileUploaderFile.js.map +1 -1
  160. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +5 -4
  161. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  162. package/components/GlobalLoader/GlobalLoaderView.d.ts +3 -2
  163. package/components/Input/Input/Input.js.map +1 -1
  164. package/components/Input/Input.d.ts +2 -2
  165. package/components/Input/InputLayout/InputLayout/InputLayout.js +4 -2
  166. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  167. package/components/Input/InputLayout/InputLayout.d.ts +3 -1
  168. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +2 -2
  169. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  170. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  171. package/components/Kebab/Kebab.d.ts +1 -1
  172. package/components/Link/Link/Link.js.map +1 -1
  173. package/components/Link/Link.d.ts +1 -1
  174. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +1 -1
  175. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
  176. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -1
  177. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +1 -1
  178. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
  179. package/components/MaskedInput/MaskedInput/MaskedInput.js +2 -2
  180. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  181. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  182. package/components/MenuItem/MenuItem.d.ts +1 -1
  183. package/components/Modal/Modal/Modal.js +7 -3
  184. package/components/Modal/Modal/Modal.js.map +1 -1
  185. package/components/Modal/Modal.d.ts +4 -1
  186. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  187. package/components/Modal/ModalBody.d.ts +2 -2
  188. package/components/Paging/Paging/Paging.js.map +1 -1
  189. package/components/Paging/Paging.d.ts +2 -2
  190. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  191. package/components/PasswordInput/PasswordInput.d.ts +1 -1
  192. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  193. package/components/RadioGroup/RadioGroup.d.ts +2 -2
  194. package/components/ResponsiveLayout/decorator.d.ts +0 -3
  195. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -1
  196. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  197. package/components/ScrollContainer/ScrollContainer.d.ts +1 -1
  198. package/components/Select/Select/Select.js.map +1 -1
  199. package/components/Select/Select.d.ts +1 -1
  200. package/components/SidePage/SidePage/SidePage.js +7 -3
  201. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  202. package/components/SidePage/SidePage.d.ts +5 -2
  203. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  204. package/components/SidePage/SidePageFooter.d.ts +1 -1
  205. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  206. package/components/SidePage/SidePageHeader.d.ts +1 -1
  207. package/components/SingleToast/SingleToast.d.ts +1 -1
  208. package/components/Sticky/Sticky/Sticky.js +2 -2
  209. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  210. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  211. package/components/Tabs/Tabs.d.ts +1 -1
  212. package/components/Token/TokenView/TokenView.js +6 -4
  213. package/components/Token/TokenView/TokenView.js.map +1 -1
  214. package/components/Token/TokenView.d.ts +2 -1
  215. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +1 -1
  216. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  217. package/components/TokenInput/TokenInput/TokenInput.js +5 -5
  218. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  219. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  220. package/components/Tooltip/Tooltip.d.ts +4 -4
  221. package/hooks/useDrop/useDrop.js +1 -1
  222. package/hooks/useDrop/useDrop.js.map +1 -1
  223. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -2
  224. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  225. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +2 -2
  226. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
  227. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +3 -6
  228. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +2 -3
  229. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  230. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  231. package/internal/FocusControlWrapper/FocusControlWrapper/FocusControlWrapper.js +7 -4
  232. package/internal/FocusControlWrapper/FocusControlWrapper/FocusControlWrapper.js.map +1 -1
  233. package/internal/FocusControlWrapper/FocusControlWrapper.d.ts +5 -6
  234. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
  235. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  236. package/internal/InputLikeText/InputLikeText.d.ts +2 -2
  237. package/internal/Menu/Menu/Menu.js +2 -2
  238. package/internal/Menu/Menu/Menu.js.map +1 -1
  239. package/internal/Menu/MenuNavigation/MenuNavigation.js.map +1 -1
  240. package/internal/Menu/MenuNavigation.d.ts +1 -1
  241. package/internal/MobilePopup/MobilePopup/MobilePopup.js +5 -2
  242. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  243. package/internal/MobilePopup/MobilePopup.d.ts +1 -0
  244. package/internal/Popup/Popup/Popup.js +2 -2
  245. package/internal/Popup/Popup/Popup.js.map +1 -1
  246. package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -3
  247. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  248. package/internal/PopupMenu/PopupMenu.d.ts +1 -1
  249. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  250. package/internal/RenderLayer/RenderLayer.d.ts +2 -2
  251. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +1 -1
  252. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -1
  253. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
  254. package/internal/ThemePlayground/FxInputPlayground.d.ts +1 -1
  255. package/lib/dom/getDOMRect/getDOMRect.js.map +1 -1
  256. package/lib/dom/getDOMRect.d.ts +1 -1
  257. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  258. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +1 -1
  259. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  260. package/lib/forwardRefAndName.d.ts +3 -2
  261. package/lib/getElementRef/getElementRef.js +11 -0
  262. package/lib/getElementRef/getElementRef.js.map +1 -0
  263. package/lib/getElementRef/package.json +6 -0
  264. package/lib/getElementRef.d.ts +5 -0
  265. package/lib/locale/decorators.d.ts +0 -3
  266. package/lib/mergeRefs/mergeRefs.js.map +1 -1
  267. package/lib/mergeRefs.d.ts +2 -3
  268. package/lib/reactGetTextContent/reactGetTextContent.js +1 -1
  269. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  270. package/lib/renderEnvironment/RenderEnvironmentDecorator.d.ts +0 -3
  271. package/lib/rootNode/getRootNode/getRootNode.js +0 -15
  272. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  273. package/lib/rootNode/rootNodeDecorator.d.ts +0 -3
  274. package/lib/size/SizeDecorator.d.ts +0 -3
  275. package/lib/types/polymorphic-component/polymorphic-component.js.map +1 -1
  276. package/lib/types/polymorphic-component.d.ts +2 -1
  277. package/lib/utils/utils.js +2 -2
  278. package/lib/utils/utils.js.map +1 -1
  279. package/lib/utils.d.ts +4 -3
  280. package/lib/withClassWrapper.d.ts +3 -8
  281. package/package.json +10 -9
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["polymorphic-component.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { Merge } from '../../typings/utility-types';\n\ntype PropsWithComponent<P, T extends React.ElementType> = P & {\n /**\n * Компонент, используемый в качестве корневого узла.\n */\n component?: T;\n};\n\nexport type PolymorphicPropsWithoutRef<P, T extends React.ElementType> = Merge<\n T extends keyof JSX.IntrinsicElements\n ? React.PropsWithoutRef<JSX.IntrinsicElements[T]>\n : React.ComponentPropsWithoutRef<T>,\n PropsWithComponent<P, T>\n>;\n\nexport type PolymorphicPropsWithRef<P, T extends React.ElementType> = Merge<\n T extends keyof JSX.IntrinsicElements ? React.PropsWithRef<JSX.IntrinsicElements[T]> : React.ComponentPropsWithRef<T>,\n PropsWithComponent<P, T>\n>;\n\ntype PolymorphicExoticComponent<P = Record<string, unknown>, T extends React.ElementType = React.ElementType> = Merge<\n React.ExoticComponent<P & { [key: string]: unknown }>,\n {\n <InstanceT extends React.ElementType = T>(props: PolymorphicPropsWithRef<P, InstanceT>): React.ReactElement | null;\n }\n>;\n\nexport type PolymorphicForwardRefExoticComponent<P, T extends React.ElementType> = Merge<\n React.ForwardRefExoticComponent<P & { [key: string]: unknown }>,\n PolymorphicExoticComponent<P, T>\n>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["polymorphic-component.ts"],"sourcesContent":["import type React from 'react';\nimport type { JSX } from 'react';\n\nimport type { Merge } from '../../typings/utility-types';\n\ntype PropsWithComponent<P, T extends React.ElementType> = P & {\n /**\n * Компонент, используемый в качестве корневого узла.\n */\n component?: T;\n};\n\nexport type PolymorphicPropsWithoutRef<P, T extends React.ElementType> = Merge<\n T extends keyof JSX.IntrinsicElements\n ? React.PropsWithoutRef<JSX.IntrinsicElements[T]>\n : React.ComponentPropsWithoutRef<T>,\n PropsWithComponent<P, T>\n>;\n\nexport type PolymorphicPropsWithRef<P, T extends React.ElementType> = Merge<\n T extends keyof JSX.IntrinsicElements ? React.PropsWithRef<JSX.IntrinsicElements[T]> : React.ComponentPropsWithRef<T>,\n PropsWithComponent<P, T>\n>;\n\ntype PolymorphicExoticComponent<P = Record<string, unknown>, T extends React.ElementType = React.ElementType> = Merge<\n React.ExoticComponent<P & { [key: string]: unknown }>,\n {\n <InstanceT extends React.ElementType = T>(\n props: PolymorphicPropsWithRef<P, InstanceT>,\n ): React.ReactElement<any> | null;\n }\n>;\n\nexport type PolymorphicForwardRefExoticComponent<P, T extends React.ElementType> = Merge<\n React.ForwardRefExoticComponent<P & { [key: string]: unknown }>,\n PolymorphicExoticComponent<P, T>\n>;\n"],"mappings":"","ignoreList":[]}
@@ -11,6 +11,7 @@ import type { DropdownMenuProps } from '../components/DropdownMenu';
11
11
  import type { ButtonProps } from '../components/Button';
12
12
  import type { TooltipProps } from '../components/Tooltip';
13
13
  import type { HintProps } from '../components/Hint';
14
+ import type { IconProps } from '../internal/icons2022/BaseIcon';
14
15
  export { delay } from './delay';
15
16
  export type Defaultize<P, D> = P extends any ? string extends keyof P ? P : Pick<P, Exclude<keyof P, keyof D>> & Partial<Pick<P, Extract<keyof P, keyof D>>> & Partial<Pick<D, Exclude<keyof D, keyof P>>> : never;
16
17
  export type DefaultizeProps<C, P> = C extends {
@@ -27,8 +28,8 @@ export type FunctionWithParams<R = any> = (...args: any[]) => R;
27
28
  export declare function isFunction<T>(x: T | FunctionWithParams): x is FunctionWithParams;
28
29
  export declare function isFunctionalComponent(Component: unknown): Component is React.ComponentType;
29
30
  export declare function isClassComponent(Component: unknown): Component is React.ComponentType;
30
- export declare function isIntrinsicElement(element: React.ReactElement): boolean;
31
- export declare function isRefableElement(element: React.ReactElement): boolean;
31
+ export declare function isIntrinsicElement(element: React.ReactElement<unknown>): boolean;
32
+ export declare function isRefableElement(element: React.ReactElement<unknown>): boolean;
32
33
  export declare function escapeRegExpSpecChars(s: string): string;
33
34
  export declare const getRandomID: () => string;
34
35
  export declare const isExternalLink: (link: string, globalObject: GlobalObject) => boolean;
@@ -97,6 +98,6 @@ export declare const isDropdown: (child: React.ReactNode) => child is React.Reac
97
98
  export declare const isDropdownMenu: (child: React.ReactNode) => child is React.ReactElement<DropdownMenuProps, string | React.JSXElementConstructor<any>>;
98
99
  export declare const isHint: (child: React.ReactNode) => child is React.ReactElement<HintProps, string | React.JSXElementConstructor<any>>;
99
100
  export declare const isTooltip: (child: React.ReactNode) => child is React.ReactElement<TooltipProps, string | React.JSXElementConstructor<any>>;
100
- export declare const isKonturIcon: (icon: React.ReactElement) => boolean;
101
+ export declare function isKonturIcon(icon: React.ReactElement<unknown>): icon is React.ReactElement<IconProps>;
101
102
  export declare function clickOutside(eventType?: 'touchstart' | 'mousedown' | 'pointerup'): void;
102
103
  export declare function isElement(el: unknown): el is Element;
package/cjs/lib/utils.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.CancelationError = void 0;exports.clickOutside = clickOutside;exports.emptyHandler = exports.delay = void 0;exports.escapeRegExpSpecChars = escapeRegExpSpecChars;exports.isButton = exports.isAutocomplete = exports.getRandomID = exports.formatBytes = exports.extractDataProps = void 0;exports.isClassComponent = isClassComponent;exports.isDropdownMenu = exports.isDropdown = exports.isCurrencyInput = void 0;exports.isElement = isElement;exports.isExternalLink = void 0;exports.isFunction = isFunction;exports.isFunctionalComponent = isFunctionalComponent;exports.isInput = exports.isHint = exports.isFxInput = void 0;exports.isIntrinsicElement = isIntrinsicElement;exports.isReactUINode = exports.isReactUIInstance = exports.isReactUIComponent = exports.isPasswordInput = exports.isNullable = exports.isNonNullable = exports.isKonturIcon = void 0;exports.isRefableElement = isRefableElement;exports.startsWithOneOf = exports.isTooltip = exports.isSelect = void 0;exports.taskWithDelay = taskWithDelay;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.CancelationError = void 0;exports.clickOutside = clickOutside;exports.emptyHandler = exports.delay = void 0;exports.escapeRegExpSpecChars = escapeRegExpSpecChars;exports.isButton = exports.isAutocomplete = exports.getRandomID = exports.formatBytes = exports.extractDataProps = void 0;exports.isClassComponent = isClassComponent;exports.isDropdownMenu = exports.isDropdown = exports.isCurrencyInput = void 0;exports.isElement = isElement;exports.isExternalLink = void 0;exports.isFunction = isFunction;exports.isFunctionalComponent = isFunctionalComponent;exports.isInput = exports.isHint = exports.isFxInput = void 0;exports.isIntrinsicElement = isIntrinsicElement;exports.isKonturIcon = isKonturIcon;exports.isReactUINode = exports.isReactUIInstance = exports.isReactUIComponent = exports.isPasswordInput = exports.isNullable = exports.isNonNullable = void 0;exports.isRefableElement = isRefableElement;exports.startsWithOneOf = exports.isTooltip = exports.isSelect = void 0;exports.taskWithDelay = taskWithDelay;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
2
2
  var _react = require("react");
3
3
  var _reactIs = require("react-is");
4
4
 
@@ -16,6 +16,7 @@ var _globalObject = require("../lib/globalObject");
16
16
 
17
17
 
18
18
 
19
+
19
20
  var _delay = require("./delay");exports.delay = _delay.delay;
20
21
 
21
22
  // NOTE: Copy-paste from @types/react
@@ -227,9 +228,9 @@ var isDropdownMenu = exports.isDropdownMenu = isReactUIComponent('DropdownMenu')
227
228
  var isHint = exports.isHint = isReactUIComponent('Hint');
228
229
  var isTooltip = exports.isTooltip = isReactUIComponent('Tooltip');
229
230
 
230
- var isKonturIcon = exports.isKonturIcon = function isKonturIcon(icon) {
231
+ function isKonturIcon(icon) {
231
232
  return Object.prototype.hasOwnProperty.call(icon == null ? void 0 : icon.type, '__KONTUR_ICON__');
232
- };
233
+ }
233
234
 
234
235
  function clickOutside(eventType) {if (eventType === void 0) {eventType = 'mousedown';}
235
236
  var event = document.createEvent('HTMLEvents');
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactIs","_globalObject","_delay","exports","delay","emptyHandler","CancelationError","_Error","_this","_len","arguments","length","args","Array","_key","call","apply","concat","code","_inheritsLoose2","default","_wrapNativeSuper2","Error","taskWithDelay","task","ms","cancelationToken","Promise","resolve","reject","setTimeout","then","catch","isFunction","x","isFunctionalComponent","Component","Boolean","prototype","isReactComponent","isClassComponent","isIntrinsicElement","element","type","isRefableElement","isForwardRef","escapeRegExpSpecChars","s","replace","getRandomID","Math","random","toString","slice","isExternalLink","link","globalObject","isBrowser","RegExp","location","host","test","isReactUINode","componentName","node","isValidElement","Object","hasOwnProperty","__KONTUR_REACT_UI__","KB","UNITS","calculateDecimals","decimals","formatBytes","bytes","calculatedDecimals","i","floor","log2","formattedBytes","parseFloat","pow","toFixed","isNonNullable","value","undefined","isNullable","isReactUIComponent","name","child","_child$type","isReactUIInstance","instance","constructor","extractDataProps","props","dataProps","restWithoutDataProps","entries","map","_ref","startsWith","startsWithOneOf","searchKeys","inputString","keyIndex","findIndex","key","isButton","isInput","isFxInput","isAutocomplete","isPasswordInput","isCurrencyInput","isSelect","isDropdown","isDropdownMenu","isHint","isTooltip","isKonturIcon","icon","clickOutside","eventType","event","document","createEvent","initEvent","body","dispatchEvent","isElement","el","nodeType","Node","ELEMENT_NODE"],"sources":["utils.ts"],"sourcesContent":["import type React from 'react';\nimport { isValidElement } from 'react';\nimport { isForwardRef } from 'react-is';\n\nimport type { GlobalObject } from '../lib/globalObject';\nimport { isBrowser } from '../lib/globalObject';\nimport type { CurrencyInputProps } from '../components/CurrencyInput';\nimport type { PasswordInputProps } from '../components/PasswordInput';\nimport type { InputProps } from '../components/Input';\nimport type { AutocompleteProps } from '../components/Autocomplete';\nimport type { FxInputProps } from '../components/FxInput';\nimport type { SelectProps } from '../components/Select';\nimport type { DropdownProps } from '../components/Dropdown';\nimport type { DropdownMenuProps } from '../components/DropdownMenu';\nimport type { ButtonProps } from '../components/Button';\nimport type { TooltipProps } from '../components/Tooltip';\nimport type { HintProps } from '../components/Hint';\n\nexport { delay } from './delay';\n\n// NOTE: Copy-paste from @types/react\nexport type Defaultize<P, D> = P extends any\n ? string extends keyof P\n ? P\n : Pick<P, Exclude<keyof P, keyof D>> &\n Partial<Pick<P, Extract<keyof P, keyof D>>> &\n Partial<Pick<D, Exclude<keyof D, keyof P>>>\n : never;\n\nexport type DefaultizeProps<C, P> = C extends { defaultProps: infer D } ? Defaultize<P, D> : P;\n\nexport type AnyObject = Record<string, unknown>;\n\nexport type NoInfer<T> = T extends infer U ? U : never;\n\nexport const emptyHandler = () => {\n /* noop */\n};\n\nexport class CancelationError extends Error {\n public code = 'CancelationError';\n}\n\nexport function taskWithDelay(task: () => void, ms: number) {\n let cancelationToken: () => void = () => null;\n\n new Promise((resolve, reject) => {\n cancelationToken = reject;\n setTimeout(resolve, ms);\n })\n .then(task)\n .catch(() => null);\n\n return cancelationToken;\n}\n\nexport type FunctionWithParams<R = any> = (...args: any[]) => R;\n\nexport function isFunction<T>(x: T | FunctionWithParams): x is FunctionWithParams {\n return typeof x === 'function';\n}\n\nexport function isFunctionalComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent));\n}\n\nexport function isClassComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && Component.prototype && Component.prototype.isReactComponent);\n}\n\nexport function isIntrinsicElement(element: React.ReactElement): boolean {\n return typeof element.type === 'string';\n}\n\nexport function isRefableElement(element: React.ReactElement): boolean {\n return Boolean(isIntrinsicElement(element) || isClassComponent(element.type) || isForwardRef(element));\n}\n\nexport function escapeRegExpSpecChars(s: string): string {\n return s.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nexport const getRandomID = (): string => Math.random().toString(16).slice(2);\n\nexport const isExternalLink = (link: string, globalObject: GlobalObject): boolean => {\n return isBrowser(globalObject) && new RegExp(`^(https?:)?//(?!${globalObject.location.host})\\\\S+`, 'gi').test(link);\n};\n\n/**\n * Check if the given ReactNode is an element of the specified ReactUI component\n */\nexport const isReactUINode = (componentName: string, node: React.ReactNode): boolean => {\n if (isValidElement(node)) {\n return (\n Object.prototype.hasOwnProperty.call(node.type, '__KONTUR_REACT_UI__') &&\n // @ts-expect-error: React doesn't know about existence of __KONTUR_REACT_UI__.\n node.type.__KONTUR_REACT_UI__ === componentName\n );\n }\n\n return false;\n};\n\nconst KB = 1024;\nconst UNITS = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\nconst calculateDecimals = (decimals: number) => {\n if (decimals < 0) {\n return 0;\n }\n\n return 0;\n};\n\nexport const formatBytes = (bytes: number, decimals = 2): string | null => {\n if (bytes === 0) {\n return '0 Bytes';\n }\n\n if (!bytes) {\n return null;\n }\n\n const calculatedDecimals = calculateDecimals(decimals);\n\n const i = Math.floor(Math.log2(bytes) / Math.log2(KB));\n const formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(calculatedDecimals));\n\n return `${formattedBytes} ${UNITS[i]}`;\n};\n\n/**\n * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента\n *\n * @param value Значение, которое нужно проверить и исключить из него типы\n * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false\n */\nexport const isNonNullable = <T>(value: T): value is NonNullable<T> => {\n return value !== null && value !== undefined;\n};\n\n/**\n * Checks if the value `null` or `undefined`.\n *\n * @param value Value to check for `null` and `undefined`.\n * @returns Returns `true` if `value` is `null` or `undefined`, else `false`.\n */\nexport const isNullable = (value: unknown): value is null | undefined => {\n return value === null || value === undefined;\n};\n\n/**\n * Creates a function that checks if the given `child`\n * is an instance of some component specified by `name`.\n *\n * @param name Component name for which function will be created.\n * @returns A function that checks if the given `child` is an instance of the component specified by `name`.\n */\nexport const isReactUIComponent = <P = any>(name: string) => {\n return (child: React.ReactNode): child is React.ReactElement<P> => {\n // @ts-expect-error: Property `type` doesn't exist on type `React.ReactNode`, but exists on type `React.ReactElement` meanwhile `React.ReactElement` is not compatible with `React` `children` type.\n return child?.type?.__KONTUR_REACT_UI__ === name;\n };\n};\n\n/**\n * Checks if a component instance is a ReactUI component with the given name.\n *\n * @typeParam T Expected ReactUI component type.\n * @param instance Component instance.\n * @param componentName ReactUI component name.\n * @returns `true` if it matches, otherwise `false`.\n */\nexport const isReactUIInstance = <T extends React.Component>(\n instance: React.Component,\n componentName: string,\n): instance is T => {\n const constructor = instance?.constructor;\n return '__KONTUR_REACT_UI__' in constructor && constructor.__KONTUR_REACT_UI__ === componentName;\n};\n\n/**\n * Extracts all data attributes from props and returns them as well as props.\n *\n * @param props Props object to extract data attributes from.\n * @returns Separated data attributes and all other props.\n */\nexport const extractDataProps = <T extends Record<string, any>>(props: T) => {\n const dataProps: Record<string, any> = {};\n const restWithoutDataProps: Record<string, any> = {};\n\n Object.entries(props).map(([name, value]) => {\n if (name.startsWith('data-')) {\n return (dataProps[name] = value);\n }\n\n return (restWithoutDataProps[name] = value);\n });\n\n return { dataProps, restWithoutDataProps };\n};\n\n/**\n * Basically `.startsWith` for arrays.\n *\n * @param searchKeys Array of strings to test against `inputString`.\n * @param inputString String on which search will be performed.\n * @returns `true` if `inputString` starts with one of keys, else `false`.\n */\nexport const startsWithOneOf = (searchKeys: string[], inputString: string) => {\n const keyIndex = searchKeys.findIndex((key) => {\n return inputString.startsWith(key);\n });\n\n return keyIndex >= 0;\n};\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\nexport const isInput = isReactUIComponent<InputProps>('Input');\nexport const isFxInput = isReactUIComponent<FxInputProps>('FxInput');\nexport const isAutocomplete = isReactUIComponent<AutocompleteProps>('Autocomplete');\nexport const isPasswordInput = isReactUIComponent<PasswordInputProps>('PasswordInput');\nexport const isCurrencyInput = isReactUIComponent<CurrencyInputProps>('CurrencyInput');\nexport const isSelect = isReactUIComponent<SelectProps<unknown, unknown>>('Select');\nexport const isDropdown = isReactUIComponent<DropdownProps>('Dropdown');\nexport const isDropdownMenu = isReactUIComponent<DropdownMenuProps>('DropdownMenu');\nexport const isHint = isReactUIComponent<HintProps>('Hint');\nexport const isTooltip = isReactUIComponent<TooltipProps>('Tooltip');\n\nexport const isKonturIcon = (icon: React.ReactElement) => {\n return Object.prototype.hasOwnProperty.call(icon?.type, '__KONTUR_ICON__');\n};\n\nexport function clickOutside(eventType: 'touchstart' | 'mousedown' | 'pointerup' = 'mousedown') {\n const event = document.createEvent('HTMLEvents');\n event.initEvent(eventType, true, true);\n document.body.dispatchEvent(event);\n}\n\nexport function isElement(el: unknown): el is Element {\n return !!el && typeof el === 'object' && 'nodeType' in el && el.nodeType === Node.ELEMENT_NODE;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactIs","_globalObject","_delay","exports","delay","emptyHandler","CancelationError","_Error","_this","_len","arguments","length","args","Array","_key","call","apply","concat","code","_inheritsLoose2","default","_wrapNativeSuper2","Error","taskWithDelay","task","ms","cancelationToken","Promise","resolve","reject","setTimeout","then","catch","isFunction","x","isFunctionalComponent","Component","Boolean","prototype","isReactComponent","isClassComponent","isIntrinsicElement","element","type","isRefableElement","isForwardRef","escapeRegExpSpecChars","s","replace","getRandomID","Math","random","toString","slice","isExternalLink","link","globalObject","isBrowser","RegExp","location","host","test","isReactUINode","componentName","node","isValidElement","Object","hasOwnProperty","__KONTUR_REACT_UI__","KB","UNITS","calculateDecimals","decimals","formatBytes","bytes","calculatedDecimals","i","floor","log2","formattedBytes","parseFloat","pow","toFixed","isNonNullable","value","undefined","isNullable","isReactUIComponent","name","child","_child$type","isReactUIInstance","instance","constructor","extractDataProps","props","dataProps","restWithoutDataProps","entries","map","_ref","startsWith","startsWithOneOf","searchKeys","inputString","keyIndex","findIndex","key","isButton","isInput","isFxInput","isAutocomplete","isPasswordInput","isCurrencyInput","isSelect","isDropdown","isDropdownMenu","isHint","isTooltip","isKonturIcon","icon","clickOutside","eventType","event","document","createEvent","initEvent","body","dispatchEvent","isElement","el","nodeType","Node","ELEMENT_NODE"],"sources":["utils.ts"],"sourcesContent":["import type React from 'react';\nimport { isValidElement } from 'react';\nimport { isForwardRef } from 'react-is';\n\nimport type { GlobalObject } from '../lib/globalObject';\nimport { isBrowser } from '../lib/globalObject';\nimport type { CurrencyInputProps } from '../components/CurrencyInput';\nimport type { PasswordInputProps } from '../components/PasswordInput';\nimport type { InputProps } from '../components/Input';\nimport type { AutocompleteProps } from '../components/Autocomplete';\nimport type { FxInputProps } from '../components/FxInput';\nimport type { SelectProps } from '../components/Select';\nimport type { DropdownProps } from '../components/Dropdown';\nimport type { DropdownMenuProps } from '../components/DropdownMenu';\nimport type { ButtonProps } from '../components/Button';\nimport type { TooltipProps } from '../components/Tooltip';\nimport type { HintProps } from '../components/Hint';\nimport type { IconProps } from '../internal/icons2022/BaseIcon';\n\nexport { delay } from './delay';\n\n// NOTE: Copy-paste from @types/react\nexport type Defaultize<P, D> = P extends any\n ? string extends keyof P\n ? P\n : Pick<P, Exclude<keyof P, keyof D>> &\n Partial<Pick<P, Extract<keyof P, keyof D>>> &\n Partial<Pick<D, Exclude<keyof D, keyof P>>>\n : never;\n\nexport type DefaultizeProps<C, P> = C extends { defaultProps: infer D } ? Defaultize<P, D> : P;\n\nexport type AnyObject = Record<string, unknown>;\n\nexport type NoInfer<T> = T extends infer U ? U : never;\n\nexport const emptyHandler = () => {\n /* noop */\n};\n\nexport class CancelationError extends Error {\n public code = 'CancelationError';\n}\n\nexport function taskWithDelay(task: () => void, ms: number) {\n let cancelationToken: () => void = () => null;\n\n new Promise((resolve, reject) => {\n cancelationToken = reject;\n setTimeout(resolve, ms);\n })\n .then(task)\n .catch(() => null);\n\n return cancelationToken;\n}\n\nexport type FunctionWithParams<R = any> = (...args: any[]) => R;\n\nexport function isFunction<T>(x: T | FunctionWithParams): x is FunctionWithParams {\n return typeof x === 'function';\n}\n\nexport function isFunctionalComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent));\n}\n\nexport function isClassComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && Component.prototype && Component.prototype.isReactComponent);\n}\n\nexport function isIntrinsicElement(element: React.ReactElement<unknown>): boolean {\n return typeof element.type === 'string';\n}\n\nexport function isRefableElement(element: React.ReactElement<unknown>): boolean {\n return Boolean(isIntrinsicElement(element) || isClassComponent(element.type) || isForwardRef(element));\n}\n\nexport function escapeRegExpSpecChars(s: string): string {\n return s.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nexport const getRandomID = (): string => Math.random().toString(16).slice(2);\n\nexport const isExternalLink = (link: string, globalObject: GlobalObject): boolean => {\n return isBrowser(globalObject) && new RegExp(`^(https?:)?//(?!${globalObject.location.host})\\\\S+`, 'gi').test(link);\n};\n\n/**\n * Check if the given ReactNode is an element of the specified ReactUI component\n */\nexport const isReactUINode = (componentName: string, node: React.ReactNode): boolean => {\n if (isValidElement(node)) {\n return (\n Object.prototype.hasOwnProperty.call(node.type, '__KONTUR_REACT_UI__') &&\n // @ts-expect-error: React doesn't know about existence of __KONTUR_REACT_UI__.\n node.type.__KONTUR_REACT_UI__ === componentName\n );\n }\n\n return false;\n};\n\nconst KB = 1024;\nconst UNITS = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\nconst calculateDecimals = (decimals: number) => {\n if (decimals < 0) {\n return 0;\n }\n\n return 0;\n};\n\nexport const formatBytes = (bytes: number, decimals = 2): string | null => {\n if (bytes === 0) {\n return '0 Bytes';\n }\n\n if (!bytes) {\n return null;\n }\n\n const calculatedDecimals = calculateDecimals(decimals);\n\n const i = Math.floor(Math.log2(bytes) / Math.log2(KB));\n const formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(calculatedDecimals));\n\n return `${formattedBytes} ${UNITS[i]}`;\n};\n\n/**\n * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента\n *\n * @param value Значение, которое нужно проверить и исключить из него типы\n * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false\n */\nexport const isNonNullable = <T>(value: T): value is NonNullable<T> => {\n return value !== null && value !== undefined;\n};\n\n/**\n * Checks if the value `null` or `undefined`.\n *\n * @param value Value to check for `null` and `undefined`.\n * @returns Returns `true` if `value` is `null` or `undefined`, else `false`.\n */\nexport const isNullable = (value: unknown): value is null | undefined => {\n return value === null || value === undefined;\n};\n\n/**\n * Creates a function that checks if the given `child`\n * is an instance of some component specified by `name`.\n *\n * @param name Component name for which function will be created.\n * @returns A function that checks if the given `child` is an instance of the component specified by `name`.\n */\nexport const isReactUIComponent = <P = any>(name: string) => {\n return (child: React.ReactNode): child is React.ReactElement<P> => {\n // @ts-expect-error: Property `type` doesn't exist on type `React.ReactNode`, but exists on type `React.ReactElement` meanwhile `React.ReactElement` is not compatible with `React` `children` type.\n return child?.type?.__KONTUR_REACT_UI__ === name;\n };\n};\n\n/**\n * Checks if a component instance is a ReactUI component with the given name.\n *\n * @typeParam T Expected ReactUI component type.\n * @param instance Component instance.\n * @param componentName ReactUI component name.\n * @returns `true` if it matches, otherwise `false`.\n */\nexport const isReactUIInstance = <T extends React.Component>(\n instance: React.Component,\n componentName: string,\n): instance is T => {\n const constructor = instance?.constructor;\n return '__KONTUR_REACT_UI__' in constructor && constructor.__KONTUR_REACT_UI__ === componentName;\n};\n\n/**\n * Extracts all data attributes from props and returns them as well as props.\n *\n * @param props Props object to extract data attributes from.\n * @returns Separated data attributes and all other props.\n */\nexport const extractDataProps = <T extends Record<string, any>>(props: T) => {\n const dataProps: Record<string, any> = {};\n const restWithoutDataProps: Record<string, any> = {};\n\n Object.entries(props).map(([name, value]) => {\n if (name.startsWith('data-')) {\n return (dataProps[name] = value);\n }\n\n return (restWithoutDataProps[name] = value);\n });\n\n return { dataProps, restWithoutDataProps };\n};\n\n/**\n * Basically `.startsWith` for arrays.\n *\n * @param searchKeys Array of strings to test against `inputString`.\n * @param inputString String on which search will be performed.\n * @returns `true` if `inputString` starts with one of keys, else `false`.\n */\nexport const startsWithOneOf = (searchKeys: string[], inputString: string) => {\n const keyIndex = searchKeys.findIndex((key) => {\n return inputString.startsWith(key);\n });\n\n return keyIndex >= 0;\n};\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\nexport const isInput = isReactUIComponent<InputProps>('Input');\nexport const isFxInput = isReactUIComponent<FxInputProps>('FxInput');\nexport const isAutocomplete = isReactUIComponent<AutocompleteProps>('Autocomplete');\nexport const isPasswordInput = isReactUIComponent<PasswordInputProps>('PasswordInput');\nexport const isCurrencyInput = isReactUIComponent<CurrencyInputProps>('CurrencyInput');\nexport const isSelect = isReactUIComponent<SelectProps<unknown, unknown>>('Select');\nexport const isDropdown = isReactUIComponent<DropdownProps>('Dropdown');\nexport const isDropdownMenu = isReactUIComponent<DropdownMenuProps>('DropdownMenu');\nexport const isHint = isReactUIComponent<HintProps>('Hint');\nexport const isTooltip = isReactUIComponent<TooltipProps>('Tooltip');\n\nexport function isKonturIcon(icon: React.ReactElement<unknown>): icon is React.ReactElement<IconProps> {\n return Object.prototype.hasOwnProperty.call(icon?.type, '__KONTUR_ICON__');\n}\n\nexport function clickOutside(eventType: 'touchstart' | 'mousedown' | 'pointerup' = 'mousedown') {\n const event = document.createEvent('HTMLEvents');\n event.initEvent(eventType, true, true);\n document.body.dispatchEvent(event);\n}\n\nexport function isElement(el: unknown): el is Element {\n return !!el && typeof el === 'object' && 'nodeType' in el && el.nodeType === Node.ELEMENT_NODE;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ import type { ReactUIComponentWithRef } from './forwardRefAndName';
10
10
  */
11
11
  export declare function withClassWrapper<T, P>(RFC: ReactUIComponentWithRef<T, P>): {
12
12
  new (props: P): {
13
- instancePropertiesRef: React.RefObject<T>;
13
+ instancePropertiesRef: React.RefObject<T | null>;
14
14
  componentDidMount(): void;
15
15
  render(): React.JSX.Element;
16
16
  context: unknown;
@@ -18,9 +18,6 @@ export declare function withClassWrapper<T, P>(RFC: ReactUIComponentWithRef<T, P
18
18
  forceUpdate(callback?: (() => void) | undefined): void;
19
19
  readonly props: Readonly<P>;
20
20
  state: Readonly<{}>;
21
- refs: {
22
- [key: string]: React.ReactInstance;
23
- };
24
21
  shouldComponentUpdate?(nextProps: Readonly<P>, nextState: Readonly<{}>, nextContext: any): boolean;
25
22
  componentWillUnmount?(): void;
26
23
  componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
@@ -34,7 +31,7 @@ export declare function withClassWrapper<T, P>(RFC: ReactUIComponentWithRef<T, P
34
31
  UNSAFE_componentWillUpdate?(nextProps: Readonly<P>, nextState: Readonly<{}>, nextContext: any): void;
35
32
  };
36
33
  new (props: P, context: any): {
37
- instancePropertiesRef: React.RefObject<T>;
34
+ instancePropertiesRef: React.RefObject<T | null>;
38
35
  componentDidMount(): void;
39
36
  render(): React.JSX.Element;
40
37
  context: unknown;
@@ -42,9 +39,6 @@ export declare function withClassWrapper<T, P>(RFC: ReactUIComponentWithRef<T, P
42
39
  forceUpdate(callback?: (() => void) | undefined): void;
43
40
  readonly props: Readonly<P>;
44
41
  state: Readonly<{}>;
45
- refs: {
46
- [key: string]: React.ReactInstance;
47
- };
48
42
  shouldComponentUpdate?(nextProps: Readonly<P>, nextState: Readonly<{}>, nextContext: any): boolean;
49
43
  componentWillUnmount?(): void;
50
44
  componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
@@ -61,6 +55,7 @@ export declare function withClassWrapper<T, P>(RFC: ReactUIComponentWithRef<T, P
61
55
  displayName: string;
62
56
  FC: ReactUIComponentWithRef<T, P>;
63
57
  contextType?: React.Context<any> | undefined;
58
+ propTypes?: any;
64
59
  };
65
60
  export interface InstanceRefType<T> {
66
61
  instanceRef: React.MutableRefObject<T>;
@@ -17,7 +17,7 @@ import { createPropsGetter } from "../../../lib/createPropsGetter";
17
17
  import { Link } from "../../Link";
18
18
  import { withSize } from "../../../lib/size/SizeDecorator";
19
19
  import { withRenderEnvironment } from "../../../lib/renderEnvironment";
20
- import { getStyles, getActiveStyles, globalClasses } from "../Button.styles";
20
+ import { getActiveStyles, getStyles, globalClasses } from "../Button.styles";
21
21
  import { ButtonIcon, getButtonIconSizes } from "../ButtonIcon";
22
22
  import { useButtonArrow } from "../ButtonArrow";
23
23
  import { getInnerLinkTheme } from "../getInnerLinkTheme";
@@ -1 +1 @@
1
- {"version":3,"names":["React","warning","isKonturIcon","isSafari","KeyListener","ThemeContext","CommonWrapper","rootNode","ThemeFactory","createPropsGetter","Link","withSize","withRenderEnvironment","getStyles","getActiveStyles","globalClasses","ButtonIcon","getButtonIconSizes","useButtonArrow","getInnerLinkTheme","LoadingButtonIcon","BUTTON_DEFAULT_COMPONENT","ButtonDataTids","rootElement","root","spinner","SpanComponent","_ref","children","rest","_objectWithoutPropertiesLoose","_excluded","createElement","Button","_class","_Button","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","focusedByTab","node","renderMain","props","_this2","_this$cx","_this$cx4","_this$cx5","corners","active","disabled","borderless","checked","error","loading","narrow","arrow","icon","rightIcon","_noPadding","_noRightPadding","visuallyFocused","align","disableFocus","width","tabIndex","_component","component","useProp","use","theme","_excluded2","_this$getProps","sizeClass","getSizeClassName","isFocused","isLink","_useButtonArrow","_extends","Boolean","size","styles","cx","rootClassNameWithArrow","arrowNode","isUseStateWithoutOutlineInDisabledState","includes","nonInteractive","rootClassName","noPadding","noRightPadding","disabledWithoutOutline","checkedDisabled","backlessDisabled","textDisabled","activeStyles","focus","checkedFocused","rootProps","className","style","textAlign","onFocus","handleFocus","onBlur","handleBlur","getTabIndex","wrapProps","wrap","getSizeWrapClassName","buttonOnlyProps","innerShadowNode","outlineNode","_this$cx2","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","iconProps","hasChildren","leftIconNode","position","rightIconNode","hasBothIcons","_this$cx3","link","linkLineHeight","linkLineHeightSafariFallback","linkFocus","linkDisabled","Object","assign","wrapLink","undefined","hasLoadingNode","loadingNode","captionNode","caption","captionLink","captionDisabled","text","visibilityHidden","Provider","value","focused","renderIcon2022","Root","ref","e","globalObject","requestAnimationFrame","keyListener","isTabPressed","setState","_inheritsLoose","_proto","prototype","componentDidMount","autoFocus","getDerivedStateFromProps","_this$node","blur","_this$node2","render","_this3","emotion","Consumer","create","rootNodeRef","setRootNode","_ref2","_ref2$tabIndex","_icon$props$size","sizes","cloneElement","_this$getProps2","_commonClasses","commonClasses","sizeLargeWithIcon","sizeLargeWithRightIcon","sizeLargeWithIconWithoutText","sizeLarge","_commonClasses3","sizeMediumWithIcon","sizeMediumWithRightIcon","sizeMediumWithIconWithoutText","sizeMedium","_commonClasses5","sizeSmallWithIcon","sizeSmallWithRightIcon","sizeSmallWithIconWithoutText","sizeSmall","wrapLarge","wrapMedium","wrapSmall","Component","__KONTUR_REACT_UI__","displayName","__BUTTON__","type"],"sources":["Button.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport type { GlobalObject } from '../../lib/globalObject';\nimport type { ButtonLinkAllowedValues } from '../../lib/types/button-link';\nimport { isKonturIcon } from '../../lib/utils';\nimport { isSafari } from '../../lib/client';\nimport { KeyListener } from '../../lib/events/keyListener';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Link } from '../Link';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-component';\nimport { withSize } from '../../lib/size/SizeDecorator';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getStyles, getActiveStyles, globalClasses } from './Button.styles';\nimport type { ButtonIconProps } from './ButtonIcon';\nimport { ButtonIcon, getButtonIconSizes } from './ButtonIcon';\nimport { useButtonArrow } from './ButtonArrow';\nimport { getInnerLinkTheme } from './getInnerLinkTheme';\nimport { LoadingButtonIcon } from './LoadingButtonIcon';\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link' | 'text' | 'backless';\n\nexport interface ButtonInnerProps extends CommonProps {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /** Применяет к кнопке стили псевдокласса `:active`. */\n active?: boolean;\n\n /** Задаёт выравнивание текста в кнопке. */\n align?: React.CSSProperties['textAlign'];\n\n /** Преобразует обычную кнопку в кнопку со стрелкой. */\n arrow?: boolean | 'left';\n\n /** Устанавливает фокус на кнопке после окончания загрузки страницы.*/\n autoFocus?: boolean;\n\n /** Убирает обводку у кнопки.\n *\n * **Не рекомендуем использовать, противоречит дизайн-требованиям.\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в следующей мажорной версии.\n *\n * Альтернативный вариант использования — через переменную темы `btnBorderWidth` */\n borderless?: boolean;\n\n /** @ignore */\n checked?: boolean;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /** Блокирует кнопку и перекрашивает в серый. */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /** Переводит кнопку в состояние валидации \"Ошибка\".\n *\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в следующей мажорной версии. */\n error?: boolean;\n\n /** Добавляет иконку слева от текста кнопки. */\n icon?: React.ReactElement;\n\n /** Добавляет иконку справа от текста кнопки. */\n rightIcon?: React.ReactElement;\n\n /** Переводит кнопку в состояние загрузки. */\n loading?: boolean;\n\n /** Сужает кнопку.\n *\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в следующей мажорной версии.\n *\n * Альтернативный вариант использования — через переменные темы `btnPaddingXSmall`, `btnPaddingXMedium`, `btnPaddingXLarge` */\n narrow?: boolean;\n\n /** Задаёт размер кнопки. */\n size?: SizeProp;\n\n /** Задаёт HTML-атрибут `type`. */\n type?: ButtonType;\n\n /** Задаёт HTML-атрибут `title`. */\n title?: string;\n\n /** Задаёт стиль кнопки.\n * **Вариант `link` устарел.** Если нужна кнопка, выглядящая как ссылка, используйте `Link component=button`.\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /** Переводит кнопку в состояние валидации \"Предупреждение\".\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в следующей мажорной версии. */\n warning?: boolean;\n\n /** Задаёт ширину кнопки. */\n width?: number | string;\n\n /** Задаёт объект с переменными темы. */\n theme?: ThemeIn;\n}\n\nexport const BUTTON_DEFAULT_COMPONENT = 'button';\n\nexport type ButtonProps<C extends ButtonLinkAllowedValues = typeof BUTTON_DEFAULT_COMPONENT> =\n PolymorphicPropsWithoutRef<ButtonInnerProps, C>;\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport const ButtonDataTids = {\n rootElement: 'Button__rootElement',\n root: 'Button__root',\n spinner: 'Button__spinner',\n} as const;\n\ntype DefaultProps = Required<Pick<ButtonProps<ButtonLinkAllowedValues>, 'use' | 'type' | 'component'>>;\n\nconst SpanComponent: React.FunctionComponent<HTMLAttributes<HTMLSpanElement>> = ({ children, ...rest }) => {\n return <span {...rest}>{children}</span>;\n};\n\n/** Кнопка запускает действие, сценарий или позволяет перейти на другую страницу. */\n@withRenderEnvironment\n@withSize\n@rootNode\nexport class Button<C extends ButtonLinkAllowedValues = typeof BUTTON_DEFAULT_COMPONENT> extends React.Component<\n ButtonProps<C>,\n ButtonState\n> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static displayName = 'Button';\n public static __BUTTON__ = true;\n\n public static defaultProps: DefaultProps = {\n use: 'default',\n // By default, the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type: 'button',\n component: BUTTON_DEFAULT_COMPONENT,\n };\n\n private getProps = createPropsGetter(Button.defaultProps);\n\n public state = {\n focusedByTab: false,\n };\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private activeStyles!: ReturnType<typeof getActiveStyles>;\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private size!: SizeProp;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private keyListener!: KeyListener;\n\n public componentDidMount() {\n this.keyListener = new KeyListener(this.globalObject);\n if (this.props.autoFocus) {\n this.keyListener.isTabPressed = true;\n this.focus();\n }\n warning(\n this.props.use !== 'link',\n '[Button]: `use=\"link\"` has been deprecated. Please, use `<Link component=\"button\" />` instead.',\n );\n }\n\n public static getDerivedStateFromProps(props: ButtonProps) {\n if (props.loading || props.disabled) {\n return { focusedByTab: false };\n }\n return null;\n }\n\n /** Программно устанавливает фокус на кнопке. Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus() {\n this.node?.focus();\n }\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur() {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\n this.styles = getStyles(this.emotion);\n this.activeStyles = getActiveStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getTabIndex({\n disableFocus,\n disabled,\n tabIndex = 0,\n }: Pick<ButtonProps, 'disableFocus' | 'disabled' | 'tabIndex'>) {\n if (disableFocus || disabled) {\n return -1;\n }\n\n return tabIndex;\n }\n\n private renderMain = (props: CommonWrapperRestProps<ButtonProps>) => {\n const {\n corners,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n narrow,\n arrow,\n icon,\n rightIcon,\n _noPadding,\n _noRightPadding,\n visuallyFocused,\n align,\n disableFocus,\n width,\n tabIndex,\n component: _component,\n use: useProp,\n theme,\n ...rest\n } = props;\n const { use, component, children } = this.getProps();\n\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n\n const [rootClassNameWithArrow, arrowNode] = useButtonArrow(\n { ...this.props, isFocused: Boolean(isFocused), size: this.size },\n this.theme,\n this.styles,\n this.cx,\n );\n const isUseStateWithoutOutlineInDisabledState = !['default', 'backless'].includes(use);\n\n const nonInteractive = disabled || loading;\n const rootClassName = this.cx(\n this.styles.root(this.theme),\n this.styles[use](this.theme),\n sizeClass,\n narrow && this.styles.narrow(),\n _noPadding && this.styles.noPadding(),\n _noRightPadding && this.styles.noRightPadding(),\n rootClassNameWithArrow,\n ...(nonInteractive\n ? [\n this.styles.disabled(this.theme),\n isUseStateWithoutOutlineInDisabledState && this.styles.disabledWithoutOutline(this.theme),\n checked && this.styles.checkedDisabled(this.theme),\n borderless && this.styles.borderless(),\n use === 'backless' && this.styles.backlessDisabled(this.theme),\n use === 'text' && this.styles.textDisabled(),\n globalClasses.disabled,\n ]\n : [\n active && !checked && this.activeStyles[use](this.theme),\n isFocused && this.styles.focus(this.theme),\n checked && this.styles.checked(this.theme),\n checked && isFocused && this.styles.checkedFocused(this.theme),\n borderless && !checked && !isFocused && this.styles.borderless(),\n ]),\n );\n\n const rootProps = {\n ...rest,\n className: rootClassName,\n style: {\n textAlign: align,\n ...corners,\n },\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: this.getTabIndex({ disableFocus, disabled: nonInteractive, tabIndex }),\n };\n\n const wrapProps = {\n className: this.cx(globalClasses.root, {\n [this.styles.wrap(this.theme)]: true,\n [this.getSizeWrapClassName()]: true,\n }),\n style: {\n width,\n },\n };\n\n const buttonOnlyProps = component === 'button' ? { disabled: nonInteractive } : {};\n\n const innerShadowNode = null;\n\n let outlineNode = null;\n if ((!isFocused || isLink) && !nonInteractive) {\n outlineNode = (\n <div\n className={this.cx(this.styles.outline(), {\n [this.styles.outlineWarning(this.theme)]: warning,\n [this.styles.outlineError(this.theme)]: error,\n [this.styles.outlineLink()]: isLink,\n [this.styles.outlineLinkWarning(this.theme)]: isLink && warning,\n [this.styles.outlineLinkError(this.theme)]: isLink && error,\n })}\n />\n );\n }\n\n const iconProps: Omit<ButtonIconProps, 'position'> = {\n use,\n size: this.size,\n hasChildren: !!children,\n loading: loading || false,\n };\n const leftIconNode = icon && <ButtonIcon {...iconProps} position=\"left\" icon={icon} />;\n const rightIconNode = rightIcon && (\n <ButtonIcon {...iconProps} hasBothIcons={!!icon && !!rightIcon} position=\"right\" icon={rightIcon} />\n );\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = this.cx({\n [this.styles.root(this.theme)]: true,\n [sizeClass]: true,\n [this.styles.link(this.theme)]: true,\n [this.styles.linkLineHeight()]: !isSafari,\n [this.styles.linkLineHeightSafariFallback()]: isSafari,\n [this.styles.linkFocus(this.theme)]: isFocused,\n [this.styles.linkDisabled(this.theme)]: nonInteractive,\n });\n Object.assign(wrapProps, {\n className: this.cx(this.styles.wrap(this.theme), this.styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n\n rootProps.style.textAlign = undefined;\n }\n\n const hasLoadingNode = loading && !icon && !rightIcon;\n const loadingNode = hasLoadingNode && <LoadingButtonIcon size={this.size} />;\n\n let captionNode = (\n <div\n className={this.cx(this.styles.caption(), globalClasses.caption, {\n [this.styles.captionLink()]: isLink,\n [this.styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {loadingNode}\n {leftIconNode}\n <span\n className={this.cx(globalClasses.text, {\n [this.styles.visibilityHidden()]: hasLoadingNode,\n })}\n >\n {children}\n </span>\n {rightIconNode}\n </div>\n );\n if (isLink && !loading) {\n captionNode = (\n <ThemeContext.Provider value={getInnerLinkTheme(this.theme)}>\n {\n <Link<typeof SpanComponent>\n focused={isFocused}\n disabled={disabled}\n icon={this.renderIcon2022(icon)}\n rightIcon={this.renderIcon2022(rightIcon)}\n tabIndex={-1}\n component={SpanComponent}\n >\n {children}\n </Link>\n }\n </ThemeContext.Provider>\n );\n }\n\n const Root: React.ElementType = component;\n\n return (\n <span {...wrapProps} data-tid={ButtonDataTids.root}>\n <Root data-tid={ButtonDataTids.rootElement} ref={this._ref} {...rootProps} {...buttonOnlyProps}>\n {innerShadowNode}\n {outlineNode}\n {arrowNode}\n {captionNode}\n </Root>\n </span>\n );\n };\n\n private renderIcon2022(icon: React.ReactElement | undefined) {\n if (icon && isKonturIcon(icon)) {\n const sizes = getButtonIconSizes(this.theme);\n return React.cloneElement(icon, { size: icon.props.size ?? sizes[this.size] });\n }\n\n return icon;\n }\n\n private getSizeClassName() {\n const { icon, rightIcon, children } = this.getProps();\n\n switch (this.size) {\n case 'large': {\n const commonClasses = {\n [this.styles.sizeLargeWithIcon(this.theme)]: !!icon,\n [this.styles.sizeLargeWithRightIcon(this.theme)]: !!rightIcon,\n [this.styles.sizeLargeWithIconWithoutText(this.theme)]: (!!icon || !!rightIcon) && !children,\n };\n\n return this.cx(this.styles.sizeLarge(this.theme), commonClasses);\n }\n case 'medium': {\n const commonClasses = {\n [this.styles.sizeMediumWithIcon(this.theme)]: !!icon,\n [this.styles.sizeMediumWithRightIcon(this.theme)]: !!rightIcon,\n [this.styles.sizeMediumWithIconWithoutText(this.theme)]: (!!icon || !!rightIcon) && !children,\n };\n\n return this.cx(this.styles.sizeMedium(this.theme), commonClasses);\n }\n case 'small':\n default: {\n const commonClasses = {\n [this.styles.sizeSmallWithIcon(this.theme)]: !!icon,\n [this.styles.sizeSmallWithRightIcon(this.theme)]: !!rightIcon,\n [this.styles.sizeSmallWithIconWithoutText(this.theme)]: (!!icon || !!rightIcon) && !children,\n };\n\n return this.cx(this.styles.sizeSmall(this.theme), commonClasses);\n }\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.wrapLarge(this.theme);\n case 'medium':\n return this.styles.wrapMedium(this.theme);\n case 'small':\n default:\n return this.styles.wrapSmall(this.theme);\n }\n }\n\n private handleFocus = (e: React.FocusEvent) => {\n if (!this.props.disabled && !this.props.disableFocus) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n this.globalObject.requestAnimationFrame?.(() => {\n if (this.keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLElement | null) => {\n this.node = node;\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","warning","isKonturIcon","isSafari","KeyListener","ThemeContext","CommonWrapper","rootNode","ThemeFactory","createPropsGetter","Link","withSize","withRenderEnvironment","getActiveStyles","getStyles","globalClasses","ButtonIcon","getButtonIconSizes","useButtonArrow","getInnerLinkTheme","LoadingButtonIcon","BUTTON_DEFAULT_COMPONENT","ButtonDataTids","rootElement","root","spinner","SpanComponent","_ref","children","rest","_objectWithoutPropertiesLoose","_excluded","createElement","Button","_class","_Button","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","focusedByTab","node","renderMain","props","_this2","_this$cx","_this$cx4","_this$cx5","corners","active","disabled","borderless","checked","error","loading","narrow","arrow","icon","rightIcon","_noPadding","_noRightPadding","visuallyFocused","align","disableFocus","width","tabIndex","_component","component","useProp","use","theme","_excluded2","_this$getProps","sizeClass","getSizeClassName","isFocused","isLink","_useButtonArrow","_extends","Boolean","size","styles","cx","rootClassNameWithArrow","arrowNode","isUseStateWithoutOutlineInDisabledState","includes","nonInteractive","rootClassName","noPadding","noRightPadding","disabledWithoutOutline","checkedDisabled","backlessDisabled","textDisabled","activeStyles","focus","checkedFocused","rootProps","className","style","textAlign","onFocus","handleFocus","onBlur","handleBlur","getTabIndex","wrapProps","wrap","getSizeWrapClassName","buttonOnlyProps","innerShadowNode","outlineNode","_this$cx2","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","iconProps","hasChildren","leftIconNode","position","rightIconNode","hasBothIcons","_this$cx3","link","linkLineHeight","linkLineHeightSafariFallback","linkFocus","linkDisabled","Object","assign","wrapLink","undefined","hasLoadingNode","loadingNode","captionNode","caption","captionLink","captionDisabled","text","visibilityHidden","Provider","value","focused","renderIcon2022","Root","ref","e","globalObject","requestAnimationFrame","keyListener","isTabPressed","setState","_inheritsLoose","_proto","prototype","componentDidMount","autoFocus","getDerivedStateFromProps","_this$node","blur","_this$node2","render","_this3","emotion","Consumer","create","rootNodeRef","setRootNode","_ref2","_ref2$tabIndex","_icon$props$size","sizes","cloneElement","_this$getProps2","_commonClasses","commonClasses","sizeLargeWithIcon","sizeLargeWithRightIcon","sizeLargeWithIconWithoutText","sizeLarge","_commonClasses3","sizeMediumWithIcon","sizeMediumWithRightIcon","sizeMediumWithIconWithoutText","sizeMedium","_commonClasses5","sizeSmallWithIcon","sizeSmallWithRightIcon","sizeSmallWithIconWithoutText","sizeSmall","wrapLarge","wrapMedium","wrapSmall","Component","__KONTUR_REACT_UI__","displayName","__BUTTON__","type"],"sources":["Button.tsx"],"sourcesContent":["import type { HTMLAttributes, JSX } from 'react';\nimport React from 'react';\nimport warning from 'warning';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport type { GlobalObject } from '../../lib/globalObject';\nimport type { ButtonLinkAllowedValues } from '../../lib/types/button-link';\nimport { isKonturIcon } from '../../lib/utils';\nimport { isSafari } from '../../lib/client';\nimport { KeyListener } from '../../lib/events/keyListener';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Link } from '../Link';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-component';\nimport { withSize } from '../../lib/size/SizeDecorator';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getActiveStyles, getStyles, globalClasses } from './Button.styles';\nimport type { ButtonIconProps } from './ButtonIcon';\nimport { ButtonIcon, getButtonIconSizes } from './ButtonIcon';\nimport { useButtonArrow } from './ButtonArrow';\nimport { getInnerLinkTheme } from './getInnerLinkTheme';\nimport { LoadingButtonIcon } from './LoadingButtonIcon';\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link' | 'text' | 'backless';\n\nexport interface ButtonInnerProps extends CommonProps {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /** Применяет к кнопке стили псевдокласса `:active`. */\n active?: boolean;\n\n /** Задаёт выравнивание текста в кнопке. */\n align?: React.CSSProperties['textAlign'];\n\n /** Преобразует обычную кнопку в кнопку со стрелкой. */\n arrow?: boolean | 'left';\n\n /** Устанавливает фокус на кнопке после окончания загрузки страницы.*/\n autoFocus?: boolean;\n\n /** Убирает обводку у кнопки.\n *\n * **Не рекомендуем использовать, противоречит дизайн-требованиям.\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в следующей мажорной версии.\n *\n * Альтернативный вариант использования — через переменную темы `btnBorderWidth` */\n borderless?: boolean;\n\n /** @ignore */\n checked?: boolean;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /** Блокирует кнопку и перекрашивает в серый. */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /** Переводит кнопку в состояние валидации \"Ошибка\".\n *\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в следующей мажорной версии. */\n error?: boolean;\n\n /** Добавляет иконку слева от текста кнопки. */\n icon?: React.ReactElement;\n\n /** Добавляет иконку справа от текста кнопки. */\n rightIcon?: React.ReactElement;\n\n /** Переводит кнопку в состояние загрузки. */\n loading?: boolean;\n\n /** Сужает кнопку.\n *\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в следующей мажорной версии.\n *\n * Альтернативный вариант использования — через переменные темы `btnPaddingXSmall`, `btnPaddingXMedium`, `btnPaddingXLarge` */\n narrow?: boolean;\n\n /** Задаёт размер кнопки. */\n size?: SizeProp;\n\n /** Задаёт HTML-атрибут `type`. */\n type?: ButtonType;\n\n /** Задаёт HTML-атрибут `title`. */\n title?: string;\n\n /** Задаёт стиль кнопки.\n * **Вариант `link` устарел.** Если нужна кнопка, выглядящая как ссылка, используйте `Link component=button`.\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /** Переводит кнопку в состояние валидации \"Предупреждение\".\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в следующей мажорной версии. */\n warning?: boolean;\n\n /** Задаёт ширину кнопки. */\n width?: number | string;\n\n /** Задаёт объект с переменными темы. */\n theme?: ThemeIn;\n}\n\nexport const BUTTON_DEFAULT_COMPONENT = 'button';\n\nexport type ButtonProps<C extends ButtonLinkAllowedValues = typeof BUTTON_DEFAULT_COMPONENT> =\n PolymorphicPropsWithoutRef<ButtonInnerProps, C>;\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport const ButtonDataTids = {\n rootElement: 'Button__rootElement',\n root: 'Button__root',\n spinner: 'Button__spinner',\n} as const;\n\ntype DefaultProps = Required<Pick<ButtonProps<ButtonLinkAllowedValues>, 'use' | 'type' | 'component'>>;\n\nconst SpanComponent: React.FunctionComponent<HTMLAttributes<HTMLSpanElement>> = ({ children, ...rest }) => {\n return <span {...rest}>{children}</span>;\n};\n\n/** Кнопка запускает действие, сценарий или позволяет перейти на другую страницу. */\n@withRenderEnvironment\n@withSize\n@rootNode\nexport class Button<C extends ButtonLinkAllowedValues = typeof BUTTON_DEFAULT_COMPONENT> extends React.Component<\n ButtonProps<C>,\n ButtonState\n> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static displayName = 'Button';\n public static __BUTTON__ = true;\n\n public static defaultProps: DefaultProps = {\n use: 'default',\n // By default, the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type: 'button',\n component: BUTTON_DEFAULT_COMPONENT,\n };\n\n private getProps = createPropsGetter(Button.defaultProps);\n\n public state = {\n focusedByTab: false,\n };\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private activeStyles!: ReturnType<typeof getActiveStyles>;\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private size!: SizeProp;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private keyListener!: KeyListener;\n\n public componentDidMount() {\n this.keyListener = new KeyListener(this.globalObject);\n if (this.props.autoFocus) {\n this.keyListener.isTabPressed = true;\n this.focus();\n }\n warning(\n this.props.use !== 'link',\n '[Button]: `use=\"link\"` has been deprecated. Please, use `<Link component=\"button\" />` instead.',\n );\n }\n\n public static getDerivedStateFromProps(props: ButtonProps) {\n if (props.loading || props.disabled) {\n return { focusedByTab: false };\n }\n return null;\n }\n\n /** Программно устанавливает фокус на кнопке. Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus() {\n this.node?.focus();\n }\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur() {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\n this.styles = getStyles(this.emotion);\n this.activeStyles = getActiveStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getTabIndex({\n disableFocus,\n disabled,\n tabIndex = 0,\n }: Pick<ButtonProps, 'disableFocus' | 'disabled' | 'tabIndex'>) {\n if (disableFocus || disabled) {\n return -1;\n }\n\n return tabIndex;\n }\n\n private renderMain = (props: CommonWrapperRestProps<ButtonProps>) => {\n const {\n corners,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n narrow,\n arrow,\n icon,\n rightIcon,\n _noPadding,\n _noRightPadding,\n visuallyFocused,\n align,\n disableFocus,\n width,\n tabIndex,\n component: _component,\n use: useProp,\n theme,\n ...rest\n } = props;\n const { use, component, children } = this.getProps();\n\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n\n const [rootClassNameWithArrow, arrowNode] = useButtonArrow(\n { ...this.props, isFocused: Boolean(isFocused), size: this.size },\n this.theme,\n this.styles,\n this.cx,\n );\n const isUseStateWithoutOutlineInDisabledState = !['default', 'backless'].includes(use);\n\n const nonInteractive = disabled || loading;\n const rootClassName = this.cx(\n this.styles.root(this.theme),\n this.styles[use](this.theme),\n sizeClass,\n narrow && this.styles.narrow(),\n _noPadding && this.styles.noPadding(),\n _noRightPadding && this.styles.noRightPadding(),\n rootClassNameWithArrow,\n ...(nonInteractive\n ? [\n this.styles.disabled(this.theme),\n isUseStateWithoutOutlineInDisabledState && this.styles.disabledWithoutOutline(this.theme),\n checked && this.styles.checkedDisabled(this.theme),\n borderless && this.styles.borderless(),\n use === 'backless' && this.styles.backlessDisabled(this.theme),\n use === 'text' && this.styles.textDisabled(),\n globalClasses.disabled,\n ]\n : [\n active && !checked && this.activeStyles[use](this.theme),\n isFocused && this.styles.focus(this.theme),\n checked && this.styles.checked(this.theme),\n checked && isFocused && this.styles.checkedFocused(this.theme),\n borderless && !checked && !isFocused && this.styles.borderless(),\n ]),\n );\n\n const rootProps = {\n ...rest,\n className: rootClassName,\n style: {\n textAlign: align,\n ...corners,\n },\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: this.getTabIndex({ disableFocus, disabled: nonInteractive, tabIndex }),\n };\n\n const wrapProps = {\n className: this.cx(globalClasses.root, {\n [this.styles.wrap(this.theme)]: true,\n [this.getSizeWrapClassName()]: true,\n }),\n style: {\n width,\n },\n };\n\n const buttonOnlyProps = component === 'button' ? { disabled: nonInteractive } : {};\n\n const innerShadowNode = null;\n\n let outlineNode = null;\n if ((!isFocused || isLink) && !nonInteractive) {\n outlineNode = (\n <div\n className={this.cx(this.styles.outline(), {\n [this.styles.outlineWarning(this.theme)]: warning,\n [this.styles.outlineError(this.theme)]: error,\n [this.styles.outlineLink()]: isLink,\n [this.styles.outlineLinkWarning(this.theme)]: isLink && warning,\n [this.styles.outlineLinkError(this.theme)]: isLink && error,\n })}\n />\n );\n }\n\n const iconProps: Omit<ButtonIconProps, 'position'> = {\n use,\n size: this.size,\n hasChildren: !!children,\n loading: loading || false,\n };\n const leftIconNode = icon && <ButtonIcon {...iconProps} position=\"left\" icon={icon} />;\n const rightIconNode = rightIcon && (\n <ButtonIcon {...iconProps} hasBothIcons={!!icon && !!rightIcon} position=\"right\" icon={rightIcon} />\n );\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = this.cx({\n [this.styles.root(this.theme)]: true,\n [sizeClass]: true,\n [this.styles.link(this.theme)]: true,\n [this.styles.linkLineHeight()]: !isSafari,\n [this.styles.linkLineHeightSafariFallback()]: isSafari,\n [this.styles.linkFocus(this.theme)]: isFocused,\n [this.styles.linkDisabled(this.theme)]: nonInteractive,\n });\n Object.assign(wrapProps, {\n className: this.cx(this.styles.wrap(this.theme), this.styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n\n rootProps.style.textAlign = undefined;\n }\n\n const hasLoadingNode = loading && !icon && !rightIcon;\n const loadingNode = hasLoadingNode && <LoadingButtonIcon size={this.size} />;\n\n let captionNode = (\n <div\n className={this.cx(this.styles.caption(), globalClasses.caption, {\n [this.styles.captionLink()]: isLink,\n [this.styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {loadingNode}\n {leftIconNode}\n <span\n className={this.cx(globalClasses.text, {\n [this.styles.visibilityHidden()]: hasLoadingNode,\n })}\n >\n {children}\n </span>\n {rightIconNode}\n </div>\n );\n if (isLink && !loading) {\n captionNode = (\n <ThemeContext.Provider value={getInnerLinkTheme(this.theme)}>\n {\n <Link<typeof SpanComponent>\n focused={isFocused}\n disabled={disabled}\n icon={this.renderIcon2022(icon)}\n rightIcon={this.renderIcon2022(rightIcon)}\n tabIndex={-1}\n component={SpanComponent}\n >\n {children}\n </Link>\n }\n </ThemeContext.Provider>\n );\n }\n\n const Root: React.ElementType = component;\n\n return (\n <span {...wrapProps} data-tid={ButtonDataTids.root}>\n <Root data-tid={ButtonDataTids.rootElement} ref={this._ref} {...rootProps} {...buttonOnlyProps}>\n {innerShadowNode}\n {outlineNode}\n {arrowNode}\n {captionNode}\n </Root>\n </span>\n );\n };\n\n private renderIcon2022(icon: React.ReactElement | undefined) {\n if (icon && isKonturIcon(icon)) {\n const sizes = getButtonIconSizes(this.theme);\n return React.cloneElement(icon, { size: icon.props.size ?? sizes[this.size] });\n }\n\n return icon;\n }\n\n private getSizeClassName() {\n const { icon, rightIcon, children } = this.getProps();\n\n switch (this.size) {\n case 'large': {\n const commonClasses = {\n [this.styles.sizeLargeWithIcon(this.theme)]: !!icon,\n [this.styles.sizeLargeWithRightIcon(this.theme)]: !!rightIcon,\n [this.styles.sizeLargeWithIconWithoutText(this.theme)]: (!!icon || !!rightIcon) && !children,\n };\n\n return this.cx(this.styles.sizeLarge(this.theme), commonClasses);\n }\n case 'medium': {\n const commonClasses = {\n [this.styles.sizeMediumWithIcon(this.theme)]: !!icon,\n [this.styles.sizeMediumWithRightIcon(this.theme)]: !!rightIcon,\n [this.styles.sizeMediumWithIconWithoutText(this.theme)]: (!!icon || !!rightIcon) && !children,\n };\n\n return this.cx(this.styles.sizeMedium(this.theme), commonClasses);\n }\n case 'small':\n default: {\n const commonClasses = {\n [this.styles.sizeSmallWithIcon(this.theme)]: !!icon,\n [this.styles.sizeSmallWithRightIcon(this.theme)]: !!rightIcon,\n [this.styles.sizeSmallWithIconWithoutText(this.theme)]: (!!icon || !!rightIcon) && !children,\n };\n\n return this.cx(this.styles.sizeSmall(this.theme), commonClasses);\n }\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.wrapLarge(this.theme);\n case 'medium':\n return this.styles.wrapMedium(this.theme);\n case 'small':\n default:\n return this.styles.wrapSmall(this.theme);\n }\n }\n\n private handleFocus = (e: React.FocusEvent) => {\n if (!this.props.disabled && !this.props.disableFocus) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n this.globalObject.requestAnimationFrame?.(() => {\n if (this.keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLElement | null) => {\n this.node = node;\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import type { JSX } from 'react';
1
2
  import React from 'react';
2
3
  import type { ButtonLinkAllowedValues } from '../../lib/types/button-link';
3
4
  import type { ThemeIn } from '../../lib/theming/Theme';