@ya-accelerators/nextjs-framework 0.0.99 → 0.0.101

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 (289) hide show
  1. package/dist/constants.d.ts +4 -0
  2. package/dist/constants.js +4 -0
  3. package/dist/constants.js.map +1 -1
  4. package/dist/env.client.d.ts +2 -2
  5. package/dist/env.client.js +1 -1
  6. package/dist/env.client.js.map +1 -1
  7. package/dist/env.d.ts +2 -2
  8. package/dist/env.js +1 -5
  9. package/dist/env.js.map +1 -1
  10. package/dist/hooks/anchor/index.d.ts +13 -0
  11. package/dist/hooks/anchor/index.js +65 -0
  12. package/dist/hooks/anchor/index.js.map +1 -0
  13. package/dist/hooks/date/index.js.map +1 -1
  14. package/dist/hooks/loading/index.jsx +1 -1
  15. package/dist/hooks/loading/index.jsx.map +1 -1
  16. package/dist/hooks/modal/index.d.ts +1 -1
  17. package/dist/hooks/modal/index.jsx +1 -1
  18. package/dist/hooks/modal/index.jsx.map +1 -1
  19. package/dist/hooks/mounted/index.js +0 -4
  20. package/dist/hooks/mounted/index.js.map +1 -1
  21. package/dist/hooks/toast/index.d.ts +3 -1
  22. package/dist/hooks/toast/index.jsx +9 -9
  23. package/dist/hooks/toast/index.jsx.map +1 -1
  24. package/dist/hooks/uploads/index.d.ts +41 -0
  25. package/dist/hooks/uploads/index.js +174 -0
  26. package/dist/hooks/uploads/index.js.map +1 -0
  27. package/dist/i18n/get-message-fallback.d.ts +0 -1
  28. package/dist/i18n/get-message-fallback.js +0 -1
  29. package/dist/i18n/get-message-fallback.js.map +1 -1
  30. package/dist/i18n/index.js +1 -4
  31. package/dist/i18n/index.js.map +1 -1
  32. package/dist/i18n/strings/ja-JP.json +12 -4
  33. package/dist/lib/cookie/index.d.ts +1 -1
  34. package/dist/lib/cookie/index.js +0 -1
  35. package/dist/lib/cookie/index.js.map +1 -1
  36. package/dist/lib/next-auth/index.js +0 -11
  37. package/dist/lib/next-auth/index.js.map +1 -1
  38. package/dist/lib/trpc/index.d.ts +3 -2
  39. package/dist/lib/trpc/index.js +39 -11
  40. package/dist/lib/trpc/index.js.map +1 -1
  41. package/dist/lib/uploads/index.js +14 -18
  42. package/dist/lib/uploads/index.js.map +1 -1
  43. package/dist/logger/index.d.ts +2 -1
  44. package/dist/logger/index.js +0 -6
  45. package/dist/logger/index.js.map +1 -1
  46. package/dist/styles/globals.css +77 -0
  47. package/dist/styles/tailwind.config.d.ts +365 -359
  48. package/dist/styles/tailwind.config.js +25 -20
  49. package/dist/styles/tailwind.config.js.map +1 -1
  50. package/dist/styles/tailwind.config.ts +28 -21
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/dist/ui/component/button/base.d.ts +4 -4
  53. package/dist/ui/component/button/base.jsx +5 -5
  54. package/dist/ui/component/button/base.jsx.map +1 -1
  55. package/dist/ui/component/button/colored/index.d.ts +2 -2
  56. package/dist/ui/component/button/image/index.d.ts +2 -2
  57. package/dist/ui/component/button/index.d.ts +4 -9
  58. package/dist/ui/component/button/index.jsx +0 -5
  59. package/dist/ui/component/button/index.jsx.map +1 -1
  60. package/dist/ui/component/card/index.jsx +1 -1
  61. package/dist/ui/component/card/index.jsx.map +1 -1
  62. package/dist/ui/component/icon/index.d.ts +2 -2
  63. package/dist/ui/component/index.d.ts +72 -75
  64. package/dist/ui/component/index.js +4 -4
  65. package/dist/ui/component/index.js.map +1 -1
  66. package/dist/ui/component/progressBar/index.d.ts +9 -0
  67. package/dist/ui/component/progressBar/index.jsx +15 -0
  68. package/dist/ui/component/progressBar/index.jsx.map +1 -0
  69. package/dist/ui/component/skeleton/index.d.ts +10 -0
  70. package/dist/ui/component/skeleton/index.jsx +35 -0
  71. package/dist/ui/component/skeleton/index.jsx.map +1 -0
  72. package/dist/ui/component/typography/H1/index.d.ts +2 -3
  73. package/dist/ui/component/typography/H1/index.jsx +2 -2
  74. package/dist/ui/component/typography/H1/index.jsx.map +1 -1
  75. package/dist/ui/component/typography/H2/index.d.ts +2 -3
  76. package/dist/ui/component/typography/H2/index.jsx +2 -2
  77. package/dist/ui/component/typography/H2/index.jsx.map +1 -1
  78. package/dist/ui/component/typography/H3/index.d.ts +2 -3
  79. package/dist/ui/component/typography/H3/index.jsx +2 -2
  80. package/dist/ui/component/typography/H3/index.jsx.map +1 -1
  81. package/dist/ui/component/typography/H4/index.d.ts +2 -3
  82. package/dist/ui/component/typography/H4/index.jsx +2 -2
  83. package/dist/ui/component/typography/H4/index.jsx.map +1 -1
  84. package/dist/ui/component/typography/H5/index.d.ts +2 -3
  85. package/dist/ui/component/typography/H5/index.jsx +2 -2
  86. package/dist/ui/component/typography/H5/index.jsx.map +1 -1
  87. package/dist/ui/component/typography/H6/index.d.ts +2 -3
  88. package/dist/ui/component/typography/H6/index.jsx +2 -2
  89. package/dist/ui/component/typography/H6/index.jsx.map +1 -1
  90. package/dist/ui/component/typography/Label/index.d.ts +2 -3
  91. package/dist/ui/component/typography/Label/index.jsx +2 -2
  92. package/dist/ui/component/typography/Label/index.jsx.map +1 -1
  93. package/dist/ui/component/typography/LinkText/index.d.ts +2 -3
  94. package/dist/ui/component/typography/LinkText/index.jsx +2 -2
  95. package/dist/ui/component/typography/LinkText/index.jsx.map +1 -1
  96. package/dist/ui/component/typography/P/index.d.ts +2 -3
  97. package/dist/ui/component/typography/P/index.jsx +2 -2
  98. package/dist/ui/component/typography/P/index.jsx.map +1 -1
  99. package/dist/ui/component/typography/Pre/index.d.ts +2 -3
  100. package/dist/ui/component/typography/Pre/index.jsx +2 -2
  101. package/dist/ui/component/typography/Pre/index.jsx.map +1 -1
  102. package/dist/ui/component/typography/Span/index.d.ts +6 -0
  103. package/dist/ui/component/typography/Span/index.jsx +12 -0
  104. package/dist/ui/component/typography/Span/index.jsx.map +1 -0
  105. package/dist/ui/component/typography/index.d.ts +26 -32
  106. package/dist/ui/component/typography/index.jsx +2 -0
  107. package/dist/ui/component/typography/index.jsx.map +1 -1
  108. package/dist/ui/composite/accordion/index.d.ts +12 -0
  109. package/dist/ui/composite/accordion/index.jsx +29 -0
  110. package/dist/ui/composite/accordion/index.jsx.map +1 -0
  111. package/dist/ui/composite/alert/index.d.ts +13 -0
  112. package/dist/ui/composite/alert/index.jsx +35 -0
  113. package/dist/ui/composite/alert/index.jsx.map +1 -0
  114. package/dist/ui/composite/avatar/index.d.ts +9 -0
  115. package/dist/ui/composite/avatar/index.jsx +25 -0
  116. package/dist/ui/composite/avatar/index.jsx.map +1 -0
  117. package/dist/ui/composite/dropdown/index.d.ts +2 -2
  118. package/dist/ui/composite/dropdown/index.jsx +0 -1
  119. package/dist/ui/composite/dropdown/index.jsx.map +1 -1
  120. package/dist/ui/composite/emptyState/index.d.ts +9 -0
  121. package/dist/ui/composite/emptyState/index.jsx +18 -0
  122. package/dist/ui/composite/emptyState/index.jsx.map +1 -0
  123. package/dist/ui/{layout → composite}/form/index.d.ts +4 -5
  124. package/dist/ui/{layout → composite}/form/index.jsx +31 -43
  125. package/dist/ui/composite/form/index.jsx.map +1 -0
  126. package/dist/ui/{layout → composite}/form/renderItem.d.ts +1 -2
  127. package/dist/ui/{layout → composite}/form/renderItem.jsx +25 -30
  128. package/dist/ui/composite/form/renderItem.jsx.map +1 -0
  129. package/dist/ui/composite/index.d.ts +490 -233
  130. package/dist/ui/composite/index.js +30 -0
  131. package/dist/ui/composite/index.js.map +1 -1
  132. package/dist/ui/composite/input/attachment/index.d.ts +18 -0
  133. package/dist/ui/composite/input/attachment/index.jsx +130 -0
  134. package/dist/ui/composite/input/attachment/index.jsx.map +1 -0
  135. package/dist/ui/composite/input/checkbox/index.d.ts +2 -2
  136. package/dist/ui/composite/input/checkbox/index.jsx +2 -2
  137. package/dist/ui/composite/input/checkbox/index.jsx.map +1 -1
  138. package/dist/ui/composite/input/datePicker/index.d.ts +1 -1
  139. package/dist/ui/composite/input/datePicker/index.jsx +5 -16
  140. package/dist/ui/composite/input/datePicker/index.jsx.map +1 -1
  141. package/dist/ui/composite/input/dateRange/index.d.ts +1 -1
  142. package/dist/ui/composite/input/dateRange/index.jsx +1 -3
  143. package/dist/ui/composite/input/dateRange/index.jsx.map +1 -1
  144. package/dist/ui/composite/input/dateTimePicker/index.jsx +1 -8
  145. package/dist/ui/composite/input/dateTimePicker/index.jsx.map +1 -1
  146. package/dist/ui/composite/input/dateTimeRange/index.d.ts +1 -1
  147. package/dist/ui/composite/input/dateTimeRange/index.jsx +2 -5
  148. package/dist/ui/composite/input/dateTimeRange/index.jsx.map +1 -1
  149. package/dist/ui/composite/input/file/index.d.ts +3 -8
  150. package/dist/ui/composite/input/file/index.jsx +91 -137
  151. package/dist/ui/composite/input/file/index.jsx.map +1 -1
  152. package/dist/ui/composite/input/index.d.ts +144 -128
  153. package/dist/ui/composite/input/index.js +4 -0
  154. package/dist/ui/composite/input/index.js.map +1 -1
  155. package/dist/ui/composite/input/list/index.jsx +3 -11
  156. package/dist/ui/composite/input/list/index.jsx.map +1 -1
  157. package/dist/ui/composite/input/radio/index.d.ts +2 -2
  158. package/dist/ui/composite/input/radio/index.jsx +3 -3
  159. package/dist/ui/composite/input/radio/index.jsx.map +1 -1
  160. package/dist/ui/composite/input/select/GroupHeading/index.jsx +1 -1
  161. package/dist/ui/composite/input/select/GroupHeading/index.jsx.map +1 -1
  162. package/dist/ui/composite/input/select/Input/index.jsx +1 -4
  163. package/dist/ui/composite/input/select/Input/index.jsx.map +1 -1
  164. package/dist/ui/composite/input/select/Option/index.jsx +0 -1
  165. package/dist/ui/composite/input/select/Option/index.jsx.map +1 -1
  166. package/dist/ui/composite/input/select/Placeholder/index.jsx +1 -1
  167. package/dist/ui/composite/input/select/Placeholder/index.jsx.map +1 -1
  168. package/dist/ui/composite/input/select/SelectContainer/index.jsx +1 -1
  169. package/dist/ui/composite/input/select/SelectContainer/index.jsx.map +1 -1
  170. package/dist/ui/composite/input/select/SingleValue/index.jsx +1 -1
  171. package/dist/ui/composite/input/select/SingleValue/index.jsx.map +1 -1
  172. package/dist/ui/composite/input/select/index.jsx +0 -2
  173. package/dist/ui/composite/input/select/index.jsx.map +1 -1
  174. package/dist/ui/composite/input/switch/index.d.ts +11 -0
  175. package/dist/ui/composite/input/switch/index.jsx +21 -0
  176. package/dist/ui/composite/input/switch/index.jsx.map +1 -0
  177. package/dist/ui/composite/input/text/index.d.ts +1 -1
  178. package/dist/ui/composite/input/text/index.jsx +1 -1
  179. package/dist/ui/composite/input/text/index.jsx.map +1 -1
  180. package/dist/ui/composite/input/textarea/index.d.ts +1 -1
  181. package/dist/ui/composite/input/textarea/index.jsx +1 -1
  182. package/dist/ui/composite/input/textarea/index.jsx.map +1 -1
  183. package/dist/ui/composite/input/timePicker/index.d.ts +1 -1
  184. package/dist/ui/composite/input/timeRange/index.d.ts +1 -1
  185. package/dist/ui/composite/input/timeRange/index.jsx +1 -1
  186. package/dist/ui/composite/input/timeRange/index.jsx.map +1 -1
  187. package/dist/ui/composite/input/weekDaysSelector/index.d.ts +1 -1
  188. package/dist/ui/composite/input/weekdayPicker/index.d.ts +1 -1
  189. package/dist/ui/composite/input/weekdayPicker/index.jsx +1 -1
  190. package/dist/ui/composite/input/weekdayPicker/index.jsx.map +1 -1
  191. package/dist/ui/composite/label/index.d.ts +3 -2
  192. package/dist/ui/composite/label/index.jsx +4 -4
  193. package/dist/ui/composite/label/index.jsx.map +1 -1
  194. package/dist/ui/composite/loading/index.jsx.map +1 -0
  195. package/dist/ui/composite/markdown/codeBlock.d.ts +4 -0
  196. package/dist/ui/composite/markdown/codeBlock.jsx +67 -0
  197. package/dist/ui/composite/markdown/codeBlock.jsx.map +1 -0
  198. package/dist/ui/composite/markdown/index.d.ts +3 -0
  199. package/dist/ui/composite/markdown/index.jsx +65 -0
  200. package/dist/ui/composite/markdown/index.jsx.map +1 -0
  201. package/dist/ui/{component/modal/index.d.ts → composite/modal/card.d.ts} +1 -1
  202. package/dist/ui/composite/modal/card.jsx +13 -0
  203. package/dist/ui/composite/modal/card.jsx.map +1 -0
  204. package/dist/ui/composite/modal/index.d.ts +2 -0
  205. package/dist/ui/composite/modal/index.jsx +3 -0
  206. package/dist/ui/composite/modal/index.jsx.map +1 -0
  207. package/dist/ui/{layout/modal/index.jsx → composite/modal/overlay.jsx} +4 -10
  208. package/dist/ui/composite/modal/overlay.jsx.map +1 -0
  209. package/dist/ui/{layout → composite}/object/index.d.ts +2 -3
  210. package/dist/ui/{layout → composite}/object/index.jsx +50 -24
  211. package/dist/ui/composite/object/index.jsx.map +1 -0
  212. package/dist/ui/composite/pageTitle/index.jsx +4 -2
  213. package/dist/ui/composite/pageTitle/index.jsx.map +1 -1
  214. package/dist/ui/composite/popover/index.d.ts +12 -0
  215. package/dist/ui/composite/popover/index.jsx +48 -0
  216. package/dist/ui/composite/popover/index.jsx.map +1 -0
  217. package/dist/ui/composite/stepper/index.d.ts +8 -0
  218. package/dist/ui/composite/stepper/index.jsx +34 -0
  219. package/dist/ui/composite/stepper/index.jsx.map +1 -0
  220. package/dist/ui/composite/table/features.d.ts +15 -0
  221. package/dist/ui/composite/table/features.js +10 -0
  222. package/dist/ui/composite/table/features.js.map +1 -0
  223. package/dist/ui/{layout → composite}/table/index.d.ts +4 -9
  224. package/dist/ui/{layout → composite}/table/index.jsx +10 -23
  225. package/dist/ui/composite/table/index.jsx.map +1 -0
  226. package/dist/ui/composite/toast/index.d.ts +18 -0
  227. package/dist/ui/{layout → composite}/toast/index.jsx +11 -4
  228. package/dist/ui/composite/toast/index.jsx.map +1 -0
  229. package/dist/ui/composite/tooltip/index.d.ts +11 -0
  230. package/dist/ui/composite/tooltip/index.jsx +29 -0
  231. package/dist/ui/composite/tooltip/index.jsx.map +1 -0
  232. package/dist/ui/functional/index.d.ts +5 -5
  233. package/dist/ui/functional/signInForm/index.jsx +1 -1
  234. package/dist/ui/functional/signInForm/index.jsx.map +1 -1
  235. package/dist/ui/layout/app/component.jsx +2 -2
  236. package/dist/ui/layout/app/component.jsx.map +1 -1
  237. package/dist/ui/layout/drawer/index.d.ts +11 -0
  238. package/dist/ui/layout/drawer/index.jsx +73 -0
  239. package/dist/ui/layout/drawer/index.jsx.map +1 -0
  240. package/dist/ui/layout/index.d.ts +38 -351
  241. package/dist/ui/layout/index.js +2 -12
  242. package/dist/ui/layout/index.js.map +1 -1
  243. package/dist/ui/layout/root/index.d.ts +1 -1
  244. package/dist/ui/layout/root/index.jsx +1 -2
  245. package/dist/ui/layout/root/index.jsx.map +1 -1
  246. package/dist/ui/layout/root/provider/index.jsx +0 -4
  247. package/dist/ui/layout/root/provider/index.jsx.map +1 -1
  248. package/dist/ui/layout/tab/component.jsx +3 -3
  249. package/dist/ui/layout/tab/component.jsx.map +1 -1
  250. package/dist/ui/layout/tab/content/index.d.ts +1 -1
  251. package/dist/ui/theme/border/index.d.ts +15 -15
  252. package/dist/ui/theme/border/index.js.map +1 -1
  253. package/dist/ui/theme/color/index.d.ts +24 -23
  254. package/dist/ui/theme/color/index.js +14 -24
  255. package/dist/ui/theme/color/index.js.map +1 -1
  256. package/dist/ui/theme/rounded/index.d.ts +6 -5
  257. package/dist/ui/theme/rounded/index.js +2 -0
  258. package/dist/ui/theme/rounded/index.js.map +1 -1
  259. package/dist/ui/theme/size/index.d.ts +8 -8
  260. package/dist/ui/theme/size/index.js +8 -8
  261. package/dist/ui/theme/size/index.js.map +1 -1
  262. package/dist/ui/types/index.d.ts +16 -2
  263. package/dist/ui/types/index.js +0 -1
  264. package/dist/ui/types/index.js.map +1 -1
  265. package/dist/util/date/impl.js +0 -2
  266. package/dist/util/date/impl.js.map +1 -1
  267. package/dist/util/date/index.d.ts +7 -7
  268. package/dist/util/index.js +8 -20
  269. package/dist/util/index.js.map +1 -1
  270. package/package.json +7 -6
  271. package/dist/ui/component/button/text/index.d.ts +0 -11
  272. package/dist/ui/component/button/text/index.jsx +0 -7
  273. package/dist/ui/component/button/text/index.jsx.map +0 -1
  274. package/dist/ui/component/markdown/index.d.ts +0 -4
  275. package/dist/ui/component/markdown/index.jsx +0 -61
  276. package/dist/ui/component/markdown/index.jsx.map +0 -1
  277. package/dist/ui/component/modal/index.jsx +0 -12
  278. package/dist/ui/component/modal/index.jsx.map +0 -1
  279. package/dist/ui/layout/form/index.jsx.map +0 -1
  280. package/dist/ui/layout/form/renderItem.jsx.map +0 -1
  281. package/dist/ui/layout/loading/index.jsx.map +0 -1
  282. package/dist/ui/layout/modal/index.jsx.map +0 -1
  283. package/dist/ui/layout/object/index.jsx.map +0 -1
  284. package/dist/ui/layout/table/index.jsx.map +0 -1
  285. package/dist/ui/layout/toast/index.d.ts +0 -7
  286. package/dist/ui/layout/toast/index.jsx.map +0 -1
  287. /package/dist/ui/{layout → composite}/loading/index.d.ts +0 -0
  288. /package/dist/ui/{layout → composite}/loading/index.jsx +0 -0
  289. /package/dist/ui/{layout/modal/index.d.ts → composite/modal/overlay.d.ts} +0 -0
