@skbkontur/react-ui 4.0.0-beta.2 → 4.0.0-beta.3

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 (449) hide show
  1. package/cjs/components/Button/Button.d.ts +1 -1
  2. package/cjs/components/Button/Button.js +4 -3
  3. package/cjs/components/Button/Button.js.map +1 -1
  4. package/cjs/components/Button/Button.styles.d.ts +1 -0
  5. package/cjs/components/Button/Button.styles.js +41 -31
  6. package/cjs/components/Button/Button.styles.js.map +1 -1
  7. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +2 -2
  8. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  9. package/cjs/components/FileUploader/FileUploader.d.ts +31 -0
  10. package/cjs/components/FileUploader/FileUploader.js +266 -0
  11. package/cjs/components/FileUploader/FileUploader.js.map +1 -0
  12. package/cjs/components/FileUploader/FileUploader.md +67 -0
  13. package/cjs/components/FileUploader/FileUploader.styles.d.ts +20 -0
  14. package/cjs/components/FileUploader/FileUploader.styles.js +161 -0
  15. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -0
  16. package/cjs/components/FileUploader/index.d.ts +4 -0
  17. package/cjs/components/FileUploader/index.js +4 -0
  18. package/cjs/components/FileUploader/index.js.map +1 -0
  19. package/cjs/components/FileUploader/locale/index.d.ts +4 -0
  20. package/cjs/components/FileUploader/locale/index.js +11 -0
  21. package/cjs/components/FileUploader/locale/index.js.map +1 -0
  22. package/cjs/components/FileUploader/locale/locales/en.d.ts +2 -0
  23. package/cjs/components/FileUploader/locale/locales/en.js +7 -0
  24. package/cjs/components/FileUploader/locale/locales/en.js.map +1 -0
  25. package/cjs/components/FileUploader/locale/locales/ru.d.ts +2 -0
  26. package/cjs/components/FileUploader/locale/locales/ru.js +7 -0
  27. package/cjs/components/FileUploader/locale/locales/ru.js.map +1 -0
  28. package/cjs/components/FileUploader/locale/types.d.ts +6 -0
  29. package/cjs/components/FileUploader/locale/types.js +1 -0
  30. package/cjs/components/FileUploader/locale/types.js.map +1 -0
  31. package/cjs/components/GlobalLoader/GlabalLoaderView.d.ts +8 -0
  32. package/cjs/components/GlobalLoader/GlabalLoaderView.js +44 -0
  33. package/cjs/components/GlobalLoader/GlabalLoaderView.js.map +1 -0
  34. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +102 -0
  35. package/cjs/components/GlobalLoader/GlobalLoader.js +260 -0
  36. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -0
  37. package/cjs/components/GlobalLoader/GlobalLoader.md +92 -0
  38. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.d.ts +13 -0
  39. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +130 -0
  40. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -0
  41. package/cjs/components/GlobalLoader/index.d.ts +1 -0
  42. package/cjs/components/GlobalLoader/index.js +1 -0
  43. package/cjs/components/GlobalLoader/index.js.map +1 -0
  44. package/cjs/components/Hint/Hint.d.ts +2 -1
  45. package/cjs/components/Hint/Hint.js +0 -16
  46. package/cjs/components/Hint/Hint.js.map +1 -1
  47. package/cjs/components/Kebab/Kebab.d.ts +2 -2
  48. package/cjs/components/Kebab/Kebab.js.map +1 -1
  49. package/cjs/components/Link/Link.js +1 -1
  50. package/cjs/components/Link/Link.js.map +1 -1
  51. package/cjs/components/Link/Link.styles.d.ts +1 -1
  52. package/cjs/components/Link/Link.styles.js +3 -3
  53. package/cjs/components/Link/Link.styles.js.map +1 -1
  54. package/cjs/components/MenuItem/MenuItem.d.ts +1 -1
  55. package/cjs/components/MenuItem/MenuItem.js +1 -4
  56. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  57. package/cjs/components/Modal/Modal.styles.d.ts +1 -0
  58. package/cjs/components/Modal/Modal.styles.js +16 -8
  59. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  60. package/cjs/components/Modal/ModalFooter.js +1 -0
  61. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  62. package/cjs/components/SidePage/SidePage.styles.d.ts +1 -0
  63. package/cjs/components/SidePage/SidePage.styles.js +14 -6
  64. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  65. package/cjs/components/SidePage/SidePageFooter.js +2 -1
  66. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  67. package/cjs/components/Spinner/Spinner.d.ts +8 -0
  68. package/cjs/components/Spinner/Spinner.js +22 -3
  69. package/cjs/components/Spinner/Spinner.js.map +1 -1
  70. package/cjs/components/Spinner/Spinner.md +1 -0
  71. package/cjs/components/Spinner/Spinner.styles.d.ts +2 -1
  72. package/cjs/components/Spinner/Spinner.styles.js +14 -11
  73. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  74. package/cjs/components/Switcher/Switcher.styles.js +4 -2
  75. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  76. package/cjs/components/Tooltip/Tooltip.d.ts +8 -21
  77. package/cjs/components/Tooltip/Tooltip.js +15 -28
  78. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  79. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +2 -2
  80. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  81. package/cjs/hooks/useDrop.d.ts +11 -0
  82. package/cjs/hooks/useDrop.js +75 -0
  83. package/cjs/hooks/useDrop.js.map +1 -0
  84. package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -0
  85. package/cjs/hooks/useEffectWithoutInitCall.js +13 -0
  86. package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -0
  87. package/cjs/hooks/useMemoObject.d.ts +1 -0
  88. package/cjs/hooks/useMemoObject.js +5 -0
  89. package/cjs/hooks/useMemoObject.js.map +1 -0
  90. package/cjs/index.d.ts +2 -0
  91. package/cjs/index.js +3 -1
  92. package/cjs/index.js.map +1 -1
  93. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
  94. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +16 -0
  95. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +1 -0
  96. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  97. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +106 -0
  98. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -0
  99. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +10 -0
  100. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +183 -0
  101. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -0
  102. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  103. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +68 -0
  104. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +1 -0
  105. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +4 -0
  106. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +24 -0
  107. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  108. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +4 -0
  109. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +17 -0
  110. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -0
  111. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  112. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +16 -0
  113. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +1 -0
  114. package/cjs/internal/FileUploaderControl/fileUtils.d.ts +14 -0
  115. package/cjs/internal/FileUploaderControl/fileUtils.js +26 -0
  116. package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -0
  117. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  118. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +4 -0
  119. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +1 -0
  120. package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  121. package/cjs/internal/FileUploaderControl/hooks/useUpload.js +51 -0
  122. package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +1 -0
  123. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  124. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +19 -0
  125. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -0
  126. package/cjs/internal/Popup/Popup.d.ts +5 -4
  127. package/cjs/internal/Popup/Popup.js +13 -24
  128. package/cjs/internal/Popup/Popup.js.map +1 -1
  129. package/cjs/internal/Popup/PopupHelper.d.ts +2 -2
  130. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  131. package/cjs/internal/Popup/types.d.ts +1 -0
  132. package/cjs/internal/Popup/types.js +1 -0
  133. package/cjs/internal/Popup/types.js.map +1 -0
  134. package/cjs/internal/PopupMenu/PopupMenu.d.ts +3 -3
  135. package/cjs/internal/PopupMenu/PopupMenu.js +18 -4
  136. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  137. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  138. package/cjs/internal/PopupMenu/validatePositions.js +2 -4
  139. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  140. package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  141. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +34 -0
  142. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -0
  143. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  144. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +23 -0
  145. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -0
  146. package/cjs/internal/ThemePlayground/Playground.d.ts +1 -0
  147. package/cjs/internal/ThemePlayground/Playground.js +11 -4
  148. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  149. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +0 -2
  150. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +2 -8
  151. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  152. package/cjs/internal/ThemePlayground/constants.d.ts +1 -2
  153. package/cjs/internal/ThemePlayground/constants.js +3 -3
  154. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  155. package/cjs/internal/ThemePlayground/darkTheme.d.ts +14 -0
  156. package/cjs/internal/ThemePlayground/darkTheme.js +14 -0
  157. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  158. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +9 -6
  159. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  160. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +4 -2
  161. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js +37 -22
  162. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js.map +1 -1
  163. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  164. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +1 -0
  165. package/cjs/internal/ZIndex/ZIndexStorage.js +1 -0
  166. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  167. package/cjs/internal/icons/16px/index.d.ts +3 -0
  168. package/cjs/internal/icons/16px/index.js +44 -2
  169. package/cjs/internal/icons/16px/index.js.map +1 -1
  170. package/cjs/internal/icons/SpinnerIcon.d.ts +4 -1
  171. package/cjs/internal/icons/SpinnerIcon.js +5 -2
  172. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  173. package/cjs/internal/themes/DarkTheme.d.ts +34 -0
  174. package/cjs/internal/themes/DarkTheme.js +55 -3
  175. package/cjs/internal/themes/DarkTheme.js.map +1 -1
  176. package/cjs/internal/themes/DefaultTheme.d.ts +39 -3
  177. package/cjs/internal/themes/DefaultTheme.js +76 -15
  178. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  179. package/cjs/internal/themes/OldColors.d.ts +6 -0
  180. package/cjs/internal/themes/OldColors.js +35 -17
  181. package/cjs/internal/themes/OldColors.js.map +1 -1
  182. package/cjs/lib/ModalStack.js +16 -17
  183. package/cjs/lib/ModalStack.js.map +1 -1
  184. package/cjs/lib/locale/types.d.ts +2 -0
  185. package/cjs/lib/locale/types.js +2 -0
  186. package/cjs/lib/locale/types.js.map +1 -1
  187. package/cjs/lib/locale/useLocaleForControl.d.ts +3 -0
  188. package/cjs/lib/locale/useLocaleForControl.js +14 -0
  189. package/cjs/lib/locale/useLocaleForControl.js.map +1 -0
  190. package/cjs/lib/stringUtils.d.ts +1 -0
  191. package/cjs/lib/stringUtils.js +13 -0
  192. package/cjs/lib/stringUtils.js.map +1 -0
  193. package/cjs/lib/theming/AnimationKeyframes.js +1 -1
  194. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  195. package/cjs/lib/theming/useTheme.d.ts +1 -0
  196. package/cjs/lib/theming/useTheme.js +7 -0
  197. package/cjs/lib/theming/useTheme.js.map +1 -0
  198. package/cjs/lib/uidUtils.d.ts +1 -0
  199. package/cjs/lib/uidUtils.js +5 -0
  200. package/cjs/lib/uidUtils.js.map +1 -0
  201. package/cjs/lib/utils.d.ts +33 -0
  202. package/cjs/lib/utils.js +81 -3
  203. package/cjs/lib/utils.js.map +1 -1
  204. package/cjs/typings/html-props.d.ts +123 -0
  205. package/components/Button/Button/Button.js +3 -7
  206. package/components/Button/Button/Button.js.map +1 -1
  207. package/components/Button/Button.d.ts +1 -1
  208. package/components/Button/Button.styles/Button.styles.js +34 -31
  209. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  210. package/components/Button/Button.styles.d.ts +1 -0
  211. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  212. package/components/DropdownMenu/DropdownMenu.d.ts +2 -2
  213. package/components/FileUploader/FileUploader/FileUploader.js +258 -0
  214. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -0
  215. package/components/FileUploader/FileUploader/package.json +6 -0
  216. package/components/FileUploader/FileUploader.d.ts +31 -0
  217. package/components/FileUploader/FileUploader.md +67 -0
  218. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +59 -0
  219. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -0
  220. package/components/FileUploader/FileUploader.styles/package.json +6 -0
  221. package/components/FileUploader/FileUploader.styles.d.ts +20 -0
  222. package/components/FileUploader/index/index.js +3 -0
  223. package/components/FileUploader/index/index.js.map +1 -0
  224. package/components/FileUploader/index/package.json +6 -0
  225. package/components/FileUploader/index.d.ts +4 -0
  226. package/components/FileUploader/locale/index/index.js +8 -0
  227. package/components/FileUploader/locale/index/index.js.map +1 -0
  228. package/components/FileUploader/locale/index/package.json +6 -0
  229. package/components/FileUploader/locale/index.d.ts +4 -0
  230. package/components/FileUploader/locale/locales/en/en.js +6 -0
  231. package/components/FileUploader/locale/locales/en/en.js.map +1 -0
  232. package/components/FileUploader/locale/locales/en/package.json +6 -0
  233. package/components/FileUploader/locale/locales/en.d.ts +2 -0
  234. package/components/FileUploader/locale/locales/ru/package.json +6 -0
  235. package/components/FileUploader/locale/locales/ru/ru.js +6 -0
  236. package/components/FileUploader/locale/locales/ru/ru.js.map +1 -0
  237. package/components/FileUploader/locale/locales/ru.d.ts +2 -0
  238. package/components/FileUploader/locale/package.json +6 -0
  239. package/components/FileUploader/locale/types/package.json +6 -0
  240. package/components/FileUploader/locale/types/types.js +1 -0
  241. package/components/FileUploader/locale/types/types.js.map +1 -0
  242. package/components/FileUploader/locale/types.d.ts +6 -0
  243. package/components/FileUploader/package.json +6 -0
  244. package/components/GlobalLoader/GlabalLoaderView/GlabalLoaderView.js +30 -0
  245. package/components/GlobalLoader/GlabalLoaderView/GlabalLoaderView.js.map +1 -0
  246. package/components/GlobalLoader/GlabalLoaderView/package.json +6 -0
  247. package/components/GlobalLoader/GlabalLoaderView.d.ts +8 -0
  248. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +225 -0
  249. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -0
  250. package/components/GlobalLoader/GlobalLoader/package.json +6 -0
  251. package/components/GlobalLoader/GlobalLoader.d.ts +102 -0
  252. package/components/GlobalLoader/GlobalLoader.md +92 -0
  253. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js +40 -0
  254. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js.map +1 -0
  255. package/components/GlobalLoader/GlobalLoaderView.styles/package.json +6 -0
  256. package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +13 -0
  257. package/components/GlobalLoader/index/index.js +1 -0
  258. package/components/GlobalLoader/index/index.js.map +1 -0
  259. package/components/GlobalLoader/index/package.json +6 -0
  260. package/components/GlobalLoader/index.d.ts +1 -0
  261. package/components/GlobalLoader/package.json +6 -0
  262. package/components/Hint/Hint/Hint.js.map +1 -1
  263. package/components/Hint/Hint.d.ts +2 -1
  264. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  265. package/components/Kebab/Kebab.d.ts +2 -2
  266. package/components/Link/Link/Link.js +1 -1
  267. package/components/Link/Link/Link.js.map +1 -1
  268. package/components/Link/Link.styles/Link.styles.js +2 -2
  269. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  270. package/components/Link/Link.styles.d.ts +1 -1
  271. package/components/MenuItem/MenuItem/MenuItem.js +2 -7
  272. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  273. package/components/MenuItem/MenuItem.d.ts +1 -1
  274. package/components/Modal/Modal.styles/Modal.styles.js +11 -8
  275. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  276. package/components/Modal/Modal.styles.d.ts +1 -0
  277. package/components/Modal/ModalFooter/ModalFooter.js +1 -1
  278. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  279. package/components/SidePage/SidePage.styles/SidePage.styles.js +9 -6
  280. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  281. package/components/SidePage/SidePage.styles.d.ts +1 -0
  282. package/components/SidePage/SidePageFooter/SidePageFooter.js +1 -1
  283. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  284. package/components/Spinner/Spinner/Spinner.js +5 -2
  285. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  286. package/components/Spinner/Spinner.d.ts +8 -0
  287. package/components/Spinner/Spinner.md +1 -0
  288. package/components/Spinner/Spinner.styles/Spinner.styles.js +13 -10
  289. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  290. package/components/Spinner/Spinner.styles.d.ts +2 -1
  291. package/components/Switcher/Switcher.styles/Switcher.styles.js +3 -1
  292. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  293. package/components/Tooltip/Tooltip/Tooltip.js +3 -3
  294. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  295. package/components/Tooltip/Tooltip.d.ts +8 -21
  296. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  297. package/components/TooltipMenu/TooltipMenu.d.ts +2 -2
  298. package/hooks/useDrop/package.json +6 -0
  299. package/hooks/useDrop/useDrop.js +57 -0
  300. package/hooks/useDrop/useDrop.js.map +1 -0
  301. package/hooks/useDrop.d.ts +11 -0
  302. package/hooks/useEffectWithoutInitCall/package.json +6 -0
  303. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +11 -0
  304. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -0
  305. package/hooks/useEffectWithoutInitCall.d.ts +2 -0
  306. package/hooks/useMemoObject/package.json +6 -0
  307. package/hooks/useMemoObject/useMemoObject.js +6 -0
  308. package/hooks/useMemoObject/useMemoObject.js.map +1 -0
  309. package/hooks/useMemoObject.d.ts +1 -0
  310. package/index.d.ts +2 -0
  311. package/index.js +3 -1
  312. package/index.js.map +1 -1
  313. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +2 -0
  314. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +1 -0
  315. package/internal/FileUploaderControl/FileUploaderControlContext/package.json +6 -0
  316. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
  317. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +85 -0
  318. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -0
  319. package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +6 -0
  320. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  321. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +177 -0
  322. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -0
  323. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +6 -0
  324. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +10 -0
  325. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +32 -0
  326. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +1 -0
  327. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +6 -0
  328. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  329. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +23 -0
  330. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  331. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +6 -0
  332. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +4 -0
  333. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +11 -0
  334. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +1 -0
  335. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +6 -0
  336. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +4 -0
  337. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +16 -0
  338. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +1 -0
  339. package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +6 -0
  340. package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  341. package/internal/FileUploaderControl/fileUtils/fileUtils.js +19 -0
  342. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -0
  343. package/internal/FileUploaderControl/fileUtils/package.json +6 -0
  344. package/internal/FileUploaderControl/fileUtils.d.ts +14 -0
  345. package/internal/FileUploaderControl/hooks/useControlLocale/package.json +6 -0
  346. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +5 -0
  347. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +1 -0
  348. package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  349. package/internal/FileUploaderControl/hooks/useUpload/package.json +6 -0
  350. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +56 -0
  351. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +1 -0
  352. package/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  353. package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +6 -0
  354. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +17 -0
  355. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -0
  356. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  357. package/internal/Popup/Popup/Popup.js +3 -2
  358. package/internal/Popup/Popup/Popup.js.map +1 -1
  359. package/internal/Popup/Popup.d.ts +5 -4
  360. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  361. package/internal/Popup/PopupHelper.d.ts +2 -2
  362. package/internal/Popup/types/package.json +6 -0
  363. package/internal/Popup/types/types.js +1 -0
  364. package/internal/Popup/types/types.js.map +1 -0
  365. package/internal/Popup/types.d.ts +1 -0
  366. package/internal/PopupMenu/PopupMenu/PopupMenu.js +4 -4
  367. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  368. package/internal/PopupMenu/PopupMenu.d.ts +3 -3
  369. package/internal/PopupMenu/validatePositions/validatePositions.js +2 -2
  370. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  371. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  372. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +51 -0
  373. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -0
  374. package/internal/TextWidthHelper/TextWidthHelper/package.json +6 -0
  375. package/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  376. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +14 -0
  377. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +1 -0
  378. package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +6 -0
  379. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  380. package/internal/ThemePlayground/Playground/Playground.js +13 -8
  381. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  382. package/internal/ThemePlayground/Playground.d.ts +1 -0
  383. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +0 -6
  384. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  385. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +0 -2
  386. package/internal/ThemePlayground/constants/constants.js +3 -1
  387. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  388. package/internal/ThemePlayground/constants.d.ts +1 -2
  389. package/internal/ThemePlayground/darkTheme/darkTheme.js +14 -0
  390. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  391. package/internal/ThemePlayground/darkTheme.d.ts +14 -0
  392. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +7 -5
  393. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  394. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js +26 -20
  395. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js.map +1 -1
  396. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +4 -2
  397. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  398. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +1 -0
  399. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  400. package/internal/ZIndex/ZIndexStorage.d.ts +1 -0
  401. package/internal/icons/16px/index/index.js +42 -0
  402. package/internal/icons/16px/index/index.js.map +1 -1
  403. package/internal/icons/16px/index.d.ts +3 -0
  404. package/internal/icons/SpinnerIcon/SpinnerIcon.js +5 -2
  405. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  406. package/internal/icons/SpinnerIcon.d.ts +4 -1
  407. package/internal/themes/DarkTheme/DarkTheme.js +65 -3
  408. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
  409. package/internal/themes/DarkTheme.d.ts +34 -0
  410. package/internal/themes/DefaultTheme/DefaultTheme.js +104 -20
  411. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  412. package/internal/themes/DefaultTheme.d.ts +39 -3
  413. package/internal/themes/OldColors/OldColors.js +31 -19
  414. package/internal/themes/OldColors/OldColors.js.map +1 -1
  415. package/internal/themes/OldColors.d.ts +6 -0
  416. package/lib/ModalStack/ModalStack.js +9 -13
  417. package/lib/ModalStack/ModalStack.js.map +1 -1
  418. package/lib/locale/types/types.js.map +1 -1
  419. package/lib/locale/types.d.ts +2 -0
  420. package/lib/locale/useLocaleForControl/package.json +6 -0
  421. package/lib/locale/useLocaleForControl/useLocaleForControl.js +12 -0
  422. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -0
  423. package/lib/locale/useLocaleForControl.d.ts +3 -0
  424. package/lib/stringUtils/package.json +6 -0
  425. package/lib/stringUtils/stringUtils.js +12 -0
  426. package/lib/stringUtils/stringUtils.js.map +1 -0
  427. package/lib/stringUtils.d.ts +1 -0
  428. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +1 -1
  429. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  430. package/lib/theming/useTheme/package.json +6 -0
  431. package/lib/theming/useTheme/useTheme.js +5 -0
  432. package/lib/theming/useTheme/useTheme.js.map +1 -0
  433. package/lib/theming/useTheme.d.ts +1 -0
  434. package/lib/uidUtils/package.json +6 -0
  435. package/lib/uidUtils/uidUtils.js +4 -0
  436. package/lib/uidUtils/uidUtils.js.map +1 -0
  437. package/lib/uidUtils.d.ts +1 -0
  438. package/lib/utils/utils.js +84 -0
  439. package/lib/utils/utils.js.map +1 -1
  440. package/lib/utils.d.ts +33 -0
  441. package/package.json +4 -1
  442. package/typings/html-props.d.ts +123 -0
  443. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  444. package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
  445. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
  446. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
  447. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
  448. package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
  449. package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
