@septkit/ui 0.0.49 → 0.0.51

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 (28) hide show
  1. package/dist/dialecte/composables/use-active-document.js +27 -17
  2. package/dist/dialecte/composables/use-live-data.js +13 -13
  3. package/dist/dialecte/create-document-store.js +3 -3
  4. package/dist/external/.pnpm/{@dialecte_core@0.4.7 → @dialecte_core@0.4.9}/node_modules/@dialecte/core/dist/helpers.js +16 -19
  5. package/dist/external/.pnpm/{@dialecte_core@0.4.7 → @dialecte_core@0.4.9}/node_modules/@dialecte/core/dist/index.js +1 -1
  6. 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
  7. 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
  8. package/dist/external/.pnpm/{@dialecte_scl@0.3.8/node_modules/@dialecte/scl/dist/hooks-DJJN-WU2.js → @dialecte_scl@0.3.12/node_modules/@dialecte/scl/dist/hooks-Cm_UYBBt.js} +48 -5277
  9. package/dist/external/.pnpm/@dialecte_scl@0.3.12/node_modules/@dialecte/scl/dist/v2019C1/index.js +22 -0
  10. package/dist/index.d.ts +48 -10
  11. package/dist/merge/build-view-model.js +101 -74
  12. package/dist/merge/decision-toggle.vue_vue_type_script_setup_true_lang.js +2 -2
  13. package/dist/merge/element-detail.vue_vue_type_script_setup_true_lang.js +154 -45
  14. package/dist/merge/merge-correlate.js +46 -0
  15. package/dist/merge/merge-decision.js +6 -0
  16. package/dist/merge/merge-highlight.js +44 -0
  17. package/dist/merge/merge-preflight.js +5 -0
  18. package/dist/merge/merge-preflight.vue_vue_type_script_setup_true_lang.js +41 -0
  19. package/dist/merge/merge-progress.vue_vue_type_script_setup_true_lang.js +12 -20
  20. package/dist/merge/merge-review.vue_vue_type_script_setup_true_lang.js +230 -181
  21. package/dist/merge/merge-summary.vue_vue_type_script_setup_true_lang.js +47 -25
  22. package/dist/merge/merge-tree.vue_vue_type_script_setup_true_lang.js +73 -62
  23. package/dist/merge/merge.service.js +36 -23
  24. package/dist/merge/use-document-progress.js +8 -9
  25. package/dist/merge/use-merge-session.js +122 -108
  26. package/dist/ui.css +1 -1
  27. package/package.json +3 -3
  28. package/dist/external/.pnpm/@dialecte_scl@0.3.8/node_modules/@dialecte/scl/dist/v2019C1/index.js +0 -3