@@ -2,132 +2,57 @@
2
2
  import CheckCircleIcon from '@mui/icons-material/CheckCircle';
3
3
  import ClearIcon from '@mui/icons-material/Clear';
4
4
  import CloudUploadOutlinedIcon from '@mui/icons-material/CloudUploadOutlined';
5
- import ErrorOutlinedIcon from '@mui/icons-material/ErrorOutlined';
5
+ import DeleteOutlinedIcon from '@mui/icons-material/DeleteOutlined';
6
+ import RefreshIcon from '@mui/icons-material/Refresh';
6
7
  import classNames from 'classnames';
7
- import { useEffect, useRef, useState } from 'react';
8
- import { logger } from '../../../../logger';
8
+ import Image from 'next/image';
9
+ import { useTranslations } from 'next-intl';
10
+ import { useEffect, useState } from 'react';
11
+ import { useUploads } from '../../../../hooks/uploads';
9
12
  import { Component } from '../../../component';
10
- import { BackgroundColorTypes, BorderColorTypes, BorderWidth, ColorTypes, getBackgroundColorTypeClassName, getBorderColorTypeClassName, getColorTypeClassName, getRoundedClassName, getTextColorTypeClassName, Rounded, TextColorTypes, } from '../../../theme';
11
- export const File = ({ name, accept, multiple = false, rounded = Rounded.m, disabled, required, onChange, uploadPath = '/_uploads', className, }) => {
12
- const pickerRef = useRef(null);
13
- const [committed, setCommitted] = useState([]);
14
- const [batch, setBatch] = useState([]);
13
+ import { BackgroundColorTypes, BorderColorTypes, BorderWidth, ColorTypes, ControlSize, getBackgroundColorTypeClassName, getBorderColorTypeClassName, getColorTypeClassName, getRoundedClassName, getTextColorTypeClassName, Rounded, TextColorTypes, } from '../../../theme';
14
+ import { ModalCard } from '../../modal/card';
15
+ export const File = ({ name, accept, multiple = false, rounded = Rounded.m, disabled, required, onChange, onDone, uploadPath = '/_uploads', className, }) => {
16
+ const t = useTranslations();
15
17
  const [open, setOpen] = useState(false);
16
18
  const [dragging, setDragging] = useState(false);
17
- const xhrsRef = useRef(new Map());
18
- const committedRef = useRef([]);
19
- const idSeq = useRef(0);
20
- const uploading = batch.some((it) => it.status === 'uploading');
21
- useEffect(() => () => {
22
- xhrsRef.current.forEach((x) => x.abort());
23
- xhrsRef.current.clear();
24
- }, []);
25
- // onChange fires here, not inside a setCommitted updater — React Strict Mode runs updaters twice and
26
- // would double-fire it. committedRef mirrors the state so handlers append to / filter the latest list
27
- // instead of a stale closure `prev`.
28
- const commit = (next) => {
29
- committedRef.current = next;
30
- setCommitted(next);
31
- onChange?.(next.length === 0 ? undefined : multiple ? next : next[0]);
32
- };
33
- const patchBatch = (id, next) => setBatch((prev) => prev.map((it) => (it.id === id ? { ...it, ...next } : it)));
34
- const addFiles = (selected) => {
35
- if (!selected || selected.length === 0) {
19
+ const [focused, setFocused] = useState(false);
20
+ const { pickerRef, committed, committedRef, batch, previews, uploading, valueOf, addFiles, retryItem, removeItem, removeCommitted, openPicker, } = useUploads({ name, multiple, disabled, uploadPath, onChange });
21
+ const acceptDescription = accept === undefined ? undefined : `${t('Accepted file types')}: ${accept}`;
22
+ useEffect(() => {
23
+ if (!open || uploading) {
36
24
  return;
37
25
  }
38
- setOpen(true);
39
- const picked = multiple ? Array.from(selected) : Array.from(selected).slice(0, 1);
40
- const created = picked.map((f) => ({
41
- id: `u${idSeq.current++}`,
42
- name: f.name,
43
- size: f.size,
44
- progress: 0,
45
- status: 'uploading',
46
- }));
47
- if (multiple) {
48
- setBatch((prev) => [...prev, ...created]);
49
- }
50
- else {
51
- // single-file: a new selection replaces the previous one. Abort any prior XHR so its onload never
52
- // fires and the superseded file cannot commit.
53
- batch.forEach((it) => xhrsRef.current.get(it.id)?.abort());
54
- xhrsRef.current.clear();
55
- setBatch(created);
56
- }
57
- picked.forEach((f, i) => {
58
- const id = created[i].id;
59
- const fail = (error) => {
60
- xhrsRef.current.delete(id);
61
- logger.error('upload', { name, error });
62
- patchBatch(id, { status: 'error' });
63
- };
64
- try {
65
- const xhr = new XMLHttpRequest();
66
- xhrsRef.current.set(id, xhr);
67
- // Same-origin POST: the app's own route handler resolves the one-time token and the backend URL
68
- // server-side, so no credential reaches the browser and the page never issues a cross-origin (or,
69
- // on an https page, mixed-content) request. The original filename goes in a request header, not a
70
- // query param: a URL's query string is captured verbatim by proxy / CDN / access logs and a
71
- // filename can be a direct identifier; header values are not written to those request-line logs.
72
- xhr.open('POST', uploadPath);
73
- xhr.setRequestHeader('x-upload-filename', encodeURIComponent(f.name));
74
- xhr.setRequestHeader('content-type', f.type || 'application/octet-stream');
75
- xhr.upload.onprogress = (e) => {
76
- if (e.lengthComputable) {
77
- patchBatch(id, { progress: e.total > 0 ? Math.round((e.loaded / e.total) * 100) : 100 });
78
- }
79
- };
80
- xhr.onload = () => {
81
- xhrsRef.current.delete(id);
82
- if (xhr.status < 200 || xhr.status >= 300) {
83
- fail(new Error(`upload failed (${xhr.status})`));
84
- return;
85
- }
86
- let ref;
87
- try {
88
- ref = JSON.parse(xhr.responseText);
89
- }
90
- catch (err) {
91
- fail(err);
92
- return;
93
- }
94
- patchBatch(id, { progress: 100, status: 'done', ref });
95
- commit(multiple ? [...committedRef.current, ref] : [ref]);
96
- };
97
- xhr.onerror = () => fail(new Error('upload failed'));
98
- xhr.send(f);
26
+ const onKeyDown = (e) => {
27
+ if (e.key === 'Escape') {
28
+ setOpen(false);
99
29
  }
100
- catch (e) {
101
- fail(e);
102
- }
103
- });
104
- if (pickerRef.current) {
105
- pickerRef.current.value = '';
106
- }
107
- };
108
- const removeItem = (item) => {
109
- const xhr = xhrsRef.current.get(item.id);
110
- if (xhr) {
111
- xhr.abort();
112
- xhrsRef.current.delete(item.id);
30
+ };
31
+ window.addEventListener('keydown', onKeyDown);
32
+ return () => {
33
+ window.removeEventListener('keydown', onKeyDown);
34
+ };
35
+ }, [open, uploading]);
36
+ useEffect(() => {
37
+ if (open && batch.length === 0) {
38
+ setOpen(false);
113
39
  }
114
- setBatch((prev) => prev.filter((it) => it.id !== item.id));
115
- if (item.ref) {
116
- commit(committedRef.current.filter((c) => c.key !== item.ref?.key));
40
+ }, [open, batch.length]);
41
+ const pick = (selected) => {
42
+ if (addFiles(selected)) {
43
+ setOpen(true);
117
44
  }
118
45
  };
119
- const removeCommitted = (key) => {
120
- setBatch((prev) => prev.filter((it) => it.ref?.key !== key));
121
- commit(committedRef.current.filter((c) => c.key !== key));
122
- };
123
46
  return (<div className={classNames('flex w-full flex-col gap-control-padding-md', className)}>
124
47
  <input className='absolute size-0 opacity-0' name={name} value={committed.length === 0 ? '' : JSON.stringify(multiple ? committed : committed[0])} onChange={() => { }} required={required}/>
125
- <input ref={pickerRef} type='file' accept={accept} multiple={multiple} disabled={disabled} className='hidden' onChange={(e) => addFiles(e.target.files)}/>
126
- <div onClick={() => {
127
- if (!disabled) {
128
- pickerRef.current?.click();
48
+ <input ref={pickerRef} type='file' accept={accept} multiple={multiple} disabled={disabled} className='hidden' onChange={(e) => pick(e.target.files)}/>
49
+ <div role='button' tabIndex={disabled ? -1 : 0} aria-disabled={disabled} onClick={openPicker} onKeyDown={(e) => {
50
+ if (disabled || (e.key !== 'Enter' && e.key !== ' ')) {
51
+ return;
129
52
  }
130
- }} onDragOver={(e) => {
53
+ e.preventDefault();
54
+ openPicker();
55
+ }} onFocus={() => setFocused(true)} onBlur={() => setFocused(false)} onDragOver={(e) => {
131
56
  if (disabled) {
132
57
  return;
133
58
  }
@@ -139,26 +64,36 @@ export const File = ({ name, accept, multiple = false, rounded = Rounded.m, disa
139
64
  }
140
65
  e.preventDefault();
141
66
  setDragging(false);
142
- addFiles(e.dataTransfer.files);
67
+ pick(e.dataTransfer.files);
143
68
  }} className={classNames('flex w-full flex-col items-center justify-center gap-control-padding-sm px-2xl py-3xl text-center outline-dashed', disabled ? 'clickable-disabled' : 'clickable-enabled', getRoundedClassName(rounded), getBackgroundColorTypeClassName(dragging ? BackgroundColorTypes.container : BackgroundColorTypes.default), getBorderColorTypeClassName({
144
- color: dragging ? BorderColorTypes.primary : BorderColorTypes.default,
69
+ color: dragging || focused ? BorderColorTypes.primary : BorderColorTypes.default,
145
70
  container: true,
146
71
  width: BorderWidth.lg,
147
72
  type: 'outline',
148
73
  }))}>
149
74
  <CloudUploadOutlinedIcon className='size-control-3xl! opacity-60'/>
150
- <Component.Typography.P color={TextColorTypes.sub}>Drag & drop to upload</Component.Typography.P>
75
+ <Component.Typography.P color={TextColorTypes.sub}>
76
+ {multiple ? 'Drag & drop files to upload' : 'Drag & drop a file to upload'}
77
+ </Component.Typography.P>
151
78
  <Component.Typography.P color={TextColorTypes.primary}>or browse</Component.Typography.P>
79
+ {acceptDescription !== undefined && (<Component.Typography.P color={TextColorTypes.sub} className='text-xs'>
80
+ <>{acceptDescription}</>
81
+ </Component.Typography.P>)}
152
82
  </div>
153
- {committed.length > 0 && (<div className='flex w-full flex-wrap items-center gap-control-padding-base'>
154
- {committed.map((c) => (<div key={c.key} className={classNames('flex items-center gap-control-padding-sm px-control-padding-base py-control-padding-md', getBackgroundColorTypeClassName(BackgroundColorTypes.default), getRoundedClassName(rounded), getBorderColorTypeClassName({
83
+ {committed.length > 0 && (<div className='flex w-full gap-control-padding-base overflow-x-auto'>
84
+ {committed.map((c) => (<div key={c.key} className={classNames('relative size-thumbnail shrink-0 overflow-hidden', getBackgroundColorTypeClassName(BackgroundColorTypes.container), getRoundedClassName(rounded), getBorderColorTypeClassName({
155
85
  color: BorderColorTypes.default,
156
86
  container: true,
157
87
  width: BorderWidth.base,
158
88
  type: 'outline',
159
89
  }))}>
160
- <span className='truncate text-sm'>{c.name}</span>
161
- {!disabled && (<ClearIcon className='size-control-sm! shrink-0 cursor-pointer! bg-transparent!' onClick={() => removeCommitted(c.key)}/>)}
90
+ {previews[c.key] === undefined ? (<div className='flex size-full flex-col justify-between p-control-padding-base'>
91
+ <span className='line-clamp-3 break-all text-xs'>{c.name}</span>
92
+ {c.name.includes('.') && (<Component.Typography.Label color={TextColorTypes.sub} className={classNames('w-fit px-control-padding-md text-xs uppercase', getBackgroundColorTypeClassName(BackgroundColorTypes.default), getRoundedClassName(Rounded.s))}>
93
+ <>{c.name.slice(c.name.lastIndexOf('.') + 1)}</>
94
+ </Component.Typography.Label>)}
95
+ </div>) : (<Image src={previews[c.key]} alt='' fill unoptimized className='object-cover'/>)}
96
+ {!disabled && (<Component.Button variant='colored' color={ColorTypes.transparent} size={ControlSize.sm} icon={DeleteOutlinedIcon} className={classNames('absolute! top-control-padding-md right-control-padding-md p-control-padding-sm!', getTextColorTypeClassName(TextColorTypes.main), 'bg-bg-default!', getRoundedClassName(Rounded.half))} aria-label={t('Remove')} onClick={() => removeCommitted(c.key)}/>)}
162
97
  </div>))}
163
98
  </div>)}
164
99
  {open && (<div className={classNames('fixed inset-0 z-popup flex items-center justify-center', getBackgroundColorTypeClassName(BackgroundColorTypes.overlay))} onClick={(e) => {
@@ -166,31 +101,50 @@ export const File = ({ name, accept, multiple = false, rounded = Rounded.m, disa
166
101
  setOpen(false);
167
102
  }
168
103
  }}>
169
- <Component.ModalCard showCloseButton={false}>
170
- <Component.Typography.H4 className='font-bold' container>
171
- Upload
172
- </Component.Typography.H4>
173
- {batch.length > 0 && (<div className='flex flex-col gap-control-padding-md'>
174
- {batch.map((it) => (<div key={it.id} className='flex items-center gap-base'>
104
+ <ModalCard showCloseButton={false} style={{ minWidth: 'max(400px, 30%)' }}>
105
+ <Component.Typography.H4 className='font-bold'>Upload</Component.Typography.H4>
106
+ {batch.length > 0 && (<div className='flex flex-col gap-md'>
107
+ {batch.map((it) => (<div key={it.id} className='flex items-center gap-xs'>
175
108
  <div className='flex min-w-0 flex-1 flex-col gap-control-padding-sm'>
176
109
  <div className='flex items-center justify-between gap-base'>
177
110
  <span className='truncate text-sm'>{it.name}</span>
178
- <Component.Typography.Label color={TextColorTypes.sub} className='text-xs' container>
179
- {`${Math.ceil(it.size / 1024)} KB`}
111
+ <Component.Typography.Label color={TextColorTypes.sub} className='shrink-0 text-xs'>
112
+ <>
113
+ {it.size >= 1024 * 1024 * 1024
114
+ ? `${(it.size / (1024 * 1024 * 1024)).toFixed(1)} GB`
115
+ : it.size >= 1024 * 1024
116
+ ? `${(it.size / (1024 * 1024)).toFixed(1)} MB`
117
+ : `${Math.ceil(it.size / 1024)} KB`}
118
+ </>
180
119
  </Component.Typography.Label>
181
120
  </div>
182
- {it.status === 'uploading' && (<div className={classNames('h-control-xs w-full overflow-hidden', getRoundedClassName(Rounded.s), getBackgroundColorTypeClassName(BackgroundColorTypes.container))}>
183
- <div className={classNames('h-full transition-all duration-300 ease-out', getColorTypeClassName(ColorTypes.primary, false))} style={{ width: `${it.progress}%` }}/>
184
- </div>)}
121
+ <div className='flex h-control-sm items-center'>
122
+ {it.failure === undefined ? (<div className={classNames('h-control-xs w-full overflow-hidden', getRoundedClassName(Rounded.s), getBackgroundColorTypeClassName(BackgroundColorTypes.container))}>
123
+ <div className={classNames('h-full transition-all duration-300 ease-out', getColorTypeClassName(ColorTypes.primary, false))} style={{ width: `${it.progress}%` }}/>
124
+ </div>) : (<Component.Typography.Label color={TextColorTypes.error} className='truncate text-xs'>
125
+ <>
126
+ {it.failure.kind === 'server'
127
+ ? `${t('Upload failed')} (${it.failure.status})`
128
+ : it.failure.kind === 'network'
129
+ ? t('Upload failed — network error')
130
+ : t('Upload failed — invalid response')}
131
+ </>
132
+ </Component.Typography.Label>)}
133
+ </div>
134
+ </div>
135
+ <div className='flex h-control-base w-control-xl shrink-0 items-center justify-end'>
136
+ {it.status === 'error' ? (<Component.Button variant='colored' color={ColorTypes.transparent} size={ControlSize.base} icon={RefreshIcon} className={classNames('p-0!', getTextColorTypeClassName(TextColorTypes.primary))} aria-label={t('Retry')} onClick={() => retryItem(it)}/>) : it.status === 'done' ? (<CheckCircleIcon className={classNames('size-control-base!', getTextColorTypeClassName(TextColorTypes.success))}/>) : it.progress === 100 ? (<Component.LoadingSpinner size={20}/>) : (<Component.Typography.Label color={TextColorTypes.sub} className='text-xs'>
137
+ {it.progress}%
138
+ </Component.Typography.Label>)}
185
139
  </div>
186
- {it.status === 'uploading' ? (<Component.Typography.Label color={TextColorTypes.sub} className='w-control-2xl shrink-0 text-right text-xs' container>
187
- {it.progress}%
188
- </Component.Typography.Label>) : it.status === 'done' ? (<CheckCircleIcon className={classNames('size-control-base! shrink-0', getTextColorTypeClassName(TextColorTypes.success, true))}/>) : (<ErrorOutlinedIcon className={classNames('size-control-base! shrink-0', getTextColorTypeClassName(TextColorTypes.error, true))}/>)}
189
- <ClearIcon className='size-control-sm! shrink-0 cursor-pointer! bg-transparent!' onClick={() => removeItem(it)}/>
140
+ <Component.Button variant='colored' color={ColorTypes.transparent} size={ControlSize.base} icon={it.status === 'uploading' ? ClearIcon : DeleteOutlinedIcon} className={classNames('shrink-0 p-0!', getTextColorTypeClassName(TextColorTypes.sub))} aria-label={t(it.status === 'uploading' ? 'Cancel' : 'Remove')} onClick={() => removeItem(it)}/>
190
141
  </div>))}
191
142
  </div>)}
192
- <Component.Button type='button' variant='colored' color={ColorTypes.primary} rounded={rounded} className='w-full' label='Done' disabled={uploading} onClick={() => setOpen(false)}/>
193
- </Component.ModalCard>
143
+ <Component.Button type='button' variant='colored' color={ColorTypes.primary} rounded={rounded} className='w-full' label='Done' disabled={uploading} onClick={() => {
144
+ onDone?.(valueOf(committedRef.current));
145
+ setOpen(false);
146
+ }}/>
147
+ </ModalCard>
194
148
  </div>)}
195
149
  </div>);
196
150
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../../src/ui/composite/input/file/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../../src/ui/composite/input/file/index.tsx"],"names":[],"mappings":"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"}