@nationaldesignstudio/react 0.6.0 → 0.7.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 (106) hide show
  1. package/dist/accordion/index.d.ts +95 -0
  2. package/dist/accordion/index.js +143 -0
  3. package/dist/accordion/index.js.map +1 -0
  4. package/dist/background/index.d.ts +149 -0
  5. package/dist/background/index.js +200 -0
  6. package/dist/background/index.js.map +1 -0
  7. package/dist/banner/index.d.ts +101 -0
  8. package/dist/banner/index.js +81 -0
  9. package/dist/banner/index.js.map +1 -0
  10. package/dist/blurred-video-backdrop/index.d.ts +233 -0
  11. package/dist/blurred-video-backdrop/index.js +266 -0
  12. package/dist/blurred-video-backdrop/index.js.map +1 -0
  13. package/dist/button/index.d.ts +180 -0
  14. package/dist/button/index.js +169 -0
  15. package/dist/button/index.js.map +1 -0
  16. package/dist/button-B2g5fH9b.d.ts +152 -0
  17. package/dist/card/index.d.ts +406 -0
  18. package/dist/card/index.js +219 -0
  19. package/dist/card/index.js.map +1 -0
  20. package/dist/card-grid/index.d.ts +90 -0
  21. package/dist/card-grid/index.js +74 -0
  22. package/dist/card-grid/index.js.map +1 -0
  23. package/dist/component-registry.md +136 -2
  24. package/dist/dev-toolbar/index.d.ts +8 -0
  25. package/dist/dev-toolbar/index.js +206 -0
  26. package/dist/dev-toolbar/index.js.map +1 -0
  27. package/dist/dialog/index.d.ts +268 -0
  28. package/dist/dialog/index.js +288 -0
  29. package/dist/dialog/index.js.map +1 -0
  30. package/dist/faq-section/index.d.ts +47 -0
  31. package/dist/faq-section/index.js +152 -0
  32. package/dist/faq-section/index.js.map +1 -0
  33. package/dist/grid-overlay/index.d.ts +10 -0
  34. package/dist/grid-overlay/index.js +38 -0
  35. package/dist/grid-overlay/index.js.map +1 -0
  36. package/dist/hero/index.d.ts +462 -0
  37. package/dist/hero/index.js +494 -0
  38. package/dist/hero/index.js.map +1 -0
  39. package/dist/hooks/index.d.ts +150 -0
  40. package/dist/hooks/index.js +339 -0
  41. package/dist/hooks/index.js.map +1 -0
  42. package/dist/index.d.ts +46 -5339
  43. package/dist/index.js +157 -4080
  44. package/dist/index.js.map +1 -1
  45. package/dist/input/index.d.ts +404 -0
  46. package/dist/input/index.js +393 -0
  47. package/dist/input/index.js.map +1 -0
  48. package/dist/navbar/index.d.ts +68 -0
  49. package/dist/navbar/index.js +227 -0
  50. package/dist/navbar/index.js.map +1 -0
  51. package/dist/ndstudio-footer/index.d.ts +32 -0
  52. package/dist/ndstudio-footer/index.js +35 -0
  53. package/dist/ndstudio-footer/index.js.map +1 -0
  54. package/dist/pager-control/index.d.ts +173 -0
  55. package/dist/pager-control/index.js +267 -0
  56. package/dist/pager-control/index.js.map +1 -0
  57. package/dist/popover/index.d.ts +200 -0
  58. package/dist/popover/index.js +290 -0
  59. package/dist/popover/index.js.map +1 -0
  60. package/dist/prose/index.d.ts +39 -0
  61. package/dist/prose/index.js +56 -0
  62. package/dist/prose/index.js.map +1 -0
  63. package/dist/quote-block/index.d.ts +156 -0
  64. package/dist/quote-block/index.js +321 -0
  65. package/dist/quote-block/index.js.map +1 -0
  66. package/dist/river/index.d.ts +100 -0
  67. package/dist/river/index.js +107 -0
  68. package/dist/river/index.js.map +1 -0
  69. package/dist/select/index.d.ts +188 -0
  70. package/dist/select/index.js +295 -0
  71. package/dist/select/index.js.map +1 -0
  72. package/dist/theme/index.d.ts +149 -0
  73. package/dist/theme/index.js +211 -0
  74. package/dist/theme/index.js.map +1 -0
  75. package/dist/theme-CzBPUlh_.d.ts +332 -0
  76. package/dist/tooltip/index.d.ts +166 -0
  77. package/dist/tooltip/index.js +200 -0
  78. package/dist/tooltip/index.js.map +1 -0
  79. package/dist/tout/index.d.ts +157 -0
  80. package/dist/tout/index.js +315 -0
  81. package/dist/tout/index.js.map +1 -0
  82. package/dist/two-column-section/index.d.ts +122 -0
  83. package/dist/two-column-section/index.js +121 -0
  84. package/dist/two-column-section/index.js.map +1 -0
  85. package/dist/us-gov-banner/index.d.ts +141 -0
  86. package/dist/us-gov-banner/index.js +74 -0
  87. package/dist/us-gov-banner/index.js.map +1 -0
  88. package/dist/use-captions-AkKlJhov.d.ts +71 -0
  89. package/dist/utils/index.d.ts +7 -0
  90. package/dist/utils/index.js +12 -0
  91. package/dist/utils/index.js.map +1 -0
  92. package/dist/video-dialog/index.d.ts +106 -0
  93. package/dist/video-dialog/index.js +1305 -0
  94. package/dist/video-dialog/index.js.map +1 -0
  95. package/dist/video-player/index.d.ts +115 -0
  96. package/dist/video-player/index.js +879 -0
  97. package/dist/video-player/index.js.map +1 -0
  98. package/dist/video-player-qxf-BURH.d.ts +236 -0
  99. package/dist/video-with-backdrop/index.d.ts +267 -0
  100. package/dist/video-with-backdrop/index.js +1284 -0
  101. package/dist/video-with-backdrop/index.js.map +1 -0
  102. package/package.json +13 -2
  103. package/src/components/organisms/us-gov-banner/us-gov-banner.tsx +5 -27
  104. package/src/theme/hooks.ts +2 -0
  105. package/src/theme/index.ts +2 -0
  106. package/src/theme/theme-provider.tsx +2 -0