@@ -0,0 +1,46 @@
1
+ //#region lib/merge/merge-correlate.ts
2
+ function e(e) {
3
+ let { report: i, snapshot: a, appliedRoots: o, companionAnchors: s } = e, c = r(a), l = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Set();
4
+ i.instances.forEach((e, n) => {
5
+ let r = e.rootRef?.id ?? o[n]?.id, i = r ? c.get(r) : void 0;
6
+ i && t(e.tree, i, l, u);
7
+ });
8
+ for (let e of i.instances) for (let r of e.groups) for (let e of r.companions) {
9
+ if (l.has(e)) continue;
10
+ let r = s?.get(e) ?? e.instanceRef?.id, i = r ? c.get(r) : n(a, e.tagName, u);
11
+ i && t(e, i, l, u);
12
+ }
13
+ return l;
14
+ }
15
+ function t(e, n, r, i) {
16
+ r.set(e, n.id), i.add(n.id);
17
+ let a = n.tree ?? [], o = /* @__PURE__ */ new Map();
18
+ for (let t of e.children) {
19
+ let e = t.instanceRef?.id;
20
+ if (!e) continue;
21
+ let n = a.find((t) => t.id === e && !i.has(t.id));
22
+ n && (o.set(t, n), i.add(n.id));
23
+ }
24
+ for (let t of e.children) {
25
+ if (o.has(t) || t.instanceRef || t.change === "removed") continue;
26
+ let e = a.find((e) => e.tagName === t.tagName && !i.has(e.id));
27
+ e && (o.set(t, e), i.add(e.id));
28
+ }
29
+ for (let [e, n] of o) t(e, n, r, i);
30
+ }
31
+ function n(e, t, r) {
32
+ if (e.tagName === t && !r.has(e.id)) return e;
33
+ for (let i of e.tree ?? []) {
34
+ let e = n(i, t, r);
35
+ if (e) return e;
36
+ }
37
+ }
38
+ function r(e) {
39
+ let t = /* @__PURE__ */ new Map(), n = (e) => {
40
+ t.set(e.id, e);
41
+ for (let t of e.tree ?? []) n(t);
42
+ };
43
+ return n(e), t;
44
+ }
45
+ //#endregion
46
+ export { e as correlate };
@@ -0,0 +1,6 @@
1
+ //#region lib/merge/merge-decision.ts
2
+ function e(e, t) {
3
+ return e === "removed" || e === "target-only" ? t === "accept" : e === "added" && t === "skip";
4
+ }
5
+ //#endregion
6
+ export { e as willBeGone };
@@ -0,0 +1,44 @@
1
+ //#region lib/merge/merge-highlight.ts
2
+ function e(e, t, n) {
3
+ let r = o(e, n) ?? [];
4
+ for (let e = r.length - 1; e >= 0; e--) {
5
+ let n = t[r[e].id]?.groupId;
6
+ if (n) return {
7
+ groupId: n,
8
+ rootId: r[e].id
9
+ };
10
+ }
11
+ }
12
+ function t(e, t, i) {
13
+ let a = r(e, n(t, i.groupId) ?? i.rootId);
14
+ for (let [e, n] of Object.entries(t)) n.groupId === i.groupId && a.add(e);
15
+ return a;
16
+ }
17
+ function n(e, t) {
18
+ for (let [n, r] of Object.entries(e)) if (r.groupId === t && r.role === "primary") return n;
19
+ }
20
+ function r(e, t) {
21
+ let n = /* @__PURE__ */ new Set(), r = i(e, t);
22
+ return r && a(r, n), n;
23
+ }
24
+ function i(e, t) {
25
+ for (let n of e) {
26
+ if (n.id === t) return n;
27
+ let e = n.children && i(n.children, t);
28
+ if (e) return e;
29
+ }
30
+ }
31
+ function a(e, t) {
32
+ t.add(e.id);
33
+ for (let n of e.children ?? []) a(n, t);
34
+ }
35
+ function o(e, t, n = []) {
36
+ for (let r of e) {
37
+ let e = [...n, r];
38
+ if (r.id === t) return e;
39
+ let i = r.children && o(r.children, t, e);
40
+ if (i) return i;
41
+ }
42
+ }
43
+ //#endregion
44
+ export { r as collectSubtreeIds, t as coupledNodeIds, e as focusForNode, n as primaryIdOf };
@@ -0,0 +1,5 @@
1
+ import e from "./merge-preflight.vue_vue_type_script_setup_true_lang.js";
2
+ //#region lib/merge/merge-preflight.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,41 @@
1
+ import e from "../external/.pnpm/@lucide_vue@1.23.0_vue@3.5.39_typescript@5.8.3_/node_modules/@lucide/vue/dist/esm/icons/triangle-alert.js";
2
+ import { TEMPLATE_UUID_WARNING_INFO as t } from "../external/.pnpm/@dialecte_scl@0.3.12/node_modules/@dialecte/scl/dist/v2019C1/index.js";
3
+ import { Fragment as n, computed as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, openBlock as l, renderList as u, toDisplayString as d, unref as f } from "vue";
4
+ //#region lib/merge/merge-preflight.vue?vue&type=script&setup=true&lang.ts
5
+ var p = { class: "flex h-full min-h-0 flex-col" }, m = { class: "min-h-0 flex-1 overflow-auto p-4" }, h = { class: "mx-auto max-w-2xl space-y-4" }, g = { class: "flex items-start gap-3" }, _ = { class: "border-b border-warning/25 px-3 py-2" }, v = { class: "flex items-center gap-2" }, y = { class: "badge badge-soft badge-warning badge-sm font-medium" }, b = { class: "font-semibold" }, x = { class: "mt-1 text-sm text-base-content/80" }, S = { class: "mt-1 text-sm" }, C = { class: "text-base-content/80" }, w = { class: "divide-y divide-warning/15" }, T = { class: "font-mono break-all" }, E = { class: "text-base-content/70" }, D = {
6
+ key: 0,
7
+ class: "mt-0.5 flex flex-wrap gap-1"
8
+ }, O = /*@__PURE__*/ c({
9
+ __name: "merge-preflight",
10
+ props: { warnings: {} },
11
+ setup(c) {
12
+ let O = c, k = r(() => {
13
+ let e = /* @__PURE__ */ new Map();
14
+ for (let t of O.warnings) {
15
+ let n = e.get(t.code) ?? [];
16
+ n.push(t), e.set(t.code, n);
17
+ }
18
+ return [...e.entries()].map(([e, n]) => ({
19
+ code: e,
20
+ info: t[e],
21
+ items: n
22
+ }));
23
+ });
24
+ return (t, r) => (l(), a("div", p, [o("div", m, [o("div", h, [o("div", g, [s(f(e), { class: "mt-0.5 size-6 shrink-0 text-warning" }), r[0] ||= o("div", null, [o("h2", { class: "text-base font-semibold" }, "Check the file identity before merging"), o("p", { class: "mt-0.5 text-sm text-base-content/70" }, " These files break some SCL identity rules the merge relies on to recognise elements. It is not blocking — here is what was found and how the merge still proceeds. ")], -1)]), (l(!0), a(n, null, u(k.value, (e) => (l(), a("div", {
25
+ key: e.code,
26
+ class: "overflow-hidden rounded-lg border border-warning/40 bg-warning/5"
27
+ }, [o("div", _, [
28
+ o("div", v, [o("span", y, d(e.items.length), 1), o("h3", b, d(e.info.title), 1)]),
29
+ o("p", x, d(e.info.description), 1),
30
+ o("p", S, [r[1] ||= o("span", { class: "font-medium text-success" }, "Fallback:", -1), o("span", C, d(e.info.fallback), 1)])
31
+ ]), o("ul", w, [(l(!0), a(n, null, u(e.items, (e) => (l(), a("li", {
32
+ key: `${e.code}:${e.value}`,
33
+ class: "px-3 py-1.5 text-xs"
34
+ }, [o("div", null, [o("code", T, d(e.value), 1), o("span", E, " — " + d(e.message), 1)]), e.tagNames.length ? (l(), a("div", D, [(l(!0), a(n, null, u(e.tagNames, (e) => (l(), a("span", {
35
+ key: e,
36
+ class: "badge badge-ghost badge-xs font-mono"
37
+ }, d(e), 1))), 128))])) : i("", !0)]))), 128))])]))), 128))])])]));
38
+ }
39
+ });
40
+ //#endregion
41
+ export { O as default };
@@ -1,31 +1,23 @@
1
- import { Fragment as e, createCommentVNode as t, createElementBlock as n, createElementVNode as r, defineComponent as i, openBlock as a, renderList as o, toDisplayString as s } from "vue";
1
+ import { createCommentVNode as e, createElementBlock as t, createElementVNode as n, defineComponent as r, openBlock as i, toDisplayString as a } from "vue";
2
2
  //#region lib/merge/merge-progress.vue?vue&type=script&setup=true&lang.ts
