@drdex0101/water-design-system 2.0.0 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/BottomNav/BottomNav.d.ts +66 -0
- package/dist/components/BottomNav/index.d.ts +1 -0
- package/dist/components/BottomSheet/BottomSheet.d.ts +47 -0
- package/dist/components/BottomSheet/index.d.ts +1 -0
- package/dist/components/Card/Card.d.ts +149 -0
- package/dist/components/Card/index.d.ts +1 -0
- package/dist/components/DatePicker/Calendar.d.ts +21 -0
- package/dist/components/DatePicker/DatePicker.d.ts +44 -0
- package/dist/components/DatePicker/index.d.ts +2 -0
- package/dist/components/DropdownMenu/DropdownMenu.d.ts +78 -0
- package/dist/components/DropdownMenu/index.d.ts +1 -0
- package/dist/components/Icon/Icon.d.ts +136 -0
- package/dist/components/Icon/index.d.ts +1 -0
- package/dist/components/Poker/PokerCard.d.ts +21 -22
- package/dist/components/Poker/index.d.ts +0 -3
- package/dist/components/Popup/Popup.d.ts +62 -0
- package/dist/components/Popup/index.d.ts +1 -0
- package/dist/components/SideMenu/SideMenu.d.ts +43 -0
- package/dist/components/SideMenu/index.d.ts +1 -0
- package/dist/components/Tabs/Tabs.d.ts +8 -6
- package/dist/index.d.ts +10 -1
- package/dist/logo.png +0 -0
- package/dist/pages/IconTokens.d.ts +2 -0
- package/dist/pages/Showcase.d.ts +1 -0
- package/dist/tokens/semantic.d.ts +66 -24
- package/dist/water-design-system.es.js +3869 -1639
- package/dist/water-design-system.umd.js +34 -14
- package/package.json +1 -1
- package/dist/components/Poker/PokerPlayer.d.ts +0 -38
- package/dist/components/Poker/PokerStatusIndicator.d.ts +0 -28
- package/dist/components/Poker/PokerTable.d.ts +0 -39
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface NavItem {
|
|
4
|
+
/** Unique identifier */
|
|
5
|
+
id: string;
|
|
6
|
+
/** Item label */
|
|
7
|
+
label: string;
|
|
8
|
+
/** Icon element */
|
|
9
|
+
icon: React.ReactNode;
|
|
10
|
+
/** Active icon element (optional, uses icon if not provided) */
|
|
11
|
+
activeIcon?: React.ReactNode;
|
|
12
|
+
/** Show notification badge */
|
|
13
|
+
showBadge?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface BottomNavProps {
|
|
16
|
+
/** Navigation items */
|
|
17
|
+
items: NavItem[];
|
|
18
|
+
/** Currently active item ID */
|
|
19
|
+
activeId?: string;
|
|
20
|
+
/** Callback when item is selected */
|
|
21
|
+
onChange?: (id: string) => void;
|
|
22
|
+
/** Custom style */
|
|
23
|
+
style?: React.CSSProperties;
|
|
24
|
+
}
|
|
25
|
+
export declare const BottomNav: ({ items, activeId, onChange, style, }: BottomNavProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export interface NavMenuItemProps {
|
|
27
|
+
/** Item label */
|
|
28
|
+
label: string;
|
|
29
|
+
/** Icon element */
|
|
30
|
+
icon: React.ReactNode;
|
|
31
|
+
/** Whether item is selected */
|
|
32
|
+
selected?: boolean;
|
|
33
|
+
/** Show notification badge */
|
|
34
|
+
showBadge?: boolean;
|
|
35
|
+
/** Click handler */
|
|
36
|
+
onClick?: () => void;
|
|
37
|
+
/** Custom style */
|
|
38
|
+
style?: React.CSSProperties;
|
|
39
|
+
}
|
|
40
|
+
export declare const NavMenuItem: ({ label, icon, selected, showBadge, onClick, style, }: NavMenuItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export interface ToolMenuProps {
|
|
42
|
+
/** Icon element */
|
|
43
|
+
icon: React.ReactNode;
|
|
44
|
+
/** Label */
|
|
45
|
+
label: string;
|
|
46
|
+
/** Click handler */
|
|
47
|
+
onClick?: () => void;
|
|
48
|
+
/** Custom style */
|
|
49
|
+
style?: React.CSSProperties;
|
|
50
|
+
}
|
|
51
|
+
export declare const ToolMenu: ({ icon, label, onClick, style, }: ToolMenuProps) => import("react/jsx-runtime").JSX.Element;
|
|
52
|
+
export declare const NavHomeIcon: ({ color }: {
|
|
53
|
+
color?: string;
|
|
54
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
export declare const NavAIIcon: ({ color }: {
|
|
56
|
+
color?: string;
|
|
57
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
58
|
+
export declare const NavEventIcon: ({ color }: {
|
|
59
|
+
color?: string;
|
|
60
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
export declare const NavHandRecordIcon: ({ color }: {
|
|
62
|
+
color?: string;
|
|
63
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
64
|
+
export declare const NavMoreIcon: ({ color }: {
|
|
65
|
+
color?: string;
|
|
66
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './BottomNav';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface BottomSheetProps {
|
|
4
|
+
/** Whether the sheet is open */
|
|
5
|
+
open: boolean;
|
|
6
|
+
/** Callback when sheet should close */
|
|
7
|
+
onClose?: () => void;
|
|
8
|
+
/** Sheet title */
|
|
9
|
+
title?: React.ReactNode;
|
|
10
|
+
/** Snap points as percentages (e.g., [0.5, 0.9] for 50% and 90% height) */
|
|
11
|
+
snapPoints?: number[];
|
|
12
|
+
/** Initial snap point percentage */
|
|
13
|
+
initialSnapPoint?: number;
|
|
14
|
+
/** Sheet content */
|
|
15
|
+
children?: React.ReactNode;
|
|
16
|
+
/** Custom style */
|
|
17
|
+
style?: React.CSSProperties;
|
|
18
|
+
}
|
|
19
|
+
export declare const BottomSheet: ({ open, onClose, title, snapPoints, initialSnapPoint, children, style, }: BottomSheetProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
20
|
+
export interface OverlayProps {
|
|
21
|
+
/** Whether the overlay is visible */
|
|
22
|
+
visible: boolean;
|
|
23
|
+
/** Callback when overlay is clicked */
|
|
24
|
+
onClick?: () => void;
|
|
25
|
+
/** Children */
|
|
26
|
+
children?: React.ReactNode;
|
|
27
|
+
/** Custom style */
|
|
28
|
+
style?: React.CSSProperties;
|
|
29
|
+
}
|
|
30
|
+
export declare const Overlay: ({ visible, onClick, children, style, }: OverlayProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
31
|
+
export interface SheetTitleProps {
|
|
32
|
+
/** Title type */
|
|
33
|
+
type?: 'main' | 'detail' | 'subtitle';
|
|
34
|
+
/** Title text */
|
|
35
|
+
children: React.ReactNode;
|
|
36
|
+
/** Show back button (for detail type) */
|
|
37
|
+
showBackButton?: boolean;
|
|
38
|
+
/** Back button click handler */
|
|
39
|
+
onBack?: () => void;
|
|
40
|
+
/** Right icon/tool */
|
|
41
|
+
rightIcon?: React.ReactNode;
|
|
42
|
+
/** Right text */
|
|
43
|
+
rightText?: string;
|
|
44
|
+
/** Custom style */
|
|
45
|
+
style?: React.CSSProperties;
|
|
46
|
+
}
|
|
47
|
+
export declare const SheetTitle: ({ type, children, showBackButton, onBack, rightIcon, rightText, style, }: SheetTitleProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './BottomSheet';
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
/** Card variant */
|
|
5
|
+
variant?: 'default' | 'outlined' | 'elevated';
|
|
6
|
+
/** Padding size */
|
|
7
|
+
padding?: 'none' | 'sm' | 'md' | 'lg';
|
|
8
|
+
/** Border radius */
|
|
9
|
+
rounded?: 'sm' | 'md' | 'lg' | 'xl';
|
|
10
|
+
/** Children */
|
|
11
|
+
children?: React.ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export declare const Card: ({ variant, padding, rounded, children, style, ...props }: CardProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export interface TournamentCardProps {
|
|
15
|
+
/** Card image URL */
|
|
16
|
+
imageUrl?: string;
|
|
17
|
+
/** Badge text */
|
|
18
|
+
badge?: string;
|
|
19
|
+
/** Tournament title */
|
|
20
|
+
title: string;
|
|
21
|
+
/** Location */
|
|
22
|
+
location?: string;
|
|
23
|
+
/** Date range */
|
|
24
|
+
dateRange?: string;
|
|
25
|
+
/** Click handler */
|
|
26
|
+
onClick?: () => void;
|
|
27
|
+
/** Custom style */
|
|
28
|
+
style?: React.CSSProperties;
|
|
29
|
+
}
|
|
30
|
+
export declare const TournamentCard: ({ imageUrl, badge, title, location, dateRange, onClick, style, }: TournamentCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export interface ListItemCardProps {
|
|
32
|
+
/** Left icon */
|
|
33
|
+
leftIcon?: React.ReactNode;
|
|
34
|
+
/** Title */
|
|
35
|
+
title: string;
|
|
36
|
+
/** Description */
|
|
37
|
+
description?: string;
|
|
38
|
+
/** Right element */
|
|
39
|
+
rightElement?: React.ReactNode;
|
|
40
|
+
/** Badge text */
|
|
41
|
+
badge?: string;
|
|
42
|
+
/** Badge variant */
|
|
43
|
+
badgeVariant?: 'default' | 'success' | 'warning' | 'error';
|
|
44
|
+
/** Credit info */
|
|
45
|
+
creditInfo?: string;
|
|
46
|
+
/** Amount info */
|
|
47
|
+
amount?: string;
|
|
48
|
+
/** Amount variant */
|
|
49
|
+
amountVariant?: 'default' | 'positive' | 'negative';
|
|
50
|
+
/** Additional info (e.g., Buy-in, Cash-out) */
|
|
51
|
+
additionalInfo?: {
|
|
52
|
+
label: string;
|
|
53
|
+
value: string;
|
|
54
|
+
}[];
|
|
55
|
+
/** Click handler */
|
|
56
|
+
onClick?: () => void;
|
|
57
|
+
/** Selected state */
|
|
58
|
+
selected?: boolean;
|
|
59
|
+
/** Custom style */
|
|
60
|
+
style?: React.CSSProperties;
|
|
61
|
+
}
|
|
62
|
+
export declare const ListItemCard: ({ leftIcon, title, description, rightElement, badge, badgeVariant, creditInfo, amount, amountVariant, additionalInfo, onClick, selected, style, }: ListItemCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
63
|
+
export interface EventCardProps {
|
|
64
|
+
/** Event ID */
|
|
65
|
+
id?: number;
|
|
66
|
+
/** Banner image URL */
|
|
67
|
+
banner_url?: string | null;
|
|
68
|
+
/** Event name */
|
|
69
|
+
event_name: string;
|
|
70
|
+
/** Event code */
|
|
71
|
+
event_code: string;
|
|
72
|
+
/** Start date */
|
|
73
|
+
date_from?: string;
|
|
74
|
+
/** End date */
|
|
75
|
+
date_to?: string;
|
|
76
|
+
/** Custom date text */
|
|
77
|
+
dateText?: string;
|
|
78
|
+
/** Click handler */
|
|
79
|
+
onClick?: () => void;
|
|
80
|
+
/** Custom style */
|
|
81
|
+
style?: React.CSSProperties;
|
|
82
|
+
/** Custom class name */
|
|
83
|
+
className?: string;
|
|
84
|
+
}
|
|
85
|
+
export declare const EventCard: ({ banner_url, event_name, event_code, date_from, date_to, dateText, onClick, style, className, }: EventCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
86
|
+
export interface HandRecordCardProps {
|
|
87
|
+
/** Poker cards */
|
|
88
|
+
cards?: Array<{
|
|
89
|
+
suit: 'heart' | 'spade' | 'diamond' | 'club';
|
|
90
|
+
value: string;
|
|
91
|
+
}>;
|
|
92
|
+
/** Title */
|
|
93
|
+
title: string;
|
|
94
|
+
/** Subtitle */
|
|
95
|
+
subtitle?: string;
|
|
96
|
+
/** Date */
|
|
97
|
+
date?: string;
|
|
98
|
+
/** Badge text */
|
|
99
|
+
badge?: string;
|
|
100
|
+
/** Badge color */
|
|
101
|
+
badgeColor?: 'blue' | 'green' | 'red';
|
|
102
|
+
/** Click handler */
|
|
103
|
+
onClick?: () => void;
|
|
104
|
+
/** Custom style */
|
|
105
|
+
style?: React.CSSProperties;
|
|
106
|
+
}
|
|
107
|
+
export declare const HandRecordCard: ({ cards, title, subtitle, date, badge, badgeColor, onClick, style, }: HandRecordCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
108
|
+
export declare const LocationIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
109
|
+
export declare const CalendarIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
110
|
+
export declare const FavoriteIcon: ({ filled }: {
|
|
111
|
+
filled?: boolean;
|
|
112
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
113
|
+
export interface SubEventCardProps {
|
|
114
|
+
/** Event date (YYYY-MM-DD format) */
|
|
115
|
+
eventDate: string;
|
|
116
|
+
/** Start time (HH:mm:ss format) */
|
|
117
|
+
startTime: string;
|
|
118
|
+
/** Late registration time (HH:mm:ss format) */
|
|
119
|
+
lateRegTime?: string;
|
|
120
|
+
/** Event name */
|
|
121
|
+
eventName: string;
|
|
122
|
+
/** Guaranteed prize pool */
|
|
123
|
+
guaranteedPrizePool?: number;
|
|
124
|
+
/** Buy-in amount in TWD */
|
|
125
|
+
buyInTwd?: number | null;
|
|
126
|
+
/** Blind level time in minutes */
|
|
127
|
+
blindLevelTime?: number;
|
|
128
|
+
/** Starting stack */
|
|
129
|
+
stack?: number;
|
|
130
|
+
/** Banner image URL */
|
|
131
|
+
bannerUrl?: string | null;
|
|
132
|
+
/** Festival name */
|
|
133
|
+
festivalName?: string;
|
|
134
|
+
/** Festival ID */
|
|
135
|
+
festivalId?: number;
|
|
136
|
+
/** Event sequence number */
|
|
137
|
+
eventSeq?: number;
|
|
138
|
+
/** Click handler */
|
|
139
|
+
onClick?: () => void;
|
|
140
|
+
/** Whether the event is favorited */
|
|
141
|
+
isFavorite?: boolean;
|
|
142
|
+
/** Alias for isFavorite */
|
|
143
|
+
initialIsFavorite?: boolean;
|
|
144
|
+
/** Callback when favorite is toggled */
|
|
145
|
+
onFavoriteToggle?: () => void;
|
|
146
|
+
/** Custom style */
|
|
147
|
+
style?: React.CSSProperties;
|
|
148
|
+
}
|
|
149
|
+
export declare const SubEventCard: ({ eventDate, startTime, lateRegTime, eventName, buyInTwd, blindLevelTime, stack, bannerUrl, festivalName, festivalId, eventSeq, onClick, isFavorite, initialIsFavorite, onFavoriteToggle, style, }: SubEventCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Card';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface CalendarProps {
|
|
4
|
+
/** The currently viewed date (determines the month/year shown) */
|
|
5
|
+
viewDate: Date;
|
|
6
|
+
/** Callback when the viewed month/year changes */
|
|
7
|
+
onViewDateChange: (date: Date) => void;
|
|
8
|
+
/** The currently selected day (1-31) */
|
|
9
|
+
selectedDay: number | null;
|
|
10
|
+
/** Callback when a day is clicked */
|
|
11
|
+
onDaySelect: (day: number) => void;
|
|
12
|
+
/** Set of days (1-31) in the current month that have events (to show indicators) */
|
|
13
|
+
datesWithEvents?: Set<number>;
|
|
14
|
+
/** Custom style for the container */
|
|
15
|
+
style?: React.CSSProperties;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A standalone Calendar component extracted from the MyEventListMobile view.
|
|
19
|
+
* Displays a monthly calendar grid with navigation and optional event indicators.
|
|
20
|
+
*/
|
|
21
|
+
export declare const Calendar: ({ viewDate, onViewDateChange, selectedDay, onDaySelect, datesWithEvents, style, }: CalendarProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface DatePickerProps {
|
|
4
|
+
/** Selected start date */
|
|
5
|
+
selectedStartDate?: Date;
|
|
6
|
+
/** Selected end date (for range mode) */
|
|
7
|
+
selectedEndDate?: Date;
|
|
8
|
+
/** Start time (for details mode) */
|
|
9
|
+
startTime?: string;
|
|
10
|
+
/** End time (for details mode) */
|
|
11
|
+
endTime?: string;
|
|
12
|
+
/** Callback when date range changes */
|
|
13
|
+
onDateRangeChange?: (startDate: Date | null, endDate: Date | null) => void;
|
|
14
|
+
/** Callback when single date is selected (for single mode) */
|
|
15
|
+
onSingleDateChange?: (date: Date | null) => void;
|
|
16
|
+
/** Callback when time changes (for details mode) */
|
|
17
|
+
onTimeChange?: (startTime: string, endTime: string) => void;
|
|
18
|
+
/** Callback when apply button is clicked */
|
|
19
|
+
onApply?: () => void;
|
|
20
|
+
/** Whether the picker is open */
|
|
21
|
+
isOpen?: boolean;
|
|
22
|
+
/** Callback when picker should close */
|
|
23
|
+
onClose?: () => void;
|
|
24
|
+
/** Picker mode: 'normal' (range), 'single', or 'details' (range + time) */
|
|
25
|
+
mode?: 'normal' | 'single' | 'details';
|
|
26
|
+
/** Custom style */
|
|
27
|
+
style?: React.CSSProperties;
|
|
28
|
+
}
|
|
29
|
+
export declare const DatePicker: ({ selectedStartDate, selectedEndDate, startTime, endTime, onDateRangeChange, onSingleDateChange, onTimeChange, onApply, isOpen, onClose, mode, style, }: DatePickerProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
30
|
+
export interface DatePickerInputProps {
|
|
31
|
+
/** Selected date or date range text (overrides startDate/endDate display) */
|
|
32
|
+
value?: string;
|
|
33
|
+
/** Start date for range selection */
|
|
34
|
+
startDate?: Date;
|
|
35
|
+
/** End date for range selection */
|
|
36
|
+
endDate?: Date;
|
|
37
|
+
/** Placeholder text */
|
|
38
|
+
placeholder?: string;
|
|
39
|
+
/** Click handler */
|
|
40
|
+
onClick?: () => void;
|
|
41
|
+
/** Custom style */
|
|
42
|
+
style?: React.CSSProperties;
|
|
43
|
+
}
|
|
44
|
+
export declare const DatePickerInput: ({ value, startDate, endDate, placeholder, onClick, style, }: DatePickerInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface DropdownMenuItem {
|
|
4
|
+
/** Unique identifier */
|
|
5
|
+
id: string;
|
|
6
|
+
/** Item label */
|
|
7
|
+
label: string;
|
|
8
|
+
/** Left icon */
|
|
9
|
+
icon?: React.ReactNode;
|
|
10
|
+
/** Disabled state */
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
/** Danger/destructive item */
|
|
13
|
+
danger?: boolean;
|
|
14
|
+
/** Divider after this item */
|
|
15
|
+
dividerAfter?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface DropdownMenuProps {
|
|
18
|
+
/** Menu items */
|
|
19
|
+
items: DropdownMenuItem[];
|
|
20
|
+
/** Callback when item is selected */
|
|
21
|
+
onSelect?: (id: string) => void;
|
|
22
|
+
/** Currently selected item ID */
|
|
23
|
+
selectedId?: string;
|
|
24
|
+
/** Custom style */
|
|
25
|
+
style?: React.CSSProperties;
|
|
26
|
+
}
|
|
27
|
+
export declare const DropdownMenu: ({ items, onSelect, selectedId, style, }: DropdownMenuProps) => import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export interface DropdownTriggerProps {
|
|
29
|
+
/** Trigger content */
|
|
30
|
+
children: React.ReactNode;
|
|
31
|
+
/** Whether dropdown is open */
|
|
32
|
+
open?: boolean;
|
|
33
|
+
/** Toggle handler */
|
|
34
|
+
onClick?: () => void;
|
|
35
|
+
/** Custom style */
|
|
36
|
+
style?: React.CSSProperties;
|
|
37
|
+
}
|
|
38
|
+
export declare const DropdownTrigger: ({ children, open, onClick, style, }: DropdownTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export interface DropdownProps {
|
|
40
|
+
/** Trigger element */
|
|
41
|
+
trigger: React.ReactNode;
|
|
42
|
+
/** Menu items */
|
|
43
|
+
items: DropdownMenuItem[];
|
|
44
|
+
/** Callback when item is selected */
|
|
45
|
+
onSelect?: (id: string) => void;
|
|
46
|
+
/** Selected item ID */
|
|
47
|
+
selectedId?: string;
|
|
48
|
+
/** Controlled open state */
|
|
49
|
+
open?: boolean;
|
|
50
|
+
/** Controlled open change handler */
|
|
51
|
+
onOpenChange?: (open: boolean) => void;
|
|
52
|
+
/** Placement */
|
|
53
|
+
placement?: 'bottom-start' | 'bottom-end' | 'bottom';
|
|
54
|
+
/** Custom style */
|
|
55
|
+
style?: React.CSSProperties;
|
|
56
|
+
}
|
|
57
|
+
export declare const Dropdown: ({ trigger, items, onSelect, selectedId, open: controlledOpen, onOpenChange, placement, style, }: DropdownProps) => import("react/jsx-runtime").JSX.Element;
|
|
58
|
+
export declare const DropdownDefaultIcon: ({ color }: {
|
|
59
|
+
color?: string;
|
|
60
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
export interface SelectProps {
|
|
62
|
+
/** List of options to select from */
|
|
63
|
+
options: string[];
|
|
64
|
+
/** Currently selected value */
|
|
65
|
+
value: string;
|
|
66
|
+
/** Callback when value changes */
|
|
67
|
+
onChange: (value: string) => void;
|
|
68
|
+
/** Left icon (optional) */
|
|
69
|
+
icon?: React.ReactNode;
|
|
70
|
+
/** Placeholder text when no value selected */
|
|
71
|
+
placeholder?: string;
|
|
72
|
+
/** Disabled state */
|
|
73
|
+
disabled?: boolean;
|
|
74
|
+
/** Custom style */
|
|
75
|
+
style?: React.CSSProperties;
|
|
76
|
+
}
|
|
77
|
+
export declare const Select: ({ options, value, onChange, icon, placeholder, disabled, style, }: SelectProps) => import("react/jsx-runtime").JSX.Element;
|
|
78
|
+
export declare const SelectDefaultIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DropdownMenu';
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface IconProps {
|
|
4
|
+
/** Icon size (width and height) */
|
|
5
|
+
size?: number;
|
|
6
|
+
/** Icon color */
|
|
7
|
+
color?: string;
|
|
8
|
+
/** Custom className */
|
|
9
|
+
className?: string;
|
|
10
|
+
/** Custom style */
|
|
11
|
+
style?: React.CSSProperties;
|
|
12
|
+
}
|
|
13
|
+
/** 活動 (Activity/Event) */
|
|
14
|
+
export declare const ActivityIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
/** 訂閱交易 (Subscribe/Trade) */
|
|
16
|
+
export declare const SubscribeIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
/** AI 解決 (AI Solution) */
|
|
18
|
+
export declare const AISolutionIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
/** 玩人解析 (Player Analysis) */
|
|
20
|
+
export declare const PlayerAnalysisIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
/** 我的錦標 (My Tournament) */
|
|
22
|
+
export declare const TournamentIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
/** Daily Training */
|
|
24
|
+
export declare const DailyTrainingIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
/** 牌譜筆記 (Hand Record Notes) */
|
|
26
|
+
export declare const HandNotesIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
/** 對手下注 (Opponent Bet) */
|
|
28
|
+
export declare const BetIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
/** Drop 存取 */
|
|
30
|
+
export declare const DropIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
/** 錦標賽統 (Tournament Stats) */
|
|
32
|
+
export declare const StatsIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
/** 報名記錄 (Registration) */
|
|
34
|
+
export declare const RegistrationIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
/** 記錄牌譜 (Record Hands) */
|
|
36
|
+
export declare const RecordIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
/** Search */
|
|
38
|
+
export declare const SearchIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
/** Chevron Down */
|
|
40
|
+
export declare const ChevronDownIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
/** Chevron Up */
|
|
42
|
+
export declare const ChevronUpIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
/** Chevron Left */
|
|
44
|
+
export declare const ChevronLeftIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
/** Chevron Right */
|
|
46
|
+
export declare const ChevronRightIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
/** Arrow Up */
|
|
48
|
+
export declare const ArrowUpIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
49
|
+
/** Arrow Down */
|
|
50
|
+
export declare const ArrowDownIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
51
|
+
/** Arrow Left */
|
|
52
|
+
export declare const ArrowLeftIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
/** Arrow Right */
|
|
54
|
+
export declare const ArrowRightIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
/** Plus */
|
|
56
|
+
export declare const PlusIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
/** Minus */
|
|
58
|
+
export declare const MinusIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
59
|
+
/** Close / X */
|
|
60
|
+
export declare const CloseIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
/** Check */
|
|
62
|
+
export declare const CheckIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
63
|
+
/** Menu (Hamburger) */
|
|
64
|
+
export declare const MenuIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
65
|
+
/** More Vertical (Dots) */
|
|
66
|
+
export declare const MoreVerticalIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
67
|
+
/** More Horizontal (Dots) */
|
|
68
|
+
export declare const MoreHorizontalIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
69
|
+
/** User */
|
|
70
|
+
export declare const UserIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
71
|
+
/** Share */
|
|
72
|
+
export declare const ShareIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
73
|
+
/** Edit / Pencil */
|
|
74
|
+
export declare const EditIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
75
|
+
/** Delete / Trash */
|
|
76
|
+
export declare const DeleteIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
77
|
+
/** Copy */
|
|
78
|
+
export declare const CopyIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
79
|
+
/** Settings / Gear */
|
|
80
|
+
export declare const SettingsIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
81
|
+
/** Light Mode / Sun */
|
|
82
|
+
export declare const LightModeIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
83
|
+
/** Dark Mode / Moon */
|
|
84
|
+
export declare const DarkModeIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
85
|
+
/** Loading / Spinner */
|
|
86
|
+
export declare const LoadingIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
87
|
+
/** Spade */
|
|
88
|
+
export declare const SpadeIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
89
|
+
/** Heart */
|
|
90
|
+
export declare const HeartIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
91
|
+
/** Diamond */
|
|
92
|
+
export declare const DiamondIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
93
|
+
/** Club */
|
|
94
|
+
export declare const ClubIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
95
|
+
/** Chip / Token */
|
|
96
|
+
export declare const ChipIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
97
|
+
/** Eye / View */
|
|
98
|
+
export declare const EyeIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
99
|
+
/** Eye Off / Hide */
|
|
100
|
+
export declare const EyeOffIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
101
|
+
/** AI */
|
|
102
|
+
export declare const AIIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
103
|
+
/** Fingerprint */
|
|
104
|
+
export declare const FingerprintIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
105
|
+
/** Upload Image */
|
|
106
|
+
export declare const UploadImageIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
107
|
+
/** Upload File */
|
|
108
|
+
export declare const UploadFileIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
109
|
+
/** Shopping Cart */
|
|
110
|
+
export declare const CartIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
111
|
+
/** Discord - with brand color #5865F2 */
|
|
112
|
+
export declare const DiscordIcon: ({ size, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
113
|
+
/** Google - with brand colors */
|
|
114
|
+
export declare const GoogleIcon: ({ size, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
115
|
+
/** Instagram - with gradient colors */
|
|
116
|
+
export declare const InstagramIcon: ({ size, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
117
|
+
/** TWD (Taiwan Dollar) - Taiwan flag style */
|
|
118
|
+
export declare const TWDIcon: ({ size, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
119
|
+
/** USD (US Dollar) - US flag style */
|
|
120
|
+
export declare const USDIcon: ({ size, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
121
|
+
/** KRW (Korean Won) */
|
|
122
|
+
export declare const KRWIcon: ({ size, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
123
|
+
/** XRP */
|
|
124
|
+
export declare const XRPIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
125
|
+
/** Percent */
|
|
126
|
+
export declare const PercentIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
127
|
+
/** Firewall / Security */
|
|
128
|
+
export declare const FirewallIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
129
|
+
/** Home */
|
|
130
|
+
export declare const HomeIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
131
|
+
/** Event */
|
|
132
|
+
export declare const EventIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
133
|
+
/** Hand Record */
|
|
134
|
+
export declare const HandRecordIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
135
|
+
/** More */
|
|
136
|
+
export declare const MoreIcon: ({ size, color, style, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Icon';
|
|
@@ -1,28 +1,27 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
+
import { ThemeMode } from '../../tokens/semantic';
|
|
2
3
|
|
|
3
|
-
export type
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
/** Card value (for default state) */
|
|
11
|
-
value?: string;
|
|
12
|
-
/** Whether the card is selected */
|
|
13
|
-
selected?: boolean;
|
|
14
|
-
/** Click handler */
|
|
15
|
-
onClick?: () => void;
|
|
16
|
-
/** Custom style */
|
|
4
|
+
export type Suit = 'spades' | 'clubs' | 'hearts' | 'diamonds';
|
|
5
|
+
export interface PokerCard {
|
|
6
|
+
suit: Suit;
|
|
7
|
+
rank: string;
|
|
8
|
+
}
|
|
9
|
+
export interface RotatedCardsProps {
|
|
10
|
+
cards: (PokerCard | null)[];
|
|
17
11
|
style?: React.CSSProperties;
|
|
12
|
+
theme?: ThemeMode;
|
|
18
13
|
}
|
|
19
|
-
export declare const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
/** Custom style */
|
|
14
|
+
export declare const SuitIcon: ({ suit, theme }: {
|
|
15
|
+
suit: Suit;
|
|
16
|
+
theme?: ThemeMode;
|
|
17
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export interface PokerCardProps {
|
|
19
|
+
card: PokerCard | null;
|
|
26
20
|
style?: React.CSSProperties;
|
|
21
|
+
theme?: ThemeMode;
|
|
22
|
+
selected?: boolean;
|
|
27
23
|
}
|
|
28
|
-
export declare const
|
|
24
|
+
export declare const PokerCardComponent: ({ card, style, theme, selected }: PokerCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export declare const PokerCard: ({ card, style, theme, selected }: PokerCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export declare const SingleCard: ({ card, style, theme, selected }: PokerCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare const RotatedCards: ({ cards, style, theme }: RotatedCardsProps) => import("react/jsx-runtime").JSX.Element;
|