@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
@@ -1,7 +1,7 @@
1
1
  # Component Registry
2
2
 
3
3
  > Auto-generated component metadata for AI/agent consumption.
4
- > Generated: 2026-01-12T21:40:10.008Z
4
+ > Generated: 2026-01-13T20:09:44.586Z
5
5
 
6
6
  ---
7
7
 
@@ -484,6 +484,9 @@ className="font-semibold" // Font weight 600
484
484
  The title text displayed in the hero.
485
485
  - `titleClassName`: string
486
486
  Custom typography class for the title using primitive tokens.
487
+ - `colorScheme`: "dark" | "light"
488
+ Color scheme for text content.
489
+ Values: `dark`, `light`
487
490
  - `top`: React.ReactNode
488
491
  Content for the top slot (full-width, no padding).
489
492
  - `background`: React.ReactNode | string
@@ -1203,7 +1206,11 @@ className="font-semibold" // Font weight 600
1203
1206
  <Banner
1204
1207
  heading="Custom Styled Banner"
1205
1208
  description="This banner has a custom background color applied via className."
1206
- action={<Button variant="ivory">Action</Button>}
1209
+ action={
1210
+ <Button variant="outline" colorScheme="light">
1211
+ Action
1212
+ </Button>
1213
+ }
1207
1214
  className="bg-gray-1000 text-gray-50 [&_h2]:text-gray-50 [&_p]:text-gray-200"
1208
1215
  />
1209
1216
  ```
@@ -1503,8 +1510,8 @@ className="font-semibold" // Font weight 600
1503
1510
  ```
1504
1511
 
1505
1512
  ```tsx
1506
- <FaqSection variant="dark">
1507
- <Accordion defaultExpanded="faq-1">
1513
+ <FaqSection colorScheme="dark">
1514
+ <Accordion colorScheme="dark" defaultExpanded="faq-1">
1508
1515
  <AccordionItem
1509
1516
  id="faq-1"
1510
1517
  title="What is the US Tech Force (Tech Force)?"
@@ -1531,7 +1538,7 @@ className="font-semibold" // Font weight 600
1531
1538
  ```
1532
1539
 
1533
1540
  ```tsx
1534
- <FaqSection variant="light">
1541
+ <FaqSection colorScheme="light">
1535
1542
  <Accordion defaultExpanded="faq-1">
1536
1543
  <AccordionItem
1537
1544
  id="faq-1"
@@ -2177,7 +2184,11 @@ className="font-semibold" // Font weight 600
2177
2184
  headline="Brand-Large/Headline/Small"
2178
2185
  body="A river pattern stacks content in a simple vertical flow: one clear heading, a short block of copy, then the next step. It's ideal for guiding citizens through a process or story, keeping focus moving straight down the page with minimal choices and well-timed calls to action."
2179
2186
  primaryAction={<Button>Primary</Button>}
2180
- secondaryAction={<Button variant="charcoalOutline">Secondary</Button>}
2187
+ secondaryAction={
2188
+ <Button variant="outline" colorScheme="light">
2189
+ Secondary
2190
+ </Button>
2191
+ }
2181
2192
  backgroundMedia={<PlaceholderBackground />}
2182
2193
  />
2183
2194
  ```
@@ -2187,7 +2198,11 @@ className="font-semibold" // Font weight 600
2187
2198
  headline="Brand-Large/Headline/Small"
2188
2199
  body="A river pattern stacks content in a simple vertical flow: one clear heading, a short block of copy, then the next step. It's ideal for guiding citizens through a process or story, keeping focus moving straight down the page with minimal choices and well-timed calls to action."
2189
2200
  primaryAction={<Button>Primary</Button>}
2190
- secondaryAction={<Button variant="charcoalOutline">Secondary</Button>}
2201
+ secondaryAction={
2202
+ <Button variant="outline" colorScheme="light">
2203
+ Secondary
2204
+ </Button>
2205
+ }
2191
2206
  backgroundMedia={<PlaceholderBackground />}
2192
2207
  />
