@synopackageland/ui 0.19.9 → 0.19.10

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/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.19.10 (2026-11-03)
4
+
5
+ - `ConnectionTopology` takes `cards` and `layout`. With `cards`, every lane is a card of one height (the tallest sets it) with node boxes of one size, each link word is centred on its own segment (one word on the middle of a lane with no relay), and the lines are solid or dashed instead of flowing dots. `layout="columns"` sets the cards side by side from 560px of container width. Without `cards` nothing changes. The real-browser check measures card heights, node boxes and word centres.
6
+
3
7
  ## 0.19.9 (2026-11-03)
4
8
 
5
9
  - `WizardDialog` takes `confirm-close`. While it is true, the close button, Escape and Cancel first ask "Discard changes?" with Keep editing and Discard; Keep editing returns to the wizard, Discard closes it and emits `cancel` once. Finish never asks, and with the prop false (the default) the wizard closes at once as before. The text follows the locale provider in every built-in locale ([wizard](docs/wizard.md#leaving-with-input)).
package/README.md CHANGED
@@ -806,6 +806,14 @@ maps its own states to six link states.
806
806
  whole text on hover. `label-lines` keeps room for that many lines under
807
807
  every node (two in a dense lane), so paths side by side keep one height.
808
808
  With no lanes, one idle line shows `empty-label`.
809
+ - **Cards.** `cards` makes a method chooser of the lanes: each lane is a card
810
+ of the tallest one's height with node boxes of one size, always stacked
811
+ (`layout="columns"` puts them side by side from 560px of container width).
812
+ Each link word sits under its own link, centred on that segment; in a lane
813
+ with no relay one word is centred on the whole path, and two links in one
814
+ state draw one mark and arrow. Lines are plain: solid when working, dashed
815
+ when idle, changing or unknown, with no flowing dots. `label-lines` (two by
816
+ default) clamps the words; `selected-lane` highlights a card as before.
809
817
  - **Motion.** The keyframes `ui-flow` and `ui-pulse` stop under
810
818
  `prefers-reduced-motion`; a working link then turns solid with an arrow.
811
819
 
@@ -23,6 +23,10 @@ type __VLS_Props = {
23
23
  * unless set), so paths side by side, such as cards in a row, keep one
24
24
  * height whether or not their words wrap. */
25
25
  labelLines?: number;
26
+ /** Equal-size cards: every lane is a card of the tallest one's height, with node boxes of one size, each link word centred on its own segment (one word centred on the whole path in a lane with no relay) and calm solid or dashed lines. Always the stacked layout, at any width. */
27
+ cards?: boolean;
28
+ /** With `cards`: `columns` puts the lanes side by side once the container is 560px wide; `stacked` (default) keeps them one above the other. */
29
+ layout?: 'stacked' | 'columns';
26
30
  };
27
31
  type __VLS_Slots = Record<`node-${string}`, (props: {
28
32
  node: TopologyNode;
@@ -37,6 +41,8 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
37
41
  compact: boolean;
38
42
  selectable: boolean;
39
43
  selectedLane: string | number;
44
+ cards: boolean;
45
+ layout: "stacked" | "columns";
40
46
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
41
47
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
42
48
  declare const _default: typeof __VLS_export;