@beeintel/batch-image 1.0.0 → 1.1.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 (56) hide show
  1. package/README.md +7 -3
  2. package/dist/chunks/{AdjustToolPanel-B6dtlFlj.js → AdjustToolPanel-DCNhkuE4.js} +21 -20
  3. package/dist/chunks/BackgroundToolPanel-D3TILm-m.js +43 -0
  4. package/dist/chunks/{BatchMaterials-DDoJTaS5.js → BatchMaterials-BPJeE3y9.js} +1 -1
  5. package/dist/chunks/BatchModeChoices-BuP83uOq.js +118 -0
  6. package/dist/chunks/{BatchOutputColorPicker-D7WIDS4_.js → BatchOutputColorPicker-CZoQzBII.js} +2 -2
  7. package/dist/chunks/BatchReferenceFields-B7SL__lu.js +308 -0
  8. package/dist/chunks/BeautifyToolPanel-DsTOjndh.js +220 -0
  9. package/dist/chunks/{BrandMarkToolPanel-vKobk_R3.js → BrandMarkToolPanel-Cob9bPYT.js} +319 -333
  10. package/dist/chunks/{ContentTrimControl-BKCJEst5.js → ContentTrimControl-CKNfHz_u.js} +2 -2
  11. package/dist/chunks/{CropToolPanel-C_sW5tWL.js → CropToolPanel-6MiynTP2.js} +60 -56
  12. package/dist/chunks/CutoutToolPanel-V-AUrbwz.js +78 -0
  13. package/dist/chunks/DisclosureToolPanel-DvouSIbA.js +72 -0
  14. package/dist/chunks/ExpandToolPanel-C98UZmBx.js +69 -0
  15. package/dist/chunks/{ImageEffectsToolPanel-CsDIBpT6.js → ImageEffectsToolPanel-hA0TlEix.js} +63 -52
  16. package/dist/chunks/{IpAuditToolPanel-CduDfFh-.js → IpAuditToolPanel-BCQ8Kewh.js} +15 -13
  17. package/dist/chunks/{ListingToolPanel-8pJ2_zvI.js → ListingToolPanel-DH-xpvLp.js} +170 -184
  18. package/dist/chunks/{MaterialSelectionPlate-CW7HaS6v.js → MaterialSelectionPlate-CQBIf6ZJ.js} +4 -4
  19. package/dist/chunks/MetadataToolPanel-z4RK3JCb.js +116 -0
  20. package/dist/chunks/{OrientToolPanel-C1AzQchm.js → OrientToolPanel-BwtT0xKI.js} +3 -3
  21. package/dist/chunks/PluginActionFooter.vue_vue_type_script_setup_true_lang-DIRuJ1De.js +122 -0
  22. package/dist/chunks/ResizeToolPanel-BVeZbKJl.js +1171 -0
  23. package/dist/chunks/RetouchToolPanel-CqSzWVOK.js +358 -0
  24. package/dist/chunks/ShadowToolPanel-BgsCgLay.js +258 -0
  25. package/dist/chunks/SvgExportToolPanel-CdCXYYHF.js +208 -0
  26. package/dist/chunks/TranslationToolPanel-D4ETI6sf.js +102 -0
  27. package/dist/chunks/{UpscaleToolPanel-BRIgpszs.js → UpscaleToolPanel-D_hmQLEi.js} +44 -39
  28. package/dist/chunks/arrow-up-C1vBvuff.js +18 -0
  29. package/dist/chunks/{entry-CboOSe2r.js → entry-DVV89YMR.js} +7614 -7498
  30. package/dist/chunks/{loader-circle-CylCgDqP.js → loader-circle-GPucRX_4.js} +1 -1
  31. package/dist/chunks/{motionFeatures-D67ghPG1.js → motionFeatures-_pQ-ZW4p.js} +1 -1
  32. package/dist/chunks/{search-BwsDnulU.js → search-CUAg5uDr.js} +1 -1
  33. package/dist/config.d.ts +6 -0
  34. package/dist/index.d.ts +1 -0
  35. package/dist/index.js +6 -5
  36. package/dist/node/cli.mjs +0 -0
  37. package/dist/resources.json +104 -94
  38. package/dist/slots.d.ts +2 -0
  39. package/dist/style.css +1 -1
  40. package/dist/tool-links.d.ts +10 -0
  41. package/dist/types/batch/public/config.d.ts +6 -0
  42. package/package.json +9 -8
  43. package/dist/chunks/BackgroundToolPanel-C3Rr9d4S.js +0 -41
  44. package/dist/chunks/BatchModeChoices-DeBARgvY.js +0 -111
  45. package/dist/chunks/BatchReferenceFields-Cr5WgFRJ.js +0 -316
  46. package/dist/chunks/BeautifyToolPanel-DDZXDQKM.js +0 -215
  47. package/dist/chunks/CutoutToolPanel-B7ObmiWd.js +0 -73
  48. package/dist/chunks/DisclosureToolPanel-F3ccFJIF.js +0 -76
  49. package/dist/chunks/ExpandToolPanel-BKjj5UJA.js +0 -67
  50. package/dist/chunks/MetadataToolPanel-C8XJOamN.js +0 -104
  51. package/dist/chunks/PluginActionFooter.vue_vue_type_script_setup_true_lang-BGe419qz.js +0 -102
  52. package/dist/chunks/ResizeToolPanel-DWikcj2G.js +0 -1178
  53. package/dist/chunks/RetouchToolPanel-B4eQKk2W.js +0 -350
  54. package/dist/chunks/ShadowToolPanel-Bbj76hQd.js +0 -254
  55. package/dist/chunks/SvgExportToolPanel-BRxpzd7q.js +0 -219
  56. package/dist/chunks/TranslationToolPanel-Bxv8U2WY.js +0 -125
