@openrails/contentkit-ui 0.79.0 → 0.81.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/README.md +82 -54
  2. package/dist/client/beacons.d.ts +53 -0
  3. package/dist/client/beacons.js +72 -0
  4. package/dist/client/beacons.js.map +1 -0
  5. package/dist/client/catalog.d.ts +2 -2
  6. package/dist/client/catalog.js +1 -1
  7. package/dist/client/catalog.js.map +1 -1
  8. package/dist/client/client.d.ts +24 -11
  9. package/dist/client/client.js +37 -29
  10. package/dist/client/client.js.map +1 -1
  11. package/dist/client/content/comments.d.ts +12 -8
  12. package/dist/client/content/comments.js +33 -20
  13. package/dist/client/content/comments.js.map +1 -1
  14. package/dist/client/content/favorites.d.ts +24 -9
  15. package/dist/client/content/favorites.js +21 -22
  16. package/dist/client/content/favorites.js.map +1 -1
  17. package/dist/client/content/moderation.d.ts +1 -1
  18. package/dist/client/content/moderation.js.map +1 -1
  19. package/dist/client/content/reactions.d.ts +11 -6
  20. package/dist/client/content/reactions.js +23 -18
  21. package/dist/client/content/reactions.js.map +1 -1
  22. package/dist/client/content/types.d.ts +40 -21
  23. package/dist/client/content/types.js +5 -2
  24. package/dist/client/content/types.js.map +1 -1
  25. package/dist/client/contents.d.ts +55 -0
  26. package/dist/client/contents.js +144 -0
  27. package/dist/client/contents.js.map +1 -0
  28. package/dist/client/discovery.d.ts +126 -0
  29. package/dist/client/discovery.js +125 -0
  30. package/dist/client/discovery.js.map +1 -0
  31. package/dist/client/generated/error-codes.d.ts +1 -1
  32. package/dist/client/generated/error-codes.js +12 -0
  33. package/dist/client/generated/error-codes.js.map +1 -1
  34. package/dist/client/generated/routes.d.ts +1244 -370
  35. package/dist/client/generated/routes.js +1870 -554
  36. package/dist/client/generated/routes.js.map +1 -1
  37. package/dist/client/generated/wire.d.ts +960 -134
  38. package/dist/client/generated/wire.js.map +1 -1
  39. package/dist/client/group-fields.d.ts +25 -0
  40. package/dist/client/group-fields.js +63 -0
  41. package/dist/client/group-fields.js.map +1 -0
  42. package/dist/client/groups.d.ts +58 -0
  43. package/dist/client/groups.js +119 -0
  44. package/dist/client/groups.js.map +1 -0
  45. package/dist/client/http.d.ts +24 -12
  46. package/dist/client/http.js +20 -24
  47. package/dist/client/http.js.map +1 -1
  48. package/dist/client/index.d.ts +11 -6
  49. package/dist/client/media/api.d.ts +1 -1
  50. package/dist/client/media/api.js +4 -2
  51. package/dist/client/media/api.js.map +1 -1
  52. package/dist/client/media/client.d.ts +8 -9
  53. package/dist/client/media/client.js +58 -71
  54. package/dist/client/media/client.js.map +1 -1
  55. package/dist/client/media/ref.d.ts +30 -0
  56. package/dist/client/media/ref.js +10 -3
  57. package/dist/client/media/ref.js.map +1 -1
  58. package/dist/client/offers.d.ts +41 -0
  59. package/dist/client/offers.js +66 -0
  60. package/dist/client/offers.js.map +1 -0
  61. package/dist/client/route.d.ts +2 -0
  62. package/dist/client/route.js +2 -1
  63. package/dist/client/route.js.map +1 -1
  64. package/dist/client/versions.d.ts +20 -0
  65. package/dist/client/versions.js +53 -0
  66. package/dist/client/versions.js.map +1 -0
  67. package/dist/client.js +35 -30
  68. package/dist/components/admin/content-manager.d.ts +80 -0
  69. package/dist/components/admin/content-manager.js +591 -0
  70. package/dist/components/admin/content-manager.js.map +1 -0
  71. package/dist/components/admin/group-manager.d.ts +24 -0
  72. package/dist/components/admin/group-manager.js +244 -0
  73. package/dist/components/admin/group-manager.js.map +1 -0
  74. package/dist/components/admin/media-item-panel.js +1 -1
  75. package/dist/components/admin/media-item-panel.js.map +1 -1
  76. package/dist/components/content/card.d.ts +44 -0
  77. package/dist/components/content/card.js +285 -0
  78. package/dist/components/content/card.js.map +1 -0
  79. package/dist/components/content/editors.d.ts +40 -0
  80. package/dist/components/content/editors.js +764 -0
  81. package/dist/components/content/editors.js.map +1 -0
  82. package/dist/components/content/filters.d.ts +28 -0
  83. package/dist/components/content/filters.js +134 -0
  84. package/dist/components/content/filters.js.map +1 -0
  85. package/dist/components/content/grid.d.ts +62 -0
  86. package/dist/components/content/grid.js +233 -0
  87. package/dist/components/content/grid.js.map +1 -0
  88. package/dist/components/content/index.d.ts +8 -0
  89. package/dist/components/content/listing.d.ts +20 -0
  90. package/dist/components/content/listing.js +150 -0
  91. package/dist/components/content/listing.js.map +1 -0
  92. package/dist/components/content/offer-fields.d.ts +8 -0
  93. package/dist/components/content/offer-fields.js +127 -0
  94. package/dist/components/content/offer-fields.js.map +1 -0
  95. package/dist/components/content/paywall.d.ts +53 -0
  96. package/dist/components/content/paywall.js +221 -0
  97. package/dist/components/content/paywall.js.map +1 -0
  98. package/dist/components/content/search.d.ts +27 -0
  99. package/dist/components/content/search.js +164 -0
  100. package/dist/components/content/search.js.map +1 -0
  101. package/dist/components/groups/banner.d.ts +51 -0
  102. package/dist/components/groups/banner.js +194 -0
  103. package/dist/components/groups/banner.js.map +1 -0
  104. package/dist/components/groups/directory.d.ts +37 -0
  105. package/dist/components/groups/directory.js +117 -0
  106. package/dist/components/groups/directory.js.map +1 -0
  107. package/dist/components/groups/editor.d.ts +44 -0
  108. package/dist/components/groups/editor.js +860 -0
  109. package/dist/components/groups/editor.js.map +1 -0
  110. package/dist/components/groups/fields.d.ts +13 -0
  111. package/dist/components/groups/fields.js +68 -0
  112. package/dist/components/groups/fields.js.map +1 -0
  113. package/dist/components/groups/header.d.ts +25 -0
  114. package/dist/components/groups/header.js +131 -0
  115. package/dist/components/groups/header.js.map +1 -0
  116. package/dist/components/groups/index.d.ts +6 -0
  117. package/dist/components/groups/memberships.d.ts +55 -0
  118. package/dist/components/groups/memberships.js +527 -0
  119. package/dist/components/groups/memberships.js.map +1 -0
  120. package/dist/components/groups/parts.d.ts +49 -0
  121. package/dist/components/groups/parts.js +172 -0
  122. package/dist/components/groups/parts.js.map +1 -0
  123. package/dist/components/media-folder-editor.js +153 -152
  124. package/dist/components/media-folder-editor.js.map +1 -1
  125. package/dist/components/social/comments.d.ts +7 -5
  126. package/dist/components/social/comments.js +6 -2
  127. package/dist/components/social/comments.js.map +1 -1
  128. package/dist/components/social/engagement.d.ts +4 -3
  129. package/dist/components/social/engagement.js.map +1 -1
  130. package/dist/components/social/moderation.d.ts +1 -1
  131. package/dist/components/social/moderation.js +3 -3
  132. package/dist/components/social/moderation.js.map +1 -1
  133. package/dist/editor/rich-text-editor.d.ts +4 -4
  134. package/dist/editor/rich-text-editor.js.map +1 -1
  135. package/dist/index.d.ts +4 -2
  136. package/dist/index.js +23 -9
  137. package/dist/locales/admin/de.js +5 -66
  138. package/dist/locales/admin/de.js.map +1 -1
  139. package/dist/locales/admin/en.d.ts +5 -66
  140. package/dist/locales/admin/en.js +19 -80
  141. package/dist/locales/admin/en.js.map +1 -1
  142. package/dist/locales/admin/es.js +5 -66
  143. package/dist/locales/admin/es.js.map +1 -1
  144. package/dist/locales/admin/ja.js +5 -66
  145. package/dist/locales/admin/ja.js.map +1 -1
  146. package/dist/locales/admin/ko.js +5 -66
  147. package/dist/locales/admin/ko.js.map +1 -1
  148. package/dist/locales/admin/zh.js +5 -66
  149. package/dist/locales/admin/zh.js.map +1 -1
  150. package/dist/locales/content/de.d.ts +2 -0
  151. package/dist/locales/content/de.js +98 -0
  152. package/dist/locales/content/de.js.map +1 -0
  153. package/dist/locales/content/en.d.ts +93 -0
  154. package/dist/locales/content/en.js +98 -0
  155. package/dist/locales/content/en.js.map +1 -0
  156. package/dist/locales/content/es.d.ts +2 -0
  157. package/dist/locales/content/es.js +98 -0
  158. package/dist/locales/content/es.js.map +1 -0
  159. package/dist/locales/content/ja.d.ts +2 -0
  160. package/dist/locales/content/ja.js +98 -0
  161. package/dist/locales/content/ja.js.map +1 -0
  162. package/dist/locales/content/ko.d.ts +2 -0
  163. package/dist/locales/content/ko.js +98 -0
  164. package/dist/locales/content/ko.js.map +1 -0
  165. package/dist/locales/content/zh.d.ts +2 -0
  166. package/dist/locales/content/zh.js +98 -0
  167. package/dist/locales/content/zh.js.map +1 -0
  168. package/dist/locales/de.js +11 -2
  169. package/dist/locales/de.js.map +1 -1
  170. package/dist/locales/discovery/de.d.ts +2 -0
  171. package/dist/locales/discovery/de.js +68 -0
  172. package/dist/locales/discovery/de.js.map +1 -0
  173. package/dist/locales/discovery/en.d.ts +63 -0
  174. package/dist/locales/discovery/en.js +68 -0
  175. package/dist/locales/discovery/en.js.map +1 -0
  176. package/dist/locales/discovery/es.d.ts +2 -0
  177. package/dist/locales/discovery/es.js +68 -0
  178. package/dist/locales/discovery/es.js.map +1 -0
  179. package/dist/locales/discovery/ja.d.ts +2 -0
  180. package/dist/locales/discovery/ja.js +68 -0
  181. package/dist/locales/discovery/ja.js.map +1 -0
  182. package/dist/locales/discovery/ko.d.ts +2 -0
  183. package/dist/locales/discovery/ko.js +68 -0
  184. package/dist/locales/discovery/ko.js.map +1 -0
  185. package/dist/locales/discovery/zh.d.ts +2 -0
  186. package/dist/locales/discovery/zh.js +68 -0
  187. package/dist/locales/discovery/zh.js.map +1 -0
  188. package/dist/locales/en.d.ts +288 -67
  189. package/dist/locales/en.js +11 -2
  190. package/dist/locales/en.js.map +1 -1
  191. package/dist/locales/es.js +11 -2
  192. package/dist/locales/es.js.map +1 -1
  193. package/dist/locales/groups/de.d.ts +2 -0
  194. package/dist/locales/groups/de.js +133 -0
  195. package/dist/locales/groups/de.js.map +1 -0
  196. package/dist/locales/groups/en.d.ts +128 -0
  197. package/dist/locales/groups/en.js +133 -0
  198. package/dist/locales/groups/en.js.map +1 -0
  199. package/dist/locales/groups/es.d.ts +2 -0
  200. package/dist/locales/groups/es.js +133 -0
  201. package/dist/locales/groups/es.js.map +1 -0
  202. package/dist/locales/groups/ja.d.ts +2 -0
  203. package/dist/locales/groups/ja.js +133 -0
  204. package/dist/locales/groups/ja.js.map +1 -0
  205. package/dist/locales/groups/ko.d.ts +2 -0
  206. package/dist/locales/groups/ko.js +133 -0
  207. package/dist/locales/groups/ko.js.map +1 -0
  208. package/dist/locales/groups/zh.d.ts +2 -0
  209. package/dist/locales/groups/zh.js +133 -0
  210. package/dist/locales/groups/zh.js.map +1 -0
  211. package/dist/locales/ja.js +11 -2
  212. package/dist/locales/ja.js.map +1 -1
  213. package/dist/locales/ko.js +11 -2
  214. package/dist/locales/ko.js.map +1 -1
  215. package/dist/locales/social/de.js +2 -1
  216. package/dist/locales/social/de.js.map +1 -1
  217. package/dist/locales/social/en.d.ts +2 -1
  218. package/dist/locales/social/en.js +2 -1
  219. package/dist/locales/social/en.js.map +1 -1
  220. package/dist/locales/social/es.js +2 -1
  221. package/dist/locales/social/es.js.map +1 -1
  222. package/dist/locales/social/ja.js +2 -1
  223. package/dist/locales/social/ja.js.map +1 -1
  224. package/dist/locales/social/ko.js +2 -1
  225. package/dist/locales/social/ko.js.map +1 -1
  226. package/dist/locales/social/zh.js +2 -1
  227. package/dist/locales/social/zh.js.map +1 -1
  228. package/dist/locales/zh.js +11 -2
  229. package/dist/locales/zh.js.map +1 -1
  230. package/dist/react/admin.d.ts +1 -1
  231. package/dist/react/admin.js +8 -6
  232. package/dist/react/admin.js.map +1 -1
  233. package/dist/react/comments.d.ts +9 -7
  234. package/dist/react/comments.js +42 -27
  235. package/dist/react/comments.js.map +1 -1
  236. package/dist/react/contents.d.ts +57 -0
  237. package/dist/react/contents.js +214 -0
  238. package/dist/react/contents.js.map +1 -0
  239. package/dist/react/context.d.ts +1 -1
  240. package/dist/react/context.js.map +1 -1
  241. package/dist/react/crop.js +45 -44
  242. package/dist/react/crop.js.map +1 -1
  243. package/dist/react/detail.d.ts +30 -0
  244. package/dist/react/detail.js +42 -0
  245. package/dist/react/detail.js.map +1 -0
  246. package/dist/react/discovery.d.ts +138 -0
  247. package/dist/react/discovery.js +299 -0
  248. package/dist/react/discovery.js.map +1 -0
  249. package/dist/react/engagement.d.ts +5 -5
  250. package/dist/react/engagement.js +55 -41
  251. package/dist/react/engagement.js.map +1 -1
  252. package/dist/react/folder.js +54 -53
  253. package/dist/react/folder.js.map +1 -1
  254. package/dist/react/groups.d.ts +115 -0
  255. package/dist/react/groups.js +229 -0
  256. package/dist/react/groups.js.map +1 -0
  257. package/dist/react/index.d.ts +5 -1
  258. package/dist/react/public.d.ts +6 -5
  259. package/dist/react/public.js +19 -22
  260. package/dist/react/public.js.map +1 -1
  261. package/dist/react/read.js +105 -106
  262. package/dist/react/read.js.map +1 -1
  263. package/dist/react/resources.d.ts +2 -2
  264. package/dist/react/resources.js +69 -40
  265. package/dist/react/resources.js.map +1 -1
  266. package/dist/react/store.js +41 -39
  267. package/dist/react/store.js.map +1 -1
  268. package/dist/react/upload.js +54 -53
  269. package/dist/react/upload.js.map +1 -1
  270. package/dist/react/use-resource.d.ts +2 -1
  271. package/dist/react/use-resource.js +1 -0
  272. package/dist/react/use-resource.js.map +1 -1
  273. package/dist/react/versions.d.ts +57 -0
  274. package/dist/react/versions.js +94 -0
  275. package/dist/react/versions.js.map +1 -0
  276. package/dist/react/video.js +87 -86
  277. package/dist/react/video.js.map +1 -1
  278. package/dist/react.js +9 -5
  279. package/dist/styles.css +1 -1
  280. package/package.json +1 -1
  281. package/dist/client/content/posts.d.ts +0 -52
  282. package/dist/client/content/posts.js +0 -84
  283. package/dist/client/content/posts.js.map +0 -1
  284. package/dist/client/taxonomy.d.ts +0 -34
  285. package/dist/client/taxonomy.js +0 -84
  286. package/dist/client/taxonomy.js.map +0 -1
  287. package/dist/components/admin/post-manager.d.ts +0 -45
  288. package/dist/components/admin/post-manager.js +0 -602
  289. package/dist/components/admin/post-manager.js.map +0 -1
  290. package/dist/components/admin/taxonomy-manager.d.ts +0 -54
  291. package/dist/components/admin/taxonomy-manager.js +0 -976
  292. package/dist/components/admin/taxonomy-manager.js.map +0 -1
  293. package/dist/react/posts.d.ts +0 -61
  294. package/dist/react/posts.js +0 -183
  295. package/dist/react/posts.js.map +0 -1
