@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.
Files changed (109) hide show
  1. package/README.md +196 -52
  2. package/dist/cjs/components/actions/button/Button.props.d.ts +9 -9
  3. package/dist/cjs/components/actions/icon-button/IconButton.props.d.ts +9 -10
  4. package/dist/cjs/components/data-display/chip/Chip.props.d.ts +5 -5
  5. package/dist/cjs/components/data-display/skeleton/Skeleton.props.d.ts +2 -2
  6. package/dist/cjs/components/data-display/skeleton/Skeleton.styles.d.ts +1 -1
  7. package/dist/cjs/components/foundation/icon/Icon.props.d.ts +6 -6
  8. package/dist/cjs/components/foundation/icon/Icon.styles.d.ts +1 -1
  9. package/dist/cjs/components/foundation/text/Text.props.d.ts +5 -5
  10. package/dist/cjs/components/layout/card/Card.props.d.ts +13 -13
  11. package/dist/cjs/components/layout/grid/Grid.props.d.ts +7 -7
  12. package/dist/cjs/components/layout/page-construction/page-section/PageSection.props.d.ts +7 -7
  13. package/dist/cjs/components/layout/separator/Separator.props.d.ts +3 -3
  14. package/dist/cjs/components/layout/stack/Stack.props.d.ts +5 -5
  15. package/dist/cjs/components/overlay/accordion/Accordion.props.d.ts +3 -3
  16. package/dist/cjs/components/overlay/menu/MenuItem/MenuItem.props.d.ts +3 -3
  17. package/dist/cjs/index.d.ts +3 -0
  18. package/dist/cjs/index.js +235 -1
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/interfaces/button.types.d.ts +2 -2
  21. package/dist/cjs/interfaces/index.d.ts +1 -0
  22. package/dist/cjs/interfaces/theme.contracts.d.ts +235 -0
  23. package/dist/cjs/theme/defaultTheme.d.ts +29 -0
  24. package/dist/cjs/theme/theme.module.d.ts +32 -0
  25. package/dist/cjs/theme/theme.types.d.ts +17 -0
  26. package/dist/cjs/theme/types/themeBreakpoints.types.d.ts +5 -0
  27. package/dist/cjs/theme/types/themeColor.types.d.ts +5 -0
  28. package/dist/cjs/theme/types/themeFontSize.types.d.ts +5 -0
  29. package/dist/cjs/theme/types/themeFontWeight.types.d.ts +5 -0
  30. package/dist/cjs/theme/types/themeLineHeight.types.d.ts +5 -0
  31. package/dist/cjs/theme/types/themeOpacity.types.d.ts +5 -0
  32. package/dist/cjs/theme/types/themeRadius.types.d.ts +5 -0
  33. package/dist/cjs/theme/types/themeShadows.types.d.ts +5 -0
  34. package/dist/cjs/theme/types/themeSpacing.types.d.ts +5 -0
  35. package/dist/cjs/theme/types/themeTransition.types.d.ts +5 -0
  36. package/dist/cjs/theme/types/themeZIndex.types.d.ts +5 -0
  37. package/dist/cjs/theme/values/themeBreakpoints.d.ts +5 -0
  38. package/dist/cjs/theme/values/themeColors.d.ts +6 -0
  39. package/dist/cjs/theme/values/themeFontSize.d.ts +5 -0
  40. package/dist/cjs/theme/values/themeFontWeight.d.ts +5 -0
  41. package/dist/cjs/theme/values/themeLineHeight.d.ts +5 -0
  42. package/dist/cjs/theme/values/themeOpacity.d.ts +5 -0
  43. package/dist/cjs/theme/values/themeRadius.d.ts +5 -0
  44. package/dist/cjs/theme/values/themeShadows.d.ts +5 -0
  45. package/dist/cjs/theme/values/themeSpacing.d.ts +5 -0
  46. package/dist/cjs/theme/values/themeTransition.d.ts +5 -0
  47. package/dist/cjs/theme/values/themeZIndex.d.ts +5 -0
  48. package/dist/cjs/utils/ui/components/actions/button/getButtonSizeStyles.utils.d.ts +4 -4
  49. package/dist/cjs/utils/ui/components/actions/icon-button/getIconButtonSizeStyles.utils.d.ts +3 -3
  50. package/dist/cjs/utils/ui/components/data-display/avatar/getAvatarSizes.utils.d.ts +2 -2
  51. package/dist/cjs/utils/ui/components/data-display/chip/getChipColorStyles.utils.d.ts +2 -2
  52. package/dist/cjs/utils/ui/components/data-display/chip/getChipSizeStyles.utils.d.ts +2 -2
  53. package/dist/cjs/utils/ui/components/foundation/text/getTextVariantStyles.utils.d.ts +2 -2
  54. package/dist/cjs/utils/ui/components/overlay/alert/getAlertVariantColors.utils.d.ts +2 -2
  55. package/dist/esm/components/actions/button/Button.props.d.ts +9 -9
  56. package/dist/esm/components/actions/icon-button/IconButton.props.d.ts +9 -10
  57. package/dist/esm/components/data-display/chip/Chip.props.d.ts +5 -5
  58. package/dist/esm/components/data-display/skeleton/Skeleton.props.d.ts +2 -2
  59. package/dist/esm/components/data-display/skeleton/Skeleton.styles.d.ts +1 -1
  60. package/dist/esm/components/foundation/icon/Icon.props.d.ts +6 -6
  61. package/dist/esm/components/foundation/icon/Icon.styles.d.ts +1 -1
  62. package/dist/esm/components/foundation/text/Text.props.d.ts +5 -5
  63. package/dist/esm/components/layout/card/Card.props.d.ts +13 -13
  64. package/dist/esm/components/layout/grid/Grid.props.d.ts +7 -7
  65. package/dist/esm/components/layout/page-construction/page-section/PageSection.props.d.ts +7 -7
  66. package/dist/esm/components/layout/separator/Separator.props.d.ts +3 -3
  67. package/dist/esm/components/layout/stack/Stack.props.d.ts +5 -5
  68. package/dist/esm/components/overlay/accordion/Accordion.props.d.ts +3 -3
  69. package/dist/esm/components/overlay/menu/MenuItem/MenuItem.props.d.ts +3 -3
  70. package/dist/esm/index.d.ts +3 -0
  71. package/dist/esm/index.js +235 -2
  72. package/dist/esm/index.js.map +1 -1
  73. package/dist/esm/interfaces/button.types.d.ts +2 -2
  74. package/dist/esm/interfaces/index.d.ts +1 -0
  75. package/dist/esm/interfaces/theme.contracts.d.ts +235 -0
  76. package/dist/esm/theme/defaultTheme.d.ts +29 -0
  77. package/dist/esm/theme/theme.module.d.ts +32 -0
  78. package/dist/esm/theme/theme.types.d.ts +17 -0
  79. package/dist/esm/theme/types/themeBreakpoints.types.d.ts +5 -0
  80. package/dist/esm/theme/types/themeColor.types.d.ts +5 -0
  81. package/dist/esm/theme/types/themeFontSize.types.d.ts +5 -0
  82. package/dist/esm/theme/types/themeFontWeight.types.d.ts +5 -0
  83. package/dist/esm/theme/types/themeLineHeight.types.d.ts +5 -0
  84. package/dist/esm/theme/types/themeOpacity.types.d.ts +5 -0
  85. package/dist/esm/theme/types/themeRadius.types.d.ts +5 -0
  86. package/dist/esm/theme/types/themeShadows.types.d.ts +5 -0
  87. package/dist/esm/theme/types/themeSpacing.types.d.ts +5 -0
  88. package/dist/esm/theme/types/themeTransition.types.d.ts +5 -0
  89. package/dist/esm/theme/types/themeZIndex.types.d.ts +5 -0
  90. package/dist/esm/theme/values/themeBreakpoints.d.ts +5 -0
  91. package/dist/esm/theme/values/themeColors.d.ts +6 -0
  92. package/dist/esm/theme/values/themeFontSize.d.ts +5 -0
  93. package/dist/esm/theme/values/themeFontWeight.d.ts +5 -0
  94. package/dist/esm/theme/values/themeLineHeight.d.ts +5 -0
  95. package/dist/esm/theme/values/themeOpacity.d.ts +5 -0
  96. package/dist/esm/theme/values/themeRadius.d.ts +5 -0
  97. package/dist/esm/theme/values/themeShadows.d.ts +5 -0
  98. package/dist/esm/theme/values/themeSpacing.d.ts +5 -0
  99. package/dist/esm/theme/values/themeTransition.d.ts +5 -0
  100. package/dist/esm/theme/values/themeZIndex.d.ts +5 -0
  101. package/dist/esm/utils/ui/components/actions/button/getButtonSizeStyles.utils.d.ts +4 -4
  102. package/dist/esm/utils/ui/components/actions/icon-button/getIconButtonSizeStyles.utils.d.ts +3 -3
  103. package/dist/esm/utils/ui/components/data-display/avatar/getAvatarSizes.utils.d.ts +2 -2
  104. package/dist/esm/utils/ui/components/data-display/chip/getChipColorStyles.utils.d.ts +2 -2
  105. package/dist/esm/utils/ui/components/data-display/chip/getChipSizeStyles.utils.d.ts +2 -2
  106. package/dist/esm/utils/ui/components/foundation/text/getTextVariantStyles.utils.d.ts +2 -2
  107. package/dist/esm/utils/ui/components/overlay/alert/getAlertVariantColors.utils.d.ts +2 -2
  108. package/dist/index.d.ts +420 -108
  109. 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
