@nationaldesignstudio/react 0.0.16 → 0.0.19

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 (33) hide show
  1. package/dist/component-registry.md +181 -29
  2. package/dist/components/atoms/background/background.d.ts +135 -0
  3. package/dist/components/atoms/button/button.d.ts +64 -82
  4. package/dist/components/atoms/button/icon-button.d.ts +100 -66
  5. package/dist/components/organisms/card/card.d.ts +130 -4
  6. package/dist/components/organisms/us-gov-banner/us-gov-banner.d.ts +120 -2
  7. package/dist/components/sections/hero/hero.d.ts +166 -150
  8. package/dist/components/sections/quote-block/quote-block.d.ts +152 -0
  9. package/dist/index.d.ts +6 -2
  10. package/dist/index.js +3868 -5978
  11. package/dist/index.js.map +1 -1
  12. package/dist/lib/utils.d.ts +1 -2
  13. package/dist/tokens.css +336 -145
  14. package/package.json +2 -4
  15. package/src/components/atoms/background/background.tsx +377 -0
  16. package/src/components/atoms/background/index.ts +22 -0
  17. package/src/components/atoms/button/button.stories.tsx +81 -32
  18. package/src/components/atoms/button/button.tsx +91 -49
  19. package/src/components/atoms/button/icon-button.stories.tsx +179 -28
  20. package/src/components/atoms/button/icon-button.tsx +111 -49
  21. package/src/components/organisms/card/card.tsx +82 -24
  22. package/src/components/organisms/card/index.ts +7 -0
  23. package/src/components/organisms/us-gov-banner/index.ts +5 -1
  24. package/src/components/organisms/us-gov-banner/us-gov-banner.tsx +72 -16
  25. package/src/components/sections/hero/hero.stories.tsx +124 -1
  26. package/src/components/sections/hero/hero.test.tsx +21 -18
  27. package/src/components/sections/hero/hero.tsx +188 -301
  28. package/src/components/sections/hero/index.ts +13 -0
  29. package/src/components/sections/quote-block/index.ts +5 -0
  30. package/src/components/sections/quote-block/quote-block.tsx +216 -0
  31. package/src/index.ts +40 -0
  32. package/src/lib/utils.ts +1 -6
  33. package/src/stories/ThemeProvider.stories.tsx +5 -5
@@ -15,141 +15,175 @@ import * as React from "react";
15
15
  * <IconButton aria-label="Close menu">
16
16
  * <CloseIcon />
17
17
  * </IconButton>
