@nationaldesignstudio/react 0.0.6 → 0.0.8

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 (170) hide show
  1. package/README.md +24 -26
  2. package/dist/assets/fonts/PPNeueMontreal-Variable.woff2 +0 -0
  3. package/dist/assets/react.svg +1 -0
  4. package/dist/components/atoms/accordion/accordion.d.ts +50 -0
  5. package/dist/components/{button → atoms/button}/button.d.ts +5 -4
  6. package/dist/components/atoms/pager-control/pager-control.d.ts +62 -0
  7. package/dist/components/{card → organisms/card}/card.d.ts +6 -2
  8. package/dist/components/{navbar → organisms/navbar}/navbar.d.ts +27 -1
  9. package/dist/components/sections/banner/banner.d.ts +64 -0
  10. package/dist/components/sections/card-grid/card-grid.d.ts +53 -0
  11. package/dist/components/sections/faq-section/faq-section.d.ts +44 -0
  12. package/dist/components/sections/hero/hero.d.ts +73 -0
  13. package/dist/components/sections/river/river.d.ts +63 -0
  14. package/dist/components/sections/tout/tout.d.ts +73 -0
  15. package/dist/components/sections/two-column-section/two-column-section.d.ts +58 -0
  16. package/dist/index.d.ts +28 -12
  17. package/dist/index.js +3185 -813
  18. package/dist/index.js.map +1 -1
  19. package/dist/tailwind.css +23 -0
  20. package/dist/tokens.css +9318 -1780
  21. package/package.json +23 -5
  22. package/src/App.css +0 -0
  23. package/src/App.tsx +7 -0
  24. package/src/assets/fonts/PPNeueMontreal-Variable.woff2 +0 -0
  25. package/src/assets/react.svg +1 -0
  26. package/src/components/atoms/accordion/accordion.stories.tsx +228 -0
  27. package/src/components/atoms/accordion/accordion.tsx +137 -0
  28. package/src/components/atoms/accordion/index.ts +6 -0
  29. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-charcoal-chromium-darwin.png +0 -0
  30. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-charcoal-chromium-linux.png +0 -0
  31. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-charcoal-outline-chromium-darwin.png +0 -0
  32. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-charcoal-outline-chromium-linux.png +0 -0
  33. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-charcoal-outline-quiet-chromium-darwin.png +0 -0
  34. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-charcoal-outline-quiet-chromium-linux.png +0 -0
  35. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-disabled-chromium-darwin.png +0 -0
  36. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-disabled-chromium-linux.png +0 -0
  37. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-ivory-chromium-darwin.png +0 -0
  38. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-ivory-chromium-linux.png +0 -0
  39. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-ivory-outline-chromium-darwin.png +0 -0
  40. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-ivory-outline-chromium-linux.png +0 -0
  41. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-ivory-outline-quiet-chromium-darwin.png +0 -0
  42. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-ivory-outline-quiet-chromium-linux.png +0 -0
  43. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-size-large-chromium-darwin.png +0 -0
  44. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-size-large-chromium-linux.png +0 -0
  45. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-size-medium-chromium-darwin.png +0 -0
  46. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-size-medium-chromium-linux.png +0 -0
  47. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-size-small-chromium-darwin.png +0 -0
  48. package/src/components/atoms/button/__screenshots__/button.visual.test.tsx/button-size-small-chromium-linux.png +0 -0
  49. package/src/components/atoms/button/button.stories.tsx +93 -0
  50. package/src/components/atoms/button/button.test.tsx +141 -0
  51. package/src/components/atoms/button/button.tsx +95 -0
  52. package/src/components/atoms/button/button.visual.test.tsx +102 -0
  53. package/src/components/atoms/button/icon-button.stories.tsx +175 -0
  54. package/src/components/atoms/button/icon-button.tsx +90 -0
  55. package/src/components/atoms/button/index.ts +6 -0
  56. package/src/components/atoms/pager-control/index.ts +5 -0
  57. package/src/components/atoms/pager-control/pager-control.stories.tsx +212 -0
  58. package/src/components/atoms/pager-control/pager-control.test.tsx +149 -0
  59. package/src/components/atoms/pager-control/pager-control.tsx +328 -0
  60. package/src/components/organisms/card/__screenshots__/card.visual.test.tsx/card-default-vertical-chromium-darwin.png +0 -0
  61. package/src/components/organisms/card/__screenshots__/card.visual.test.tsx/card-default-vertical-chromium-linux.png +0 -0
  62. package/src/components/organisms/card/__screenshots__/card.visual.test.tsx/card-horizontal-chromium-darwin.png +0 -0
  63. package/src/components/organisms/card/__screenshots__/card.visual.test.tsx/card-horizontal-chromium-linux.png +0 -0
  64. package/src/components/organisms/card/__screenshots__/card.visual.test.tsx/card-minimal-chromium-darwin.png +0 -0
  65. package/src/components/organisms/card/__screenshots__/card.visual.test.tsx/card-minimal-chromium-linux.png +0 -0
  66. package/src/components/organisms/card/__screenshots__/card.visual.test.tsx/card-without-actions-chromium-darwin.png +0 -0
  67. package/src/components/organisms/card/__screenshots__/card.visual.test.tsx/card-without-actions-chromium-linux.png +0 -0
  68. package/src/components/organisms/card/__screenshots__/card.visual.test.tsx/card-without-eyebrow-chromium-darwin.png +0 -0
  69. package/src/components/organisms/card/__screenshots__/card.visual.test.tsx/card-without-eyebrow-chromium-linux.png +0 -0
  70. package/src/components/organisms/card/__screenshots__/card.visual.test.tsx/card-without-image-chromium-darwin.png +0 -0
  71. package/src/components/organisms/card/__screenshots__/card.visual.test.tsx/card-without-image-chromium-linux.png +0 -0
  72. package/src/components/organisms/card/card.stories.tsx +293 -0
  73. package/src/components/organisms/card/card.test.tsx +245 -0
  74. package/src/components/organisms/card/card.tsx +227 -0
  75. package/src/components/organisms/card/card.visual.test.tsx +197 -0
  76. package/src/components/organisms/card/index.ts +19 -0
  77. package/src/components/organisms/navbar/__screenshots__/navbar.visual.test.tsx/navbar-active-link-chromium-darwin.png +0 -0
  78. package/src/components/organisms/navbar/__screenshots__/navbar.visual.test.tsx/navbar-active-link-chromium-linux.png +0 -0
  79. package/src/components/organisms/navbar/__screenshots__/navbar.visual.test.tsx/navbar-brand-only-chromium-darwin.png +0 -0
  80. package/src/components/organisms/navbar/__screenshots__/navbar.visual.test.tsx/navbar-brand-only-chromium-linux.png +0 -0
  81. package/src/components/organisms/navbar/__screenshots__/navbar.visual.test.tsx/navbar-default-chromium-darwin.png +0 -0
  82. package/src/components/organisms/navbar/__screenshots__/navbar.visual.test.tsx/navbar-default-chromium-linux.png +0 -0
  83. package/src/components/organisms/navbar/index.ts +18 -0
  84. package/src/components/organisms/navbar/navbar.stories.tsx +313 -0
  85. package/src/components/organisms/navbar/navbar.test.tsx +190 -0
  86. package/src/components/organisms/navbar/navbar.tsx +365 -0
  87. package/src/components/organisms/navbar/navbar.visual.test.tsx +85 -0
  88. package/src/components/organisms/us-gov-banner/__screenshots__/us-gov-banner.visual.test.tsx/us-gov-banner-custom-icon-chromium-darwin.png +0 -0
  89. package/src/components/organisms/us-gov-banner/__screenshots__/us-gov-banner.visual.test.tsx/us-gov-banner-custom-icon-chromium-linux.png +0 -0
  90. package/src/components/organisms/us-gov-banner/__screenshots__/us-gov-banner.visual.test.tsx/us-gov-banner-custom-text-chromium-darwin.png +0 -0
  91. package/src/components/organisms/us-gov-banner/__screenshots__/us-gov-banner.visual.test.tsx/us-gov-banner-custom-text-chromium-linux.png +0 -0
  92. package/src/components/organisms/us-gov-banner/__screenshots__/us-gov-banner.visual.test.tsx/us-gov-banner-default-chromium-darwin.png +0 -0
  93. package/src/components/organisms/us-gov-banner/__screenshots__/us-gov-banner.visual.test.tsx/us-gov-banner-default-chromium-linux.png +0 -0
  94. package/src/components/organisms/us-gov-banner/index.ts +1 -0
  95. package/src/components/organisms/us-gov-banner/us-gov-banner.stories.tsx +35 -0
  96. package/src/components/organisms/us-gov-banner/us-gov-banner.test.tsx +107 -0
  97. package/src/components/organisms/us-gov-banner/us-gov-banner.tsx +73 -0
  98. package/src/components/organisms/us-gov-banner/us-gov-banner.visual.test.tsx +46 -0
  99. package/src/components/sections/banner/banner.stories.tsx +150 -0
  100. package/src/components/sections/banner/banner.test.tsx +185 -0
  101. package/src/components/sections/banner/banner.tsx +132 -0
  102. package/src/components/sections/banner/index.ts +2 -0
  103. package/src/components/sections/card-grid/card-grid.stories.tsx +351 -0
  104. package/src/components/sections/card-grid/card-grid.tsx +118 -0
  105. package/src/components/sections/card-grid/index.ts +1 -0
  106. package/src/components/sections/faq-section/faq-section.tsx +76 -0
  107. package/src/components/sections/faq-section/index.ts +2 -0
  108. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a1-desktop-chromium-darwin.png +0 -0
  109. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a1-desktop-chromium-linux.png +0 -0
  110. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a1-mobile-chromium-darwin.png +0 -0
  111. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a1-mobile-chromium-linux.png +0 -0
  112. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a1-tablet-chromium-darwin.png +0 -0
  113. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a1-tablet-chromium-linux.png +0 -0
  114. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a2-desktop-chromium-darwin.png +0 -0
  115. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a2-desktop-chromium-linux.png +0 -0
  116. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a2-mobile-chromium-darwin.png +0 -0
  117. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a2-mobile-chromium-linux.png +0 -0
  118. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a2-tablet-chromium-darwin.png +0 -0
  119. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a2-tablet-chromium-linux.png +0 -0
  120. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a3-desktop-chromium-darwin.png +0 -0
  121. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a3-desktop-chromium-linux.png +0 -0
  122. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a3-mobile-chromium-darwin.png +0 -0
  123. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a3-mobile-chromium-linux.png +0 -0
  124. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a3-tablet-chromium-darwin.png +0 -0
  125. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-a3-tablet-chromium-linux.png +0 -0
  126. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-custom-class-chromium-darwin.png +0 -0
  127. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-custom-class-chromium-linux.png +0 -0
  128. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-default-chromium-linux.png +0 -0
  129. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-long-title-chromium-darwin.png +0 -0
  130. package/src/components/sections/hero/__screenshots__/hero.visual.test.tsx/hero-long-title-chromium-linux.png +0 -0
  131. package/src/components/sections/hero/hero.stories.tsx +145 -0
  132. package/src/components/sections/hero/hero.test.tsx +135 -0
  133. package/src/components/sections/hero/hero.tsx +190 -0
  134. package/src/components/sections/hero/hero.visual.test.tsx +140 -0
  135. package/src/components/sections/hero/index.ts +1 -0
  136. package/src/components/sections/prose/__screenshots__/prose.visual.test.tsx/prose-h3-heading-chromium-darwin.png +0 -0
  137. package/src/components/sections/prose/__screenshots__/prose.visual.test.tsx/prose-h3-heading-chromium-linux.png +0 -0
  138. package/src/components/sections/prose/__screenshots__/prose.visual.test.tsx/prose-multiple-paragraphs-chromium-darwin.png +0 -0
  139. package/src/components/sections/prose/__screenshots__/prose.visual.test.tsx/prose-multiple-paragraphs-chromium-linux.png +0 -0
  140. package/src/components/sections/prose/__screenshots__/prose.visual.test.tsx/prose-multiple-sections-chromium-darwin.png +0 -0
  141. package/src/components/sections/prose/__screenshots__/prose.visual.test.tsx/prose-multiple-sections-chromium-linux.png +0 -0
  142. package/src/components/sections/prose/__screenshots__/prose.visual.test.tsx/prose-single-section-chromium-darwin.png +0 -0
  143. package/src/components/sections/prose/__screenshots__/prose.visual.test.tsx/prose-single-section-chromium-linux.png +0 -0
  144. package/src/components/sections/prose/index.ts +6 -0
  145. package/src/components/sections/prose/prose.stories.tsx +144 -0
  146. package/src/components/sections/prose/prose.test.tsx +178 -0
  147. package/src/components/sections/prose/prose.tsx +88 -0
  148. package/src/components/sections/prose/prose.visual.test.tsx +105 -0
  149. package/src/components/sections/river/index.ts +1 -0
  150. package/src/components/sections/river/river.stories.tsx +237 -0
  151. package/src/components/sections/river/river.test.tsx +268 -0
  152. package/src/components/sections/river/river.tsx +175 -0
  153. package/src/components/sections/tout/index.ts +1 -0
  154. package/src/components/sections/tout/tout.stories.tsx +154 -0
  155. package/src/components/sections/tout/tout.test.tsx +242 -0
  156. package/src/components/sections/tout/tout.tsx +205 -0
  157. package/src/components/sections/two-column-section/index.ts +5 -0
  158. package/src/components/sections/two-column-section/two-column-section.stories.tsx +285 -0
  159. package/src/components/sections/two-column-section/two-column-section.tsx +155 -0
  160. package/src/index.ts +98 -0
  161. package/src/lib/utils.ts +6 -0
  162. package/src/main.tsx +13 -0
  163. package/src/stories/Introduction.mdx +114 -0
  164. package/src/stories/TokenShowcase.stories.tsx +92 -0
  165. package/src/stories/TokenShowcase.tsx +1352 -0
  166. package/src/styles.css +11 -0
  167. package/dist/components/hero/hero.d.ts +0 -17
  168. /package/dist/components/{button → atoms/button}/icon-button.d.ts +0 -0
  169. /package/dist/components/{us-gov-banner → organisms/us-gov-banner}/us-gov-banner.d.ts +0 -0
  170. /package/dist/components/{prose → sections/prose}/prose.d.ts +0 -0