- import { Theme } from '@aurora-ds/theme';
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 Theme['fontSize'];
311
+ size?: keyof ThemeContract['fontSize'];
8
312
  /** Icon stroke/line color from theme */
9
- color?: keyof Theme['colors'];
313
+ color?: keyof ThemeContract['colors'];
10
314
  /** Background color from theme */
11
- backgroundColor?: keyof Theme['colors'];
315
+ backgroundColor?: keyof ThemeContract['colors'];
12
316
  /** Padding from theme spacing */
13
- padding?: keyof Theme['spacing'];
317
+ padding?: keyof ThemeContract['spacing'];
14
318
  /** Border radius from theme */
15
- borderRadius?: keyof Theme['radius'];
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 Theme['colors'];
369
+ color?: keyof ThemeContract['colors'];
74
370
  /** Font size from theme (overrides variant fontSize if provided) */
75
- fontSize?: keyof Theme['fontSize'];
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 Theme['spacing'];
423
+ gap?: keyof ThemeContract['spacing'];
135
424
  /** Border radius from theme */
136
- radius?: keyof Theme['radius'];
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 Theme['radius'];
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 Theme['colors'];
520
+ textColor?: keyof ThemeContract['colors'];
286
521
  /** Custom backgroundColor (overrides variant backgroundColor) */
