@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.
Files changed (21) hide show
  1. package/dist/dialecte/composables/use-active-document.js +18 -11
  2. package/dist/dialecte/create-document-store.js +3 -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
  4. package/dist/external/.pnpm/{@dialecte_core@0.4.7 → @dialecte_core@0.4.9}/node_modules/@dialecte/core/dist/index.js +1 -1
  5. 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
  6. 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
  7. 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
  8. package/dist/external/.pnpm/@dialecte_scl@0.3.9/node_modules/@dialecte/scl/dist/v2019C1/index.js +3 -0
  9. 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
  10. package/dist/index.d.ts +27 -1
  11. package/dist/merge/affix.js +14 -0
  12. package/dist/merge/build-view-model.js +37 -21
  13. package/dist/merge/element-detail.vue_vue_type_script_setup_true_lang.js +93 -32
  14. package/dist/merge/merge-review.vue_vue_type_script_setup_true_lang.js +159 -152
  15. package/dist/merge/merge-summary.vue_vue_type_script_setup_true_lang.js +47 -25
  16. package/dist/merge/merge-tree.vue_vue_type_script_setup_true_lang.js +11 -9
  17. package/dist/merge/merge.service.js +2 -2
  18. package/dist/merge/use-merge-session.js +4 -1
  19. package/dist/ui.css +1 -1
  20. package/package.json +3 -3
  21. 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/list-tree.js";