@@ -1,25 +1,26 @@
1
1
  import { failureError as e } from "../client/errors.js";
2
- import { stem as t } from "../client/media/client.js";
3
- import { acceptOf as n, ratioLabel as r } from "../client/media/rules.js";
4
- import { megabytes as i } from "../i18n/messages.js";
5
- import { useMessages as a } from "../i18n/context.js";
6
- import { ContentKitUiRoot as o } from "../scope.js";
7
- import { Progress as s } from "../ui/progress.js";
8
- import { EncodeProgress as c } from "./encode-progress.js";
9
- import { isProcessing as l } from "../client/media/windows.js";
10
- import { Alert as u, AlertDescription as d, AlertTitle as f } from "../ui/alert.js";
11
- import { Button as p } from "../ui/button.js";
12
- import { progressLabel as m, progressValue as h } from "./progress.js";
2
+ import { itemKey as t } from "../client/media/ref.js";
3
+ import { stem as n } from "../client/media/client.js";
4
+ import { acceptOf as r, ratioLabel as i } from "../client/media/rules.js";
5
+ import { megabytes as a } from "../i18n/messages.js";
6
+ import { useMessages as o } from "../i18n/context.js";
7
+ import { ContentKitUiRoot as s } from "../scope.js";
8
+ import { Progress as c } from "../ui/progress.js";
9
+ import { EncodeProgress as l } from "./encode-progress.js";
10
+ import { isProcessing as u } from "../client/media/windows.js";
11
+ import { Alert as d, AlertDescription as f, AlertTitle as p } from "../ui/alert.js";
12
+ import { Button as m } from "../ui/button.js";
13
+ import { progressLabel as h, progressValue as g } from "./progress.js";
13
14
  import { ImageCropDialog as ee } from "./image-crop-dialog.js";
