@vielzeug/refine 2.2.5 → 2.4.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/dist/accordion-item.cjs +1 -1
- package/dist/accordion-item.cjs.map +1 -1
- package/dist/accordion-item.js +1 -1
- package/dist/accordion-item.js.map +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.cjs.map +1 -1
- package/dist/card.js +1 -1
- package/dist/card.js.map +1 -1
- package/dist/carousel.cjs +1 -1
- package/dist/carousel.cjs.map +1 -1
- package/dist/carousel.js +1 -1
- package/dist/carousel.js.map +1 -1
- package/dist/chat-message.cjs +9 -9
- package/dist/chat-message.cjs.map +1 -1
- package/dist/chat-message.js +41 -38
- package/dist/chat-message.js.map +1 -1
- package/dist/combobox.cjs +9 -7
- package/dist/combobox.cjs.map +1 -1
- package/dist/combobox.js +55 -48
- package/dist/combobox.js.map +1 -1
- package/dist/command-palette.cjs +1 -1
- package/dist/command-palette.cjs.map +1 -1
- package/dist/command-palette.js +1 -1
- package/dist/command-palette.js.map +1 -1
- package/dist/content/index.d.ts +2 -0
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/list/list-item.css.cjs +1 -1
- package/dist/content/list/list-item.css.cjs.map +1 -1
- package/dist/content/list/list-item.css.js +1 -1
- package/dist/content/list/list-item.css.js.map +1 -1
- package/dist/content/list/list-item.d.ts +9 -0
- package/dist/content/list/list-item.d.ts.map +1 -1
- package/dist/content/stats/stats.css.cjs +2 -0
- package/dist/content/stats/stats.css.cjs.map +1 -0
- package/dist/content/stats/stats.css.js +6 -0
- package/dist/content/stats/stats.css.js.map +1 -0
- package/dist/content/stats/stats.d.ts +72 -0
- package/dist/content/stats/stats.d.ts.map +1 -0
- package/dist/core/announcer.cjs +1 -1
- package/dist/core/announcer.cjs.map +1 -1
- package/dist/core/announcer.d.ts +13 -3
- package/dist/core/announcer.d.ts.map +1 -1
- package/dist/core/announcer.js +16 -9
- package/dist/core/announcer.js.map +1 -1
- package/dist/core/auto-resize.cjs +1 -1
- package/dist/core/auto-resize.cjs.map +1 -1
- package/dist/core/auto-resize.js +1 -1
- package/dist/core/auto-resize.js.map +1 -1
- package/dist/custom-elements.json +4457 -4161
- package/dist/datagrid.cjs +199 -179
- package/dist/datagrid.cjs.map +1 -1
- package/dist/datagrid.js +435 -321
- package/dist/datagrid.js.map +1 -1
- package/dist/disclosure/tab-item/tab-item.css.cjs +1 -1
- package/dist/disclosure/tab-item/tab-item.css.cjs.map +1 -1
- package/dist/disclosure/tab-item/tab-item.css.js +1 -1
- package/dist/disclosure/tab-item/tab-item.css.js.map +1 -1
- package/dist/disclosure/tab-item/tab-item.d.ts +3 -0
- package/dist/disclosure/tab-item/tab-item.d.ts.map +1 -1
- package/dist/disclosure/tabs/tabs.css.cjs +1 -1
- package/dist/disclosure/tabs/tabs.css.cjs.map +1 -1
- package/dist/disclosure/tabs/tabs.css.js +1 -1
- package/dist/disclosure/tabs/tabs.css.js.map +1 -1
- package/dist/disclosure/tabs/tabs.d.ts +4 -0
- package/dist/disclosure/tabs/tabs.d.ts.map +1 -1
- package/dist/feedback/typing-indicator/typing-indicator.d.ts +2 -2
- package/dist/file-input.cjs +49 -49
- package/dist/file-input.cjs.map +1 -1
- package/dist/file-input.js +128 -127
- package/dist/file-input.js.map +1 -1
- package/dist/frameworks/elements.d.ts +2 -1
- package/dist/icon.cjs +1 -1
- package/dist/icon.cjs.map +1 -1
- package/dist/icon.js +1 -1
- package/dist/icon.js.map +1 -1
- package/dist/input.cjs +5 -4
- package/dist/input.cjs.map +1 -1
- package/dist/input.js +14 -8
- package/dist/input.js.map +1 -1
- package/dist/inputs/combobox/combobox-options.cjs +1 -1
- package/dist/inputs/combobox/combobox-options.cjs.map +1 -1
- package/dist/inputs/combobox/combobox-options.d.ts.map +1 -1
- package/dist/inputs/combobox/combobox-options.js +1 -0
- package/dist/inputs/combobox/combobox-options.js.map +1 -1
- package/dist/inputs/combobox/combobox.css.cjs +1 -1
- package/dist/inputs/combobox/combobox.css.cjs.map +1 -1
- package/dist/inputs/combobox/combobox.css.js +1 -1
- package/dist/inputs/combobox/combobox.css.js.map +1 -1
- package/dist/inputs/combobox/combobox.d.ts +1 -0
- package/dist/inputs/combobox/combobox.d.ts.map +1 -1
- package/dist/inputs/combobox/combobox.types.d.ts +7 -0
- package/dist/inputs/combobox/combobox.types.d.ts.map +1 -1
- package/dist/inputs/datagrid/datagrid-model.cjs +1 -1
- package/dist/inputs/datagrid/datagrid-model.cjs.map +1 -1
- package/dist/inputs/datagrid/datagrid-model.d.ts +17 -3
- package/dist/inputs/datagrid/datagrid-model.d.ts.map +1 -1
- package/dist/inputs/datagrid/datagrid-model.js +93 -70
- package/dist/inputs/datagrid/datagrid-model.js.map +1 -1
- package/dist/inputs/datagrid/datagrid.css.cjs +1 -1
- package/dist/inputs/datagrid/datagrid.css.cjs.map +1 -1
- package/dist/inputs/datagrid/datagrid.css.js +1 -1
- package/dist/inputs/datagrid/datagrid.css.js.map +1 -1
- package/dist/inputs/datagrid/datagrid.d.ts +54 -4
- package/dist/inputs/datagrid/datagrid.d.ts.map +1 -1
- package/dist/inputs/file-input/file-input-upload.cjs +1 -1
- package/dist/inputs/file-input/file-input-upload.cjs.map +1 -1
- package/dist/inputs/file-input/file-input-upload.d.ts +2 -0
- package/dist/inputs/file-input/file-input-upload.d.ts.map +1 -1
- package/dist/inputs/file-input/file-input-upload.js +5 -2
- package/dist/inputs/file-input/file-input-upload.js.map +1 -1
- package/dist/inputs/file-input/file-input.d.ts.map +1 -1
- package/dist/inputs/index.d.ts +1 -1
- package/dist/inputs/index.d.ts.map +1 -1
- package/dist/inputs/input/input.css.cjs +1 -1
- package/dist/inputs/input/input.css.cjs.map +1 -1
- package/dist/inputs/input/input.css.js +1 -1
- package/dist/inputs/input/input.css.js.map +1 -1
- package/dist/inputs/input/input.d.ts +3 -0
- package/dist/inputs/input/input.d.ts.map +1 -1
- package/dist/inputs/select/select.css.cjs +1 -1
- package/dist/inputs/select/select.css.cjs.map +1 -1
- package/dist/inputs/select/select.css.js +1 -1
- package/dist/inputs/select/select.css.js.map +1 -1
- package/dist/inputs/select/select.d.ts +5 -0
- package/dist/inputs/select/select.d.ts.map +1 -1
- package/dist/layout/navbar/navbar.d.ts +2 -0
- package/dist/layout/navbar/navbar.d.ts.map +1 -1
- package/dist/layout/sidebar/sidebar.css.cjs +1 -1
- package/dist/layout/sidebar/sidebar.css.cjs.map +1 -1
- package/dist/layout/sidebar/sidebar.css.js +1 -1
- package/dist/layout/sidebar/sidebar.css.js.map +1 -1
- package/dist/layout/sidebar/sidebar.d.ts +8 -0
- package/dist/layout/sidebar/sidebar.d.ts.map +1 -1
- package/dist/list-item.cjs +6 -5
- package/dist/list-item.cjs.map +1 -1
- package/dist/list-item.js +23 -17
- package/dist/list-item.js.map +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.cjs.map +1 -1
- package/dist/list.js +1 -1
- package/dist/list.js.map +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.cjs.map +1 -1
- package/dist/menu.js +1 -1
- package/dist/menu.js.map +1 -1
- package/dist/navbar.cjs +2 -2
- package/dist/navbar.cjs.map +1 -1
- package/dist/navbar.js +7 -5
- package/dist/navbar.js.map +1 -1
- package/dist/navigation-menu.cjs +1 -1
- package/dist/navigation-menu.cjs.map +1 -1
- package/dist/navigation-menu.js +1 -1
- package/dist/navigation-menu.js.map +1 -1
- package/dist/overlay/popover/popover.css.cjs +1 -1
- package/dist/overlay/popover/popover.css.cjs.map +1 -1
- package/dist/overlay/popover/popover.css.js +1 -1
- package/dist/overlay/popover/popover.css.js.map +1 -1
- package/dist/overlay/popover/popover.d.ts +1 -0
- package/dist/overlay/popover/popover.d.ts.map +1 -1
- package/dist/overlay/shared/use-dialog.cjs +1 -1
- package/dist/overlay/shared/use-dialog.cjs.map +1 -1
- package/dist/overlay/shared/use-dialog.js +1 -1
- package/dist/overlay/shared/use-dialog.js.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.cjs +1 -1
- package/dist/overlay/shared/use-floating-trigger.cjs.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.js +1 -1
- package/dist/overlay/shared/use-floating-trigger.js.map +1 -1
- package/dist/popover.cjs.map +1 -1
- package/dist/popover.js.map +1 -1
- package/dist/radio.cjs +1 -1
- package/dist/radio.cjs.map +1 -1
- package/dist/radio.js +10 -8
- package/dist/radio.js.map +1 -1
- package/dist/rating.cjs +1 -1
- package/dist/rating.cjs.map +1 -1
- package/dist/rating.js +1 -1
- package/dist/rating.js.map +1 -1
- package/dist/refine.cjs +428 -379
- package/dist/refine.cjs.map +1 -1
- package/dist/refine.iife.js +428 -379
- package/dist/refine.iife.js.map +1 -1
- package/dist/refine.js +458 -409
- package/dist/refine.js.map +1 -1
- package/dist/select.cjs +16 -14
- package/dist/select.cjs.map +1 -1
- package/dist/select.js +118 -112
- package/dist/select.js.map +1 -1
- package/dist/sidebar.cjs +28 -23
- package/dist/sidebar.cjs.map +1 -1
- package/dist/sidebar.js +112 -77
- package/dist/sidebar.js.map +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.cjs.map +1 -1
- package/dist/slider.js +1 -1
- package/dist/slider.js.map +1 -1
- package/dist/stats.cjs +18 -0
- package/dist/stats.cjs.map +1 -0
- package/dist/stats.js +88 -0
- package/dist/stats.js.map +1 -0
- package/dist/stepper.cjs +1 -1
- package/dist/stepper.cjs.map +1 -1
- package/dist/stepper.js +1 -1
- package/dist/stepper.js.map +1 -1
- package/dist/styles/mixins/animation.css.cjs +2 -0
- package/dist/styles/mixins/animation.css.cjs.map +1 -1
- package/dist/styles/mixins/animation.css.d.ts.map +1 -1
- package/dist/styles/mixins/animation.css.js +2 -0
- package/dist/styles/mixins/animation.css.js.map +1 -1
- package/dist/tab-item.cjs +1 -1
- package/dist/tab-item.cjs.map +1 -1
- package/dist/tab-item.js +3 -2
- package/dist/tab-item.js.map +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.cjs.map +1 -1
- package/dist/tabs.js +3 -1
- package/dist/tabs.js.map +1 -1
- package/dist/toast.cjs.map +1 -1
- package/dist/toast.js.map +1 -1
- package/dist/typing-indicator.cjs +1 -1
- package/dist/typing-indicator.cjs.map +1 -1
- package/dist/typing-indicator.js +8 -7
- package/dist/typing-indicator.js.map +1 -1
- package/package.json +66 -58
package/dist/file-input.js
CHANGED
|
@@ -7,179 +7,180 @@ import { bindRefCallback as c } from "./core/ref-callback.js";
|
|
|
7
7
|
import { FILE_INPUT_SIZE_PRESET as l } from "./shared/size-presets.js";
|
|
8
8
|
import u from "./inputs/file-input/file-input.css.js";
|
|
9
9
|
import { createFileQueue as d, formatBytes as f } from "./inputs/file-input/file-input-upload.js";
|
|
10
|
-
import { bind as p, createStableId as m, define as h,
|
|
11
|
-
import { computed as
|
|
12
|
-
import { createDropZone as
|
|
10
|
+
import { bind as p, createStableId as m, define as h, getHost as g, html as _, onCleanup as v, onElement as y, onEvent as b, onMounted as x, prop as S, ref as C, useEmit as w, useField as T, when as E } from "@vielzeug/ore";
|
|
11
|
+
import { computed as D, signal as O, watch as k } from "@vielzeug/ripple";
|
|
12
|
+
import { createDropZone as A } from "@vielzeug/dnd";
|
|
13
13
|
//#region src/inputs/file-input/file-input.ts
|
|
14
|
-
var
|
|
15
|
-
h(
|
|
14
|
+
var j = (e) => e.type.startsWith("image/"), M = "ore-file-input";
|
|
15
|
+
h(M, {
|
|
16
16
|
formAssociated: !0,
|
|
17
17
|
props: {
|
|
18
|
-
accept:
|
|
19
|
-
color:
|
|
20
|
-
disabled:
|
|
21
|
-
error:
|
|
22
|
-
gallery:
|
|
23
|
-
helper:
|
|
24
|
-
label:
|
|
25
|
-
"max-files":
|
|
26
|
-
"max-size":
|
|
27
|
-
multiple:
|
|
28
|
-
name:
|
|
29
|
-
ref:
|
|
30
|
-
required:
|
|
31
|
-
size:
|
|
32
|
-
upload:
|
|
18
|
+
accept: S.string(),
|
|
19
|
+
color: S.string(),
|
|
20
|
+
disabled: S.bool(!1),
|
|
21
|
+
error: S.string(),
|
|
22
|
+
gallery: S.bool(!1),
|
|
23
|
+
helper: S.string(),
|
|
24
|
+
label: S.string(),
|
|
25
|
+
"max-files": S.number(0),
|
|
26
|
+
"max-size": S.number(0),
|
|
27
|
+
multiple: S.bool(!1),
|
|
28
|
+
name: S.string(),
|
|
29
|
+
ref: S.data(),
|
|
30
|
+
required: S.bool(!1),
|
|
31
|
+
size: S.string(),
|
|
32
|
+
upload: S.data()
|
|
33
33
|
},
|
|
34
34
|
setup(e) {
|
|
35
|
-
let t =
|
|
35
|
+
let t = g(), n = w(), r = O(!1), i = O(null), a = D(() => !!e.disabled.value), o = D(() => e["max-files"].value ?? 0), l = D(() => e["max-size"].value ?? 0), u = d({
|
|
36
36
|
accept: e.accept,
|
|
37
|
-
disabled:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
disabled: a,
|
|
38
|
+
document: t.ownerDocument,
|
|
39
|
+
maxFiles: o,
|
|
40
|
+
maxSize: l,
|
|
41
|
+
multiple: D(() => !!e.multiple.value),
|
|
42
|
+
onChange: (e, t) => n("change", {
|
|
42
43
|
files: e,
|
|
43
|
-
originalEvent:
|
|
44
|
+
originalEvent: t,
|
|
44
45
|
value: e
|
|
45
46
|
}),
|
|
46
|
-
onRemove: (e,
|
|
47
|
+
onRemove: (e, t, r) => n("remove", {
|
|
47
48
|
file: e,
|
|
48
|
-
files:
|
|
49
|
+
files: t,
|
|
49
50
|
originalEvent: r,
|
|
50
|
-
value:
|
|
51
|
+
value: t
|
|
51
52
|
}),
|
|
52
|
-
onUploadError: (e,
|
|
53
|
-
error:
|
|
53
|
+
onUploadError: (e, t) => n("upload-error", {
|
|
54
|
+
error: t,
|
|
54
55
|
file: e
|
|
55
56
|
}),
|
|
56
|
-
onUploadProgress: (e,
|
|
57
|
+
onUploadProgress: (e, t, r) => n("upload-progress", {
|
|
57
58
|
file: e,
|
|
58
|
-
loaded:
|
|
59
|
+
loaded: t,
|
|
59
60
|
total: r
|
|
60
61
|
}),
|
|
61
|
-
onUploadSuccess: (e) =>
|
|
62
|
-
upload:
|
|
62
|
+
onUploadSuccess: (e) => n("upload-success", { file: e }),
|
|
63
|
+
upload: D(() => e.upload.value ?? void 0)
|
|
63
64
|
});
|
|
64
|
-
|
|
65
|
-
disabled:
|
|
65
|
+
v(() => u.dispose()), T({
|
|
66
|
+
disabled: a,
|
|
66
67
|
toFormValue: (t) => {
|
|
67
68
|
if (t.length === 0) return null;
|
|
68
69
|
let n = e.name.value || "file", r = new FormData();
|
|
69
70
|
for (let e of t) r.append(n, e);
|
|
70
71
|
return r;
|
|
71
72
|
},
|
|
72
|
-
value:
|
|
73
|
+
value: u.files
|
|
73
74
|
});
|
|
74
|
-
let
|
|
75
|
+
let h = D(() => !!e.error.value);
|
|
75
76
|
p({ attr: {
|
|
76
|
-
"drag-over": () =>
|
|
77
|
-
invalid: () =>
|
|
77
|
+
"drag-over": () => r.value ? !0 : void 0,
|
|
78
|
+
invalid: () => h.value ? !0 : void 0,
|
|
78
79
|
size: e.size
|
|
79
80
|
} });
|
|
80
|
-
let
|
|
81
|
+
let S = m("file-input"), M = `label-${S}`, N = `helper-${S}`, P = `error-${S}`, F = C(), I = C(), L = D(() => {
|
|
81
82
|
let t = [];
|
|
82
83
|
e.accept.value && t.push(e.accept.value.split(",").map((e) => e.trim()).join(", "));
|
|
83
|
-
let n =
|
|
84
|
+
let n = l.value;
|
|
84
85
|
n > 0 && t.push(`max ${f(n)}`);
|
|
85
|
-
let r =
|
|
86
|
+
let r = o.value;
|
|
86
87
|
return r > 0 && t.push(`up to ${r} file${r === 1 ? "" : "s"}`), t.join(" · ");
|
|
87
88
|
});
|
|
88
|
-
function I(e) {
|
|
89
|
-
r.value = e, P.value?.click();
|
|
90
|
-
}
|
|
91
|
-
let L = /* @__PURE__ */ new Map();
|
|
92
89
|
function R(e) {
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
i.value = e, I.value?.click();
|
|
91
|
+
}
|
|
92
|
+
let z = /* @__PURE__ */ new Map();
|
|
93
|
+
function B(e) {
|
|
94
|
+
let t = z.get(e);
|
|
95
|
+
return t || (t = URL.createObjectURL(e), z.set(e, t)), t;
|
|
95
96
|
}
|
|
96
|
-
function
|
|
97
|
+
function V(e) {
|
|
97
98
|
let t = new Set(e);
|
|
98
|
-
for (let [e, n] of
|
|
99
|
+
for (let [e, n] of z) t.has(e) || (URL.revokeObjectURL(n), z.delete(e));
|
|
99
100
|
}
|
|
100
|
-
return
|
|
101
|
-
for (let e of
|
|
102
|
-
|
|
103
|
-
}),
|
|
104
|
-
let e =
|
|
105
|
-
disabled:
|
|
101
|
+
return k(u.files, V), v(() => {
|
|
102
|
+
for (let e of z.values()) URL.revokeObjectURL(e);
|
|
103
|
+
z.clear();
|
|
104
|
+
}), y(I, (t) => c(e.ref, t)), x(() => {
|
|
105
|
+
let e = I.value, t = F.value, n = !1, o = s({
|
|
106
|
+
disabled: a,
|
|
106
107
|
onPress: () => {
|
|
107
108
|
e.click();
|
|
108
109
|
}
|
|
109
110
|
});
|
|
110
|
-
|
|
111
|
-
let t = e.target, n =
|
|
112
|
-
|
|
113
|
-
}),
|
|
111
|
+
b(e, "change", (e) => {
|
|
112
|
+
let t = e.target, n = i.value;
|
|
113
|
+
i.value = null, n && t.files?.[0] ? u.replaceFile(n, t.files[0], e) : t.files?.length && u.addFiles(Array.from(t.files), e), t.value = "";
|
|
114
|
+
}), b(t, "click", (t) => {
|
|
114
115
|
if (t.target !== e) {
|
|
115
|
-
if (
|
|
116
|
-
|
|
116
|
+
if (n) {
|
|
117
|
+
n = !1;
|
|
117
118
|
return;
|
|
118
119
|
}
|
|
119
|
-
|
|
120
|
+
a.value || e.click();
|
|
120
121
|
}
|
|
121
|
-
}),
|
|
122
|
-
|
|
123
|
-
}),
|
|
124
|
-
let
|
|
122
|
+
}), b(t, "keydown", (e) => {
|
|
123
|
+
n = o.handleKeydown(e) && e.key === "Enter";
|
|
124
|
+
}), k(a, (e) => {
|
|
125
|
+
let n = A({
|
|
125
126
|
disabled: e,
|
|
126
127
|
element: t,
|
|
127
|
-
onDrop: (e) =>
|
|
128
|
+
onDrop: (e) => u.addFiles(e),
|
|
128
129
|
onHoverChange: (e) => {
|
|
129
|
-
|
|
130
|
+
r.value = e;
|
|
130
131
|
}
|
|
131
132
|
});
|
|
132
|
-
return () =>
|
|
133
|
+
return () => n.dispose();
|
|
133
134
|
}, { immediate: !0 });
|
|
134
|
-
}),
|
|
135
|
+
}), _`
|
|
135
136
|
<div class="file-input-wrapper" part="wrapper">
|
|
136
|
-
<label class="label-outside" id="${
|
|
137
|
+
<label class="label-outside" id="${M}" part="label" ?hidden=${() => !e.label.value}>
|
|
137
138
|
${e.label}
|
|
138
139
|
</label>
|
|
139
140
|
<div
|
|
140
141
|
class="dropzone"
|
|
141
142
|
part="dropzone"
|
|
142
|
-
ref=${
|
|
143
|
+
ref=${F}
|
|
143
144
|
role="button"
|
|
144
|
-
tabindex="${() =>
|
|
145
|
-
aria-disabled="${() => String(
|
|
145
|
+
tabindex="${() => a.value ? "-1" : "0"}"
|
|
146
|
+
aria-disabled="${() => String(a.value)}"
|
|
146
147
|
aria-label="${() => e.label.value ? null : "File upload drop zone"}"
|
|
147
|
-
aria-labelledby="${() => e.label.value ?
|
|
148
|
-
aria-describedby="${
|
|
148
|
+
aria-labelledby="${() => e.label.value ? M : null}"
|
|
149
|
+
aria-describedby="${N}">
|
|
149
150
|
<input
|
|
150
151
|
type="file"
|
|
151
|
-
ref=${
|
|
152
|
+
ref=${I}
|
|
152
153
|
part="input"
|
|
153
|
-
id="${
|
|
154
|
+
id="${S}"
|
|
154
155
|
accept="${e.accept}"
|
|
155
156
|
?multiple="${e.multiple}"
|
|
156
157
|
?required="${e.required}"
|
|
157
|
-
?disabled="${
|
|
158
|
+
?disabled="${a}"
|
|
158
159
|
name="${e.name}"
|
|
159
160
|
hidden
|
|
160
161
|
inert
|
|
161
162
|
tabindex="-1" />
|
|
162
163
|
<div class="dropzone-content">
|
|
163
|
-
<span class="dropzone-icon" aria-hidden="true" data-status="${() =>
|
|
164
|
-
${() =>
|
|
164
|
+
<span class="dropzone-icon" aria-hidden="true" data-status="${() => h.value ? "error" : null}">
|
|
165
|
+
${() => h.value ? _`
|
|
165
166
|
<ore-icon name="alert-circle" size="36" stroke-width="1.5" aria-hidden="true"></ore-icon>
|
|
166
|
-
` :
|
|
167
|
+
` : _`
|
|
167
168
|
<ore-icon name="upload" size="36" stroke-width="1.5" aria-hidden="true"></ore-icon>
|
|
168
169
|
`}
|
|
169
170
|
</span>
|
|
170
171
|
<!-- Signal 01: the copy itself shifts on drag-entry (not just border/glow) — a
|
|
171
172
|
static "Drop files here" during an active drag reads as if the drop target
|
|
172
173
|
hasn't noticed the file yet. -->
|
|
173
|
-
${
|
|
174
|
+
${E(() => r.value, () => _`
|
|
174
175
|
<span class="dropzone-title dropzone-title-active">Release to upload</span>
|
|
175
176
|
`)}
|
|
176
|
-
${
|
|
177
|
+
${E(() => !r.value, () => _`
|
|
177
178
|
<span class="dropzone-title">
|
|
178
179
|
Drop files here or
|
|
179
180
|
<u>click to browse</u>
|
|
180
181
|
</span>
|
|
181
182
|
`)}
|
|
182
|
-
<span class="dropzone-hint" ?hidden=${() => !
|
|
183
|
+
<span class="dropzone-hint" ?hidden=${() => !L.value}>${L}</span>
|
|
183
184
|
</div>
|
|
184
185
|
</div>
|
|
185
186
|
<ul
|
|
@@ -187,48 +188,48 @@ h(j, {
|
|
|
187
188
|
part="${() => e.gallery.value ? "gallery" : null}"
|
|
188
189
|
role="list"
|
|
189
190
|
aria-label="Selected files"
|
|
190
|
-
?hidden=${() =>
|
|
191
|
-
${() =>
|
|
192
|
-
<li class="file-card" data-status=${() =>
|
|
191
|
+
?hidden=${() => u.files.value.length === 0}>
|
|
192
|
+
${() => u.files.value.map((t) => e.gallery.value ? _`
|
|
193
|
+
<li class="file-card" data-status=${() => u.fileState(t).status}>
|
|
193
194
|
<span class="file-thumb-frame">
|
|
194
|
-
${
|
|
195
|
+
${j(t) ? _`
|
|
195
196
|
<img
|
|
196
197
|
class="file-thumb"
|
|
197
198
|
alt=""
|
|
198
199
|
ref="${(e) => {
|
|
199
|
-
e && (e.src =
|
|
200
|
+
e && (e.src = B(t));
|
|
200
201
|
}}" />
|
|
201
|
-
` :
|
|
202
|
+
` : _`
|
|
202
203
|
<span class="file-thumb file-thumb-generic" aria-hidden="true">
|
|
203
204
|
<ore-icon name="file" size="28" stroke-width="1.5" aria-hidden="true"></ore-icon>
|
|
204
205
|
</span>
|
|
205
206
|
`}
|
|
206
|
-
${
|
|
207
|
+
${E(() => u.fileState(t).status === "success", () => _`
|
|
207
208
|
<span class="file-status-badge file-status-badge-success" aria-hidden="true">
|
|
208
209
|
<ore-icon name="check" size="11" stroke-width="3" aria-hidden="true"></ore-icon>
|
|
209
210
|
</span>
|
|
210
211
|
`)}
|
|
211
|
-
${
|
|
212
|
+
${E(() => u.fileState(t).status === "error", () => _`
|
|
212
213
|
<span class="file-status-badge file-status-badge-error" aria-hidden="true">
|
|
213
214
|
<ore-icon name="alert-circle" size="12" stroke-width="2.5" aria-hidden="true"></ore-icon>
|
|
214
215
|
</span>
|
|
215
216
|
`)}
|
|
216
217
|
<span class="file-card-actions">
|
|
217
|
-
${
|
|
218
|
+
${E(() => u.fileState(t).status === "error", () => _`
|
|
218
219
|
<button
|
|
219
220
|
class="file-card-action"
|
|
220
221
|
type="button"
|
|
221
222
|
aria-label="${`Retry uploading ${t.name}`}"
|
|
222
|
-
@click=${() =>
|
|
223
|
+
@click=${() => u.retryUpload(t)}>
|
|
223
224
|
<ore-icon name="refresh-cw" size="12" stroke-width="2.5" aria-hidden="true"></ore-icon>
|
|
224
225
|
</button>
|
|
225
226
|
`)}
|
|
226
|
-
${
|
|
227
|
+
${E(() => u.fileState(t).status === "success" && !!e.multiple.value && !!e.upload.value, () => _`
|
|
227
228
|
<button
|
|
228
229
|
class="file-card-action"
|
|
229
230
|
type="button"
|
|
230
231
|
aria-label="${`Replace ${t.name}`}"
|
|
231
|
-
@click=${() =>
|
|
232
|
+
@click=${() => R(t)}>
|
|
232
233
|
<ore-icon name="upload" size="12" stroke-width="2.5" aria-hidden="true"></ore-icon>
|
|
233
234
|
</button>
|
|
234
235
|
`)}
|
|
@@ -236,66 +237,66 @@ h(j, {
|
|
|
236
237
|
class="file-card-action file-card-remove"
|
|
237
238
|
type="button"
|
|
238
239
|
aria-label="${`Remove ${t.name}`}"
|
|
239
|
-
@click=${(e) =>
|
|
240
|
+
@click=${(e) => u.removeFile(t, e)}>
|
|
240
241
|
<ore-icon name="x" size="12" stroke-width="2.5" aria-hidden="true"></ore-icon>
|
|
241
242
|
</button>
|
|
242
243
|
</span>
|
|
243
244
|
</span>
|
|
244
245
|
<span class="file-card-name" title="${t.name}">${t.name}</span>
|
|
245
|
-
${
|
|
246
|
+
${E(() => u.fileState(t).status === "uploading", () => _`
|
|
246
247
|
<ore-progress
|
|
247
248
|
type="linear"
|
|
248
249
|
size="sm"
|
|
249
|
-
value=${() =>
|
|
250
|
-
label=${() => `${
|
|
251
|
-
<span class="file-progress-meta">${() =>
|
|
250
|
+
value=${() => u.uploadPercent(t)}
|
|
251
|
+
label=${() => `${u.uploadPercent(t)}%`}></ore-progress>
|
|
252
|
+
<span class="file-progress-meta">${() => u.uploadMetaText(t)}</span>
|
|
252
253
|
`)}
|
|
253
|
-
${
|
|
254
|
-
<span class="file-error-text">${() =>
|
|
254
|
+
${E(() => u.fileState(t).status === "error", () => _`
|
|
255
|
+
<span class="file-error-text">${() => u.fileState(t).error}</span>
|
|
255
256
|
`)}
|
|
256
257
|
</li>
|
|
257
|
-
` :
|
|
258
|
-
<li class="file-item" data-status=${() =>
|
|
258
|
+
` : _`
|
|
259
|
+
<li class="file-item" data-status=${() => u.fileState(t).status}>
|
|
259
260
|
<span class="file-icon" aria-hidden="true">
|
|
260
261
|
<ore-icon
|
|
261
|
-
name=${() =>
|
|
262
|
+
name=${() => u.statusIconName(t)}
|
|
262
263
|
size="18"
|
|
263
264
|
stroke-width="1.75"
|
|
264
265
|
aria-hidden="true"></ore-icon>
|
|
265
266
|
</span>
|
|
266
267
|
<span class="file-meta">
|
|
267
268
|
<span class="file-name" title="${t.name}">${t.name}</span>
|
|
268
|
-
${
|
|
269
|
+
${E(() => u.fileState(t).status === "uploading", () => _`
|
|
269
270
|
<ore-progress
|
|
270
271
|
type="linear"
|
|
271
272
|
size="sm"
|
|
272
|
-
value=${() =>
|
|
273
|
-
label=${() => `${
|
|
274
|
-
<span class="file-progress-meta">${() =>
|
|
273
|
+
value=${() => u.uploadPercent(t)}
|
|
274
|
+
label=${() => `${u.uploadPercent(t)}%`}></ore-progress>
|
|
275
|
+
<span class="file-progress-meta">${() => u.uploadMetaText(t)}</span>
|
|
275
276
|
`)}
|
|
276
|
-
${
|
|
277
|
-
<span class="file-error-text">${() =>
|
|
277
|
+
${E(() => u.fileState(t).status === "error", () => _`
|
|
278
|
+
<span class="file-error-text">${() => u.fileState(t).error}</span>
|
|
278
279
|
`)}
|
|
279
|
-
${
|
|
280
|
+
${E(() => u.fileState(t).status === "idle" || u.fileState(t).status === "success", () => _`
|
|
280
281
|
<span class="file-size">${f(t.size)}</span>
|
|
281
282
|
`)}
|
|
282
283
|
</span>
|
|
283
284
|
<span class="file-actions">
|
|
284
|
-
${
|
|
285
|
+
${E(() => u.fileState(t).status === "error", () => _`
|
|
285
286
|
<button
|
|
286
287
|
class="file-action"
|
|
287
288
|
type="button"
|
|
288
289
|
aria-label="${`Retry uploading ${t.name}`}"
|
|
289
|
-
@click=${() =>
|
|
290
|
+
@click=${() => u.retryUpload(t)}>
|
|
290
291
|
<ore-icon name="refresh-cw" size="14" stroke-width="2" aria-hidden="true"></ore-icon>
|
|
291
292
|
</button>
|
|
292
293
|
`)}
|
|
293
|
-
${
|
|
294
|
+
${E(() => u.fileState(t).status === "success" && !!e.multiple.value && !!e.upload.value, () => _`
|
|
294
295
|
<button
|
|
295
296
|
class="file-action"
|
|
296
297
|
type="button"
|
|
297
298
|
aria-label="${`Replace ${t.name}`}"
|
|
298
|
-
@click=${() =>
|
|
299
|
+
@click=${() => R(t)}>
|
|
299
300
|
<ore-icon name="upload" size="14" stroke-width="2" aria-hidden="true"></ore-icon>
|
|
300
301
|
</button>
|
|
301
302
|
`)}
|
|
@@ -303,22 +304,22 @@ h(j, {
|
|
|
303
304
|
class="file-remove"
|
|
304
305
|
type="button"
|
|
305
306
|
aria-label="${`Remove ${t.name}`}"
|
|
306
|
-
@click=${(e) =>
|
|
307
|
+
@click=${(e) => u.removeFile(t, e)}>
|
|
307
308
|
<ore-icon name="x" size="12" stroke-width="2.5" aria-hidden="true"></ore-icon>
|
|
308
309
|
</button>
|
|
309
310
|
</span>
|
|
310
311
|
</li>
|
|
311
312
|
`)}
|
|
312
313
|
</ul>
|
|
313
|
-
<div class="helper-text" id="${
|
|
314
|
+
<div class="helper-text" id="${N}" part="helper" ?hidden=${() => h.value || !e.helper.value}>
|
|
314
315
|
${e.helper}
|
|
315
316
|
</div>
|
|
316
317
|
<div
|
|
317
318
|
class="helper-text helper-text-error"
|
|
318
|
-
id="${
|
|
319
|
+
id="${P}"
|
|
319
320
|
role="alert"
|
|
320
321
|
part="error"
|
|
321
|
-
?hidden=${() => !
|
|
322
|
+
?hidden=${() => !h.value}>
|
|
322
323
|
${() => e.error.value ?? ""}
|
|
323
324
|
</div>
|
|
324
325
|
</div>
|
|
@@ -337,6 +338,6 @@ h(j, {
|
|
|
337
338
|
]
|
|
338
339
|
});
|
|
339
340
|
//#endregion
|
|
340
|
-
export {
|
|
341
|
+
export { M as FILE_INPUT_TAG };
|
|
341
342
|
|
|
342
343
|
//# sourceMappingURL=file-input.js.map
|