@nationaldesignstudio/react 0.1.0 → 0.3.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 (74) hide show
  1. package/dist/component-registry.md +46 -19
  2. package/dist/components/atoms/accordion/accordion.d.ts +7 -7
  3. package/dist/components/atoms/background/background.d.ts +13 -27
  4. package/dist/components/atoms/button/button.d.ts +55 -71
  5. package/dist/components/atoms/button/icon-button.d.ts +62 -110
  6. package/dist/components/atoms/input/input-group.d.ts +278 -0
  7. package/dist/components/atoms/input/input.d.ts +121 -0
  8. package/dist/components/atoms/select/select.d.ts +131 -0
  9. package/dist/components/organisms/card/card.d.ts +2 -2
  10. package/dist/components/sections/banner/banner.d.ts +9 -9
  11. package/dist/components/sections/faq-section/faq-section.d.ts +1 -1
  12. package/dist/components/sections/hero/hero.d.ts +115 -18
  13. package/dist/components/sections/prose/prose.d.ts +3 -3
  14. package/dist/components/sections/river/river.d.ts +1 -1
  15. package/dist/components/sections/tout/tout.d.ts +9 -9
  16. package/dist/components/sections/two-column-section/two-column-section.d.ts +7 -21
  17. package/dist/index.d.ts +4 -0
  18. package/dist/index.js +11075 -7841
  19. package/dist/index.js.map +1 -1
  20. package/dist/lib/form-control.d.ts +105 -0
  21. package/dist/tokens.css +2144 -17341
  22. package/package.json +1 -1
  23. package/src/components/atoms/accordion/accordion.test.tsx +18 -20
  24. package/src/components/atoms/accordion/accordion.tsx +19 -17
  25. package/src/components/atoms/background/background.test.tsx +2 -2
  26. package/src/components/atoms/background/background.tsx +77 -96
  27. package/src/components/atoms/button/button.stories.tsx +42 -0
  28. package/src/components/atoms/button/button.test.tsx +1 -1
  29. package/src/components/atoms/button/button.tsx +38 -103
  30. package/src/components/atoms/button/button.visual.test.tsx +70 -24
  31. package/src/components/atoms/button/icon-button.tsx +80 -188
  32. package/src/components/atoms/input/index.ts +17 -0
  33. package/src/components/atoms/input/input-group.stories.tsx +650 -0
  34. package/src/components/atoms/input/input-group.test.tsx +376 -0
  35. package/src/components/atoms/input/input-group.tsx +384 -0
  36. package/src/components/atoms/input/input.stories.tsx +232 -0
  37. package/src/components/atoms/input/input.test.tsx +183 -0
  38. package/src/components/atoms/input/input.tsx +97 -0
  39. package/src/components/atoms/select/index.ts +18 -0
  40. package/src/components/atoms/select/select.stories.tsx +455 -0
  41. package/src/components/atoms/select/select.tsx +320 -0
  42. package/src/components/dev-tools/dev-toolbar/dev-toolbar.stories.tsx +2 -6
  43. package/src/components/foundation/typography/typography.stories.tsx +401 -0
  44. package/src/components/organisms/card/card.stories.tsx +11 -11
  45. package/src/components/organisms/card/card.test.tsx +5 -3
  46. package/src/components/organisms/card/card.tsx +2 -2
  47. package/src/components/organisms/card/card.visual.test.tsx +6 -6
  48. package/src/components/organisms/navbar/navbar.tsx +2 -2
  49. package/src/components/organisms/navbar/navbar.visual.test.tsx +2 -2
  50. package/src/components/sections/banner/banner.stories.tsx +5 -1
  51. package/src/components/sections/banner/banner.tsx +10 -10
  52. package/src/components/sections/card-grid/card-grid.tsx +1 -1
  53. package/src/components/sections/faq-section/faq-section.stories.tsx +7 -7
  54. package/src/components/sections/faq-section/faq-section.tsx +5 -5
  55. package/src/components/sections/hero/hero.test.tsx +5 -5
  56. package/src/components/sections/hero/hero.tsx +33 -51
  57. package/src/components/sections/prose/prose.test.tsx +2 -2
  58. package/src/components/sections/prose/prose.tsx +4 -5
  59. package/src/components/sections/river/river.stories.tsx +8 -8
  60. package/src/components/sections/river/river.test.tsx +1 -1
  61. package/src/components/sections/river/river.tsx +2 -4
  62. package/src/components/sections/tout/tout.stories.tsx +31 -7
  63. package/src/components/sections/tout/tout.test.tsx +1 -1
  64. package/src/components/sections/tout/tout.tsx +8 -10
  65. package/src/components/sections/two-column-section/two-column-section.stories.tsx +11 -11
  66. package/src/components/sections/two-column-section/two-column-section.tsx +16 -10
  67. package/src/index.ts +41 -0
  68. package/src/lib/form-control.ts +69 -0
  69. package/src/stories/Introduction.mdx +29 -15
  70. package/src/stories/ThemeProvider.stories.tsx +1 -3
  71. package/src/stories/TokenShowcase.stories.tsx +0 -19
  72. package/src/stories/TokenShowcase.tsx +714 -1366
  73. package/src/styles.css +3 -0
  74. package/src/tests/token-resolution.test.tsx +301 -0
