@alfalab/core-components-file-upload-item 5.10.1 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/Component.d.ts +7 -92
  2. package/Component.js +41 -65
  3. package/actions-control.module-5a87c347.js +6 -0
  4. package/components/actions-control/actions-control.css +34 -0
  5. package/components/actions-control/actions.d.ts +4 -0
  6. package/components/actions-control/actions.js +24 -0
  7. package/components/actions-control/components/delete-button/delete-button.d.ts +4 -0
  8. package/components/actions-control/components/delete-button/delete-button.js +26 -0
  9. package/components/actions-control/components/delete-button/index.d.ts +1 -0
  10. package/components/actions-control/components/delete-button/index.js +9 -0
  11. package/components/actions-control/components/download-button/download-button.d.ts +4 -0
  12. package/components/actions-control/components/download-button/download-button.js +27 -0
  13. package/components/actions-control/components/download-button/index.d.ts +1 -0
  14. package/components/actions-control/components/download-button/index.js +9 -0
  15. package/components/actions-control/components/restore-button/index.d.ts +1 -0
  16. package/components/actions-control/components/restore-button/index.js +9 -0
  17. package/components/actions-control/components/restore-button/restore-button.d.ts +4 -0
  18. package/components/actions-control/components/restore-button/restore-button.js +26 -0
  19. package/components/actions-control/index.d.ts +1 -0
  20. package/components/actions-control/index.js +9 -0
  21. package/components/content/components/content-error/content-error.css +4 -0
  22. package/components/content/components/content-error/content-error.d.ts +4 -0
  23. package/components/content/components/content-error/content-error.js +27 -0
  24. package/components/content/components/content-error/index.d.ts +1 -0
  25. package/components/content/components/content-error/index.js +9 -0
  26. package/components/content/components/content-subtitle/content-subtitle.css +31 -0
  27. package/components/content/components/content-subtitle/content-subtitle.d.ts +4 -0
  28. package/components/content/components/content-subtitle/content-subtitle.js +62 -0
  29. package/components/content/content.css +50 -0
  30. package/components/content/content.d.ts +4 -0
  31. package/components/content/content.js +35 -0
  32. package/components/content/index.d.ts +1 -0
  33. package/components/content/index.js +9 -0
  34. package/components/content/utils/isError.d.ts +2 -0
  35. package/components/content/utils/isError.js +15 -0
  36. package/components/status-control/components/status-control-icon/index.d.ts +1 -0
  37. package/components/status-control/components/status-control-icon/index.js +9 -0
  38. package/components/status-control/components/status-control-icon/status-control-icon.css +37 -0
  39. package/components/status-control/components/status-control-icon/status-control-icon.d.ts +4 -0
  40. package/components/status-control/components/status-control-icon/status-control-icon.js +70 -0
  41. package/components/status-control/components/status-control-progress-bar/index.d.ts +1 -0
  42. package/components/status-control/components/status-control-progress-bar/index.js +9 -0
  43. package/components/status-control/components/status-control-progress-bar/status-control-progress-bar.d.ts +6 -0
  44. package/components/status-control/components/status-control-progress-bar/status-control-progress-bar.js +22 -0
  45. package/components/status-control/index.d.ts +1 -0
  46. package/components/status-control/index.js +9 -0
  47. package/components/status-control/status-control.css +57 -0
  48. package/components/status-control/status-control.d.ts +4 -0
  49. package/components/status-control/status-control.js +49 -0
  50. package/const/progress-bar.d.ts +3 -0
  51. package/const/progress-bar.js +9 -0
  52. package/context/file-upload-item-context.d.ts +30 -0
  53. package/context/file-upload-item-context.js +32 -0
  54. package/cssm/Component.d.ts +7 -92
  55. package/cssm/Component.js +40 -64
  56. package/cssm/components/actions-control/actions-control.module.css +33 -0
  57. package/cssm/components/actions-control/actions.d.ts +4 -0
  58. package/cssm/components/actions-control/actions.js +25 -0
  59. package/cssm/components/actions-control/components/delete-button/delete-button.d.ts +4 -0
  60. package/cssm/components/actions-control/components/delete-button/delete-button.js +27 -0
  61. package/cssm/components/actions-control/components/delete-button/index.d.ts +1 -0
  62. package/cssm/components/actions-control/components/delete-button/index.js +9 -0
  63. package/cssm/components/actions-control/components/download-button/download-button.d.ts +4 -0
  64. package/cssm/components/actions-control/components/download-button/download-button.js +28 -0
  65. package/cssm/components/actions-control/components/download-button/index.d.ts +1 -0
  66. package/cssm/components/actions-control/components/download-button/index.js +9 -0
  67. package/cssm/components/actions-control/components/restore-button/index.d.ts +1 -0
  68. package/cssm/components/actions-control/components/restore-button/index.js +9 -0
  69. package/cssm/components/actions-control/components/restore-button/restore-button.d.ts +4 -0
  70. package/cssm/components/actions-control/components/restore-button/restore-button.js +27 -0
  71. package/cssm/components/actions-control/index.d.ts +1 -0
  72. package/cssm/components/actions-control/index.js +9 -0
  73. package/cssm/components/content/components/content-error/content-error.d.ts +4 -0
  74. package/cssm/components/content/components/content-error/content-error.js +26 -0
  75. package/cssm/components/content/components/content-error/content-error.module.css +3 -0
  76. package/cssm/components/content/components/content-error/index.d.ts +1 -0
  77. package/cssm/components/content/components/content-error/index.js +9 -0
  78. package/cssm/components/content/components/content-subtitle/content-subtitle.d.ts +4 -0
  79. package/cssm/components/content/components/content-subtitle/content-subtitle.js +61 -0
  80. package/cssm/components/content/components/content-subtitle/content-subtitle.module.css +30 -0
  81. package/cssm/components/content/content.d.ts +4 -0
  82. package/cssm/components/content/content.js +34 -0
  83. package/cssm/components/content/content.module.css +49 -0
  84. package/cssm/components/content/index.d.ts +1 -0
  85. package/cssm/components/content/index.js +9 -0
  86. package/cssm/components/content/utils/isError.d.ts +2 -0
  87. package/cssm/components/content/utils/isError.js +15 -0
  88. package/cssm/components/status-control/components/status-control-icon/index.d.ts +1 -0
  89. package/cssm/components/status-control/components/status-control-icon/index.js +9 -0
  90. package/cssm/components/status-control/components/status-control-icon/status-control-icon.d.ts +4 -0
  91. package/cssm/components/status-control/components/status-control-icon/status-control-icon.js +69 -0
  92. package/cssm/components/status-control/components/status-control-icon/status-control-icon.module.css +36 -0
  93. package/cssm/components/status-control/components/status-control-progress-bar/index.d.ts +1 -0
  94. package/cssm/components/status-control/components/status-control-progress-bar/index.js +9 -0
  95. package/cssm/components/status-control/components/status-control-progress-bar/status-control-progress-bar.d.ts +6 -0
  96. package/cssm/components/status-control/components/status-control-progress-bar/status-control-progress-bar.js +22 -0
  97. package/cssm/components/status-control/index.d.ts +1 -0
  98. package/cssm/components/status-control/index.js +9 -0
  99. package/cssm/components/status-control/status-control.d.ts +4 -0
  100. package/cssm/components/status-control/status-control.js +48 -0
  101. package/cssm/components/status-control/status-control.module.css +56 -0
  102. package/cssm/const/progress-bar.d.ts +3 -0
  103. package/cssm/const/progress-bar.js +9 -0
  104. package/cssm/context/file-upload-item-context.d.ts +30 -0
  105. package/cssm/context/file-upload-item-context.js +32 -0
  106. package/cssm/index.js +1 -0
  107. package/cssm/index.module.css +5 -96
  108. package/cssm/types/file-upload-item-props.d.ts +113 -0
  109. package/cssm/types/file-upload-item-props.js +2 -0
  110. package/cssm/utils.d.ts +6 -3
  111. package/cssm/utils.js +10 -28
  112. package/esm/Component.d.ts +7 -92
  113. package/esm/Component.js +41 -66
  114. package/esm/actions-control.module-10db6600.js +4 -0
  115. package/esm/components/actions-control/actions-control.css +34 -0
  116. package/esm/components/actions-control/actions.d.ts +4 -0
  117. package/esm/components/actions-control/actions.js +16 -0
  118. package/esm/components/actions-control/components/delete-button/delete-button.d.ts +4 -0
  119. package/esm/components/actions-control/components/delete-button/delete-button.js +17 -0
  120. package/esm/components/actions-control/components/delete-button/index.d.ts +1 -0
  121. package/esm/components/actions-control/components/delete-button/index.js +1 -0
  122. package/esm/components/actions-control/components/download-button/download-button.d.ts +4 -0
  123. package/esm/components/actions-control/components/download-button/download-button.js +18 -0
  124. package/esm/components/actions-control/components/download-button/index.d.ts +1 -0
  125. package/esm/components/actions-control/components/download-button/index.js +1 -0
  126. package/esm/components/actions-control/components/restore-button/index.d.ts +1 -0
  127. package/esm/components/actions-control/components/restore-button/index.js +1 -0
  128. package/esm/components/actions-control/components/restore-button/restore-button.d.ts +4 -0
  129. package/esm/components/actions-control/components/restore-button/restore-button.js +17 -0
  130. package/esm/components/actions-control/index.d.ts +1 -0
  131. package/esm/components/actions-control/index.js +1 -0
  132. package/esm/components/content/components/content-error/content-error.css +4 -0
  133. package/esm/components/content/components/content-error/content-error.d.ts +4 -0
  134. package/esm/components/content/components/content-error/content-error.js +19 -0
  135. package/esm/components/content/components/content-error/index.d.ts +1 -0
  136. package/esm/components/content/components/content-error/index.js +1 -0
  137. package/esm/components/content/components/content-subtitle/content-subtitle.css +31 -0
  138. package/esm/components/content/components/content-subtitle/content-subtitle.d.ts +4 -0
  139. package/esm/components/content/components/content-subtitle/content-subtitle.js +53 -0
  140. package/esm/components/content/content.css +50 -0
  141. package/esm/components/content/content.d.ts +4 -0
  142. package/esm/components/content/content.js +26 -0
  143. package/esm/components/content/index.d.ts +1 -0
  144. package/esm/components/content/index.js +1 -0
  145. package/esm/components/content/utils/isError.d.ts +2 -0
  146. package/esm/components/content/utils/isError.js +11 -0
  147. package/esm/components/status-control/components/status-control-icon/index.d.ts +1 -0
  148. package/esm/components/status-control/components/status-control-icon/index.js +1 -0
  149. package/esm/components/status-control/components/status-control-icon/status-control-icon.css +37 -0
  150. package/esm/components/status-control/components/status-control-icon/status-control-icon.d.ts +4 -0
  151. package/esm/components/status-control/components/status-control-icon/status-control-icon.js +60 -0
  152. package/esm/components/status-control/components/status-control-progress-bar/index.d.ts +1 -0
  153. package/esm/components/status-control/components/status-control-progress-bar/index.js +1 -0
  154. package/esm/components/status-control/components/status-control-progress-bar/status-control-progress-bar.d.ts +6 -0
  155. package/esm/components/status-control/components/status-control-progress-bar/status-control-progress-bar.js +14 -0
  156. package/esm/components/status-control/index.d.ts +1 -0
  157. package/esm/components/status-control/index.js +1 -0
  158. package/esm/components/status-control/status-control.css +57 -0
  159. package/esm/components/status-control/status-control.d.ts +4 -0
  160. package/esm/components/status-control/status-control.js +40 -0
  161. package/esm/const/progress-bar.d.ts +3 -0
  162. package/esm/const/progress-bar.js +4 -0
  163. package/esm/context/file-upload-item-context.d.ts +30 -0
  164. package/esm/context/file-upload-item-context.js +28 -0
  165. package/esm/index.css +8 -99
  166. package/esm/index.js +1 -1
  167. package/esm/types/file-upload-item-props.d.ts +113 -0
  168. package/esm/types/file-upload-item-props.js +1 -0
  169. package/esm/utils.d.ts +6 -3
  170. package/esm/utils.js +6 -28
  171. package/index.css +8 -99
  172. package/index.js +1 -0
  173. package/modern/Component.d.ts +7 -92
  174. package/modern/Component.js +40 -66
  175. package/modern/actions-control.module-86bcd03c.js +4 -0
  176. package/modern/components/actions-control/actions-control.css +34 -0
  177. package/modern/components/actions-control/actions.d.ts +4 -0
  178. package/modern/components/actions-control/actions.js +16 -0
  179. package/modern/components/actions-control/components/delete-button/delete-button.d.ts +4 -0
  180. package/modern/components/actions-control/components/delete-button/delete-button.js +17 -0
  181. package/modern/components/actions-control/components/delete-button/index.d.ts +1 -0
  182. package/modern/components/actions-control/components/delete-button/index.js +1 -0
  183. package/modern/components/actions-control/components/download-button/download-button.d.ts +4 -0
  184. package/modern/components/actions-control/components/download-button/download-button.js +18 -0
  185. package/modern/components/actions-control/components/download-button/index.d.ts +1 -0
  186. package/modern/components/actions-control/components/download-button/index.js +1 -0
  187. package/modern/components/actions-control/components/restore-button/index.d.ts +1 -0
  188. package/modern/components/actions-control/components/restore-button/index.js +1 -0
  189. package/modern/components/actions-control/components/restore-button/restore-button.d.ts +4 -0
  190. package/modern/components/actions-control/components/restore-button/restore-button.js +17 -0
  191. package/modern/components/actions-control/index.d.ts +1 -0
  192. package/modern/components/actions-control/index.js +1 -0
  193. package/modern/components/content/components/content-error/content-error.css +4 -0
  194. package/modern/components/content/components/content-error/content-error.d.ts +4 -0
  195. package/modern/components/content/components/content-error/content-error.js +19 -0
  196. package/modern/components/content/components/content-error/index.d.ts +1 -0
  197. package/modern/components/content/components/content-error/index.js +1 -0
  198. package/modern/components/content/components/content-subtitle/content-subtitle.css +31 -0
  199. package/modern/components/content/components/content-subtitle/content-subtitle.d.ts +4 -0
  200. package/modern/components/content/components/content-subtitle/content-subtitle.js +52 -0
  201. package/modern/components/content/content.css +50 -0
  202. package/modern/components/content/content.d.ts +4 -0
  203. package/modern/components/content/content.js +25 -0
  204. package/modern/components/content/index.d.ts +1 -0
  205. package/modern/components/content/index.js +1 -0
  206. package/modern/components/content/utils/isError.d.ts +2 -0
  207. package/modern/components/content/utils/isError.js +11 -0
  208. package/modern/components/status-control/components/status-control-icon/index.d.ts +1 -0
  209. package/modern/components/status-control/components/status-control-icon/index.js +1 -0
  210. package/modern/components/status-control/components/status-control-icon/status-control-icon.css +37 -0
  211. package/modern/components/status-control/components/status-control-icon/status-control-icon.d.ts +4 -0
  212. package/modern/components/status-control/components/status-control-icon/status-control-icon.js +59 -0
  213. package/modern/components/status-control/components/status-control-progress-bar/index.d.ts +1 -0
  214. package/modern/components/status-control/components/status-control-progress-bar/index.js +1 -0
  215. package/modern/components/status-control/components/status-control-progress-bar/status-control-progress-bar.d.ts +6 -0
  216. package/modern/components/status-control/components/status-control-progress-bar/status-control-progress-bar.js +11 -0
  217. package/modern/components/status-control/index.d.ts +1 -0
  218. package/modern/components/status-control/index.js +1 -0
  219. package/modern/components/status-control/status-control.css +57 -0
  220. package/modern/components/status-control/status-control.d.ts +4 -0
  221. package/modern/components/status-control/status-control.js +36 -0
  222. package/modern/const/progress-bar.d.ts +3 -0
  223. package/modern/const/progress-bar.js +4 -0
  224. package/modern/context/file-upload-item-context.d.ts +30 -0
  225. package/modern/context/file-upload-item-context.js +28 -0
  226. package/modern/index.css +8 -99
  227. package/modern/index.js +1 -1
  228. package/modern/types/file-upload-item-props.d.ts +113 -0
  229. package/modern/types/file-upload-item-props.js +1 -0
  230. package/modern/utils.d.ts +6 -3
  231. package/modern/utils.js +6 -28
  232. package/moderncssm/Component.d.ts +7 -92
  233. package/moderncssm/Component.js +39 -65
  234. package/moderncssm/components/actions-control/actions-control.module.css +23 -0
  235. package/moderncssm/components/actions-control/actions.d.ts +4 -0
  236. package/moderncssm/components/actions-control/actions.js +16 -0
  237. package/moderncssm/components/actions-control/components/delete-button/delete-button.d.ts +4 -0
  238. package/moderncssm/components/actions-control/components/delete-button/delete-button.js +17 -0
  239. package/moderncssm/components/actions-control/components/delete-button/index.d.ts +1 -0
  240. package/moderncssm/components/actions-control/components/delete-button/index.js +1 -0
  241. package/moderncssm/components/actions-control/components/download-button/download-button.d.ts +4 -0
  242. package/moderncssm/components/actions-control/components/download-button/download-button.js +18 -0
  243. package/moderncssm/components/actions-control/components/download-button/index.d.ts +1 -0
  244. package/moderncssm/components/actions-control/components/download-button/index.js +1 -0
  245. package/moderncssm/components/actions-control/components/restore-button/index.d.ts +1 -0
  246. package/moderncssm/components/actions-control/components/restore-button/index.js +1 -0
  247. package/moderncssm/components/actions-control/components/restore-button/restore-button.d.ts +4 -0
  248. package/moderncssm/components/actions-control/components/restore-button/restore-button.js +17 -0
  249. package/moderncssm/components/actions-control/index.d.ts +1 -0
  250. package/moderncssm/components/actions-control/index.js +1 -0
  251. package/moderncssm/components/content/components/content-error/content-error.d.ts +4 -0
  252. package/moderncssm/components/content/components/content-error/content-error.js +17 -0
  253. package/moderncssm/components/content/components/content-error/content-error.module.css +3 -0
  254. package/moderncssm/components/content/components/content-error/index.d.ts +1 -0
  255. package/moderncssm/components/content/components/content-error/index.js +1 -0
  256. package/moderncssm/components/content/components/content-subtitle/content-subtitle.d.ts +4 -0
  257. package/moderncssm/components/content/components/content-subtitle/content-subtitle.js +50 -0
  258. package/moderncssm/components/content/components/content-subtitle/content-subtitle.module.css +15 -0
  259. package/moderncssm/components/content/content.d.ts +4 -0
  260. package/moderncssm/components/content/content.js +23 -0
  261. package/moderncssm/components/content/content.module.css +37 -0
  262. package/moderncssm/components/content/index.d.ts +1 -0
  263. package/moderncssm/components/content/index.js +1 -0
  264. package/moderncssm/components/content/utils/isError.d.ts +2 -0
  265. package/moderncssm/components/content/utils/isError.js +11 -0
  266. package/moderncssm/components/status-control/components/status-control-icon/index.d.ts +1 -0
  267. package/moderncssm/components/status-control/components/status-control-icon/index.js +1 -0
  268. package/moderncssm/components/status-control/components/status-control-icon/status-control-icon.d.ts +4 -0
  269. package/moderncssm/components/status-control/components/status-control-icon/status-control-icon.js +57 -0
  270. package/moderncssm/components/status-control/components/status-control-icon/status-control-icon.module.css +22 -0
  271. package/moderncssm/components/status-control/components/status-control-progress-bar/index.d.ts +1 -0
  272. package/moderncssm/components/status-control/components/status-control-progress-bar/index.js +1 -0
  273. package/moderncssm/components/status-control/components/status-control-progress-bar/status-control-progress-bar.d.ts +6 -0
  274. package/moderncssm/components/status-control/components/status-control-progress-bar/status-control-progress-bar.js +11 -0
  275. package/moderncssm/components/status-control/index.d.ts +1 -0
  276. package/moderncssm/components/status-control/index.js +1 -0
  277. package/moderncssm/components/status-control/status-control.d.ts +4 -0
  278. package/moderncssm/components/status-control/status-control.js +34 -0
  279. package/moderncssm/components/status-control/status-control.module.css +48 -0
  280. package/moderncssm/const/progress-bar.d.ts +3 -0
  281. package/moderncssm/const/progress-bar.js +4 -0
  282. package/moderncssm/context/file-upload-item-context.d.ts +30 -0
  283. package/moderncssm/context/file-upload-item-context.js +28 -0
  284. package/moderncssm/index.js +1 -1
  285. package/moderncssm/index.module.css +2 -117
  286. package/moderncssm/types/file-upload-item-props.d.ts +113 -0
  287. package/moderncssm/types/file-upload-item-props.js +1 -0
  288. package/moderncssm/utils.d.ts +6 -3
  289. package/moderncssm/utils.js +6 -28
  290. package/package.json +7 -6
  291. package/src/Component.tsx +60 -251
  292. package/src/components/actions-control/actions-control.module.css +23 -0
  293. package/src/components/actions-control/actions.tsx +23 -0
  294. package/src/components/actions-control/components/delete-button/delete-button.tsx +29 -0
  295. package/src/components/actions-control/components/delete-button/index.ts +1 -0
  296. package/src/components/actions-control/components/download-button/download-button.tsx +40 -0
  297. package/src/components/actions-control/components/download-button/index.ts +1 -0
  298. package/src/components/actions-control/components/restore-button/index.ts +1 -0
  299. package/src/components/actions-control/components/restore-button/restore-button.tsx +29 -0
  300. package/src/components/actions-control/index.ts +1 -0
  301. package/src/components/content/components/content-error/content-error.module.css +3 -0
  302. package/src/components/content/components/content-error/content-error.tsx +42 -0
  303. package/src/components/content/components/content-error/index.ts +1 -0
  304. package/src/components/content/components/content-subtitle/content-subtitle.module.css +15 -0
  305. package/src/components/content/components/content-subtitle/content-subtitle.tsx +92 -0
  306. package/src/components/content/content.module.css +37 -0
  307. package/src/components/content/content.tsx +46 -0
  308. package/src/components/content/index.ts +1 -0
  309. package/src/components/content/utils/isError.ts +11 -0
  310. package/src/components/status-control/components/status-control-icon/index.ts +1 -0
  311. package/src/components/status-control/components/status-control-icon/status-control-icon.module.css +22 -0
  312. package/src/components/status-control/components/status-control-icon/status-control-icon.tsx +75 -0
  313. package/src/components/status-control/components/status-control-progress-bar/index.ts +1 -0
  314. package/src/components/status-control/components/status-control-progress-bar/status-control-progress-bar.tsx +37 -0
  315. package/src/components/status-control/index.ts +1 -0
  316. package/src/components/status-control/status-control.module.css +45 -0
  317. package/src/components/status-control/status-control.tsx +52 -0
  318. package/src/const/progress-bar.ts +2 -0
  319. package/src/context/file-upload-item-context.tsx +51 -0
  320. package/src/index.module.css +2 -113
  321. package/src/types/file-upload-item-props.ts +133 -0
  322. package/src/utils.ts +5 -28
  323. package/types/file-upload-item-props.d.ts +113 -0
  324. package/types/file-upload-item-props.js +2 -0
  325. package/utils.d.ts +6 -3
  326. package/utils.js +10 -28
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ declare const StatusControl: () => React.JSX.Element;
4
+ export { StatusControl };
@@ -0,0 +1,36 @@
1
+ import React, { useContext, useRef } from 'react';
2
+ import cn from 'classnames';
3
+ import { SuperEllipse } from '@alfalab/core-components/icon-view/super-ellipse';
4
+ import { RADIUS, MAX_PROGRESS_BAR_VALUE } from '../../const/progress-bar.js';
5
+ import { FileUploadItemContext } from '../../context/file-upload-item-context.js';
6
+ import { isUploadingStatus, isSuccessStatus, isErrorStatus } from '../../utils.js';
7
+ import { StatusControlIcon } from './components/status-control-icon/status-control-icon.js';
8
+ import { StatusControlProgressBar } from './components/status-control-progress-bar/status-control-progress-bar.js';
9
+
10
+ const styles = {"container":"file-upload-item__container_1jko1","progress":"file-upload-item__progress_1jko1","uploading":"file-upload-item__uploading_1jko1","success":"file-upload-item__success_1jko1","error":"file-upload-item__error_1jko1","progressBarTransparent":"file-upload-item__progressBarTransparent_1jko1","progressBarUploading":"file-upload-item__progressBarUploading_1jko1","progressBarSuccess":"file-upload-item__progressBarSuccess_1jko1","progressBarError":"file-upload-item__progressBarError_1jko1"};
11
+ require('./status-control.css')
12
+
13
+ const StatusControl = () => {
14
+ const { uploadStatus = 'INITIAL', progressBar, imageUrl } = useContext(FileUploadItemContext);
15
+ const progressRef = useRef(null);
16
+ if (progressRef.current && progressBar) {
17
+ progressRef.current.style.maskImage = `conic-gradient(red ${(RADIUS / MAX_PROGRESS_BAR_VALUE) * progressBar}deg, transparent 0)`;
18
+ }
19
+ const isTransparentProgressBar = () => uploadStatus === 'INITIAL' || uploadStatus === 'UPLOADED' || uploadStatus === 'DELETED';
20
+ return (React.createElement("div", { className: styles.container },
21
+ React.createElement(SuperEllipse, { size: 48, ...(imageUrl && { imageUrl }) },
22
+ React.createElement(StatusControlIcon, null)),
23
+ React.createElement("div", { ref: progressRef, className: cn(styles.progress, {
24
+ [styles.uploading]: isUploadingStatus(uploadStatus),
25
+ [styles.success]: isSuccessStatus(uploadStatus),
26
+ [styles.error]: isErrorStatus(uploadStatus),
27
+ }) },
28
+ React.createElement(StatusControlProgressBar, { className: cn({
29
+ [styles.progressBarTransparent]: isTransparentProgressBar(),
30
+ [styles.progressBarUploading]: uploadStatus === 'UPLOADING',
31
+ [styles.progressBarSuccess]: uploadStatus === 'SUCCESS',
32
+ [styles.progressBarError]: uploadStatus === 'ERROR',
33
+ }) }))));
34
+ };
35
+
36
+ export { StatusControl };
@@ -0,0 +1,3 @@
1
+ declare const MAX_PROGRESS_BAR_VALUE = 100;
2
+ declare const RADIUS = 360;
3
+ export { MAX_PROGRESS_BAR_VALUE, RADIUS };
@@ -0,0 +1,4 @@
1
+ const MAX_PROGRESS_BAR_VALUE = 100;
2
+ const RADIUS = 360;
3
+
4
+ export { MAX_PROGRESS_BAR_VALUE, RADIUS };
@@ -0,0 +1,30 @@
1
+ /// <reference types="react" />
2
+ import { ElementType, HTMLAttributeAnchorTarget, MouseEvent } from 'react';
3
+ type TFileUploadItemContext = {
4
+ showRestore?: boolean;
5
+ uploadStatus?: string;
6
+ error?: string | string[];
7
+ title?: string;
8
+ subtitle?: string;
9
+ uploadDate?: string;
10
+ size?: string | number;
11
+ id?: string;
12
+ onDownload?: (id: string) => void;
13
+ onDelete?: (id: string, event?: MouseEvent<HTMLElement>) => void;
14
+ onRestore?: (id: string) => void;
15
+ downloadLink?: string;
16
+ download?: string | true;
17
+ disableButtons?: boolean;
18
+ target?: HTMLAttributeAnchorTarget;
19
+ showDelete?: boolean;
20
+ customIcon?: ElementType<{
21
+ className?: string;
22
+ }>;
23
+ iconStyle?: 'gray' | 'colored';
24
+ progressBar?: number;
25
+ customContent?: ElementType;
26
+ truncate?: boolean;
27
+ imageUrl?: string;
28
+ };
29
+ declare const FileUploadItemContext: import("react").Context<TFileUploadItemContext>;
30
+ export { FileUploadItemContext };
@@ -0,0 +1,28 @@
1
+ import { createContext } from 'react';
2
+
3
+ const FileUploadItemContext = createContext({
4
+ showRestore: false,
5
+ uploadStatus: 'INITIAL',
6
+ error: undefined,
7
+ title: '',
8
+ subtitle: '',
9
+ uploadDate: '',
10
+ size: 0,
11
+ id: '0',
12
+ onDownload: undefined,
13
+ onDelete: undefined,
14
+ onRestore: undefined,
15
+ downloadLink: '',
16
+ download: '',
17
+ disableButtons: false,
18
+ target: undefined,
19
+ showDelete: false,
20
+ iconStyle: 'gray',
21
+ customIcon: undefined,
22
+ progressBar: 0,
23
+ customContent: undefined,
24
+ truncate: false,
25
+ imageUrl: undefined,
26
+ });
27
+
28
+ export { FileUploadItemContext };
package/modern/index.css CHANGED
@@ -1,13 +1,6 @@
1
- /* hash: 1c984 */
1
+ /* hash: 1oklu */
2
2
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
- } /* deprecated */ :root {
4
- --color-light-neutral-300: #e7e8eb;
5
- --color-light-neutral-translucent-1300: rgba(3, 3, 6, 0.88);
6
- --color-light-status-negative: #ff4837;
7
- --color-light-status-positive: #0cc44d;
8
- --color-light-text-negative: #ec2d20;
9
- --color-light-text-primary: rgba(3, 3, 6, 0.88);
10
- --color-light-text-secondary: rgba(4, 4, 19, 0.55); /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
+ } /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
11
4
  } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
