@skbkontur/react-ui 0.0.0-b4292e4d5b → 0.0.0-b821a2f064

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 (887) hide show
  1. package/CHANGELOG.md +130 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +2 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js +1 -0
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +7 -2
  6. package/cjs/components/Button/Button.js +21 -4
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Button/Button.md +68 -0
  9. package/cjs/components/Button/Button.mixins.js +1 -1
  10. package/cjs/components/Button/Button.mixins.js.map +1 -1
  11. package/cjs/components/Button/Button.styles.d.ts +2 -1
  12. package/cjs/components/Button/Button.styles.js +11 -3
  13. package/cjs/components/Button/Button.styles.js.map +1 -1
  14. package/cjs/components/Button/ButtonArrow.js +1 -1
  15. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  16. package/cjs/components/Button/ButtonIcon.d.ts +3 -2
  17. package/cjs/components/Button/ButtonIcon.js +2 -4
  18. package/cjs/components/Button/ButtonIcon.js.map +1 -1
  19. package/cjs/components/Button/getInnerLinkTheme.js +1 -0
  20. package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
  21. package/cjs/components/Calendar/Calendar.js +7 -6
  22. package/cjs/components/Calendar/Calendar.js.map +1 -1
  23. package/cjs/components/Checkbox/Checkbox.d.ts +6 -2
  24. package/cjs/components/Checkbox/Checkbox.js +12 -7
  25. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  26. package/cjs/components/ComboBox/ComboBox.d.ts +2 -1
  27. package/cjs/components/ComboBox/ComboBox.js +1 -0
  28. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  29. package/cjs/components/CurrencyInput/CurrencyInput.js +2 -1
  30. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  31. package/cjs/components/DateInput/DateFragmentsView.js +2 -1
  32. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  33. package/cjs/components/DateInput/DateInput.d.ts +2 -1
  34. package/cjs/components/DateInput/DateInput.js +15 -6
  35. package/cjs/components/DateInput/DateInput.js.map +1 -1
  36. package/cjs/components/DateInput/helpers/SelectionHelpers.js +11 -10
  37. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  38. package/cjs/components/DatePicker/DatePicker.d.ts +2 -1
  39. package/cjs/components/DatePicker/DatePicker.js +1 -0
  40. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  41. package/cjs/components/Dropdown/Dropdown.d.ts +3 -2
  42. package/cjs/components/Dropdown/Dropdown.js +1 -0
  43. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  44. package/cjs/components/Dropdown/getDropdownTheme.js +21 -22
  45. package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
  46. package/cjs/components/FileUploader/FileUploader.d.ts +6 -2
  47. package/cjs/components/FileUploader/FileUploader.js +9 -5
  48. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  49. package/cjs/components/FileUploader/FileUploader.styles.d.ts +1 -1
  50. package/cjs/components/FileUploader/FileUploader.styles.js +10 -2
  51. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  52. package/cjs/components/FxInput/FxInput.js +1 -0
  53. package/cjs/components/FxInput/FxInput.js.map +1 -1
  54. package/cjs/components/FxInput/FxInputRestoreBtn.js +1 -0
  55. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  56. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +1 -2
  57. package/cjs/components/GlobalLoader/GlobalLoader.js +10 -15
  58. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  59. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  60. package/cjs/components/GlobalLoader/GlobalLoaderView.js +3 -5
  61. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  62. package/cjs/components/Hint/Hint.js +5 -4
  63. package/cjs/components/Hint/Hint.js.map +1 -1
  64. package/cjs/components/Input/Input.d.ts +6 -2
  65. package/cjs/components/Input/Input.js +16 -10
  66. package/cjs/components/Input/Input.js.map +1 -1
  67. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -1
  68. package/cjs/components/Input/InputLayout/InputLayout.styles.js +7 -2
  69. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  70. package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -7
  71. package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  72. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -0
  73. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  74. package/cjs/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  75. package/cjs/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
  76. package/cjs/components/Kebab/Kebab.d.ts +2 -1
  77. package/cjs/components/Kebab/Kebab.js +2 -1
  78. package/cjs/components/Kebab/Kebab.js.map +1 -1
  79. package/cjs/components/Link/Link.d.ts +6 -1
  80. package/cjs/components/Link/Link.js +19 -8
  81. package/cjs/components/Link/Link.js.map +1 -1
  82. package/cjs/components/Link/Link.md +69 -0
  83. package/cjs/components/Link/Link.styles.d.ts +1 -0
  84. package/cjs/components/Link/Link.styles.js +30 -22
  85. package/cjs/components/Link/Link.styles.js.map +1 -1
  86. package/cjs/components/Loader/Loader.js +8 -7
  87. package/cjs/components/Loader/Loader.js.map +1 -1
  88. package/cjs/components/MenuFooter/MenuFooter.d.ts +6 -2
  89. package/cjs/components/MenuFooter/MenuFooter.js +4 -0
  90. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  91. package/cjs/components/MenuHeader/MenuHeader.d.ts +6 -2
  92. package/cjs/components/MenuHeader/MenuHeader.js +4 -0
  93. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  94. package/cjs/components/MenuItem/MenuItem.d.ts +6 -2
  95. package/cjs/components/MenuItem/MenuItem.js +6 -1
  96. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  97. package/cjs/components/MiniModal/MiniModal.d.ts +18 -0
  98. package/cjs/components/MiniModal/MiniModal.js +47 -0
  99. package/cjs/components/MiniModal/MiniModal.js.map +1 -0
  100. package/cjs/components/MiniModal/MiniModal.md +233 -0
  101. package/cjs/components/MiniModal/MiniModal.styles.d.ts +14 -0
  102. package/cjs/components/MiniModal/MiniModal.styles.js +87 -0
  103. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -0
  104. package/cjs/components/MiniModal/MiniModalBody.d.ts +7 -0
  105. package/cjs/components/MiniModal/MiniModalBody.js +24 -0
  106. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -0
  107. package/cjs/components/MiniModal/MiniModalFooter.d.ts +18 -0
  108. package/cjs/components/MiniModal/MiniModalFooter.js +60 -0
  109. package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -0
  110. package/cjs/components/MiniModal/MiniModalHeader.d.ts +17 -0
  111. package/cjs/components/MiniModal/MiniModalHeader.js +47 -0
  112. package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -0
  113. package/cjs/components/MiniModal/MiniModalIndent.d.ts +6 -0
  114. package/cjs/components/MiniModal/MiniModalIndent.js +29 -0
  115. package/cjs/components/MiniModal/MiniModalIndent.js.map +1 -0
  116. package/cjs/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  117. package/cjs/components/MiniModal/getMiniModalTheme.js +24 -0
  118. package/cjs/components/MiniModal/getMiniModalTheme.js.map +1 -0
  119. package/cjs/components/MiniModal/index.d.ts +5 -0
  120. package/cjs/components/MiniModal/index.js +5 -0
  121. package/cjs/components/MiniModal/index.js.map +1 -0
  122. package/cjs/components/Modal/Modal.d.ts +6 -0
  123. package/cjs/components/Modal/Modal.js +15 -1
  124. package/cjs/components/Modal/Modal.js.map +1 -1
  125. package/cjs/components/Modal/Modal.styles.d.ts +5 -0
  126. package/cjs/components/Modal/Modal.styles.js +56 -39
  127. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  128. package/cjs/components/Modal/ModalClose.js +2 -1
  129. package/cjs/components/Modal/ModalClose.js.map +1 -1
  130. package/cjs/components/Modal/ModalHeader.js +1 -1
  131. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  132. package/cjs/components/Modal/ModalSeparator.d.ts +5 -0
  133. package/cjs/components/Modal/ModalSeparator.js +5 -0
  134. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  135. package/cjs/components/Modal/getModalTheme.d.ts +2 -2
  136. package/cjs/components/Modal/getModalTheme.js +6 -2
  137. package/cjs/components/Modal/getModalTheme.js.map +1 -1
  138. package/cjs/components/Paging/NavigationHelper.js +2 -1
  139. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  140. package/cjs/components/Paging/Paging.js +16 -15
  141. package/cjs/components/Paging/Paging.js.map +1 -1
  142. package/cjs/components/Paging/Paging.styles.d.ts +0 -1
  143. package/cjs/components/Paging/Paging.styles.js +5 -10
  144. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  145. package/cjs/components/PasswordInput/PasswordInput.js +4 -2
  146. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  147. package/cjs/components/Radio/Radio.d.ts +6 -2
  148. package/cjs/components/Radio/Radio.js +6 -1
  149. package/cjs/components/Radio/Radio.js.map +1 -1
  150. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +5 -6
  151. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  152. package/cjs/components/ScrollContainer/ScrollBar.d.ts +4 -7
  153. package/cjs/components/ScrollContainer/ScrollBar.js +14 -45
  154. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  155. package/cjs/components/ScrollContainer/ScrollContainer.constants.js +1 -2
  156. package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
  157. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +19 -3
  158. package/cjs/components/ScrollContainer/ScrollContainer.js +94 -20
  159. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  160. package/cjs/components/ScrollContainer/ScrollContainer.md +29 -2
  161. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
  162. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +8 -30
  163. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  164. package/cjs/components/Select/Select.d.ts +5 -3
  165. package/cjs/components/Select/Select.js +10 -7
  166. package/cjs/components/Select/Select.js.map +1 -1
  167. package/cjs/components/SidePage/SidePage.js +12 -3
  168. package/cjs/components/SidePage/SidePage.js.map +1 -1
  169. package/cjs/components/SidePage/SidePageCloseButton.js +2 -1
  170. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  171. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
  172. package/cjs/components/SidePage/SidePageHeader.js +8 -6
  173. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  174. package/cjs/components/SingleToast/SingleToast.d.ts +11 -0
  175. package/cjs/components/SingleToast/SingleToast.js +20 -0
  176. package/cjs/components/SingleToast/SingleToast.js.map +1 -0
  177. package/cjs/components/SingleToast/SingleToast.md +35 -0
  178. package/cjs/components/SingleToast/index.d.ts +1 -0
  179. package/cjs/components/SingleToast/index.js +1 -0
  180. package/cjs/components/SingleToast/index.js.map +1 -0
  181. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +6 -2
  182. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  183. package/cjs/components/Sticky/Sticky.js +7 -7
  184. package/cjs/components/Sticky/Sticky.js.map +1 -1
  185. package/cjs/components/Switcher/Switcher.d.ts +7 -3
  186. package/cjs/components/Switcher/Switcher.js +4 -0
  187. package/cjs/components/Switcher/Switcher.js.map +1 -1
  188. package/cjs/components/Tabs/Indicator.js +2 -1
  189. package/cjs/components/Tabs/Indicator.js.map +1 -1
  190. package/cjs/components/Tabs/Tab.d.ts +16 -32
  191. package/cjs/components/Tabs/Tab.js +8 -25
  192. package/cjs/components/Tabs/Tab.js.map +1 -1
  193. package/cjs/components/Tabs/Tab.md +71 -0
  194. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  195. package/cjs/components/Tabs/Tabs.d.ts +13 -18
  196. package/cjs/components/Tabs/Tabs.js +4 -9
  197. package/cjs/components/Tabs/Tabs.js.map +1 -1
  198. package/cjs/components/Tabs/Tabs.md +7 -22
  199. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  200. package/cjs/components/Tabs/TabsContext.d.ts +3 -2
  201. package/cjs/components/Tabs/TabsContext.js +1 -0
  202. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  203. package/cjs/components/Tabs/helpers.d.ts +5 -5
  204. package/cjs/components/Tabs/helpers.js +3 -2
  205. package/cjs/components/Tabs/helpers.js.map +1 -1
  206. package/cjs/components/Textarea/Textarea.d.ts +6 -2
  207. package/cjs/components/Textarea/Textarea.js +23 -9
  208. package/cjs/components/Textarea/Textarea.js.map +1 -1
  209. package/cjs/components/Textarea/TextareaCounter.d.ts +4 -3
  210. package/cjs/components/Textarea/TextareaCounter.js +3 -1
  211. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  212. package/cjs/components/Textarea/TextareaHelpers.d.ts +1 -1
  213. package/cjs/components/Textarea/TextareaHelpers.js +7 -2
  214. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  215. package/cjs/components/Toast/Toast.d.ts +10 -3
  216. package/cjs/components/Toast/Toast.js +26 -8
  217. package/cjs/components/Toast/Toast.js.map +1 -1
  218. package/cjs/components/Toast/Toast.md +0 -105
  219. package/cjs/components/Toast/ToastStatic.js +4 -3
  220. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  221. package/cjs/components/Toggle/Toggle.d.ts +6 -2
  222. package/cjs/components/Toggle/Toggle.js +4 -0
  223. package/cjs/components/Toggle/Toggle.js.map +1 -1
  224. package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
  225. package/cjs/components/TokenInput/TokenInput.js +42 -9
  226. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  227. package/cjs/components/Tooltip/Tooltip.js +5 -5
  228. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  229. package/cjs/hooks/useDrop.js +3 -2
  230. package/cjs/hooks/useDrop.js.map +1 -1
  231. package/cjs/index.d.ts +4 -0
  232. package/cjs/index.js +4 -0
  233. package/cjs/index.js.map +1 -1
  234. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +2 -1
  235. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  236. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -1
  237. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +1 -0
  238. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  239. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -9
  240. package/cjs/internal/CustomComboBox/ComboBoxView.js +16 -34
  241. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  242. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
  243. package/cjs/internal/CustomComboBox/CustomComboBox.js +13 -8
  244. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  245. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +6 -2
  246. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  247. package/cjs/internal/DateSelect/DateSelect.js +19 -16
  248. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  249. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
  250. package/cjs/internal/DropdownContainer/DropdownContainer.js +13 -13
  251. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  252. package/cjs/internal/DropdownContainer/getManualPosition.js +6 -4
  253. package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -1
  254. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
  255. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -3
  256. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  257. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  258. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js +1 -1
  259. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js.map +1 -1
  260. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
  261. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +1 -1
  262. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  263. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  264. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js.map +1 -1
  265. package/cjs/internal/FocusTrap/FocusTrap.js +6 -5
  266. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  267. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +19 -20
  268. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  269. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +2 -1
  270. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  271. package/cjs/internal/InputLikeText/InputLikeText.js +16 -16
  272. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  273. package/cjs/internal/InternalMenu/InternalMenu.js +7 -7
  274. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  275. package/cjs/internal/Menu/Menu.js +6 -6
  276. package/cjs/internal/Menu/Menu.js.map +1 -1
  277. package/cjs/internal/MenuMessage/MenuMessage.d.ts +3 -3
  278. package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -1
  279. package/cjs/internal/Popup/Popup.js +11 -8
  280. package/cjs/internal/Popup/Popup.js.map +1 -1
  281. package/cjs/internal/Popup/PopupHelper.js +9 -7
  282. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  283. package/cjs/internal/PopupMenu/PopupMenu.js +3 -2
  284. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  285. package/cjs/internal/RenderContainer/RenderContainer.js +12 -12
  286. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  287. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -1
  288. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  289. package/cjs/internal/RenderLayer/RenderLayer.js +3 -2
  290. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  291. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  292. package/cjs/internal/ThemePlayground/SizesGroup.js +1 -0
  293. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  294. package/cjs/internal/ThemePlayground/VariableValue.js +1 -0
  295. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  296. package/cjs/internal/ThemePlayground/constants.js +1 -0
  297. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  298. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  299. package/cjs/internal/ThemeShowcase/VariablesCollector.js +6 -4
  300. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  301. package/cjs/internal/ZIndex/ZIndex.js +2 -2
  302. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  303. package/cjs/internal/ZIndex/ZIndexStorage.js +2 -2
  304. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  305. package/cjs/internal/icons/16px/index.d.ts +19 -19
  306. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  307. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  308. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  309. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  310. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  311. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  312. package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  313. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  314. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  315. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  316. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  317. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  318. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  319. package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  320. package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  321. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  322. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  323. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  324. package/cjs/internal/icons2022/BaseIcon.d.ts +1 -1
  325. package/cjs/internal/icons2022/BaseIcon.js +3 -7
  326. package/cjs/internal/icons2022/BaseIcon.js.map +1 -1
  327. package/cjs/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  328. package/cjs/internal/icons2022/BaseIcon.styles.js +14 -0
  329. package/cjs/internal/icons2022/BaseIcon.styles.js.map +1 -0
  330. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  331. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  332. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  333. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  334. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  335. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  336. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  337. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  338. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  339. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  340. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  341. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  342. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  343. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  344. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  345. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  346. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js +20 -0
  347. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -0
  348. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  349. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  350. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  351. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  352. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  353. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  354. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  355. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  356. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  357. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  358. package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  359. package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  360. package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  361. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  362. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  363. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  364. package/cjs/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  365. package/cjs/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  366. package/cjs/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  367. package/cjs/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  368. package/cjs/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  369. package/cjs/internal/themes/DefaultTheme.d.ts +46 -2
  370. package/cjs/internal/themes/DefaultTheme.js +102 -6
  371. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  372. package/cjs/internal/themes/Theme2022.d.ts +4 -3
  373. package/cjs/internal/themes/Theme2022.js +14 -6
  374. package/cjs/internal/themes/Theme2022.js.map +1 -1
  375. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -4
  376. package/cjs/internal/themes/Theme2022Dark.js +10 -5
  377. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  378. package/cjs/lib/LayoutEvents.js +5 -4
  379. package/cjs/lib/LayoutEvents.js.map +1 -1
  380. package/cjs/lib/ModalStack.js +2 -3
  381. package/cjs/lib/ModalStack.js.map +1 -1
  382. package/cjs/lib/SSRSafe.d.ts +1 -6
  383. package/cjs/lib/SSRSafe.js +4 -48
  384. package/cjs/lib/SSRSafe.js.map +1 -1
  385. package/cjs/lib/Upgrades.d.ts +1 -0
  386. package/cjs/lib/Upgrades.js +3 -1
  387. package/cjs/lib/Upgrades.js.map +1 -1
  388. package/cjs/lib/animation/index.js +6 -4
  389. package/cjs/lib/animation/index.js.map +1 -1
  390. package/cjs/lib/chars.d.ts +1 -1
  391. package/cjs/lib/chars.js +2 -2
  392. package/cjs/lib/chars.js.map +1 -1
  393. package/cjs/lib/client.d.ts +1 -7
  394. package/cjs/lib/client.js +6 -6
  395. package/cjs/lib/client.js.map +1 -1
  396. package/cjs/lib/dom/getScrollWidth.js +4 -4
  397. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  398. package/cjs/lib/dom/tabbableHelpers.d.ts +2 -1
  399. package/cjs/lib/dom/tabbableHelpers.js +7 -2
  400. package/cjs/lib/dom/tabbableHelpers.js.map +1 -1
  401. package/cjs/lib/events/MouseDrag.js +11 -11
  402. package/cjs/lib/events/MouseDrag.js.map +1 -1
  403. package/cjs/lib/events/fixClickFocusIE.js +5 -3
  404. package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
  405. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +5 -2
  406. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  407. package/cjs/lib/events/keyListener.js +9 -11
  408. package/cjs/lib/events/keyListener.js.map +1 -1
  409. package/cjs/lib/events/keyboard/identifiers.js +4 -2
  410. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  411. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +50 -0
  412. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +4 -0
  413. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js +5 -0
  414. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -0
  415. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +6 -0
  416. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +12 -0
  417. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  418. package/cjs/lib/featureFlagsContext/index.d.ts +2 -0
  419. package/cjs/lib/featureFlagsContext/index.js +3 -0
  420. package/cjs/lib/featureFlagsContext/index.js.map +1 -0
  421. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  422. package/cjs/lib/forwardRefAndName.js +4 -1
  423. package/cjs/lib/forwardRefAndName.js.map +1 -1
  424. package/cjs/lib/listenFocusOutside.js +14 -15
  425. package/cjs/lib/listenFocusOutside.js.map +1 -1
  426. package/cjs/lib/needsPolyfillPlaceholder.js +5 -3
  427. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
  428. package/cjs/lib/net/fetch.js +24 -18
  429. package/cjs/lib/net/fetch.js.map +1 -1
  430. package/cjs/lib/rootNode/getRootNode.js +5 -6
  431. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  432. package/cjs/lib/taskWithDelayAndMinimalDuration.js +5 -5
  433. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  434. package/cjs/lib/theming/Emotion.js +4 -2
  435. package/cjs/lib/theming/Emotion.js.map +1 -1
  436. package/cjs/lib/types/props.d.ts +1 -0
  437. package/cjs/lib/types/props.js +1 -0
  438. package/cjs/lib/types/props.js.map +1 -0
  439. package/cjs/lib/utils.js +4 -5
  440. package/cjs/lib/utils.js.map +1 -1
  441. package/cjs/typings/global.d.ts +3 -4
  442. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  443. package/components/Autocomplete/Autocomplete.d.ts +2 -1
  444. package/components/Button/Button/Button.js +11 -3
  445. package/components/Button/Button/Button.js.map +1 -1
  446. package/components/Button/Button.d.ts +7 -2
  447. package/components/Button/Button.md +68 -0
  448. package/components/Button/Button.mixins/Button.mixins.js +1 -1
  449. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  450. package/components/Button/Button.styles/Button.styles.js +6 -2
  451. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  452. package/components/Button/Button.styles.d.ts +2 -1
  453. package/components/Button/ButtonArrow/ButtonArrow.js +1 -1
  454. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  455. package/components/Button/ButtonIcon/ButtonIcon.js +2 -4
  456. package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
  457. package/components/Button/ButtonIcon.d.ts +3 -2
  458. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +1 -0
  459. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
  460. package/components/Calendar/Calendar/Calendar.js +7 -6
  461. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  462. package/components/Checkbox/Checkbox/Checkbox.js +14 -5
  463. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  464. package/components/Checkbox/Checkbox.d.ts +6 -2
  465. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  466. package/components/ComboBox/ComboBox.d.ts +2 -1
  467. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +2 -1
  468. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  469. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +4 -1
  470. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  471. package/components/DateInput/DateInput/DateInput.js +23 -9
  472. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  473. package/components/DateInput/DateInput.d.ts +2 -1
  474. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +10 -10
  475. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  476. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  477. package/components/DatePicker/DatePicker.d.ts +2 -1
  478. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  479. package/components/Dropdown/Dropdown.d.ts +3 -2
  480. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +21 -22
  481. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
  482. package/components/FileUploader/FileUploader/FileUploader.js +9 -5
  483. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  484. package/components/FileUploader/FileUploader.d.ts +6 -2
  485. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +2 -2
  486. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  487. package/components/FileUploader/FileUploader.styles.d.ts +1 -1
  488. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  489. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  490. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +25 -29
  491. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  492. package/components/GlobalLoader/GlobalLoader.d.ts +1 -2
  493. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +2 -3
  494. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  495. package/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  496. package/components/Hint/Hint/Hint.js +5 -5
  497. package/components/Hint/Hint/Hint.js.map +1 -1
  498. package/components/Input/Input/Input.js +18 -11
  499. package/components/Input/Input/Input.js.map +1 -1
  500. package/components/Input/Input.d.ts +6 -2
  501. package/components/Input/InputLayout/InputLayout.d.ts +1 -1
  502. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -1
  503. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
  504. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +1 -2
  505. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +1 -1
  506. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  507. package/components/Input/InputLayout/InputLayoutContext/InputLayoutContext.js.map +1 -1
  508. package/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  509. package/components/Kebab/Kebab/Kebab.js +2 -1
  510. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  511. package/components/Kebab/Kebab.d.ts +2 -1
  512. package/components/Link/Link/Link.js +8 -6
  513. package/components/Link/Link/Link.js.map +1 -1
  514. package/components/Link/Link.d.ts +6 -1
  515. package/components/Link/Link.md +69 -0
  516. package/components/Link/Link.styles/Link.styles.js +25 -22
  517. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  518. package/components/Link/Link.styles.d.ts +1 -0
  519. package/components/Loader/Loader/Loader.js +9 -6
  520. package/components/Loader/Loader/Loader.js.map +1 -1
  521. package/components/MenuFooter/MenuFooter/MenuFooter.js +4 -0
  522. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  523. package/components/MenuFooter/MenuFooter.d.ts +6 -2
  524. package/components/MenuHeader/MenuHeader/MenuHeader.js +4 -0
  525. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  526. package/components/MenuHeader/MenuHeader.d.ts +6 -2
  527. package/components/MenuItem/MenuItem/MenuItem.js +7 -2
  528. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  529. package/components/MenuItem/MenuItem.d.ts +6 -2
  530. package/components/MiniModal/MiniModal/MiniModal.js +38 -0
  531. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -0
  532. package/components/MiniModal/MiniModal/package.json +6 -0
  533. package/components/MiniModal/MiniModal.d.ts +18 -0
  534. package/components/MiniModal/MiniModal.md +233 -0
  535. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +41 -0
  536. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -0
  537. package/components/MiniModal/MiniModal.styles/package.json +6 -0
  538. package/components/MiniModal/MiniModal.styles.d.ts +14 -0
  539. package/components/MiniModal/MiniModalBody/MiniModalBody.js +23 -0
  540. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -0
  541. package/components/MiniModal/MiniModalBody/package.json +6 -0
  542. package/components/MiniModal/MiniModalBody.d.ts +7 -0
  543. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js +35 -0
  544. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -0
  545. package/components/MiniModal/MiniModalFooter/package.json +6 -0
  546. package/components/MiniModal/MiniModalFooter.d.ts +18 -0
  547. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js +33 -0
  548. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -0
  549. package/components/MiniModal/MiniModalHeader/package.json +6 -0
  550. package/components/MiniModal/MiniModalHeader.d.ts +17 -0
  551. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js +27 -0
  552. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js.map +1 -0
  553. package/components/MiniModal/MiniModalIndent/package.json +6 -0
  554. package/components/MiniModal/MiniModalIndent.d.ts +6 -0
  555. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js +23 -0
  556. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js.map +1 -0
  557. package/components/MiniModal/getMiniModalTheme/package.json +6 -0
  558. package/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  559. package/components/MiniModal/index/index.js +5 -0
  560. package/components/MiniModal/index/index.js.map +1 -0
  561. package/components/MiniModal/index/package.json +6 -0
  562. package/components/MiniModal/index.d.ts +5 -0
  563. package/components/MiniModal/package.json +6 -0
  564. package/components/Modal/Modal/Modal.js +18 -14
  565. package/components/Modal/Modal/Modal.js.map +1 -1
  566. package/components/Modal/Modal.d.ts +6 -0
  567. package/components/Modal/Modal.styles/Modal.styles.js +44 -37
  568. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  569. package/components/Modal/Modal.styles.d.ts +5 -0
  570. package/components/Modal/ModalClose/ModalClose.js +2 -1
  571. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  572. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  573. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  574. package/components/Modal/ModalSeparator/ModalSeparator.js +6 -0
  575. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  576. package/components/Modal/ModalSeparator.d.ts +5 -0
  577. package/components/Modal/getModalTheme/getModalTheme.js +8 -3
  578. package/components/Modal/getModalTheme/getModalTheme.js.map +1 -1
  579. package/components/Modal/getModalTheme.d.ts +2 -2
  580. package/components/Paging/NavigationHelper/NavigationHelper.js +2 -1
  581. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  582. package/components/Paging/Paging/Paging.js +16 -11
  583. package/components/Paging/Paging/Paging.js.map +1 -1
  584. package/components/Paging/Paging.styles/Paging.styles.js +3 -6
  585. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  586. package/components/Paging/Paging.styles.d.ts +0 -1
  587. package/components/PasswordInput/PasswordInput/PasswordInput.js +4 -2
  588. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  589. package/components/Radio/Radio/Radio.js +6 -1
  590. package/components/Radio/Radio/Radio.js.map +1 -1
  591. package/components/Radio/Radio.d.ts +6 -2
  592. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +5 -6
  593. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  594. package/components/ScrollContainer/ScrollBar/ScrollBar.js +16 -50
  595. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  596. package/components/ScrollContainer/ScrollBar.d.ts +4 -7
  597. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +98 -22
  598. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  599. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +1 -2
  600. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -1
  601. package/components/ScrollContainer/ScrollContainer.d.ts +19 -3
  602. package/components/ScrollContainer/ScrollContainer.md +29 -2
  603. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +6 -18
  604. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  605. package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
  606. package/components/Select/Select/Select.js +9 -8
  607. package/components/Select/Select/Select.js.map +1 -1
  608. package/components/Select/Select.d.ts +5 -3
  609. package/components/SidePage/SidePage/SidePage.js +8 -7
  610. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  611. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +2 -1
  612. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
  613. package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -4
  614. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  615. package/components/SidePage/SidePageHeader.d.ts +1 -0
  616. package/components/SingleToast/SingleToast/SingleToast.js +53 -0
  617. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -0
  618. package/components/SingleToast/SingleToast/package.json +6 -0
  619. package/components/SingleToast/SingleToast.d.ts +11 -0
  620. package/components/SingleToast/SingleToast.md +35 -0
  621. package/components/SingleToast/index/index.js +1 -0
  622. package/components/SingleToast/index/index.js.map +1 -0
  623. package/components/SingleToast/index/package.json +6 -0
  624. package/components/SingleToast/index.d.ts +1 -0
  625. package/components/SingleToast/package.json +6 -0
  626. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +5 -2
  627. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  628. package/components/Sticky/Sticky/Sticky.js +10 -6
  629. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  630. package/components/Switcher/Switcher/Switcher.js +4 -0
  631. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  632. package/components/Switcher/Switcher.d.ts +7 -3
  633. package/components/Tabs/Indicator/Indicator.js +2 -1
  634. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  635. package/components/Tabs/Tab/Tab.js +7 -14
  636. package/components/Tabs/Tab/Tab.js.map +1 -1
  637. package/components/Tabs/Tab.d.ts +16 -32
  638. package/components/Tabs/Tab.md +71 -0
  639. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  640. package/components/Tabs/Tabs/Tabs.js +3 -4
  641. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  642. package/components/Tabs/Tabs.d.ts +13 -18
  643. package/components/Tabs/Tabs.md +7 -22
  644. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  645. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  646. package/components/Tabs/TabsContext.d.ts +3 -2
  647. package/components/Tabs/helpers/helpers.js +3 -0
  648. package/components/Tabs/helpers/helpers.js.map +1 -1
  649. package/components/Tabs/helpers.d.ts +5 -5
  650. package/components/Textarea/Textarea/Textarea.js +25 -13
  651. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  652. package/components/Textarea/Textarea.d.ts +6 -2
  653. package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -3
  654. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  655. package/components/Textarea/TextareaCounter.d.ts +4 -3
  656. package/components/Textarea/TextareaHelpers/TextareaHelpers.js +6 -1
  657. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  658. package/components/Textarea/TextareaHelpers.d.ts +1 -1
  659. package/components/Toast/Toast/Toast.js +16 -7
  660. package/components/Toast/Toast/Toast.js.map +1 -1
  661. package/components/Toast/Toast.d.ts +10 -3
  662. package/components/Toast/Toast.md +0 -105
  663. package/components/Toast/ToastStatic/ToastStatic.js +4 -4
  664. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  665. package/components/Toggle/Toggle/Toggle.js +4 -0
  666. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  667. package/components/Toggle/Toggle.d.ts +6 -2
  668. package/components/TokenInput/TokenInput/TokenInput.js +51 -11
  669. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  670. package/components/TokenInput/TokenInput.d.ts +2 -0
  671. package/components/Tooltip/Tooltip/Tooltip.js +5 -5
  672. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  673. package/hooks/useDrop/useDrop.js +3 -2
  674. package/hooks/useDrop/useDrop.js.map +1 -1
  675. package/index.d.ts +4 -0
  676. package/index.js +4 -0
  677. package/index.js.map +1 -1
  678. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js +2 -1
  679. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  680. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  681. package/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -1
  682. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +21 -32
  683. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  684. package/internal/CustomComboBox/ComboBoxView.d.ts +6 -9
  685. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +11 -6
  686. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  687. package/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
  688. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +7 -2
  689. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  690. package/internal/DateSelect/DateSelect/DateSelect.js +19 -20
  691. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  692. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +18 -17
  693. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  694. package/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
  695. package/internal/DropdownContainer/getManualPosition/getManualPosition.js +4 -3
  696. package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -1
  697. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +3 -2
  698. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  699. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
  700. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/FileUploaderFileStatusIcon.js.map +1 -1
  701. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  702. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  703. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
  704. package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js.map +1 -1
  705. package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  706. package/internal/FocusTrap/FocusTrap/FocusTrap.js +8 -3
  707. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  708. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +25 -26
  709. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  710. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +2 -1
  711. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  712. package/internal/InputLikeText/InputLikeText/InputLikeText.js +28 -19
  713. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  714. package/internal/InternalMenu/InternalMenu/InternalMenu.js +9 -9
  715. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  716. package/internal/Menu/Menu/Menu.js +8 -8
  717. package/internal/Menu/Menu/Menu.js.map +1 -1
  718. package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -1
  719. package/internal/MenuMessage/MenuMessage.d.ts +3 -3
  720. package/internal/Popup/Popup/Popup.js +11 -13
  721. package/internal/Popup/Popup/Popup.js.map +1 -1
  722. package/internal/Popup/PopupHelper/PopupHelper.js +8 -5
  723. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  724. package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -2
  725. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  726. package/internal/RenderContainer/RenderContainer/RenderContainer.js +17 -10
  727. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  728. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
  729. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  730. package/internal/RenderLayer/RenderLayer/RenderLayer.js +10 -5
  731. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  732. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  733. package/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  734. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  735. package/internal/ThemePlayground/constants/constants.js +3 -0
  736. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  737. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +5 -2
  738. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  739. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  740. package/internal/ZIndex/ZIndex/ZIndex.js +2 -2
  741. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  742. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +2 -2
  743. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  744. package/internal/icons/16px/index.d.ts +19 -19
  745. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  746. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  747. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  748. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  749. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  750. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  751. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  752. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  753. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  754. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  755. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  756. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  757. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  758. package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  759. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  760. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  761. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  762. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  763. package/internal/icons2022/BaseIcon/BaseIcon.js +3 -6
  764. package/internal/icons2022/BaseIcon/BaseIcon.js.map +1 -1
  765. package/internal/icons2022/BaseIcon.d.ts +1 -1
  766. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js +11 -0
  767. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js.map +1 -0
  768. package/internal/icons2022/BaseIcon.styles/package.json +6 -0
  769. package/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  770. package/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  771. package/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  772. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  773. package/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  774. package/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  775. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  776. package/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  777. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  778. package/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  779. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  780. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  781. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  782. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  783. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  784. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  785. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js +18 -0
  786. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js.map +1 -0
  787. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/package.json +6 -0
  788. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  789. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  790. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  791. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  792. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  793. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  794. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  795. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  796. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  797. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  798. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  799. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  800. package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  801. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  802. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  803. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  804. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  805. package/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  806. package/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  807. package/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  808. package/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  809. package/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  810. package/internal/themes/DefaultTheme/DefaultTheme.js +146 -6
  811. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  812. package/internal/themes/DefaultTheme.d.ts +46 -2
  813. package/internal/themes/Theme2022/Theme2022.js +18 -4
  814. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  815. package/internal/themes/Theme2022.d.ts +4 -3
  816. package/internal/themes/Theme2022Dark/Theme2022Dark.js +14 -4
  817. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  818. package/internal/themes/Theme2022Dark.d.ts +5 -4
  819. package/lib/LayoutEvents/LayoutEvents.js +5 -4
  820. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  821. package/lib/ModalStack/ModalStack.js +2 -2
  822. package/lib/ModalStack/ModalStack.js.map +1 -1
  823. package/lib/SSRSafe/SSRSafe.js +3 -35
  824. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  825. package/lib/SSRSafe.d.ts +1 -6
  826. package/lib/Upgrades/Upgrades.js +3 -1
  827. package/lib/Upgrades/Upgrades.js.map +1 -1
  828. package/lib/Upgrades.d.ts +1 -0
  829. package/lib/animation/index/index.js +6 -3
  830. package/lib/animation/index/index.js.map +1 -1
  831. package/lib/chars/chars.js +1 -1
  832. package/lib/chars/chars.js.map +1 -1
  833. package/lib/chars.d.ts +1 -1
  834. package/lib/client/client.js +7 -6
  835. package/lib/client/client.js.map +1 -1
  836. package/lib/client.d.ts +1 -7
  837. package/lib/dom/getScrollWidth/getScrollWidth.js +4 -5
  838. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  839. package/lib/dom/tabbableHelpers/tabbableHelpers.js +3 -2
  840. package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -1
  841. package/lib/dom/tabbableHelpers.d.ts +2 -1
  842. package/lib/events/MouseDrag/MouseDrag.js +15 -11
  843. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  844. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +3 -2
  845. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
  846. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +7 -2
  847. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  848. package/lib/events/keyListener/keyListener.js +9 -12
  849. package/lib/events/keyListener/keyListener.js.map +1 -1
  850. package/lib/events/keyboard/identifiers/identifiers.js +2 -1
  851. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  852. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +50 -0
  853. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js +5 -0
  854. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js.map +1 -0
  855. package/lib/featureFlagsContext/FeatureFlagsHelpers/package.json +6 -0
  856. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +4 -0
  857. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -0
  858. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  859. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/package.json +6 -0
  860. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +6 -0
  861. package/lib/featureFlagsContext/index/index.js +2 -0
  862. package/lib/featureFlagsContext/index/index.js.map +1 -0
  863. package/lib/featureFlagsContext/index/package.json +6 -0
  864. package/lib/featureFlagsContext/index.d.ts +2 -0
  865. package/lib/featureFlagsContext/package.json +6 -0
  866. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  867. package/lib/forwardRefAndName.d.ts +1 -1
  868. package/lib/listenFocusOutside/listenFocusOutside.js +18 -10
  869. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  870. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +4 -3
  871. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
  872. package/lib/net/fetch/fetch.js +29 -21
  873. package/lib/net/fetch/fetch.js.map +1 -1
  874. package/lib/rootNode/getRootNode/getRootNode.js +5 -6
  875. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  876. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +5 -4
  877. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  878. package/lib/theming/Emotion/Emotion.js +6 -1
  879. package/lib/theming/Emotion/Emotion.js.map +1 -1
  880. package/lib/types/props/package.json +6 -0
  881. package/lib/types/props/props.js +1 -0
  882. package/lib/types/props/props.js.map +1 -0
  883. package/lib/types/props.d.ts +1 -0
  884. package/lib/utils/utils.js +4 -5
  885. package/lib/utils/utils.js.map +1 -1
  886. package/package.json +4 -4
  887. package/typings/global.d.ts +3 -4
