@aurora-ds/components 0.19.2 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +196 -52
- package/dist/cjs/components/actions/button/Button.props.d.ts +9 -9
- package/dist/cjs/components/actions/icon-button/IconButton.props.d.ts +9 -10
- package/dist/cjs/components/data-display/chip/Chip.props.d.ts +5 -5
- package/dist/cjs/components/data-display/skeleton/Skeleton.props.d.ts +2 -2
- package/dist/cjs/components/data-display/skeleton/Skeleton.styles.d.ts +1 -1
- package/dist/cjs/components/foundation/icon/Icon.props.d.ts +6 -6
- package/dist/cjs/components/foundation/icon/Icon.styles.d.ts +1 -1
- package/dist/cjs/components/foundation/text/Text.props.d.ts +5 -5
- package/dist/cjs/components/layout/card/Card.props.d.ts +13 -13
- package/dist/cjs/components/layout/grid/Grid.props.d.ts +7 -7
- package/dist/cjs/components/layout/page-construction/page-section/PageSection.props.d.ts +7 -7
- package/dist/cjs/components/layout/separator/Separator.props.d.ts +3 -3
- package/dist/cjs/components/layout/stack/Stack.props.d.ts +5 -5
- package/dist/cjs/components/overlay/accordion/Accordion.props.d.ts +3 -3
- package/dist/cjs/components/overlay/menu/MenuItem/MenuItem.props.d.ts +3 -3
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.js +235 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces/button.types.d.ts +2 -2
- package/dist/cjs/interfaces/index.d.ts +1 -0
- package/dist/cjs/interfaces/theme.contracts.d.ts +235 -0
- package/dist/cjs/theme/defaultTheme.d.ts +29 -0
- package/dist/cjs/theme/theme.module.d.ts +32 -0
- package/dist/cjs/theme/theme.types.d.ts +17 -0
- package/dist/cjs/theme/types/themeBreakpoints.types.d.ts +5 -0
- package/dist/cjs/theme/types/themeColor.types.d.ts +5 -0
- package/dist/cjs/theme/types/themeFontSize.types.d.ts +5 -0
- package/dist/cjs/theme/types/themeFontWeight.types.d.ts +5 -0
- package/dist/cjs/theme/types/themeLineHeight.types.d.ts +5 -0
- package/dist/cjs/theme/types/themeOpacity.types.d.ts +5 -0
- package/dist/cjs/theme/types/themeRadius.types.d.ts +5 -0
- package/dist/cjs/theme/types/themeShadows.types.d.ts +5 -0
- package/dist/cjs/theme/types/themeSpacing.types.d.ts +5 -0
- package/dist/cjs/theme/types/themeTransition.types.d.ts +5 -0
- package/dist/cjs/theme/types/themeZIndex.types.d.ts +5 -0
- package/dist/cjs/theme/values/themeBreakpoints.d.ts +5 -0
- package/dist/cjs/theme/values/themeColors.d.ts +6 -0
- package/dist/cjs/theme/values/themeFontSize.d.ts +5 -0
- package/dist/cjs/theme/values/themeFontWeight.d.ts +5 -0
- package/dist/cjs/theme/values/themeLineHeight.d.ts +5 -0
- package/dist/cjs/theme/values/themeOpacity.d.ts +5 -0
- package/dist/cjs/theme/values/themeRadius.d.ts +5 -0
- package/dist/cjs/theme/values/themeShadows.d.ts +5 -0
- package/dist/cjs/theme/values/themeSpacing.d.ts +5 -0
- package/dist/cjs/theme/values/themeTransition.d.ts +5 -0
- package/dist/cjs/theme/values/themeZIndex.d.ts +5 -0
- package/dist/cjs/utils/ui/components/actions/button/getButtonSizeStyles.utils.d.ts +4 -4
- package/dist/cjs/utils/ui/components/actions/icon-button/getIconButtonSizeStyles.utils.d.ts +3 -3
- package/dist/cjs/utils/ui/components/data-display/avatar/getAvatarSizes.utils.d.ts +2 -2
- package/dist/cjs/utils/ui/components/data-display/chip/getChipColorStyles.utils.d.ts +2 -2
- package/dist/cjs/utils/ui/components/data-display/chip/getChipSizeStyles.utils.d.ts +2 -2
- package/dist/cjs/utils/ui/components/foundation/text/getTextVariantStyles.utils.d.ts +2 -2
- package/dist/cjs/utils/ui/components/overlay/alert/getAlertVariantColors.utils.d.ts +2 -2
- package/dist/esm/components/actions/button/Button.props.d.ts +9 -9
- package/dist/esm/components/actions/icon-button/IconButton.props.d.ts +9 -10
- package/dist/esm/components/data-display/chip/Chip.props.d.ts +5 -5
- package/dist/esm/components/data-display/skeleton/Skeleton.props.d.ts +2 -2
- package/dist/esm/components/data-display/skeleton/Skeleton.styles.d.ts +1 -1
- package/dist/esm/components/foundation/icon/Icon.props.d.ts +6 -6
- package/dist/esm/components/foundation/icon/Icon.styles.d.ts +1 -1
- package/dist/esm/components/foundation/text/Text.props.d.ts +5 -5
- package/dist/esm/components/layout/card/Card.props.d.ts +13 -13
- package/dist/esm/components/layout/grid/Grid.props.d.ts +7 -7
- package/dist/esm/components/layout/page-construction/page-section/PageSection.props.d.ts +7 -7
- package/dist/esm/components/layout/separator/Separator.props.d.ts +3 -3
- package/dist/esm/components/layout/stack/Stack.props.d.ts +5 -5
- package/dist/esm/components/overlay/accordion/Accordion.props.d.ts +3 -3
- package/dist/esm/components/overlay/menu/MenuItem/MenuItem.props.d.ts +3 -3
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +235 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/button.types.d.ts +2 -2
- package/dist/esm/interfaces/index.d.ts +1 -0
- package/dist/esm/interfaces/theme.contracts.d.ts +235 -0
- package/dist/esm/theme/defaultTheme.d.ts +29 -0
- package/dist/esm/theme/theme.module.d.ts +32 -0
- package/dist/esm/theme/theme.types.d.ts +17 -0
- package/dist/esm/theme/types/themeBreakpoints.types.d.ts +5 -0
- package/dist/esm/theme/types/themeColor.types.d.ts +5 -0
- package/dist/esm/theme/types/themeFontSize.types.d.ts +5 -0
- package/dist/esm/theme/types/themeFontWeight.types.d.ts +5 -0
- package/dist/esm/theme/types/themeLineHeight.types.d.ts +5 -0
- package/dist/esm/theme/types/themeOpacity.types.d.ts +5 -0
- package/dist/esm/theme/types/themeRadius.types.d.ts +5 -0
- package/dist/esm/theme/types/themeShadows.types.d.ts +5 -0
- package/dist/esm/theme/types/themeSpacing.types.d.ts +5 -0
- package/dist/esm/theme/types/themeTransition.types.d.ts +5 -0
- package/dist/esm/theme/types/themeZIndex.types.d.ts +5 -0
- package/dist/esm/theme/values/themeBreakpoints.d.ts +5 -0
- package/dist/esm/theme/values/themeColors.d.ts +6 -0
- package/dist/esm/theme/values/themeFontSize.d.ts +5 -0
- package/dist/esm/theme/values/themeFontWeight.d.ts +5 -0
- package/dist/esm/theme/values/themeLineHeight.d.ts +5 -0
- package/dist/esm/theme/values/themeOpacity.d.ts +5 -0
- package/dist/esm/theme/values/themeRadius.d.ts +5 -0
- package/dist/esm/theme/values/themeShadows.d.ts +5 -0
- package/dist/esm/theme/values/themeSpacing.d.ts +5 -0
- package/dist/esm/theme/values/themeTransition.d.ts +5 -0
- package/dist/esm/theme/values/themeZIndex.d.ts +5 -0
- package/dist/esm/utils/ui/components/actions/button/getButtonSizeStyles.utils.d.ts +4 -4
- package/dist/esm/utils/ui/components/actions/icon-button/getIconButtonSizeStyles.utils.d.ts +3 -3
- package/dist/esm/utils/ui/components/data-display/avatar/getAvatarSizes.utils.d.ts +2 -2
- package/dist/esm/utils/ui/components/data-display/chip/getChipColorStyles.utils.d.ts +2 -2
- package/dist/esm/utils/ui/components/data-display/chip/getChipSizeStyles.utils.d.ts +2 -2
- package/dist/esm/utils/ui/components/foundation/text/getTextVariantStyles.utils.d.ts +2 -2
- package/dist/esm/utils/ui/components/overlay/alert/getAlertVariantColors.utils.d.ts +2 -2
- package/dist/index.d.ts +420 -108
- package/package.json +4 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,18 +1,322 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { PropsWithChildren, FC, ReactNode, MouseEvent, CSSProperties, FormEvent, ComponentPropsWithoutRef, ReactElement, RefObject } from 'react';
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Alert variant types
|
|
6
|
+
*/
|
|
7
|
+
type AlertVariant = 'default' | 'info' | 'warning' | 'error' | 'success';
|
|
8
|
+
/**
|
|
9
|
+
* Alert position types
|
|
10
|
+
*/
|
|
11
|
+
type AlertPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
12
|
+
|
|
13
|
+
type ButtonVariants = 'contained' | 'outlined' | 'text' | 'destructive' | 'link';
|
|
14
|
+
type IconButtonVariants = Exclude<ButtonVariants, 'link'>;
|
|
15
|
+
type IconButtonSizes = 'small' | 'medium' | 'large';
|
|
16
|
+
type ButtonVariantStyle = {
|
|
17
|
+
default: {
|
|
18
|
+
backgroundColor: string;
|
|
19
|
+
color: string;
|
|
20
|
+
border: string;
|
|
21
|
+
textDecoration?: string;
|
|
22
|
+
textDecorationColor?: string;
|
|
23
|
+
textUnderlineOffset?: string;
|
|
24
|
+
};
|
|
25
|
+
hover: {
|
|
26
|
+
backgroundColor: string;
|
|
27
|
+
textDecoration?: string;
|
|
28
|
+
textDecorationColor?: string;
|
|
29
|
+
textUnderlineOffset?: string;
|
|
30
|
+
};
|
|
31
|
+
pressed: {
|
|
32
|
+
backgroundColor: string;
|
|
33
|
+
textDecoration?: string;
|
|
34
|
+
textDecorationColor?: string;
|
|
35
|
+
color?: string;
|
|
36
|
+
textUnderlineOffset?: string;
|
|
37
|
+
};
|
|
38
|
+
disabled: {
|
|
39
|
+
color: string;
|
|
40
|
+
cursor: string;
|
|
41
|
+
backgroundColor: string;
|
|
42
|
+
borderColor?: string;
|
|
43
|
+
textDecoration?: string;
|
|
44
|
+
textUnderlineOffset?: string;
|
|
45
|
+
};
|
|
46
|
+
textColor: keyof ThemeContract['colors'];
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
type TextVariants = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'label';
|
|
50
|
+
type TextVariantStyle = {
|
|
51
|
+
tag: TextVariants;
|
|
52
|
+
fontSize: string;
|
|
53
|
+
fontWeight: number;
|
|
54
|
+
lineHeight: number;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
/** Chip variant options */
|
|
58
|
+
type ChipVariant = 'filled' | 'outlined';
|
|
59
|
+
/** Chip color options */
|
|
60
|
+
type ChipColor = 'default' | 'success' | 'warning' | 'error' | 'info';
|
|
61
|
+
/** Chip size options */
|
|
62
|
+
type ChipSize = '2xs' | 'xs' | 'sm' | 'md' | 'lg';
|
|
63
|
+
|
|
64
|
+
/** Avatar size variants */
|
|
65
|
+
type AvatarSize = 'small' | 'medium' | 'large';
|
|
66
|
+
|
|
67
|
+
type SelectOption = {
|
|
68
|
+
label: string;
|
|
69
|
+
value: string | number;
|
|
70
|
+
disabled?: boolean;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Theme Contracts for aurora-ds-components
|
|
75
|
+
*
|
|
76
|
+
* These interfaces define the MINIMUM required theme structure.
|
|
77
|
+
* All projects using this library MUST provide these tokens.
|
|
78
|
+
*
|
|
79
|
+
* You can extend these contracts with your own custom tokens:
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* import type { ThemeColorContract } from 'aurora-ds-components'
|
|
84
|
+
*
|
|
85
|
+
* // Extend with custom tokens
|
|
86
|
+
* export interface ThemeColorTypes extends ThemeColorContract {
|
|
87
|
+
* // Required tokens already included via extends
|
|
88
|
+
*
|
|
89
|
+
* // Add your custom tokens
|
|
90
|
+
* highlight: string
|
|
91
|
+
* accent: string
|
|
92
|
+
* }
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
/**
|
|
96
|
+
* Minimum color tokens required by aurora-ds-components
|
|
97
|
+
* Projects can extend this interface with additional tokens
|
|
98
|
+
*/
|
|
99
|
+
interface ThemeColorContract {
|
|
100
|
+
background: string;
|
|
101
|
+
surface: string;
|
|
102
|
+
surfaceHover: string;
|
|
103
|
+
surfaceActive: string;
|
|
104
|
+
text: string;
|
|
105
|
+
textSecondary: string;
|
|
106
|
+
textTertiary: string;
|
|
107
|
+
primary: string;
|
|
108
|
+
primaryHover: string;
|
|
109
|
+
primaryActive: string;
|
|
110
|
+
primarySubtle: string;
|
|
111
|
+
primaryDisabled: string;
|
|
112
|
+
onPrimary: string;
|
|
113
|
+
secondary: string;
|
|
114
|
+
secondaryHover: string;
|
|
115
|
+
secondaryActive: string;
|
|
116
|
+
secondarySubtle: string;
|
|
117
|
+
secondaryDisabled: string;
|
|
118
|
+
onSecondary: string;
|
|
119
|
+
border: string;
|
|
120
|
+
disabledText: string;
|
|
121
|
+
disabled: string;
|
|
122
|
+
success: string;
|
|
123
|
+
successSubtle: string;
|
|
124
|
+
warning: string;
|
|
125
|
+
warningSubtle: string;
|
|
126
|
+
error: string;
|
|
127
|
+
errorHover: string;
|
|
128
|
+
errorSubtle: string;
|
|
129
|
+
onError: string;
|
|
130
|
+
info: string;
|
|
131
|
+
infoSubtle: string;
|
|
132
|
+
highlight: string;
|
|
133
|
+
highlightSubtle: string;
|
|
134
|
+
accent: string;
|
|
135
|
+
accentSubtle: string;
|
|
136
|
+
link: string;
|
|
137
|
+
linkHover: string;
|
|
138
|
+
linkActive: string;
|
|
139
|
+
linkDisabled: string;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Minimum spacing tokens required by aurora-ds-components
|
|
143
|
+
*/
|
|
144
|
+
interface ThemeSpacingContract {
|
|
145
|
+
none: string;
|
|
146
|
+
'2xs': string;
|
|
147
|
+
xs: string;
|
|
148
|
+
sm: string;
|
|
149
|
+
md: string;
|
|
150
|
+
lg: string;
|
|
151
|
+
xl: string;
|
|
152
|
+
'2xl': string;
|
|
153
|
+
'3xl': string;
|
|
154
|
+
'4xl': string;
|
|
155
|
+
'5xl': string;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Minimum border radius tokens required by aurora-ds-components
|
|
159
|
+
*/
|
|
160
|
+
interface ThemeRadiusContract {
|
|
161
|
+
none: string;
|
|
162
|
+
xs: string;
|
|
163
|
+
sm: string;
|
|
164
|
+
md: string;
|
|
165
|
+
lg: string;
|
|
166
|
+
xl: string;
|
|
167
|
+
'2xl': string;
|
|
168
|
+
full: string;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Minimum font size tokens required by aurora-ds-components
|
|
172
|
+
*/
|
|
173
|
+
interface ThemeFontSizeContract {
|
|
174
|
+
'2xs': string;
|
|
175
|
+
xs: string;
|
|
176
|
+
sm: string;
|
|
177
|
+
md: string;
|
|
178
|
+
lg: string;
|
|
179
|
+
xl: string;
|
|
180
|
+
'2xl': string;
|
|
181
|
+
'3xl': string;
|
|
182
|
+
'4xl': string;
|
|
183
|
+
'5xl': string;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Minimum font weight tokens required by aurora-ds-components
|
|
187
|
+
*/
|
|
188
|
+
interface ThemeFontWeightContract {
|
|
189
|
+
light: number;
|
|
190
|
+
regular: number;
|
|
191
|
+
medium: number;
|
|
192
|
+
semibold: number;
|
|
193
|
+
bold: number;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Minimum line height tokens required by aurora-ds-components
|
|
197
|
+
*/
|
|
198
|
+
interface ThemeLineHeightContract {
|
|
199
|
+
none: number;
|
|
200
|
+
tight: number;
|
|
201
|
+
normal: number;
|
|
202
|
+
relaxed: number;
|
|
203
|
+
loose: number;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Minimum opacity tokens required by aurora-ds-components
|
|
207
|
+
*/
|
|
208
|
+
interface ThemeOpacityContract {
|
|
209
|
+
none: number;
|
|
210
|
+
lowest: number;
|
|
211
|
+
low: number;
|
|
212
|
+
medium: number;
|
|
213
|
+
high: number;
|
|
214
|
+
higher: number;
|
|
215
|
+
full: number;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Minimum shadow tokens required by aurora-ds-components
|
|
219
|
+
*/
|
|
220
|
+
interface ThemeShadowsContract {
|
|
221
|
+
none: string;
|
|
222
|
+
xs: string;
|
|
223
|
+
sm: string;
|
|
224
|
+
md: string;
|
|
225
|
+
lg: string;
|
|
226
|
+
xl: string;
|
|
227
|
+
'2xl': string;
|
|
228
|
+
inner: string;
|
|
229
|
+
focus: string;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Minimum transition tokens required by aurora-ds-components
|
|
233
|
+
*/
|
|
234
|
+
interface ThemeTransitionContract {
|
|
235
|
+
fast: string;
|
|
236
|
+
normal: string;
|
|
237
|
+
slow: string;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Minimum breakpoint tokens required by aurora-ds-components
|
|
241
|
+
*/
|
|
242
|
+
interface ThemeBreakpointsContract {
|
|
243
|
+
xs: string;
|
|
244
|
+
sm: string;
|
|
245
|
+
md: string;
|
|
246
|
+
lg: string;
|
|
247
|
+
xl: string;
|
|
248
|
+
'2xl': string;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Minimum z-index tokens required by aurora-ds-components
|
|
252
|
+
*/
|
|
253
|
+
interface ThemeZIndexContract {
|
|
254
|
+
behind: number;
|
|
255
|
+
base: number;
|
|
256
|
+
dropdown: number;
|
|
257
|
+
sticky: number;
|
|
258
|
+
overlay: number;
|
|
259
|
+
modal: number;
|
|
260
|
+
popover: number;
|
|
261
|
+
tooltip: number;
|
|
262
|
+
toast: number;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Complete theme contract required by aurora-ds-components
|
|
266
|
+
*
|
|
267
|
+
* Your theme MUST provide at minimum these tokens.
|
|
268
|
+
* You can add custom tokens by extending the sub-contracts.
|
|
269
|
+
*
|
|
270
|
+
* @example
|
|
271
|
+
* ```typescript
|
|
272
|
+
* import type {
|
|
273
|
+
* ThemeColorContract,
|
|
274
|
+
* ThemeSpacingContract
|
|
275
|
+
* } from 'aurora-ds-components'
|
|
276
|
+
*
|
|
277
|
+
* // Extend contracts with custom tokens
|
|
278
|
+
* interface MyColors extends ThemeColorContract {
|
|
279
|
+
* highlight: string
|
|
280
|
+
* accent: string
|
|
281
|
+
* }
|
|
282
|
+
*
|
|
283
|
+
* interface MySpacing extends ThemeSpacingContract {
|
|
284
|
+
* '6xl': string
|
|
285
|
+
* }
|
|
286
|
+
*
|
|
287
|
+
* // Define your theme type
|
|
288
|
+
* interface MyTheme {
|
|
289
|
+
* colors: MyColors
|
|
290
|
+
* spacing: MySpacing
|
|
291
|
+
* // ... other required properties
|
|
292
|
+
* }
|
|
293
|
+
* ```
|
|
294
|
+
*/
|
|
295
|
+
interface ThemeContract {
|
|
296
|
+
colors: ThemeColorContract;
|
|
297
|
+
spacing: ThemeSpacingContract;
|
|
298
|
+
radius: ThemeRadiusContract;
|
|
299
|
+
shadows: ThemeShadowsContract;
|
|
300
|
+
fontSize: ThemeFontSizeContract;
|
|
301
|
+
fontWeight: ThemeFontWeightContract;
|
|
302
|
+
lineHeight: ThemeLineHeightContract;
|
|
303
|
+
zIndex: ThemeZIndexContract;
|
|
304
|
+
transition: ThemeTransitionContract;
|
|
305
|
+
opacity: ThemeOpacityContract;
|
|
306
|
+
breakpoints: ThemeBreakpointsContract;
|
|
307
|
+
}
|
|
4
308
|
|
|
5
309
|
type IconProps = PropsWithChildren<{
|
|
6
310
|
/** Icon size based on theme font sizes */
|
|
7
|
-
size?: keyof
|
|
311
|
+
size?: keyof ThemeContract['fontSize'];
|
|
8
312
|
/** Icon stroke/line color from theme */
|
|
9
|
-
color?: keyof
|
|
313
|
+
color?: keyof ThemeContract['colors'];
|
|
10
314
|
/** Background color from theme */
|
|
11
|
-
backgroundColor?: keyof
|
|
315
|
+
backgroundColor?: keyof ThemeContract['colors'];
|
|
12
316
|
/** Padding from theme spacing */
|
|
13
|
-
padding?: keyof
|
|
317
|
+
padding?: keyof ThemeContract['spacing'];
|
|
14
318
|
/** Border radius from theme */
|
|
15
|
-
borderRadius?: keyof
|
|
319
|
+
borderRadius?: keyof ThemeContract['radius'];
|
|
16
320
|
/** Accessibility label for screen readers */
|
|
17
321
|
ariaLabel?: string;
|
|
18
322
|
/** ID of element that labels this icon */
|
|
@@ -58,21 +362,13 @@ type IconProps = PropsWithChildren<{
|
|
|
58
362
|
*/
|
|
59
363
|
declare const Icon: FC<IconProps>;
|
|
60
364
|
|
|
61
|
-
type TextVariants = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'label';
|
|
62
|
-
type TextVariantStyle = {
|
|
63
|
-
tag: TextVariants;
|
|
64
|
-
fontSize: string;
|
|
65
|
-
fontWeight: number;
|
|
66
|
-
lineHeight: number;
|
|
67
|
-
};
|
|
68
|
-
|
|
69
365
|
type TextProps = PropsWithChildren<{
|
|
70
366
|
/** Text variant that determines the HTML tag and default styling */
|
|
71
367
|
variant?: TextVariants;
|
|
72
368
|
/** Text color from theme */
|
|
73
|
-
color?: keyof
|
|
369
|
+
color?: keyof ThemeContract['colors'];
|
|
74
370
|
/** Font size from theme (overrides variant fontSize if provided) */
|
|
75
|
-
fontSize?: keyof
|
|
371
|
+
fontSize?: keyof ThemeContract['fontSize'];
|
|
76
372
|
/** Font family override (CSS value) */
|
|
77
373
|
fontFamily?: string;
|
|
78
374
|
/** Maximum number of lines before truncation with ellipsis */
|
|
@@ -112,13 +408,6 @@ type TextProps = PropsWithChildren<{
|
|
|
112
408
|
*/
|
|
113
409
|
declare const Text: FC<TextProps>;
|
|
114
410
|
|
|
115
|
-
/** Chip variant options */
|
|
116
|
-
type ChipVariant = 'filled' | 'outlined';
|
|
117
|
-
/** Chip color options */
|
|
118
|
-
type ChipColor = 'default' | 'success' | 'warning' | 'error' | 'info';
|
|
119
|
-
/** Chip size options */
|
|
120
|
-
type ChipSize = '2xs' | 'xs' | 'sm' | 'md' | 'lg';
|
|
121
|
-
|
|
122
411
|
type ChipProps = {
|
|
123
412
|
/** Text label to display */
|
|
124
413
|
label?: string;
|
|
@@ -131,9 +420,9 @@ type ChipProps = {
|
|
|
131
420
|
/** Chip size */
|
|
132
421
|
size?: ChipSize;
|
|
133
422
|
/** Gap between icon and text (theme spacing key) */
|
|
134
|
-
gap?: keyof
|
|
423
|
+
gap?: keyof ThemeContract['spacing'];
|
|
135
424
|
/** Border radius from theme */
|
|
136
|
-
radius?: keyof
|
|
425
|
+
radius?: keyof ThemeContract['radius'];
|
|
137
426
|
/** Disabled state */
|
|
138
427
|
disabled?: boolean;
|
|
139
428
|
/** Accessibility label for screen readers */
|
|
@@ -162,9 +451,6 @@ type ChipProps = {
|
|
|
162
451
|
*/
|
|
163
452
|
declare const Chip: FC<ChipProps>;
|
|
164
453
|
|
|
165
|
-
/** Avatar size variants */
|
|
166
|
-
type AvatarSize = 'small' | 'medium' | 'large';
|
|
167
|
-
|
|
168
454
|
type AvatarProps = {
|
|
169
455
|
/** Image source URL */
|
|
170
456
|
image?: string;
|
|
@@ -196,57 +482,6 @@ declare const Avatar: FC<AvatarProps>;
|
|
|
196
482
|
*/
|
|
197
483
|
declare const AvatarGroup: FC<AvatarGroupProps>;
|
|
198
484
|
|
|
199
|
-
/**
|
|
200
|
-
* Alert variant types
|
|
201
|
-
*/
|
|
202
|
-
type AlertVariant = 'default' | 'info' | 'warning' | 'error' | 'success';
|
|
203
|
-
/**
|
|
204
|
-
* Alert position types
|
|
205
|
-
*/
|
|
206
|
-
type AlertPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
207
|
-
|
|
208
|
-
type ButtonVariants = 'contained' | 'outlined' | 'text' | 'destructive' | 'link';
|
|
209
|
-
type IconButtonVariants = Exclude<ButtonVariants, 'link'>;
|
|
210
|
-
type IconButtonSizes = 'small' | 'medium' | 'large';
|
|
211
|
-
type ButtonVariantStyle = {
|
|
212
|
-
default: {
|
|
213
|
-
backgroundColor: string;
|
|
214
|
-
color: string;
|
|
215
|
-
border: string;
|
|
216
|
-
textDecoration?: string;
|
|
217
|
-
textDecorationColor?: string;
|
|
218
|
-
textUnderlineOffset?: string;
|
|
219
|
-
};
|
|
220
|
-
hover: {
|
|
221
|
-
backgroundColor: string;
|
|
222
|
-
textDecoration?: string;
|
|
223
|
-
textDecorationColor?: string;
|
|
224
|
-
textUnderlineOffset?: string;
|
|
225
|
-
};
|
|
226
|
-
pressed: {
|
|
227
|
-
backgroundColor: string;
|
|
228
|
-
textDecoration?: string;
|
|
229
|
-
textDecorationColor?: string;
|
|
230
|
-
color?: string;
|
|
231
|
-
textUnderlineOffset?: string;
|
|
232
|
-
};
|
|
233
|
-
disabled: {
|
|
234
|
-
color: string;
|
|
235
|
-
cursor: string;
|
|
236
|
-
backgroundColor: string;
|
|
237
|
-
borderColor?: string;
|
|
238
|
-
textDecoration?: string;
|
|
239
|
-
textUnderlineOffset?: string;
|
|
240
|
-
};
|
|
241
|
-
textColor: keyof Theme['colors'];
|
|
242
|
-
};
|
|
243
|
-
|
|
244
|
-
type SelectOption = {
|
|
245
|
-
label: string;
|
|
246
|
-
value: string | number;
|
|
247
|
-
disabled?: boolean;
|
|
248
|
-
};
|
|
249
|
-
|
|
250
485
|
type AvatarGroupProps = {
|
|
251
486
|
/** Avatar children */
|
|
252
487
|
children: ReactNode;
|
|
@@ -259,7 +494,7 @@ type AvatarGroupProps = {
|
|
|
259
494
|
type SkeletonProps = {
|
|
260
495
|
width: CSSProperties['width'];
|
|
261
496
|
height: CSSProperties['height'];
|
|
262
|
-
borderRadius?: keyof
|
|
497
|
+
borderRadius?: keyof ThemeContract['radius'];
|
|
263
498
|
};
|
|
264
499
|
|
|
265
500
|
declare const Skeleton: FC<SkeletonProps>;
|
|
@@ -282,13 +517,13 @@ type ButtonProps = {
|
|
|
282
517
|
/** Disabled state */
|
|
283
518
|
disabled?: boolean;
|
|
284
519
|
/** Custom text color (overrides variant color) */
|
|
285
|
-
textColor?: keyof
|
|
520
|
+
textColor?: keyof ThemeContract['colors'];
|
|
286
521
|
/** Custom backgroundColor (overrides variant backgroundColor) */
|
|
287
|
-
backgroundColor?: keyof
|
|
522
|
+
backgroundColor?: keyof ThemeContract['colors'];
|
|
288
523
|
/** Custom hover backgroundColor (overrides variant hover backgroundColor) */
|
|
289
|
-
hoverBackgroundColor?: keyof
|
|
524
|
+
hoverBackgroundColor?: keyof ThemeContract['colors'];
|
|
290
525
|
/** Custom active backgroundColor (overrides variant active backgroundColor) */
|
|
291
|
-
activeBackgroundColor?: keyof
|
|
526
|
+
activeBackgroundColor?: keyof ThemeContract['colors'];
|
|
292
527
|
/** Size of the button */
|
|
293
528
|
size?: IconButtonSizes;
|
|
294
529
|
/** Accessibility label for screen readers */
|
|
@@ -327,13 +562,13 @@ type IconButtonProps = {
|
|
|
327
562
|
/** Disabled state */
|
|
328
563
|
disabled?: boolean;
|
|
329
564
|
/** Custom text/icon color (overrides variant color) */
|
|
330
|
-
textColor?: keyof
|
|
565
|
+
textColor?: keyof ThemeContract['colors'];
|
|
331
566
|
/** Custom backgroundColor (overrides variant backgroundColor) */
|
|
332
|
-
backgroundColor?: keyof
|
|
567
|
+
backgroundColor?: keyof ThemeContract['colors'];
|
|
333
568
|
/** Custom hover backgroundColor (overrides variant hover backgroundColor) */
|
|
334
|
-
hoverBackgroundColor?: keyof
|
|
569
|
+
hoverBackgroundColor?: keyof ThemeContract['colors'];
|
|
335
570
|
/** Custom active backgroundColor (overrides variant active backgroundColor) */
|
|
336
|
-
activeBackgroundColor?: keyof
|
|
571
|
+
activeBackgroundColor?: keyof ThemeContract['colors'];
|
|
337
572
|
/** Size of the icon button */
|
|
338
573
|
size?: IconButtonSizes;
|
|
339
574
|
/** Accessibility label for screen readers */
|
|
@@ -487,7 +722,7 @@ type StackProps = {
|
|
|
487
722
|
/** Flex direction of the stack */
|
|
488
723
|
direction?: CSSProperties['flexDirection'];
|
|
489
724
|
/** Gap between children (theme spacing or CSS value) */
|
|
490
|
-
gap?: keyof
|
|
725
|
+
gap?: keyof ThemeContract['spacing'];
|
|
491
726
|
/** Width of the stack container */
|
|
492
727
|
width?: CSSProperties['width'];
|
|
493
728
|
/** Height of the stack container */
|
|
@@ -499,7 +734,7 @@ type StackProps = {
|
|
|
499
734
|
/** Whether items should wrap */
|
|
500
735
|
wrap?: CSSProperties['flexWrap'];
|
|
501
736
|
/** Padding inside the stack */
|
|
502
|
-
padding?: keyof
|
|
737
|
+
padding?: keyof ThemeContract['spacing'];
|
|
503
738
|
/** Accessibility label for screen readers */
|
|
504
739
|
ariaLabel?: string;
|
|
505
740
|
/** ID of element that labels this stack */
|
|
@@ -529,25 +764,25 @@ type CardProps = {
|
|
|
529
764
|
/** Flex direction of the card content */
|
|
530
765
|
direction?: CSSProperties['flexDirection'];
|
|
531
766
|
/** Padding inside the card (theme spacing key) */
|
|
532
|
-
padding?: keyof
|
|
767
|
+
padding?: keyof ThemeContract['spacing'];
|
|
533
768
|
/** Width of the card */
|
|
534
769
|
width?: CSSProperties['width'];
|
|
535
770
|
/** Height of the card */
|
|
536
771
|
height?: CSSProperties['height'];
|
|
537
772
|
/** Gap between children (theme spacing key) */
|
|
538
|
-
gap?: keyof
|
|
773
|
+
gap?: keyof ThemeContract['spacing'];
|
|
539
774
|
/** Border radius of the card */
|
|
540
|
-
radius?: keyof
|
|
775
|
+
radius?: keyof ThemeContract['radius'];
|
|
541
776
|
/** Shadow depth of the card */
|
|
542
|
-
shadow?: keyof
|
|
777
|
+
shadow?: keyof ThemeContract['shadows'];
|
|
543
778
|
/** Alignment of items on the cross axis */
|
|
544
779
|
align?: CSSProperties['alignItems'];
|
|
545
780
|
/** Justification of items on the main axis */
|
|
546
781
|
justify?: CSSProperties['justifyContent'];
|
|
547
782
|
/** Background color of the card */
|
|
548
|
-
backgroundColor?: keyof
|
|
783
|
+
backgroundColor?: keyof ThemeContract['colors'];
|
|
549
784
|
/** Border color of the card */
|
|
550
|
-
borderColor?: keyof
|
|
785
|
+
borderColor?: keyof ThemeContract['colors'];
|
|
551
786
|
/** Accessibility label for screen readers */
|
|
552
787
|
ariaLabel?: string;
|
|
553
788
|
/** ID of element that labels this card */
|
|
@@ -580,9 +815,9 @@ type GridProps = {
|
|
|
580
815
|
/** Number of rows. */
|
|
581
816
|
rows?: number;
|
|
582
817
|
/** Gap between columns (theme spacing key) */
|
|
583
|
-
columnGap?: keyof
|
|
818
|
+
columnGap?: keyof ThemeContract['spacing'];
|
|
584
819
|
/** Gap between rows (theme spacing key) */
|
|
585
|
-
rowGap?: keyof
|
|
820
|
+
rowGap?: keyof ThemeContract['spacing'];
|
|
586
821
|
/** Width of the grid container */
|
|
587
822
|
width?: CSSProperties['width'];
|
|
588
823
|
/** Height of the grid container */
|
|
@@ -598,7 +833,7 @@ type GridProps = {
|
|
|
598
833
|
/** Justification of the entire grid within its container (main axis) */
|
|
599
834
|
justifyContent?: CSSProperties['justifyContent'];
|
|
600
835
|
/** Padding inside the grid */
|
|
601
|
-
padding?: keyof
|
|
836
|
+
padding?: keyof ThemeContract['spacing'];
|
|
602
837
|
/** Minimum width for each grid child. Enables responsive auto-fill behavior. */
|
|
603
838
|
minChildWidth?: CSSProperties['width'];
|
|
604
839
|
/** Accessibility label for screen readers */
|
|
@@ -634,7 +869,7 @@ type SeparatorProps = {
|
|
|
634
869
|
/** Custom height (overrides default) */
|
|
635
870
|
height?: string | number;
|
|
636
871
|
/** Custom color (overrides default) */
|
|
637
|
-
color?: keyof
|
|
872
|
+
color?: keyof ThemeContract['colors'];
|
|
638
873
|
};
|
|
639
874
|
|
|
640
875
|
/**
|
|
@@ -646,11 +881,11 @@ declare const Separator: FC<SeparatorProps>;
|
|
|
646
881
|
|
|
647
882
|
type PageSectionProps = PropsWithChildren<{
|
|
648
883
|
/** Gap between child elements */
|
|
649
|
-
gap?: keyof
|
|
884
|
+
gap?: keyof ThemeContract['spacing'];
|
|
650
885
|
/** Horizontal padding around the section */
|
|
651
|
-
paddingHorizontal?: keyof
|
|
886
|
+
paddingHorizontal?: keyof ThemeContract['spacing'];
|
|
652
887
|
/** Vertical padding around the section */
|
|
653
|
-
paddingVertical?: keyof
|
|
888
|
+
paddingVertical?: keyof ThemeContract['spacing'];
|
|
654
889
|
/** Alignment of items within the section */
|
|
655
890
|
alignItems?: CSSProperties['alignItems'];
|
|
656
891
|
/** Maximum width of the section */
|
|
@@ -726,7 +961,7 @@ type AccordionProps = {
|
|
|
726
961
|
/** Optional icon to display before title */
|
|
727
962
|
icon?: ReactNode;
|
|
728
963
|
/** Optional background color */
|
|
729
|
-
backgroundColor?: keyof
|
|
964
|
+
backgroundColor?: keyof ThemeContract['colors'];
|
|
730
965
|
/** Optional width */
|
|
731
966
|
width?: CSSProperties['width'];
|
|
732
967
|
/** Padding for the accordion header */
|
|
@@ -854,8 +1089,8 @@ type MenuItemProps = {
|
|
|
854
1089
|
label: string;
|
|
855
1090
|
icon?: ReactNode;
|
|
856
1091
|
onClick: () => void;
|
|
857
|
-
textColor?: keyof
|
|
858
|
-
iconColor?: keyof
|
|
1092
|
+
textColor?: keyof ThemeContract['colors'];
|
|
1093
|
+
iconColor?: keyof ThemeContract['colors'];
|
|
859
1094
|
};
|
|
860
1095
|
|
|
861
1096
|
declare const MenuItem: FC<MenuItemProps>;
|
|
@@ -1151,5 +1386,82 @@ type UseTransitionRenderReturnType = {
|
|
|
1151
1386
|
*/
|
|
1152
1387
|
declare const useTransitionRender: (isOpen: boolean, duration?: number) => UseTransitionRenderReturnType;
|
|
1153
1388
|
|
|
1154
|
-
|
|
1155
|
-
|
|
1389
|
+
/**
|
|
1390
|
+
* Default theme type for aurora-ds-components
|
|
1391
|
+
*/
|
|
1392
|
+
type Theme = {
|
|
1393
|
+
colors: ThemeColorContract;
|
|
1394
|
+
spacing: ThemeSpacingContract;
|
|
1395
|
+
radius: ThemeRadiusContract;
|
|
1396
|
+
shadows: ThemeShadowsContract;
|
|
1397
|
+
fontSize: ThemeFontSizeContract;
|
|
1398
|
+
fontWeight: ThemeFontWeightContract;
|
|
1399
|
+
lineHeight: ThemeLineHeightContract;
|
|
1400
|
+
zIndex: ThemeZIndexContract;
|
|
1401
|
+
transition: ThemeTransitionContract;
|
|
1402
|
+
opacity: ThemeOpacityContract;
|
|
1403
|
+
breakpoints: ThemeBreakpointsContract;
|
|
1404
|
+
};
|
|
1405
|
+
|
|
1406
|
+
/**
|
|
1407
|
+
* Default module augmentation for @aurora-ds/components
|
|
1408
|
+
*
|
|
1409
|
+
* This provides the base theme structure for the library.
|
|
1410
|
+
* Projects can override this to add custom tokens:
|
|
1411
|
+
*
|
|
1412
|
+
* @example
|
|
1413
|
+
* ```typescript
|
|
1414
|
+
* // In your project: src/theme/theme.module.ts
|
|
1415
|
+
* import type { Theme } from '@aurora-ds/components'
|
|
1416
|
+
*
|
|
1417
|
+
* // Extend the base Theme with your custom tokens
|
|
1418
|
+
* interface MyTheme extends Theme {
|
|
1419
|
+
* colors: Theme['colors'] & {
|
|
1420
|
+
* link: string
|
|
1421
|
+
* linkHover: string
|
|
1422
|
+
* }
|
|
1423
|
+
* }
|
|
1424
|
+
*
|
|
1425
|
+
* declare module '@aurora-ds/theme' {
|
|
1426
|
+
* interface ThemeRegistry {
|
|
1427
|
+
* theme: MyTheme // Override with your extended theme
|
|
1428
|
+
* }
|
|
1429
|
+
* }
|
|
1430
|
+
* ```
|
|
1431
|
+
*/
|
|
1432
|
+
declare module '@aurora-ds/theme' {
|
|
1433
|
+
interface ThemeRegistry {
|
|
1434
|
+
theme: Theme;
|
|
1435
|
+
}
|
|
1436
|
+
}
|
|
1437
|
+
|
|
1438
|
+
/**
|
|
1439
|
+
* Default theme for aurora-ds-components
|
|
1440
|
+
*
|
|
1441
|
+
* This theme is used by default if no custom theme is provided.
|
|
1442
|
+
* You can override it by passing your own theme to ThemeProvider:
|
|
1443
|
+
*
|
|
1444
|
+
* @example
|
|
1445
|
+
* ```tsx
|
|
1446
|
+
* import { ThemeProvider } from '@aurora-ds/theme'
|
|
1447
|
+
* import { defaultTheme } from '@aurora-ds/components'
|
|
1448
|
+
*
|
|
1449
|
+
* // Use default theme
|
|
1450
|
+
* <ThemeProvider theme={defaultTheme}>
|
|
1451
|
+
* <App />
|
|
1452
|
+
* </ThemeProvider>
|
|
1453
|
+
*
|
|
1454
|
+
* // Or extend/override it
|
|
1455
|
+
* const myTheme = {
|
|
1456
|
+
* ...defaultTheme,
|
|
1457
|
+
* colors: {
|
|
1458
|
+
* ...defaultTheme.colors,
|
|
1459
|
+
* primary: '#FF0000', // Override primary color
|
|
1460
|
+
* }
|
|
1461
|
+
* }
|
|
1462
|
+
* ```
|
|
1463
|
+
*/
|
|
1464
|
+
declare const defaultTheme: Theme;
|
|
1465
|
+
|
|
1466
|
+
export { Accordion, Alert, AlertProvider, Avatar, AvatarGroup, Breadcrumb, BreadcrumbEllipsis, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, Button, Card, Chip, _default as DatePicker, DrawerItem, _default$3 as Form, Grid, Icon, IconButton, _default$2 as Input, Menu, MenuGroup, MenuItem, Modal, Page, PageSection, Pagination, Select, Separator, Skeleton, Stack, TabItem, Tabs, Text, _default$1 as TextArea, defaultTheme, useAlert, useAnchorPosition, useClickOutside, useTransitionRender };
|
|
1467
|
+
export type { AccordionProps, AlertContextValue, AlertPosition, AlertProps, AlertProviderProps, AlertVariant, AnchorOrigin, AnchorPosition, AvatarGroupProps, AvatarProps, BreadcrumbEllipsisProps, BreadcrumbLinkProps, BreadcrumbPageProps, BreadcrumbProps, BreadcrumbSeparatorProps, ButtonProps, ButtonVariantStyle, ButtonVariants, CardProps, ChipColor, ChipProps, ChipSize, ChipVariant, DateFormat, DatePickerProps, DrawerItemProps, FormProps, GridProps, IconButtonProps, IconProps, InputProps, MenuGroupProps, MenuItemProps, MenuProps, ModalProps, PageProps, PageSectionProps, PaginationProps, SelectOption, SelectProps, SeparatorProps, ShowAlertOptions, SkeletonProps, StackProps, TabItemProps, TabsProps, TextAreaProps, TextProps, TextVariantStyle, TextVariants, Theme, ThemeBreakpointsContract, ThemeColorContract, ThemeContract, ThemeFontSizeContract, ThemeFontWeightContract, ThemeLineHeightContract, ThemeOpacityContract, ThemeRadiusContract, ThemeShadowsContract, ThemeSpacingContract, ThemeTransitionContract, ThemeZIndexContract, UseTransitionRenderReturnType };
|