@alfalab/core-components-file-upload-item 7.0.0 → 7.0.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 (246) hide show
  1. package/Component.js +2 -2
  2. package/Component.js.map +1 -1
  3. package/components/actions-control/actions-control.css +8 -8
  4. package/components/actions-control/actions-control.module.css.js +1 -1
  5. package/components/content/components/content-error/content-error.css +1 -1
  6. package/components/content/components/content-error/content-error.module.css.js +1 -1
  7. package/components/content/components/content-subtitle/content-subtitle.css +3 -3
  8. package/components/content/components/content-subtitle/content-subtitle.js +2 -1
  9. package/components/content/components/content-subtitle/content-subtitle.js.map +1 -1
  10. package/components/content/components/content-subtitle/content-subtitle.module.css.js +1 -1
  11. package/components/content/content.css +7 -7
  12. package/components/content/content.module.css.js +1 -1
  13. package/{modern/components/status-control/components/status-control-icon/status-control-icon.css → components/status-control/extension-icon/index.css} +5 -5
  14. package/components/status-control/extension-icon/index.d.ts +2 -0
  15. package/components/status-control/{components/status-control-icon/status-control-icon.js → extension-icon/index.js} +12 -14
  16. package/components/status-control/extension-icon/index.js.map +1 -0
  17. package/components/status-control/extension-icon/index.module.css.js +8 -0
  18. package/components/status-control/extension-icon/index.module.css.js.map +1 -0
  19. package/components/status-control/index.css +25 -0
  20. package/components/status-control/index.d.ts +2 -1
  21. package/components/status-control/index.js +30 -2
  22. package/components/status-control/index.js.map +1 -1
  23. package/components/status-control/index.module.css.js +8 -0
  24. package/components/status-control/index.module.css.js.map +1 -0
  25. package/components/status-control/progress-bar/index.d.ts +8 -0
  26. package/components/status-control/progress-bar/index.js +18 -0
  27. package/components/status-control/progress-bar/index.js.map +1 -0
  28. package/const/progress-bar.d.ts +0 -1
  29. package/const/progress-bar.js +0 -2
  30. package/const/progress-bar.js.map +1 -1
  31. package/cssm/Component.js +2 -2
  32. package/cssm/Component.js.map +1 -1
  33. package/cssm/components/content/components/content-subtitle/content-subtitle.js +2 -1
  34. package/cssm/components/content/components/content-subtitle/content-subtitle.js.map +1 -1
  35. package/cssm/components/status-control/extension-icon/index.d.ts +2 -0
  36. package/cssm/components/status-control/{components/status-control-icon/status-control-icon.js → extension-icon/index.js} +7 -9
  37. package/cssm/components/status-control/extension-icon/index.js.map +1 -0
  38. package/cssm/components/status-control/index.d.ts +2 -1
  39. package/cssm/components/status-control/index.js +31 -2
  40. package/cssm/components/status-control/index.js.map +1 -1
  41. package/cssm/components/status-control/index.module.css +25 -0
  42. package/cssm/components/status-control/progress-bar/index.d.ts +8 -0
  43. package/cssm/components/status-control/progress-bar/index.js +18 -0
  44. package/cssm/components/status-control/progress-bar/index.js.map +1 -0
  45. package/cssm/const/progress-bar.d.ts +0 -1
  46. package/cssm/const/progress-bar.js +0 -2
  47. package/cssm/const/progress-bar.js.map +1 -1
  48. package/cssm/utils.d.ts +0 -1
  49. package/cssm/utils.js +0 -12
  50. package/cssm/utils.js.map +1 -1
  51. package/esm/Component.js +1 -1
  52. package/esm/components/actions-control/actions-control.css +8 -8
  53. package/esm/components/actions-control/actions-control.module.css.js +1 -1
  54. package/esm/components/content/components/content-error/content-error.css +1 -1
  55. package/esm/components/content/components/content-error/content-error.module.css.js +1 -1
  56. package/esm/components/content/components/content-subtitle/content-subtitle.css +3 -3
  57. package/esm/components/content/components/content-subtitle/content-subtitle.js +2 -1
  58. package/esm/components/content/components/content-subtitle/content-subtitle.js.map +1 -1
  59. package/esm/components/content/components/content-subtitle/content-subtitle.module.css.js +1 -1
  60. package/esm/components/content/content.css +7 -7
  61. package/esm/components/content/content.module.css.js +1 -1
  62. package/esm/components/status-control/{components/status-control-icon/status-control-icon.css → extension-icon/index.css} +5 -5
  63. package/esm/components/status-control/extension-icon/index.d.ts +2 -0
  64. package/esm/components/status-control/{components/status-control-icon/status-control-icon.js → extension-icon/index.js} +7 -8
  65. package/esm/components/status-control/extension-icon/index.js.map +1 -0
  66. package/esm/components/status-control/extension-icon/index.module.css.js +6 -0
  67. package/esm/components/status-control/extension-icon/index.module.css.js.map +1 -0
  68. package/esm/components/status-control/index.css +25 -0
  69. package/esm/components/status-control/index.d.ts +2 -1
  70. package/esm/components/status-control/index.js +28 -1
  71. package/esm/components/status-control/index.js.map +1 -1
  72. package/esm/components/status-control/index.module.css.js +6 -0
  73. package/esm/components/status-control/index.module.css.js.map +1 -0
  74. package/esm/components/status-control/progress-bar/index.d.ts +8 -0
  75. package/esm/components/status-control/progress-bar/index.js +10 -0
  76. package/esm/components/status-control/progress-bar/index.js.map +1 -0
  77. package/esm/const/progress-bar.d.ts +0 -1
  78. package/esm/const/progress-bar.js +1 -2
  79. package/esm/const/progress-bar.js.map +1 -1
  80. package/esm/index.css +2 -2
  81. package/esm/index.module.css.js +1 -1
  82. package/esm/utils.d.ts +0 -1
  83. package/esm/utils.js +1 -12
  84. package/esm/utils.js.map +1 -1
  85. package/index.css +2 -2
  86. package/index.module.css.js +1 -1
  87. package/modern/Component.js +1 -1
  88. package/modern/components/actions-control/actions-control.css +8 -8
  89. package/modern/components/actions-control/actions-control.module.css.js +1 -1
  90. package/modern/components/content/components/content-error/content-error.css +1 -1
  91. package/modern/components/content/components/content-error/content-error.module.css.js +1 -1
  92. package/modern/components/content/components/content-subtitle/content-subtitle.css +3 -3
  93. package/modern/components/content/components/content-subtitle/content-subtitle.js +2 -1
  94. package/modern/components/content/components/content-subtitle/content-subtitle.js.map +1 -1
  95. package/modern/components/content/components/content-subtitle/content-subtitle.module.css.js +1 -1
  96. package/modern/components/content/content.css +7 -7
  97. package/modern/components/content/content.module.css.js +1 -1
  98. package/{components/status-control/components/status-control-icon/status-control-icon.css → modern/components/status-control/extension-icon/index.css} +5 -5
  99. package/modern/components/status-control/extension-icon/index.d.ts +2 -0
  100. package/{moderncssm/components/status-control/components/status-control-icon/status-control-icon.js → modern/components/status-control/extension-icon/index.js} +7 -8
  101. package/modern/components/status-control/extension-icon/index.js.map +1 -0
  102. package/modern/components/status-control/extension-icon/index.module.css.js +6 -0
  103. package/modern/components/status-control/extension-icon/index.module.css.js.map +1 -0
  104. package/modern/components/status-control/index.css +25 -0
  105. package/modern/components/status-control/index.d.ts +2 -1
  106. package/modern/components/status-control/index.js +26 -1
  107. package/modern/components/status-control/index.js.map +1 -1
  108. package/modern/components/status-control/index.module.css.js +6 -0
  109. package/modern/components/status-control/index.module.css.js.map +1 -0
  110. package/modern/components/status-control/progress-bar/index.d.ts +8 -0
  111. package/modern/components/status-control/progress-bar/index.js +10 -0
  112. package/modern/components/status-control/progress-bar/index.js.map +1 -0
  113. package/modern/const/progress-bar.d.ts +0 -1
  114. package/modern/const/progress-bar.js +1 -2
  115. package/modern/const/progress-bar.js.map +1 -1
  116. package/modern/index.css +2 -2
  117. package/modern/index.module.css.js +1 -1
  118. package/modern/utils.d.ts +0 -1
  119. package/modern/utils.js +1 -12
  120. package/modern/utils.js.map +1 -1
  121. package/moderncssm/Component.js +1 -1
  122. package/moderncssm/components/content/components/content-subtitle/content-subtitle.js +2 -1
  123. package/moderncssm/components/content/components/content-subtitle/content-subtitle.js.map +1 -1
  124. package/moderncssm/components/status-control/extension-icon/index.d.ts +2 -0
  125. package/{modern/components/status-control/components/status-control-icon/status-control-icon.js → moderncssm/components/status-control/extension-icon/index.js} +7 -8
  126. package/moderncssm/components/status-control/extension-icon/index.js.map +1 -0
  127. package/moderncssm/components/status-control/index.d.ts +2 -1
  128. package/moderncssm/components/status-control/index.js +26 -1
  129. package/moderncssm/components/status-control/index.js.map +1 -1
  130. package/moderncssm/components/status-control/index.module.css +29 -0
  131. package/moderncssm/components/status-control/progress-bar/index.d.ts +8 -0
  132. package/moderncssm/components/status-control/progress-bar/index.js +10 -0
  133. package/moderncssm/components/status-control/progress-bar/index.js.map +1 -0
  134. package/moderncssm/const/progress-bar.d.ts +0 -1
  135. package/moderncssm/const/progress-bar.js +1 -2
  136. package/moderncssm/const/progress-bar.js.map +1 -1
  137. package/moderncssm/utils.d.ts +0 -1
  138. package/moderncssm/utils.js +1 -12
  139. package/moderncssm/utils.js.map +1 -1
  140. package/package.json +7 -6
  141. package/src/components/content/components/content-subtitle/content-subtitle.tsx +1 -1
  142. package/src/components/status-control/{components/status-control-icon/status-control-icon.tsx → extension-icon/index.tsx} +5 -6
  143. package/src/components/status-control/index.module.css +35 -0
  144. package/src/components/status-control/index.tsx +46 -0
  145. package/src/components/status-control/progress-bar/index.tsx +30 -0
  146. package/src/const/progress-bar.ts +0 -1
  147. package/src/utils.ts +0 -16
  148. package/utils.d.ts +0 -1
  149. package/utils.js +0 -12
  150. package/utils.js.map +1 -1
  151. package/components/status-control/components/status-control-icon/index.d.ts +0 -1
  152. package/components/status-control/components/status-control-icon/index.js +0 -10
  153. package/components/status-control/components/status-control-icon/index.js.map +0 -1
  154. package/components/status-control/components/status-control-icon/status-control-icon.d.ts +0 -2
  155. package/components/status-control/components/status-control-icon/status-control-icon.js.map +0 -1
  156. package/components/status-control/components/status-control-icon/status-control-icon.module.css.js +0 -8
  157. package/components/status-control/components/status-control-icon/status-control-icon.module.css.js.map +0 -1
  158. package/components/status-control/components/status-control-progress-bar/index.d.ts +0 -1
  159. package/components/status-control/components/status-control-progress-bar/index.js +0 -10
  160. package/components/status-control/components/status-control-progress-bar/index.js.map +0 -1
  161. package/components/status-control/components/status-control-progress-bar/status-control-progress-bar.d.ts +0 -6
  162. package/components/status-control/components/status-control-progress-bar/status-control-progress-bar.js +0 -23
  163. package/components/status-control/components/status-control-progress-bar/status-control-progress-bar.js.map +0 -1
  164. package/components/status-control/status-control.css +0 -40
  165. package/components/status-control/status-control.d.ts +0 -2
  166. package/components/status-control/status-control.js +0 -50
  167. package/components/status-control/status-control.js.map +0 -1
  168. package/components/status-control/status-control.module.css.js +0 -8
  169. package/components/status-control/status-control.module.css.js.map +0 -1
  170. package/cssm/components/status-control/components/status-control-icon/index.d.ts +0 -1
  171. package/cssm/components/status-control/components/status-control-icon/index.js +0 -10
  172. package/cssm/components/status-control/components/status-control-icon/index.js.map +0 -1
  173. package/cssm/components/status-control/components/status-control-icon/status-control-icon.d.ts +0 -2
  174. package/cssm/components/status-control/components/status-control-icon/status-control-icon.js.map +0 -1
  175. package/cssm/components/status-control/components/status-control-progress-bar/index.d.ts +0 -1
  176. package/cssm/components/status-control/components/status-control-progress-bar/index.js +0 -10
  177. package/cssm/components/status-control/components/status-control-progress-bar/index.js.map +0 -1
  178. package/cssm/components/status-control/components/status-control-progress-bar/status-control-progress-bar.d.ts +0 -6
  179. package/cssm/components/status-control/components/status-control-progress-bar/status-control-progress-bar.js +0 -23
  180. package/cssm/components/status-control/components/status-control-progress-bar/status-control-progress-bar.js.map +0 -1
  181. package/cssm/components/status-control/status-control.d.ts +0 -2
  182. package/cssm/components/status-control/status-control.js +0 -51
  183. package/cssm/components/status-control/status-control.js.map +0 -1
  184. package/cssm/components/status-control/status-control.module.css +0 -40
  185. package/esm/components/status-control/components/status-control-icon/index.d.ts +0 -1
  186. package/esm/components/status-control/components/status-control-icon/index.js +0 -2
  187. package/esm/components/status-control/components/status-control-icon/index.js.map +0 -1
  188. package/esm/components/status-control/components/status-control-icon/status-control-icon.d.ts +0 -2
  189. package/esm/components/status-control/components/status-control-icon/status-control-icon.js.map +0 -1
  190. package/esm/components/status-control/components/status-control-icon/status-control-icon.module.css.js +0 -6
  191. package/esm/components/status-control/components/status-control-icon/status-control-icon.module.css.js.map +0 -1
  192. package/esm/components/status-control/components/status-control-progress-bar/index.d.ts +0 -1
  193. package/esm/components/status-control/components/status-control-progress-bar/index.js +0 -2
  194. package/esm/components/status-control/components/status-control-progress-bar/index.js.map +0 -1
  195. package/esm/components/status-control/components/status-control-progress-bar/status-control-progress-bar.d.ts +0 -6
  196. package/esm/components/status-control/components/status-control-progress-bar/status-control-progress-bar.js +0 -15
  197. package/esm/components/status-control/components/status-control-progress-bar/status-control-progress-bar.js.map +0 -1
  198. package/esm/components/status-control/status-control.css +0 -40
  199. package/esm/components/status-control/status-control.d.ts +0 -2
  200. package/esm/components/status-control/status-control.js +0 -41
  201. package/esm/components/status-control/status-control.js.map +0 -1
  202. package/esm/components/status-control/status-control.module.css.js +0 -6
  203. package/esm/components/status-control/status-control.module.css.js.map +0 -1
  204. package/modern/components/status-control/components/status-control-icon/index.d.ts +0 -1
  205. package/modern/components/status-control/components/status-control-icon/index.js +0 -2
  206. package/modern/components/status-control/components/status-control-icon/index.js.map +0 -1
  207. package/modern/components/status-control/components/status-control-icon/status-control-icon.d.ts +0 -2
  208. package/modern/components/status-control/components/status-control-icon/status-control-icon.js.map +0 -1
  209. package/modern/components/status-control/components/status-control-icon/status-control-icon.module.css.js +0 -6
  210. package/modern/components/status-control/components/status-control-icon/status-control-icon.module.css.js.map +0 -1
  211. package/modern/components/status-control/components/status-control-progress-bar/index.d.ts +0 -1
  212. package/modern/components/status-control/components/status-control-progress-bar/index.js +0 -2
  213. package/modern/components/status-control/components/status-control-progress-bar/index.js.map +0 -1
  214. package/modern/components/status-control/components/status-control-progress-bar/status-control-progress-bar.d.ts +0 -6
  215. package/modern/components/status-control/components/status-control-progress-bar/status-control-progress-bar.js +0 -12
  216. package/modern/components/status-control/components/status-control-progress-bar/status-control-progress-bar.js.map +0 -1
  217. package/modern/components/status-control/status-control.css +0 -40
  218. package/modern/components/status-control/status-control.d.ts +0 -2
  219. package/modern/components/status-control/status-control.js +0 -37
  220. package/modern/components/status-control/status-control.js.map +0 -1
  221. package/modern/components/status-control/status-control.module.css.js +0 -6
  222. package/modern/components/status-control/status-control.module.css.js.map +0 -1
  223. package/moderncssm/components/status-control/components/status-control-icon/index.d.ts +0 -1
  224. package/moderncssm/components/status-control/components/status-control-icon/index.js +0 -2
  225. package/moderncssm/components/status-control/components/status-control-icon/index.js.map +0 -1
  226. package/moderncssm/components/status-control/components/status-control-icon/status-control-icon.d.ts +0 -2
  227. package/moderncssm/components/status-control/components/status-control-icon/status-control-icon.js.map +0 -1
  228. package/moderncssm/components/status-control/components/status-control-progress-bar/index.d.ts +0 -1
  229. package/moderncssm/components/status-control/components/status-control-progress-bar/index.js +0 -2
  230. package/moderncssm/components/status-control/components/status-control-progress-bar/index.js.map +0 -1
  231. package/moderncssm/components/status-control/components/status-control-progress-bar/status-control-progress-bar.d.ts +0 -6
  232. package/moderncssm/components/status-control/components/status-control-progress-bar/status-control-progress-bar.js +0 -12
  233. package/moderncssm/components/status-control/components/status-control-progress-bar/status-control-progress-bar.js.map +0 -1
  234. package/moderncssm/components/status-control/status-control.d.ts +0 -2
  235. package/moderncssm/components/status-control/status-control.js +0 -37
  236. package/moderncssm/components/status-control/status-control.js.map +0 -1
  237. package/moderncssm/components/status-control/status-control.module.css +0 -49
  238. package/src/components/status-control/components/status-control-icon/index.ts +0 -1
  239. package/src/components/status-control/components/status-control-progress-bar/index.ts +0 -1
  240. package/src/components/status-control/components/status-control-progress-bar/status-control-progress-bar.tsx +0 -37
  241. package/src/components/status-control/index.ts +0 -1
  242. package/src/components/status-control/status-control.module.css +0 -48
  243. package/src/components/status-control/status-control.tsx +0 -62
  244. /package/cssm/components/status-control/{components/status-control-icon/status-control-icon.module.css → extension-icon/index.module.css} +0 -0
  245. /package/moderncssm/components/status-control/{components/status-control-icon/status-control-icon.module.css → extension-icon/index.module.css} +0 -0
  246. /package/src/components/status-control/{components/status-control-icon/status-control-icon.module.css → extension-icon/index.module.css} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-control-icon.module.css.js","sources":["../../../../src/components/status-control/components/status-control-icon/status-control-icon.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '@alfalab/core-components-vars/src/colors-decorative.css';\n\n.iconPDFColored {\n fill: var(--color-light-decorative-red);\n}\n\n.iconDOCColored {\n fill: var(--color-light-decorative-blue);\n}\n\n.iconExcelColored {\n fill: var(--color-light-decorative-green);\n}\n\n.icon1CColored {\n fill: var(--color-light-decorative-orange);\n}\n\n.iconDocumentColored {\n fill: var(--color-light-neutral-translucent-1300);\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,gBAAgB,CAAC,wCAAwC,CAAC,gBAAgB,CAAC,wCAAwC,CAAC,kBAAkB,CAAC,0CAA0C,CAAC,eAAe,CAAC,uCAAuC,CAAC,qBAAqB,CAAC,6CAA6C,CAAC;;;;"}
@@ -1 +0,0 @@
1
- export { StatusControlProgressBar } from './status-control-progress-bar';
@@ -1,2 +0,0 @@
1
- export { StatusControlProgressBar } from './status-control-progress-bar.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import { FC } from 'react';
2
- declare type ProgressBarProps = {
3
- className: string;
4
- };
5
- export declare const StatusControlProgressBar: FC<ProgressBarProps>;
6
- export {};
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
-
3
- const StatusControlProgressBar = ({ className }) => (React.createElement("svg", { width: '56', height: '56', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', className: className },
4
- React.createElement("mask", { id: 'b', style: { maskType: 'alpha' }, maskUnits: 'userSpaceOnUse', x: '0', y: '0', width: '56', height: '56' },
5
- React.createElement("mask", { id: 'a', fill: '#fff' },
6
- React.createElement("path", { d: 'M15.855.814C19.13.345 23.178 0 28 0c4.822 0 8.87.345 12.145.814 7.916 1.133 13.908 7.125 15.041 15.041C55.655 19.13 56 23.178 56 28c0 4.822-.345 8.87-.814 12.145-1.133 7.916-7.125 13.908-15.041 15.041C36.87 55.655 32.822 56 28 56c-4.822 0-8.87-.345-12.145-.814C7.94 54.053 1.947 48.061.814 40.145.345 36.87 0 32.822 0 28c0-4.822.345-8.87.814-12.145C1.947 7.94 7.939 1.947 15.855.814Z' })),
7
- React.createElement("path", { d: 'm15.855.814.284 1.98-.284-1.98Zm24.29 0-.284 1.98.284-1.98Zm15.041 15.041-1.98.284 1.98-.284Zm0 24.29-1.98-.284 1.98.284ZM40.145 55.186l-.284-1.98.284 1.98Zm-24.29 0 .284-1.98-.284 1.98ZM.814 40.145l1.98-.284-1.98.284Zm0-24.29-1.98-.283 1.98.283ZM28-2c-4.918 0-9.061.352-12.428.834l.567 3.96C19.319 2.338 23.274 2 28 2v-4Zm12.428.834C37.061-1.648 32.918-2 28-2v4c4.726 0 8.68.338 11.861.794l.567-3.96Zm16.738 16.738C55.907 6.776 49.224.092 40.428-1.166l-.567 3.96C46.9 3.8 52.2 9.102 53.206 16.139l3.96-.567ZM58 28c0-4.918-.352-9.061-.834-12.428l-3.96.567C53.662 19.319 54 23.274 54 28h4Zm-.834 12.428C57.648 37.061 58 32.918 58 28h-4c0 4.726-.338 8.68-.794 11.861l3.96.567ZM40.428 57.166c8.796-1.259 15.48-7.942 16.738-16.738l-3.96-.567C52.2 46.9 46.898 52.2 39.861 53.206l.567 3.96ZM28 58c4.918 0 9.061-.352 12.428-.834l-.567-3.96C36.681 53.662 32.726 54 28 54v4Zm-12.428-.834c3.367.482 7.51.834 12.428.834v-4c-4.726 0-8.68-.338-11.861-.794l-.567 3.96ZM-1.166 40.428c1.259 8.796 7.942 15.48 16.738 16.738l.567-3.96C9.102 52.2 3.8 46.898 2.794 39.861l-3.96.567ZM-2 28c0 4.918.352 9.061.834 12.428l3.96-.567C2.338 36.681 2 32.726 2 28h-4Zm.834-12.428C-1.648 18.939-2 23.082-2 28h4c0-4.726.338-8.68.794-11.861l-3.96-.567ZM15.572-1.166C6.776.093.092 6.776-1.166 15.572l3.96.567C3.8 9.102 9.102 3.8 16.139 2.794l-.567-3.96Z', fill: '#000', mask: 'url(#a)' })),
8
- React.createElement("g", { mask: 'url(#b)' },
9
- React.createElement("circle", { cx: '28', cy: '28', r: '32' }))));
10
-
11
- export { StatusControlProgressBar };
12
- //# sourceMappingURL=status-control-progress-bar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-control-progress-bar.js","sources":["../../../../../src/components/status-control/components/status-control-progress-bar/status-control-progress-bar.tsx"],"sourcesContent":["import React, { FC } from 'react';\n\ntype ProgressBarProps = {\n className: string;\n};\n\nexport const StatusControlProgressBar: FC<ProgressBarProps> = ({ className }) => (\n <svg\n width='56'\n height='56'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n className={className}\n >\n <mask\n id='b'\n style={{ maskType: 'alpha' }}\n maskUnits='userSpaceOnUse'\n x='0'\n y='0'\n width='56'\n height='56'\n >\n <mask id='a' fill='#fff'>\n <path d='M15.855.814C19.13.345 23.178 0 28 0c4.822 0 8.87.345 12.145.814 7.916 1.133 13.908 7.125 15.041 15.041C55.655 19.13 56 23.178 56 28c0 4.822-.345 8.87-.814 12.145-1.133 7.916-7.125 13.908-15.041 15.041C36.87 55.655 32.822 56 28 56c-4.822 0-8.87-.345-12.145-.814C7.94 54.053 1.947 48.061.814 40.145.345 36.87 0 32.822 0 28c0-4.822.345-8.87.814-12.145C1.947 7.94 7.939 1.947 15.855.814Z' />\n </mask>\n <path\n d='m15.855.814.284 1.98-.284-1.98Zm24.29 0-.284 1.98.284-1.98Zm15.041 15.041-1.98.284 1.98-.284Zm0 24.29-1.98-.284 1.98.284ZM40.145 55.186l-.284-1.98.284 1.98Zm-24.29 0 .284-1.98-.284 1.98ZM.814 40.145l1.98-.284-1.98.284Zm0-24.29-1.98-.283 1.98.283ZM28-2c-4.918 0-9.061.352-12.428.834l.567 3.96C19.319 2.338 23.274 2 28 2v-4Zm12.428.834C37.061-1.648 32.918-2 28-2v4c4.726 0 8.68.338 11.861.794l.567-3.96Zm16.738 16.738C55.907 6.776 49.224.092 40.428-1.166l-.567 3.96C46.9 3.8 52.2 9.102 53.206 16.139l3.96-.567ZM58 28c0-4.918-.352-9.061-.834-12.428l-3.96.567C53.662 19.319 54 23.274 54 28h4Zm-.834 12.428C57.648 37.061 58 32.918 58 28h-4c0 4.726-.338 8.68-.794 11.861l3.96.567ZM40.428 57.166c8.796-1.259 15.48-7.942 16.738-16.738l-3.96-.567C52.2 46.9 46.898 52.2 39.861 53.206l.567 3.96ZM28 58c4.918 0 9.061-.352 12.428-.834l-.567-3.96C36.681 53.662 32.726 54 28 54v4Zm-12.428-.834c3.367.482 7.51.834 12.428.834v-4c-4.726 0-8.68-.338-11.861-.794l-.567 3.96ZM-1.166 40.428c1.259 8.796 7.942 15.48 16.738 16.738l.567-3.96C9.102 52.2 3.8 46.898 2.794 39.861l-3.96.567ZM-2 28c0 4.918.352 9.061.834 12.428l3.96-.567C2.338 36.681 2 32.726 2 28h-4Zm.834-12.428C-1.648 18.939-2 23.082-2 28h4c0-4.726.338-8.68.794-11.861l-3.96-.567ZM15.572-1.166C6.776.093.092 6.776-1.166 15.572l3.96.567C3.8 9.102 9.102 3.8 16.139 2.794l-.567-3.96Z'\n fill='#000'\n mask='url(#a)'\n />\n </mask>\n <g mask='url(#b)'>\n <circle cx='28' cy='28' r='32' />\n </g>\n </svg>\n);\n"],"names":[],"mappings":";;AAMO,MAAM,wBAAwB,GAAyB,CAAC,EAAE,SAAS,EAAE,MACxE,6BACI,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAE,SAAS,EAAA;AAEpB,IAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EACI,EAAE,EAAC,GAAG,EACN,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAC5B,SAAS,EAAC,gBAAgB,EAC1B,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,EACL,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EAAA;AAEX,QAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,EAAE,EAAC,GAAG,EAAC,IAAI,EAAC,MAAM,EAAA;AACpB,YAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,iYAAiY,EAAA,CAAG,CACzY;AACP,QAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EACI,CAAC,EAAC,0yCAA0yC,EAC5yC,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,SAAS,EAAA,CAChB,CACC;IACP,KAAG,CAAA,aAAA,CAAA,GAAA,EAAA,EAAA,IAAI,EAAC,SAAS,EAAA;AACb,QAAA,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAA,CAAG,CACjC,CACF;;;;"}
@@ -1,40 +0,0 @@
1
- :root {
2
- --color-light-neutral-500: #babbc2;
3
- --color-light-status-negative: #ff4837;
4
- --color-light-status-positive: #0cc44d;
5
- } :root {
6
- --gap-2xs-neg: -4px;
7
- --gap-4-neg: var(--gap-2xs-neg);
8
- } .file-upload-item__container_tydmd {
9
- position: relative
10
- } .file-upload-item__container_tydmd.file-upload-item__clickable_tydmd {
11
- cursor: pointer;
12
- } .file-upload-item__container_tydmd .file-upload-item__progress_tydmd {
13
- position: absolute;
14
- top: var(--gap-4-neg);
15
- left: var(--gap-4-neg);
16
- z-index: 1;
17
-
18
- width: 56px;
19
- height: 56px;
20
-
21
- -webkit-mask-image: conic-gradient(black 0, transparent 0);
22
-
23
- mask-image: conic-gradient(black 0, transparent 0)
24
- } .file-upload-item__container_tydmd .file-upload-item__progress_tydmd.file-upload-item__uploading_tydmd {
25
- opacity: 1;
26
- } .file-upload-item__container_tydmd .file-upload-item__progress_tydmd.file-upload-item__success_tydmd,
27
- .file-upload-item__container_tydmd .file-upload-item__progress_tydmd.file-upload-item__error_tydmd {
28
- transition: opacity 400ms ease-in;
29
- opacity: 0;
30
- -webkit-mask-image: conic-gradient(black 360deg, transparent 0);
31
- mask-image: conic-gradient(black 360deg, transparent 0);
32
- } .file-upload-item__container_tydmd .file-upload-item__progressBarTransparent_tydmd {
33
- fill: transparent;
34
- } .file-upload-item__container_tydmd .file-upload-item__progressBarUploading_tydmd {
35
- fill: var(--color-light-neutral-500);
36
- } .file-upload-item__container_tydmd .file-upload-item__progressBarSuccess_tydmd {
37
- fill: var(--color-light-status-positive);
38
- } .file-upload-item__container_tydmd .file-upload-item__progressBarError_tydmd {
39
- fill: var(--color-light-status-negative);
40
- }
@@ -1,2 +0,0 @@
1
- import React from 'react';
2
- export declare const StatusControl: () => React.JSX.Element;
@@ -1,37 +0,0 @@
1
- import React, { useContext, useRef } from 'react';
2
- import cn from 'classnames';
3
- import { SuperEllipse } from '@alfalab/core-components-icon-view/modern/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 { isErrorStatus, isSuccessStatus, isUploadingStatus } 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
- import styles from './status-control.module.css.js';
10
-
11
- const StatusControl = () => {
12
- const { uploadStatus = 'INITIAL', progressBar, imageUrl, actionsPresent, isClickable, } = useContext(FileUploadItemContext);
13
- const progressRef = useRef(null);
14
- if (progressRef.current && progressBar) {
15
- progressRef.current.style.maskImage = `conic-gradient(red ${(RADIUS / MAX_PROGRESS_BAR_VALUE) * progressBar}deg, transparent 0)`;
16
- }
17
- const isTransparentProgressBar = () => uploadStatus === 'INITIAL' || uploadStatus === 'UPLOADED' || uploadStatus === 'DELETED';
18
- return (React.createElement("div", { className: cn(styles.container, {
19
- [styles.clickable]: !actionsPresent && isClickable,
20
- }) },
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 };
37
- //# sourceMappingURL=status-control.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-control.js","sources":["../../../src/components/status-control/status-control.tsx"],"sourcesContent":["import React, { useContext, useRef } from 'react';\nimport cn from 'classnames';\n\nimport { SuperEllipse } from '@alfalab/core-components-icon-view/super-ellipse';\n\nimport { MAX_PROGRESS_BAR_VALUE, RADIUS } from '../../const/progress-bar';\nimport { FileUploadItemContext } from '../../context/file-upload-item-context';\nimport { isErrorStatus, isSuccessStatus, isUploadingStatus } from '../../utils';\n\nimport { StatusControlIcon } from './components/status-control-icon';\nimport { StatusControlProgressBar } from './components/status-control-progress-bar';\n\nimport styles from './status-control.module.css';\n\nexport const StatusControl = () => {\n const {\n uploadStatus = 'INITIAL',\n progressBar,\n imageUrl,\n actionsPresent,\n isClickable,\n } = useContext(FileUploadItemContext);\n const progressRef = useRef<HTMLDivElement>(null);\n\n if (progressRef.current && progressBar) {\n progressRef.current.style.maskImage = `conic-gradient(red ${\n (RADIUS / MAX_PROGRESS_BAR_VALUE) * progressBar\n }deg, transparent 0)`;\n }\n\n const isTransparentProgressBar = () =>\n uploadStatus === 'INITIAL' || uploadStatus === 'UPLOADED' || uploadStatus === 'DELETED';\n\n return (\n <div\n className={cn(styles.container, {\n [styles.clickable]: !actionsPresent && isClickable,\n })}\n >\n <SuperEllipse size={48} {...(imageUrl && { imageUrl })}>\n <StatusControlIcon />\n </SuperEllipse>\n <div\n ref={progressRef}\n className={cn(styles.progress, {\n [styles.uploading]: isUploadingStatus(uploadStatus),\n [styles.success]: isSuccessStatus(uploadStatus),\n [styles.error]: isErrorStatus(uploadStatus),\n })}\n >\n <StatusControlProgressBar\n className={cn({\n [styles.progressBarTransparent]: isTransparentProgressBar(),\n [styles.progressBarUploading]: uploadStatus === 'UPLOADING',\n [styles.progressBarSuccess]: uploadStatus === 'SUCCESS',\n [styles.progressBarError]: uploadStatus === 'ERROR',\n })}\n />\n </div>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;AAcO,MAAM,aAAa,GAAG,MAAK;AAC9B,IAAA,MAAM,EACF,YAAY,GAAG,SAAS,EACxB,WAAW,EACX,QAAQ,EACR,cAAc,EACd,WAAW,GACd,GAAG,UAAU,CAAC,qBAAqB,CAAC;AACrC,IAAA,MAAM,WAAW,GAAG,MAAM,CAAiB,IAAI,CAAC;AAEhD,IAAA,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,EAAE;AACpC,QAAA,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,mBAAA,EAClC,CAAC,MAAM,GAAG,sBAAsB,IAAI,WACxC,qBAAqB;AACxB;AAED,IAAA,MAAM,wBAAwB,GAAG,MAC7B,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,SAAS;IAE3F,QACI,6BACI,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;YAC5B,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,cAAc,IAAI,WAAW;SACrD,CAAC,EAAA;AAEF,QAAA,KAAA,CAAA,aAAA,CAAC,YAAY,EAAA,EAAC,IAAI,EAAE,EAAE,EAAA,IAAO,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAA;YAClD,KAAC,CAAA,aAAA,CAAA,iBAAiB,OAAG,CACV;QACf,KACI,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC3B,CAAC,MAAM,CAAC,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC;gBACnD,CAAC,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC;gBAC/C,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC;aAC9C,CAAC,EAAA;AAEF,YAAA,KAAA,CAAA,aAAA,CAAC,wBAAwB,EAAA,EACrB,SAAS,EAAE,EAAE,CAAC;AACV,oBAAA,CAAC,MAAM,CAAC,sBAAsB,GAAG,wBAAwB,EAAE;AAC3D,oBAAA,CAAC,MAAM,CAAC,oBAAoB,GAAG,YAAY,KAAK,WAAW;AAC3D,oBAAA,CAAC,MAAM,CAAC,kBAAkB,GAAG,YAAY,KAAK,SAAS;AACvD,oBAAA,CAAC,MAAM,CAAC,gBAAgB,GAAG,YAAY,KAAK,OAAO;AACtD,iBAAA,CAAC,EACJ,CAAA,CACA,CACJ;AAEd;;;;"}
@@ -1,6 +0,0 @@
1
- import './status-control.css';
2
-
3
- const styles = {"container":"file-upload-item__container_tydmd","clickable":"file-upload-item__clickable_tydmd","progress":"file-upload-item__progress_tydmd","uploading":"file-upload-item__uploading_tydmd","success":"file-upload-item__success_tydmd","error":"file-upload-item__error_tydmd","progressBarTransparent":"file-upload-item__progressBarTransparent_tydmd","progressBarUploading":"file-upload-item__progressBarUploading_tydmd","progressBarSuccess":"file-upload-item__progressBarSuccess_tydmd","progressBarError":"file-upload-item__progressBarError_tydmd"};
4
-
5
- export { styles as default };
6
- //# sourceMappingURL=status-control.module.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-control.module.css.js","sources":["../../src/components/status-control/status-control.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.container {\n position: relative;\n\n &.clickable {\n cursor: pointer;\n }\n\n & .progress {\n position: absolute;\n top: var(--gap-4-neg);\n left: var(--gap-4-neg);\n z-index: 1;\n\n width: 56px;\n height: 56px;\n\n mask-image: conic-gradient(black 0, transparent 0);\n\n &.uploading {\n opacity: 1;\n }\n\n &.success,\n &.error {\n transition: opacity 400ms ease-in;\n opacity: 0;\n mask-image: conic-gradient(black 360deg, transparent 0);\n }\n }\n\n & .progressBarTransparent {\n fill: transparent;\n }\n\n & .progressBarUploading {\n fill: var(--color-light-neutral-500);\n }\n\n & .progressBarSuccess {\n fill: var(--color-light-status-positive);\n }\n\n & .progressBarError {\n fill: var(--color-light-status-negative);\n }\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,WAAW,CAAC,mCAAmC,CAAC,WAAW,CAAC,mCAAmC,CAAC,UAAU,CAAC,kCAAkC,CAAC,WAAW,CAAC,mCAAmC,CAAC,SAAS,CAAC,iCAAiC,CAAC,OAAO,CAAC,+BAA+B,CAAC,wBAAwB,CAAC,gDAAgD,CAAC,sBAAsB,CAAC,8CAA8C,CAAC,oBAAoB,CAAC,4CAA4C,CAAC,kBAAkB,CAAC,0CAA0C,CAAC;;;;"}
@@ -1 +0,0 @@
1
- export { StatusControlIcon } from './status-control-icon';
@@ -1,2 +0,0 @@
1
- export { StatusControlIcon } from './status-control-icon.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import React from 'react';
2
- export declare const StatusControlIcon: () => React.JSX.Element | null;
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-control-icon.js","sources":["../../../../../src/components/status-control/components/status-control-icon/status-control-icon.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport cn from 'classnames';\n\nimport { Document1CMIcon } from '@alfalab/icons-glyph/Document1CMIcon';\nimport { DocumentDocMIcon } from '@alfalab/icons-glyph/DocumentDocMIcon';\nimport { DocumentExcelMIcon } from '@alfalab/icons-glyph/DocumentExcelMIcon';\nimport { DocumentImageMIcon } from '@alfalab/icons-glyph/DocumentImageMIcon';\nimport { DocumentMIcon } from '@alfalab/icons-glyph/DocumentMIcon';\nimport DocumentOffMIcon from '@alfalab/icons-glyph/DocumentOffMIcon';\nimport { DocumentPdfMIcon } from '@alfalab/icons-glyph/DocumentPdfMIcon';\nimport { PaperclipMIcon } from '@alfalab/icons-glyph/PaperclipMIcon';\n\nimport { FileUploadItemContext } from '../../../../context/file-upload-item-context';\nimport { getExtension, isInitialStatus } from '../../../../utils';\n\nimport styles from './status-control-icon.module.css';\n\n/* eslint-disable complexity */\nexport const StatusControlIcon = () => {\n const {\n title = '',\n uploadStatus,\n iconStyle,\n customIcon: CustomIcon,\n imageUrl,\n showRestore,\n } = useContext(FileUploadItemContext);\n\n if (imageUrl) {\n return null;\n }\n\n if (CustomIcon) {\n return <CustomIcon />;\n }\n\n if (isInitialStatus(uploadStatus)) {\n return <PaperclipMIcon />;\n }\n\n if (showRestore) {\n return <DocumentOffMIcon />;\n }\n\n const isColoredIcon = iconStyle === 'colored';\n const fileType = getExtension(title);\n\n switch (fileType) {\n case 'pdf':\n case 'ppt':\n case 'pptx':\n return <DocumentPdfMIcon className={cn({ [styles.iconPDFColored]: isColoredIcon })} />;\n case 'doc':\n case 'docx':\n return <DocumentDocMIcon className={cn({ [styles.iconDOCColored]: isColoredIcon })} />;\n case 'xls':\n case 'xlsx':\n return (\n <DocumentExcelMIcon className={cn({ [styles.iconExcelColored]: isColoredIcon })} />\n );\n case '1c':\n return <Document1CMIcon className={cn({ [styles.icon1CColored]: isColoredIcon })} />;\n case 'png':\n case 'jpg':\n case 'jpeg':\n case 'svg':\n case 'tif':\n case 'tiff':\n return <DocumentImageMIcon />;\n default:\n return (\n <DocumentMIcon className={cn({ [styles.iconDocumentColored]: isColoredIcon })} />\n );\n }\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAiBA;AACO,MAAM,iBAAiB,GAAG,MAAK;IAClC,MAAM,EACF,KAAK,GAAG,EAAE,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EAAE,UAAU,EACtB,QAAQ,EACR,WAAW,GACd,GAAG,UAAU,CAAC,qBAAqB,CAAC;AAErC,IAAA,IAAI,QAAQ,EAAE;AACV,QAAA,OAAO,IAAI;AACd;AAED,IAAA,IAAI,UAAU,EAAE;QACZ,OAAO,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,IAAA,CAAG;AACxB;AAED,IAAA,IAAI,eAAe,CAAC,YAAY,CAAC,EAAE;QAC/B,OAAO,KAAA,CAAA,aAAA,CAAC,cAAc,EAAA,IAAA,CAAG;AAC5B;AAED,IAAA,IAAI,WAAW,EAAE;QACb,OAAO,KAAA,CAAA,aAAA,CAAC,gBAAgB,EAAA,IAAA,CAAG;AAC9B;AAED,IAAA,MAAM,aAAa,GAAG,SAAS,KAAK,SAAS;AAC7C,IAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC;AAEpC,IAAA,QAAQ,QAAQ;AACZ,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,MAAM;AACP,YAAA,OAAO,oBAAC,gBAAgB,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,GAAG,aAAa,EAAE,CAAC,GAAI;AAC1F,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,MAAM;AACP,YAAA,OAAO,oBAAC,gBAAgB,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,GAAG,aAAa,EAAE,CAAC,GAAI;AAC1F,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,MAAM;YACP,QACI,oBAAC,kBAAkB,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,GAAG,aAAa,EAAE,CAAC,EAAA,CAAI;AAE3F,QAAA,KAAK,IAAI;AACL,YAAA,OAAO,oBAAC,eAAe,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,GAAG,aAAa,EAAE,CAAC,GAAI;AACxF,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,MAAM;AACX,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,MAAM;YACP,OAAO,KAAA,CAAA,aAAA,CAAC,kBAAkB,EAAA,IAAA,CAAG;AACjC,QAAA;YACI,QACI,oBAAC,aAAa,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,GAAG,aAAa,EAAE,CAAC,EAAA,CAAI;AAE5F;AACL;;;;"}
@@ -1 +0,0 @@
1
- export { StatusControlProgressBar } from './status-control-progress-bar';
@@ -1,2 +0,0 @@
1
- export { StatusControlProgressBar } from './status-control-progress-bar.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import { FC } from 'react';
2
- declare type ProgressBarProps = {
3
- className: string;
4
- };
5
- export declare const StatusControlProgressBar: FC<ProgressBarProps>;
6
- export {};
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
-
3
- const StatusControlProgressBar = ({ className }) => (React.createElement("svg", { width: '56', height: '56', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', className: className },
4
- React.createElement("mask", { id: 'b', style: { maskType: 'alpha' }, maskUnits: 'userSpaceOnUse', x: '0', y: '0', width: '56', height: '56' },
5
- React.createElement("mask", { id: 'a', fill: '#fff' },
6
- React.createElement("path", { d: 'M15.855.814C19.13.345 23.178 0 28 0c4.822 0 8.87.345 12.145.814 7.916 1.133 13.908 7.125 15.041 15.041C55.655 19.13 56 23.178 56 28c0 4.822-.345 8.87-.814 12.145-1.133 7.916-7.125 13.908-15.041 15.041C36.87 55.655 32.822 56 28 56c-4.822 0-8.87-.345-12.145-.814C7.94 54.053 1.947 48.061.814 40.145.345 36.87 0 32.822 0 28c0-4.822.345-8.87.814-12.145C1.947 7.94 7.939 1.947 15.855.814Z' })),
7
- React.createElement("path", { d: 'm15.855.814.284 1.98-.284-1.98Zm24.29 0-.284 1.98.284-1.98Zm15.041 15.041-1.98.284 1.98-.284Zm0 24.29-1.98-.284 1.98.284ZM40.145 55.186l-.284-1.98.284 1.98Zm-24.29 0 .284-1.98-.284 1.98ZM.814 40.145l1.98-.284-1.98.284Zm0-24.29-1.98-.283 1.98.283ZM28-2c-4.918 0-9.061.352-12.428.834l.567 3.96C19.319 2.338 23.274 2 28 2v-4Zm12.428.834C37.061-1.648 32.918-2 28-2v4c4.726 0 8.68.338 11.861.794l.567-3.96Zm16.738 16.738C55.907 6.776 49.224.092 40.428-1.166l-.567 3.96C46.9 3.8 52.2 9.102 53.206 16.139l3.96-.567ZM58 28c0-4.918-.352-9.061-.834-12.428l-3.96.567C53.662 19.319 54 23.274 54 28h4Zm-.834 12.428C57.648 37.061 58 32.918 58 28h-4c0 4.726-.338 8.68-.794 11.861l3.96.567ZM40.428 57.166c8.796-1.259 15.48-7.942 16.738-16.738l-3.96-.567C52.2 46.9 46.898 52.2 39.861 53.206l.567 3.96ZM28 58c4.918 0 9.061-.352 12.428-.834l-.567-3.96C36.681 53.662 32.726 54 28 54v4Zm-12.428-.834c3.367.482 7.51.834 12.428.834v-4c-4.726 0-8.68-.338-11.861-.794l-.567 3.96ZM-1.166 40.428c1.259 8.796 7.942 15.48 16.738 16.738l.567-3.96C9.102 52.2 3.8 46.898 2.794 39.861l-3.96.567ZM-2 28c0 4.918.352 9.061.834 12.428l3.96-.567C2.338 36.681 2 32.726 2 28h-4Zm.834-12.428C-1.648 18.939-2 23.082-2 28h4c0-4.726.338-8.68.794-11.861l-3.96-.567ZM15.572-1.166C6.776.093.092 6.776-1.166 15.572l3.96.567C3.8 9.102 9.102 3.8 16.139 2.794l-.567-3.96Z', fill: '#000', mask: 'url(#a)' })),
8
- React.createElement("g", { mask: 'url(#b)' },
9
- React.createElement("circle", { cx: '28', cy: '28', r: '32' }))));
10
-
11
- export { StatusControlProgressBar };
12
- //# sourceMappingURL=status-control-progress-bar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-control-progress-bar.js","sources":["../../../../../src/components/status-control/components/status-control-progress-bar/status-control-progress-bar.tsx"],"sourcesContent":["import React, { FC } from 'react';\n\ntype ProgressBarProps = {\n className: string;\n};\n\nexport const StatusControlProgressBar: FC<ProgressBarProps> = ({ className }) => (\n <svg\n width='56'\n height='56'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n className={className}\n >\n <mask\n id='b'\n style={{ maskType: 'alpha' }}\n maskUnits='userSpaceOnUse'\n x='0'\n y='0'\n width='56'\n height='56'\n >\n <mask id='a' fill='#fff'>\n <path d='M15.855.814C19.13.345 23.178 0 28 0c4.822 0 8.87.345 12.145.814 7.916 1.133 13.908 7.125 15.041 15.041C55.655 19.13 56 23.178 56 28c0 4.822-.345 8.87-.814 12.145-1.133 7.916-7.125 13.908-15.041 15.041C36.87 55.655 32.822 56 28 56c-4.822 0-8.87-.345-12.145-.814C7.94 54.053 1.947 48.061.814 40.145.345 36.87 0 32.822 0 28c0-4.822.345-8.87.814-12.145C1.947 7.94 7.939 1.947 15.855.814Z' />\n </mask>\n <path\n d='m15.855.814.284 1.98-.284-1.98Zm24.29 0-.284 1.98.284-1.98Zm15.041 15.041-1.98.284 1.98-.284Zm0 24.29-1.98-.284 1.98.284ZM40.145 55.186l-.284-1.98.284 1.98Zm-24.29 0 .284-1.98-.284 1.98ZM.814 40.145l1.98-.284-1.98.284Zm0-24.29-1.98-.283 1.98.283ZM28-2c-4.918 0-9.061.352-12.428.834l.567 3.96C19.319 2.338 23.274 2 28 2v-4Zm12.428.834C37.061-1.648 32.918-2 28-2v4c4.726 0 8.68.338 11.861.794l.567-3.96Zm16.738 16.738C55.907 6.776 49.224.092 40.428-1.166l-.567 3.96C46.9 3.8 52.2 9.102 53.206 16.139l3.96-.567ZM58 28c0-4.918-.352-9.061-.834-12.428l-3.96.567C53.662 19.319 54 23.274 54 28h4Zm-.834 12.428C57.648 37.061 58 32.918 58 28h-4c0 4.726-.338 8.68-.794 11.861l3.96.567ZM40.428 57.166c8.796-1.259 15.48-7.942 16.738-16.738l-3.96-.567C52.2 46.9 46.898 52.2 39.861 53.206l.567 3.96ZM28 58c4.918 0 9.061-.352 12.428-.834l-.567-3.96C36.681 53.662 32.726 54 28 54v4Zm-12.428-.834c3.367.482 7.51.834 12.428.834v-4c-4.726 0-8.68-.338-11.861-.794l-.567 3.96ZM-1.166 40.428c1.259 8.796 7.942 15.48 16.738 16.738l.567-3.96C9.102 52.2 3.8 46.898 2.794 39.861l-3.96.567ZM-2 28c0 4.918.352 9.061.834 12.428l3.96-.567C2.338 36.681 2 32.726 2 28h-4Zm.834-12.428C-1.648 18.939-2 23.082-2 28h4c0-4.726.338-8.68.794-11.861l-3.96-.567ZM15.572-1.166C6.776.093.092 6.776-1.166 15.572l3.96.567C3.8 9.102 9.102 3.8 16.139 2.794l-.567-3.96Z'\n fill='#000'\n mask='url(#a)'\n />\n </mask>\n <g mask='url(#b)'>\n <circle cx='28' cy='28' r='32' />\n </g>\n </svg>\n);\n"],"names":[],"mappings":";;AAMO,MAAM,wBAAwB,GAAyB,CAAC,EAAE,SAAS,EAAE,MACxE,6BACI,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAE,SAAS,EAAA;AAEpB,IAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EACI,EAAE,EAAC,GAAG,EACN,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAC5B,SAAS,EAAC,gBAAgB,EAC1B,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,EACL,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EAAA;AAEX,QAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,EAAE,EAAC,GAAG,EAAC,IAAI,EAAC,MAAM,EAAA;AACpB,YAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,iYAAiY,EAAA,CAAG,CACzY;AACP,QAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EACI,CAAC,EAAC,0yCAA0yC,EAC5yC,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,SAAS,EAAA,CAChB,CACC;IACP,KAAG,CAAA,aAAA,CAAA,GAAA,EAAA,EAAA,IAAI,EAAC,SAAS,EAAA;AACb,QAAA,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAA,CAAG,CACjC,CACF;;;;"}
@@ -1,2 +0,0 @@
1
- import React from 'react';
2
- export declare const StatusControl: () => React.JSX.Element;
@@ -1,37 +0,0 @@
1
- import React, { useContext, useRef } from 'react';
2
- import cn from 'classnames';
3
- import { SuperEllipse } from '@alfalab/core-components-icon-view/moderncssm/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 { isErrorStatus, isSuccessStatus, isUploadingStatus } 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
- import styles from './status-control.module.css';
10
-
11
- const StatusControl = () => {
12
- const { uploadStatus = 'INITIAL', progressBar, imageUrl, actionsPresent, isClickable, } = useContext(FileUploadItemContext);
13
- const progressRef = useRef(null);
14
- if (progressRef.current && progressBar) {
15
- progressRef.current.style.maskImage = `conic-gradient(red ${(RADIUS / MAX_PROGRESS_BAR_VALUE) * progressBar}deg, transparent 0)`;
16
- }
17
- const isTransparentProgressBar = () => uploadStatus === 'INITIAL' || uploadStatus === 'UPLOADED' || uploadStatus === 'DELETED';
18
- return (React.createElement("div", { className: cn(styles.container, {
19
- [styles.clickable]: !actionsPresent && isClickable,
20
- }) },
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 };
37
- //# sourceMappingURL=status-control.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-control.js","sources":["../../../src/components/status-control/status-control.tsx"],"sourcesContent":["import React, { useContext, useRef } from 'react';\nimport cn from 'classnames';\n\nimport { SuperEllipse } from '@alfalab/core-components-icon-view/super-ellipse';\n\nimport { MAX_PROGRESS_BAR_VALUE, RADIUS } from '../../const/progress-bar';\nimport { FileUploadItemContext } from '../../context/file-upload-item-context';\nimport { isErrorStatus, isSuccessStatus, isUploadingStatus } from '../../utils';\n\nimport { StatusControlIcon } from './components/status-control-icon';\nimport { StatusControlProgressBar } from './components/status-control-progress-bar';\n\nimport styles from './status-control.module.css';\n\nexport const StatusControl = () => {\n const {\n uploadStatus = 'INITIAL',\n progressBar,\n imageUrl,\n actionsPresent,\n isClickable,\n } = useContext(FileUploadItemContext);\n const progressRef = useRef<HTMLDivElement>(null);\n\n if (progressRef.current && progressBar) {\n progressRef.current.style.maskImage = `conic-gradient(red ${\n (RADIUS / MAX_PROGRESS_BAR_VALUE) * progressBar\n }deg, transparent 0)`;\n }\n\n const isTransparentProgressBar = () =>\n uploadStatus === 'INITIAL' || uploadStatus === 'UPLOADED' || uploadStatus === 'DELETED';\n\n return (\n <div\n className={cn(styles.container, {\n [styles.clickable]: !actionsPresent && isClickable,\n })}\n >\n <SuperEllipse size={48} {...(imageUrl && { imageUrl })}>\n <StatusControlIcon />\n </SuperEllipse>\n <div\n ref={progressRef}\n className={cn(styles.progress, {\n [styles.uploading]: isUploadingStatus(uploadStatus),\n [styles.success]: isSuccessStatus(uploadStatus),\n [styles.error]: isErrorStatus(uploadStatus),\n })}\n >\n <StatusControlProgressBar\n className={cn({\n [styles.progressBarTransparent]: isTransparentProgressBar(),\n [styles.progressBarUploading]: uploadStatus === 'UPLOADING',\n [styles.progressBarSuccess]: uploadStatus === 'SUCCESS',\n [styles.progressBarError]: uploadStatus === 'ERROR',\n })}\n />\n </div>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;AAcO,MAAM,aAAa,GAAG,MAAK;AAC9B,IAAA,MAAM,EACF,YAAY,GAAG,SAAS,EACxB,WAAW,EACX,QAAQ,EACR,cAAc,EACd,WAAW,GACd,GAAG,UAAU,CAAC,qBAAqB,CAAC;AACrC,IAAA,MAAM,WAAW,GAAG,MAAM,CAAiB,IAAI,CAAC;AAEhD,IAAA,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,EAAE;AACpC,QAAA,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,mBAAA,EAClC,CAAC,MAAM,GAAG,sBAAsB,IAAI,WACxC,qBAAqB;AACxB;AAED,IAAA,MAAM,wBAAwB,GAAG,MAC7B,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,SAAS;IAE3F,QACI,6BACI,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;YAC5B,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,cAAc,IAAI,WAAW;SACrD,CAAC,EAAA;AAEF,QAAA,KAAA,CAAA,aAAA,CAAC,YAAY,EAAA,EAAC,IAAI,EAAE,EAAE,EAAA,IAAO,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAA;YAClD,KAAC,CAAA,aAAA,CAAA,iBAAiB,OAAG,CACV;QACf,KACI,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC3B,CAAC,MAAM,CAAC,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC;gBACnD,CAAC,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC;gBAC/C,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC;aAC9C,CAAC,EAAA;AAEF,YAAA,KAAA,CAAA,aAAA,CAAC,wBAAwB,EAAA,EACrB,SAAS,EAAE,EAAE,CAAC;AACV,oBAAA,CAAC,MAAM,CAAC,sBAAsB,GAAG,wBAAwB,EAAE;AAC3D,oBAAA,CAAC,MAAM,CAAC,oBAAoB,GAAG,YAAY,KAAK,WAAW;AAC3D,oBAAA,CAAC,MAAM,CAAC,kBAAkB,GAAG,YAAY,KAAK,SAAS;AACvD,oBAAA,CAAC,MAAM,CAAC,gBAAgB,GAAG,YAAY,KAAK,OAAO;AACtD,iBAAA,CAAC,EACJ,CAAA,CACA,CACJ;AAEd;;;;"}
@@ -1,49 +0,0 @@
1
- .container {
2
- position: relative
3
- }
4
-
5
- .container.clickable {
6
- cursor: pointer;
7
- }
8
-
9
- .container .progress {
10
- position: absolute;
11
- top: var(--gap-4-neg);
12
- left: var(--gap-4-neg);
13
- z-index: 1;
14
-
15
- width: 56px;
16
- height: 56px;
17
-
18
- -webkit-mask-image: conic-gradient(black 0, transparent 0);
19
-
20
- mask-image: conic-gradient(black 0, transparent 0)
21
- }
22
-
23
- .container .progress.uploading {
24
- opacity: 1;
25
- }
26
-
27
- .container .progress.success,
28
- .container .progress.error {
29
- transition: opacity 400ms ease-in;
30
- opacity: 0;
31
- -webkit-mask-image: conic-gradient(black 360deg, transparent 0);
32
- mask-image: conic-gradient(black 360deg, transparent 0);
33
- }
34
-
35
- .container .progressBarTransparent {
36
- fill: transparent;
37
- }
38
-
39
- .container .progressBarUploading {
40
- fill: var(--color-light-neutral-500);
41
- }
42
-
43
- .container .progressBarSuccess {
44
- fill: var(--color-light-status-positive);
45
- }
46
-
47
- .container .progressBarError {
48
- fill: var(--color-light-status-negative);
49
- }
@@ -1 +0,0 @@
1
- export { StatusControlIcon } from './status-control-icon';
@@ -1 +0,0 @@
1
- export { StatusControlProgressBar } from './status-control-progress-bar';
@@ -1,37 +0,0 @@
1
- import React, { FC } from 'react';
2
-
3
- type ProgressBarProps = {
4
- className: string;
5
- };
6
-
7
- export const StatusControlProgressBar: FC<ProgressBarProps> = ({ className }) => (
8
- <svg
9
- width='56'
10
- height='56'
11
- fill='none'
12
- xmlns='http://www.w3.org/2000/svg'
13
- className={className}
14
- >
15
- <mask
16
- id='b'
17
- style={{ maskType: 'alpha' }}
18
- maskUnits='userSpaceOnUse'
19
- x='0'
20
- y='0'
21
- width='56'
22
- height='56'
23
- >
24
- <mask id='a' fill='#fff'>
25
- <path d='M15.855.814C19.13.345 23.178 0 28 0c4.822 0 8.87.345 12.145.814 7.916 1.133 13.908 7.125 15.041 15.041C55.655 19.13 56 23.178 56 28c0 4.822-.345 8.87-.814 12.145-1.133 7.916-7.125 13.908-15.041 15.041C36.87 55.655 32.822 56 28 56c-4.822 0-8.87-.345-12.145-.814C7.94 54.053 1.947 48.061.814 40.145.345 36.87 0 32.822 0 28c0-4.822.345-8.87.814-12.145C1.947 7.94 7.939 1.947 15.855.814Z' />
26
- </mask>
27
- <path
28
- d='m15.855.814.284 1.98-.284-1.98Zm24.29 0-.284 1.98.284-1.98Zm15.041 15.041-1.98.284 1.98-.284Zm0 24.29-1.98-.284 1.98.284ZM40.145 55.186l-.284-1.98.284 1.98Zm-24.29 0 .284-1.98-.284 1.98ZM.814 40.145l1.98-.284-1.98.284Zm0-24.29-1.98-.283 1.98.283ZM28-2c-4.918 0-9.061.352-12.428.834l.567 3.96C19.319 2.338 23.274 2 28 2v-4Zm12.428.834C37.061-1.648 32.918-2 28-2v4c4.726 0 8.68.338 11.861.794l.567-3.96Zm16.738 16.738C55.907 6.776 49.224.092 40.428-1.166l-.567 3.96C46.9 3.8 52.2 9.102 53.206 16.139l3.96-.567ZM58 28c0-4.918-.352-9.061-.834-12.428l-3.96.567C53.662 19.319 54 23.274 54 28h4Zm-.834 12.428C57.648 37.061 58 32.918 58 28h-4c0 4.726-.338 8.68-.794 11.861l3.96.567ZM40.428 57.166c8.796-1.259 15.48-7.942 16.738-16.738l-3.96-.567C52.2 46.9 46.898 52.2 39.861 53.206l.567 3.96ZM28 58c4.918 0 9.061-.352 12.428-.834l-.567-3.96C36.681 53.662 32.726 54 28 54v4Zm-12.428-.834c3.367.482 7.51.834 12.428.834v-4c-4.726 0-8.68-.338-11.861-.794l-.567 3.96ZM-1.166 40.428c1.259 8.796 7.942 15.48 16.738 16.738l.567-3.96C9.102 52.2 3.8 46.898 2.794 39.861l-3.96.567ZM-2 28c0 4.918.352 9.061.834 12.428l3.96-.567C2.338 36.681 2 32.726 2 28h-4Zm.834-12.428C-1.648 18.939-2 23.082-2 28h4c0-4.726.338-8.68.794-11.861l-3.96-.567ZM15.572-1.166C6.776.093.092 6.776-1.166 15.572l3.96.567C3.8 9.102 9.102 3.8 16.139 2.794l-.567-3.96Z'
29
- fill='#000'
30
- mask='url(#a)'
31
- />
32
- </mask>
33
- <g mask='url(#b)'>
34
- <circle cx='28' cy='28' r='32' />
35
- </g>
36
- </svg>
37
- );
@@ -1 +0,0 @@
1
- export { StatusControl } from './status-control';
@@ -1,48 +0,0 @@
1
- @import '@alfalab/core-components-vars/src/index.css';
2
-
3
- .container {
4
- position: relative;
5
-
6
- &.clickable {
7
- cursor: pointer;
8
- }
9
-
10
- & .progress {
11
- position: absolute;
12
- top: var(--gap-4-neg);
13
- left: var(--gap-4-neg);
14
- z-index: 1;
15
-
16
- width: 56px;
17
- height: 56px;
18
-
19
- mask-image: conic-gradient(black 0, transparent 0);
20
-
21
- &.uploading {
22
- opacity: 1;
23
- }
24
-
25
- &.success,
26
- &.error {
27
- transition: opacity 400ms ease-in;
28
- opacity: 0;
29
- mask-image: conic-gradient(black 360deg, transparent 0);
30
- }
31
- }
32
-
33
- & .progressBarTransparent {
34
- fill: transparent;
35
- }
36
-
37
- & .progressBarUploading {
38
- fill: var(--color-light-neutral-500);
39
- }
40
-
41
- & .progressBarSuccess {
42
- fill: var(--color-light-status-positive);
43
- }
44
-
45
- & .progressBarError {
46
- fill: var(--color-light-status-negative);
47
- }
48
- }
@@ -1,62 +0,0 @@
1
- import React, { useContext, useRef } from 'react';
2
- import cn from 'classnames';
3
-
4
- import { SuperEllipse } from '@alfalab/core-components-icon-view/super-ellipse';
5
-
6
- import { MAX_PROGRESS_BAR_VALUE, RADIUS } from '../../const/progress-bar';
7
- import { FileUploadItemContext } from '../../context/file-upload-item-context';
8
- import { isErrorStatus, isSuccessStatus, isUploadingStatus } from '../../utils';
9
-
10
- import { StatusControlIcon } from './components/status-control-icon';
11
- import { StatusControlProgressBar } from './components/status-control-progress-bar';
12
-
13
- import styles from './status-control.module.css';
14
-
15
- export const StatusControl = () => {
16
- const {
17
- uploadStatus = 'INITIAL',
18
- progressBar,
19
- imageUrl,
20
- actionsPresent,
21
- isClickable,
22
- } = useContext(FileUploadItemContext);
23
- const progressRef = useRef<HTMLDivElement>(null);
24
-
25
- if (progressRef.current && progressBar) {
26
- progressRef.current.style.maskImage = `conic-gradient(red ${
27
- (RADIUS / MAX_PROGRESS_BAR_VALUE) * progressBar
28
- }deg, transparent 0)`;
29
- }
30
-
31
- const isTransparentProgressBar = () =>
32
- uploadStatus === 'INITIAL' || uploadStatus === 'UPLOADED' || uploadStatus === 'DELETED';
33
-
34
- return (
35
- <div
36
- className={cn(styles.container, {
37
- [styles.clickable]: !actionsPresent && isClickable,
38
- })}
39
- >
40
- <SuperEllipse size={48} {...(imageUrl && { imageUrl })}>
41
- <StatusControlIcon />
42
- </SuperEllipse>
43
- <div
44
- ref={progressRef}
45
- className={cn(styles.progress, {
46
- [styles.uploading]: isUploadingStatus(uploadStatus),
47
- [styles.success]: isSuccessStatus(uploadStatus),
48
- [styles.error]: isErrorStatus(uploadStatus),
49
- })}
50
- >
51
- <StatusControlProgressBar
52
- className={cn({
53
- [styles.progressBarTransparent]: isTransparentProgressBar(),
54
- [styles.progressBarUploading]: uploadStatus === 'UPLOADING',
55
- [styles.progressBarSuccess]: uploadStatus === 'SUCCESS',
56
- [styles.progressBarError]: uploadStatus === 'ERROR',
57
- })}
58
- />
59
- </div>
60
- </div>
61
- );
62
- };