2193
2208
  ```
@@ -2198,7 +2213,7 @@ className="font-semibold" // Font weight 600
2198
2213
  body="A river pattern stacks content in a simple vertical flow: one clear heading, a short block of copy, then the next step. It's ideal for guiding citizens through a process or story, keeping focus moving straight down the page with minimal choices and well-timed calls to action."
2199
2214
  primaryAction={<Button size="sm">Primary</Button>}
2200
2215
  secondaryAction={
2201
- <Button size="sm" variant="charcoalOutline">
2216
+ <Button size="sm" variant="outline" colorScheme="light">
2202
2217
  Secondary
2203
2218
  </Button>
2204
2219
  }
@@ -2211,7 +2226,11 @@ className="font-semibold" // Font weight 600
2211
2226
  headline="Work with Purpose"
2212
2227
  body="Join a team that's building the future of government services. We're looking for passionate individuals who want to make a difference."
2213
2228
  primaryAction={<Button>View Careers</Button>}
2214
- secondaryAction={<Button variant="charcoalOutline">Learn More</Button>}
2229
+ secondaryAction={
2230
+ <Button variant="outline" colorScheme="light">
2231
+ Learn More
2232
+ </Button>
2233
+ }
2215
2234
  backgroundMedia={<ImageBackground />}
2216
2235
  />
2217
2236
  ```
@@ -2230,7 +2249,11 @@ className="font-semibold" // Font weight 600
2230
2249
  headline="Experience Innovation"
2231
2250
  body="See how modern technology is transforming the way government serves its citizens."
2232
2251
  primaryAction={<Button>Watch Video</Button>}