14
- import { isAudioType as g, isImageType as _, isSubtitleType as v, isVideoType as y } from "../client/gallery.js";
15
- import { useEditorCrop as b } from "../react/crop.js";
16
- import { nameIn as x, thumbnailOf as S, useMediaFolder as C } from "../react/folder.js";
17
- import { SortableList as w } from "./sortable-list.js";
18
- import { useEffect as T, useImperativeHandle as E, useMemo as D, useRef as te, useState as O } from "react";
15
+ import { isAudioType as _, isImageType as v, isSubtitleType as y, isVideoType as b } from "../client/gallery.js";
16
+ import { useEditorCrop as x } from "../react/crop.js";
17
+ import { nameIn as S, thumbnailOf as C, useMediaFolder as w } from "../react/folder.js";
18
+ import { SortableList as T } from "./sortable-list.js";
19
+ import { useEffect as E, useImperativeHandle as te, useMemo as D, useRef as ne, useState as O } from "react";
19
20
  import { Fragment as k, jsx as A, jsxs as j } from "react/jsx-runtime";
20
21
  import { cn as M } from "cn";
21
- import { Alert02Icon as N, CropIcon as P, Delete02Icon as F, Edit02Icon as I, File01Icon as L, Image01Icon as R, ImageAdd01Icon as ne, Loading03Icon as re, MusicNote01Icon as z, Refresh01Icon as B, RepeatIcon as V, Video01Icon as H } from "@hugeicons/core-free-icons";
22
- import { HugeiconsIcon as U } from "@hugeicons/react";
22
+ import { Alert02Icon as N, CropIcon as P, Delete02Icon as F, Edit02Icon as I, File01Icon as L, Image01Icon as R, ImageAdd01Icon as re, Loading03Icon as z, MusicNote01Icon as B, Refresh01Icon as V, RepeatIcon as H, Video01Icon as U } from "@hugeicons/core-free-icons";
23
+ import { HugeiconsIcon as W } from "@hugeicons/react";
23
24
  //#region src/components/media-folder-editor.tsx