12
5
  } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
13
6
  } :root {
@@ -21,105 +14,21 @@
21
14
 
22
15
  /* новые значения, используйте их */
23
16
  } :root {
24
- --gap-3xs: 2px; /* deprecated */
25
- --gap-2xs: 4px; /* deprecated */
26
- --gap-xs: 8px; /* deprecated */
27
- --gap-s: 12px; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
28
- --gap-xl: 24px; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
17
+ --gap-3xs: 2px; /* deprecated */ /* deprecated */ /* deprecated */
18
+ --gap-s: 12px; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
29
19
 
30
20
  /* новые значения, используйте их */
31
- --gap-0: 0;
32
21
  --gap-2: var(--gap-3xs);
33
- --gap-4: var(--gap-2xs);
34
- --gap-8: var(--gap-xs);
35
22
  --gap-12: var(--gap-s);
36
- --gap-24: var(--gap-xl);
37
23
  } :root {
38
24
  } :root {
39
- } /* сбрасывает синюю подсветку при нажатии */ .file-upload-item__component_1qoti {
40
- font-size: 13px;
41
- line-height: 16px;
42
- font-weight: 400;
43
-
25
+ } /* сбрасывает синюю подсветку при нажатии */ .file-upload-item__component_kxzrk {
26
+ box-sizing: border-box;
44
27
  display: flex;
45
28
  align-items: flex-start;
46
29
  width: 100%;
47
- padding: var(--gap-8);
48
- color: var(--color-light-text-secondary);
49
- box-shadow: 0 -1px 0 0 var(--color-light-neutral-300) inset;
50
- box-sizing: border-box
51
- } .file-upload-item__component_1qoti svg {
52
- display: block;
53
- } .file-upload-item__component_1qoti:last-child {
54
- box-shadow: none;
55
- } .file-upload-item__infoSection_1qoti {
56
- display: flex;
57
- flex-direction: column;
58
- flex: 1;
59
- margin-top: var(--gap-4);
60
- margin-left: var(--gap-12);
61
- min-width: 40%;
62
- } .file-upload-item__info_1qoti {
63
- display: flex;
64
- flex-wrap: wrap;
65
- flex: 1;
66
- overflow: hidden;
67
- } .file-upload-item__icon_1qoti {
68
- display: block;
69
- flex-shrink: 0;
70
- color: var(--color-light-neutral-translucent-1300);
71
- } .file-upload-item__errorIcon_1qoti {
72
- flex-shrink: 0;
73
- color: var(--color-light-status-negative);
74
- } .file-upload-item__successIcon_1qoti {
75
- flex-shrink: 0;
76
- color: var(--color-light-status-positive);
77
- } .file-upload-item__name_1qoti {
78
- color: var(--color-light-text-primary)
79
- } .file-upload-item__name_1qoti a {
80
- display: block;
81
- margin-bottom: 1px;
82
- } .file-upload-item__name_1qoti.file-upload-item__rowLimit_1qoti {
83
- white-space: nowrap;
84
- overflow: hidden;
85
- text-overflow: ellipsis;
86
- } .file-upload-item__meta_1qoti {
87
- display: flex;
88
- white-space: nowrap;
89
- margin-right: var(--gap-4);
90
- margin-left: 36px;
91
- padding: var(--gap-4) var(--gap-0)
92
- } .file-upload-item__meta_1qoti > * {
93
- margin-right: var(--gap-12)
94
- } .file-upload-item__meta_1qoti > *:last-child {
95
- margin-right: var(--gap-0);
96
- } .file-upload-item__size_1qoti {
97
- text-align: right;
98
- } .file-upload-item__delete_1qoti,
99
- .file-upload-item__download_1qoti {
100
- height: 24px;
101
- width: 24px;
102
- margin-left: var(--gap-8);
103
- } .file-upload-item__errorWrapper_1qoti {
104
- margin-top: var(--gap-4);
105
- color: var(--color-light-text-negative);
106
- } .file-upload-item__restore_1qoti {
107
- font-size: 14px;
108
- line-height: 20px;
109
- font-weight: 400;
110
-
30
+ min-height: 48px;
31
+ } .file-upload-item__restore_kxzrk {
111
32
  margin-left: var(--gap-12);
112
33
  margin-top: var(--gap-2);
113
- } .file-upload-item__spinnerWrapper_1qoti {
114
- display: flex;
115
- justify-content: center;
116
- align-items: center;
117
- width: 24px;
118
- height: 24px;
119
- } .file-upload-item__spinner_1qoti {
120
- width: 20px;
121
- height: 20px;
122
- } .file-upload-item__uploadPercent_1qoti {
123
- margin-top: var(--gap-4);
124
- margin-left: var(--gap-24);
125
34
  }
