@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.
- package/README.md +82 -54
- package/dist/client/beacons.d.ts +53 -0
- package/dist/client/beacons.js +72 -0
- package/dist/client/beacons.js.map +1 -0
- package/dist/client/catalog.d.ts +2 -2
- package/dist/client/catalog.js +1 -1
- package/dist/client/catalog.js.map +1 -1
- package/dist/client/client.d.ts +24 -11
- package/dist/client/client.js +37 -29
- package/dist/client/client.js.map +1 -1
- package/dist/client/content/comments.d.ts +12 -8
- package/dist/client/content/comments.js +33 -20
- package/dist/client/content/comments.js.map +1 -1
- package/dist/client/content/favorites.d.ts +24 -9
- package/dist/client/content/favorites.js +21 -22
- package/dist/client/content/favorites.js.map +1 -1
- package/dist/client/content/moderation.d.ts +1 -1
- package/dist/client/content/moderation.js.map +1 -1
- package/dist/client/content/reactions.d.ts +11 -6
- package/dist/client/content/reactions.js +23 -18
- package/dist/client/content/reactions.js.map +1 -1
- package/dist/client/content/types.d.ts +40 -21
- package/dist/client/content/types.js +5 -2
- package/dist/client/content/types.js.map +1 -1
- package/dist/client/contents.d.ts +55 -0
- package/dist/client/contents.js +144 -0
- package/dist/client/contents.js.map +1 -0
- package/dist/client/discovery.d.ts +126 -0
- package/dist/client/discovery.js +125 -0
- package/dist/client/discovery.js.map +1 -0
- package/dist/client/generated/error-codes.d.ts +1 -1
- package/dist/client/generated/error-codes.js +12 -0
- package/dist/client/generated/error-codes.js.map +1 -1
- package/dist/client/generated/routes.d.ts +1244 -370
- package/dist/client/generated/routes.js +1870 -554
- package/dist/client/generated/routes.js.map +1 -1
- package/dist/client/generated/wire.d.ts +960 -134
- package/dist/client/generated/wire.js.map +1 -1
- package/dist/client/group-fields.d.ts +25 -0
- package/dist/client/group-fields.js +63 -0
- package/dist/client/group-fields.js.map +1 -0
- package/dist/client/groups.d.ts +58 -0
- package/dist/client/groups.js +119 -0
- package/dist/client/groups.js.map +1 -0
- package/dist/client/http.d.ts +24 -12
- package/dist/client/http.js +20 -24
- package/dist/client/http.js.map +1 -1
- package/dist/client/index.d.ts +11 -6
- package/dist/client/media/api.d.ts +1 -1
- package/dist/client/media/api.js +4 -2
- package/dist/client/media/api.js.map +1 -1
- package/dist/client/media/client.d.ts +8 -9
- package/dist/client/media/client.js +58 -71
- package/dist/client/media/client.js.map +1 -1
- package/dist/client/media/ref.d.ts +30 -0
- package/dist/client/media/ref.js +10 -3
- package/dist/client/media/ref.js.map +1 -1
- package/dist/client/offers.d.ts +41 -0
- package/dist/client/offers.js +66 -0
- package/dist/client/offers.js.map +1 -0
- package/dist/client/route.d.ts +2 -0
- package/dist/client/route.js +2 -1
- package/dist/client/route.js.map +1 -1
- package/dist/client/versions.d.ts +20 -0
- package/dist/client/versions.js +53 -0
- package/dist/client/versions.js.map +1 -0
- package/dist/client.js +35 -30
- package/dist/components/admin/content-manager.d.ts +80 -0
- package/dist/components/admin/content-manager.js +591 -0
- package/dist/components/admin/content-manager.js.map +1 -0
- package/dist/components/admin/group-manager.d.ts +24 -0
- package/dist/components/admin/group-manager.js +244 -0
- package/dist/components/admin/group-manager.js.map +1 -0
- package/dist/components/admin/media-item-panel.js +1 -1
- package/dist/components/admin/media-item-panel.js.map +1 -1
- package/dist/components/content/card.d.ts +44 -0
- package/dist/components/content/card.js +285 -0
- package/dist/components/content/card.js.map +1 -0
- package/dist/components/content/editors.d.ts +40 -0
- package/dist/components/content/editors.js +764 -0
- package/dist/components/content/editors.js.map +1 -0
- package/dist/components/content/filters.d.ts +28 -0
- package/dist/components/content/filters.js +134 -0
- package/dist/components/content/filters.js.map +1 -0
- package/dist/components/content/grid.d.ts +62 -0
- package/dist/components/content/grid.js +233 -0
- package/dist/components/content/grid.js.map +1 -0
- package/dist/components/content/index.d.ts +8 -0
- package/dist/components/content/listing.d.ts +20 -0
- package/dist/components/content/listing.js +150 -0
- package/dist/components/content/listing.js.map +1 -0
- package/dist/components/content/offer-fields.d.ts +8 -0
- package/dist/components/content/offer-fields.js +127 -0
- package/dist/components/content/offer-fields.js.map +1 -0
- package/dist/components/content/paywall.d.ts +53 -0
- package/dist/components/content/paywall.js +221 -0
- package/dist/components/content/paywall.js.map +1 -0
- package/dist/components/content/search.d.ts +27 -0
- package/dist/components/content/search.js +164 -0
- package/dist/components/content/search.js.map +1 -0
- package/dist/components/groups/banner.d.ts +51 -0
- package/dist/components/groups/banner.js +194 -0
- package/dist/components/groups/banner.js.map +1 -0
- package/dist/components/groups/directory.d.ts +37 -0
- package/dist/components/groups/directory.js +117 -0
- package/dist/components/groups/directory.js.map +1 -0
- package/dist/components/groups/editor.d.ts +44 -0
- package/dist/components/groups/editor.js +860 -0
- package/dist/components/groups/editor.js.map +1 -0
- package/dist/components/groups/fields.d.ts +13 -0
- package/dist/components/groups/fields.js +68 -0
- package/dist/components/groups/fields.js.map +1 -0
- package/dist/components/groups/header.d.ts +25 -0
- package/dist/components/groups/header.js +131 -0
- package/dist/components/groups/header.js.map +1 -0
- package/dist/components/groups/index.d.ts +6 -0
- package/dist/components/groups/memberships.d.ts +55 -0
- package/dist/components/groups/memberships.js +527 -0
- package/dist/components/groups/memberships.js.map +1 -0
- package/dist/components/groups/parts.d.ts +49 -0
- package/dist/components/groups/parts.js +172 -0
- package/dist/components/groups/parts.js.map +1 -0
- package/dist/components/media-folder-editor.js +153 -152
- package/dist/components/media-folder-editor.js.map +1 -1
- package/dist/components/social/comments.d.ts +7 -5
- package/dist/components/social/comments.js +6 -2
- package/dist/components/social/comments.js.map +1 -1
- package/dist/components/social/engagement.d.ts +4 -3
- package/dist/components/social/engagement.js.map +1 -1
- package/dist/components/social/moderation.d.ts +1 -1
- package/dist/components/social/moderation.js +3 -3
- package/dist/components/social/moderation.js.map +1 -1
- package/dist/editor/rich-text-editor.d.ts +4 -4
- package/dist/editor/rich-text-editor.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +23 -9
- package/dist/locales/admin/de.js +5 -66
- package/dist/locales/admin/de.js.map +1 -1
- package/dist/locales/admin/en.d.ts +5 -66
- package/dist/locales/admin/en.js +19 -80
- package/dist/locales/admin/en.js.map +1 -1
- package/dist/locales/admin/es.js +5 -66
- package/dist/locales/admin/es.js.map +1 -1
- package/dist/locales/admin/ja.js +5 -66
- package/dist/locales/admin/ja.js.map +1 -1
- package/dist/locales/admin/ko.js +5 -66
- package/dist/locales/admin/ko.js.map +1 -1
- package/dist/locales/admin/zh.js +5 -66
- package/dist/locales/admin/zh.js.map +1 -1
- package/dist/locales/content/de.d.ts +2 -0
- package/dist/locales/content/de.js +98 -0
- package/dist/locales/content/de.js.map +1 -0
- package/dist/locales/content/en.d.ts +93 -0
- package/dist/locales/content/en.js +98 -0
- package/dist/locales/content/en.js.map +1 -0
- package/dist/locales/content/es.d.ts +2 -0
- package/dist/locales/content/es.js +98 -0
- package/dist/locales/content/es.js.map +1 -0
- package/dist/locales/content/ja.d.ts +2 -0
- package/dist/locales/content/ja.js +98 -0
- package/dist/locales/content/ja.js.map +1 -0
- package/dist/locales/content/ko.d.ts +2 -0
- package/dist/locales/content/ko.js +98 -0
- package/dist/locales/content/ko.js.map +1 -0
- package/dist/locales/content/zh.d.ts +2 -0
- package/dist/locales/content/zh.js +98 -0
- package/dist/locales/content/zh.js.map +1 -0
- package/dist/locales/de.js +11 -2
- package/dist/locales/de.js.map +1 -1
- package/dist/locales/discovery/de.d.ts +2 -0
- package/dist/locales/discovery/de.js +68 -0
- package/dist/locales/discovery/de.js.map +1 -0
- package/dist/locales/discovery/en.d.ts +63 -0
- package/dist/locales/discovery/en.js +68 -0
- package/dist/locales/discovery/en.js.map +1 -0
- package/dist/locales/discovery/es.d.ts +2 -0
- package/dist/locales/discovery/es.js +68 -0
- package/dist/locales/discovery/es.js.map +1 -0
- package/dist/locales/discovery/ja.d.ts +2 -0
- package/dist/locales/discovery/ja.js +68 -0
- package/dist/locales/discovery/ja.js.map +1 -0
- package/dist/locales/discovery/ko.d.ts +2 -0
- package/dist/locales/discovery/ko.js +68 -0
- package/dist/locales/discovery/ko.js.map +1 -0
- package/dist/locales/discovery/zh.d.ts +2 -0
- package/dist/locales/discovery/zh.js +68 -0
- package/dist/locales/discovery/zh.js.map +1 -0
- package/dist/locales/en.d.ts +288 -67
- package/dist/locales/en.js +11 -2
- package/dist/locales/en.js.map +1 -1
- package/dist/locales/es.js +11 -2
- package/dist/locales/es.js.map +1 -1
- package/dist/locales/groups/de.d.ts +2 -0
- package/dist/locales/groups/de.js +133 -0
- package/dist/locales/groups/de.js.map +1 -0
- package/dist/locales/groups/en.d.ts +128 -0
- package/dist/locales/groups/en.js +133 -0
- package/dist/locales/groups/en.js.map +1 -0
- package/dist/locales/groups/es.d.ts +2 -0
- package/dist/locales/groups/es.js +133 -0
- package/dist/locales/groups/es.js.map +1 -0
- package/dist/locales/groups/ja.d.ts +2 -0
- package/dist/locales/groups/ja.js +133 -0
- package/dist/locales/groups/ja.js.map +1 -0
- package/dist/locales/groups/ko.d.ts +2 -0
- package/dist/locales/groups/ko.js +133 -0
- package/dist/locales/groups/ko.js.map +1 -0
- package/dist/locales/groups/zh.d.ts +2 -0
- package/dist/locales/groups/zh.js +133 -0
- package/dist/locales/groups/zh.js.map +1 -0
- package/dist/locales/ja.js +11 -2
- package/dist/locales/ja.js.map +1 -1
- package/dist/locales/ko.js +11 -2
- package/dist/locales/ko.js.map +1 -1
- package/dist/locales/social/de.js +2 -1
- package/dist/locales/social/de.js.map +1 -1
- package/dist/locales/social/en.d.ts +2 -1
- package/dist/locales/social/en.js +2 -1
- package/dist/locales/social/en.js.map +1 -1
- package/dist/locales/social/es.js +2 -1
- package/dist/locales/social/es.js.map +1 -1
- package/dist/locales/social/ja.js +2 -1
- package/dist/locales/social/ja.js.map +1 -1
- package/dist/locales/social/ko.js +2 -1
- package/dist/locales/social/ko.js.map +1 -1
- package/dist/locales/social/zh.js +2 -1
- package/dist/locales/social/zh.js.map +1 -1
- package/dist/locales/zh.js +11 -2
- package/dist/locales/zh.js.map +1 -1
- package/dist/react/admin.d.ts +1 -1
- package/dist/react/admin.js +8 -6
- package/dist/react/admin.js.map +1 -1
- package/dist/react/comments.d.ts +9 -7
- package/dist/react/comments.js +42 -27
- package/dist/react/comments.js.map +1 -1
- package/dist/react/contents.d.ts +57 -0
- package/dist/react/contents.js +214 -0
- package/dist/react/contents.js.map +1 -0
- package/dist/react/context.d.ts +1 -1
- package/dist/react/context.js.map +1 -1
- package/dist/react/crop.js +45 -44
- package/dist/react/crop.js.map +1 -1
- package/dist/react/detail.d.ts +30 -0
- package/dist/react/detail.js +42 -0
- package/dist/react/detail.js.map +1 -0
- package/dist/react/discovery.d.ts +138 -0
- package/dist/react/discovery.js +299 -0
- package/dist/react/discovery.js.map +1 -0
- package/dist/react/engagement.d.ts +5 -5
- package/dist/react/engagement.js +55 -41
- package/dist/react/engagement.js.map +1 -1
- package/dist/react/folder.js +54 -53
- package/dist/react/folder.js.map +1 -1
- package/dist/react/groups.d.ts +115 -0
- package/dist/react/groups.js +229 -0
- package/dist/react/groups.js.map +1 -0
- package/dist/react/index.d.ts +5 -1
- package/dist/react/public.d.ts +6 -5
- package/dist/react/public.js +19 -22
- package/dist/react/public.js.map +1 -1
- package/dist/react/read.js +105 -106
- package/dist/react/read.js.map +1 -1
- package/dist/react/resources.d.ts +2 -2
- package/dist/react/resources.js +69 -40
- package/dist/react/resources.js.map +1 -1
- package/dist/react/store.js +41 -39
- package/dist/react/store.js.map +1 -1
- package/dist/react/upload.js +54 -53
- package/dist/react/upload.js.map +1 -1
- package/dist/react/use-resource.d.ts +2 -1
- package/dist/react/use-resource.js +1 -0
- package/dist/react/use-resource.js.map +1 -1
- package/dist/react/versions.d.ts +57 -0
- package/dist/react/versions.js +94 -0
- package/dist/react/versions.js.map +1 -0
- package/dist/react/video.js +87 -86
- package/dist/react/video.js.map +1 -1
- package/dist/react.js +9 -5
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/dist/client/content/posts.d.ts +0 -52
- package/dist/client/content/posts.js +0 -84
- package/dist/client/content/posts.js.map +0 -1
- package/dist/client/taxonomy.d.ts +0 -34
- package/dist/client/taxonomy.js +0 -84
- package/dist/client/taxonomy.js.map +0 -1
- package/dist/components/admin/post-manager.d.ts +0 -45
- package/dist/components/admin/post-manager.js +0 -602
- package/dist/components/admin/post-manager.js.map +0 -1
- package/dist/components/admin/taxonomy-manager.d.ts +0 -54
- package/dist/components/admin/taxonomy-manager.js +0 -976
- package/dist/components/admin/taxonomy-manager.js.map +0 -1
- package/dist/react/posts.d.ts +0 -61
- package/dist/react/posts.js +0 -183
- package/dist/react/posts.js.map +0 -1
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
import { failureError as e } from "../client/errors.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
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
|
|
15
|
-
import { useEditorCrop as
|
|
16
|
-
import { nameIn as
|
|
17
|
-
import { SortableList as
|
|
18
|
-
import { useEffect as
|
|
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
|
|
22
|
-
import { HugeiconsIcon as
|
|
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
|
|
31
|
-
return
|
|
31
|
+
function G(e) {
|
|
32
|
+
return v(e) ? "image" : b(e) ? "video" : _(e) ? "audio" : y(e) ? "subtitle" : "file";
|
|
32
33
|
}
|
|
33
|
-
var
|
|
34
|
+
var K = {
|
|
34
35
|
image: R,
|
|
35
|
-
video:
|
|
36
|
-
audio:
|
|
36
|
+
video: U,
|
|
37
|
+
audio: B,
|
|
37
38
|
subtitle: L,
|
|
38
39
|
file: L
|
|
39
40
|
};
|
|
40
|
-
function
|
|
41
|
-
let t = new Set((e?.types ?? []).map(
|
|
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
|
|
47
|
-
if (!
|
|
48
|
-
let t = e(`folder.kinds.${
|
|
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:
|
|
51
|
+
size: a(r.max_bytes)
|
|
51
52
|
}) : t;
|
|
52
|
-
n.push(
|
|
53
|
-
min: r
|
|
54
|
-
max: r
|
|
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
|
|
60
|
+
function oe(e) {
|
|
60
61
|
if (e.folder) {
|
|
61
|
-
let { folder:
|
|
62
|
+
let { folder: n, ...r } = e;
|
|
62
63
|
return /* @__PURE__ */ A(J, {
|
|
63
|
-
folder:
|
|
64
|
-
...
|
|
65
|
-
},
|
|
64
|
+
folder: n,
|
|
65
|
+
...r
|
|
66
|
+
}, n.ref ? t(n.ref) : "");
|
|
66
67
|
}
|
|
67
|
-
return /* @__PURE__ */ A(
|
|
68
|
+
return /* @__PURE__ */ A(se, { ...e }, t(e.item));
|
|
68
69
|
}
|
|
69
|
-
function
|
|
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 =
|
|
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
|
|
86
|
+
var ce = {
|
|
86
87
|
kind: "",
|
|
87
88
|
id: ""
|
|
88
89
|
};
|
|
89
90
|
function J(e) {
|
|
90
|
-
let { folder: t, ref:
|
|
91
|
-
|
|
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
|
|
97
|
-
|
|
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,
|
|
102
|
-
client:
|
|
103
|
-
onError:
|
|
104
|
-
onSaved: () =>
|
|
105
|
-
}), q = H ? S.find((e) => e.files.some((e) => e.path === H))?.rule : void 0, [oe,
|
|
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
|
-
!
|
|
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
|
-
!
|
|
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 &&
|
|
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(
|
|
123
|
-
icon:
|
|
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 &&
|
|
132
|
+
e && P.length > 0 && /* @__PURE__ */ A("span", {
|
|
132
133
|
className: "text-xs",
|
|
133
|
-
children: ae(y,
|
|
134
|
+
children: ae(y, P)
|
|
134
135
|
}),
|
|
135
136
|
/* @__PURE__ */ A("input", {
|
|
136
137
|
type: "file",
|
|
137
138
|
multiple: !0,
|
|
138
|
-
accept:
|
|
139
|
+
accept: I,
|
|
139
140
|
className: "sr-only",
|
|
140
|
-
disabled:
|
|
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(
|
|
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":
|
|
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: [
|
|
164
|
+
children: [a, !L && me(!1)]
|
|
164
165
|
})]
|
|
165
166
|
}),
|
|
166
|
-
|
|
167
|
-
|
|
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(
|
|
171
|
-
icon:
|
|
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(
|
|
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(
|
|
181
|
+
children: [/* @__PURE__ */ A(W, {
|
|
181
182
|
icon: N,
|
|
182
183
|
strokeWidth: 2
|
|
183
|
-
}), /* @__PURE__ */ j(
|
|
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
|
-
|
|
192
|
+
b(e.error)
|
|
192
193
|
] }, t))
|
|
193
|
-
}), /* @__PURE__ */ A(
|
|
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(
|
|
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(
|
|
207
|
+
/* @__PURE__ */ A(W, {
|
|
207
208
|
icon: N,
|
|
208
209
|
strokeWidth: 2
|
|
209
210
|
}),
|
|
210
|
-
/* @__PURE__ */ A(
|
|
211
|
-
/* @__PURE__ */ j(
|
|
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(
|
|
221
|
+
t.error && /* @__PURE__ */ j(d, {
|
|
221
222
|
variant: "destructive",
|
|
222
223
|
role: "alert",
|
|
223
224
|
"data-ckui": "folder-error",
|
|
224
|
-
children: [/* @__PURE__ */ A(
|
|
225
|
+
children: [/* @__PURE__ */ A(W, {
|
|
225
226
|
icon: N,
|
|
226
227
|
strokeWidth: 2
|
|
227
|
-
}), /* @__PURE__ */ A(
|
|
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(
|
|
238
|
+
/* @__PURE__ */ j(m, {
|
|
238
239
|
variant: "destructive",
|
|
239
240
|
size: "xs",
|
|
240
|
-
disabled:
|
|
241
|
+
disabled: R || t.updating,
|
|
241
242
|
onClick: () => void fe(),
|
|
242
|
-
children: [/* @__PURE__ */ A(
|
|
243
|
+
children: [/* @__PURE__ */ A(W, {
|
|
243
244
|
icon: F,
|
|
244
245
|
strokeWidth: 2
|
|
245
246
|
}), y("folder.removeSelected")]
|
|
246
247
|
}),
|
|
247
|
-
/* @__PURE__ */ A(
|
|
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(
|
|
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:
|
|
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:
|
|
264
|
-
onCrop:
|
|
264
|
+
onRename: se,
|
|
265
|
+
onCrop: U,
|
|
265
266
|
onReplace: (e) => {
|
|
266
|
-
|
|
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:
|
|
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(
|
|
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:
|
|
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(
|
|
303
|
+
children: (e, n) => /* @__PURE__ */ A(ue, {
|
|
303
304
|
item: e,
|
|
304
|
-
handle:
|
|
305
|
-
auto:
|
|
305
|
+
handle: k ? null : n,
|
|
306
|
+
auto: k,
|
|
306
307
|
folder: t
|
|
307
308
|
})
|
|
308
309
|
}),
|
|
309
|
-
(!
|
|
310
|
+
(!k && pe > 0 || k && t.error && pe > 0) && /* @__PURE__ */ j(m, {
|
|
310
311
|
className: "w-fit",
|
|
311
|
-
disabled:
|
|
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(
|
|
315
|
-
icon:
|
|
315
|
+
children: [t.committing && /* @__PURE__ */ A(W, {
|
|
316
|
+
icon: z,
|
|
316
317
|
strokeWidth: 2,
|
|
317
318
|
className: "motion-safe:animate-spin"
|
|
318
|
-
}),
|
|
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:
|
|
323
|
+
ref: J,
|
|
323
324
|
type: "file",
|
|
324
|
-
accept:
|
|
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 &&
|
|
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" &&
|
|
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 :
|
|
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" ?
|
|
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
|
|
350
|
-
let { t: f } =
|
|
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(
|
|
363
|
+
}), /* @__PURE__ */ A(T, {
|
|
363
364
|
items: e.files,
|
|
364
365
|
id: (e) => e.path,
|
|
365
|
-
name: (t) =>
|
|
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,
|
|
375
|
+
children: (t, o) => /* @__PURE__ */ A(X, {
|
|
375
376
|
file: t,
|
|
376
377
|
group: e,
|
|
377
|
-
handle:
|
|
378
|
+
handle: o,
|
|
378
379
|
folder: n,
|
|
379
380
|
disabled: r,
|
|
380
381
|
selected: i.has(t.path),
|
|
381
|
-
onSelect: (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(
|
|
402
|
-
icon:
|
|
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:
|
|
412
|
-
let { t: _, error: v } =
|
|
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:
|
|
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:
|
|
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:
|
|
436
|
+
name: n(b),
|
|
436
437
|
label: _("folder.renameLabel", { name: b }),
|
|
437
|
-
onDone: (e) => e === 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:
|
|
441
|
+
title: t.path,
|
|
441
442
|
"data-ckui": "upload-name",
|
|
442
443
|
children: b
|
|
443
444
|
}),
|
|
444
|
-
|
|
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
|
-
|
|
462
|
-
progress:
|
|
462
|
+
x && y === "video" && /* @__PURE__ */ A(l, {
|
|
463
|
+
progress: t.progress,
|
|
463
464
|
className: "max-w-sm text-xs"
|
|
464
465
|
}),
|
|
465
|
-
|
|
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
|
-
|
|
476
|
-
y === "image" && /* @__PURE__ */ A(
|
|
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 || !!
|
|
482
|
-
onClick: () => h(
|
|
483
|
-
children: /* @__PURE__ */ A(
|
|
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(
|
|
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: () =>
|
|
495
|
-
children: /* @__PURE__ */ A(
|
|
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(
|
|
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: () =>
|
|
507
|
-
children: /* @__PURE__ */ A(
|
|
508
|
-
icon:
|
|
507
|
+
onClick: () => g(t.path),
|
|
508
|
+
children: /* @__PURE__ */ A(W, {
|
|
509
|
+
icon: H,
|
|
509
510
|
strokeWidth: 2
|
|
510
511
|
})
|
|
511
512
|
}),
|
|
512
|
-
/* @__PURE__ */ A(
|
|
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
|
|
519
|
-
children: /* @__PURE__ */ A(
|
|
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 =
|
|
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
|
|
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
|
|
555
|
-
let { t: i, error:
|
|
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(
|
|
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(
|
|
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: () =>
|
|
590
|
-
children: /* @__PURE__ */ A(
|
|
591
|
-
icon:
|
|
590
|
+
onClick: () => s.retry(e.id),
|
|
591
|
+
children: /* @__PURE__ */ A(W, {
|
|
592
|
+
icon: V,
|
|
592
593
|
strokeWidth: 2
|
|
593
594
|
})
|
|
594
|
-
}), /* @__PURE__ */ A(
|
|
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: () =>
|
|
600
|
-
children: /* @__PURE__ */ A(
|
|
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 {
|
|
610
|
+
export { oe as MediaFolderEditor, ae as describeRules };
|
|
610
611
|
|
|
611
612
|
//# sourceMappingURL=media-folder-editor.js.map
|