@skbkontur/react-ui 3.8.5 → 3.10.0-fileuploader.1

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 (376) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/cjs/components/Button/Button.d.ts +66 -10
  3. package/cjs/components/Button/Button.js +55 -0
  4. package/cjs/components/Button/Button.js.map +1 -1
  5. package/cjs/components/Button/Button.md +42 -30
  6. package/cjs/components/Checkbox/Checkbox.d.ts +2 -2
  7. package/cjs/components/Checkbox/Checkbox.js +2 -2
  8. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  9. package/cjs/components/ComboBox/ComboBox.d.ts +6 -0
  10. package/cjs/components/ComboBox/ComboBox.js +4 -0
  11. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  12. package/cjs/components/DateInput/DateInput.d.ts +6 -0
  13. package/cjs/components/DateInput/DateInput.js +6 -0
  14. package/cjs/components/DateInput/DateInput.js.map +1 -1
  15. package/cjs/components/DatePicker/DatePicker.d.ts +6 -0
  16. package/cjs/components/DatePicker/DatePicker.js +6 -0
  17. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  18. package/cjs/components/Dropdown/Dropdown.d.ts +2 -2
  19. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  20. package/cjs/components/FileUploader/FileUploader.d.ts +31 -0
  21. package/cjs/components/FileUploader/FileUploader.js +270 -0
  22. package/cjs/components/FileUploader/FileUploader.js.map +1 -0
  23. package/cjs/components/FileUploader/FileUploader.md +67 -0
  24. package/cjs/components/FileUploader/FileUploader.styles.d.ts +19 -0
  25. package/cjs/components/FileUploader/FileUploader.styles.js +159 -0
  26. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -0
  27. package/cjs/components/FileUploader/index.d.ts +4 -0
  28. package/cjs/components/FileUploader/index.js +4 -0
  29. package/cjs/components/FileUploader/index.js.map +1 -0
  30. package/cjs/components/FileUploader/locale/index.d.ts +4 -0
  31. package/cjs/components/FileUploader/locale/index.js +11 -0
  32. package/cjs/components/FileUploader/locale/index.js.map +1 -0
  33. package/cjs/components/FileUploader/locale/locales/en.d.ts +2 -0
  34. package/cjs/components/FileUploader/locale/locales/en.js +7 -0
  35. package/cjs/components/FileUploader/locale/locales/en.js.map +1 -0
  36. package/cjs/components/FileUploader/locale/locales/ru.d.ts +2 -0
  37. package/cjs/components/FileUploader/locale/locales/ru.js +7 -0
  38. package/cjs/components/FileUploader/locale/locales/ru.js.map +1 -0
  39. package/cjs/components/FileUploader/locale/types.d.ts +6 -0
  40. package/cjs/components/FileUploader/locale/types.js +1 -0
  41. package/cjs/components/FileUploader/locale/types.js.map +1 -0
  42. package/cjs/components/Hint/Hint.d.ts +5 -0
  43. package/cjs/components/Hint/Hint.js +5 -0
  44. package/cjs/components/Hint/Hint.js.map +1 -1
  45. package/cjs/components/Input/Input.d.ts +6 -2
  46. package/cjs/components/Input/Input.js +4 -0
  47. package/cjs/components/Input/Input.js.map +1 -1
  48. package/cjs/components/Link/Link.js +3 -6
  49. package/cjs/components/Link/Link.js.map +1 -1
  50. package/cjs/components/Link/Link.mixins.js +2 -1
  51. package/cjs/components/Link/Link.mixins.js.map +1 -1
  52. package/cjs/components/Radio/Radio.d.ts +27 -11
  53. package/cjs/components/Radio/Radio.js +19 -6
  54. package/cjs/components/Radio/Radio.js.map +1 -1
  55. package/cjs/components/Radio/Radio.md +36 -12
  56. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -2
  57. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  58. package/cjs/components/Select/Select.d.ts +4 -1
  59. package/cjs/components/Select/Select.js +3 -0
  60. package/cjs/components/Select/Select.js.map +1 -1
  61. package/cjs/components/SidePage/SidePage.d.ts +5 -0
  62. package/cjs/components/SidePage/SidePage.js +10 -1
  63. package/cjs/components/SidePage/SidePage.js.map +1 -1
  64. package/cjs/components/SidePage/SidePage.styles.d.ts +0 -1
  65. package/cjs/components/SidePage/SidePage.styles.js +16 -24
  66. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  67. package/cjs/components/Tabs/Tab.d.ts +2 -2
  68. package/cjs/components/Tabs/Tab.js.map +1 -1
  69. package/cjs/components/Textarea/Textarea.d.ts +6 -2
  70. package/cjs/components/Textarea/Textarea.js +9 -2
  71. package/cjs/components/Textarea/Textarea.js.map +1 -1
  72. package/cjs/components/Textarea/Textarea.styles.d.ts +1 -0
  73. package/cjs/components/Textarea/Textarea.styles.js +22 -19
  74. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  75. package/cjs/components/Toggle/Toggle.d.ts +2 -2
  76. package/cjs/components/Toggle/Toggle.js.map +1 -1
  77. package/cjs/components/Token/Token.d.ts +6 -0
  78. package/cjs/components/Token/Token.js +6 -0
  79. package/cjs/components/Token/Token.js.map +1 -1
  80. package/cjs/components/TokenInput/TokenInput.d.ts +6 -0
  81. package/cjs/components/TokenInput/TokenInput.js +23 -17
  82. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  83. package/cjs/components/TokenInput/TokenInputMenu.js +1 -1
  84. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  85. package/cjs/components/Tooltip/Tooltip.d.ts +3 -3
  86. package/cjs/components/Tooltip/Tooltip.js +2 -1
  87. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  88. package/cjs/hooks/useDrop.d.ts +11 -0
  89. package/cjs/hooks/useDrop.js +75 -0
  90. package/cjs/hooks/useDrop.js.map +1 -0
  91. package/cjs/hooks/useMemoObject.d.ts +1 -0
  92. package/cjs/hooks/useMemoObject.js +5 -0
  93. package/cjs/hooks/useMemoObject.js.map +1 -0
  94. package/cjs/index.d.ts +1 -0
  95. package/cjs/index.js +1 -0
  96. package/cjs/index.js.map +1 -1
  97. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -0
  98. package/cjs/internal/CustomComboBox/ComboBoxView.js +6 -0
  99. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  100. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +6 -0
  101. package/cjs/internal/CustomComboBox/CustomComboBox.js +11 -9
  102. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  103. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +11 -0
  104. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +15 -0
  105. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +1 -0
  106. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  107. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +107 -0
  108. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -0
  109. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +10 -0
  110. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +187 -0
  111. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -0
  112. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  113. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +66 -0
  114. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +1 -0
  115. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +4 -0
  116. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +24 -0
  117. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  118. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +4 -0
  119. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +17 -0
  120. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -0
  121. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  122. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +16 -0
  123. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +1 -0
  124. package/cjs/internal/FileUploaderControl/fileUtils.d.ts +18 -0
  125. package/cjs/internal/FileUploaderControl/fileUtils.js +55 -0
  126. package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -0
  127. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  128. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +4 -0
  129. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +1 -0
  130. package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  131. package/cjs/internal/FileUploaderControl/hooks/useUpload.js +51 -0
  132. package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +1 -0
  133. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  134. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +18 -0
  135. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -0
  136. package/cjs/internal/InputLikeText/InputLikeText.js +2 -2
  137. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  138. package/cjs/internal/Popup/Popup.d.ts +13 -0
  139. package/cjs/internal/Popup/Popup.js +25 -3
  140. package/cjs/internal/Popup/Popup.js.map +1 -1
  141. package/cjs/internal/Popup/PopupHelper.js +1 -0
  142. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  143. package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  144. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +34 -0
  145. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -0
  146. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  147. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +23 -0
  148. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -0
  149. package/cjs/internal/ThemePlayground/Playground.d.ts +1 -0
  150. package/cjs/internal/ThemePlayground/Playground.js +11 -1
  151. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  152. package/cjs/internal/ThemePlayground/darkTheme.d.ts +15 -0
  153. package/cjs/internal/ThemePlayground/darkTheme.js +25 -1
  154. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  155. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  156. package/cjs/internal/icons/16px/index.d.ts +3 -0
  157. package/cjs/internal/icons/16px/index.js +38 -2
  158. package/cjs/internal/icons/16px/index.js.map +1 -1
  159. package/cjs/internal/themes/DefaultTheme.d.ts +23 -0
  160. package/cjs/internal/themes/DefaultTheme.js +64 -1
  161. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  162. package/cjs/lib/forwardRefAndName.d.ts +5 -0
  163. package/cjs/lib/forwardRefAndName.js +23 -0
  164. package/cjs/lib/forwardRefAndName.js.map +1 -0
  165. package/cjs/lib/guidUtils.d.ts +1 -0
  166. package/cjs/lib/guidUtils.js +5 -0
  167. package/cjs/lib/guidUtils.js.map +1 -0
  168. package/cjs/lib/locale/types.d.ts +2 -0
  169. package/cjs/lib/locale/types.js +2 -0
  170. package/cjs/lib/locale/types.js.map +1 -1
  171. package/cjs/lib/locale/useLocaleForControl.d.ts +3 -0
  172. package/cjs/lib/locale/useLocaleForControl.js +14 -0
  173. package/cjs/lib/locale/useLocaleForControl.js.map +1 -0
  174. package/cjs/lib/stringUtils.d.ts +1 -0
  175. package/cjs/lib/stringUtils.js +13 -0
  176. package/cjs/lib/stringUtils.js.map +1 -0
  177. package/cjs/lib/utils.d.ts +1 -0
  178. package/cjs/lib/utils.js +20 -2
  179. package/cjs/lib/utils.js.map +1 -1
  180. package/components/Button/Button/Button.js.map +1 -1
  181. package/components/Button/Button.d.ts +66 -10
  182. package/components/Button/Button.md +42 -30
  183. package/components/Checkbox/Checkbox/Checkbox.js +1 -1
  184. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  185. package/components/Checkbox/Checkbox.d.ts +2 -2
  186. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  187. package/components/ComboBox/ComboBox.d.ts +6 -0
  188. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  189. package/components/DateInput/DateInput.d.ts +6 -0
  190. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  191. package/components/DatePicker/DatePicker.d.ts +6 -0
  192. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  193. package/components/Dropdown/Dropdown.d.ts +2 -2
  194. package/components/FileUploader/FileUploader/FileUploader.js +277 -0
  195. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -0
  196. package/components/FileUploader/FileUploader/package.json +6 -0
  197. package/components/FileUploader/FileUploader.d.ts +31 -0
  198. package/components/FileUploader/FileUploader.md +67 -0
  199. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +56 -0
  200. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -0
  201. package/components/FileUploader/FileUploader.styles/package.json +6 -0
  202. package/components/FileUploader/FileUploader.styles.d.ts +19 -0
  203. package/components/FileUploader/index/index.js +3 -0
  204. package/components/FileUploader/index/index.js.map +1 -0
  205. package/components/FileUploader/index/package.json +6 -0
  206. package/components/FileUploader/index.d.ts +4 -0
  207. package/components/FileUploader/locale/index/index.js +8 -0
  208. package/components/FileUploader/locale/index/index.js.map +1 -0
  209. package/components/FileUploader/locale/index/package.json +6 -0
  210. package/components/FileUploader/locale/index.d.ts +4 -0
  211. package/components/FileUploader/locale/locales/en/en.js +6 -0
  212. package/components/FileUploader/locale/locales/en/en.js.map +1 -0
  213. package/components/FileUploader/locale/locales/en/package.json +6 -0
  214. package/components/FileUploader/locale/locales/en.d.ts +2 -0
  215. package/components/FileUploader/locale/locales/ru/package.json +6 -0
  216. package/components/FileUploader/locale/locales/ru/ru.js +6 -0
  217. package/components/FileUploader/locale/locales/ru/ru.js.map +1 -0
  218. package/components/FileUploader/locale/locales/ru.d.ts +2 -0
  219. package/components/FileUploader/locale/package.json +6 -0
  220. package/components/FileUploader/locale/types/package.json +6 -0
  221. package/components/FileUploader/locale/types/types.js +0 -0
  222. package/components/FileUploader/locale/types/types.js.map +1 -0
  223. package/components/FileUploader/locale/types.d.ts +6 -0
  224. package/components/FileUploader/package.json +6 -0
  225. package/components/Hint/Hint/Hint.js.map +1 -1
  226. package/components/Hint/Hint.d.ts +5 -0
  227. package/components/Input/Input/Input.js.map +1 -1
  228. package/components/Input/Input.d.ts +6 -2
  229. package/components/Link/Link/Link.js +4 -8
  230. package/components/Link/Link/Link.js.map +1 -1
  231. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  232. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  233. package/components/Radio/Radio/Radio.js +6 -5
  234. package/components/Radio/Radio/Radio.js.map +1 -1
  235. package/components/Radio/Radio.d.ts +27 -11
  236. package/components/Radio/Radio.md +36 -12
  237. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  238. package/components/RadioGroup/RadioGroup.d.ts +2 -2
  239. package/components/Select/Select/Select.js.map +1 -1
  240. package/components/Select/Select.d.ts +4 -1
  241. package/components/SidePage/SidePage/SidePage.js +8 -4
  242. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  243. package/components/SidePage/SidePage.d.ts +5 -0
  244. package/components/SidePage/SidePage.styles/SidePage.styles.js +16 -19
  245. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  246. package/components/SidePage/SidePage.styles.d.ts +0 -1
  247. package/components/Tabs/Tab/Tab.js.map +1 -1
  248. package/components/Tabs/Tab.d.ts +2 -2
  249. package/components/Textarea/Textarea/Textarea.js +5 -3
  250. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  251. package/components/Textarea/Textarea.d.ts +6 -2
  252. package/components/Textarea/Textarea.styles/Textarea.styles.js +12 -9
  253. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  254. package/components/Textarea/Textarea.styles.d.ts +1 -0
  255. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  256. package/components/Toggle/Toggle.d.ts +2 -2
  257. package/components/Token/Token/Token.js.map +1 -1
  258. package/components/Token/Token.d.ts +6 -0
  259. package/components/TokenInput/TokenInput/TokenInput.js +30 -19
  260. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  261. package/components/TokenInput/TokenInput.d.ts +6 -0
  262. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -1
  263. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  264. package/components/Tooltip/Tooltip/Tooltip.js +2 -1
  265. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  266. package/components/Tooltip/Tooltip.d.ts +3 -3
  267. package/hooks/useDrop/package.json +6 -0
  268. package/hooks/useDrop/useDrop.js +57 -0
  269. package/hooks/useDrop/useDrop.js.map +1 -0
  270. package/hooks/useDrop.d.ts +11 -0
  271. package/hooks/useMemoObject/package.json +6 -0
  272. package/hooks/useMemoObject/useMemoObject.js +6 -0
  273. package/hooks/useMemoObject/useMemoObject.js.map +1 -0
  274. package/hooks/useMemoObject.d.ts +1 -0
  275. package/index.d.ts +1 -0
  276. package/index.js +1 -0
  277. package/index.js.map +1 -1
  278. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  279. package/internal/CustomComboBox/ComboBoxView.d.ts +6 -0
  280. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +5 -12
  281. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  282. package/internal/CustomComboBox/CustomComboBox.d.ts +6 -0
  283. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +2 -0
  284. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +1 -0
  285. package/internal/FileUploaderControl/FileUploaderControlContext/package.json +6 -0
  286. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +11 -0
  287. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +79 -0
  288. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -0
  289. package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +6 -0
  290. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  291. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +176 -0
  292. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -0
  293. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +6 -0
  294. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +10 -0
  295. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +32 -0
  296. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +1 -0
  297. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +6 -0
  298. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  299. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +23 -0
  300. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  301. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +6 -0
  302. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +4 -0
  303. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +11 -0
  304. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +1 -0
  305. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +6 -0
  306. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +4 -0
  307. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +18 -0
  308. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +1 -0
  309. package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +6 -0
  310. package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  311. package/internal/FileUploaderControl/fileUtils/fileUtils.js +85 -0
  312. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -0
  313. package/internal/FileUploaderControl/fileUtils/package.json +6 -0
  314. package/internal/FileUploaderControl/fileUtils.d.ts +18 -0
  315. package/internal/FileUploaderControl/hooks/useControlLocale/package.json +6 -0
  316. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +5 -0
  317. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +1 -0
  318. package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  319. package/internal/FileUploaderControl/hooks/useUpload/package.json +6 -0
  320. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +56 -0
  321. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +1 -0
  322. package/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  323. package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +6 -0
  324. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +16 -0
  325. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -0
  326. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  327. package/internal/InputLikeText/InputLikeText/InputLikeText.js +1 -1
  328. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  329. package/internal/Popup/Popup/Popup.js +9 -2
  330. package/internal/Popup/Popup/Popup.js.map +1 -1
  331. package/internal/Popup/Popup.d.ts +13 -0
  332. package/internal/Popup/PopupHelper/PopupHelper.js +2 -1
  333. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  334. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +49 -0
  335. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -0
  336. package/internal/TextWidthHelper/TextWidthHelper/package.json +6 -0
  337. package/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  338. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +14 -0
  339. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +1 -0
  340. package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +6 -0
  341. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  342. package/internal/ThemePlayground/Playground/Playground.js +11 -1
  343. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  344. package/internal/ThemePlayground/Playground.d.ts +1 -0
  345. package/internal/ThemePlayground/darkTheme/darkTheme.js +26 -1
  346. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  347. package/internal/ThemePlayground/darkTheme.d.ts +15 -0
  348. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  349. package/internal/icons/16px/index/index.js +27 -0
  350. package/internal/icons/16px/index/index.js.map +1 -1
  351. package/internal/icons/16px/index.d.ts +3 -0
  352. package/internal/themes/DefaultTheme/DefaultTheme.js +67 -0
  353. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  354. package/internal/themes/DefaultTheme.d.ts +23 -0
  355. package/lib/forwardRefAndName/forwardRefAndName.js +11 -0
  356. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -0
  357. package/lib/forwardRefAndName/package.json +6 -0
  358. package/lib/forwardRefAndName.d.ts +5 -0
  359. package/lib/guidUtils/guidUtils.js +4 -0
  360. package/lib/guidUtils/guidUtils.js.map +1 -0
  361. package/lib/guidUtils/package.json +6 -0
  362. package/lib/guidUtils.d.ts +1 -0
  363. package/lib/locale/types/types.js.map +1 -1
  364. package/lib/locale/types.d.ts +2 -0
  365. package/lib/locale/useLocaleForControl/package.json +6 -0
  366. package/lib/locale/useLocaleForControl/useLocaleForControl.js +12 -0
  367. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -0
  368. package/lib/locale/useLocaleForControl.d.ts +3 -0
  369. package/lib/stringUtils/package.json +6 -0
  370. package/lib/stringUtils/stringUtils.js +12 -0
  371. package/lib/stringUtils/stringUtils.js.map +1 -0
  372. package/lib/stringUtils.d.ts +1 -0
  373. package/lib/utils/utils.js +18 -0
  374. package/lib/utils/utils.js.map +1 -1
  375. package/lib/utils.d.ts +1 -0
  376. package/package.json +3 -3