@@ -2,8 +2,8 @@
2
2
 
3
3
  var _invariant = _interopRequireDefault(require("invariant"));
4
4
  var _react = _interopRequireDefault(require("react"));
5
- var _raf = _interopRequireDefault(require("raf"));
6
5
  var _warning = _interopRequireDefault(require("warning"));
6
+ var _globalObject = require("@skbkontur/global-object");
7
7
 
8
8
  var _client = require("../../lib/client");
9
9
  var _identifiers = require("../../lib/events/keyboard/identifiers");
@@ -17,13 +17,18 @@ var _Emotion = require("../../lib/theming/Emotion");
17
17
  var _rootNode = require("../../lib/rootNode");
18
18
  var _createPropsGetter = require("../../lib/createPropsGetter");
19
19
  var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
20
+ var _utils = require("../../lib/utils");
21
+
20
22
 
21
23
  var _Input = require("./Input.styles");
22
24
  var _InputLayout = require("./InputLayout/InputLayout");
23
25
  var _PolyfillPlaceholder = require("./InputLayout/PolyfillPlaceholder");var _excluded = ["onMouseEnter", "onMouseLeave", "onMouseOver", "onKeyDown", "onKeyPress", "onValueChange", "width", "error", "role", "warning", "leftIcon", "rightIcon", "borderless", "value", "align", "type", "mask", "maskChar", "alwaysShowMask", "size", "placeholder", "selectAllOnFocus", "disabled", "onUnexpectedInput", "prefix", "suffix", "formatChars", "corners", "aria-describedby", "aria-controls", "aria-label"];var _class, _class2, _temp;
