@septkit/ui 0.0.48 → 0.0.50
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/dialecte/composables/use-active-document.js +18 -11
- package/dist/dialecte/create-document-store.js +3 -3
- package/dist/external/.pnpm/{@dialecte_core@0.4.7 → @dialecte_core@0.4.9}/node_modules/@dialecte/core/dist/helpers.js +16 -19
- package/dist/external/.pnpm/{@dialecte_core@0.4.7 → @dialecte_core@0.4.9}/node_modules/@dialecte/core/dist/index.js +1 -1
- package/dist/external/.pnpm/{@dialecte_core@0.4.7/node_modules/@dialecte/core/dist/project-DxIu-3AU.js → @dialecte_core@0.4.9/node_modules/@dialecte/core/dist/project-D-KS3OPN.js} +1 -1
- package/dist/external/.pnpm/{@dialecte_core@0.4.7 → @dialecte_core@0.4.9}/node_modules/@dialecte/core/dist/utils-C5_11hqg.js +1 -1
- package/dist/external/.pnpm/{@dialecte_scl@0.3.8/node_modules/@dialecte/scl/dist/hooks-DJJN-WU2.js → @dialecte_scl@0.3.9/node_modules/@dialecte/scl/dist/hooks-DO4gUiix.js} +48 -5277
- package/dist/external/.pnpm/@dialecte_scl@0.3.9/node_modules/@dialecte/scl/dist/v2019C1/index.js +3 -0
- package/dist/external/.pnpm/@lucide_vue@1.23.0_vue@3.5.39_typescript@5.8.3_/node_modules/@lucide/vue/dist/esm/icons/rotate-ccw.js +11 -0
- package/dist/index.d.ts +27 -1
- package/dist/merge/affix.js +14 -0
- package/dist/merge/build-view-model.js +37 -21
- package/dist/merge/element-detail.vue_vue_type_script_setup_true_lang.js +93 -32
- package/dist/merge/merge-review.vue_vue_type_script_setup_true_lang.js +159 -152
- package/dist/merge/merge-summary.vue_vue_type_script_setup_true_lang.js +47 -25
- package/dist/merge/merge-tree.vue_vue_type_script_setup_true_lang.js +11 -9
- package/dist/merge/merge.service.js +2 -2
- package/dist/merge/use-merge-session.js +4 -1
- package/dist/ui.css +1 -1
- package/package.json +3 -3
- package/dist/external/.pnpm/@dialecte_scl@0.3.8/node_modules/@dialecte/scl/dist/v2019C1/index.js +0 -3
|
@@ -10,44 +10,48 @@ import te from "../external/.pnpm/@lucide_vue@1.23.0_vue@3.5.39_typescript@5.8.3
|
|
|
10
10
|
import ne from "../external/.pnpm/@lucide_vue@1.23.0_vue@3.5.39_typescript@5.8.3_/node_modules/@lucide/vue/dist/esm/icons/check.js";
|
|
11
11
|
import re from "../external/.pnpm/@lucide_vue@1.23.0_vue@3.5.39_typescript@5.8.3_/node_modules/@lucide/vue/dist/esm/icons/eye-off.js";
|
|
12
12
|
import ie from "../external/.pnpm/@lucide_vue@1.23.0_vue@3.5.39_typescript@5.8.3_/node_modules/@lucide/vue/dist/esm/icons/eye.js";
|
|
13
|
-
import ae from "../external/.pnpm/@lucide_vue@1.23.0_vue@3.5.39_typescript@5.8.3_/node_modules/@lucide/vue/dist/esm/icons/
|
|
14
|
-
import oe from "../
|
|
13
|
+
import ae from "../external/.pnpm/@lucide_vue@1.23.0_vue@3.5.39_typescript@5.8.3_/node_modules/@lucide/vue/dist/esm/icons/link.js";
|
|
14
|
+
import oe from "../external/.pnpm/@lucide_vue@1.23.0_vue@3.5.39_typescript@5.8.3_/node_modules/@lucide/vue/dist/esm/icons/list-tree.js";
|
|
15
|
+
import se from "../code/xml-diff.js";
|
|
15
16
|
import "../code/index.js";
|
|
16
|
-
import
|
|
17
|
-
import { buildDetail as
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import { useDocumentProgress as
|
|
17
|
+
import ce from "./element-detail.js";
|
|
18
|
+
import { buildDetail as le, buildSummary as s } from "./build-view-model.js";
|
|
19
|
+
import ue from "./merge-progress.js";
|
|
20
|
+
import de from "./merge-summary.js";
|
|
21
|
+
import fe from "./merge-tree.js";
|
|
22
|
+
import pe from "./type-name-authority.js";
|
|
23
|
+
import { useDocumentProgress as c } from "./use-document-progress.js";
|
|
23
24
|
import { useMergeSession as me } from "./use-merge-session.js";
|
|
24
|
-
import { Fragment as
|
|
25
|
+
import { Fragment as l, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createTextVNode as h, createVNode as g, defineComponent as _, normalizeClass as v, onMounted as he, openBlock as y, ref as b, renderList as ge, resolveDynamicComponent as _e, toDisplayString as x, unref as S, vShow as ve, watch as ye, withCtx as C, withDirectives as w } from "vue";
|
|
25
26
|
//#region lib/merge/merge-review.vue?vue&type=script&setup=true&lang.ts
|
|
26
|
-
var
|
|
27
|
+
var T = { class: "flex h-full flex-col" }, E = { class: "flex flex-wrap items-center justify-between gap-x-8 gap-y-3 border-b border-base-300 px-4 py-2.5" }, D = {
|
|
27
28
|
key: 0,
|
|
28
29
|
class: "flex flex-col items-start gap-x-4 gap-y-1 text-xs md:flex-row md:items-center"
|
|
29
|
-
},
|
|
30
|
+
}, O = {
|
|
30
31
|
key: 0,
|
|
31
32
|
class: "flex items-baseline gap-1.5"
|
|
32
|
-
},
|
|
33
|
+
}, k = { class: "font-semibold" }, A = { class: "text-base-content/60" }, j = {
|
|
33
34
|
key: 0,
|
|
34
35
|
class: "uppercase"
|
|
35
|
-
},
|
|
36
|
+
}, M = { key: 1 }, N = {
|
|
36
37
|
key: 1,
|
|
37
38
|
class: "flex items-baseline gap-1.5"
|
|
38
|
-
},
|
|
39
|
+
}, P = { class: "font-semibold" }, be = { class: "text-base-content/60" }, xe = {
|
|
39
40
|
key: 0,
|
|
40
41
|
class: "uppercase"
|
|
41
|
-
},
|
|
42
|
+
}, Se = { key: 1 }, Ce = {
|
|
42
43
|
key: 0,
|
|
43
44
|
class: "border-b border-error/40 bg-error/10 p-2 text-xs whitespace-pre-wrap text-error"
|
|
44
|
-
},
|
|
45
|
+
}, we = {
|
|
46
|
+
key: 1,
|
|
47
|
+
class: "flex items-center gap-2 border-b border-info/40 bg-info/10 p-2 text-xs text-info"
|
|
48
|
+
}, Te = { class: "min-h-0 flex-1" }, Ee = { class: "h-full" }, De = { class: "flex shrink-0 items-center gap-3 border-b border-base-300 px-3 py-1.5 text-xs" }, Oe = { class: "flex items-center gap-1" }, ke = ["title"], Ae = { class: "min-h-0 flex-1 overflow-y-auto" }, je = {
|
|
45
49
|
key: 2,
|
|
46
50
|
class: "grid h-full place-items-center p-6 text-center"
|
|
47
|
-
},
|
|
51
|
+
}, Me = { class: "flex flex-col items-center gap-1" }, Ne = {
|
|
48
52
|
key: 0,
|
|
49
53
|
class: "text-xs opacity-70"
|
|
50
|
-
},
|
|
54
|
+
}, Pe = { class: "flex items-center justify-end gap-2 border-t border-base-300 p-2" }, F = /*@__PURE__*/ _({
|
|
51
55
|
__name: "merge-review",
|
|
52
56
|
props: {
|
|
53
57
|
targetDocument: {},
|
|
@@ -58,28 +62,29 @@ var w = { class: "flex h-full flex-col" }, T = { class: "flex flex-wrap items-ce
|
|
|
58
62
|
anchor: {},
|
|
59
63
|
afterApply: { type: Function },
|
|
60
64
|
source: {},
|
|
61
|
-
target: {}
|
|
65
|
+
target: {},
|
|
66
|
+
affixMask: { type: Function }
|
|
62
67
|
},
|
|
63
68
|
emits: ["applied", "close"],
|
|
64
|
-
setup(
|
|
65
|
-
let I =
|
|
69
|
+
setup(_, { emit: F }) {
|
|
70
|
+
let I = _, L = F, R = me(I), { structuralTree: z, previewXml: Fe, previewBeforeXml: Ie, previewLoading: Le } = R, B = u({
|
|
66
71
|
get: () => R.keepNameTypesFrom.value,
|
|
67
72
|
set: (e) => R.setKeepNameTypesFrom(e)
|
|
68
|
-
}), { progress:
|
|
73
|
+
}), { progress: Re, history: ze, track: V } = c(() => I.targetDocument.state), H = b("review"), U = b(!1), W = b(), G = b(), K = b(), q = b(), J = b(), Y = b(!0), X = b(), Be = [
|
|
69
74
|
"Review",
|
|
70
75
|
"Confirm",
|
|
71
76
|
"Done"
|
|
72
|
-
],
|
|
77
|
+
], Z = u(() => ({
|
|
73
78
|
review: 0,
|
|
74
79
|
confirm: 1,
|
|
75
80
|
done: 2
|
|
76
|
-
})[
|
|
81
|
+
})[H.value]), Ve = u(() => !!R.report.value && R.report.value.groups.length === 0), He = u(() => {
|
|
77
82
|
let e = {};
|
|
78
83
|
for (let t of R.report.value?.groups ?? []) e[t.id] = R.decisionOf(t.id);
|
|
79
84
|
return e;
|
|
80
|
-
}),
|
|
85
|
+
}), Q = u(() => {
|
|
81
86
|
let e = z.value;
|
|
82
|
-
if (
|
|
87
|
+
if (Y.value) return e.items;
|
|
83
88
|
let t = new Set(e.expanded);
|
|
84
89
|
function n(e) {
|
|
85
90
|
let r = [];
|
|
@@ -94,17 +99,17 @@ var w = { class: "flex h-full flex-col" }, T = { class: "flex flex-wrap items-ce
|
|
|
94
99
|
return r;
|
|
95
100
|
}
|
|
96
101
|
return n(e.items);
|
|
97
|
-
}),
|
|
102
|
+
}), Ue = u(() => X.value ?? z.value.expanded);
|
|
98
103
|
ye(z, () => {
|
|
99
|
-
|
|
104
|
+
X.value = void 0;
|
|
100
105
|
}), he(async () => {
|
|
101
|
-
|
|
106
|
+
W.value = "Analyzing template…", U.value = !0;
|
|
102
107
|
try {
|
|
103
|
-
await
|
|
108
|
+
await V(R.load());
|
|
104
109
|
} catch (e) {
|
|
105
|
-
|
|
110
|
+
G.value = e instanceof Error ? e.stack ?? e.message : String(e);
|
|
106
111
|
} finally {
|
|
107
|
-
|
|
112
|
+
U.value = !1;
|
|
108
113
|
}
|
|
109
114
|
});
|
|
110
115
|
function $() {
|
|
@@ -113,7 +118,7 @@ var w = { class: "flex h-full flex-col" }, T = { class: "flex flex-wrap items-ce
|
|
|
113
118
|
targetQuery: I.targetDocument.query
|
|
114
119
|
};
|
|
115
120
|
}
|
|
116
|
-
function
|
|
121
|
+
function We() {
|
|
117
122
|
let e = z.value, t = new Set(e.expanded);
|
|
118
123
|
function n(r, i) {
|
|
119
124
|
for (let a of r) {
|
|
@@ -121,134 +126,135 @@ var w = { class: "flex h-full flex-col" }, T = { class: "flex flex-wrap items-ce
|
|
|
121
126
|
o && a.children?.length && t.add(a.id), a.children && n(a.children, o);
|
|
122
127
|
}
|
|
123
128
|
}
|
|
124
|
-
n(e.items, !1),
|
|
129
|
+
n(e.items, !1), X.value = [...t];
|
|
125
130
|
}
|
|
126
|
-
async function
|
|
131
|
+
async function Ge(e) {
|
|
127
132
|
let t = z.value.index[e.id];
|
|
128
133
|
if (!t) return;
|
|
129
|
-
R.select(t),
|
|
130
|
-
let n =
|
|
134
|
+
R.select(t), q.value = t.role === "primary" ? t.groupId : void 0;
|
|
135
|
+
let n = q.value ? R.report.value?.groups.find((e) => e.id === q.value) : void 0, r = t.node ? await le(t.node, n, $()) : void 0;
|
|
131
136
|
if (r) {
|
|
132
137
|
let e = await R.stagedAttributes(t.previewRef);
|
|
133
138
|
for (let t of r.attributes) t.editable && e[t.name] != null && (t.after = e[t.name]);
|
|
134
139
|
}
|
|
135
|
-
|
|
140
|
+
K.value = r;
|
|
136
141
|
}
|
|
137
|
-
function
|
|
142
|
+
function Ke(e, t) {
|
|
138
143
|
R.setDecision(e, t);
|
|
139
144
|
}
|
|
140
|
-
function
|
|
141
|
-
if (!
|
|
142
|
-
R.setValue(
|
|
143
|
-
let n =
|
|
145
|
+
function qe(e, t) {
|
|
146
|
+
if (!q.value || !K.value) return;
|
|
147
|
+
R.setValue(q.value, e, t);
|
|
148
|
+
let n = K.value.attributes.find((t) => t.name === e);
|
|
144
149
|
n && (n.after = t);
|
|
145
150
|
}
|
|
146
|
-
async function
|
|
151
|
+
async function Je() {
|
|
147
152
|
let e = R.report.value;
|
|
148
|
-
e && (
|
|
153
|
+
e && (J.value = await s(e, R.decisionOf, R.editedValue, $()), H.value = "confirm");
|
|
149
154
|
}
|
|
150
|
-
async function
|
|
151
|
-
|
|
155
|
+
async function Ye() {
|
|
156
|
+
W.value = "Applying changes…", U.value = !0;
|
|
152
157
|
try {
|
|
153
|
-
await
|
|
158
|
+
await V(R.commit()), H.value = "done";
|
|
154
159
|
} catch (e) {
|
|
155
|
-
|
|
160
|
+
G.value = e instanceof Error ? e.stack ?? e.message : String(e);
|
|
156
161
|
} finally {
|
|
157
|
-
|
|
162
|
+
U.value = !1;
|
|
158
163
|
}
|
|
159
164
|
}
|
|
160
|
-
return (
|
|
161
|
-
|
|
162
|
-
"model-value":
|
|
165
|
+
return (le, s) => (y(), p("div", T, [
|
|
166
|
+
m("header", E, [g(S(i), {
|
|
167
|
+
"model-value": Z.value + 1,
|
|
163
168
|
class: "flex items-center",
|
|
164
169
|
"aria-label": "Merge steps"
|
|
165
170
|
}, {
|
|
166
|
-
default:
|
|
171
|
+
default: C(() => [(y(), p(l, null, ge(Be, (e, t) => (y(), p(l, { key: e }, [t > 0 ? (y(), p("div", {
|
|
167
172
|
key: 0,
|
|
168
|
-
class:
|
|
169
|
-
}, null, 2)) :
|
|
173
|
+
class: v(["mx-3 h-px w-8 transition-colors", t <= Z.value ? "bg-primary" : "bg-base-300"])
|
|
174
|
+
}, null, 2)) : f("", !0), g(S(a), {
|
|
170
175
|
step: t + 1,
|
|
171
176
|
class: "flex items-center gap-2"
|
|
172
177
|
}, {
|
|
173
|
-
default:
|
|
174
|
-
default:
|
|
178
|
+
default: C(() => [g(S(o), { class: v(["grid size-6 place-items-center rounded-full border text-xs font-semibold transition-colors", t < Z.value ? "border-primary bg-primary text-primary-content" : t === Z.value ? "border-primary text-primary" : "border-base-300 text-base-content/40"]) }, {
|
|
179
|
+
default: C(() => [t < Z.value ? (y(), d(S(ne), {
|
|
175
180
|
key: 0,
|
|
176
181
|
class: "size-3.5"
|
|
177
|
-
})) : (
|
|
182
|
+
})) : (y(), p(l, { key: 1 }, [h(x(t + 1), 1)], 64))]),
|
|
178
183
|
_: 2
|
|
179
|
-
}, 1032, ["class"]),
|
|
180
|
-
default:
|
|
184
|
+
}, 1032, ["class"]), g(S(ee), { class: v(["text-xs font-medium transition-colors", t === Z.value ? "text-base-content" : t < Z.value ? "text-base-content/70" : "text-base-content/40"]) }, {
|
|
185
|
+
default: C(() => [h(x(e), 1)]),
|
|
181
186
|
_: 2
|
|
182
187
|
}, 1032, ["class"])]),
|
|
183
188
|
_: 2
|
|
184
189
|
}, 1032, ["step"])], 64))), 64))]),
|
|
185
190
|
_: 1
|
|
186
|
-
}, 8, ["model-value"]),
|
|
187
|
-
|
|
188
|
-
s[5] ||=
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
191
|
+
}, 8, ["model-value"]), _.source || _.target ? (y(), p("div", D, [
|
|
192
|
+
_.source ? (y(), p("span", O, [
|
|
193
|
+
s[5] ||= m("span", { class: "text-[10px] font-medium uppercase tracking-wide text-base-content/45" }, " Source ", -1),
|
|
194
|
+
m("span", k, x(_.source.label), 1),
|
|
195
|
+
m("span", A, [
|
|
196
|
+
_.source.type ? (y(), p("span", j, x(_.source.type), 1)) : f("", !0),
|
|
197
|
+
_.source.type ? (y(), p("span", M, " · ")) : f("", !0),
|
|
198
|
+
h("v" + x(_.source.version || "0") + "." + x(_.source.revision || "0"), 1)
|
|
194
199
|
])
|
|
195
|
-
])) :
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
s[6] ||=
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
200
|
+
])) : f("", !0),
|
|
201
|
+
g(S(te), { class: "hidden size-4 shrink-0 text-base-content/40 md:block" }),
|
|
202
|
+
_.target ? (y(), p("span", N, [
|
|
203
|
+
s[6] ||= m("span", { class: "text-[10px] font-medium uppercase tracking-wide text-base-content/45" }, " Target ", -1),
|
|
204
|
+
m("span", P, x(_.target.label), 1),
|
|
205
|
+
m("span", be, [
|
|
206
|
+
_.target.type ? (y(), p("span", xe, x(_.target.type), 1)) : f("", !0),
|
|
207
|
+
_.target.type ? (y(), p("span", Se, " · ")) : f("", !0),
|
|
208
|
+
h("v" + x(_.target.version || "0") + "." + x(_.target.revision || "0"), 1)
|
|
204
209
|
])
|
|
205
|
-
])) :
|
|
206
|
-
])) :
|
|
207
|
-
|
|
208
|
-
p("div",
|
|
209
|
-
|
|
210
|
+
])) : f("", !0)
|
|
211
|
+
])) : f("", !0)]),
|
|
212
|
+
G.value ? (y(), p("div", Ce, x(G.value), 1)) : f("", !0),
|
|
213
|
+
!U.value && !G.value && H.value === "review" && Ve.value ? (y(), p("div", we, [g(S(ae), { class: "size-4 shrink-0" }), s[7] ||= h(" This instance is already up to date with the template — nothing to apply. ", -1)])) : f("", !0),
|
|
214
|
+
m("div", Te, [
|
|
215
|
+
U.value ? (y(), d(ue, {
|
|
210
216
|
key: 0,
|
|
211
|
-
label:
|
|
212
|
-
progress:
|
|
213
|
-
history:
|
|
217
|
+
label: W.value,
|
|
218
|
+
progress: S(Re),
|
|
219
|
+
history: S(ze)
|
|
214
220
|
}, null, 8, [
|
|
215
221
|
"label",
|
|
216
222
|
"progress",
|
|
217
223
|
"history"
|
|
218
|
-
])) :
|
|
219
|
-
|
|
224
|
+
])) : f("", !0),
|
|
225
|
+
w(m("div", Ee, [g(S(t), {
|
|
220
226
|
direction: "horizontal",
|
|
221
227
|
class: "h-full min-h-0"
|
|
222
228
|
}, {
|
|
223
|
-
default:
|
|
224
|
-
|
|
229
|
+
default: C(() => [
|
|
230
|
+
g(S(n), {
|
|
225
231
|
"default-size": 42,
|
|
226
232
|
class: "flex h-full min-h-0 flex-col"
|
|
227
233
|
}, {
|
|
228
|
-
default:
|
|
229
|
-
|
|
230
|
-
modelValue:
|
|
231
|
-
"onUpdate:modelValue": s[0] ||= (e) =>
|
|
234
|
+
default: C(() => [m("div", De, [
|
|
235
|
+
g(pe, {
|
|
236
|
+
modelValue: B.value,
|
|
237
|
+
"onUpdate:modelValue": s[0] ||= (e) => B.value = e
|
|
232
238
|
}, null, 8, ["modelValue"]),
|
|
233
|
-
s[
|
|
234
|
-
|
|
239
|
+
s[8] ||= m("div", { class: "ml-auto h-4 w-px shrink-0 bg-base-300" }, null, -1),
|
|
240
|
+
m("div", Oe, [m("button", {
|
|
235
241
|
type: "button",
|
|
236
|
-
class:
|
|
237
|
-
title:
|
|
238
|
-
onClick: s[1] ||= (e) =>
|
|
239
|
-
}, [(
|
|
242
|
+
class: v(["btn btn-ghost btn-xs btn-square", { "text-primary": Y.value }]),
|
|
243
|
+
title: Y.value ? "Hide unchanged elements" : "Show unchanged elements",
|
|
244
|
+
onClick: s[1] ||= (e) => Y.value = !Y.value
|
|
245
|
+
}, [(y(), d(_e(Y.value ? S(ie) : S(re)), { class: "h-4 w-4" }))], 10, ke), m("button", {
|
|
240
246
|
type: "button",
|
|
241
247
|
class: "btn btn-ghost btn-xs btn-square",
|
|
242
248
|
title: "Expand all differences",
|
|
243
|
-
onClick:
|
|
244
|
-
}, [
|
|
245
|
-
]),
|
|
246
|
-
items:
|
|
247
|
-
meta:
|
|
248
|
-
decisions:
|
|
249
|
-
"expanded-items":
|
|
250
|
-
onSelect:
|
|
251
|
-
"onUpdate:decision":
|
|
249
|
+
onClick: We
|
|
250
|
+
}, [g(S(oe), { class: "h-4 w-4" })])])
|
|
251
|
+
]), m("div", Ae, [g(fe, {
|
|
252
|
+
items: Q.value,
|
|
253
|
+
meta: S(z).meta,
|
|
254
|
+
decisions: He.value,
|
|
255
|
+
"expanded-items": Ue.value,
|
|
256
|
+
onSelect: Ge,
|
|
257
|
+
"onUpdate:decision": Ke
|
|
252
258
|
}, null, 8, [
|
|
253
259
|
"items",
|
|
254
260
|
"meta",
|
|
@@ -257,29 +263,30 @@ var w = { class: "flex h-full flex-col" }, T = { class: "flex flex-wrap items-ce
|
|
|
257
263
|
])])]),
|
|
258
264
|
_: 1
|
|
259
265
|
}),
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
default:
|
|
266
|
+
g(S(r), { class: "w-px bg-base-300" }),
|
|
267
|
+
g(S(n), { class: "h-full border-s border-base-300" }, {
|
|
268
|
+
default: C(() => [g(S(t), {
|
|
263
269
|
direction: "vertical",
|
|
264
270
|
class: "h-full"
|
|
265
271
|
}, {
|
|
266
|
-
default:
|
|
267
|
-
|
|
272
|
+
default: C(() => [
|
|
273
|
+
g(S(n), {
|
|
268
274
|
"default-size": 55,
|
|
269
275
|
class: "min-h-0 overflow-auto"
|
|
270
276
|
}, {
|
|
271
|
-
default:
|
|
272
|
-
detail:
|
|
273
|
-
|
|
274
|
-
|
|
277
|
+
default: C(() => [g(ce, {
|
|
278
|
+
detail: K.value,
|
|
279
|
+
"affix-mask": _.affixMask,
|
|
280
|
+
onEdit: qe
|
|
281
|
+
}, null, 8, ["detail", "affix-mask"])]),
|
|
275
282
|
_: 1
|
|
276
283
|
}),
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
default:
|
|
280
|
-
before:
|
|
281
|
-
after:
|
|
282
|
-
loading:
|
|
284
|
+
g(S(r), { class: "h-px bg-base-300" }),
|
|
285
|
+
g(S(n), { class: "min-h-0" }, {
|
|
286
|
+
default: C(() => [g(S(se), {
|
|
287
|
+
before: S(Ie),
|
|
288
|
+
after: S(Fe),
|
|
289
|
+
loading: S(Le)
|
|
283
290
|
}, null, 8, [
|
|
284
291
|
"before",
|
|
285
292
|
"after",
|
|
@@ -294,61 +301,61 @@ var w = { class: "flex h-full flex-col" }, T = { class: "flex flex-wrap items-ce
|
|
|
294
301
|
})
|
|
295
302
|
]),
|
|
296
303
|
_: 1
|
|
297
|
-
})], 512), [[ve, !
|
|
298
|
-
!
|
|
304
|
+
})], 512), [[ve, !U.value && H.value === "review"]]),
|
|
305
|
+
!U.value && H.value === "confirm" && J.value ? (y(), d(de, {
|
|
299
306
|
key: 1,
|
|
300
|
-
summary:
|
|
301
|
-
scenario:
|
|
302
|
-
verb:
|
|
307
|
+
summary: J.value,
|
|
308
|
+
scenario: _.scenario,
|
|
309
|
+
verb: _.verb
|
|
303
310
|
}, null, 8, [
|
|
304
311
|
"summary",
|
|
305
312
|
"scenario",
|
|
306
313
|
"verb"
|
|
307
|
-
])) :
|
|
308
|
-
!
|
|
309
|
-
s[
|
|
310
|
-
s[
|
|
311
|
-
|
|
312
|
-
])])) :
|
|
314
|
+
])) : f("", !0),
|
|
315
|
+
!U.value && H.value === "done" ? (y(), p("div", je, [m("div", Me, [
|
|
316
|
+
s[9] ||= m("span", { class: "text-3xl text-success" }, "✓", -1),
|
|
317
|
+
s[10] ||= m("p", { class: "font-medium" }, "Applied", -1),
|
|
318
|
+
J.value ? (y(), p("p", Ne, x(J.value.added.length) + " added · " + x(J.value.updated.length) + " updated · " + x(J.value.skipped.length) + " skipped ", 1)) : f("", !0)
|
|
319
|
+
])])) : f("", !0)
|
|
313
320
|
]),
|
|
314
|
-
|
|
321
|
+
m("footer", Pe, [H.value === "review" ? (y(), p(l, { key: 0 }, [g(e, {
|
|
315
322
|
variant: "ghost",
|
|
316
323
|
size: "sm",
|
|
317
324
|
onClick: s[2] ||= (e) => L("close")
|
|
318
325
|
}, {
|
|
319
|
-
default:
|
|
326
|
+
default: C(() => [...s[11] ||= [h("Close", -1)]]),
|
|
320
327
|
_: 1
|
|
321
|
-
}),
|
|
328
|
+
}), g(e, {
|
|
322
329
|
color: "primary",
|
|
323
330
|
size: "sm",
|
|
324
|
-
disabled:
|
|
325
|
-
onClick:
|
|
331
|
+
disabled: U.value || !!G.value,
|
|
332
|
+
onClick: Je
|
|
326
333
|
}, {
|
|
327
|
-
default:
|
|
334
|
+
default: C(() => [...s[12] ||= [h(" Next: Confirm ", -1)]]),
|
|
328
335
|
_: 1
|
|
329
|
-
}, 8, ["disabled"])], 64)) :
|
|
336
|
+
}, 8, ["disabled"])], 64)) : H.value === "confirm" ? (y(), p(l, { key: 1 }, [g(e, {
|
|
330
337
|
variant: "ghost",
|
|
331
338
|
size: "sm",
|
|
332
|
-
disabled:
|
|
333
|
-
onClick: s[3] ||= (e) =>
|
|
339
|
+
disabled: U.value,
|
|
340
|
+
onClick: s[3] ||= (e) => H.value = "review"
|
|
334
341
|
}, {
|
|
335
|
-
default:
|
|
342
|
+
default: C(() => [...s[13] ||= [h("Back", -1)]]),
|
|
336
343
|
_: 1
|
|
337
|
-
}, 8, ["disabled"]),
|
|
344
|
+
}, 8, ["disabled"]), g(e, {
|
|
338
345
|
color: "primary",
|
|
339
346
|
size: "sm",
|
|
340
|
-
disabled:
|
|
341
|
-
onClick:
|
|
347
|
+
disabled: U.value,
|
|
348
|
+
onClick: Ye
|
|
342
349
|
}, {
|
|
343
|
-
default:
|
|
350
|
+
default: C(() => [...s[14] ||= [h("Apply", -1)]]),
|
|
344
351
|
_: 1
|
|
345
|
-
}, 8, ["disabled"])], 64)) : (
|
|
352
|
+
}, 8, ["disabled"])], 64)) : (y(), d(e, {
|
|
346
353
|
key: 2,
|
|
347
354
|
color: "primary",
|
|
348
355
|
size: "sm",
|
|
349
356
|
onClick: s[4] ||= (e) => L("applied")
|
|
350
357
|
}, {
|
|
351
|
-
default:
|
|
358
|
+
default: C(() => [...s[15] ||= [h("Close", -1)]]),
|
|
352
359
|
_: 1
|
|
353
360
|
}))])
|
|
354
361
|
]));
|
|
@@ -1,30 +1,42 @@
|
|
|
1
1
|
import { Fragment as e, createCommentVNode as t, createElementBlock as n, createElementVNode as r, createTextVNode as i, defineComponent as a, openBlock as o, renderList as s, toDisplayString as c } from "vue";
|
|
2
2
|
//#region lib/merge/merge-summary.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
-
var l = { class: "h-full overflow-auto p-4 text-sm" }, u = { class: "mb-3 opacity-70" }, d = { class: "capitalize" }, f = { class: "uppercase" }, p = { class: "mb-4 flex flex-wrap gap-2" }, m = { class: "badge badge-success badge-sm" }, h = { class: "badge badge-warning badge-sm" }, g = {
|
|
3
|
+
var l = { class: "h-full overflow-auto p-4 text-sm" }, u = { class: "mb-3 opacity-70" }, d = { class: "capitalize" }, f = { class: "uppercase" }, p = { class: "mb-4 flex flex-wrap gap-2" }, m = { class: "badge badge-success badge-sm" }, h = { class: "badge badge-warning badge-sm" }, g = {
|
|
4
4
|
key: 0,
|
|
5
5
|
class: "badge badge-info badge-sm"
|
|
6
|
-
},
|
|
6
|
+
}, _ = {
|
|
7
|
+
key: 1,
|
|
8
|
+
class: "badge badge-error badge-sm"
|
|
9
|
+
}, v = { class: "badge badge-ghost badge-sm" }, y = {
|
|
10
|
+
key: 2,
|
|
11
|
+
class: "badge badge-info badge-sm"
|
|
12
|
+
}, b = {
|
|
7
13
|
key: 0,
|
|
8
14
|
class: "mb-4"
|
|
9
|
-
},
|
|
15
|
+
}, x = { class: "space-y-1" }, S = { class: "badge badge-ghost badge-xs" }, C = {
|
|
10
16
|
key: 0,
|
|
11
17
|
class: "text-xs opacity-60"
|
|
12
|
-
},
|
|
18
|
+
}, w = {
|
|
13
19
|
key: 1,
|
|
14
20
|
class: "mb-4"
|
|
15
|
-
},
|
|
21
|
+
}, T = { class: "space-y-1" }, E = { class: "badge badge-ghost badge-xs" }, D = {
|
|
16
22
|
key: 0,
|
|
17
23
|
class: "text-xs opacity-60"
|
|
18
|
-
},
|
|
24
|
+
}, O = {
|
|
19
25
|
key: 2,
|
|
20
26
|
class: "mb-4"
|
|
21
|
-
},
|
|
27
|
+
}, k = { class: "space-y-1" }, A = { class: "text-xs opacity-60" }, j = {
|
|
22
28
|
key: 3,
|
|
23
29
|
class: "mb-4"
|
|
24
|
-
},
|
|
30
|
+
}, M = { class: "space-y-1" }, N = { class: "badge badge-ghost badge-xs" }, P = {
|
|
25
31
|
key: 4,
|
|
32
|
+
class: "mb-4"
|
|
33
|
+
}, F = { class: "space-y-1" }, I = { class: "badge badge-ghost badge-xs" }, L = {
|
|
34
|
+
key: 5,
|
|
35
|
+
class: "mb-4"
|
|
36
|
+
}, R = { class: "space-y-1" }, z = { class: "badge badge-ghost badge-xs" }, B = {
|
|
37
|
+
key: 6,
|
|
26
38
|
class: "opacity-60"
|
|
27
|
-
},
|
|
39
|
+
}, V = /*@__PURE__*/ a({
|
|
28
40
|
__name: "merge-summary",
|
|
29
41
|
props: {
|
|
30
42
|
summary: {},
|
|
@@ -32,45 +44,55 @@ var l = { class: "h-full overflow-auto p-4 text-sm" }, u = { class: "mb-3 opacit
|
|
|
32
44
|
verb: {}
|
|
33
45
|
},
|
|
34
46
|
setup(a) {
|
|
35
|
-
return (
|
|
47
|
+
return (V, H) => (o(), n("div", l, [
|
|
36
48
|
r("p", u, [
|
|
37
49
|
r("span", d, c(a.scenario), 1),
|
|
38
50
|
r("span", f, " (" + c(a.verb) + ")", 1),
|
|
39
|
-
|
|
51
|
+
H[0] ||= i(" — review before applying. ", -1)
|
|
40
52
|
]),
|
|
41
53
|
r("div", p, [
|
|
42
54
|
r("span", m, c(a.summary.added.length) + " added", 1),
|
|
43
55
|
r("span", h, c(a.summary.updated.length) + " updated", 1),
|
|
44
|
-
|
|
45
|
-
a.summary.
|
|
56
|
+
a.summary.preserved.length ? (o(), n("span", g, c(a.summary.preserved.length) + " kept ", 1)) : t("", !0),
|
|
57
|
+
a.summary.removed.length ? (o(), n("span", _, c(a.summary.removed.length) + " removed ", 1)) : t("", !0),
|
|
58
|
+
r("span", v, c(a.summary.skipped.length) + " skipped", 1),
|
|
59
|
+
a.summary.renamed.length ? (o(), n("span", y, c(a.summary.renamed.length) + " auto-renamed ", 1)) : t("", !0)
|
|
46
60
|
]),
|
|
47
|
-
a.summary.added.length ? (o(), n("section",
|
|
61
|
+
a.summary.added.length ? (o(), n("section", b, [H[1] ||= r("h3", { class: "mb-1 font-medium text-success" }, "Will be added", -1), r("ul", x, [(o(!0), n(e, null, s(a.summary.added, (e, i) => (o(), n("li", {
|
|
48
62
|
key: `a${i}`,
|
|
49
63
|
class: "flex items-center gap-2"
|
|
50
64
|
}, [
|
|
51
|
-
r("span",
|
|
65
|
+
r("span", S, c(e.tag), 1),
|
|
52
66
|
r("span", null, c(e.title), 1),
|
|
53
|
-
e.detail ? (o(), n("span",
|
|
67
|
+
e.detail ? (o(), n("span", C, c(e.detail), 1)) : t("", !0)
|
|
54
68
|
]))), 128))])])) : t("", !0),
|
|
55
|
-
a.summary.updated.length ? (o(), n("section",
|
|
69
|
+
a.summary.updated.length ? (o(), n("section", w, [H[2] ||= r("h3", { class: "mb-1 font-medium text-warning" }, "Will be updated", -1), r("ul", T, [(o(!0), n(e, null, s(a.summary.updated, (e, i) => (o(), n("li", {
|
|
56
70
|
key: `u${i}`,
|
|
57
71
|
class: "flex items-center gap-2"
|
|
58
72
|
}, [
|
|
59
|
-
r("span",
|
|
73
|
+
r("span", E, c(e.tag), 1),
|
|
60
74
|
r("span", null, c(e.title), 1),
|
|
61
|
-
e.detail ? (o(), n("span",
|
|
75
|
+
e.detail ? (o(), n("span", D, c(e.detail), 1)) : t("", !0)
|
|
62
76
|
]))), 128))])])) : t("", !0),
|
|
63
|
-
a.summary.renamed.length ? (o(), n("section",
|
|
77
|
+
a.summary.renamed.length ? (o(), n("section", O, [H[3] ||= r("h3", { class: "mb-1 font-medium text-info" }, "Auto-renamed (naming collisions)", -1), r("ul", k, [(o(!0), n(e, null, s(a.summary.renamed, (e, t) => (o(), n("li", {
|
|
64
78
|
key: `r${t}`,
|
|
65
79
|
class: "flex items-center gap-2"
|
|
66
|
-
}, [r("span", null, c(e.title), 1), r("span",
|
|
67
|
-
a.summary.
|
|
80
|
+
}, [r("span", null, c(e.title), 1), r("span", A, c(e.field) + " → " + c(e.to), 1)]))), 128))])])) : t("", !0),
|
|
81
|
+
a.summary.removed.length ? (o(), n("section", j, [H[4] ||= r("h3", { class: "mb-1 font-medium text-error" }, "Will be removed (your additions)", -1), r("ul", M, [(o(!0), n(e, null, s(a.summary.removed, (e, t) => (o(), n("li", {
|
|
82
|
+
key: `rm${t}`,
|
|
83
|
+
class: "flex items-center gap-2"
|
|
84
|
+
}, [r("span", N, c(e.tag), 1), r("span", null, c(e.title), 1)]))), 128))])])) : t("", !0),
|
|
85
|
+
a.summary.preserved.length ? (o(), n("section", P, [H[5] ||= r("h3", { class: "mb-1 font-medium text-info" }, "Kept (your additions)", -1), r("ul", F, [(o(!0), n(e, null, s(a.summary.preserved, (e, t) => (o(), n("li", {
|
|
86
|
+
key: `k${t}`,
|
|
87
|
+
class: "flex items-center gap-2"
|
|
88
|
+
}, [r("span", I, c(e.tag), 1), r("span", null, c(e.title), 1)]))), 128))])])) : t("", !0),
|
|
89
|
+
a.summary.skipped.length ? (o(), n("section", L, [H[6] ||= r("h3", { class: "mb-1 font-medium opacity-70" }, "Skipped", -1), r("ul", R, [(o(!0), n(e, null, s(a.summary.skipped, (e, t) => (o(), n("li", {
|
|
68
90
|
key: `s${t}`,
|
|
69
91
|
class: "flex items-center gap-2 line-through opacity-50"
|
|
70
|
-
}, [r("span",
|
|
71
|
-
!a.summary.added.length && !a.summary.updated.length && !a.summary.skipped.length && !a.summary.renamed.length ? (o(), n("p",
|
|
92
|
+
}, [r("span", z, c(e.tag), 1), r("span", null, c(e.title), 1)]))), 128))])])) : t("", !0),
|
|
93
|
+
!a.summary.added.length && !a.summary.updated.length && !a.summary.skipped.length && !a.summary.preserved.length && !a.summary.removed.length && !a.summary.renamed.length ? (o(), n("p", B, " Nothing to apply. ")) : t("", !0)
|
|
72
94
|
]));
|
|
73
95
|
}
|
|
74
96
|
});
|
|
75
97
|
//#endregion
|
|
76
|
-
export {
|
|
98
|
+
export { V as default };
|