@urbicon-ui/blocks 6.19.2 → 6.21.0
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/dist/components/Calendar/Calendar.svelte +8 -0
- package/dist/components/Calendar/CalendarGrid.svelte +19 -77
- package/dist/components/Calendar/calendar.context.d.ts +2 -0
- package/dist/components/Calendar/calendar.variants.d.ts +62 -62
- package/dist/i18n/index.d.ts +372 -2
- package/dist/icons/IconProvider.svelte +3 -0
- package/dist/mint/styles.css +1 -1
- package/dist/primitives/Accordion/Accordion.svelte +3 -0
- package/dist/primitives/Alert/alert.variants.d.ts +7 -7
- package/dist/primitives/Avatar/Avatar.svelte +74 -48
- package/dist/primitives/Avatar/avatar.variants.d.ts +32 -6
- package/dist/primitives/Avatar/avatar.variants.js +43 -18
- package/dist/primitives/Avatar/index.d.ts +6 -1
- package/dist/primitives/Checkbox/Checkbox.svelte +7 -4
- package/dist/primitives/Collapsible/Collapsible.svelte +3 -0
- package/dist/primitives/ConfirmDialog/index.d.ts +12 -0
- package/dist/primitives/Dialog/Dialog.svelte +2 -0
- package/dist/primitives/Drawer/Drawer.svelte +3 -1
- package/dist/primitives/JourneyTimeline/journey-timeline.variants.d.ts +21 -21
- package/dist/primitives/Menu/MenuSubmenu.svelte +1 -0
- package/dist/primitives/Select/Select.svelte +1 -1
- package/dist/primitives/Spinner/spinner.variants.d.ts +15 -15
- package/dist/primitives/Stepper/stepper.variants.d.ts +10 -10
- package/dist/primitives/Tab/Tab.svelte +3 -0
- package/dist/primitives/Toast/toast.variants.d.ts +8 -8
- package/dist/primitives/Toggle/Toggle.svelte +7 -4
- package/dist/primitives/Tooltip/tooltip.variants.d.ts +2 -2
- package/dist/style/interaction.css +1 -1
- package/dist/system/attachments/ContextIsolation.svelte +2 -0
- package/package.json +3 -3
|
@@ -29,35 +29,38 @@ export declare const avatarVariants: (props?: import("../../utils/variants.js").
|
|
|
29
29
|
variant: {
|
|
30
30
|
circle: {
|
|
31
31
|
base: string;
|
|
32
|
+
frame: string;
|
|
32
33
|
image: string;
|
|
33
34
|
};
|
|
34
35
|
rounded: {
|
|
35
36
|
base: string;
|
|
37
|
+
frame: string;
|
|
36
38
|
image: string;
|
|
37
39
|
};
|
|
38
40
|
square: {
|
|
39
41
|
base: string;
|
|
42
|
+
frame: string;
|
|
40
43
|
image: string;
|
|
41
44
|
};
|
|
42
45
|
};
|
|
43
46
|
intent: {
|
|
44
47
|
primary: {
|
|
45
|
-
|
|
48
|
+
frame: string;
|
|
46
49
|
};
|
|
47
50
|
secondary: {
|
|
48
|
-
|
|
51
|
+
frame: string;
|
|
49
52
|
};
|
|
50
53
|
success: {
|
|
51
|
-
|
|
54
|
+
frame: string;
|
|
52
55
|
};
|
|
53
56
|
warning: {
|
|
54
|
-
|
|
57
|
+
frame: string;
|
|
55
58
|
};
|
|
56
59
|
danger: {
|
|
57
|
-
|
|
60
|
+
frame: string;
|
|
58
61
|
};
|
|
59
62
|
neutral: {
|
|
60
|
-
|
|
63
|
+
frame: string;
|
|
61
64
|
};
|
|
62
65
|
};
|
|
63
66
|
status: {
|
|
@@ -88,6 +91,11 @@ export declare const avatarVariants: (props?: import("../../utils/variants.js").
|
|
|
88
91
|
status: string;
|
|
89
92
|
};
|
|
90
93
|
};
|
|
94
|
+
pulse: {
|
|
95
|
+
true: {
|
|
96
|
+
status: string;
|
|
97
|
+
};
|
|
98
|
+
};
|
|
91
99
|
ring: {
|
|
92
100
|
true: {
|
|
93
101
|
base: string;
|
|
@@ -125,6 +133,21 @@ export declare const avatarVariants: (props?: import("../../utils/variants.js").
|
|
|
125
133
|
intent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
|
|
126
134
|
status?: "offline" | "online" | "away" | "busy" | undefined;
|
|
127
135
|
statusPosition?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | undefined;
|
|
136
|
+
pulse?: boolean | undefined;
|
|
137
|
+
ring?: boolean | undefined;
|
|
138
|
+
ringIntent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
|
|
139
|
+
interactive?: boolean | undefined;
|
|
140
|
+
} & {
|
|
141
|
+
class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
|
|
142
|
+
className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
|
|
143
|
+
}) | undefined) => string;
|
|
144
|
+
frame: (props?: ({
|
|
145
|
+
size?: "sm" | "md" | "lg" | "xl" | "xs" | "2xl" | undefined;
|
|
146
|
+
variant?: "rounded" | "circle" | "square" | undefined;
|
|
147
|
+
intent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
|
|
148
|
+
status?: "offline" | "online" | "away" | "busy" | undefined;
|
|
149
|
+
statusPosition?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | undefined;
|
|
150
|
+
pulse?: boolean | undefined;
|
|
128
151
|
ring?: boolean | undefined;
|
|
129
152
|
ringIntent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
|
|
130
153
|
interactive?: boolean | undefined;
|
|
@@ -138,6 +161,7 @@ export declare const avatarVariants: (props?: import("../../utils/variants.js").
|
|
|
138
161
|
intent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
|
|
139
162
|
status?: "offline" | "online" | "away" | "busy" | undefined;
|
|
140
163
|
statusPosition?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | undefined;
|
|
164
|
+
pulse?: boolean | undefined;
|
|
141
165
|
ring?: boolean | undefined;
|
|
142
166
|
ringIntent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
|
|
143
167
|
interactive?: boolean | undefined;
|
|
@@ -151,6 +175,7 @@ export declare const avatarVariants: (props?: import("../../utils/variants.js").
|
|
|
151
175
|
intent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
|
|
152
176
|
status?: "offline" | "online" | "away" | "busy" | undefined;
|
|
153
177
|
statusPosition?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | undefined;
|
|
178
|
+
pulse?: boolean | undefined;
|
|
154
179
|
ring?: boolean | undefined;
|
|
155
180
|
ringIntent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
|
|
156
181
|
interactive?: boolean | undefined;
|
|
@@ -164,6 +189,7 @@ export declare const avatarVariants: (props?: import("../../utils/variants.js").
|
|
|
164
189
|
intent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
|
|
165
190
|
status?: "offline" | "online" | "away" | "busy" | undefined;
|
|
166
191
|
statusPosition?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | undefined;
|
|
192
|
+
pulse?: boolean | undefined;
|
|
167
193
|
ring?: boolean | undefined;
|
|
168
194
|
ringIntent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
|
|
169
195
|
interactive?: boolean | undefined;
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import { tv } from '../../utils/variants.js';
|
|
2
2
|
export const avatarVariants = tv({
|
|
3
3
|
slots: {
|
|
4
|
+
// Outer positioning context. Carries sizing, the ring, interactive/mint
|
|
5
|
+
// effects — but NOT `overflow-hidden`, so the status dot (a sibling of
|
|
6
|
+
// `frame`) is never clipped (AVT-1). The radius is mirrored here purely so
|
|
7
|
+
// the ring follows the avatar's shape.
|
|
4
8
|
base: [
|
|
5
|
-
'relative inline-flex
|
|
6
|
-
'
|
|
7
|
-
|
|
9
|
+
'relative inline-flex shrink-0',
|
|
10
|
+
'transition-[color,background-color,border-color,box-shadow,opacity] duration-[var(--blocks-duration-fast)] ease-out'
|
|
11
|
+
],
|
|
12
|
+
// The visible disc. This is the element that clips the image/initials to
|
|
13
|
+
// the avatar shape; the status dot lives outside it so it stays whole.
|
|
14
|
+
frame: [
|
|
15
|
+
'flex items-center justify-center w-full h-full overflow-hidden',
|
|
16
|
+
'font-semibold text-center select-none',
|
|
8
17
|
'bg-surface-interactive text-text-secondary'
|
|
9
18
|
],
|
|
10
19
|
image: ['w-full h-full object-cover'],
|
|
@@ -42,61 +51,68 @@ export const avatarVariants = tv({
|
|
|
42
51
|
// people and stand apart from the commit/modify/contain semantic system —
|
|
43
52
|
// a brand that flattens commit-tier surfaces (e.g. squared pill-buttons)
|
|
44
53
|
// should not also lose circular avatars. The radii below are physical
|
|
45
|
-
// shape tokens, not tier tokens.
|
|
54
|
+
// shape tokens, not tier tokens. `frame` clips the content to the shape;
|
|
55
|
+
// `base` mirrors it so the ring tracks the same silhouette.
|
|
46
56
|
variant: {
|
|
47
57
|
circle: {
|
|
48
58
|
base: 'rounded-full',
|
|
59
|
+
frame: 'rounded-full',
|
|
49
60
|
image: 'rounded-full'
|
|
50
61
|
},
|
|
51
62
|
rounded: {
|
|
52
63
|
// Avatar-specific soft-square. Maps to --radius-xl (foundation scale);
|
|
53
64
|
// brands tune via the foundation token, not via a tier override.
|
|
54
65
|
base: 'rounded-xl',
|
|
66
|
+
frame: 'rounded-xl',
|
|
55
67
|
image: 'rounded-xl'
|
|
56
68
|
},
|
|
57
69
|
square: {
|
|
58
70
|
base: 'rounded-none',
|
|
71
|
+
frame: 'rounded-none',
|
|
59
72
|
image: 'rounded-none'
|
|
60
73
|
}
|
|
61
74
|
},
|
|
62
75
|
intent: {
|
|
63
76
|
primary: {
|
|
64
|
-
|
|
77
|
+
frame: 'bg-primary-subtle text-primary-emphasis'
|
|
65
78
|
},
|
|
66
79
|
secondary: {
|
|
67
|
-
|
|
80
|
+
frame: 'bg-secondary-subtle text-secondary-emphasis'
|
|
68
81
|
},
|
|
69
82
|
success: {
|
|
70
|
-
|
|
83
|
+
frame: 'bg-success-subtle text-success-emphasis'
|
|
71
84
|
},
|
|
72
85
|
warning: {
|
|
73
|
-
|
|
86
|
+
frame: 'bg-warning-subtle text-warning-emphasis'
|
|
74
87
|
},
|
|
75
88
|
danger: {
|
|
76
|
-
|
|
89
|
+
frame: 'bg-danger-subtle text-danger-emphasis'
|
|
77
90
|
},
|
|
78
91
|
neutral: {
|
|
79
|
-
|
|
92
|
+
frame: 'bg-surface-interactive text-text-secondary'
|
|
80
93
|
}
|
|
81
94
|
},
|
|
95
|
+
// Each status also publishes its colour as `--blocks-avatar-pulse-color`
|
|
96
|
+
// so the opt-in `pulse` ring (see Avatar.svelte) radiates in the matching
|
|
97
|
+
// hue without a second colour source.
|
|
82
98
|
status: {
|
|
83
99
|
online: {
|
|
84
|
-
status: 'bg-success'
|
|
100
|
+
status: 'bg-success [--blocks-avatar-pulse-color:var(--color-success)]'
|
|
85
101
|
},
|
|
86
102
|
offline: {
|
|
87
|
-
status: 'bg-text-quaternary'
|
|
103
|
+
status: 'bg-text-quaternary [--blocks-avatar-pulse-color:var(--color-text-quaternary)]'
|
|
88
104
|
},
|
|
89
105
|
away: {
|
|
90
|
-
status: 'bg-warning'
|
|
106
|
+
status: 'bg-warning [--blocks-avatar-pulse-color:var(--color-warning)]'
|
|
91
107
|
},
|
|
92
108
|
busy: {
|
|
93
|
-
status: 'bg-danger'
|
|
109
|
+
status: 'bg-danger [--blocks-avatar-pulse-color:var(--color-danger)]'
|
|
94
110
|
}
|
|
95
111
|
},
|
|
96
|
-
// Status dot is translated out of the avatar's
|
|
97
|
-
//
|
|
98
|
-
//
|
|
99
|
-
//
|
|
112
|
+
// Status dot is translated out of the avatar's edge so it half-overlaps the
|
|
113
|
+
// corner (AVT-1). Translation magnitude is intentionally fractional — the
|
|
114
|
+
// dot sits half-overlapping the edge, which matches the conventional badge
|
|
115
|
+
// look (Slack, Discord, Linear).
|
|
100
116
|
statusPosition: {
|
|
101
117
|
'bottom-right': {
|
|
102
118
|
status: 'bottom-0 right-0 translate-x-1/4 translate-y-1/4'
|
|
@@ -111,6 +127,14 @@ export const avatarVariants = tv({
|
|
|
111
127
|
status: 'top-0 left-0 -translate-x-1/4 -translate-y-1/4'
|
|
112
128
|
}
|
|
113
129
|
},
|
|
130
|
+
// Opt-in "live" pulse on the status dot — a radar ring that draws the eye to
|
|
131
|
+
// presence changes. Only has a visible effect together with `status`; the
|
|
132
|
+
// animation itself + reduced-motion handling live in Avatar.svelte.
|
|
133
|
+
pulse: {
|
|
134
|
+
true: {
|
|
135
|
+
status: 'blocks-avatar-status-pulse'
|
|
136
|
+
}
|
|
137
|
+
},
|
|
114
138
|
ring: {
|
|
115
139
|
true: {
|
|
116
140
|
base: 'ring-2 ring-offset-2 ring-offset-surface-base'
|
|
@@ -184,6 +208,7 @@ export const avatarVariants = tv({
|
|
|
184
208
|
variant: 'circle',
|
|
185
209
|
intent: 'neutral',
|
|
186
210
|
statusPosition: 'bottom-right',
|
|
211
|
+
pulse: false,
|
|
187
212
|
ring: false,
|
|
188
213
|
ringIntent: 'primary',
|
|
189
214
|
interactive: false
|
|
@@ -17,6 +17,11 @@ import type { AvatarSlots, AvatarVariants } from './avatar.variants.js';
|
|
|
17
17
|
* ```svelte
|
|
18
18
|
* <Avatar name="Jane Smith" randomColor clickable onclick={() => showProfile()} />
|
|
19
19
|
* ```
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```svelte
|
|
23
|
+
* <Avatar name="Ada Lovelace" status="online" pulse />
|
|
24
|
+
* ```
|
|
20
25
|
*/
|
|
21
26
|
export interface AvatarProps extends AvatarVariants, Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
22
27
|
/** Image URL. Falls back to initials or `children` when empty or on load error. */
|
|
@@ -43,7 +48,7 @@ export interface AvatarProps extends AvatarVariants, Omit<HTMLAttributes<HTMLDiv
|
|
|
43
48
|
class?: string;
|
|
44
49
|
/** Remove all default tv classes. */
|
|
45
50
|
unstyled?: boolean;
|
|
46
|
-
/** Per-slot class overrides merged with tv styles. Slots: base | image | fallback | status */
|
|
51
|
+
/** Per-slot class overrides merged with tv styles. Slots: base | frame | image | fallback | status */
|
|
47
52
|
slotClasses?: Partial<Record<AvatarSlots, string>>;
|
|
48
53
|
/**
|
|
49
54
|
* Apply a named preset registered via `<BlocksProvider presets={{ Avatar: {...} }}>`.
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
const blocksConfig = getBlocksConfig();
|
|
55
55
|
const unstyled = $derived(unstyledProp || blocksConfig?.unstyled || false);
|
|
56
56
|
|
|
57
|
-
let
|
|
57
|
+
let boxElement = $state<HTMLElement>();
|
|
58
58
|
let inputRef = $state<HTMLInputElement>();
|
|
59
59
|
|
|
60
60
|
const dataState = $derived(indeterminate ? 'indeterminate' : checked ? 'checked' : 'unchecked');
|
|
@@ -85,9 +85,12 @@
|
|
|
85
85
|
}
|
|
86
86
|
});
|
|
87
87
|
|
|
88
|
+
// Mint targets the directional box (the visual checkbox), not the enclosing
|
|
89
|
+
// <label> that also wraps the text — a hover/scale effect belongs to the
|
|
90
|
+
// control surface, mirroring SegmentItem/Button (XC-1).
|
|
88
91
|
$effect(() => {
|
|
89
|
-
if (
|
|
90
|
-
return mintRegistry.apply(
|
|
92
|
+
if (boxElement && mint && mint !== 'none' && !disabled) {
|
|
93
|
+
return mintRegistry.apply(boxElement, mint);
|
|
91
94
|
}
|
|
92
95
|
});
|
|
93
96
|
|
|
@@ -111,7 +114,6 @@
|
|
|
111
114
|
class={unstyled
|
|
112
115
|
? (slotClasses?.control ?? '')
|
|
113
116
|
: styles.control({ class: slotClasses?.control })}
|
|
114
|
-
bind:this={controlElement}
|
|
115
117
|
for={id}
|
|
116
118
|
>
|
|
117
119
|
<input
|
|
@@ -133,6 +135,7 @@
|
|
|
133
135
|
|
|
134
136
|
<span
|
|
135
137
|
class={unstyled ? (slotClasses?.box ?? '') : styles.box({ class: slotClasses?.box })}
|
|
138
|
+
bind:this={boxElement}
|
|
136
139
|
aria-hidden="true"
|
|
137
140
|
data-state={dataState}
|
|
138
141
|
>
|
|
@@ -28,6 +28,9 @@
|
|
|
28
28
|
const blocksConfig = getBlocksConfig();
|
|
29
29
|
const unstyled = $derived(unstyledProp || blocksConfig?.unstyled || false);
|
|
30
30
|
|
|
31
|
+
// Uncontrolled seed: capture only the initial `defaultOpen`; later changes
|
|
32
|
+
// must not clobber user interaction.
|
|
33
|
+
// svelte-ignore state_referenced_locally
|
|
31
34
|
let internalOpen = $state(defaultOpen ?? false);
|
|
32
35
|
const isOpen = $derived(open !== undefined ? open : internalOpen);
|
|
33
36
|
|
|
@@ -74,6 +74,18 @@ export interface ConfirmDialogProps {
|
|
|
74
74
|
closeOnBackdropClick?: boolean;
|
|
75
75
|
/** Whether Escape cancels. @default true */
|
|
76
76
|
closeOnEscape?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Override the enter/exit animation duration in milliseconds, forwarded to
|
|
79
|
+
* the underlying {@link Dialog}. Defaults to the overlay token
|
|
80
|
+
* `--blocks-overlay-enter-duration` / `--blocks-overlay-exit-duration`
|
|
81
|
+
* (200ms / 180ms). Respects `prefers-reduced-motion`.
|
|
82
|
+
*/
|
|
83
|
+
transitionDuration?: number;
|
|
84
|
+
/**
|
|
85
|
+
* Override the enter/exit easing function, forwarded to the underlying
|
|
86
|
+
* {@link Dialog}. Defaults to the overlay token easing (`quintOut`).
|
|
87
|
+
*/
|
|
88
|
+
transitionEasing?: (t: number) => number;
|
|
77
89
|
/** Optional richer markup rendered below `description`. */
|
|
78
90
|
children?: Snippet;
|
|
79
91
|
}
|
|
@@ -41,6 +41,8 @@
|
|
|
41
41
|
...restProps
|
|
42
42
|
}: DrawerProps = $props();
|
|
43
43
|
|
|
44
|
+
// One-shot DEV sanity check on the initial close-path configuration.
|
|
45
|
+
// svelte-ignore state_referenced_locally
|
|
44
46
|
if (
|
|
45
47
|
import.meta.env?.DEV &&
|
|
46
48
|
hideCloseButton &&
|
|
@@ -61,7 +63,7 @@
|
|
|
61
63
|
let previouslyFocused: HTMLElement | null = null;
|
|
62
64
|
|
|
63
65
|
const uid = $props.id();
|
|
64
|
-
const titleId = title ? `drawer-title-${uid}` : undefined;
|
|
66
|
+
const titleId = $derived(title ? `drawer-title-${uid}` : undefined);
|
|
65
67
|
const bodyId = `drawer-body-${uid}`;
|
|
66
68
|
const overlayId = `drawer-${uid}`;
|
|
67
69
|
|
|
@@ -136,7 +136,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
136
136
|
base: (props?: ({
|
|
137
137
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
138
138
|
size?: "sm" | "md" | "lg" | undefined;
|
|
139
|
-
status?: "
|
|
139
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
140
140
|
focused?: boolean | undefined;
|
|
141
141
|
interactive?: boolean | undefined;
|
|
142
142
|
travelled?: boolean | undefined;
|
|
@@ -150,7 +150,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
150
150
|
rail: (props?: ({
|
|
151
151
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
152
152
|
size?: "sm" | "md" | "lg" | undefined;
|
|
153
|
-
status?: "
|
|
153
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
154
154
|
focused?: boolean | undefined;
|
|
155
155
|
interactive?: boolean | undefined;
|
|
156
156
|
travelled?: boolean | undefined;
|
|
@@ -164,7 +164,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
164
164
|
node: (props?: ({
|
|
165
165
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
166
166
|
size?: "sm" | "md" | "lg" | undefined;
|
|
167
|
-
status?: "
|
|
167
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
168
168
|
focused?: boolean | undefined;
|
|
169
169
|
interactive?: boolean | undefined;
|
|
170
170
|
travelled?: boolean | undefined;
|
|
@@ -178,7 +178,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
178
178
|
metaColumn: (props?: ({
|
|
179
179
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
180
180
|
size?: "sm" | "md" | "lg" | undefined;
|
|
181
|
-
status?: "
|
|
181
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
182
182
|
focused?: boolean | undefined;
|
|
183
183
|
interactive?: boolean | undefined;
|
|
184
184
|
travelled?: boolean | undefined;
|
|
@@ -192,7 +192,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
192
192
|
meta: (props?: ({
|
|
193
193
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
194
194
|
size?: "sm" | "md" | "lg" | undefined;
|
|
195
|
-
status?: "
|
|
195
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
196
196
|
focused?: boolean | undefined;
|
|
197
197
|
interactive?: boolean | undefined;
|
|
198
198
|
travelled?: boolean | undefined;
|
|
@@ -206,7 +206,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
206
206
|
markerColumn: (props?: ({
|
|
207
207
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
208
208
|
size?: "sm" | "md" | "lg" | undefined;
|
|
209
|
-
status?: "
|
|
209
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
210
210
|
focused?: boolean | undefined;
|
|
211
211
|
interactive?: boolean | undefined;
|
|
212
212
|
travelled?: boolean | undefined;
|
|
@@ -220,7 +220,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
220
220
|
marker: (props?: ({
|
|
221
221
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
222
222
|
size?: "sm" | "md" | "lg" | undefined;
|
|
223
|
-
status?: "
|
|
223
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
224
224
|
focused?: boolean | undefined;
|
|
225
225
|
interactive?: boolean | undefined;
|
|
226
226
|
travelled?: boolean | undefined;
|
|
@@ -234,7 +234,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
234
234
|
connector: (props?: ({
|
|
235
235
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
236
236
|
size?: "sm" | "md" | "lg" | undefined;
|
|
237
|
-
status?: "
|
|
237
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
238
238
|
focused?: boolean | undefined;
|
|
239
239
|
interactive?: boolean | undefined;
|
|
240
240
|
travelled?: boolean | undefined;
|
|
@@ -248,7 +248,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
248
248
|
content: (props?: ({
|
|
249
249
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
250
250
|
size?: "sm" | "md" | "lg" | undefined;
|
|
251
|
-
status?: "
|
|
251
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
252
252
|
focused?: boolean | undefined;
|
|
253
253
|
interactive?: boolean | undefined;
|
|
254
254
|
travelled?: boolean | undefined;
|
|
@@ -262,7 +262,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
262
262
|
card: (props?: ({
|
|
263
263
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
264
264
|
size?: "sm" | "md" | "lg" | undefined;
|
|
265
|
-
status?: "
|
|
265
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
266
266
|
focused?: boolean | undefined;
|
|
267
267
|
interactive?: boolean | undefined;
|
|
268
268
|
travelled?: boolean | undefined;
|
|
@@ -276,7 +276,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
276
276
|
header: (props?: ({
|
|
277
277
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
278
278
|
size?: "sm" | "md" | "lg" | undefined;
|
|
279
|
-
status?: "
|
|
279
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
280
280
|
focused?: boolean | undefined;
|
|
281
281
|
interactive?: boolean | undefined;
|
|
282
282
|
travelled?: boolean | undefined;
|
|
@@ -290,7 +290,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
290
290
|
trigger: (props?: ({
|
|
291
291
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
292
292
|
size?: "sm" | "md" | "lg" | undefined;
|
|
293
|
-
status?: "
|
|
293
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
294
294
|
focused?: boolean | undefined;
|
|
295
295
|
interactive?: boolean | undefined;
|
|
296
296
|
travelled?: boolean | undefined;
|
|
@@ -304,7 +304,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
304
304
|
trailing: (props?: ({
|
|
305
305
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
306
306
|
size?: "sm" | "md" | "lg" | undefined;
|
|
307
|
-
status?: "
|
|
307
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
308
308
|
focused?: boolean | undefined;
|
|
309
309
|
interactive?: boolean | undefined;
|
|
310
310
|
travelled?: boolean | undefined;
|
|
@@ -318,7 +318,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
318
318
|
labelGroup: (props?: ({
|
|
319
319
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
320
320
|
size?: "sm" | "md" | "lg" | undefined;
|
|
321
|
-
status?: "
|
|
321
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
322
322
|
focused?: boolean | undefined;
|
|
323
323
|
interactive?: boolean | undefined;
|
|
324
324
|
travelled?: boolean | undefined;
|
|
@@ -332,7 +332,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
332
332
|
title: (props?: ({
|
|
333
333
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
334
334
|
size?: "sm" | "md" | "lg" | undefined;
|
|
335
|
-
status?: "
|
|
335
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
336
336
|
focused?: boolean | undefined;
|
|
337
337
|
interactive?: boolean | undefined;
|
|
338
338
|
travelled?: boolean | undefined;
|
|
@@ -346,7 +346,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
346
346
|
subtitle: (props?: ({
|
|
347
347
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
348
348
|
size?: "sm" | "md" | "lg" | undefined;
|
|
349
|
-
status?: "
|
|
349
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
350
350
|
focused?: boolean | undefined;
|
|
351
351
|
interactive?: boolean | undefined;
|
|
352
352
|
travelled?: boolean | undefined;
|
|
@@ -360,7 +360,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
360
360
|
segment: (props?: ({
|
|
361
361
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
362
362
|
size?: "sm" | "md" | "lg" | undefined;
|
|
363
|
-
status?: "
|
|
363
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
364
364
|
focused?: boolean | undefined;
|
|
365
365
|
interactive?: boolean | undefined;
|
|
366
366
|
travelled?: boolean | undefined;
|
|
@@ -374,7 +374,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
374
374
|
detail: (props?: ({
|
|
375
375
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
376
376
|
size?: "sm" | "md" | "lg" | undefined;
|
|
377
|
-
status?: "
|
|
377
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
378
378
|
focused?: boolean | undefined;
|
|
379
379
|
interactive?: boolean | undefined;
|
|
380
380
|
travelled?: boolean | undefined;
|
|
@@ -388,7 +388,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
388
388
|
detailInner: (props?: ({
|
|
389
389
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
390
390
|
size?: "sm" | "md" | "lg" | undefined;
|
|
391
|
-
status?: "
|
|
391
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
392
392
|
focused?: boolean | undefined;
|
|
393
393
|
interactive?: boolean | undefined;
|
|
394
394
|
travelled?: boolean | undefined;
|
|
@@ -402,7 +402,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
402
402
|
detailContent: (props?: ({
|
|
403
403
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
404
404
|
size?: "sm" | "md" | "lg" | undefined;
|
|
405
|
-
status?: "
|
|
405
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
406
406
|
focused?: boolean | undefined;
|
|
407
407
|
interactive?: boolean | undefined;
|
|
408
408
|
travelled?: boolean | undefined;
|
|
@@ -416,7 +416,7 @@ export declare const journeyTimelineVariants: (props?: import("../../utils/varia
|
|
|
416
416
|
panel: (props?: ({
|
|
417
417
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
418
418
|
size?: "sm" | "md" | "lg" | undefined;
|
|
419
|
-
status?: "
|
|
419
|
+
status?: "complete" | "active" | "pending" | "attention" | "blocked" | "skipped" | undefined;
|
|
420
420
|
focused?: boolean | undefined;
|
|
421
421
|
interactive?: boolean | undefined;
|
|
422
422
|
travelled?: boolean | undefined;
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
// `<Select bind:value={x: T | null}>` narrow correctly. Internally we
|
|
64
64
|
// dispatch through a loose alias so the component code can hand either
|
|
65
65
|
// shape into `onValueChange` without per-branch casts at every call site.
|
|
66
|
-
const dispatchValueChange = onValueChange as ((v: any) => void) | undefined;
|
|
66
|
+
const dispatchValueChange = $derived(onValueChange as ((v: any) => void) | undefined);
|
|
67
67
|
|
|
68
68
|
/** Resolved null option config — `null` when prop is unset or `groups` is in use. */
|
|
69
69
|
const nullOptionConfig = $derived.by(() => {
|