@@ -0,0 +1,277 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
+ import React, { useCallback, useContext, useImperativeHandle, useRef, useState } from 'react';
6
+ import { readFiles } from "../../../internal/FileUploaderControl/fileUtils";
7
+ import { cx } from "../../../lib/theming/Emotion";
8
+ import { useMemoObject } from "../../../hooks/useMemoObject";
9
+ import { FileUploaderControlContext } from "../../../internal/FileUploaderControl/FileUploaderControlContext";
10
+ import { FileUploaderFileValidationResult } from "../../../internal/FileUploaderControl/FileUploaderFileValidationResult";
11
+ import { useControlLocale } from "../../../internal/FileUploaderControl/hooks/useControlLocale";
12
+ import { useUpload } from "../../../internal/FileUploaderControl/hooks/useUpload";
13
+ import { useDrop } from "../../../hooks/useDrop";
14
+ import { ThemeContext } from "../../../lib/theming/ThemeContext";
15
+ import { UploadIcon } from "../../../internal/icons/16px";
16
+ import { withFileUploaderControlProvider } from "../../../internal/FileUploaderControl/withFileUploaderControlProvider";
17
+ import { keyListener } from "../../../lib/events/keyListener";
18
+ import { FileUploaderFile } from "../../../internal/FileUploaderControl/FileUploaderFile/FileUploaderFile";
19
+ import { FileUploaderFileList } from "../../../internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList";
20
+ import { isBrowser } from "../../../lib/client";
21
+ import { CommonWrapper } from "../../../internal/CommonWrapper";
22
+ import { jsStyles } from "../FileUploader.styles";
23
+
24
+ var stopPropagation = function stopPropagation(e) {
25
+ return e.stopPropagation();
26
+ };
27
+
28
+ var _FileUploader = /*#__PURE__*/React.forwardRef(function (props, ref) {
29
+ var _cx, _cx2, _cx3, _cx4;
30
+
31
+ var theme = useContext(ThemeContext);
32
+
33
+ var disabled = props.disabled,
34
+ error = props.error,
35
+ warning = props.warning,
36
+ onBlur = props.onBlur,
37
+ onFocus = props.onFocus,
38
+ onReadError = props.onReadError,
39
+ _props$multiple = props.multiple,
40
+ multiple = _props$multiple === void 0 ? false : _props$multiple,
41
+ _props$width = props.width,
42
+ width = _props$width === void 0 ? theme.fileUploaderWidth : _props$width,
43
+ request = props.request,
44
+ getFileValidationText = props.getFileValidationText,
45
+ onRequestSuccess = props.onRequestSuccess,
46
+ onRequestError = props.onRequestError,
47
+ inputProps = _objectWithoutPropertiesLoose(props, ["disabled", "error", "warning", "onBlur", "onFocus", "onReadError", "multiple", "width", "request", "getFileValidationText", "onRequestSuccess", "onRequestError"]);
48
+
49
+ var _useContext = useContext(FileUploaderControlContext),
50
+ files = _useContext.files,
51
+ setFiles = _useContext.setFiles,
52
+ removeFile = _useContext.removeFile,
53
+ setFileValidationResult = _useContext.setFileValidationResult;
54
+
55
+ var locale = useControlLocale();
56
+ var inputRef = useRef(null);
57
+ var isAsync = !!request;
58
+ var isSingleMode = !multiple;
59
+ var upload = useUpload(request, onRequestSuccess, onRequestError);
60
+ var tryValidateAndUpload = useCallback(function (files) {
61
+ files.forEach( /*#__PURE__*/function () {
62
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(file) {
63
+ var validationMessage;
64
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
65
+ while (1) {
66
+ switch (_context.prev = _context.next) {
67
+ case 0:
68
+ _context.t0 = getFileValidationText;
69
+
70
+ if (!_context.t0) {
71
+ _context.next = 5;
72
+ break;
73
+ }
74
+
75
+ _context.next = 4;
76
+ return getFileValidationText(file);
77
+
78
+ case 4:
79
+ _context.t0 = _context.sent;
80
+
81
+ case 5:
82
+ validationMessage = _context.t0;
83
+
84
+ if (!validationMessage) {
85
+ isAsync && upload(file);
86
+ } else {
87
+ setFileValidationResult(file.id, FileUploaderFileValidationResult.error(validationMessage));
88
+ }
89
+
90
+ case 7:
91
+ case "end":
92
+ return _context.stop();
93
+ }
94
+ }
95
+ }, _callee);
96
+ }));
97
+
98
+ return function (_x) {
99
+ return _ref.apply(this, arguments);
100
+ };
101
+ }());
102
+ }, [upload, error, getFileValidationText, isAsync]);
103
+ /** common part **/
104
+
105
+ var handleChange = useCallback( /*#__PURE__*/function () {
106
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(newFiles) {
107
+ var filesArray, uploadFiles, selectedFiles, readErrorFiles;
108
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
109
+ while (1) {
110
+ switch (_context2.prev = _context2.next) {
111
+ case 0:
112
+ if (newFiles) {
113
+ _context2.next = 2;
114
+ break;
115
+ }
116
+
117
+ return _context2.abrupt("return");
118
+
119
+ case 2:
120
+ filesArray = Array.from(newFiles);
121
+
122
+ if (isSingleMode) {
123
+ filesArray = [filesArray[0]];
124
+ }
125
+
126
+ _context2.next = 6;
127
+ return readFiles(filesArray);
128
+
129
+ case 6:
130
+ uploadFiles = _context2.sent;
131
+ selectedFiles = uploadFiles.filter(function (v) {
132
+ return !!v.fileInBase64;
133
+ });
134
+ readErrorFiles = uploadFiles.filter(function (v) {
135
+ return !v.fileInBase64;
136
+ });
137
+
138
+ if (isSingleMode && selectedFiles.length && files.length) {
139
+ removeFile(files[0].id);
140
+ }
141
+
142
+ if (selectedFiles.length) {
143
+ setFiles(selectedFiles);
144
+ tryValidateAndUpload(selectedFiles);
145
+ }
146
+
147
+ readErrorFiles.length && (onReadError == null ? void 0 : onReadError(readErrorFiles));
148
+
149
+ case 12:
150
+ case "end":
151
+ return _context2.stop();
152
+ }
153
+ }
154
+ }, _callee2);
155
+ }));
156
+
157
+ return function (_x2) {
158
+ return _ref2.apply(this, arguments);
159
+ };
160
+ }(), [onReadError, tryValidateAndUpload, setFiles, isSingleMode, files, removeFile]);
161
+ var handleDrop = useCallback(function (event) {
162
+ if (disabled) {
163
+ return;
164
+ }
165
+
166
+ var dataTransfer = event.dataTransfer;
167
+ var files = dataTransfer.files;
168
+
169
+ if ((files == null ? void 0 : files.length) > 0) {
170
+ handleChange(files);
171
+ dataTransfer.clearData();
172
+ }
173
+ }, [handleChange, disabled]);
174
+
175
+ var _useDrop = useDrop({
176
+ onDrop: handleDrop
177
+ }),
178
+ isDraggable = _useDrop.isDraggable,
179
+ labelRef = _useDrop.ref;
180
+
181
+ var _useDrop2 = useDrop(),
182
+ isWindowDraggable = _useDrop2.isDraggable,
183
+ windowRef = _useDrop2.ref;
184
+
185
+ if (isBrowser) {
186
+ windowRef.current = window.document;
187
+ }
188
+
189
+ var focus = useCallback(function () {
190
+ var _inputRef$current;
191
+
192
+ keyListener.isTabPressed = true;
193
+ (_inputRef$current = inputRef.current) == null ? void 0 : _inputRef$current.focus();
194
+ }, []);
195
+ var blur = useCallback(function () {
196
+ var _inputRef$current2;
197
+
198
+ (_inputRef$current2 = inputRef.current) == null ? void 0 : _inputRef$current2.blur();
199
+ }, []);
200
+ useImperativeHandle(ref, function () {
201
+ return {
202
+ focus: focus,
203
+ blur: blur
204
+ };
205
+ }, [ref]);
206
+
207
+ var _useState = useState(false),
208
+ focusedByTab = _useState[0],
209
+ setFocusedByTab = _useState[1];
210
+
211
+ var handleInputChange = useCallback(function (event) {
212
+ handleChange(event.target.files);
213
+ }, [handleChange]);
214
+ var handleFocus = useCallback(function (e) {
215
+ if (!disabled) {
216
+ // focus event fires before keyDown eventlistener
217
+ // so we should check tabPressed in async way
218
+ requestAnimationFrame(function () {
219
+ if (keyListener.isTabPressed) {
220
+ setFocusedByTab(true);
221
+ }
222
+ });
223
+ onFocus == null ? void 0 : onFocus(e);
224
+ }
225
+ }, [disabled, onFocus]);
226
+ var handleBlur = useCallback(function (e) {
227
+ setFocusedByTab(false);
228
+
229
+ if (!disabled) {
230
+ onBlur == null ? void 0 : onBlur(e);
231
+ }
232
+ }, [disabled, onBlur]);
233
+ var uploadButtonClassNames = cx(jsStyles.uploadButton(theme), (_cx = {}, _cx[jsStyles.uploadButtonFocus(theme)] = focusedByTab, _cx[jsStyles.dragOver()] = isDraggable && !disabled, _cx[jsStyles.disabled(theme)] = disabled, _cx[jsStyles.warning(theme)] = !!warning, _cx[jsStyles.error(theme)] = !!error, _cx));
234
+ var uploadButtonWrapperClassNames = cx((_cx2 = {}, _cx2[jsStyles.windowDragOver()] = isWindowDraggable && !disabled, _cx2));
235
+ var uploadButtonIconClassNames = cx(jsStyles.icon(theme), (_cx3 = {}, _cx3[jsStyles.iconDisabled(theme)] = disabled, _cx3));
236
+ var hasOneFile = files.length === 1;
237
+ var hasOneFileForSingle = isSingleMode && hasOneFile;
238
+ var linkClassNames = cx(jsStyles.link(theme), (_cx4 = {}, _cx4[jsStyles.linkDisabled(theme)] = disabled, _cx4));
239
+ return /*#__PURE__*/React.createElement(CommonWrapper, props, /*#__PURE__*/React.createElement("div", {
240
+ className: jsStyles.root(theme),
241
+ style: useMemoObject({
242
+ width: width
243
+ })
244
+ }, !isSingleMode && !!files.length && /*#__PURE__*/React.createElement(FileUploaderFileList, null), /*#__PURE__*/React.createElement("div", {
245
+ className: uploadButtonWrapperClassNames
246
+ }, /*#__PURE__*/React.createElement("label", {
247
+ ref: labelRef,
248
+ className: uploadButtonClassNames
249
+ }, /*#__PURE__*/React.createElement("div", {
250
+ className: jsStyles.content()
251
+ }, /*#__PURE__*/React.createElement("span", {
252
+ "data-tid": 'FileUploader__link',
253
+ className: linkClassNames
254
+ }, hasOneFileForSingle ? locale.choosedFile : locale.chooseFile), "\xA0", /*#__PURE__*/React.createElement("div", {
255
+ className: jsStyles.afterLinkText()
256
+ }, hasOneFileForSingle ? /*#__PURE__*/React.createElement(FileUploaderFile, {
257
+ file: files[0]
258
+ }) : /*#__PURE__*/React.createElement(React.Fragment, null, locale.orDragHere, "\xA0", /*#__PURE__*/React.createElement("div", {
259
+ className: uploadButtonIconClassNames
260
+ }, /*#__PURE__*/React.createElement(UploadIcon, null))))), /*#__PURE__*/React.createElement("input", _extends({}, inputProps, {
261
+ ref: inputRef,
262
+ tabIndex: disabled ? -1 : 0,
263
+ type: "file",
264
+ disabled: disabled,
265
+ multiple: multiple,
266
+ className: jsStyles.fileInput(),
267
+ onClick: stopPropagation,
268
+ onChange: handleInputChange,
269
+ onFocus: handleFocus,
270
+ onBlur: handleBlur // для того, чтобы срабатывало событие change при выборе одного и того же файла подряд
271
+ ,
272
+ value: ''
273
+ }))))));
274
+ });
275
+
276
+ export var FileUploader = withFileUploaderControlProvider(_FileUploader);
277
+ FileUploader.displayName = 'FileUploader';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FileUploader.tsx"],"names":["React","useCallback","useContext","useImperativeHandle","useRef","useState","readFiles","cx","useMemoObject","FileUploaderControlContext","FileUploaderFileValidationResult","useControlLocale","useUpload","useDrop","ThemeContext","UploadIcon","withFileUploaderControlProvider","keyListener","FileUploaderFile","FileUploaderFileList","isBrowser","CommonWrapper","jsStyles","stopPropagation","e","_FileUploader","forwardRef","props","ref","theme","disabled","error","warning","onBlur","onFocus","onReadError","multiple","width","fileUploaderWidth","request","getFileValidationText","onRequestSuccess","onRequestError","inputProps","files","setFiles","removeFile","setFileValidationResult","locale","inputRef","isAsync","isSingleMode","upload","tryValidateAndUpload","forEach","file","validationMessage","id","handleChange","newFiles","filesArray","Array","from","uploadFiles","selectedFiles","filter","v","fileInBase64","readErrorFiles","length","handleDrop","event","dataTransfer","clearData","onDrop","isDraggable","labelRef","isWindowDraggable","windowRef","current","window","document","focus","isTabPressed","blur","focusedByTab","setFocusedByTab","handleInputChange","target","handleFocus","requestAnimationFrame","handleBlur","uploadButtonClassNames","uploadButton","uploadButtonFocus","dragOver","uploadButtonWrapperClassNames","windowDragOver","uploadButtonIconClassNames","icon","iconDisabled","hasOneFile","hasOneFileForSingle","linkClassNames","link","linkDisabled","root","content","choosedFile","chooseFile","afterLinkText","orDragHere","fileInput","FileUploader","displayName"],"mappings":"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","sourcesContent":["import React, { useCallback, useContext, useImperativeHandle, useRef, useState } from 'react';\n\nimport { FileUploaderAttachedFile, readFiles } from '../../internal/FileUploaderControl/fileUtils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { useMemoObject } from '../../hooks/useMemoObject';\nimport { FileUploaderControlContext } from '../../internal/FileUploaderControl/FileUploaderControlContext';\nimport { FileUploaderFileValidationResult } from '../../internal/FileUploaderControl/FileUploaderFileValidationResult';\nimport { useControlLocale } from '../../internal/FileUploaderControl/hooks/useControlLocale';\nimport { useUpload } from '../../internal/FileUploaderControl/hooks/useUpload';\nimport { useDrop } from '../../hooks/useDrop';\nimport { Nullable } from '../../typings/utility-types';\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';\n\nimport { jsStyles } from './FileUploader.styles';\n\nconst stopPropagation: React.ReactEventHandler = (e) => e.stopPropagation();\n\ninterface _FileUploaderProps extends CommonProps, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n /** Состояние ошибки всего контрола */\n error?: boolean;\n /** Состояние предупреждения всего контрола */\n warning?: boolean;\n\n /** Свойство ширины. */\n width?: React.CSSProperties['width'];\n\n /** Срабатывает при невалидном чтении файла (превращение в base64) */\n onReadError?: (files: FileUploaderAttachedFile[]) => void;\n\n /** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */\n request?: (file: FileUploaderAttachedFile) => Promise<void>;\n /** Срабатывает при удачной попытке отправки через request */\n onRequestSuccess?: (fileId: string) => void;\n /** Срабатывает при неудачной попытке отправки через request */\n onRequestError?: (fileId: string) => void;\n\n /** Функция валидации каждого файла. Срабатывает после выбора файлов и перед попыткой отправить в request. */\n getFileValidationText?: (file: FileUploaderAttachedFile) => Promise<Nullable<string>>;\n}\n\nexport interface FileUploaderRef {\n focus: () => void;\n blur: () => void;\n}\n\nconst _FileUploader = React.forwardRef<FileUploaderRef, _FileUploaderProps>((props: _FileUploaderProps, ref) => {\n const theme = useContext(ThemeContext);\n\n const {\n disabled,\n error,\n warning,\n onBlur,\n onFocus,\n onReadError,\n multiple = false,\n width = theme.fileUploaderWidth,\n request,\n getFileValidationText,\n onRequestSuccess,\n onRequestError,\n ...inputProps\n } = props;\n\n const { files, setFiles, removeFile, setFileValidationResult } = useContext(FileUploaderControlContext);\n\n const locale = useControlLocale();\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const isAsync = !!request;\n const isSingleMode = !multiple;\n\n const upload = useUpload(request, onRequestSuccess, onRequestError);\n\n const tryValidateAndUpload = useCallback(\n (files: FileUploaderAttachedFile[]) => {\n files.forEach(async (file) => {\n const validationMessage = getFileValidationText && (await getFileValidationText(file));\n\n if (!validationMessage) {\n isAsync && upload(file);\n } else {\n setFileValidationResult(file.id, FileUploaderFileValidationResult.error(validationMessage));\n }\n });\n },\n [upload, error, getFileValidationText, isAsync],\n );\n\n /** common part **/\n const handleChange = useCallback(\n async (newFiles: FileList | null) => {\n if (!newFiles) return;\n\n let filesArray = Array.from(newFiles);\n\n if (isSingleMode) {\n filesArray = [filesArray[0]];\n }\n\n const uploadFiles = await readFiles(filesArray);\n\n const selectedFiles = uploadFiles.filter((v) => !!v.fileInBase64);\n const readErrorFiles = uploadFiles.filter((v) => !v.fileInBase64);\n\n if (isSingleMode && selectedFiles.length && files.length) {\n removeFile(files[0].id);\n }\n\n if (selectedFiles.length) {\n setFiles(selectedFiles);\n tryValidateAndUpload(selectedFiles);\n }\n\n readErrorFiles.length && onReadError?.(readErrorFiles);\n },\n [onReadError, 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 }), [ref]);\n\n const [focusedByTab, setFocusedByTab] = useState(false);\n const handleInputChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n handleChange(event.target.files);\n },\n [handleChange],\n );\n\n const handleFocus = useCallback(\n (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 [disabled, onFocus],\n );\n\n const handleBlur = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedByTab(false);\n if (!disabled) {\n onBlur?.(e);\n }\n },\n [disabled, onBlur],\n );\n\n const uploadButtonClassNames = cx(jsStyles.uploadButton(theme), {\n [jsStyles.uploadButtonFocus(theme)]: focusedByTab,\n [jsStyles.dragOver()]: isDraggable && !disabled,\n [jsStyles.disabled(theme)]: disabled,\n [jsStyles.warning(theme)]: !!warning,\n [jsStyles.error(theme)]: !!error,\n });\n\n const uploadButtonWrapperClassNames = cx({\n [jsStyles.windowDragOver()]: isWindowDraggable && !disabled,\n });\n\n const uploadButtonIconClassNames = cx(jsStyles.icon(theme), {\n [jsStyles.iconDisabled(theme)]: disabled,\n });\n\n const hasOneFile = files.length === 1;\n const hasOneFileForSingle = isSingleMode && hasOneFile;\n\n const linkClassNames = cx(jsStyles.link(theme), {\n [jsStyles.linkDisabled(theme)]: disabled,\n });\n\n return (\n <CommonWrapper {...props}>\n <div className={jsStyles.root(theme)} style={useMemoObject({ width })}>\n {!isSingleMode && !!files.length && <FileUploaderFileList />}\n <div className={uploadButtonWrapperClassNames}>\n <label ref={labelRef} className={uploadButtonClassNames}>\n <div className={jsStyles.content()}>\n <span data-tid={'FileUploader__link'} className={linkClassNames}>\n {hasOneFileForSingle ? locale.choosedFile : locale.chooseFile}\n </span>\n &nbsp;\n <div className={jsStyles.afterLinkText()}>\n {hasOneFileForSingle ? (\n <FileUploaderFile file={files[0]} />\n ) : (\n <>\n {locale.orDragHere}&nbsp;\n <div className={uploadButtonIconClassNames}>\n <UploadIcon />\n </div>\n </>\n )}\n </div>\n </div>\n <input\n {...inputProps}\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>(_FileUploader);\nFileUploader.displayName = 'FileUploader';\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../cjs/components/FileUploader/FileUploader.js",
3
+ "module": "FileUploader",
4
+ "types": "../FileUploader.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import { FileUploaderAttachedFile } from '../../internal/FileUploaderControl/fileUtils';
3
+ import { Nullable } from '../../typings/utility-types';
4
+ import { FileUploaderControlProviderProps } from '../../internal/FileUploaderControl/FileUploaderControlProvider';
5
+ import { CommonProps } from '../../internal/CommonWrapper';
6
+ interface _FileUploaderProps extends CommonProps, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {
7
+ /** Состояние ошибки всего контрола */
8
+ error?: boolean;
9
+ /** Состояние предупреждения всего контрола */
10
+ warning?: boolean;
11
+ /** Свойство ширины. */
12
+ width?: React.CSSProperties['width'];
13
+ /** Срабатывает при невалидном чтении файла (превращение в base64) */
14
+ onReadError?: (files: FileUploaderAttachedFile[]) => void;
15
+ /** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */
16
+ request?: (file: FileUploaderAttachedFile) => Promise<void>;
17
+ /** Срабатывает при удачной попытке отправки через request */
18
+ onRequestSuccess?: (fileId: string) => void;
19
+ /** Срабатывает при неудачной попытке отправки через request */
20
+ onRequestError?: (fileId: string) => void;
21
+ /** Функция валидации каждого файла. Срабатывает после выбора файлов и перед попыткой отправить в request. */
22
+ getFileValidationText?: (file: FileUploaderAttachedFile) => Promise<Nullable<string>>;
23
+ }
24
+ export interface FileUploaderRef {
25
+ focus: () => void;
26
+ blur: () => void;
27
+ }
28
+ export interface FileUploaderProps extends _FileUploaderProps, FileUploaderControlProviderProps {
29
+ }
30
+ export declare const FileUploader: React.ForwardRefExoticComponent<FileUploaderProps & FileUploaderControlProviderProps & React.RefAttributes<FileUploaderRef>>;
31
+ export {};
@@ -0,0 +1,67 @@
1
+ Контрол загрузки файлов.
2
+ Можно использовать для синхронной отправки данных, например, в форме.
3
+ Или же можно использовать в асинхронном режиме.
4
+
5
+ Синхронный контрол
6
+ ```jsx harmony
7
+ import { FileUploader } from '@skbkontur/react-ui';
8
+
9
+ <FileUploader />
10
+ ```
11
+
12
+ Асинхронный контрол
13
+ ```jsx harmony
14
+ import { FileUploader } from '@skbkontur/react-ui';
15
+
16
+ const request = () => Promise.resolve();
17
+
18
+ <FileUploader request={request} />
19
+ ```
20
+
21
+ Multiple контрол
22
+ ```jsx harmony
23
+ import { FileUploader } from '@skbkontur/react-ui';
24
+
25
+ const request = () => Promise.reject();
26
+
27
+ <FileUploader request={request} multiple />
28
+ ```
29
+
30
+ Валидация файла в списке
31
+ ```jsx harmony
32
+ import { FileUploader } from '@skbkontur/react-ui';
33
+
34
+ <FileUploader multiple getFileValidationText={({originalFile}) => `У файла ${originalFile.name} неверный формат`} />
35
+ ```
36
+
37
+ Валидация контрола
38
+ ```jsx harmony
39
+ import { FileUploader } from '@skbkontur/react-ui';
40
+
41
+ <FileUploader multiple error />
42
+ ```
43
+
44
+ #### Локали по умолчанию
45
+
46
+ ```typescript static
47
+ interface FileUploaderLocale {
48
+ chooseFile: string;
49
+ choosedFile: string;
50
+ orDragHere: string;
51
+ requestErrorText: string;
52
+ }
53
+
54
+ const ru_RU = {
55
+ chooseFile: 'Выберите файл',
56
+ choosedFile: 'Выбран файл',
57
+ orDragHere: 'или перетащите сюда',
58
+ requestErrorText: 'Файл не удалось загрузить на сервер, повторите попытку позже',
59
+ };
60
+
61
+ const en_GB = {
62
+ chooseFile: 'Select a file',
63
+ choosedFile: 'File selected',
64
+ orDragHere: 'or drag here',
65
+ requestErrorText: 'The file could not be uploaded to the server, please try again later',
66
+ };
67
+ ```
@@ -0,0 +1,56 @@
1
+ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
+
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16;
4
+
5
+ import { css, keyframes, memoizeStyle } from "../../../lib/theming/Emotion";
6
+ var styles = {
7
+ pulse: function pulse() {
8
+ return keyframes(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n 0% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 1px rgba(45,164,249,0.7);\n }\n 95% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 10px rgba(45,164,249,0);\n }\n 100% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 1px rgba(45,164,249,0);\n }\n "])));
9
+ },
10
+ root: function root(t) {
11
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n min-width: 285px;\n position: relative;\n background-color: ", ";\n line-height: ", ";\n font-size: ", ";\n color: ", ";\n "])), t.fileUploaderBg, t.fileUploaderLineHeight, t.fileUploaderFontSize, t.fileUploaderTextColorDefault);
12
+ },
13
+ uploadButton: function uploadButton(t) {
14
+ return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n width: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n border: ", " ", " ", ";\n box-sizing: border-box;\n border-radius: ", ";\n outline: none;\n cursor: pointer;\n padding: ", " ", ";\n transition: box-shadow 0.3s ease;\n "])), t.fileUploaderBorderWidth, t.fileUploaderBorderStyle, t.fileUploaderBorderColor, t.fileUploaderBorderRadius, t.fileUploaderPaddingY, t.fileUploaderPaddingX);
15
+ },
16
+ uploadButtonFocus: function uploadButtonFocus(t) {
17
+ return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n border: ", " solid ", ";\n box-shadow: 0px 0px 0px 1px ", ";\n "])), t.fileUploaderBorderWidth, t.fileUploaderBorderColorFocus, t.fileUploaderBorderColorFocus);
18
+ },
19
+ dragOver: function dragOver() {
20
+ return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n border: 1px solid #2da4f9;\n border-radius: 2px;\n box-shadow: 0px 0px 0px 3px #2da4f9, 0px 0px 0px 8px rgba(45, 164, 249, 0.35);\n "])));
21
+ },
22
+ windowDragOver: function windowDragOver() {
23
+ return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n border-radius: 2px;\n animation: ", " 1.5s infinite;\n "])), styles.pulse());
24
+ },
25
+ content: function content() {
26
+ return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n display: flex;\n width: 100%;\n align-items: center;\n height: 100%;\n "])));
27
+ },
28
+ fileInput: function fileInput() {
29
+ return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n width: 0;\n height: 0;\n "])));
30
+ },
31
+ afterLinkText: function afterLinkText() {
32
+ return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: space-between;\n flex: 1 1 auto;\n "])));
33
+ },
34
+ warning: function warning(t) {
35
+ return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n border: ", " solid ", ";\n box-shadow: 0px 0px 0px 1px ", ";\n "])), t.fileUploaderBorderWidth, t.fileUploaderBorderColorWarning, t.fileUploaderBorderColorWarning);
36
+ },
37
+ error: function error(t) {
38
+ return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n border: ", " solid ", ";\n box-shadow: 0px 0px 0px 1px ", ";\n "])), t.fileUploaderBorderWidth, t.fileUploaderBorderColorError, t.fileUploaderBorderColorError);
39
+ },
40
+ disabled: function disabled(t) {
41
+ return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n cursor: default;\n background: ", ";\n border: ", " solid ", ";\n color: ", ";\n box-shadow: none;\n "])), t.fileUploaderDisabledBg, t.fileUploaderBorderWidth, t.fileUploaderDisabledBorderColor, t.fileUploaderDisabledTextColor);
42
+ },
43
+ icon: function icon(t) {
44
+ return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n font-size: ", ";\n color: ", ";\n "])), t.fileUploaderIconSize, t.fileUploaderIconColor);
45
+ },
46
+ iconDisabled: function iconDisabled(t) {
47
+ return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n color: ", ";\n "])), t.fileUploaderDisabledIconColor);
48
+ },
49
+ link: function link(t) {
50
+ return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n outline: none;\n text-decoration: none;\n\n &:hover {\n text-decoration: ", ";\n }\n color: ", ";\n "])), t.linkHoverTextDecoration, t.fileUploaderLinkColor);
51
+ },
52
+ linkDisabled: function linkDisabled(t) {
53
+ return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n color: ", ";\n &:hover {\n text-decoration: none;\n }\n "])), t.fileUploaderDisabledLinkColor);
54
+ }
55
+ };
56
+ export var jsStyles = memoizeStyle(styles);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FileUploader.styles.ts"],"names":["css","keyframes","memoizeStyle","styles","pulse","root","t","fileUploaderBg","fileUploaderLineHeight","fileUploaderFontSize","fileUploaderTextColorDefault","uploadButton","fileUploaderBorderWidth","fileUploaderBorderStyle","fileUploaderBorderColor","fileUploaderBorderRadius","fileUploaderPaddingY","fileUploaderPaddingX","uploadButtonFocus","fileUploaderBorderColorFocus","dragOver","windowDragOver","content","fileInput","afterLinkText","warning","fileUploaderBorderColorWarning","error","fileUploaderBorderColorError","disabled","fileUploaderDisabledBg","fileUploaderDisabledBorderColor","fileUploaderDisabledTextColor","icon","fileUploaderIconSize","fileUploaderIconColor","iconDisabled","fileUploaderDisabledIconColor","link","linkHoverTextDecoration","fileUploaderLinkColor","linkDisabled","fileUploaderDisabledLinkColor","jsStyles"],"mappings":"yYAAA,SAASA,GAAT,EAAcC,SAAd,EAAyBC,YAAzB,QAA6C,2BAA7C;;;AAGA,IAAMC,MAAM,GAAG;AACbC,EAAAA,KADa,mBACL;AACN,WAAOH,SAAP;;;;;;;;;;;;;;;;;AAiBD,GAnBY;;AAqBbI,EAAAA,IArBa,gBAqBRC,CArBQ,EAqBE;AACb,WAAON,GAAP;;;;AAIsBM,IAAAA,CAAC,CAACC,cAJxB;AAKiBD,IAAAA,CAAC,CAACE,sBALnB;AAMeF,IAAAA,CAAC,CAACG,oBANjB;AAOWH,IAAAA,CAAC,CAACI,4BAPb;;AASD,GA/BY;;AAiCbC,EAAAA,YAjCa,wBAiCAL,CAjCA,EAiCU;AACrB,WAAON,GAAP;;;;;AAKYM,IAAAA,CAAC,CAACM,uBALd,EAKyCN,CAAC,CAACO,uBAL3C,EAKsEP,CAAC,CAACQ,uBALxE;;AAOmBR,IAAAA,CAAC,CAACS,wBAPrB;;;AAUaT,IAAAA,CAAC,CAACU,oBAVf,EAUuCV,CAAC,CAACW,oBAVzC;;;AAaD,GA/CY;;AAiDbC,EAAAA,iBAjDa,6BAiDKZ,CAjDL,EAiDe;AAC1B,WAAON,GAAP;AACYM,IAAAA,CAAC,CAACM,uBADd,EAC+CN,CAAC,CAACa,4BADjD;AAEgCb,IAAAA,CAAC,CAACa,4BAFlC;;AAID,GAtDY;;AAwDbC,EAAAA,QAxDa,sBAwDF;AACT,WAAOpB,GAAP;;;;;AAKD,GA9DY;;AAgEbqB,EAAAA,cAhEa,4BAgEI;AACf,WAAOrB,GAAP;;AAEeG,IAAAA,MAAM,CAACC,KAAP,EAFf;;AAID,GArEY;;AAuEbkB,EAAAA,OAvEa,qBAuEH;AACR,WAAOtB,GAAP;;;;;;AAMD,GA9EY;;AAgFbuB,EAAAA,SAhFa,uBAgFD;AACV,WAAOvB,GAAP;;;;AAID,GArFY;;AAuFbwB,EAAAA,aAvFa,2BAuFG;AACd,WAAOxB,GAAP;;;;;AAKD,GA7FY;;AA+FbyB,EAAAA,OA/Fa,mBA+FLnB,CA/FK,EA+FK;AAChB,WAAON,GAAP;AACYM,IAAAA,CAAC,CAACM,uBADd,EAC+CN,CAAC,CAACoB,8BADjD;AAEgCpB,IAAAA,CAAC,CAACoB,8BAFlC;;AAID,GApGY;;AAsGbC,EAAAA,KAtGa,iBAsGPrB,CAtGO,EAsGG;AACd,WAAON,GAAP;AACYM,IAAAA,CAAC,CAACM,uBADd,EAC+CN,CAAC,CAACsB,4BADjD;AAEgCtB,IAAAA,CAAC,CAACsB,4BAFlC;;AAID,GA3GY;;AA6GbC,EAAAA,QA7Ga,oBA6GJvB,CA7GI,EA6GM;AACjB,WAAON,GAAP;;AAEgBM,IAAAA,CAAC,CAACwB,sBAFlB;AAGYxB,IAAAA,CAAC,CAACM,uBAHd,EAG+CN,CAAC,CAACyB,+BAHjD;AAIWzB,IAAAA,CAAC,CAAC0B,6BAJb;;;AAOD,GArHY;;AAuHbC,EAAAA,IAvHa,gBAuHR3B,CAvHQ,EAuHE;AACb,WAAON,GAAP;;AAEeM,IAAAA,CAAC,CAAC4B,oBAFjB;AAGW5B,IAAAA,CAAC,CAAC6B,qBAHb;;AAKD,GA7HY;;AA+HbC,EAAAA,YA/Ha,wBA+HA9B,CA/HA,EA+HU;AACrB,WAAON,GAAP;AACWM,IAAAA,CAAC,CAAC+B,6BADb;;AAGD,GAnIY;;AAqIbC,EAAAA,IArIa,gBAqIRhC,CArIQ,EAqIE;AACb,WAAON,GAAP;;;;;AAKuBM,IAAAA,CAAC,CAACiC,uBALzB;;AAOWjC,IAAAA,CAAC,CAACkC,qBAPb;;AASD,GA/IY;;AAiJbC,EAAAA,YAjJa,wBAiJAnC,CAjJA,EAiJU;AACrB,WAAON,GAAP;AACWM,IAAAA,CAAC,CAACoC,6BADb;;;;;AAMD,GAxJY,EAAf;;;AA2JA,OAAO,IAAMC,QAAQ,GAAGzC,YAAY,CAACC,MAAD,CAA7B","sourcesContent":["import { css, keyframes, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nconst styles = {\n pulse() {\n return keyframes`\n 0% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 1px rgba(45,164,249,0.7);\n }\n 95% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 10px rgba(45,164,249,0);\n }\n 100% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 1px rgba(45,164,249,0);\n }\n `;\n },\n\n root(t: Theme) {\n return css`\n display: inline-block;\n min-width: 285px;\n position: relative;\n background-color: ${t.fileUploaderBg};\n line-height: ${t.fileUploaderLineHeight};\n font-size: ${t.fileUploaderFontSize};\n color: ${t.fileUploaderTextColorDefault};\n `;\n },\n\n uploadButton(t: Theme) {\n return css`\n width: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n border: ${t.fileUploaderBorderWidth} ${t.fileUploaderBorderStyle} ${t.fileUploaderBorderColor};\n box-sizing: border-box;\n border-radius: ${t.fileUploaderBorderRadius};\n outline: none;\n cursor: pointer;\n padding: ${t.fileUploaderPaddingY} ${t.fileUploaderPaddingX};\n transition: box-shadow 0.3s ease;\n `;\n },\n\n uploadButtonFocus(t: Theme) {\n return css`\n border: ${t.fileUploaderBorderWidth} solid ${t.fileUploaderBorderColorFocus};\n box-shadow: 0px 0px 0px 1px ${t.fileUploaderBorderColorFocus};\n `;\n },\n\n dragOver() {\n return css`\n border: 1px solid #2da4f9;\n border-radius: 2px;\n box-shadow: 0px 0px 0px 3px #2da4f9, 0px 0px 0px 8px rgba(45, 164, 249, 0.35);\n `;\n },\n\n windowDragOver() {\n return css`\n border-radius: 2px;\n animation: ${styles.pulse()} 1.5s infinite;\n `;\n },\n\n content() {\n return css`\n display: flex;\n width: 100%;\n align-items: center;\n height: 100%;\n `;\n },\n\n fileInput() {\n return css`\n width: 0;\n height: 0;\n `;\n },\n\n afterLinkText() {\n return css`\n display: flex;\n justify-content: space-between;\n flex: 1 1 auto;\n `;\n },\n\n warning(t: Theme) {\n return css`\n border: ${t.fileUploaderBorderWidth} solid ${t.fileUploaderBorderColorWarning};\n box-shadow: 0px 0px 0px 1px ${t.fileUploaderBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return css`\n border: ${t.fileUploaderBorderWidth} solid ${t.fileUploaderBorderColorError};\n box-shadow: 0px 0px 0px 1px ${t.fileUploaderBorderColorError};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n cursor: default;\n background: ${t.fileUploaderDisabledBg};\n border: ${t.fileUploaderBorderWidth} solid ${t.fileUploaderDisabledBorderColor};\n color: ${t.fileUploaderDisabledTextColor};\n box-shadow: none;\n `;\n },\n\n icon(t: Theme) {\n return css`\n display: inline-block;\n font-size: ${t.fileUploaderIconSize};\n color: ${t.fileUploaderIconColor};\n `;\n },\n\n iconDisabled(t: Theme) {\n return css`\n color: ${t.fileUploaderDisabledIconColor};\n `;\n },\n\n link(t: Theme) {\n return css`\n outline: none;\n text-decoration: none;\n\n &:hover {\n text-decoration: ${t.linkHoverTextDecoration};\n }\n color: ${t.fileUploaderLinkColor};\n `;\n },\n\n linkDisabled(t: Theme) {\n return css`\n color: ${t.fileUploaderDisabledLinkColor};\n &:hover {\n text-decoration: none;\n }\n `;\n },\n};\n\nexport const jsStyles = memoizeStyle(styles);\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../cjs/components/FileUploader/FileUploader.styles.js",
3
+ "module": "FileUploader.styles",
4
+ "types": "../FileUploader.styles.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,19 @@
1
+ import { Theme } from '../../lib/theming/Theme';
2
+ export declare const jsStyles: {
3
+ pulse(): string;
4
+ root(t: Theme): string;
5
+ uploadButton(t: Theme): string;
6
+ uploadButtonFocus(t: Theme): string;
7
+ dragOver(): string;
8
+ windowDragOver(): string;
9
+ content(): string;
10
+ fileInput(): string;
11
+ afterLinkText(): string;
12
+ warning(t: Theme): string;
13
+ error(t: Theme): string;
14
+ disabled(t: Theme): string;
15
+ icon(t: Theme): string;
16
+ iconDisabled(t: Theme): string;
17
+ link(t: Theme): string;
18
+ linkDisabled(t: Theme): string;
19
+ };
@@ -0,0 +1,3 @@
1
+ export { FileUploaderFileStatus } from "../../../internal/FileUploaderControl/fileUtils";
2
+ export { FileUploaderFileValidationResult } from "../../../internal/FileUploaderControl/FileUploaderFileValidationResult";
3
+ export * from "../FileUploader";
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.tsx"],"names":["FileUploaderFileStatus","FileUploaderFileValidationResult"],"mappings":"AAAA,SAASA,sBAAT,QAAuC,8CAAvC;;AAEA,SAASC,gCAAT,QAAiD,qEAAjD;AACA,cAAc,gBAAd","sourcesContent":["export { FileUploaderFileStatus } from '../../internal/FileUploaderControl/fileUtils';\nexport type { FileUploaderAttachedFile, FileUploaderFileInBase64 } from '../../internal/FileUploaderControl/fileUtils';\nexport { FileUploaderFileValidationResult } from '../../internal/FileUploaderControl/FileUploaderFileValidationResult';\nexport * from './FileUploader';\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../cjs/components/FileUploader/index.js",
3
+ "module": "index",
4
+ "types": "../index.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,4 @@
1
+ export { FileUploaderFileStatus } from '../../internal/FileUploaderControl/fileUtils';
2
+ export type { FileUploaderAttachedFile, FileUploaderFileInBase64 } from '../../internal/FileUploaderControl/fileUtils';
3
+ export { FileUploaderFileValidationResult } from '../../internal/FileUploaderControl/FileUploaderFileValidationResult';
4
+ export * from './FileUploader';
@@ -0,0 +1,8 @@
1
+ import { LocaleHelper } from "../../../../lib/locale/LocaleHelper";
2
+ import { componentsLocales as en_GB } from "../locales/en";
3
+ import { componentsLocales as ru_RU } from "../locales/ru";
4
+ export * from "../types";
5
+ export var FileUploaderLocaleHelper = new LocaleHelper({
6
+ ru_RU: ru_RU,
7
+ en_GB: en_GB
8
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["LocaleHelper","componentsLocales","en_GB","ru_RU","FileUploaderLocaleHelper"],"mappings":"AAAA,SAASA,YAAT,QAA6B,kCAA7B;;AAEA,SAASC,iBAAiB,IAAIC,KAA9B,QAA2C,cAA3C;AACA,SAASD,iBAAiB,IAAIE,KAA9B,QAA2C,cAA3C;;;AAGA,cAAc,SAAd;;AAEA,OAAO,IAAMC,wBAAwB,GAAG,IAAIJ,YAAJ,CAAqC;AAC3EG,EAAAA,KAAK,EAALA,KAD2E;AAE3ED,EAAAA,KAAK,EAALA,KAF2E,EAArC,CAAjC","sourcesContent":["import { LocaleHelper } from '../../../lib/locale/LocaleHelper';\n\nimport { componentsLocales as en_GB } from './locales/en';\nimport { componentsLocales as ru_RU } from './locales/ru';\nimport { FileUploaderLocale } from './types';\n\nexport * from './types';\n\nexport const FileUploaderLocaleHelper = new LocaleHelper<FileUploaderLocale>({\n ru_RU,\n en_GB,\n});\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../cjs/components/FileUploader/locale/index.js",
3
+ "module": "index",
4
+ "types": "../index.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,4 @@
1
+ import { LocaleHelper } from '../../../lib/locale/LocaleHelper';
2
+ import { FileUploaderLocale } from './types';
3
+ export * from './types';
4
+ export declare const FileUploaderLocaleHelper: LocaleHelper<FileUploaderLocale>;
@@ -0,0 +1,6 @@
1
+ export var componentsLocales = {
2
+ chooseFile: 'Select a file',
3
+ choosedFile: 'File selected',
4
+ orDragHere: 'or drag here',
5
+ requestErrorText: 'The file could not be uploaded to the server, please try again later'
6
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["en.ts"],"names":["componentsLocales","chooseFile","choosedFile","orDragHere","requestErrorText"],"mappings":";;AAEA,OAAO,IAAMA,iBAAqC,GAAG;AACnDC,EAAAA,UAAU,EAAE,eADuC;AAEnDC,EAAAA,WAAW,EAAE,eAFsC;AAGnDC,EAAAA,UAAU,EAAE,cAHuC;AAInDC,EAAAA,gBAAgB,EAAE,sEAJiC,EAA9C","sourcesContent":["import { FileUploaderLocale } from '../types';\n\nexport const componentsLocales: FileUploaderLocale = {\n chooseFile: 'Select a file',\n choosedFile: 'File selected',\n orDragHere: 'or drag here',\n requestErrorText: 'The file could not be uploaded to the server, please try again later',\n};\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../../cjs/components/FileUploader/locale/locales/en.js",
3
+ "module": "en",
4
+ "types": "../en.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,2 @@
1
+ import { FileUploaderLocale } from '../types';
2
+ export declare const componentsLocales: FileUploaderLocale;
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../../cjs/components/FileUploader/locale/locales/ru.js",
3
+ "module": "ru",
4
+ "types": "../ru.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,6 @@
1
+ export var componentsLocales = {
2
+ chooseFile: 'Выберите файл',
3
+ choosedFile: 'Выбран файл',
4
+ orDragHere: 'или перетащите сюда',
5
+ requestErrorText: 'Файл не удалось загрузить на сервер, повторите попытку позже'
6
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ru.ts"],"names":["componentsLocales","chooseFile","choosedFile","orDragHere","requestErrorText"],"mappings":";;AAEA,OAAO,IAAMA,iBAAqC,GAAG;AACnDC,EAAAA,UAAU,EAAE,eADuC;AAEnDC,EAAAA,WAAW,EAAE,aAFsC;AAGnDC,EAAAA,UAAU,EAAE,qBAHuC;AAInDC,EAAAA,gBAAgB,EAAE,8DAJiC,EAA9C","sourcesContent":["import { FileUploaderLocale } from '../types';\n\nexport const componentsLocales: FileUploaderLocale = {\n chooseFile: 'Выберите файл',\n choosedFile: 'Выбран файл',\n orDragHere: 'или перетащите сюда',\n requestErrorText: 'Файл не удалось загрузить на сервер, повторите попытку позже',\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import { FileUploaderLocale } from '../types';
2
+ export declare const componentsLocales: FileUploaderLocale;