@@ -0,0 +1,404 @@
1
+ import * as tailwind_variants from 'tailwind-variants';
2
+ import { VariantProps } from 'tailwind-variants';
3
+ import * as tailwind_variants_dist_config_js from 'tailwind-variants/dist/config.js';
4
+ import * as React from 'react';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import { B as ButtonProps } from '../button-B2g5fH9b.js';
7
+ import '@base-ui-components/react/button';
8
+ import '../theme-CzBPUlh_.js';
9
+
10
+ /**
11
+ * Input variants for styling based on Figma BaseKit / Interface / Input
12
+ *
13
+ * States (handled via CSS pseudo-classes and props):
14
+ * - Default: White background, subtle border
15
+ * - Hover: Light gray background (via :hover)
16
+ * - Focus: Accent border with focus ring (via :focus-visible)
17
+ * - Error: Error border color (via error prop)
18
+ * - Disabled: Disabled background (via :disabled)
19
+ *
20
+ * Sizes:
21
+ * - sm: Smaller height and padding (36px)
22
+ * - default: Standard height (48px)
23
+ * - lg: Larger height and padding (56px)
24
+ */
25
+ declare const inputVariants: tailwind_variants.TVReturnType<{
26
+ size: {
27
+ readonly sm: "h-spatial-ui-input-height-small px-spatial-ui-input-padding-x-small py-spatial-ui-input-padding-y-small typography-body-sm-md";
28
+ readonly default: "h-spatial-ui-input-height-medium px-spatial-ui-input-padding-x-medium py-spatial-ui-input-padding-y-medium typography-body-md-md";
29
+ readonly lg: "h-spatial-ui-input-height-large px-spatial-ui-input-padding-x-large py-spatial-ui-input-padding-y-large typography-body-md-lg";
30
+ };
31
+ error: {
32
+ true: string;
33
+ false: "";
34
+ };
35
+ }, undefined, string[], tailwind_variants_dist_config_js.TVConfig<{
36
+ size: {
37
+ readonly sm: "h-spatial-ui-input-height-small px-spatial-ui-input-padding-x-small py-spatial-ui-input-padding-y-small typography-body-sm-md";
38
+ readonly default: "h-spatial-ui-input-height-medium px-spatial-ui-input-padding-x-medium py-spatial-ui-input-padding-y-medium typography-body-md-md";
39
+ readonly lg: "h-spatial-ui-input-height-large px-spatial-ui-input-padding-x-large py-spatial-ui-input-padding-y-large typography-body-md-lg";
40
+ };
41
+ error: {
42
+ true: string;
43
+ false: "";
44
+ };
45
+ }, {
46
+ size: {
47
+ readonly sm: "h-spatial-ui-input-height-small px-spatial-ui-input-padding-x-small py-spatial-ui-input-padding-y-small typography-body-sm-md";
48
+ readonly default: "h-spatial-ui-input-height-medium px-spatial-ui-input-padding-x-medium py-spatial-ui-input-padding-y-medium typography-body-md-md";
49
+ readonly lg: "h-spatial-ui-input-height-large px-spatial-ui-input-padding-x-large py-spatial-ui-input-padding-y-large typography-body-md-lg";
50
+ };
51
+ error: {
52
+ true: string;
53
+ false: "";
54
+ };
55
+ }>, {
56
+ size: {
57
+ readonly sm: "h-spatial-ui-input-height-small px-spatial-ui-input-padding-x-small py-spatial-ui-input-padding-y-small typography-body-sm-md";
58
+ readonly default: "h-spatial-ui-input-height-medium px-spatial-ui-input-padding-x-medium py-spatial-ui-input-padding-y-medium typography-body-md-md";
59
+ readonly lg: "h-spatial-ui-input-height-large px-spatial-ui-input-padding-x-large py-spatial-ui-input-padding-y-large typography-body-md-lg";
60
+ };
61
+ error: {
62
+ true: string;
63
+ false: "";
64
+ };
65
+ }, undefined, tailwind_variants.TVReturnType<{
66
+ size: {
67
+ readonly sm: "h-spatial-ui-input-height-small px-spatial-ui-input-padding-x-small py-spatial-ui-input-padding-y-small typography-body-sm-md";
68
+ readonly default: "h-spatial-ui-input-height-medium px-spatial-ui-input-padding-x-medium py-spatial-ui-input-padding-y-medium typography-body-md-md";
69
+ readonly lg: "h-spatial-ui-input-height-large px-spatial-ui-input-padding-x-large py-spatial-ui-input-padding-y-large typography-body-md-lg";
70
+ };
71
+ error: {
72
+ true: string;
73
+ false: "";
74
+ };
75
+ }, undefined, string[], tailwind_variants_dist_config_js.TVConfig<{
76
+ size: {
77
+ readonly sm: "h-spatial-ui-input-height-small px-spatial-ui-input-padding-x-small py-spatial-ui-input-padding-y-small typography-body-sm-md";
78
+ readonly default: "h-spatial-ui-input-height-medium px-spatial-ui-input-padding-x-medium py-spatial-ui-input-padding-y-medium typography-body-md-md";
79
+ readonly lg: "h-spatial-ui-input-height-large px-spatial-ui-input-padding-x-large py-spatial-ui-input-padding-y-large typography-body-md-lg";
80
+ };
81
+ error: {
82
+ true: string;
83
+ false: "";
84
+ };
85
+ }, {
86
+ size: {
87
+ readonly sm: "h-spatial-ui-input-height-small px-spatial-ui-input-padding-x-small py-spatial-ui-input-padding-y-small typography-body-sm-md";
88
+ readonly default: "h-spatial-ui-input-height-medium px-spatial-ui-input-padding-x-medium py-spatial-ui-input-padding-y-medium typography-body-md-md";
89
+ readonly lg: "h-spatial-ui-input-height-large px-spatial-ui-input-padding-x-large py-spatial-ui-input-padding-y-large typography-body-md-lg";
90
+ };
91
+ error: {
92
+ true: string;
93
+ false: "";
94
+ };
95
+ }>, unknown, unknown, undefined>>;
96
+ interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size">, VariantProps<typeof inputVariants> {
97
+ /**
98
+ * Whether the input is in an error state
99
+ */
100
+ error?: boolean;
101
+ }
102
+ /**
103
+ * Input component based on Figma BaseKit / Interface / Input
104
+ *
105
+ * A styled text input with support for various states:
106
+ * - Default, hover, focus, error, and disabled states
107
+ * - Three size variants: sm, default, lg
108
+ *
109
+ * Uses semantic UI tokens for theming support.
110
+ *
111
+ * @example
112
+ * ```tsx
113
+ * // Basic usage
114
+ * <Input placeholder="Enter your email" />
115
+ *
116
+ * // With error state
117
+ * <Input error placeholder="Invalid input" />
118
+ *
119
+ * // Different sizes
120
+ * <Input size="sm" placeholder="Small" />
121
+ * <Input size="lg" placeholder="Large" />
122
+ *
123
+ * // Disabled
124
+ * <Input disabled placeholder="Disabled input" />
125
+ * ```
126
+ */
127
+ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
128
+
129
+ declare const inputGroupVariants: tailwind_variants.TVReturnType<{
130
+ size: {
131
+ sm: string;
132
+ default: string;
133
+ lg: string;
134
+ };
135
+ }, undefined, string[], tailwind_variants_dist_config_js.TVConfig<{
136
+ size: {
137
+ sm: string;
138
+ default: string;
139
+ lg: string;
140
+ };
141
+ }, {
142
+ size: {
143
+ sm: string;
144
+ default: string;
145
+ lg: string;
146
+ };
147
+ }>, {
148
+ size: {
149
+ sm: string;
150
+ default: string;
151
+ lg: string;
152
+ };
153
+ }, undefined, tailwind_variants.TVReturnType<{
154
+ size: {
155
+ sm: string;
156
+ default: string;
157
+ lg: string;
158
+ };
159
+ }, undefined, string[], tailwind_variants_dist_config_js.TVConfig<{
160
+ size: {
161
+ sm: string;
162
+ default: string;
163
+ lg: string;
164
+ };
165
+ }, {
166
+ size: {
167
+ sm: string;
168
+ default: string;
169
+ lg: string;
170
+ };
171
+ }>, unknown, unknown, undefined>>;
172
+ declare const inputGroupAddonVariants: tailwind_variants.TVReturnType<{
173
+ align: {
174
+ "inline-start": string[];
175
+ "inline-end": string[];
176
+ "block-start": string[];
177
+ "block-end": string[];
178
+ };
179
+ }, undefined, string[], tailwind_variants_dist_config_js.TVConfig<{
180
+ align: {
181
+ "inline-start": string[];
182
+ "inline-end": string[];
183
+ "block-start": string[];
184
+ "block-end": string[];
185
+ };
186
+ }, {
187
+ align: {
188
+ "inline-start": string[];
189
+ "inline-end": string[];
190
+ "block-start": string[];
191
+ "block-end": string[];
192
+ };
193
+ }>, {
194
+ align: {
195
+ "inline-start": string[];
196
+ "inline-end": string[];
197
+ "block-start": string[];
198
+ "block-end": string[];
199
+ };
200
+ }, undefined, tailwind_variants.TVReturnType<{
201
+ align: {
202
+ "inline-start": string[];
203
+ "inline-end": string[];
204
+ "block-start": string[];
205
+ "block-end": string[];
206
+ };
207
+ }, undefined, string[], tailwind_variants_dist_config_js.TVConfig<{
208
+ align: {
209
+ "inline-start": string[];
210
+ "inline-end": string[];
211
+ "block-start": string[];
212
+ "block-end": string[];
213
+ };
214
+ }, {
215
+ align: {
216
+ "inline-start": string[];
217
+ "inline-end": string[];
218
+ "block-start": string[];
219
+ "block-end": string[];
220
+ };
221
+ }>, unknown, unknown, undefined>>;
222
+ interface InputGroupProps extends React.FieldsetHTMLAttributes<HTMLFieldSetElement>, VariantProps<typeof inputGroupVariants> {
223
+ }
224
+ /**
225
+ * InputGroup component for combining inputs with addons, buttons, and text.
226
+ *
227
+ * A container that groups an input with prefix/suffix addons, icons, or buttons.
228
+ * Supports inline (left/right) and block (top/bottom) addon positioning.
229
+ *
230
+ * Uses semantic UI tokens for theming support.
231
+ *
232
+ * @example
233
+ * ```tsx
234
+ * // With prefix icon
235
+ * <InputGroup>
236
+ * <InputGroupAddon>
237
+ * <SearchIcon />
238
+ * </InputGroupAddon>
239
+ * <InputGroupInput placeholder="Search..." />
240
+ * </InputGroup>
241
+ *
242
+ * // With suffix button
243
+ * <InputGroup>
244
+ * <InputGroupInput placeholder="Enter email" />
245
+ * <InputGroupAddon align="inline-end">
246
+ * <InputGroupButton>Subscribe</InputGroupButton>
247
+ * </InputGroupAddon>
248
+ * </InputGroup>
249
+ *
250
+ * // With text prefix
251
+ * <InputGroup>
252
+ * <InputGroupAddon>
253
+ * <InputGroupText>https://</InputGroupText>
254
+ * </InputGroupAddon>
255
+ * <InputGroupInput placeholder="example.com" />
256
+ * </InputGroup>
257
+ * ```
258
+ */
259
+ declare function InputGroup({ className, size, disabled, ...props }: InputGroupProps): react_jsx_runtime.JSX.Element;
260
+ interface InputGroupAddonProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof inputGroupAddonVariants> {
261
+ }
262
+ /**
263
+ * InputGroupAddon component for positioning addons within an InputGroup.
264
+ *
265
+ * Can contain icons, text, or buttons. Clicking the addon focuses the input.
266
+ *
267
+ * @example
268
+ * ```tsx
269
+ * // Inline start (default - left side)
270
+ * <InputGroupAddon>
271
+ * <SearchIcon />
272
+ * </InputGroupAddon>
273
+ *
274
+ * // Inline end (right side)
275
+ * <InputGroupAddon align="inline-end">
276
+ * <InputGroupButton>Submit</InputGroupButton>
277
+ * </InputGroupAddon>
278
+ *
279
+ * // Block positions (top/bottom)
280
+ * <InputGroupAddon align="block-start">
281
+ * <label>Email Address</label>
282
+ * </InputGroupAddon>
283
+ * ```
284
+ */
285
+ declare function InputGroupAddon({ className, align, onClick, onKeyDown, ...props }: InputGroupAddonProps): react_jsx_runtime.JSX.Element;
286
+ declare const inputGroupButtonVariants: tailwind_variants.TVReturnType<{
287
+ size: {
288
+ xs: string;
289
+ sm: string;
290
+ "icon-xs": string;
291
+ "icon-sm": string;
292
+ };
293
+ }, undefined, string[], tailwind_variants_dist_config_js.TVConfig<{
294
+ size: {
295
+ xs: string;
296
+ sm: string;
297
+ "icon-xs": string;
298
+ "icon-sm": string;
299
+ };
300
+ }, {
301
+ size: {
302
+ xs: string;
303
+ sm: string;
304
+ "icon-xs": string;
305
+ "icon-sm": string;
306
+ };
307
+ }>, {
308
+ size: {
309
+ xs: string;
310
+ sm: string;
311
+ "icon-xs": string;
312
+ "icon-sm": string;
313
+ };
314
+ }, undefined, tailwind_variants.TVReturnType<{
315
+ size: {
316
+ xs: string;
317
+ sm: string;
318
+ "icon-xs": string;
319
+ "icon-sm": string;
320
+ };
321
+ }, undefined, string[], tailwind_variants_dist_config_js.TVConfig<{
322
+ size: {
323
+ xs: string;
324
+ sm: string;
325
+ "icon-xs": string;
326
+ "icon-sm": string;
327
+ };
328
+ }, {
329
+ size: {
330
+ xs: string;
331
+ sm: string;
332
+ "icon-xs": string;
333
+ "icon-sm": string;
334
+ };
335
+ }>, unknown, unknown, undefined>>;
336
+ interface InputGroupButtonProps extends Omit<ButtonProps, "size">, VariantProps<typeof inputGroupButtonVariants> {
337
+ }
338
+ /**
339
+ * InputGroupButton component for inline buttons within an InputGroup.
340
+ *
341
+ * A small button variant designed to fit inside input groups.
342
+ *
343
+ * @example
344
+ * ```tsx
345
+ * <InputGroupAddon align="inline-end">
346
+ * <InputGroupButton>Submit</InputGroupButton>
347
+ * </InputGroupAddon>
348
+ *
349
+ * // Icon button
350
+ * <InputGroupAddon align="inline-end">
351
+ * <InputGroupButton size="icon-xs">
352
+ * <ClearIcon />
353
+ * </InputGroupButton>
354
+ * </InputGroupAddon>
355
+ * ```
356
+ */
357
+ declare function InputGroupButton({ className, type, variant, size, ...props }: InputGroupButtonProps): react_jsx_runtime.JSX.Element;
358
+ interface InputGroupTextProps extends React.HTMLAttributes<HTMLSpanElement> {
359
+ }
360
+ /**
361
+ * InputGroupText component for static text within an InputGroup.
362
+ *
363
+ * Use for prefixes like "https://" or suffixes like ".com"
364
+ *
365
+ * @example
366
+ * ```tsx
367
+ * <InputGroupAddon>
368
+ * <InputGroupText>https://</InputGroupText>
369
+ * </InputGroupAddon>
370
+ * ```
371
+ */
372
+ declare function InputGroupText({ className, ...props }: InputGroupTextProps): react_jsx_runtime.JSX.Element;
373
+ interface InputGroupInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
374
+ }
375
+ /**
376
+ * InputGroupInput component - the input element within an InputGroup.
377
+ *
378
+ * Styled to integrate seamlessly with the InputGroup container.
379
+ *
380
+ * @example
381
+ * ```tsx
382
+ * <InputGroup>
383
+ * <InputGroupInput placeholder="Enter text..." />
384
+ * </InputGroup>
385
+ * ```
386
+ */
387
+ declare function InputGroupInput({ className, ...props }: InputGroupInputProps): react_jsx_runtime.JSX.Element;
388
+ interface InputGroupTextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
389
+ }
390
+ /**
391
+ * InputGroupTextarea component - a textarea element within an InputGroup.
392
+ *
393
+ * Styled to integrate seamlessly with the InputGroup container.
394
+ *
395
+ * @example
396
+ * ```tsx
397
+ * <InputGroup>
398
+ * <InputGroupTextarea placeholder="Enter long text..." rows={4} />
399
+ * </InputGroup>
400
+ * ```
401
+ */
402
+ declare function InputGroupTextarea({ className, ...props }: InputGroupTextareaProps): react_jsx_runtime.JSX.Element;
403
+
404
+ export { Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, InputGroupInput, type InputGroupInputProps, type InputGroupProps, InputGroupText, type InputGroupTextProps, InputGroupTextarea, type InputGroupTextareaProps, type InputProps, inputGroupAddonVariants, inputGroupVariants, inputVariants };