@leavepulse/ui 0.22.9 → 0.22.11

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.
@@ -1,7 +1,12 @@
1
- import { defineComponent, computed, openBlock, createElementBlock, normalizeStyle, normalizeClass, createVNode, unref, createElementVNode, toDisplayString } from "vue";
1
+ import { defineComponent, computed, openBlock, createElementBlock, normalizeStyle, normalizeClass, createVNode, unref, createElementVNode, toDisplayString, createCommentVNode } from "vue";
2
2
  import { Handle, Position } from "@vue-flow/core";
3
3
  const _hoisted_1 = { class: "text-[11px] text-[var(--accent)]" };
4
- const _hoisted_2 = { class: "flex-1 truncate text-[11px] font-medium text-ink" };
4
+ const _hoisted_2 = { class: "min-w-0 flex-1" };
5
+ const _hoisted_3 = { class: "block truncate text-[11px] font-medium text-ink" };
6
+ const _hoisted_4 = {
7
+ key: 0,
8
+ class: "block truncate text-[9px] text-muted"
9
+ };
5
10
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
11
  __name: "LpServiceNode",
7
12
  props: {
@@ -41,7 +46,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
41
46
  class: "!size-1.5 !border !border-[var(--accent)] !bg-surface"
42
47
  }, null, 8, ["position"]),
43
48
  createElementVNode("span", _hoisted_1, toDisplayString(icon.value), 1),
44
- createElementVNode("span", _hoisted_2, toDisplayString(__props.data.name), 1)
49
+ createElementVNode("span", _hoisted_2, [
50
+ createElementVNode("span", _hoisted_3, toDisplayString(__props.data.name), 1),
51
+ __props.data.stack ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(__props.data.stack), 1)) : createCommentVNode("", true)
52
+ ])
45
53
  ], 6);
46
54
  };
47
55
  }
@@ -5,7 +5,7 @@ import { MarkerType, useVueFlow, VueFlow, SelectionMode, Panel } from "@vue-flow
5
5
  import { MiniMap } from "@vue-flow/minimap";
6
6
  import { _ as _sfc_main$3 } from "./LpInfraNode-qIL3l7IO.js";
7
7
  import { _ as _sfc_main$1 } from "./LpLaneNode-HtnQf2FF.js";
8
- import { _ as _sfc_main$2 } from "./LpServiceNode-Dc-Ut5RS.js";
8
+ import { _ as _sfc_main$2 } from "./LpServiceNode-D8uJ8sGk.js";
9
9
  const _hoisted_1 = { class: "flex flex-col gap-1.5 rounded-card border border-line bg-surface-overlay/90 px-3 py-2 text-[11px] backdrop-blur" };