@@ -0,0 +1,131 @@
1
+ import { Select as BaseSelect } from '@base-ui-components/react/select';
2
+ import { VariantProps } from 'tailwind-variants';
3
+ import * as React from "react";
4
+ /**
5
+ * Select trigger variants based on Figma BaseKit / Interface / Dropdown
6
+ *
7
+ * States:
8
+ * - Default: White background, subtle border
9
+ * - Hover: Light gray background
10
+ * - Focus/Open: Accent border with focus ring
11
+ * - Selected: Has a value selected (darker text)
12
+ * - Disabled: Reduced opacity, not interactive
13
+ */
14
+ declare const selectTriggerVariants: import('tailwind-variants').TVReturnType<{
15
+ size: {
16
+ readonly sm: "h-36 px-12 py-8 text-14";
17
+ readonly default: "h-48 px-16 py-10";
18
+ readonly lg: "h-56 px-20 py-12 text-18";
19
+ };
20
+ error: {
21
+ readonly true: "border-ui-error-color focus-visible:border-ui-error-color focus-visible:ring-ui-error-color/20 text-ui-error-color";
22
+ readonly false: "";
23
+ };
24
+ }, undefined, string[], import('tailwind-variants/dist/config.js').TVConfig<{
25
+ size: {
26
+ readonly sm: "h-36 px-12 py-8 text-14";
27
+ readonly default: "h-48 px-16 py-10";
28
+ readonly lg: "h-56 px-20 py-12 text-18";
29
+ };
30
+ error: {
31
+ readonly true: "border-ui-error-color focus-visible:border-ui-error-color focus-visible:ring-ui-error-color/20 text-ui-error-color";
32
+ readonly false: "";
33
+ };
34
+ }, {
35
+ size: {
36
+ readonly sm: "h-36 px-12 py-8 text-14";
37
+ readonly default: "h-48 px-16 py-10";
38
+ readonly lg: "h-56 px-20 py-12 text-18";
39
+ };
40
+ error: {
41
+ readonly true: "border-ui-error-color focus-visible:border-ui-error-color focus-visible:ring-ui-error-color/20 text-ui-error-color";
42
+ readonly false: "";
43
+ };
44
+ }>, {
45
+ size: {
46
+ readonly sm: "h-36 px-12 py-8 text-14";
47
+ readonly default: "h-48 px-16 py-10";
48
+ readonly lg: "h-56 px-20 py-12 text-18";
49
+ };
50
+ error: {
51
+ readonly true: "border-ui-error-color focus-visible:border-ui-error-color focus-visible:ring-ui-error-color/20 text-ui-error-color";
52
+ readonly false: "";
53
+ };
54
+ }, undefined, import('tailwind-variants').TVReturnType<{
55
+ size: {
56
+ readonly sm: "h-36 px-12 py-8 text-14";
57
+ readonly default: "h-48 px-16 py-10";
58
+ readonly lg: "h-56 px-20 py-12 text-18";
59
+ };
60
+ error: {
61
+ readonly true: "border-ui-error-color focus-visible:border-ui-error-color focus-visible:ring-ui-error-color/20 text-ui-error-color";
62
+ readonly false: "";
63
+ };
64
+ }, undefined, string[], import('tailwind-variants/dist/config.js').TVConfig<{
65
+ size: {
66
+ readonly sm: "h-36 px-12 py-8 text-14";
67
+ readonly default: "h-48 px-16 py-10";
68
+ readonly lg: "h-56 px-20 py-12 text-18";
69
+ };
70
+ error: {
71
+ readonly true: "border-ui-error-color focus-visible:border-ui-error-color focus-visible:ring-ui-error-color/20 text-ui-error-color";
72
+ readonly false: "";
73
+ };
74
+ }, {
75
+ size: {
76
+ readonly sm: "h-36 px-12 py-8 text-14";
77
+ readonly default: "h-48 px-16 py-10";
78
+ readonly lg: "h-56 px-20 py-12 text-18";
79
+ };
80
+ error: {
81
+ readonly true: "border-ui-error-color focus-visible:border-ui-error-color focus-visible:ring-ui-error-color/20 text-ui-error-color";
82
+ readonly false: "";
83
+ };
84
+ }>, unknown, unknown, undefined>>;
85
+ /**
86
+ * Select popup/menu variants
87
+ */
88
+ declare const selectPopupVariants: 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>>;
89
+ /**
90
+ * Select option/item variants based on Figma Menu Items
91
+ *
92
+ * States:
93
+ * - Default: White background
94
+ * - Hover/Highlighted: Light indigo tint background
95
+ * - Selected: Stronger indigo tint with blue text and checkmark
96
+ * - Disabled: Reduced opacity
97
+ */
98
+ declare const selectOptionVariants: 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>>;
99
+ export interface SelectProps extends BaseSelect.Root.Props {
100
+ children: React.ReactNode;
101
+ }
102
+ declare const SelectRoot: ({ children, ...props }: SelectProps) => import("react/jsx-runtime").JSX.Element;
103
+ export interface SelectTriggerProps extends Omit<React.ComponentProps<typeof BaseSelect.Trigger>, "className">, VariantProps<typeof selectTriggerVariants> {
104
+ className?: string;
105
+ placeholder?: string;
106
+ }
107
+ declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
108
+ export interface SelectPopupProps extends Omit<React.ComponentProps<typeof BaseSelect.Popup>, "className"> {
109
+ className?: string;
110
+ }
111
+ declare const SelectPopup: React.ForwardRefExoticComponent<Omit<SelectPopupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
112
+ export interface SelectOptionProps extends Omit<React.ComponentProps<typeof BaseSelect.Item>, "className"> {
113
+ className?: string;
114
+ }
115
+ declare const SelectOption: React.ForwardRefExoticComponent<Omit<SelectOptionProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
116
+ export interface SelectGroupProps extends Omit<React.ComponentProps<typeof BaseSelect.Group>, "className"> {
117
+ className?: string;
118
+ }
119
+ declare const SelectGroup: React.ForwardRefExoticComponent<Omit<SelectGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
120
+ export interface SelectGroupLabelProps extends Omit<React.ComponentProps<typeof BaseSelect.GroupLabel>, "className"> {
121
+ className?: string;
122
+ }
123
+ declare const SelectGroupLabel: React.ForwardRefExoticComponent<Omit<SelectGroupLabelProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
124
+ export declare const Select: (({ children, ...props }: SelectProps) => import("react/jsx-runtime").JSX.Element) & {
125
+ Trigger: React.ForwardRefExoticComponent<Omit<SelectTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
126
+ Popup: React.ForwardRefExoticComponent<Omit<SelectPopupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
127
+ Option: React.ForwardRefExoticComponent<Omit<SelectOptionProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
128
+ Group: React.ForwardRefExoticComponent<Omit<SelectGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
129
+ GroupLabel: React.ForwardRefExoticComponent<Omit<SelectGroupLabelProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
130
+ };
131
+ export { SelectRoot, SelectTrigger, SelectPopup, SelectOption, SelectGroup, SelectGroupLabel, selectTriggerVariants, selectPopupVariants, selectOptionVariants, };
@@ -191,14 +191,14 @@ export interface CardContentProps extends React.HTMLAttributes<HTMLDivElement>,
191
191
  * ```
192
192
  */
193
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>>;
194
+ declare const cardEyebrowVariants: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "typography-overline text-text-muted uppercase tracking-wider", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "typography-overline text-text-muted uppercase tracking-wider", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
195
195
  export interface CardEyebrowProps extends React.HTMLAttributes<HTMLParagraphElement> {
196
196
  }
197
197
  /**
198
198
  * Optional eyebrow text above the card title.
199
199
  */
200
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>>;
201
+ declare const cardTitleVariants: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "typography-h5 text-text-primary", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "typography-h5 text-text-primary", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
202
202
  export interface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
203
203
  /**
204
204
  * The heading level to render (h1-h6). Defaults to h3.
@@ -14,37 +14,37 @@ import * as React from "react";
14
14
  * Must be placed inside a `grid-container`. Uses `col-full` to span all columns.
15
15
  */
16
16
  declare const bannerVariants: import('tailwind-variants').TVReturnType<{
17
- variant: {
17
+ colorScheme: {
18
18
  light: string;
19
19
  dark: string;
20
20
  };
21
21
  }, undefined, string[], import('tailwind-variants/dist/config.js').TVConfig<{
22
- variant: {
22
+ colorScheme: {
23
23
  light: string;
24
24
  dark: string;
25
25
  };
26
26
  }, {
27
- variant: {
27
+ colorScheme: {
28
28
  light: string;
29
29
  dark: string;
30
30
  };
31
31
  }>, {
32
- variant: {
32
+ colorScheme: {
33
33
  light: string;
34
34
  dark: string;
35
35
  };
36
36
  }, undefined, import('tailwind-variants').TVReturnType<{
37
- variant: {
37
+ colorScheme: {
38
38
  light: string;
39
39
  dark: string;
40
40
  };
41
41
  }, undefined, string[], import('tailwind-variants/dist/config.js').TVConfig<{
42
- variant: {
42
+ colorScheme: {
43
43
  light: string;
44
44
  dark: string;
45
45
  };
46
46
  }, {
47
- variant: {
47
+ colorScheme: {
48
48
  light: string;
49
49
  dark: string;
50
50
  };
@@ -84,9 +84,9 @@ export interface BannerProps extends React.HTMLAttributes<HTMLElement>, VariantP
84
84
  * />
85
85
  * </div>
86
86
  *
87
- * // Dark variant
87
+ * // Dark colorScheme
88
88
  * <Banner
89
- * variant="dark"
89
+ * colorScheme="dark"
90
90
  * heading="Still Have Questions?"
91
91
  * description="Contact us at support@example.com"
92
92
  * action={<Button variant="secondary">Email Us</Button>}
@@ -35,7 +35,7 @@ export interface FaqSectionProps extends Omit<React.HTMLAttributes<HTMLElement>,
35
35
  * </FaqSection>
36
36
  *
37
37
  * // With custom title
38
- * <FaqSection title="Common Questions" variant="light">
38
+ * <FaqSection title="Common Questions" colorScheme="light">
39
39
  * ...
40
40
  * </FaqSection>
41
41
  * ```