14
- import oe from "../code/xml-diff.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/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 se from "./element-detail.js";
17
- import { buildDetail as ce, buildSummary as s } from "./build-view-model.js";
18
- import le from "./merge-progress.js";
19
- import ue from "./merge-summary.js";
20
- import de from "./merge-tree.js";
21
- import fe from "./type-name-authority.js";
22
- import { useDocumentProgress as pe } from "./use-document-progress.js";
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 c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createTextVNode as m, createVNode as h, defineComponent as g, normalizeClass as _, onMounted as he, openBlock as v, ref as y, renderList as ge, resolveDynamicComponent as _e, toDisplayString as b, unref as x, vShow as ve, watch as ye, withCtx as S, withDirectives as C } from "vue";
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 w = { class: "flex h-full flex-col" }, T = { class: "flex flex-wrap items-center justify-between gap-x-8 gap-y-3 border-b border-base-300 px-4 py-2.5" }, E = {
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
- }, D = {
30
+ }, O = {
30
31
  key: 0,
31
32
  class: "flex items-baseline gap-1.5"
32
- }, O = { class: "font-semibold" }, k = { class: "text-base-content/60" }, A = {
33
+ }, k = { class: "font-semibold" }, A = { class: "text-base-content/60" }, j = {
33
34
  key: 0,
34
35
  class: "uppercase"
35
- }, j = { key: 1 }, M = {
36
+ }, M = { key: 1 }, N = {
36
37
  key: 1,
37
38
  class: "flex items-baseline gap-1.5"
38
- }, N = { class: "font-semibold" }, P = { class: "text-base-content/60" }, be = {
39
+ }, P = { class: "font-semibold" }, be = { class: "text-base-content/60" }, xe = {
39
40
  key: 0,
40
41
  class: "uppercase"
41
- }, xe = { key: 1 }, Se = {
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
- }, Ce = { class: "min-h-0 flex-1" }, we = { class: "h-full" }, Te = { class: "flex shrink-0 items-center gap-3 border-b border-base-300 px-3 py-1.5 text-xs" }, Ee = { class: "flex items-center gap-1" }, De = ["title"], Oe = { class: "min-h-0 flex-1 overflow-y-auto" }, ke = {
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
- }, Ae = { class: "flex flex-col items-center gap-1" }, je = {
51
+ }, Me = { class: "flex flex-col items-center gap-1" }, Ne = {
48
52
  key: 0,
49
53
  class: "text-xs opacity-70"
50
- }, Me = { class: "flex items-center justify-end gap-2 border-t border-base-300 p-2" }, F = /*@__PURE__*/ g({
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(g, { emit: F }) {
65
- let I = g, L = F, R = me(I), { structuralTree: z, previewXml: B, previewBeforeXml: Ne, previewLoading: Pe } = R, V = l({
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: Fe, history: Ie, track: H } = pe(() => I.targetDocument.state), U = y("review"), W = y(!1), G = y(), K = y(), q = y(), J = y(), Y = y(), X = y(!0), Z = y(), Le = [
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
- ], Q = l(() => ({
77
+ ], Z = u(() => ({
73
78
  review: 0,
74
79
  confirm: 1,
75
80
  done: 2
76
- })[U.value]), Re = l(() => {
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
- }), ze = l(() => {
85
+ }), Q = u(() => {
81
86
  let e = z.value;
82
- if (X.value) return e.items;
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
- }), Be = l(() => Z.value ?? z.value.expanded);
102
+ }), Ue = u(() => X.value ?? z.value.expanded);
98
103
  ye(z, () => {
99
- Z.value = void 0;
104
+ X.value = void 0;
100
105
  }), he(async () => {
101
- G.value = "Analyzing template…", W.value = !0;
106
+ W.value = "Analyzing template…", U.value = !0;
102
107
  try {
103
- await H(R.load());
108
+ await V(R.load());
104
109
  } catch (e) {
105
- K.value = e instanceof Error ? e.stack ?? e.message : String(e);
110
+ G.value = e instanceof Error ? e.stack ?? e.message : String(e);
106
111
  } finally {
107
- W.value = !1;
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 Ve() {
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), Z.value = [...t];
129
+ n(e.items, !1), X.value = [...t];
125
130
  }
126
- async function He(e) {
131
+ async function Ge(e) {
127
132
  let t = z.value.index[e.id];
128
133
  if (!t) return;
129
- R.select(t), J.value = t.role === "primary" ? t.groupId : void 0;
130
- let n = J.value ? R.report.value?.groups.find((e) => e.id === J.value) : void 0, r = t.node ? await ce(t.node, n, $()) : void 0;
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
- q.value = r;
140
+ K.value = r;
136
141
  }
137
- function Ue(e, t) {
142
+ function Ke(e, t) {
138
143
  R.setDecision(e, t);
139
144
  }
140
- function We(e, t) {
141
- if (!J.value || !q.value) return;
142
- R.setValue(J.value, e, t);
143
- let n = q.value.attributes.find((t) => t.name === e);
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 Ge() {
151
+ async function Je() {
147
152
  let e = R.report.value;
148
- e && (Y.value = await s(e, R.decisionOf, R.editedValue, $()), U.value = "confirm");
153
+ e && (J.value = await s(e, R.decisionOf, R.editedValue, $()), H.value = "confirm");
149
154
  }
150
- async function Ke() {
151
- G.value = "Applying changes…", W.value = !0;
155
+ async function Ye() {
156
+ W.value = "Applying changes…", U.value = !0;
152
157
  try {
153
- await H(R.commit()), U.value = "done";
158
+ await V(R.commit()), H.value = "done";
154
159
  } catch (e) {
155
- K.value = e instanceof Error ? e.stack ?? e.message : String(e);
160
+ G.value = e instanceof Error ? e.stack ?? e.message : String(e);
156
161
  } finally {
157
- W.value = !1;
162
+ U.value = !1;
158
163
  }
159
164
  }
160
- return (ce, s) => (v(), f("div", w, [
161
- p("header", T, [h(x(i), {
162
- "model-value": Q.value + 1,
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: S(() => [(v(), f(c, null, ge(Le, (e, t) => (v(), f(c, { key: e }, [t > 0 ? (v(), f("div", {
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: _(["mx-3 h-px w-8 transition-colors", t <= Q.value ? "bg-primary" : "bg-base-300"])
169
- }, null, 2)) : d("", !0), h(x(a), {
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: S(() => [h(x(o), { class: _(["grid size-6 place-items-center rounded-full border text-xs font-semibold transition-colors", t < Q.value ? "border-primary bg-primary text-primary-content" : t === Q.value ? "border-primary text-primary" : "border-base-300 text-base-content/40"]) }, {
174
- default: S(() => [t < Q.value ? (v(), u(x(ne), {
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
- })) : (v(), f(c, { key: 1 }, [m(b(t + 1), 1)], 64))]),
182
+ })) : (y(), p(l, { key: 1 }, [h(x(t + 1), 1)], 64))]),
178
183
  _: 2
179
- }, 1032, ["class"]), h(x(ee), { class: _(["text-xs font-medium transition-colors", t === Q.value ? "text-base-content" : t < Q.value ? "text-base-content/70" : "text-base-content/40"]) }, {
180
- default: S(() => [m(b(e), 1)]),
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"]), g.source || g.target ? (v(), f("div", E, [
187
- g.source ? (v(), f("span", D, [
188
- s[5] ||= p("span", { class: "text-[10px] font-medium uppercase tracking-wide text-base-content/45" }, " Source ", -1),
189
- p("span", O, b(g.source.label), 1),
190
- p("span", k, [
191
- g.source.type ? (v(), f("span", A, b(g.source.type), 1)) : d("", !0),
192
- g.source.type ? (v(), f("span", j, " · ")) : d("", !0),
193
- m("v" + b(g.source.version || "0") + "." + b(g.source.revision || "0"), 1)
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
- ])) : d("", !0),
196
- h(x(te), { class: "hidden size-4 shrink-0 text-base-content/40 md:block" }),
197
- g.target ? (v(), f("span", M, [
198
- s[6] ||= p("span", { class: "text-[10px] font-medium uppercase tracking-wide text-base-content/45" }, " Target ", -1),
199
- p("span", N, b(g.target.label), 1),
200
- p("span", P, [
201
- g.target.type ? (v(), f("span", be, b(g.target.type), 1)) : d("", !0),
202
- g.target.type ? (v(), f("span", xe, " · ")) : d("", !0),
203
- m("v" + b(g.target.version || "0") + "." + b(g.target.revision || "0"), 1)
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
- ])) : d("", !0)
206
- ])) : d("", !0)]),
207
- K.value ? (v(), f("div", Se, b(K.value), 1)) : d("", !0),
208
- p("div", Ce, [
209
- W.value ? (v(), u(le, {
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: G.value,
212
- progress: x(Fe),
213
- history: x(Ie)
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
- ])) : d("", !0),
219
- C(p("div", we, [h(x(t), {
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: S(() => [
224
- h(x(n), {
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: S(() => [p("div", Te, [
229
- h(fe, {
230
- modelValue: V.value,
231
- "onUpdate:modelValue": s[0] ||= (e) => V.value = 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[7] ||= p("div", { class: "ml-auto h-4 w-px shrink-0 bg-base-300" }, null, -1),
234
- p("div", Ee, [p("button", {
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: _(["btn btn-ghost btn-xs btn-square", { "text-primary": X.value }]),
237
- title: X.value ? "Hide unchanged elements" : "Show unchanged elements",
238
- onClick: s[1] ||= (e) => X.value = !X.value
239
- }, [(v(), u(_e(X.value ? x(ie) : x(re)), { class: "h-4 w-4" }))], 10, De), p("button", {
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: Ve
244
- }, [h(x(ae), { class: "h-4 w-4" })])])
245
- ]), p("div", Oe, [h(de, {
246
- items: ze.value,
247
- meta: x(z).meta,
248
- decisions: Re.value,
249
- "expanded-items": Be.value,
250
- onSelect: He,
251
- "onUpdate:decision": Ue
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
- h(x(r), { class: "w-px bg-base-300" }),
261
- h(x(n), { class: "h-full border-s border-base-300" }, {
262
- default: S(() => [h(x(t), {
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: S(() => [
267
- h(x(n), {
272
+ default: C(() => [
273
+ g(S(n), {
268
274
  "default-size": 55,
269
275
  class: "min-h-0 overflow-auto"
270
276
  }, {
271
- default: S(() => [h(se, {
272
- detail: q.value,
273
- onEdit: We
274
- }, null, 8, ["detail"])]),
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
- h(x(r), { class: "h-px bg-base-300" }),
278
- h(x(n), { class: "min-h-0" }, {
279
- default: S(() => [h(x(oe), {
280
- before: x(Ne),
281
- after: x(B),
282
- loading: x(Pe)
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, !W.value && U.value === "review"]]),
298
- !W.value && U.value === "confirm" && Y.value ? (v(), u(ue, {
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: Y.value,
301
- scenario: g.scenario,
302
- verb: g.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
- ])) : d("", !0),
308
- !W.value && U.value === "done" ? (v(), f("div", ke, [p("div", Ae, [
309
- s[8] ||= p("span", { class: "text-3xl text-success" }, "✓", -1),
310
- s[9] ||= p("p", { class: "font-medium" }, "Applied", -1),
311
- Y.value ? (v(), f("p", je, b(Y.value.added.length) + " added · " + b(Y.value.updated.length) + " updated · " + b(Y.value.skipped.length) + " skipped ", 1)) : d("", !0)
312
- ])])) : d("", !0)
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
- p("footer", Me, [U.value === "review" ? (v(), f(c, { key: 0 }, [h(e, {
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: S(() => [...s[10] ||= [m("Close", -1)]]),
326
+ default: C(() => [...s[11] ||= [h("Close", -1)]]),
320
327
  _: 1
321
- }), h(e, {
328
+ }), g(e, {
322
329
  color: "primary",
323
330
  size: "sm",
324
- disabled: W.value || !!K.value,
325
- onClick: Ge
331
+ disabled: U.value || !!G.value,
332
+ onClick: Je
326
333
  }, {
327
- default: S(() => [...s[11] ||= [m(" Next: Confirm ", -1)]]),
334
+ default: C(() => [...s[12] ||= [h(" Next: Confirm ", -1)]]),
328
335
  _: 1
329
- }, 8, ["disabled"])], 64)) : U.value === "confirm" ? (v(), f(c, { key: 1 }, [h(e, {
336
+ }, 8, ["disabled"])], 64)) : H.value === "confirm" ? (y(), p(l, { key: 1 }, [g(e, {
330
337
  variant: "ghost",
331
338
  size: "sm",
332
- disabled: W.value,
333
- onClick: s[3] ||= (e) => U.value = "review"
339
+ disabled: U.value,
340
+ onClick: s[3] ||= (e) => H.value = "review"
334
341
  }, {
335
- default: S(() => [...s[12] ||= [m("Back", -1)]]),
342
+ default: C(() => [...s[13] ||= [h("Back", -1)]]),
336
343
  _: 1
337
- }, 8, ["disabled"]), h(e, {
344
+ }, 8, ["disabled"]), g(e, {
338
345
  color: "primary",
339
346
  size: "sm",
340
- disabled: W.value,
341
- onClick: Ke
347
+ disabled: U.value,
348
+ onClick: Ye
342
349
  }, {
343
- default: S(() => [...s[13] ||= [m("Apply", -1)]]),
350
+ default: C(() => [...s[14] ||= [h("Apply", -1)]]),
344
351
  _: 1
345
- }, 8, ["disabled"])], 64)) : (v(), u(e, {
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: S(() => [...s[14] ||= [m("Close", -1)]]),
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 = { class: "badge badge-ghost badge-sm" }, _ = {
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
- }, v = {
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
- }, y = { class: "space-y-1" }, b = { class: "badge badge-ghost badge-xs" }, x = {
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
- }, S = {
18
+ }, w = {
13
19
  key: 1,
14
20
  class: "mb-4"
15
- }, C = { class: "space-y-1" }, w = { class: "badge badge-ghost badge-xs" }, T = {
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
- }, E = {
24
+ }, O = {
19
25
  key: 2,
20
26
  class: "mb-4"
21
- }, D = { class: "space-y-1" }, O = { class: "text-xs opacity-60" }, k = {
27
+ }, k = { class: "space-y-1" }, A = { class: "text-xs opacity-60" }, j = {
22
28
  key: 3,
23
29
  class: "mb-4"
24
- }, A = { class: "space-y-1" }, j = { class: "badge badge-ghost badge-xs" }, M = {
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
- }, N = /*@__PURE__*/ a({
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 (N, P) => (o(), n("div", l, [
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
- P[0] ||= i(" — review before applying. ", -1)
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
- r("span", g, c(a.summary.skipped.length) + " skipped", 1),
45
- a.summary.renamed.length ? (o(), n("span", _, c(a.summary.renamed.length) + " auto-renamed ", 1)) : t("", !0)
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", v, [P[1] ||= r("h3", { class: "mb-1 font-medium text-success" }, "Will be added", -1), r("ul", y, [(o(!0), n(e, null, s(a.summary.added, (e, i) => (o(), n("li", {
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", b, c(e.tag), 1),
65
+ r("span", S, c(e.tag), 1),
52
66
  r("span", null, c(e.title), 1),
53
- e.detail ? (o(), n("span", x, c(e.detail), 1)) : t("", !0)
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", S, [P[2] ||= r("h3", { class: "mb-1 font-medium text-warning" }, "Will be updated", -1), r("ul", C, [(o(!0), n(e, null, s(a.summary.updated, (e, i) => (o(), n("li", {
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", w, c(e.tag), 1),
73
+ r("span", E, c(e.tag), 1),
60
74
  r("span", null, c(e.title), 1),
61
- e.detail ? (o(), n("span", T, c(e.detail), 1)) : t("", !0)
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", E, [P[3] ||= r("h3", { class: "mb-1 font-medium text-info" }, "Auto-renamed (naming collisions)", -1), r("ul", D, [(o(!0), n(e, null, s(a.summary.renamed, (e, t) => (o(), n("li", {
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", O, c(e.field) + " → " + c(e.to), 1)]))), 128))])])) : t("", !0),
67
- a.summary.skipped.length ? (o(), n("section", k, [P[4] ||= r("h3", { class: "mb-1 font-medium opacity-70" }, "Skipped", -1), r("ul", A, [(o(!0), n(e, null, s(a.summary.skipped, (e, t) => (o(), n("li", {
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", j, c(e.tag), 1), r("span", null, c(e.title), 1)]))), 128))])])) : t("", !0),
71
- !a.summary.added.length && !a.summary.updated.length && !a.summary.skipped.length && !a.summary.renamed.length ? (o(), n("p", M, " Nothing to apply. ")) : t("", !0)
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 { N as default };
98
+ export { V as default };