@true-tech-team/react-components 0.0.2 → 0.0.4
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/index.css +1 -1
- package/index.d.ts +4 -2
- package/index.js +1 -1
- package/index.mjs +5944 -3658
- package/lib/components/buttons/Button/Button.d.ts +15 -4
- package/lib/components/buttons/IconButton/IconButton.d.ts +1 -1
- package/lib/components/display/Accordion/Accordion.d.ts +112 -0
- package/lib/components/display/Accordion/AccordionContainer.d.ts +101 -0
- package/lib/components/display/Accordion/AccordionContext.d.ts +57 -0
- package/lib/components/display/Accordion/index.d.ts +6 -0
- package/lib/components/display/Avatar/Avatar.d.ts +1 -1
- package/lib/components/display/Card/Card.d.ts +101 -0
- package/lib/components/display/Card/index.d.ts +3 -0
- package/lib/components/display/Carousel/Carousel.d.ts +125 -0
- package/lib/components/display/Carousel/index.d.ts +3 -0
- package/lib/components/display/Collapse/Collapse.d.ts +57 -0
- package/lib/components/display/Collapse/index.d.ts +2 -0
- package/lib/components/display/CountUp/CountUp.d.ts +119 -0
- package/lib/components/display/CountUp/index.d.ts +3 -0
- package/lib/components/display/FlipCard/FlipCard.d.ts +125 -0
- package/lib/components/display/FlipCard/index.d.ts +3 -0
- package/lib/components/display/Icon/Icon.d.ts +1 -1
- package/lib/components/display/Icon/icons/Account.d.ts +3 -0
- package/lib/components/display/Icon/icons/Activity.d.ts +3 -0
- package/lib/components/display/Icon/icons/AlignCenter.d.ts +3 -0
- package/lib/components/display/Icon/icons/AlignJustify.d.ts +3 -0
- package/lib/components/display/Icon/icons/AlignLeft.d.ts +3 -0
- package/lib/components/display/Icon/icons/AlignRight.d.ts +3 -0
- package/lib/components/display/Icon/icons/ArrowDown.d.ts +3 -0
- package/lib/components/display/Icon/icons/ArrowDownLeft.d.ts +3 -0
- package/lib/components/display/Icon/icons/ArrowDownRight.d.ts +3 -0
- package/lib/components/display/Icon/icons/ArrowLeft.d.ts +3 -0
- package/lib/components/display/Icon/icons/ArrowRight.d.ts +3 -0
- package/lib/components/display/Icon/icons/ArrowUp.d.ts +3 -0
- package/lib/components/display/Icon/icons/ArrowUpLeft.d.ts +3 -0
- package/lib/components/display/Icon/icons/ArrowUpRight.d.ts +3 -0
- package/lib/components/display/Icon/icons/AtSign.d.ts +3 -0
- package/lib/components/display/Icon/icons/BarChart2.d.ts +3 -0
- package/lib/components/display/Icon/icons/Battery.d.ts +3 -0
- package/lib/components/display/Icon/icons/BatteryCharging.d.ts +3 -0
- package/lib/components/display/Icon/icons/Bell.d.ts +3 -0
- package/lib/components/display/Icon/icons/BellOff.d.ts +3 -0
- package/lib/components/display/Icon/icons/Bluetooth.d.ts +3 -0
- package/lib/components/display/Icon/icons/Bold.d.ts +3 -0
- package/lib/components/display/Icon/icons/Bookmark.d.ts +3 -0
- package/lib/components/display/Icon/icons/BookmarkPlus.d.ts +3 -0
- package/lib/components/display/Icon/icons/Building.d.ts +3 -0
- package/lib/components/display/Icon/icons/Calendar.d.ts +3 -0
- package/lib/components/display/Icon/icons/Camera.d.ts +3 -0
- package/lib/components/display/Icon/icons/ChartBar.d.ts +3 -0
- package/lib/components/display/Icon/icons/ChartLine.d.ts +3 -0
- package/lib/components/display/Icon/icons/Check.d.ts +3 -0
- package/lib/components/display/Icon/icons/ChevronDown.d.ts +3 -0
- package/lib/components/display/Icon/icons/ChevronLeft.d.ts +3 -0
- package/lib/components/display/Icon/icons/ChevronRight.d.ts +3 -0
- package/lib/components/display/Icon/icons/ChevronUp.d.ts +3 -0
- package/lib/components/display/Icon/icons/Clock.d.ts +3 -0
- package/lib/components/display/Icon/icons/Close.d.ts +3 -0
- package/lib/components/display/Icon/icons/Cloud.d.ts +3 -0
- package/lib/components/display/Icon/icons/CloudDownload.d.ts +3 -0
- package/lib/components/display/Icon/icons/CloudOff.d.ts +3 -0
- package/lib/components/display/Icon/icons/CloudUpload.d.ts +3 -0
- package/lib/components/display/Icon/icons/Code.d.ts +3 -0
- package/lib/components/display/Icon/icons/Compass.d.ts +3 -0
- package/lib/components/display/Icon/icons/Copy.d.ts +3 -0
- package/lib/components/display/Icon/icons/CornerDownLeft.d.ts +3 -0
- package/lib/components/display/Icon/icons/CornerDownRight.d.ts +3 -0
- package/lib/components/display/Icon/icons/CornerUpLeft.d.ts +3 -0
- package/lib/components/display/Icon/icons/CornerUpRight.d.ts +3 -0
- package/lib/components/display/Icon/icons/Cpu.d.ts +3 -0
- package/lib/components/display/Icon/icons/CreditCard.d.ts +3 -0
- package/lib/components/display/Icon/icons/Crosshair.d.ts +3 -0
- package/lib/components/display/Icon/icons/Database.d.ts +3 -0
- package/lib/components/display/Icon/icons/Delete.d.ts +3 -0
- package/lib/components/display/Icon/icons/Dollar.d.ts +3 -0
- package/lib/components/display/Icon/icons/Download.d.ts +3 -0
- package/lib/components/display/Icon/icons/Edit.d.ts +3 -0
- package/lib/components/display/Icon/icons/Error.d.ts +3 -0
- package/lib/components/display/Icon/icons/ExternalLink.d.ts +3 -0
- package/lib/components/display/Icon/icons/Eye.d.ts +3 -0
- package/lib/components/display/Icon/icons/EyeOff.d.ts +3 -0
- package/lib/components/display/Icon/icons/File.d.ts +3 -0
- package/lib/components/display/Icon/icons/FileCheck.d.ts +3 -0
- package/lib/components/display/Icon/icons/FileMinus.d.ts +3 -0
- package/lib/components/display/Icon/icons/FilePlus.d.ts +3 -0
- package/lib/components/display/Icon/icons/FileText.d.ts +3 -0
- package/lib/components/display/Icon/icons/Filter.d.ts +3 -0
- package/lib/components/display/Icon/icons/Folder.d.ts +3 -0
- package/lib/components/display/Icon/icons/FolderMinus.d.ts +3 -0
- package/lib/components/display/Icon/icons/FolderOpen.d.ts +3 -0
- package/lib/components/display/Icon/icons/FolderPlus.d.ts +3 -0
- package/lib/components/display/Icon/icons/Gift.d.ts +3 -0
- package/lib/components/display/Icon/icons/Globe.d.ts +3 -0
- package/lib/components/display/Icon/icons/Grid.d.ts +3 -0
- package/lib/components/display/Icon/icons/HardDrive.d.ts +3 -0
- package/lib/components/display/Icon/icons/Hash.d.ts +3 -0
- package/lib/components/display/Icon/icons/Heart.d.ts +3 -0
- package/lib/components/display/Icon/icons/Help.d.ts +3 -0
- package/lib/components/display/Icon/icons/Home.d.ts +3 -0
- package/lib/components/display/Icon/icons/Hourglass.d.ts +3 -0
- package/lib/components/display/Icon/icons/Image.d.ts +3 -0
- package/lib/components/display/Icon/icons/Inbox.d.ts +3 -0
- package/lib/components/display/Icon/icons/Info.d.ts +3 -0
- package/lib/components/display/Icon/icons/Italic.d.ts +3 -0
- package/lib/components/display/Icon/icons/Key.d.ts +3 -0
- package/lib/components/display/Icon/icons/Laptop.d.ts +3 -0
- package/lib/components/display/Icon/icons/Link.d.ts +3 -0
- package/lib/components/display/Icon/icons/Link2.d.ts +3 -0
- package/lib/components/display/Icon/icons/List.d.ts +3 -0
- package/lib/components/display/Icon/icons/ListOrdered.d.ts +3 -0
- package/lib/components/display/Icon/icons/ListUnordered.d.ts +3 -0
- package/lib/components/display/Icon/icons/Lock.d.ts +3 -0
- package/lib/components/display/Icon/icons/Logout.d.ts +3 -0
- package/lib/components/display/Icon/icons/Mail.d.ts +3 -0
- package/lib/components/display/Icon/icons/MailOpen.d.ts +3 -0
- package/lib/components/display/Icon/icons/Map.d.ts +3 -0
- package/lib/components/display/Icon/icons/MapPin.d.ts +3 -0
- package/lib/components/display/Icon/icons/Maximize.d.ts +3 -0
- package/lib/components/display/Icon/icons/Menu.d.ts +3 -0
- package/lib/components/display/Icon/icons/MessageCircle.d.ts +3 -0
- package/lib/components/display/Icon/icons/MessageSquare.d.ts +3 -0
- package/lib/components/display/Icon/icons/Messages.d.ts +3 -0
- package/lib/components/display/Icon/icons/Mic.d.ts +3 -0
- package/lib/components/display/Icon/icons/MicOff.d.ts +3 -0
- package/lib/components/display/Icon/icons/Minimize.d.ts +3 -0
- package/lib/components/display/Icon/icons/Minus.d.ts +3 -0
- package/lib/components/display/Icon/icons/Monitor.d.ts +3 -0
- package/lib/components/display/Icon/icons/Music.d.ts +3 -0
- package/lib/components/display/Icon/icons/Navigation.d.ts +3 -0
- package/lib/components/display/Icon/icons/Navigation2.d.ts +3 -0
- package/lib/components/display/Icon/icons/Outbox.d.ts +3 -0
- package/lib/components/display/Icon/icons/Paperclip.d.ts +3 -0
- package/lib/components/display/Icon/icons/Pause.d.ts +3 -0
- package/lib/components/display/Icon/icons/Percent.d.ts +3 -0
- package/lib/components/display/Icon/icons/PercentCircle.d.ts +3 -0
- package/lib/components/display/Icon/icons/Phone.d.ts +3 -0
- package/lib/components/display/Icon/icons/PhoneCall.d.ts +3 -0
- package/lib/components/display/Icon/icons/PhoneIncoming.d.ts +3 -0
- package/lib/components/display/Icon/icons/PhoneMissed.d.ts +3 -0
- package/lib/components/display/Icon/icons/PhoneOutgoing.d.ts +3 -0
- package/lib/components/display/Icon/icons/PieChart.d.ts +3 -0
- package/lib/components/display/Icon/icons/Play.d.ts +3 -0
- package/lib/components/display/Icon/icons/Plus.d.ts +3 -0
- package/lib/components/display/Icon/icons/Power.d.ts +3 -0
- package/lib/components/display/Icon/icons/Preferences.d.ts +3 -0
- package/lib/components/display/Icon/icons/Printer.d.ts +3 -0
- package/lib/components/display/Icon/icons/Profile.d.ts +3 -0
- package/lib/components/display/Icon/icons/Redo.d.ts +3 -0
- package/lib/components/display/Icon/icons/Refresh.d.ts +3 -0
- package/lib/components/display/Icon/icons/Repeat.d.ts +3 -0
- package/lib/components/display/Icon/icons/RotateCcw.d.ts +3 -0
- package/lib/components/display/Icon/icons/RotateCw.d.ts +3 -0
- package/lib/components/display/Icon/icons/Route.d.ts +3 -0
- package/lib/components/display/Icon/icons/Rss.d.ts +3 -0
- package/lib/components/display/Icon/icons/Save.d.ts +3 -0
- package/lib/components/display/Icon/icons/Search.d.ts +3 -0
- package/lib/components/display/Icon/icons/Send.d.ts +3 -0
- package/lib/components/display/Icon/icons/Server.d.ts +3 -0
- package/lib/components/display/Icon/icons/Settings.d.ts +3 -0
- package/lib/components/display/Icon/icons/Share.d.ts +3 -0
- package/lib/components/display/Icon/icons/Share2.d.ts +3 -0
- package/lib/components/display/Icon/icons/Shield.d.ts +3 -0
- package/lib/components/display/Icon/icons/ShieldAlert.d.ts +3 -0
- package/lib/components/display/Icon/icons/ShieldCheck.d.ts +3 -0
- package/lib/components/display/Icon/icons/ShieldOff.d.ts +3 -0
- package/lib/components/display/Icon/icons/ShoppingBag.d.ts +3 -0
- package/lib/components/display/Icon/icons/ShoppingCart.d.ts +3 -0
- package/lib/components/display/Icon/icons/Shuffle.d.ts +3 -0
- package/lib/components/display/Icon/icons/SkipBack.d.ts +3 -0
- package/lib/components/display/Icon/icons/SkipForward.d.ts +3 -0
- package/lib/components/display/Icon/icons/Smartphone.d.ts +3 -0
- package/lib/components/display/Icon/icons/Star.d.ts +3 -0
- package/lib/components/display/Icon/icons/Stop.d.ts +3 -0
- package/lib/components/display/Icon/icons/Stopwatch.d.ts +3 -0
- package/lib/components/display/Icon/icons/Sunrise.d.ts +3 -0
- package/lib/components/display/Icon/icons/Sunset.d.ts +3 -0
- package/lib/components/display/Icon/icons/Tablet.d.ts +3 -0
- package/lib/components/display/Icon/icons/Tag.d.ts +3 -0
- package/lib/components/display/Icon/icons/Target.d.ts +3 -0
- package/lib/components/display/Icon/icons/Terminal.d.ts +3 -0
- package/lib/components/display/Icon/icons/ThumbsUp.d.ts +3 -0
- package/lib/components/display/Icon/icons/TrendingDown.d.ts +3 -0
- package/lib/components/display/Icon/icons/TrendingUp.d.ts +3 -0
- package/lib/components/display/Icon/icons/Type.d.ts +3 -0
- package/lib/components/display/Icon/icons/Underline.d.ts +3 -0
- package/lib/components/display/Icon/icons/Undo.d.ts +3 -0
- package/lib/components/display/Icon/icons/Unlink.d.ts +3 -0
- package/lib/components/display/Icon/icons/Unlock.d.ts +3 -0
- package/lib/components/display/Icon/icons/Upload.d.ts +3 -0
- package/lib/components/display/Icon/icons/User.d.ts +3 -0
- package/lib/components/display/Icon/icons/UserCheck.d.ts +3 -0
- package/lib/components/display/Icon/icons/UserMinus.d.ts +3 -0
- package/lib/components/display/Icon/icons/UserPlus.d.ts +3 -0
- package/lib/components/display/Icon/icons/UserX.d.ts +3 -0
- package/lib/components/display/Icon/icons/Users.d.ts +3 -0
- package/lib/components/display/Icon/icons/Video.d.ts +3 -0
- package/lib/components/display/Icon/icons/Volume.d.ts +3 -0
- package/lib/components/display/Icon/icons/Volume1.d.ts +3 -0
- package/lib/components/display/Icon/icons/Volume2.d.ts +3 -0
- package/lib/components/display/Icon/icons/VolumeX.d.ts +3 -0
- package/lib/components/display/Icon/icons/Warning.d.ts +3 -0
- package/lib/components/display/Icon/icons/Watch.d.ts +3 -0
- package/lib/components/display/Icon/icons/Wifi.d.ts +3 -0
- package/lib/components/display/Icon/icons/WifiOff.d.ts +3 -0
- package/lib/components/display/Icon/icons/Zap.d.ts +3 -0
- package/lib/components/display/Icon/icons/index.d.ts +379 -0
- package/lib/components/display/Icon/index.d.ts +1 -0
- package/lib/components/display/PageMessages/PageMessageContent.d.ts +19 -0
- package/lib/components/display/PageMessages/PageMessages.d.ts +49 -0
- package/lib/components/display/PageMessages/defaultConfigs.d.ts +5 -0
- package/lib/components/display/PageMessages/index.d.ts +3 -0
- package/lib/components/display/PageMessages/types.d.ts +175 -0
- package/lib/components/display/ProgressBar/ProgressBar.d.ts +11 -0
- package/lib/components/display/Reveal/Reveal.d.ts +109 -0
- package/lib/components/display/Reveal/index.d.ts +3 -0
- package/lib/components/display/Spinner/Spinner.d.ts +79 -0
- package/lib/components/display/Spinner/index.d.ts +3 -0
- package/lib/components/display/StatusIndicator/StatusIndicator.d.ts +1 -1
- package/lib/components/index.d.ts +21 -0
- package/lib/components/inputs/Autocomplete/Autocomplete.d.ts +1 -1
- package/lib/components/inputs/Checkbox/Checkbox.d.ts +1 -1
- package/lib/components/inputs/DatePicker/DatePicker.d.ts +1 -1
- package/lib/components/inputs/Input/Input.d.ts +1 -1
- package/lib/components/inputs/Radio/Radio.d.ts +1 -1
- package/lib/components/inputs/Rating/Rating.d.ts +1 -1
- package/lib/components/inputs/Select/Select.d.ts +1 -1
- package/lib/components/inputs/Toggle/Toggle.d.ts +5 -0
- package/lib/components/overlays/Dropdown/Dropdown.d.ts +1 -1
- package/lib/components/overlays/LoadingOverlay/LoadingOverlay.d.ts +101 -0
- package/lib/components/overlays/LoadingOverlay/index.d.ts +3 -0
- package/lib/components/overlays/Menu/MenuItem.d.ts +1 -1
- package/lib/contexts/PageMessagesContext/PageMessagesContext.d.ts +91 -0
- package/lib/contexts/PageMessagesContext/index.d.ts +2 -0
- package/lib/contexts/index.d.ts +2 -0
- package/lib/providers/GlobalProvider/GlobalProvider.d.ts +6 -1
- package/package.json +1 -1
- package/lib/assets/icons/index.d.ts +0 -133
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { BaseComponentProps, ExtendedComponentSize } from '../../../types/component.types';
|
|
3
|
+
import { IconName } from '../Icon/icons';
|
|
4
|
+
import { SpinnerProps } from '../Spinner';
|
|
5
|
+
import { ButtonProps } from '../../buttons/Button';
|
|
6
|
+
/**
|
|
7
|
+
* Available page message state types
|
|
8
|
+
*/
|
|
9
|
+
export type PageMessageState = 'loading' | 'error' | 'forbidden' | 'not-found' | 'empty' | 'maintenance' | 'offline' | 'unauthorized' | 'timeout';
|
|
10
|
+
/**
|
|
11
|
+
* Action button configuration for page messages
|
|
12
|
+
*/
|
|
13
|
+
export interface PageMessageAction {
|
|
14
|
+
/** Button label */
|
|
15
|
+
label: string;
|
|
16
|
+
/** Click handler */
|
|
17
|
+
onClick: () => void;
|
|
18
|
+
/** Button variant */
|
|
19
|
+
variant?: ButtonProps['variant'];
|
|
20
|
+
/** Loading state for the button */
|
|
21
|
+
loading?: boolean;
|
|
22
|
+
/** Icon to display */
|
|
23
|
+
icon?: IconName | ReactNode;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Configuration for a single page message state
|
|
27
|
+
*/
|
|
28
|
+
export interface PageMessageStateConfig {
|
|
29
|
+
/** Title text displayed prominently */
|
|
30
|
+
title?: string;
|
|
31
|
+
/** Description or subtitle text */
|
|
32
|
+
description?: string;
|
|
33
|
+
/** Icon name from registry or custom ReactNode */
|
|
34
|
+
icon?: IconName | ReactNode;
|
|
35
|
+
/** Primary action button */
|
|
36
|
+
primaryAction?: PageMessageAction;
|
|
37
|
+
/** Secondary action button */
|
|
38
|
+
secondaryAction?: PageMessageAction;
|
|
39
|
+
/** Custom render function for complete control */
|
|
40
|
+
render?: () => ReactNode;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Props for loading state specifically
|
|
44
|
+
*/
|
|
45
|
+
export interface LoadingStateConfig extends Omit<PageMessageStateConfig, 'icon'> {
|
|
46
|
+
/** Spinner props passthrough */
|
|
47
|
+
spinnerProps?: Partial<SpinnerProps>;
|
|
48
|
+
/** Whether to show text alongside spinner */
|
|
49
|
+
showText?: boolean;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Props for the PageMessages component
|
|
53
|
+
*/
|
|
54
|
+
export interface PageMessagesProps extends BaseComponentProps {
|
|
55
|
+
/**
|
|
56
|
+
* Whether the page is in loading state
|
|
57
|
+
* Priority: 1 (highest)
|
|
58
|
+
*/
|
|
59
|
+
loading?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Whether the page has an error
|
|
62
|
+
* Priority: 2
|
|
63
|
+
*/
|
|
64
|
+
error?: boolean | Error | string;
|
|
65
|
+
/**
|
|
66
|
+
* Whether access is forbidden (403)
|
|
67
|
+
* Priority: 3
|
|
68
|
+
*/
|
|
69
|
+
forbidden?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Whether the resource is not found (404)
|
|
72
|
+
* Priority: 4
|
|
73
|
+
*/
|
|
74
|
+
notFound?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Whether the user is unauthorized (401)
|
|
77
|
+
* Priority: 5
|
|
78
|
+
*/
|
|
79
|
+
unauthorized?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Whether the page is in maintenance mode
|
|
82
|
+
* Priority: 6
|
|
83
|
+
*/
|
|
84
|
+
maintenance?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Whether the user is offline
|
|
87
|
+
* Priority: 7
|
|
88
|
+
*/
|
|
89
|
+
offline?: boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Whether there was a timeout
|
|
92
|
+
* Priority: 8
|
|
93
|
+
*/
|
|
94
|
+
timeout?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Whether the data is empty
|
|
97
|
+
* Priority: 9 (lowest)
|
|
98
|
+
*/
|
|
99
|
+
empty?: boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Custom loading state configuration
|
|
102
|
+
*/
|
|
103
|
+
loadingConfig?: LoadingStateConfig;
|
|
104
|
+
/**
|
|
105
|
+
* Custom error state configuration
|
|
106
|
+
*/
|
|
107
|
+
errorConfig?: PageMessageStateConfig;
|
|
108
|
+
/**
|
|
109
|
+
* Custom forbidden state configuration
|
|
110
|
+
*/
|
|
111
|
+
forbiddenConfig?: PageMessageStateConfig;
|
|
112
|
+
/**
|
|
113
|
+
* Custom not-found state configuration
|
|
114
|
+
*/
|
|
115
|
+
notFoundConfig?: PageMessageStateConfig;
|
|
116
|
+
/**
|
|
117
|
+
* Custom unauthorized state configuration
|
|
118
|
+
*/
|
|
119
|
+
unauthorizedConfig?: PageMessageStateConfig;
|
|
120
|
+
/**
|
|
121
|
+
* Custom maintenance state configuration
|
|
122
|
+
*/
|
|
123
|
+
maintenanceConfig?: PageMessageStateConfig;
|
|
124
|
+
/**
|
|
125
|
+
* Custom offline state configuration
|
|
126
|
+
*/
|
|
127
|
+
offlineConfig?: PageMessageStateConfig;
|
|
128
|
+
/**
|
|
129
|
+
* Custom timeout state configuration
|
|
130
|
+
*/
|
|
131
|
+
timeoutConfig?: PageMessageStateConfig;
|
|
132
|
+
/**
|
|
133
|
+
* Custom empty state configuration
|
|
134
|
+
*/
|
|
135
|
+
emptyConfig?: PageMessageStateConfig;
|
|
136
|
+
/**
|
|
137
|
+
* Size variant affecting icon and text sizes
|
|
138
|
+
* @default 'md'
|
|
139
|
+
*/
|
|
140
|
+
size?: ExtendedComponentSize;
|
|
141
|
+
/**
|
|
142
|
+
* Callback when retry action is triggered (for error/timeout states)
|
|
143
|
+
*/
|
|
144
|
+
onRetry?: () => void;
|
|
145
|
+
/**
|
|
146
|
+
* Callback when go back action is triggered
|
|
147
|
+
*/
|
|
148
|
+
onGoBack?: () => void;
|
|
149
|
+
/**
|
|
150
|
+
* Callback when go home action is triggered
|
|
151
|
+
*/
|
|
152
|
+
onGoHome?: () => void;
|
|
153
|
+
/**
|
|
154
|
+
* Callback when login action is triggered (for unauthorized/forbidden)
|
|
155
|
+
*/
|
|
156
|
+
onLogin?: () => void;
|
|
157
|
+
/**
|
|
158
|
+
* Whether to use fullscreen mode
|
|
159
|
+
* @default false
|
|
160
|
+
*/
|
|
161
|
+
fullScreen?: boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Whether to center the message vertically
|
|
164
|
+
* @default true
|
|
165
|
+
*/
|
|
166
|
+
centerVertically?: boolean;
|
|
167
|
+
/**
|
|
168
|
+
* Minimum height when not fullscreen
|
|
169
|
+
*/
|
|
170
|
+
minHeight?: string | number;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Determines which state to display based on priority
|
|
174
|
+
*/
|
|
175
|
+
export declare function getActiveState(props: PageMessagesProps): PageMessageState | null;
|
|
@@ -47,6 +47,17 @@ export interface ProgressBarProps extends Omit<BaseComponentProps, 'children'> {
|
|
|
47
47
|
* Custom format function for the value display
|
|
48
48
|
*/
|
|
49
49
|
formatValue?: (value: number, max: number) => string;
|
|
50
|
+
/**
|
|
51
|
+
* Indeterminate mode - shows infinite loading animation
|
|
52
|
+
* When true, value prop is ignored
|
|
53
|
+
* @default false
|
|
54
|
+
*/
|
|
55
|
+
indeterminate?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Buffer/secondary progress value (0-100)
|
|
58
|
+
* Shows a secondary progress track for buffering states
|
|
59
|
+
*/
|
|
60
|
+
bufferValue?: number;
|
|
50
61
|
}
|
|
51
62
|
/**
|
|
52
63
|
* ProgressBar - Linear progress indicator for showing task completion or loading states
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { BaseComponentProps } from '../../../types/component.types';
|
|
3
|
+
/**
|
|
4
|
+
* Animation types available for reveal
|
|
5
|
+
*/
|
|
6
|
+
export type RevealAnimation = 'fade' | 'slideUp' | 'slideDown' | 'slideLeft' | 'slideRight' | 'zoom' | 'zoomIn' | 'zoomOut';
|
|
7
|
+
/**
|
|
8
|
+
* Props for the Reveal component
|
|
9
|
+
*/
|
|
10
|
+
export interface RevealProps extends BaseComponentProps {
|
|
11
|
+
/**
|
|
12
|
+
* Animation type
|
|
13
|
+
* @default 'fade'
|
|
14
|
+
*/
|
|
15
|
+
animation?: RevealAnimation;
|
|
16
|
+
/**
|
|
17
|
+
* Animation duration in milliseconds
|
|
18
|
+
* @default 500
|
|
19
|
+
*/
|
|
20
|
+
duration?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Delay before animation starts (ms)
|
|
23
|
+
* @default 0
|
|
24
|
+
*/
|
|
25
|
+
delay?: number;
|
|
26
|
+
/**
|
|
27
|
+
* CSS easing function
|
|
28
|
+
* @default 'ease-out'
|
|
29
|
+
*/
|
|
30
|
+
easing?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Visibility threshold (0-1) for Intersection Observer
|
|
33
|
+
* @default 0.1
|
|
34
|
+
*/
|
|
35
|
+
threshold?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Whether to animate only once
|
|
38
|
+
* @default true
|
|
39
|
+
*/
|
|
40
|
+
triggerOnce?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Distance for slide animations
|
|
43
|
+
* @default '20px'
|
|
44
|
+
*/
|
|
45
|
+
distance?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Whether to stagger children animations
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
cascade?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Delay between staggered children (ms)
|
|
53
|
+
* @default 100
|
|
54
|
+
*/
|
|
55
|
+
cascadeDelay?: number;
|
|
56
|
+
/**
|
|
57
|
+
* Callback when element is revealed
|
|
58
|
+
*/
|
|
59
|
+
onReveal?: () => void;
|
|
60
|
+
/**
|
|
61
|
+
* Whether the component is initially visible (skips animation)
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
64
|
+
initiallyVisible?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Root margin for Intersection Observer
|
|
67
|
+
* @default '0px'
|
|
68
|
+
*/
|
|
69
|
+
rootMargin?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Play animation immediately on mount without requiring scroll
|
|
72
|
+
* Useful for hero sections or elements visible on initial page load
|
|
73
|
+
* @default false
|
|
74
|
+
*/
|
|
75
|
+
playOnMount?: boolean;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Reveal - Intersection Observer-based reveal animation component
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```tsx
|
|
82
|
+
* <Reveal animation="slideUp">
|
|
83
|
+
* <div>Content that animates in when scrolled into view</div>
|
|
84
|
+
* </Reveal>
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```tsx
|
|
89
|
+
* <Reveal animation="fade" cascade cascadeDelay={100}>
|
|
90
|
+
* <div>First item</div>
|
|
91
|
+
* <div>Second item</div>
|
|
92
|
+
* <div>Third item</div>
|
|
93
|
+
* </Reveal>
|
|
94
|
+
* ```
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```tsx
|
|
98
|
+
* <Reveal
|
|
99
|
+
* animation="zoom"
|
|
100
|
+
* duration={800}
|
|
101
|
+
* delay={200}
|
|
102
|
+
* onReveal={() => console.log('Revealed!')}
|
|
103
|
+
* >
|
|
104
|
+
* <Card>Animated card</Card>
|
|
105
|
+
* </Reveal>
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
export declare const Reveal: React.ForwardRefExoticComponent<RevealProps & React.RefAttributes<HTMLDivElement>>;
|
|
109
|
+
export default Reveal;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { BaseComponentProps, ExtendedComponentSize } from '../../../types/component.types';
|
|
3
|
+
/**
|
|
4
|
+
* Visual style of the spinner animation
|
|
5
|
+
*/
|
|
6
|
+
export type SpinnerStyle = 'circular' | 'dots' | 'bars' | 'pulse';
|
|
7
|
+
/**
|
|
8
|
+
* Color variant of the spinner
|
|
9
|
+
*/
|
|
10
|
+
export type SpinnerVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'neutral' | 'currentColor';
|
|
11
|
+
/**
|
|
12
|
+
* Animation speed of the spinner
|
|
13
|
+
*/
|
|
14
|
+
export type SpinnerSpeed = 'slow' | 'normal' | 'fast';
|
|
15
|
+
/**
|
|
16
|
+
* Props for the Spinner component
|
|
17
|
+
*/
|
|
18
|
+
export interface SpinnerProps extends Omit<BaseComponentProps, 'children'> {
|
|
19
|
+
/**
|
|
20
|
+
* Visual style of the spinner animation
|
|
21
|
+
* @default 'circular'
|
|
22
|
+
*/
|
|
23
|
+
spinnerStyle?: SpinnerStyle;
|
|
24
|
+
/**
|
|
25
|
+
* Size of the spinner
|
|
26
|
+
* @default 'md'
|
|
27
|
+
*/
|
|
28
|
+
size?: ExtendedComponentSize;
|
|
29
|
+
/**
|
|
30
|
+
* Color variant of the spinner
|
|
31
|
+
* @default 'primary'
|
|
32
|
+
*/
|
|
33
|
+
variant?: SpinnerVariant;
|
|
34
|
+
/**
|
|
35
|
+
* Animation speed
|
|
36
|
+
* @default 'normal'
|
|
37
|
+
*/
|
|
38
|
+
speed?: SpinnerSpeed;
|
|
39
|
+
/**
|
|
40
|
+
* Stroke width for circular spinner style
|
|
41
|
+
* @default 3
|
|
42
|
+
*/
|
|
43
|
+
strokeWidth?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Screen reader text
|
|
46
|
+
* @default 'Loading...'
|
|
47
|
+
*/
|
|
48
|
+
srText?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Whether to show the screen reader text visually
|
|
51
|
+
* @default false
|
|
52
|
+
*/
|
|
53
|
+
showSrText?: boolean;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Spinner - Animated loading indicator with multiple configurable styles
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```tsx
|
|
60
|
+
* <Spinner />
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```tsx
|
|
65
|
+
* <Spinner spinnerStyle="dots" size="lg" variant="primary" />
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```tsx
|
|
70
|
+
* <Spinner spinnerStyle="bars" speed="fast" variant="success" />
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```tsx
|
|
75
|
+
* <Spinner spinnerStyle="pulse" size="xl" />
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export declare const Spinner: React.ForwardRefExoticComponent<SpinnerProps & React.RefAttributes<HTMLDivElement>>;
|
|
79
|
+
export default Spinner;
|
|
@@ -8,7 +8,7 @@ export interface StatusIndicatorProps extends BaseComponentProps {
|
|
|
8
8
|
* Status variant of the indicator
|
|
9
9
|
* @default 'neutral'
|
|
10
10
|
*/
|
|
11
|
-
status?: 'success' | 'warning' | 'error' | 'info' | 'neutral' | 'processing';
|
|
11
|
+
status?: 'online' | 'offline' | 'away' | 'busy' | 'success' | 'warning' | 'error' | 'info' | 'neutral' | 'processing';
|
|
12
12
|
/**
|
|
13
13
|
* Size of the indicator
|
|
14
14
|
* @default 'md'
|
|
@@ -22,6 +22,25 @@ export { KPI } from './display/KPI';
|
|
|
22
22
|
export type { KPIProps } from './display/KPI';
|
|
23
23
|
export { Skeleton } from './display/Skeleton';
|
|
24
24
|
export type { SkeletonProps } from './display/Skeleton';
|
|
25
|
+
export { Spinner } from './display/Spinner';
|
|
26
|
+
export type { SpinnerProps, SpinnerStyle, SpinnerVariant, SpinnerSpeed } from './display/Spinner';
|
|
27
|
+
export { Collapse } from './display/Collapse';
|
|
28
|
+
export type { CollapseProps } from './display/Collapse';
|
|
29
|
+
export { Accordion, AccordionContainer, AccordionContext, useAccordionContext, useAccordionContextStrict, } from './display/Accordion';
|
|
30
|
+
export type { AccordionProps, AccordionIconPosition, AccordionContainerProps, AccordionControlsPosition, AccordionContextValue, AccordionMode, } from './display/Accordion';
|
|
31
|
+
export { Card } from './display/Card';
|
|
32
|
+
export type { CardProps, CardVariant, CardPadding } from './display/Card';
|
|
33
|
+
export { FlipCard } from './display/FlipCard';
|
|
34
|
+
export type { FlipCardProps, FlipDirection, FlipTrigger } from './display/FlipCard';
|
|
35
|
+
export { CountUp } from './display/CountUp';
|
|
36
|
+
export type { CountUpProps, EasingFunction } from './display/CountUp';
|
|
37
|
+
export { Reveal } from './display/Reveal';
|
|
38
|
+
export type { RevealProps, RevealAnimation } from './display/Reveal';
|
|
39
|
+
export { Carousel } from './display/Carousel';
|
|
40
|
+
export type { CarouselProps } from './display/Carousel';
|
|
41
|
+
export { PageMessages } from './display/PageMessages';
|
|
42
|
+
export type { PageMessagesProps, PageMessageState, PageMessageStateConfig, PageMessageAction, LoadingStateConfig, } from './display/PageMessages';
|
|
43
|
+
export { getActiveState } from './display/PageMessages';
|
|
25
44
|
export { Portal } from './overlays/Portal';
|
|
26
45
|
export type { PortalProps } from './overlays/Portal';
|
|
27
46
|
export { Popover } from './overlays/Popover';
|
|
@@ -32,6 +51,8 @@ export { Menu, MenuList, MenuItem, MenuDivider, MenuGroup, MenuContext, useMenuC
|
|
|
32
51
|
export type { MenuProps, MenuListProps, MenuItemProps, MenuDividerProps, MenuGroupProps, MenuContextValue, SelectionMode, } from './overlays/Menu';
|
|
33
52
|
export { Dropdown } from './overlays/Dropdown';
|
|
34
53
|
export type { DropdownProps } from './overlays/Dropdown';
|
|
54
|
+
export { LoadingOverlay } from './overlays/LoadingOverlay';
|
|
55
|
+
export type { LoadingOverlayProps, LoadingOverlayMode } from './overlays/LoadingOverlay';
|
|
35
56
|
export { Input } from './inputs/Input';
|
|
36
57
|
export type { InputProps, ValidationResult, FormatMask, ValidationTiming, InputType, } from './inputs/Input';
|
|
37
58
|
export { Autocomplete } from './inputs/Autocomplete';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { ComponentSize, ComponentVariant, InputBaseProps } from '../../../types';
|
|
3
|
-
import { IconName } from '
|
|
3
|
+
import { IconName } from '../../display/Icon/icons';
|
|
4
4
|
export interface CheckboxProps extends Omit<InputBaseProps, 'value' | 'onChange' | 'placeholder'> {
|
|
5
5
|
/**
|
|
6
6
|
* Checkbox variant style
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { BaseComponentProps } from '../../../types/component.types';
|
|
3
|
-
import { IconName } from '
|
|
3
|
+
import { IconName } from '../../display/Icon/icons';
|
|
4
4
|
export interface DatePickerProps extends Omit<BaseComponentProps, 'children'> {
|
|
5
5
|
/**
|
|
6
6
|
* Controlled date value
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import { IconName } from '
|
|
2
|
+
import { IconName } from '../../display/Icon/icons';
|
|
3
3
|
export interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size' | 'type'> {
|
|
4
4
|
/**
|
|
5
5
|
* The value of this radio button
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { ComponentSize } from '../../../types';
|
|
3
|
-
import { IconName } from '
|
|
3
|
+
import { IconName } from '../../display/Icon/icons';
|
|
4
4
|
export interface RatingProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onBlur'> {
|
|
5
5
|
size?: ComponentSize;
|
|
6
6
|
value?: number;
|
|
@@ -11,6 +11,11 @@ export interface ToggleProps extends Omit<InputBaseProps, 'value' | 'onChange' |
|
|
|
11
11
|
* @default 'md'
|
|
12
12
|
*/
|
|
13
13
|
size?: ComponentSize;
|
|
14
|
+
/**
|
|
15
|
+
* Whether the toggle is in loading state
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
loading?: boolean;
|
|
14
19
|
/**
|
|
15
20
|
* Whether the toggle is checked
|
|
16
21
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { MenuProps } from '../Menu';
|
|
3
|
-
import { IconName } from '
|
|
3
|
+
import { IconName } from '../../display/Icon/icons';
|
|
4
4
|
import { ComponentVariant, ComponentSize } from '../../../types';
|
|
5
5
|
/**
|
|
6
6
|
* Dropdown item definition
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
import { BaseComponentProps, ExtendedComponentSize } from '../../../types/component.types';
|
|
3
|
+
import { SpinnerSpeed, SpinnerStyle, SpinnerVariant } from '../../display/Spinner';
|
|
4
|
+
/**
|
|
5
|
+
* Loading overlay mode
|
|
6
|
+
*/
|
|
7
|
+
export type LoadingOverlayMode = 'container' | 'fullscreen';
|
|
8
|
+
/**
|
|
9
|
+
* Props for the LoadingOverlay component
|
|
10
|
+
*/
|
|
11
|
+
export interface LoadingOverlayProps extends BaseComponentProps {
|
|
12
|
+
/**
|
|
13
|
+
* Whether the overlay is visible
|
|
14
|
+
* @default true
|
|
15
|
+
*/
|
|
16
|
+
visible?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Mode: cover parent container or full screen
|
|
19
|
+
* @default 'container'
|
|
20
|
+
*/
|
|
21
|
+
mode?: LoadingOverlayMode;
|
|
22
|
+
/**
|
|
23
|
+
* Spinner style to use
|
|
24
|
+
* @default 'circular'
|
|
25
|
+
*/
|
|
26
|
+
spinnerStyle?: SpinnerStyle;
|
|
27
|
+
/**
|
|
28
|
+
* Spinner size
|
|
29
|
+
* @default 'lg'
|
|
30
|
+
*/
|
|
31
|
+
spinnerSize?: ExtendedComponentSize;
|
|
32
|
+
/**
|
|
33
|
+
* Spinner color variant
|
|
34
|
+
* @default 'primary'
|
|
35
|
+
*/
|
|
36
|
+
spinnerVariant?: SpinnerVariant;
|
|
37
|
+
/**
|
|
38
|
+
* Spinner animation speed
|
|
39
|
+
* @default 'normal'
|
|
40
|
+
*/
|
|
41
|
+
spinnerSpeed?: SpinnerSpeed;
|
|
42
|
+
/**
|
|
43
|
+
* Optional message to display below spinner
|
|
44
|
+
*/
|
|
45
|
+
message?: ReactNode;
|
|
46
|
+
/**
|
|
47
|
+
* Enable backdrop blur effect
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
blur?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Backdrop opacity (0-1)
|
|
53
|
+
* @default 0.7
|
|
54
|
+
*/
|
|
55
|
+
backdropOpacity?: number;
|
|
56
|
+
/**
|
|
57
|
+
* Custom z-index for the overlay
|
|
58
|
+
*/
|
|
59
|
+
zIndex?: number;
|
|
60
|
+
/**
|
|
61
|
+
* Transition duration in milliseconds
|
|
62
|
+
* @default 200
|
|
63
|
+
*/
|
|
64
|
+
transitionDuration?: number;
|
|
65
|
+
/**
|
|
66
|
+
* Custom spinner element (overrides spinnerStyle, spinnerSize, spinnerVariant)
|
|
67
|
+
*/
|
|
68
|
+
customSpinner?: ReactNode;
|
|
69
|
+
/**
|
|
70
|
+
* Border radius for the overlay to match child content
|
|
71
|
+
* Accepts any valid CSS border-radius value
|
|
72
|
+
*/
|
|
73
|
+
borderRadius?: string | number;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* LoadingOverlay - Overlay component for showing loading state over content
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```tsx
|
|
80
|
+
* // Container mode - wraps content
|
|
81
|
+
* <LoadingOverlay visible={isLoading}>
|
|
82
|
+
* <div>Content to overlay</div>
|
|
83
|
+
* </LoadingOverlay>
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```tsx
|
|
88
|
+
* // Fullscreen mode
|
|
89
|
+
* <LoadingOverlay visible={isLoading} mode="fullscreen" message="Loading..." />
|
|
90
|
+
* ```
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```tsx
|
|
94
|
+
* // With blur effect
|
|
95
|
+
* <LoadingOverlay visible={isLoading} blur backdropOpacity={0.5}>
|
|
96
|
+
* <div>Blurred content</div>
|
|
97
|
+
* </LoadingOverlay>
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export declare const LoadingOverlay: React.ForwardRefExoticComponent<LoadingOverlayProps & React.RefAttributes<HTMLDivElement>>;
|
|
101
|
+
export default LoadingOverlay;
|