package/README.md CHANGED
@@ -1,15 +1,15 @@
1
- # @nds-design-system/react
1
+ # @nationaldesignstudio/react
2
2
 
3
- React component library for the NDS Design System. Includes design tokens, Tailwind CSS v4 styles, and React components.
3
+ React component library for the NDS Design System. Includes design tokens for Tailwind CSS v4 and React components.
4
4
 
5
5
  ## Installation
6
6
 
7
7
  ```bash
8
- npm install @nds-design-system/react
8
+ npm install @nationaldesignstudio/react
9
9
  # or
10
- bun add @nds-design-system/react
10
+ bun add @nationaldesignstudio/react
11
11
  # or
12
- pnpm add @nds-design-system/react
12
+ pnpm add @nationaldesignstudio/react
13
13
  ```
14
14
 
15
15
  ### Peer Dependencies
@@ -26,25 +26,25 @@ This package requires the following peer dependencies:
26
26
 
27
27
  ## Usage
28
28
 
29
- ### 1. Import Styles
29
+ ### 1. Import Tokens
30
30
 
31
- Import the styles once in your app's entry point (e.g., `main.tsx`, `App.tsx`, or `globals.css`):
31
+ Import the tokens in your CSS file where you import Tailwind:
32
32
 
33
- ```tsx
34
- // In your main entry file
35
- import '@nds-design-system/react/styles.css'
33
+ ```css
34
+ /* In your main CSS file (e.g., globals.css, styles.css) */
35
+ @import "tailwindcss";
36
+ @import "@nationaldesignstudio/react/tokens.css";
36
37
  ```
37
38
 
38
39
  This imports:
39
- - Design tokens as CSS variables
40
- - Tailwind CSS v4 theme configuration
41
- - Typography utility classes
42
- - The PP Neue Montreal font
40
+ - Design tokens as CSS variables (`:root` block)
41
+ - Tailwind CSS v4 `@theme` configuration
42
+ - Typography and spacing utility classes
43
43
 
44
44
  ### 2. Use Components
45
45
 
46
46
  ```tsx