@@ -0,0 +1,85 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import React, { useCallback, useState } from 'react';
3
+ import { useMemoObject } from "../../../hooks/useMemoObject";
4
+ import { useEffectWithoutInitCall } from "../../../hooks/useEffectWithoutInitCall";
5
+ import { FileUploaderFileStatus } from "../fileUtils";
6
+ import { FileUploaderControlContext } from "../FileUploaderControlContext";
7
+ import { FileUploaderFileValidationResult } from "../FileUploaderFileValidationResult";
8
+ import { useControlLocale } from "../hooks/useControlLocale";
9
+
10
+ var updateFile = function updateFile(files, fileId, getFileUpdatedProps) {
11
+ var fileIndex = files.findIndex(function (file) {
12
+ return file.id === fileId;
13
+ });
14
+ if (fileIndex === -1) return files;
15
+ var newFiles = [].concat(files);
16
+ var file = files[fileIndex];
17
+ var updatedProps = getFileUpdatedProps(file);
18
+ newFiles[fileIndex] = _extends({}, file, updatedProps);
19
+ return newFiles;
20
+ };
21
+
22
+ export var FileUploaderControlProvider = function FileUploaderControlProvider(props) {
23
+ var children = props.children,
24
+ onValueChange = props.onValueChange,
25
+ onRemove = props.onRemove,
26
+ onAttach = props.onAttach;
27
+
28
+ var _useState = useState([]),
29
+ files = _useState[0],
30
+ setFiles = _useState[1];
31
+
32
+ var locale = useControlLocale();
33
+ useEffectWithoutInitCall(function () {
34
+ onValueChange == null ? void 0 : onValueChange(files);
35
+ }, [files]);
36
+ var setFileStatus = useCallback(function (fileId, status) {
37
+ setFiles(function (files) {
38
+ return updateFile(files, fileId, function (file) {
39
+ return {
40
+ status: status,
41
+ validationResult: status === FileUploaderFileStatus.Error ? FileUploaderFileValidationResult.error(locale.requestErrorText) : file.validationResult
42
+ };
43
+ });
44
+ });
45
+ }, [locale]);
46
+ var handleExternalSetFiles = useCallback(function (files) {
47
+ onAttach == null ? void 0 : onAttach(files);
48
+ setFiles(function (state) {
49
+ return [].concat(state, files);
50
+ });
51
+ }, [onAttach]);
52
+ var removeFile = useCallback(function (fileId) {
53
+ onRemove == null ? void 0 : onRemove(fileId);
54
+ setFiles(function (state) {
55
+ return state.filter(function (file) {
56
+ return file.id !== fileId;
57
+ });
58
+ });
59
+ }, [onRemove]);
60
+ var setFileValidationResult = useCallback(function (fileId, validationResult) {
61
+ setFiles(function (files) {
62
+ return updateFile(files, fileId, function () {
63
+ return {
64
+ validationResult: validationResult
65
+ };
66
+ });
67
+ });
68
+ }, []);
69
+ var reset = React.useCallback(function () {
70
+ setFiles(function () {
71
+ return [];
72
+ });
73
+ }, []);
74
+ return /*#__PURE__*/React.createElement(FileUploaderControlContext.Provider, {
75
+ value: useMemoObject({
76
+ setFileStatus: setFileStatus,
77
+ files: files,
78
+ setFiles: handleExternalSetFiles,
79
+ removeFile: removeFile,
80
+ setFileValidationResult: setFileValidationResult,
81
+ reset: reset
82
+ })
83
+ }, children);
84
+ };
85
+ FileUploaderControlProvider.displayName = 'FileUploaderControlProvider';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FileUploaderControlProvider.tsx"],"names":["React","useCallback","useState","useMemoObject","useEffectWithoutInitCall","FileUploaderFileStatus","FileUploaderControlContext","FileUploaderFileValidationResult","useControlLocale","updateFile","files","fileId","getFileUpdatedProps","fileIndex","findIndex","file","id","newFiles","updatedProps","FileUploaderControlProvider","props","children","onValueChange","onRemove","onAttach","setFiles","locale","setFileStatus","status","validationResult","Error","error","requestErrorText","handleExternalSetFiles","state","removeFile","filter","setFileValidationResult","reset","displayName"],"mappings":"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","sourcesContent":["import React, { PropsWithChildren, useCallback, useState } from 'react';\n\nimport { useMemoObject } from '../../hooks/useMemoObject';\nimport { useEffectWithoutInitCall } from '../../hooks/useEffectWithoutInitCall';\n\nimport { FileUploaderAttachedFile, FileUploaderFileStatus } from './fileUtils';\nimport { FileUploaderControlContext } from './FileUploaderControlContext';\nimport { FileUploaderFileValidationResult } from './FileUploaderFileValidationResult';\nimport { useControlLocale } from './hooks/useControlLocale';\n\nexport interface FileUploaderControlProviderProps {\n /** Срабатывает при выборе файлов */\n onAttach?: (files: FileUploaderAttachedFile[]) => void;\n /** Срабатывает при удалении файла из контрола */\n onRemove?: (fileId: string) => void;\n /** Срабатывает при onAttach, onRemove и других изменениях файлов. В files передает текущее состояние всего списка файлов */\n onValueChange?: (files: FileUploaderAttachedFile[]) => void;\n}\n\nconst updateFile = (\n files: FileUploaderAttachedFile[],\n fileId: string,\n getFileUpdatedProps: (file: FileUploaderAttachedFile) => Partial<FileUploaderAttachedFile>,\n): FileUploaderAttachedFile[] => {\n const fileIndex = files.findIndex((file) => file.id === fileId);\n if (fileIndex === -1) return files;\n\n const newFiles = [...files];\n const file = files[fileIndex];\n\n const updatedProps = getFileUpdatedProps(file);\n\n newFiles[fileIndex] = {\n ...file,\n ...updatedProps,\n };\n\n return newFiles;\n};\n\nexport const FileUploaderControlProvider = (props: PropsWithChildren<FileUploaderControlProviderProps>) => {\n const { children, onValueChange, onRemove, onAttach } = props;\n\n const [files, setFiles] = useState<FileUploaderAttachedFile[]>([]);\n const locale = useControlLocale();\n\n useEffectWithoutInitCall(() => {\n onValueChange?.(files);\n }, [files]);\n\n const setFileStatus = useCallback(\n (fileId: string, status: FileUploaderFileStatus) => {\n setFiles((files) =>\n updateFile(files, fileId, (file) => ({\n status,\n validationResult:\n status === FileUploaderFileStatus.Error\n ? FileUploaderFileValidationResult.error(locale.requestErrorText)\n : file.validationResult,\n })),\n );\n },\n [locale],\n );\n\n const handleExternalSetFiles = useCallback(\n (files: FileUploaderAttachedFile[]) => {\n onAttach?.(files);\n setFiles((state) => [...state, ...files]);\n },\n [onAttach],\n );\n\n const removeFile = useCallback(\n (fileId: string) => {\n onRemove?.(fileId);\n setFiles((state) => state.filter((file) => file.id !== fileId));\n },\n [onRemove],\n );\n\n const setFileValidationResult = useCallback((fileId: string, validationResult: FileUploaderFileValidationResult) => {\n setFiles((files) => updateFile(files, fileId, () => ({ validationResult })));\n }, []);\n\n const reset = React.useCallback(() => {\n setFiles(() => [] as FileUploaderAttachedFile[]);\n }, []);\n\n return (\n <FileUploaderControlContext.Provider\n value={useMemoObject({\n setFileStatus,\n files,\n setFiles: handleExternalSetFiles,\n removeFile,\n setFileValidationResult,\n reset,\n })}\n >\n {children}\n </FileUploaderControlContext.Provider>\n );\n};\n\nFileUploaderControlProvider.displayName = 'FileUploaderControlProvider';\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../cjs/internal/FileUploaderControl/FileUploaderControlProvider.js",
3
+ "module": "FileUploaderControlProvider",
4
+ "types": "../FileUploaderControlProvider.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,14 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { FileUploaderAttachedFile } from './fileUtils';
3
+ export interface FileUploaderControlProviderProps {
4
+ /** Срабатывает при выборе файлов */
5
+ onAttach?: (files: FileUploaderAttachedFile[]) => void;
6
+ /** Срабатывает при удалении файла из контрола */
7
+ onRemove?: (fileId: string) => void;
8
+ /** Срабатывает при onAttach, onRemove и других изменениях файлов. В files передает текущее состояние всего списка файлов */
9
+ onValueChange?: (files: FileUploaderAttachedFile[]) => void;
10
+ }
11
+ export declare const FileUploaderControlProvider: {
12
+ (props: PropsWithChildren<FileUploaderControlProviderProps>): JSX.Element;
13
+ displayName: string;
14
+ };
@@ -0,0 +1,177 @@
1
+ import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
2
+ import { FileUploaderFileStatus } from "../../fileUtils";
3
+ import { formatBytes } from "../../../../lib/utils";
4
+ import { TextWidthHelper } from "../../../../internal/TextWidthHelper/TextWidthHelper";
5
+ import { truncate } from "../../../../lib/stringUtils";
6
+ import { Spinner } from "../../../../components/Spinner";
7
+ import { FileUploaderControlContext } from "../../FileUploaderControlContext";
8
+ import { Tooltip } from "../../../../components/Tooltip";
9
+ import { cx } from "../../../../lib/theming/Emotion";
10
+ import { ThemeContext } from "../../../../lib/theming/ThemeContext";
11
+ import { DeleteIcon, ErrorIcon, OkIcon } from "../../../icons/16px";
12
+ import { keyListener } from "../../../../lib/events/keyListener";
13
+ import { isKeyEnter } from "../../../../lib/events/keyboard/identifiers";
14
+ import { Hint } from "../../../../components/Hint";
15
+ import { jsStyles } from "../FileUploaderFile.styles";
16
+
17
+ var getTruncatedName = function getTruncatedName(fileNameWidth, fileNameElementWidth, name) {
18
+ if (!fileNameWidth && !fileNameElementWidth) {
19
+ return null;
20
+ }
21
+
22
+ if (fileNameWidth <= fileNameElementWidth) {
23
+ return name;
24
+ }
25
+
26
+ var charWidth = Math.ceil(fileNameWidth / name.length);
27
+ var maxCharsCountInSpan = Math.ceil(fileNameElementWidth / charWidth);
28
+ return truncate(name, maxCharsCountInSpan);
29
+ };
30
+
31
+ export var FileUploaderFile = function FileUploaderFile(props) {
32
+ var _cx, _cx2;
33
+
34
+ var file = props.file,
35
+ showSize = props.showSize;
36
+ var id = file.id,
37
+ originalFile = file.originalFile,
38
+ status = file.status,
39
+ validationResult = file.validationResult;
40
+ var name = originalFile.name,
41
+ size = originalFile.size;
42
+
43
+ var _useState = useState(false),
44
+ hovered = _useState[0],
45
+ setHovered = _useState[1];
46
+
47
+ var _useState2 = useState(false),
48
+ focusedByTab = _useState2[0],
49
+ setFocusedByTab = _useState2[1];
50
+
51
+ var _useState3 = useState(null),
52
+ truncatedFileName = _useState3[0],
53
+ setTruncatedFileName = _useState3[1];
54
+
55
+ var textHelperRef = useRef(null);
56
+ var fileNameElementRef = useRef(null);
57
+
58
+ var _useContext = useContext(FileUploaderControlContext),
59
+ removeFile = _useContext.removeFile;
60
+
61
+ var theme = useContext(ThemeContext);
62
+ var formattedSize = useMemo(function () {
63
+ return formatBytes(size, 1);
64
+ }, [size]); // важно запустить после рендера, чтобы успели проставиться рефы
65
+
66
+ useEffect(function () {
67
+ var _textHelperRef$curren, _fileNameElementRef$c;
68
+
69
+ var fileNameWidth = ((_textHelperRef$curren = textHelperRef.current) == null ? void 0 : _textHelperRef$curren.getTextWidth()) || 0;
70
+ var fileNameElementWidth = ((_fileNameElementRef$c = fileNameElementRef.current) == null ? void 0 : _fileNameElementRef$c.getBoundingClientRect().width) || 0;
71
+ var truncatedName = getTruncatedName(fileNameWidth, fileNameElementWidth, name);
72
+ setTruncatedFileName(truncatedName);
73
+ }, [name]);
74
+ var removeUploadFile = useCallback(function () {
75
+ removeFile(id);
76
+ }, [removeFile, id]);
77
+ var handleRemove = useCallback(function (event) {
78
+ event.preventDefault();
79
+ event.stopPropagation();
80
+ removeUploadFile();
81
+ }, [removeUploadFile]);
82
+ var isValid = validationResult.isValid,
83
+ message = validationResult.message;
84
+ var icon = useMemo(function () {
85
+ var deleteIcon = /*#__PURE__*/React.createElement(DeleteIcon, {
86
+ className: jsStyles.deleteIcon(theme)
87
+ });
88
+
89
+ if (hovered || focusedByTab) {
90
+ return deleteIcon;
91
+ }
92
+
93
+ switch (status) {
94
+ case FileUploaderFileStatus.Loading:
95
+ return /*#__PURE__*/React.createElement(Spinner, {
96
+ type: "mini",
97
+ dimmed: true,
98
+ caption: ""
99
+ });
100
+
101
+ case FileUploaderFileStatus.Uploaded:
102
+ return /*#__PURE__*/React.createElement(OkIcon, {
103
+ color: theme.fileUploaderIconColor
104
+ });
105
+
106
+ default:
107
+ if (!isValid) {
108
+ return /*#__PURE__*/React.createElement(ErrorIcon, null);
109
+ }
110
+
111
+ return deleteIcon;
112
+ }
113
+ }, [hovered, status, isValid, theme, focusedByTab]);
114
+ var renderTooltipContent = useCallback(function () {
115
+ return isValid ? null : message;
116
+ }, [isValid, message]);
117
+ var contentClassNames = cx(jsStyles.content(), (_cx = {}, _cx[jsStyles.error(theme)] = !isValid, _cx));
118
+ var handleMouseEnter = useCallback(function () {
119
+ setHovered(true);
120
+ }, []);
121
+ var handleMouseLeave = useCallback(function () {
122
+ setHovered(false);
123
+ }, []);
124
+ var handleFocus = useCallback(function () {
125
+ // focus event fires before keyDown eventlistener
126
+ // so we should check tabPressed in async way
127
+ requestAnimationFrame(function () {
128
+ if (keyListener.isTabPressed) {
129
+ setFocusedByTab(true);
130
+ }
131
+ });
132
+ }, []);
133
+ var handleBlur = useCallback(function () {
134
+ setFocusedByTab(false);
135
+ }, []);
136
+ var handleIconKeyDown = useCallback(function (e) {
137
+ if (isKeyEnter(e)) {
138
+ removeUploadFile();
139
+ }
140
+ }, [removeUploadFile]);
141
+ var iconClassNames = cx(jsStyles.icon(theme), (_cx2 = {}, _cx2[jsStyles.focusedIcon(theme)] = focusedByTab, _cx2));
142
+ var isTruncated = truncatedFileName !== name;
143
+ return /*#__PURE__*/React.createElement("div", {
144
+ "data-tid": "FileUploader__file",
145
+ className: jsStyles.root(),
146
+ onMouseEnter: handleMouseEnter,
147
+ onMouseLeave: handleMouseLeave
148
+ }, /*#__PURE__*/React.createElement(Tooltip, {
149
+ "data-tid": "FileUploader__fileTooltip",
150
+ pos: "right middle",
151
+ render: renderTooltipContent
152
+ }, /*#__PURE__*/React.createElement("div", {
153
+ className: contentClassNames
154
+ }, /*#__PURE__*/React.createElement(TextWidthHelper, {
155
+ ref: textHelperRef,
156
+ text: name
157
+ }), /*#__PURE__*/React.createElement(Hint, {
158
+ maxWidth: '100%',
159
+ text: isTruncated ? name : null
160
+ }, /*#__PURE__*/React.createElement("span", {
161
+ "data-tid": "FileUploader__fileName",
162
+ ref: fileNameElementRef,
163
+ className: jsStyles.name()
164
+ }, truncatedFileName)), !!showSize && formattedSize && /*#__PURE__*/React.createElement("span", {
165
+ "data-tid": "FileUploader__fileSize",
166
+ className: jsStyles.size()
167
+ }, formattedSize), /*#__PURE__*/React.createElement("div", {
168
+ className: iconClassNames,
169
+ "data-tid": "FileUploader__fileIcon",
170
+ tabIndex: 0,
171
+ onClick: handleRemove,
172
+ onFocus: handleFocus,
173
+ onBlur: handleBlur,
174
+ onKeyDown: handleIconKeyDown
175
+ }, icon))));
176
+ };
177
+ FileUploaderFile.displayName = 'FileUploaderFile';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FileUploaderFile.tsx"],"names":["React","useCallback","useContext","useEffect","useMemo","useRef","useState","FileUploaderFileStatus","formatBytes","TextWidthHelper","truncate","Spinner","FileUploaderControlContext","Tooltip","cx","ThemeContext","DeleteIcon","ErrorIcon","OkIcon","keyListener","isKeyEnter","Hint","jsStyles","getTruncatedName","fileNameWidth","fileNameElementWidth","name","charWidth","Math","ceil","length","maxCharsCountInSpan","FileUploaderFile","props","file","showSize","id","originalFile","status","validationResult","size","hovered","setHovered","focusedByTab","setFocusedByTab","truncatedFileName","setTruncatedFileName","textHelperRef","fileNameElementRef","removeFile","theme","formattedSize","current","getTextWidth","getBoundingClientRect","width","truncatedName","removeUploadFile","handleRemove","event","preventDefault","stopPropagation","isValid","message","icon","deleteIcon","Loading","Uploaded","fileUploaderIconColor","renderTooltipContent","contentClassNames","content","error","handleMouseEnter","handleMouseLeave","handleFocus","requestAnimationFrame","isTabPressed","handleBlur","handleIconKeyDown","e","iconClassNames","focusedIcon","isTruncated","root","displayName"],"mappings":"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","sourcesContent":["import React, { ReactNode, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { FileUploaderAttachedFile, FileUploaderFileStatus } from '../fileUtils';\nimport { formatBytes } from '../../../lib/utils';\nimport { TextWidthHelper } from '../../../internal/TextWidthHelper/TextWidthHelper';\nimport { truncate } from '../../../lib/stringUtils';\nimport { Spinner } from '../../../components/Spinner';\nimport { FileUploaderControlContext } from '../FileUploaderControlContext';\nimport { Tooltip } from '../../../components/Tooltip';\nimport { cx } from '../../../lib/theming/Emotion';\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\nimport { DeleteIcon, ErrorIcon, OkIcon } from '../../icons/16px';\nimport { keyListener } from '../../../lib/events/keyListener';\nimport { isKeyEnter } from '../../../lib/events/keyboard/identifiers';\nimport { Nullable } from '../../../typings/utility-types';\nimport { Hint } from '../../../components/Hint';\n\nimport { jsStyles } from './FileUploaderFile.styles';\n\ninterface FileUploaderFileProps {\n file: FileUploaderAttachedFile;\n showSize?: boolean;\n}\n\nconst getTruncatedName = (fileNameWidth: number, fileNameElementWidth: number, name: string) => {\n if (!fileNameWidth && !fileNameElementWidth) {\n return null;\n }\n\n if (fileNameWidth <= fileNameElementWidth) {\n return name;\n }\n\n const charWidth = Math.ceil(fileNameWidth / name.length);\n const maxCharsCountInSpan = Math.ceil(fileNameElementWidth / charWidth);\n\n return truncate(name, maxCharsCountInSpan);\n};\n\nexport const FileUploaderFile = (props: FileUploaderFileProps) => {\n const { file, showSize } = props;\n const { id, originalFile, status, validationResult } = file;\n const { name, size } = originalFile;\n\n const [hovered, setHovered] = useState<boolean>(false);\n const [focusedByTab, setFocusedByTab] = useState(false);\n const [truncatedFileName, setTruncatedFileName] = useState<Nullable<string>>(null);\n\n const textHelperRef = useRef<TextWidthHelper>(null);\n const fileNameElementRef = useRef<HTMLSpanElement>(null);\n\n const { removeFile } = useContext(FileUploaderControlContext);\n const theme = useContext(ThemeContext);\n\n const formattedSize = useMemo(() => formatBytes(size, 1), [size]);\n\n // важно запустить после рендера, чтобы успели проставиться рефы\n useEffect(() => {\n const fileNameWidth = textHelperRef.current?.getTextWidth() || 0;\n const fileNameElementWidth = fileNameElementRef.current?.getBoundingClientRect().width || 0;\n const truncatedName = getTruncatedName(fileNameWidth, fileNameElementWidth, name);\n\n setTruncatedFileName(truncatedName);\n }, [name]);\n\n const removeUploadFile = useCallback(() => {\n removeFile(id);\n }, [removeFile, id]);\n\n const handleRemove = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n event.preventDefault();\n event.stopPropagation();\n removeUploadFile();\n },\n [removeUploadFile],\n );\n\n const { isValid, message } = validationResult;\n\n const icon: ReactNode = useMemo(() => {\n const deleteIcon = <DeleteIcon className={jsStyles.deleteIcon(theme)} />;\n\n if (hovered || focusedByTab) {\n return deleteIcon;\n }\n\n switch (status) {\n case FileUploaderFileStatus.Loading:\n return <Spinner type=\"mini\" dimmed caption=\"\" />;\n case FileUploaderFileStatus.Uploaded:\n return <OkIcon color={theme.fileUploaderIconColor} />;\n default:\n if (!isValid) {\n return <ErrorIcon />;\n }\n return deleteIcon;\n }\n }, [hovered, status, isValid, theme, focusedByTab]);\n\n const renderTooltipContent = useCallback((): ReactNode => {\n return isValid ? null : message;\n }, [isValid, message]);\n\n const contentClassNames = cx(jsStyles.content(), {\n [jsStyles.error(theme)]: !isValid,\n });\n\n const handleMouseEnter = useCallback(() => {\n setHovered(true);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setHovered(false);\n }, []);\n\n const handleFocus = useCallback(() => {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n setFocusedByTab(true);\n }\n });\n }, []);\n\n const handleBlur = useCallback(() => {\n setFocusedByTab(false);\n }, []);\n\n const handleIconKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n if (isKeyEnter(e)) {\n removeUploadFile();\n }\n },\n [removeUploadFile],\n );\n\n const iconClassNames = cx(jsStyles.icon(theme), {\n [jsStyles.focusedIcon(theme)]: focusedByTab,\n });\n\n const isTruncated = truncatedFileName !== name;\n\n return (\n <div\n data-tid=\"FileUploader__file\"\n className={jsStyles.root()}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <Tooltip data-tid=\"FileUploader__fileTooltip\" pos=\"right middle\" render={renderTooltipContent}>\n <div className={contentClassNames}>\n <TextWidthHelper ref={textHelperRef} text={name} />\n <Hint maxWidth={'100%'} text={isTruncated ? name : null}>\n <span data-tid=\"FileUploader__fileName\" ref={fileNameElementRef} className={jsStyles.name()}>\n {truncatedFileName}\n </span>\n </Hint>\n {!!showSize && formattedSize && (\n <span data-tid=\"FileUploader__fileSize\" className={jsStyles.size()}>\n {formattedSize}\n </span>\n )}\n <div\n className={iconClassNames}\n data-tid=\"FileUploader__fileIcon\"\n tabIndex={0}\n onClick={handleRemove}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleIconKeyDown}\n >\n {icon}\n </div>\n </div>\n </Tooltip>\n </div>\n );\n};\n\nFileUploaderFile.displayName = 'FileUploaderFile';\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js",
3
+ "module": "FileUploaderFile",
4
+ "types": "../FileUploaderFile.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,10 @@
1
+ import { FileUploaderAttachedFile } from '../fileUtils';
2
+ interface FileUploaderFileProps {
3
+ file: FileUploaderAttachedFile;
4
+ showSize?: boolean;
5
+ }
6
+ export declare const FileUploaderFile: {
7
+ (props: FileUploaderFileProps): JSX.Element;
8
+ displayName: string;
9
+ };
10
+ export {};
@@ -0,0 +1,32 @@
1
+ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
+
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
4
+
5
+ import { css, memoizeStyle } from "../../../../lib/theming/Emotion";
6
+ var styles = {
7
+ root: function root() {
8
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n width: 100%;\n "])));
9
+ },
10
+ content: function content() {
11
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n display: flex;\n width: 100%;\n align-items: center;\n position: relative;\n "])));
12
+ },
13
+ error: function error(t) {
14
+ return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n color: ", ";\n "])), t.fileUploaderBorderColorError);
15
+ },
16
+ name: function name() {
17
+ return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n flex: 1 1 100%;\n overflow: hidden;\n "])));
18
+ },
19
+ size: function size() {
20
+ return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n margin-left: 28px;\n flex: 1 0 auto;\n "])));
21
+ },
22
+ icon: function icon(t) {
23
+ return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n width: 16px;\n margin-left: 23px;\n flex: 1 0 auto;\n cursor: pointer;\n font-size: ", ";\n text-align: right;\n outline: none;\n "])), t.fileUploaderIconSize);
24
+ },
25
+ deleteIcon: function deleteIcon(t) {
26
+ return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n color: ", ";\n &:hover {\n color: ", ";\n }\n "])), t.fileUploaderIconColor, t.fileUploaderIconHoverColor);
27
+ },
28
+ focusedIcon: function focusedIcon(t) {
29
+ return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n outline: 1px solid ", ";\n "])), t.borderColorFocus);
30
+ }
31
+ };
32
+ export var jsStyles = memoizeStyle(styles);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FileUploaderFile.styles.ts"],"names":["css","memoizeStyle","styles","root","content","error","t","fileUploaderBorderColorError","name","size","icon","fileUploaderIconSize","deleteIcon","fileUploaderIconColor","fileUploaderIconHoverColor","focusedIcon","borderColorFocus","jsStyles"],"mappings":"kPAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,8BAAlC;;;AAGA,IAAMC,MAAM,GAAG;AACbC,EAAAA,IADa,kBACN;AACL,WAAOH,GAAP;;;AAGD,GALY;;AAObI,EAAAA,OAPa,qBAOH;AACR,WAAOJ,GAAP;;;;;;AAMD,GAdY;;AAgBbK,EAAAA,KAhBa,iBAgBPC,CAhBO,EAgBG;AACd,WAAON,GAAP;AACWM,IAAAA,CAAC,CAACC,4BADb;;AAGD,GApBY;;AAsBbC,EAAAA,IAtBa,kBAsBN;AACL,WAAOR,GAAP;;;;AAID,GA3BY;;AA6BbS,EAAAA,IA7Ba,kBA6BN;AACL,WAAOT,GAAP;;;;AAID,GAlCY;;AAoCbU,EAAAA,IApCa,gBAoCRJ,CApCQ,EAoCE;AACb,WAAON,GAAP;;;;;AAKeM,IAAAA,CAAC,CAACK,oBALjB;;;;AASD,GA9CY;;AAgDbC,EAAAA,UAhDa,sBAgDFN,CAhDE,EAgDQ;AACnB,WAAON,GAAP;AACWM,IAAAA,CAAC,CAACO,qBADb;;AAGaP,IAAAA,CAAC,CAACQ,0BAHf;;;AAMD,GAvDY;;AAyDbC,EAAAA,WAzDa,uBAyDDT,CAzDC,EAyDS;AACpB,WAAON,GAAP;AACuBM,IAAAA,CAAC,CAACU,gBADzB;;AAGD,GA7DY,EAAf;;;AAgEA,OAAO,IAAMC,QAAQ,GAAGhB,YAAY,CAACC,MAAD,CAA7B","sourcesContent":["import { css, memoizeStyle } from '../../../lib/theming/Emotion';\nimport { Theme } from '../../../lib/theming/Theme';\n\nconst styles = {\n root() {\n return css`\n width: 100%;\n `;\n },\n\n content() {\n return css`\n display: flex;\n width: 100%;\n align-items: center;\n position: relative;\n `;\n },\n\n error(t: Theme) {\n return css`\n color: ${t.fileUploaderBorderColorError};\n `;\n },\n\n name() {\n return css`\n flex: 1 1 100%;\n overflow: hidden;\n `;\n },\n\n size() {\n return css`\n margin-left: 28px;\n flex: 1 0 auto;\n `;\n },\n\n icon(t: Theme) {\n return css`\n width: 16px;\n margin-left: 23px;\n flex: 1 0 auto;\n cursor: pointer;\n font-size: ${t.fileUploaderIconSize};\n text-align: right;\n outline: none;\n `;\n },\n\n deleteIcon(t: Theme) {\n return css`\n color: ${t.fileUploaderIconColor};\n &:hover {\n color: ${t.fileUploaderIconHoverColor};\n }\n `;\n },\n\n focusedIcon(t: Theme) {\n return css`\n outline: 1px solid ${t.borderColorFocus};\n `;\n },\n};\n\nexport const jsStyles = memoizeStyle(styles);\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js",
3
+ "module": "FileUploaderFile.styles",
4
+ "types": "../FileUploaderFile.styles.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,11 @@
1
+ import { Theme } from '../../../lib/theming/Theme';
2
+ export declare const jsStyles: {
3
+ root(): string;
4
+ content(): string;
5
+ error(t: Theme): string;
6
+ name(): string;
7
+ size(): string;
8
+ icon(t: Theme): string;
9
+ deleteIcon(t: Theme): string;
10
+ focusedIcon(t: Theme): string;
11
+ };
@@ -0,0 +1,23 @@
1
+ import React, { useContext } from 'react';
2
+ import { FileUploaderControlContext } from "../../FileUploaderControlContext";
3
+ import { ThemeContext } from "../../../../lib/theming/ThemeContext";
4
+ import { FileUploaderFile } from "../../FileUploaderFile/FileUploaderFile";
5
+ import { jsStyles } from "../FileUploaderFileList.styles";
6
+ export var FileUploaderFileList = function FileUploaderFileList() {
7
+ var _useContext = useContext(FileUploaderControlContext),
8
+ files = _useContext.files;
9
+
10
+ var theme = useContext(ThemeContext);
11
+ return /*#__PURE__*/React.createElement("div", {
12
+ "data-tid": "FileUploader__fileList"
13
+ }, files.map(function (file) {
14
+ return /*#__PURE__*/React.createElement("div", {
15
+ key: file.id,
16
+ className: jsStyles.fileWrapper(theme)
17
+ }, /*#__PURE__*/React.createElement(FileUploaderFile, {
18
+ file: file,
19
+ showSize: true
20
+ }));
21
+ }));
22
+ };
23
+ FileUploaderFileList.displayName = 'FileUploaderFileList';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FileUploaderFileList.tsx"],"names":["React","useContext","FileUploaderControlContext","ThemeContext","FileUploaderFile","jsStyles","FileUploaderFileList","files","theme","map","file","id","fileWrapper","displayName"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;;AAEA,SAASC,0BAAT,QAA2C,+BAA3C;AACA,SAASC,YAAT,QAA6B,mCAA7B;AACA,SAASC,gBAAT,QAAiC,sCAAjC;;AAEA,SAASC,QAAT,QAAyB,+BAAzB;;AAEA,OAAO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;AACxC,oBAAkBL,UAAU,CAACC,0BAAD,CAA5B,CAAQK,KAAR,eAAQA,KAAR;AACA,MAAMC,KAAK,GAAGP,UAAU,CAACE,YAAD,CAAxB;;AAEA;AACE,iCAAK,YAAS,wBAAd;AACGI,IAAAA,KAAK,CAACE,GAAN,CAAU,UAACC,IAAD;AACT,qCAAK,GAAG,EAAEA,IAAI,CAACC,EAAf,EAAmB,SAAS,EAAEN,QAAQ,CAACO,WAAT,CAAqBJ,KAArB,CAA9B;AACE,4BAAC,gBAAD,IAAkB,IAAI,EAAEE,IAAxB,EAA8B,QAAQ,MAAtC,GADF,CADS,GAAV,CADH,CADF;;;;;AASD,CAbM;;AAePJ,oBAAoB,CAACO,WAArB,GAAmC,sBAAnC","sourcesContent":["import React, { useContext } from 'react';\n\nimport { FileUploaderControlContext } from '../FileUploaderControlContext';\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\nimport { FileUploaderFile } from '../FileUploaderFile/FileUploaderFile';\n\nimport { jsStyles } from './FileUploaderFileList.styles';\n\nexport const FileUploaderFileList = () => {\n const { files } = useContext(FileUploaderControlContext);\n const theme = useContext(ThemeContext);\n\n return (\n <div data-tid=\"FileUploader__fileList\">\n {files.map((file) => (\n <div key={file.id} className={jsStyles.fileWrapper(theme)}>\n <FileUploaderFile file={file} showSize />\n </div>\n ))}\n </div>\n );\n};\n\nFileUploaderFileList.displayName = 'FileUploaderFileList';\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js",
3
+ "module": "FileUploaderFileList",
4
+ "types": "../FileUploaderFileList.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,4 @@
1
+ export declare const FileUploaderFileList: {
2
+ (): JSX.Element;
3
+ displayName: string;
4
+ };
@@ -0,0 +1,11 @@
1
+ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
+
3
+ var _templateObject;
4
+
5
+ import { css, memoizeStyle } from "../../../../lib/theming/Emotion";
6
+ var styles = {
7
+ fileWrapper: function fileWrapper(t) {
8
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n width: 100%;\n height: 32px;\n display: flex;\n align-items: center;\n box-sizing: border-box;\n padding: ", " ", ";\n "])), t.fileUploaderPaddingY, t.fileUploaderPaddingX);
9
+ }
10
+ };
11
+ export var jsStyles = memoizeStyle(styles);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FileUploaderFileList.styles.ts"],"names":["css","memoizeStyle","styles","fileWrapper","t","fileUploaderPaddingY","fileUploaderPaddingX","jsStyles"],"mappings":"oHAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,8BAAlC;;;AAGA,IAAMC,MAAM,GAAG;AACbC,EAAAA,WADa,uBACDC,CADC,EACS;AACpB,WAAOJ,GAAP;;;;;;AAMaI,IAAAA,CAAC,CAACC,oBANf,EAMuCD,CAAC,CAACE,oBANzC;;AAQD,GAVY,EAAf;;;AAaA,OAAO,IAAMC,QAAQ,GAAGN,YAAY,CAACC,MAAD,CAA7B","sourcesContent":["import { css, memoizeStyle } from '../../../lib/theming/Emotion';\nimport { Theme } from '../../../lib/theming/Theme';\n\nconst styles = {\n fileWrapper(t: Theme) {\n return css`\n width: 100%;\n height: 32px;\n display: flex;\n align-items: center;\n box-sizing: border-box;\n padding: ${t.fileUploaderPaddingY} ${t.fileUploaderPaddingX};\n `;\n },\n};\n\nexport const jsStyles = memoizeStyle(styles);\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js",
3
+ "module": "FileUploaderFileList.styles",
4
+ "types": "../FileUploaderFileList.styles.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,4 @@
1
+ import { Theme } from '../../../lib/theming/Theme';
2
+ export declare const jsStyles: {
3
+ fileWrapper(t: Theme): string;
4
+ };
@@ -0,0 +1,16 @@
1
+ export var FileUploaderFileValidationResult = /*#__PURE__*/function () {
2
+ function FileUploaderFileValidationResult(isValid, message) {
3
+ this.isValid = isValid;
4
+ this.message = message;
5
+ }
6
+
7
+ FileUploaderFileValidationResult.error = function error(message) {
8
+ return new FileUploaderFileValidationResult(false, message);
9
+ };
10
+
11
+ FileUploaderFileValidationResult.ok = function ok() {
12
+ return new FileUploaderFileValidationResult(true);
13
+ };
14
+
15
+ return FileUploaderFileValidationResult;
16
+ }();
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FileUploaderFileValidationResult.ts"],"names":["FileUploaderFileValidationResult","isValid","message","error","ok"],"mappings":"AAAA,WAAaA,gCAAb;;;;AAIE,4CAAYC,OAAZ,EAA8BC,OAA9B,EAAgD;AAC9C,SAAKD,OAAL,GAAeA,OAAf;AACA,SAAKC,OAAL,GAAeA,OAAf;AACD,GAPH;;AASSC,EAAAA,KATT,GASE,eAAaD,OAAb,EAAgE;AAC9D,WAAO,IAAIF,gCAAJ,CAAqC,KAArC,EAA4CE,OAA5C,CAAP;AACD,GAXH;;AAaSE,EAAAA,EAbT,GAaE,cAA8C;AAC5C,WAAO,IAAIJ,gCAAJ,CAAqC,IAArC,CAAP;AACD,GAfH","sourcesContent":["export class FileUploaderFileValidationResult {\n readonly isValid: boolean;\n readonly message?: string;\n\n constructor(isValid: boolean, message?: string) {\n this.isValid = isValid;\n this.message = message;\n }\n\n static error(message: string): FileUploaderFileValidationResult {\n return new FileUploaderFileValidationResult(false, message);\n }\n\n static ok(): FileUploaderFileValidationResult {\n return new FileUploaderFileValidationResult(true);\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js",
3
+ "module": "FileUploaderFileValidationResult",
4
+ "types": "../FileUploaderFileValidationResult.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,7 @@
1
+ export declare class FileUploaderFileValidationResult {
2
+ readonly isValid: boolean;
3
+ readonly message?: string;
4
+ constructor(isValid: boolean, message?: string);
5
+ static error(message: string): FileUploaderFileValidationResult;
6
+ static ok(): FileUploaderFileValidationResult;
7
+ }
@@ -0,0 +1,19 @@
1
+ import { getUid } from "../../../lib/uidUtils";
2
+ import { FileUploaderFileValidationResult } from "../FileUploaderFileValidationResult";
3
+ export var FileUploaderFileStatus;
4
+
5
+ (function (FileUploaderFileStatus) {
6
+ FileUploaderFileStatus["Attached"] = "Attached";
7
+ FileUploaderFileStatus["Loading"] = "Loading";
8
+ FileUploaderFileStatus["Uploaded"] = "Uploaded";
9
+ FileUploaderFileStatus["Error"] = "Error";
10
+ })(FileUploaderFileStatus || (FileUploaderFileStatus = {}));
11
+
12
+ export var getAttachedFile = function getAttachedFile(file) {
13
+ return {
14
+ id: getUid(),
15
+ originalFile: file,
16
+ status: FileUploaderFileStatus.Attached,
17
+ validationResult: FileUploaderFileValidationResult.ok()
18
+ };
19
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["fileUtils.ts"],"names":["getUid","FileUploaderFileValidationResult","FileUploaderFileStatus","getAttachedFile","file","id","originalFile","status","Attached","validationResult","ok"],"mappings":"AAAA,SAASA,MAAT,QAAuB,oBAAvB;;AAEA,SAASC,gCAAT,QAAiD,oCAAjD;;AAEA,WAAYC,sBAAZ,C,WAAYA,sB,GAAAA,sB,0BAAAA,sB,wBAAAA,sB,0BAAAA,sB,uBAAAA,sB,KAAAA,sB;;;;;;;;;;;;;;AAcZ,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD,EAA0C;AACvE,SAAO;AACLC,IAAAA,EAAE,EAAEL,MAAM,EADL;AAELM,IAAAA,YAAY,EAAEF,IAFT;AAGLG,IAAAA,MAAM,EAAEL,sBAAsB,CAACM,QAH1B;AAILC,IAAAA,gBAAgB,EAAER,gCAAgC,CAACS,EAAjC,EAJb,EAAP;;AAMD,CAPM","sourcesContent":["import { getUid } from '../../lib/uidUtils';\n\nimport { FileUploaderFileValidationResult } from './FileUploaderFileValidationResult';\n\nexport enum FileUploaderFileStatus {\n Attached = 'Attached',\n Loading = 'Loading',\n Uploaded = 'Uploaded',\n Error = 'Error',\n}\n\nexport interface FileUploaderAttachedFile {\n id: string;\n originalFile: File;\n status: FileUploaderFileStatus;\n validationResult: FileUploaderFileValidationResult;\n}\n\nexport const getAttachedFile = (file: File): FileUploaderAttachedFile => {\n return {\n id: getUid(),\n originalFile: file,\n status: FileUploaderFileStatus.Attached,\n validationResult: FileUploaderFileValidationResult.ok(),\n };\n};\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../cjs/internal/FileUploaderControl/fileUtils.js",
3
+ "module": "fileUtils",
4
+ "types": "../fileUtils.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,14 @@
1
+ import { FileUploaderFileValidationResult } from './FileUploaderFileValidationResult';
2
+ export declare enum FileUploaderFileStatus {
3
+ Attached = "Attached",
4
+ Loading = "Loading",
5
+ Uploaded = "Uploaded",
6
+ Error = "Error"
7
+ }
8
+ export interface FileUploaderAttachedFile {
9
+ id: string;
10
+ originalFile: File;
11
+ status: FileUploaderFileStatus;
12
+ validationResult: FileUploaderFileValidationResult;
13
+ }
14
+ export declare const getAttachedFile: (file: File) => FileUploaderAttachedFile;
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../cjs/internal/FileUploaderControl/hooks/useControlLocale.js",
3
+ "module": "useControlLocale",
4
+ "types": "../useControlLocale.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,5 @@
1
+ import { useLocaleForControl } from "../../../../lib/locale/useLocaleForControl";
2
+ import { FileUploaderLocaleHelper } from "../../../../components/FileUploader/locale";
3
+ export var useControlLocale = function useControlLocale() {
4
+ return useLocaleForControl('FileUploader', FileUploaderLocaleHelper);
5
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useControlLocale.ts"],"names":["useLocaleForControl","FileUploaderLocaleHelper","useControlLocale"],"mappings":"AAAA,SAASA,mBAAT,QAAoC,yCAApC;AACA,SAASC,wBAAT,QAAyC,yCAAzC;;AAEA,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,WAAMF,mBAAmB,CAAC,cAAD,EAAiBC,wBAAjB,CAAzB,EAAzB","sourcesContent":["import { useLocaleForControl } from '../../../lib/locale/useLocaleForControl';\nimport { FileUploaderLocaleHelper } from '../../../components/FileUploader/locale';\n\nexport const useControlLocale = () => useLocaleForControl('FileUploader', FileUploaderLocaleHelper);\n"]}
@@ -0,0 +1 @@
1
+ export declare const useControlLocale: () => import("../../../components/FileUploader/locale").FileUploaderLocale;
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../cjs/internal/FileUploaderControl/hooks/useUpload.js",
3
+ "module": "useUpload",
4
+ "types": "../useUpload.d.ts",
5
+ "sideEffects": false
6
+ }