@kusitms/ui 0.1.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.
@@ -0,0 +1,228 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as RadixAccordion from '@radix-ui/react-accordion';
3
+ import { ComponentPropsWithoutRef, ReactNode, HTMLAttributes, PropsWithChildren, ButtonHTMLAttributes, SVGProps, InputHTMLAttributes, AnchorHTMLAttributes } from 'react';
4
+
5
+ type RadixRootProps = ComponentPropsWithoutRef<typeof RadixAccordion.Root>;
6
+ type AccordionProps = Omit<RadixRootProps, "asChild"> & {
7
+ collapsible?: boolean;
8
+ };
9
+ declare function AccordionRoot({ className, children, ...props }: AccordionProps): react_jsx_runtime.JSX.Element;
10
+ type AccordionItemProps = {
11
+ value: string;
12
+ question: ReactNode;
13
+ answer: ReactNode;
14
+ className?: string;
15
+ };
16
+ declare function AccordionItem({ value, question, answer, className, }: AccordionItemProps): react_jsx_runtime.JSX.Element;
17
+ declare const Accordion: typeof AccordionRoot & {
18
+ Item: typeof AccordionItem;
19
+ };
20
+
21
+ type BlogProps = {
22
+ imageUrl: string;
23
+ title: string;
24
+ content: string;
25
+ labels: string[];
26
+ };
27
+ declare function Blog({ imageUrl, title, content, labels }: BlogProps): react_jsx_runtime.JSX.Element;
28
+
29
+ type BottomGradientProps = HTMLAttributes<HTMLDivElement> & {
30
+ height?: number;
31
+ };
32
+ declare function BottomGradient({ height, className, style, ...props }: BottomGradientProps): react_jsx_runtime.JSX.Element;
33
+
34
+ type ButtonProps = PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement> & {
35
+ className?: string;
36
+ showIcon?: boolean;
37
+ }>;
38
+ declare function Button({ children, className, disabled, showIcon, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
39
+
40
+ type NavigationButtonProps = PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement> & {
41
+ className?: string;
42
+ icon?: ReactNode;
43
+ showArrow?: boolean;
44
+ }>;
45
+ declare function NavigationButton({ children, className, icon, showArrow, ...props }: NavigationButtonProps): react_jsx_runtime.JSX.Element;
46
+
47
+ type PageNavButtonColor = "light" | "dark";
48
+ type PageNavButtonDirection = "prev" | "next";
49
+ type PageNavButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
50
+ color?: PageNavButtonColor;
51
+ direction?: PageNavButtonDirection;
52
+ className?: string;
53
+ };
54
+ declare function PageNavButton({ className, color, direction, ...props }: PageNavButtonProps): react_jsx_runtime.JSX.Element;
55
+
56
+ type ScrollTopButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
57
+ className?: string;
58
+ };
59
+ declare function ScrollTopButton({ className, ...props }: ScrollTopButtonProps): react_jsx_runtime.JSX.Element;
60
+
61
+ type RecruitmentCardType = "default" | "titled";
62
+ type RecruitmentCardProps = {
63
+ type: RecruitmentCardType;
64
+ graphic: React.ComponentType<SVGProps<SVGSVGElement>>;
65
+ title?: string;
66
+ description: string;
67
+ };
68
+ declare function RecruitmentCard({ type, graphic: Graphic, title, description, }: RecruitmentCardProps): react_jsx_runtime.JSX.Element;
69
+
70
+ type ReviewCardProps = {
71
+ name: string;
72
+ part: string;
73
+ body: string;
74
+ };
75
+ declare function ReviewCard({ name, part, body }: ReviewCardProps): react_jsx_runtime.JSX.Element;
76
+
77
+ type ShowcaseCardType = "WEB" | "APP";
78
+ type ShowcaseCardProps = {
79
+ name: string;
80
+ description: string;
81
+ th: number;
82
+ isMeetup?: boolean;
83
+ type: ShowcaseCardType;
84
+ imageUrl: string;
85
+ };
86
+ declare function ShowcaseCard({ name, description, th, isMeetup, type, imageUrl, }: ShowcaseCardProps): react_jsx_runtime.JSX.Element;
87
+
88
+ type DropdownOption = {
89
+ value: string;
90
+ label: string;
91
+ };
92
+ type DropdownProps = {
93
+ options: DropdownOption[];
94
+ value?: string;
95
+ defaultValue?: string;
96
+ onValueChange?: (value: string) => void;
97
+ placeholder?: string;
98
+ disabled?: boolean;
99
+ className?: string;
100
+ };
101
+ declare function Dropdown({ options, value, defaultValue, onValueChange, placeholder, disabled, className, }: DropdownProps): react_jsx_runtime.JSX.Element;
102
+
103
+ type EmailInputProps = Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "onChange" | "size" | "type"> & {
104
+ value: string;
105
+ onChange: (value: string) => void;
106
+ onSubmit?: (value: string) => void;
107
+ validate?: (value: string) => boolean;
108
+ buttonLabel?: string;
109
+ buttonProps?: Omit<ButtonHTMLAttributes<HTMLButtonElement>, "onClick" | "disabled" | "type">;
110
+ className?: string;
111
+ };
112
+ declare function EmailInput({ value, onChange, onSubmit, validate, buttonLabel, buttonProps, disabled, className, placeholder, ...inputProps }: EmailInputProps): react_jsx_runtime.JSX.Element;
113
+
114
+ type FooterProps = HTMLAttributes<HTMLElement> & {
115
+ logo?: ReactNode;
116
+ mobileLogo?: ReactNode;
117
+ links?: ReactNode;
118
+ contactIcons?: ReactNode;
119
+ copyright?: string;
120
+ scrollTopButton?: ReactNode;
121
+ bylawsHref?: string;
122
+ bylawsLabel?: string;
123
+ };
124
+ declare function Footer({ logo, mobileLogo, links, contactIcons, copyright, scrollTopButton, bylawsHref, bylawsLabel, className, ...props }: FooterProps): react_jsx_runtime.JSX.Element;
125
+
126
+ type HeaderProps = HTMLAttributes<HTMLElement> & {
127
+ logo?: ReactNode;
128
+ children?: ReactNode;
129
+ mobileLogo?: ReactNode;
130
+ menuIcon?: ReactNode;
131
+ closeIcon?: ReactNode;
132
+ isOpen?: boolean;
133
+ defaultOpen?: boolean;
134
+ onOpenChange?: (isOpen: boolean) => void;
135
+ menuId?: string;
136
+ };
137
+ declare function Header({ logo, children, mobileLogo, menuIcon, closeIcon, isOpen, defaultOpen, onOpenChange, menuId, className, ...props }: HeaderProps): react_jsx_runtime.JSX.Element;
138
+
139
+ type HeaderNavState = "default" | "hovered" | "pressed";
140
+ type HeaderNavigationBaseProps = {
141
+ state?: HeaderNavState;
142
+ };
143
+ type HeaderNavigationButtonProps = PropsWithChildren<Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type"> & HeaderNavigationBaseProps & {
144
+ href?: undefined;
145
+ }>;
146
+ type HeaderNavigationLinkProps = PropsWithChildren<AnchorHTMLAttributes<HTMLAnchorElement> & HeaderNavigationBaseProps & {
147
+ href: string;
148
+ }>;
149
+ type HeaderNavigationProps = HeaderNavigationButtonProps | HeaderNavigationLinkProps;
150
+ declare function HeaderNavigation({ children, className, state, ...props }: HeaderNavigationProps): react_jsx_runtime.JSX.Element;
151
+
152
+ type LabelType = "brand" | "secondary" | "default";
153
+ type LabelProps = PropsWithChildren<HTMLAttributes<HTMLSpanElement> & {
154
+ type?: LabelType;
155
+ description?: ReactNode;
156
+ className?: string;
157
+ }>;
158
+ declare function Label({ children, className, type, description, ...props }: LabelProps): react_jsx_runtime.JSX.Element;
159
+
160
+ type ListProps = {
161
+ title: string;
162
+ items: [string, string, string];
163
+ };
164
+ declare function List({ title, items }: ListProps): react_jsx_runtime.JSX.Element;
165
+
166
+ type ModalTeamRole = {
167
+ role: string;
168
+ members: string[];
169
+ };
170
+ type ModalLinkType = "behance" | "github" | "service";
171
+ type ModalLink = {
172
+ type: ModalLinkType;
173
+ label: string;
174
+ url: string;
175
+ };
176
+ type ModalProps = {
177
+ isOpen: boolean;
178
+ onClose: () => void;
179
+ onPrev?: () => void;
180
+ onNext?: () => void;
181
+ name: string;
182
+ th: number;
183
+ type: "WEB" | "APP";
184
+ imageUrl: string;
185
+ description: string;
186
+ teamRoles?: ModalTeamRole[];
187
+ links?: ModalLink[];
188
+ };
189
+ declare function Modal({ isOpen, onClose, onPrev, onNext, name, th, type, imageUrl, description, teamRoles, links, }: ModalProps): react_jsx_runtime.JSX.Element | null;
190
+
191
+ type FilterDevice = "desktop" | "mobile" | "responsive";
192
+ type FilterItemProps = ButtonHTMLAttributes<HTMLButtonElement> & {
193
+ children?: ReactNode;
194
+ active?: boolean;
195
+ device?: FilterDevice;
196
+ };
197
+ declare function FilterItem({ children, active, device, className, ...props }: FilterItemProps): react_jsx_runtime.JSX.Element;
198
+ type NavigationFilterProps = HTMLAttributes<HTMLDivElement> & {
199
+ children?: ReactNode;
200
+ device?: FilterDevice;
201
+ };
202
+ declare function NavigationFilter({ children, device, className, ...props }: NavigationFilterProps): react_jsx_runtime.JSX.Element;
203
+
204
+ type TabSize = "m" | "s" | "responsive";
205
+ type NavigationTabItemProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type"> & {
206
+ children?: ReactNode;
207
+ active?: boolean;
208
+ size?: TabSize;
209
+ };
210
+ declare function NavigationTabItem({ children, active, size, className, ...props }: NavigationTabItemProps): react_jsx_runtime.JSX.Element;
211
+ type NavigationTabProps = HTMLAttributes<HTMLDivElement> & {
212
+ children?: ReactNode;
213
+ size?: TabSize;
214
+ };
215
+ declare function NavigationTab({ children, size, className, ...props }: NavigationTabProps): react_jsx_runtime.JSX.Element;
216
+
217
+ type PaginationProps = HTMLAttributes<HTMLDivElement> & {
218
+ currentPage?: number;
219
+ totalPages?: number;
220
+ onPageChange?: (page: number) => void;
221
+ prevIcon?: ReactNode;
222
+ nextIcon?: ReactNode;
223
+ firstIcon?: ReactNode;
224
+ lastIcon?: ReactNode;
225
+ };
226
+ declare function Pagination({ currentPage, totalPages, onPageChange, prevIcon, nextIcon, firstIcon, lastIcon, className, ...props }: PaginationProps): react_jsx_runtime.JSX.Element;
227
+
228
+ export { Accordion, type AccordionItemProps, type AccordionProps, Blog, type BlogProps, BottomGradient, type BottomGradientProps, Button, type ButtonProps, Dropdown, type DropdownOption, type DropdownProps, EmailInput, type EmailInputProps, FilterItem, type FilterItemProps, Footer, type FooterProps, Header, HeaderNavigation, type HeaderNavigationProps, type HeaderProps, Label, type LabelProps, List, type ListProps, Modal, type ModalLink, type ModalLinkType, type ModalProps, type ModalTeamRole, NavigationButton, type NavigationButtonProps, NavigationFilter, type NavigationFilterProps, NavigationTab, NavigationTabItem, type NavigationTabItemProps, type NavigationTabProps, PageNavButton, type PageNavButtonProps, Pagination, type PaginationProps, RecruitmentCard, type RecruitmentCardProps, ReviewCard, type ReviewCardProps, ScrollTopButton, type ScrollTopButtonProps, ShowcaseCard, type ShowcaseCardProps };