24
26
 
25
- var inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'];exports.inputTypes = inputTypes;
27
+ var inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'];
26
28
 
29
+ /**
30
+ * @deprecated use SizeProp
31
+ */exports.inputTypes = inputTypes;
27
32
 
28
33
 
29
34
 
@@ -173,7 +178,7 @@ Input = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functio
173
178
 
174
179
  selectAllId = null;_this.
175
180
 
176
- blinkTimeout = 0;_this.
181
+
177
182
  input = null;_this.
178
183
 
179
184
 
@@ -305,18 +310,19 @@ Input = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functio
305
310
  }
306
311
  };_this.
307
312
 
308
- delaySelectAll = function () {return _this.selectAllId = (0, _raf.default)(_this.selectAll);};_this.
313
+ delaySelectAll = function () {var _globalObject$request;return (
314
+ _this.selectAllId = (_globalObject$request = _globalObject.globalObject.requestAnimationFrame == null ? void 0 : _globalObject.globalObject.requestAnimationFrame(_this.selectAll)) != null ? _globalObject$request : null);};_this.
309
315
 
310
316
  cancelDelayedSelectAll = function () {
311
317
  if (_this.selectAllId) {
312
- _raf.default.cancel(_this.selectAllId);
318
+ _globalObject.globalObject.cancelAnimationFrame == null ? void 0 : _globalObject.globalObject.cancelAnimationFrame(_this.selectAllId);
313
319
  _this.selectAllId = null;
314
320
  }
315
321
  };_this.
316
322
 