@@ -0,0 +1,208 @@
1
+ import { defineComponent as D, computed as p, ref as h, watch as F, openBlock as s, createBlock as N, unref as o, normalizeClass as V, withCtx as C, createElementVNode as n, createElementBlock as u, Fragment as A, toDisplayString as a, renderList as j, createCommentVNode as v, createTextVNode as E, createVNode as k, nextTick as B } from "vue";
2
+ import { F as $, aR as q, G as U, aS as G, P as L, aT as R, aU as Z, _ as M } from "./entry-DVV89YMR.js";
3
+ import { A as W } from "./arrow-up-C1vBvuff.js";
4
+ function X(r, t) {
5
+ return r ? r.matchingOngoing ? { kind: "running", operation: r.matchingOngoing } : r.currentIntent && r.latest?.summary.terminal && r.latest.intent === r.currentIntent && !(t?.projectId === r.projectId && t.operationId === r.latest.summary.operationId) ? { kind: "completed", operation: r.latest } : { kind: "draft" } : { kind: "draft" };
6
+ }
7
+ const H = ["disabled"], J = ["value", "checked", "onChange"], K = { class: "svg-choice-copy" }, Q = { class: "svg-choice-heading" }, Y = { key: 0 }, ee = { class: "svg-profile" }, te = ["value"], oe = { value: "raw" }, ae = { value: "p3" }, le = { value: "p2" }, ne = { value: "p1" }, ie = { class: "svg-actions" }, se = ["data-tool-id", "aria-label", "title", "disabled", "aria-busy"], ue = ["aria-label"], re = { key: 0 }, ve = { key: 1 }, ce = { key: 2 }, de = { key: 3 }, pe = {
8
+ key: 4,
9
+ role: "alert"
10
+ }, ge = { key: 5 }, _e = ["disabled", "aria-busy"], me = /* @__PURE__ */ D({
11
+ __name: "SvgExportToolPanel",
12
+ props: {
13
+ context: {}
14
+ },
15
+ setup(r) {
16
+ const { ui: t } = $(), S = r, e = p(() => S.context), g = h(!1), z = h();
17
+ F(
18
+ () => e.value.svgResult?.flow?.projectId,
19
+ () => {
20
+ z.value = void 0;
21
+ },
22
+ { flush: "sync" }
23
+ );
24
+ const d = p(
25
+ () => X(e.value.svgResult?.flow, z.value)
26
+ ), w = h();
27
+ async function T() {
28
+ const c = e.value.svgResult?.flow;
29
+ c?.latest && (z.value = { projectId: c.projectId, operationId: c.latest.summary.operationId }), await B(), w.value?.querySelector("input:checked")?.focus();
30
+ }
31
+ const b = p(
32
+ () => e.value.draft.svgExport ?? q
33
+ ), f = p(() => b.value.engine), y = (c) => e.value.modeAllowed ? e.value.modeAllowed(c) : c === "imagetracer" ? typeof Worker < "u" && typeof OffscreenCanvas < "u" && typeof createImageBitmap < "u" : e.value.view.aiAvailable !== !1 && (e.value.view.svgEngines ?? (e.value.view.availableTools.includes("vectorize_svg") ? ["recraft", "image2svg"] : [])).includes(c), x = p(
34
+ () => b.value.optimize ? b.value.optimizationProfile : "raw"
35
+ ), l = p(() => e.value.svgResult?.summary), _ = p(() => e.value.svgResult?.preparation), I = p(
36
+ () => d.value.kind === "running" || g.value || e.value.submitting ? t("tools.vectorize_svg.running") : l.value ? t("common.toolPanel_a699267c") : t("tools.vectorize_svg.start")
37
+ );
38
+ function P(c) {
39
+ e.value.updateDraft({ svgExport: { ...b.value, ...c } });
40
+ }
41
+ async function O() {
42
+ if (!(d.value.kind === "running" || g.value || e.value.readonly || e.value.executionAvailable === !1 || e.value.view.count < 1 || !y(f.value))) {
43
+ g.value = !0;
44
+ try {
45
+ await e.value.requestSubmit();
46
+ } finally {
47
+ g.value = !1;
48
+ }
49
+ }
50
+ }
51
+ return (c, m) => (s(), N(U, {
52
+ class: V(["svg-export-panel", { "svg-completed": d.value.kind === "completed" }]),
53
+ context: e.value,
54
+ help: `${o(t)("tools.vectorize_svg.description")}
55
+ ${o(t)("tools.vectorize_svg.compareNote")}`,
56
+ layout: "contained",
57
+ "body-class": "svg-export-options"
58
+ }, {
59
+ actions: C(() => [
60
+ n("div", ie, [
61
+ k(o(R), {
62
+ name: "mainAction",
63
+ action: {
64
+ toolId: e.value.toolId,
65
+ entryId: e.value.entryId,
66
+ params: e.value.submissionParams,
67
+ count: e.value.view.count,
68
+ disabled: e.value.readonly || e.value.executionAvailable === !1 || e.value.submitting || !y(f.value),
69
+ submit: e.value.requestSubmit
70
+ }
71
+ }, null, 8, ["action"]),
72
+ d.value.kind !== "completed" ? (s(), u("button", {
73
+ key: 0,
74
+ class: "primary-action svg-submit",
75
+ "data-material-action": "primary",
76
+ "data-onboarding": "tool-submit",
77
+ "data-tool-id": e.value.toolId,
78
+ type: "button",
79
+ "aria-label": I.value,
80
+ title: I.value,
81
+ disabled: d.value.kind === "running" || e.value.readonly || e.value.executionAvailable === !1 || g.value || e.value.submitting || e.value.view.count < 1 || !y(f.value),
82
+ "aria-busy": d.value.kind === "running" || g.value || e.value.submitting,
83
+ onClick: O
84
+ }, [
85
+ k(o(R), {
86
+ name: "mainActionContent",
87
+ action: {
88
+ toolId: e.value.toolId,
89
+ entryId: e.value.entryId,
90
+ params: e.value.submissionParams,
91
+ count: e.value.view.count,
92
+ disabled: e.value.readonly || e.value.executionAvailable === !1 || e.value.submitting || !y(f.value),
93
+ submit: e.value.requestSubmit
94
+ }
95
+ }, null, 8, ["action"]),
96
+ k(o(W), {
97
+ size: 20,
98
+ "aria-hidden": "true"
99
+ })
100
+ ], 8, se)) : v("", !0),
101
+ l.value?.terminal ? (s(), u("section", {
102
+ key: 1,
103
+ class: "svg-result",
104
+ "aria-live": "polite",
105
+ "aria-label": o(t)("tools.vectorize_svg.resultTitle")
106
+ }, [
107
+ n("strong", null, a(o(t)("tools.vectorize_svg.resultTitle")), 1),
108
+ n("p", null, a(o(t)("tools.vectorize_svg.resultProgress", {
109
+ done: l.value.ended,
110
+ total: l.value.total,
111
+ succeeded: l.value.succeeded
112
+ })), 1),
113
+ l.value.failed ? (s(), u("p", re, a(o(t)("tools.vectorize_svg.failed", { count: l.value.failed })), 1)) : v("", !0),
114
+ l.value.cancelled || l.value.skipped ? (s(), u("p", ve, a(o(t)("tools.vectorize_svg.notCompleted", {
115
+ count: l.value.cancelled + l.value.skipped
116
+ })), 1)) : v("", !0),
117
+ l.value.unknown ? (s(), u("p", ce, a(o(t)("tools.vectorize_svg.unknown", { count: l.value.unknown })), 1)) : v("", !0),
118
+ l.value.pending ? (s(), u("p", de, a(o(t)("tools.vectorize_svg.processing", { count: l.value.pending })), 1)) : v("", !0),
119
+ _.value?.kind === "error" ? (s(), u("p", pe, a(o(t)("tools.vectorize_svg.archiveFailure")), 1)) : v("", !0),
120
+ _.value?.kind === "cancelled" ? (s(), u("p", ge, a(o(t)("tools.vectorize_svg.preparationCancelled")), 1)) : v("", !0),
121
+ n("button", {
122
+ type: "button",
123
+ class: "primary-action",
124
+ disabled: !l.value.canDownload || _.value?.kind === "preparing",
125
+ "aria-busy": _.value?.kind === "preparing",
126
+ onClick: m[1] || (m[1] = (i) => e.value.svgResult?.download())
127
+ }, [
128
+ k(o(Z), { size: 16 }),
129
+ E(a(_.value?.kind === "preparing" ? o(t)("tools.vectorize_svg.preparing") : o(t)("tools.vectorize_svg.downloadZipCount", {
130
+ label: o(t)(
131
+ x.value === "raw" ? "tools.vectorize_svg.downloadRawZip" : "tools.vectorize_svg.downloadOptimizedZip"
132
+ ),
133
+ count: l.value.succeeded
134
+ })), 1)
135
+ ], 8, _e),
136
+ _.value?.kind === "preparing" ? (s(), u("button", {
137
+ key: 6,
138
+ type: "button",
139
+ class: "svg-cancel",
140
+ onClick: m[2] || (m[2] = (i) => e.value.svgResult?.cancel())
141
+ }, a(o(t)("tools.vectorize_svg.cancelPreparation")), 1)) : v("", !0)
142
+ ], 8, ue)) : v("", !0),
143
+ d.value.kind === "completed" ? (s(), u("button", {
144
+ key: 2,
145
+ type: "button",
146
+ class: "svg-continue",
147
+ onClick: T
148
+ }, a(o(t)("tools.vectorize_svg.continueConversion")), 1)) : v("", !0)
149
+ ])
150
+ ]),
151
+ default: C(() => [
152
+ n("fieldset", {
153
+ ref_key: "generationOptions",
154
+ ref: w,
155
+ class: "svg-options",
156
+ disabled: e.value.readonly || g.value || e.value.submitting
157
+ }, [
158
+ d.value.kind !== "completed" ? (s(), u(A, { key: 0 }, [
159
+ n("legend", null, a(o(t)("tools.vectorize_svg.generationMode")), 1),
160
+ (s(!0), u(A, null, j(o(G).filter(
161
+ (i) => e.value.modeAllowed?.(i.engine) !== !1
162
+ ), (i) => (s(), u("label", {
163
+ key: i.engine,
164
+ class: "svg-choice"
165
+ }, [
166
+ n("input", {
167
+ type: "radio",
168
+ name: "svg-engine",
169
+ value: i.engine,
170
+ checked: f.value === i.engine,
171
+ onChange: (be) => P({ engine: i.engine })
172
+ }, null, 40, J),
173
+ n("span", K, [
174
+ n("strong", Q, a(o(t)(`tools.vectorize_svg.${i.title}`)), 1),
175
+ n("small", null, a(o(t)(`tools.vectorize_svg.${i.description}`)), 1),
176
+ y(i.engine) ? v("", !0) : (s(), u("small", Y, a(o(t)("tools.vectorize_svg.unavailable")), 1))
177
+ ])
178
+ ]))), 128))
179
+ ], 64)) : v("", !0),
180
+ n("label", ee, [
181
+ n("span", null, [
182
+ E(a(o(t)("tools.vectorize_svg.optimizationProfile")), 1),
183
+ k(L, {
184
+ text: o(t)("tools.vectorize_svg.optimizationNote")
185
+ }, null, 8, ["text"])
186
+ ]),
187
+ n("select", {
188
+ value: x.value,
189
+ onChange: m[0] || (m[0] = (i) => P({
190
+ optimize: i.target.value !== "raw",
191
+ optimizationProfile: i.target.value === "raw" ? b.value.optimizationProfile : i.target.value
192
+ }))
193
+ }, [
194
+ n("option", oe, a(o(t)("tools.vectorize_svg.uncompressed")), 1),
195
+ n("option", ae, a(o(t)("tools.vectorize_svg.conservative")), 1),
196
+ n("option", le, a(o(t)("tools.vectorize_svg.balancedRecommended")), 1),
197
+ n("option", ne, a(o(t)("tools.vectorize_svg.sizeFirst")), 1)
198
+ ], 40, te)
199
+ ])
200
+ ], 8, H)
201
+ ]),
202
+ _: 1
203
+ }, 8, ["class", "context", "help"]));
204
+ }
205
+ }), ze = /* @__PURE__ */ M(me, [["__scopeId", "data-v-f8ab33a9"]]);
206
+ export {
207
+ ze as default
208
+ };
@@ -0,0 +1,102 @@
1
+ import { defineComponent as F, computed as p, openBlock as n, createElementBlock as r, createElementVNode as f, createTextVNode as A, toDisplayString as d, unref as a, Fragment as T, renderList as h, createCommentVNode as B, createBlock as E, withCtx as V, createVNode as b } from "vue";
2
+ import { F as y, H as C, _ as L, G as I } from "./entry-DVV89YMR.js";
3
+ import { a$ as k, b0 as S, b1 as U, S as $ } from "./hosted-resources-COzZ7nZY.js";
4
+ import { u as O, a as w, _ as D, b as G } from "./PluginActionFooter.vue_vue_type_script_setup_true_lang-DIRuJ1De.js";
5
+ const R = { class: "translation-fields" }, H = ["value"], M = {
6
+ disabled: "",
7
+ value: ""
8
+ }, W = ["value"], j = ["value"], q = {
9
+ key: 0,
10
+ class: "hint",
11
+ role: "alert"
12
+ }, z = /* @__PURE__ */ F({
13
+ __name: "TranslationFields",
14
+ props: {
15
+ modelValue: {}
16
+ },
17
+ emits: ["update:modelValue"],
18
+ setup(o, { emit: m }) {
19
+ const { ui: i, uiText: v, uiTargetLanguage: c } = y(), g = o, _ = m, u = C(), l = p(() => u?.config.value.toolOptions?.translation?.targets), x = p(() => {
20
+ if (l.value) return "";
21
+ const e = g.modelValue;
22
+ return e.targetLanguage || e.termsText || e.notes ? k(e) : "";
23
+ });
24
+ function N(e) {
25
+ if (l.value) {
26
+ l.value.some((t) => t.code === e) && _("update:modelValue", {
27
+ targetLanguage: null,
28
+ targetCode: e,
29
+ termsText: "",
30
+ notes: ""
31
+ });
32
+ return;
33
+ }
34
+ const s = $(e);
35
+ s && P({ targetLanguage: s.language, targetLocale: s.locale });
36
+ }
37
+ function P(e) {
38
+ _("update:modelValue", { ...g.modelValue, ...e });
39
+ }
40
+ return (e, s) => (n(), r("div", R, [
41
+ f("label", null, [
42
+ A(d(a(i)("tools.image_translation.translationFields_966a23e8")), 1),
43
+ f("select", {
44
+ value: l.value ? o.modelValue.targetCode ?? "" : a(S)(o.modelValue),
45
+ onChange: s[0] || (s[0] = (t) => N(t.target.value))
46
+ }, [
47
+ f("option", M, d(a(i)("tools.image_translation.translationFields_adf0e5eb")), 1),
48
+ (n(!0), r(T, null, h(l.value ?? [], (t) => (n(), r("option", {
49
+ key: t.code,
50
+ value: t.code
51
+ }, d(t.label), 9, W))), 128)),
52
+ (n(!0), r(T, null, h(l.value ? [] : a(U), (t) => (n(), r("option", {
53
+ key: t.locale,
54
+ value: t.locale
55
+ }, d(a(c)(t.locale)), 9, j))), 128))
56
+ ], 40, H)
57
+ ]),
58
+ x.value ? (n(), r("p", q, d(a(v)(x.value)), 1)) : B("", !0)
59
+ ]));
60
+ }
61
+ }), J = /* @__PURE__ */ L(z, [["__scopeId", "data-v-c413124a"]]), K = ["disabled"], Q = /* @__PURE__ */ F({
62
+ __name: "TranslationToolPanel",
63
+ props: {
64
+ context: {}
65
+ },
66
+ setup(o) {
67
+ const { ui: m } = y(), i = o, v = C(), c = O(() => i.context), g = p(() => {
68
+ const u = v?.config.value.toolOptions?.translation?.targets;
69
+ return u ? !u.some((l) => l.code === c.value.translation.targetCode) : !!k(c.value.translation);
70
+ }), _ = w(() => i.context, "translation");
71
+ return (u, l) => (n(), E(I, {
72
+ context: o.context,
73
+ layout: "contained",
74
+ help: a(m)("tools.image_translation.translationFields_9f7615dc") + " " + a(m)("tools.image_translation.translationFields_5e86b15d")
75
+ }, {
76
+ actions: V(() => [
77
+ b(D, {
78
+ class: "translation-action",
79
+ context: o.context,
80
+ "show-service-status": !1,
81
+ available: a(G)(o.context),
82
+ ready: !g.value
83
+ }, null, 8, ["context", "available", "ready"])
84
+ ]),
85
+ default: V(() => [
86
+ f("fieldset", {
87
+ class: "tool-fields plugin-fields",
88
+ disabled: o.context.readonly
89
+ }, [
90
+ b(J, {
91
+ "model-value": a(c).translation,
92
+ "onUpdate:modelValue": a(_)
93
+ }, null, 8, ["model-value", "onUpdate:modelValue"])
94
+ ], 8, K)
95
+ ]),
96
+ _: 1
97
+ }, 8, ["context", "help"]));
98
+ }
99
+ }), te = /* @__PURE__ */ L(Q, [["__scopeId", "data-v-1c78ed64"]]);
100
+ export {
101
+ te as default
102
+ };
@@ -1,15 +1,15 @@
1
- import { defineComponent as w, computed as y, watch as U, openBlock as r, createElementBlock as p, createVNode as b, unref as a, toDisplayString as o, createCommentVNode as x, createElementVNode as c, createTextVNode as B, ref as P, createBlock as k, withCtx as V } from "vue";
2
- import { F as C, aL as N, aM as E, aA as h, _ as I, G as R } from "./entry-CboOSe2r.js";
3
- import { B as S } from "./BatchModeChoices-DeBARgvY.js";
4
- import { u as T, a as A, b as F, _ as D } from "./PluginActionFooter.vue_vue_type_script_setup_true_lang-BGe419qz.js";
5
- const $ = { class: "upscale-fields tool-fields" }, z = {
1
+ import { defineComponent as h, computed as y, watch as U, openBlock as r, createElementBlock as p, createVNode as m, unref as a, toDisplayString as s, createCommentVNode as x, createElementVNode as c, createTextVNode as B, ref as P, createBlock as k, withCtx as V } from "vue";
2
+ import { F as C, aK as N, aL as E, az as w, P as I, _ as R, G as S } from "./entry-DVV89YMR.js";
3
+ import { B as T } from "./BatchModeChoices-BuP83uOq.js";
4
+ import { u as z, a as D, b as F, _ as $ } from "./PluginActionFooter.vue_vue_type_script_setup_true_lang-DIRuJ1De.js";
5
+ const j = { class: "upscale-fields tool-fields" }, A = {
6
6
  key: 0,
7
7
  class: "tool-note"
8
- }, G = ["aria-label", "value", "disabled"], L = ["disabled"], _ = { value: "2" }, j = ["disabled"], q = { class: "hint" }, H = { class: "hint" }, J = {
8
+ }, G = ["aria-label", "value", "disabled"], H = ["disabled"], K = { value: "2" }, L = ["disabled"], q = {
9
9
  key: 1,
10
10
  class: "hint",
11
11
  role: "alert"
12
- }, K = { class: "tool-note" }, O = /* @__PURE__ */ w({
12
+ }, J = /* @__PURE__ */ h({
13
13
  __name: "UpscaleFields",
14
14
  props: {
15
15
  modelValue: {},
@@ -21,25 +21,25 @@ const $ = { class: "upscale-fields tool-fields" }, z = {
21
21
  },
22
22
  emits: ["update:modelValue", "ready"],
23
23
  setup(e, { emit: u }) {
24
- const { ui: l, uiText: m } = C(), t = e, v = u, i = y(
24
+ const { ui: l, uiText: v } = C(), t = e, b = u, i = y(
25
25
  () => N(t.modelValue, t.writer, t.available, t.upscaleModes)
26
26
  ), n = y(() => {
27
27
  try {
28
28
  return E(t.modelValue, t.upscaleModes), "";
29
- } catch (s) {
30
- return s.message;
29
+ } catch (o) {
30
+ return o.message;
31
31
  }
32
32
  });
33
- U(i, (s) => v("ready", s), { immediate: !0 });
34
- function f(s) {
35
- t.recovery && s.mode && s.mode !== t.modelValue.mode || t.writer && t.available && v("update:modelValue", { ...t.modelValue, ...s });
33
+ U(i, (o) => b("ready", o), { immediate: !0 });
34
+ function f(o) {
35
+ t.recovery && o.mode && o.mode !== t.modelValue.mode || t.writer && t.available && b("update:modelValue", { ...t.modelValue, ...o });
36
36
  }
37
- function M(s) {
38
- const d = s.target.value;
37
+ function g(o) {
38
+ const d = o.target.value;
39
39
  f({ scale: d === "native" ? "native" : Number(d) });
40
40
  }
41
- return (s, d) => (r(), p("div", $, [
42
- b(S, {
41
+ return (o, d) => (r(), p("div", j, [
42
+ m(T, {
43
43
  class: "upscale-models",
44
44
  label: a(l)("tools.upscale.upscaleFields_a870d353"),
45
45
  "model-value": e.modelValue.mode,
@@ -48,66 +48,71 @@ const $ = { class: "upscale-fields tool-fields" }, z = {
48
48
  {
49
49
  value: "crisp",
50
50
  label: a(l)("tools.upscale.nested_ab3ab2d2"),
51
- image: a(h)("mode-cards-v3/upscale-crisp.webp"),
52
- description: a(l)("tools.upscale.nested_0e44cec5"),
51
+ image: a(w)("mode-cards-v3/upscale-crisp.webp"),
53
52
  disabled: !e.upscaleModes.includes("crisp") || !!e.recovery && e.modelValue.mode !== "crisp"
54
53
  },
55
54
  {
56
55
  value: "creative",
57
56
  label: a(l)("tools.upscale.nested_38df25c8"),
58
- image: a(h)("mode-cards-v3/upscale-creative.webp"),
57
+ image: a(w)("mode-cards-v3/upscale-creative.webp"),
59
58
  description: a(l)("tools.upscale.nested_fb2c4a21"),
60
59
  disabled: !e.upscaleModes.includes("creative") || !!e.recovery && e.modelValue.mode !== "creative"
61
60
  }
62
61
  ],
63
- "onUpdate:modelValue": d[0] || (d[0] = (g) => f({ mode: g }))
62
+ "onUpdate:modelValue": d[0] || (d[0] = (M) => f({ mode: M }))
64
63
  }, null, 8, ["label", "model-value", "disabled", "options"]),
65
- e.recovery ? (r(), p("p", z, o(a(l)("tools.upscale.upscaleFields_abaa83de")), 1)) : x("", !0),
64
+ e.recovery ? (r(), p("p", A, s(a(l)("tools.upscale.upscaleFields_abaa83de")), 1)) : x("", !0),
66
65
  c("label", null, [
67
- B(o(a(l)("tools.upscale.upscaleFields_d9091912")), 1),
66
+ c("span", null, [
67
+ B(s(a(l)("tools.upscale.upscaleFields_d9091912")), 1),
68
+ m(I, {
69
+ text: [
70
+ a(l)("tools.upscale.upscaleFields_c35709e1"),
71
+ a(l)("tools.upscale.upscaleFields_b5ba1069")
72
+ ].join(`
73
+ `)
74
+ }, null, 8, ["text"])
75
+ ]),
68
76
  c("select", {
69
77
  "aria-label": a(l)("tools.upscale.upscaleFields_ea5ae1bc"),
70
78
  value: e.modelValue.scale,
71
79
  disabled: !e.writer || !e.available || !e.upscaleModes.includes(e.modelValue.mode),
72
- onChange: M
80
+ onChange: g
73
81
  }, [
74
82
  c("option", {
75
83
  value: "native",
76
84
  disabled: !!e.recovery
77
- }, o(a(l)("tools.upscale.upscaleFields_db7727f4")), 9, L),
78
- c("option", _, o(a(l)("tools.upscale.upscaleFields_eab35e23")), 1),
85
+ }, s(a(l)("tools.upscale.upscaleFields_db7727f4")), 9, H),
86
+ c("option", K, s(a(l)("tools.upscale.upscaleFields_eab35e23")), 1),
79
87
  c("option", {
80
88
  value: "4",
81
89
  disabled: e.recovery === "shortfall"
82
- }, o(a(l)("tools.upscale.upscaleFields_f6bc186c")), 9, j)
90
+ }, s(a(l)("tools.upscale.upscaleFields_f6bc186c")), 9, L)
83
91
  ], 40, G)
84
92
  ]),
85
- c("p", q, o(a(l)("tools.upscale.upscaleFields_c35709e1")), 1),
86
- c("p", H, o(a(l)("tools.upscale.upscaleFields_b5ba1069")), 1),
87
- n.value ? (r(), p("p", J, o(n.value), 1)) : x("", !0),
88
- c("p", K, o(a(l)("tools.upscale.upscaleFields_02346136")), 1)
93
+ n.value ? (r(), p("p", q, s(n.value), 1)) : x("", !0)
89
94
  ]));
90
95
  }
91
- }), Q = /* @__PURE__ */ I(O, [["__scopeId", "data-v-f284a047"]]), ee = /* @__PURE__ */ w({
96
+ }), O = /* @__PURE__ */ R(J, [["__scopeId", "data-v-0042d60e"]]), Z = /* @__PURE__ */ h({
92
97
  __name: "UpscaleToolPanel",
93
98
  props: {
94
99
  context: {}
95
100
  },
96
101
  setup(e) {
97
- const u = e, l = T(() => u.context), m = P(!1), t = A(() => u.context, "upscale");
98
- return (v, i) => (r(), k(R, {
102
+ const u = e, l = z(() => u.context), v = P(!1), t = D(() => u.context, "upscale");
103
+ return (b, i) => (r(), k(S, {
99
104
  context: e.context,
100
105
  layout: "contained"
101
106
  }, {
102
107
  actions: V(() => [
103
- b(D, {
108
+ m($, {
104
109
  context: e.context,
105
110
  available: a(F)(e.context),
106
- ready: m.value
111
+ ready: v.value
107
112
  }, null, 8, ["context", "available", "ready"])
108
113
  ]),
109
114
  default: V(() => [
110
- b(Q, {
115
+ m(O, {
111
116
  "model-value": a(l).upscale,
112
117
  writer: !e.context.readonly,
113
118
  available: a(F)(e.context),
@@ -115,7 +120,7 @@ const $ = { class: "upscale-fields tool-fields" }, z = {
115
120
  sources: e.context.view.upscaleSources,
116
121
  recovery: e.context.view.upscaleRecovery,
117
122
  "onUpdate:modelValue": a(t),
118
- onReady: i[0] || (i[0] = (n) => m.value = n)
123
+ onReady: i[0] || (i[0] = (n) => v.value = n)
119
124
  }, null, 8, ["model-value", "writer", "available", "upscale-modes", "sources", "recovery", "onUpdate:modelValue"])
120
125
  ]),
121
126
  _: 1
@@ -123,5 +128,5 @@ const $ = { class: "upscale-fields tool-fields" }, z = {
123
128
  }
124
129
  });
125
130
  export {
126
- ee as default
131
+ Z as default
127
132
  };
@@ -0,0 +1,18 @@
1
+ import { J as a } from "./entry-DVV89YMR.js";
2
+ /**
3
+ * @license @lucide/vue v1.47.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ const o = {
9
+ name: "arrow-up",
10
+ size: 24,
11
+ node: [
12
+ ["path", { d: "m5 12 7-7 7 7", key: "hav0vg" }],
13
+ ["path", { d: "M12 19V5", key: "x0mq9r" }]
14
+ ]
15
+ }, r = a(o);
16
+ export {
17
+ r as A
18
+ };