18
- *
19
- * // Correct usage with aria-labelledby
20
- * <IconButton aria-labelledby="close-label">
21
- * <CloseIcon />
22
- * </IconButton>
23
- * <span id="close-label" className="sr-only">Close menu</span>
24
18
  * ```
25
19
  *
26
20
  * Variants:
27
- * - charcoal: Dark filled button (for light backgrounds)
28
- * - charcoalOutline: Dark outlined button (for light backgrounds)
29
- * - charcoalOutlineQuiet: Subtle dark outlined button (for light backgrounds)
30
- * - ghost: No background/border, just icon (for light backgrounds)
31
- * - ghostDark: No background/border, just icon (for dark backgrounds)
32
- * - ivory: Light filled button (for dark backgrounds)
33
- * - ivoryOutline: Light outlined button (for dark backgrounds)
34
- * - ivoryOutlineQuiet: Subtle light outlined button (for dark backgrounds)
21
+ * - solid: Filled button
22
+ * - outline: Outlined button
23
+ * - ghost: No background/border, just icon
24
+ * - subtle: Subtle outlined button
25
+ *
26
+ * Color Schemes:
27
+ * - dark: Dark colors for use on light backgrounds (default)
28
+ * - light: Light colors for use on dark backgrounds
35
29
  *
36
30
  * Sizes:
37
- * - lg: Large (46x46)
38
- * - default: Medium (36x36)
39
- * - sm: Small (29x29)
31
+ * - lg: Large (48x48)
32
+ * - default: Medium (40x40)
33
+ * - sm: Small (32x32)
34
+ *
35
+ * Rounded:
36
+ * - default: Standard border radius
37
+ * - sm: Smaller border radius
38
+ * - full: Fully circular
40
39
  */
41
40
  declare const iconButtonVariants: import('tailwind-variants').TVReturnType<{
42
41
  variant: {
43
- charcoal: string;
44
- charcoalOutline: string;
45
- charcoalOutlineQuiet: string;
42
+ solid: string;
43
+ outline: string;
46
44
  ghost: string;
47
- ghostDark: string;
48
- ivory: string;
49
- ivoryOutline: string;
50
- ivoryOutlineQuiet: string;
45
+ subtle: string;
46
+ };
47
+ colorScheme: {
48
+ dark: string;
49
+ light: string;
51
50
  };
52
51
  size: {
53
52
  lg: string;
54
53
  default: string;
55
54
  sm: string;
56
55
  };
56
+ rounded: {
57
+ default: string;
58
+ sm: string;
59
+ full: string;
60
+ };
57
61
  }, undefined, "inline-flex items-center justify-center whitespace-nowrap transition-colors duration-150 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", import('tailwind-variants/dist/config.js').TVConfig<{
58
62
  variant: {
59
- charcoal: string;
60
- charcoalOutline: string;
61
- charcoalOutlineQuiet: string;
63
+ solid: string;
64
+ outline: string;
62
65
  ghost: string;
63
- ghostDark: string;
64
- ivory: string;
65
- ivoryOutline: string;
66
- ivoryOutlineQuiet: string;
66
+ subtle: string;
67
+ };
68
+ colorScheme: {
69
+ dark: string;
70
+ light: string;
67
71
  };
68
72
  size: {
69
73
  lg: string;
70
74
  default: string;
71
75
  sm: string;
72
76
  };
77
+ rounded: {
78
+ default: string;
79
+ sm: string;
80
+ full: string;
81
+ };
73
82
  }, {
74
83
  variant: {
75
- charcoal: string;
76
- charcoalOutline: string;
77
- charcoalOutlineQuiet: string;
84
+ solid: string;
85
+ outline: string;
78
86
  ghost: string;
79
- ghostDark: string;
80
- ivory: string;
81
- ivoryOutline: string;
82
- ivoryOutlineQuiet: string;
87
+ subtle: string;
88
+ };
89
+ colorScheme: {
90
+ dark: string;
91
+ light: string;
83
92
  };
84
93
  size: {
85
94
  lg: string;
86
95
  default: string;
87
96
  sm: string;
88
97
  };
98
+ rounded: {
99
+ default: string;
100
+ sm: string;
101
+ full: string;
102
+ };
89
103
  }>, {
90
104
  variant: {
91
- charcoal: string;
92
- charcoalOutline: string;
93
- charcoalOutlineQuiet: string;
105
+ solid: string;
106
+ outline: string;
94
107
  ghost: string;
95
- ghostDark: string;
96
- ivory: string;
97
- ivoryOutline: string;
98
- ivoryOutlineQuiet: string;
108
+ subtle: string;
109
+ };
110
+ colorScheme: {
111
+ dark: string;
112
+ light: string;
99
113
  };
100
114
  size: {
101
115
  lg: string;
102
116
  default: string;
103
117
  sm: string;
104
118
  };
119
+ rounded: {
120
+ default: string;
121
+ sm: string;
122
+ full: string;
123
+ };
105
124
  }, undefined, import('tailwind-variants').TVReturnType<{
106
125
  variant: {
107
- charcoal: string;
108
- charcoalOutline: string;
109
- charcoalOutlineQuiet: string;
126
+ solid: string;
127
+ outline: string;
110
128
  ghost: string;
111
- ghostDark: string;
112
- ivory: string;
113
- ivoryOutline: string;
114
- ivoryOutlineQuiet: string;
129
+ subtle: string;
130
+ };
131
+ colorScheme: {
132
+ dark: string;
133
+ light: string;
115
134
  };
116
135
  size: {
117
136
  lg: string;
118
137
  default: string;
119
138
  sm: string;
120
139
  };
140
+ rounded: {
141
+ default: string;
142
+ sm: string;
143
+ full: string;
144
+ };
121
145
  }, undefined, "inline-flex items-center justify-center whitespace-nowrap transition-colors duration-150 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", import('tailwind-variants/dist/config.js').TVConfig<{
122
146
  variant: {
123
- charcoal: string;
124
- charcoalOutline: string;
125
- charcoalOutlineQuiet: string;
147
+ solid: string;
148
+ outline: string;
126
149
  ghost: string;
127
- ghostDark: string;
128
- ivory: string;
129
- ivoryOutline: string;
130
- ivoryOutlineQuiet: string;
150
+ subtle: string;
151
+ };
152
+ colorScheme: {
153
+ dark: string;
154
+ light: string;
131
155
  };
132
156
  size: {
133
157
  lg: string;
134
158
  default: string;
135
159
  sm: string;
136
160
  };
161
+ rounded: {
162
+ default: string;
163
+ sm: string;
164
+ full: string;
165
+ };
137
166
  }, {
138
167
  variant: {
139
- charcoal: string;
140
- charcoalOutline: string;
141
- charcoalOutlineQuiet: string;
168
+ solid: string;
169
+ outline: string;
142
170
  ghost: string;
143
- ghostDark: string;
144
- ivory: string;
145
- ivoryOutline: string;
146
- ivoryOutlineQuiet: string;
171
+ subtle: string;
172
+ };
173
+ colorScheme: {
174
+ dark: string;
175
+ light: string;
147
176
  };
148
177
  size: {
149
178
  lg: string;
150
179
  default: string;
151
180
  sm: string;
152
181
  };
182
+ rounded: {
183
+ default: string;
184
+ sm: string;
185
+ full: string;
186
+ };
153
187
  }>, unknown, unknown, undefined>>;
154
188
  export interface IconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof iconButtonVariants> {
155
189
  asChild?: boolean;
@@ -4,36 +4,71 @@ declare const cardVariants: import('tailwind-variants').TVReturnType<{
4
4
  layout: {
5
5
  vertical: string;
6
6
  horizontal: string;
7
+ /**
8
+ * Overlay layout - content sits on top of full-bleed background.
9
+ * Use with Background components for images/gradients.
10
+ */
11
+ overlay: string;
7
12
  };
8
- }, undefined, "flex overflow-hidden rounded-surface-card bg-card-background stroke-surface-card border-border-subtle border-solid", import('tailwind-variants/dist/config.js').TVConfig<{
13
+ }, undefined, "relative flex overflow-hidden rounded-surface-card bg-card-background stroke-surface-card border-border-subtle border-solid", import('tailwind-variants/dist/config.js').TVConfig<{
9
14
  layout: {
10
15
  vertical: string;
11
16
  horizontal: string;
17
+ /**
18
+ * Overlay layout - content sits on top of full-bleed background.
19
+ * Use with Background components for images/gradients.
20
+ */
21
+ overlay: string;
12
22
  };
13
23
  }, {
14
24
  layout: {
15
25
  vertical: string;
16
26
  horizontal: string;
27
+ /**
28
+ * Overlay layout - content sits on top of full-bleed background.
29
+ * Use with Background components for images/gradients.
30
+ */
31
+ overlay: string;
17
32
  };
18
33
  }>, {
19
34
  layout: {
20
35
  vertical: string;
21
36
  horizontal: string;
37
+ /**
38
+ * Overlay layout - content sits on top of full-bleed background.
39
+ * Use with Background components for images/gradients.
40
+ */
41
+ overlay: string;
22
42
  };
23
43
  }, undefined, import('tailwind-variants').TVReturnType<{
24
44
  layout: {
25
45
  vertical: string;
26
46
  horizontal: string;
47
+ /**
48
+ * Overlay layout - content sits on top of full-bleed background.
49
+ * Use with Background components for images/gradients.
50
+ */
51
+ overlay: string;
27
52
  };
28
- }, undefined, "flex overflow-hidden rounded-surface-card bg-card-background stroke-surface-card border-border-subtle border-solid", import('tailwind-variants/dist/config.js').TVConfig<{
53
+ }, undefined, "relative flex overflow-hidden rounded-surface-card bg-card-background stroke-surface-card border-border-subtle border-solid", import('tailwind-variants/dist/config.js').TVConfig<{
29
54
  layout: {
30
55
  vertical: string;
31
56
  horizontal: string;
57
+ /**
58
+ * Overlay layout - content sits on top of full-bleed background.
59
+ * Use with Background components for images/gradients.
60
+ */
61
+ overlay: string;
32
62
  };
33
63
  }, {
34
64
  layout: {
35
65
  vertical: string;
36
66
  horizontal: string;
67
+ /**
68
+ * Overlay layout - content sits on top of full-bleed background.
69
+ * Use with Background components for images/gradients.
70
+ */
71
+ overlay: string;
37
72
  };
38
73
  }>, unknown, unknown, undefined>>;
39
74
  export interface CardProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
@@ -44,10 +79,13 @@ export interface CardProps extends React.HTMLAttributes<HTMLDivElement>, Variant
44
79
  * Layouts:
45
80
  * - vertical: Image on top, content below (default)
46
81
  * - horizontal: Image on left, content on right
82
+ * - overlay: Full-bleed background with content on top
47
83
  *
48
84
  * Use with CardImage, CardContent, CardEyebrow, CardTitle, CardDescription, and CardActions.
85
+ * For overlay layout, use Background components for full-bleed backgrounds.
49
86
  */
50
87
  declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
88
+ declare const cardImageVariants: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, string[], import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, string[], import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
51
89
  export interface CardImageProps extends React.HTMLAttributes<HTMLDivElement> {
52
90
  /**
53
91
  * The image source URL
@@ -63,19 +101,104 @@ export interface CardImageProps extends React.HTMLAttributes<HTMLDivElement> {
63
101
  * For horizontal layout, takes up ~40% width and stretches to content height.
64
102
  */
65
103
  declare const CardImage: React.ForwardRefExoticComponent<CardImageProps & React.RefAttributes<HTMLDivElement>>;
66
- export interface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {
104
+ declare const cardContentVariants: import('tailwind-variants').TVReturnType<{
105
+ /**
106
+ * Vertical alignment of content within the card.
107
+ * Useful for overlay layouts to position content at top/center/bottom.
108
+ */
109
+ justify: {
110
+ start: string;
111
+ center: string;
112
+ end: string;
113
+ };
114
+ }, undefined, "flex w-full flex-1 flex-col gap-spatial-card-large-gap p-spatial-card-large-padding", import('tailwind-variants/dist/config.js').TVConfig<{
115
+ /**
116
+ * Vertical alignment of content within the card.
117
+ * Useful for overlay layouts to position content at top/center/bottom.
118
+ */
119
+ justify: {
120
+ start: string;
121
+ center: string;
122
+ end: string;
123
+ };
124
+ }, {
125
+ /**
126
+ * Vertical alignment of content within the card.
127
+ * Useful for overlay layouts to position content at top/center/bottom.
128
+ */
129
+ justify: {
130
+ start: string;
131
+ center: string;
132
+ end: string;
133
+ };
134
+ }>, {
135
+ /**
136
+ * Vertical alignment of content within the card.
137
+ * Useful for overlay layouts to position content at top/center/bottom.
138
+ */
139
+ justify: {
140
+ start: string;
141
+ center: string;
142
+ end: string;
143
+ };
144
+ }, undefined, import('tailwind-variants').TVReturnType<{
145
+ /**
146
+ * Vertical alignment of content within the card.
147
+ * Useful for overlay layouts to position content at top/center/bottom.
148
+ */
149
+ justify: {
150
+ start: string;
151
+ center: string;
152
+ end: string;
153
+ };
154
+ }, undefined, "flex w-full flex-1 flex-col gap-spatial-card-large-gap p-spatial-card-large-padding", import('tailwind-variants/dist/config.js').TVConfig<{
155
+ /**
156
+ * Vertical alignment of content within the card.
157
+ * Useful for overlay layouts to position content at top/center/bottom.
158
+ */
159
+ justify: {
160
+ start: string;
161
+ center: string;
162
+ end: string;
163
+ };
164
+ }, {
165
+ /**
166
+ * Vertical alignment of content within the card.
167
+ * Useful for overlay layouts to position content at top/center/bottom.
168
+ */
169
+ justify: {
170
+ start: string;
171
+ center: string;
172
+ end: string;
173
+ };
174
+ }>, unknown, unknown, undefined>>;
175
+ export interface CardContentProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardContentVariants> {
67
176
  }
68
177
  /**
69
178
  * Card content container with proper padding and spacing.
70
179
  * Uses spatial card tokens for consistent sizing.
180
+ * For overlay layout, add `relative z-10` to ensure content sits above background.
181
+ *
182
+ * @example
183
+ * ```tsx
184
+ * // Content at bottom of overlay card
185
+ * <Card layout="overlay">
186
+ * <Background.Image src="/hero.jpg" />
187
+ * <CardContent justify="end" className="relative z-10">
188
+ * <CardTitle>Title</CardTitle>
189
+ * </CardContent>
190
+ * </Card>
191
+ * ```
71
192
  */
72
193
  declare const CardContent: React.ForwardRefExoticComponent<CardContentProps & React.RefAttributes<HTMLDivElement>>;
194
+ declare const cardEyebrowVariants: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "typography-caption-large text-text-muted", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "typography-caption-large text-text-muted", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
73
195
  export interface CardEyebrowProps extends React.HTMLAttributes<HTMLParagraphElement> {
74
196
  }
75
197
  /**
76
198
  * Optional eyebrow text above the card title.
77
199
  */
78
200
  declare const CardEyebrow: React.ForwardRefExoticComponent<CardEyebrowProps & React.RefAttributes<HTMLParagraphElement>>;
201
+ declare const cardTitleVariants: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "typography-subheading-small text-text-primary", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "typography-subheading-small text-text-primary", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
79
202
  export interface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
80
203
  /**
81
204
  * The heading level to render (h1-h6). Defaults to h3.
@@ -86,12 +209,14 @@ export interface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement>
86
209
  * Card title/heading. Use the `as` prop to change the heading level.
87
210
  */
88
211
  declare const CardTitle: React.ForwardRefExoticComponent<CardTitleProps & React.RefAttributes<HTMLHeadingElement>>;
212
+ declare const cardDescriptionVariants: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "typography-body-small text-text-secondary", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "typography-body-small text-text-secondary", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
89
213
  export interface CardDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {
90
214
  }
91
215
  /**
92
216
  * Card body/description text.
93
217
  */
94
218
  declare const CardDescription: React.ForwardRefExoticComponent<CardDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
219
+ declare const cardBodyVariants: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "flex w-full flex-col gap-spatial-card-small-gap", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "flex w-full flex-col gap-spatial-card-small-gap", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
95
220
  export interface CardBodyProps extends React.HTMLAttributes<HTMLDivElement> {
96
221
  }
97
222
  /**
@@ -99,6 +224,7 @@ export interface CardBodyProps extends React.HTMLAttributes<HTMLDivElement> {
99
224
  * Uses spatial card tokens for consistent sizing.
100
225
  */
101
226
  declare const CardBody: React.ForwardRefExoticComponent<CardBodyProps & React.RefAttributes<HTMLDivElement>>;
227
+ declare const cardActionsVariants: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "flex gap-spacing-12", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "flex gap-spacing-12", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
102
228
  export interface CardActionsProps extends React.HTMLAttributes<HTMLDivElement> {
103
229
  }
104
230
  /**
@@ -106,4 +232,4 @@ export interface CardActionsProps extends React.HTMLAttributes<HTMLDivElement> {
106
232
  * Uses primitive spacing tokens.
107
233
  */
108
234
  declare const CardActions: React.ForwardRefExoticComponent<CardActionsProps & React.RefAttributes<HTMLDivElement>>;
109
- export { Card, cardVariants, CardImage, CardContent, CardEyebrow, CardTitle, CardDescription, CardBody, CardActions, };
235
+ export { Card, cardVariants, CardImage, cardImageVariants, CardContent, cardContentVariants, CardEyebrow, cardEyebrowVariants, CardTitle, cardTitleVariants, CardDescription, cardDescriptionVariants, CardBody, cardBodyVariants, CardActions, cardActionsVariants, };
@@ -1,5 +1,110 @@
1
+ import { VariantProps } from 'tailwind-variants';
1
2
  import * as React from "react";
2
- export interface USGovBannerProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ declare const usGovBannerVariants: import('tailwind-variants').TVReturnType<{
4
+ variant: {
5
+ default: {
6
+ root: string;
7
+ content: string;
8
+ text: string;
9
+ };
10
+ inverted: {
11
+ root: string;
12
+ content: string;
13
+ text: string;
14
+ };
15
+ };
16
+ }, {
17
+ root: string;
18
+ content: string;
19
+ text: string;
20
+ }, undefined, import('tailwind-variants/dist/config.js').TVConfig<{
21
+ variant: {
22
+ default: {
23
+ root: string;
24
+ content: string;
25
+ text: string;
26
+ };
27
+ inverted: {
28
+ root: string;
29
+ content: string;
30
+ text: string;
31
+ };
32
+ };
33
+ }, {
34
+ variant: {
35
+ default: {
36
+ root: string;
37
+ content: string;
38
+ text: string;
39
+ };
40
+ inverted: {
41
+ root: string;
42
+ content: string;
43
+ text: string;
44
+ };
45
+ };
46
+ }>, {
47
+ variant: {
48
+ default: {
49
+ root: string;
50
+ content: string;
51
+ text: string;
52
+ };
53
+ inverted: {
54
+ root: string;
55
+ content: string;
56
+ text: string;
57
+ };
58
+ };
59
+ }, {
60
+ root: string;
61
+ content: string;
62
+ text: string;
63
+ }, import('tailwind-variants').TVReturnType<{
64
+ variant: {
65
+ default: {
66
+ root: string;
67
+ content: string;
68
+ text: string;
69
+ };
70
+ inverted: {
71
+ root: string;
72
+ content: string;
73
+ text: string;
74
+ };
75
+ };
76
+ }, {
77
+ root: string;
78
+ content: string;
79
+ text: string;
80
+ }, undefined, import('tailwind-variants/dist/config.js').TVConfig<{
81
+ variant: {
82
+ default: {
83
+ root: string;
84
+ content: string;
85
+ text: string;
86
+ };
87
+ inverted: {
88
+ root: string;
89
+ content: string;
90
+ text: string;
91
+ };
92
+ };
93
+ }, {
94
+ variant: {
95
+ default: {
96
+ root: string;
97
+ content: string;
98
+ text: string;
99
+ };
100
+ inverted: {
101
+ root: string;
102
+ content: string;
103
+ text: string;
104
+ };
105
+ };
106
+ }>, unknown, unknown, undefined>>;
107
+ export interface USGovBannerProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof usGovBannerVariants> {
3
108
  /**
4
109
  * Custom flag icon element. Defaults to a US flag SVG.
5
110
  */
@@ -14,6 +119,19 @@ export interface USGovBannerProps extends React.HTMLAttributes<HTMLDivElement> {
14
119
  * US Government official website banner.
15
120
  * Displays the official government website notice with flag icon.
16
121
  * Commonly placed at the very top of government websites.
122
+ *
123
+ * Variants:
124
+ * - default: Light background with dark text (for light pages)
125
+ * - inverted: Transparent background with white text/flag (for dark backgrounds/heroes)
126
+ *
127
+ * @example
128
+ * ```tsx
129
+ * // Default (light)
130
+ * <USGovBanner />
131
+ *
132
+ * // Inverted (for dark backgrounds)
133
+ * <USGovBanner variant="inverted" />
134
+ * ```
17
135
  */
18
136
  declare const USGovBanner: React.ForwardRefExoticComponent<USGovBannerProps & React.RefAttributes<HTMLDivElement>>;
19
- export { USGovBanner };
137
+ export { USGovBanner, usGovBannerVariants };