317
323
  cancelBlink = function (callback) {
318
324
  if (_this.blinkTimeout) {
319
- clearTimeout(_this.blinkTimeout);
325
+ _globalObject.globalObject.clearTimeout(_this.blinkTimeout);
320
326
  _this.blinkTimeout = 0;
321
327
  if (_this.state.blinking) {
322
328
  _this.setState({ blinking: false }, callback);
@@ -669,7 +675,7 @@ Input = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functio
669
675
  return /*#__PURE__*/(
670
676
  _react.default.createElement("span", { className: (0, _Emotion.cx)(_Input.styles.suffix(_this.theme), (_cx4 = {}, _cx4[_Input.styles.suffixDisabled(_this.theme)] = disabled, _cx4)) }, suffix));
671
677
 
672
- };return _this;}var _proto = Input.prototype;_proto.outputMaskError = function outputMaskError() {(0, _warning.default)(!(this.props.mask && this.canBeUsedWithMask), maskErrorMessage(this.getProps().type));};_proto.componentDidMount = function componentDidMount() {this.outputMaskError();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (this.props.type !== prevProps.type || this.props.mask !== prevProps.mask) {this.outputMaskError();}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.blinkTimeout) {clearTimeout(this.blinkTimeout);}this.cancelDelayedSelectAll();} /**
678
+ };return _this;}var _proto = Input.prototype;_proto.outputMaskError = function outputMaskError() {(0, _warning.default)(!(this.props.mask && this.canBeUsedWithMask), maskErrorMessage(this.getProps().type));};_proto.componentDidMount = function componentDidMount() {this.outputMaskError();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (this.props.type !== prevProps.type || this.props.mask !== prevProps.mask) {this.outputMaskError();}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.blinkTimeout) {_globalObject.globalObject.clearTimeout(this.blinkTimeout);}this.cancelDelayedSelectAll();} /**
673
679
  * @public
674
680
  */;_proto.focus = function focus() {(0, _invariant.default)(this.input, 'Cannot call "focus" because Input is not mounted');this.input.focus();} /**
675
681
  * @public
@@ -679,13 +685,13 @@ Input = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functio
679
685
  * @public
680
686
  */;_proto.blink = function blink() {var _this2 = this;if (this.blinkTimeout) {this.cancelBlink(function () {// trigger reflow to restart animation
681
687
  // @see https://css-tricks.com/restart-css-animation/#article-header-id-0
682
- void (_this2.input && _this2.input.offsetWidth);_this2.blink();});return;}this.setState({ blinking: true }, function () {_this2.blinkTimeout = window.setTimeout(_this2.cancelBlink, 150);});} /**
688
+ void (_this2.input && _this2.input.offsetWidth);_this2.blink();});return;}this.setState({ blinking: true }, function () {_this2.blinkTimeout = _globalObject.globalObject.setTimeout(_this2.cancelBlink, 150);});} /**
683
689
  * @public
684
690
  * @param {number} start
685
691
  * @param {number} end
686
- */;_proto.setSelectionRange = function setSelectionRange(start, end) {var _this$props$value,_this3 = this; // https://github.com/facebook/react/issues/7769
692
+ */;_proto.setSelectionRange = function setSelectionRange(start, end) {var _globalObject$documen,_this$props$value,_this3 = this; // https://github.com/facebook/react/issues/7769
687
693
  // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange
688
- if (!selectionAllowedTypes.includes(this.getProps().type)) {(0, _warning.default)(false, selectionErrorMessage(this.getProps().type));return;}if (!this.input) {throw new Error('Cannot call "setSelectionRange" on unmounted Input');}if (document.activeElement !== this.input) {this.focus();}if (this.props.mask && this.props.value && ((_this$props$value = this.props.value) == null ? void 0 : _this$props$value.length) < this.props.mask.length) {setTimeout(function () {var _this3$input;(_this3$input = _this3.input) == null ? void 0 : _this3$input.setSelectionRange(start, end);}, 150);} else {var _this$input;(_this$input = this.input) == null ? void 0 : _this$input.setSelectionRange(start, end);}};_proto.render = function render() {var _this4 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this4.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this4.setRootNode }, _this4.props), _this4.renderMain);});};_proto.renderMaskedInput = function renderMaskedInput(inputProps, mask) {return /*#__PURE__*/_react.default.createElement(_MaskedInput.MaskedInput, (0, _extends2.default)({}, inputProps, { mask: mask, maskChar: this.props.maskChar, alwaysShowMask: this.props.alwaysShowMask, formatChars: this.props.formatChars, onChange: this.props.onChange, onValueChange: this.handleMaskedValueChange, onUnexpectedInput: this.handleUnexpectedInput }));};_proto.getIconSizeClassname = function getIconSizeClassname(right) {if (right === void 0) {right = false;}switch (this.getProps().size) {case 'large':return right ? _Input.styles.rightIconLarge(this.theme) : _Input.styles.leftIconLarge(this.theme);case 'medium':return right ? _Input.styles.rightIconMedium(this.theme) : _Input.styles.leftIconMedium(this.theme);case 'small':default:return right ? _Input.styles.rightIconSmall(this.theme) : _Input.styles.leftIconSmall(this.theme);}};_proto.renderLeftIcon = function renderLeftIcon() {return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());};_proto.renderRightIcon = function renderRightIcon() {return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));};_proto.renderIcon = function renderIcon(icon, sizeClassName) {var _cx5;if (!icon) {return null;}var disabled = this.props.disabled;var iconNode = icon instanceof Function ? icon() : icon;return /*#__PURE__*/_react.default.createElement("span", { className: (0, _Emotion.cx)(_Input.styles.icon(), sizeClassName, _Input.styles.useDefaultColor(this.theme), (_cx5 = {}, _cx5[_Input.styles.iconFocus(this.theme)] = this.state.focused, _cx5[_Input.styles.iconDisabled()] = disabled, _cx5)) }, iconNode);};_proto.renderPlaceholder = function renderPlaceholder() {var disabled = this.props.disabled;var focused = this.state.focused;var placeholder = null;if (this.state.needsPolyfillPlaceholder && this.props.placeholder && !this.isMaskVisible && !this.props.value && !this.props.defaultValue) {var _cx6;placeholder = /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Input.styles.placeholder(this.theme), (_cx6 = {}, _cx6[_Input.styles.placeholderDisabled(this.theme)] = disabled, _cx6[_Input.styles.placeholderFocus(this.theme)] = focused, _cx6)), style: { textAlign: this.props.align || 'inherit' } }, this.props.placeholder);}return placeholder;};_proto.getSizeClassName = function getSizeClassName() {var _cx7, _cx8, _cx9;switch (this.getProps().size) {case 'large':return (0, _Emotion.cx)((_cx7 = {}, _cx7[_Input.styles.sizeLarge(this.theme)] = true, _cx7[_Input.styles.sizeLargeFallback(this.theme)] = _client.isIE11 || _client.isEdge, _cx7));case 'medium':return (0, _Emotion.cx)((_cx8 = {}, _cx8[_Input.styles.sizeMedium(this.theme)] = true, _cx8[_Input.styles.sizeMediumFallback(this.theme)] = _client.isIE11 || _client.isEdge, _cx8));case 'small':default:return (0, _Emotion.cx)((_cx9 = {}, _cx9[_Input.styles.sizeSmall(this.theme)] = true, _cx9[_Input.styles.sizeSmallFallback(this.theme)] = _client.isIE11 || _client.isEdge, _cx9));}};(0, _createClass2.default)(Input, [{ key: "isMaskVisible", get: function get() {var _this$props3 = this.props,mask = _this$props3.mask,alwaysShowMask = _this$props3.alwaysShowMask;var focused = this.state.focused;return Boolean(mask && (focused || alwaysShowMask));} }, { key: "canBeUsedWithMask", get: function get() {return maskForbiddenTypes.includes(this.getProps().type);} /**
694
+ if (!selectionAllowedTypes.includes(this.getProps().type)) {(0, _warning.default)(false, selectionErrorMessage(this.getProps().type));return;}if (!this.input) {throw new Error('Cannot call "setSelectionRange" on unmounted Input');}if (((_globalObject$documen = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen.activeElement) !== this.input) {this.focus();}if (this.props.mask && this.props.value && ((_this$props$value = this.props.value) == null ? void 0 : _this$props$value.length) < this.props.mask.length) {_globalObject.globalObject.setTimeout(function () {var _this3$input;(_this3$input = _this3.input) == null ? void 0 : _this3$input.setSelectionRange(start, end);}, 150);} else {var _this$input;(_this$input = this.input) == null ? void 0 : _this$input.setSelectionRange(start, end);}};_proto.render = function render() {var _this4 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this4.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this4.setRootNode }, _this4.props), _this4.renderMain);});};_proto.renderMaskedInput = function renderMaskedInput(inputProps, mask) {return /*#__PURE__*/_react.default.createElement(_MaskedInput.MaskedInput, (0, _extends2.default)({}, inputProps, { mask: mask, maskChar: this.props.maskChar, alwaysShowMask: this.props.alwaysShowMask, formatChars: this.props.formatChars, onChange: this.props.onChange, onValueChange: this.handleMaskedValueChange, onUnexpectedInput: this.handleUnexpectedInput }));};_proto.getIconSizeClassname = function getIconSizeClassname(right) {if (right === void 0) {right = false;}switch (this.getProps().size) {case 'large':return right ? _Input.styles.rightIconLarge(this.theme) : _Input.styles.leftIconLarge(this.theme);case 'medium':return right ? _Input.styles.rightIconMedium(this.theme) : _Input.styles.leftIconMedium(this.theme);case 'small':default:return right ? _Input.styles.rightIconSmall(this.theme) : _Input.styles.leftIconSmall(this.theme);}};_proto.renderLeftIcon = function renderLeftIcon() {return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());};_proto.renderRightIcon = function renderRightIcon() {return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));};_proto.renderIcon = function renderIcon(icon, sizeClassName) {var _cx5;if (!icon) {return null;}var disabled = this.props.disabled;var iconNode = (0, _utils.isFunction)(icon) ? icon() : icon;return /*#__PURE__*/_react.default.createElement("span", { className: (0, _Emotion.cx)(_Input.styles.icon(), sizeClassName, _Input.styles.useDefaultColor(this.theme), (_cx5 = {}, _cx5[_Input.styles.iconFocus(this.theme)] = this.state.focused, _cx5[_Input.styles.iconDisabled()] = disabled, _cx5)) }, iconNode);};_proto.renderPlaceholder = function renderPlaceholder() {var disabled = this.props.disabled;var focused = this.state.focused;var placeholder = null;if (this.state.needsPolyfillPlaceholder && this.props.placeholder && !this.isMaskVisible && !this.props.value && !this.props.defaultValue) {var _cx6;placeholder = /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Input.styles.placeholder(this.theme), (_cx6 = {}, _cx6[_Input.styles.placeholderDisabled(this.theme)] = disabled, _cx6[_Input.styles.placeholderFocus(this.theme)] = focused, _cx6)), style: { textAlign: this.props.align || 'inherit' } }, this.props.placeholder);}return placeholder;};_proto.getSizeClassName = function getSizeClassName() {var _cx7, _cx8, _cx9;switch (this.getProps().size) {case 'large':return (0, _Emotion.cx)((_cx7 = {}, _cx7[_Input.styles.sizeLarge(this.theme)] = true, _cx7[_Input.styles.sizeLargeFallback(this.theme)] = _client.isIE11 || _client.isEdge, _cx7));case 'medium':return (0, _Emotion.cx)((_cx8 = {}, _cx8[_Input.styles.sizeMedium(this.theme)] = true, _cx8[_Input.styles.sizeMediumFallback(this.theme)] = _client.isIE11 || _client.isEdge, _cx8));case 'small':default:return (0, _Emotion.cx)((_cx9 = {}, _cx9[_Input.styles.sizeSmall(this.theme)] = true, _cx9[_Input.styles.sizeSmallFallback(this.theme)] = _client.isIE11 || _client.isEdge, _cx9));}};(0, _createClass2.default)(Input, [{ key: "isMaskVisible", get: function get() {var _this$props3 = this.props,mask = _this$props3.mask,alwaysShowMask = _this$props3.alwaysShowMask;var focused = this.state.focused;return Boolean(mask && (focused || alwaysShowMask));} }, { key: "canBeUsedWithMask", get: function get() {return maskForbiddenTypes.includes(this.getProps().type);} /**
689
695
  * Работает с типами `text`, `password`, `tel`, `search`, `url`
690
696
  * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)
691
697
  * @public
@@ -1 +1 @@
1
- {"version":3,"sources":["Input.tsx"],"names":["inputTypes","selectionAllowedTypes","selectionErrorMessage","type","allowedTypes","map","i","join","maskForbiddenTypes","maskAllowedTypes","filter","includes","maskErrorMessage","InputDataTids","root","Input","rootNode","getProps","defaultProps","state","needsPolyfillPlaceholder","blinking","focused","selectAllId","blinkTimeout","input","selectAll","setSelectionRange","value","length","delaySelectAll","cancelDelayedSelectAll","raf","cancel","cancelBlink","callback","clearTimeout","setState","renderMain","props","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onKeyPress","onValueChange","width","error","role","warning","leftIcon","rightIcon","borderless","align","mask","maskChar","alwaysShowMask","size","placeholder","selectAllOnFocus","disabled","onUnexpectedInput","prefix","suffix","formatChars","corners","ariaDescribedby","ariaControls","ariaLabel","rest","labelProps","className","styles","theme","getSizeClassName","focus","hovering","blink","focusFallback","isIE11","isEdge","warningFallback","errorFallback","style","inputProps","inputFocus","inputDisabled","onChange","handleChange","onFocus","handleFocus","handleKeyDown","handleKeyPress","onBlur","handleBlur","textAlign","ref","refInput","isMaskVisible","undefined","canBeUsedWithMask","renderMaskedInput","React","createElement","Boolean","defaultValue","sideContainer","renderLeftIcon","renderPrefix","wrapper","renderPlaceholder","rightContainer","renderSuffix","renderRightIcon","element","MaskedInput","event","fieldIsEmpty","target","e","isDeleteKey","isKeyBackspace","isKeyDelete","currentTarget","repeat","handleUnexpectedInput","maxLength","handleMaskedValueChange","prefixDisabled","suffixDisabled","outputMaskError","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","blur","getNode","offsetWidth","window","setTimeout","start","end","Error","document","activeElement","render","setRootNode","getIconSizeClassname","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","renderIcon","icon","sizeClassName","iconNode","Function","useDefaultColor","iconFocus","iconDisabled","placeholderDisabled","placeholderFocus","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport invariant from 'invariant';\nimport React, { AriaAttributes, HTMLAttributes } from 'react';\nimport raf from 'raf';\nimport warning from 'warning';\n\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { MaskedInput } from '../../internal/MaskedInput';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './Input.styles';\nimport { InputLayout } from './InputLayout/InputLayout';\nimport { PolyfillPlaceholder } from './InputLayout/PolyfillPlaceholder';\n\nexport const inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'] as const;\n\nexport type InputSize = 'small' | 'medium' | 'large';\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type InputType = typeof inputTypes[number];\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport const selectionAllowedTypes: InputType[] = ['text', 'password', 'tel', 'search', 'url'];\nexport const selectionErrorMessage = (type: InputType, allowedTypes: InputType[] = selectionAllowedTypes) => {\n return `<Input />. Selection is not supported by the type \"${type}\". Types that support selection: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}. Reason: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange.`;\n};\n\nexport const maskForbiddenTypes: InputType[] = ['number', 'date', 'time'];\nexport const maskAllowedTypes: InputType[] = inputTypes.filter((type) => {\n return !maskForbiddenTypes.includes(type);\n});\nexport const maskErrorMessage = (type: InputType, allowedTypes: InputType[] = maskAllowedTypes) => {\n return `<Input />. Prop \"mask\" does not support type \"${type}\". Supported types: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}.`;\n};\n\nexport interface InputProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Иконка слева\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n leftIcon?: InputIconType;\n /**\n * Иконка справа\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n rightIcon?: InputIconType;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Режим прозрачной рамки */\n borderless?: boolean;\n /** Выравнивание текста */\n align?: InputAlign;\n /** Паттерн маски. Доступен для типов `text`, `password`, `email`, `tel`, `search`, `url` */\n mask?: Nullable<string>;\n /** Символ маски */\n maskChar?: Nullable<string>;\n /**\n * Словарь символов-регулярок для задания маски\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' }\n */\n formatChars?: Record<string, string>;\n /** Показывать символы маски */\n alwaysShowMask?: boolean;\n /** Размер */\n size?: InputSize;\n /** onValueChange */\n onValueChange?: (value: string) => void;\n /** Вызывается на label */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Тип. Возможные значения: 'password' | 'text' | 'number' | 'tel' | 'search' | 'time' | 'date' | 'url' | 'email'\n * */\n type?: InputType;\n /** Значение */\n value?: string;\n capture?: boolean;\n\n /**\n * Префикс\n * `ReactNode` перед значением, но после иконки\n */\n prefix?: React.ReactNode;\n /**\n * Суффикс\n * `ReactNode` после значения, но перед правой иконкой\n */\n suffix?: React.ReactNode;\n /** Выделять введенное значение при фокусе. Работает с типами `text`, `password`, `tel`, `search`, `url`. [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange) */\n selectAllOnFocus?: boolean;\n /**\n * Обработчик неправильного ввода.\n * По-умолчанию, инпут вспыхивает синим.\n * Если передан - вызывается переданный обработчик,\n * в таком случае вспыхивание можно вызвать\n * публичным методом инстанса `blink()`.\n *\n * @param value значение инпута.\n */\n onUnexpectedInput?: (value: string) => void;\n /** @ignore */\n corners?: Partial<\n Pick<\n React.CSSProperties,\n 'borderTopRightRadius' | 'borderBottomRightRadius' | 'borderBottomLeftRadius' | 'borderTopLeftRadius'\n >\n >;\n }\n > {}\n\nexport interface InputState {\n blinking: boolean;\n focused: boolean;\n needsPolyfillPlaceholder: boolean;\n}\n\nexport const InputDataTids = {\n root: 'Input__root',\n} as const;\n\ntype DefaultProps = Required<Pick<InputProps, 'size' | 'type'>>;\n\n/**\n * Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.\n * Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`\n */\n@rootNode\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n type: 'text',\n };\n\n private getProps = createPropsGetter(Input.defaultProps);\n\n public state: InputState = {\n needsPolyfillPlaceholder,\n blinking: false,\n focused: false,\n };\n\n private selectAllId: number | null = null;\n private theme!: Theme;\n private blinkTimeout = 0;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n private outputMaskError() {\n warning(!(this.props.mask && this.canBeUsedWithMask), maskErrorMessage(this.getProps().type));\n }\n\n public componentDidMount() {\n this.outputMaskError();\n }\n\n public componentDidUpdate(prevProps: Readonly<InputProps>) {\n if (this.props.type !== prevProps.type || this.props.mask !== prevProps.mask) {\n this.outputMaskError();\n }\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n }\n this.cancelDelayedSelectAll();\n }\n\n /**\n * @public\n */\n public focus() {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input.blur();\n }\n\n /**\n * @public\n */\n public getNode() {\n return this.input;\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.blinkTimeout) {\n this.cancelBlink(() => {\n // trigger reflow to restart animation\n // @see https://css-tricks.com/restart-css-animation/#article-header-id-0\n void (this.input && this.input.offsetWidth);\n this.blink();\n });\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = window.setTimeout(this.cancelBlink, 150);\n });\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number) {\n // https://github.com/facebook/react/issues/7769\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n if (!selectionAllowedTypes.includes(this.getProps().type)) {\n warning(false, selectionErrorMessage(this.getProps().type));\n\n return;\n }\n\n if (!this.input) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (document.activeElement !== this.input) {\n this.focus();\n }\n if (this.props.mask && this.props.value && this.props.value?.length < this.props.mask.length) {\n setTimeout(() => {\n this.input?.setSelectionRange(start, end);\n }, 150);\n } else {\n this.input?.setSelectionRange(start, end);\n }\n }\n\n public get isMaskVisible(): boolean {\n const { mask, alwaysShowMask } = this.props;\n const { focused } = this.state;\n return Boolean(mask && (focused || alwaysShowMask));\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.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 get canBeUsedWithMask() {\n return maskForbiddenTypes.includes(this.getProps().type);\n }\n\n /**\n * Работает с типами `text`, `password`, `tel`, `search`, `url`\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n */\n public selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private delaySelectAll = (): number => (this.selectAllId = raf(this.selectAll));\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n raf.cancel(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private cancelBlink = (callback?: () => void): void => {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n this.blinkTimeout = 0;\n if (this.state.blinking) {\n this.setState({ blinking: false }, callback);\n return;\n }\n }\n if (callback) {\n callback();\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n role,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n mask,\n maskChar,\n alwaysShowMask,\n size,\n placeholder,\n selectAllOnFocus,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n formatChars,\n corners,\n 'aria-describedby': ariaDescribedby,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n\n const { blinking, focused } = this.state;\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getSizeClassName(), {\n [styles.focus(this.theme)]: focused && !warning && !error,\n [styles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [styles.blink(this.theme)]: blinking,\n [styles.borderless()]: borderless && !focused,\n [styles.disabled(this.theme)]: disabled,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [styles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [styles.warningFallback(this.theme)]: warning && (isIE11 || isEdge),\n [styles.errorFallback(this.theme)]: error && (isIE11 || isEdge),\n }),\n 'aria-controls': ariaControls,\n style: { width, ...corners },\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n };\n\n const inputProps = {\n ...rest,\n className: cx(styles.input(this.theme), {\n [styles.inputFocus(this.theme)]: focused,\n [styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n role,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type,\n placeholder: !this.isMaskVisible && !needsPolyfillPlaceholder ? placeholder : undefined,\n disabled,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n };\n\n const input =\n mask && !this.canBeUsedWithMask\n ? this.renderMaskedInput(inputProps, mask)\n : React.createElement('input', inputProps);\n\n if (isTheme2022(this.theme)) {\n return (\n <InputLayout\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n prefix={prefix}\n suffix={suffix}\n labelProps={labelProps}\n context={{ disabled: Boolean(disabled), focused, size }}\n >\n {input}\n {this.state.needsPolyfillPlaceholder && (\n <PolyfillPlaceholder\n isMaskVisible={this.isMaskVisible}\n value={value}\n defaultValue={this.props.defaultValue}\n align={align}\n >\n {placeholder}\n </PolyfillPlaceholder>\n )}\n </InputLayout>\n );\n }\n\n return (\n <label data-tid={InputDataTids.root} {...labelProps}>\n <span className={styles.sideContainer()}>\n {this.renderLeftIcon()}\n {this.renderPrefix()}\n </span>\n <span className={styles.wrapper()}>\n {input}\n {this.renderPlaceholder()}\n </span>\n <span className={cx(styles.sideContainer(), styles.rightContainer())}>\n {this.renderSuffix()}\n {this.renderRightIcon()}\n </span>\n </label>\n );\n };\n\n private renderMaskedInput(\n inputProps: React.InputHTMLAttributes<HTMLInputElement> & {\n capture?: boolean;\n },\n mask: string,\n ) {\n return (\n <MaskedInput\n {...inputProps}\n mask={mask}\n maskChar={this.props.maskChar}\n alwaysShowMask={this.props.alwaysShowMask}\n formatChars={this.props.formatChars}\n onChange={this.props.onChange}\n onValueChange={this.handleMaskedValueChange}\n onUnexpectedInput={this.handleUnexpectedInput}\n />\n );\n }\n\n private getIconSizeClassname(right = false) {\n switch (this.getProps().size) {\n case 'large':\n return right ? styles.rightIconLarge(this.theme) : styles.leftIconLarge(this.theme);\n case 'medium':\n return right ? styles.rightIconMedium(this.theme) : styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? styles.rightIconSmall(this.theme) : styles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon() {\n return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());\n }\n\n private renderRightIcon() {\n return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));\n }\n\n private renderIcon(icon: InputIconType, sizeClassName: string) {\n if (!icon) {\n return null;\n }\n const { disabled } = this.props;\n const iconNode = icon instanceof Function ? icon() : icon;\n\n return (\n <span\n className={cx(styles.icon(), sizeClassName, styles.useDefaultColor(this.theme), {\n [styles.iconFocus(this.theme)]: this.state.focused,\n [styles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n }\n\n private renderPlaceholder() {\n const { disabled } = this.props;\n const { focused } = this.state;\n let placeholder = null;\n\n if (\n this.state.needsPolyfillPlaceholder &&\n this.props.placeholder &&\n !this.isMaskVisible &&\n !this.props.value &&\n !this.props.defaultValue\n ) {\n placeholder = (\n <div\n className={cx(styles.placeholder(this.theme), {\n [styles.placeholderDisabled(this.theme)]: disabled,\n [styles.placeholderFocus(this.theme)]: focused,\n })}\n style={{ textAlign: this.props.align || 'inherit' }}\n >\n {this.props.placeholder}\n </div>\n );\n }\n\n return placeholder;\n }\n\n private getSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return cx({\n [styles.sizeLarge(this.theme)]: true,\n [styles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [styles.sizeMedium(this.theme)]: true,\n [styles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [styles.sizeSmall(this.theme)]: true,\n [styles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | MaskedInput | null) => {\n if (element instanceof MaskedInput) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = event.target.value === '';\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n });\n\n if (this.props.selectAllOnFocus) {\n this.input && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleMaskedValueChange = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private renderPrefix = () => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(styles.prefix(this.theme), { [styles.prefixDisabled(this.theme)]: disabled })}>{prefix}</span>\n );\n };\n\n private renderSuffix = () => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(styles.suffix(this.theme), { [styles.suffixDisabled(this.theme)]: disabled })}>{suffix}</span>\n );\n };\n}\n"]}
1
+ {"version":3,"sources":["Input.tsx"],"names":["inputTypes","selectionAllowedTypes","selectionErrorMessage","type","allowedTypes","map","i","join","maskForbiddenTypes","maskAllowedTypes","filter","includes","maskErrorMessage","InputDataTids","root","Input","rootNode","getProps","defaultProps","state","needsPolyfillPlaceholder","blinking","focused","selectAllId","input","selectAll","setSelectionRange","value","length","delaySelectAll","globalObject","requestAnimationFrame","cancelDelayedSelectAll","cancelAnimationFrame","cancelBlink","callback","blinkTimeout","clearTimeout","setState","renderMain","props","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onKeyPress","onValueChange","width","error","role","warning","leftIcon","rightIcon","borderless","align","mask","maskChar","alwaysShowMask","size","placeholder","selectAllOnFocus","disabled","onUnexpectedInput","prefix","suffix","formatChars","corners","ariaDescribedby","ariaControls","ariaLabel","rest","labelProps","className","styles","theme","getSizeClassName","focus","hovering","blink","focusFallback","isIE11","isEdge","warningFallback","errorFallback","style","inputProps","inputFocus","inputDisabled","onChange","handleChange","onFocus","handleFocus","handleKeyDown","handleKeyPress","onBlur","handleBlur","textAlign","ref","refInput","isMaskVisible","undefined","canBeUsedWithMask","renderMaskedInput","React","createElement","Boolean","defaultValue","sideContainer","renderLeftIcon","renderPrefix","wrapper","renderPlaceholder","rightContainer","renderSuffix","renderRightIcon","element","MaskedInput","event","fieldIsEmpty","target","e","isDeleteKey","isKeyBackspace","isKeyDelete","currentTarget","repeat","handleUnexpectedInput","maxLength","handleMaskedValueChange","prefixDisabled","suffixDisabled","outputMaskError","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","blur","getNode","offsetWidth","setTimeout","start","end","Error","document","activeElement","render","setRootNode","getIconSizeClassname","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","renderIcon","icon","sizeClassName","iconNode","useDefaultColor","iconFocus","iconDisabled","placeholderDisabled","placeholderFocus","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport invariant from 'invariant';\nimport React, { AriaAttributes, HTMLAttributes } from 'react';\nimport warning from 'warning';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\n\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { MaskedInput } from '../../internal/MaskedInput';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { isFunction } from '../../lib/utils';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles } from './Input.styles';\nimport { InputLayout } from './InputLayout/InputLayout';\nimport { PolyfillPlaceholder } from './InputLayout/PolyfillPlaceholder';\n\nexport const inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'] as const;\n\n/**\n * @deprecated use SizeProp\n */\nexport type InputSize = SizeProp;\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type InputType = typeof inputTypes[number];\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport const selectionAllowedTypes: InputType[] = ['text', 'password', 'tel', 'search', 'url'];\nexport const selectionErrorMessage = (type: InputType, allowedTypes: InputType[] = selectionAllowedTypes) => {\n return `<Input />. Selection is not supported by the type \"${type}\". Types that support selection: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}. Reason: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange.`;\n};\n\nexport const maskForbiddenTypes: InputType[] = ['number', 'date', 'time'];\nexport const maskAllowedTypes: InputType[] = inputTypes.filter((type) => {\n return !maskForbiddenTypes.includes(type);\n});\nexport const maskErrorMessage = (type: InputType, allowedTypes: InputType[] = maskAllowedTypes) => {\n return `<Input />. Prop \"mask\" does not support type \"${type}\". Supported types: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}.`;\n};\n\nexport interface InputProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Иконка слева\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n leftIcon?: InputIconType;\n /**\n * Иконка справа\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n rightIcon?: InputIconType;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Режим прозрачной рамки */\n borderless?: boolean;\n /** Выравнивание текста */\n align?: InputAlign;\n /** Паттерн маски. Доступен для типов `text`, `password`, `email`, `tel`, `search`, `url` */\n mask?: Nullable<string>;\n /** Символ маски */\n maskChar?: Nullable<string>;\n /**\n * Словарь символов-регулярок для задания маски\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' }\n */\n formatChars?: Record<string, string>;\n /** Показывать символы маски */\n alwaysShowMask?: boolean;\n /** Размер */\n size?: SizeProp;\n /** onValueChange */\n onValueChange?: (value: string) => void;\n /** Вызывается на label */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Тип. Возможные значения: 'password' | 'text' | 'number' | 'tel' | 'search' | 'time' | 'date' | 'url' | 'email'\n * */\n type?: InputType;\n /** Значение */\n value?: string;\n capture?: boolean;\n\n /**\n * Префикс\n * `ReactNode` перед значением, но после иконки\n */\n prefix?: React.ReactNode;\n /**\n * Суффикс\n * `ReactNode` после значения, но перед правой иконкой\n */\n suffix?: React.ReactNode;\n /** Выделять введенное значение при фокусе. Работает с типами `text`, `password`, `tel`, `search`, `url`. [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange) */\n selectAllOnFocus?: boolean;\n /**\n * Обработчик неправильного ввода.\n * По-умолчанию, инпут вспыхивает синим.\n * Если передан - вызывается переданный обработчик,\n * в таком случае вспыхивание можно вызвать\n * публичным методом инстанса `blink()`.\n *\n * @param value значение инпута.\n */\n onUnexpectedInput?: (value: string) => void;\n /** @ignore */\n corners?: Partial<\n Pick<\n React.CSSProperties,\n 'borderTopRightRadius' | 'borderBottomRightRadius' | 'borderBottomLeftRadius' | 'borderTopLeftRadius'\n >\n >;\n }\n > {}\n\nexport interface InputState {\n blinking: boolean;\n focused: boolean;\n needsPolyfillPlaceholder: boolean;\n}\n\nexport const InputDataTids = {\n root: 'Input__root',\n} as const;\n\ntype DefaultProps = Required<Pick<InputProps, 'size' | 'type'>>;\n\n/**\n * Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.\n * Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`\n */\n@rootNode\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n type: 'text',\n };\n\n private getProps = createPropsGetter(Input.defaultProps);\n\n public state: InputState = {\n needsPolyfillPlaceholder,\n blinking: false,\n focused: false,\n };\n\n private selectAllId: number | null = null;\n private theme!: Theme;\n private blinkTimeout: SafeTimer;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n private outputMaskError() {\n warning(!(this.props.mask && this.canBeUsedWithMask), maskErrorMessage(this.getProps().type));\n }\n\n public componentDidMount() {\n this.outputMaskError();\n }\n\n public componentDidUpdate(prevProps: Readonly<InputProps>) {\n if (this.props.type !== prevProps.type || this.props.mask !== prevProps.mask) {\n this.outputMaskError();\n }\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n }\n this.cancelDelayedSelectAll();\n }\n\n /**\n * @public\n */\n public focus() {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input.blur();\n }\n\n /**\n * @public\n */\n public getNode() {\n return this.input;\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.blinkTimeout) {\n this.cancelBlink(() => {\n // trigger reflow to restart animation\n // @see https://css-tricks.com/restart-css-animation/#article-header-id-0\n void (this.input && this.input.offsetWidth);\n this.blink();\n });\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = globalObject.setTimeout(this.cancelBlink, 150);\n });\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number) {\n // https://github.com/facebook/react/issues/7769\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n if (!selectionAllowedTypes.includes(this.getProps().type)) {\n warning(false, selectionErrorMessage(this.getProps().type));\n\n return;\n }\n\n if (!this.input) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (globalObject.document?.activeElement !== this.input) {\n this.focus();\n }\n if (this.props.mask && this.props.value && this.props.value?.length < this.props.mask.length) {\n globalObject.setTimeout(() => {\n this.input?.setSelectionRange(start, end);\n }, 150);\n } else {\n this.input?.setSelectionRange(start, end);\n }\n }\n\n public get isMaskVisible(): boolean {\n const { mask, alwaysShowMask } = this.props;\n const { focused } = this.state;\n return Boolean(mask && (focused || alwaysShowMask));\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.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 get canBeUsedWithMask() {\n return maskForbiddenTypes.includes(this.getProps().type);\n }\n\n /**\n * Работает с типами `text`, `password`, `tel`, `search`, `url`\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n */\n public selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private delaySelectAll = (): number | null =>\n (this.selectAllId = globalObject.requestAnimationFrame?.(this.selectAll) ?? null);\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private cancelBlink = (callback?: () => void): void => {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n this.blinkTimeout = 0;\n if (this.state.blinking) {\n this.setState({ blinking: false }, callback);\n return;\n }\n }\n if (callback) {\n callback();\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n role,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n mask,\n maskChar,\n alwaysShowMask,\n size,\n placeholder,\n selectAllOnFocus,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n formatChars,\n corners,\n 'aria-describedby': ariaDescribedby,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n\n const { blinking, focused } = this.state;\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getSizeClassName(), {\n [styles.focus(this.theme)]: focused && !warning && !error,\n [styles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [styles.blink(this.theme)]: blinking,\n [styles.borderless()]: borderless && !focused,\n [styles.disabled(this.theme)]: disabled,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [styles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [styles.warningFallback(this.theme)]: warning && (isIE11 || isEdge),\n [styles.errorFallback(this.theme)]: error && (isIE11 || isEdge),\n }),\n 'aria-controls': ariaControls,\n style: { width, ...corners },\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n };\n\n const inputProps = {\n ...rest,\n className: cx(styles.input(this.theme), {\n [styles.inputFocus(this.theme)]: focused,\n [styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n role,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type,\n placeholder: !this.isMaskVisible && !needsPolyfillPlaceholder ? placeholder : undefined,\n disabled,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n };\n\n const input =\n mask && !this.canBeUsedWithMask\n ? this.renderMaskedInput(inputProps, mask)\n : React.createElement('input', inputProps);\n\n if (isTheme2022(this.theme)) {\n return (\n <InputLayout\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n prefix={prefix}\n suffix={suffix}\n labelProps={labelProps}\n context={{ disabled: Boolean(disabled), focused, size }}\n >\n {input}\n {this.state.needsPolyfillPlaceholder && (\n <PolyfillPlaceholder\n isMaskVisible={this.isMaskVisible}\n value={value}\n defaultValue={this.props.defaultValue}\n align={align}\n >\n {placeholder}\n </PolyfillPlaceholder>\n )}\n </InputLayout>\n );\n }\n\n return (\n <label data-tid={InputDataTids.root} {...labelProps}>\n <span className={styles.sideContainer()}>\n {this.renderLeftIcon()}\n {this.renderPrefix()}\n </span>\n <span className={styles.wrapper()}>\n {input}\n {this.renderPlaceholder()}\n </span>\n <span className={cx(styles.sideContainer(), styles.rightContainer())}>\n {this.renderSuffix()}\n {this.renderRightIcon()}\n </span>\n </label>\n );\n };\n\n private renderMaskedInput(\n inputProps: React.InputHTMLAttributes<HTMLInputElement> & {\n capture?: boolean;\n },\n mask: string,\n ) {\n return (\n <MaskedInput\n {...inputProps}\n mask={mask}\n maskChar={this.props.maskChar}\n alwaysShowMask={this.props.alwaysShowMask}\n formatChars={this.props.formatChars}\n onChange={this.props.onChange}\n onValueChange={this.handleMaskedValueChange}\n onUnexpectedInput={this.handleUnexpectedInput}\n />\n );\n }\n\n private getIconSizeClassname(right = false) {\n switch (this.getProps().size) {\n case 'large':\n return right ? styles.rightIconLarge(this.theme) : styles.leftIconLarge(this.theme);\n case 'medium':\n return right ? styles.rightIconMedium(this.theme) : styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? styles.rightIconSmall(this.theme) : styles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon() {\n return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());\n }\n\n private renderRightIcon() {\n return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));\n }\n\n private renderIcon(icon: InputIconType, sizeClassName: string) {\n if (!icon) {\n return null;\n }\n const { disabled } = this.props;\n const iconNode = isFunction(icon) ? icon() : icon;\n\n return (\n <span\n className={cx(styles.icon(), sizeClassName, styles.useDefaultColor(this.theme), {\n [styles.iconFocus(this.theme)]: this.state.focused,\n [styles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n }\n\n private renderPlaceholder() {\n const { disabled } = this.props;\n const { focused } = this.state;\n let placeholder = null;\n\n if (\n this.state.needsPolyfillPlaceholder &&\n this.props.placeholder &&\n !this.isMaskVisible &&\n !this.props.value &&\n !this.props.defaultValue\n ) {\n placeholder = (\n <div\n className={cx(styles.placeholder(this.theme), {\n [styles.placeholderDisabled(this.theme)]: disabled,\n [styles.placeholderFocus(this.theme)]: focused,\n })}\n style={{ textAlign: this.props.align || 'inherit' }}\n >\n {this.props.placeholder}\n </div>\n );\n }\n\n return placeholder;\n }\n\n private getSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return cx({\n [styles.sizeLarge(this.theme)]: true,\n [styles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [styles.sizeMedium(this.theme)]: true,\n [styles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [styles.sizeSmall(this.theme)]: true,\n [styles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | MaskedInput | null) => {\n if (element instanceof MaskedInput) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = event.target.value === '';\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n });\n\n if (this.props.selectAllOnFocus) {\n this.input && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleMaskedValueChange = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private renderPrefix = () => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(styles.prefix(this.theme), { [styles.prefixDisabled(this.theme)]: disabled })}>{prefix}</span>\n );\n };\n\n private renderSuffix = () => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(styles.suffix(this.theme), { [styles.suffixDisabled(this.theme)]: disabled })}>{suffix}</span>\n );\n };\n}\n"]}
@@ -7,5 +7,5 @@ export interface InputLayoutRootProps extends InputLayoutRootFromInputProps, Com
7
7
  labelProps: React.LabelHTMLAttributes<HTMLLabelElement>;
8
8
  context: Partial<InputLayoutContextProps>;
9
9
  }
10
- export declare const InputLayout: import("../../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLLabelElement, InputLayoutRootProps>;
10
+ export declare const InputLayout: import("../../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLLabelElement, InputLayoutRootProps> & Record<never, never>;
11
11
  export {};
@@ -1,4 +1,5 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.stylesLayout = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../../lib/theming/Emotion");
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.stylesLayout = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _chars = require("../../../lib/chars");
2
+ var _Emotion = require("../../../lib/theming/Emotion");
2
3
 
3
4
  var _Input = require("../Input.styles");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
4
5
 
@@ -16,11 +17,15 @@ var stylesLayout = (0, _Emotion.memoizeStyle)({
16
17
 
17
18
  },
18
19
  aside: function aside() {
19
- return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n "])));
20
+ return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n\n &::before {\n content: '", "';\n }\n "])),
20
21
 
21
22
 
22
23
 
23
24
 
25
+
26
+ _chars.ZERO_WIDTH_SPACE_CSS);
27
+
28
+
24
29
  },
25
30
  icon: function icon(t) {
26
31
  return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n "])),
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLayout.styles.ts"],"names":["stylesLayout","root","t","styles","input","css","aside","icon","inputIconColor","iconFocus","inputFocusedIconColor","iconDisabled","text","inputPlaceholderColor","textDisabled","inputPlaceholderColorDisabled"],"mappings":"kRAAA;;AAEA,wC;;AAEO,IAAMA,YAAY,GAAG,2BAAa;AACvCC,EAAAA,IADuC,gBAClCC,CADkC,EACxB;AACb,WAAOC,cAAOF,IAAP,CAAYC,CAAZ,CAAP;AACD,GAHsC;AAIvCE,EAAAA,KAJuC,mBAI/B;AACN,eAAOC,YAAP;;;;;;;AAOD,GAZsC;AAavCC,EAAAA,KAbuC,mBAa/B;AACN,eAAOD,YAAP;;;;;AAKD,GAnBsC;AAoBvCE,EAAAA,IApBuC,gBAoBlCL,CApBkC,EAoBxB;AACb,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACM,cADb;;AAGD,GAxBsC;AAyBvCC,EAAAA,SAzBuC,qBAyB7BP,CAzB6B,EAyBnB;AAClB,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACQ,qBADb;;AAGD,GA7BsC;AA8BvCC,EAAAA,YA9BuC,0BA8BxB;AACb,eAAON,YAAP;;;AAGD,GAlCsC;AAmCvCO,EAAAA,IAnCuC,gBAmClCV,CAnCkC,EAmCxB;AACb,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACW,qBADb;;AAGD,GAvCsC;AAwCvCC,EAAAA,YAxCuC,wBAwC1BZ,CAxC0B,EAwChB;AACrB,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACa,6BADb;;AAGD,GA5CsC,EAAb,CAArB,C","sourcesContent":["import { css, memoizeStyle } from '../../../lib/theming/Emotion';\nimport { Theme } from '../../../lib/theming/Theme';\nimport { styles } from '../Input.styles';\n\nexport const stylesLayout = memoizeStyle({\n root(t: Theme) {\n return styles.root(t);\n },\n input() {\n return css`\n min-width: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n display: flex;\n `;\n },\n aside() {\n return css`\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n `;\n },\n icon(t: Theme) {\n return css`\n color: ${t.inputIconColor};\n `;\n },\n iconFocus(t: Theme) {\n return css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n iconDisabled() {\n return css`\n cursor: default;\n `;\n },\n text(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n textDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["InputLayout.styles.ts"],"names":["stylesLayout","root","t","styles","input","css","aside","ZERO_WIDTH_SPACE_CSS","icon","inputIconColor","iconFocus","inputFocusedIconColor","iconDisabled","text","inputPlaceholderColor","textDisabled","inputPlaceholderColorDisabled"],"mappings":"kRAAA;AACA;;AAEA,wC;;AAEO,IAAMA,YAAY,GAAG,2BAAa;AACvCC,EAAAA,IADuC,gBAClCC,CADkC,EACxB;AACb,WAAOC,cAAOF,IAAP,CAAYC,CAAZ,CAAP;AACD,GAHsC;AAIvCE,EAAAA,KAJuC,mBAI/B;AACN,eAAOC,YAAP;;;;;;;AAOD,GAZsC;AAavCC,EAAAA,KAbuC,mBAa/B;AACN,eAAOD,YAAP;;;;;;AAMgBE,+BANhB;;;AASD,GAvBsC;AAwBvCC,EAAAA,IAxBuC,gBAwBlCN,CAxBkC,EAwBxB;AACb,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACO,cADb;;AAGD,GA5BsC;AA6BvCC,EAAAA,SA7BuC,qBA6B7BR,CA7B6B,EA6BnB;AAClB,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACS,qBADb;;AAGD,GAjCsC;AAkCvCC,EAAAA,YAlCuC,0BAkCxB;AACb,eAAOP,YAAP;;;AAGD,GAtCsC;AAuCvCQ,EAAAA,IAvCuC,gBAuClCX,CAvCkC,EAuCxB;AACb,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACY,qBADb;;AAGD,GA3CsC;AA4CvCC,EAAAA,YA5CuC,wBA4C1Bb,CA5C0B,EA4ChB;AACrB,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACc,6BADb;;AAGD,GAhDsC,EAAb,CAArB,C","sourcesContent":["import { ZERO_WIDTH_SPACE_CSS } from '../../../lib/chars';\nimport { css, memoizeStyle } from '../../../lib/theming/Emotion';\nimport { Theme } from '../../../lib/theming/Theme';\nimport { styles } from '../Input.styles';\n\nexport const stylesLayout = memoizeStyle({\n root(t: Theme) {\n return styles.root(t);\n },\n input() {\n return css`\n min-width: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n display: flex;\n `;\n },\n aside() {\n return css`\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n\n &::before {\n content: '${ZERO_WIDTH_SPACE_CSS}';\n }\n `;\n },\n icon(t: Theme) {\n return css`\n color: ${t.inputIconColor};\n `;\n },\n iconFocus(t: Theme) {\n return css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n iconDisabled() {\n return css`\n cursor: default;\n `;\n },\n text(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n textDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n});\n"]}
@@ -1,7 +1,6 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.InputLayoutAside = void 0;var _react = _interopRequireDefault(require("react"));
2
2
 
3
3
 
4
- var _chars = require("../../../lib/chars");
5
4
 
6
5
  var _InputLayout = require("./InputLayout.styles");
7
6
  var _InputLayoutAsideIcon = require("./InputLayoutAsideIcon");
@@ -21,10 +20,5 @@ var InputLayoutAside = function InputLayoutAside(_ref) {var icon = _ref.icon,tex
21
20
 
22
21
  var child = side === 'left' ? [_icon, _text] : [_text, _icon];
23
22
 
24
- return /*#__PURE__*/(
25
- _react.default.createElement("span", { className: asideClassName },
26
- _chars.ZERO_WIDTH_SPACE,
27
- child));
28
-
29
-
23
+ return /*#__PURE__*/_react.default.createElement("span", { className: asideClassName }, child);
30
24
  };exports.InputLayoutAside = InputLayoutAside;
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLayoutAside.tsx"],"names":["InputLayoutAside","icon","text","side","asideClassName","stylesLayout","aside","_icon","_text","child","ZERO_WIDTH_SPACE"],"mappings":"8JAAA;;;AAGA;;AAEA;AACA;AACA;;;;;;;;AAQO,IAAMA,gBAAgE,GAAG,SAAnEA,gBAAmE,OAA0B,KAAvBC,IAAuB,QAAvBA,IAAuB,CAAjBC,IAAiB,QAAjBA,IAAiB,CAAXC,IAAW,QAAXA,IAAW;AACxG,MAAMC,cAAc,GAAGC,0BAAaC,KAAb,EAAvB;;AAEA,MAAMC,KAAK,gBAAG,6BAAC,0CAAD,IAAsB,GAAG,EAAC,MAA1B,EAAiC,IAAI,EAAEN,IAAvC,EAA6C,IAAI,EAAEE,IAAnD,GAAd;AACA,MAAMK,KAAK,gBAAG,6BAAC,0CAAD,IAAsB,GAAG,EAAC,MAA1B,EAAiC,IAAI,EAAEN,IAAvC,GAAd;;AAEA,MAAMO,KAAK,GAAGN,IAAI,KAAK,MAAT,GAAkB,CAACI,KAAD,EAAQC,KAAR,CAAlB,GAAmC,CAACA,KAAD,EAAQD,KAAR,CAAjD;;AAEA;AACE,2CAAM,SAAS,EAAEH,cAAjB;AACGM,2BADH;AAEGD,IAAAA,KAFH,CADF;;;AAMD,CAdM,C","sourcesContent":["import React from 'react';\n\nimport { InputProps } from '../Input';\nimport { ZERO_WIDTH_SPACE } from '../../../lib/chars';\n\nimport { stylesLayout } from './InputLayout.styles';\nimport { InputLayoutAsideIcon } from './InputLayoutAsideIcon';\nimport { InputLayoutAsideText } from './InputLayoutAsideText';\n\nexport interface InputLayoutAsideProps {\n icon: InputProps['leftIcon'] | InputProps['rightIcon'];\n text: InputProps['prefix'] | InputProps['suffix'];\n side: 'left' | 'right';\n}\n\nexport const InputLayoutAside: React.FunctionComponent<InputLayoutAsideProps> = ({ icon, text, side }) => {\n const asideClassName = stylesLayout.aside();\n\n const _icon = <InputLayoutAsideIcon key=\"icon\" icon={icon} side={side} />;\n const _text = <InputLayoutAsideText key=\"text\" text={text} />;\n\n const child = side === 'left' ? [_icon, _text] : [_text, _icon];\n\n return (\n <span className={asideClassName}>\n {ZERO_WIDTH_SPACE}\n {child}\n </span>\n );\n};\n"]}
1
+ {"version":3,"sources":["InputLayoutAside.tsx"],"names":["InputLayoutAside","icon","text","side","asideClassName","stylesLayout","aside","_icon","_text","child"],"mappings":"8JAAA;;;;AAIA;AACA;AACA;;;;;;;;AAQO,IAAMA,gBAAgE,GAAG,SAAnEA,gBAAmE,OAA0B,KAAvBC,IAAuB,QAAvBA,IAAuB,CAAjBC,IAAiB,QAAjBA,IAAiB,CAAXC,IAAW,QAAXA,IAAW;AACxG,MAAMC,cAAc,GAAGC,0BAAaC,KAAb,EAAvB;;AAEA,MAAMC,KAAK,gBAAG,6BAAC,0CAAD,IAAsB,GAAG,EAAC,MAA1B,EAAiC,IAAI,EAAEN,IAAvC,EAA6C,IAAI,EAAEE,IAAnD,GAAd;AACA,MAAMK,KAAK,gBAAG,6BAAC,0CAAD,IAAsB,GAAG,EAAC,MAA1B,EAAiC,IAAI,EAAEN,IAAvC,GAAd;;AAEA,MAAMO,KAAK,GAAGN,IAAI,KAAK,MAAT,GAAkB,CAACI,KAAD,EAAQC,KAAR,CAAlB,GAAmC,CAACA,KAAD,EAAQD,KAAR,CAAjD;;AAEA,sBAAO,uCAAM,SAAS,EAAEH,cAAjB,IAAkCK,KAAlC,CAAP;AACD,CATM,C","sourcesContent":["import React from 'react';\n\nimport { InputProps } from '../Input';\n\nimport { stylesLayout } from './InputLayout.styles';\nimport { InputLayoutAsideIcon } from './InputLayoutAsideIcon';\nimport { InputLayoutAsideText } from './InputLayoutAsideText';\n\nexport interface InputLayoutAsideProps {\n icon: InputProps['leftIcon'] | InputProps['rightIcon'];\n text: InputProps['prefix'] | InputProps['suffix'];\n side: 'left' | 'right';\n}\n\nexport const InputLayoutAside: React.FunctionComponent<InputLayoutAsideProps> = ({ icon, text, side }) => {\n const asideClassName = stylesLayout.aside();\n\n const _icon = <InputLayoutAsideIcon key=\"icon\" icon={icon} side={side} />;\n const _text = <InputLayoutAsideText key=\"text\" text={text} />;\n\n const child = side === 'left' ? [_icon, _text] : [_text, _icon];\n\n return <span className={asideClassName}>{child}</span>;\n};\n"]}
@@ -6,6 +6,7 @@ var _utils = require("../../../lib/utils");
6
6
  var _Emotion = require("../../../lib/theming/Emotion");
7
7
  var _ThemeContext = require("../../../lib/theming/ThemeContext");
8
8
 
9
+
9
10
  var _InputLayoutContext = require("./InputLayoutContext");
10
11
  var _InputLayout = require("./InputLayout.styles");
11
12
 
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLayoutAsideIcon.tsx"],"names":["InputLayoutAsideIcon","icon","side","theme","React","useContext","ThemeContext","InputLayoutContext","focused","disabled","size","sizes","small","parseInt","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","gaps","inputIconGapSmall","inputIconGapMedium","inputIconGapLarge","_icon","Function","cloneElement","props","style","marginLeft","marginRight","stylesLayout","aside","iconFocus","iconDisabled"],"mappings":"kKAAA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;;;;;AAMO,IAAMA,oBAAwE,GAAG,SAA3EA,oBAA2E,OAA2B,sBAAxBC,IAAwB,CAAxBA,IAAwB,0BAAjB,IAAiB,aAAXC,IAAW,QAAXA,IAAW;AACjH,MAAMC,KAAK,GAAGC,eAAMC,UAAN,CAAiBC,0BAAjB,CAAd;AACA,0BAAoCF,eAAMC,UAAN,CAAiBE,sCAAjB,CAApC,CAAQC,OAAR,qBAAQA,OAAR,CAAiBC,QAAjB,qBAAiBA,QAAjB,CAA2BC,IAA3B,qBAA2BA,IAA3B;;AAEA,MAAMC,KAAgC,GAAG;AACvCC,IAAAA,KAAK,EAAEC,QAAQ,CAACV,KAAK,CAACW,kBAAP,CADwB;AAEvCC,IAAAA,MAAM,EAAEF,QAAQ,CAACV,KAAK,CAACa,mBAAP,CAFuB;AAGvCC,IAAAA,KAAK,EAAEJ,QAAQ,CAACV,KAAK,CAACe,kBAAP,CAHwB,EAAzC;;AAKA,MAAMC,IAA+B,GAAG;AACtCP,IAAAA,KAAK,EAAEC,QAAQ,CAACV,KAAK,CAACiB,iBAAP,CADuB;AAEtCL,IAAAA,MAAM,EAAEF,QAAQ,CAACV,KAAK,CAACkB,kBAAP,CAFsB;AAGtCJ,IAAAA,KAAK,EAAEJ,QAAQ,CAACV,KAAK,CAACmB,iBAAP,CAHuB,EAAxC;;;AAMA,MAAIC,KAAK,GAAGtB,IAAI,YAAYuB,QAAhB,GAA2BvB,IAAI,EAA/B,GAAoCA,IAAhD;AACA,MAAI,wBAAUA,IAAV,KAAmB,yBAAaA,IAAb,CAAvB,EAA2C;AACzCsB,IAAAA,KAAK,gBAAGnB,eAAMqB,YAAN,CAAmBxB,IAAnB,EAAyB,EAAES,IAAI,sBAAET,IAAI,CAACyB,KAAL,CAAWhB,IAAb,+BAAqBC,KAAK,CAACD,IAAD,CAAhC,EAAzB,CAAR;AACD;;AAED,MAAMiB,KAA0B,GAAG,EAAnC;AACA,MAAIzB,IAAJ,EAAU;AACR,QAAIA,IAAI,KAAK,OAAb,EAAsB;AACpByB,MAAAA,KAAK,CAACC,UAAN,GAAmBT,IAAI,CAACT,IAAD,CAAvB;AACD,KAFD,MAEO;AACLiB,MAAAA,KAAK,CAACE,WAAN,GAAoBV,IAAI,CAACT,IAAD,CAAxB;AACD;AACF;;AAED;AACEa,IAAAA,KAAK;AACH;AACE,MAAA,KAAK,EAAEI,KADT;AAEE,MAAA,SAAS,EAAE;AACTG,gCAAaC,KAAb,EADS;AAETD,gCAAa7B,IAAb,CAAkBE,KAAlB,CAFS;AAGTK,MAAAA,OAAO,IAAIsB,0BAAaE,SAAb,CAAuB7B,KAAvB,CAHF;AAITM,MAAAA,QAAQ,IAAIqB,0BAAaG,YAAb,EAJH,CAFb;;;AASGV,IAAAA,KATH,CAFJ;;;;AAeD,CA5CM,C","sourcesContent":["import React from 'react';\nimport { isElement } from 'react-is';\n\nimport { isKonturIcon } from '../../../lib/utils';\nimport { InputProps, InputSize } from '../Input';\nimport { cx } from '../../../lib/theming/Emotion';\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\n\nimport { InputLayoutContext } from './InputLayoutContext';\nimport { stylesLayout } from './InputLayout.styles';\nexport interface InputLayoutAsideIconProps {\n icon: InputProps['leftIcon'] | InputProps['rightIcon'];\n side: 'left' | 'right';\n}\n\nexport const InputLayoutAsideIcon: React.FunctionComponent<InputLayoutAsideIconProps> = ({ icon = null, side }) => {\n const theme = React.useContext(ThemeContext);\n const { focused, disabled, size } = React.useContext(InputLayoutContext);\n\n const sizes: Record<InputSize, number> = {\n small: parseInt(theme.inputIconSizeSmall),\n medium: parseInt(theme.inputIconSizeMedium),\n large: parseInt(theme.inputIconSizeLarge),\n };\n const gaps: Record<InputSize, number> = {\n small: parseInt(theme.inputIconGapSmall),\n medium: parseInt(theme.inputIconGapMedium),\n large: parseInt(theme.inputIconGapLarge),\n };\n\n let _icon = icon instanceof Function ? icon() : icon;\n if (isElement(icon) && isKonturIcon(icon)) {\n _icon = React.cloneElement(icon, { size: icon.props.size ?? sizes[size] });\n }\n\n const style: React.CSSProperties = {};\n if (side) {\n if (side === 'right') {\n style.marginLeft = gaps[size];\n } else {\n style.marginRight = gaps[size];\n }\n }\n\n return (\n _icon && (\n <span\n style={style}\n className={cx(\n stylesLayout.aside(),\n stylesLayout.icon(theme),\n focused && stylesLayout.iconFocus(theme),\n disabled && stylesLayout.iconDisabled(),\n )}\n >\n {_icon}\n </span>\n )\n );\n};\n"]}
1
+ {"version":3,"sources":["InputLayoutAsideIcon.tsx"],"names":["InputLayoutAsideIcon","icon","side","theme","React","useContext","ThemeContext","InputLayoutContext","focused","disabled","size","sizes","small","parseInt","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","gaps","inputIconGapSmall","inputIconGapMedium","inputIconGapLarge","_icon","Function","cloneElement","props","style","marginLeft","marginRight","stylesLayout","aside","iconFocus","iconDisabled"],"mappings":"kKAAA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;;;;;;AAMO,IAAMA,oBAAwE,GAAG,SAA3EA,oBAA2E,OAA2B,sBAAxBC,IAAwB,CAAxBA,IAAwB,0BAAjB,IAAiB,aAAXC,IAAW,QAAXA,IAAW;AACjH,MAAMC,KAAK,GAAGC,eAAMC,UAAN,CAAiBC,0BAAjB,CAAd;AACA,0BAAoCF,eAAMC,UAAN,CAAiBE,sCAAjB,CAApC,CAAQC,OAAR,qBAAQA,OAAR,CAAiBC,QAAjB,qBAAiBA,QAAjB,CAA2BC,IAA3B,qBAA2BA,IAA3B;;AAEA,MAAMC,KAA+B,GAAG;AACtCC,IAAAA,KAAK,EAAEC,QAAQ,CAACV,KAAK,CAACW,kBAAP,CADuB;AAEtCC,IAAAA,MAAM,EAAEF,QAAQ,CAACV,KAAK,CAACa,mBAAP,CAFsB;AAGtCC,IAAAA,KAAK,EAAEJ,QAAQ,CAACV,KAAK,CAACe,kBAAP,CAHuB,EAAxC;;AAKA,MAAMC,IAA8B,GAAG;AACrCP,IAAAA,KAAK,EAAEC,QAAQ,CAACV,KAAK,CAACiB,iBAAP,CADsB;AAErCL,IAAAA,MAAM,EAAEF,QAAQ,CAACV,KAAK,CAACkB,kBAAP,CAFqB;AAGrCJ,IAAAA,KAAK,EAAEJ,QAAQ,CAACV,KAAK,CAACmB,iBAAP,CAHsB,EAAvC;;;AAMA,MAAIC,KAAK,GAAGtB,IAAI,YAAYuB,QAAhB,GAA2BvB,IAAI,EAA/B,GAAoCA,IAAhD;AACA,MAAI,wBAAUA,IAAV,KAAmB,yBAAaA,IAAb,CAAvB,EAA2C;AACzCsB,IAAAA,KAAK,gBAAGnB,eAAMqB,YAAN,CAAmBxB,IAAnB,EAAyB,EAAES,IAAI,sBAAET,IAAI,CAACyB,KAAL,CAAWhB,IAAb,+BAAqBC,KAAK,CAACD,IAAD,CAAhC,EAAzB,CAAR;AACD;;AAED,MAAMiB,KAA0B,GAAG,EAAnC;AACA,MAAIzB,IAAJ,EAAU;AACR,QAAIA,IAAI,KAAK,OAAb,EAAsB;AACpByB,MAAAA,KAAK,CAACC,UAAN,GAAmBT,IAAI,CAACT,IAAD,CAAvB;AACD,KAFD,MAEO;AACLiB,MAAAA,KAAK,CAACE,WAAN,GAAoBV,IAAI,CAACT,IAAD,CAAxB;AACD;AACF;;AAED;AACEa,IAAAA,KAAK;AACH;AACE,MAAA,KAAK,EAAEI,KADT;AAEE,MAAA,SAAS,EAAE;AACTG,gCAAaC,KAAb,EADS;AAETD,gCAAa7B,IAAb,CAAkBE,KAAlB,CAFS;AAGTK,MAAAA,OAAO,IAAIsB,0BAAaE,SAAb,CAAuB7B,KAAvB,CAHF;AAITM,MAAAA,QAAQ,IAAIqB,0BAAaG,YAAb,EAJH,CAFb;;;AASGV,IAAAA,KATH,CAFJ;;;;AAeD,CA5CM,C","sourcesContent":["import React from 'react';\nimport { isElement } from 'react-is';\n\nimport { isKonturIcon } from '../../../lib/utils';\nimport { InputProps } from '../Input';\nimport { cx } from '../../../lib/theming/Emotion';\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\nimport { SizeProp } from '../../../lib/types/props';\n\nimport { InputLayoutContext } from './InputLayoutContext';\nimport { stylesLayout } from './InputLayout.styles';\nexport interface InputLayoutAsideIconProps {\n icon: InputProps['leftIcon'] | InputProps['rightIcon'];\n side: 'left' | 'right';\n}\n\nexport const InputLayoutAsideIcon: React.FunctionComponent<InputLayoutAsideIconProps> = ({ icon = null, side }) => {\n const theme = React.useContext(ThemeContext);\n const { focused, disabled, size } = React.useContext(InputLayoutContext);\n\n const sizes: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconSizeSmall),\n medium: parseInt(theme.inputIconSizeMedium),\n large: parseInt(theme.inputIconSizeLarge),\n };\n const gaps: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconGapSmall),\n medium: parseInt(theme.inputIconGapMedium),\n large: parseInt(theme.inputIconGapLarge),\n };\n\n let _icon = icon instanceof Function ? icon() : icon;\n if (isElement(icon) && isKonturIcon(icon)) {\n _icon = React.cloneElement(icon, { size: icon.props.size ?? sizes[size] });\n }\n\n const style: React.CSSProperties = {};\n if (side) {\n if (side === 'right') {\n style.marginLeft = gaps[size];\n } else {\n style.marginRight = gaps[size];\n }\n }\n\n return (\n _icon && (\n <span\n style={style}\n className={cx(\n stylesLayout.aside(),\n stylesLayout.icon(theme),\n focused && stylesLayout.iconFocus(theme),\n disabled && stylesLayout.iconDisabled(),\n )}\n >\n {_icon}\n </span>\n )\n );\n};\n"]}
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import { InputSize } from '../Input';
2
+ import { SizeProp } from '../../../lib/types/props';
3
3
  export interface InputLayoutContextProps {
4
4
  focused: boolean;
5
5
  disabled: boolean;
6
- size: InputSize;
6
+ size: SizeProp;
7
7
  }
8
8
  export declare const InputLayoutContextDefault: InputLayoutContextProps;
9
9
  export declare const InputLayoutContext: React.Context<InputLayoutContextProps>;
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLayoutContext.tsx"],"names":["InputLayoutContextDefault","focused","disabled","size","InputLayoutContext","React","createContext"],"mappings":"oMAAA;;;;;;;;;;AAUO,IAAMA,yBAAkD,GAAG;AAChEC,EAAAA,OAAO,EAAE,KADuD;AAEhEC,EAAAA,QAAQ,EAAE,KAFsD;AAGhEC,EAAAA,IAAI,EAAE,OAH0D,EAA3D,C;;;AAMA,IAAMC,kBAAkB,gBAAGC,eAAMC,aAAN,CAA6CN,yBAA7C,CAA3B,C","sourcesContent":["import React from 'react';\n\nimport { InputSize } from '../Input';\n\nexport interface InputLayoutContextProps {\n focused: boolean;\n disabled: boolean;\n size: InputSize;\n}\n\nexport const InputLayoutContextDefault: InputLayoutContextProps = {\n focused: false,\n disabled: false,\n size: 'small',\n};\n\nexport const InputLayoutContext = React.createContext<InputLayoutContextProps>(InputLayoutContextDefault);\n"]}
1
+ {"version":3,"sources":["InputLayoutContext.tsx"],"names":["InputLayoutContextDefault","focused","disabled","size","InputLayoutContext","React","createContext"],"mappings":"oMAAA;;;;;;;;;;AAUO,IAAMA,yBAAkD,GAAG;AAChEC,EAAAA,OAAO,EAAE,KADuD;AAEhEC,EAAAA,QAAQ,EAAE,KAFsD;AAGhEC,EAAAA,IAAI,EAAE,OAH0D,EAA3D,C;;;AAMA,IAAMC,kBAAkB,gBAAGC,eAAMC,aAAN,CAA6CN,yBAA7C,CAA3B,C","sourcesContent":["import React from 'react';\n\nimport { SizeProp } from '../../../lib/types/props';\n\nexport interface InputLayoutContextProps {\n focused: boolean;\n disabled: boolean;\n size: SizeProp;\n}\n\nexport const InputLayoutContextDefault: InputLayoutContextProps = {\n focused: false,\n disabled: false,\n size: 'small',\n};\n\nexport const InputLayoutContext = React.createContext<InputLayoutContextProps>(InputLayoutContextDefault);\n"]}
@@ -3,9 +3,10 @@ import { PopupMenuProps } from '../../internal/PopupMenu';
3
3
  import { Nullable } from '../../typings/utility-types';
4
4
  import { PopupPositionsType } from '../../internal/Popup';
5
5
  import { CommonProps } from '../../internal/CommonWrapper';
6
+ import { SizeProp } from '../../lib/types/props';
6
7
  export interface KebabProps extends Pick<AriaAttributes, 'aria-label'>, Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>, CommonProps {
7
8
  disabled?: boolean;
8
- size?: 'small' | 'medium' | 'large';
9
+ size?: SizeProp;
9
10
  /**
10
11
  * Список позиций доступных для расположения выпадашки.
11
12
  *
@@ -1,6 +1,7 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.KebabDataTids = exports.Kebab = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
  var _propTypes = _interopRequireDefault(require("prop-types"));
3
3
  var _reactIs = require("react-is");
4
+ var _globalObject = require("@skbkontur/global-object");
4
5
 
5
6
  var _utils = require("../../lib/utils");
6
7
  var _identifiers = require("../../lib/events/keyboard/identifiers");
@@ -213,7 +214,7 @@ Kebab = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functio
213
214
  if (!_this.props.disabled) {
214
215
  // focus event fires before keyDown eventlistener
215
216
  // so we should check tabPressed in async way
216
- requestAnimationFrame(function () {
217
+ _globalObject.globalObject.requestAnimationFrame == null ? void 0 : _globalObject.globalObject.requestAnimationFrame(function () {
217
218
  if (_keyListener.keyListener.isTabPressed) {
218
219
  _this.setState({ focusedByTab: true });
219
220
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["Kebab.tsx"],"names":["KebabDataTids","caption","Kebab","rootNode","getProps","defaultProps","state","focusedByTab","anchor","listener","remove","undefined","renderCaption","captionProps","disabled","size","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","handleFocus","handleBlur","styles","kebab","theme","kebabSmall","kebabMedium","kebabLarge","kebab2022","opened","focused","props","renderIcon2022","renderIcon","e","isKeyEnter","isKeySpace","isKeyArrowVertical","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","requestAnimationFrame","keyListener","isTabPressed","componentDidMount","LayoutEvents","addListener","componentWillUnmount","render","ThemeFactory","create","popupPinOffset","kebabPinOffset","popupMargin","kebabMargin","popupPinSize","kebabPinSize","menuScrollContainerContentWrapperPaddingY","menuLegacyPaddingY","renderMain","positions","disableAnimations","onOpen","onClose","setRootNode","preventIconsOffset","menuMaxHeight","popupMenuId","children","icon","iconsmall","iconmedium","iconlarge","sizes","small","parseInt","kebabIconSizeSmall","medium","kebabIconSizeMedium","large","kebabIconSizeLarge","React","cloneElement","color","kebabIconColor","Component","__KONTUR_REACT_UI__","propTypes","isTestEnv","PropTypes","node","bool","oneOfType","string","number","func"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { isElement } from 'react-is';\n\nimport { isKonturIcon } from '../../lib/utils';\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { PopupMenu, PopupMenuCaptionProps, PopupMenuProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MenuKebabIcon } from '../../internal/icons/16px';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ButtonSize } from '../Button';\n\nimport { styles } from './Kebab.styles';\nimport { KebabIcon } from './KebabIcon';\n\nexport interface KebabProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>,\n CommonProps {\n disabled?: boolean;\n size?: 'small' | 'medium' | 'large';\n /**\n * Список позиций доступных для расположения выпадашки.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n menuMaxHeight?: number | string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n /**\n * Кастомная иконка\n */\n icon?: React.ReactNode;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const KebabDataTids = {\n caption: 'Kebab__caption',\n} as const;\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n}\n\ntype DefaultProps = Required<Pick<KebabProps, 'onOpen' | 'onClose' | 'positions' | 'size' | 'disableAnimations'>>;\n\n@rootNode\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps: DefaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Kebab.defaultProps);\n\n public state: KebabState = {\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.kebabPinOffset,\n popupMargin: theme.kebabMargin,\n popupPinSize: theme.kebabPinSize,\n menuScrollContainerContentWrapperPaddingY: theme.menuLegacyPaddingY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled } = this.props;\n const { positions, disableAnimations, onOpen, onClose } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n popupHasPin\n preventIconsOffset={this.props.preventIconsOffset}\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={disableAnimations}\n menuMaxHeight={this.props.menuMaxHeight}\n onOpen={onOpen}\n onClose={onClose}\n popupMenuId={this.props.popupMenuId}\n aria-label={this.props['aria-label']}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled, size } = this.getProps();\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n\n return (\n <span\n role=\"button\"\n data-tid={KebabDataTids.caption}\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx(\n styles.kebab(this.theme),\n size === 'small' && styles.kebabSmall(this.theme),\n size === 'medium' && styles.kebabMedium(this.theme),\n size === 'large' && styles.kebabLarge(this.theme),\n isTheme2022(this.theme) && styles.kebab2022(),\n captionProps.opened && styles.opened(this.theme),\n disabled && styles.disabled(),\n this.state.focusedByTab && styles.focused(this.theme),\n )}\n aria-describedby={this.props['aria-describedby']}\n >\n {isTheme2022(this.theme) ? this.renderIcon2022() : this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState({\n focusedByTab: !isOpened && restoreFocus,\n });\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n const { size, icon = <MenuKebabIcon /> } = this.getProps();\n return (\n <div\n className={cx({\n [styles.icon(this.theme)]: true,\n [styles.iconsmall(this.theme)]: size === 'small',\n [styles.iconmedium(this.theme)]: size === 'medium',\n [styles.iconlarge(this.theme)]: size === 'large',\n })}\n >\n {icon}\n </div>\n );\n }\n\n private renderIcon2022() {\n const { size, icon = <KebabIcon /> } = this.getProps();\n\n if (isElement(icon) && isKonturIcon(icon)) {\n const sizes: Record<ButtonSize, number> = {\n small: parseInt(this.theme.kebabIconSizeSmall),\n medium: parseInt(this.theme.kebabIconSizeMedium),\n large: parseInt(this.theme.kebabIconSizeLarge),\n };\n\n return React.cloneElement(icon, {\n size: icon.props.size ?? sizes[size],\n color: icon.props.color ?? this.theme.kebabIconColor,\n });\n }\n\n return icon;\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"]}
1
+ {"version":3,"sources":["Kebab.tsx"],"names":["KebabDataTids","caption","Kebab","rootNode","getProps","defaultProps","state","focusedByTab","anchor","listener","remove","undefined","renderCaption","captionProps","disabled","size","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","handleFocus","handleBlur","styles","kebab","theme","kebabSmall","kebabMedium","kebabLarge","kebab2022","opened","focused","props","renderIcon2022","renderIcon","e","isKeyEnter","isKeySpace","isKeyArrowVertical","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","globalObject","requestAnimationFrame","keyListener","isTabPressed","componentDidMount","LayoutEvents","addListener","componentWillUnmount","render","ThemeFactory","create","popupPinOffset","kebabPinOffset","popupMargin","kebabMargin","popupPinSize","kebabPinSize","menuScrollContainerContentWrapperPaddingY","menuLegacyPaddingY","renderMain","positions","disableAnimations","onOpen","onClose","setRootNode","preventIconsOffset","menuMaxHeight","popupMenuId","children","icon","iconsmall","iconmedium","iconlarge","sizes","small","parseInt","kebabIconSizeSmall","medium","kebabIconSizeMedium","large","kebabIconSizeLarge","React","cloneElement","color","kebabIconColor","Component","__KONTUR_REACT_UI__","propTypes","isTestEnv","PropTypes","node","bool","oneOfType","string","number","func"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { isElement } from 'react-is';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isKonturIcon } from '../../lib/utils';\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { PopupMenu, PopupMenuCaptionProps, PopupMenuProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MenuKebabIcon } from '../../internal/icons/16px';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles } from './Kebab.styles';\nimport { KebabIcon } from './KebabIcon';\n\nexport interface KebabProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>,\n CommonProps {\n disabled?: boolean;\n size?: SizeProp;\n /**\n * Список позиций доступных для расположения выпадашки.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n menuMaxHeight?: number | string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n /**\n * Кастомная иконка\n */\n icon?: React.ReactNode;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const KebabDataTids = {\n caption: 'Kebab__caption',\n} as const;\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n}\n\ntype DefaultProps = Required<Pick<KebabProps, 'onOpen' | 'onClose' | 'positions' | 'size' | 'disableAnimations'>>;\n\n@rootNode\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps: DefaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Kebab.defaultProps);\n\n public state: KebabState = {\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.kebabPinOffset,\n popupMargin: theme.kebabMargin,\n popupPinSize: theme.kebabPinSize,\n menuScrollContainerContentWrapperPaddingY: theme.menuLegacyPaddingY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled } = this.props;\n const { positions, disableAnimations, onOpen, onClose } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n popupHasPin\n preventIconsOffset={this.props.preventIconsOffset}\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={disableAnimations}\n menuMaxHeight={this.props.menuMaxHeight}\n onOpen={onOpen}\n onClose={onClose}\n popupMenuId={this.props.popupMenuId}\n aria-label={this.props['aria-label']}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled, size } = this.getProps();\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n\n return (\n <span\n role=\"button\"\n data-tid={KebabDataTids.caption}\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx(\n styles.kebab(this.theme),\n size === 'small' && styles.kebabSmall(this.theme),\n size === 'medium' && styles.kebabMedium(this.theme),\n size === 'large' && styles.kebabLarge(this.theme),\n isTheme2022(this.theme) && styles.kebab2022(),\n captionProps.opened && styles.opened(this.theme),\n disabled && styles.disabled(),\n this.state.focusedByTab && styles.focused(this.theme),\n )}\n aria-describedby={this.props['aria-describedby']}\n >\n {isTheme2022(this.theme) ? this.renderIcon2022() : this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState({\n focusedByTab: !isOpened && restoreFocus,\n });\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n const { size, icon = <MenuKebabIcon /> } = this.getProps();\n return (\n <div\n className={cx({\n [styles.icon(this.theme)]: true,\n [styles.iconsmall(this.theme)]: size === 'small',\n [styles.iconmedium(this.theme)]: size === 'medium',\n [styles.iconlarge(this.theme)]: size === 'large',\n })}\n >\n {icon}\n </div>\n );\n }\n\n private renderIcon2022() {\n const { size, icon = <KebabIcon /> } = this.getProps();\n\n if (isElement(icon) && isKonturIcon(icon)) {\n const sizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.kebabIconSizeSmall),\n medium: parseInt(this.theme.kebabIconSizeMedium),\n large: parseInt(this.theme.kebabIconSizeLarge),\n };\n\n return React.cloneElement(icon, {\n size: icon.props.size ?? sizes[size],\n color: icon.props.color ?? this.theme.kebabIconColor,\n });\n }\n\n return icon;\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"]}
@@ -54,6 +54,11 @@ export interface LinkProps extends Pick<AriaAttributes, 'aria-label'>, CommonPro
54
54
  * @ignore
55
55
  */
56
56
  focused?: boolean;
57
+ /**
58
+ * Снимает ограничение на предотвращение событий при клике по ссылке без заданного `href`
59
+ * @ignore
60
+ */
61
+ _enableEventsWithoutHref?: boolean;
57
62
  }> {
58
63
  }
59
64
  export interface LinkState {
@@ -62,7 +67,7 @@ export interface LinkState {
62
67
  export declare const LinkDataTids: {
63
68
  readonly root: "Link__root";
64
69
  };
65
- declare type DefaultProps = Required<Pick<LinkProps, 'href' | 'use' | 'as'>>;
70
+ declare type DefaultProps = Required<Pick<LinkProps, 'href' | 'use' | 'as' | '_enableEventsWithoutHref'>>;
66
71
  /**
67
72
  * Элемент ссылки из HTML.
68
73
  */