@jbpark/ui-kit 1.1.3
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/README.ko.md +267 -0
- package/README.md +269 -0
- package/dist/Menu-Du6xCBZw.mjs +235 -0
- package/dist/Menu.d.mts +2 -0
- package/dist/Menu.mjs +5 -0
- package/dist/Reveals-BC-bFyOg.mjs +89 -0
- package/dist/Reveals.d.mts +2 -0
- package/dist/Reveals.mjs +3 -0
- package/dist/Typography-waEo2g0S.mjs +72 -0
- package/dist/Typography.d.mts +2 -0
- package/dist/Typography.mjs +3 -0
- package/dist/enums.d.mts +4 -0
- package/dist/enums.mjs +12 -0
- package/dist/index-03IpZ7BA.d.mts +83 -0
- package/dist/index-Bis4UfFa.d.mts +59 -0
- package/dist/index-BkkNNoK0.d.mts +97 -0
- package/dist/index.css +187 -0
- package/dist/index.d.mts +564 -0
- package/dist/index.mjs +4967 -0
- package/dist/output.css +2097 -0
- package/dist/utils.d.mts +6 -0
- package/dist/utils.mjs +10 -0
- package/package.json +94 -0
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { ChevronDown } from "lucide-react";
|
|
2
|
+
import { cn } from "@repo/ui/utils";
|
|
3
|
+
import { createElement, useEffect, useRef, useState } from "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { AnimatePresence, motion } from "motion/react";
|
|
6
|
+
import { Typography } from "@repo/ui";
|
|
7
|
+
|
|
8
|
+
//#region src/components/molecules/Menu/index.tsx
|
|
9
|
+
const MENU_CLASSNAMES = [
|
|
10
|
+
"p-0",
|
|
11
|
+
"bg-white",
|
|
12
|
+
"shadow-md",
|
|
13
|
+
"rounded-md"
|
|
14
|
+
];
|
|
15
|
+
const OPEN_CLASSNAMES = ["underline", "underline-offset-8"];
|
|
16
|
+
const HOVER_CLASSNAMES = ["hover:underline", "hover:underline-offset-8"];
|
|
17
|
+
const OFFSET = [8, 8];
|
|
18
|
+
const INLINE_OFFSET = 16;
|
|
19
|
+
function findKey(menu, targetKeys) {
|
|
20
|
+
if (targetKeys.includes(menu.key)) return true;
|
|
21
|
+
if (menu.children && Array.isArray(menu.children)) {
|
|
22
|
+
for (const child of menu.children) if (findKey(child, targetKeys)) return true;
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
const Label = ({ children, level = 4, className, ...props }) => {
|
|
27
|
+
if (typeof children === "string") return /* @__PURE__ */ jsx(Typography.Text, {
|
|
28
|
+
level,
|
|
29
|
+
className: cn(className),
|
|
30
|
+
...props,
|
|
31
|
+
children
|
|
32
|
+
});
|
|
33
|
+
return children;
|
|
34
|
+
};
|
|
35
|
+
const Item = ({ itemKey = "", keyPath = [], root = false, mode, label, children, selectedKeys = [], fullSize, classNames, styles, offset = OFFSET, inlineOffset = INLINE_OFFSET, onClick, ...props }) => {
|
|
36
|
+
const [open, setOpen] = useState(false);
|
|
37
|
+
const [position, setPosition] = useState({
|
|
38
|
+
top: 0,
|
|
39
|
+
left: 0
|
|
40
|
+
});
|
|
41
|
+
const itemRef = useRef(null);
|
|
42
|
+
const isHorizontal = mode === "horizontal";
|
|
43
|
+
const isInline = mode === "inline";
|
|
44
|
+
const [left, top] = offset;
|
|
45
|
+
const item = {
|
|
46
|
+
...props,
|
|
47
|
+
label,
|
|
48
|
+
key: itemKey,
|
|
49
|
+
children
|
|
50
|
+
};
|
|
51
|
+
const itemClassNames = cn("px-4 py-2", "cursor-pointer", "whitespace-nowrap", root && isHorizontal ? "inline-flex" : "flex", ...root ? [
|
|
52
|
+
"h-full",
|
|
53
|
+
"rounded-none border-transparent",
|
|
54
|
+
!!children?.length && "hover:border-current",
|
|
55
|
+
isHorizontal ? "border-b-2" : "border-r-2",
|
|
56
|
+
isInline && "border-none",
|
|
57
|
+
classNames?.rootItem
|
|
58
|
+
] : [
|
|
59
|
+
"rounded-md",
|
|
60
|
+
...HOVER_CLASSNAMES,
|
|
61
|
+
classNames?.item
|
|
62
|
+
]);
|
|
63
|
+
const childrenContainerClassNames = cn(isInline ? "relative overflow-hidden" : "absolute min-w-[200px]", !isInline && root && isHorizontal ? "left-0 top-full pt-2 pl-0" : !isInline ? "left-full top-0 pl-2 pt-0" : "pl-4", ...fullSize ? [
|
|
64
|
+
...MENU_CLASSNAMES,
|
|
65
|
+
"fixed flex justify-center items-start",
|
|
66
|
+
isHorizontal ? "inset-x-0 w-screen" : "inset-y-0 h-screen"
|
|
67
|
+
] : []);
|
|
68
|
+
const childrenContainerStyle = fullSize ? isHorizontal ? {
|
|
69
|
+
top: position.top,
|
|
70
|
+
marginTop: top
|
|
71
|
+
} : {
|
|
72
|
+
left: position.left,
|
|
73
|
+
marginLeft: left
|
|
74
|
+
} : isInline ? { paddingLeft: inlineOffset } : root && isHorizontal ? { paddingTop: top } : { paddingLeft: left };
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
if (!itemRef.current) return;
|
|
77
|
+
const $item = itemRef.current;
|
|
78
|
+
const onResize = () => {
|
|
79
|
+
setPosition({
|
|
80
|
+
top: $item.offsetTop + $item.offsetHeight,
|
|
81
|
+
left: $item.offsetLeft + $item.offsetWidth
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
onResize();
|
|
85
|
+
window.addEventListener("resize", onResize);
|
|
86
|
+
return () => window.removeEventListener("resize", onResize);
|
|
87
|
+
}, []);
|
|
88
|
+
if (!root && fullSize) return /* @__PURE__ */ jsxs("li", {
|
|
89
|
+
className: cn("basis-1/6", "min-w-[180px]"),
|
|
90
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
91
|
+
className: cn(itemClassNames, "justify-center"),
|
|
92
|
+
onClick: (e) => {
|
|
93
|
+
e.stopPropagation();
|
|
94
|
+
onClick?.({
|
|
95
|
+
domEvent: e,
|
|
96
|
+
key: itemKey,
|
|
97
|
+
keyPath,
|
|
98
|
+
item
|
|
99
|
+
});
|
|
100
|
+
},
|
|
101
|
+
children: /* @__PURE__ */ jsx(Label, {
|
|
102
|
+
className: "font-semibold",
|
|
103
|
+
children: label
|
|
104
|
+
})
|
|
105
|
+
}), /* @__PURE__ */ jsx("ul", { children: children?.map((child) => /* @__PURE__ */ jsx("li", {
|
|
106
|
+
className: cn(itemClassNames, "justify-center", ...findKey(child, selectedKeys) ? [...OPEN_CLASSNAMES, ...HOVER_CLASSNAMES] : []),
|
|
107
|
+
onClick: (e) => {
|
|
108
|
+
e.stopPropagation();
|
|
109
|
+
onClick?.({
|
|
110
|
+
domEvent: e,
|
|
111
|
+
key: child.key,
|
|
112
|
+
keyPath: [...keyPath, child.key],
|
|
113
|
+
item: child
|
|
114
|
+
});
|
|
115
|
+
},
|
|
116
|
+
children: /* @__PURE__ */ jsx(Label, {
|
|
117
|
+
level: 5,
|
|
118
|
+
className: "text-center text-wrap",
|
|
119
|
+
children: child.label
|
|
120
|
+
})
|
|
121
|
+
}, child.key)) })]
|
|
122
|
+
});
|
|
123
|
+
return /* @__PURE__ */ jsxs("li", {
|
|
124
|
+
ref: itemRef,
|
|
125
|
+
className: cn("group", "relative", root && isHorizontal ? "inline-block" : "block"),
|
|
126
|
+
onMouseEnter: () => {
|
|
127
|
+
if (isInline) return;
|
|
128
|
+
setOpen(true);
|
|
129
|
+
},
|
|
130
|
+
onMouseLeave: () => {
|
|
131
|
+
if (isInline) return;
|
|
132
|
+
setOpen(false);
|
|
133
|
+
},
|
|
134
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
135
|
+
className: cn(itemClassNames, ...findKey(item, selectedKeys) ? root ? ["border-current"] : [...OPEN_CLASSNAMES, ...HOVER_CLASSNAMES] : root && !!children?.length ? ["group-hover:border-current"] : []),
|
|
136
|
+
style: root ? styles?.rootItem : styles?.item,
|
|
137
|
+
onClick: (e) => {
|
|
138
|
+
e.stopPropagation();
|
|
139
|
+
if (isInline) setOpen(!open);
|
|
140
|
+
onClick?.({
|
|
141
|
+
domEvent: e,
|
|
142
|
+
key: itemKey,
|
|
143
|
+
keyPath,
|
|
144
|
+
item
|
|
145
|
+
});
|
|
146
|
+
},
|
|
147
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
148
|
+
className: cn("w-full", "inline-flex items-center justify-between"),
|
|
149
|
+
children: [
|
|
150
|
+
/* @__PURE__ */ jsx(Label, {
|
|
151
|
+
className: cn(classNames?.label, root && classNames?.rootItem, ...findKey(item, selectedKeys) ? root ? [] : [...OPEN_CLASSNAMES, ...HOVER_CLASSNAMES] : []),
|
|
152
|
+
style: styles?.label,
|
|
153
|
+
children: label
|
|
154
|
+
}),
|
|
155
|
+
!root && !isInline && !!children?.length && /* @__PURE__ */ jsx(ChevronDown, { className: cn("-rotate-90") }),
|
|
156
|
+
isInline && !!children?.length && /* @__PURE__ */ jsx(ChevronDown, { className: cn("transition-all", open ? "-rotate-180" : "rotate-0") })
|
|
157
|
+
]
|
|
158
|
+
})
|
|
159
|
+
}), /* @__PURE__ */ jsx(AnimatePresence, { children: !!children?.length && open && /* @__PURE__ */ jsx(motion.div, {
|
|
160
|
+
className: cn(childrenContainerClassNames),
|
|
161
|
+
style: childrenContainerStyle,
|
|
162
|
+
initial: isInline ? {
|
|
163
|
+
height: 0,
|
|
164
|
+
opacity: 0
|
|
165
|
+
} : { opacity: 0 },
|
|
166
|
+
animate: isInline ? {
|
|
167
|
+
height: "auto",
|
|
168
|
+
opacity: 1
|
|
169
|
+
} : { opacity: 1 },
|
|
170
|
+
exit: isInline ? {
|
|
171
|
+
height: 0,
|
|
172
|
+
opacity: 0
|
|
173
|
+
} : { opacity: 0 },
|
|
174
|
+
transition: { duration: .2 },
|
|
175
|
+
children: /* @__PURE__ */ jsx("ul", {
|
|
176
|
+
className: cn(fullSize ? [
|
|
177
|
+
"h-auto",
|
|
178
|
+
"flex flex-nowrap gap-y-4",
|
|
179
|
+
"p-8"
|
|
180
|
+
] : MENU_CLASSNAMES, isInline && "shadow-none", classNames?.subMenu),
|
|
181
|
+
style: styles?.subMenu,
|
|
182
|
+
children: children.map((child) => /* @__PURE__ */ createElement(Item, {
|
|
183
|
+
...child,
|
|
184
|
+
key: child.key,
|
|
185
|
+
itemKey: child.key,
|
|
186
|
+
keyPath: [...keyPath, child.key],
|
|
187
|
+
mode,
|
|
188
|
+
selectedKeys,
|
|
189
|
+
fullSize,
|
|
190
|
+
classNames,
|
|
191
|
+
styles,
|
|
192
|
+
offset,
|
|
193
|
+
inlineOffset,
|
|
194
|
+
onClick
|
|
195
|
+
}))
|
|
196
|
+
})
|
|
197
|
+
}) })]
|
|
198
|
+
});
|
|
199
|
+
};
|
|
200
|
+
const Menu = ({ items, mode = "vertical", fullSize = false, defaultSelectedKeys: _defaultSelectedKeys = [], selectedKeys: _selectedKeys = [], className, classNames, styles, offset, inlineOffset, onClick = () => {}, ...props }) => {
|
|
201
|
+
const [selectedKeys, setSelectedKeys] = useState(_defaultSelectedKeys);
|
|
202
|
+
useEffect(() => {
|
|
203
|
+
if (!_defaultSelectedKeys.length) return;
|
|
204
|
+
setSelectedKeys(_defaultSelectedKeys);
|
|
205
|
+
return () => setSelectedKeys([]);
|
|
206
|
+
}, [_defaultSelectedKeys]);
|
|
207
|
+
useEffect(() => {
|
|
208
|
+
if (!_selectedKeys.length) return;
|
|
209
|
+
setSelectedKeys(_selectedKeys);
|
|
210
|
+
return () => setSelectedKeys([]);
|
|
211
|
+
}, [_selectedKeys]);
|
|
212
|
+
return /* @__PURE__ */ jsx("ul", {
|
|
213
|
+
className: cn(MENU_CLASSNAMES, mode === "horizontal" ? "flex" : "inline-block", className),
|
|
214
|
+
...props,
|
|
215
|
+
children: items?.map((item) => /* @__PURE__ */ createElement(Item, {
|
|
216
|
+
root: true,
|
|
217
|
+
...item,
|
|
218
|
+
key: item.key,
|
|
219
|
+
itemKey: item.key,
|
|
220
|
+
keyPath: [item.key],
|
|
221
|
+
selectedKeys,
|
|
222
|
+
mode,
|
|
223
|
+
fullSize,
|
|
224
|
+
classNames,
|
|
225
|
+
styles,
|
|
226
|
+
offset,
|
|
227
|
+
inlineOffset,
|
|
228
|
+
onClick
|
|
229
|
+
}))
|
|
230
|
+
});
|
|
231
|
+
};
|
|
232
|
+
var Menu_default = Menu;
|
|
233
|
+
|
|
234
|
+
//#endregion
|
|
235
|
+
export { findKey as n, Menu_default as t };
|
package/dist/Menu.d.mts
ADDED
package/dist/Menu.mjs
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { cn } from "@repo/ui/utils";
|
|
2
|
+
import { Children } from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { motion } from "motion/react";
|
|
5
|
+
|
|
6
|
+
//#region src/components/molecules/Reveals/Item/index.tsx
|
|
7
|
+
const effectVariants = {
|
|
8
|
+
fadeIn: {
|
|
9
|
+
offscreen: { opacity: 0 },
|
|
10
|
+
onscreen: { opacity: 1 }
|
|
11
|
+
},
|
|
12
|
+
fadeInUp: {
|
|
13
|
+
offscreen: {
|
|
14
|
+
opacity: 0,
|
|
15
|
+
y: 50
|
|
16
|
+
},
|
|
17
|
+
onscreen: {
|
|
18
|
+
opacity: 1,
|
|
19
|
+
y: 0
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
slideInUp: {
|
|
23
|
+
offscreen: {
|
|
24
|
+
opacity: 1,
|
|
25
|
+
y: 50
|
|
26
|
+
},
|
|
27
|
+
onscreen: {
|
|
28
|
+
opacity: 1,
|
|
29
|
+
y: 0
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const Item = ({ effect = "fadeInUp", children, once, viewport, variants, duration, delay, transition, className, ...props }) => {
|
|
34
|
+
return /* @__PURE__ */ jsx(motion.div, {
|
|
35
|
+
initial: "offscreen",
|
|
36
|
+
whileInView: "onscreen",
|
|
37
|
+
viewport: {
|
|
38
|
+
once,
|
|
39
|
+
...viewport
|
|
40
|
+
},
|
|
41
|
+
variants: {
|
|
42
|
+
offscreen: {
|
|
43
|
+
...effectVariants[effect].offscreen,
|
|
44
|
+
...variants?.offscreen,
|
|
45
|
+
transition: { duration: 0 }
|
|
46
|
+
},
|
|
47
|
+
onscreen: {
|
|
48
|
+
...effectVariants[effect].onscreen,
|
|
49
|
+
...variants?.onscreen,
|
|
50
|
+
transition: {
|
|
51
|
+
duration,
|
|
52
|
+
ease: "easeOut",
|
|
53
|
+
delay,
|
|
54
|
+
...transition
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
className: cn("flex h-full items-center justify-center", className),
|
|
59
|
+
...props,
|
|
60
|
+
children
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
var Item_default = Item;
|
|
64
|
+
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/components/molecules/Reveals/index.tsx
|
|
67
|
+
const DURATION = .6;
|
|
68
|
+
const DELAY = 0;
|
|
69
|
+
const CASCADE = .1;
|
|
70
|
+
const Reveals = ({ children, className, classNames, items = [], cascade = CASCADE, duration = DURATION, delay = DELAY, ...props }) => {
|
|
71
|
+
const renderItems = (items$1) => items$1.map((item, index) => /* @__PURE__ */ jsx(Item_default, {
|
|
72
|
+
duration,
|
|
73
|
+
delay: delay + cascade * index,
|
|
74
|
+
className: cn(item.className, classNames?.item),
|
|
75
|
+
...props,
|
|
76
|
+
...item,
|
|
77
|
+
children: item.children
|
|
78
|
+
}, index));
|
|
79
|
+
return /* @__PURE__ */ jsx("div", {
|
|
80
|
+
className: cn("flex gap-5", className, classNames?.root),
|
|
81
|
+
...props,
|
|
82
|
+
children: renderItems(children ? Children.toArray(children).map((child) => ({ children: child })) : items)
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
Reveals.Item = Item_default;
|
|
86
|
+
var Reveals_default = Reveals;
|
|
87
|
+
|
|
88
|
+
//#endregion
|
|
89
|
+
export { Item_default as a, Reveals_default as i, DELAY as n, DURATION as r, CASCADE as t };
|
package/dist/Reveals.mjs
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { cn } from "@repo/ui/utils";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { TEXT_LEVELS } from "@repo/ui/enums";
|
|
4
|
+
|
|
5
|
+
//#region src/components/atoms/Typography/Link/index.tsx
|
|
6
|
+
const Link = ({ children, className, level, ...props }) => {
|
|
7
|
+
return /* @__PURE__ */ jsx("a", {
|
|
8
|
+
className: cn("underline-offset-1 hover:underline", level ? TEXT_LEVELS[level] : "", className),
|
|
9
|
+
...props,
|
|
10
|
+
children
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var Link_default = Link;
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/components/atoms/Typography/Paragraph/index.tsx
|
|
17
|
+
const Paragraph = ({ children, className, level, ...props }) => {
|
|
18
|
+
return /* @__PURE__ */ jsx("p", {
|
|
19
|
+
...props,
|
|
20
|
+
className: cn(level ? TEXT_LEVELS[level] : "", className),
|
|
21
|
+
children
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
var Paragraph_default = Paragraph;
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/components/atoms/Typography/Text/index.tsx
|
|
28
|
+
const Text = ({ children, underline, strong, className, level, ...props }) => {
|
|
29
|
+
return /* @__PURE__ */ jsx("span", {
|
|
30
|
+
className: cn("text-nowrap", level ? TEXT_LEVELS[level] : "", underline && "underline", strong && "font-bold", className),
|
|
31
|
+
...props,
|
|
32
|
+
children
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
var Text_default = Text;
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region src/components/atoms/Typography/Title/index.tsx
|
|
39
|
+
const styles = {
|
|
40
|
+
h1: "text-6xl",
|
|
41
|
+
h2: "text-5xl",
|
|
42
|
+
h3: "text-4xl",
|
|
43
|
+
h4: "text-3xl",
|
|
44
|
+
h5: "text-2xl",
|
|
45
|
+
h6: "text-xl"
|
|
46
|
+
};
|
|
47
|
+
const Title = ({ children, level = 1, className, ...props }) => {
|
|
48
|
+
const Element = level < 1 || level > 6 ? "h1" : `h${level}`;
|
|
49
|
+
return /* @__PURE__ */ jsx(Element, {
|
|
50
|
+
className: cn("leading-snug font-bold", styles[Element], className),
|
|
51
|
+
...props,
|
|
52
|
+
children
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
var Title_default = Title;
|
|
56
|
+
|
|
57
|
+
//#endregion
|
|
58
|
+
//#region src/components/atoms/Typography/index.tsx
|
|
59
|
+
const Typography = ({ children, ...props }) => {
|
|
60
|
+
return /* @__PURE__ */ jsx("article", {
|
|
61
|
+
...props,
|
|
62
|
+
children
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
Typography.Link = Link_default;
|
|
66
|
+
Typography.Paragraph = Paragraph_default;
|
|
67
|
+
Typography.Text = Text_default;
|
|
68
|
+
Typography.Title = Title_default;
|
|
69
|
+
var Typography_default = Typography;
|
|
70
|
+
|
|
71
|
+
//#endregion
|
|
72
|
+
export { Link_default as a, Paragraph_default as i, Title_default as n, Text_default as r, Typography_default as t };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { a as Link_default, i as Paragraph_default, n as Title_default, r as Text_default, t as Typography_default } from "./Typography-waEo2g0S.mjs";
|
|
2
|
+
|
|
3
|
+
export { Link_default as Link, Paragraph_default as Paragraph, Text_default as Text, Title_default as Title, Typography_default as default };
|
package/dist/enums.d.mts
ADDED
package/dist/enums.mjs
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as react_jsx_runtime8 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/components/atoms/Typography/Link/index.d.ts
|
|
4
|
+
interface Props$3 extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
5
|
+
level?: TypographyProps['level'];
|
|
6
|
+
}
|
|
7
|
+
declare const Link: ({
|
|
8
|
+
children,
|
|
9
|
+
className,
|
|
10
|
+
level,
|
|
11
|
+
...props
|
|
12
|
+
}: Props$3) => react_jsx_runtime8.JSX.Element;
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/components/atoms/Typography/Paragraph/index.d.ts
|
|
15
|
+
interface Props$2 extends TypographyProps {}
|
|
16
|
+
declare const Paragraph: ({
|
|
17
|
+
children,
|
|
18
|
+
className,
|
|
19
|
+
level,
|
|
20
|
+
...props
|
|
21
|
+
}: Props$2) => react_jsx_runtime8.JSX.Element;
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region src/components/atoms/Typography/Text/index.d.ts
|
|
24
|
+
interface Props$1 extends TypographyProps {
|
|
25
|
+
underline?: boolean;
|
|
26
|
+
strong?: boolean;
|
|
27
|
+
}
|
|
28
|
+
declare const Text: ({
|
|
29
|
+
children,
|
|
30
|
+
underline,
|
|
31
|
+
strong,
|
|
32
|
+
className,
|
|
33
|
+
level,
|
|
34
|
+
...props
|
|
35
|
+
}: Props$1) => react_jsx_runtime8.JSX.Element;
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/components/atoms/Typography/Title/index.d.ts
|
|
38
|
+
interface Props extends TypographyProps {}
|
|
39
|
+
declare const Title: ({
|
|
40
|
+
children,
|
|
41
|
+
level,
|
|
42
|
+
className,
|
|
43
|
+
...props
|
|
44
|
+
}: Props) => react_jsx_runtime8.JSX.Element;
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/components/atoms/Typography/index.d.ts
|
|
47
|
+
interface TypographyProps extends React.HTMLAttributes<HTMLElement> {
|
|
48
|
+
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
49
|
+
}
|
|
50
|
+
declare const Typography: {
|
|
51
|
+
({
|
|
52
|
+
children,
|
|
53
|
+
...props
|
|
54
|
+
}: TypographyProps): react_jsx_runtime8.JSX.Element;
|
|
55
|
+
Link: ({
|
|
56
|
+
children,
|
|
57
|
+
className,
|
|
58
|
+
level,
|
|
59
|
+
...props
|
|
60
|
+
}: Props$3) => react_jsx_runtime8.JSX.Element;
|
|
61
|
+
Paragraph: ({
|
|
62
|
+
children,
|
|
63
|
+
className,
|
|
64
|
+
level,
|
|
65
|
+
...props
|
|
66
|
+
}: Props$2) => react_jsx_runtime8.JSX.Element;
|
|
67
|
+
Text: ({
|
|
68
|
+
children,
|
|
69
|
+
underline,
|
|
70
|
+
strong,
|
|
71
|
+
className,
|
|
72
|
+
level,
|
|
73
|
+
...props
|
|
74
|
+
}: Props$1) => react_jsx_runtime8.JSX.Element;
|
|
75
|
+
Title: ({
|
|
76
|
+
children,
|
|
77
|
+
level,
|
|
78
|
+
className,
|
|
79
|
+
...props
|
|
80
|
+
}: Props) => react_jsx_runtime8.JSX.Element;
|
|
81
|
+
};
|
|
82
|
+
//#endregion
|
|
83
|
+
export { Paragraph as a, Text as i, TypographyProps as n, Link as o, Title as r, Typography as t };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as react_jsx_runtime6 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/components/molecules/Menu/index.d.ts
|
|
4
|
+
interface MenuItem {
|
|
5
|
+
label: React.ReactNode;
|
|
6
|
+
key: React.Key;
|
|
7
|
+
type?: string;
|
|
8
|
+
itemKey?: React.Key;
|
|
9
|
+
keyPath?: React.Key[];
|
|
10
|
+
path?: string;
|
|
11
|
+
children?: MenuItem[];
|
|
12
|
+
}
|
|
13
|
+
interface Props {
|
|
14
|
+
fullSize?: boolean;
|
|
15
|
+
mode?: 'horizontal' | 'vertical' | 'inline';
|
|
16
|
+
selectedKeys?: React.Key[];
|
|
17
|
+
defaultSelectedKeys?: React.Key[];
|
|
18
|
+
offset?: [number, number];
|
|
19
|
+
inlineOffset?: number;
|
|
20
|
+
classNames?: {
|
|
21
|
+
rootItem?: string;
|
|
22
|
+
subMenu?: string;
|
|
23
|
+
item?: string;
|
|
24
|
+
label?: string;
|
|
25
|
+
};
|
|
26
|
+
styles?: {
|
|
27
|
+
rootItem?: React.CSSProperties;
|
|
28
|
+
subMenu?: React.CSSProperties;
|
|
29
|
+
item?: React.CSSProperties;
|
|
30
|
+
label?: React.CSSProperties;
|
|
31
|
+
};
|
|
32
|
+
onClick?: ClickEventHandler;
|
|
33
|
+
}
|
|
34
|
+
interface MenuProps extends Props, Omit<React.HTMLAttributes<HTMLElement>, 'onClick'> {
|
|
35
|
+
items?: MenuItem[];
|
|
36
|
+
}
|
|
37
|
+
type ClickEventHandler = (params: {
|
|
38
|
+
domEvent: React.MouseEvent;
|
|
39
|
+
key: React.Key;
|
|
40
|
+
keyPath: React.Key[];
|
|
41
|
+
item: MenuItem;
|
|
42
|
+
}) => void;
|
|
43
|
+
declare function findKey(menu: MenuItem, targetKeys: React.Key[]): boolean;
|
|
44
|
+
declare const Menu: ({
|
|
45
|
+
items,
|
|
46
|
+
mode,
|
|
47
|
+
fullSize,
|
|
48
|
+
defaultSelectedKeys: _defaultSelectedKeys,
|
|
49
|
+
selectedKeys: _selectedKeys,
|
|
50
|
+
className,
|
|
51
|
+
classNames,
|
|
52
|
+
styles,
|
|
53
|
+
offset,
|
|
54
|
+
inlineOffset,
|
|
55
|
+
onClick,
|
|
56
|
+
...props
|
|
57
|
+
}: MenuProps) => react_jsx_runtime6.JSX.Element;
|
|
58
|
+
//#endregion
|
|
59
|
+
export { findKey as a, MenuProps as i, Menu as n, MenuItem as r, ClickEventHandler as t };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import * as react_jsx_runtime11 from "react/jsx-runtime";
|
|
2
|
+
import { MotionProps } from "motion/react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/molecules/Reveals/Item/index.d.ts
|
|
5
|
+
declare const effectVariants: {
|
|
6
|
+
fadeIn: {
|
|
7
|
+
offscreen: {
|
|
8
|
+
opacity: number;
|
|
9
|
+
};
|
|
10
|
+
onscreen: {
|
|
11
|
+
opacity: number;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
fadeInUp: {
|
|
15
|
+
offscreen: {
|
|
16
|
+
opacity: number;
|
|
17
|
+
y: number;
|
|
18
|
+
};
|
|
19
|
+
onscreen: {
|
|
20
|
+
opacity: number;
|
|
21
|
+
y: number;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
slideInUp: {
|
|
25
|
+
offscreen: {
|
|
26
|
+
opacity: number;
|
|
27
|
+
y: number;
|
|
28
|
+
};
|
|
29
|
+
onscreen: {
|
|
30
|
+
opacity: number;
|
|
31
|
+
y: number;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
interface ItemProps {
|
|
36
|
+
effect?: keyof typeof effectVariants;
|
|
37
|
+
delay?: number;
|
|
38
|
+
once?: boolean;
|
|
39
|
+
duration?: number;
|
|
40
|
+
className?: string;
|
|
41
|
+
children?: React.ReactNode;
|
|
42
|
+
viewport?: MotionProps['viewport'];
|
|
43
|
+
variants?: MotionProps['variants'];
|
|
44
|
+
transition?: MotionProps['transition'];
|
|
45
|
+
}
|
|
46
|
+
declare const Item: ({
|
|
47
|
+
effect,
|
|
48
|
+
children,
|
|
49
|
+
once,
|
|
50
|
+
viewport,
|
|
51
|
+
variants,
|
|
52
|
+
duration,
|
|
53
|
+
delay,
|
|
54
|
+
transition,
|
|
55
|
+
className,
|
|
56
|
+
...props
|
|
57
|
+
}: ItemProps) => react_jsx_runtime11.JSX.Element;
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region src/components/molecules/Reveals/index.d.ts
|
|
60
|
+
interface Props extends React.HTMLAttributes<HTMLDivElement>, ItemProps {
|
|
61
|
+
cascade?: number;
|
|
62
|
+
classNames?: {
|
|
63
|
+
root?: string;
|
|
64
|
+
item?: string;
|
|
65
|
+
};
|
|
66
|
+
once?: boolean;
|
|
67
|
+
items?: ItemProps[];
|
|
68
|
+
}
|
|
69
|
+
declare const DURATION = 0.6;
|
|
70
|
+
declare const DELAY = 0;
|
|
71
|
+
declare const CASCADE = 0.1;
|
|
72
|
+
declare const Reveals: {
|
|
73
|
+
({
|
|
74
|
+
children,
|
|
75
|
+
className,
|
|
76
|
+
classNames,
|
|
77
|
+
items,
|
|
78
|
+
cascade,
|
|
79
|
+
duration,
|
|
80
|
+
delay,
|
|
81
|
+
...props
|
|
82
|
+
}: Props): react_jsx_runtime11.JSX.Element;
|
|
83
|
+
Item: ({
|
|
84
|
+
effect,
|
|
85
|
+
children,
|
|
86
|
+
once,
|
|
87
|
+
viewport,
|
|
88
|
+
variants,
|
|
89
|
+
duration,
|
|
90
|
+
delay,
|
|
91
|
+
transition,
|
|
92
|
+
className,
|
|
93
|
+
...props
|
|
94
|
+
}: ItemProps) => react_jsx_runtime11.JSX.Element;
|
|
95
|
+
};
|
|
96
|
+
//#endregion
|
|
97
|
+
export { Reveals as a, Props as i, DELAY as n, Item as o, DURATION as r, ItemProps as s, CASCADE as t };
|