@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
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePicker.tsx"],"names":["PropTypes","React","LocaleContext","locale","InternalDateGetter","ArrowAUpIcon16Light","isTheme2022","cx","ThemeFactory","InternalDate","MAX_FULLDATE","MIN_FULLDATE","InternalDateOrder","InternalDateSeparator","InternalDateValidateCheck","DateInput","DropdownContainer","filterProps","CommonWrapper","isMobile","NativeDateInput","getRootNode","rootNode","isNonNullable","createPropsGetter","Calendar","ThemeContext","Button","getTodayDate","styles","DatePickerLocaleHelper","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","DatePickerDataTids","root","input","label","pickerRoot","pickerTodayWrapper","DatePicker","getProps","defaultProps","calendar","state","opened","canUseMobileNativeDatePicker","today","focused","renderMain","props","picker","minDate","maxDate","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","menuPos","getParent","parseInt","theme","datePickerMenuOffsetY","menuAlign","calendarWrapper","e","preventDefault","c","parseValueToDate","handleValueChange","isHoliday","value","enableTodayLink","renderTodayLink","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","getInputRef","handleBlur","handleFocus","onValueChange","handleSelectToday","handleSelect","month","year","scrollToMonth","width","minWidth","ref","setState","onFocus","close","onBlur","blur","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","render","create","calendarBottomSeparatorBorder","setRootNode","undefined","date","validate","checks","NotNull","Native","toString","withPad","order","separator","setComponents","getTodayComponents","withSeparator","margin","todayAriaLabel","todayLinkWrapper","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","string","isRequired","oneOf","oneOfType","number","func","range","internalDate","DMY","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { LocaleContext } from '../../lib/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { cx } from '../../lib/theming/Emotion';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types';\nimport { Nullable } from '../../typings/utility-types';\nimport { DateInput } from '../DateInput';\nimport { DropdownContainer, DropdownContainerProps } from '../../internal/DropdownContainer';\nimport { filterProps } from '../../lib/filterProps';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Calendar, CalendarDateShape, CalendarProps } from '../Calendar';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Button } from '../Button';\nimport { getTodayDate } from '../Calendar/CalendarUtils';\n\nimport { styles } from './DatePicker.styles';\nimport { DatePickerLocale, DatePickerLocaleHelper } from './locale';\n\nconst INPUT_PASS_PROPS = {\n autoFocus: true,\n disabled: true,\n warning: true,\n error: true,\n size: true,\n onKeyDown: true,\n};\n\nexport const MIN_WIDTH = 120;\n\nexport interface DatePickerProps\n extends Pick<DropdownContainerProps, 'menuPos'>,\n Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate'>,\n CommonProps {\n autoFocus?: boolean;\n disabled?: boolean;\n /**\n * Отвечает за отображение кнопки \"Сегодня\".\n */\n enableTodayLink?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n menuAlign?: 'left' | 'right';\n size?: 'small' | 'medium' | 'large';\n value?: string | null;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: number | string;\n onBlur?: () => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange: (value: string) => void;\n onFocus?: () => void;\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n /**\n * Использовать на мобильных устройствах нативный календарь для выбора дат.\n *\n * - На iOS нативный календарь не умеет работать с minDate и maxDate\n */\n useMobileNativeDatePicker?: boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n today: CalendarDateShape;\n}\n\nexport const DatePickerDataTids = {\n root: 'DatePicker__root',\n input: 'DatePicker__input',\n label: 'DatePicker__label',\n pickerRoot: 'Picker__root',\n pickerTodayWrapper: 'Picker__todayWrapper',\n} as const;\n\ntype DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'>>;\n\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n\n public static propTypes = {\n autoFocus: PropTypes.bool,\n\n disabled: PropTypes.bool,\n\n /**\n * Включает кнопку сегодня в календаре\n */\n enableTodayLink: PropTypes.bool,\n\n error: PropTypes.bool,\n\n /**\n * Максимальная дата в календаре.\n */\n maxDate: PropTypes.string.isRequired,\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n /**\n * Минимальная дата в календаре.\n */\n minDate: PropTypes.string.isRequired,\n\n /**\n * Строка формата `dd.mm.yyyy`\n */\n value: PropTypes.string,\n\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\n onBlur: PropTypes.func,\n\n onValueChange: PropTypes.func.isRequired,\n\n onFocus: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n isHoliday: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n };\n\n private getProps = createPropsGetter(DatePicker.defaultProps);\n private theme!: Theme;\n private calendar: Calendar | null = null;\n private readonly locale!: DatePickerLocale;\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}) => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false, today: getTodayDate() };\n\n private input: DateInput | null = null;\n private focused = false;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate() {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.focus();\n }\n this.handleFocus();\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close() {\n this.setState({ opened: false });\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme)}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps>) => {\n let picker = null;\n\n const { minDate, maxDate } = this.getProps();\n\n if (this.state.opened) {\n picker = (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: this.locale.months,\n dayCellChooseDateAriaLabel: this.locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: this.locale.selectMonthAriaLabel,\n selectYearAriaLabel: this.locale.selectYearAriaLabel,\n selectChosenAriaLabel: this.locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <DropdownContainer\n menuPos={this.props.menuPos}\n data-tid={DatePickerDataTids.root}\n getParent={this.getParent}\n offsetY={parseInt(this.theme.datePickerMenuOffsetY)}\n align={this.props.menuAlign}\n >\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n ref={(c) => (this.calendar = c)}\n maxDate={this.parseValueToDate(maxDate)}\n minDate={this.parseValueToDate(minDate)}\n onValueChange={this.handleValueChange}\n isHoliday={this.props.isHoliday}\n value={this.parseValueToDate(this.props.value)}\n />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n </DropdownContainer>\n </LocaleContext.Provider>\n );\n }\n\n return (\n <label\n className={styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n data-tid={DatePickerDataTids.label}\n >\n <DateInput\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={minDate}\n maxDate={maxDate}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n data-tid={DatePickerDataTids.input}\n />\n {this.state.canUseMobileNativeDatePicker && (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={minDate}\n maxDate={maxDate}\n disabled={this.props.disabled}\n />\n )}\n {!this.state.canUseMobileNativeDatePicker && picker}\n </label>\n );\n };\n\n private parseValueToDate(value?: Nullable<string>): string | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date.toString({ withPad: true });\n }\n\n return undefined;\n }\n\n private renderTodayLink() {\n const { order, separator } = this.locale;\n const today = new InternalDate({ order, separator })\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n if (isTheme2022(this.theme)) {\n return (\n <div style={{ margin: 8 }}>\n <Button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n width=\"100%\"\n onClick={this.handleSelectToday(today)}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n return (\n <button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n className={cx({\n [styles.todayLinkWrapper(this.theme)]: true,\n })}\n onClick={this.handleSelectToday(today)}\n tabIndex={-1}\n >\n {`${this.locale.today} ${today}`}\n </button>\n );\n }\n\n private handleSelectToday = (today: string) => () => {\n this.handleSelect(today);\n\n if (this.calendar) {\n const { month, year } = this.state.today;\n this.calendar.scrollToMonth(month, year);\n }\n };\n\n public getParent = () => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n this.focused = true;\n\n this.setState({ opened: true });\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleValueChange = (value: string) => {\n this.handleSelect(value);\n this.blur();\n };\n\n private handleSelect = (value: string | null) => {\n if (!value) {\n return null;\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["DatePicker.tsx"],"names":["PropTypes","React","LocaleContext","locale","InternalDateGetter","ArrowAUpIcon16Light","isTheme2022","cx","ThemeFactory","InternalDate","MAX_FULLDATE","MIN_FULLDATE","InternalDateOrder","InternalDateSeparator","InternalDateValidateCheck","DateInput","DropdownContainer","filterProps","CommonWrapper","isMobile","NativeDateInput","getRootNode","rootNode","isNonNullable","createPropsGetter","Calendar","ThemeContext","Button","getTodayDate","styles","DatePickerLocaleHelper","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","DatePickerDataTids","root","input","label","pickerRoot","pickerTodayWrapper","DatePicker","getProps","defaultProps","calendar","state","opened","canUseMobileNativeDatePicker","today","focused","renderMain","props","picker","minDate","maxDate","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","menuPos","getParent","parseInt","theme","datePickerMenuOffsetY","menuAlign","calendarWrapper","e","preventDefault","c","parseValueToDate","handleValueChange","isHoliday","value","enableTodayLink","renderTodayLink","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","getInputRef","handleBlur","handleFocus","onValueChange","handleSelectToday","handleSelect","month","year","scrollToMonth","width","minWidth","ref","setState","onFocus","close","onBlur","blur","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","render","create","calendarBottomSeparatorBorder","setRootNode","undefined","date","validate","checks","NotNull","Native","toString","withPad","order","separator","setComponents","getTodayComponents","withSeparator","margin","todayAriaLabel","todayLinkWrapper","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","string","isRequired","oneOf","oneOfType","number","func","range","internalDate","DMY","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { LocaleContext } from '../../lib/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { cx } from '../../lib/theming/Emotion';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types';\nimport { Nullable } from '../../typings/utility-types';\nimport { DateInput } from '../DateInput';\nimport { DropdownContainer, DropdownContainerProps } from '../../internal/DropdownContainer';\nimport { filterProps } from '../../lib/filterProps';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Calendar, CalendarDateShape, CalendarProps } from '../Calendar';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Button } from '../Button';\nimport { getTodayDate } from '../Calendar/CalendarUtils';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles } from './DatePicker.styles';\nimport { DatePickerLocale, DatePickerLocaleHelper } from './locale';\n\nconst INPUT_PASS_PROPS = {\n autoFocus: true,\n disabled: true,\n warning: true,\n error: true,\n size: true,\n onKeyDown: true,\n};\n\nexport const MIN_WIDTH = 120;\n\nexport interface DatePickerProps\n extends Pick<DropdownContainerProps, 'menuPos'>,\n Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate'>,\n CommonProps {\n autoFocus?: boolean;\n disabled?: boolean;\n /**\n * Отвечает за отображение кнопки \"Сегодня\".\n */\n enableTodayLink?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n menuAlign?: 'left' | 'right';\n size?: SizeProp;\n value?: string | null;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: number | string;\n onBlur?: () => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange: (value: string) => void;\n onFocus?: () => void;\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n /**\n * Использовать на мобильных устройствах нативный календарь для выбора дат.\n *\n * - На iOS нативный календарь не умеет работать с minDate и maxDate\n */\n useMobileNativeDatePicker?: boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n today: CalendarDateShape;\n}\n\nexport const DatePickerDataTids = {\n root: 'DatePicker__root',\n input: 'DatePicker__input',\n label: 'DatePicker__label',\n pickerRoot: 'Picker__root',\n pickerTodayWrapper: 'Picker__todayWrapper',\n} as const;\n\ntype DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'>>;\n\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n\n public static propTypes = {\n autoFocus: PropTypes.bool,\n\n disabled: PropTypes.bool,\n\n /**\n * Включает кнопку сегодня в календаре\n */\n enableTodayLink: PropTypes.bool,\n\n error: PropTypes.bool,\n\n /**\n * Максимальная дата в календаре.\n */\n maxDate: PropTypes.string.isRequired,\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n /**\n * Минимальная дата в календаре.\n */\n minDate: PropTypes.string.isRequired,\n\n /**\n * Строка формата `dd.mm.yyyy`\n */\n value: PropTypes.string,\n\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\n onBlur: PropTypes.func,\n\n onValueChange: PropTypes.func.isRequired,\n\n onFocus: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n isHoliday: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n };\n\n private getProps = createPropsGetter(DatePicker.defaultProps);\n private theme!: Theme;\n private calendar: Calendar | null = null;\n private readonly locale!: DatePickerLocale;\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}) => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false, today: getTodayDate() };\n\n private input: DateInput | null = null;\n private focused = false;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate() {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.focus();\n }\n this.handleFocus();\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close() {\n this.setState({ opened: false });\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme)}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps>) => {\n let picker = null;\n\n const { minDate, maxDate } = this.getProps();\n\n if (this.state.opened) {\n picker = (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: this.locale.months,\n dayCellChooseDateAriaLabel: this.locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: this.locale.selectMonthAriaLabel,\n selectYearAriaLabel: this.locale.selectYearAriaLabel,\n selectChosenAriaLabel: this.locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <DropdownContainer\n menuPos={this.props.menuPos}\n data-tid={DatePickerDataTids.root}\n getParent={this.getParent}\n offsetY={parseInt(this.theme.datePickerMenuOffsetY)}\n align={this.props.menuAlign}\n >\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n ref={(c) => (this.calendar = c)}\n maxDate={this.parseValueToDate(maxDate)}\n minDate={this.parseValueToDate(minDate)}\n onValueChange={this.handleValueChange}\n isHoliday={this.props.isHoliday}\n value={this.parseValueToDate(this.props.value)}\n />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n </DropdownContainer>\n </LocaleContext.Provider>\n );\n }\n\n return (\n <label\n className={styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n data-tid={DatePickerDataTids.label}\n >\n <DateInput\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={minDate}\n maxDate={maxDate}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n data-tid={DatePickerDataTids.input}\n />\n {this.state.canUseMobileNativeDatePicker && (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={minDate}\n maxDate={maxDate}\n disabled={this.props.disabled}\n />\n )}\n {!this.state.canUseMobileNativeDatePicker && picker}\n </label>\n );\n };\n\n private parseValueToDate(value?: Nullable<string>): string | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date.toString({ withPad: true });\n }\n\n return undefined;\n }\n\n private renderTodayLink() {\n const { order, separator } = this.locale;\n const today = new InternalDate({ order, separator })\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n if (isTheme2022(this.theme)) {\n return (\n <div style={{ margin: 8 }}>\n <Button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n width=\"100%\"\n onClick={this.handleSelectToday(today)}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n return (\n <button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n className={cx({\n [styles.todayLinkWrapper(this.theme)]: true,\n })}\n onClick={this.handleSelectToday(today)}\n tabIndex={-1}\n >\n {`${this.locale.today} ${today}`}\n </button>\n );\n }\n\n private handleSelectToday = (today: string) => () => {\n this.handleSelect(today);\n\n if (this.calendar) {\n const { month, year } = this.state.today;\n this.calendar.scrollToMonth(month, year);\n }\n };\n\n public getParent = () => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n this.focused = true;\n\n this.setState({ opened: true });\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleValueChange = (value: string) => {\n this.handleSelect(value);\n this.blur();\n };\n\n private handleSelect = (value: string | null) => {\n if (!value) {\n return null;\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n}\n"]}
@@ -4,6 +4,7 @@ import { Nullable } from '../../typings/utility-types';
4
4
  import { DropdownContainerProps } from '../../internal/DropdownContainer';
5
5
  import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
6
6
  import { CalendarDateShape, CalendarProps } from '../Calendar';
7
+ import { SizeProp } from '../../lib/types/props';
7
8
  export declare const MIN_WIDTH = 120;
8
9
  export interface DatePickerProps extends Pick<DropdownContainerProps, 'menuPos'>, Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate'>, CommonProps {
9
10
  autoFocus?: boolean;
@@ -17,7 +18,7 @@ export interface DatePickerProps extends Pick<DropdownContainerProps, 'menuPos'>
17
18
  */
18
19
  error?: boolean;
19
20
  menuAlign?: 'left' | 'right';
20
- size?: 'small' | 'medium' | 'large';
21
+ size?: SizeProp;
21
22
  value?: string | null;
22
23
  /**
23
24
  * Состояние валидации при предупреждении.
@@ -1 +1 @@
1
- {"version":3,"sources":["Dropdown.tsx"],"names":["React","PropTypes","filterProps","MenuHeader","MenuItem","MenuSeparator","Select","CommonWrapper","rootNode","ThemeContext","getDropdownTheme","PASS_PROPS","_renderButton","error","disabled","disablePortal","menuAlign","menuWidth","maxMenuHeight","use","size","warning","width","onOpen","onClose","onMouseEnter","onMouseLeave","onMouseOver","menuPos","DropdownDataTids","root","Dropdown","renderMain","caption","icon","props","items","Children","map","children","item","setRootNode","_refSelect","renderValue","element","_select","render","theme","open","close","Component","__KONTUR_REACT_UI__","Header","Separator","propTypes","node","isRequired","bool","number","oneOf","oneOfType","string","any","func","value"],"mappings":"mSAAA,OAAOA,KAAP,MAAsC,OAAtC;AACA,OAAOC,SAAP,MAAsB,YAAtB;;AAEA,SAASC,WAAT,QAA4B,uBAA5B;AACA,SAASC,UAAT,QAA2B,eAA3B;AACA,SAASC,QAAT,QAAyB,aAAzB;AACA,SAASC,aAAT,QAA8B,kBAA9B;AACA,SAASC,MAAT,QAAuB,WAAvB;;;AAGA,SAASC,aAAT,QAAmE,8BAAnE;AACA,SAASC,QAAT,QAAuC,oBAAvC;AACA,SAASC,YAAT,QAA6B,gCAA7B;;;;AAIA,SAASC,gBAAT,QAAiC,oBAAjC;;AAEA,IAAMC,UAAU,GAAG;AACjBC,EAAAA,aAAa,EAAE,IADE;AAEjBC,EAAAA,KAAK,EAAE,IAFU;AAGjBC,EAAAA,QAAQ,EAAE,IAHO;AAIjBC,EAAAA,aAAa,EAAE,IAJE;AAKjBC,EAAAA,SAAS,EAAE,IALM;AAMjBC,EAAAA,SAAS,EAAE,IANM;AAOjBC,EAAAA,aAAa,EAAE,IAPE;AAQjBC,EAAAA,GAAG,EAAE,IARY;AASjBC,EAAAA,IAAI,EAAE,IATW;AAUjBC,EAAAA,OAAO,EAAE,IAVQ;AAWjBC,EAAAA,KAAK,EAAE,IAXU;AAYjBC,EAAAA,MAAM,EAAE,IAZS;AAajBC,EAAAA,OAAO,EAAE,IAbQ;AAcjBC,EAAAA,YAAY,EAAE,IAdG;AAejBC,EAAAA,YAAY,EAAE,IAfG;AAgBjBC,EAAAA,WAAW,EAAE,IAhBI;AAiBjBC,EAAAA,OAAO,EAAE,IAjBQ;AAkBjB,sBAAoB,IAlBH,EAAnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiFA,OAAO,IAAMC,gBAAgB,GAAG;AAC9BC,EAAAA,IAAI,EAAE,gBADwB,EAAzB;;;AAIP;AACA;AACA;AACA;;AAEA,WAAaC,QAAb,GADCvB,QACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqFSwB,IAAAA,UArFT,GAqFsB,gBAAwE,KAArEC,OAAqE,QAArEA,OAAqE,CAA5DC,IAA4D,QAA5DA,IAA4D,CAAnDC,KAAmD;AAC1F,UAAMC,KAAK,GAAGpC,KAAK,CAACqC,QAAN,CAAeC,GAAf,CAAmB,MAAKH,KAAL,CAAWI,QAA9B,EAAwC,UAACC,IAAD,UAAUA,IAAV,EAAxC,KAA2D,EAAzE;;AAEA;AACE,4BAAC,aAAD,aAAe,WAAW,EAAE,MAAKC,WAAjC,IAAkD,MAAKN,KAAvD;AACE,4BAAC,MAAD;AACE,sBAAUN,gBAAgB,CAACC,IAD7B;AAEE,UAAA,GAAG,EAAE,MAAKY,UAFZ;AAGMxC,QAAAA,WAAW,CAACiC,KAAD,EAAQxB,UAAR,CAHjB;AAIE,UAAA,KAAK,EAAEsB,OAJT;AAKE,UAAA,KAAK,EAAEG,KALT;AAME,UAAA,KAAK,EAAEF,IANT;AAOE,UAAA,WAAW,EAAES,WAPf;AAQE,UAAA,IAAI,EAAE,MAAKR,KAAL,CAAWf,IARnB;AASE,wBAAY,MAAKe,KAAL,CAAW,YAAX,CATd,IADF,CADF;;;;AAeD,KAvGH;;;;;;;;;;;;;;;;;;;;AA2HUO,IAAAA,UA3HV,GA2HuB,UAACE,OAAD,EAAuC;AAC1D,YAAKC,OAAL,GAAeD,OAAf;AACD,KA7HH,sDA0ESE,MA1ET,GA0EE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAarC,gBAAgB,CAACqC,KAAD,CAA7B,CACA,oBAAO,oBAAC,YAAD,CAAc,QAAd,IAAuB,KAAK,EAAE,MAAI,CAACA,KAAnC,IAA2C,MAAI,CAACf,UAAL,CAAgB,MAAI,CAACG,KAArB,CAA3C,CAAP,CACD,CAJH,CADF,CAQD,CAnFH,EAyGE;AACF;AACA,KA3GA,OA4GSa,IA5GT,GA4GE,gBAAc,CACZ,IAAI,KAAKH,OAAT,EAAkB,CAChB,KAAKA,OAAL,CAAaG,IAAb,GACD,CACF,CAhHH,CAkHE;AACF;AACA,KApHA,QAqHSC,KArHT,GAqHE,iBAAe,CACb,IAAI,KAAKJ,OAAT,EAAkB,CAChB,KAAKA,OAAL,CAAaI,KAAb,GACD,CACF,CAzHH,mBAA8BjD,KAAK,CAACkD,SAApC,WACgBC,mBADhB,GACsC,UADtC,UAGgBC,MAHhB,GAGyBjD,UAHzB,UAIgBC,QAJhB,GAI2BA,QAJ3B,UAKgBiD,SALhB,GAK4BhD,aAL5B,UAOgBiD,SAPhB,GAO4B,EACxB;AACJ;AACA,KACIrB,OAAO,EAAEhC,SAAS,CAACsD,IAAV,CAAeC,UAJA,EAMxB;AACJ;AACA,KACIzC,aAAa,EAAEd,SAAS,CAACwD,IATD,EAWxB;AACJ;AACA,KACI3C,QAAQ,EAAEb,SAAS,CAACwD,IAdI,EAgBxB;AACJ;AACA,KACI5C,KAAK,EAAEZ,SAAS,CAACwD,IAnBO,EAqBxB;AACJ;AACA,KACIvB,IAAI,EAAEjC,SAAS,CAACsD,IAxBQ,EA0BxBrC,aAAa,EAAEjB,SAAS,CAACyD,MA1BD,EA4BxB1C,SAAS,EAAEf,SAAS,CAAC0D,KAAV,CAAgB,CAAC,MAAD,EAAS,OAAT,CAAhB,CA5Ba,EA8BxB1C,SAAS,EAAEhB,SAAS,CAAC2D,SAAV,CAAoB,CAAC3D,SAAS,CAACyD,MAAX,EAAmBzD,SAAS,CAAC4D,MAA7B,CAApB,CA9Ba,EAgCxBzC,IAAI,EAAEnB,SAAS,CAAC0D,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,OAApB,CAAhB,CAhCkB,EAkCxB;AACJ;AACA,KACIxC,GAAG,EAAElB,SAAS,CAAC6D,GArCS,EAuCxB;AACJ;AACA,KACIzC,OAAO,EAAEpB,SAAS,CAACwD,IA1CK,EA4CxBnC,KAAK,EAAErB,SAAS,CAAC2D,SAAV,CAAoB,CAAC3D,SAAS,CAACyD,MAAX,EAAmBzD,SAAS,CAAC4D,MAA7B,CAApB,CA5CiB,EA8CxB;AACJ;AACA,KACIrC,OAAO,EAAEvB,SAAS,CAAC8D,IAjDK,EAmDxBtC,YAAY,EAAExB,SAAS,CAAC8D,IAnDA,EAqDxBrC,YAAY,EAAEzB,SAAS,CAAC8D,IArDA,EAuDxBpC,WAAW,EAAE1B,SAAS,CAAC8D,IAvDC,EAyDxB;AACJ;AACA,KACIxC,MAAM,EAAEtB,SAAS,CAAC8D,IA5DM,EAP5B,oBAgIA,SAASpB,WAAT,CAAqBqB,KAArB,EAAiC,CAC/B,OAAOA,KAAP,CACD","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { filterProps } from '../../lib/filterProps';\nimport { MenuHeader } from '../MenuHeader';\nimport { MenuItem } from '../MenuItem';\nimport { MenuSeparator } from '../MenuSeparator';\nimport { Select } from '../Select';\nimport { Nullable } from '../../typings/utility-types';\nimport { ButtonSize, ButtonUse } from '../Button';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DropdownContainerProps } from '../../internal/DropdownContainer';\n\nimport { getDropdownTheme } from './getDropdownTheme';\n\nconst PASS_PROPS = {\n _renderButton: true,\n error: true,\n disabled: true,\n disablePortal: true,\n menuAlign: true,\n menuWidth: true,\n maxMenuHeight: true,\n use: true,\n size: true,\n warning: true,\n width: true,\n onOpen: true,\n onClose: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseOver: true,\n menuPos: true,\n 'aria-describedby': true,\n};\n\nexport interface DropdownProps\n extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>,\n CommonProps,\n Pick<DropdownContainerProps, 'menuPos'> {\n /**\n * Подпись на кнопке.\n */\n caption: React.ReactNode;\n /**\n * Иконка слева от текста кнопки\n */\n icon?: React.ReactElement<any>;\n width?: React.CSSProperties['width'];\n\n /** @ignore */\n _renderButton?: (params: any) => JSX.Element;\n\n /**\n * Отключает использование портала\n */\n disablePortal?: boolean;\n\n /**\n * Визуально отключает Dropdown\n */\n disabled?: boolean;\n\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n maxMenuHeight?: number;\n menuAlign?: 'left' | 'right';\n menuWidth?: number | string;\n size?: ButtonSize;\n\n /**\n * Смотри Button.\n */\n use?: ButtonUse;\n\n /**\n * Вызывается при закрытии меню.\n */\n onClose?: () => void;\n /**\n * Вызывается при открытии меню.\n */\n onOpen?: () => void;\n onMouseEnter?: (event: React.MouseEvent<HTMLElement>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLElement>) => void;\n onMouseOver?: (event: React.MouseEvent<HTMLElement>) => void;\n}\n\ntype DropdownSelectType = Select<React.ReactNode, React.ReactNode>;\n\nexport const DropdownDataTids = {\n root: 'Dropdown__root',\n} as const;\n\n/**\n * Выпадающее меню.\n *\n */\n@rootNode\nexport class Dropdown extends React.Component<DropdownProps> {\n public static __KONTUR_REACT_UI__ = 'Dropdown';\n\n public static Header = MenuHeader;\n public static MenuItem = MenuItem;\n public static Separator = MenuSeparator;\n\n public static propTypes = {\n /**\n * Подпись на кнопке.\n */\n caption: PropTypes.node.isRequired,\n\n /**\n * Отключает использование портала\n */\n disablePortal: PropTypes.bool,\n\n /**\n * Визуально отключает Dropdown\n */\n disabled: PropTypes.bool,\n\n /**\n * Визуально показать наличие ошибки.\n */\n error: PropTypes.bool,\n\n /**\n * Иконка слева от текста кнопки\n */\n icon: PropTypes.node,\n\n maxMenuHeight: PropTypes.number,\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n menuWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n\n /**\n * Смотри Button.\n */\n use: PropTypes.any,\n\n /**\n * Визуально показать наличие предупреждения.\n */\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Вызывается при закрытии меню.\n */\n onClose: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n /**\n * Вызывается при открытии меню.\n */\n onOpen: PropTypes.func,\n };\n\n private _select: Nullable<DropdownSelectType>;\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getDropdownTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain(this.props)}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = ({ caption, icon, ...props }: CommonWrapperRestProps<DropdownProps>) => {\n const items = React.Children.map(this.props.children, (item) => item) || [];\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Select<React.ReactNode, React.ReactNode>\n data-tid={DropdownDataTids.root}\n ref={this._refSelect}\n {...filterProps(props, PASS_PROPS)}\n value={caption}\n items={items}\n _icon={icon}\n renderValue={renderValue}\n size={this.props.size}\n aria-label={this.props['aria-label']}\n />\n </CommonWrapper>\n );\n };\n\n /**\n * @public\n */\n public open() {\n if (this._select) {\n this._select.open();\n }\n }\n\n /**\n * @public\n */\n public close() {\n if (this._select) {\n this._select.close();\n }\n }\n\n private _refSelect = (element: DropdownSelectType): void => {\n this._select = element;\n };\n}\n\nfunction renderValue(value: any) {\n return value;\n}\n"]}
1
+ {"version":3,"sources":["Dropdown.tsx"],"names":["React","PropTypes","filterProps","MenuHeader","MenuItem","MenuSeparator","Select","CommonWrapper","rootNode","ThemeContext","getDropdownTheme","PASS_PROPS","_renderButton","error","disabled","disablePortal","menuAlign","menuWidth","maxMenuHeight","use","size","warning","width","onOpen","onClose","onMouseEnter","onMouseLeave","onMouseOver","menuPos","DropdownDataTids","root","Dropdown","renderMain","caption","icon","props","items","Children","map","children","item","setRootNode","_refSelect","renderValue","element","_select","render","theme","open","close","Component","__KONTUR_REACT_UI__","Header","Separator","propTypes","node","isRequired","bool","number","oneOf","oneOfType","string","any","func","value"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { filterProps } from '../../lib/filterProps';\nimport { MenuHeader } from '../MenuHeader';\nimport { MenuItem } from '../MenuItem';\nimport { MenuSeparator } from '../MenuSeparator';\nimport { Select } from '../Select';\nimport { Nullable } from '../../typings/utility-types';\nimport { ButtonUse } from '../Button';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DropdownContainerProps } from '../../internal/DropdownContainer';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { getDropdownTheme } from './getDropdownTheme';\n\nconst PASS_PROPS = {\n _renderButton: true,\n error: true,\n disabled: true,\n disablePortal: true,\n menuAlign: true,\n menuWidth: true,\n maxMenuHeight: true,\n use: true,\n size: true,\n warning: true,\n width: true,\n onOpen: true,\n onClose: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseOver: true,\n menuPos: true,\n 'aria-describedby': true,\n};\n\nexport interface DropdownProps\n extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>,\n CommonProps,\n Pick<DropdownContainerProps, 'menuPos'> {\n /**\n * Подпись на кнопке.\n */\n caption: React.ReactNode;\n /**\n * Иконка слева от текста кнопки\n */\n icon?: React.ReactElement<any>;\n width?: React.CSSProperties['width'];\n\n /** @ignore */\n _renderButton?: (params: any) => JSX.Element;\n\n /**\n * Отключает использование портала\n */\n disablePortal?: boolean;\n\n /**\n * Визуально отключает Dropdown\n */\n disabled?: boolean;\n\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n maxMenuHeight?: number;\n menuAlign?: 'left' | 'right';\n menuWidth?: number | string;\n size?: SizeProp;\n\n /**\n * Смотри Button.\n */\n use?: ButtonUse;\n\n /**\n * Вызывается при закрытии меню.\n */\n onClose?: () => void;\n /**\n * Вызывается при открытии меню.\n */\n onOpen?: () => void;\n onMouseEnter?: (event: React.MouseEvent<HTMLElement>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLElement>) => void;\n onMouseOver?: (event: React.MouseEvent<HTMLElement>) => void;\n}\n\ntype DropdownSelectType = Select<React.ReactNode, React.ReactNode>;\n\nexport const DropdownDataTids = {\n root: 'Dropdown__root',\n} as const;\n\n/**\n * Выпадающее меню.\n *\n */\n@rootNode\nexport class Dropdown extends React.Component<DropdownProps> {\n public static __KONTUR_REACT_UI__ = 'Dropdown';\n\n public static Header = MenuHeader;\n public static MenuItem = MenuItem;\n public static Separator = MenuSeparator;\n\n public static propTypes = {\n /**\n * Подпись на кнопке.\n */\n caption: PropTypes.node.isRequired,\n\n /**\n * Отключает использование портала\n */\n disablePortal: PropTypes.bool,\n\n /**\n * Визуально отключает Dropdown\n */\n disabled: PropTypes.bool,\n\n /**\n * Визуально показать наличие ошибки.\n */\n error: PropTypes.bool,\n\n /**\n * Иконка слева от текста кнопки\n */\n icon: PropTypes.node,\n\n maxMenuHeight: PropTypes.number,\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n menuWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n\n /**\n * Смотри Button.\n */\n use: PropTypes.any,\n\n /**\n * Визуально показать наличие предупреждения.\n */\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Вызывается при закрытии меню.\n */\n onClose: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n /**\n * Вызывается при открытии меню.\n */\n onOpen: PropTypes.func,\n };\n\n private _select: Nullable<DropdownSelectType>;\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getDropdownTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain(this.props)}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = ({ caption, icon, ...props }: CommonWrapperRestProps<DropdownProps>) => {\n const items = React.Children.map(this.props.children, (item) => item) || [];\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Select<React.ReactNode, React.ReactNode>\n data-tid={DropdownDataTids.root}\n ref={this._refSelect}\n {...filterProps(props, PASS_PROPS)}\n value={caption}\n items={items}\n _icon={icon}\n renderValue={renderValue}\n size={this.props.size}\n aria-label={this.props['aria-label']}\n />\n </CommonWrapper>\n );\n };\n\n /**\n * @public\n */\n public open() {\n if (this._select) {\n this._select.open();\n }\n }\n\n /**\n * @public\n */\n public close() {\n if (this._select) {\n this._select.close();\n }\n }\n\n private _refSelect = (element: DropdownSelectType): void => {\n this._select = element;\n };\n}\n\nfunction renderValue(value: any) {\n return value;\n}\n"]}
@@ -3,9 +3,10 @@ import PropTypes from 'prop-types';
3
3
  import { MenuHeader } from '../MenuHeader';