3
- var c = { class: "grid h-full place-items-center p-6" }, l = { class: "flex w-full max-w-md flex-col items-center gap-3" }, u = { class: "text-sm font-medium" }, d = ["value", "max"], f = {
4
- key: 1,
5
- class: "w-full space-y-0.5 text-center text-xs opacity-60"
6
- }, p = /*@__PURE__*/ i({
3
+ var o = { class: "grid h-full place-items-center p-6" }, s = { class: "flex w-full max-w-md flex-col items-center gap-3" }, c = { class: "text-sm font-medium" }, l = ["value", "max"], u = /*@__PURE__*/ r({
7
4
  __name: "merge-progress",
8
5
  props: {
9
6
  label: {},
10
- progress: {},
11
- history: {}
7
+ progress: {}
12
8
  },
13
- setup(i) {
14
- return (p, m) => (a(), n("div", c, [r("div", l, [
15
- m[0] ||= r("span", { class: "loading loading-spinner loading-lg text-primary" }, null, -1),
16
- r("p", u, s(i.progress?.message || i.label || "Working…"), 1),
17
- i.progress && i.progress.total > 0 ? (a(), n("progress", {
9
+ setup(r) {
10
+ return (u, d) => (i(), t("div", o, [n("div", s, [
11
+ d[0] ||= n("span", { class: "loading loading-spinner loading-lg text-primary" }, null, -1),
12
+ n("p", c, a(r.progress?.message || r.label || "Working…"), 1),
13
+ r.progress && r.progress.total > 0 ? (i(), t("progress", {
18
14
  key: 0,
19
15
  class: "progress progress-primary w-full",
20
- value: i.progress.current,
21
- max: i.progress.total
22
- }, null, 8, d)) : t("", !0),
23
- i.history?.length ? (a(), n("ul", f, [(a(!0), n(e, null, o(i.history, (e, t) => (a(), n("li", {
24
- key: t,
25
- class: "truncate"
26
- }, s(e.message || e.method), 1))), 128))])) : t("", !0)
16
+ value: r.progress.current,
17
+ max: r.progress.total
18
+ }, null, 8, l)) : e("", !0)
27
19
  ])]));
28
20
  }
29
21
  });
30
22
  //#endregion
31
- export { p as default };
23
+ export { u as default };