@noxlovette/material 0.6.1 → 0.7.1
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/claude-skill/material-design/SKILL.md +5 -2
- package/claude-skill/material-design/references/accessibility-checklist.md +5 -0
- package/claude-skill/material-design/references/component-patterns.md +24 -3
- package/claude-skill/material-design/references/motion-guide.md +53 -11
- package/claude-skill/material-design/references/tokens-and-styles.md +4 -0
- package/dist/animation/TransitionPatterns.stories.svelte +50 -0
- package/dist/animation/containerTransform.js +10 -4
- package/dist/animation/reducedMotion.d.ts +2 -0
- package/dist/animation/reducedMotion.js +2 -0
- package/dist/animation/sharedAxisTransition.d.ts +20 -3
- package/dist/animation/sharedAxisTransition.js +67 -8
- package/dist/attachments/drag.d.ts +52 -0
- package/dist/attachments/drag.js +217 -0
- package/dist/attachments/index.d.ts +1 -0
- package/dist/attachments/index.js +1 -0
- package/dist/components/buttons/ButtonIcon.svelte +6 -2
- package/dist/components/buttons/ButtonIcon.svelte.d.ts +1 -1
- package/dist/components/buttons/context.d.ts +10 -0
- package/dist/components/buttons/context.js +9 -0
- package/dist/components/chips/Chip.mdx +24 -11
- package/dist/components/chips/Chip.stories.svelte +10 -0
- package/dist/components/chips/Chip.svelte +58 -18
- package/dist/components/chips/Chip.svelte.d.ts +3 -1
- package/dist/components/chips/ChipGroup.stories.svelte +73 -0
- package/dist/components/chips/ChipGroup.stories.svelte.d.ts +4 -0
- package/dist/components/chips/ChipGroup.svelte +242 -0
- package/dist/components/chips/ChipGroup.svelte.d.ts +33 -0
- package/dist/components/chips/index.d.ts +1 -0
- package/dist/components/chips/index.js +1 -0
- package/dist/components/chips/theme.d.ts +182 -21
- package/dist/components/chips/theme.js +116 -25
- package/dist/components/chips/types.d.ts +36 -2
- package/dist/components/containers/app/theme.d.ts +1 -1
- package/dist/components/containers/app/theme.js +1 -1
- package/dist/components/containers/bottom-sheet/BottomSheet.stories.svelte +1 -1
- package/dist/components/containers/list/List.svelte +8 -2
- package/dist/components/containers/list/ListItem.mdx +6 -0
- package/dist/components/containers/list/ListItem.svelte +77 -2
- package/dist/components/containers/list/context.d.ts +14 -0
- package/dist/components/containers/list/theme.d.ts +6 -0
- package/dist/components/containers/list/theme.js +10 -2
- package/dist/components/containers/pane/DraggablePane.svelte +25 -63
- package/dist/components/containers/pane/Pane.svelte +1 -1
- package/dist/components/containers/pane/theme.js +32 -6
- package/dist/components/containers/popover/theme.d.ts +3 -3
- package/dist/components/date/theme.d.ts +6 -6
- package/dist/components/forms/checkbox/theme.js +1 -1
- package/dist/components/forms/command/theme.d.ts +3 -3
- package/dist/components/misc/Avatar.stories.svelte +56 -7
- package/dist/components/misc/Avatar.stories.svelte.d.ts +2 -17
- package/dist/components/misc/Avatar.svelte +82 -8
- package/dist/components/misc/Avatar.svelte.d.ts +5 -0
- package/dist/components/misc/theme.d.ts +6 -0
- package/dist/components/misc/theme.js +5 -3
- package/dist/components/misc/types.d.ts +17 -1
- package/dist/components/nav/appbar/AppBar.svelte +8 -0
- package/dist/components/nav/appbar/AppBar.svelte.d.ts +3 -0
- package/dist/components/nav/appbar/theme.js +14 -2
- package/dist/components/nav/currentRoute.d.ts +11 -0
- package/dist/components/nav/currentRoute.js +28 -0
- package/dist/components/nav/navbar/NavbarItem.svelte +3 -6
- package/dist/components/nav/navbar/theme.d.ts +3 -3
- package/dist/components/nav/rail/Rail.mdx +65 -23
- package/dist/components/nav/rail/Rail.stories.svelte +24 -4
- package/dist/components/nav/rail/Rail.stories.svelte.d.ts +2 -17
- package/dist/components/nav/rail/Rail.svelte +163 -48
- package/dist/components/nav/rail/Rail.svelte.d.ts +6 -3
- package/dist/components/nav/rail/RailItem.svelte +122 -65
- package/dist/components/nav/rail/RailItem.svelte.d.ts +3 -2
- package/dist/components/nav/rail/theme.d.ts +69 -84
- package/dist/components/nav/rail/theme.js +79 -66
- package/dist/components/nav/tabs/Tabs.stories.svelte +2 -1
- package/dist/index.css +2 -0
- package/dist/styles/components.css +50 -0
- package/dist/styles/icon.css +13 -0
- package/dist/utils/icon/Icon.stories.svelte +97 -0
- package/dist/utils/icon/Icon.stories.svelte.d.ts +4 -0
- package/dist/utils/icon/Icon.svelte +101 -12
- package/dist/utils/icon/Icon.svelte.d.ts +9 -0
- package/dist/utils/icon/MaterialSymbolsProvider.svelte +11 -4
- package/dist/utils/icon/base-icons.d.ts +1 -1
- package/dist/utils/icon/base-icons.js +1 -1
- package/dist/utils/icon/icon-names.d.ts +2 -0
- package/dist/utils/icon/icon-names.js +2 -0
- package/dist/utils/icon/swap.d.ts +6 -0
- package/dist/utils/icon/swap.js +45 -0
- package/dist/utils/icon/types.d.ts +59 -7
- package/dist/utils/tv.d.ts +3 -4
- package/dist/utils/tv.js +14 -6
- package/package.json +2 -1
|
@@ -2,17 +2,23 @@
|
|
|
2
2
|
@component
|
|
3
3
|
Material 3 Navigation Rail Item.
|
|
4
4
|
|
|
5
|
-
A single destination within a navigation rail.
|
|
6
|
-
|
|
5
|
+
A single destination within a navigation rail. Collapsed, the label sits under the icon;
|
|
6
|
+
expanded, beside it inside the active indicator, and it moves between the two as the rail
|
|
7
|
+
springs. The active icon fills, per M3's icon guidance.
|
|
7
8
|
-->
|
|
8
9
|
<script lang="ts">
|
|
9
10
|
import { page } from '$app/state';
|
|
10
|
-
import {
|
|
11
|
+
import { base } from '$app/paths';
|
|
12
|
+
import { getContext, untrack } from 'svelte';
|
|
13
|
+
import { animate, type AnimationPlaybackControls } from 'motion';
|
|
14
|
+
import { springTokens, springTransition } from '../../../animation/spring.js';
|
|
11
15
|
import type { RailItemProps } from './types.js';
|
|
12
16
|
import { railElement } from './theme.js';
|
|
13
|
-
import { Icon
|
|
17
|
+
import { Icon } from '../../../utils/index.js';
|
|
14
18
|
import Badge from '../../badge/Badge.svelte';
|
|
15
19
|
import { NavigationMenu } from 'bits-ui';
|
|
20
|
+
import clsx from 'clsx';
|
|
21
|
+
import { isCurrentRoute } from '../currentRoute.js';
|
|
16
22
|
|
|
17
23
|
let {
|
|
18
24
|
href = '/',
|
|
@@ -27,12 +33,12 @@ In mobile (navbar) mode the same item renders as a bottom-bar tab.
|
|
|
27
33
|
...rest
|
|
28
34
|
}: RailItemProps = $props();
|
|
29
35
|
|
|
30
|
-
const railCtx = getContext<{ collapsed: boolean } | undefined>('rail');
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const
|
|
36
|
+
const railCtx = getContext<{ collapsed: boolean; progress: number } | undefined>('rail');
|
|
37
|
+
/* The rail's expand progress (0–1); a `collapsed` prop pins this item to an end state. */
|
|
38
|
+
const progress = $derived(
|
|
39
|
+
collapsedProp !== undefined ? (collapsedProp ? 0 : 1) : (railCtx?.progress ?? 0)
|
|
40
|
+
);
|
|
41
|
+
const layout = $derived(progress < 0.5 ? 'top' : 'start');
|
|
36
42
|
|
|
37
43
|
const isDisabled = $derived(!!disabled);
|
|
38
44
|
const target = $derived(!isDisabled && external ? '_blank' : undefined);
|
|
@@ -40,49 +46,45 @@ In mobile (navbar) mode the same item renders as a bottom-bar tab.
|
|
|
40
46
|
const hrefValue = $derived(isDisabled ? undefined : href);
|
|
41
47
|
const ariaDisabled = $derived(isDisabled ? true : undefined);
|
|
42
48
|
const tabIndex = $derived(isDisabled ? -1 : undefined);
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
return new URL(href).pathname;
|
|
46
|
-
} catch {
|
|
47
|
-
return href;
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
const isActive = $derived(
|
|
51
|
-
selected ||
|
|
52
|
-
page.url.pathname === hrefPathname ||
|
|
53
|
-
(hrefPathname !== '/' && page.url.pathname.startsWith(hrefPathname + '/'))
|
|
54
|
-
);
|
|
55
|
-
const {
|
|
56
|
-
base,
|
|
57
|
-
content,
|
|
58
|
-
icon,
|
|
59
|
-
iconContainer,
|
|
60
|
-
label: labelClass
|
|
61
|
-
} = $derived(
|
|
62
|
-
railElement({
|
|
63
|
-
active: isActive,
|
|
64
|
-
expanded: !collapsed,
|
|
65
|
-
disabled: isDisabled,
|
|
66
|
-
mobile: isMobile
|
|
67
|
-
})
|
|
68
|
-
);
|
|
69
|
-
const rootClass = $derived([base(), className].filter(Boolean).join(' '));
|
|
49
|
+
const isActive = $derived(selected || isCurrentRoute(href, page.url, base));
|
|
50
|
+
const styles = $derived(railElement({ active: isActive, layout, disabled: isDisabled }));
|
|
70
51
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
52
|
+
/*
|
|
53
|
+
The selected fill's size, 0 to 1, on fastSpatial: selecting grows it from the indicator's
|
|
54
|
+
centre out to its edges, deselecting shrinks it back (it may overshoot a little, as the
|
|
55
|
+
spring does). SSR and reduced motion render the end state.
|
|
56
|
+
*/
|
|
57
|
+
let selection = $state(untrack(() => (isActive ? 1 : 0)));
|
|
58
|
+
let selectionSpring: AnimationPlaybackControls | undefined;
|
|
59
|
+
$effect(() => {
|
|
60
|
+
const target = isActive ? 1 : 0;
|
|
61
|
+
untrack(() => {
|
|
62
|
+
if (selection === target) return;
|
|
63
|
+
selectionSpring?.stop();
|
|
64
|
+
if (matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
|
65
|
+
selection = target;
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
selectionSpring = animate(selection, target, {
|
|
69
|
+
...springTransition(springTokens.fastSpatial),
|
|
70
|
+
onUpdate: (v) => (selection = v)
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
return () => selectionSpring?.stop();
|
|
74
|
+
});
|
|
76
75
|
|
|
77
|
-
|
|
76
|
+
// Placed after {...rest}, so it forwards a consumer's onclick instead of replacing it.
|
|
77
|
+
function handleClick(event: MouseEvent & { currentTarget: HTMLAnchorElement }) {
|
|
78
78
|
if (isDisabled) {
|
|
79
79
|
event.preventDefault();
|
|
80
80
|
event.stopPropagation();
|
|
81
|
+
return;
|
|
81
82
|
}
|
|
83
|
+
rest.onclick?.(event);
|
|
82
84
|
}
|
|
83
85
|
</script>
|
|
84
86
|
|
|
85
|
-
<NavigationMenu.Item class=
|
|
87
|
+
<NavigationMenu.Item class="flex w-full">
|
|
86
88
|
<NavigationMenu.Link active={isActive} href={hrefValue}>
|
|
87
89
|
{#snippet child({ props })}
|
|
88
90
|
<a
|
|
@@ -94,29 +96,84 @@ In mobile (navbar) mode the same item renders as a bottom-bar tab.
|
|
|
94
96
|
aria-disabled={ariaDisabled}
|
|
95
97
|
tabindex={tabIndex}
|
|
96
98
|
onclick={handleClick}
|
|
97
|
-
class={
|
|
99
|
+
class={styles.base({ class: clsx(className) })}
|
|
100
|
+
data-layout={layout}
|
|
101
|
+
style:--rail-p={collapsedProp !== undefined ? progress : undefined}
|
|
102
|
+
style:--rail-sel={selection}
|
|
98
103
|
>
|
|
99
|
-
<
|
|
100
|
-
<
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
</span>
|
|
114
|
-
</div>
|
|
115
|
-
<p class={labelClass()}>
|
|
116
|
-
{label}
|
|
117
|
-
</p>
|
|
118
|
-
</div>
|
|
104
|
+
<span class={styles.sizer()}>
|
|
105
|
+
<span class={styles.measure()} aria-hidden="true">{label}</span>
|
|
106
|
+
<span class={styles.indicator()}>
|
|
107
|
+
<span class={styles.fill()}></span>
|
|
108
|
+
</span>
|
|
109
|
+
<!-- Badge offsets are measured from the icon's corner, not the indicator's. -->
|
|
110
|
+
<span class={styles.icon()}>
|
|
111
|
+
<Icon {...iconProps} fill={isActive ? 1 : 0} />
|
|
112
|
+
{#if badge}
|
|
113
|
+
<Badge size={badge === -1 ? 'sm' : 'lg'} number={badge} />
|
|
114
|
+
{/if}
|
|
115
|
+
</span>
|
|
116
|
+
<span class={styles.label()}>{label}</span>
|
|
117
|
+
</span>
|
|
119
118
|
</a>
|
|
120
119
|
{/snippet}
|
|
121
120
|
</NavigationMenu.Link>
|
|
122
121
|
</NavigationMenu.Item>
|
|
122
|
+
|
|
123
|
+
<style>
|
|
124
|
+
/*
|
|
125
|
+
Geometry, interpolated on --rail-p (the rail's expand progress, 0 collapsed to 1 expanded)
|
|
126
|
+
after Compose's AnimatedNavigationItem. The indicator stays anchored 20dp in and the icon
|
|
127
|
+
keeps its x, so nothing moves sideways; only the label changes sides, while invisible.
|
|
128
|
+
Coordinates are inside the sizer, which starts 20dp in and is as wide as the expanded pill.
|
|
129
|
+
*/
|
|
130
|
+
.rail-item {
|
|
131
|
+
/* 64dp (6 + 32 + 4 + 16 label + 6) → 56dp */
|
|
132
|
+
height: calc(var(--spacing-spacing-800) - var(--spacing-spacing-100) * var(--rail-p, 0));
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.rail-indicator {
|
|
136
|
+
/* 56×32, 6dp down → the full pill, 56dp tall */
|
|
137
|
+
top: calc(var(--spacing-spacing-75) * (1 - var(--rail-p, 0)));
|
|
138
|
+
width: calc(
|
|
139
|
+
var(--spacing-spacing-700) + (100% - var(--spacing-spacing-700)) * var(--rail-p, 0)
|
|
140
|
+
);
|
|
141
|
+
height: calc(var(--spacing-spacing-400) + var(--spacing-spacing-300) * var(--rail-p, 0));
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/* Grows from the centre: full height, width and opacity on --rail-sel. */
|
|
145
|
+
.rail-fill {
|
|
146
|
+
inset-block: 0;
|
|
147
|
+
left: 50%;
|
|
148
|
+
width: calc(100% * var(--rail-sel, 0));
|
|
149
|
+
translate: -50% 0;
|
|
150
|
+
opacity: var(--rail-sel, 0);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.rail-icon {
|
|
154
|
+
/* 4dp into the indicator → centred in the 56dp pill */
|
|
155
|
+
top: calc(var(--spacing-spacing-125) + var(--spacing-spacing-75) * var(--rail-p, 0));
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.rail-label {
|
|
159
|
+
/* Fades out to nothing at the halfway point and back in: 4(p − ½)². */
|
|
160
|
+
opacity: calc(4 * (var(--rail-p, 0) - 0.5) * (var(--rail-p, 0) - 0.5));
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/* Under the indicator, centred on it. */
|
|
164
|
+
.rail-item[data-layout='top'] .rail-label {
|
|
165
|
+
top: calc(var(--spacing-spacing-75) + var(--spacing-spacing-400) + var(--spacing-spacing-50));
|
|
166
|
+
left: calc(var(--spacing-spacing-700) / 2);
|
|
167
|
+
translate: -50% 0;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/* Beside the icon, 8dp after it, sliding in from the left as it fades back. */
|
|
171
|
+
.rail-item[data-layout='start'] .rail-label {
|
|
172
|
+
top: 50%;
|
|
173
|
+
left: calc(
|
|
174
|
+
(var(--spacing-spacing-600) + var(--spacing-spacing-250)) * var(--rail-p, 0) -
|
|
175
|
+
var(--spacing-spacing-250)
|
|
176
|
+
);
|
|
177
|
+
translate: 0 -50%;
|
|
178
|
+
}
|
|
179
|
+
</style>
|
|
@@ -2,8 +2,9 @@ import type { RailItemProps } from './types.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Material 3 Navigation Rail Item.
|
|
4
4
|
*
|
|
5
|
-
* A single destination within a navigation rail.
|
|
6
|
-
*
|
|
5
|
+
* A single destination within a navigation rail. Collapsed, the label sits under the icon;
|
|
6
|
+
* expanded, beside it inside the active indicator, and it moves between the two as the rail
|
|
7
|
+
* springs. The active icon fills, per M3's icon guidance.
|
|
7
8
|
*/
|
|
8
9
|
declare const RailItem: import("svelte").Component<RailItemProps, {}, "">;
|
|
9
10
|
type RailItem = ReturnType<typeof RailItem>;
|
|
@@ -15,14 +15,19 @@ export declare const rail: import("tailwind-variants").TVReturnType<{
|
|
|
15
15
|
expanded: {
|
|
16
16
|
true: {
|
|
17
17
|
base: string;
|
|
18
|
-
|
|
18
|
+
scrim: string;
|
|
19
19
|
};
|
|
20
20
|
false: {
|
|
21
21
|
base: string;
|
|
22
|
-
|
|
23
|
-
ghost: string;
|
|
22
|
+
scrim: string;
|
|
24
23
|
};
|
|
25
24
|
};
|
|
25
|
+
header: {
|
|
26
|
+
true: {
|
|
27
|
+
nav: string;
|
|
28
|
+
};
|
|
29
|
+
false: {};
|
|
30
|
+
};
|
|
26
31
|
rounded: {
|
|
27
32
|
true: {
|
|
28
33
|
base: string;
|
|
@@ -31,6 +36,9 @@ export declare const rail: import("tailwind-variants").TVReturnType<{
|
|
|
31
36
|
};
|
|
32
37
|
}, {
|
|
33
38
|
base: string;
|
|
39
|
+
header: string;
|
|
40
|
+
menu: string;
|
|
41
|
+
nav: string;
|
|
34
42
|
items: string;
|
|
35
43
|
ghost: string;
|
|
36
44
|
scrim: string;
|
|
@@ -48,14 +56,19 @@ export declare const rail: import("tailwind-variants").TVReturnType<{
|
|
|
48
56
|
expanded: {
|
|
49
57
|
true: {
|
|
50
58
|
base: string;
|
|
51
|
-
|
|
59
|
+
scrim: string;
|
|
52
60
|
};
|
|
53
61
|
false: {
|
|
54
62
|
base: string;
|
|
55
|
-
|
|
56
|
-
ghost: string;
|
|
63
|
+
scrim: string;
|
|
57
64
|
};
|
|
58
65
|
};
|
|
66
|
+
header: {
|
|
67
|
+
true: {
|
|
68
|
+
nav: string;
|
|
69
|
+
};
|
|
70
|
+
false: {};
|
|
71
|
+
};
|
|
59
72
|
rounded: {
|
|
60
73
|
true: {
|
|
61
74
|
base: string;
|
|
@@ -64,6 +77,9 @@ export declare const rail: import("tailwind-variants").TVReturnType<{
|
|
|
64
77
|
};
|
|
65
78
|
}, {
|
|
66
79
|
base: string;
|
|
80
|
+
header: string;
|
|
81
|
+
menu: string;
|
|
82
|
+
nav: string;
|
|
67
83
|
items: string;
|
|
68
84
|
ghost: string;
|
|
69
85
|
scrim: string;
|
|
@@ -81,14 +97,19 @@ export declare const rail: import("tailwind-variants").TVReturnType<{
|
|
|
81
97
|
expanded: {
|
|
82
98
|
true: {
|
|
83
99
|
base: string;
|
|
84
|
-
|
|
100
|
+
scrim: string;
|
|
85
101
|
};
|
|
86
102
|
false: {
|
|
87
103
|
base: string;
|
|
88
|
-
|
|
89
|
-
ghost: string;
|
|
104
|
+
scrim: string;
|
|
90
105
|
};
|
|
91
106
|
};
|
|
107
|
+
header: {
|
|
108
|
+
true: {
|
|
109
|
+
nav: string;
|
|
110
|
+
};
|
|
111
|
+
false: {};
|
|
112
|
+
};
|
|
92
113
|
rounded: {
|
|
93
114
|
true: {
|
|
94
115
|
base: string;
|
|
@@ -97,6 +118,9 @@ export declare const rail: import("tailwind-variants").TVReturnType<{
|
|
|
97
118
|
};
|
|
98
119
|
}, {
|
|
99
120
|
base: string;
|
|
121
|
+
header: string;
|
|
122
|
+
menu: string;
|
|
123
|
+
nav: string;
|
|
100
124
|
items: string;
|
|
101
125
|
ghost: string;
|
|
102
126
|
scrim: string;
|
|
@@ -104,26 +128,18 @@ export declare const rail: import("tailwind-variants").TVReturnType<{
|
|
|
104
128
|
export declare const railElement: import("tailwind-variants").TVReturnType<{
|
|
105
129
|
active: {
|
|
106
130
|
true: {
|
|
107
|
-
|
|
108
|
-
label: string;
|
|
109
|
-
iconContainer: string;
|
|
131
|
+
icon: string;
|
|
110
132
|
};
|
|
111
133
|
false: {
|
|
112
|
-
|
|
113
|
-
|
|
134
|
+
icon: string;
|
|
135
|
+
label: string;
|
|
114
136
|
};
|
|
115
137
|
};
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
base: string;
|
|
119
|
-
content: string;
|
|
120
|
-
iconContainer: string;
|
|
138
|
+
layout: {
|
|
139
|
+
top: {
|
|
121
140
|
label: string;
|
|
122
141
|
};
|
|
123
|
-
|
|
124
|
-
base: string;
|
|
125
|
-
content: string;
|
|
126
|
-
iconContainer: string;
|
|
142
|
+
start: {
|
|
127
143
|
label: string;
|
|
128
144
|
};
|
|
129
145
|
};
|
|
@@ -131,46 +147,33 @@ export declare const railElement: import("tailwind-variants").TVReturnType<{
|
|
|
131
147
|
true: {
|
|
132
148
|
base: string;
|
|
133
149
|
};
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
true: {
|
|
137
|
-
base: string;
|
|
138
|
-
content: string;
|
|
139
|
-
iconContainer: string;
|
|
140
|
-
icon: string;
|
|
141
|
-
label: string;
|
|
150
|
+
false: {
|
|
151
|
+
indicator: string;
|
|
142
152
|
};
|
|
143
|
-
false: {};
|
|
144
153
|
};
|
|
145
154
|
}, {
|
|
146
155
|
base: string;
|
|
147
|
-
|
|
148
|
-
|
|
156
|
+
sizer: string;
|
|
157
|
+
measure: string;
|
|
158
|
+
indicator: string;
|
|
159
|
+
fill: string;
|
|
149
160
|
icon: string;
|
|
150
161
|
label: string;
|
|
151
162
|
}, undefined, {
|
|
152
163
|
active: {
|
|
153
164
|
true: {
|
|
154
|
-
|
|
155
|
-
label: string;
|
|
156
|
-
iconContainer: string;
|
|
165
|
+
icon: string;
|
|
157
166
|
};
|
|
158
167
|
false: {
|
|
159
|
-
|
|
160
|
-
|
|
168
|
+
icon: string;
|
|
169
|
+
label: string;
|
|
161
170
|
};
|
|
162
171
|
};
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
base: string;
|
|
166
|
-
content: string;
|
|
167
|
-
iconContainer: string;
|
|
172
|
+
layout: {
|
|
173
|
+
top: {
|
|
168
174
|
label: string;
|
|
169
175
|
};
|
|
170
|
-
|
|
171
|
-
base: string;
|
|
172
|
-
content: string;
|
|
173
|
-
iconContainer: string;
|
|
176
|
+
start: {
|
|
174
177
|
label: string;
|
|
175
178
|
};
|
|
176
179
|
};
|
|
@@ -178,46 +181,33 @@ export declare const railElement: import("tailwind-variants").TVReturnType<{
|
|
|
178
181
|
true: {
|
|
179
182
|
base: string;
|
|
180
183
|
};
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
true: {
|
|
184
|
-
base: string;
|
|
185
|
-
content: string;
|
|
186
|
-
iconContainer: string;
|
|
187
|
-
icon: string;
|
|
188
|
-
label: string;
|
|
184
|
+
false: {
|
|
185
|
+
indicator: string;
|
|
189
186
|
};
|
|
190
|
-
false: {};
|
|
191
187
|
};
|
|
192
188
|
}, {
|
|
193
189
|
base: string;
|
|
194
|
-
|
|
195
|
-
|
|
190
|
+
sizer: string;
|
|
191
|
+
measure: string;
|
|
192
|
+
indicator: string;
|
|
193
|
+
fill: string;
|
|
196
194
|
icon: string;
|
|
197
195
|
label: string;
|
|
198
196
|
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
199
197
|
active: {
|
|
200
198
|
true: {
|
|
201
|
-
|
|
202
|
-
label: string;
|
|
203
|
-
iconContainer: string;
|
|
199
|
+
icon: string;
|
|
204
200
|
};
|
|
205
201
|
false: {
|
|
206
|
-
|
|
207
|
-
|
|
202
|
+
icon: string;
|
|
203
|
+
label: string;
|
|
208
204
|
};
|
|
209
205
|
};
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
base: string;
|
|
213
|
-
content: string;
|
|
214
|
-
iconContainer: string;
|
|
206
|
+
layout: {
|
|
207
|
+
top: {
|
|
215
208
|
label: string;
|
|
216
209
|
};
|
|
217
|
-
|
|
218
|
-
base: string;
|
|
219
|
-
content: string;
|
|
220
|
-
iconContainer: string;
|
|
210
|
+
start: {
|
|
221
211
|
label: string;
|
|
222
212
|
};
|
|
223
213
|
};
|
|
@@ -225,21 +215,16 @@ export declare const railElement: import("tailwind-variants").TVReturnType<{
|
|
|
225
215
|
true: {
|
|
226
216
|
base: string;
|
|
227
217
|
};
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
true: {
|
|
231
|
-
base: string;
|
|
232
|
-
content: string;
|
|
233
|
-
iconContainer: string;
|
|
234
|
-
icon: string;
|
|
235
|
-
label: string;
|
|
218
|
+
false: {
|
|
219
|
+
indicator: string;
|
|
236
220
|
};
|
|
237
|
-
false: {};
|
|
238
221
|
};
|
|
239
222
|
}, {
|
|
240
223
|
base: string;
|
|
241
|
-
|
|
242
|
-
|
|
224
|
+
sizer: string;
|
|
225
|
+
measure: string;
|
|
226
|
+
indicator: string;
|
|
227
|
+
fill: string;
|
|
243
228
|
icon: string;
|
|
244
229
|
label: string;
|
|
245
230
|
}>>;
|