package/modern/index.js CHANGED
@@ -1 +1 @@
1
- export { FileUploadItem } from './Component.js';
1
+ export { FileUploadItem, FileUploadItemComponent } from './Component.js';
@@ -0,0 +1,113 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { ElementType, HTMLAttributeAnchorTarget, MouseEvent } from "react";
4
+ type FileUploadItemProps = {
5
+ /**
6
+ * Дополнительный класс
7
+ */
8
+ className?: string;
9
+ /**
10
+ * Идентификатор элемента
11
+ */
12
+ id?: string;
13
+ /**
14
+ * Имя файла / заголовок
15
+ */
16
+ title?: string;
17
+ /**
18
+ * Подзаголовок файла
19
+ */
20
+ subtitle?: string;
21
+ /**
22
+ * Размер файла
23
+ */
24
+ size?: string | number;
25
+ /**
26
+ * Дата загрузки файла
27
+ */
28
+ uploadDate?: string;
29
+ /**
30
+ * Ссылка на файл. Если прокидывается этот параметр, то появляется кнопка скачивания
31
+ */
32
+ downloadLink?: string;
33
+ /**
34
+ * Рекомендует браузеру скачивать контент по ссылке.
35
+ * В проп может быть передано рекомендуемое название скачиваемого файла.
36
+ */
37
+ download?: string | true;
38
+ /**
39
+ * Отображение кнопки удаления
40
+ */
41
+ showDelete?: boolean;
42
+ /**
43
+ * Отображение кнопки восстановления
44
+ */
45
+ showRestore?: boolean;
46
+ /**
47
+ * Статус загрузки файла
48
+ */
49
+ uploadStatus?: string;
50
+ /**
51
+ * Сообщение об ошибке
52
+ */
53
+ error?: string | string[];
54
+ /**
55
+ * Дочерние элементы
56
+ */
57
+ children?: React.ReactNode;
58
+ /**
59
+ * Обработчик загрузки файла
60
+ */
61
+ onDownload?: (id: string) => void;
62
+ /**
63
+ * Обработчик удаления файла
64
+ */
65
+ onDelete?: (id: string, event?: MouseEvent<HTMLElement>) => void;
66
+ /**
67
+ * Обработчик восстановления файла
68
+ */
69
+ onRestore?: (id: string) => void;
70
+ /**
71
+ * Управление активностью кнопок
72
+ */
73
+ disableButtons?: boolean;
74
+ /**
75
+ * Указывает, где открыть скачиваемый документ
76
+ */
77
+ target?: HTMLAttributeAnchorTarget;
78
+ /**
79
+ * Идентификатор для систем автоматизированного тестирования
80
+ */
81
+ dataTestId?: string;
82
+ /**
83
+ * Цвет заполнения иконки
84
+ * @default gray
85
+ */
86
+ iconStyle?: 'gray' | 'colored';
87
+ /**
88
+ * Кастомная иконка
89
+ */
90
+ customIcon?: ElementType<{
91
+ className?: string;
92
+ }>;
93
+ /**
94
+ * Шкала прогресса
95
+ * от 0 до 100
96
+ * @default 0
97
+ */
98
+ progressBar?: number;
99
+ /**
100
+ * Кастомный контент
101
+ */
102
+ customContent?: ElementType;
103
+ /**
104
+ * Отсечение контента
105
+ * @default false
106
+ */
107
+ truncate?: boolean;
108
+ /**
109
+ * Фоновое изображение. Имеет приоритет над иконкой и заливкой
110
+ */
111
+ imageUrl?: string;
112
+ };
113
+ export { FileUploadItemProps };
package/modern/utils.d.ts CHANGED
@@ -1,5 +1,8 @@
1
- /// <reference types="react" />
2
1
  declare function humanFileSize(size: string | number): string;
