@beydesign/storybook 0.0.1 → 0.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/README.md +60 -40
- package/dist/App.js +161 -5
- package/dist/assets/animations/loading-animation.json +1 -0
- package/dist/index.d.ts +12 -2
- package/dist/index.js +12 -4
- package/dist/stories/Agent/AgentCard.d.ts +3 -0
- package/dist/stories/Agent/AgentCard.js +102 -0
- package/dist/stories/Agent/AgentCard.stories.d.ts +13 -0
- package/dist/stories/Agent/AgentCard.stories.js +303 -0
- package/dist/stories/Agent/AgentCardSkeleton.d.ts +2 -0
- package/dist/stories/Agent/AgentCardSkeleton.js +6 -0
- package/dist/stories/Agent/AgentCardSkeleton.stories.d.ts +13 -0
- package/dist/stories/Agent/AgentCardSkeleton.stories.js +101 -0
- package/dist/stories/Agent/CreateNewCard.d.ts +7 -0
- package/dist/stories/Agent/CreateNewCard.js +25 -0
- package/dist/stories/Agent/CreateNewCard.stories.d.ts +7 -0
- package/dist/stories/Agent/CreateNewCard.stories.js +23 -0
- package/dist/stories/Agent/index.d.ts +4 -0
- package/dist/stories/Agent/index.js +4 -0
- package/dist/stories/Agent/types.d.ts +96 -0
- package/dist/stories/Agent/types.js +7 -0
- package/dist/stories/Buttons/MainButton.d.ts +3 -0
- package/dist/stories/Buttons/MainButton.js +302 -0
- package/dist/stories/Buttons/MainButton.stories.d.ts +28 -0
- package/dist/stories/Buttons/MainButton.stories.js +299 -0
- package/dist/stories/Buttons/ToggleButtonGroup.d.ts +3 -0
- package/dist/stories/Buttons/ToggleButtonGroup.js +34 -0
- package/dist/stories/Buttons/ToggleButtonGroup.stories.d.ts +9 -0
- package/dist/stories/Buttons/ToggleButtonGroup.stories.js +78 -0
- package/dist/stories/Buttons/index.d.ts +3 -0
- package/dist/stories/Buttons/index.js +3 -0
- package/dist/stories/{types/button.d.ts → Buttons/types.d.ts} +37 -14
- package/dist/stories/{types/button.js → Buttons/types.js} +12 -2
- package/dist/stories/Credits/CreditsCard.d.ts +3 -0
- package/dist/stories/Credits/CreditsCard.js +53 -0
- package/dist/stories/Credits/CreditsCard.stories.d.ts +7 -0
- package/dist/stories/Credits/CreditsCard.stories.js +34 -0
- package/dist/stories/Credits/CreditsCardSkeleton.d.ts +3 -0
- package/dist/stories/Credits/CreditsCardSkeleton.js +30 -0
- package/dist/stories/Credits/CreditsCardSkeleton.stories.d.ts +7 -0
- package/dist/stories/Credits/CreditsCardSkeleton.stories.js +40 -0
- package/dist/stories/Credits/index.d.ts +3 -0
- package/dist/stories/Credits/index.js +3 -0
- package/dist/stories/Credits/types.d.ts +57 -0
- package/dist/stories/Credits/types.js +11 -0
- package/dist/stories/EntityCard/EntityCard.d.ts +3 -0
- package/dist/stories/EntityCard/EntityCard.js +22 -0
- package/dist/stories/EntityCard/EntityCard.stories.d.ts +10 -0
- package/dist/stories/EntityCard/EntityCard.stories.js +187 -0
- package/dist/stories/EntityCard/EntityCardSkeleton.d.ts +3 -0
- package/dist/stories/EntityCard/EntityCardSkeleton.js +9 -0
- package/dist/stories/EntityCard/EntityCardSkeleton.stories.d.ts +10 -0
- package/dist/stories/EntityCard/EntityCardSkeleton.stories.js +73 -0
- package/dist/stories/EntityCard/index.d.ts +3 -0
- package/dist/stories/EntityCard/index.js +3 -0
- package/dist/stories/EntityCard/types.d.ts +54 -0
- package/dist/stories/EntityCard/types.js +1 -0
- package/dist/stories/Form/AutoComplete.d.ts +3 -0
- package/dist/stories/Form/AutoComplete.js +163 -0
- package/dist/stories/Form/AutoComplete.stories.d.ts +6 -0
- package/dist/stories/Form/AutoComplete.stories.js +88 -0
- package/dist/stories/Form/Checkbox.d.ts +3 -0
- package/dist/stories/Form/Checkbox.js +65 -0
- package/dist/stories/Form/Checkbox.stories.d.ts +13 -0
- package/dist/stories/Form/Checkbox.stories.js +121 -0
- package/dist/stories/Form/Dropdown.d.ts +3 -0
- package/dist/stories/Form/Dropdown.js +183 -0
- package/dist/stories/Form/Dropdown.stories.d.ts +6 -0
- package/dist/stories/Form/Dropdown.stories.js +122 -0
- package/dist/stories/Form/FileUpload/FileUpload.d.ts +3 -0
- package/dist/stories/Form/FileUpload/FileUpload.js +128 -0
- package/dist/stories/Form/FileUpload/FileUpload.stories.d.ts +7 -0
- package/dist/stories/Form/FileUpload/FileUpload.stories.js +51 -0
- package/dist/stories/Form/FileUpload/FileUploading.d.ts +3 -0
- package/dist/stories/Form/FileUpload/FileUploading.js +49 -0
- package/dist/stories/Form/FileUpload/FileUploading.stories.d.ts +10 -0
- package/dist/stories/Form/FileUpload/FileUploading.stories.js +108 -0
- package/dist/stories/Form/FileUpload/UploadedFile.d.ts +3 -0
- package/dist/stories/Form/FileUpload/UploadedFile.js +12 -0
- package/dist/stories/Form/FileUpload/UploadedFile.stories.d.ts +7 -0
- package/dist/stories/Form/FileUpload/UploadedFile.stories.js +73 -0
- package/dist/stories/Form/FileUpload/index.d.ts +3 -0
- package/dist/stories/Form/FileUpload/index.js +3 -0
- package/dist/stories/Form/TextArea.d.ts +3 -0
- package/dist/stories/Form/TextArea.js +23 -0
- package/dist/stories/Form/TextArea.stories.d.ts +161 -0
- package/dist/stories/Form/TextArea.stories.js +142 -0
- package/dist/stories/Form/TextInput.d.ts +3 -0
- package/dist/stories/Form/TextInput.js +57 -0
- package/dist/stories/Form/TextInput.stories.d.ts +155 -0
- package/dist/stories/Form/TextInput.stories.js +155 -0
- package/dist/stories/Form/Toggle.d.ts +3 -0
- package/dist/stories/Form/Toggle.js +57 -0
- package/dist/stories/Form/Toggle.stories.d.ts +6 -0
- package/dist/stories/Form/Toggle.stories.js +79 -0
- package/dist/stories/Form/index.d.ts +8 -0
- package/dist/stories/Form/index.js +8 -0
- package/dist/stories/Form/types.d.ts +274 -0
- package/dist/stories/Form/types.js +46 -0
- package/dist/stories/Foundations/Colors.d.ts +2 -0
- package/dist/stories/Foundations/Colors.js +266 -0
- package/dist/stories/Foundations/Colors.stories.d.ts +6 -0
- package/dist/stories/Foundations/Colors.stories.js +15 -0
- package/dist/stories/Foundations/index.d.ts +1 -0
- package/dist/stories/Foundations/index.js +1 -0
- package/dist/stories/Navigation/ComplexHeader.d.ts +3 -0
- package/dist/stories/Navigation/ComplexHeader.js +21 -0
- package/dist/stories/Navigation/ComplexHeader.stories.d.ts +6 -0
- package/dist/stories/Navigation/ComplexHeader.stories.js +82 -0
- package/dist/stories/Navigation/Header.d.ts +3 -0
- package/dist/stories/Navigation/Header.js +9 -0
- package/dist/stories/Navigation/Header.stories.d.ts +7 -0
- package/dist/stories/Navigation/Header.stories.js +87 -0
- package/dist/stories/Navigation/NavItem.d.ts +3 -0
- package/dist/stories/Navigation/NavItem.js +66 -0
- package/dist/stories/Navigation/NavItem.stories.d.ts +14 -0
- package/dist/stories/Navigation/NavItem.stories.js +100 -0
- package/dist/stories/Navigation/ProcessHeader.d.ts +3 -0
- package/dist/stories/Navigation/ProcessHeader.js +11 -0
- package/dist/stories/Navigation/ProcessHeader.stories.d.ts +6 -0
- package/dist/stories/Navigation/ProcessHeader.stories.js +76 -0
- package/dist/stories/Navigation/Sidebar.d.ts +3 -0
- package/dist/stories/Navigation/Sidebar.js +115 -0
- package/dist/stories/Navigation/Sidebar.stories.d.ts +11 -0
- package/dist/stories/Navigation/Sidebar.stories.js +174 -0
- package/dist/stories/Navigation/index.d.ts +6 -0
- package/dist/stories/Navigation/index.js +6 -0
- package/dist/stories/Navigation/types.d.ts +186 -0
- package/dist/stories/Navigation/types.js +21 -0
- package/dist/stories/PlanCard/PlanCard.d.ts +3 -0
- package/dist/stories/PlanCard/PlanCard.js +13 -0
- package/dist/stories/PlanCard/PlanCard.stories.d.ts +9 -0
- package/dist/stories/PlanCard/PlanCard.stories.js +125 -0
- package/dist/stories/PlanCard/PlanCardSkeleton.d.ts +3 -0
- package/dist/stories/PlanCard/PlanCardSkeleton.js +6 -0
- package/dist/stories/PlanCard/PlanCardSkeleton.stories.d.ts +7 -0
- package/dist/stories/PlanCard/PlanCardSkeleton.stories.js +40 -0
- package/dist/stories/PlanCard/index.d.ts +3 -0
- package/dist/stories/PlanCard/index.js +3 -0
- package/dist/stories/PlanCard/types.d.ts +61 -0
- package/dist/stories/PlanCard/types.js +1 -0
- package/dist/stories/StripeProduct/StripeProduct.d.ts +3 -0
- package/dist/stories/StripeProduct/StripeProduct.js +24 -0
- package/dist/stories/StripeProduct/StripeProduct.stories.d.ts +10 -0
- package/dist/stories/StripeProduct/StripeProduct.stories.js +110 -0
- package/dist/stories/StripeProduct/StripeProductCardSkeleton.d.ts +3 -0
- package/dist/stories/StripeProduct/StripeProductCardSkeleton.js +6 -0
- package/dist/stories/StripeProduct/StripeProductCardSkeleton.stories.d.ts +16 -0
- package/dist/stories/StripeProduct/StripeProductCardSkeleton.stories.js +137 -0
- package/dist/stories/StripeProduct/index.d.ts +3 -0
- package/dist/stories/StripeProduct/index.js +3 -0
- package/dist/stories/StripeProduct/types.d.ts +56 -0
- package/dist/stories/StripeProduct/types.js +1 -0
- package/dist/stories/Typography/Typography.d.ts +3 -0
- package/dist/stories/Typography/Typography.js +22 -0
- package/dist/stories/Typography/Typography.stories.d.ts +25 -0
- package/dist/stories/Typography/Typography.stories.js +225 -0
- package/dist/stories/Typography/index.d.ts +2 -0
- package/dist/stories/Typography/index.js +2 -0
- package/dist/stories/Typography/types.d.ts +46 -0
- package/dist/stories/Typography/types.js +27 -0
- package/dist/stories/UI/Avatar.d.ts +3 -0
- package/dist/stories/UI/Avatar.js +76 -0
- package/dist/stories/UI/Avatar.stories.d.ts +8 -0
- package/dist/stories/UI/Avatar.stories.js +76 -0
- package/dist/stories/UI/Badge.d.ts +3 -0
- package/dist/stories/UI/Badge.js +118 -0
- package/dist/stories/UI/Badge.stories.d.ts +11 -0
- package/dist/stories/UI/Badge.stories.js +107 -0
- package/dist/stories/UI/CheckIcon.d.ts +3 -0
- package/dist/stories/UI/CheckIcon.js +36 -0
- package/dist/stories/UI/CheckIcon.stories.d.ts +7 -0
- package/dist/stories/UI/CheckIcon.stories.js +48 -0
- package/dist/stories/UI/FeatureBanner.d.ts +3 -0
- package/dist/stories/UI/FeatureBanner.js +34 -0
- package/dist/stories/UI/FeatureBanner.stories.d.ts +9 -0
- package/dist/stories/UI/FeatureBanner.stories.js +131 -0
- package/dist/stories/UI/HintBubble.d.ts +3 -0
- package/dist/stories/UI/HintBubble.js +28 -0
- package/dist/stories/UI/HintBubble.stories.d.ts +9 -0
- package/dist/stories/UI/HintBubble.stories.js +68 -0
- package/dist/stories/UI/Logo.d.ts +3 -0
- package/dist/stories/UI/Logo.js +60 -0
- package/dist/stories/UI/Logo.stories.d.ts +11 -0
- package/dist/stories/UI/Logo.stories.js +65 -0
- package/dist/stories/UI/Menu.d.ts +3 -0
- package/dist/stories/UI/Menu.js +56 -0
- package/dist/stories/UI/Menu.stories.d.ts +7 -0
- package/dist/stories/UI/Menu.stories.js +80 -0
- package/dist/stories/UI/ProgressIndicator.d.ts +3 -0
- package/dist/stories/UI/ProgressIndicator.js +35 -0
- package/dist/stories/UI/ProgressIndicator.stories.d.ts +10 -0
- package/dist/stories/UI/ProgressIndicator.stories.js +98 -0
- package/dist/stories/UI/PromoBanner.d.ts +3 -0
- package/dist/stories/UI/PromoBanner.js +34 -0
- package/dist/stories/UI/PromoBanner.stories.d.ts +9 -0
- package/dist/stories/UI/PromoBanner.stories.js +159 -0
- package/dist/stories/UI/SkeletonLoader.d.ts +3 -0
- package/dist/stories/UI/SkeletonLoader.js +19 -0
- package/dist/stories/UI/SkeletonLoader.stories.d.ts +8 -0
- package/dist/stories/UI/SkeletonLoader.stories.js +74 -0
- package/dist/stories/UI/Stepper.d.ts +3 -0
- package/dist/stories/UI/Stepper.js +67 -0
- package/dist/stories/UI/Stepper.stories.d.ts +6 -0
- package/dist/stories/UI/Stepper.stories.js +65 -0
- package/dist/stories/UI/Topbar.d.ts +3 -0
- package/dist/stories/UI/Topbar.js +9 -0
- package/dist/stories/UI/Topbar.stories.d.ts +6 -0
- package/dist/stories/UI/Topbar.stories.js +71 -0
- package/dist/stories/UI/index.d.ts +13 -0
- package/dist/stories/UI/index.js +13 -0
- package/dist/stories/UI/types.d.ts +398 -0
- package/dist/stories/UI/types.js +110 -0
- package/dist/utils/common.d.ts +2 -0
- package/dist/utils/common.js +20 -0
- package/dist/utils/icon.d.ts +6 -0
- package/dist/utils/icon.js +6 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/typography.d.ts +14 -0
- package/dist/utils/typography.js +46 -0
- package/package.json +48 -42
- package/dist/stories/Button.d.ts +0 -4
- package/dist/stories/Button.js +0 -258
- package/dist/stories/Colors.d.ts +0 -5
- package/dist/stories/Colors.js +0 -9
- package/dist/stories/Header.d.ts +0 -12
- package/dist/stories/Header.js +0 -4
- package/dist/stories/Header.stories.d.ts +0 -18
- package/dist/stories/Header.stories.js +0 -26
- package/dist/stories/Page.d.ts +0 -3
- package/dist/stories/Page.js +0 -8
- package/dist/stories/Page.stories.d.ts +0 -12
- package/dist/stories/Page.stories.js +0 -24
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
import { Theme, SxProps } from '@mui/material';
|
|
2
|
+
import { IconName } from '../../utils';
|
|
3
|
+
import { ButtonSize, ButtonHierarchy } from '../Buttons';
|
|
4
|
+
/**
|
|
5
|
+
* Badge size variants
|
|
6
|
+
*/
|
|
7
|
+
export declare enum BadgeSize {
|
|
8
|
+
lg = "lg",
|
|
9
|
+
md = "md",
|
|
10
|
+
xs = "xs"
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Badge color variants
|
|
14
|
+
*/
|
|
15
|
+
export declare enum BadgeColor {
|
|
16
|
+
Default = "Default",
|
|
17
|
+
Violet = "Violet",
|
|
18
|
+
Lemon = "Lemon",
|
|
19
|
+
Green = "Green",
|
|
20
|
+
Red = "Red",
|
|
21
|
+
Yellow = "Yellow",
|
|
22
|
+
Blue = "Blue",
|
|
23
|
+
Cyan = "Cyan",
|
|
24
|
+
Pink = "Pink",
|
|
25
|
+
DarkTransparent = "DarkTransparent"
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Badge component props
|
|
29
|
+
*/
|
|
30
|
+
export type BadgeProps = {
|
|
31
|
+
/** Size variant of the badge */
|
|
32
|
+
size?: BadgeSize;
|
|
33
|
+
/** Color variant of the badge */
|
|
34
|
+
color?: BadgeColor;
|
|
35
|
+
/** Text content of the badge */
|
|
36
|
+
text: string;
|
|
37
|
+
/** Custom style of the badge */
|
|
38
|
+
style?: SxProps<Theme>;
|
|
39
|
+
/** Whether to show the Icon */
|
|
40
|
+
showIcon?: boolean;
|
|
41
|
+
/** Icon to display in the badge */
|
|
42
|
+
icon?: IconName;
|
|
43
|
+
/** Whether to fill the icon */
|
|
44
|
+
fill?: boolean;
|
|
45
|
+
/** Custom icon weight (regular, bold, duotone, fill, light, thin) */
|
|
46
|
+
iconWeight?: 'regular' | 'bold' | 'duotone' | 'fill' | 'light' | 'thin';
|
|
47
|
+
/** Custom icon size (overrides the default size based on badge size) */
|
|
48
|
+
iconSize?: string | number;
|
|
49
|
+
/** Custom icon color (overrides the default color based on badge color) */
|
|
50
|
+
iconColor?: string;
|
|
51
|
+
/** Test ID of the badge */
|
|
52
|
+
testId?: string;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Avatar size variants
|
|
56
|
+
*/
|
|
57
|
+
export declare enum AvatarSize {
|
|
58
|
+
xxl = "xxl",
|
|
59
|
+
xl = "xl",
|
|
60
|
+
lg = "lg",
|
|
61
|
+
md = "md",
|
|
62
|
+
sm = "sm",
|
|
63
|
+
xs = "xs"
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Avatar style variants
|
|
67
|
+
*/
|
|
68
|
+
export declare enum AvatarStyle {
|
|
69
|
+
Placeholder = "Placeholder",
|
|
70
|
+
Picture = "Picture",
|
|
71
|
+
Letters = "Letters"
|
|
72
|
+
}
|
|
73
|
+
export declare const AvatarImage = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTTAUPUG0r--EDZzf-f9Afj_Jp7N96yIGsWPgCYIkrAS1rCJHIcdm_RCq_me44bJc0dvvY&usqp=CAU";
|
|
74
|
+
/**
|
|
75
|
+
* Avatar component props
|
|
76
|
+
*/
|
|
77
|
+
export type AvatarProps = {
|
|
78
|
+
/** Style variant of the avatar */
|
|
79
|
+
avatarStyle: AvatarStyle;
|
|
80
|
+
/** Text content of the avatar if avatarStyle is Letters */
|
|
81
|
+
text?: string;
|
|
82
|
+
/** Image source of the avatar if avatarStyle is Picture */
|
|
83
|
+
image?: string;
|
|
84
|
+
/** Custom style of the avatar */
|
|
85
|
+
style?: SxProps<Theme>;
|
|
86
|
+
/** Size variant of the avatar */
|
|
87
|
+
size?: AvatarSize;
|
|
88
|
+
/** Visual hierarchy of the avatar */
|
|
89
|
+
border?: boolean;
|
|
90
|
+
};
|
|
91
|
+
export declare enum HintBubbleType {
|
|
92
|
+
Info = "Info",
|
|
93
|
+
Error = "Error"
|
|
94
|
+
}
|
|
95
|
+
export declare enum HintBubbleSize {
|
|
96
|
+
md = "md",
|
|
97
|
+
sm = "sm"
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* HintBubble component props
|
|
101
|
+
*/
|
|
102
|
+
export type HintBubbleProps = {
|
|
103
|
+
/** Type variant of the hint bubble */
|
|
104
|
+
type?: HintBubbleType;
|
|
105
|
+
/** Size variant of the hint bubble */
|
|
106
|
+
size?: HintBubbleSize;
|
|
107
|
+
/** Text of the hint bubble */
|
|
108
|
+
text: string;
|
|
109
|
+
/** Custom style of the hint bubble */
|
|
110
|
+
style?: SxProps<Theme>;
|
|
111
|
+
};
|
|
112
|
+
export declare enum LogoVariant {
|
|
113
|
+
Horizontal = "horizontal",
|
|
114
|
+
Vertical = "vertical",
|
|
115
|
+
Icon = "icon"
|
|
116
|
+
}
|
|
117
|
+
export interface LogoProps {
|
|
118
|
+
/**
|
|
119
|
+
* The variant of the logo to display
|
|
120
|
+
*/
|
|
121
|
+
variant?: LogoVariant;
|
|
122
|
+
/**
|
|
123
|
+
* The color to apply to the logo
|
|
124
|
+
* If gradient is provided, this will be ignored
|
|
125
|
+
*/
|
|
126
|
+
color?: string;
|
|
127
|
+
/**
|
|
128
|
+
* Optional gradient value to apply to the logo
|
|
129
|
+
* Example: "linear-gradient(180deg, #3300ff 0%, #d170ff 100%)"
|
|
130
|
+
*/
|
|
131
|
+
gradient?: string;
|
|
132
|
+
/**
|
|
133
|
+
* Optional className for additional styling
|
|
134
|
+
*/
|
|
135
|
+
className?: string;
|
|
136
|
+
/**
|
|
137
|
+
* Optional URL to override the default SVG
|
|
138
|
+
* If provided, this will be used instead of the built-in SVG
|
|
139
|
+
*/
|
|
140
|
+
svgUrl?: string;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Menu item
|
|
144
|
+
*/
|
|
145
|
+
export interface MenuItemProps {
|
|
146
|
+
/** Label */
|
|
147
|
+
label: string;
|
|
148
|
+
/** Icon */
|
|
149
|
+
icon: IconName;
|
|
150
|
+
/** On click */
|
|
151
|
+
onClick: () => void;
|
|
152
|
+
/** Destructive */
|
|
153
|
+
destructive?: boolean;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Menu component props
|
|
157
|
+
*/
|
|
158
|
+
export type MenuProps = {
|
|
159
|
+
/** Icon */
|
|
160
|
+
icon?: IconName;
|
|
161
|
+
/** Items */
|
|
162
|
+
items?: MenuItemProps[];
|
|
163
|
+
/** Style */
|
|
164
|
+
style?: React.CSSProperties;
|
|
165
|
+
/** Test key */
|
|
166
|
+
testKey?: string;
|
|
167
|
+
/** Size of the trigger button */
|
|
168
|
+
size?: ButtonSize;
|
|
169
|
+
/** Hierarchy of the trigger button */
|
|
170
|
+
hierarchy?: ButtonHierarchy;
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* Check icon color variants
|
|
174
|
+
*/
|
|
175
|
+
export declare enum CheckIconColor {
|
|
176
|
+
Violet = "Violet",
|
|
177
|
+
Green = "Green"
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Check icon size variants (xs = 16px, sm = 20px, md = 24px, lg = 28px)
|
|
181
|
+
*/
|
|
182
|
+
export declare enum CheckIconSize {
|
|
183
|
+
xs = "xs",
|
|
184
|
+
sm = "sm",
|
|
185
|
+
md = "md",
|
|
186
|
+
lg = "lg"
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Check icon type variants.
|
|
190
|
+
* - `Filled`: solid accent background + white check
|
|
191
|
+
* - `Line`: transparent background, accent ring + accent check
|
|
192
|
+
* - `Duotone`: light badge background + accent-colored check
|
|
193
|
+
*/
|
|
194
|
+
export declare enum CheckIconType {
|
|
195
|
+
Filled = "Filled",
|
|
196
|
+
Line = "Line",
|
|
197
|
+
Duotone = "Duotone"
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Check icon component props
|
|
201
|
+
*/
|
|
202
|
+
export interface CheckIconProps {
|
|
203
|
+
/** Color variant */
|
|
204
|
+
color?: CheckIconColor;
|
|
205
|
+
/** Size variant (xs = 16px, md = 24px) */
|
|
206
|
+
size?: CheckIconSize;
|
|
207
|
+
/** Fill style */
|
|
208
|
+
type?: CheckIconType;
|
|
209
|
+
/** Custom style */
|
|
210
|
+
style?: React.CSSProperties;
|
|
211
|
+
/** Test id */
|
|
212
|
+
testId?: string;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Progress indicator mode variants
|
|
216
|
+
*/
|
|
217
|
+
export declare enum ProgressIndicatorMode {
|
|
218
|
+
Value = "Value",
|
|
219
|
+
Percentage = "Percentage"
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Progress indicator component props
|
|
223
|
+
*/
|
|
224
|
+
export type ProgressIndicatorProps = {
|
|
225
|
+
/** Mode variant of the progress indicator */
|
|
226
|
+
mode?: ProgressIndicatorMode;
|
|
227
|
+
/** Value of the progress indicator */
|
|
228
|
+
currentValue: number;
|
|
229
|
+
/** Maximum value of the progress indicator */
|
|
230
|
+
maxValue: number;
|
|
231
|
+
/** Fill color of the progress indicator */
|
|
232
|
+
fillColor?: string;
|
|
233
|
+
/** Background color of the progress indicator */
|
|
234
|
+
backgroundColor?: string;
|
|
235
|
+
/** Text of the progress indicator */
|
|
236
|
+
text?: string;
|
|
237
|
+
/** Overridden text of the progress indicator */
|
|
238
|
+
overriddenText?: string;
|
|
239
|
+
/** Text color of the progress indicator */
|
|
240
|
+
textColor?: string;
|
|
241
|
+
/** Style of the progress indicator */
|
|
242
|
+
style?: SxProps<Theme>;
|
|
243
|
+
/** Text style of the progress indicator */
|
|
244
|
+
textStyle?: React.CSSProperties;
|
|
245
|
+
/** Test ID of the progress indicator */
|
|
246
|
+
testId?: string;
|
|
247
|
+
};
|
|
248
|
+
export interface SkeletonLoaderProps {
|
|
249
|
+
/**
|
|
250
|
+
* Width of the skeleton
|
|
251
|
+
*/
|
|
252
|
+
width?: string | number;
|
|
253
|
+
/**
|
|
254
|
+
* Height of the skeleton
|
|
255
|
+
*/
|
|
256
|
+
height?: string | number;
|
|
257
|
+
/**
|
|
258
|
+
* Border radius of the skeleton
|
|
259
|
+
*/
|
|
260
|
+
borderRadius?: string;
|
|
261
|
+
/**
|
|
262
|
+
* Animation duration in seconds
|
|
263
|
+
*/
|
|
264
|
+
animationDuration?: number;
|
|
265
|
+
/**
|
|
266
|
+
* Custom style for the skeleton
|
|
267
|
+
*/
|
|
268
|
+
style?: React.CSSProperties;
|
|
269
|
+
}
|
|
270
|
+
export interface TopbarProps {
|
|
271
|
+
/** Title */
|
|
272
|
+
title: string;
|
|
273
|
+
/** Badge */
|
|
274
|
+
badgeText?: string;
|
|
275
|
+
/** New button text */
|
|
276
|
+
newButtonText?: string;
|
|
277
|
+
/** New button hidden */
|
|
278
|
+
newButtonHidden?: boolean;
|
|
279
|
+
/** On click of new button */
|
|
280
|
+
onNewButtonClick?: () => void;
|
|
281
|
+
/** Style */
|
|
282
|
+
style?: SxProps<Theme>;
|
|
283
|
+
/** Class name */
|
|
284
|
+
className?: string;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* PromoBanner component props
|
|
288
|
+
*/
|
|
289
|
+
export interface PromoBannerProps {
|
|
290
|
+
/** Title of the banner */
|
|
291
|
+
title?: string;
|
|
292
|
+
/** Description text shown below the title */
|
|
293
|
+
description?: string;
|
|
294
|
+
/** Feature highlights rendered as a checkmark list below the description */
|
|
295
|
+
features?: string[];
|
|
296
|
+
/** Promo code to display */
|
|
297
|
+
promoCode?: string;
|
|
298
|
+
/** Label shown on top of the promo code */
|
|
299
|
+
promoCodeLabel?: string;
|
|
300
|
+
/** Called after the promo code is copied to the clipboard */
|
|
301
|
+
onCopyPromoCode?: (promoCode: string) => void;
|
|
302
|
+
/** Call-to-action button text */
|
|
303
|
+
ctaText?: string;
|
|
304
|
+
/** Called when the call-to-action button is clicked */
|
|
305
|
+
onCtaClick?: () => void;
|
|
306
|
+
/** Footer note shown below the actions */
|
|
307
|
+
footerText?: string;
|
|
308
|
+
/** Image URL of the avatar collage shown on the left side */
|
|
309
|
+
leftImage?: string;
|
|
310
|
+
/** Image URL of the avatar collage shown on the right side */
|
|
311
|
+
rightImage?: string;
|
|
312
|
+
/** Whether to show the avatar images */
|
|
313
|
+
showImages?: boolean;
|
|
314
|
+
/** Background of the banner */
|
|
315
|
+
background?: string;
|
|
316
|
+
/** Custom style of the banner */
|
|
317
|
+
style?: SxProps<Theme>;
|
|
318
|
+
/** Test ID of the banner */
|
|
319
|
+
testId?: string;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* FeatureBanner media variants
|
|
323
|
+
*/
|
|
324
|
+
export declare enum FeatureBannerMedia {
|
|
325
|
+
Video = "Video",
|
|
326
|
+
Image = "Image",
|
|
327
|
+
None = "None"
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* FeatureBanner action button
|
|
331
|
+
*/
|
|
332
|
+
export interface FeatureBannerAction {
|
|
333
|
+
/** Button text */
|
|
334
|
+
text: string;
|
|
335
|
+
/** Called when the button is clicked */
|
|
336
|
+
onClick?: () => void;
|
|
337
|
+
/** Whether to render as the primary (brand) action */
|
|
338
|
+
primary?: boolean;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* FeatureBanner component props
|
|
342
|
+
*/
|
|
343
|
+
export interface FeatureBannerProps {
|
|
344
|
+
/** Title of the banner */
|
|
345
|
+
title?: string;
|
|
346
|
+
/** Description shown below the title */
|
|
347
|
+
description?: string;
|
|
348
|
+
/** Action buttons */
|
|
349
|
+
actions?: FeatureBannerAction[];
|
|
350
|
+
/** Media shown on the right side of the banner */
|
|
351
|
+
media?: FeatureBannerMedia;
|
|
352
|
+
/** Image URL for the media (video thumbnail or image column) */
|
|
353
|
+
mediaImage?: string;
|
|
354
|
+
/** Called when the play button on the video preview is clicked */
|
|
355
|
+
onPlayClick?: () => void;
|
|
356
|
+
/** CTA text overlaid on the video preview */
|
|
357
|
+
mediaCtaText?: string;
|
|
358
|
+
/** Called when the media CTA is clicked */
|
|
359
|
+
onMediaCtaClick?: () => void;
|
|
360
|
+
/** Background of the banner */
|
|
361
|
+
background?: string;
|
|
362
|
+
/** Custom style of the banner */
|
|
363
|
+
style?: SxProps<Theme>;
|
|
364
|
+
/** Test ID of the banner */
|
|
365
|
+
testId?: string;
|
|
366
|
+
}
|
|
367
|
+
export interface StepProps {
|
|
368
|
+
/** Current step of the stepper */
|
|
369
|
+
currentStep: number;
|
|
370
|
+
/** Total steps of the stepper */
|
|
371
|
+
totalSteps: number;
|
|
372
|
+
/** Index of the step */
|
|
373
|
+
index: number;
|
|
374
|
+
/** Title of the step */
|
|
375
|
+
title: string;
|
|
376
|
+
/** On click of the step */
|
|
377
|
+
onClick?: () => void;
|
|
378
|
+
/** Connector width of the step */
|
|
379
|
+
connectorWidth?: string | number;
|
|
380
|
+
/** Style of the step */
|
|
381
|
+
stepStyle?: SxProps<Theme>;
|
|
382
|
+
}
|
|
383
|
+
export interface StepperProps {
|
|
384
|
+
/** Steps of the stepper */
|
|
385
|
+
steps: string[];
|
|
386
|
+
/** Current step of the stepper */
|
|
387
|
+
currentStep: number;
|
|
388
|
+
/** On click of the step */
|
|
389
|
+
onStepClick?: (step: number) => void;
|
|
390
|
+
/** Style of the stepper */
|
|
391
|
+
style?: SxProps<Theme>;
|
|
392
|
+
/** Style of the step */
|
|
393
|
+
stepStyle?: SxProps<Theme>;
|
|
394
|
+
/** Test ID of the stepper */
|
|
395
|
+
testId?: string;
|
|
396
|
+
/** Connector width of the stepper */
|
|
397
|
+
connectorWidth?: string | number;
|
|
398
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Badge size variants
|
|
3
|
+
*/
|
|
4
|
+
export var BadgeSize;
|
|
5
|
+
(function (BadgeSize) {
|
|
6
|
+
BadgeSize["lg"] = "lg";
|
|
7
|
+
BadgeSize["md"] = "md";
|
|
8
|
+
BadgeSize["xs"] = "xs";
|
|
9
|
+
})(BadgeSize || (BadgeSize = {}));
|
|
10
|
+
/**
|
|
11
|
+
* Badge color variants
|
|
12
|
+
*/
|
|
13
|
+
export var BadgeColor;
|
|
14
|
+
(function (BadgeColor) {
|
|
15
|
+
BadgeColor["Default"] = "Default";
|
|
16
|
+
BadgeColor["Violet"] = "Violet";
|
|
17
|
+
BadgeColor["Lemon"] = "Lemon";
|
|
18
|
+
BadgeColor["Green"] = "Green";
|
|
19
|
+
BadgeColor["Red"] = "Red";
|
|
20
|
+
BadgeColor["Yellow"] = "Yellow";
|
|
21
|
+
BadgeColor["Blue"] = "Blue";
|
|
22
|
+
BadgeColor["Cyan"] = "Cyan";
|
|
23
|
+
BadgeColor["Pink"] = "Pink";
|
|
24
|
+
BadgeColor["DarkTransparent"] = "DarkTransparent";
|
|
25
|
+
})(BadgeColor || (BadgeColor = {}));
|
|
26
|
+
/**
|
|
27
|
+
* Avatar size variants
|
|
28
|
+
*/
|
|
29
|
+
export var AvatarSize;
|
|
30
|
+
(function (AvatarSize) {
|
|
31
|
+
AvatarSize["xxl"] = "xxl";
|
|
32
|
+
AvatarSize["xl"] = "xl";
|
|
33
|
+
AvatarSize["lg"] = "lg";
|
|
34
|
+
AvatarSize["md"] = "md";
|
|
35
|
+
AvatarSize["sm"] = "sm";
|
|
36
|
+
AvatarSize["xs"] = "xs";
|
|
37
|
+
})(AvatarSize || (AvatarSize = {}));
|
|
38
|
+
/**
|
|
39
|
+
* Avatar style variants
|
|
40
|
+
*/
|
|
41
|
+
export var AvatarStyle;
|
|
42
|
+
(function (AvatarStyle) {
|
|
43
|
+
AvatarStyle["Placeholder"] = "Placeholder";
|
|
44
|
+
AvatarStyle["Picture"] = "Picture";
|
|
45
|
+
AvatarStyle["Letters"] = "Letters";
|
|
46
|
+
})(AvatarStyle || (AvatarStyle = {}));
|
|
47
|
+
export const AvatarImage = `https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTTAUPUG0r--EDZzf-f9Afj_Jp7N96yIGsWPgCYIkrAS1rCJHIcdm_RCq_me44bJc0dvvY&usqp=CAU`;
|
|
48
|
+
export var HintBubbleType;
|
|
49
|
+
(function (HintBubbleType) {
|
|
50
|
+
HintBubbleType["Info"] = "Info";
|
|
51
|
+
HintBubbleType["Error"] = "Error";
|
|
52
|
+
})(HintBubbleType || (HintBubbleType = {}));
|
|
53
|
+
export var HintBubbleSize;
|
|
54
|
+
(function (HintBubbleSize) {
|
|
55
|
+
HintBubbleSize["md"] = "md";
|
|
56
|
+
HintBubbleSize["sm"] = "sm";
|
|
57
|
+
})(HintBubbleSize || (HintBubbleSize = {}));
|
|
58
|
+
export var LogoVariant;
|
|
59
|
+
(function (LogoVariant) {
|
|
60
|
+
LogoVariant["Horizontal"] = "horizontal";
|
|
61
|
+
LogoVariant["Vertical"] = "vertical";
|
|
62
|
+
LogoVariant["Icon"] = "icon";
|
|
63
|
+
})(LogoVariant || (LogoVariant = {}));
|
|
64
|
+
/**
|
|
65
|
+
* Check icon color variants
|
|
66
|
+
*/
|
|
67
|
+
export var CheckIconColor;
|
|
68
|
+
(function (CheckIconColor) {
|
|
69
|
+
CheckIconColor["Violet"] = "Violet";
|
|
70
|
+
CheckIconColor["Green"] = "Green";
|
|
71
|
+
})(CheckIconColor || (CheckIconColor = {}));
|
|
72
|
+
/**
|
|
73
|
+
* Check icon size variants (xs = 16px, sm = 20px, md = 24px, lg = 28px)
|
|
74
|
+
*/
|
|
75
|
+
export var CheckIconSize;
|
|
76
|
+
(function (CheckIconSize) {
|
|
77
|
+
CheckIconSize["xs"] = "xs";
|
|
78
|
+
CheckIconSize["sm"] = "sm";
|
|
79
|
+
CheckIconSize["md"] = "md";
|
|
80
|
+
CheckIconSize["lg"] = "lg";
|
|
81
|
+
})(CheckIconSize || (CheckIconSize = {}));
|
|
82
|
+
/**
|
|
83
|
+
* Check icon type variants.
|
|
84
|
+
* - `Filled`: solid accent background + white check
|
|
85
|
+
* - `Line`: transparent background, accent ring + accent check
|
|
86
|
+
* - `Duotone`: light badge background + accent-colored check
|
|
87
|
+
*/
|
|
88
|
+
export var CheckIconType;
|
|
89
|
+
(function (CheckIconType) {
|
|
90
|
+
CheckIconType["Filled"] = "Filled";
|
|
91
|
+
CheckIconType["Line"] = "Line";
|
|
92
|
+
CheckIconType["Duotone"] = "Duotone";
|
|
93
|
+
})(CheckIconType || (CheckIconType = {}));
|
|
94
|
+
/**
|
|
95
|
+
* Progress indicator mode variants
|
|
96
|
+
*/
|
|
97
|
+
export var ProgressIndicatorMode;
|
|
98
|
+
(function (ProgressIndicatorMode) {
|
|
99
|
+
ProgressIndicatorMode["Value"] = "Value";
|
|
100
|
+
ProgressIndicatorMode["Percentage"] = "Percentage";
|
|
101
|
+
})(ProgressIndicatorMode || (ProgressIndicatorMode = {}));
|
|
102
|
+
/**
|
|
103
|
+
* FeatureBanner media variants
|
|
104
|
+
*/
|
|
105
|
+
export var FeatureBannerMedia;
|
|
106
|
+
(function (FeatureBannerMedia) {
|
|
107
|
+
FeatureBannerMedia["Video"] = "Video";
|
|
108
|
+
FeatureBannerMedia["Image"] = "Image";
|
|
109
|
+
FeatureBannerMedia["None"] = "None";
|
|
110
|
+
})(FeatureBannerMedia || (FeatureBannerMedia = {}));
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export const getInitials = (text) => {
|
|
2
|
+
if (!text)
|
|
3
|
+
return '';
|
|
4
|
+
return text
|
|
5
|
+
.split(' ')
|
|
6
|
+
.map((word) => word[0]?.toUpperCase())
|
|
7
|
+
.join('');
|
|
8
|
+
};
|
|
9
|
+
export const formatNumberShort = (num) => {
|
|
10
|
+
const sign = num < 0 ? '-' : '';
|
|
11
|
+
num = Math.abs(num);
|
|
12
|
+
if (num < 1000)
|
|
13
|
+
return `${sign}${Math.floor(num)}`;
|
|
14
|
+
const units = ['', 'k', 'm', 'b', 't', 'q'];
|
|
15
|
+
const tier = Math.min(Math.floor(Math.log10(num) / 3), units.length - 1);
|
|
16
|
+
const suffix = units[tier];
|
|
17
|
+
const scale = Math.pow(10, tier * 3);
|
|
18
|
+
const scaled = Math.floor(num / scale);
|
|
19
|
+
return `${sign}${scaled}${suffix}`;
|
|
20
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as PhosphorIcons from '@phosphor-icons/react';
|
|
2
|
+
import type { IconProps } from '@phosphor-icons/react';
|
|
3
|
+
export type IconName = keyof typeof PhosphorIcons;
|
|
4
|
+
export declare const getIconComponent: (iconName: IconName, props: IconProps & {
|
|
5
|
+
"data-testid"?: string;
|
|
6
|
+
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TypographySize, TypographyWeight } from '../stories/Typography';
|
|
2
|
+
export declare const getTypographySizeToken: (size: TypographySize) => string;
|
|
3
|
+
export declare const getTypographyWeightToken: (weight: TypographyWeight) => string;
|
|
4
|
+
export declare const getTextStyles: (sizeToken: string, weightToken: string) => {
|
|
5
|
+
fontSize: string;
|
|
6
|
+
fontWeight: string;
|
|
7
|
+
fontFamily: string;
|
|
8
|
+
lineHeight: string;
|
|
9
|
+
letterSpacing: string;
|
|
10
|
+
paragraphIndent: string;
|
|
11
|
+
paragraphSpacing: string;
|
|
12
|
+
textDecoration: string;
|
|
13
|
+
textTransform: "uppercase" | "none";
|
|
14
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export const getTypographySizeToken = (size) => {
|
|
2
|
+
let sizeLc = size?.toLowerCase() || '';
|
|
3
|
+
if (sizeLc.includes('heading')) {
|
|
4
|
+
sizeLc = sizeLc.replace('heading', 'heading-');
|
|
5
|
+
}
|
|
6
|
+
else if (sizeLc.includes('text')) {
|
|
7
|
+
sizeLc = sizeLc.replace('text', 'text-');
|
|
8
|
+
}
|
|
9
|
+
sizeLc = sizeLc.replace(/(\d)(\D)/g, '$1-$2');
|
|
10
|
+
return sizeLc;
|
|
11
|
+
};
|
|
12
|
+
export const getTypographyWeightToken = (weight) => {
|
|
13
|
+
let weightLc = weight?.toLowerCase() || '';
|
|
14
|
+
if (weightLc.includes('semibold')) {
|
|
15
|
+
weightLc = weightLc.replace('semibold', 'semi-bold');
|
|
16
|
+
}
|
|
17
|
+
return weightLc;
|
|
18
|
+
};
|
|
19
|
+
const getTextTransform = (sizeToken, weightToken) => {
|
|
20
|
+
const computedValue = getComputedStyle(document.documentElement)
|
|
21
|
+
.getPropertyValue(`--global-${sizeToken}-${weightToken}-text-case`)
|
|
22
|
+
.trim();
|
|
23
|
+
return computedValue === 'uppercase' ? 'uppercase' : 'none';
|
|
24
|
+
};
|
|
25
|
+
export const getTextStyles = (sizeToken, weightToken) => {
|
|
26
|
+
const fontSize = `var(--global-${sizeToken}-${weightToken}-font-size)`;
|
|
27
|
+
const fontWeight = `var(--global-${sizeToken}-${weightToken}-font-weight)`;
|
|
28
|
+
const fontFamily = `var(--global-${sizeToken}-${weightToken}-font-family)`;
|
|
29
|
+
const lineHeight = `var(--global-${sizeToken}-${weightToken}-line-height)`;
|
|
30
|
+
const letterSpacing = `var(--global-${sizeToken}-${weightToken}-letter-spacing)`;
|
|
31
|
+
const paragraphIndent = `var(--global-${sizeToken}-${weightToken}-paragraph-indent)`;
|
|
32
|
+
const paragraphSpacing = `var(--global-${sizeToken}-${weightToken}-paragraph-spacing)`;
|
|
33
|
+
const textDecoration = `var(--global-${sizeToken}-${weightToken}-text-decoration)`;
|
|
34
|
+
const textTransform = getTextTransform(sizeToken, weightToken);
|
|
35
|
+
return {
|
|
36
|
+
fontSize,
|
|
37
|
+
fontWeight,
|
|
38
|
+
fontFamily,
|
|
39
|
+
lineHeight,
|
|
40
|
+
letterSpacing,
|
|
41
|
+
paragraphIndent,
|
|
42
|
+
paragraphSpacing,
|
|
43
|
+
textDecoration,
|
|
44
|
+
textTransform,
|
|
45
|
+
};
|
|
46
|
+
};
|