24
25
  var ie = [
25
26
  "",
@@ -27,47 +28,47 @@ var ie = [
27
28
  "4:5",
28
29
  "16:9"
29
30
  ];
30
- function W(e) {
31
- return _(e) ? "image" : y(e) ? "video" : g(e) ? "audio" : v(e) ? "subtitle" : "file";
31
+ function G(e) {
32
+ return v(e) ? "image" : b(e) ? "video" : _(e) ? "audio" : y(e) ? "subtitle" : "file";
32
33
  }
33
- var G = {
34
+ var K = {
34
35
  image: R,
35
- video: H,
36
- audio: z,
36
+ video: U,
37
+ audio: B,
37
38
  subtitle: L,
38
39
  file: L
39
40
  };
40
- function K(e) {
41
- let t = new Set((e?.types ?? []).map(W));
41
+ function q(e) {
42
+ let t = new Set((e?.types ?? []).map(G));
42
43
  return t.size === 1 ? [...t][0] : "file";
43
44
  }
44
45
  function ae(e, t) {
45
46
  let n = [];
46
- for (let a of t) {
47
- if (!a.types.length) continue;
48
- let t = e(`folder.kinds.${K(a)}`), o = a.max_bytes > 0 ? e("folder.limitSize", {
47
+ for (let r of t) {
48
+ if (!r.types.length) continue;
49
+ let t = e(`folder.kinds.${q(r)}`), o = r.max_bytes > 0 ? e("folder.limitSize", {
49
50
  what: t,
50
- size: i(a.max_bytes)
51
+ size: a(r.max_bytes)
51
52
  }) : t;
52
- n.push(a.max ? `${o}, ${e("folder.limitMax", { max: a.max })}` : o), a.min_aspect && a.max_aspect && n.push(e("folder.limitAspect", {
53
- min: r(a.min_aspect),
54
- max: r(a.max_aspect)
53
+ n.push(r.max ? `${o}, ${e("folder.limitMax", { max: r.max })}` : o), r.min_aspect && r.max_aspect && n.push(e("folder.limitAspect", {
54
+ min: i(r.min_aspect),
55
+ max: i(r.max_aspect)
55
56
  }));
56
57
  }
57
58
  return n.join(" · ");
58
59
  }
59
- function q(e) {
60
+ function oe(e) {
60
61
  if (e.folder) {
61
- let { folder: t, ...n } = e;
62
+ let { folder: n, ...r } = e;
62
63
  return /* @__PURE__ */ A(J, {
63
- folder: t,
64
- ...n
65
- }, t.ref ? `${t.ref.kind}/${t.ref.id}` : "");
64
+ folder: n,
65
+ ...r
66
+ }, n.ref ? t(n.ref) : "");
66
67
  }
67
- return /* @__PURE__ */ A(oe, { ...e }, `${e.item.kind}/${e.item.id}`);
68
+ return /* @__PURE__ */ A(se, { ...e }, t(e.item));
68
69
  }
69
- function oe(e) {
70
- let { item: t, ref: n, label: r, toolbar: i, rowActions: a, footer: o, aspects: s, confirmRemove: c, disabled: l, className: u, appearance: d, ...f } = e, p = C(t, f);
70
+ function se(e) {
71
+ let { item: t, ref: n, label: r, toolbar: i, rowActions: a, footer: o, aspects: s, confirmRemove: c, disabled: l, className: u, appearance: d, ...f } = e, p = w(t, f);
71
72
  return /* @__PURE__ */ A(J, {
72
73
  folder: p,
73
74
  ref: n,
@@ -82,45 +83,45 @@ function oe(e) {
82
83
  appearance: d
83
84
  });
84
85
  }
85
- var se = {
86
+ var ce = {
86
87
  kind: "",
87
88
  id: ""
88
89
  };
89
90
  function J(e) {
90
- let { folder: t, ref: r, label: i, toolbar: s, rowActions: c, footer: l, aspects: m = ie, confirmRemove: h, disabled: g, className: _, appearance: v } = e, { t: y, error: x } = a(), { groups: S, queue: C, read: D, options: k } = t;
91
- E(r, () => ({
91
+ let { folder: t, ref: n, label: i, toolbar: a, rowActions: c, footer: l, aspects: u = ie, confirmRemove: h, disabled: g, className: _, appearance: v } = e, { t: y, error: b } = o(), { groups: S, queue: C, read: w, options: D } = t;
92
+ te(n, () => ({
92
93
  discard: t.discard,
93
94
  commit: t.commit,
94
95
  folder: t
95
96
  }), [t]);
96
- let P = k.commit === "auto", I = S.flatMap((e) => e.rule ? [e.rule] : []), L = n(I), R = t.uploads.length + C.items.length + t.waiting.length === 0, z = !!g, [B, V] = O(/* @__PURE__ */ new Set());
97
- T(() => {
97
+ let k = D.commit === "auto", P = S.flatMap((e) => e.rule ? [e.rule] : []), I = r(P), L = t.uploads.length + C.items.length + t.waiting.length === 0, R = !!g, [B, V] = O(/* @__PURE__ */ new Set());
98
+ E(() => {
98
99
  let e = new Set(t.uploads.map((e) => e.path));
99
100
  V((t) => [...t].every((t) => e.has(t)) ? t : new Set([...t].filter((t) => e.has(t))));
100
101
  }, [t.uploads]);
101
- let [H, G] = O(null), K = b(t.ref ?? se, H, {
102
- client: k.client,
103
- onError: k.onError,
104
- onSaved: () => G(null)
105
- }), q = H ? S.find((e) => e.files.some((e) => e.path === H))?.rule : void 0, [oe, J] = O(null), X = te(null), [Z, Q] = O(null), [ue, $] = O(!1), de = {
102
+ let [H, U] = O(null), K = x(t.ref ?? ce, H, {
103
+ client: D.client,
104
+ onError: D.onError,
105
+ onSaved: () => U(null)
106
+ }), q = H ? S.find((e) => e.files.some((e) => e.path === H))?.rule : void 0, [oe, se] = O(null), J = ne(null), [X, Z] = O(null), [Q, $] = O(!1), de = {
106
107
  onDragOver: (e) => {
107
- !z && e.dataTransfer.types.includes("Files") && (e.preventDefault(), $(!0));
108
+ !R && e.dataTransfer.types.includes("Files") && (e.preventDefault(), $(!0));
108
109
  },
109
110
  onDragLeave: (e) => {
110
111
  e.currentTarget.contains(e.relatedTarget) || $(!1);
111
112
  },
112
113
  onDrop: (e) => {
113
- !z && e.dataTransfer.files.length && (e.preventDefault(), $(!1), t.add(e.dataTransfer.files));
114
+ !R && e.dataTransfer.files.length && (e.preventDefault(), $(!1), t.add(e.dataTransfer.files));
114
115
  }
115
116
  }, fe = async () => {
116
117
  let e = [...B];
117
118
  (h === !1 || (h ? await h(e.length) : globalThis.confirm?.(y("folder.confirmRemove", { count: e.length })) ?? !0)) && await t.remove(e).then(() => V(/* @__PURE__ */ new Set()), () => {});
118
119
  }, pe = C.items.filter((e) => e.status === "uploaded").length, me = (e) => /* @__PURE__ */ j("label", {
119
- className: M(e ? "flex cursor-pointer flex-col items-center justify-center gap-2 rounded-lg border border-dashed border-border px-4 py-8 text-center text-sm text-muted-foreground transition-colors hover:border-primary hover:bg-primary/5" : "inline-flex h-8 cursor-pointer items-center gap-1.5 rounded-md border border-border bg-background px-2.5 text-sm font-medium transition-colors hover:bg-muted focus-within:ring-3 focus-within:ring-ring/50", e && ue && "border-primary bg-primary/5", z && "pointer-events-none opacity-50"),
120
+ className: M(e ? "flex cursor-pointer flex-col items-center justify-center gap-2 rounded-lg border border-dashed border-border px-4 py-8 text-center text-sm text-muted-foreground transition-colors hover:border-primary hover:bg-primary/5" : "inline-flex h-8 cursor-pointer items-center gap-1.5 rounded-md border border-border bg-background px-2.5 text-sm font-medium transition-colors hover:bg-muted focus-within:ring-3 focus-within:ring-ring/50", e && Q && "border-primary bg-primary/5", R && "pointer-events-none opacity-50"),
120
121
  "data-ckui": e ? "folder-drop" : "folder-add",
121
122
  children: [
122
- /* @__PURE__ */ A(U, {
123
- icon: ne,
123
+ /* @__PURE__ */ A(W, {
124
+ icon: re,
124
125
  strokeWidth: 1.75,
125
126
  className: e ? "size-7" : "size-4"
126
127
  }),
@@ -128,16 +129,16 @@ function J(e) {
128
129
  className: "font-medium text-foreground",
129
130
  children: y("folder.drop")
130
131
  }) : y("folder.add"),
131
- e && I.length > 0 && /* @__PURE__ */ A("span", {
132
+ e && P.length > 0 && /* @__PURE__ */ A("span", {
132
133
  className: "text-xs",
133
- children: ae(y, I)
134
+ children: ae(y, P)
134
135
  }),
135
136
  /* @__PURE__ */ A("input", {
136
137
  type: "file",
137
138
  multiple: !0,
138
- accept: L,
139
+ accept: I,
139
140
  className: "sr-only",
140
- disabled: z,
141
+ disabled: R,
141
142
  "data-ckui": "file",
142
143
  onChange: (e) => {
143
144
  t.add([...e.target.files ?? []]), e.target.value = "";
@@ -145,11 +146,11 @@ function J(e) {
145
146
  })
146
147
  ]
147
148
  });
148
- return /* @__PURE__ */ j(o, {
149
+ return /* @__PURE__ */ j(s, {
149
150
  appearance: v,
150
151
  className: M("grid gap-3", _),
151
152
  "data-ckui": "media-folder",
152
- "data-over": ue ? "" : void 0,
153
+ "data-over": Q ? "" : void 0,
153
154
  ...de,
154
155
  children: [
155
156
  /* @__PURE__ */ j("div", {
@@ -160,27 +161,27 @@ function J(e) {
160
161
  children: i ?? y("folder.label")
161
162
  }), /* @__PURE__ */ j("div", {
162
163
  className: "flex flex-wrap items-center gap-2",
163
- children: [s, !R && me(!1)]
164
+ children: [a, !L && me(!1)]
164
165
  })]
165
166
  }),
166
- R && (D.read || !t.ref) && me(!0),
167
- R && !D.read && D.loading && /* @__PURE__ */ A("div", {
167
+ L && (w.read || !t.ref) && me(!0),
168
+ L && !w.read && w.loading && /* @__PURE__ */ A("div", {
168
169
  className: "flex justify-center py-6 text-muted-foreground",
169
170
  "data-ckui": "folder-loading",
170
- children: /* @__PURE__ */ A(U, {
171
- icon: re,
171
+ children: /* @__PURE__ */ A(W, {
172
+ icon: z,
172
173
  strokeWidth: 2,
173
174
  className: "size-5 motion-safe:animate-spin"
174
175
  })
175
176
  }),
176
- t.refused.length > 0 && /* @__PURE__ */ j(u, {
177
+ t.refused.length > 0 && /* @__PURE__ */ j(d, {
177
178
  variant: "destructive",
178
179
  role: "alert",
179
180
  "data-ckui": "folder-refused",
180
- children: [/* @__PURE__ */ A(U, {
181
+ children: [/* @__PURE__ */ A(W, {
181
182
  icon: N,
182
183
  strokeWidth: 2
183
- }), /* @__PURE__ */ j(d, { children: [/* @__PURE__ */ A("ul", {
184
+ }), /* @__PURE__ */ j(f, { children: [/* @__PURE__ */ A("ul", {
184
185
  className: "grid gap-0.5",
185
186
  children: t.refused.map((e, t) => /* @__PURE__ */ j("li", { children: [
186
187
  /* @__PURE__ */ A("span", {
@@ -188,9 +189,9 @@ function J(e) {
188
189
  children: e.file.name
189
190
  }),
190
191
  ": ",
191
- x(e.error)
192
+ b(e.error)
192
193
  ] }, t))
193
- }), /* @__PURE__ */ A(p, {
194
+ }), /* @__PURE__ */ A(m, {
194
195
  variant: "outline",
195
196
  size: "xs",
196
197
  className: "mt-1 w-fit",
@@ -198,17 +199,17 @@ function J(e) {
198
199
  children: y("folder.dismiss")
199
200
  })] })]
200
201
  }),
201
- C.blocked && /* @__PURE__ */ j(u, {
202
+ C.blocked && /* @__PURE__ */ j(d, {
202
203
  variant: "destructive",
203
204
  role: "alert",
204
205
  "data-ckui": "folder-paused",
205
206
  children: [
206
- /* @__PURE__ */ A(U, {
207
+ /* @__PURE__ */ A(W, {
207
208
  icon: N,
208
209
  strokeWidth: 2
209
210
  }),
210
- /* @__PURE__ */ A(f, { children: y("folder.paused") }),
211
- /* @__PURE__ */ j(d, { children: [x(C.blocked), /* @__PURE__ */ A(p, {
211
+ /* @__PURE__ */ A(p, { children: y("folder.paused") }),
212
+ /* @__PURE__ */ j(f, { children: [b(C.blocked), /* @__PURE__ */ A(m, {
212
213
  variant: "outline",
213
214
  size: "xs",
214
215
  className: "mt-1 w-fit",
@@ -217,14 +218,14 @@ function J(e) {
217
218
  })] })
218
219
  ]
219
220
  }),
220
- t.error && /* @__PURE__ */ j(u, {
221
+ t.error && /* @__PURE__ */ j(d, {
221
222
  variant: "destructive",
222
223
  role: "alert",
223
224
  "data-ckui": "folder-error",
224
- children: [/* @__PURE__ */ A(U, {
225
+ children: [/* @__PURE__ */ A(W, {
225
226
  icon: N,
226
227
  strokeWidth: 2
227
- }), /* @__PURE__ */ A(d, { children: x(t.error) })]
228
+ }), /* @__PURE__ */ A(f, { children: b(t.error) })]
228
229
  }),
229
230
  B.size > 0 && /* @__PURE__ */ j("div", {
230
231
  className: "flex flex-wrap items-center gap-2 rounded-md bg-muted px-3 py-1.5 text-sm",
@@ -234,17 +235,17 @@ function J(e) {
234
235
  className: "tabular-nums",
235
236
  children: y("folder.selected", { count: B.size })
236
237
  }),
237
- /* @__PURE__ */ j(p, {
238
+ /* @__PURE__ */ j(m, {
238
239
  variant: "destructive",
239
240
  size: "xs",
240
- disabled: z || t.updating,
241
+ disabled: R || t.updating,
241
242
  onClick: () => void fe(),
242
- children: [/* @__PURE__ */ A(U, {
243
+ children: [/* @__PURE__ */ A(W, {
243
244
  icon: F,
244
245
  strokeWidth: 2
245
246
  }), y("folder.removeSelected")]
246
247
  }),
247
- /* @__PURE__ */ A(p, {
248
+ /* @__PURE__ */ A(m, {
248
249
  variant: "ghost",
249
250
  size: "xs",
250
251
  onClick: () => V(/* @__PURE__ */ new Set()),
@@ -252,18 +253,18 @@ function J(e) {
252
253
  })
253
254
  ]
254
255
  }),
255
- S.map((e) => e.files.length ? /* @__PURE__ */ A(ce, {
256
+ S.map((e) => e.files.length ? /* @__PURE__ */ A(le, {
256
257
  group: e,
257
258
  titled: S.length > 1,
258
259
  folder: t,
259
- disabled: z,
260
+ disabled: R,
260
261
  selected: B,
261
262
  onSelect: (e, t) => V((n) => t ? /* @__PURE__ */ new Set([...n, e]) : new Set([...n].filter((t) => t !== e))),
262
263
  renaming: oe,
263
- onRename: J,
264
- onCrop: G,
264
+ onRename: se,
265
+ onCrop: U,
265
266
  onReplace: (e) => {
266
- Q(e), X.current?.click();
267
+ Z(e), J.current?.click();
267
268
  },
268
269
  rowActions: c
269
270
  }, e.path) : null),
@@ -274,7 +275,7 @@ function J(e) {
274
275
  className: "flex min-h-11 items-center gap-2 px-1",
275
276
  "data-ckui": "queue-row",
276
277
  "data-status": "waiting",
277
- children: [/* @__PURE__ */ A(Y, { kind: W(e.type) }), /* @__PURE__ */ j("div", {
278
+ children: [/* @__PURE__ */ A(Y, { kind: G(e.type) }), /* @__PURE__ */ j("div", {
278
279
  className: "grid min-w-0 flex-1 gap-1",
279
280
  children: [/* @__PURE__ */ A("span", {
280
281
  className: "truncate text-sm",
@@ -287,11 +288,11 @@ function J(e) {
287
288
  })]
288
289
  }, t))
289
290
  }),
290
- C.items.length > 0 && /* @__PURE__ */ A(w, {
291
+ C.items.length > 0 && /* @__PURE__ */ A(T, {
291
292
  items: C.items,
292
293
  id: (e) => e.id,
293
294
  name: (e) => e.file.name,
294
- disabled: P || z,
295
+ disabled: k || R,
295
296
  label: y("folder.label"),
296
297
  onMove: (e, t) => C.move(C.items[e].id, t),
297
298
  row: (e) => ({
@@ -299,55 +300,55 @@ function J(e) {
299
300
  "data-ckui": "queue-row",
300
301
  "data-status": e.status
301
302
  }),
302
- children: (e, n) => /* @__PURE__ */ A(le, {
303
+ children: (e, n) => /* @__PURE__ */ A(ue, {
303
304
  item: e,
304
- handle: P ? null : n,
305
- auto: P,
305
+ handle: k ? null : n,
306
+ auto: k,
306
307
  folder: t
307
308
  })
308
309
  }),
309
- (!P && pe > 0 || P && t.error && pe > 0) && /* @__PURE__ */ j(p, {
310
+ (!k && pe > 0 || k && t.error && pe > 0) && /* @__PURE__ */ j(m, {
310
311
  className: "w-fit",
311
- disabled: z || !C.ready || t.committing,
312
+ disabled: R || !C.ready || t.committing,
312
313
  onClick: () => void t.commit().catch(() => {}),
313
314
  "data-ckui": "folder-commit",
314
- children: [t.committing && /* @__PURE__ */ A(U, {
315
- icon: re,
315
+ children: [t.committing && /* @__PURE__ */ A(W, {
316
+ icon: z,
316
317
  strokeWidth: 2,
317
318
  className: "motion-safe:animate-spin"
318
- }), P ? y("folder.commitAgain") : y("folder.commit", { count: C.items.filter((e) => e.status !== "committed").length })]
319
+ }), k ? y("folder.commitAgain") : y("folder.commit", { count: C.items.filter((e) => e.status !== "committed").length })]
319
320
  }),
320
321
  l,
321
322
  /* @__PURE__ */ A("input", {
322
- ref: X,
323
+ ref: J,
323
324
  type: "file",
324
- accept: L,
325
+ accept: I,
325
326
  className: "sr-only",
326
327
  tabIndex: -1,
327
328
  "aria-hidden": !0,
328
329
  onChange: (e) => {
329
330
  let n = e.target.files?.[0];
330
- e.target.value = "", n && Z && t.replace(Z, n).catch(() => {}), Q(null);
331
+ e.target.value = "", n && X && t.replace(X, n).catch(() => {}), Z(null);
331
332
  }
332
333
  }),
333
334
  /* @__PURE__ */ A(ee, {
334
335
  open: !!H,
335
- onOpenChange: (e) => !e && K.status !== "saving" && G(null),
336
+ onOpenChange: (e) => !e && K.status !== "saving" && U(null),
336
337
  source: "source" in K ? K.source ?? null : null,
337
338
  aspect: q?.aspect ?? "",
338
- aspects: q?.aspect ? void 0 : m,
339
+ aspects: q?.aspect ? void 0 : u,
339
340
  initialEdit: "edit" in K ? K.edit : null,
340
341
  minWidth: q?.min_width,
341
342
  title: y("folder.crop"),
342
343
  busy: K.status === "saving",
343
- error: K.status === "error" ? x(K.error) : void 0,
344
+ error: K.status === "error" ? b(K.error) : void 0,
344
345
  onConfirm: (e) => void K.save(e)
345
346
  })
346
347
  ]
347
348
  });
348
349
  }
349
- function ce({ group: e, titled: t, folder: n, disabled: r, selected: i, onSelect: o, renaming: s, onRename: c, onCrop: l, onReplace: u, rowActions: d }) {
350
- let { t: f } = a(), p = f(`folder.kinds.${K(e.rule)}`), m = e.rule?.max;
350
+ function le({ group: e, titled: t, folder: n, disabled: r, selected: i, onSelect: a, renaming: s, onRename: c, onCrop: l, onReplace: u, rowActions: d }) {
351
+ let { t: f } = o(), p = f(`folder.kinds.${q(e.rule)}`), m = e.rule?.max;
351
352
  return /* @__PURE__ */ j("section", {
352
353
  className: "grid gap-1",
353
354
  "data-ckui": "folder-group",
@@ -359,10 +360,10 @@ function ce({ group: e, titled: t, folder: n, disabled: r, selected: i, onSelect
359
360
  " · ",
360
361
  m ? `${e.files.length} / ${m}` : e.files.length
361
362
  ]
362
- }), /* @__PURE__ */ A(w, {
363
+ }), /* @__PURE__ */ A(T, {
363
364
  items: e.files,
364
365
  id: (e) => e.path,
365
- name: (t) => x(e, t.path),
366
+ name: (t) => S(e, t.path),
366
367
  disabled: r || n.updating,
367
368
  label: p,
368
369
  onMove: (t, r) => void n.move(e.files[t].path, r).catch(() => {}),
@@ -371,14 +372,14 @@ function ce({ group: e, titled: t, folder: n, disabled: r, selected: i, onSelect
371
372
  "data-ckui": "upload-row",
372
373
  "data-path": e.path
373
374
  }),
374
- children: (t, a) => /* @__PURE__ */ A(X, {
375
+ children: (t, o) => /* @__PURE__ */ A(X, {
375
376
  file: t,
376
377
  group: e,
377
- handle: a,
378
+ handle: o,
378
379
  folder: n,
379
380
  disabled: r,
380
381
  selected: i.has(t.path),
381
- onSelect: (e) => o(t.path, e),
382
+ onSelect: (e) => a(t.path, e),
382
383
  renaming: s === t.path,
383
384
  onRename: c,
384
385
  onCrop: l,
@@ -398,8 +399,8 @@ function Y({ kind: e, url: t, busy: n }) {
398
399
  loading: "lazy",
399
400
  decoding: "async",
400
401
  className: "size-full object-cover"
401
- }) : /* @__PURE__ */ A(U, {
402
- icon: G[e],
402
+ }) : /* @__PURE__ */ A(W, {
403
+ icon: K[e],
403
404
  strokeWidth: 1.75,
404
405
  className: "size-4.5"
405
406
  }), n && !t && /* @__PURE__ */ A("span", {
@@ -408,14 +409,14 @@ function Y({ kind: e, url: t, busy: n }) {
408
409
  })]
409
410
  });
410
411
  }
411
- function X({ file: n, group: r, handle: i, folder: o, disabled: s, selected: u, onSelect: d, renaming: f, onRename: m, onCrop: h, onReplace: ee, actions: g }) {
412
- let { t: _, error: v } = a(), y = W(n.type), b = x(r, n.path), C = l(n), w = D(() => S(o.read.read, n), [o.read.read, n]), T = s || o.updating, E = n.failed ? v(e(n.failed)) : void 0;
412
+ function X({ file: t, group: r, handle: i, folder: a, disabled: s, selected: c, onSelect: d, renaming: f, onRename: p, onCrop: h, onReplace: g, actions: ee }) {
413
+ let { t: _, error: v } = o(), y = G(t.type), b = S(r, t.path), x = u(t), w = D(() => C(a.read.read, t), [a.read.read, t]), T = s || a.updating, E = t.failed ? v(e(t.failed)) : void 0;
413
414
  return /* @__PURE__ */ j(k, { children: [
414
415
  i,
415
416
  /* @__PURE__ */ A("input", {
416
417
  type: "checkbox",
417
418
  className: "size-4 shrink-0 accent-primary",
418
- checked: u,
419
+ checked: c,
419
420
  disabled: s,
420
421
  "aria-label": _("folder.select", { name: b }),
421
422
  onChange: (e) => d(e.target.checked)
@@ -423,7 +424,7 @@ function X({ file: n, group: r, handle: i, folder: o, disabled: s, selected: u,
423
424
  /* @__PURE__ */ A(Y, {
424
425
  kind: y,
425
426
  url: w?.url,
426
- busy: C
427
+ busy: x
427
428
  }),
428
429
  /* @__PURE__ */ j("div", {
429
430
  className: "grid min-w-0 flex-1 gap-1",
@@ -432,16 +433,16 @@ function X({ file: n, group: r, handle: i, folder: o, disabled: s, selected: u,
432
433
  className: "flex min-w-0 flex-wrap items-center gap-x-2 gap-y-0.5",
433
434
  children: [
434
435
  f ? /* @__PURE__ */ A(Z, {
435
- name: t(b),
436
+ name: n(b),
436
437
  label: _("folder.renameLabel", { name: b }),
437
- onDone: (e) => e === null ? m(null) : o.rename(n.path, e).then(() => m(null))
438
+ onDone: (e) => e === null ? p(null) : a.rename(t.path, e).then(() => p(null))
438
439
  }) : /* @__PURE__ */ A("span", {
439
440
  className: "max-w-full truncate text-sm",
440
- title: n.path,
441
+ title: t.path,
441
442
  "data-ckui": "upload-name",
442
443
  children: b
443
444
  }),
444
- n.edit && /* @__PURE__ */ A("span", {
445
+ t.edit && /* @__PURE__ */ A("span", {
445
446
  className: "shrink-0 rounded-sm border border-border px-1.5 text-[11px] text-muted-foreground",
446
447
  "data-ckui": "edited",
447
448
  children: _("folder.edited")
@@ -458,11 +459,11 @@ function X({ file: n, group: r, handle: i, folder: o, disabled: s, selected: u,
458
459
  className: "text-xs text-destructive",
459
460
  children: E
460
461
  }),
461
- C && y === "video" && /* @__PURE__ */ A(c, {
462
- progress: n.progress,
462
+ x && y === "video" && /* @__PURE__ */ A(l, {
463
+ progress: t.progress,
463
464
  className: "max-w-sm text-xs"
464
465
  }),
465
- C && y !== "video" && /* @__PURE__ */ A("span", {
466
+ x && y !== "video" && /* @__PURE__ */ A("span", {
466
467
  className: "text-xs text-muted-foreground",
467
468
  children: _("folder.processing")
468
469
  })
@@ -472,51 +473,51 @@ function X({ file: n, group: r, handle: i, folder: o, disabled: s, selected: u,
472
473
  className: "flex shrink-0 items-center gap-0.5",
473
474
  "data-ckui": "upload-actions",
474
475
  children: [
475
- g,
476
- y === "image" && /* @__PURE__ */ A(p, {
476
+ ee,
477
+ y === "image" && /* @__PURE__ */ A(m, {
477
478
  variant: "ghost",
478
479
  size: "icon-sm",
479
480
  "aria-label": _("folder.crop"),
480
481
  title: _("folder.crop"),
481
- disabled: T || !!n.staged || !n.size,
482
- onClick: () => h(n.path),
483
- children: /* @__PURE__ */ A(U, {
482
+ disabled: T || !!t.staged || !t.size,
483
+ onClick: () => h(t.path),
484
+ children: /* @__PURE__ */ A(W, {
484
485
  icon: P,
485
486
  strokeWidth: 2
486
487
  })
487
488
  }),
488
- !r.rule?.named && /* @__PURE__ */ A(p, {
489
+ !r.rule?.named && /* @__PURE__ */ A(m, {
489
490
  variant: "ghost",
490
491
  size: "icon-sm",
491
492
  "aria-label": _("common.rename"),
492
493
  title: _("common.rename"),
493
494
  disabled: T,
494
- onClick: () => m(n.path),
495
- children: /* @__PURE__ */ A(U, {
495
+ onClick: () => p(t.path),
496
+ children: /* @__PURE__ */ A(W, {
496
497
  icon: I,
497
498
  strokeWidth: 2
498
499
  })
499
500
  }),
500
- /* @__PURE__ */ A(p, {
501
+ /* @__PURE__ */ A(m, {
501
502
  variant: "ghost",
502
503
  size: "icon-sm",
503
504
  "aria-label": _("common.replace"),
504
505
  title: _("common.replace"),
505
506
  disabled: T,
506
- onClick: () => ee(n.path),
507
- children: /* @__PURE__ */ A(U, {
508
- icon: V,
507
+ onClick: () => g(t.path),
508
+ children: /* @__PURE__ */ A(W, {
509
+ icon: H,
509
510
  strokeWidth: 2
510
511
  })
511
512
  }),
512
- /* @__PURE__ */ A(p, {
513
+ /* @__PURE__ */ A(m, {
513
514
  variant: "ghost",
514
515
  size: "icon-sm",
515
516
  "aria-label": _("common.remove"),
516
517
  title: _("common.remove"),
517
518
  disabled: T,
518
- onClick: () => void o.remove([n.path]).catch(() => {}),
519
- children: /* @__PURE__ */ A(U, {
519
+ onClick: () => void a.remove([t.path]).catch(() => {}),
520
+ children: /* @__PURE__ */ A(W, {
520
521
  icon: F,
521
522
  strokeWidth: 2
522
523
  })
@@ -526,7 +527,7 @@ function X({ file: n, group: r, handle: i, folder: o, disabled: s, selected: u,
526
527
  ] });
527
528
  }
528
529
  function Z({ name: e, label: t, onDone: n }) {
529
- let [r, i] = O(e), a = te(!1), o = (t) => {
530
+ let [r, i] = O(e), a = ne(!1), o = (t) => {
530
531
  a.current || (a.current = !0, Promise.resolve(n(t && t.trim() && t.trim() !== e ? t.trim() : null)).catch(() => a.current = !1));
531
532
  };
532
533
  return /* @__PURE__ */ A("input", {
@@ -544,15 +545,15 @@ function Z({ name: e, label: t, onDone: n }) {
544
545
  }
545
546
  function Q(t, n, r, i) {
546
547
  if (r.status === "failed") return n(r.error);
547
- if (r.status === "uploading") return m(t, r.progress);
548
+ if (r.status === "uploading") return h(t, r.progress);
548
549
  if (r.status === "uploaded") {
549
550
  let a = r.processing;
550
551
  return a?.failed ? n(e(a.failed)) : r.unattached && !r.processed ? a?.progress && a.progress.phase !== "queued" ? t("folder.processingPercent", { percent: Math.round(a.progress.percent) }) : t("folder.processing") : t(i ? "folder.adding" : "folder.uploaded");
551
552
  }
552
553
  return r.status === "committed" ? t("folder.adding") : t("folder.queued");
553
554
  }
554
- function le({ item: e, handle: t, auto: n, folder: r }) {
555
- let { t: i, error: o } = a(), { queue: c } = r, l = W(e.file.type), u = Q(i, o, e, n), d = e.status === "uploading" ? h(e.progress) : e.unattached && !e.processed && e.processing?.progress ? e.processing.progress.percent : null;
555
+ function ue({ item: e, handle: t, auto: n, folder: r }) {
556
+ let { t: i, error: a } = o(), { queue: s } = r, l = G(e.file.type), u = Q(i, a, e, n), d = e.status === "uploading" ? g(e.progress) : e.unattached && !e.processed && e.processing?.progress ? e.processing.progress.percent : null;
556
557
  return /* @__PURE__ */ j(k, { children: [
557
558
  t,
558
559
  /* @__PURE__ */ A(Y, {
@@ -567,7 +568,7 @@ function le({ item: e, handle: t, auto: n, folder: r }) {
567
568
  title: e.path,
568
569
  children: e.file.name
569
570
  }),
570
- d !== null && /* @__PURE__ */ A(s, {
571
+ d !== null && /* @__PURE__ */ A(c, {
571
572
  value: d,
572
573
  "aria-label": u,
573
574
  className: "max-w-sm"
@@ -581,23 +582,23 @@ function le({ item: e, handle: t, auto: n, folder: r }) {
581
582
  }),
582
583
  /* @__PURE__ */ j("span", {
583
584
  className: "flex shrink-0 items-center gap-0.5",
584
- children: [e.status === "failed" && /* @__PURE__ */ A(p, {
585
+ children: [e.status === "failed" && /* @__PURE__ */ A(m, {
585
586
  variant: "ghost",
586
587
  size: "icon-sm",
587
588
  "aria-label": i("common.retry"),
588
589
  title: i("common.retry"),
589
- onClick: () => c.retry(e.id),
590
- children: /* @__PURE__ */ A(U, {
591
- icon: B,
590
+ onClick: () => s.retry(e.id),
591
+ children: /* @__PURE__ */ A(W, {
592
+ icon: V,
592
593
  strokeWidth: 2
593
594
  })
594
- }), /* @__PURE__ */ A(p, {
595
+ }), /* @__PURE__ */ A(m, {
595
596
  variant: "ghost",
596
597
  size: "icon-sm",
597
598
  "aria-label": i("common.remove"),
598
599
  title: i("common.remove"),
599
- onClick: () => c.remove(e.id),
600
- children: /* @__PURE__ */ A(U, {
600
+ onClick: () => s.remove(e.id),
601
+ children: /* @__PURE__ */ A(W, {
601
602
  icon: F,
602
603
  strokeWidth: 2
603
604
  })
@@ -606,6 +607,6 @@ function le({ item: e, handle: t, auto: n, folder: r }) {
606
607
  ] });
607
608
  }
608
609
  //#endregion
609
- export { q as MediaFolderEditor, ae as describeRules };
610
+ export { oe as MediaFolderEditor, ae as describeRules };
610
611
 
611
612
  //# sourceMappingURL=media-folder-editor.js.map