4
4
  import { MenuItem } from '../MenuItem';
5
5
  import { MenuSeparator } from '../MenuSeparator';
6
- import { ButtonSize, ButtonUse } from '../Button';
6
+ import { ButtonUse } from '../Button';
7
7
  import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
8
8
  import { DropdownContainerProps } from '../../internal/DropdownContainer';
9
+ import { SizeProp } from '../../lib/types/props';
9
10
  export interface DropdownProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, CommonProps, Pick<DropdownContainerProps, 'menuPos'> {
10
11
  /**
11
12
  * Подпись на кнопке.
@@ -37,7 +38,7 @@ export interface DropdownProps extends Pick<AriaAttributes, 'aria-label' | 'aria
37
38
  maxMenuHeight?: number;
38
39
  menuAlign?: 'left' | 'right';
39
40
  menuWidth?: number | string;
40
- size?: ButtonSize;
41
+ size?: SizeProp;
41
42
  /**
42
43
  * Смотри Button.
43
44
  */
@@ -1,33 +1,32 @@
1
1
  import { ThemeFactory } from "../../../lib/theming/ThemeFactory";
2
- import { isTheme2022 } from "../../../lib/theming/ThemeHelpers";
3
2
  export var getDropdownTheme = function getDropdownTheme(theme) {
4
3
  return ThemeFactory.create({
5
- selectDefaultBg: theme.btnDefaultBg,
4
+ selectDefaultBg: theme.dropdownDefaultBg,
6
5
  selectMenuOffsetY: theme.dropdownMenuOffsetY,
7
6
  selectBorderColorHover: theme.dropdownMenuHoverBorderColor,
8
7
  selectBorderColorTransition: theme.dropdownMenuBorderColorTransition,
9
- selectBorderWidth: theme.btnBorderWidth,
10
- selectOutlineWidth: theme.btnOutlineWidth,
11
- selectLineHeightSmall: theme.btnLineHeightSmall,
12
- selectFontSizeSmall: theme.btnFontSizeSmall,
13
- selectPaddingXSmall: isTheme2022(theme) ? theme.btnPaddingXSmall : theme.selectPaddingXSmall,
14
- selectPaddingYSmall: theme.btnPaddingYSmall,
15
- selectIconSizeSmall: theme.btnIconSizeSmall,
8
+ selectBorderWidth: theme.dropdownBorderWidth,
9
+ selectOutlineWidth: theme.dropdownOutlineWidth,
10
+ selectLineHeightSmall: theme.dropdownLineHeightSmall,
11
+ selectFontSizeSmall: theme.dropdownFontSizeSmall,
12
+ selectPaddingXSmall: theme.dropdownPaddingXSmall,
13
+ selectPaddingYSmall: theme.dropdownPaddingYSmall,
14
+ selectIconSizeSmall: theme.dropdownIconSizeSmall,
16
15
  selectBorderRadiusSmall: theme.dropdownButtonBorderRadiusSmall,
17
- selectLineHeightMedium: theme.btnLineHeightMedium,
18
- selectFontSizeMedium: theme.btnFontSizeMedium,
19
- selectPaddingXMedium: isTheme2022(theme) ? theme.btnPaddingXMedium : theme.selectPaddingXMedium,
20
- selectPaddingYMedium: theme.btnPaddingYMedium,
21
- selectIconSizeMedium: theme.btnIconSizeMedium,
16
+ selectLineHeightMedium: theme.dropdownLineHeightMedium,
17
+ selectFontSizeMedium: theme.dropdownFontSizeMedium,
18
+ selectPaddingXMedium: theme.dropdownPaddingXMedium,
19
+ selectPaddingYMedium: theme.dropdownPaddingYMedium,
20
+ selectIconSizeMedium: theme.dropdownIconSizeMedium,
22
21
  selectBorderRadiusMedium: theme.dropdownButtonBorderRadiusMedium,
23
- selectLineHeightLarge: theme.btnLineHeightLarge,
24
- selectFontSizeLarge: theme.btnFontSizeLarge,
25
- selectPaddingXLarge: isTheme2022(theme) ? theme.btnPaddingXLarge : theme.selectPaddingXLarge,
26
- selectPaddingYLarge: theme.btnPaddingYLarge,
27
- selectIconSizeLarge: theme.btnIconSizeLarge,
22
+ selectLineHeightLarge: theme.dropdownLineHeightLarge,
23
+ selectFontSizeLarge: theme.dropdownFontSizeLarge,
24
+ selectPaddingXLarge: theme.dropdownPaddingXLarge,
25
+ selectPaddingYLarge: theme.dropdownPaddingYLarge,
26
+ selectIconSizeLarge: theme.dropdownIconSizeLarge,
28
27
  selectBorderRadiusLarge: theme.dropdownButtonBorderRadiusLarge,
29
- selectBgDisabled: theme.btnDisabledBg,
30
- selectBorderColorDisabled: theme.btnDisabledBorderColor,
31
- selectTextColorDisabled: theme.btnDisabledTextColor
28
+ selectBgDisabled: theme.dropdownBgDisabled,
29
+ selectBorderColorDisabled: theme.dropdownBorderColorDisabled,
30
+ selectTextColorDisabled: theme.dropdownTextColorDisabled
32
31
  }, theme);
33
32
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["getDropdownTheme.ts"],"names":["ThemeFactory","isTheme2022","getDropdownTheme","theme","create","selectDefaultBg","btnDefaultBg","selectMenuOffsetY","dropdownMenuOffsetY","selectBorderColorHover","dropdownMenuHoverBorderColor","selectBorderColorTransition","dropdownMenuBorderColorTransition","selectBorderWidth","btnBorderWidth","selectOutlineWidth","btnOutlineWidth","selectLineHeightSmall","btnLineHeightSmall","selectFontSizeSmall","btnFontSizeSmall","selectPaddingXSmall","btnPaddingXSmall","selectPaddingYSmall","btnPaddingYSmall","selectIconSizeSmall","btnIconSizeSmall","selectBorderRadiusSmall","dropdownButtonBorderRadiusSmall","selectLineHeightMedium","btnLineHeightMedium","selectFontSizeMedium","btnFontSizeMedium","selectPaddingXMedium","btnPaddingXMedium","selectPaddingYMedium","btnPaddingYMedium","selectIconSizeMedium","btnIconSizeMedium","selectBorderRadiusMedium","dropdownButtonBorderRadiusMedium","selectLineHeightLarge","btnLineHeightLarge","selectFontSizeLarge","btnFontSizeLarge","selectPaddingXLarge","btnPaddingXLarge","selectPaddingYLarge","btnPaddingYLarge","selectIconSizeLarge","btnIconSizeLarge","selectBorderRadiusLarge","dropdownButtonBorderRadiusLarge","selectBgDisabled","btnDisabledBg","selectBorderColorDisabled","btnDisabledBorderColor","selectTextColorDisabled","btnDisabledTextColor"],"mappings":"AAAA,SAASA,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,WAAT,QAA4B,gCAA5B;;AAEA,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAyB;AACvD,SAAOH,YAAY,CAACI,MAAb;AACL;AACEC,IAAAA,eAAe,EAAEF,KAAK,CAACG,YADzB;AAEEC,IAAAA,iBAAiB,EAAEJ,KAAK,CAACK,mBAF3B;AAGEC,IAAAA,sBAAsB,EAAEN,KAAK,CAACO,4BAHhC;AAIEC,IAAAA,2BAA2B,EAAER,KAAK,CAACS,iCAJrC;;AAMEC,IAAAA,iBAAiB,EAAEV,KAAK,CAACW,cAN3B;AAOEC,IAAAA,kBAAkB,EAAEZ,KAAK,CAACa,eAP5B;;AASEC,IAAAA,qBAAqB,EAAEd,KAAK,CAACe,kBAT/B;AAUEC,IAAAA,mBAAmB,EAAEhB,KAAK,CAACiB,gBAV7B;AAWEC,IAAAA,mBAAmB,EAAEpB,WAAW,CAACE,KAAD,CAAX,GAAqBA,KAAK,CAACmB,gBAA3B,GAA8CnB,KAAK,CAACkB,mBAX3E;AAYEE,IAAAA,mBAAmB,EAAEpB,KAAK,CAACqB,gBAZ7B;AAaEC,IAAAA,mBAAmB,EAAEtB,KAAK,CAACuB,gBAb7B;AAcEC,IAAAA,uBAAuB,EAAExB,KAAK,CAACyB,+BAdjC;;AAgBEC,IAAAA,sBAAsB,EAAE1B,KAAK,CAAC2B,mBAhBhC;AAiBEC,IAAAA,oBAAoB,EAAE5B,KAAK,CAAC6B,iBAjB9B;AAkBEC,IAAAA,oBAAoB,EAAEhC,WAAW,CAACE,KAAD,CAAX,GAAqBA,KAAK,CAAC+B,iBAA3B,GAA+C/B,KAAK,CAAC8B,oBAlB7E;AAmBEE,IAAAA,oBAAoB,EAAEhC,KAAK,CAACiC,iBAnB9B;AAoBEC,IAAAA,oBAAoB,EAAElC,KAAK,CAACmC,iBApB9B;AAqBEC,IAAAA,wBAAwB,EAAEpC,KAAK,CAACqC,gCArBlC;;AAuBEC,IAAAA,qBAAqB,EAAEtC,KAAK,CAACuC,kBAvB/B;AAwBEC,IAAAA,mBAAmB,EAAExC,KAAK,CAACyC,gBAxB7B;AAyBEC,IAAAA,mBAAmB,EAAE5C,WAAW,CAACE,KAAD,CAAX,GAAqBA,KAAK,CAAC2C,gBAA3B,GAA8C3C,KAAK,CAAC0C,mBAzB3E;AA0BEE,IAAAA,mBAAmB,EAAE5C,KAAK,CAAC6C,gBA1B7B;AA2BEC,IAAAA,mBAAmB,EAAE9C,KAAK,CAAC+C,gBA3B7B;AA4BEC,IAAAA,uBAAuB,EAAEhD,KAAK,CAACiD,+BA5BjC;;AA8BEC,IAAAA,gBAAgB,EAAElD,KAAK,CAACmD,aA9B1B;AA+BEC,IAAAA,yBAAyB,EAAEpD,KAAK,CAACqD,sBA/BnC;AAgCEC,IAAAA,uBAAuB,EAAEtD,KAAK,CAACuD,oBAhCjC,EADK;;AAmCLvD,EAAAA,KAnCK,CAAP;;AAqCD,CAtCM","sourcesContent":["import { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nexport const getDropdownTheme = (theme: Theme): Theme => {\n return ThemeFactory.create(\n {\n selectDefaultBg: theme.btnDefaultBg,\n selectMenuOffsetY: theme.dropdownMenuOffsetY,\n selectBorderColorHover: theme.dropdownMenuHoverBorderColor,\n selectBorderColorTransition: theme.dropdownMenuBorderColorTransition,\n\n selectBorderWidth: theme.btnBorderWidth,\n selectOutlineWidth: theme.btnOutlineWidth,\n\n selectLineHeightSmall: theme.btnLineHeightSmall,\n selectFontSizeSmall: theme.btnFontSizeSmall,\n selectPaddingXSmall: isTheme2022(theme) ? theme.btnPaddingXSmall : theme.selectPaddingXSmall,\n selectPaddingYSmall: theme.btnPaddingYSmall,\n selectIconSizeSmall: theme.btnIconSizeSmall,\n selectBorderRadiusSmall: theme.dropdownButtonBorderRadiusSmall,\n\n selectLineHeightMedium: theme.btnLineHeightMedium,\n selectFontSizeMedium: theme.btnFontSizeMedium,\n selectPaddingXMedium: isTheme2022(theme) ? theme.btnPaddingXMedium : theme.selectPaddingXMedium,\n selectPaddingYMedium: theme.btnPaddingYMedium,\n selectIconSizeMedium: theme.btnIconSizeMedium,\n selectBorderRadiusMedium: theme.dropdownButtonBorderRadiusMedium,\n\n selectLineHeightLarge: theme.btnLineHeightLarge,\n selectFontSizeLarge: theme.btnFontSizeLarge,\n selectPaddingXLarge: isTheme2022(theme) ? theme.btnPaddingXLarge : theme.selectPaddingXLarge,\n selectPaddingYLarge: theme.btnPaddingYLarge,\n selectIconSizeLarge: theme.btnIconSizeLarge,\n selectBorderRadiusLarge: theme.dropdownButtonBorderRadiusLarge,\n\n selectBgDisabled: theme.btnDisabledBg,\n selectBorderColorDisabled: theme.btnDisabledBorderColor,\n selectTextColorDisabled: theme.btnDisabledTextColor,\n },\n theme,\n );\n};\n"]}
1
+ {"version":3,"sources":["getDropdownTheme.ts"],"names":["ThemeFactory","getDropdownTheme","theme","create","selectDefaultBg","dropdownDefaultBg","selectMenuOffsetY","dropdownMenuOffsetY","selectBorderColorHover","dropdownMenuHoverBorderColor","selectBorderColorTransition","dropdownMenuBorderColorTransition","selectBorderWidth","dropdownBorderWidth","selectOutlineWidth","dropdownOutlineWidth","selectLineHeightSmall","dropdownLineHeightSmall","selectFontSizeSmall","dropdownFontSizeSmall","selectPaddingXSmall","dropdownPaddingXSmall","selectPaddingYSmall","dropdownPaddingYSmall","selectIconSizeSmall","dropdownIconSizeSmall","selectBorderRadiusSmall","dropdownButtonBorderRadiusSmall","selectLineHeightMedium","dropdownLineHeightMedium","selectFontSizeMedium","dropdownFontSizeMedium","selectPaddingXMedium","dropdownPaddingXMedium","selectPaddingYMedium","dropdownPaddingYMedium","selectIconSizeMedium","dropdownIconSizeMedium","selectBorderRadiusMedium","dropdownButtonBorderRadiusMedium","selectLineHeightLarge","dropdownLineHeightLarge","selectFontSizeLarge","dropdownFontSizeLarge","selectPaddingXLarge","dropdownPaddingXLarge","selectPaddingYLarge","dropdownPaddingYLarge","selectIconSizeLarge","dropdownIconSizeLarge","selectBorderRadiusLarge","dropdownButtonBorderRadiusLarge","selectBgDisabled","dropdownBgDisabled","selectBorderColorDisabled","dropdownBorderColorDisabled","selectTextColorDisabled","dropdownTextColorDisabled"],"mappings":"AAAA,SAASA,YAAT,QAA6B,gCAA7B;;;AAGA,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAyB;AACvD,SAAOF,YAAY,CAACG,MAAb;AACL;AACEC,IAAAA,eAAe,EAAEF,KAAK,CAACG,iBADzB;AAEEC,IAAAA,iBAAiB,EAAEJ,KAAK,CAACK,mBAF3B;AAGEC,IAAAA,sBAAsB,EAAEN,KAAK,CAACO,4BAHhC;AAIEC,IAAAA,2BAA2B,EAAER,KAAK,CAACS,iCAJrC;;AAMEC,IAAAA,iBAAiB,EAAEV,KAAK,CAACW,mBAN3B;AAOEC,IAAAA,kBAAkB,EAAEZ,KAAK,CAACa,oBAP5B;;AASEC,IAAAA,qBAAqB,EAAEd,KAAK,CAACe,uBAT/B;AAUEC,IAAAA,mBAAmB,EAAEhB,KAAK,CAACiB,qBAV7B;AAWEC,IAAAA,mBAAmB,EAAElB,KAAK,CAACmB,qBAX7B;AAYEC,IAAAA,mBAAmB,EAAEpB,KAAK,CAACqB,qBAZ7B;AAaEC,IAAAA,mBAAmB,EAAEtB,KAAK,CAACuB,qBAb7B;AAcEC,IAAAA,uBAAuB,EAAExB,KAAK,CAACyB,+BAdjC;;AAgBEC,IAAAA,sBAAsB,EAAE1B,KAAK,CAAC2B,wBAhBhC;AAiBEC,IAAAA,oBAAoB,EAAE5B,KAAK,CAAC6B,sBAjB9B;AAkBEC,IAAAA,oBAAoB,EAAE9B,KAAK,CAAC+B,sBAlB9B;AAmBEC,IAAAA,oBAAoB,EAAEhC,KAAK,CAACiC,sBAnB9B;AAoBEC,IAAAA,oBAAoB,EAAElC,KAAK,CAACmC,sBApB9B;AAqBEC,IAAAA,wBAAwB,EAAEpC,KAAK,CAACqC,gCArBlC;;AAuBEC,IAAAA,qBAAqB,EAAEtC,KAAK,CAACuC,uBAvB/B;AAwBEC,IAAAA,mBAAmB,EAAExC,KAAK,CAACyC,qBAxB7B;AAyBEC,IAAAA,mBAAmB,EAAE1C,KAAK,CAAC2C,qBAzB7B;AA0BEC,IAAAA,mBAAmB,EAAE5C,KAAK,CAAC6C,qBA1B7B;AA2BEC,IAAAA,mBAAmB,EAAE9C,KAAK,CAAC+C,qBA3B7B;AA4BEC,IAAAA,uBAAuB,EAAEhD,KAAK,CAACiD,+BA5BjC;;AA8BEC,IAAAA,gBAAgB,EAAElD,KAAK,CAACmD,kBA9B1B;AA+BEC,IAAAA,yBAAyB,EAAEpD,KAAK,CAACqD,2BA/BnC;AAgCEC,IAAAA,uBAAuB,EAAEtD,KAAK,CAACuD,yBAhCjC,EADK;;AAmCLvD,EAAAA,KAnCK,CAAP;;AAqCD,CAtCM","sourcesContent":["import { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const getDropdownTheme = (theme: Theme): Theme => {\n return ThemeFactory.create(\n {\n selectDefaultBg: theme.dropdownDefaultBg,\n selectMenuOffsetY: theme.dropdownMenuOffsetY,\n selectBorderColorHover: theme.dropdownMenuHoverBorderColor,\n selectBorderColorTransition: theme.dropdownMenuBorderColorTransition,\n\n selectBorderWidth: theme.dropdownBorderWidth,\n selectOutlineWidth: theme.dropdownOutlineWidth,\n\n selectLineHeightSmall: theme.dropdownLineHeightSmall,\n selectFontSizeSmall: theme.dropdownFontSizeSmall,\n selectPaddingXSmall: theme.dropdownPaddingXSmall,\n selectPaddingYSmall: theme.dropdownPaddingYSmall,\n selectIconSizeSmall: theme.dropdownIconSizeSmall,\n selectBorderRadiusSmall: theme.dropdownButtonBorderRadiusSmall,\n\n selectLineHeightMedium: theme.dropdownLineHeightMedium,\n selectFontSizeMedium: theme.dropdownFontSizeMedium,\n selectPaddingXMedium: theme.dropdownPaddingXMedium,\n selectPaddingYMedium: theme.dropdownPaddingYMedium,\n selectIconSizeMedium: theme.dropdownIconSizeMedium,\n selectBorderRadiusMedium: theme.dropdownButtonBorderRadiusMedium,\n\n selectLineHeightLarge: theme.dropdownLineHeightLarge,\n selectFontSizeLarge: theme.dropdownFontSizeLarge,\n selectPaddingXLarge: theme.dropdownPaddingXLarge,\n selectPaddingYLarge: theme.dropdownPaddingYLarge,\n selectIconSizeLarge: theme.dropdownIconSizeLarge,\n selectBorderRadiusLarge: theme.dropdownButtonBorderRadiusLarge,\n\n selectBgDisabled: theme.dropdownBgDisabled,\n selectBorderColorDisabled: theme.dropdownBorderColorDisabled,\n selectTextColorDisabled: theme.dropdownTextColorDisabled,\n },\n theme,\n );\n};\n"]}
@@ -4,6 +4,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
4
4
  var _excluded = ["disabled", "error", "warning", "multiple", "width", "hideFiles", "onBlur", "onFocus", "onChange", "request", "validateBeforeUpload", "onRequestSuccess", "onRequestError", "size", "renderFile"];
5
5
  import _regeneratorRuntime from "@babel/runtime/regenerator";
6
6
  import React, { useCallback, useContext, useEffect, useImperativeHandle, useRef, useState } from 'react';
7
+ import { globalObject, isBrowser } from '@skbkontur/global-object';
7
8
  import { getAttachedFile } from "../../../internal/FileUploaderControl/fileUtils";
8
9
  import { cx } from "../../../lib/theming/Emotion";
9
10
  import { useMemoObject } from "../../../hooks/useMemoObject";
@@ -17,7 +18,6 @@ import { withFileUploaderControlProvider } from "../../../internal/FileUploaderC
17
18
  import { keyListener } from "../../../lib/events/keyListener";
18
19
  import { FileUploaderFile } from "../../../internal/FileUploaderControl/FileUploaderFile/FileUploaderFile";
19
20
  import { FileUploaderFileList } from "../../../internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList";
20
- import { isBrowser } from "../../../lib/client";
21
21
  import { CommonWrapper } from "../../../internal/CommonWrapper";
22
22
  import { FileUploaderFileValidationResult } from "../../../internal/FileUploaderControl/FileUploaderFileValidationResult";
23
23
  import { useFileUploaderSize } from "../../../internal/FileUploaderControl/hooks/useFileUploaderSize";
@@ -28,6 +28,10 @@ import { globalClasses, jsStyles } from "../FileUploader.styles";
28
28
  var stopPropagation = function stopPropagation(e) {
29
29
  return e.stopPropagation();
30
30
  };
31
+ /**
32
+ * @deprecated use SizeProp
33
+ */
34
+
31
35
 
32
36
  export var FileUploaderDataTids = {
33
37
  root: 'FileUploader__root',
@@ -194,8 +198,8 @@ var _FileUploader = /*#__PURE__*/React.forwardRef(function (props, ref) {
194
198
  isWindowDraggable = _useDrop2.isDraggable,
195
199
  windowRef = _useDrop2.ref;
196
200
 
197
- if (isBrowser) {
198
- windowRef.current = window.document;
201
+ if (isBrowser(globalObject)) {
202
+ windowRef.current = globalObject.document;
199
203
  }
200
204
 
201
205
  var focus = useCallback(function () {
@@ -233,7 +237,7 @@ var _FileUploader = /*#__PURE__*/React.forwardRef(function (props, ref) {
233
237
  if (!disabled) {
234
238
  // focus event fires before keyDown eventlistener
235
239
  // so we should check tabPressed in async way
236
- requestAnimationFrame(function () {
240
+ globalObject.requestAnimationFrame == null ? void 0 : globalObject.requestAnimationFrame(function () {
237
241
  if (keyListener.isTabPressed) {
238
242
  setFocusedByTab(true);
239
243
  }
@@ -320,7 +324,7 @@ var _FileUploader = /*#__PURE__*/React.forwardRef(function (props, ref) {
320
324
  type: "file",
321
325
  disabled: disabled,
322
326
  multiple: multiple,
323
- className: jsStyles.fileInput(),
327
+ className: jsStyles.visuallyHidden(),
324
328
  onClick: stopPropagation,
325
329
  onChange: handleInputChange,
326
330
  onFocus: handleFocus,
@@ -1 +1 @@
1
- {"version":3,"sources":["FileUploader.tsx"],"names":["React","useCallback","useContext","useEffect","useImperativeHandle","useRef","useState","getAttachedFile","cx","useMemoObject","FileUploaderControlContext","useControlLocale","useUpload","useDrop","ThemeContext","UploadIcon","withFileUploaderControlProvider","keyListener","FileUploaderFile","FileUploaderFileList","isBrowser","CommonWrapper","FileUploaderFileValidationResult","useFileUploaderSize","isTheme2022","UploadIcon2022","globalClasses","jsStyles","stopPropagation","e","FileUploaderDataTids","root","content","link","input","defaultRenderFile","file","fileNode","_FileUploader","forwardRef","props","ref","theme","_isTheme2022","disabled","error","warning","multiple","width","fileUploaderWidth","hideFiles","onBlur","onFocus","onChange","request","validateBeforeUpload","onRequestSuccess","onRequestError","size","renderFile","inputProps","files","setFiles","removeFile","reset","setFileValidationResult","isMinLengthReached","locale","inputRef","fileDivRef","isAsync","isSingleMode","isLinkVisible","setIsLinkVisible","upload","tryValidateAndUpload","forEach","validationMessage","id","sizeClassName","small","sizeSmall","medium","sizeMedium","large","sizeLarge","sizeIconClass","iconSmall","iconMedium","iconLarge","contentInnerClass","contentInnerSmall","contentInnerMedium","contentInnerLarge","handleChange","newFiles","filesArray","Array","from","attachedFiles","map","length","handleDrop","event","dataTransfer","clearData","onDrop","isDraggable","labelRef","isWindowDraggable","windowRef","current","window","document","focus","isTabPressed","blur","getRootNode","rootNodeRef","focusedByTab","setFocusedByTab","handleInputChange","target","handleFocus","requestAnimationFrame","handleBlur","hovered","setHovered","uploadButtonClassNames","uploadButton","uploadButtonFocus","dragOver","canDrop","uploadButtonWrapperClassNames","windowDragOver","windowDragOver2022","uploadButtonIconClassNames","icon","iconDisabled","hasOneFile","hasOneFileForSingle","contentClassNames","contentWithFiles","linkClassNames","linkHovered","linkDisabled","iconSizes","parseInt","btnIconSizeSmall","btnIconSizeMedium","btnIconSizeLarge","choosedFile","chooseFile","String","fromCharCode","afterLinkText","afterLinkText_HasFiles","singleFile","orDragHere","fileInput","FileUploader","memo","displayName"],"mappings":"0fAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,UAA7B,EAAyCC,SAAzC,EAAoDC,mBAApD,EAAyEC,MAAzE,EAAiFC,QAAjF,QAAiG,OAAjG;;AAEA,SAAmCC,eAAnC,QAA0D,8CAA1D;AACA,SAASC,EAAT,QAAmB,2BAAnB;;AAEA,SAASC,aAAT,QAA8B,2BAA9B;AACA,SAASC,0BAAT,QAA2C,+DAA3C;AACA,SAASC,gBAAT,QAAiC,2DAAjC;AACA,SAASC,SAAT,QAA0B,oDAA1B;AACA,SAASC,OAAT,QAAwB,qBAAxB;AACA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,UAAT,QAA2B,2BAA3B;;AAEA,SAASC,+BAAT,QAAgD,oEAAhD;AACA,SAASC,WAAT,QAA4B,8BAA5B;AACA,SAASC,gBAAT,QAAiC,sEAAjC;AACA,SAASC,oBAAT,QAAqC,8EAArC;AACA,SAASC,SAAT,QAA0B,kBAA1B;AACA,SAAsBC,aAAtB,QAA2C,8BAA3C;;AAEA,SAASC,gCAAT,QAAiD,qEAAjD;AACA,SAASC,mBAAT,QAAoC,8DAApC;AACA,SAASC,WAAT,QAA4B,gCAA5B;;AAEA,SAAST,UAAU,IAAIU,cAAvB,QAA6C,cAA7C;AACA,SAASC,aAAT,EAAwBC,QAAxB,QAAwC,uBAAxC;;AAEA,IAAMC,eAAwC,GAAG,SAA3CA,eAA2C,CAACC,CAAD,UAAOA,CAAC,CAACD,eAAF,EAAP,EAAjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,OAAO,IAAME,oBAAoB,GAAG;AAClCC,EAAAA,IAAI,EAAE,oBAD4B;AAElCC,EAAAA,OAAO,EAAE,uBAFyB;AAGlCC,EAAAA,IAAI,EAAE,oBAH4B;AAIlCC,EAAAA,KAAK,EAAE,qBAJ2B,EAA7B;;;AAOP,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,IAAD,EAAiCC,QAAjC,UAAkEA,QAAlE,EAA1B;;AAEA,IAAMC,aAAa,gBAAGtC,KAAK,CAACuC,UAAN,CAAsD,UAACC,KAAD,EAA4BC,GAA5B,EAAoC;AAC9G,MAAMC,KAAK,GAAGxC,UAAU,CAACY,YAAD,CAAxB;AACA,MAAM6B,YAAY,GAAGnB,WAAW,CAACkB,KAAD,CAAhC;;AAEA;AACEE,EAAAA,QADF;;;;;;;;;;;;;;;;AAiBIJ,EAAAA,KAjBJ,CACEI,QADF,CAEEC,KAFF,GAiBIL,KAjBJ,CAEEK,KAFF,CAGEC,OAHF,GAiBIN,KAjBJ,CAGEM,OAHF,mBAiBIN,KAjBJ,CAIEO,QAJF,CAIEA,QAJF,gCAIa,KAJb,kCAiBIP,KAjBJ,CAKEQ,KALF,CAKEA,KALF,6BAKUN,KAAK,CAACO,iBALhB,mCAiBIT,KAjBJ,CAMEU,SANF,CAMEA,SANF,iCAMc,KANd,oBAOEC,MAPF,GAiBIX,KAjBJ,CAOEW,MAPF,CAQEC,OARF,GAiBIZ,KAjBJ,CAQEY,OARF,CASEC,QATF,GAiBIb,KAjBJ,CASEa,QATF,CAUEC,OAVF,GAiBId,KAjBJ,CAUEc,OAVF,CAWEC,oBAXF,GAiBIf,KAjBJ,CAWEe,oBAXF,CAYEC,gBAZF,GAiBIhB,KAjBJ,CAYEgB,gBAZF,CAaEC,cAbF,GAiBIjB,KAjBJ,CAaEiB,cAbF,eAiBIjB,KAjBJ,CAcEkB,IAdF,CAcEA,IAdF,4BAcS,OAdT,mCAiBIlB,KAjBJ,CAeEmB,UAfF,CAeEA,UAfF,kCAeexB,iBAff,qBAgBKyB,UAhBL,iCAiBIpB,KAjBJ;;AAmBA;AACEtC,EAAAA,UAAU,CAACQ,0BAAD,CADZ,CAAQmD,KAAR,eAAQA,KAAR,CAAeC,QAAf,eAAeA,QAAf,CAAyBC,UAAzB,eAAyBA,UAAzB,CAAqCC,KAArC,eAAqCA,KAArC,CAA4CC,uBAA5C,eAA4CA,uBAA5C,CAAqEC,kBAArE,eAAqEA,kBAArE;;AAGA,MAAMC,MAAM,GAAGxD,gBAAgB,EAA/B;;AAEA,MAAMyD,QAAQ,GAAG/D,MAAM,CAAmB,IAAnB,CAAvB;AACA,MAAMgE,UAAU,GAAGhE,MAAM,CAAiB,IAAjB,CAAzB;;AAEA,MAAMiE,OAAO,GAAG,CAAC,CAAChB,OAAlB;AACA,MAAMiB,YAAY,GAAG,CAACxB,QAAtB;;AAEA,kBAA0CzC,QAAQ,CAAC,IAAD,CAAlD,CAAOkE,aAAP,gBAAsBC,gBAAtB;AACA,MAAMC,MAAM,GAAG9D,SAAS,CAAC0C,OAAD,EAAUE,gBAAV,EAA4BC,cAA5B,CAAxB;;AAEA,MAAMkB,oBAAoB,GAAG1E,WAAW;AACtC,YAAC4D,KAAD,EAAuC;AACrCA,IAAAA,KAAK,CAACe,OAAN,gGAAc,iBAAOxC,IAAP;AACcmB,gBAAAA,oBADd,sEAC6CA,oBAAoB,CAACnB,IAAD,CADjE,2CACNyC,iBADM;;AAGZ,oBAAI,CAACA,iBAAL,EAAwB;AACtBP,kBAAAA,OAAO,IAAII,MAAM,CAACtC,IAAD,CAAjB;AACD,iBAFD,MAEO;AACL6B,kBAAAA,uBAAuB,CAAC7B,IAAI,CAAC0C,EAAN,EAAUxD,gCAAgC,CAACuB,KAAjC,CAAuCgC,iBAAvC,CAAV,CAAvB;AACD,iBAPW,wDAAd;;AASD,GAXqC;AAYtC,GAACtB,oBAAD,EAAuBe,OAAvB,EAAgCI,MAAhC,EAAwCT,uBAAxC,CAZsC,CAAxC;;;AAeA,MAAMc,aAAa,GAAGxD,mBAAmB,CAACmC,IAAD,EAAO;AAC9CsB,IAAAA,KAAK,EAAErD,QAAQ,CAACsD,SAAT,CAAmBvC,KAAnB,CADuC;AAE9CwC,IAAAA,MAAM,EAAEvD,QAAQ,CAACwD,UAAT,CAAoBzC,KAApB,CAFsC;AAG9C0C,IAAAA,KAAK,EAAEzD,QAAQ,CAAC0D,SAAT,CAAmB3C,KAAnB,CAHuC,EAAP,CAAzC;;;AAMA,MAAM4C,aAAa,GAAG/D,mBAAmB,CAACmC,IAAD,EAAO;AAC9CsB,IAAAA,KAAK,EAAErD,QAAQ,CAAC4D,SAAT,CAAmB7C,KAAnB,CADuC;AAE9CwC,IAAAA,MAAM,EAAEvD,QAAQ,CAAC6D,UAAT,CAAoB9C,KAApB,CAFsC;AAG9C0C,IAAAA,KAAK,EAAEzD,QAAQ,CAAC8D,SAAT,CAAmB/C,KAAnB,CAHuC,EAAP,CAAzC;;;AAMA,MAAMgD,iBAAiB,GAAGnE,mBAAmB,CAACmC,IAAD,EAAO;AAClDsB,IAAAA,KAAK,EAAErD,QAAQ,CAACgE,iBAAT,CAA2BjD,KAA3B,CAD2C;AAElDwC,IAAAA,MAAM,EAAEvD,QAAQ,CAACiE,kBAAT,CAA4BlD,KAA5B,CAF0C;AAGlD0C,IAAAA,KAAK,EAAEzD,QAAQ,CAACkE,iBAAT,CAA2BnD,KAA3B,CAH2C,EAAP,CAA7C;;;AAMA;AACA,MAAMoD,YAAY,GAAG7F,WAAW;AAC9B,YAAC8F,QAAD,EAA+B;AAC7B,QAAI,CAACA,QAAL,EAAe;AACb;AACD;;AAED,QAAIC,UAAU,GAAGC,KAAK,CAACC,IAAN,CAAWH,QAAX,CAAjB;;AAEA,QAAIxB,YAAJ,EAAkB;AAChByB,MAAAA,UAAU,GAAG,CAACA,UAAU,CAAC,CAAD,CAAX,CAAb;AACD;;AAED,QAAMG,aAAa,GAAGH,UAAU,CAACI,GAAX,CAAe7F,eAAf,CAAtB;;AAEA,QAAIgE,YAAY,IAAI4B,aAAa,CAACE,MAA9B,IAAwCxC,KAAK,CAACwC,MAAlD,EAA0D;AACxDtC,MAAAA,UAAU,CAACF,KAAK,CAAC,CAAD,CAAL,CAASiB,EAAV,CAAV;AACD;;AAED,QAAIqB,aAAa,CAACE,MAAlB,EAA0B;AACxBvC,MAAAA,QAAQ,CAACqC,aAAD,CAAR;AACAxB,MAAAA,oBAAoB,CAACwB,aAAD,CAApB;AACD;AACF,GAtB6B;AAuB9B,GAACxB,oBAAD,EAAuBb,QAAvB,EAAiCS,YAAjC,EAA+CV,KAA/C,EAAsDE,UAAtD,CAvB8B,CAAhC;;;AA0BA,MAAMuC,UAAU,GAAGrG,WAAW;AAC5B,YAACsG,KAAD,EAAW;AACT,QAAI3D,QAAJ,EAAc;AACZ;AACD;;AAED,QAAQ4D,YAAR,GAAyBD,KAAzB,CAAQC,YAAR;AACA,QAAQ3C,KAAR,GAAkB2C,YAAlB,CAAQ3C,KAAR;;AAEA,QAAI,CAAAA,KAAK,QAAL,YAAAA,KAAK,CAAEwC,MAAP,IAAgB,CAApB,EAAuB;AACrBP,MAAAA,YAAY,CAACjC,KAAD,CAAZ;AACA2C,MAAAA,YAAY,CAACC,SAAb;AACD;AACF,GAb2B;AAc5B,GAACX,YAAD,EAAelD,QAAf,CAd4B,CAA9B;;;AAiBA,iBAAuC/B,OAAO,CAAmB,EAAE6F,MAAM,EAAEJ,UAAV,EAAnB,CAA9C,CAAQK,WAAR,YAAQA,WAAR,CAA0BC,QAA1B,YAAqBnE,GAArB;AACA,kBAA2D5B,OAAO,EAAlE,CAAqBgG,iBAArB,aAAQF,WAAR,CAA6CG,SAA7C,aAAwCrE,GAAxC;;AAEA,MAAIrB,SAAJ,EAAe;AACb0F,IAAAA,SAAS,CAACC,OAAV,GAAoBC,MAAM,CAACC,QAA3B;AACD;;AAED,MAAMC,KAAK,GAAGjH,WAAW,CAAC,YAAM;AAC9BgB,IAAAA,WAAW,CAACkG,YAAZ,GAA2B,IAA3B;AACA,yBAAA/C,QAAQ,CAAC2C,OAAT,uCAAkBG,KAAlB;AACD,GAHwB,EAGtB,EAHsB,CAAzB;;AAKA,MAAME,IAAI,GAAGnH,WAAW,CAAC,YAAM;AAC7B,0BAAAmE,QAAQ,CAAC2C,OAAT,wCAAkBK,IAAlB;AACD,GAFuB,EAErB,EAFqB,CAAxB;;AAIAhH,EAAAA,mBAAmB,CAACqC,GAAD,EAAM,oBAAO,EAAEyE,KAAK,EAALA,KAAF,EAASE,IAAI,EAAJA,IAAT,EAAepD,KAAK,EAALA,KAAf,EAAsBqD,WAAW,EAAE,+BAAMC,WAAW,CAACP,OAAlB,EAAnC,EAAP,EAAN,EAA8E;AAC/FtE,EAAAA,GAD+F;AAE/F2E,EAAAA,IAF+F;AAG/FF,EAAAA,KAH+F;AAI/FlD,EAAAA,KAJ+F,CAA9E,CAAnB;;;AAOA,mBAAwC1D,QAAQ,CAAC,KAAD,CAAhD,CAAOiH,YAAP,iBAAqBC,eAArB;AACA,MAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAClB,KAAD,EAAgD;AACxElD,IAAAA,QAAQ,QAAR,YAAAA,QAAQ,CAAGkD,KAAH,CAAR;AACAT,IAAAA,YAAY,CAACS,KAAK,CAACmB,MAAN,CAAa7D,KAAd,CAAZ;AACD,GAHD;;AAKA,MAAM8D,WAAW,GAAG,SAAdA,WAAc,CAAC9F,CAAD,EAA2C;AAC7D,QAAI,CAACe,QAAL,EAAe;AACb;AACA;AACAgF,MAAAA,qBAAqB,CAAC,YAAM;AAC1B,YAAI3G,WAAW,CAACkG,YAAhB,EAA8B;AAC5BK,UAAAA,eAAe,CAAC,IAAD,CAAf;AACD;AACF,OAJoB,CAArB;AAKApE,MAAAA,OAAO,QAAP,YAAAA,OAAO,CAAGvB,CAAH,CAAP;AACD;AACF,GAXD;;AAaA,MAAMgG,UAAU,GAAG,SAAbA,UAAa,CAAChG,CAAD,EAA2C;AAC5D2F,IAAAA,eAAe,CAAC,KAAD,CAAf;AACA,QAAI,CAAC5E,QAAL,EAAe;AACbO,MAAAA,MAAM,QAAN,YAAAA,MAAM,CAAGtB,CAAH,CAAN;AACD;AACF,GALD;;AAOA,mBAA8BvB,QAAQ,CAAC,KAAD,CAAtC,CAAOwH,OAAP,iBAAgBC,UAAhB;;AAEA,MAAMC,sBAAsB,GAAGxH,EAAE;AAC/BmB,EAAAA,QAAQ,CAACsG,YAAT,CAAsBvF,KAAtB,CAD+B;AAE/BqC,EAAAA,aAF+B;AAG/BwC,EAAAA,YAAY,IAAI5F,QAAQ,CAACuG,iBAAT,CAA2BxF,KAA3B,CAHe;AAI/BE,EAAAA,QAAQ,IAAIjB,QAAQ,CAACiB,QAAT,CAAkBF,KAAlB,CAJmB;AAK/B,GAACE,QAAD,IAAakF,OAAb,IAAwBnG,QAAQ,CAACmG,OAAT,CAAiBpF,KAAjB,CALO;AAM/B,GAAC,CAACI,OAAF,IAAanB,QAAQ,CAACmB,OAAT,CAAiBJ,KAAjB,CANkB;AAO/B,GAAC,CAACG,KAAF,IAAWlB,QAAQ,CAACkB,KAAT,CAAeH,KAAf,CAPoB;AAQ/BiE,EAAAA,WAAW,IAAI,CAAC/D,QAAhB,IAA4BjB,QAAQ,CAACwG,QAAT,CAAkBzF,KAAlB,CARG,CAAjC;;;AAWA,MAAM0F,OAAO,GAAGvB,iBAAiB,IAAI,CAACjE,QAAtC;AACA,MAAMyF,6BAA6B,GAAG7H,EAAE;AACtC,GAACmC,YAAD,IAAiByF,OAAjB,IAA4BzG,QAAQ,CAAC2G,cAAT,CAAwB5F,KAAxB,CADU;AAEtCC,EAAAA,YAAY,IAAIyF,OAAhB,IAA2BzG,QAAQ,CAAC4G,kBAAT,CAA4B7F,KAA5B,CAFW,CAAxC;;;AAKA,MAAM8F,0BAA0B,GAAGhI,EAAE,CAACmB,QAAQ,CAAC8G,IAAT,CAAc/F,KAAd,CAAD,EAAuB4C,aAAvB,EAAsC1C,QAAQ,IAAIjB,QAAQ,CAAC+G,YAAT,CAAsBhG,KAAtB,CAAlD,CAArC;;AAEA,MAAMiG,UAAU,GAAG9E,KAAK,CAACwC,MAAN,KAAiB,CAApC;AACA,MAAMuC,mBAAmB,GAAGrE,YAAY,IAAIoE,UAAhB,IAA8B,CAACzF,SAA3D;;AAEA,MAAM2F,iBAAiB,GAAGrI,EAAE,CAACmB,QAAQ,CAACK,OAAT,EAAD,EAAqB4G,mBAAmB,IAAIjH,QAAQ,CAACmH,gBAAT,EAA5C,CAA5B;;AAEA,MAAMC,cAAc,GAAGvI,EAAE;AACvBmB,EAAAA,QAAQ,CAACM,IAAT,CAAcS,KAAd,CADuB;AAEvB,GAACE,QAAD,IAAakF,OAAb,IAAwBnG,QAAQ,CAACqH,WAAT,CAAqBtG,KAArB,CAFD;AAGvBE,EAAAA,QAAQ,IAAIjB,QAAQ,CAACsH,YAAT,CAAsBvG,KAAtB,CAHW,CAAzB;;;AAMAvC,EAAAA,SAAS,CAAC,YAAM;AACdsE,IAAAA,gBAAgB,CAACmE,mBAAmB,GAAG,CAAC1E,kBAAJ,GAAyB,IAA7C,CAAhB;AACD,GAFQ,EAEN,CAACA,kBAAD,EAAqB0E,mBAArB,CAFM,CAAT;;AAIA,MAAMtB,WAAW,GAAGjH,MAAM,CAAC,IAAD,CAA1B;;AAEA,MAAM6I,SAA2C,GAAG;AAClDlE,IAAAA,KAAK,EAAEmE,QAAQ,CAACzG,KAAK,CAAC0G,gBAAP,CADmC;AAElDlE,IAAAA,MAAM,EAAEiE,QAAQ,CAACzG,KAAK,CAAC2G,iBAAP,CAFkC;AAGlDjE,IAAAA,KAAK,EAAE+D,QAAQ,CAACzG,KAAK,CAAC4G,gBAAP,CAHmC,EAApD;;AAKA,MAAMb,IAAI,GAAG9F,YAAY,gBAAG,oBAAC,cAAD,IAAgB,IAAI,EAAEuG,SAAS,CAACxF,IAAD,CAA/B,GAAH,gBAA+C,oBAAC,UAAD,OAAxE;;AAEA;AACE,wBAAC,aAAD,EAAmBlB,KAAnB;AACE;AACE,kBAAUV,oBAAoB,CAACC,IADjC;AAEE,MAAA,SAAS,EAAEJ,QAAQ,CAACI,IAAT,CAAcW,KAAd,CAFb;AAGE,MAAA,KAAK,EAAEjC,aAAa,CAAC,EAAEuC,KAAK,EAALA,KAAF,EAAD,CAHtB;AAIE,MAAA,GAAG,EAAEsE,WAJP;;AAMG,KAACpE,SAAD,IAAc,CAACqB,YAAf,IAA+B,CAAC,CAACV,KAAK,CAACwC,MAAvC,iBAAiD,oBAAC,oBAAD,IAAsB,UAAU,EAAE1C,UAAlC,EAA8C,IAAI,EAAED,IAApD,GANpD;AAOE,iCAAK,SAAS,EAAE2E,6BAAhB;AACE;AACE,MAAA,YAAY,EAAE,gCAAMN,UAAU,CAAC,IAAD,CAAhB,EADhB;AAEE,MAAA,YAAY,EAAE,gCAAMA,UAAU,CAAC,KAAD,CAAhB,EAFhB;AAGE,MAAA,GAAG,EAAEnB,QAHP;AAIE,MAAA,SAAS,EAAEoB,sBAJb;;AAME;AACE,kBAAUlG,oBAAoB,CAACE,OADjC;AAEE,MAAA,SAAS,EAAExB,EAAE,CAACqI,iBAAD,iBAAuBnD,iBAAvB,IAA2C,CAAC7B,KAAK,CAACwC,MAAP,IAAiB,CAAC9B,YAA7D,OAFf;;AAIGC,IAAAA,aAAa;AACZ,kCAAM,YAAU1C,oBAAoB,CAACG,IAArC,EAA2C,SAAS,EAAE8G,cAAtD;AACGH,IAAAA,mBAAmB,GAAGzE,MAAM,CAACoF,WAAV,GAAwBpF,MAAM,CAACqF,UADrD,CALJ;;;AASGhF,IAAAA,aAAa,IAAIiF,MAAM,CAACC,YAAP,CAAoB,IAApB,CATpB,CAS8C,YAT9C;AAUE;AACE,MAAA,SAAS,EAAElJ,EAAE;AACXkB,MAAAA,aAAa,CAACiI,aADH;AAEXf,MAAAA,mBAAmB,GAAGjH,QAAQ,CAACiI,sBAAT,CAAgClH,KAAhC,CAAH,GAA4Cf,QAAQ,CAACgI,aAAT,CAAuBjH,KAAvB,CAFpD,CADf;;;AAMGkG,IAAAA,mBAAmB;AAClB,iCAAK,GAAG,EAAEvE,UAAV,EAAsB,SAAS,EAAE1C,QAAQ,CAACkI,UAAT,EAAjC;AACGlG,IAAAA,UAAU,CAACE,KAAK,CAAC,CAAD,CAAN,eAAW,oBAAC,gBAAD,IAAkB,IAAI,EAAEA,KAAK,CAAC,CAAD,CAA7B,EAAkC,IAAI,EAAEH,IAAxC,GAAX,CADb,CADkB;;;AAKlB;AACGS,IAAAA,MAAM,CAAC2F,UADV;AAEE,iCAAK,SAAS,EAAEtB,0BAAhB,IAA6CC,IAA7C,CAFF,CAXJ,CAVF,CANF;;;;;AAkCE;AACM7E,IAAAA,UADN;AAEE,kBAAU9B,oBAAoB,CAACI,KAFjC;AAGE,MAAA,GAAG,EAAEkC,QAHP;AAIE,MAAA,QAAQ,EAAExB,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAJ5B;AAKE,MAAA,IAAI,EAAC,MALP;AAME,MAAA,QAAQ,EAAEA,QANZ;AAOE,MAAA,QAAQ,EAAEG,QAPZ;AAQE,MAAA,SAAS,EAAEpB,QAAQ,CAACoI,SAAT,EARb;AASE,MAAA,OAAO,EAAEnI,eATX;AAUE,MAAA,QAAQ,EAAE6F,iBAVZ;AAWE,MAAA,OAAO,EAAEE,WAXX;AAYE,MAAA,MAAM,EAAEE;AACR;AAbF,QAcE,KAAK,EAAE,EAdT,IAlCF,CADF,CAPF,CADF,CADF;;;;;;;AAiED,CAjRqB,CAAtB;;;;AAqRA,OAAO,IAAMmC,YAAY,GAAGhJ,+BAA+B;AACzDhB,KAAK,CAACiK,IAAN,CAAW3H,aAAX,CADyD,CAApD;;AAGP0H,YAAY,CAACE,WAAb,GAA2B,cAA3B","sourcesContent":["import React, { useCallback, useContext, useEffect, useImperativeHandle, useRef, useState } from 'react';\n\nimport { FileUploaderAttachedFile, getAttachedFile } from '../../internal/FileUploaderControl/fileUtils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { InstanceWithRootNode } from '../../lib/rootNode';\nimport { useMemoObject } from '../../hooks/useMemoObject';\nimport { FileUploaderControlContext } from '../../internal/FileUploaderControl/FileUploaderControlContext';\nimport { useControlLocale } from '../../internal/FileUploaderControl/hooks/useControlLocale';\nimport { useUpload } from '../../internal/FileUploaderControl/hooks/useUpload';\nimport { useDrop } from '../../hooks/useDrop';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { UploadIcon } from '../../internal/icons/16px';\nimport { FileUploaderControlProviderProps } from '../../internal/FileUploaderControl/FileUploaderControlProvider';\nimport { withFileUploaderControlProvider } from '../../internal/FileUploaderControl/withFileUploaderControlProvider';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { FileUploaderFile } from '../../internal/FileUploaderControl/FileUploaderFile/FileUploaderFile';\nimport { FileUploaderFileList } from '../../internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList';\nimport { isBrowser } from '../../lib/client';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { Nullable } from '../../typings/utility-types';\nimport { FileUploaderFileValidationResult } from '../../internal/FileUploaderControl/FileUploaderFileValidationResult';\nimport { useFileUploaderSize } from '../../internal/FileUploaderControl/hooks/useFileUploaderSize';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { UploadIcon as UploadIcon2022 } from './UploadIcon';\nimport { globalClasses, jsStyles } from './FileUploader.styles';\n\nconst stopPropagation: React.ReactEventHandler = (e) => e.stopPropagation();\n\nexport type FileUploaderSize = 'small' | 'medium' | 'large';\n\ntype FileUploaderOverriddenProps = 'size';\n\ninterface _FileUploaderProps\n extends CommonProps,\n Omit<React.InputHTMLAttributes<HTMLInputElement>, FileUploaderOverriddenProps> {\n /** Состояние ошибки всего контрола */\n error?: boolean;\n /** Состояние предупреждения всего контрола */\n warning?: boolean;\n /** Свойство ширины. */\n width?: React.CSSProperties['width'];\n /**\n * Задаёт размер контрола.\n *\n * **Допустимые значения**: `\"small\"`, `\"medium\"`, `\"large\"`.\n */\n size?: FileUploaderSize;\n /** Свойство, скрывающее отображение файлов. */\n hideFiles?: boolean;\n\n /** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */\n request?: (file: FileUploaderAttachedFile) => Promise<void>;\n /** Срабатывает при удачной попытке отправки через request */\n onRequestSuccess?: (fileId: string) => void;\n /** Срабатывает при неудачной попытке отправки через request */\n onRequestError?: (fileId: string) => void;\n\n /**\n * Функция валидации каждого файла.\n * Срабатывает после выбора файлов и перед попыткой отправить в request.\n * Чтобы вывести валидацию ошибки, промис должен вернуть строку.\n * */\n validateBeforeUpload?: (file: FileUploaderAttachedFile) => Promise<Nullable<string>>;\n\n /**\n * Функция, позволяющая кастомизировать файлы.\n * Через нее можно вешать кастомные валидации на каждый файл.\n * */\n renderFile?: (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => React.ReactNode;\n}\n\nexport interface FileUploaderRef extends InstanceWithRootNode {\n focus: () => void;\n blur: () => void;\n /** Сбрасывает выбранные файлы */\n reset: () => void;\n}\n\nexport const FileUploaderDataTids = {\n root: 'FileUploader__root',\n content: 'FileUploader__content',\n link: 'FileUploader__link',\n input: 'FileUploader__input',\n} as const;\n\nconst defaultRenderFile = (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => fileNode;\n\nconst _FileUploader = React.forwardRef<FileUploaderRef, _FileUploaderProps>((props: _FileUploaderProps, ref) => {\n const theme = useContext(ThemeContext);\n const _isTheme2022 = isTheme2022(theme);\n\n const {\n disabled,\n error,\n warning,\n multiple = false,\n width = theme.fileUploaderWidth,\n hideFiles = false,\n onBlur,\n onFocus,\n onChange,\n request,\n validateBeforeUpload,\n onRequestSuccess,\n onRequestError,\n size = 'small',\n renderFile = defaultRenderFile,\n ...inputProps\n } = props;\n\n const { files, setFiles, removeFile, reset, setFileValidationResult, isMinLengthReached } =\n useContext(FileUploaderControlContext);\n\n const locale = useControlLocale();\n\n const inputRef = useRef<HTMLInputElement>(null);\n const fileDivRef = useRef<HTMLDivElement>(null);\n\n const isAsync = !!request;\n const isSingleMode = !multiple;\n\n const [isLinkVisible, setIsLinkVisible] = useState(true);\n const upload = useUpload(request, onRequestSuccess, onRequestError);\n\n const tryValidateAndUpload = useCallback(\n (files: FileUploaderAttachedFile[]) => {\n files.forEach(async (file) => {\n const validationMessage = validateBeforeUpload && (await validateBeforeUpload(file));\n\n if (!validationMessage) {\n isAsync && upload(file);\n } else {\n setFileValidationResult(file.id, FileUploaderFileValidationResult.error(validationMessage));\n }\n });\n },\n [validateBeforeUpload, isAsync, upload, setFileValidationResult],\n );\n\n const sizeClassName = useFileUploaderSize(size, {\n small: jsStyles.sizeSmall(theme),\n medium: jsStyles.sizeMedium(theme),\n large: jsStyles.sizeLarge(theme),\n });\n\n const sizeIconClass = useFileUploaderSize(size, {\n small: jsStyles.iconSmall(theme),\n medium: jsStyles.iconMedium(theme),\n large: jsStyles.iconLarge(theme),\n });\n\n const contentInnerClass = useFileUploaderSize(size, {\n small: jsStyles.contentInnerSmall(theme),\n medium: jsStyles.contentInnerMedium(theme),\n large: jsStyles.contentInnerLarge(theme),\n });\n\n /** common part **/\n const handleChange = useCallback(\n (newFiles: FileList | null) => {\n if (!newFiles) {\n return;\n }\n\n let filesArray = Array.from(newFiles);\n\n if (isSingleMode) {\n filesArray = [filesArray[0]];\n }\n\n const attachedFiles = filesArray.map(getAttachedFile);\n\n if (isSingleMode && attachedFiles.length && files.length) {\n removeFile(files[0].id);\n }\n\n if (attachedFiles.length) {\n setFiles(attachedFiles);\n tryValidateAndUpload(attachedFiles);\n }\n },\n [tryValidateAndUpload, setFiles, isSingleMode, files, removeFile],\n );\n\n const handleDrop = useCallback(\n (event) => {\n if (disabled) {\n return;\n }\n\n const { dataTransfer } = event;\n const { files } = dataTransfer;\n\n if (files?.length > 0) {\n handleChange(files);\n dataTransfer.clearData();\n }\n },\n [handleChange, disabled],\n );\n\n const { isDraggable, ref: labelRef } = useDrop<HTMLLabelElement>({ onDrop: handleDrop });\n const { isDraggable: isWindowDraggable, ref: windowRef } = useDrop<Document>();\n\n if (isBrowser) {\n windowRef.current = window.document;\n }\n\n const focus = useCallback(() => {\n keyListener.isTabPressed = true;\n inputRef.current?.focus();\n }, []);\n\n const blur = useCallback(() => {\n inputRef.current?.blur();\n }, []);\n\n useImperativeHandle(ref, () => ({ focus, blur, reset, getRootNode: () => rootNodeRef.current }), [\n ref,\n blur,\n focus,\n reset,\n ]);\n\n const [focusedByTab, setFocusedByTab] = useState(false);\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n handleChange(event.target.files);\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n if (!disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n setFocusedByTab(true);\n }\n });\n onFocus?.(e);\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedByTab(false);\n if (!disabled) {\n onBlur?.(e);\n }\n };\n\n const [hovered, setHovered] = useState(false);\n\n const uploadButtonClassNames = cx(\n jsStyles.uploadButton(theme),\n sizeClassName,\n focusedByTab && jsStyles.uploadButtonFocus(theme),\n disabled && jsStyles.disabled(theme),\n !disabled && hovered && jsStyles.hovered(theme),\n !!warning && jsStyles.warning(theme),\n !!error && jsStyles.error(theme),\n isDraggable && !disabled && jsStyles.dragOver(theme),\n );\n\n const canDrop = isWindowDraggable && !disabled;\n const uploadButtonWrapperClassNames = cx(\n !_isTheme2022 && canDrop && jsStyles.windowDragOver(theme),\n _isTheme2022 && canDrop && jsStyles.windowDragOver2022(theme),\n );\n\n const uploadButtonIconClassNames = cx(jsStyles.icon(theme), sizeIconClass, disabled && jsStyles.iconDisabled(theme));\n\n const hasOneFile = files.length === 1;\n const hasOneFileForSingle = isSingleMode && hasOneFile && !hideFiles;\n\n const contentClassNames = cx(jsStyles.content(), hasOneFileForSingle && jsStyles.contentWithFiles());\n\n const linkClassNames = cx(\n jsStyles.link(theme),\n !disabled && hovered && jsStyles.linkHovered(theme),\n disabled && jsStyles.linkDisabled(theme),\n );\n\n useEffect(() => {\n setIsLinkVisible(hasOneFileForSingle ? !isMinLengthReached : true);\n }, [isMinLengthReached, hasOneFileForSingle]);\n\n const rootNodeRef = useRef(null);\n\n const iconSizes: Record<FileUploaderSize, number> = {\n small: parseInt(theme.btnIconSizeSmall),\n medium: parseInt(theme.btnIconSizeMedium),\n large: parseInt(theme.btnIconSizeLarge),\n };\n const icon = _isTheme2022 ? <UploadIcon2022 size={iconSizes[size]} /> : <UploadIcon />;\n\n return (\n <CommonWrapper {...props}>\n <div\n data-tid={FileUploaderDataTids.root}\n className={jsStyles.root(theme)}\n style={useMemoObject({ width })}\n ref={rootNodeRef}\n >\n {!hideFiles && !isSingleMode && !!files.length && <FileUploaderFileList renderFile={renderFile} size={size} />}\n <div className={uploadButtonWrapperClassNames}>\n <label\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n ref={labelRef}\n className={uploadButtonClassNames}\n >\n <div\n data-tid={FileUploaderDataTids.content}\n className={cx(contentClassNames, { [contentInnerClass]: !files.length || !isSingleMode })}\n >\n {isLinkVisible && (\n <span data-tid={FileUploaderDataTids.link} className={linkClassNames}>\n {hasOneFileForSingle ? locale.choosedFile : locale.chooseFile}\n </span>\n )}\n {isLinkVisible && String.fromCharCode(0xa0) /* &nbsp; */}\n <div\n className={cx(\n globalClasses.afterLinkText,\n hasOneFileForSingle ? jsStyles.afterLinkText_HasFiles(theme) : jsStyles.afterLinkText(theme),\n )}\n >\n {hasOneFileForSingle ? (\n <div ref={fileDivRef} className={jsStyles.singleFile()}>\n {renderFile(files[0], <FileUploaderFile file={files[0]} size={size} />)}\n </div>\n ) : (\n <>\n {locale.orDragHere}&nbsp;\n <div className={uploadButtonIconClassNames}>{icon}</div>\n </>\n )}\n </div>\n </div>\n <input\n {...inputProps}\n data-tid={FileUploaderDataTids.input}\n ref={inputRef}\n tabIndex={disabled ? -1 : 0}\n type=\"file\"\n disabled={disabled}\n multiple={multiple}\n className={jsStyles.fileInput()}\n onClick={stopPropagation}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n // для того, чтобы срабатывало событие change при выборе одного и того же файла подряд\n value={''}\n />\n </label>\n </div>\n </div>\n </CommonWrapper>\n );\n});\n\nexport interface FileUploaderProps extends _FileUploaderProps, FileUploaderControlProviderProps {}\n\nexport const FileUploader = withFileUploaderControlProvider<FileUploaderProps, FileUploaderRef>(\n React.memo(_FileUploader),\n);\nFileUploader.displayName = 'FileUploader';\n"]}
1
+ {"version":3,"sources":["FileUploader.tsx"],"names":["React","useCallback","useContext","useEffect","useImperativeHandle","useRef","useState","globalObject","isBrowser","getAttachedFile","cx","useMemoObject","FileUploaderControlContext","useControlLocale","useUpload","useDrop","ThemeContext","UploadIcon","withFileUploaderControlProvider","keyListener","FileUploaderFile","FileUploaderFileList","CommonWrapper","FileUploaderFileValidationResult","useFileUploaderSize","isTheme2022","UploadIcon2022","globalClasses","jsStyles","stopPropagation","e","FileUploaderDataTids","root","content","link","input","defaultRenderFile","file","fileNode","_FileUploader","forwardRef","props","ref","theme","_isTheme2022","disabled","error","warning","multiple","width","fileUploaderWidth","hideFiles","onBlur","onFocus","onChange","request","validateBeforeUpload","onRequestSuccess","onRequestError","size","renderFile","inputProps","files","setFiles","removeFile","reset","setFileValidationResult","isMinLengthReached","locale","inputRef","fileDivRef","isAsync","isSingleMode","isLinkVisible","setIsLinkVisible","upload","tryValidateAndUpload","forEach","validationMessage","id","sizeClassName","small","sizeSmall","medium","sizeMedium","large","sizeLarge","sizeIconClass","iconSmall","iconMedium","iconLarge","contentInnerClass","contentInnerSmall","contentInnerMedium","contentInnerLarge","handleChange","newFiles","filesArray","Array","from","attachedFiles","map","length","handleDrop","event","dataTransfer","clearData","onDrop","isDraggable","labelRef","isWindowDraggable","windowRef","current","document","focus","isTabPressed","blur","getRootNode","rootNodeRef","focusedByTab","setFocusedByTab","handleInputChange","target","handleFocus","requestAnimationFrame","handleBlur","hovered","setHovered","uploadButtonClassNames","uploadButton","uploadButtonFocus","dragOver","canDrop","uploadButtonWrapperClassNames","windowDragOver","windowDragOver2022","uploadButtonIconClassNames","icon","iconDisabled","hasOneFile","hasOneFileForSingle","contentClassNames","contentWithFiles","linkClassNames","linkHovered","linkDisabled","iconSizes","parseInt","btnIconSizeSmall","btnIconSizeMedium","btnIconSizeLarge","choosedFile","chooseFile","String","fromCharCode","afterLinkText","afterLinkText_HasFiles","singleFile","orDragHere","visuallyHidden","FileUploader","memo","displayName"],"mappings":"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","sourcesContent":["import React, { useCallback, useContext, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { FileUploaderAttachedFile, getAttachedFile } from '../../internal/FileUploaderControl/fileUtils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { InstanceWithRootNode } from '../../lib/rootNode';\nimport { useMemoObject } from '../../hooks/useMemoObject';\nimport { FileUploaderControlContext } from '../../internal/FileUploaderControl/FileUploaderControlContext';\nimport { useControlLocale } from '../../internal/FileUploaderControl/hooks/useControlLocale';\nimport { useUpload } from '../../internal/FileUploaderControl/hooks/useUpload';\nimport { useDrop } from '../../hooks/useDrop';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { UploadIcon } from '../../internal/icons/16px';\nimport { FileUploaderControlProviderProps } from '../../internal/FileUploaderControl/FileUploaderControlProvider';\nimport { withFileUploaderControlProvider } from '../../internal/FileUploaderControl/withFileUploaderControlProvider';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { FileUploaderFile } from '../../internal/FileUploaderControl/FileUploaderFile/FileUploaderFile';\nimport { FileUploaderFileList } from '../../internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { Nullable } from '../../typings/utility-types';\nimport { FileUploaderFileValidationResult } from '../../internal/FileUploaderControl/FileUploaderFileValidationResult';\nimport { useFileUploaderSize } from '../../internal/FileUploaderControl/hooks/useFileUploaderSize';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { UploadIcon as UploadIcon2022 } from './UploadIcon';\nimport { globalClasses, jsStyles } from './FileUploader.styles';\n\nconst stopPropagation: React.ReactEventHandler = (e) => e.stopPropagation();\n\n/**\n * @deprecated use SizeProp\n */\nexport type FileUploaderSize = SizeProp;\n\ntype FileUploaderOverriddenProps = 'size';\n\ninterface _FileUploaderProps\n extends CommonProps,\n Omit<React.InputHTMLAttributes<HTMLInputElement>, FileUploaderOverriddenProps> {\n /** Состояние ошибки всего контрола */\n error?: boolean;\n /** Состояние предупреждения всего контрола */\n warning?: boolean;\n /** Свойство ширины. */\n width?: React.CSSProperties['width'];\n /**\n * Задаёт размер контрола.\n *\n * **Допустимые значения**: `\"small\"`, `\"medium\"`, `\"large\"`.\n */\n size?: SizeProp;\n /** Свойство, скрывающее отображение файлов. */\n hideFiles?: boolean;\n\n /** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */\n request?: (file: FileUploaderAttachedFile) => Promise<void>;\n /** Срабатывает при удачной попытке отправки через request */\n onRequestSuccess?: (fileId: string) => void;\n /** Срабатывает при неудачной попытке отправки через request */\n onRequestError?: (fileId: string) => void;\n\n /**\n * Функция валидации каждого файла.\n * Срабатывает после выбора файлов и перед попыткой отправить в request.\n * Чтобы вывести валидацию ошибки, промис должен вернуть строку.\n * */\n validateBeforeUpload?: (file: FileUploaderAttachedFile) => Promise<Nullable<string>>;\n\n /**\n * Функция, позволяющая кастомизировать файлы.\n * Через нее можно вешать кастомные валидации на каждый файл.\n * */\n renderFile?: (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => React.ReactNode;\n}\n\nexport interface FileUploaderRef extends InstanceWithRootNode {\n focus: () => void;\n blur: () => void;\n /** Сбрасывает выбранные файлы */\n reset: () => void;\n}\n\nexport const FileUploaderDataTids = {\n root: 'FileUploader__root',\n content: 'FileUploader__content',\n link: 'FileUploader__link',\n input: 'FileUploader__input',\n} as const;\n\nconst defaultRenderFile = (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => fileNode;\n\nconst _FileUploader = React.forwardRef<FileUploaderRef, _FileUploaderProps>((props: _FileUploaderProps, ref) => {\n const theme = useContext(ThemeContext);\n const _isTheme2022 = isTheme2022(theme);\n\n const {\n disabled,\n error,\n warning,\n multiple = false,\n width = theme.fileUploaderWidth,\n hideFiles = false,\n onBlur,\n onFocus,\n onChange,\n request,\n validateBeforeUpload,\n onRequestSuccess,\n onRequestError,\n size = 'small',\n renderFile = defaultRenderFile,\n ...inputProps\n } = props;\n\n const { files, setFiles, removeFile, reset, setFileValidationResult, isMinLengthReached } =\n useContext(FileUploaderControlContext);\n\n const locale = useControlLocale();\n\n const inputRef = useRef<HTMLInputElement>(null);\n const fileDivRef = useRef<HTMLDivElement>(null);\n\n const isAsync = !!request;\n const isSingleMode = !multiple;\n\n const [isLinkVisible, setIsLinkVisible] = useState(true);\n const upload = useUpload(request, onRequestSuccess, onRequestError);\n\n const tryValidateAndUpload = useCallback(\n (files: FileUploaderAttachedFile[]) => {\n files.forEach(async (file) => {\n const validationMessage = validateBeforeUpload && (await validateBeforeUpload(file));\n\n if (!validationMessage) {\n isAsync && upload(file);\n } else {\n setFileValidationResult(file.id, FileUploaderFileValidationResult.error(validationMessage));\n }\n });\n },\n [validateBeforeUpload, isAsync, upload, setFileValidationResult],\n );\n\n const sizeClassName = useFileUploaderSize(size, {\n small: jsStyles.sizeSmall(theme),\n medium: jsStyles.sizeMedium(theme),\n large: jsStyles.sizeLarge(theme),\n });\n\n const sizeIconClass = useFileUploaderSize(size, {\n small: jsStyles.iconSmall(theme),\n medium: jsStyles.iconMedium(theme),\n large: jsStyles.iconLarge(theme),\n });\n\n const contentInnerClass = useFileUploaderSize(size, {\n small: jsStyles.contentInnerSmall(theme),\n medium: jsStyles.contentInnerMedium(theme),\n large: jsStyles.contentInnerLarge(theme),\n });\n\n /** common part **/\n const handleChange = useCallback(\n (newFiles: FileList | null) => {\n if (!newFiles) {\n return;\n }\n\n let filesArray = Array.from(newFiles);\n\n if (isSingleMode) {\n filesArray = [filesArray[0]];\n }\n\n const attachedFiles = filesArray.map(getAttachedFile);\n\n if (isSingleMode && attachedFiles.length && files.length) {\n removeFile(files[0].id);\n }\n\n if (attachedFiles.length) {\n setFiles(attachedFiles);\n tryValidateAndUpload(attachedFiles);\n }\n },\n [tryValidateAndUpload, setFiles, isSingleMode, files, removeFile],\n );\n\n const handleDrop = useCallback(\n (event) => {\n if (disabled) {\n return;\n }\n\n const { dataTransfer } = event;\n const { files } = dataTransfer;\n\n if (files?.length > 0) {\n handleChange(files);\n dataTransfer.clearData();\n }\n },\n [handleChange, disabled],\n );\n\n const { isDraggable, ref: labelRef } = useDrop<HTMLLabelElement>({ onDrop: handleDrop });\n const { isDraggable: isWindowDraggable, ref: windowRef } = useDrop<Document>();\n\n if (isBrowser(globalObject)) {\n windowRef.current = globalObject.document;\n }\n\n const focus = useCallback(() => {\n keyListener.isTabPressed = true;\n inputRef.current?.focus();\n }, []);\n\n const blur = useCallback(() => {\n inputRef.current?.blur();\n }, []);\n\n useImperativeHandle(ref, () => ({ focus, blur, reset, getRootNode: () => rootNodeRef.current }), [\n ref,\n blur,\n focus,\n reset,\n ]);\n\n const [focusedByTab, setFocusedByTab] = useState(false);\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n handleChange(event.target.files);\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n if (!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 setFocusedByTab(true);\n }\n });\n onFocus?.(e);\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedByTab(false);\n if (!disabled) {\n onBlur?.(e);\n }\n };\n\n const [hovered, setHovered] = useState(false);\n\n const uploadButtonClassNames = cx(\n jsStyles.uploadButton(theme),\n sizeClassName,\n focusedByTab && jsStyles.uploadButtonFocus(theme),\n disabled && jsStyles.disabled(theme),\n !disabled && hovered && jsStyles.hovered(theme),\n !!warning && jsStyles.warning(theme),\n !!error && jsStyles.error(theme),\n isDraggable && !disabled && jsStyles.dragOver(theme),\n );\n\n const canDrop = isWindowDraggable && !disabled;\n const uploadButtonWrapperClassNames = cx(\n !_isTheme2022 && canDrop && jsStyles.windowDragOver(theme),\n _isTheme2022 && canDrop && jsStyles.windowDragOver2022(theme),\n );\n\n const uploadButtonIconClassNames = cx(jsStyles.icon(theme), sizeIconClass, disabled && jsStyles.iconDisabled(theme));\n\n const hasOneFile = files.length === 1;\n const hasOneFileForSingle = isSingleMode && hasOneFile && !hideFiles;\n\n const contentClassNames = cx(jsStyles.content(), hasOneFileForSingle && jsStyles.contentWithFiles());\n\n const linkClassNames = cx(\n jsStyles.link(theme),\n !disabled && hovered && jsStyles.linkHovered(theme),\n disabled && jsStyles.linkDisabled(theme),\n );\n\n useEffect(() => {\n setIsLinkVisible(hasOneFileForSingle ? !isMinLengthReached : true);\n }, [isMinLengthReached, hasOneFileForSingle]);\n\n const rootNodeRef = useRef(null);\n\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(theme.btnIconSizeSmall),\n medium: parseInt(theme.btnIconSizeMedium),\n large: parseInt(theme.btnIconSizeLarge),\n };\n const icon = _isTheme2022 ? <UploadIcon2022 size={iconSizes[size]} /> : <UploadIcon />;\n\n return (\n <CommonWrapper {...props}>\n <div\n data-tid={FileUploaderDataTids.root}\n className={jsStyles.root(theme)}\n style={useMemoObject({ width })}\n ref={rootNodeRef}\n >\n {!hideFiles && !isSingleMode && !!files.length && <FileUploaderFileList renderFile={renderFile} size={size} />}\n <div className={uploadButtonWrapperClassNames}>\n <label\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n ref={labelRef}\n className={uploadButtonClassNames}\n >\n <div\n data-tid={FileUploaderDataTids.content}\n className={cx(contentClassNames, { [contentInnerClass]: !files.length || !isSingleMode })}\n >\n {isLinkVisible && (\n <span data-tid={FileUploaderDataTids.link} className={linkClassNames}>\n {hasOneFileForSingle ? locale.choosedFile : locale.chooseFile}\n </span>\n )}\n {isLinkVisible && String.fromCharCode(0xa0) /* &nbsp; */}\n <div\n className={cx(\n globalClasses.afterLinkText,\n hasOneFileForSingle ? jsStyles.afterLinkText_HasFiles(theme) : jsStyles.afterLinkText(theme),\n )}\n >\n {hasOneFileForSingle ? (\n <div ref={fileDivRef} className={jsStyles.singleFile()}>\n {renderFile(files[0], <FileUploaderFile file={files[0]} size={size} />)}\n </div>\n ) : (\n <>\n {locale.orDragHere}&nbsp;\n <div className={uploadButtonIconClassNames}>{icon}</div>\n </>\n )}\n </div>\n </div>\n <input\n {...inputProps}\n data-tid={FileUploaderDataTids.input}\n ref={inputRef}\n tabIndex={disabled ? -1 : 0}\n type=\"file\"\n disabled={disabled}\n multiple={multiple}\n className={jsStyles.visuallyHidden()}\n onClick={stopPropagation}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n // для того, чтобы срабатывало событие change при выборе одного и того же файла подряд\n value={''}\n />\n </label>\n </div>\n </div>\n </CommonWrapper>\n );\n});\n\nexport interface FileUploaderProps extends _FileUploaderProps, FileUploaderControlProviderProps {}\n\nexport const FileUploader = withFileUploaderControlProvider<FileUploaderProps, FileUploaderRef>(\n React.memo(_FileUploader),\n);\nFileUploader.displayName = 'FileUploader';\n"]}
@@ -4,7 +4,11 @@ import { InstanceWithRootNode } from '../../lib/rootNode';
4
4
  import { FileUploaderControlProviderProps } from '../../internal/FileUploaderControl/FileUploaderControlProvider';
5
5
  import { CommonProps } from '../../internal/CommonWrapper';
6
6
  import { Nullable } from '../../typings/utility-types';
7
- export declare type FileUploaderSize = 'small' | 'medium' | 'large';
7
+ import { SizeProp } from '../../lib/types/props';
8
+ /**
9
+ * @deprecated use SizeProp
10
+ */
11
+ export declare type FileUploaderSize = SizeProp;
8
12
  declare type FileUploaderOverriddenProps = 'size';
9
13
  interface _FileUploaderProps extends CommonProps, Omit<React.InputHTMLAttributes<HTMLInputElement>, FileUploaderOverriddenProps> {
10
14
  /** Состояние ошибки всего контрола */
@@ -18,7 +22,7 @@ interface _FileUploaderProps extends CommonProps, Omit<React.InputHTMLAttributes
18
22
  *
19
23
  * **Допустимые значения**: `"small"`, `"medium"`, `"large"`.
20
24
  */
21
- size?: FileUploaderSize;
25
+ size?: SizeProp;
22
26
  /** Свойство, скрывающее отображение файлов. */
23
27
  hideFiles?: boolean;
24
28
  /** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */
@@ -48,8 +48,8 @@ var styles = {
48
48
  contentInnerLarge: function contentInnerLarge(t) {
49
49
  return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n width: calc(100% - ", " - ", ");\n "])), t.inputIconSizeLarge, t.fileUploaderIconGapLarge);
50
50
  },
51
- fileInput: function fileInput() {
52
- return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n width: 0;\n height: 0;\n "])));
51
+ visuallyHidden: function visuallyHidden() {
52
+ return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n border: 0;\n padding: 0;\n white-space: nowrap;\n clip-path: inset(100%);\n clip: rect(0 0 0 0);\n overflow: hidden;\n "])));
53
53
  },
54
54
  afterLinkText: function afterLinkText(t) {
55
55
  return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n display: inline;\n color: ", ";\n "])), t.fileUploaderAfterLinkColor);