@@ -2,19 +2,7 @@ import { VariantProps } from 'tailwind-variants';
2
2
  import { ComponentTheme } from '../../../lib/theme';
3
3
  import * as React from "react";
4
4
  export { Background as HeroBackground, BackgroundGradient as HeroGradient, type BackgroundGradientProps as HeroGradientProps, BackgroundImage as HeroBackgroundImage, type BackgroundImageProps as HeroBackgroundImageProps, BackgroundOverlay as HeroOverlay, type BackgroundOverlayProps as HeroOverlayProps, BackgroundStream as HeroBackgroundStream, type BackgroundStreamProps as HeroBackgroundStreamProps, BackgroundVideo as HeroBackgroundVideo, type BackgroundVideoProps as HeroBackgroundVideoProps, } from '../../atoms/background';
5
- /**
6
- * Hero variants based on Figma BaseKit / Heros
7
- *
8
- * Slots:
9
- * - root: The outer container
10
- * - top: Full-width slot at top for banners/nav (no padding)
11
- * - content: Padded content area with alignment
12
- *
13
- * Variants:
14
- * - A1: Content aligned at bottom (default)
15
- * - A2: Content aligned at top
16
- * - A3: Content centered
17
- */
5
+ declare const DEFAULT_TITLE_TYPOGRAPHY = "text-64 leading-64 tracking-64 md:text-128 md:leading-128 md:tracking-128 lg:text-192 lg:leading-192 lg:tracking-192 font-medium";
18
6
  declare const heroVariants: import('tailwind-variants').TVReturnType<{
19
7
  variant: {
20
8
  A1: {
@@ -30,10 +18,26 @@ declare const heroVariants: import('tailwind-variants').TVReturnType<{
30
18
  content: string[];
31
19
  };
32
20
  };
21
+ colorScheme: {
22
+ dark: {
23
+ root: string;
24
+ title: string;
25
+ };
26
+ light: {
27
+ root: string;
28
+ title: string;
29
+ };
30
+ };
31
+ hasBackground: {
32
+ true: {
33
+ root: string;
34
+ };
35
+ };
33
36
  }, {
34
37
  root: string;
35
38
  top: string;
36
39
  content: string[];
40
+ title: string;
37
41
  }, undefined, import('tailwind-variants/dist/config.js').TVConfig<{
38
42
  variant: {
39
43
  A1: {
@@ -49,6 +53,21 @@ declare const heroVariants: import('tailwind-variants').TVReturnType<{
49
53
  content: string[];
50
54
  };
51
55
  };
56
+ colorScheme: {
57
+ dark: {
58
+ root: string;
59
+ title: string;
60
+ };
61
+ light: {
62
+ root: string;
63
+ title: string;
64
+ };
65
+ };
66
+ hasBackground: {
67
+ true: {
68
+ root: string;
69
+ };
70
+ };
52
71
  }, {
53
72
  variant: {
54
73
  A1: {
@@ -64,6 +83,21 @@ declare const heroVariants: import('tailwind-variants').TVReturnType<{
64
83
  content: string[];
65
84
  };
66
85
  };
86
+ colorScheme: {
87
+ dark: {
88
+ root: string;
89
+ title: string;
90
+ };
91
+ light: {
92
+ root: string;
93
+ title: string;
94
+ };
95
+ };
96
+ hasBackground: {
97
+ true: {
98
+ root: string;
99
+ };
100
+ };
67
101
  }>, {
68
102
  variant: {
69
103
  A1: {
@@ -79,10 +113,26 @@ declare const heroVariants: import('tailwind-variants').TVReturnType<{
79
113
  content: string[];
80
114
  };
81
115
  };
116
+ colorScheme: {
117
+ dark: {
118
+ root: string;
119
+ title: string;
120
+ };
121
+ light: {
122
+ root: string;
123
+ title: string;
124
+ };
125
+ };
126
+ hasBackground: {
127
+ true: {
128
+ root: string;
129
+ };
130
+ };
82
131
  }, {
83
132
  root: string;
84
133
  top: string;
85
134
  content: string[];
135
+ title: string;
86
136
  }, import('tailwind-variants').TVReturnType<{
87
137
  variant: {
88
138
  A1: {
@@ -98,10 +148,26 @@ declare const heroVariants: import('tailwind-variants').TVReturnType<{
98
148
  content: string[];
99
149
  };
100
150
  };
151
+ colorScheme: {
152
+ dark: {
153
+ root: string;
154
+ title: string;
155
+ };
156
+ light: {
157
+ root: string;
158
+ title: string;
159
+ };
160
+ };
161
+ hasBackground: {
162
+ true: {
163
+ root: string;
164
+ };
165
+ };
101
166
  }, {
102
167
  root: string;
103
168
  top: string;
104
169
  content: string[];
170
+ title: string;
105
171
  }, undefined, import('tailwind-variants/dist/config.js').TVConfig<{
106
172
  variant: {
107
173
  A1: {
@@ -117,6 +183,21 @@ declare const heroVariants: import('tailwind-variants').TVReturnType<{
117
183
  content: string[];
118
184
  };
119
185
  };
186
+ colorScheme: {
187
+ dark: {
188
+ root: string;
189
+ title: string;
190
+ };
191
+ light: {
192
+ root: string;
193
+ title: string;
194
+ };
195
+ };
196
+ hasBackground: {
197
+ true: {
198
+ root: string;
199
+ };
200
+ };
120
201
  }, {
121
202
  variant: {
122
203
  A1: {
@@ -132,6 +213,21 @@ declare const heroVariants: import('tailwind-variants').TVReturnType<{
132
213
  content: string[];
133
214
  };
134
215
  };
216
+ colorScheme: {
217
+ dark: {
218
+ root: string;
219
+ title: string;
220
+ };
221
+ light: {
222
+ root: string;
223
+ title: string;
224
+ };
225
+ };
226
+ hasBackground: {
227
+ true: {
228
+ root: string;
229
+ };
230
+ };
135
231
  }>, unknown, unknown, undefined>>;
136
232
  declare const heroHeaderVariants: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "relative z-10 w-full", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "relative z-10 w-full", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
137
233
  declare const heroContentVariants: 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>>;
@@ -161,6 +257,12 @@ export interface HeroProps extends Omit<React.HTMLAttributes<HTMLElement>, "titl
161
257
  * Default: "text-64 leading-64 tracking-64 md:text-128 md:leading-128 md:tracking-128 lg:text-192 lg:leading-192 lg:tracking-192"
162
258
  */
163
259
  titleClassName?: string;
260
+ /**
261
+ * Color scheme for text content.
262
+ * - dark: Dark text for use on light backgrounds (default)
263
+ * - light: Light text for use on dark backgrounds
264
+ */
265
+ colorScheme?: "dark" | "light";
164
266
  /**
165
267
  * Content for the top slot (full-width, no padding).
166
268
  * Use for USGovBanner, Navigation, etc.
@@ -191,11 +293,6 @@ export interface HeroProps extends Omit<React.HTMLAttributes<HTMLElement>, "titl
191
293
  */
192
294
  theme?: ComponentTheme;
193
295
  }
194
- /**
195
- * Default responsive typography for hero title using primitive tokens
196
- * Mobile: 64px, Tablet: 128px, Desktop: 192px
197
- */
198
- declare const DEFAULT_TITLE_TYPOGRAPHY = "text-64 leading-64 tracking-64 md:text-128 md:leading-128 md:tracking-128 lg:text-192 lg:leading-192 lg:tracking-192 font-medium";
199
296
  /**
200
297
  * Hero component for page headers with large display typography.
201
298
  *
@@ -29,9 +29,9 @@ export interface ProseSectionProps extends React.HTMLAttributes<HTMLElement> {
29
29
  * A section within Prose content, containing a heading and body text.
30
30
  *
31
31
  * Responsive typography:
32
- * - h2: Uses typography-headline-medium (42px mobile → 56px tablet → 72px desktop)
33
- * - h3: Uses typography-headline-small (32px mobile → 42px tablet → 56px desktop)
34
- * - Body: Uses typography-body-medium (16px mobile/tablet → 18px desktop)
32
+ * - h2: Uses typography-h3
33
+ * - h3: Uses typography-h4
34
+ * - Body: Uses typography-body-medium
35
35
  */
36
36
  declare const ProseSection: React.ForwardRefExoticComponent<ProseSectionProps & React.RefAttributes<HTMLElement>>;
37
37
  export { Prose, ProseSection };
@@ -86,7 +86,7 @@ export interface RiverProps extends React.HTMLAttributes<HTMLElement>, VariantPr
86
86
  * headline="Feature Headline"
87
87
  * body="Description of the feature..."
88
88
  * primaryAction={<Button>Primary</Button>}
89
- * secondaryAction={<Button variant="charcoalOutline">Secondary</Button>}
89
+ * secondaryAction={<Button variant="outline">Secondary</Button>}
90
90
  * media={<img src="..." alt="Feature" />}
91
91
  * />
92
92
  * </div>
@@ -5,7 +5,7 @@ import * as React from "react";
5
5
  * Tout variants for background and content styling
6
6
  */
7
7
  declare const toutVariants: import('tailwind-variants').TVReturnType<{
8
- variant: {
8
+ colorScheme: {
9
9
  light: string;
10
10
  dark: string;
11
11
  };
@@ -14,7 +14,7 @@ declare const toutVariants: import('tailwind-variants').TVReturnType<{
14
14
  center: string;
15
15
  };
16
16
  }, undefined, string[], import('tailwind-variants/dist/config.js').TVConfig<{
17
- variant: {
17
+ colorScheme: {
18
18
  light: string;
19
19
  dark: string;
20
20
  };
@@ -23,7 +23,7 @@ declare const toutVariants: import('tailwind-variants').TVReturnType<{
23
23
  center: string;
24
24
  };
25
25
  }, {
26
- variant: {
26
+ colorScheme: {
27
27
  light: string;
28
28
  dark: string;
29
29
  };
@@ -32,7 +32,7 @@ declare const toutVariants: import('tailwind-variants').TVReturnType<{
32
32
  center: string;
33
33
  };
34
34
  }>, {
35
- variant: {
35
+ colorScheme: {
36
36
  light: string;
37
37
  dark: string;
38
38
  };
@@ -41,7 +41,7 @@ declare const toutVariants: import('tailwind-variants').TVReturnType<{
41
41
  center: string;
42
42
  };
43
43
  }, undefined, import('tailwind-variants').TVReturnType<{
44
- variant: {
44
+ colorScheme: {
45
45
  light: string;
46
46
  dark: string;
47
47
  };
@@ -50,7 +50,7 @@ declare const toutVariants: import('tailwind-variants').TVReturnType<{
50
50
  center: string;
51
51
  };
52
52
  }, undefined, string[], import('tailwind-variants/dist/config.js').TVConfig<{
53
- variant: {
53
+ colorScheme: {
54
54
  light: string;
55
55
  dark: string;
56
56
  };
@@ -59,7 +59,7 @@ declare const toutVariants: import('tailwind-variants').TVReturnType<{
59
59
  center: string;
60
60
  };
61
61
  }, {
62
- variant: {
62
+ colorScheme: {
63
63
  light: string;
64
64
  dark: string;
65
65
  };
@@ -74,7 +74,7 @@ declare const toutVariants: import('tailwind-variants').TVReturnType<{
74
74
  * A full-bleed section with a background image and overlaid content.
75
75
  * Content can be positioned on the left side or centered.
76
76
  *
77
- * Variants:
77
+ * Color schemes:
78
78
  * - light: Light text styling (default)
79
79
  * - dark: Dark text styling
80
80
  *
@@ -137,7 +137,7 @@ export interface ToutProps extends React.HTMLAttributes<HTMLElement>, VariantPro
137
137
  * headline="Feature Headline"
138
138
  * body="Description of the feature..."
139
139
  * primaryAction={<Button>Primary</Button>}
140
- * secondaryAction={<Button variant="charcoalOutline">Secondary</Button>}
140
+ * secondaryAction={<Button variant="outline" colorScheme="light">Secondary</Button>}
141
141
  * backgroundMedia={
142
142
  * <img
143
143
  * src="/background.jpg"
@@ -10,80 +10,66 @@ import * as React from "react";
10
10
  * Uses the 24-column grid system.
11
11
  */
12
12
  declare const twoColumnSectionVariants: import('tailwind-variants').TVReturnType<{
13
- variant: {
13
+ colorScheme: {
14
14
  dark: string;
15
15
  light: string;
16
16
  };
17
17
  layout: {
18
- /** Default 24-column grid with asymmetric split (title: 9, content: 15) */
19
18
  asymmetric: string;
20
- /** Equal 2-column layout at md+ breakpoints */
21
19
  equal: string;
22
20
  };
23
21
  }, undefined, string[], import('tailwind-variants/dist/config.js').TVConfig<{
24
- variant: {
22
+ colorScheme: {
25
23
  dark: string;
26
24
  light: string;
27
25
  };
28
26
  layout: {
29
- /** Default 24-column grid with asymmetric split (title: 9, content: 15) */
30
27
  asymmetric: string;
31
- /** Equal 2-column layout at md+ breakpoints */
32
28
  equal: string;
33
29
  };
34
30
  }, {
35
- variant: {
31
+ colorScheme: {
36
32
  dark: string;
37
33
  light: string;
38
34
  };
39
35
  layout: {
40
- /** Default 24-column grid with asymmetric split (title: 9, content: 15) */
41
36
  asymmetric: string;
42
- /** Equal 2-column layout at md+ breakpoints */
43
37
  equal: string;
44
38
  };
45
39
  }>, {
46
- variant: {
40
+ colorScheme: {
47
41
  dark: string;
48
42
  light: string;
49
43
  };
50
44
  layout: {
51
- /** Default 24-column grid with asymmetric split (title: 9, content: 15) */
52
45
  asymmetric: string;
53
- /** Equal 2-column layout at md+ breakpoints */
54
46
  equal: string;
55
47
  };
56
48
  }, undefined, import('tailwind-variants').TVReturnType<{
57
- variant: {
49
+ colorScheme: {
58
50
  dark: string;
59
51
  light: string;
60
52
  };
61
53
  layout: {
62
- /** Default 24-column grid with asymmetric split (title: 9, content: 15) */
63
54
  asymmetric: string;
64
- /** Equal 2-column layout at md+ breakpoints */
65
55
  equal: string;
66
56
  };
67
57
  }, undefined, string[], import('tailwind-variants/dist/config.js').TVConfig<{
68
- variant: {
58
+ colorScheme: {
69
59
  dark: string;
70
60
  light: string;
71
61
  };
72
62
  layout: {
73
- /** Default 24-column grid with asymmetric split (title: 9, content: 15) */
74
63
  asymmetric: string;
75
- /** Equal 2-column layout at md+ breakpoints */
76
64
  equal: string;
77
65
  };
78
66
  }, {
79
- variant: {
67
+ colorScheme: {
80
68
  dark: string;
81
69
  light: string;
82
70
  };
83
71
  layout: {
84
- /** Default 24-column grid with asymmetric split (title: 9, content: 15) */
85
72
  asymmetric: string;
86
- /** Equal 2-column layout at md+ breakpoints */
87
73
  equal: string;
88
74
  };
89
75
  }>, unknown, unknown, undefined>>;
package/dist/index.d.ts CHANGED
@@ -4,10 +4,14 @@ export type { BackgroundGradientProps, BackgroundImageProps, BackgroundOverlayPr
4
4
  export { Background, BackgroundGradient, BackgroundImage, BackgroundOverlay, BackgroundStream, BackgroundVideo, backgroundGradientVariants, backgroundImageVariants, backgroundOverlayVariants, backgroundStreamVariants, backgroundVariants, backgroundVideoVariants, } from './components/atoms/background';
5
5
  export type { ButtonProps, IconButtonProps } from './components/atoms/button';
6
6
  export { Button, buttonVariants, IconButton, iconButtonVariants, } from './components/atoms/button';
7
+ export type { InputGroupAddonProps, InputGroupButtonProps, InputGroupInputProps, InputGroupProps, InputGroupTextareaProps, InputGroupTextProps, InputProps, } from './components/atoms/input';
8
+ export { Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, inputGroupAddonVariants, inputGroupVariants, inputVariants, } from './components/atoms/input';
7
9
  export type { NdstudioFooterProps } from './components/atoms/ndstudio-footer';
8
10
  export { NdstudioFooter } from './components/atoms/ndstudio-footer';
9
11
  export type { PagerControlProps } from './components/atoms/pager-control';
10
12
  export { PagerControl, pagerControlVariants, } from './components/atoms/pager-control';
13
+ export type { SelectGroupLabelProps, SelectGroupProps, SelectOptionProps, SelectPopupProps, SelectProps, SelectTriggerProps, } from './components/atoms/select';
14
+ export { Select, SelectGroup, SelectGroupLabel, SelectOption, SelectPopup, SelectRoot, SelectTrigger, selectOptionVariants, selectPopupVariants, selectTriggerVariants, } from './components/atoms/select';
11
15
  export type { DevToolbarProps, GridOverlayProps } from './components/dev-tools';
12
16
  export { DevToolbar, GridOverlay } from './components/dev-tools';
13
17
  export type { CardActionsProps, CardBodyProps, CardContentProps, CardDescriptionProps, CardEyebrowProps, CardImageProps, CardProps, CardTitleProps, } from './components/organisms/card';