3
2
  declare const getExtension: (filename: string) => string | undefined;
4
- declare function fileIcon(filename: string): import("react").FC<import("react").SVGProps<SVGSVGElement>>;
5
- export { humanFileSize, getExtension, fileIcon };
3
+ declare const isInitialStatus: (status?: string) => boolean;
4
+ declare const isSuccessStatus: (status?: string) => boolean;
5
+ declare const isErrorStatus: (status?: string) => boolean;
6
+ declare const isUploadingStatus: (status?: string) => boolean;
7
+ declare const isUploadedStatus: (status?: string) => boolean;
8
+ export { humanFileSize, getExtension, isInitialStatus, isSuccessStatus, isErrorStatus, isUploadingStatus, isUploadedStatus };
package/modern/utils.js CHANGED
@@ -1,9 +1,3 @@
1
- import { DocumentDocMIcon } from '@alfalab/icons-glyph/DocumentDocMIcon';
2
- import { DocumentImageMIcon } from '@alfalab/icons-glyph/DocumentImageMIcon';
3
- import { DocumentPdfMIcon } from '@alfalab/icons-glyph/DocumentPdfMIcon';
4
- import { DocumentTxtMIcon } from '@alfalab/icons-glyph/DocumentTxtMIcon';
5
- import { DocumentUnknownMIcon } from '@alfalab/icons-glyph/DocumentUnknownMIcon';
6
-
7
1
  function humanFileSize(size) {
8
2
  const units = ['Б', 'КБ', 'МБ', 'ГБ'];
9
3
  let humanSize = Number(size);
@@ -16,26 +10,10 @@ function humanFileSize(size) {
16
10
  return `${Number(humanSize)} ${units[factor]}`;
17
11
  }
18
12
  const getExtension = (filename) => filename.toLowerCase().split('.').pop();
19
- function fileIcon(filename) {
20
- const extension = getExtension(filename);
21
- switch (extension) {
22
- case 'png':
23
- case 'jpg':
24
- case 'jpeg':
25
- case 'svg':
26
- case 'tif':
27
- case 'tiff':
28
- return DocumentImageMIcon;
29
- case 'doc':
30
- case 'docx':
31
- return DocumentDocMIcon;
32
- case 'pdf':
33
- return DocumentPdfMIcon;
34
- case 'txt':
35
- return DocumentTxtMIcon;
36
- default:
37
- return DocumentUnknownMIcon;
38
- }
39
- }
13
+ const isInitialStatus = (status) => status === 'INITIAL';
14
+ const isSuccessStatus = (status) => status === 'SUCCESS';
15
+ const isErrorStatus = (status) => status === 'ERROR';
16
+ const isUploadingStatus = (status) => status === 'UPLOADING';
17
+ const isUploadedStatus = (status) => status === 'UPLOADED';
40
18
 
41
- export { fileIcon, getExtension, humanFileSize };
19
+ export { getExtension, humanFileSize, isErrorStatus, isInitialStatus, isSuccessStatus, isUploadedStatus, isUploadingStatus };
@@ -1,95 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
- import { ElementType, HTMLAttributeAnchorTarget, MouseEvent, ReactNode } from "react";
4
- type FileStatuses = 'ERROR' | 'SUCCESS' | 'LOADING' | 'UPLOADING';
5
- type FileUploadItemProps = {
6
- /**
7
- * Дополнительный класс
8
- */
9
- className?: string;
10
- /**
11
- * Идентификатор элемента
12
- */
13
- id?: string;
14
- /**
15
- * Имя файла с расширением
16
- */
17
- name?: string;
18
- /**
19
- * Размер файла
20
- */
21
- size?: string | number;
22
- /**
23
- * Дата загрузки файла
24
- */
25
- uploadDate?: string;
26
- /**
27
- * Ссылка на файл. Если прокидывается этот параметр, то появляется кнопка скачивания
28
- */
29
- downloadLink?: string;
30
- /**
31
- * Рекомендует браузеру скачивать контент по ссылке.
32
- * В проп может быть передано рекомендуемое название скачиваемого файла.
33
- */
34
- download?: string | true;
35
- /**
36
- * Отображение кнопки удаления
37
- */
38
- showDelete?: boolean;
39
- /**
40
- * Отображение кнопки восстановления
41
- */
42
- showRestore?: boolean;
43
- /**
44
- * Процент загрузки файла
45
- */
46
- uploadPercent?: number;
47
- /**
48
- * Статус загрузки файла
49
- */
50
- uploadStatus?: FileStatuses;
51
- /**
52
- * Сообщение об ошибке
53
- */
54
- error?: ReactNode;
55
- /**
56
- * Дочерние элементы
57
- */
58
- children?: React.ReactNode;
59
- /**
60
- * Компонент кастомной иконки
61
- */
62
- icon?: ElementType<{
63
- className?: string;
64
- }>;
65
- /**
66
- * Обработчик загрузки файла
67
- */
68
- onDownload?: (id: string) => void;
69
- /**
70
- * Обработчик удаления файла
71
- */
72
- onDelete?: (id: string, event?: MouseEvent<HTMLElement>) => void;
73
- /**
74
- * Обработчик восстановления файла
75
- */
76
- onRestore?: (id: string) => void;
77
- /**
78
- * Управление активностью кнопок
79
- */
80
- disableButtons?: boolean;
81
- /**
82
- * Разрешить многострочное название файла
83
- */
84
- multiline?: boolean;
85
- /**
86
- * Указывает, где открыть скачиваемый документ
87
- */
88
- target?: HTMLAttributeAnchorTarget;
89
- /**
90
- * Идентификатор для систем автоматизированного тестирования
91
- */
92
- dataTestId?: string;
3
+ import { FileUploadItemProps } from "./types/file-upload-item-props";
4
+ declare const FileUploadItemComponent: React.FC<FileUploadItemProps>;
5
+ declare const FileUploadItem: React.FC<FileUploadItemProps> & {
6
+ StatusControl: () => React.JSX.Element;
7
+ Content: () => React.JSX.Element;
8
+ Actions: () => React.JSX.Element;
93
9
  };
94
- declare const FileUploadItem: React.FC<FileUploadItemProps>;
95
- export { FileStatuses, FileUploadItemProps, FileUploadItem };
10
+ export { FileUploadItemComponent, FileUploadItem };