@techsio/ui-kit 0.47.0 → 0.48.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/internal/molecules/vertical-navigation.context.js +15 -0
- package/dist/internal/molecules/vertical-navigation.styles.js +68 -0
- package/dist/molecules/vertical-navigation.js +228 -0
- package/dist/src/internal/molecules/vertical-navigation.context.d.ts +25 -0
- package/dist/src/internal/molecules/vertical-navigation.context.d.ts.map +1 -0
- package/dist/src/internal/molecules/vertical-navigation.styles.d.ts +143 -0
- package/dist/src/internal/molecules/vertical-navigation.styles.d.ts.map +1 -0
- package/dist/src/molecules/vertical-navigation.d.ts +44 -0
- package/dist/src/molecules/vertical-navigation.d.ts.map +1 -0
- package/dist/src/types/zag.d.ts +1 -0
- package/dist/src/types/zag.d.ts.map +1 -1
- package/dist/stories/changelog/changelog.stories.d.ts.map +1 -1
- package/dist/stories/molecules/vertical-navigation.stories.d.ts +75 -0
- package/dist/stories/molecules/vertical-navigation.stories.d.ts.map +1 -0
- package/dist/test/vertical-navigation.behavior.spec.d.ts +2 -0
- package/dist/test/vertical-navigation.behavior.spec.d.ts.map +1 -0
- package/dist/test/vertical-navigation.playwright.config.d.ts +4 -0
- package/dist/test/vertical-navigation.playwright.config.d.ts.map +1 -0
- package/package.json +2 -1
- package/src/tokens/components/components.css +1 -0
- package/src/tokens/components/molecules/_vertical-navigation.css +155 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
const VerticalNavigationContext = createContext(null);
|
|
3
|
+
const VerticalNavigationDepthContext = createContext(0);
|
|
4
|
+
const VerticalNavigationBranchContext = createContext(null);
|
|
5
|
+
function useVerticalNavigationContext() {
|
|
6
|
+
const context = useContext(VerticalNavigationContext);
|
|
7
|
+
if (!context) throw new Error("VerticalNavigation parts must be used within VerticalNavigation.Root");
|
|
8
|
+
return context;
|
|
9
|
+
}
|
|
10
|
+
function useVerticalNavigationBranchContext() {
|
|
11
|
+
const context = useContext(VerticalNavigationBranchContext);
|
|
12
|
+
if (!context) throw new Error("VerticalNavigation branch parts must be used within VerticalNavigation.Branch");
|
|
13
|
+
return context;
|
|
14
|
+
}
|
|
15
|
+
export { VerticalNavigationBranchContext, VerticalNavigationContext, VerticalNavigationDepthContext, useVerticalNavigationBranchContext, useVerticalNavigationContext };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { tv } from "../../utils.js";
|
|
2
|
+
const verticalNavigationStyles = tv({
|
|
3
|
+
slots: {
|
|
4
|
+
root: "min-w-0 text-vertical-navigation-fg",
|
|
5
|
+
list: "flex min-w-0 list-none flex-col gap-vertical-navigation-list",
|
|
6
|
+
item: "min-w-0",
|
|
7
|
+
row: "vertical-navigation-row flex min-w-0 items-start gap-vertical-navigation-row rounded-vertical-navigation-item bg-vertical-navigation-item-bg data-current-path:font-vertical-navigation-path",
|
|
8
|
+
link: "vertical-navigation-control focus-visible:vertical-navigation-focus flex min-w-0 flex-1 items-center justify-start gap-vertical-navigation-row whitespace-normal rounded-vertical-navigation-item bg-vertical-navigation-item-bg text-start text-inherit hover:bg-vertical-navigation-item-bg-hover data-current:bg-vertical-navigation-item-bg-current data-current-path:font-vertical-navigation-path data-current:font-vertical-navigation-current data-current:text-vertical-navigation-item-fg-current data-disabled:text-vertical-navigation-item-fg-disabled data-disabled:hover:bg-vertical-navigation-item-bg",
|
|
9
|
+
trigger: "vertical-navigation-control focus-visible:vertical-navigation-focus flex w-full min-w-0 items-center justify-between whitespace-normal rounded-vertical-navigation-item bg-vertical-navigation-item-bg text-start text-inherit hover:bg-vertical-navigation-item-bg-hover disabled:text-vertical-navigation-item-fg-disabled disabled:hover:bg-vertical-navigation-item-bg",
|
|
10
|
+
indicator: "inline-flex shrink-0 data-[state=open]:rotate-180",
|
|
11
|
+
content: "data-guide:vertical-navigation-guide min-w-0 rounded-vertical-navigation-group py-vertical-navigation-group data-indented:ms-vertical-navigation-indent",
|
|
12
|
+
group: "flex min-w-0 flex-col gap-vertical-navigation-group rounded-vertical-navigation-group p-vertical-navigation-group",
|
|
13
|
+
groupLabel: "mb-vertical-navigation-label font-vertical-navigation-label text-vertical-navigation-label-fg text-vertical-navigation-label-sm",
|
|
14
|
+
separator: "my-vertical-navigation-group h-vertical-navigation-separator border-0 bg-vertical-navigation-separator-bg"
|
|
15
|
+
},
|
|
16
|
+
variants: {
|
|
17
|
+
variant: {
|
|
18
|
+
primary: {},
|
|
19
|
+
secondary: {}
|
|
20
|
+
},
|
|
21
|
+
size: {
|
|
22
|
+
sm: {
|
|
23
|
+
root: "text-vertical-navigation-sm",
|
|
24
|
+
link: "min-h-vertical-navigation-item-sm px-vertical-navigation-item-x-sm py-vertical-navigation-item-y-sm",
|
|
25
|
+
trigger: "min-h-vertical-navigation-item-sm px-vertical-navigation-item-x-sm py-vertical-navigation-item-y-sm",
|
|
26
|
+
indicator: "text-vertical-navigation-icon-sm",
|
|
27
|
+
groupLabel: "px-vertical-navigation-item-x-sm"
|
|
28
|
+
},
|
|
29
|
+
md: {
|
|
30
|
+
root: "text-vertical-navigation-md",
|
|
31
|
+
link: "min-h-vertical-navigation-item-md px-vertical-navigation-item-x-md py-vertical-navigation-item-y-md",
|
|
32
|
+
trigger: "min-h-vertical-navigation-item-md px-vertical-navigation-item-x-md py-vertical-navigation-item-y-md",
|
|
33
|
+
indicator: "text-vertical-navigation-icon-md",
|
|
34
|
+
groupLabel: "px-vertical-navigation-item-x-md"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
tone: {
|
|
38
|
+
plain: {
|
|
39
|
+
content: "bg-vertical-navigation-group-bg-plain text-vertical-navigation-group-fg-plain",
|
|
40
|
+
group: "bg-vertical-navigation-group-bg-plain text-vertical-navigation-group-fg-plain"
|
|
41
|
+
},
|
|
42
|
+
subtle: {
|
|
43
|
+
content: "bg-vertical-navigation-group-bg-subtle text-vertical-navigation-group-fg-subtle",
|
|
44
|
+
group: "bg-vertical-navigation-group-bg-subtle text-vertical-navigation-group-fg-subtle"
|
|
45
|
+
},
|
|
46
|
+
accent: {
|
|
47
|
+
content: "bg-vertical-navigation-group-bg-accent text-vertical-navigation-group-fg-accent",
|
|
48
|
+
group: "bg-vertical-navigation-group-bg-accent text-vertical-navigation-group-fg-accent"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
compoundVariants: [
|
|
53
|
+
{
|
|
54
|
+
tone: "accent",
|
|
55
|
+
variant: "secondary",
|
|
56
|
+
class: {
|
|
57
|
+
content: "bg-vertical-navigation-group-bg-secondary text-vertical-navigation-group-fg-secondary",
|
|
58
|
+
group: "bg-vertical-navigation-group-bg-secondary text-vertical-navigation-group-fg-secondary"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
defaultVariants: {
|
|
63
|
+
size: "md",
|
|
64
|
+
tone: "plain",
|
|
65
|
+
variant: "primary"
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
export { verticalNavigationStyles };
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { mergeProps, normalizeProps, useMachine } from "@zag-js/react";
|
|
4
|
+
import { useContext, useId } from "react";
|
|
5
|
+
import { Button } from "../atoms/button.js";
|
|
6
|
+
import { Icon } from "../atoms/icon.js";
|
|
7
|
+
import { LinkButton } from "../atoms/link-button.js";
|
|
8
|
+
import { VerticalNavigationBranchContext, VerticalNavigationContext, VerticalNavigationDepthContext, useVerticalNavigationBranchContext, useVerticalNavigationContext } from "../internal/molecules/vertical-navigation.context.js";
|
|
9
|
+
import { verticalNavigationStyles } from "../internal/molecules/vertical-navigation.styles.js";
|
|
10
|
+
import * as __rspack_external__zag_js_collapsible_508ff486 from "@zag-js/collapsible";
|
|
11
|
+
function VerticalNavigation({ size = "md", maxIndentDepth = 3, dir, className, children, ...props }) {
|
|
12
|
+
return /*#__PURE__*/ jsx(VerticalNavigationContext.Provider, {
|
|
13
|
+
value: {
|
|
14
|
+
size,
|
|
15
|
+
maxIndentDepth,
|
|
16
|
+
dir
|
|
17
|
+
},
|
|
18
|
+
children: /*#__PURE__*/ jsx(VerticalNavigationDepthContext.Provider, {
|
|
19
|
+
value: 0,
|
|
20
|
+
children: /*#__PURE__*/ jsx(VerticalNavigationBranchContext.Provider, {
|
|
21
|
+
value: null,
|
|
22
|
+
children: /*#__PURE__*/ jsx("nav", {
|
|
23
|
+
...props,
|
|
24
|
+
className: verticalNavigationStyles({
|
|
25
|
+
size
|
|
26
|
+
}).root({
|
|
27
|
+
className
|
|
28
|
+
}),
|
|
29
|
+
"data-part": "root",
|
|
30
|
+
"data-scope": "vertical-navigation",
|
|
31
|
+
dir: dir,
|
|
32
|
+
children: children
|
|
33
|
+
})
|
|
34
|
+
})
|
|
35
|
+
})
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
VerticalNavigation.Root = VerticalNavigation;
|
|
39
|
+
VerticalNavigation.List = function({ children, className, ...props }) {
|
|
40
|
+
useVerticalNavigationContext();
|
|
41
|
+
const depth = useContext(VerticalNavigationDepthContext);
|
|
42
|
+
return /*#__PURE__*/ jsx(VerticalNavigationDepthContext.Provider, {
|
|
43
|
+
value: depth + 1,
|
|
44
|
+
children: /*#__PURE__*/ jsx("ul", {
|
|
45
|
+
...props,
|
|
46
|
+
className: verticalNavigationStyles().list({
|
|
47
|
+
className
|
|
48
|
+
}),
|
|
49
|
+
"data-depth": depth,
|
|
50
|
+
"data-part": "list",
|
|
51
|
+
"data-scope": "vertical-navigation",
|
|
52
|
+
children: children
|
|
53
|
+
})
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
VerticalNavigation.Item = function({ className, ...props }) {
|
|
57
|
+
useVerticalNavigationContext();
|
|
58
|
+
return /*#__PURE__*/ jsx(VerticalNavigationBranchContext.Provider, {
|
|
59
|
+
value: null,
|
|
60
|
+
children: /*#__PURE__*/ jsx("li", {
|
|
61
|
+
...props,
|
|
62
|
+
className: verticalNavigationStyles().item({
|
|
63
|
+
className
|
|
64
|
+
}),
|
|
65
|
+
"data-part": "item",
|
|
66
|
+
"data-scope": "vertical-navigation"
|
|
67
|
+
})
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
VerticalNavigation.Row = function({ className, ...props }) {
|
|
71
|
+
useVerticalNavigationContext();
|
|
72
|
+
const branch = useContext(VerticalNavigationBranchContext);
|
|
73
|
+
return /*#__PURE__*/ jsx("div", {
|
|
74
|
+
...props,
|
|
75
|
+
className: verticalNavigationStyles().row({
|
|
76
|
+
className
|
|
77
|
+
}),
|
|
78
|
+
"data-current-path": branch?.containsCurrent || void 0,
|
|
79
|
+
"data-part": "row",
|
|
80
|
+
"data-scope": "vertical-navigation"
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
VerticalNavigation.Link = function({ current = false, className, ...props }) {
|
|
84
|
+
const { size } = useVerticalNavigationContext();
|
|
85
|
+
const branch = useContext(VerticalNavigationBranchContext);
|
|
86
|
+
return /*#__PURE__*/ jsx(LinkButton, {
|
|
87
|
+
...props,
|
|
88
|
+
"aria-current": current ? "page" : void 0,
|
|
89
|
+
className: verticalNavigationStyles({
|
|
90
|
+
size
|
|
91
|
+
}).link({
|
|
92
|
+
className
|
|
93
|
+
}),
|
|
94
|
+
"data-current": current || void 0,
|
|
95
|
+
"data-current-path": branch?.containsCurrent || void 0,
|
|
96
|
+
"data-part": "link",
|
|
97
|
+
"data-scope": "vertical-navigation",
|
|
98
|
+
size: "current",
|
|
99
|
+
theme: "unstyled"
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
VerticalNavigation.Branch = function({ id, open, defaultOpen, onOpenChange, disabled, getRootNode, containsCurrent = false, children, className, ...props }) {
|
|
103
|
+
const { dir } = useVerticalNavigationContext();
|
|
104
|
+
const generatedId = useId();
|
|
105
|
+
const service = useMachine(__rspack_external__zag_js_collapsible_508ff486.machine, {
|
|
106
|
+
id: id ?? generatedId,
|
|
107
|
+
dir,
|
|
108
|
+
open,
|
|
109
|
+
defaultOpen,
|
|
110
|
+
onOpenChange,
|
|
111
|
+
disabled,
|
|
112
|
+
getRootNode
|
|
113
|
+
});
|
|
114
|
+
const api = __rspack_external__zag_js_collapsible_508ff486.connect(service, normalizeProps);
|
|
115
|
+
return /*#__PURE__*/ jsx(VerticalNavigationBranchContext.Provider, {
|
|
116
|
+
value: {
|
|
117
|
+
api,
|
|
118
|
+
containsCurrent
|
|
119
|
+
},
|
|
120
|
+
children: /*#__PURE__*/ jsx("li", {
|
|
121
|
+
...mergeProps(props, api.getRootProps()),
|
|
122
|
+
className: verticalNavigationStyles().item({
|
|
123
|
+
className
|
|
124
|
+
}),
|
|
125
|
+
"data-current-path": containsCurrent || void 0,
|
|
126
|
+
"data-part": "branch",
|
|
127
|
+
"data-scope": "vertical-navigation",
|
|
128
|
+
children: children
|
|
129
|
+
})
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
VerticalNavigation.BranchTrigger = function({ className, disabled, ...props }) {
|
|
133
|
+
const { size } = useVerticalNavigationContext();
|
|
134
|
+
const { api } = useVerticalNavigationBranchContext();
|
|
135
|
+
return /*#__PURE__*/ jsx(Button, {
|
|
136
|
+
...mergeProps(props, api.getTriggerProps()),
|
|
137
|
+
className: verticalNavigationStyles({
|
|
138
|
+
size
|
|
139
|
+
}).trigger({
|
|
140
|
+
className
|
|
141
|
+
}),
|
|
142
|
+
"data-part": "branch-trigger",
|
|
143
|
+
"data-scope": "vertical-navigation",
|
|
144
|
+
disabled: disabled || api.disabled,
|
|
145
|
+
size: "current",
|
|
146
|
+
theme: "unstyled"
|
|
147
|
+
});
|
|
148
|
+
};
|
|
149
|
+
VerticalNavigation.BranchIndicator = function({ className, ...props }) {
|
|
150
|
+
const { size } = useVerticalNavigationContext();
|
|
151
|
+
const { api } = useVerticalNavigationBranchContext();
|
|
152
|
+
return /*#__PURE__*/ jsx("span", {
|
|
153
|
+
...mergeProps(props, api.getIndicatorProps()),
|
|
154
|
+
"aria-hidden": "true",
|
|
155
|
+
className: verticalNavigationStyles({
|
|
156
|
+
size
|
|
157
|
+
}).indicator({
|
|
158
|
+
className
|
|
159
|
+
}),
|
|
160
|
+
"data-part": "branch-indicator",
|
|
161
|
+
"data-scope": "vertical-navigation",
|
|
162
|
+
children: /*#__PURE__*/ jsx(Icon, {
|
|
163
|
+
icon: "token-icon-vertical-navigation-chevron",
|
|
164
|
+
size: "current"
|
|
165
|
+
})
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
VerticalNavigation.BranchContent = function({ tone = "plain", variant = "primary", indent = true, showGuide = false, className, ...props }) {
|
|
169
|
+
const { maxIndentDepth } = useVerticalNavigationContext();
|
|
170
|
+
const { api } = useVerticalNavigationBranchContext();
|
|
171
|
+
const depth = useContext(VerticalNavigationDepthContext);
|
|
172
|
+
return /*#__PURE__*/ jsx("div", {
|
|
173
|
+
...mergeProps(props, api.getContentProps()),
|
|
174
|
+
className: verticalNavigationStyles({
|
|
175
|
+
tone,
|
|
176
|
+
variant
|
|
177
|
+
}).content({
|
|
178
|
+
className
|
|
179
|
+
}),
|
|
180
|
+
"data-guide": showGuide || void 0,
|
|
181
|
+
"data-indented": indent && depth <= maxIndentDepth || void 0,
|
|
182
|
+
"data-part": "branch-content",
|
|
183
|
+
"data-scope": "vertical-navigation",
|
|
184
|
+
"data-tone": tone,
|
|
185
|
+
"data-variant": variant
|
|
186
|
+
});
|
|
187
|
+
};
|
|
188
|
+
VerticalNavigation.Group = function({ tone = "plain", variant = "primary", className, ...props }) {
|
|
189
|
+
useVerticalNavigationContext();
|
|
190
|
+
return /*#__PURE__*/ jsx("div", {
|
|
191
|
+
...props,
|
|
192
|
+
className: verticalNavigationStyles({
|
|
193
|
+
tone,
|
|
194
|
+
variant
|
|
195
|
+
}).group({
|
|
196
|
+
className
|
|
197
|
+
}),
|
|
198
|
+
"data-part": "group",
|
|
199
|
+
"data-scope": "vertical-navigation",
|
|
200
|
+
"data-tone": tone,
|
|
201
|
+
"data-variant": variant
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
VerticalNavigation.GroupLabel = function({ className, ...props }) {
|
|
205
|
+
const { size } = useVerticalNavigationContext();
|
|
206
|
+
return /*#__PURE__*/ jsx("h2", {
|
|
207
|
+
...props,
|
|
208
|
+
className: verticalNavigationStyles({
|
|
209
|
+
size
|
|
210
|
+
}).groupLabel({
|
|
211
|
+
className
|
|
212
|
+
}),
|
|
213
|
+
"data-part": "group-label",
|
|
214
|
+
"data-scope": "vertical-navigation"
|
|
215
|
+
});
|
|
216
|
+
};
|
|
217
|
+
VerticalNavigation.Separator = function({ className, ...props }) {
|
|
218
|
+
useVerticalNavigationContext();
|
|
219
|
+
return /*#__PURE__*/ jsx("hr", {
|
|
220
|
+
...props,
|
|
221
|
+
className: verticalNavigationStyles().separator({
|
|
222
|
+
className
|
|
223
|
+
}),
|
|
224
|
+
"data-part": "separator",
|
|
225
|
+
"data-scope": "vertical-navigation"
|
|
226
|
+
});
|
|
227
|
+
};
|
|
228
|
+
export { VerticalNavigation };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Api } from "@zag-js/collapsible";
|
|
2
|
+
import type { PropTypes } from "@zag-js/react";
|
|
3
|
+
export type VerticalNavigationSize = "sm" | "md";
|
|
4
|
+
export type VerticalNavigationTone = "plain" | "subtle" | "accent";
|
|
5
|
+
export type VerticalNavigationVariant = "primary" | "secondary";
|
|
6
|
+
export declare const VerticalNavigationContext: import("react").Context<{
|
|
7
|
+
size: VerticalNavigationSize;
|
|
8
|
+
maxIndentDepth: number;
|
|
9
|
+
dir?: "ltr" | "rtl";
|
|
10
|
+
} | null>;
|
|
11
|
+
export declare const VerticalNavigationDepthContext: import("react").Context<number>;
|
|
12
|
+
export declare const VerticalNavigationBranchContext: import("react").Context<{
|
|
13
|
+
api: Api<PropTypes>;
|
|
14
|
+
containsCurrent: boolean;
|
|
15
|
+
} | null>;
|
|
16
|
+
export declare function useVerticalNavigationContext(): {
|
|
17
|
+
size: VerticalNavigationSize;
|
|
18
|
+
maxIndentDepth: number;
|
|
19
|
+
dir?: "ltr" | "rtl";
|
|
20
|
+
};
|
|
21
|
+
export declare function useVerticalNavigationBranchContext(): {
|
|
22
|
+
api: Api<PropTypes>;
|
|
23
|
+
containsCurrent: boolean;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=vertical-navigation.context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertical-navigation.context.d.ts","sourceRoot":"","sources":["../../../../src/internal/molecules/vertical-navigation.context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAG9C,MAAM,MAAM,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAAA;AAChD,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAClE,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,WAAW,CAAA;AAE/D,eAAO,MAAM,yBAAyB;UAC9B,sBAAsB;oBACZ,MAAM;UAChB,KAAK,GAAG,KAAK;SACN,CAAA;AACf,eAAO,MAAM,8BAA8B,iCAAmB,CAAA;AAC9D,eAAO,MAAM,+BAA+B;SACrC,GAAG,CAAC,SAAS,CAAC;qBACF,OAAO;SACX,CAAA;AAEf,wBAAgB,4BAA4B;UAVpC,sBAAsB;oBACZ,MAAM;UAChB,KAAK,GAAG,KAAK;EAgBpB;AAED,wBAAgB,kCAAkC;SAd3C,GAAG,CAAC,SAAS,CAAC;qBACF,OAAO;EAqBzB"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
export declare const verticalNavigationStyles: import("tailwind-variants").TVReturnType<{
|
|
2
|
+
variant: {
|
|
3
|
+
primary: {};
|
|
4
|
+
secondary: {};
|
|
5
|
+
};
|
|
6
|
+
size: {
|
|
7
|
+
sm: {
|
|
8
|
+
root: string;
|
|
9
|
+
link: string;
|
|
10
|
+
trigger: string;
|
|
11
|
+
indicator: string;
|
|
12
|
+
groupLabel: string;
|
|
13
|
+
};
|
|
14
|
+
md: {
|
|
15
|
+
root: string;
|
|
16
|
+
link: string;
|
|
17
|
+
trigger: string;
|
|
18
|
+
indicator: string;
|
|
19
|
+
groupLabel: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
tone: {
|
|
23
|
+
plain: {
|
|
24
|
+
content: string;
|
|
25
|
+
group: string;
|
|
26
|
+
};
|
|
27
|
+
subtle: {
|
|
28
|
+
content: string;
|
|
29
|
+
group: string;
|
|
30
|
+
};
|
|
31
|
+
accent: {
|
|
32
|
+
content: string;
|
|
33
|
+
group: string;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
}, {
|
|
37
|
+
root: string;
|
|
38
|
+
list: string;
|
|
39
|
+
item: string;
|
|
40
|
+
row: string;
|
|
41
|
+
link: string;
|
|
42
|
+
trigger: string;
|
|
43
|
+
indicator: string;
|
|
44
|
+
content: string;
|
|
45
|
+
group: string;
|
|
46
|
+
groupLabel: string;
|
|
47
|
+
separator: string;
|
|
48
|
+
}, undefined, {
|
|
49
|
+
variant: {
|
|
50
|
+
primary: {};
|
|
51
|
+
secondary: {};
|
|
52
|
+
};
|
|
53
|
+
size: {
|
|
54
|
+
sm: {
|
|
55
|
+
root: string;
|
|
56
|
+
link: string;
|
|
57
|
+
trigger: string;
|
|
58
|
+
indicator: string;
|
|
59
|
+
groupLabel: string;
|
|
60
|
+
};
|
|
61
|
+
md: {
|
|
62
|
+
root: string;
|
|
63
|
+
link: string;
|
|
64
|
+
trigger: string;
|
|
65
|
+
indicator: string;
|
|
66
|
+
groupLabel: string;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
tone: {
|
|
70
|
+
plain: {
|
|
71
|
+
content: string;
|
|
72
|
+
group: string;
|
|
73
|
+
};
|
|
74
|
+
subtle: {
|
|
75
|
+
content: string;
|
|
76
|
+
group: string;
|
|
77
|
+
};
|
|
78
|
+
accent: {
|
|
79
|
+
content: string;
|
|
80
|
+
group: string;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
}, {
|
|
84
|
+
root: string;
|
|
85
|
+
list: string;
|
|
86
|
+
item: string;
|
|
87
|
+
row: string;
|
|
88
|
+
link: string;
|
|
89
|
+
trigger: string;
|
|
90
|
+
indicator: string;
|
|
91
|
+
content: string;
|
|
92
|
+
group: string;
|
|
93
|
+
groupLabel: string;
|
|
94
|
+
separator: string;
|
|
95
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
96
|
+
variant: {
|
|
97
|
+
primary: {};
|
|
98
|
+
secondary: {};
|
|
99
|
+
};
|
|
100
|
+
size: {
|
|
101
|
+
sm: {
|
|
102
|
+
root: string;
|
|
103
|
+
link: string;
|
|
104
|
+
trigger: string;
|
|
105
|
+
indicator: string;
|
|
106
|
+
groupLabel: string;
|
|
107
|
+
};
|
|
108
|
+
md: {
|
|
109
|
+
root: string;
|
|
110
|
+
link: string;
|
|
111
|
+
trigger: string;
|
|
112
|
+
indicator: string;
|
|
113
|
+
groupLabel: string;
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
tone: {
|
|
117
|
+
plain: {
|
|
118
|
+
content: string;
|
|
119
|
+
group: string;
|
|
120
|
+
};
|
|
121
|
+
subtle: {
|
|
122
|
+
content: string;
|
|
123
|
+
group: string;
|
|
124
|
+
};
|
|
125
|
+
accent: {
|
|
126
|
+
content: string;
|
|
127
|
+
group: string;
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
}, {
|
|
131
|
+
root: string;
|
|
132
|
+
list: string;
|
|
133
|
+
item: string;
|
|
134
|
+
row: string;
|
|
135
|
+
link: string;
|
|
136
|
+
trigger: string;
|
|
137
|
+
indicator: string;
|
|
138
|
+
content: string;
|
|
139
|
+
group: string;
|
|
140
|
+
groupLabel: string;
|
|
141
|
+
separator: string;
|
|
142
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
143
|
+
//# sourceMappingURL=vertical-navigation.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertical-navigation.styles.d.ts","sourceRoot":"","sources":["../../../../src/internal/molecules/vertical-navigation.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAyEnC,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as collapsible from "@zag-js/collapsible";
|
|
2
|
+
import { type ComponentProps, type ElementType } from "react";
|
|
3
|
+
import { Button } from "../atoms/button.js";
|
|
4
|
+
import { type LinkButtonProps } from "../atoms/link-button.js";
|
|
5
|
+
import { type VerticalNavigationSize, type VerticalNavigationTone, type VerticalNavigationVariant } from "../internal/molecules/vertical-navigation.context.js";
|
|
6
|
+
export type { VerticalNavigationSize, VerticalNavigationTone, VerticalNavigationVariant, } from "../internal/molecules/vertical-navigation.context.js";
|
|
7
|
+
export type VerticalNavigationProps = Omit<ComponentProps<"nav">, "dir"> & {
|
|
8
|
+
size?: VerticalNavigationSize;
|
|
9
|
+
dir?: "ltr" | "rtl";
|
|
10
|
+
/** Maximum cumulative indent; the semantic nesting is never flattened. */
|
|
11
|
+
maxIndentDepth?: number;
|
|
12
|
+
};
|
|
13
|
+
export declare function VerticalNavigation({ size, maxIndentDepth, dir, className, children, ...props }: VerticalNavigationProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare namespace VerticalNavigation {
|
|
15
|
+
var Root: typeof VerticalNavigation;
|
|
16
|
+
var List: ({ children, className, ...props }: ComponentProps<"ul">) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
var Item: ({ className, ...props }: ComponentProps<"li">) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
var Row: ({ className, ...props }: ComponentProps<"div">) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
var Link: <T extends ElementType = "a">({ current, className, ...props }: VerticalNavigationLinkProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
var Branch: ({ id, open, defaultOpen, onOpenChange, disabled, getRootNode, containsCurrent, children, className, ...props }: VerticalNavigationBranchProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
var BranchTrigger: ({ className, disabled, ...props }: VerticalNavigationBranchTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
var BranchIndicator: ({ className, ...props }: ComponentProps<"span">) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
var BranchContent: ({ tone, variant, indent, showGuide, className, ...props }: VerticalNavigationBranchContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
var Group: ({ tone, variant, className, ...props }: ComponentProps<"div"> & {
|
|
25
|
+
tone?: VerticalNavigationTone;
|
|
26
|
+
variant?: VerticalNavigationVariant;
|
|
27
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
var GroupLabel: ({ className, ...props }: ComponentProps<"h2">) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
var Separator: ({ className, ...props }: ComponentProps<"hr">) => import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
}
|
|
31
|
+
export type VerticalNavigationLinkProps<T extends ElementType = "a"> = Omit<LinkButtonProps<T>, "size" | "theme" | "variant" | "block" | "uppercase"> & {
|
|
32
|
+
current?: boolean;
|
|
33
|
+
};
|
|
34
|
+
export type VerticalNavigationBranchProps = Omit<ComponentProps<"li">, "onChange" | "dir"> & Pick<collapsible.Props, "open" | "defaultOpen" | "onOpenChange" | "disabled" | "getRootNode"> & {
|
|
35
|
+
containsCurrent?: boolean;
|
|
36
|
+
};
|
|
37
|
+
export type VerticalNavigationBranchTriggerProps = Omit<ComponentProps<typeof Button>, "size" | "theme" | "variant" | "block" | "uppercase">;
|
|
38
|
+
export type VerticalNavigationBranchContentProps = ComponentProps<"div"> & {
|
|
39
|
+
tone?: VerticalNavigationTone;
|
|
40
|
+
variant?: VerticalNavigationVariant;
|
|
41
|
+
indent?: boolean;
|
|
42
|
+
showGuide?: boolean;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=vertical-navigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertical-navigation.d.ts","sourceRoot":"","sources":["../../../src/molecules/vertical-navigation.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,WAAW,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAqB,MAAM,OAAO,CAAA;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAExC,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,EAML,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC/B,MAAM,mDAAmD,CAAA;AAG1D,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,mDAAmD,CAAA;AAE1D,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG;IACzE,IAAI,CAAC,EAAE,sBAAsB,CAAA;IAC7B,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;IACnB,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAW,EACX,cAAkB,EAClB,GAAG,EACH,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,uBAAuB,2CAkBzB;yBAzBe,kBAAkB;;kDAiC/B,cAAc,CAAC,IAAI,CAAC;wCAqBpB,cAAc,CAAC,IAAI,CAAC;uCAiBpB,cAAc,CAAC,KAAK,CAAC;eAoBtB,CAAC,SAAS,WAAW,0CACqB,2BAA2B,CAAC,CAAC,CAAC;iIAuCvE,6BAA6B;2DAqC7B,oCAAoC;mDAoBlC,cAAc,CAAC,MAAM,CAAC;mFA8BxB,oCAAoC;wDAyBpC,cAAc,CAAC,KAAK,CAAC,GAAG;QACzB,IAAI,CAAC,EAAE,sBAAsB,CAAA;QAC7B,OAAO,CAAC,EAAE,yBAAyB,CAAA;KACpC;8CAmBE,cAAc,CAAC,IAAI,CAAC;6CAepB,cAAc,CAAC,IAAI,CAAC;;AAnMvB,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,WAAW,GAAG,GAAG,IAAI,IAAI,CACzE,eAAe,CAAC,CAAC,CAAC,EAClB,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CACrD,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAuBzB,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAC9C,cAAc,CAAC,IAAI,CAAC,EACpB,UAAU,GAAG,KAAK,CACnB,GACC,IAAI,CACF,WAAW,CAAC,KAAK,EACjB,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,aAAa,CACrE,GAAG;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAyCnC,MAAM,MAAM,oCAAoC,GAAG,IAAI,CACrD,cAAc,CAAC,OAAO,MAAM,CAAC,EAC7B,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CACrD,CAAA;AA0CD,MAAM,MAAM,oCAAoC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IACzE,IAAI,CAAC,EAAE,sBAAsB,CAAA;IAC7B,OAAO,CAAC,EAAE,yBAAyB,CAAA;IACnC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA"}
|
package/dist/src/types/zag.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export type * as Accordion from "@zag-js/accordion";
|
|
|
2
2
|
export type * as Carousel from "@zag-js/carousel";
|
|
3
3
|
export type * as CascadeSelect from "@zag-js/cascade-select";
|
|
4
4
|
export type * as Checkbox from "@zag-js/checkbox";
|
|
5
|
+
export type * as Collapsible from "@zag-js/collapsible";
|
|
5
6
|
export type * as Combobox from "@zag-js/combobox";
|
|
6
7
|
export type * as Dialog from "@zag-js/dialog";
|
|
7
8
|
export type * as Drawer from "@zag-js/drawer";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zag.d.ts","sourceRoot":"","sources":["../../../src/types/zag.ts"],"names":[],"mappings":"AAAA,YAAY,KAAK,SAAS,MAAM,mBAAmB,CAAA;AACnD,YAAY,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AACjD,YAAY,KAAK,aAAa,MAAM,wBAAwB,CAAA;AAC5D,YAAY,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AACjD,YAAY,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AACjD,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACtD,YAAY,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC/C,YAAY,KAAK,IAAI,MAAM,cAAc,CAAA;AACzC,YAAY,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACxD,YAAY,KAAK,UAAU,MAAM,oBAAoB,CAAA;AACrD,YAAY,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC/C,YAAY,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACtD,YAAY,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACxD,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,KAAK,MAAM,eAAe,CAAA;AAC3C,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,IAAI,MAAM,cAAc,CAAA;AACzC,YAAY,KAAK,KAAK,MAAM,eAAe,CAAA;AAC3C,YAAY,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC/C,YAAY,KAAK,IAAI,MAAM,cAAc,CAAA;AACzC,YAAY,KAAK,QAAQ,MAAM,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"zag.d.ts","sourceRoot":"","sources":["../../../src/types/zag.ts"],"names":[],"mappings":"AAAA,YAAY,KAAK,SAAS,MAAM,mBAAmB,CAAA;AACnD,YAAY,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AACjD,YAAY,KAAK,aAAa,MAAM,wBAAwB,CAAA;AAC5D,YAAY,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AACjD,YAAY,KAAK,WAAW,MAAM,qBAAqB,CAAA;AACvD,YAAY,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AACjD,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACtD,YAAY,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC/C,YAAY,KAAK,IAAI,MAAM,cAAc,CAAA;AACzC,YAAY,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACxD,YAAY,KAAK,UAAU,MAAM,oBAAoB,CAAA;AACrD,YAAY,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC/C,YAAY,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACtD,YAAY,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACxD,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,KAAK,MAAM,eAAe,CAAA;AAC3C,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,IAAI,MAAM,cAAc,CAAA;AACzC,YAAY,KAAK,KAAK,MAAM,eAAe,CAAA;AAC3C,YAAY,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC/C,YAAY,KAAK,IAAI,MAAM,cAAc,CAAA;AACzC,YAAY,KAAK,QAAQ,MAAM,mBAAmB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changelog.stories.d.ts","sourceRoot":"","sources":["../../../stories/changelog/changelog.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"changelog.stories.d.ts","sourceRoot":"","sources":["../../../stories/changelog/changelog.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAyOtD,iBAAS,SAAS,4CAUjB;AAED,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAKhC,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,OAAO,SAAS,CAAM,CAAA"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { StoryObj } from "@storybook/react";
|
|
2
|
+
import "./vertical-navigation.stories.css";
|
|
3
|
+
type NavigationStoryProps = {
|
|
4
|
+
size: "sm" | "md";
|
|
5
|
+
tone: "plain" | "subtle" | "accent";
|
|
6
|
+
variant: "primary" | "secondary";
|
|
7
|
+
indent: boolean;
|
|
8
|
+
showGuide: boolean;
|
|
9
|
+
dir: "ltr" | "rtl";
|
|
10
|
+
};
|
|
11
|
+
declare function NavigationStory(args: NavigationStoryProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare const meta: {
|
|
13
|
+
title: string;
|
|
14
|
+
component: typeof NavigationStory;
|
|
15
|
+
tags: string[];
|
|
16
|
+
parameters: {
|
|
17
|
+
layout: string;
|
|
18
|
+
docs: {
|
|
19
|
+
description: {
|
|
20
|
+
component: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
argTypes: {
|
|
25
|
+
variant: {
|
|
26
|
+
control: "select";
|
|
27
|
+
options: string[];
|
|
28
|
+
if: {
|
|
29
|
+
arg: string;
|
|
30
|
+
eq: string;
|
|
31
|
+
};
|
|
32
|
+
description: string;
|
|
33
|
+
};
|
|
34
|
+
size: {
|
|
35
|
+
control: "select";
|
|
36
|
+
options: string[];
|
|
37
|
+
};
|
|
38
|
+
tone: {
|
|
39
|
+
control: "select";
|
|
40
|
+
options: string[];
|
|
41
|
+
description: string;
|
|
42
|
+
};
|
|
43
|
+
indent: {
|
|
44
|
+
control: "boolean";
|
|
45
|
+
};
|
|
46
|
+
showGuide: {
|
|
47
|
+
control: "boolean";
|
|
48
|
+
};
|
|
49
|
+
dir: {
|
|
50
|
+
control: "select";
|
|
51
|
+
options: string[];
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
args: {
|
|
55
|
+
size: "md";
|
|
56
|
+
tone: "subtle";
|
|
57
|
+
variant: "primary";
|
|
58
|
+
indent: true;
|
|
59
|
+
showGuide: false;
|
|
60
|
+
dir: "ltr";
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
export default meta;
|
|
64
|
+
type Story = StoryObj<typeof meta>;
|
|
65
|
+
export declare const Playground: Story;
|
|
66
|
+
export declare const Variants: Story;
|
|
67
|
+
export declare const Sizes: Story;
|
|
68
|
+
export declare const States: Story;
|
|
69
|
+
export declare const SevenLevels: Story;
|
|
70
|
+
export declare const Controlled: Story;
|
|
71
|
+
export declare const WithinDrawer: Story;
|
|
72
|
+
export declare const WithinSidebar: Story;
|
|
73
|
+
export declare const RTL: Story;
|
|
74
|
+
export declare const AkrosCatalog: Story;
|
|
75
|
+
//# sourceMappingURL=vertical-navigation.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertical-navigation.stories.d.ts","sourceRoot":"","sources":["../../../stories/molecules/vertical-navigation.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAQtD,OAAO,mCAAmC,CAAA;AAE1C,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IACjB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACnC,OAAO,EAAE,SAAS,GAAG,WAAW,CAAA;IAChC,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,GAAG,EAAE,KAAK,GAAG,KAAK,CAAA;CACnB,CAAA;AAoGD,iBAAS,eAAe,CAAC,IAAI,EAAE,oBAAoB,2CAMlD;AAED,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC8B,CAAA;AAExC,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,UAAU,EAAE,KAAU,CAAA;AAEnC,eAAO,MAAM,QAAQ,EAAE,KAyBtB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAanB,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAuEpB,CAAA;AA+ID,eAAO,MAAM,WAAW,EAAE,KAWzB,CAAA;AA2DD,eAAO,MAAM,UAAU,EAAE,KAGxB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAyB1B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KA4B3B,CAAA;AAED,eAAO,MAAM,GAAG,EAAE,KAAgC,CAAA;AAwGlD,eAAO,MAAM,YAAY,EAAE,KAY1B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertical-navigation.behavior.spec.d.ts","sourceRoot":"","sources":["../../test/vertical-navigation.behavior.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertical-navigation.playwright.config.d.ts","sourceRoot":"","sources":["../../test/vertical-navigation.playwright.config.ts"],"names":[],"mappings":"AAEA,oEAAoE;;AACpE,wBAeE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@techsio/ui-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.48.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -109,6 +109,7 @@
|
|
|
109
109
|
"@zag-js/carousel": "1.43.3",
|
|
110
110
|
"@zag-js/cascade-select": "1.43.3",
|
|
111
111
|
"@zag-js/checkbox": "1.43.3",
|
|
112
|
+
"@zag-js/collapsible": "1.43.3",
|
|
112
113
|
"@zag-js/combobox": "1.43.3",
|
|
113
114
|
"@zag-js/date-input": "1.43.3",
|
|
114
115
|
"@zag-js/date-picker": "1.43.3",
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
@theme static {
|
|
2
|
+
/* BASE COLOR MAPPING */
|
|
3
|
+
--color-vertical-navigation-surface: var(--color-fill-surface);
|
|
4
|
+
--color-vertical-navigation-foreground: var(--color-fg-primary);
|
|
5
|
+
--color-vertical-navigation-accent: var(--color-bg-primary-base);
|
|
6
|
+
--color-vertical-navigation-secondary: var(--color-bg-secondary-base);
|
|
7
|
+
--color-vertical-navigation-accent-light: color-mix(
|
|
8
|
+
in oklab,
|
|
9
|
+
var(--color-vertical-navigation-accent) 15%,
|
|
10
|
+
var(--color-vertical-navigation-surface)
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
/* DERIVED COLORS */
|
|
14
|
+
--color-vertical-navigation-fg: var(--color-vertical-navigation-foreground);
|
|
15
|
+
--color-vertical-navigation-item-bg: transparent;
|
|
16
|
+
--color-vertical-navigation-label-fg: var(
|
|
17
|
+
--color-vertical-navigation-foreground
|
|
18
|
+
);
|
|
19
|
+
--color-vertical-navigation-guide-border: var(--color-border-primary);
|
|
20
|
+
--color-vertical-navigation-separator-bg: var(--color-border-primary);
|
|
21
|
+
|
|
22
|
+
/* STATE VARIATIONS */
|
|
23
|
+
--color-vertical-navigation-item-bg-hover: var(--color-fill-hover);
|
|
24
|
+
--color-vertical-navigation-indicator-fg-hover: color-mix(
|
|
25
|
+
in oklab,
|
|
26
|
+
var(--color-fg-accent-primary) 60%,
|
|
27
|
+
var(--color-vertical-navigation-foreground)
|
|
28
|
+
);
|
|
29
|
+
--color-vertical-navigation-item-bg-current: color-mix(
|
|
30
|
+
in oklab,
|
|
31
|
+
var(--color-vertical-navigation-accent) 30%,
|
|
32
|
+
var(--color-vertical-navigation-surface)
|
|
33
|
+
);
|
|
34
|
+
--color-vertical-navigation-item-fg-current: var(
|
|
35
|
+
--color-vertical-navigation-foreground
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
/* COMPONENT VARIANTS */
|
|
39
|
+
--color-vertical-navigation-group-bg-plain: transparent;
|
|
40
|
+
--color-vertical-navigation-group-fg-plain: var(
|
|
41
|
+
--color-vertical-navigation-foreground
|
|
42
|
+
);
|
|
43
|
+
--color-vertical-navigation-group-bg-subtle: var(
|
|
44
|
+
--color-vertical-navigation-surface
|
|
45
|
+
);
|
|
46
|
+
--color-vertical-navigation-group-fg-subtle: var(
|
|
47
|
+
--color-vertical-navigation-foreground
|
|
48
|
+
);
|
|
49
|
+
--color-vertical-navigation-group-bg-accent: var(
|
|
50
|
+
--color-vertical-navigation-accent-light
|
|
51
|
+
);
|
|
52
|
+
--color-vertical-navigation-group-fg-accent: var(
|
|
53
|
+
--color-vertical-navigation-foreground
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
--color-vertical-navigation-group-bg-secondary: color-mix(
|
|
57
|
+
in oklab,
|
|
58
|
+
var(--color-vertical-navigation-secondary) 15%,
|
|
59
|
+
var(--color-vertical-navigation-surface)
|
|
60
|
+
);
|
|
61
|
+
--color-vertical-navigation-group-fg-secondary: var(
|
|
62
|
+
--color-vertical-navigation-foreground
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
/* DISABLED STATES */
|
|
66
|
+
--color-vertical-navigation-item-fg-disabled: var(--color-fg-disabled);
|
|
67
|
+
|
|
68
|
+
/* SPACING */
|
|
69
|
+
--spacing-vertical-navigation-list: var(--dimension-2);
|
|
70
|
+
--spacing-vertical-navigation-row: var(--spacing-50);
|
|
71
|
+
--spacing-vertical-navigation-group: var(--spacing-100);
|
|
72
|
+
--spacing-vertical-navigation-indent: var(--dimension-12);
|
|
73
|
+
--spacing-vertical-navigation-label: var(--dimension-8);
|
|
74
|
+
--spacing-vertical-navigation-item-sm: var(--height-form-control-sm);
|
|
75
|
+
--spacing-vertical-navigation-item-md: var(--dimension-36);
|
|
76
|
+
--spacing-vertical-navigation-separator: var(--border-width-sm);
|
|
77
|
+
--padding-vertical-navigation-item-x-sm: var(--padding-popup-item-x-sm);
|
|
78
|
+
--padding-vertical-navigation-item-x-md: var(--padding-popup-item-x-md);
|
|
79
|
+
--padding-vertical-navigation-item-y-sm: var(--padding-popup-item-y-sm);
|
|
80
|
+
--padding-vertical-navigation-item-y-md: var(--padding-popup-item-y-md);
|
|
81
|
+
--padding-vertical-navigation-group: var(--dimension-0);
|
|
82
|
+
|
|
83
|
+
/* TYPOGRAPHY */
|
|
84
|
+
--text-vertical-navigation-sm: var(--text-sm);
|
|
85
|
+
--text-vertical-navigation-md: var(--text-base);
|
|
86
|
+
--text-vertical-navigation-label-sm: var(--text-xs);
|
|
87
|
+
--text-vertical-navigation-icon-sm: var(--text-icon-control-sm);
|
|
88
|
+
--text-vertical-navigation-icon-md: var(--text-icon-control-md);
|
|
89
|
+
--font-weight-vertical-navigation-current: var(--font-weight-semibold);
|
|
90
|
+
--font-weight-vertical-navigation-label: var(--font-weight-semibold);
|
|
91
|
+
--font-weight-vertical-navigation-path: var(--font-weight-medium);
|
|
92
|
+
|
|
93
|
+
/* BORDERS & RADIUS */
|
|
94
|
+
--border-width-vertical-navigation: var(--border-width-sm);
|
|
95
|
+
--radius-vertical-navigation-item: var(--radius-sm);
|
|
96
|
+
--radius-vertical-navigation-group: var(--radius-none);
|
|
97
|
+
|
|
98
|
+
/* FOCUS RINGS */
|
|
99
|
+
--color-vertical-navigation-focus-border: var(--color-ring);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
@utility vertical-navigation-focus {
|
|
103
|
+
outline-style: var(--default-ring-style);
|
|
104
|
+
outline-width: var(--default-ring-width);
|
|
105
|
+
outline-color: var(--color-vertical-navigation-focus-border);
|
|
106
|
+
outline-offset: var(--default-ring-offset);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
@utility vertical-navigation-guide {
|
|
110
|
+
border-inline-start: var(--border-width-vertical-navigation) solid
|
|
111
|
+
var(--color-vertical-navigation-guide-border);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
@utility vertical-navigation-row {
|
|
115
|
+
& > [data-part="link"],
|
|
116
|
+
& > [data-part="branch-trigger"] {
|
|
117
|
+
&,
|
|
118
|
+
&:hover,
|
|
119
|
+
&[data-current] {
|
|
120
|
+
background-color: transparent;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
& > [data-part="branch-trigger"] {
|
|
125
|
+
width: auto;
|
|
126
|
+
flex-shrink: 0;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
@media (hover: hover) {
|
|
130
|
+
&:hover:not(:has(> [data-part="link"][data-current])):has(
|
|
131
|
+
> [data-part="link"]:not([data-disabled]),
|
|
132
|
+
> [data-part="branch-trigger"]:not(:disabled)
|
|
133
|
+
) {
|
|
134
|
+
background-color: var(--color-vertical-navigation-item-bg-hover);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
&
|
|
138
|
+
> [data-part="branch-trigger"]:not(:disabled):hover
|
|
139
|
+
> [data-part="branch-indicator"] {
|
|
140
|
+
color: var(--color-vertical-navigation-indicator-fg-hover);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
&:has(> [data-part="link"][data-current]) {
|
|
145
|
+
background-color: var(--color-vertical-navigation-item-bg-current);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
@utility vertical-navigation-control {
|
|
150
|
+
overflow-wrap: anywhere;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
@utility token-icon-vertical-navigation-chevron {
|
|
154
|
+
@apply token-icon-chevron-down;
|
|
155
|
+
}
|