47
- import { Button } from '@nds-design-system/react'
47
+ import { Button } from '@nationaldesignstudio/react'
48
48
 
49
49
  function App() {
50
50
  return (
@@ -133,7 +133,7 @@ For fixed typography that doesn't change with screen size:
133
133
  A versatile button component with multiple variants and sizes.
134
134
 
135
135
  ```tsx
136
- import { Button } from '@nds-design-system/react'
136
+ import { Button } from '@nationaldesignstudio/react'
137
137
 
138
138
  // Variants
139
139
  <Button variant="primary">Primary</Button>
@@ -162,7 +162,7 @@ import { Button } from '@nds-design-system/react'
162
162
  A utility function for merging Tailwind classes with proper precedence:
163
163
 
164
164
  ```tsx
165
- import { cn } from '@nds-design-system/react'
165
+ import { cn } from '@nationaldesignstudio/react'
166
166
 
167
167
  <div className={cn('text-blue-500', isActive && 'text-red-500')}>
168
168
  Content
@@ -173,14 +173,16 @@ import { cn } from '@nds-design-system/react'
173
173
 
174
174
  ```tsx
175
175
  // Components
176
- import { Button, buttonVariants } from '@nds-design-system/react'
177
- import type { ButtonProps } from '@nds-design-system/react'
176
+ import { Button, buttonVariants } from '@nationaldesignstudio/react'
177
+ import type { ButtonProps } from '@nationaldesignstudio/react'
178
178
 
179
179
  // Utilities
180
- import { cn } from '@nds-design-system/react'
180
+ import { cn } from '@nationaldesignstudio/react'
181
+ ```
181
182
 
182
- // Styles (import once)
183
- import '@nds-design-system/react/styles.css'
183
+ ```css
184
+ /* Tokens (import in your CSS file) */
185
+ @import "@nationaldesignstudio/react/tokens.css";
184
186
  ```
185
187
 
186
188
  ## Development
@@ -198,7 +200,3 @@ bun run build
198
200
  # Type check
199
201
  bun run type:check
200
202
  ```
201
-
202
- ## License
203
-
204
- MIT
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-8.24-2.597c.465-1.9.893-3.777 1.273-5.621c6.238-30.281 2.16-54.676-11.769-62.708c-13.355-7.7-35.196.329-57.254 19.526a171.23 171.23 0 0 0-6.375 5.848a155.866 155.866 0 0 0-4.241-3.917C100.759 3.829 77.587-4.822 63.673 3.233C50.33 10.957 46.379 33.89 51.995 62.588a170.974 170.974 0 0 0 1.892 8.48c-3.28.932-6.445 1.924-9.474 2.98C17.309 83.498 0 98.307 0 113.668c0 15.865 18.582 31.778 46.812 41.427a145.52 145.52 0 0 0 6.921 2.165a167.467 167.467 0 0 0-2.01 9.138c-5.354 28.2-1.173 50.591 12.134 58.266c13.744 7.926 36.812-.22 59.273-19.855a145.567 145.567 0 0 0 5.342-4.923a168.064 168.064 0 0 0 6.92 6.314c21.758 18.722 43.246 26.282 56.54 18.586c13.731-7.949 18.194-32.003 12.4-61.268a145.016 145.016 0 0 0-1.535-6.842c1.62-.48 3.21-.974 4.76-1.488c29.348-9.723 48.443-25.443 48.443-41.52c0-15.417-17.868-30.326-45.517-39.844Zm-6.365 70.984c-1.4.463-2.836.91-4.3 1.345c-3.24-10.257-7.612-21.163-12.963-32.432c5.106-11 9.31-21.767 12.459-31.957c2.619.758 5.16 1.557 7.61 2.4c23.69 8.156 38.14 20.213 38.14 29.504c0 9.896-15.606 22.743-40.946 31.14Zm-10.514 20.834c2.562 12.94 2.927 24.64 1.23 33.787c-1.524 8.219-4.59 13.698-8.382 15.893c-8.067 4.67-25.32-1.4-43.927-17.412a156.726 156.726 0 0 1-6.437-5.87c7.214-7.889 14.423-17.06 21.459-27.246c12.376-1.098 24.068-2.894 34.671-5.345a134.17 134.17 0 0 1 1.386 6.193ZM87.276 214.515c-7.882 2.783-14.16 2.863-17.955.675c-8.075-4.657-11.432-22.636-6.853-46.752a156.923 156.923 0 0 1 1.869-8.499c10.486 2.32 22.093 3.988 34.498 4.994c7.084 9.967 14.501 19.128 21.976 27.15a134.668 134.668 0 0 1-4.877 4.492c-9.933 8.682-19.886 14.842-28.658 17.94ZM50.35 144.747c-12.483-4.267-22.792-9.812-29.858-15.863c-6.35-5.437-9.555-10.836-9.555-15.216c0-9.322 13.897-21.212 37.076-29.293c2.813-.98 5.757-1.905 8.812-2.773c3.204 10.42 7.406 21.315 12.477 32.332c-5.137 11.18-9.399 22.249-12.634 32.792a134.718 134.718 0 0 1-6.318-1.979Zm12.378-84.26c-4.811-24.587-1.616-43.134 6.425-47.789c8.564-4.958 27.502 2.111 47.463 19.835a144.318 144.318 0 0 1 3.841 3.545c-7.438 7.987-14.787 17.08-21.808 26.988c-12.04 1.116-23.565 2.908-34.161 5.309a160.342 160.342 0 0 1-1.76-7.887Zm110.427 27.268a347.8 347.8 0 0 0-7.785-12.803c8.168 1.033 15.994 2.404 23.343 4.08c-2.206 7.072-4.956 14.465-8.193 22.045a381.151 381.151 0 0 0-7.365-13.322Zm-45.032-43.861c5.044 5.465 10.096 11.566 15.065 18.186a322.04 322.04 0 0 0-30.257-.006c4.974-6.559 10.069-12.652 15.192-18.18ZM82.802 87.83a323.167 323.167 0 0 0-7.227 13.238c-3.184-7.553-5.909-14.98-8.134-22.152c7.304-1.634 15.093-2.97 23.209-3.984a321.524 321.524 0 0 0-7.848 12.897Zm8.081 65.352c-8.385-.936-16.291-2.203-23.593-3.793c2.26-7.3 5.045-14.885 8.298-22.6a321.187 321.187 0 0 0 7.257 13.246c2.594 4.48 5.28 8.868 8.038 13.147Zm37.542 31.03c-5.184-5.592-10.354-11.779-15.403-18.433c4.902.192 9.899.29 14.978.29c5.218 0 10.376-.117 15.453-.343c-4.985 6.774-10.018 12.97-15.028 18.486Zm52.198-57.817c3.422 7.8 6.306 15.345 8.596 22.52c-7.422 1.694-15.436 3.058-23.88 4.071a382.417 382.417 0 0 0 7.859-13.026a347.403 347.403 0 0 0 7.425-13.565Zm-16.898 8.101a358.557 358.557 0 0 1-12.281 19.815a329.4 329.4 0 0 1-23.444.823c-7.967 0-15.716-.248-23.178-.732a310.202 310.202 0 0 1-12.513-19.846h.001a307.41 307.41 0 0 1-10.923-20.627a310.278 310.278 0 0 1 10.89-20.637l-.001.001a307.318 307.318 0 0 1 12.413-19.761c7.613-.576 15.42-.876 23.31-.876H128c7.926 0 15.743.303 23.354.883a329.357 329.357 0 0 1 12.335 19.695a358.489 358.489 0 0 1 11.036 20.54a329.472 329.472 0 0 1-11 20.722Zm22.56-122.124c8.572 4.944 11.906 24.881 6.52 51.026c-.344 1.668-.73 3.367-1.15 5.09c-10.622-2.452-22.155-4.275-34.23-5.408c-7.034-10.017-14.323-19.124-21.64-27.008a160.789 160.789 0 0 1 5.888-5.4c18.9-16.447 36.564-22.941 44.612-18.3ZM128 90.808c12.625 0 22.86 10.235 22.86 22.86s-10.235 22.86-22.86 22.86s-22.86-10.235-22.86-22.86s10.235-22.86 22.86-22.86Z"></path></svg>
@@ -0,0 +1,50 @@
1
+ import * as React from "react";
2
+ export interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Allow multiple items to be expanded at once
5
+ * @default false
6
+ */
7
+ allowMultiple?: boolean;
8
+ /**
9
+ * The ID(s) of items that should be expanded by default
10
+ */
11
+ defaultExpanded?: string | string[];
12
+ children: React.ReactNode;
13
+ }
14
+ /**
15
+ * Accordion component for expandable/collapsible content sections.
16
+ * Built on Base UI's Accordion primitive.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * <Accordion defaultExpanded="item-1">
21
+ * <AccordionItem id="item-1" title="Question 1">
22
+ * Answer to question 1
23
+ * </AccordionItem>
24
+ * <AccordionItem id="item-2" title="Question 2">
25
+ * Answer to question 2
26
+ * </AccordionItem>
27
+ * </Accordion>
28
+ * ```
29
+ */
30
+ declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
31
+ export interface AccordionItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
32
+ /**
33
+ * Unique identifier for this item
34
+ */
35
+ id: string;
36
+ /**
37
+ * The question/title displayed in the header
38
+ */
39
+ title: string;
40
+ /**
41
+ * The answer/content revealed when expanded
42
+ */
43
+ children: React.ReactNode;
44
+ }
45
+ /**
46
+ * Individual accordion item with collapsible content.
47
+ * Must be used within an Accordion component.
48
+ */
49
+ declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
50
+ export { Accordion, AccordionItem };
@@ -1,3 +1,4 @@
1
+ import { ButtonProps as BaseButtonProps } from '@base-ui-components/react/button';
1
2
  import { VariantProps } from 'class-variance-authority';
2
3
  import * as React from "react";
3
4
  /**
@@ -10,6 +11,7 @@ import * as React from "react";
10
11
  * - ivory: Light filled button (for dark backgrounds)
11
12
  * - ivoryOutline: Light outlined button (for dark backgrounds)
12
13
  * - ivoryOutlineQuiet: Subtle light outlined button (for dark backgrounds)
14
+ * - secondary: Gray filled button (for dark backgrounds)
13
15
  *
14
16
  * Sizes:
15
17
  * - lg: Large buttons (46px height)
@@ -19,11 +21,10 @@ import * as React from "react";
19
21
  * For icon-only buttons, use the IconButton component instead.
20
22
  */
21
23
  declare const buttonVariants: (props?: ({
22
- variant?: "charcoal" | "charcoalOutline" | "charcoalOutlineQuiet" | "ivory" | "ivoryOutline" | "ivoryOutlineQuiet" | null | undefined;
24
+ variant?: "charcoal" | "charcoalOutline" | "charcoalOutlineQuiet" | "ivory" | "ivoryOutline" | "ivoryOutlineQuiet" | "secondary" | null | undefined;
23
25
  size?: "lg" | "default" | "sm" | null | undefined;
24
26
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
25
- export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
26
- asChild?: boolean;
27
- }
27
+ export type HTMLButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement>;
28
+ export type ButtonProps = BaseButtonProps & VariantProps<typeof buttonVariants> & HTMLButtonProps;
28
29
  declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
29
30
  export { Button, buttonVariants };
@@ -0,0 +1,62 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ declare const pagerControlVariants: (props?: ({
4
+ size?: "lg" | "default" | "sm" | null | undefined;
5
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
+ declare const dotBaseVariants: (props?: ({
7
+ size?: "lg" | "default" | "sm" | null | undefined;
8
+ variant?: "charcoal" | "ivory" | null | undefined;
9
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
10
+ export interface PagerControlProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange">, VariantProps<typeof pagerControlVariants>, VariantProps<typeof dotBaseVariants> {
11
+ /**
12
+ * Total number of pages/items
13
+ */
14
+ count: number;
15
+ /**
16
+ * Current active page index (0-based)
17
+ */
18
+ activeIndex?: number;
19
+ /**
20
+ * Duration in milliseconds for each page before auto-advancing
21
+ * Set to 0 to disable auto-advance
22
+ * @default 5000
23
+ */
24
+ duration?: number;
25
+ /**
26
+ * Whether the pager should auto-advance
27
+ * @default true
28
+ */
29
+ autoPlay?: boolean;
30
+ /**
31
+ * Callback when the active page changes
32
+ */
33
+ onChange?: (index: number) => void;
34
+ /**
35
+ * Whether to pause auto-advance on hover
36
+ * @default true
37
+ */
38
+ pauseOnHover?: boolean;
39
+ /**
40
+ * Whether to loop back to the first page after the last
41
+ * @default true
42
+ */
43
+ loop?: boolean;
44
+ }
45
+ /**
46
+ * PagerControl component for indicating progress through a series of pages/slides.
47
+ *
48
+ * Features smooth width transitions when switching between dots and an animated
49
+ * progress fill on the active dot that shows time remaining before auto-advancing
50
+ * (similar to Apple's carousel indicators).
51
+ *
52
+ * Variants:
53
+ * - charcoal: Dark dots (for light backgrounds)
54
+ * - ivory: Light dots (for dark backgrounds)
55
+ *
56
+ * Sizes:
57
+ * - sm: Small dots (6px height)
58
+ * - default: Medium dots (10px height)
59
+ * - lg: Large dots (14px height)
60
+ */
61
+ declare const PagerControl: React.ForwardRefExoticComponent<PagerControlProps & React.RefAttributes<HTMLDivElement>>;
62
+ export { PagerControl, pagerControlVariants };
@@ -1,7 +1,7 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  import * as React from "react";
3
3
  declare const cardVariants: (props?: ({
4
- layout?: "vertical" | "horizontal" | null | undefined;
4
+ layout?: "horizontal" | "vertical" | null | undefined;
5
5
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
6
  export interface CardProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
7
7
  }
@@ -43,9 +43,13 @@ export interface CardEyebrowProps extends React.HTMLAttributes<HTMLParagraphElem
43
43
  */
44
44
  declare const CardEyebrow: React.ForwardRefExoticComponent<CardEyebrowProps & React.RefAttributes<HTMLParagraphElement>>;
45
45
  export interface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
46
+ /**
47
+ * The heading level to render (h1-h6). Defaults to h3.
48
+ */
49
+ as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
46
50
  }
47
51
  /**
48
- * Card title/heading.
52
+ * Card title/heading. Use the `as` prop to change the heading level.
49
53
  */
50
54
  declare const CardTitle: React.ForwardRefExoticComponent<CardTitleProps & React.RefAttributes<HTMLHeadingElement>>;
51
55
  export interface CardDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {
@@ -36,4 +36,30 @@ export interface NavbarActionsProps extends React.HTMLAttributes<HTMLDivElement>
36
36
  * Container for navbar action items (search, menu button, etc).
37
37
  */
38
38
  declare const NavbarActions: React.ForwardRefExoticComponent<NavbarActionsProps & React.RefAttributes<HTMLDivElement>>;
39
- export { Navbar, NavbarBrand, NavbarLinks, NavbarLink, NavbarActions };
39
+ export interface NavbarMobileMenuProps extends React.HTMLAttributes<HTMLDivElement> {
40
+ }
41
+ /**
42
+ * Mobile menu container that displays navigation links on mobile devices.
43
+ * Hidden on desktop (md and above). Should be used with NavbarMobileMenuButton.
44
+ */
45
+ declare const NavbarMobileMenu: React.ForwardRefExoticComponent<NavbarMobileMenuProps & React.RefAttributes<HTMLDivElement>>;
46
+ export interface NavbarMobileMenuButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
47
+ asChild?: boolean;
48
+ }
49
+ /**
50
+ * Button to toggle the mobile menu.
51
+ * Should be placed in NavbarActions on mobile.
52
+ * Use asChild to render as a custom button component (e.g., IconButton).
53
+ */
54
+ declare const NavbarMobileMenuButton: React.ForwardRefExoticComponent<NavbarMobileMenuButtonProps & React.RefAttributes<HTMLButtonElement>>;
55
+ export interface NavbarMobileMenuLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
56
+ asChild?: boolean;
57
+ active?: boolean;
58
+ }
59
+ /**
60
+ * Navigation link for the mobile menu.
61
+ * Automatically closes the mobile menu when clicked.
62
+ * Use asChild to render with a router Link component.
63
+ */
64
+ declare const NavbarMobileMenuLink: React.ForwardRefExoticComponent<NavbarMobileMenuLinkProps & React.RefAttributes<HTMLAnchorElement>>;
65
+ export { Navbar, NavbarBrand, NavbarLinks, NavbarLink, NavbarActions, NavbarMobileMenu, NavbarMobileMenuButton, NavbarMobileMenuLink, };
@@ -0,0 +1,64 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ /**
4
+ * Banner component based on Figma BaseKit / Banners
5
+ *
6
+ * Used to surface short, important updates or a single key action
7
+ * without disrupting the main page content.
8
+ *
9
+ * Responsive behavior using 24-column grid:
10
+ * - Mobile (sm): Stacked layout, 20px horizontal / 32px vertical padding
11
+ * - Tablet (md): Horizontal layout, 56px padding
12
+ * - Desktop (lg): Horizontal layout, 72px padding
13
+ *
14
+ * Must be placed inside a `grid-container`. Uses `col-full` to span all columns.
15
+ */
16
+ declare const bannerVariants: (props?: ({
17
+ theme?: "light" | "dark" | null | undefined;
18
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
19
+ export interface BannerProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof bannerVariants> {
20
+ /**
21
+ * The heading text displayed in the banner
22
+ */
23
+ heading: string;
24
+ /**
25
+ * The description text displayed below the heading
26
+ */
27
+ description: string;
28
+ /**
29
+ * Optional action element (typically a Button component)
30
+ */
31
+ action?: React.ReactNode;
32
+ }
33
+ /**
34
+ * Banner component for surfacing important updates or CTAs.
35
+ *
36
+ * Uses the 24-column grid system - must be placed inside a `grid-container`.
37
+ * Spans full width with `col-full`.
38
+ *
39
+ * Responsive across breakpoints:
40
+ * - Mobile: Stacked layout with smaller padding
41
+ * - Tablet: Horizontal layout with medium padding
42
+ * - Desktop: Horizontal layout with larger padding
43
+ *
44
+ * @example
45
+ * ```tsx
46
+ * <div className="grid-container">
47
+ * <Banner
48
+ * heading="Important Update"
49
+ * description="Check out our new features."
50
+ * action={<Button>Learn More</Button>}
51
+ * />
52
+ * </div>
53
+ *
54
+ * // Dark theme
55
+ * <Banner
56
+ * theme="dark"
57
+ * heading="Still Have Questions?"
58
+ * description="Contact us at support@example.com"
59
+ * action={<Button variant="secondary">Email Us</Button>}
60
+ * />
61
+ * ```
62
+ */
63
+ declare const Banner: React.ForwardRefExoticComponent<BannerProps & React.RefAttributes<HTMLElement>>;
64
+ export { Banner, bannerVariants };
@@ -0,0 +1,53 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ /**
4
+ * CardGrid component for displaying cards in a responsive grid layout
5
+ *
6
+ * Variants:
7
+ * - A: 3 columns on desktop, 2 on tablet, 1 on mobile
8
+ * - B: 2 columns on desktop/tablet, 1 on mobile
9
+ *
10
+ * Uses the 24-column grid system with grid-container as root.
11
+ */
12
+ declare const cardGridVariants: (props?: ({
13
+ variant?: "A" | "B" | null | undefined;
14
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
15
+ export interface CardGridProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof cardGridVariants> {
16
+ /**
17
+ * The title text displayed above the cards
18
+ */
19
+ title: string;
20
+ /**
21
+ * The card elements to display in the grid
22
+ */
23
+ cards: React.ReactNode[];
24
+ }
25
+ /**
26
+ * CardGrid component for displaying cards in a responsive grid layout.
27
+ *
28
+ * Uses the 24-column grid system with grid-container as root.
29
+ *
30
+ * Layout (Variant A):
31
+ * - Mobile (sm): Single column, py-72
32
+ * - Tablet (md): 2 columns, gap-56 between title and cards, gap-y-20 between cards
33
+ * - Desktop (lg+): 3 columns, py-128, gap-64 between title and cards, gap-y-20 between cards
34
+ *
35
+ * Layout (Variant B):
36
+ * - Mobile (sm): Single column, py-72
37
+ * - Tablet (md): 2 columns, gap-56 between title and cards, gap-y-20 between cards
38
+ * - Desktop (lg+): 2 columns, py-128, gap-64 between title and cards, gap-y-20 between cards
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * <CardGrid
43
+ * variant="A"
44
+ * title="Featured Cards"
45
+ * cards={[
46
+ * <Card key="1">...</Card>,
47
+ * <Card key="2">...</Card>,
48
+ * ]}
49
+ * />
50
+ * ```
51
+ */
52
+ declare const CardGrid: React.ForwardRefExoticComponent<CardGridProps & React.RefAttributes<HTMLElement>>;
53
+ export { CardGrid, cardGridVariants };
@@ -0,0 +1,44 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { twoColumnSectionVariants } from '../two-column-section/two-column-section';
3
+ import * as React from "react";
4
+ export interface FaqSectionProps extends Omit<React.HTMLAttributes<HTMLElement>, "title">, VariantProps<typeof twoColumnSectionVariants> {
5
+ /**
6
+ * The title text displayed in the left column
7
+ * @default "Frequently Asked Questions"
8
+ */
9
+ title?: string;
10
+ /**
11
+ * The FAQ content - typically an Accordion with AccordionItems
12
+ */
13
+ children: React.ReactNode;
14
+ }
15
+ /**
16
+ * FaqSection component for displaying FAQ content in a two-column layout.
17
+ *
18
+ * Wraps TwoColumnSection with FAQ-specific defaults and typography.
19
+ *
20
+ * Layout:
21
+ * - Mobile/Tablet: Stacked (title above content)
22
+ * - Desktop (lg+): Title left (~40%), FAQ content right (~60%)
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * <FaqSection>
27
+ * <Accordion defaultExpanded="faq-1">
28
+ * <AccordionItem id="faq-1" title="What is the US Tech Force?">
29
+ * Tech Force will be an elite group of technology specialists...
30
+ * </AccordionItem>
31
+ * <AccordionItem id="faq-2" title="What skills are required?">
32
+ * We're looking for expertise in software engineering...
33
+ * </AccordionItem>
34
+ * </Accordion>
35
+ * </FaqSection>
36
+ *
37
+ * // With custom title
38
+ * <FaqSection title="Common Questions" theme="light">
39
+ * ...
40
+ * </FaqSection>
41
+ * ```
42
+ */
43
+ declare const FaqSection: React.ForwardRefExoticComponent<FaqSectionProps & React.RefAttributes<HTMLElement>>;
44
+ export { FaqSection };
@@ -0,0 +1,73 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ /**
4
+ * Hero variants based on Figma BaseKit / Heros
5
+ *
6
+ * Variants:
7
+ * - A1: Content aligned at bottom (default)
8
+ * - A2: Content aligned at top
9
+ * - A3: Content aligned at center
10
+ *
11
+ * Each variant is responsive across breakpoints:
12
+ * - sm (Mobile): 500px height, 20px padding
13
+ * - md (Tablet): 650px height, 56px padding
14
+ * - lg (Desktop): 700-850px height, 64-72px padding
15
+ */
16
+ declare const heroVariants: (props?: ({
17
+ variant?: "A1" | "A2" | "A3" | null | undefined;
18
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
19
+ export interface HeroProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof heroVariants> {
20
+ /**
21
+ * The title text displayed in the hero
22
+ */
23
+ title: string;
24
+ /**
25
+ * URL for the background image
26
+ */
27
+ backgroundImage?: string;
28
+ /**
29
+ * URL for a background video (takes precedence over backgroundImage)
30
+ */
31
+ backgroundVideo?: string;
32
+ /**
33
+ * Opacity of the dark overlay (0-1, default: 0)
34
+ */
35
+ overlayOpacity?: number;
36
+ /**
37
+ * Color of the overlay (default: "black")
38
+ */
39
+ overlayColor?: string;
40
+ /**
41
+ * CSS background-position value (default: "center")
42
+ */
43
+ backgroundPosition?: string;
44
+ }
45
+ /**
46
+ * Hero component for page headers with large display typography.
47
+ *
48
+ * Features responsive sizing across three variants:
49
+ * - A1: Content at bottom (default)
50
+ * - A2: Content at top
51
+ * - A3: Content centered
52
+ *
53
+ * Each variant responds to breakpoints:
54
+ * - Mobile: 500px height, 20px padding, 64px typography
55
+ * - Tablet (768px+): 650px height, 56px padding, 128-148px typography
56
+ * - Desktop (1440px+): 700-800px height, 64-72px padding, 148-192px typography
57
+ *
58
+ * @example
59
+ * ```tsx
60
+ * // Simple hero
61
+ * <Hero title="Welcome" variant="A1" />
62
+ *
63
+ * // With background image and overlay
64
+ * <Hero
65
+ * title="Welcome"
66
+ * variant="A1"
67
+ * backgroundImage="/hero.jpg"
68
+ * overlayOpacity={0.4}
69
+ * />
70
+ * ```
71
+ */
72
+ declare const Hero: React.ForwardRefExoticComponent<HeroProps & React.RefAttributes<HTMLElement>>;
73
+ export { Hero, heroVariants };
@@ -0,0 +1,63 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ /**
4
+ * River component for content sections with text and media
5
+ *
6
+ * Variants:
7
+ * - A: Text on left (9 cols), media on right (15 cols) on desktop
8
+ * - B: Media on left (15 cols), text on right (9 cols) on desktop
9
+ *
10
+ * Uses the 24-column grid system. Must be placed inside a `grid-container`.
11
+ */
12
+ declare const riverVariants: (props?: ({
13
+ variant?: "A" | "B" | null | undefined;
14
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
15
+ export interface RiverProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof riverVariants> {
16
+ /**
17
+ * The headline text
18
+ */
19
+ headline: string;
20
+ /**
21
+ * The body text
22
+ */
23
+ body: string;
24
+ /**
25
+ * Primary action button (required)
26
+ */
27
+ primaryAction: React.ReactNode;
28
+ /**
29
+ * Secondary action button (optional)
30
+ */
31
+ secondaryAction?: React.ReactNode;
32
+ /**
33
+ * Media content (image, video, etc.)
34
+ */
35
+ media: React.ReactNode;
36
+ }
37
+ /**
38
+ * River component for content sections with text and media.
39
+ *
40
+ * Uses the 24-column grid system - must be placed inside a `grid-container`.
41
+ *
42
+ * Layout:
43
+ * - Mobile/Tablet: Stacked (text above media)
44
+ * - Desktop (lg+):
45
+ * - Variant A: Text (9 cols) | Media (15 cols)
46
+ * - Variant B: Media (15 cols) | Text (9 cols)
47
+ *
48
+ * @example
49
+ * ```tsx
50
+ * <div className="grid-container">
51
+ * <River
52
+ * variant="A"
53
+ * headline="Feature Headline"
54
+ * body="Description of the feature..."
55
+ * primaryAction={<Button>Primary</Button>}
56
+ * secondaryAction={<Button variant="charcoalOutline">Secondary</Button>}
57
+ * media={<img src="..." alt="Feature" />}
58
+ * />
59
+ * </div>
60
+ * ```
61
+ */
62
+ declare const River: React.ForwardRefExoticComponent<RiverProps & React.RefAttributes<HTMLElement>>;
63
+ export { River, riverVariants };