@cdt5058/json-render-uswds 0.0.1 → 0.1.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/catalog.ts"],"sourcesContent":["import { z } from \"zod\";\n\n// =============================================================================\n// Shared validation schemas used across form components\n// =============================================================================\n\nconst validationCheckSchema = z\n .array(\n z.object({\n type: z.string(),\n message: z.string(),\n args: z.record(z.string(), z.unknown()).optional(),\n }),\n )\n .nullable();\n\nconst validateOnSchema = z.enum([\"change\", \"blur\", \"submit\"]).nullable();\n\n// =============================================================================\n// USWDS Component Definitions\n// =============================================================================\n\n/**\n * U.S. Web Design System (USWDS) component definitions for json-render catalogs.\n *\n * These components follow USWDS design guidelines and use official `usa-*` CSS\n * class names. Users must include the USWDS CSS in their project:\n *\n * ```ts\n * import \"@uswds/uswds/css/uswds.css\";\n * // or via CDN: https://designsystem.digital.gov/how-to-use-uswds/\n * ```\n *\n * All components are built with accessibility in mind and follow WCAG 2.1 AA.\n */\nexport const uswdsComponentDefinitions = {\n // ==========================================================================\n // Layout Components\n // ==========================================================================\n\n Grid: {\n props: z.object({\n columns: z.number().nullable(),\n gap: z.enum([\"sm\", \"md\", \"lg\"]).nullable(),\n }),\n slots: [\"default\"],\n description:\n \"USWDS grid row with equal-width columns. columns: 1-12. gap: spacing between columns.\",\n example: { columns: 3, gap: \"md\" },\n },\n\n CardGroup: {\n props: z.object({\n cards: z.array(\n z.object({\n title: z.string().nullable(),\n description: z.string().nullable(),\n mediaUrl: z.string().nullable(),\n mediaAlt: z.string().nullable(),\n footer: z.string().nullable(),\n }),\n ),\n flag: z.boolean().nullable(),\n }),\n description:\n \"USWDS group of cards in a responsive grid. cards: [{title, description, mediaUrl?, mediaAlt?, footer?}]. flag for horizontal card layout.\",\n example: {\n cards: [\n {\n title: \"Card One\",\n description: \"Description one.\",\n mediaUrl: null,\n mediaAlt: null,\n footer: null,\n },\n {\n title: \"Card Two\",\n description: \"Description two.\",\n mediaUrl: null,\n mediaAlt: null,\n footer: null,\n },\n ],\n },\n },\n\n Card: {\n props: z.object({\n title: z.string().nullable(),\n description: z.string().nullable(),\n headerFirst: z.boolean().nullable(),\n mediaUrl: z.string().nullable(),\n mediaAlt: z.string().nullable(),\n flag: z.boolean().nullable(),\n }),\n slots: [\"default\"],\n description:\n \"USWDS card container. Use title/description for header, mediaUrl for an image, flag for horizontal layout.\",\n example: { title: \"Card Title\", description: \"Supporting text.\" },\n },\n\n Divider: {\n props: z.object({}),\n description: \"USWDS horizontal rule divider (usa-divider).\",\n },\n\n Footer: {\n props: z.object({\n variant: z.enum([\"slim\", \"medium\", \"big\"]).nullable(),\n agencyName: z.string(),\n agencyUrl: z.string().nullable(),\n logoUrl: z.string().nullable(),\n logoAlt: z.string().nullable(),\n navGroups: z\n .array(\n z.object({\n heading: z.string().nullable(),\n links: z.array(z.object({ label: z.string(), href: z.string() })),\n }),\n )\n .nullable(),\n contactHeading: z.string().nullable(),\n contactInfo: z\n .array(\n z.object({\n type: z.enum([\"address\", \"phone\", \"email\"]),\n value: z.string(),\n }),\n )\n .nullable(),\n socialLinks: z\n .array(\n z.object({\n platform: z.enum([\n \"facebook\",\n \"twitter\",\n \"youtube\",\n \"instagram\",\n \"rss\",\n \"linkedin\",\n \"github\",\n ]),\n href: z.string(),\n label: z.string(),\n }),\n )\n .nullable(),\n returnToTop: z.boolean().nullable(),\n }),\n description:\n \"USWDS site footer. variant: slim (compact), medium (default), big (multi-column nav). navGroups: [{heading?, links: [{label, href}]}]. For big variant, each group becomes a column.\",\n example: {\n variant: \"medium\",\n agencyName: \"Agency Name\",\n agencyUrl: \"/\",\n logoUrl: null,\n logoAlt: null,\n navGroups: [\n {\n heading: null,\n links: [\n { label: \"Home\", href: \"/\" },\n { label: \"About\", href: \"/about\" },\n { label: \"Contact\", href: \"/contact\" },\n ],\n },\n ],\n contactHeading: \"Contact\",\n contactInfo: [\n { type: \"address\", value: \"1800 F Street NW, Washington, DC 20405\" },\n { type: \"phone\", value: \"1-800-FED-INFO\" },\n { type: \"email\", value: \"info@agency.gov\" },\n ],\n socialLinks: null,\n returnToTop: true,\n },\n },\n\n // ==========================================================================\n // Navigation Components\n // ==========================================================================\n\n Accordion: {\n props: z.object({\n items: z.array(\n z.object({\n title: z.string(),\n content: z.string(),\n expanded: z.boolean().nullable(),\n }),\n ),\n bordered: z.boolean().nullable(),\n multiselectable: z.boolean().nullable(),\n }),\n description:\n \"USWDS accordion. Items as [{title, content, expanded?}]. bordered adds border styling. multiselectable allows multiple open panels.\",\n example: {\n items: [\n { title: \"First item\", content: \"Content for first item.\" },\n { title: \"Second item\", content: \"Content for second item.\" },\n ],\n },\n },\n\n Pagination: {\n props: z.object({\n totalPages: z.number(),\n page: z.number().nullable(),\n ariaLabel: z.string().nullable(),\n }),\n events: [\"change\"],\n description:\n \"USWDS pagination navigation. Use { $bindState } on page for current page number.\",\n example: { totalPages: 10, page: 1 },\n },\n\n StepIndicator: {\n props: z.object({\n steps: z.array(z.string()),\n currentStep: z.number(),\n counters: z.enum([\"default\", \"small\"]).nullable(),\n centered: z.boolean().nullable(),\n noLabels: z.boolean().nullable(),\n }),\n description:\n \"USWDS step indicator for multi-step forms. steps: array of step labels. currentStep: 1-based index of active step.\",\n example: {\n steps: [\"Personal info\", \"Household\", \"Review\"],\n currentStep: 1,\n },\n },\n\n Header: {\n props: z.object({\n variant: z.enum([\"basic\", \"extended\"]).nullable(),\n siteName: z.string(),\n siteUrl: z.string().nullable(),\n logoUrl: z.string().nullable(),\n logoAlt: z.string().nullable(),\n navItems: z\n .array(\n z.object({\n label: z.string(),\n href: z.string(),\n current: z.boolean().nullable(),\n items: z\n .array(\n z.object({\n label: z.string(),\n href: z.string(),\n }),\n )\n .nullable(),\n }),\n )\n .nullable(),\n showSearch: z.boolean().nullable(),\n }),\n description:\n \"USWDS site header with primary navigation. variant: basic (default) or extended (taller with logo). navItems: [{label, href, current?, items?}] — items creates a dropdown. showSearch adds a search bar.\",\n example: {\n variant: \"basic\",\n siteName: \"Agency Name\",\n siteUrl: \"/\",\n logoUrl: null,\n logoAlt: null,\n navItems: [\n { label: \"Home\", href: \"/\", current: true, items: null },\n { label: \"About\", href: \"/about\", current: false, items: null },\n {\n label: \"Topics\",\n href: \"/topics\",\n current: false,\n items: [\n { label: \"Topic One\", href: \"/topics/one\" },\n { label: \"Topic Two\", href: \"/topics/two\" },\n ],\n },\n ],\n showSearch: false,\n },\n },\n\n SkipNav: {\n props: z.object({\n href: z.string().nullable(),\n label: z.string().nullable(),\n }),\n description:\n \"USWDS skip navigation link. Renders an off-screen anchor that appears on focus, letting keyboard users jump past repeated navigation. href defaults to '#main-content'.\",\n example: { href: \"#main-content\", label: \"Skip to main content\" },\n },\n\n SideNav: {\n props: z.object({\n items: z.array(\n z.object({\n label: z.string(),\n href: z.string(),\n current: z.boolean().nullable(),\n children: z\n .array(\n z.object({\n label: z.string(),\n href: z.string(),\n current: z.boolean().nullable(),\n }),\n )\n .nullable(),\n }),\n ),\n ariaLabel: z.string().nullable(),\n }),\n description:\n \"USWDS side navigation. items: [{label, href, current?, children?}]. Mark the active page with current: true.\",\n example: {\n ariaLabel: \"Side navigation\",\n items: [\n {\n label: \"Overview\",\n href: \"/overview\",\n current: false,\n children: null,\n },\n {\n label: \"Getting started\",\n href: \"/getting-started\",\n current: true,\n children: [\n {\n label: \"Installation\",\n href: \"/getting-started/install\",\n current: false,\n },\n {\n label: \"Configuration\",\n href: \"/getting-started/config\",\n current: false,\n },\n ],\n },\n ],\n },\n },\n\n LanguageSelector: {\n props: z.object({\n languages: z.array(\n z.object({\n label: z.string(),\n href: z.string(),\n lang: z.string(),\n localLabel: z.string().nullable(),\n }),\n ),\n currentLang: z.string().nullable(),\n }),\n description:\n \"USWDS language selector. languages: [{label, href, lang, localLabel?}]. currentLang: BCP-47 code of the active language (e.g. 'en').\",\n example: {\n currentLang: \"en\",\n languages: [\n { label: \"English\", href: \"/en\", lang: \"en\", localLabel: null },\n { label: \"Spanish\", href: \"/es\", lang: \"es\", localLabel: \"Español\" },\n { label: \"French\", href: \"/fr\", lang: \"fr\", localLabel: \"Français\" },\n ],\n },\n },\n\n Link: {\n props: z.object({\n label: z.string(),\n href: z.string(),\n external: z.boolean().nullable(),\n variant: z.enum([\"default\", \"nav\"]).nullable(),\n }),\n events: [\"press\"],\n description:\n \"USWDS anchor link. external adds an external-link indicator. variant: default or nav (for navigation contexts).\",\n example: { label: \"Learn more\", href: \"/about\" },\n },\n\n InPageNavigation: {\n props: z.object({\n items: z.array(\n z.object({\n label: z.string(),\n href: z.string(),\n }),\n ),\n heading: z.string().nullable(),\n }),\n description:\n \"USWDS in-page navigation with jump links to sections. items: [{label, href}] where href is an anchor like '#section-1'.\",\n example: {\n heading: \"On this page\",\n items: [\n { label: \"Introduction\", href: \"#introduction\" },\n { label: \"Requirements\", href: \"#requirements\" },\n { label: \"How to apply\", href: \"#how-to-apply\" },\n ],\n },\n },\n\n Breadcrumb: {\n props: z.object({\n items: z.array(\n z.object({\n label: z.string(),\n href: z.string().nullable(),\n }),\n ),\n }),\n description:\n \"USWDS breadcrumb navigation. items: array of {label, href?}. Last item is current page (no link).\",\n example: {\n items: [\n { label: \"Home\", href: \"/\" },\n { label: \"Components\", href: \"/components\" },\n { label: \"Breadcrumb\", href: null },\n ],\n },\n },\n\n // ==========================================================================\n // Data Display Components\n // ==========================================================================\n\n Identifier: {\n props: z.object({\n domain: z.string(),\n agencyName: z.string(),\n agencyUrl: z.string().nullable(),\n logoUrl: z.string().nullable(),\n logoAlt: z.string().nullable(),\n disclaimer: z.string().nullable(),\n links: z\n .array(z.object({ label: z.string(), href: z.string() }))\n .nullable(),\n showUsagov: z.boolean().nullable(),\n }),\n description:\n \"USWDS agency identifier section. Shows domain, agency name, logo, required links, and USA.gov footer. Place at the bottom of .gov pages.\",\n example: {\n domain: \"agency.gov\",\n agencyName: \"U.S. Department of Example\",\n agencyUrl: \"/\",\n logoUrl: null,\n logoAlt: null,\n disclaimer: null,\n links: [\n { label: \"About agency.gov\", href: \"/about\" },\n { label: \"Accessibility statement\", href: \"/accessibility\" },\n { label: \"Privacy policy\", href: \"/privacy\" },\n { label: \"No FEAR Act data\", href: \"/no-fear\" },\n { label: \"Office of the Inspector General\", href: \"/oig\" },\n { label: \"Performance reports\", href: \"/performance\" },\n { label: \"FOIA requests\", href: \"/foia\" },\n ],\n showUsagov: true,\n },\n },\n\n GovBanner: {\n props: z.object({\n tld: z.enum([\".gov\", \".mil\"]).nullable(),\n expanded: z.boolean().nullable(),\n }),\n description:\n \"USWDS government site banner ('An official website of the United States government'). tld: '.gov' (default) or '.mil'. expanded: show expanded explanation by default.\",\n example: { tld: \".gov\" },\n },\n\n Collection: {\n props: z.object({\n items: z.array(\n z.object({\n heading: z.string(),\n href: z.string().nullable(),\n description: z.string().nullable(),\n date: z.string().nullable(),\n dateLabel: z.string().nullable(),\n tags: z.array(z.string()).nullable(),\n thumbnailUrl: z.string().nullable(),\n thumbnailAlt: z.string().nullable(),\n }),\n ),\n }),\n description:\n \"USWDS collection list of content items. items: [{heading, href?, description?, date?, dateLabel?, tags?, thumbnailUrl?, thumbnailAlt?}].\",\n example: {\n items: [\n {\n heading: \"Article Title\",\n href: \"/articles/1\",\n description: \"A short description of the article.\",\n date: \"2024-01-15\",\n dateLabel: \"January 15, 2024\",\n tags: [\"Policy\", \"Health\"],\n thumbnailUrl: null,\n thumbnailAlt: null,\n },\n ],\n },\n },\n\n IconList: {\n props: z.object({\n items: z.array(\n z.object({\n icon: z.string(),\n content: z.string(),\n color: z\n .enum([\"default\", \"success\", \"warning\", \"error\", \"info\"])\n .nullable(),\n }),\n ),\n title: z.string().nullable(),\n size: z.enum([\"sm\", \"lg\", \"xl\", \"2xl\", \"3xl\"]).nullable(),\n }),\n description:\n \"USWDS icon list. items: [{icon, content, color?}]. icon is a USWDS icon name (e.g. 'check_circle', 'cancel', 'info'). size controls icon size.\",\n example: {\n title: \"Requirements\",\n items: [\n {\n icon: \"check_circle\",\n content: \"Requirement one is met.\",\n color: \"success\",\n },\n {\n icon: \"check_circle\",\n content: \"Requirement two is met.\",\n color: \"success\",\n },\n {\n icon: \"cancel\",\n content: \"Requirement three is not met.\",\n color: \"error\",\n },\n ],\n },\n },\n\n Tooltip: {\n props: z.object({\n label: z.string(),\n content: z.string(),\n position: z.enum([\"top\", \"bottom\", \"left\", \"right\"]).nullable(),\n }),\n description:\n \"USWDS tooltip shown on hover. label: the visible trigger text. content: tooltip text. position: top (default), bottom, left, right.\",\n example: {\n label: \"Hover me\",\n content: \"This is a tooltip\",\n position: \"top\",\n },\n },\n\n Table: {\n props: z.object({\n columns: z.array(z.string()),\n rows: z.array(z.array(z.string())),\n caption: z.string().nullable(),\n borderless: z.boolean().nullable(),\n striped: z.boolean().nullable(),\n compact: z.boolean().nullable(),\n scrollable: z.boolean().nullable(),\n }),\n description:\n \"USWDS data table. columns: header labels. rows: 2D array of cell strings. borderless/striped/compact for styling variants.\",\n example: {\n columns: [\"Name\", \"Role\", \"Status\"],\n rows: [\n [\"Alice\", \"Admin\", \"Active\"],\n [\"Bob\", \"User\", \"Inactive\"],\n ],\n },\n },\n\n Heading: {\n props: z.object({\n text: z.string(),\n level: z.enum([\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"]).nullable(),\n }),\n description: \"USWDS heading text (h1–h6) with usa-prose styling.\",\n example: { text: \"Page Title\", level: \"h1\" },\n },\n\n Text: {\n props: z.object({\n text: z.string(),\n variant: z.enum([\"body\", \"lead\", \"small\", \"code\"]).nullable(),\n }),\n description:\n \"USWDS paragraph text. variant: body (default), lead, small, code.\",\n example: { text: \"Supporting paragraph text.\" },\n },\n\n Alert: {\n props: z.object({\n heading: z.string().nullable(),\n message: z.string(),\n type: z\n .enum([\"info\", \"success\", \"warning\", \"error\", \"emergency\"])\n .nullable(),\n slim: z.boolean().nullable(),\n noIcon: z.boolean().nullable(),\n }),\n description:\n \"USWDS alert banner. type: info (default), success, warning, error, emergency. slim for compact variant.\",\n example: {\n heading: \"Success\",\n message: \"Your form has been submitted.\",\n type: \"success\",\n },\n },\n\n SiteAlert: {\n props: z.object({\n heading: z.string().nullable(),\n message: z.string(),\n type: z.enum([\"info\", \"emergency\"]).nullable(),\n slim: z.boolean().nullable(),\n }),\n description:\n \"USWDS site-wide alert banner for important announcements. type: info (default) or emergency.\",\n example: {\n heading: \"Official website of the United States government\",\n message: \"Here's how you know this is a government site.\",\n type: \"info\",\n },\n },\n\n Tag: {\n props: z.object({\n text: z.string(),\n big: z.boolean().nullable(),\n }),\n description: \"USWDS tag/label badge. big for larger variant.\",\n example: { text: \"New\" },\n },\n\n SummaryBox: {\n props: z.object({\n heading: z.string(),\n items: z.array(z.string()),\n }),\n description:\n \"USWDS summary box with a heading and bullet list of key information.\",\n example: {\n heading: \"Key information\",\n items: [\"Item one\", \"Item two\", \"Item three\"],\n },\n },\n\n ProcessList: {\n props: z.object({\n items: z.array(\n z.object({\n heading: z.string(),\n content: z.string(),\n }),\n ),\n }),\n description:\n \"USWDS numbered process list for step-by-step instructions. items: [{heading, content}].\",\n example: {\n items: [\n { heading: \"Apply\", content: \"Submit your application online.\" },\n { heading: \"Review\", content: \"We review your application.\" },\n { heading: \"Approval\", content: \"Receive your decision letter.\" },\n ],\n },\n },\n\n // ==========================================================================\n // Form Input Components\n // ==========================================================================\n\n Button: {\n props: z.object({\n label: z.string(),\n variant: z\n .enum([\n \"default\",\n \"secondary\",\n \"accent-cool\",\n \"accent-warm\",\n \"base\",\n \"outline\",\n \"outline-inverse\",\n \"big\",\n \"unstyled\",\n ])\n .nullable(),\n disabled: z.boolean().nullable(),\n type: z.enum([\"button\", \"submit\", \"reset\"]).nullable(),\n }),\n events: [\"press\"],\n description:\n \"USWDS button. variant: default (primary), secondary, accent-cool, accent-warm, base, outline, outline-inverse, big, unstyled.\",\n example: { label: \"Submit\", variant: \"default\" },\n },\n\n ButtonGroup: {\n props: z.object({\n buttons: z.array(\n z.object({\n label: z.string(),\n value: z.string(),\n variant: z.enum([\"default\", \"secondary\", \"outline\"]).nullable(),\n }),\n ),\n segmented: z.boolean().nullable(),\n }),\n events: [\"press\"],\n description:\n \"USWDS button group. buttons: [{label, value, variant?}]. segmented renders as a connected group.\",\n example: {\n buttons: [\n { label: \"Back\", value: \"back\", variant: \"outline\" },\n { label: \"Continue\", value: \"continue\", variant: \"default\" },\n ],\n },\n },\n\n Input: {\n props: z.object({\n label: z.string(),\n name: z.string(),\n type: z\n .enum([\"text\", \"email\", \"password\", \"number\", \"search\", \"tel\", \"url\"])\n .nullable(),\n placeholder: z.string().nullable(),\n hint: z.string().nullable(),\n value: z.string().nullable(),\n required: z.boolean().nullable(),\n disabled: z.boolean().nullable(),\n checks: validationCheckSchema,\n validateOn: validateOnSchema,\n }),\n events: [\"submit\", \"focus\", \"blur\"],\n description:\n \"USWDS text input. Use { $bindState } on value for two-way binding. hint adds helper text below label. Use checks for validation.\",\n example: {\n label: \"Email address\",\n name: \"email\",\n type: \"email\",\n hint: \"e.g. name@example.gov\",\n },\n },\n\n Textarea: {\n props: z.object({\n label: z.string(),\n name: z.string(),\n placeholder: z.string().nullable(),\n hint: z.string().nullable(),\n rows: z.number().nullable(),\n value: z.string().nullable(),\n required: z.boolean().nullable(),\n checks: validationCheckSchema,\n validateOn: validateOnSchema,\n }),\n description:\n \"USWDS multi-line textarea. Use { $bindState } on value for binding. hint adds helper text below label.\",\n example: { label: \"Message\", name: \"message\", rows: 4 },\n },\n\n Select: {\n props: z.object({\n label: z.string(),\n name: z.string(),\n options: z.array(\n z.union([\n z.string(),\n z.object({ label: z.string(), value: z.string() }),\n ]),\n ),\n placeholder: z.string().nullable(),\n hint: z.string().nullable(),\n value: z.string().nullable(),\n required: z.boolean().nullable(),\n checks: validationCheckSchema,\n validateOn: validateOnSchema,\n }),\n events: [\"change\"],\n description:\n \"USWDS select dropdown. options: array of strings or {label, value} objects. Use { $bindState } on value for binding.\",\n example: {\n label: \"State\",\n name: \"state\",\n options: [\"Alabama\", \"Alaska\", \"Arizona\"],\n },\n },\n\n Checkbox: {\n props: z.object({\n label: z.string(),\n name: z.string(),\n hint: z.string().nullable(),\n checked: z.boolean().nullable(),\n tile: z.boolean().nullable(),\n checks: validationCheckSchema,\n validateOn: validateOnSchema,\n }),\n events: [\"change\"],\n description:\n \"USWDS checkbox. Use { $bindState } on checked for binding. tile renders as a large tile variant.\",\n example: { label: \"I agree to the terms\", name: \"terms\" },\n },\n\n CheckboxGroup: {\n props: z.object({\n legend: z.string(),\n name: z.string(),\n options: z.array(\n z.object({\n label: z.string(),\n value: z.string(),\n hint: z.string().nullable(),\n }),\n ),\n tile: z.boolean().nullable(),\n values: z.array(z.string()).nullable(),\n }),\n events: [\"change\"],\n description:\n \"USWDS group of checkboxes in a fieldset. Use { $bindState } on values for selected values array.\",\n example: {\n legend: \"Select all that apply\",\n name: \"interests\",\n options: [\n { label: \"Technology\", value: \"tech\", hint: null },\n { label: \"Science\", value: \"science\", hint: null },\n ],\n },\n },\n\n Radio: {\n props: z.object({\n legend: z.string(),\n name: z.string(),\n options: z.array(\n z.object({\n label: z.string(),\n value: z.string(),\n hint: z.string().nullable(),\n }),\n ),\n tile: z.boolean().nullable(),\n value: z.string().nullable(),\n checks: validationCheckSchema,\n validateOn: validateOnSchema,\n }),\n events: [\"change\"],\n description:\n \"USWDS radio button group. Use { $bindState } on value for binding. tile renders as tile variant.\",\n example: {\n legend: \"Select an option\",\n name: \"option\",\n options: [\n { label: \"Yes\", value: \"yes\", hint: null },\n { label: \"No\", value: \"no\", hint: null },\n ],\n },\n },\n\n FileInput: {\n props: z.object({\n label: z.string(),\n name: z.string(),\n hint: z.string().nullable(),\n accept: z.string().nullable(),\n multiple: z.boolean().nullable(),\n required: z.boolean().nullable(),\n }),\n events: [\"change\"],\n description:\n \"USWDS file input. accept: MIME types (e.g. '.pdf,.doc'). multiple allows selecting multiple files.\",\n example: {\n label: \"Upload document\",\n name: \"document\",\n hint: \"Accepted formats: PDF, DOC\",\n accept: \".pdf,.doc,.docx\",\n },\n },\n\n Search: {\n props: z.object({\n label: z.string().nullable(),\n placeholder: z.string().nullable(),\n value: z.string().nullable(),\n size: z.enum([\"small\", \"medium\", \"big\"]).nullable(),\n }),\n events: [\"submit\", \"change\"],\n description:\n \"USWDS search bar. Use { $bindState } on value for the input value. size: small, medium (default), big.\",\n example: { placeholder: \"Search...\", size: \"medium\" },\n },\n\n RangeInput: {\n props: z.object({\n label: z.string().nullable(),\n name: z.string(),\n min: z.number().nullable(),\n max: z.number().nullable(),\n step: z.number().nullable(),\n value: z.number().nullable(),\n }),\n events: [\"change\"],\n description:\n \"USWDS range slider input. Use { $bindState } on value for binding.\",\n example: { label: \"Select a value\", name: \"range\", min: 0, max: 100 },\n },\n\n DateInputGroup: {\n props: z.object({\n label: z.string(),\n name: z.string(),\n hint: z.string().nullable(),\n required: z.boolean().nullable(),\n monthValue: z.string().nullable(),\n dayValue: z.string().nullable(),\n yearValue: z.string().nullable(),\n }),\n events: [\"change\"],\n description:\n \"USWDS three-field date input (separate month, day, year inputs). Use { $bindState } on monthValue/dayValue/yearValue for individual field bindings.\",\n example: {\n label: \"Date of birth\",\n name: \"dob\",\n hint: \"For example: January 19 2000\",\n },\n },\n\n DateRangePicker: {\n props: z.object({\n startLabel: z.string(),\n endLabel: z.string(),\n startName: z.string(),\n endName: z.string(),\n hint: z.string().nullable(),\n startValue: z.string().nullable(),\n endValue: z.string().nullable(),\n minDate: z.string().nullable(),\n maxDate: z.string().nullable(),\n required: z.boolean().nullable(),\n }),\n events: [\"change\"],\n description:\n \"USWDS date range picker with start and end date inputs. Values are ISO date strings (YYYY-MM-DD). Use { $bindState } on startValue/endValue.\",\n example: {\n startLabel: \"Start date\",\n endLabel: \"End date\",\n startName: \"start_date\",\n endName: \"end_date\",\n hint: \"mm/dd/yyyy\",\n },\n },\n\n InputMask: {\n props: z.object({\n label: z.string(),\n name: z.string(),\n preset: z.enum([\"phone\", \"zip\", \"zip+4\", \"ssn\", \"custom\"]).nullable(),\n pattern: z.string().nullable(),\n hint: z.string().nullable(),\n value: z.string().nullable(),\n required: z.boolean().nullable(),\n checks: validationCheckSchema,\n validateOn: validateOnSchema,\n }),\n events: [\"change\", \"blur\"],\n description:\n \"USWDS input with automatic formatting mask. preset: phone '(___) ___-____', zip '_____', zip+4 '_____-____', ssn '___-__-____'. Or supply a custom pattern where '_' = digit.\",\n example: {\n label: \"Phone number\",\n name: \"phone\",\n preset: \"phone\",\n hint: \"(___) ___-____\",\n },\n },\n\n Password: {\n props: z.object({\n label: z.string(),\n name: z.string(),\n hint: z.string().nullable(),\n value: z.string().nullable(),\n required: z.boolean().nullable(),\n checks: validationCheckSchema,\n validateOn: validateOnSchema,\n }),\n events: [\"change\", \"blur\"],\n description:\n \"USWDS password input with show/hide toggle button. Use { $bindState } on value for binding. Supports validation checks.\",\n example: {\n label: \"Password\",\n name: \"password\",\n hint: \"Must be at least 12 characters\",\n },\n },\n\n ComboBox: {\n props: z.object({\n label: z.string(),\n name: z.string(),\n options: z.array(\n z.union([\n z.string(),\n z.object({ label: z.string(), value: z.string() }),\n ]),\n ),\n placeholder: z.string().nullable(),\n hint: z.string().nullable(),\n value: z.string().nullable(),\n required: z.boolean().nullable(),\n checks: validationCheckSchema,\n validateOn: validateOnSchema,\n }),\n events: [\"change\"],\n description:\n \"USWDS combo box — a searchable/filterable select dropdown. options: strings or {label, value}. Use { $bindState } on value for binding.\",\n example: {\n label: \"Select a fruit\",\n name: \"fruit\",\n options: [\"Apple\", \"Banana\", \"Cherry\", \"Date\", \"Elderberry\"],\n placeholder: \"- Select -\",\n },\n },\n\n DatePicker: {\n props: z.object({\n label: z.string(),\n name: z.string(),\n hint: z.string().nullable(),\n value: z.string().nullable(),\n minDate: z.string().nullable(),\n maxDate: z.string().nullable(),\n required: z.boolean().nullable(),\n checks: validationCheckSchema,\n validateOn: validateOnSchema,\n }),\n events: [\"change\"],\n description:\n \"USWDS date picker. value/minDate/maxDate are ISO date strings (YYYY-MM-DD). Use { $bindState } on value for binding.\",\n example: {\n label: \"Date of birth\",\n name: \"dob\",\n hint: \"mm/dd/yyyy\",\n },\n },\n\n TimePicker: {\n props: z.object({\n label: z.string(),\n name: z.string(),\n hint: z.string().nullable(),\n value: z.string().nullable(),\n minTime: z.string().nullable(),\n maxTime: z.string().nullable(),\n step: z.number().nullable(),\n required: z.boolean().nullable(),\n }),\n events: [\"change\"],\n description:\n \"USWDS time picker. value/minTime/maxTime use 'HH:MM' 24-hour format. step is in minutes (default 30). Use { $bindState } on value.\",\n example: {\n label: \"Appointment time\",\n name: \"appt_time\",\n hint: \"Select a time\",\n step: 30,\n },\n },\n\n CharacterCount: {\n props: z.object({\n label: z.string(),\n name: z.string(),\n maxLength: z.number(),\n hint: z.string().nullable(),\n value: z.string().nullable(),\n multiline: z.boolean().nullable(),\n rows: z.number().nullable(),\n required: z.boolean().nullable(),\n checks: validationCheckSchema,\n validateOn: validateOnSchema,\n }),\n events: [\"change\"],\n description:\n \"USWDS input or textarea with a live character count indicator. maxLength: character limit. multiline: renders as textarea. Use { $bindState } on value.\",\n example: {\n label: \"Brief description\",\n name: \"description\",\n maxLength: 150,\n hint: \"Enter a short summary\",\n multiline: true,\n },\n },\n\n // ==========================================================================\n // Overlay / Modal Components\n // ==========================================================================\n\n Modal: {\n props: z.object({\n heading: z.string(),\n description: z.string().nullable(),\n openPath: z.string(),\n large: z.boolean().nullable(),\n }),\n slots: [\"default\"],\n description:\n \"USWDS modal dialog. Set openPath to a boolean state path. Use setState to toggle open/close.\",\n example: {\n heading: \"Are you sure?\",\n description: \"This action cannot be undone.\",\n openPath: \"/modal/open\",\n },\n },\n\n // ==========================================================================\n // Additional Display Components\n // ==========================================================================\n\n Icon: {\n props: z.object({\n name: z.string(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\", \"2xl\", \"3xl\"]).nullable(),\n color: z.string().nullable(),\n ariaLabel: z.string().nullable(),\n }),\n description:\n \"USWDS standalone SVG icon from the USWDS icon set. name: USWDS icon name (e.g. 'check', 'close', 'search', 'arrow_forward'). size: sm–3xl. color: a USWDS text-color utility class (e.g. 'text-primary').\",\n example: { name: \"check_circle\", size: \"lg\", color: \"text-green\" },\n },\n\n InputGroup: {\n props: z.object({\n label: z.string(),\n name: z.string(),\n type: z\n .enum([\"text\", \"email\", \"password\", \"number\", \"search\", \"tel\", \"url\"])\n .nullable(),\n prefix: z.string().nullable(),\n suffix: z.string().nullable(),\n placeholder: z.string().nullable(),\n hint: z.string().nullable(),\n value: z.string().nullable(),\n required: z.boolean().nullable(),\n disabled: z.boolean().nullable(),\n checks: validationCheckSchema,\n validateOn: validateOnSchema,\n }),\n events: [\"change\", \"blur\"],\n description:\n \"USWDS input group — a text input with an optional prefix and/or suffix add-on (e.g. currency symbol, unit label). Use { $bindState } on value for two-way binding.\",\n example: {\n label: \"Amount\",\n name: \"amount\",\n prefix: \"$\",\n suffix: \".00\",\n type: \"number\",\n placeholder: \"0\",\n },\n },\n\n List: {\n props: z.object({\n items: z.array(z.string()),\n variant: z.enum([\"unordered\", \"ordered\", \"unstyled\"]).nullable(),\n }),\n description:\n \"USWDS list. variant: unordered (default, bullet list), ordered (numbered list), unstyled (no bullets/numbers).\",\n example: {\n variant: \"unordered\",\n items: [\"First item\", \"Second item\", \"Third item\"],\n },\n },\n\n ValidationChecklist: {\n props: z.object({\n items: z.array(\n z.object({\n label: z.string(),\n checked: z.boolean().nullable(),\n }),\n ),\n heading: z.string().nullable(),\n }),\n description:\n \"USWDS validation checklist (usa-checklist). Displays a list of password/input requirements with checked/unchecked states.\",\n example: {\n heading: \"Password must contain:\",\n items: [\n { label: \"At least 12 characters\", checked: true },\n { label: \"At least one uppercase letter\", checked: false },\n { label: \"At least one number\", checked: false },\n ],\n },\n },\n\n Prose: {\n props: z.object({\n element: z.enum([\"div\", \"article\", \"section\", \"main\"]).nullable(),\n }),\n slots: [\"default\"],\n description:\n \"USWDS prose typography wrapper (usa-prose). Applies USWDS text styles — headings, paragraphs, lists, links, blockquotes, code blocks — to nested content. element: div (default), article, section, or main.\",\n example: { element: \"article\" },\n },\n\n Hero: {\n props: z.object({\n heading: z.string(),\n eyebrow: z.string().nullable(),\n body: z.string().nullable(),\n backgroundUrl: z.string().nullable(),\n ariaLabel: z.string().nullable(),\n }),\n description:\n \"USWDS hero section — full-width landing page callout with optional background image. heading: headline text. eyebrow: smaller label above the headline. body: supporting paragraph. backgroundUrl: CSS background image URL (user-supplied).\",\n example: {\n heading: \"A tagline that explains your agency\\u2019s focus\",\n eyebrow: null,\n body: \"Support the text about your agency with a brief, relevant sentence or two.\",\n backgroundUrl: null,\n ariaLabel: \"Introduction\",\n },\n },\n\n GraphicList: {\n props: z.object({\n heading: z.string().nullable(),\n items: z.array(\n z.object({\n imageUrl: z.string().nullable(),\n imageAlt: z.string().nullable(),\n heading: z.string(),\n content: z.string(),\n }),\n ),\n }),\n description:\n \"USWDS graphic list — a responsive grid of image+text media blocks for showcasing values, programs, or features. items: [{imageUrl?, imageAlt?, heading, content}].\",\n example: {\n heading: null,\n items: [\n {\n imageUrl: null,\n imageAlt: null,\n heading: \"Graphic heading\",\n content: \"A short description of what this item represents.\",\n },\n {\n imageUrl: null,\n imageAlt: null,\n heading: \"Graphic heading\",\n content: \"A short description of what this item represents.\",\n },\n ],\n },\n },\n\n EmbedContainer: {\n props: z.object({\n src: z.string(),\n title: z.string(),\n ratio: z.enum([\"16x9\", \"4x3\"]).nullable(),\n }),\n description:\n \"USWDS embed container — a responsive aspect-ratio wrapper for iframe embeds such as YouTube videos. ratio: 16x9 (default) or 4x3. Provide a descriptive title for accessibility.\",\n example: {\n src: \"https://www.youtube.com/embed/example\",\n title: \"An example video\",\n ratio: \"16x9\",\n },\n },\n\n Form: {\n props: z.object({\n large: z.boolean().nullable(),\n }),\n slots: [\"default\"],\n events: [\"submit\"],\n description:\n \"USWDS form container (usa-form). Applies USWDS form layout — constrained max-width and consistent label/input spacing — to nested form elements. large: wider form variant. Wrap Input, Select, Checkbox, Radio, and other form components as children.\",\n example: { large: false },\n },\n\n Section: {\n props: z.object({\n title: z.string().nullable(),\n text: z.string().nullable(),\n variant: z.enum([\"default\", \"light\", \"dark\"]).nullable(),\n }),\n slots: [\"default\"],\n description:\n \"USWDS page section (usa-section). Applies consistent vertical padding to a full-width page section inside a grid-container. variant: default, light (lighter background), dark (darker background). title and text are optional — use children slots for richer content.\",\n example: {\n title: \"Section title\",\n text: \"Supporting section description text.\",\n variant: null,\n },\n },\n};\n\n// =============================================================================\n// Types\n// =============================================================================\n\n/**\n * Type for a USWDS component definition\n */\nexport type UswdsComponentDefinition = {\n props: z.ZodType;\n slots?: string[];\n events?: string[];\n description: string;\n example?: Record<string, unknown>;\n};\n\n/**\n * Infer the props type for a USWDS component by name.\n *\n * @example\n * ```ts\n * type ButtonProps = UswdsProps<\"Button\">;\n * // { label: string; variant: string | null; disabled: boolean | null; ... }\n * ```\n */\nexport type UswdsProps<K extends keyof typeof uswdsComponentDefinitions> =\n z.output<(typeof uswdsComponentDefinitions)[K][\"props\"]>;\n"],"mappings":"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","names":[]}
@@ -0,0 +1,90 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { BaseComponentProps } from '@json-render/react';
3
+ import { UswdsProps } from './catalog.mjs';
4
+ export { UswdsComponentDefinition, uswdsComponentDefinitions } from './catalog.mjs';
5
+ import 'zod';
6
+
7
+ /**
8
+ * USWDS component implementations for json-render.
9
+ *
10
+ * Requires USWDS CSS to be loaded in your application:
11
+ * ```ts
12
+ * import "@uswds/uswds/css/uswds.css";
13
+ * // or via CDN: https://designsystem.digital.gov/how-to-use-uswds/
14
+ * ```
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { defineRegistry } from "@json-render/react";
19
+ * import { uswdsComponents } from "@json-render/uswds";
20
+ *
21
+ * const { registry } = defineRegistry(catalog, {
22
+ * components: {
23
+ * Button: uswdsComponents.Button,
24
+ * Alert: uswdsComponents.Alert,
25
+ * },
26
+ * });
27
+ * ```
28
+ */
29
+ declare const uswdsComponents: {
30
+ Grid: ({ props, children }: BaseComponentProps<UswdsProps<"Grid">>) => react_jsx_runtime.JSX.Element;
31
+ Card: ({ props, children }: BaseComponentProps<UswdsProps<"Card">>) => react_jsx_runtime.JSX.Element;
32
+ Divider: (_: BaseComponentProps<UswdsProps<"Divider">>) => react_jsx_runtime.JSX.Element;
33
+ CardGroup: ({ props }: BaseComponentProps<UswdsProps<"CardGroup">>) => react_jsx_runtime.JSX.Element;
34
+ Footer: ({ props }: BaseComponentProps<UswdsProps<"Footer">>) => react_jsx_runtime.JSX.Element;
35
+ Accordion: ({ props }: BaseComponentProps<UswdsProps<"Accordion">>) => react_jsx_runtime.JSX.Element;
36
+ Pagination: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"Pagination">>) => react_jsx_runtime.JSX.Element;
37
+ StepIndicator: ({ props, }: BaseComponentProps<UswdsProps<"StepIndicator">>) => react_jsx_runtime.JSX.Element;
38
+ Breadcrumb: ({ props }: BaseComponentProps<UswdsProps<"Breadcrumb">>) => react_jsx_runtime.JSX.Element;
39
+ Header: ({ props }: BaseComponentProps<UswdsProps<"Header">>) => react_jsx_runtime.JSX.Element;
40
+ SkipNav: ({ props }: BaseComponentProps<UswdsProps<"SkipNav">>) => react_jsx_runtime.JSX.Element;
41
+ SideNav: ({ props }: BaseComponentProps<UswdsProps<"SideNav">>) => react_jsx_runtime.JSX.Element;
42
+ LanguageSelector: ({ props, }: BaseComponentProps<UswdsProps<"LanguageSelector">>) => react_jsx_runtime.JSX.Element;
43
+ Link: ({ props, emit }: BaseComponentProps<UswdsProps<"Link">>) => react_jsx_runtime.JSX.Element;
44
+ InPageNavigation: ({ props, }: BaseComponentProps<UswdsProps<"InPageNavigation">>) => react_jsx_runtime.JSX.Element;
45
+ Table: ({ props }: BaseComponentProps<UswdsProps<"Table">>) => react_jsx_runtime.JSX.Element;
46
+ Heading: ({ props }: BaseComponentProps<UswdsProps<"Heading">>) => react_jsx_runtime.JSX.Element;
47
+ Text: ({ props }: BaseComponentProps<UswdsProps<"Text">>) => react_jsx_runtime.JSX.Element;
48
+ Alert: ({ props }: BaseComponentProps<UswdsProps<"Alert">>) => react_jsx_runtime.JSX.Element;
49
+ SiteAlert: ({ props }: BaseComponentProps<UswdsProps<"SiteAlert">>) => react_jsx_runtime.JSX.Element;
50
+ Tag: ({ props }: BaseComponentProps<UswdsProps<"Tag">>) => react_jsx_runtime.JSX.Element;
51
+ SummaryBox: ({ props }: BaseComponentProps<UswdsProps<"SummaryBox">>) => react_jsx_runtime.JSX.Element;
52
+ ProcessList: ({ props }: BaseComponentProps<UswdsProps<"ProcessList">>) => react_jsx_runtime.JSX.Element;
53
+ GovBanner: ({ props }: BaseComponentProps<UswdsProps<"GovBanner">>) => react_jsx_runtime.JSX.Element;
54
+ Identifier: ({ props }: BaseComponentProps<UswdsProps<"Identifier">>) => react_jsx_runtime.JSX.Element;
55
+ IconList: ({ props }: BaseComponentProps<UswdsProps<"IconList">>) => react_jsx_runtime.JSX.Element;
56
+ Collection: ({ props }: BaseComponentProps<UswdsProps<"Collection">>) => react_jsx_runtime.JSX.Element;
57
+ Tooltip: ({ props }: BaseComponentProps<UswdsProps<"Tooltip">>) => react_jsx_runtime.JSX.Element;
58
+ Button: ({ props, emit }: BaseComponentProps<UswdsProps<"Button">>) => react_jsx_runtime.JSX.Element;
59
+ ButtonGroup: ({ props, emit, }: BaseComponentProps<UswdsProps<"ButtonGroup">>) => react_jsx_runtime.JSX.Element;
60
+ Input: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"Input">>) => react_jsx_runtime.JSX.Element;
61
+ Textarea: ({ props, bindings, }: BaseComponentProps<UswdsProps<"Textarea">>) => react_jsx_runtime.JSX.Element;
62
+ Select: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"Select">>) => react_jsx_runtime.JSX.Element;
63
+ Checkbox: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"Checkbox">>) => react_jsx_runtime.JSX.Element;
64
+ CheckboxGroup: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"CheckboxGroup">>) => react_jsx_runtime.JSX.Element;
65
+ Radio: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"Radio">>) => react_jsx_runtime.JSX.Element;
66
+ FileInput: ({ props, emit }: BaseComponentProps<UswdsProps<"FileInput">>) => react_jsx_runtime.JSX.Element;
67
+ Search: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"Search">>) => react_jsx_runtime.JSX.Element;
68
+ RangeInput: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"RangeInput">>) => react_jsx_runtime.JSX.Element;
69
+ DateInputGroup: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"DateInputGroup">>) => react_jsx_runtime.JSX.Element;
70
+ DateRangePicker: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"DateRangePicker">>) => react_jsx_runtime.JSX.Element;
71
+ InputMask: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"InputMask">>) => react_jsx_runtime.JSX.Element;
72
+ Password: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"Password">>) => react_jsx_runtime.JSX.Element;
73
+ ComboBox: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"ComboBox">>) => react_jsx_runtime.JSX.Element;
74
+ DatePicker: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"DatePicker">>) => react_jsx_runtime.JSX.Element;
75
+ TimePicker: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"TimePicker">>) => react_jsx_runtime.JSX.Element;
76
+ CharacterCount: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"CharacterCount">>) => react_jsx_runtime.JSX.Element;
77
+ Icon: ({ props }: BaseComponentProps<UswdsProps<"Icon">>) => react_jsx_runtime.JSX.Element;
78
+ InputGroup: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"InputGroup">>) => react_jsx_runtime.JSX.Element;
79
+ List: ({ props }: BaseComponentProps<UswdsProps<"List">>) => react_jsx_runtime.JSX.Element;
80
+ ValidationChecklist: ({ props, }: BaseComponentProps<UswdsProps<"ValidationChecklist">>) => react_jsx_runtime.JSX.Element;
81
+ Form: ({ props, children, emit }: BaseComponentProps<UswdsProps<"Form">>) => react_jsx_runtime.JSX.Element;
82
+ Section: ({ props, children }: BaseComponentProps<UswdsProps<"Section">>) => react_jsx_runtime.JSX.Element;
83
+ Prose: ({ props, children }: BaseComponentProps<UswdsProps<"Prose">>) => react_jsx_runtime.JSX.Element;
84
+ Hero: ({ props }: BaseComponentProps<UswdsProps<"Hero">>) => react_jsx_runtime.JSX.Element;
85
+ GraphicList: ({ props }: BaseComponentProps<UswdsProps<"GraphicList">>) => react_jsx_runtime.JSX.Element;
86
+ EmbedContainer: ({ props, }: BaseComponentProps<UswdsProps<"EmbedContainer">>) => react_jsx_runtime.JSX.Element;
87
+ Modal: ({ props, children }: BaseComponentProps<UswdsProps<"Modal">>) => react_jsx_runtime.JSX.Element;
88
+ };
89
+
90
+ export { UswdsProps, uswdsComponents };
@@ -0,0 +1,90 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { BaseComponentProps } from '@json-render/react';
3
+ import { UswdsProps } from './catalog.js';
4
+ export { UswdsComponentDefinition, uswdsComponentDefinitions } from './catalog.js';
5
+ import 'zod';
6
+
7
+ /**
8
+ * USWDS component implementations for json-render.
9
+ *
10
+ * Requires USWDS CSS to be loaded in your application:
11
+ * ```ts
12
+ * import "@uswds/uswds/css/uswds.css";
13
+ * // or via CDN: https://designsystem.digital.gov/how-to-use-uswds/
14
+ * ```
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { defineRegistry } from "@json-render/react";
19
+ * import { uswdsComponents } from "@json-render/uswds";
20
+ *
21
+ * const { registry } = defineRegistry(catalog, {
22
+ * components: {
23
+ * Button: uswdsComponents.Button,
24
+ * Alert: uswdsComponents.Alert,
25
+ * },
26
+ * });
27
+ * ```
28
+ */
29
+ declare const uswdsComponents: {
30
+ Grid: ({ props, children }: BaseComponentProps<UswdsProps<"Grid">>) => react_jsx_runtime.JSX.Element;
31
+ Card: ({ props, children }: BaseComponentProps<UswdsProps<"Card">>) => react_jsx_runtime.JSX.Element;
32
+ Divider: (_: BaseComponentProps<UswdsProps<"Divider">>) => react_jsx_runtime.JSX.Element;
33
+ CardGroup: ({ props }: BaseComponentProps<UswdsProps<"CardGroup">>) => react_jsx_runtime.JSX.Element;
34
+ Footer: ({ props }: BaseComponentProps<UswdsProps<"Footer">>) => react_jsx_runtime.JSX.Element;
35
+ Accordion: ({ props }: BaseComponentProps<UswdsProps<"Accordion">>) => react_jsx_runtime.JSX.Element;
36
+ Pagination: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"Pagination">>) => react_jsx_runtime.JSX.Element;
37
+ StepIndicator: ({ props, }: BaseComponentProps<UswdsProps<"StepIndicator">>) => react_jsx_runtime.JSX.Element;
38
+ Breadcrumb: ({ props }: BaseComponentProps<UswdsProps<"Breadcrumb">>) => react_jsx_runtime.JSX.Element;
39
+ Header: ({ props }: BaseComponentProps<UswdsProps<"Header">>) => react_jsx_runtime.JSX.Element;
40
+ SkipNav: ({ props }: BaseComponentProps<UswdsProps<"SkipNav">>) => react_jsx_runtime.JSX.Element;
41
+ SideNav: ({ props }: BaseComponentProps<UswdsProps<"SideNav">>) => react_jsx_runtime.JSX.Element;
42
+ LanguageSelector: ({ props, }: BaseComponentProps<UswdsProps<"LanguageSelector">>) => react_jsx_runtime.JSX.Element;
43
+ Link: ({ props, emit }: BaseComponentProps<UswdsProps<"Link">>) => react_jsx_runtime.JSX.Element;
44
+ InPageNavigation: ({ props, }: BaseComponentProps<UswdsProps<"InPageNavigation">>) => react_jsx_runtime.JSX.Element;
45
+ Table: ({ props }: BaseComponentProps<UswdsProps<"Table">>) => react_jsx_runtime.JSX.Element;
46
+ Heading: ({ props }: BaseComponentProps<UswdsProps<"Heading">>) => react_jsx_runtime.JSX.Element;
47
+ Text: ({ props }: BaseComponentProps<UswdsProps<"Text">>) => react_jsx_runtime.JSX.Element;
48
+ Alert: ({ props }: BaseComponentProps<UswdsProps<"Alert">>) => react_jsx_runtime.JSX.Element;
49
+ SiteAlert: ({ props }: BaseComponentProps<UswdsProps<"SiteAlert">>) => react_jsx_runtime.JSX.Element;
50
+ Tag: ({ props }: BaseComponentProps<UswdsProps<"Tag">>) => react_jsx_runtime.JSX.Element;
51
+ SummaryBox: ({ props }: BaseComponentProps<UswdsProps<"SummaryBox">>) => react_jsx_runtime.JSX.Element;
52
+ ProcessList: ({ props }: BaseComponentProps<UswdsProps<"ProcessList">>) => react_jsx_runtime.JSX.Element;
53
+ GovBanner: ({ props }: BaseComponentProps<UswdsProps<"GovBanner">>) => react_jsx_runtime.JSX.Element;
54
+ Identifier: ({ props }: BaseComponentProps<UswdsProps<"Identifier">>) => react_jsx_runtime.JSX.Element;
55
+ IconList: ({ props }: BaseComponentProps<UswdsProps<"IconList">>) => react_jsx_runtime.JSX.Element;
56
+ Collection: ({ props }: BaseComponentProps<UswdsProps<"Collection">>) => react_jsx_runtime.JSX.Element;
57
+ Tooltip: ({ props }: BaseComponentProps<UswdsProps<"Tooltip">>) => react_jsx_runtime.JSX.Element;
58
+ Button: ({ props, emit }: BaseComponentProps<UswdsProps<"Button">>) => react_jsx_runtime.JSX.Element;
59
+ ButtonGroup: ({ props, emit, }: BaseComponentProps<UswdsProps<"ButtonGroup">>) => react_jsx_runtime.JSX.Element;
60
+ Input: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"Input">>) => react_jsx_runtime.JSX.Element;
61
+ Textarea: ({ props, bindings, }: BaseComponentProps<UswdsProps<"Textarea">>) => react_jsx_runtime.JSX.Element;
62
+ Select: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"Select">>) => react_jsx_runtime.JSX.Element;
63
+ Checkbox: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"Checkbox">>) => react_jsx_runtime.JSX.Element;
64
+ CheckboxGroup: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"CheckboxGroup">>) => react_jsx_runtime.JSX.Element;
65
+ Radio: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"Radio">>) => react_jsx_runtime.JSX.Element;
66
+ FileInput: ({ props, emit }: BaseComponentProps<UswdsProps<"FileInput">>) => react_jsx_runtime.JSX.Element;
67
+ Search: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"Search">>) => react_jsx_runtime.JSX.Element;
68
+ RangeInput: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"RangeInput">>) => react_jsx_runtime.JSX.Element;
69
+ DateInputGroup: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"DateInputGroup">>) => react_jsx_runtime.JSX.Element;
70
+ DateRangePicker: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"DateRangePicker">>) => react_jsx_runtime.JSX.Element;
71
+ InputMask: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"InputMask">>) => react_jsx_runtime.JSX.Element;
72
+ Password: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"Password">>) => react_jsx_runtime.JSX.Element;
73
+ ComboBox: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"ComboBox">>) => react_jsx_runtime.JSX.Element;
74
+ DatePicker: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"DatePicker">>) => react_jsx_runtime.JSX.Element;
75
+ TimePicker: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"TimePicker">>) => react_jsx_runtime.JSX.Element;
76
+ CharacterCount: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"CharacterCount">>) => react_jsx_runtime.JSX.Element;
77
+ Icon: ({ props }: BaseComponentProps<UswdsProps<"Icon">>) => react_jsx_runtime.JSX.Element;
78
+ InputGroup: ({ props, bindings, emit, }: BaseComponentProps<UswdsProps<"InputGroup">>) => react_jsx_runtime.JSX.Element;
79
+ List: ({ props }: BaseComponentProps<UswdsProps<"List">>) => react_jsx_runtime.JSX.Element;
80
+ ValidationChecklist: ({ props, }: BaseComponentProps<UswdsProps<"ValidationChecklist">>) => react_jsx_runtime.JSX.Element;
81
+ Form: ({ props, children, emit }: BaseComponentProps<UswdsProps<"Form">>) => react_jsx_runtime.JSX.Element;
82
+ Section: ({ props, children }: BaseComponentProps<UswdsProps<"Section">>) => react_jsx_runtime.JSX.Element;
83
+ Prose: ({ props, children }: BaseComponentProps<UswdsProps<"Prose">>) => react_jsx_runtime.JSX.Element;
84
+ Hero: ({ props }: BaseComponentProps<UswdsProps<"Hero">>) => react_jsx_runtime.JSX.Element;
85
+ GraphicList: ({ props }: BaseComponentProps<UswdsProps<"GraphicList">>) => react_jsx_runtime.JSX.Element;
86
+ EmbedContainer: ({ props, }: BaseComponentProps<UswdsProps<"EmbedContainer">>) => react_jsx_runtime.JSX.Element;
87
+ Modal: ({ props, children }: BaseComponentProps<UswdsProps<"Modal">>) => react_jsx_runtime.JSX.Element;
88
+ };
89
+
90
+ export { UswdsProps, uswdsComponents };