287
- backgroundColor?: keyof Theme['colors'];
522
+ backgroundColor?: keyof ThemeContract['colors'];
288
523
  /** Custom hover backgroundColor (overrides variant hover backgroundColor) */
289
- hoverBackgroundColor?: keyof Theme['colors'];
524
+ hoverBackgroundColor?: keyof ThemeContract['colors'];
290
525
  /** Custom active backgroundColor (overrides variant active backgroundColor) */
291
- activeBackgroundColor?: keyof Theme['colors'];
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 Theme['colors'];
565
+ textColor?: keyof ThemeContract['colors'];
331
566
  /** Custom backgroundColor (overrides variant backgroundColor) */
332
- backgroundColor?: keyof Theme['colors'];
567
+ backgroundColor?: keyof ThemeContract['colors'];
333
568
  /** Custom hover backgroundColor (overrides variant hover backgroundColor) */
334
- hoverBackgroundColor?: keyof Theme['colors'];
569
+ hoverBackgroundColor?: keyof ThemeContract['colors'];
335
570
  /** Custom active backgroundColor (overrides variant active backgroundColor) */
336
- activeBackgroundColor?: keyof Theme['colors'];
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 Theme['spacing'];
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 Theme['spacing'];
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 Theme['spacing'];
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 Theme['spacing'];
773
+ gap?: keyof ThemeContract['spacing'];
539
774
  /** Border radius of the card */
540
- radius?: keyof Theme['radius'];
775
+ radius?: keyof ThemeContract['radius'];
541
776
  /** Shadow depth of the card */
542
- shadow?: keyof Theme['shadows'];
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 Theme['colors'];
783
+ backgroundColor?: keyof ThemeContract['colors'];
549
784
  /** Border color of the card */
550
- borderColor?: keyof Theme['colors'];
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 Theme['spacing'];
818
+ columnGap?: keyof ThemeContract['spacing'];
584
819
  /** Gap between rows (theme spacing key) */
585
- rowGap?: keyof Theme['spacing'];
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 Theme['spacing'];
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 Theme['colors'];
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 Theme['spacing'];
884
+ gap?: keyof ThemeContract['spacing'];
650
885
  /** Horizontal padding around the section */
651
- paddingHorizontal?: keyof Theme['spacing'];
886
+ paddingHorizontal?: keyof ThemeContract['spacing'];
652
887
  /** Vertical padding around the section */
653
- paddingVertical?: keyof Theme['spacing'];
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 Theme['colors'];
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 Theme['colors'];
858
- iconColor?: keyof Theme['colors'];
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
- 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, useAlert, useAnchorPosition, useClickOutside, useTransitionRender };
1155
- 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, UseTransitionRenderReturnType };
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 };