@synopackageland/ui 0.16.1 → 0.16.2
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 +7 -0
- package/README.md +5 -2
- package/dist/components/composite/connection-topology/ConnectionTopology.vue.d.ts +2 -1
- package/dist/components/composite/key-value-row/KeyValueRow.vue.d.ts +2 -0
- package/dist/components/composite/wizard/Wizard.vue.d.ts +10 -0
- package/dist/composables/fitHeight.d.ts +14 -0
- package/dist/index.js +5024 -4926
- package/dist/reka-runtime.json +1 -1
- package/dist/theme.css +1 -1
- package/dist/themes/dsm7-embedded-theme.css +1 -1
- package/dist/themes/dsm7-embedded.css +1 -1
- package/dist/themes/dsm7.css +1 -1
- package/docs/wizard.md +8 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.16.2 (2026-10-25)
|
|
4
|
+
|
|
5
|
+
- `Wizard fit`: on a page, the wizard takes the height left below it in its scroll container, so the steps, band and footer stay in view and only the step scrolls; `fit-min-height` (320) is the least it takes. `rail-min-width` (600) sets where `stepper="auto"` switches from the band to the rail.
|
|
6
|
+
- A wizard held to under 560px high (`fit` in a short window, or a dialog) draws a smaller headline, hero tile, stage and spacing.
|
|
7
|
+
- `ConnectionTopology` stacks below 640px (was 600) and, below 240px, drops the node boxes for an icon tile over a smaller word, so three compact cards fit side by side at 960px. Node words, captions and link words wrap to two or three lines instead of cutting, host names break after their dots, and a word still cut shows its whole text on hover.
|
|
8
|
+
- `KeyValueRow stacked`: the label as a small line above the value, for narrow cards.
|
|
9
|
+
|
|
3
10
|
## 0.16.1 (2026-10-25)
|
|
4
11
|
|
|
5
12
|
- Defer `Tag` truncation measurements to `requestAnimationFrame` to avoid ResizeObserver delivery loops when the tooltip changes the layout. Measurements are coalesced into one update per frame, unchanged boxes are skipped, and pending updates are cancelled on unmount. The exposed `measure()` method still applies immediately. (#57)
|
package/README.md
CHANGED
|
@@ -596,9 +596,12 @@ maps its own states to six link states.
|
|
|
596
596
|
End move between lanes. `selectable: false` renders plain rows.
|
|
597
597
|
`lane-footer-<id>` content sits below the lane button, so it may hold its own
|
|
598
598
|
buttons and links; `node-<id>` replaces a node's content.
|
|
599
|
-
- **Layout.** Below
|
|
599
|
+
- **Layout.** Below 640px of container width (or with `compact`), each lane
|
|
600
600
|
stacks with its own copy of the target and the link words move to a caption
|
|
601
|
-
line.
|
|
601
|
+
line. Below 240px (a card in a row of three) the nodes drop their boxes for
|
|
602
|
+
an icon tile over a smaller word. Words wrap to two lines, host names after
|
|
603
|
+
their dots; a word still cut shows its whole text on hover. With no lanes,
|
|
604
|
+
one idle line shows `empty-label`.
|
|
602
605
|
- **Motion.** The keyframes `ui-flow` and `ui-pulse` stop under
|
|
603
606
|
`prefers-reduced-motion`; a working link then turns solid with an arrow.
|
|
604
607
|
|
|
@@ -3,7 +3,8 @@ import { LinkState, TopologyLane, TopologyNode } from './types';
|
|
|
3
3
|
* Paths from several sources, each through an optional relay, to one shared
|
|
4
4
|
* target. Each link shows its state with colour, a glyph and text; working
|
|
5
5
|
* links flow toward the target. Every lane is a button that emits
|
|
6
|
-
* `select-lane`. Below
|
|
6
|
+
* `select-lane`. Below 640px of container width the lanes stack compactly,
|
|
7
|
+
* and below 240px the nodes lose their boxes.
|
|
7
8
|
*/
|
|
8
9
|
type __VLS_Props = {
|
|
9
10
|
target: TopologyNode;
|
|
@@ -2,6 +2,8 @@ type __VLS_Props = {
|
|
|
2
2
|
label: string;
|
|
3
3
|
value?: string | number;
|
|
4
4
|
labelWidth?: string;
|
|
5
|
+
/** The label on a small secondary line above the value, for a column too narrow for two (a card in a row of three). */
|
|
6
|
+
stacked?: boolean;
|
|
5
7
|
};
|
|
6
8
|
declare var __VLS_1: {}, __VLS_3: {};
|
|
7
9
|
type __VLS_Slots = {} & {
|
|
@@ -16,6 +16,13 @@ type __VLS_Props = {
|
|
|
16
16
|
showSteps?: boolean;
|
|
17
17
|
/** Draws a border, rounded corners and a shadow, for a wizard placed on a page rather than in a dialog. */
|
|
18
18
|
framed?: boolean;
|
|
19
|
+
/** On a page: takes the height left below it in its scroll container, so
|
|
20
|
+
* the rail, the band and the footer stay in view and only the step scrolls. */
|
|
21
|
+
fit?: boolean;
|
|
22
|
+
/** The least height `fit` takes; in a shorter window the page scrolls instead. */
|
|
23
|
+
fitMinHeight?: number;
|
|
24
|
+
/** With `stepper="auto"`, the wizard width from which the rail shows; narrower shows the band. */
|
|
25
|
+
railMinWidth?: number;
|
|
19
26
|
progressText?: (current: number, total: number) => string;
|
|
20
27
|
};
|
|
21
28
|
declare function toNextStep(): Promise<void>;
|
|
@@ -62,10 +69,13 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
62
69
|
onFinished?: (() => any) | undefined;
|
|
63
70
|
}>, {
|
|
64
71
|
footer: WizardFooterConfig;
|
|
72
|
+
fit: boolean;
|
|
65
73
|
cancellable: boolean;
|
|
66
74
|
stepper: WizardStepper;
|
|
67
75
|
showSteps: boolean;
|
|
68
76
|
framed: boolean;
|
|
77
|
+
fitMinHeight: number;
|
|
78
|
+
railMinWidth: number;
|
|
69
79
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
70
80
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
71
81
|
declare const _default: typeof __VLS_export;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
/** The room from the element's top to the bottom of its scroll container's
|
|
3
|
+
* view (the viewport when no ancestor scrolls), less the container's bottom
|
|
4
|
+
* padding, measured with the container scrolled to the top: what a page
|
|
5
|
+
* element can take and still end above the fold. `min` keeps a short window
|
|
6
|
+
* from squeezing it; below it the page scrolls instead. Zero is unknown or
|
|
7
|
+
* off. Size changes of the container and of its content re-measure, once per
|
|
8
|
+
* frame, so a height the element takes cannot loop the observer. */
|
|
9
|
+
export declare function useFitHeight(element: Readonly<Ref<HTMLElement | null | undefined>>, enabled: () => boolean, min: () => number): {
|
|
10
|
+
height: Ref<number, number>;
|
|
11
|
+
measure: () => void;
|
|
12
|
+
};
|
|
13
|
+
/** The element's own height, committed once per frame like `useElementWidth`. */
|
|
14
|
+
export declare function useElementHeight(element: Readonly<Ref<HTMLElement | null | undefined>>): Ref<number, number>;
|