10
10
  const _hoisted_2 = {
11
11
  width: "22",
@@ -23,6 +23,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
23
23
  selectable: { type: Boolean, default: false },
24
24
  legend: { type: Boolean, default: true },
25
25
  legendPosition: { default: "bottom-left" },
26
+ edgeType: {},
26
27
  legendLabels: {},
27
28
  lanes: { default: () => [] },
28
29
  minimap: { type: Boolean, default: true },
@@ -105,7 +106,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
105
106
  id: e.id,
106
107
  source: e.source,
107
108
  target: e.target,
108
- type: "default",
109
+ type: props.edgeType ?? "default",
109
110
  animated: obs !== "applied" && !e.dimmed,
110
111
  label: e.kind,
111
112
  labelBgStyle: { fill: "var(--color-surface)" },
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpServiceNode-Dc-Ut5RS.js";
1
+ import { _ as _sfc_main } from "../chunks/LpServiceNode-D8uJ8sGk.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -90,6 +90,13 @@ type __VLS_Props = {
90
90
  * minimap owns the bottom-right.
91
91
  */
92
92
  legendPosition?: "top-left" | "top-right" | "bottom-left" | "bottom-right";
93
+ /**
94
+ * Edge shape. The default bezier bulges away from the straight line between
95
+ * its ends, which suits a free-form graph and cuts through everything in a
96
+ * LAYERED one — a long edge crosses the cards standing between its columns.
97
+ * `smoothstep` routes orthogonally through the gaps instead.
98
+ */
99
+ edgeType?: "default" | "smoothstep" | "step" | "straight";
93
100
  /** Rename legend rows to match what this graph's edges actually mean. */
94
101
  legendLabels?: Partial<Record<"network" | "structural" | "pending" | "drift", string>>;
95
102
  /**
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpTopologyCanvas-DCgm_d5G.js";
1
+ import { _ as _sfc_main } from "../chunks/LpTopologyCanvas-BTzQE78D.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
package/dist/index.js CHANGED
@@ -47,7 +47,7 @@ import { _ as _41 } from "./chunks/LpRadioGroup-B4yDTmi6.js";
47
47
  import { _ as _42 } from "./chunks/LpScrollArea-D8xyKXcF.js";
48
48
  import { _ as _43 } from "./chunks/LpSegmented-BmpanyAo.js";
49
49
  import { _ as _44 } from "./chunks/LpSelect-D5mU4cZO.js";
50
- import { _ as _45 } from "./chunks/LpServiceNode-Dc-Ut5RS.js";
50
+ import { _ as _45 } from "./chunks/LpServiceNode-D8uJ8sGk.js";
51
51
  import { default as default3 } from "./components/LpShortcutsDialog.vue.js";
52
52
  import { _ as _46 } from "./chunks/LpSidebar-D3GGLSE7.js";
53
53
  import { _ as _47 } from "./chunks/LpSkeleton-eSFIo4kD.js";
@@ -64,7 +64,7 @@ import { D, _ as _56, N, T, b, c, d, e, f, g, i, l, h, j, n, r, t, k, m, u, v }
64
64
  import { _ as _57 } from "./chunks/LpTilt-DuyKbpkA.js";
65
65
  import { _ as _58 } from "./chunks/LpToaster-gDB1EaU3.js";
66
66
  import { _ as _59 } from "./chunks/LpTooltip-D1hbjQWG.js";
67
- import { _ as _60 } from "./chunks/LpTopologyCanvas-DCgm_d5G.js";
67
+ import { _ as _60 } from "./chunks/LpTopologyCanvas-BTzQE78D.js";
68
68
  import { _ as _61 } from "./chunks/LpUptimeBar-CB366k0O.js";
69
69
  import { deserializeLayout, serializeLayout } from "./layout/tree.js";
70
70
  import { addLeaf, addTab, countBlocks, countLeaves, makeLayout, moveLeaf, removeBlock, removeLeaf, reorderTab, resizeAt, setActiveTab } from "./layout/tree.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leavepulse/ui",
3
- "version": "0.22.9",
3
+ "version": "0.22.11",
4
4
  "type": "module",
5
5
  "description": "LeavePulse token-driven Vue component kit.",
6
6
  "repository": {
@@ -52,6 +52,13 @@ const icon = computed(() => kindIcon[props.data.kind ?? "service"] ?? "◇")
52
52
  class="!size-1.5 !border !border-[var(--accent)] !bg-surface"
53
53
  />
54
54
  <span class="text-[11px] text-[var(--accent)]">{{ icon }}</span>
55
- <span class="flex-1 truncate text-[11px] font-medium text-ink">{{ data.name }}</span>
55
+ <span class="min-w-0 flex-1">
56
+ <span class="block truncate text-[11px] font-medium text-ink">{{ data.name }}</span>
57
+ <!-- `stack` was accepted and then silently dropped, so anything a host
58
+ put there vanished. It is the one line of context that fits. -->
59
+ <span v-if="data.stack" class="block truncate text-[9px] text-muted">
60
+ {{ data.stack }}
61
+ </span>
62
+ </span>
56
63
  </div>
57
64
  </template>
@@ -125,6 +125,13 @@ const props = withDefaults(
125
125
  * minimap owns the bottom-right.
126
126
  */
127
127
  legendPosition?: "top-left" | "top-right" | "bottom-left" | "bottom-right"
128
+ /**
129
+ * Edge shape. The default bezier bulges away from the straight line between
130
+ * its ends, which suits a free-form graph and cuts through everything in a
131
+ * LAYERED one — a long edge crosses the cards standing between its columns.
132
+ * `smoothstep` routes orthogonally through the gaps instead.
133
+ */
134
+ edgeType?: "default" | "smoothstep" | "step" | "straight"
128
135
  /** Rename legend rows to match what this graph's edges actually mean. */
129
136
  legendLabels?: Partial<
130
137
  Record<"network" | "structural" | "pending" | "drift", string>
@@ -268,7 +275,7 @@ const flowEdges = computed(() =>
268
275
  id: e.id,
269
276
  source: e.source,
270
277
  target: e.target,
271
- type: "default",
278
+ type: props.edgeType ?? "default",
272
279
  animated: obs !== "applied" && !e.dimmed,
273
280
  label: e.kind,
274
281
  labelBgStyle: { fill: "var(--color-surface)" },