2233
- secondaryAction={<Button variant="charcoalOutline">Learn More</Button>}
2252
+ secondaryAction={
2253
+ <Button variant="outline" colorScheme="light">
2254
+ Learn More
2255
+ </Button>
2256
+ }
2234
2257
  backgroundMedia={
2235
2258
  <div className="absolute inset-0 bg-gray-800 flex items-center justify-center">
2236
2259
  <span className="text-gray-400 typography-body-small">
@@ -2246,7 +2269,11 @@ className="font-semibold" // Font weight 600
2246
2269
  headline="Work with Purpose"
2247
2270
  body="Join a team that's building the future of government services. We're looking for passionate individuals who want to make a difference."
2248
2271
  primaryAction={<Button>View Careers</Button>}
2249
- secondaryAction={<Button variant="charcoalOutline">Learn More</Button>}
2272
+ secondaryAction={
2273
+ <Button variant="outline" colorScheme="light">
2274
+ Learn More
2275
+ </Button>
2276
+ }
2250
2277
  backgroundMedia={<ImageBackground />}
2251
2278
  footer={<NdstudioFooter />}
2252
2279
  />
@@ -2279,7 +2306,7 @@ className="font-semibold" // Font weight 600
2279
2306
 
2280
2307
  ```tsx
2281
2308
  <TwoColumnSection
2282
- variant="dark"
2309
+ colorScheme="dark"
2283
2310
  title="US Tech Force"
2284
2311
  lead="The US Tech Force is recruiting an elite corps of engineers to build the next generation of government technology."
2285
2312
  >
@@ -2296,7 +2323,7 @@ className="font-semibold" // Font weight 600
2296
2323
 
2297
2324
  ```tsx
2298
2325
  <TwoColumnSection
2299
- variant="light"
2326
+ colorScheme="light"
2300
2327
  title="US Tech Force"
2301
2328
  lead="The US Tech Force is recruiting an elite corps of engineers to build the next generation of government technology."
2302
2329
  >
@@ -2313,7 +2340,7 @@ className="font-semibold" // Font weight 600
2313
2340
 
2314
2341
  ```tsx
2315
2342
  <TwoColumnSection
2316
- variant="dark"
2343
+ colorScheme="dark"
2317
2344
  title="US Tech Force"
2318
2345
  lead="The US Tech Force is recruiting an elite corps of engineers to build the next generation of government technology. Backed by the White House, Tech Force will tackle the most complex and large-scale civic and defense challenges of our era."
2319
2346
  >
@@ -2341,7 +2368,7 @@ className="font-semibold" // Font weight 600
2341
2368
 
2342
2369
  ```tsx
2343
2370
  <TwoColumnSection
2344
- variant="dark"
2371
+ colorScheme="dark"
2345
2372
  title="US Tech Force"
2346
2373
  lead="The US Tech Force is recruiting an elite corps of engineers to build the next generation of government technology. Backed by the White House, Tech Force will tackle the most complex and large-scale civic and defense challenges of our era."
2347
2374
  >
@@ -2369,7 +2396,7 @@ className="font-semibold" // Font weight 600
2369
2396
 
2370
2397
  ```tsx
2371
2398
  <TwoColumnSection
2372
- variant="dark"
2399
+ colorScheme="dark"
2373
2400
  title="US Tech Force"
2374
2401
  lead="The US Tech Force is recruiting an elite corps of engineers to build the next generation of government technology. Backed by the White House, Tech Force will tackle the most complex and large-scale civic and defense challenges of our era."
2375
2402
  >
@@ -2396,7 +2423,7 @@ className="font-semibold" // Font weight 600
2396
2423
  ```
2397
2424
 
2398
2425
  ```tsx
2399
- <TwoColumnSection variant="dark" title="About the Program">
2426
+ <TwoColumnSection colorScheme="dark" title="About the Program">
2400
2427
  <p>
2401
2428
  Through a two-year program, participants will work in teams reporting
2402
2429
  directly to agency leadership. In collaboration with leading technology
@@ -2413,7 +2440,7 @@ className="font-semibold" // Font weight 600
2413
2440
 
2414
2441
  ```tsx
2415
2442
  <TwoColumnSection
2416
- variant="dark"
2443
+ colorScheme="dark"
2417
2444
  title="Our Mission"
2418
2445
  lead={
2419
2446
  <>
@@ -2438,7 +2465,7 @@ className="font-semibold" // Font weight 600
2438
2465
 
2439
2466
  ```tsx
2440
2467
  <TwoColumnSection
2441
- variant="dark"
2468
+ colorScheme="dark"
2442
2469
  title="Join Us"
2443
2470
  lead="Build the future of American government technology."
2444
2471
  >
@@ -1,37 +1,37 @@
1
1
  import { VariantProps } from 'tailwind-variants';
2
2
  import * as React from "react";
3
3
  declare const accordionVariants: import('tailwind-variants').TVReturnType<{
4
- variant: {
4
+ colorScheme: {
5
5
  dark: string;
6
6
  light: string;
7
7
  };
8
8
  }, undefined, "flex flex-col", import('tailwind-variants/dist/config.js').TVConfig<{
9
- variant: {
9
+ colorScheme: {
10
10
  dark: string;
11
11
  light: string;
12
12
  };
13
13
  }, {
14
- variant: {
14
+ colorScheme: {
15
15
  dark: string;
16
16
  light: string;
17
17
  };
18
18
  }>, {
19
- variant: {
19
+ colorScheme: {
20
20
  dark: string;
21
21
  light: string;
22
22
  };
23
23
  }, undefined, import('tailwind-variants').TVReturnType<{
24
- variant: {
24
+ colorScheme: {
25
25
  dark: string;
26
26
  light: string;
27
27
  };
28
28
  }, undefined, "flex flex-col", import('tailwind-variants/dist/config.js').TVConfig<{
29
- variant: {
29
+ colorScheme: {
30
30
  dark: string;
31
31
  light: string;
32
32
  };
33
33
  }, {
34
- variant: {
34
+ colorScheme: {
35
35
  dark: string;
36
36
  light: string;
37
37
  };
@@ -1,3 +1,4 @@
1
+ import { useRender } from '@base-ui-components/react/use-render';
1
2
  import * as React from "react";
2
3
  declare const backgroundVariants: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "absolute inset-0", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "absolute inset-0", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
3
4
  /**
@@ -16,7 +17,7 @@ declare const backgroundVariants: import('tailwind-variants').TVReturnType<{} |
16
17
  export interface BackgroundProps extends React.HTMLAttributes<HTMLDivElement> {
17
18
  }
18
19
  declare const backgroundImageVariants: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "absolute inset-0 size-full object-cover", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "absolute inset-0 size-full object-cover", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
19
- export interface BackgroundImageProps extends Omit<React.ImgHTMLAttributes<HTMLImageElement>, "src"> {
20
+ export interface BackgroundImageProps extends useRender.ComponentProps<"img">, Omit<React.ImgHTMLAttributes<HTMLImageElement>, "src" | "render"> {
20
21
  /**
21
22
  * URL for the background image
22
23
  */
@@ -25,28 +26,18 @@ export interface BackgroundImageProps extends Omit<React.ImgHTMLAttributes<HTMLI
25
26
  * Object position (default: "center")
26
27
  */
27
28
  position?: string;
28
- /**
29
- * Custom render prop for element composition.
30
- * Accepts a React element or render function.
31
- * @example
32
- * ```tsx
33
- * // Element pattern
34
- * <BackgroundImage render={<img className="custom" />} src="/bg.jpg" />
35
- *
36
- * // Callback pattern
37
- * <BackgroundImage render={(props) => <img {...props} />} src="/bg.jpg" />
38
- * ```
39
- */
40
- render?: React.ReactElement | ((props: React.ImgHTMLAttributes<HTMLImageElement>) => React.ReactElement);
41
29
  }
42
30
  /**
43
31
  * Background image layer using an actual img element with object-cover.
44
32
  * Supports native lazy loading, srcset, and better accessibility.
45
33
  * Supports render prop for element composition.
46
34
  */
47
- declare const BackgroundImage: React.ForwardRefExoticComponent<BackgroundImageProps & React.RefAttributes<HTMLImageElement>>;
35
+ declare function BackgroundImage(props: BackgroundImageProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
36
+ declare namespace BackgroundImage {
37
+ var displayName: string;
38
+ }
48
39
  declare const backgroundVideoVariants: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "absolute inset-0 size-full object-cover", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "absolute inset-0 size-full object-cover", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
49
- export interface BackgroundVideoProps extends Omit<React.VideoHTMLAttributes<HTMLVideoElement>, "children"> {
40
+ export interface BackgroundVideoProps extends useRender.ComponentProps<"video">, Omit<React.VideoHTMLAttributes<HTMLVideoElement>, "children" | "render" | "src"> {
50
41
  /**
51
42
  * URL for the video source
52
43
  */
@@ -59,20 +50,15 @@ export interface BackgroundVideoProps extends Omit<React.VideoHTMLAttributes<HTM
59
50
  * Poster image URL shown before video loads
60
51
  */
61
52
  poster?: string;
62
- /**
63
- * Custom render prop for element composition.
64
- * @example
65
- * ```tsx
66
- * <BackgroundVideo render={<video className="custom" />} src="/bg.mp4" />
67
- * ```
68
- */
69
- render?: React.ReactElement | ((props: React.VideoHTMLAttributes<HTMLVideoElement>) => React.ReactElement);
70
53
  }
71
54
  /**
72
55
  * Background video layer using HTML5 video element.
73
56
  * Supports render prop for element composition.
74
57
  */
75
- declare const BackgroundVideo: React.ForwardRefExoticComponent<BackgroundVideoProps & React.RefAttributes<HTMLVideoElement>>;
58
+ declare function BackgroundVideo(props: BackgroundVideoProps): import("react/jsx-runtime").JSX.Element;
59
+ declare namespace BackgroundVideo {
60
+ var displayName: string;
61
+ }
76
62
  declare const backgroundStreamVariants: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "absolute inset-0 size-full border-0 scale-[1.5] object-cover", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "absolute inset-0 size-full border-0 scale-[1.5] object-cover", import('tailwind-variants/dist/config.js').TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
77
63
  export interface BackgroundStreamProps extends React.IframeHTMLAttributes<HTMLIFrameElement> {
78
64
  /**
@@ -149,8 +135,8 @@ export interface BackgroundGradientProps extends React.HTMLAttributes<HTMLDivEle
149
135
  */
150
136
  declare const BackgroundGradient: React.ForwardRefExoticComponent<BackgroundGradientProps & React.RefAttributes<HTMLDivElement>>;
151
137
  declare const BackgroundCompound: React.ForwardRefExoticComponent<BackgroundProps & React.RefAttributes<HTMLDivElement>> & {
152
- Image: React.ForwardRefExoticComponent<BackgroundImageProps & React.RefAttributes<HTMLImageElement>>;
153
- Video: React.ForwardRefExoticComponent<BackgroundVideoProps & React.RefAttributes<HTMLVideoElement>>;
138
+ Image: typeof BackgroundImage;
139
+ Video: typeof BackgroundVideo;
154
140
  Stream: React.ForwardRefExoticComponent<BackgroundStreamProps & React.RefAttributes<HTMLIFrameElement>>;
155
141
  Overlay: React.ForwardRefExoticComponent<BackgroundOverlayProps & React.RefAttributes<HTMLDivElement>>;
156
142
  Gradient: React.ForwardRefExoticComponent<BackgroundGradientProps & React.RefAttributes<HTMLDivElement>>;
@@ -3,22 +3,20 @@ import { VariantProps } from 'tailwind-variants';
3
3
  import { ButtonTheme } from '../../../lib/theme';
4
4
  import * as React from "react";
5
5
  /**
6
- * Button component based on Figma BaseKit / Interface / Buttons
6
+ * Button component based on Figma Button component
7
7
  *
8
- * Variants:
9
- * - solid: Filled button
10
- * - outline: Outlined button
11
- * - ghost: No background/border, just text
12
- * - subtle: Light background with subtle styling
13
- *
14
- * Color Schemes:
15
- * - dark: Dark colors for use on light backgrounds (default)
16
- * - light: Light colors for use on dark backgrounds
8
+ * Variants (matches Figma):
9
+ * - primary: Filled brand button (indigo background)
10
+ * - primary-outline: Outlined brand button (indigo border/text)
11
+ * - secondary: Filled neutral button (white background, for dark backgrounds)
12
+ * - secondary-outline: Outlined neutral button (white border/text, for dark backgrounds)
13
+ * - ghost: Transparent button with subtle hover (for light backgrounds)
14
+ * - ghost-inverse: Transparent button with subtle hover (for dark backgrounds)
17
15
  *
18
16
  * Sizes:
19
- * - lg: Large buttons
20
- * - default: Medium buttons
21
- * - sm: Small buttons
17
+ * - lg: Large buttons (56px height)
18
+ * - md: Medium buttons (40px height) - default
19
+ * - sm: Small buttons (28px height)
22
20
  *
23
21
  * For icon-only buttons, use the IconButton component instead.
24
22
  *
@@ -27,121 +25,107 @@ import * as React from "react";
27
25
  */
28
26
  declare const buttonVariants: import('tailwind-variants').TVReturnType<{
29
27
  variant: {
30
- solid: string;
31
- outline: string;
28
+ primary: string;
29
+ "primary-outline": string;
30
+ secondary: string;
31
+ "secondary-outline": string;
32
32
  ghost: string;
33
- subtle: string;
33
+ "ghost-inverse": string;
34
34
  themed: string;
35
35
  };
36
- colorScheme: {
37
- dark: string;
38
- light: string;
39
- };
40
36
  size: {
41
37
  lg: string;
42
- default: string;
38
+ md: string;
43
39
  sm: string;
44
40
  };
45
- }, undefined, "inline-flex items-center justify-center gap-spacing-8 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 rounded-surface-button stroke-surface-button border-solid", import('tailwind-variants/dist/config.js').TVConfig<{
41
+ }, undefined, "inline-flex items-center justify-center gap-6 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 border-solid", import('tailwind-variants/dist/config.js').TVConfig<{
46
42
  variant: {
47
- solid: string;
48
- outline: string;
43
+ primary: string;
44
+ "primary-outline": string;
45
+ secondary: string;
46
+ "secondary-outline": string;
49
47
  ghost: string;
50
- subtle: string;
48
+ "ghost-inverse": string;
51
49
  themed: string;
52
50
  };
53
- colorScheme: {
54
- dark: string;
55
- light: string;
56
- };
57
51
  size: {
58
52
  lg: string;
59
- default: string;
53
+ md: string;
60
54
  sm: string;
61
55
  };
62
56
  }, {
63
57
  variant: {
64
- solid: string;
65
- outline: string;
58
+ primary: string;
59
+ "primary-outline": string;
60
+ secondary: string;
61
+ "secondary-outline": string;
66
62
  ghost: string;
67
- subtle: string;
63
+ "ghost-inverse": string;
68
64
  themed: string;
69
65
  };
70
- colorScheme: {
71
- dark: string;
72
- light: string;
73
- };
74
66
  size: {
75
67
  lg: string;
76
- default: string;
68
+ md: string;
77
69
  sm: string;
78
70
  };
79
71
  }>, {
80
72
  variant: {
81
- solid: string;
82
- outline: string;
73
+ primary: string;
74
+ "primary-outline": string;
75
+ secondary: string;
76
+ "secondary-outline": string;
83
77
  ghost: string;
84
- subtle: string;
78
+ "ghost-inverse": string;
85
79
  themed: string;
86
80
  };
87
- colorScheme: {
88
- dark: string;
89
- light: string;
90
- };
91
81
  size: {
92
82
  lg: string;
93
- default: string;
83
+ md: string;
94
84
  sm: string;
95
85
  };
96
86
  }, undefined, import('tailwind-variants').TVReturnType<{
97
87
  variant: {
98
- solid: string;
99
- outline: string;
88
+ primary: string;
89
+ "primary-outline": string;
90
+ secondary: string;
91
+ "secondary-outline": string;
100
92
  ghost: string;
101
- subtle: string;
93
+ "ghost-inverse": string;
102
94
  themed: string;
103
95
  };
104
- colorScheme: {
105
- dark: string;
106
- light: string;
107
- };
108
96
  size: {
109
97
  lg: string;
110
- default: string;
98
+ md: string;
111
99
  sm: string;
112
100
  };
113
- }, undefined, "inline-flex items-center justify-center gap-spacing-8 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 rounded-surface-button stroke-surface-button border-solid", import('tailwind-variants/dist/config.js').TVConfig<{
101
+ }, undefined, "inline-flex items-center justify-center gap-6 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 border-solid", import('tailwind-variants/dist/config.js').TVConfig<{
114
102
  variant: {
115
- solid: string;
116
- outline: string;
103
+ primary: string;
104
+ "primary-outline": string;
105
+ secondary: string;
106
+ "secondary-outline": string;
117
107
  ghost: string;
118
- subtle: string;
108
+ "ghost-inverse": string;
119
109
  themed: string;
120
110
  };
121
- colorScheme: {
122
- dark: string;
123
- light: string;
124
- };
125
111
  size: {
126
112
  lg: string;
127
- default: string;
113
+ md: string;
128
114
  sm: string;
129
115
  };
130
116
  }, {
131
117
  variant: {
132
- solid: string;
133
- outline: string;
118
+ primary: string;
119
+ "primary-outline": string;
120
+ secondary: string;
121
+ "secondary-outline": string;
134
122
  ghost: string;
135
- subtle: string;
123
+ "ghost-inverse": string;
136
124
  themed: string;
137
125
  };
138
- colorScheme: {
139
- dark: string;
140
- light: string;
141
- };
142
126
  size: {
143
127
  lg: string;
144
- default: string;
128
+ md: string;
145
129
  sm: string;
146
130
  };
147
131
  }>, unknown, unknown, undefined>>;