From b81cc5c000052be5e07fe07a9d80c06ae9e019f7 Mon Sep 17 00:00:00 2001 From: Steve Jensen Date: Wed, 17 Dec 2025 16:23:05 -0700 Subject: [PATCH 1/3] chore: fix tree shaking and add pagination to adapter docs --- build/generateAdapterPropDocs.ts | 164 +++- docs/component-adapter/component-inventory.md | 922 +++++++++--------- .../ComponentAdapter/componentAdapterTypes.ts | 8 +- .../GustoProviderCustomUIAdapter.tsx | 3 +- 4 files changed, 619 insertions(+), 478 deletions(-) diff --git a/build/generateAdapterPropDocs.ts b/build/generateAdapterPropDocs.ts index 96bdab3be..ad3492c5b 100644 --- a/build/generateAdapterPropDocs.ts +++ b/build/generateAdapterPropDocs.ts @@ -6,6 +6,7 @@ import { Node, PropertySignature, Symbol as TSMorphSymbol, + SourceFile, } from 'ts-morph' import { writeFile } from 'fs/promises' import { join, dirname } from 'path' @@ -14,7 +15,10 @@ import { fileURLToPath } from 'url' const __filename = fileURLToPath(import.meta.url) const __dirname = dirname(__filename) -const UI_COMPONENTS_DIR = join(__dirname, '../src/components/Common/UI') +const COMPONENT_ADAPTER_TYPES_FILE = join( + __dirname, + '../src/contexts/ComponentAdapter/componentAdapterTypes.ts', +) const DOCS_OUTPUT_DIR = join(__dirname, '../docs/component-adapter') const DOCS_OUTPUT_FILE = join(DOCS_OUTPUT_DIR, 'component-inventory.md') @@ -64,7 +68,11 @@ function isBooleanUnion(types: Type[]): boolean { function formatType(type: Type | undefined): string { if (!type) return '-' - const typeText = type.getText() + let typeText = type.getText() + + // Clean up absolute import paths to just show type names + // e.g., import("/absolute/path/to/file").TypeName → TypeName + typeText = typeText.replace(/import\("[^"]+"\)\./g, '') // Handle React types - check text representation first before expanding unions if (typeText === 'React.ReactNode' || typeText === 'ReactNode') { @@ -201,6 +209,28 @@ function findReferencedTypes(type: Type, knownTypes: Set): string[] { return type.getIntersectionTypes().flatMap(t => findReferencedTypes(t, knownTypes)) } + // Handle function types - check parameter types and return type + const callSignatures = type.getCallSignatures() + if (callSignatures.length > 0) { + const referencedTypes: string[] = [] + for (const sig of callSignatures) { + // Check parameter types + for (const param of sig.getParameters()) { + const paramType = param.getTypeAtLocation(param.getDeclarations()[0]) + referencedTypes.push(...findReferencedTypes(paramType, knownTypes)) + } + // Check return type + referencedTypes.push(...findReferencedTypes(sig.getReturnType(), knownTypes)) + } + return referencedTypes + } + + // Check alias symbol first (for type aliases like PaginationItemsPerPage) + const aliasSymbol = type.getAliasSymbol() + if (aliasSymbol && knownTypes.has(aliasSymbol.getName())) { + return [aliasSymbol.getName()] + } + const symbol = type.getSymbol() if (symbol && knownTypes.has(symbol.getName())) { return [symbol.getName()] @@ -324,6 +354,7 @@ function generateComponentSection( type: ComponentType, componentTypeMap: Map, parentToChildren: Map, + knownTypeNames: Set, level = 2, documented = new Set(), ): string { @@ -341,6 +372,22 @@ function generateComponentSection( documented.add(typeName) const heading = `${'#'.repeat(level)} ${typeName}` + + // Handle literal union types (e.g., 5 | 10 | 50) + const resolvedType = type.getType() + if (resolvedType.isUnion()) { + const unionTypes = resolvedType.getUnionTypes() + const allLiterals = unionTypes.every( + t => t.isLiteral() || t.isStringLiteral() || t.isNumberLiteral() || t.isBooleanLiteral(), + ) + if (allLiterals) { + const values = unionTypes.map(t => t.getText()).join(' | ') + // Use ### level for type definitions (consistent with child types) + // Use TypeScript code block for clear type presentation + return `### ${typeName}\n\n\`\`\`typescript\ntype ${typeName} = ${values}\n\`\`\`` + } + } + const props = getComponentProps(type, componentTypeMap) // Handle type aliases @@ -350,7 +397,7 @@ function generateComponentSection( } // Generate prop table - const table = generatePropTable(type, props) + const table = generatePropTable(type, props, knownTypeNames) let section = `${heading}\n\n${table}` // Add child components @@ -358,7 +405,14 @@ function generateComponentSection( .map(childName => componentTypeMap.get(childName)) .filter((child): child is ComponentType => child !== undefined) .map(child => - generateComponentSection(child, componentTypeMap, parentToChildren, level + 1, documented), + generateComponentSection( + child, + componentTypeMap, + parentToChildren, + knownTypeNames, + level + 1, + documented, + ), ) .filter(Boolean) .join('\n\n') @@ -403,9 +457,14 @@ function handleTypeAlias( * * @param type - The component type containing the props * @param props - Array of property symbols to document + * @param knownTypeNames - Set of known type names for linkification * @returns Markdown table string with prop documentation */ -function generatePropTable(type: ComponentType, props: TSMorphSymbol[]): string { +function generatePropTable( + type: ComponentType, + props: TSMorphSymbol[], + knownTypeNames: Set, +): string { const TABLE_HEADER = '| Prop | Type | Required | Description |\n|------|------|----------|-------------|' @@ -418,7 +477,7 @@ function generatePropTable(type: ComponentType, props: TSMorphSymbol[]): string return true }) - const rows = uniqueProps.map(prop => generatePropRow(type, prop)) + const rows = uniqueProps.map(prop => generatePropRow(type, prop, knownTypeNames)) return `${TABLE_HEADER}\n${rows.join('\n')}` } @@ -435,7 +494,11 @@ function generatePropTable(type: ComponentType, props: TSMorphSymbol[]): string * @param prop - The property symbol to document * @returns Markdown table row string */ -function generatePropRow(type: ComponentType, prop: TSMorphSymbol): string { +function generatePropRow( + type: ComponentType, + prop: TSMorphSymbol, + knownTypeNames: Set, +): string { // Get basic prop info const name = prop.getName() const nodeArg = type.getType().getSymbol()?.getDeclarations()?.[0] @@ -447,7 +510,14 @@ function generatePropRow(type: ComponentType, prop: TSMorphSymbol): string { propType = propDecl ? prop.getTypeAtLocation(propDecl) : undefined } - const typeText = formatType(propType).replace(/[\n\r]/g, ' ') + let typeText = formatType(propType).replace(/[\n\r]/g, ' ') + + // Linkify known type names that appear in function signatures or other contexts + for (const typeName of knownTypeNames) { + // Match type name as a whole word (not part of another word) + const regex = new RegExp(`\\b${typeName}\\b(?![^\\[]*\\])`, 'g') + typeText = typeText.replace(regex, `[${typeName}](#${typeName.toLowerCase()})`) + } // Get prop declaration and metadata const decl = prop.getDeclarations()[0] @@ -561,20 +631,77 @@ function buildComponentHierarchy( return { parentToChildren, getTopLevelComponents } } +function getTypeSourceFilesFromAdapterTypes( + project: Project, + adapterTypesFile: SourceFile, +): SourceFile[] { + const exportDeclarations = adapterTypesFile.getExportDeclarations() + const sourceFilePaths = new Set() + + for (const exportDecl of exportDeclarations) { + const moduleSpecifier = exportDecl.getModuleSpecifierValue() + if (moduleSpecifier) { + const resolvedPath = moduleSpecifier.replace('@/', join(__dirname, '../src/')) + const fullPath = resolvedPath.endsWith('.ts') ? resolvedPath : `${resolvedPath}.ts` + sourceFilePaths.add(fullPath) + } + } + + const sourceFiles: SourceFile[] = [] + for (const filePath of sourceFilePaths) { + project.addSourceFilesAtPaths(filePath) + const sourceFile = project.getSourceFile(filePath) + if (sourceFile) { + sourceFiles.push(sourceFile) + } + } + + return sourceFiles +} + async function generateAdapterPropDocs() { const project = new Project({ tsConfigFilePath: join(__dirname, '../tsconfig.json'), skipAddingFilesFromTsConfig: false, }) - // Add source files - project.addSourceFilesAtPaths(join(UI_COMPONENTS_DIR, '**/*Types.ts')) + project.addSourceFilesAtPaths(COMPONENT_ADAPTER_TYPES_FILE) + const adapterTypesFile = project.getSourceFile(COMPONENT_ADAPTER_TYPES_FILE) + + if (!adapterTypesFile) { + throw new Error(`Could not find componentAdapterTypes.ts at ${COMPONENT_ADAPTER_TYPES_FILE}`) + } - // Get all interfaces and type aliases - const sourceFiles = project.getSourceFiles(join(UI_COMPONENTS_DIR, '**/*Types.ts')) + const sourceFiles = getTypeSourceFilesFromAdapterTypes(project, adapterTypesFile) const interfaces = sourceFiles.flatMap(sourceFile => sourceFile.getInterfaces()) const typeAliases = sourceFiles.flatMap(sourceFile => sourceFile.getTypeAliases()) + const isLiteralUnionType = (alias: TypeAliasDeclaration): boolean => { + const type = alias.getType() + if (type.isUnion()) { + const unionTypes = type.getUnionTypes() + return unionTypes.every( + t => t.isLiteral() || t.isStringLiteral() || t.isNumberLiteral() || t.isBooleanLiteral(), + ) + } + return false + } + + const isDocumentableTypeAlias = (alias: TypeAliasDeclaration): boolean => { + const type = alias.getType() + if (type.isObject() && type.getProperties().length > 0) { + return true + } + if (type.isUnion()) { + const unionTypes = type.getUnionTypes() + const hasObjectType = unionTypes.some(t => t.isObject() && t.getProperties().length > 0) + if (hasObjectType) return true + // Include literal unions - they'll be documented differently + if (isLiteralUnionType(alias)) return true + } + return true + } + // Create component type entries const componentEntries = [ ...interfaces.map(intf => { @@ -588,7 +715,7 @@ async function generateAdapterPropDocs() { ] return entry }), - ...typeAliases.map(alias => { + ...typeAliases.filter(isDocumentableTypeAlias).map(alias => { const entry: [string, ComponentType] = [ alias.getName(), { @@ -622,7 +749,16 @@ async function generateAdapterPropDocs() { // Create a shared set to track documented components across all sections const documented = new Set() const sections = topLevelComponents - .map(type => generateComponentSection(type, componentTypeMap, parentToChildren, 2, documented)) + .map(type => + generateComponentSection( + type, + componentTypeMap, + parentToChildren, + knownTypeNames, + 2, + documented, + ), + ) .filter(Boolean) .join('\n\n') diff --git a/docs/component-adapter/component-inventory.md b/docs/component-adapter/component-inventory.md index 6736aa037..d8bf4a9ea 100644 --- a/docs/component-adapter/component-inventory.md +++ b/docs/component-adapter/component-inventory.md @@ -20,7 +20,6 @@ - [DescriptionListItem](#descriptionlistitem) - [DialogProps](#dialogprops) - [HeadingProps](#headingprops) -- [InputProps](#inputprops) - [LinkProps](#linkprops) - [LoadingSpinnerProps](#loadingspinnerprops) - [MenuProps](#menuprops) @@ -28,6 +27,8 @@ - [ModalProps](#modalprops) - [NumberInputProps](#numberinputprops) - [OrderedListProps](#orderedlistprops) +- [PaginationControlProps](#paginationcontrolprops) +- [PaginationItemsPerPage](#paginationitemsperpage) - [ProgressBarProps](#progressbarprops) - [RadioGroupProps](#radiogroupprops) - [RadioGroupOption](#radiogroupoption) @@ -47,590 +48,589 @@ ## AlertProps -| Prop | Type | Required | Description | -| ------------------------- | --------------------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------- | -| **status** | `"info" \| "success" \| "warning" \| "error"` | No | The visual status that the alert should convey | -| **label** | `string` | Yes | The label text for the alert | -| **children** | `React.ReactNode` | No | Optional children to be rendered inside the alert | -| **icon** | `React.ReactNode` | No | Optional custom icon component to override the default icon | -| **className** | `string` | No | CSS className to be applied | -| **onDismiss** | `() => void` | No | Optional callback function called when the dismiss button is clicked | -| **disableScrollIntoView** | `boolean` | No | Whether to disable scrolling the alert into view and focusing it on mount. Set to true when using inside modals. | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **status** | `"info" \| "success" \| "warning" \| "error"` | No | The visual status that the alert should convey | +| **label** | `string` | Yes | The label text for the alert | +| **children** | `React.ReactNode` | No | Optional children to be rendered inside the alert | +| **icon** | `React.ReactNode` | No | Optional custom icon component to override the default icon | +| **className** | `string` | No | CSS className to be applied | +| **onDismiss** | `() => void` | No | Optional callback function called when the dismiss button is clicked | +| **disableScrollIntoView** | `boolean` | No | Whether to disable scrolling the alert into view and focusing it on mount. Set to true when using inside modals. | ## BadgeProps -| Prop | Type | Required | Description | -| -------------- | --------------------------------------------- | -------- | ------------------------------------------------------- | -| **children** | `React.ReactNode` | Yes | Content to be displayed inside the badge | -| **status** | `"info" \| "success" \| "warning" \| "error"` | No | Visual style variant of the badge | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **aria-label** | `string` | No | Defines a string value that labels the current element. | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **children** | `React.ReactNode` | Yes | Content to be displayed inside the badge | +| **status** | `"info" \| "success" \| "warning" \| "error"` | No | Visual style variant of the badge | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **aria-label** | `string` | No | Defines a string value that labels the current element. | ## BannerProps -| Prop | Type | Required | Description | -| -------------- | ---------------------- | -------- | ------------------------------------------------------- | -| **title** | `React.ReactNode` | Yes | Title content displayed in the colored header section | -| **children** | `React.ReactNode` | Yes | Content to be displayed in the main content area | -| **status** | `"warning" \| "error"` | No | Visual status variant of the banner | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **aria-label** | `string` | No | Defines a string value that labels the current element. | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **title** | `React.ReactNode` | Yes | Title content displayed in the colored header section | +| **children** | `React.ReactNode` | Yes | Content to be displayed in the main content area | +| **status** | `"warning" \| "error"` | No | Visual status variant of the banner | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **aria-label** | `string` | No | Defines a string value that labels the current element. | ## BaseListProps -| Prop | Type | Required | Description | -| -------------------- | ------------------- | -------- | ----------------------------------------- | -| **items** | `React.ReactNode[]` | Yes | The list items to render | -| **className** | `string` | No | Optional custom class name | -| **aria-label** | `string` | No | Accessibility label for the list | -| **aria-labelledby** | `string` | No | ID of an element that labels this list | -| **aria-describedby** | `string` | No | ID of an element that describes this list | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **items** | `React.ReactNode[]` | Yes | The list items to render | +| **className** | `string` | No | Optional custom class name | +| **aria-label** | `string` | No | Accessibility label for the list | +| **aria-labelledby** | `string` | No | ID of an element that labels this list | +| **aria-describedby** | `string` | No | ID of an element that describes this list | ## BreadcrumbsProps -| Prop | Type | Required | Description | -| ----------------------- | --------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **breadcrumbs** | [Breadcrumb](#breadcrumb)[] | Yes | Array of breadcrumbs | -| **currentBreadcrumbId** | `string` | No | Current breadcrumb id | -| **aria-label** | `string` | No | Accessibility label for the breadcrumbs | -| **className** | `string` | No | Additional CSS class name for the breadcrumbs container | -| **onClick** | `(id: string) => void` | No | Event handler for breadcrumb navigation | -| **isSmallContainer** | `boolean` | No | Passed to the breadcrumbs when the container size is small (640px and below) At this size, the breadcrumb typically does not have sufficient size to render completely. In our implementation, we switch to a condensed mobile version of the breadcrumbs | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **breadcrumbs** | [Breadcrumb](#breadcrumb)[] | Yes | Array of breadcrumbs | +| **currentBreadcrumbId** | `string` | No | Current breadcrumb id | +| **aria-label** | `string` | No | Accessibility label for the breadcrumbs | +| **className** | `string` | No | Additional CSS class name for the breadcrumbs container | +| **onClick** | `(id: string) => void` | No | Event handler for breadcrumb navigation | +| **isSmallContainer** | `boolean` | No | Passed to the breadcrumbs when the container size is small (640px and below) At this size, the breadcrumb typically does not have sufficient size to render completely. In our implementation, we switch to a condensed mobile version of the breadcrumbs | ### Breadcrumb -| Prop | Type | Required | Description | -| --------- | ----------------- | -------- | ----------- | -| **id** | `string` | Yes | - | -| **label** | `React.ReactNode` | Yes | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **id** | `string` | Yes | - | +| **label** | `React.ReactNode` | Yes | - | ## ButtonIconProps -| Prop | Type | Required | Description | -| -------------------- | --------------------------------------------------- | -------- | --------------------------------------------------------------------- | -| **buttonRef** | `Ref` | No | React ref for the button element | -| **variant** | `"error" \| "primary" \| "secondary" \| "tertiary"` | No | Visual style variant of the button | -| **isLoading** | `boolean` | No | Shows a loading spinner and disables the button | -| **isDisabled** | `boolean` | No | Disables the button and prevents interaction | -| **children** | `React.ReactNode` | No | Content to be rendered inside the button | -| **onBlur** | `(e: React.FocusEvent) => void` | No | Handler for blur events | -| **onFocus** | `(e: React.FocusEvent) => void` | No | Handler for focus events | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **aria-label** | `string` | No | Defines a string value that labels the current element. | -| **name** | `string` | No | - | -| **type** | `"submit" \| "reset" \| "button"` | No | - | -| **onClick** | `React.MouseEventHandler` | No | - | -| **onKeyDown** | `React.KeyboardEventHandler` | No | - | -| **onKeyUp** | `React.KeyboardEventHandler` | No | - | -| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | -| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | -| **form** | `string` | No | - | -| **title** | `string` | No | - | -| **tabIndex** | `number` | No | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **buttonRef** | `Ref` | No | React ref for the button element | +| **variant** | `"error" \| "primary" \| "secondary" \| "tertiary"` | No | Visual style variant of the button | +| **isLoading** | `boolean` | No | Shows a loading spinner and disables the button | +| **isDisabled** | `boolean` | No | Disables the button and prevents interaction | +| **children** | `React.ReactNode` | No | Content to be rendered inside the button | +| **onBlur** | `(e: React.FocusEvent) => void` | No | Handler for blur events | +| **onFocus** | `(e: React.FocusEvent) => void` | No | Handler for focus events | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **onKeyDown** | `React.KeyboardEventHandler` | No | - | +| **onKeyUp** | `React.KeyboardEventHandler` | No | - | +| **aria-label** | `string` | No | Defines a string value that labels the current element. | +| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | +| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | +| **title** | `string` | No | - | +| **name** | `string` | No | - | +| **type** | `"submit" \| "reset" \| "button"` | No | - | +| **onClick** | `React.MouseEventHandler` | No | - | +| **form** | `string` | No | - | +| **tabIndex** | `number` | No | - | ## ButtonProps -| Prop | Type | Required | Description | -| -------------------- | --------------------------------------------------- | -------- | --------------------------------------------------------------------- | -| **buttonRef** | `Ref` | No | React ref for the button element | -| **variant** | `"error" \| "primary" \| "secondary" \| "tertiary"` | No | Visual style variant of the button | -| **isLoading** | `boolean` | No | Shows a loading spinner and disables the button | -| **isDisabled** | `boolean` | No | Disables the button and prevents interaction | -| **children** | `React.ReactNode` | No | Content to be rendered inside the button | -| **onBlur** | `(e: React.FocusEvent) => void` | No | Handler for blur events | -| **onFocus** | `(e: React.FocusEvent) => void` | No | Handler for focus events | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **aria-label** | `string` | No | Defines a string value that labels the current element. | -| **name** | `string` | No | - | -| **type** | `"submit" \| "reset" \| "button"` | No | - | -| **onClick** | `React.MouseEventHandler` | No | - | -| **onKeyDown** | `React.KeyboardEventHandler` | No | - | -| **onKeyUp** | `React.KeyboardEventHandler` | No | - | -| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | -| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | -| **form** | `string` | No | - | -| **title** | `string` | No | - | -| **tabIndex** | `number` | No | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **buttonRef** | `Ref` | No | React ref for the button element | +| **variant** | `"error" \| "primary" \| "secondary" \| "tertiary"` | No | Visual style variant of the button | +| **isLoading** | `boolean` | No | Shows a loading spinner and disables the button | +| **isDisabled** | `boolean` | No | Disables the button and prevents interaction | +| **children** | `React.ReactNode` | No | Content to be rendered inside the button | +| **onBlur** | `(e: React.FocusEvent) => void` | No | Handler for blur events | +| **onFocus** | `(e: React.FocusEvent) => void` | No | Handler for focus events | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **onKeyDown** | `React.KeyboardEventHandler` | No | - | +| **onKeyUp** | `React.KeyboardEventHandler` | No | - | +| **aria-label** | `string` | No | Defines a string value that labels the current element. | +| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | +| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | +| **title** | `string` | No | - | +| **name** | `string` | No | - | +| **type** | `"submit" \| "reset" \| "button"` | No | - | +| **onClick** | `React.MouseEventHandler` | No | - | +| **form** | `string` | No | - | +| **tabIndex** | `number` | No | - | ## CalendarPreviewProps -| Prop | Type | Required | Description | -| ------------------ | ---------------------------------------------------------------------------- | -------- | --------------------------------------------------------- | -| **highlightDates** | `{ date: Date; highlightColor: "primary" \| "secondary"; label: string; }[]` | No | Array of dates to highlight with custom colors and labels | -| **dateRange** | `{ start: Date; end: Date; label: string; }` | Yes | Date range to display in the calendar preview | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **highlightDates** | `{ date: Date; highlightColor: "primary" \| "secondary"; label: string; }[]` | No | Array of dates to highlight with custom colors and labels | +| **dateRange** | `{ start: Date; end: Date; label: string; }` | Yes | Date range to display in the calendar preview | ## CardProps -| Prop | Type | Required | Description | -| ------------- | ---------------------------- | -------- | --------------------------------------------------------------------- | -| **onSelect** | `(checked: boolean) => void` | No | Callback function when the card is selected | -| **children** | `React.ReactNode` | Yes | Content to be displayed inside the card | -| **menu** | `React.ReactNode` | No | Optional menu component to be displayed on the right side of the card | -| **className** | `string` | No | CSS className to be applied | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **onSelect** | `(checked: boolean) => void` | No | Callback function when the card is selected | +| **children** | `React.ReactNode` | Yes | Content to be displayed inside the card | +| **menu** | `React.ReactNode` | No | Optional menu component to be displayed on the right side of the card | +| **className** | `string` | No | CSS className to be applied | ## CheckboxGroupProps -| Prop | Type | Required | Description | -| --------------------------- | --------------------------------------------- | -------- | ---------------------------------------------------------------------- | -| **isInvalid** | `boolean` | No | Indicates if the checkbox group is in an invalid state | -| **isDisabled** | `boolean` | No | Disables all checkbox options in the group | -| **options** | [CheckboxGroupOption](#checkboxgroupoption)[] | Yes | Array of checkbox options to display | -| **value** | `string[]` | No | Array of currently selected values | -| **onChange** | `(value: string[]) => void` | No | Callback when selection changes | -| **inputRef** | `Ref` | No | React ref for the first checkbox input element | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **label** | `React.ReactNode` | Yes | Label text for the field | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **isInvalid** | `boolean` | No | Indicates if the checkbox group is in an invalid state | +| **isDisabled** | `boolean` | No | Disables all checkbox options in the group | +| **options** | [CheckboxGroupOption](#checkboxgroupoption)[] | Yes | Array of checkbox options to display | +| **value** | `string[]` | No | Array of currently selected values | +| **onChange** | `(value: string[]) => void` | No | Callback when selection changes | +| **inputRef** | `Ref` | No | React ref for the first checkbox input element | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **label** | `React.ReactNode` | Yes | Label text for the field | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | ### CheckboxGroupOption -| Prop | Type | Required | Description | -| --------------- | ----------------- | -------- | --------------------------------------------------- | -| **label** | `React.ReactNode` | Yes | Label text or content for the checkbox option | -| **value** | `string` | Yes | Value of the option that will be passed to onChange | -| **isDisabled** | `boolean` | No | Disables this specific checkbox option | -| **description** | `React.ReactNode` | No | Optional description text for the checkbox option | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **label** | `React.ReactNode` | Yes | Label text or content for the checkbox option | +| **value** | `string` | Yes | Value of the option that will be passed to onChange | +| **isDisabled** | `boolean` | No | Disables this specific checkbox option | +| **description** | `React.ReactNode` | No | Optional description text for the checkbox option | ## CheckboxProps -| Prop | Type | Required | Description | -| --------------------------- | ------------------------------- | -------- | ---------------------------------------------------------------------- | -| **value** | `boolean` | No | Current checked state of the checkbox | -| **onChange** | `(value: boolean) => void` | No | Callback when checkbox state changes | -| **inputRef** | `Ref` | No | React ref for the checkbox input element | -| **isInvalid** | `boolean` | No | Indicates if the checkbox is in an invalid state | -| **isDisabled** | `boolean` | No | Disables the checkbox and prevents interaction | -| **onBlur** | `() => void` | No | Handler for blur events | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **label** | `React.ReactNode` | Yes | Label text for the field | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **value** | `boolean` | No | Current checked state of the checkbox | +| **onChange** | `(value: boolean) => void` | No | Callback when checkbox state changes | +| **inputRef** | `Ref` | No | React ref for the checkbox input element | +| **isInvalid** | `boolean` | No | Indicates if the checkbox is in an invalid state | +| **isDisabled** | `boolean` | No | Disables the checkbox and prevents interaction | +| **onBlur** | `() => void` | No | Handler for blur events | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **label** | `React.ReactNode` | Yes | Label text for the field | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | ## ComboBoxProps -| Prop | Type | Required | Description | -| --------------------------- | ----------------------------------- | -------- | ---------------------------------------------------------------------- | -| **isDisabled** | `boolean` | No | Disables the combo box and prevents interaction | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **label** | `string` | Yes | Label text for the combo box field | -| **onChange** | `(value: string) => void` | No | Callback when selection changes | -| **onBlur** | `() => void` | No | Handler for blur events | -| **options** | [ComboBoxOption](#comboboxoption)[] | Yes | Array of options to display in the dropdown | -| **value** | `string` | No | Currently selected value | -| **inputRef** | `Ref` | No | React ref for the combo box input element | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | -| **placeholder** | `string` | No | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **isDisabled** | `boolean` | No | Disables the combo box and prevents interaction | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **label** | `string` | Yes | Label text for the combo box field | +| **onChange** | `(value: string) => void` | No | Callback when selection changes | +| **onBlur** | `() => void` | No | Handler for blur events | +| **options** | [ComboBoxOption](#comboboxoption)[] | Yes | Array of options to display in the dropdown | +| **value** | `string` | No | Currently selected value | +| **inputRef** | `Ref` | No | React ref for the combo box input element | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | +| **placeholder** | `string` | No | - | ### ComboBoxOption -| Prop | Type | Required | Description | -| --------- | -------- | -------- | --------------------------------------------------- | -| **label** | `string` | Yes | Display text for the option | -| **value** | `string` | Yes | Value of the option that will be passed to onChange | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **label** | `string` | Yes | Display text for the option | +| **value** | `string` | Yes | Value of the option that will be passed to onChange | ## DatePickerProps -| Prop | Type | Required | Description | -| --------------------------- | ------------------------------- | -------- | ---------------------------------------------------------------------- | -| **inputRef** | `Ref` | No | React ref for the date input element | -| **isDisabled** | `boolean` | No | Disables the date picker and prevents interaction | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **onChange** | `(value: Date \| null) => void` | No | Callback when selected date changes | -| **onBlur** | `() => void` | No | Handler for blur events | -| **label** | `string` | Yes | Label text for the date picker field | -| **value** | `null \| Date` | No | Currently selected date value | -| **placeholder** | `string` | No | Placeholder text when no date is selected | -| **portalContainer** | `HTMLElement` | No | Element to use as the portal container | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **inputRef** | `Ref` | No | React ref for the date input element | +| **isDisabled** | `boolean` | No | Disables the date picker and prevents interaction | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **onChange** | `(value: Date \| null) => void` | No | Callback when selected date changes | +| **onBlur** | `() => void` | No | Handler for blur events | +| **label** | `string` | Yes | Label text for the date picker field | +| **value** | `null \| Date` | No | Currently selected date value | +| **placeholder** | `string` | No | Placeholder text when no date is selected | +| **portalContainer** | `HTMLElement` | No | Element to use as the portal container | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | ## DescriptionListProps -| Prop | Type | Required | Description | -| ------------- | --------------------------------------------- | -------- | ----------- | -| **items** | [DescriptionListItem](#descriptionlistitem)[] | Yes | - | -| **className** | `string` | No | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **items** | [DescriptionListItem](#descriptionlistitem)[] | Yes | - | +| **className** | `string` | No | - | ### DescriptionListItem -| Prop | Type | Required | Description | -| --------------- | -------------------------------------- | -------- | ----------- | -| **term** | `React.ReactNode \| React.ReactNode[]` | Yes | - | -| **description** | `React.ReactNode \| React.ReactNode[]` | Yes | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **term** | `React.ReactNode \| React.ReactNode[]` | Yes | - | +| **description** | `React.ReactNode \| React.ReactNode[]` | Yes | - | ## DialogProps -| Prop | Type | Required | Description | -| ------------------------------ | ----------------- | -------- | --------------------------------------------------------------------------------- | -| **isOpen** | `boolean` | No | Controls whether the dialog is open or closed | -| **onClose** | `() => void` | No | Callback function called when the dialog should be closed | -| **onPrimaryActionClick** | `() => void` | No | Callback function called when the primary action button is clicked | -| **isDestructive** | `boolean` | No | Whether the primary action is destructive (changes button style to error variant) | -| **isPrimaryActionLoading** | `boolean` | No | Whether the primary action button is in loading state | -| **primaryActionLabel** | `string` | Yes | Text label for the primary action button | -| **closeActionLabel** | `string` | Yes | Text label for the close/cancel action button | -| **title** | `React.ReactNode` | No | Optional title content to be displayed at the top of the dialog | -| **children** | `React.ReactNode` | No | Optional children content to be rendered in the dialog body | -| **shouldCloseOnBackdropClick** | `boolean` | No | Whether clicking the backdrop should close the dialog | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **isOpen** | `boolean` | No | Controls whether the dialog is open or closed | +| **onClose** | `() => void` | No | Callback function called when the dialog should be closed | +| **onPrimaryActionClick** | `() => void` | No | Callback function called when the primary action button is clicked | +| **isDestructive** | `boolean` | No | Whether the primary action is destructive (changes button style to error variant) | +| **isPrimaryActionLoading** | `boolean` | No | Whether the primary action button is in loading state | +| **primaryActionLabel** | `string` | Yes | Text label for the primary action button | +| **closeActionLabel** | `string` | Yes | Text label for the close/cancel action button | +| **title** | `React.ReactNode` | No | Optional title content to be displayed at the top of the dialog | +| **children** | `React.ReactNode` | No | Optional children content to be rendered in the dialog body | +| **shouldCloseOnBackdropClick** | `boolean` | No | Whether clicking the backdrop should close the dialog | ## HeadingProps -| Prop | Type | Required | Description | -| ------------- | ---------------------------------------------- | -------- | ------------------------------------------------------------------------- | -| **as** | `"h1" \| "h2" \| "h3" \| "h4" \| "h5" \| "h6"` | Yes | The HTML heading element to render (h1-h6) | -| **styledAs** | `"h1" \| "h2" \| "h3" \| "h4" \| "h5" \| "h6"` | No | Optional visual style to apply, independent of the semantic heading level | -| **textAlign** | `"start" \| "center" \| "end"` | No | Text alignment within the heading | -| **children** | `React.ReactNode` | No | Content to be displayed inside the heading | -| **className** | `string` | No | - | - -## InputProps - -| Prop | Type | Required | Description | -| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------- | -| **inputRef** | `Ref` | No | Ref for the input element | -| **adornmentStart** | `React.ReactNode` | No | Content to display at the start of the input | -| **adornmentEnd** | `React.ReactNode` | No | Content to display at the end of the input | -| **isDisabled** | `boolean` | No | Whether the input is disabled | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | -| **type** | `"number" \| "submit" \| "reset" \| "button" \| "checkbox" \| "color" \| "date" \| "datetime-local" \| "email" \| "file" \| "hidden" \| "image" \| "month" \| "password" \| "radio" \| "range" \| "search" \| "tel" \| "text" \| "time" \| "url" \| "week" \| string` | No | - | -| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | -| **placeholder** | `string` | No | - | -| **value** | `string \| number \| string[]` | No | - | -| **onChange** | `React.ChangeEventHandler` | No | - | -| **onBlur** | `React.FocusEventHandler` | No | - | -| **aria-invalid** | `false \| true \| "false" \| "true" \| "grammar" \| "spelling"` | No | Indicates the entered value does not conform to the format expected by the application. | -| **min** | `string \| number` | No | - | -| **max** | `string \| number` | No | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **as** | `"h1" \| "h2" \| "h3" \| "h4" \| "h5" \| "h6"` | Yes | The HTML heading element to render (h1-h6) | +| **styledAs** | `"h1" \| "h2" \| "h3" \| "h4" \| "h5" \| "h6"` | No | Optional visual style to apply, independent of the semantic heading level | +| **textAlign** | `"start" \| "center" \| "end"` | No | Text alignment within the heading | +| **children** | `React.ReactNode` | No | Content to be displayed inside the heading | +| **className** | `string` | No | - | ## LinkProps -| Prop | Type | Required | Description | -| -------------------- | ------------------------------------------------------ | -------- | --------------------------------------------------------------------- | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **aria-label** | `string` | No | Defines a string value that labels the current element. | -| **onKeyDown** | `React.KeyboardEventHandler` | No | - | -| **onKeyUp** | `React.KeyboardEventHandler` | No | - | -| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | -| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | -| **title** | `string` | No | - | -| **href** | `string` | No | - | -| **target** | `"_self" \| "_blank" \| "_parent" \| "_top" \| string` | No | - | -| **rel** | `string` | No | - | -| **download** | `any` | No | - | -| **children** | `React.ReactNode` | No | Content to be displayed inside the link | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **href** | `string` | No | - | +| **target** | `"_self" \| "_blank" \| "_parent" \| "_top" \| string` | No | - | +| **rel** | `string` | No | - | +| **download** | `any` | No | - | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **onKeyDown** | `React.KeyboardEventHandler` | No | - | +| **onKeyUp** | `React.KeyboardEventHandler` | No | - | +| **aria-label** | `string` | No | Defines a string value that labels the current element. | +| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | +| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | +| **title** | `string` | No | - | +| **children** | `React.ReactNode` | No | Content to be displayed inside the link | ## LoadingSpinnerProps -| Prop | Type | Required | Description | -| -------------- | --------------------- | -------- | ------------------------------------------------------- | -| **size** | `"lg" \| "sm"` | No | Size of the spinner | -| **style** | `"inline" \| "block"` | No | Display style of the spinner | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **aria-label** | `string` | No | Defines a string value that labels the current element. | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **size** | `"lg" \| "sm"` | No | Size of the spinner | +| **style** | `"inline" \| "block"` | No | Display style of the spinner | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **aria-label** | `string` | No | Defines a string value that labels the current element. | ## MenuProps -| Prop | Type | Required | Description | -| -------------- | ----------------------- | -------- | ----------------------------------------------- | -| **triggerRef** | `RefObject` | No | Reference to the element that triggers the menu | -| **items** | [MenuItem](#menuitem)[] | No | Array of menu items to display | -| **isOpen** | `boolean` | No | Controls whether the menu is currently open | -| **onClose** | `() => void` | No | Callback when the menu is closed | -| **aria-label** | `string` | Yes | Accessible label describing the menu's purpose | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **triggerRef** | `RefObject` | No | Reference to the element that triggers the menu | +| **items** | [MenuItem](#menuitem)[] | No | Array of menu items to display | +| **isOpen** | `boolean` | No | Controls whether the menu is currently open | +| **onClose** | `() => void` | No | Callback when the menu is closed | +| **aria-label** | `string` | Yes | Accessible label describing the menu's purpose | ### MenuItem -| Prop | Type | Required | Description | -| -------------- | ----------------- | -------- | ----------------------------------------------- | -| **label** | `string` | Yes | Text label for the menu item | -| **icon** | `React.ReactNode` | No | Optional icon to display before the label | -| **onClick** | `() => void` | Yes | Callback function when the menu item is clicked | -| **isDisabled** | `boolean` | No | Disables the menu item and prevents interaction | -| **href** | `string` | No | Optional URL to navigate to when clicked | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **label** | `string` | Yes | Text label for the menu item | +| **icon** | `React.ReactNode` | No | Optional icon to display before the label | +| **onClick** | `() => void` | Yes | Callback function when the menu item is clicked | +| **isDisabled** | `boolean` | No | Disables the menu item and prevents interaction | +| **href** | `string` | No | Optional URL to navigate to when clicked | ## ModalProps -| Prop | Type | Required | Description | -| ------------------------------ | ----------------- | -------- | -------------------------------------------------------- | -| **isOpen** | `boolean` | No | Controls whether the modal is open or closed | -| **onClose** | `() => void` | No | Callback function called when the modal should be closed | -| **shouldCloseOnBackdropClick** | `boolean` | No | Whether clicking the backdrop should close the modal | -| **children** | `React.ReactNode` | No | Main content to be rendered in the modal body | -| **footer** | `React.ReactNode` | No | Footer content to be rendered at the bottom of the modal | -| **containerRef** | `RefObject` | No | Optional ref to the backdrop container | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **isOpen** | `boolean` | No | Controls whether the modal is open or closed | +| **onClose** | `() => void` | No | Callback function called when the modal should be closed | +| **shouldCloseOnBackdropClick** | `boolean` | No | Whether clicking the backdrop should close the modal | +| **children** | `React.ReactNode` | No | Main content to be rendered in the modal body | +| **footer** | `React.ReactNode` | No | Footer content to be rendered at the bottom of the modal | +| **containerRef** | `RefObject` | No | Optional ref to the backdrop container | ## NumberInputProps -| Prop | Type | Required | Description | -| --------------------------- | -------------------------------------- | -------- | ---------------------------------------------------------------------- | -| **format** | `"currency" \| "decimal" \| "percent"` | No | Format type for the number input | -| **inputRef** | `Ref` | No | React ref for the number input element | -| **value** | `number` | No | Current value of the number input | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **isDisabled** | `boolean` | No | Disables the number input and prevents interaction | -| **onChange** | `(value: number) => void` | No | Callback when number input value changes | -| **onBlur** | `() => void` | No | Handler for blur events | -| **adornmentStart** | `React.ReactNode` | No | Element to display at the start of the input | -| **adornmentEnd** | `React.ReactNode` | No | Element to display at the end of the input | -| **minimumFractionDigits** | `number` | No | Minimum number of decimal places to display | -| **maximumFractionDigits** | `number` | No | Maximum number of decimal places to display | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **label** | `React.ReactNode` | Yes | Label text for the field | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | -| **placeholder** | `string` | No | - | -| **min** | `string \| number` | No | - | -| **max** | `string \| number` | No | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **format** | `"currency" \| "decimal" \| "percent"` | No | Format type for the number input | +| **inputRef** | `Ref` | No | React ref for the number input element | +| **value** | `number` | No | Current value of the number input | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **isDisabled** | `boolean` | No | Disables the number input and prevents interaction | +| **onChange** | `(value: number) => void` | No | Callback when number input value changes | +| **onBlur** | `() => void` | No | Handler for blur events | +| **adornmentStart** | `React.ReactNode` | No | Element to display at the start of the input | +| **adornmentEnd** | `React.ReactNode` | No | Element to display at the end of the input | +| **minimumFractionDigits** | `number` | No | Minimum number of decimal places to display | +| **maximumFractionDigits** | `number` | No | Maximum number of decimal places to display | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **label** | `React.ReactNode` | Yes | Label text for the field | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | +| **placeholder** | `string` | No | - | +| **min** | `string \| number` | No | - | +| **max** | `string \| number` | No | - | ## OrderedListProps The props for this component are defined in [BaseListProps](#baselistprops). +## PaginationControlProps + +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **handleFirstPage** | `() => void` | Yes | - | +| **handlePreviousPage** | `() => void` | Yes | - | +| **handleNextPage** | `() => void` | Yes | - | +| **handleLastPage** | `() => void` | Yes | - | +| **handleItemsPerPageChange** | `(n: [PaginationItemsPerPage](#paginationitemsperpage)) => void` | Yes | - | +| **currentPage** | `number` | Yes | - | +| **totalPages** | `number` | Yes | - | +| **itemsPerPage** | `5 \| 10 \| 50` | No | - | +| **isFetching** | `boolean` | No | - | + +### PaginationItemsPerPage + +```typescript +type PaginationItemsPerPage = 5 | 10 | 50 +``` + ## ProgressBarProps -| Prop | Type | Required | Description | -| --------------- | ----------------------------- | -------- | -------------------------------------------------------- | -| **totalSteps** | `number` | Yes | Total number of steps in the progress sequence | -| **currentStep** | `number` | Yes | Current step in the progress sequence | -| **className** | `string` | No | Additional CSS class name for the progress bar container | -| **label** | `string` | Yes | Accessible label describing the progress bar's purpose | -| **cta** | `React.ComponentType \| null` | No | Component to render as the progress bar's CTA | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **totalSteps** | `number` | Yes | Total number of steps in the progress sequence | +| **currentStep** | `number` | Yes | Current step in the progress sequence | +| **className** | `string` | No | Additional CSS class name for the progress bar container | +| **label** | `string` | Yes | Accessible label describing the progress bar's purpose | +| **cta** | `React.ComponentType \| null` | No | Component to render as the progress bar's CTA | ## RadioGroupProps -| Prop | Type | Required | Description | -| --------------------------- | --------------------------------------- | -------- | ---------------------------------------------------------------------- | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **isDisabled** | `boolean` | No | Disables all radio options in the group | -| **options** | [RadioGroupOption](#radiogroupoption)[] | Yes | Array of radio options to display | -| **value** | `string` | No | Currently selected value | -| **defaultValue** | `string` | No | Initially selected value | -| **onChange** | `(value: string) => void` | No | Callback when selection changes | -| **inputRef** | `Ref` | No | React ref for the first radio input element | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **label** | `React.ReactNode` | Yes | Label text for the field | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **isDisabled** | `boolean` | No | Disables all radio options in the group | +| **options** | [RadioGroupOption](#radiogroupoption)[] | Yes | Array of radio options to display | +| **value** | `string` | No | Currently selected value | +| **defaultValue** | `string` | No | Initially selected value | +| **onChange** | `(value: string) => void` | No | Callback when selection changes | +| **inputRef** | `Ref` | No | React ref for the first radio input element | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **label** | `React.ReactNode` | Yes | Label text for the field | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | ### RadioGroupOption -| Prop | Type | Required | Description | -| --------------- | ----------------- | -------- | --------------------------------------------------- | -| **label** | `React.ReactNode` | Yes | Label text or content for the radio option | -| **value** | `string` | Yes | Value of the option that will be passed to onChange | -| **isDisabled** | `boolean` | No | Disables this specific radio option | -| **description** | `React.ReactNode` | No | Optional description text for the radio option | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **label** | `React.ReactNode` | Yes | Label text or content for the radio option | +| **value** | `string` | Yes | Value of the option that will be passed to onChange | +| **isDisabled** | `boolean` | No | Disables this specific radio option | +| **description** | `React.ReactNode` | No | Optional description text for the radio option | ## RadioProps -| Prop | Type | Required | Description | -| --------------------------- | ------------------------------------------- | -------- | ---------------------------------------------------------------------- | -| **value** | `boolean` | No | Current checked state of the radio button | -| **onChange** | `(checked: boolean) => void` | No | Callback when radio button state changes | -| **inputRef** | `Ref` | No | React ref for the radio input element | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **isDisabled** | `boolean` | No | Disables the radio button and prevents interaction | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **label** | `React.ReactNode` | Yes | Label text for the field | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | -| **onBlur** | `React.FocusEventHandler` | No | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **value** | `boolean` | No | Current checked state of the radio button | +| **onChange** | `(checked: boolean) => void` | No | Callback when radio button state changes | +| **inputRef** | `Ref` | No | React ref for the radio input element | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **isDisabled** | `boolean` | No | Disables the radio button and prevents interaction | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **label** | `React.ReactNode` | Yes | Label text for the field | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | +| **onBlur** | `React.FocusEventHandler` | No | - | ## SelectProps -| Prop | Type | Required | Description | -| --------------------------- | -------------------------------- | -------- | ---------------------------------------------------------------------- | -| **isDisabled** | `boolean` | No | Disables the select and prevents interaction | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **label** | `string` | Yes | Label text for the select field | -| **onChange** | `(value: string) => void` | No | Callback when selection changes | -| **onBlur** | `() => void` | No | Handler for blur events | -| **options** | [SelectOption](#selectoption)[] | Yes | Array of options to display in the select dropdown | -| **placeholder** | `string` | No | Placeholder text when no option is selected | -| **value** | `string` | No | Currently selected value | -| **inputRef** | `Ref` | No | React ref for the select button element | -| **portalContainer** | `HTMLElement` | No | Element to use as the portal container | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **isDisabled** | `boolean` | No | Disables the select and prevents interaction | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **label** | `string` | Yes | Label text for the select field | +| **onChange** | `(value: string) => void` | No | Callback when selection changes | +| **onBlur** | `() => void` | No | Handler for blur events | +| **options** | [SelectOption](#selectoption)[] | Yes | Array of options to display in the select dropdown | +| **placeholder** | `string` | No | Placeholder text when no option is selected | +| **value** | `string` | No | Currently selected value | +| **inputRef** | `Ref` | No | React ref for the select button element | +| **portalContainer** | `HTMLElement` | No | Element to use as the portal container | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | ### SelectOption -| Prop | Type | Required | Description | -| --------- | -------- | -------- | --------------------------------------------------- | -| **value** | `string` | Yes | Value of the option that will be passed to onChange | -| **label** | `string` | Yes | Display text for the option | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **value** | `string` | Yes | Value of the option that will be passed to onChange | +| **label** | `string` | Yes | Display text for the option | ## SwitchProps -| Prop | Type | Required | Description | -| --------------------------- | ------------------------------- | -------- | ---------------------------------------------------------------------- | -| **onBlur** | `() => void` | No | Handler for blur events | -| **onChange** | `(checked: boolean) => void` | No | Callback when switch state changes | -| **value** | `boolean` | No | Current checked state of the switch | -| **inputRef** | `Ref` | No | React ref for the switch input element | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **isDisabled** | `boolean` | No | Disables the switch and prevents interaction | -| **className** | `string` | No | Additional CSS class name for the switch container | -| **label** | `string` | Yes | Label text for the switch | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **id** | `string` | No | - | -| **name** | `string` | No | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **onBlur** | `() => void` | No | Handler for blur events | +| **onChange** | `(checked: boolean) => void` | No | Callback when switch state changes | +| **value** | `boolean` | No | Current checked state of the switch | +| **inputRef** | `Ref` | No | React ref for the switch input element | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **isDisabled** | `boolean` | No | Disables the switch and prevents interaction | +| **className** | `string` | No | Additional CSS class name for the switch container | +| **label** | `string` | Yes | Label text for the switch | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **id** | `string` | No | - | +| **name** | `string` | No | - | ## TableProps -| Prop | Type | Required | Description | -| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------------- | -| **headers** | [TableData](#tabledata)[] | Yes | Array of header cells for the table | -| **rows** | [TableRow](#tablerow)[] | Yes | Array of rows to be displayed in the table | -| **footer** | [TableData](#tabledata)[] | No | Array of footer cells for the table | -| **emptyState** | `React.ReactNode` | No | Content to display when the table has no rows | -| **variant** | `"default" \| "minimal"` | No | Visual style variant of the table | -| **hasCheckboxColumn** | `boolean` | No | Whether the first column contains checkboxes (affects which column gets leading variant) | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **aria-label** | `string` | No | Defines a string value that labels the current element. | -| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | -| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | -| **role** | `"form" \| "button" \| "checkbox" \| "radio" \| "search" \| "alert" \| "alertdialog" \| "application" \| "article" \| "banner" \| "cell" \| "columnheader" \| "combobox" \| "complementary" \| "contentinfo" \| "definition" \| "dialog" \| "directory" \| "document" \| "feed" \| "figure" \| "grid" \| "gridcell" \| "group" \| "heading" \| "img" \| "link" \| "list" \| "listbox" \| "listitem" \| "log" \| "main" \| "marquee" \| "math" \| "menu" \| "menubar" \| "menuitem" \| "menuitemcheckbox" \| "menuitemradio" \| "navigation" \| "none" \| "note" \| "option" \| "presentation" \| "progressbar" \| "radiogroup" \| "region" \| "row" \| "rowgroup" \| "rowheader" \| "scrollbar" \| "searchbox" \| "separator" \| "slider" \| "spinbutton" \| "status" \| "switch" \| "tab" \| "table" \| "tablist" \| "tabpanel" \| "term" \| "textbox" \| "timer" \| "toolbar" \| "tooltip" \| "tree" \| "treegrid" \| "treeitem" \| string` | No | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **headers** | [TableData](#tabledata)[] | Yes | Array of header cells for the table | +| **rows** | [TableRow](#tablerow)[] | Yes | Array of rows to be displayed in the table | +| **footer** | [TableData](#tabledata)[] | No | Array of footer cells for the table | +| **emptyState** | `React.ReactNode` | No | Content to display when the table has no rows | +| **variant** | `"default" \| "minimal"` | No | Visual style variant of the table | +| **hasCheckboxColumn** | `boolean` | No | Whether the first column contains checkboxes (affects which column gets leading variant) | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **aria-label** | `string` | No | Defines a string value that labels the current element. | +| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | +| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | +| **role** | `"form" \| "button" \| "alert" \| "alertdialog" \| "application" \| "article" \| "banner" \| "cell" \| "checkbox" \| "columnheader" \| "combobox" \| "complementary" \| "contentinfo" \| "definition" \| "dialog" \| "directory" \| "document" \| "feed" \| "figure" \| "grid" \| "gridcell" \| "group" \| "heading" \| "img" \| "link" \| "list" \| "listbox" \| "listitem" \| "log" \| "main" \| "marquee" \| "math" \| "menu" \| "menubar" \| "menuitem" \| "menuitemcheckbox" \| "menuitemradio" \| "navigation" \| "none" \| "note" \| "option" \| "presentation" \| "progressbar" \| "radio" \| "radiogroup" \| "region" \| "row" \| "rowgroup" \| "rowheader" \| "scrollbar" \| "search" \| "searchbox" \| "separator" \| "slider" \| "spinbutton" \| "status" \| "switch" \| "tab" \| "table" \| "tablist" \| "tabpanel" \| "term" \| "textbox" \| "timer" \| "toolbar" \| "tooltip" \| "tree" \| "treegrid" \| "treeitem" \| string` | No | - | ### TableData -| Prop | Type | Required | Description | -| ----------- | ----------------- | -------- | ----------------------------------------- | -| **key** | `string` | Yes | Unique identifier for the table cell | -| **content** | `React.ReactNode` | Yes | Content to be displayed in the table cell | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **key** | `string` | Yes | Unique identifier for the table cell | +| **content** | `React.ReactNode` | Yes | Content to be displayed in the table cell | ### TableRow -| Prop | Type | Required | Description | -| -------- | ------------------------- | -------- | ----------------------------------------- | -| **key** | `string` | Yes | Unique identifier for the table row | -| **data** | [TableData](#tabledata)[] | Yes | Array of cells to be displayed in the row | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **key** | `string` | Yes | Unique identifier for the table row | +| **data** | [TableData](#tabledata)[] | Yes | Array of cells to be displayed in the row | ## TabsProps -| Prop | Type | Required | Description | -| --------------------- | ----------------------- | -------- | ----------------------------------- | -| **tabs** | [TabProps](#tabprops)[] | Yes | Array of tab configuration objects | -| **selectedId** | `string` | No | Currently selected tab id | -| **onSelectionChange** | `(id: string) => void` | Yes | Callback when tab selection changes | -| **aria-label** | `string` | No | Accessible label for the tabs | -| **aria-labelledby** | `string` | No | ID of element that labels the tabs | -| **className** | `string` | No | Additional CSS class name | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **tabs** | [TabProps](#tabprops)[] | Yes | Array of tab configuration objects | +| **selectedId** | `string` | No | Currently selected tab id | +| **onSelectionChange** | `(id: string) => void` | Yes | Callback when tab selection changes | +| **aria-label** | `string` | No | Accessible label for the tabs | +| **aria-labelledby** | `string` | No | ID of element that labels the tabs | +| **className** | `string` | No | Additional CSS class name | ### TabProps -| Prop | Type | Required | Description | -| -------------- | ----------------- | -------- | ----------------------------------- | -| **id** | `string` | Yes | Unique identifier for the tab | -| **label** | `React.ReactNode` | Yes | Label to display in the tab button | -| **content** | `React.ReactNode` | Yes | Content to display in the tab panel | -| **isDisabled** | `boolean` | No | Whether the tab is disabled | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **id** | `string` | Yes | Unique identifier for the tab | +| **label** | `React.ReactNode` | Yes | Label to display in the tab button | +| **content** | `React.ReactNode` | Yes | Content to display in the tab panel | +| **isDisabled** | `boolean` | No | Whether the tab is disabled | ## TextAreaProps -| Prop | Type | Required | Description | -| --------------------------- | ---------------------------------- | -------- | ---------------------------------------------------------------------- | -| **inputRef** | `Ref` | No | React ref for the textarea element | -| **value** | `string` | No | Current value of the textarea | -| **onChange** | `(value: string) => void` | No | Callback when textarea value changes | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **isDisabled** | `boolean` | No | Disables the textarea and prevents interaction | -| **onBlur** | `() => void` | No | Handler for blur events | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **label** | `React.ReactNode` | Yes | Label text for the field | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | -| **placeholder** | `string` | No | - | -| **rows** | `number` | No | - | -| **cols** | `number` | No | - | -| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **inputRef** | `Ref` | No | React ref for the textarea element | +| **value** | `string` | No | Current value of the textarea | +| **onChange** | `(value: string) => void` | No | Callback when textarea value changes | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **isDisabled** | `boolean` | No | Disables the textarea and prevents interaction | +| **onBlur** | `() => void` | No | Handler for blur events | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **label** | `React.ReactNode` | Yes | Label text for the field | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | +| **placeholder** | `string` | No | - | +| **rows** | `number` | No | - | +| **cols** | `number` | No | - | +| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | ## TextInputProps -| Prop | Type | Required | Description | -| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------- | -| **inputRef** | `Ref` | No | React ref for the input element | -| **value** | `string` | No | Current value of the input | -| **onChange** | `(value: string) => void` | No | Callback when input value changes | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **isDisabled** | `boolean` | No | Disables the input and prevents interaction | -| **onBlur** | `() => void` | No | Handler for blur events | -| **adornmentStart** | `React.ReactNode` | No | Element to display at the start of the input | -| **adornmentEnd** | `React.ReactNode` | No | Element to display at the end of the input | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **label** | `React.ReactNode` | Yes | Label text for the field | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | -| **type** | `"number" \| "submit" \| "reset" \| "button" \| "checkbox" \| "color" \| "date" \| "datetime-local" \| "email" \| "file" \| "hidden" \| "image" \| "month" \| "password" \| "radio" \| "range" \| "search" \| "tel" \| "text" \| "time" \| "url" \| "week" \| string` | No | - | -| **placeholder** | `string` | No | - | -| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **inputRef** | `Ref` | No | React ref for the input element | +| **value** | `string` | No | Current value of the input | +| **onChange** | `(value: string) => void` | No | Callback when input value changes | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **isDisabled** | `boolean` | No | Disables the input and prevents interaction | +| **onBlur** | `() => void` | No | Handler for blur events | +| **adornmentStart** | `React.ReactNode` | No | Element to display at the start of the input | +| **adornmentEnd** | `React.ReactNode` | No | Element to display at the end of the input | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **label** | `React.ReactNode` | Yes | Label text for the field | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | +| **type** | `"number" \| "submit" \| "reset" \| "button" \| "checkbox" \| "radio" \| "search" \| "color" \| "date" \| "datetime-local" \| "email" \| "file" \| "hidden" \| "image" \| "month" \| "password" \| "range" \| "tel" \| "text" \| "time" \| "url" \| "week" \| string` | No | - | +| **placeholder** | `string` | No | - | +| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | ## TextProps -| Prop | Type | Required | Description | -| ------------- | ----------------------------------------------- | -------- | ----------------------------------- | -| **as** | `"p" \| "span" \| "div" \| "pre"` | No | HTML element to render the text as | -| **size** | `"lg" \| "sm" \| "xs" \| "md"` | No | Size variant of the text | -| **textAlign** | `"start" \| "center" \| "end"` | No | Text alignment within the container | -| **weight** | `"regular" \| "medium" \| "semibold" \| "bold"` | No | Font weight of the text | -| **children** | `React.ReactNode` | No | Content to be displayed | -| **variant** | `"supporting" \| "leading"` | No | Visual style variant of the text | -| **className** | `string` | No | - | -| **id** | `string` | No | - | +| Prop | Type | Required | Description | +|------|------|----------|-------------| +| **as** | `"p" \| "span" \| "div" \| "pre"` | No | HTML element to render the text as | +| **size** | `"lg" \| "sm" \| "xs" \| "md"` | No | Size variant of the text | +| **textAlign** | `"start" \| "center" \| "end"` | No | Text alignment within the container | +| **weight** | `"regular" \| "medium" \| "semibold" \| "bold"` | No | Font weight of the text | +| **children** | `React.ReactNode` | No | Content to be displayed | +| **variant** | `"supporting" \| "leading"` | No | Visual style variant of the text | +| **className** | `string` | No | - | +| **id** | `string` | No | - | ## UnorderedListProps -The props for this component are defined in [BaseListProps](#baselistprops). +The props for this component are defined in [BaseListProps](#baselistprops). \ No newline at end of file diff --git a/src/contexts/ComponentAdapter/componentAdapterTypes.ts b/src/contexts/ComponentAdapter/componentAdapterTypes.ts index 966d5f495..8fa522942 100644 --- a/src/contexts/ComponentAdapter/componentAdapterTypes.ts +++ b/src/contexts/ComponentAdapter/componentAdapterTypes.ts @@ -26,9 +26,15 @@ export type { BadgeProps } from '@/components/Common/UI/Badge/BadgeTypes' export type { BannerProps } from '@/components/Common/UI/Banner/BannerTypes' export type { OrderedListProps, UnorderedListProps } from '@/components/Common/UI/List/ListTypes' export type { HeadingProps } from '@/components/Common/UI/Heading/HeadingTypes' -export type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes' +export type { + PaginationControlProps, + PaginationItemsPerPage, +} from '@/components/Common/PaginationControl/PaginationControlTypes' export type { TextProps } from '@/components/Common/UI/Text/TextTypes' export type { CalendarPreviewProps } from '@/components/Common/UI/CalendarPreview/CalendarPreviewTypes' export type { DialogProps } from '@/components/Common/UI/Dialog/DialogTypes' export type { ModalProps } from '@/components/Common/UI/Modal/ModalTypes' export type { DescriptionListProps } from '@/components/Common/UI/DescriptionList/DescriptionListTypes' +export type { TextAreaProps } from '@/components/Common/UI/TextArea/TextAreaTypes' +export type { TabsProps } from '@/components/Common/UI/Tabs/TabsTypes' +export type { LoadingSpinnerProps } from '@/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes' diff --git a/src/contexts/GustoProvider/GustoProviderCustomUIAdapter.tsx b/src/contexts/GustoProvider/GustoProviderCustomUIAdapter.tsx index 8bc622442..36795b169 100644 --- a/src/contexts/GustoProvider/GustoProviderCustomUIAdapter.tsx +++ b/src/contexts/GustoProvider/GustoProviderCustomUIAdapter.tsx @@ -5,7 +5,6 @@ import type { QueryClient } from '@tanstack/react-query' import { useEffect } from 'react' import { ComponentsProvider } from '../ComponentAdapter/ComponentsProvider' import type { ComponentsContextType } from '../ComponentAdapter/useComponentContext' -import { createComponents } from '../ComponentAdapter/createComponentsWithDefaults' import { ApiProvider } from '../ApiProvider/ApiProvider' import { LoadingIndicatorProvider } from '../LoadingIndicatorProvider/LoadingIndicatorProvider' import type { LoadingIndicatorContextProps } from '../LoadingIndicatorProvider/useLoadingIndicator' @@ -80,7 +79,7 @@ const GustoProviderCustomUIAdapter: React.FC }, [lng]) return ( - + From 2625c61ef3540b92a2c46f71db54b532d1a969ee Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 18 Dec 2025 00:04:59 +0000 Subject: [PATCH 2/3] Initial plan From b98d7b9e08467611bce9d0afd896d0131b7b7d4c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 18 Dec 2025 00:10:36 +0000 Subject: [PATCH 3/3] fix: remove unused eslint-disable directive and fix formatting Co-authored-by: jeffredodd <2861516+jeffredodd@users.noreply.github.com> --- docs/component-adapter/component-inventory.md | 900 +++++++++--------- package-lock.json | 133 ++- .../ConfirmWireDetails/ConfirmWireDetails.tsx | 1 - 3 files changed, 542 insertions(+), 492 deletions(-) diff --git a/docs/component-adapter/component-inventory.md b/docs/component-adapter/component-inventory.md index d8bf4a9ea..fea2ad078 100644 --- a/docs/component-adapter/component-inventory.md +++ b/docs/component-adapter/component-inventory.md @@ -48,349 +48,349 @@ ## AlertProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **status** | `"info" \| "success" \| "warning" \| "error"` | No | The visual status that the alert should convey | -| **label** | `string` | Yes | The label text for the alert | -| **children** | `React.ReactNode` | No | Optional children to be rendered inside the alert | -| **icon** | `React.ReactNode` | No | Optional custom icon component to override the default icon | -| **className** | `string` | No | CSS className to be applied | -| **onDismiss** | `() => void` | No | Optional callback function called when the dismiss button is clicked | -| **disableScrollIntoView** | `boolean` | No | Whether to disable scrolling the alert into view and focusing it on mount. Set to true when using inside modals. | +| Prop | Type | Required | Description | +| ------------------------- | --------------------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------- | +| **status** | `"info" \| "success" \| "warning" \| "error"` | No | The visual status that the alert should convey | +| **label** | `string` | Yes | The label text for the alert | +| **children** | `React.ReactNode` | No | Optional children to be rendered inside the alert | +| **icon** | `React.ReactNode` | No | Optional custom icon component to override the default icon | +| **className** | `string` | No | CSS className to be applied | +| **onDismiss** | `() => void` | No | Optional callback function called when the dismiss button is clicked | +| **disableScrollIntoView** | `boolean` | No | Whether to disable scrolling the alert into view and focusing it on mount. Set to true when using inside modals. | ## BadgeProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **children** | `React.ReactNode` | Yes | Content to be displayed inside the badge | -| **status** | `"info" \| "success" \| "warning" \| "error"` | No | Visual style variant of the badge | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **aria-label** | `string` | No | Defines a string value that labels the current element. | +| Prop | Type | Required | Description | +| -------------- | --------------------------------------------- | -------- | ------------------------------------------------------- | +| **children** | `React.ReactNode` | Yes | Content to be displayed inside the badge | +| **status** | `"info" \| "success" \| "warning" \| "error"` | No | Visual style variant of the badge | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **aria-label** | `string` | No | Defines a string value that labels the current element. | ## BannerProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **title** | `React.ReactNode` | Yes | Title content displayed in the colored header section | -| **children** | `React.ReactNode` | Yes | Content to be displayed in the main content area | -| **status** | `"warning" \| "error"` | No | Visual status variant of the banner | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **aria-label** | `string` | No | Defines a string value that labels the current element. | +| Prop | Type | Required | Description | +| -------------- | ---------------------- | -------- | ------------------------------------------------------- | +| **title** | `React.ReactNode` | Yes | Title content displayed in the colored header section | +| **children** | `React.ReactNode` | Yes | Content to be displayed in the main content area | +| **status** | `"warning" \| "error"` | No | Visual status variant of the banner | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **aria-label** | `string` | No | Defines a string value that labels the current element. | ## BaseListProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **items** | `React.ReactNode[]` | Yes | The list items to render | -| **className** | `string` | No | Optional custom class name | -| **aria-label** | `string` | No | Accessibility label for the list | -| **aria-labelledby** | `string` | No | ID of an element that labels this list | -| **aria-describedby** | `string` | No | ID of an element that describes this list | +| Prop | Type | Required | Description | +| -------------------- | ------------------- | -------- | ----------------------------------------- | +| **items** | `React.ReactNode[]` | Yes | The list items to render | +| **className** | `string` | No | Optional custom class name | +| **aria-label** | `string` | No | Accessibility label for the list | +| **aria-labelledby** | `string` | No | ID of an element that labels this list | +| **aria-describedby** | `string` | No | ID of an element that describes this list | ## BreadcrumbsProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **breadcrumbs** | [Breadcrumb](#breadcrumb)[] | Yes | Array of breadcrumbs | -| **currentBreadcrumbId** | `string` | No | Current breadcrumb id | -| **aria-label** | `string` | No | Accessibility label for the breadcrumbs | -| **className** | `string` | No | Additional CSS class name for the breadcrumbs container | -| **onClick** | `(id: string) => void` | No | Event handler for breadcrumb navigation | -| **isSmallContainer** | `boolean` | No | Passed to the breadcrumbs when the container size is small (640px and below) At this size, the breadcrumb typically does not have sufficient size to render completely. In our implementation, we switch to a condensed mobile version of the breadcrumbs | +| Prop | Type | Required | Description | +| ----------------------- | --------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **breadcrumbs** | [Breadcrumb](#breadcrumb)[] | Yes | Array of breadcrumbs | +| **currentBreadcrumbId** | `string` | No | Current breadcrumb id | +| **aria-label** | `string` | No | Accessibility label for the breadcrumbs | +| **className** | `string` | No | Additional CSS class name for the breadcrumbs container | +| **onClick** | `(id: string) => void` | No | Event handler for breadcrumb navigation | +| **isSmallContainer** | `boolean` | No | Passed to the breadcrumbs when the container size is small (640px and below) At this size, the breadcrumb typically does not have sufficient size to render completely. In our implementation, we switch to a condensed mobile version of the breadcrumbs | ### Breadcrumb -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **id** | `string` | Yes | - | -| **label** | `React.ReactNode` | Yes | - | +| Prop | Type | Required | Description | +| --------- | ----------------- | -------- | ----------- | +| **id** | `string` | Yes | - | +| **label** | `React.ReactNode` | Yes | - | ## ButtonIconProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **buttonRef** | `Ref` | No | React ref for the button element | -| **variant** | `"error" \| "primary" \| "secondary" \| "tertiary"` | No | Visual style variant of the button | -| **isLoading** | `boolean` | No | Shows a loading spinner and disables the button | -| **isDisabled** | `boolean` | No | Disables the button and prevents interaction | -| **children** | `React.ReactNode` | No | Content to be rendered inside the button | -| **onBlur** | `(e: React.FocusEvent) => void` | No | Handler for blur events | -| **onFocus** | `(e: React.FocusEvent) => void` | No | Handler for focus events | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **onKeyDown** | `React.KeyboardEventHandler` | No | - | -| **onKeyUp** | `React.KeyboardEventHandler` | No | - | -| **aria-label** | `string` | No | Defines a string value that labels the current element. | -| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | -| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | -| **title** | `string` | No | - | -| **name** | `string` | No | - | -| **type** | `"submit" \| "reset" \| "button"` | No | - | -| **onClick** | `React.MouseEventHandler` | No | - | -| **form** | `string` | No | - | -| **tabIndex** | `number` | No | - | +| Prop | Type | Required | Description | +| -------------------- | --------------------------------------------------- | -------- | --------------------------------------------------------------------- | +| **buttonRef** | `Ref` | No | React ref for the button element | +| **variant** | `"error" \| "primary" \| "secondary" \| "tertiary"` | No | Visual style variant of the button | +| **isLoading** | `boolean` | No | Shows a loading spinner and disables the button | +| **isDisabled** | `boolean` | No | Disables the button and prevents interaction | +| **children** | `React.ReactNode` | No | Content to be rendered inside the button | +| **onBlur** | `(e: React.FocusEvent) => void` | No | Handler for blur events | +| **onFocus** | `(e: React.FocusEvent) => void` | No | Handler for focus events | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **onKeyDown** | `React.KeyboardEventHandler` | No | - | +| **onKeyUp** | `React.KeyboardEventHandler` | No | - | +| **aria-label** | `string` | No | Defines a string value that labels the current element. | +| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | +| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | +| **title** | `string` | No | - | +| **name** | `string` | No | - | +| **type** | `"submit" \| "reset" \| "button"` | No | - | +| **onClick** | `React.MouseEventHandler` | No | - | +| **form** | `string` | No | - | +| **tabIndex** | `number` | No | - | ## ButtonProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **buttonRef** | `Ref` | No | React ref for the button element | -| **variant** | `"error" \| "primary" \| "secondary" \| "tertiary"` | No | Visual style variant of the button | -| **isLoading** | `boolean` | No | Shows a loading spinner and disables the button | -| **isDisabled** | `boolean` | No | Disables the button and prevents interaction | -| **children** | `React.ReactNode` | No | Content to be rendered inside the button | -| **onBlur** | `(e: React.FocusEvent) => void` | No | Handler for blur events | -| **onFocus** | `(e: React.FocusEvent) => void` | No | Handler for focus events | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **onKeyDown** | `React.KeyboardEventHandler` | No | - | -| **onKeyUp** | `React.KeyboardEventHandler` | No | - | -| **aria-label** | `string` | No | Defines a string value that labels the current element. | -| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | -| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | -| **title** | `string` | No | - | -| **name** | `string` | No | - | -| **type** | `"submit" \| "reset" \| "button"` | No | - | -| **onClick** | `React.MouseEventHandler` | No | - | -| **form** | `string` | No | - | -| **tabIndex** | `number` | No | - | +| Prop | Type | Required | Description | +| -------------------- | --------------------------------------------------- | -------- | --------------------------------------------------------------------- | +| **buttonRef** | `Ref` | No | React ref for the button element | +| **variant** | `"error" \| "primary" \| "secondary" \| "tertiary"` | No | Visual style variant of the button | +| **isLoading** | `boolean` | No | Shows a loading spinner and disables the button | +| **isDisabled** | `boolean` | No | Disables the button and prevents interaction | +| **children** | `React.ReactNode` | No | Content to be rendered inside the button | +| **onBlur** | `(e: React.FocusEvent) => void` | No | Handler for blur events | +| **onFocus** | `(e: React.FocusEvent) => void` | No | Handler for focus events | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **onKeyDown** | `React.KeyboardEventHandler` | No | - | +| **onKeyUp** | `React.KeyboardEventHandler` | No | - | +| **aria-label** | `string` | No | Defines a string value that labels the current element. | +| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | +| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | +| **title** | `string` | No | - | +| **name** | `string` | No | - | +| **type** | `"submit" \| "reset" \| "button"` | No | - | +| **onClick** | `React.MouseEventHandler` | No | - | +| **form** | `string` | No | - | +| **tabIndex** | `number` | No | - | ## CalendarPreviewProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **highlightDates** | `{ date: Date; highlightColor: "primary" \| "secondary"; label: string; }[]` | No | Array of dates to highlight with custom colors and labels | -| **dateRange** | `{ start: Date; end: Date; label: string; }` | Yes | Date range to display in the calendar preview | +| Prop | Type | Required | Description | +| ------------------ | ---------------------------------------------------------------------------- | -------- | --------------------------------------------------------- | +| **highlightDates** | `{ date: Date; highlightColor: "primary" \| "secondary"; label: string; }[]` | No | Array of dates to highlight with custom colors and labels | +| **dateRange** | `{ start: Date; end: Date; label: string; }` | Yes | Date range to display in the calendar preview | ## CardProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **onSelect** | `(checked: boolean) => void` | No | Callback function when the card is selected | -| **children** | `React.ReactNode` | Yes | Content to be displayed inside the card | -| **menu** | `React.ReactNode` | No | Optional menu component to be displayed on the right side of the card | -| **className** | `string` | No | CSS className to be applied | +| Prop | Type | Required | Description | +| ------------- | ---------------------------- | -------- | --------------------------------------------------------------------- | +| **onSelect** | `(checked: boolean) => void` | No | Callback function when the card is selected | +| **children** | `React.ReactNode` | Yes | Content to be displayed inside the card | +| **menu** | `React.ReactNode` | No | Optional menu component to be displayed on the right side of the card | +| **className** | `string` | No | CSS className to be applied | ## CheckboxGroupProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **isInvalid** | `boolean` | No | Indicates if the checkbox group is in an invalid state | -| **isDisabled** | `boolean` | No | Disables all checkbox options in the group | -| **options** | [CheckboxGroupOption](#checkboxgroupoption)[] | Yes | Array of checkbox options to display | -| **value** | `string[]` | No | Array of currently selected values | -| **onChange** | `(value: string[]) => void` | No | Callback when selection changes | -| **inputRef** | `Ref` | No | React ref for the first checkbox input element | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **label** | `React.ReactNode` | Yes | Label text for the field | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | +| Prop | Type | Required | Description | +| --------------------------- | --------------------------------------------- | -------- | ---------------------------------------------------------------------- | +| **isInvalid** | `boolean` | No | Indicates if the checkbox group is in an invalid state | +| **isDisabled** | `boolean` | No | Disables all checkbox options in the group | +| **options** | [CheckboxGroupOption](#checkboxgroupoption)[] | Yes | Array of checkbox options to display | +| **value** | `string[]` | No | Array of currently selected values | +| **onChange** | `(value: string[]) => void` | No | Callback when selection changes | +| **inputRef** | `Ref` | No | React ref for the first checkbox input element | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **label** | `React.ReactNode` | Yes | Label text for the field | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | ### CheckboxGroupOption -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **label** | `React.ReactNode` | Yes | Label text or content for the checkbox option | -| **value** | `string` | Yes | Value of the option that will be passed to onChange | -| **isDisabled** | `boolean` | No | Disables this specific checkbox option | -| **description** | `React.ReactNode` | No | Optional description text for the checkbox option | +| Prop | Type | Required | Description | +| --------------- | ----------------- | -------- | --------------------------------------------------- | +| **label** | `React.ReactNode` | Yes | Label text or content for the checkbox option | +| **value** | `string` | Yes | Value of the option that will be passed to onChange | +| **isDisabled** | `boolean` | No | Disables this specific checkbox option | +| **description** | `React.ReactNode` | No | Optional description text for the checkbox option | ## CheckboxProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **value** | `boolean` | No | Current checked state of the checkbox | -| **onChange** | `(value: boolean) => void` | No | Callback when checkbox state changes | -| **inputRef** | `Ref` | No | React ref for the checkbox input element | -| **isInvalid** | `boolean` | No | Indicates if the checkbox is in an invalid state | -| **isDisabled** | `boolean` | No | Disables the checkbox and prevents interaction | -| **onBlur** | `() => void` | No | Handler for blur events | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **label** | `React.ReactNode` | Yes | Label text for the field | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | +| Prop | Type | Required | Description | +| --------------------------- | ------------------------------- | -------- | ---------------------------------------------------------------------- | +| **value** | `boolean` | No | Current checked state of the checkbox | +| **onChange** | `(value: boolean) => void` | No | Callback when checkbox state changes | +| **inputRef** | `Ref` | No | React ref for the checkbox input element | +| **isInvalid** | `boolean` | No | Indicates if the checkbox is in an invalid state | +| **isDisabled** | `boolean` | No | Disables the checkbox and prevents interaction | +| **onBlur** | `() => void` | No | Handler for blur events | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **label** | `React.ReactNode` | Yes | Label text for the field | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | ## ComboBoxProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **isDisabled** | `boolean` | No | Disables the combo box and prevents interaction | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **label** | `string` | Yes | Label text for the combo box field | -| **onChange** | `(value: string) => void` | No | Callback when selection changes | -| **onBlur** | `() => void` | No | Handler for blur events | -| **options** | [ComboBoxOption](#comboboxoption)[] | Yes | Array of options to display in the dropdown | -| **value** | `string` | No | Currently selected value | -| **inputRef** | `Ref` | No | React ref for the combo box input element | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | -| **placeholder** | `string` | No | - | +| Prop | Type | Required | Description | +| --------------------------- | ----------------------------------- | -------- | ---------------------------------------------------------------------- | +| **isDisabled** | `boolean` | No | Disables the combo box and prevents interaction | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **label** | `string` | Yes | Label text for the combo box field | +| **onChange** | `(value: string) => void` | No | Callback when selection changes | +| **onBlur** | `() => void` | No | Handler for blur events | +| **options** | [ComboBoxOption](#comboboxoption)[] | Yes | Array of options to display in the dropdown | +| **value** | `string` | No | Currently selected value | +| **inputRef** | `Ref` | No | React ref for the combo box input element | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | +| **placeholder** | `string` | No | - | ### ComboBoxOption -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **label** | `string` | Yes | Display text for the option | -| **value** | `string` | Yes | Value of the option that will be passed to onChange | +| Prop | Type | Required | Description | +| --------- | -------- | -------- | --------------------------------------------------- | +| **label** | `string` | Yes | Display text for the option | +| **value** | `string` | Yes | Value of the option that will be passed to onChange | ## DatePickerProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **inputRef** | `Ref` | No | React ref for the date input element | -| **isDisabled** | `boolean` | No | Disables the date picker and prevents interaction | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **onChange** | `(value: Date \| null) => void` | No | Callback when selected date changes | -| **onBlur** | `() => void` | No | Handler for blur events | -| **label** | `string` | Yes | Label text for the date picker field | -| **value** | `null \| Date` | No | Currently selected date value | -| **placeholder** | `string` | No | Placeholder text when no date is selected | -| **portalContainer** | `HTMLElement` | No | Element to use as the portal container | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | +| Prop | Type | Required | Description | +| --------------------------- | ------------------------------- | -------- | ---------------------------------------------------------------------- | +| **inputRef** | `Ref` | No | React ref for the date input element | +| **isDisabled** | `boolean` | No | Disables the date picker and prevents interaction | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **onChange** | `(value: Date \| null) => void` | No | Callback when selected date changes | +| **onBlur** | `() => void` | No | Handler for blur events | +| **label** | `string` | Yes | Label text for the date picker field | +| **value** | `null \| Date` | No | Currently selected date value | +| **placeholder** | `string` | No | Placeholder text when no date is selected | +| **portalContainer** | `HTMLElement` | No | Element to use as the portal container | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | ## DescriptionListProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **items** | [DescriptionListItem](#descriptionlistitem)[] | Yes | - | -| **className** | `string` | No | - | +| Prop | Type | Required | Description | +| ------------- | --------------------------------------------- | -------- | ----------- | +| **items** | [DescriptionListItem](#descriptionlistitem)[] | Yes | - | +| **className** | `string` | No | - | ### DescriptionListItem -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **term** | `React.ReactNode \| React.ReactNode[]` | Yes | - | -| **description** | `React.ReactNode \| React.ReactNode[]` | Yes | - | +| Prop | Type | Required | Description | +| --------------- | -------------------------------------- | -------- | ----------- | +| **term** | `React.ReactNode \| React.ReactNode[]` | Yes | - | +| **description** | `React.ReactNode \| React.ReactNode[]` | Yes | - | ## DialogProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **isOpen** | `boolean` | No | Controls whether the dialog is open or closed | -| **onClose** | `() => void` | No | Callback function called when the dialog should be closed | -| **onPrimaryActionClick** | `() => void` | No | Callback function called when the primary action button is clicked | -| **isDestructive** | `boolean` | No | Whether the primary action is destructive (changes button style to error variant) | -| **isPrimaryActionLoading** | `boolean` | No | Whether the primary action button is in loading state | -| **primaryActionLabel** | `string` | Yes | Text label for the primary action button | -| **closeActionLabel** | `string` | Yes | Text label for the close/cancel action button | -| **title** | `React.ReactNode` | No | Optional title content to be displayed at the top of the dialog | -| **children** | `React.ReactNode` | No | Optional children content to be rendered in the dialog body | -| **shouldCloseOnBackdropClick** | `boolean` | No | Whether clicking the backdrop should close the dialog | +| Prop | Type | Required | Description | +| ------------------------------ | ----------------- | -------- | --------------------------------------------------------------------------------- | +| **isOpen** | `boolean` | No | Controls whether the dialog is open or closed | +| **onClose** | `() => void` | No | Callback function called when the dialog should be closed | +| **onPrimaryActionClick** | `() => void` | No | Callback function called when the primary action button is clicked | +| **isDestructive** | `boolean` | No | Whether the primary action is destructive (changes button style to error variant) | +| **isPrimaryActionLoading** | `boolean` | No | Whether the primary action button is in loading state | +| **primaryActionLabel** | `string` | Yes | Text label for the primary action button | +| **closeActionLabel** | `string` | Yes | Text label for the close/cancel action button | +| **title** | `React.ReactNode` | No | Optional title content to be displayed at the top of the dialog | +| **children** | `React.ReactNode` | No | Optional children content to be rendered in the dialog body | +| **shouldCloseOnBackdropClick** | `boolean` | No | Whether clicking the backdrop should close the dialog | ## HeadingProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **as** | `"h1" \| "h2" \| "h3" \| "h4" \| "h5" \| "h6"` | Yes | The HTML heading element to render (h1-h6) | -| **styledAs** | `"h1" \| "h2" \| "h3" \| "h4" \| "h5" \| "h6"` | No | Optional visual style to apply, independent of the semantic heading level | -| **textAlign** | `"start" \| "center" \| "end"` | No | Text alignment within the heading | -| **children** | `React.ReactNode` | No | Content to be displayed inside the heading | -| **className** | `string` | No | - | +| Prop | Type | Required | Description | +| ------------- | ---------------------------------------------- | -------- | ------------------------------------------------------------------------- | +| **as** | `"h1" \| "h2" \| "h3" \| "h4" \| "h5" \| "h6"` | Yes | The HTML heading element to render (h1-h6) | +| **styledAs** | `"h1" \| "h2" \| "h3" \| "h4" \| "h5" \| "h6"` | No | Optional visual style to apply, independent of the semantic heading level | +| **textAlign** | `"start" \| "center" \| "end"` | No | Text alignment within the heading | +| **children** | `React.ReactNode` | No | Content to be displayed inside the heading | +| **className** | `string` | No | - | ## LinkProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **href** | `string` | No | - | -| **target** | `"_self" \| "_blank" \| "_parent" \| "_top" \| string` | No | - | -| **rel** | `string` | No | - | -| **download** | `any` | No | - | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **onKeyDown** | `React.KeyboardEventHandler` | No | - | -| **onKeyUp** | `React.KeyboardEventHandler` | No | - | -| **aria-label** | `string` | No | Defines a string value that labels the current element. | -| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | -| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | -| **title** | `string` | No | - | -| **children** | `React.ReactNode` | No | Content to be displayed inside the link | +| Prop | Type | Required | Description | +| -------------------- | ------------------------------------------------------ | -------- | --------------------------------------------------------------------- | +| **href** | `string` | No | - | +| **target** | `"_self" \| "_blank" \| "_parent" \| "_top" \| string` | No | - | +| **rel** | `string` | No | - | +| **download** | `any` | No | - | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **onKeyDown** | `React.KeyboardEventHandler` | No | - | +| **onKeyUp** | `React.KeyboardEventHandler` | No | - | +| **aria-label** | `string` | No | Defines a string value that labels the current element. | +| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | +| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | +| **title** | `string` | No | - | +| **children** | `React.ReactNode` | No | Content to be displayed inside the link | ## LoadingSpinnerProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **size** | `"lg" \| "sm"` | No | Size of the spinner | -| **style** | `"inline" \| "block"` | No | Display style of the spinner | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **aria-label** | `string` | No | Defines a string value that labels the current element. | +| Prop | Type | Required | Description | +| -------------- | --------------------- | -------- | ------------------------------------------------------- | +| **size** | `"lg" \| "sm"` | No | Size of the spinner | +| **style** | `"inline" \| "block"` | No | Display style of the spinner | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **aria-label** | `string` | No | Defines a string value that labels the current element. | ## MenuProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **triggerRef** | `RefObject` | No | Reference to the element that triggers the menu | -| **items** | [MenuItem](#menuitem)[] | No | Array of menu items to display | -| **isOpen** | `boolean` | No | Controls whether the menu is currently open | -| **onClose** | `() => void` | No | Callback when the menu is closed | -| **aria-label** | `string` | Yes | Accessible label describing the menu's purpose | +| Prop | Type | Required | Description | +| -------------- | ----------------------- | -------- | ----------------------------------------------- | +| **triggerRef** | `RefObject` | No | Reference to the element that triggers the menu | +| **items** | [MenuItem](#menuitem)[] | No | Array of menu items to display | +| **isOpen** | `boolean` | No | Controls whether the menu is currently open | +| **onClose** | `() => void` | No | Callback when the menu is closed | +| **aria-label** | `string` | Yes | Accessible label describing the menu's purpose | ### MenuItem -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **label** | `string` | Yes | Text label for the menu item | -| **icon** | `React.ReactNode` | No | Optional icon to display before the label | -| **onClick** | `() => void` | Yes | Callback function when the menu item is clicked | -| **isDisabled** | `boolean` | No | Disables the menu item and prevents interaction | -| **href** | `string` | No | Optional URL to navigate to when clicked | +| Prop | Type | Required | Description | +| -------------- | ----------------- | -------- | ----------------------------------------------- | +| **label** | `string` | Yes | Text label for the menu item | +| **icon** | `React.ReactNode` | No | Optional icon to display before the label | +| **onClick** | `() => void` | Yes | Callback function when the menu item is clicked | +| **isDisabled** | `boolean` | No | Disables the menu item and prevents interaction | +| **href** | `string` | No | Optional URL to navigate to when clicked | ## ModalProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **isOpen** | `boolean` | No | Controls whether the modal is open or closed | -| **onClose** | `() => void` | No | Callback function called when the modal should be closed | -| **shouldCloseOnBackdropClick** | `boolean` | No | Whether clicking the backdrop should close the modal | -| **children** | `React.ReactNode` | No | Main content to be rendered in the modal body | -| **footer** | `React.ReactNode` | No | Footer content to be rendered at the bottom of the modal | -| **containerRef** | `RefObject` | No | Optional ref to the backdrop container | +| Prop | Type | Required | Description | +| ------------------------------ | ----------------- | -------- | -------------------------------------------------------- | +| **isOpen** | `boolean` | No | Controls whether the modal is open or closed | +| **onClose** | `() => void` | No | Callback function called when the modal should be closed | +| **shouldCloseOnBackdropClick** | `boolean` | No | Whether clicking the backdrop should close the modal | +| **children** | `React.ReactNode` | No | Main content to be rendered in the modal body | +| **footer** | `React.ReactNode` | No | Footer content to be rendered at the bottom of the modal | +| **containerRef** | `RefObject` | No | Optional ref to the backdrop container | ## NumberInputProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **format** | `"currency" \| "decimal" \| "percent"` | No | Format type for the number input | -| **inputRef** | `Ref` | No | React ref for the number input element | -| **value** | `number` | No | Current value of the number input | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **isDisabled** | `boolean` | No | Disables the number input and prevents interaction | -| **onChange** | `(value: number) => void` | No | Callback when number input value changes | -| **onBlur** | `() => void` | No | Handler for blur events | -| **adornmentStart** | `React.ReactNode` | No | Element to display at the start of the input | -| **adornmentEnd** | `React.ReactNode` | No | Element to display at the end of the input | -| **minimumFractionDigits** | `number` | No | Minimum number of decimal places to display | -| **maximumFractionDigits** | `number` | No | Maximum number of decimal places to display | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **label** | `React.ReactNode` | Yes | Label text for the field | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | -| **placeholder** | `string` | No | - | -| **min** | `string \| number` | No | - | -| **max** | `string \| number` | No | - | +| Prop | Type | Required | Description | +| --------------------------- | -------------------------------------- | -------- | ---------------------------------------------------------------------- | +| **format** | `"currency" \| "decimal" \| "percent"` | No | Format type for the number input | +| **inputRef** | `Ref` | No | React ref for the number input element | +| **value** | `number` | No | Current value of the number input | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **isDisabled** | `boolean` | No | Disables the number input and prevents interaction | +| **onChange** | `(value: number) => void` | No | Callback when number input value changes | +| **onBlur** | `() => void` | No | Handler for blur events | +| **adornmentStart** | `React.ReactNode` | No | Element to display at the start of the input | +| **adornmentEnd** | `React.ReactNode` | No | Element to display at the end of the input | +| **minimumFractionDigits** | `number` | No | Minimum number of decimal places to display | +| **maximumFractionDigits** | `number` | No | Maximum number of decimal places to display | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **label** | `React.ReactNode` | Yes | Label text for the field | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | +| **placeholder** | `string` | No | - | +| **min** | `string \| number` | No | - | +| **max** | `string \| number` | No | - | ## OrderedListProps @@ -398,17 +398,17 @@ The props for this component are defined in [BaseListProps](#baselistprops). ## PaginationControlProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **handleFirstPage** | `() => void` | Yes | - | -| **handlePreviousPage** | `() => void` | Yes | - | -| **handleNextPage** | `() => void` | Yes | - | -| **handleLastPage** | `() => void` | Yes | - | -| **handleItemsPerPageChange** | `(n: [PaginationItemsPerPage](#paginationitemsperpage)) => void` | Yes | - | -| **currentPage** | `number` | Yes | - | -| **totalPages** | `number` | Yes | - | -| **itemsPerPage** | `5 \| 10 \| 50` | No | - | -| **isFetching** | `boolean` | No | - | +| Prop | Type | Required | Description | +| ---------------------------- | ---------------------------------------------------------------- | -------- | ----------- | +| **handleFirstPage** | `() => void` | Yes | - | +| **handlePreviousPage** | `() => void` | Yes | - | +| **handleNextPage** | `() => void` | Yes | - | +| **handleLastPage** | `() => void` | Yes | - | +| **handleItemsPerPageChange** | `(n: [PaginationItemsPerPage](#paginationitemsperpage)) => void` | Yes | - | +| **currentPage** | `number` | Yes | - | +| **totalPages** | `number` | Yes | - | +| **itemsPerPage** | `5 \| 10 \| 50` | No | - | +| **isFetching** | `boolean` | No | - | ### PaginationItemsPerPage @@ -418,219 +418,219 @@ type PaginationItemsPerPage = 5 | 10 | 50 ## ProgressBarProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **totalSteps** | `number` | Yes | Total number of steps in the progress sequence | -| **currentStep** | `number` | Yes | Current step in the progress sequence | -| **className** | `string` | No | Additional CSS class name for the progress bar container | -| **label** | `string` | Yes | Accessible label describing the progress bar's purpose | -| **cta** | `React.ComponentType \| null` | No | Component to render as the progress bar's CTA | +| Prop | Type | Required | Description | +| --------------- | ----------------------------- | -------- | -------------------------------------------------------- | +| **totalSteps** | `number` | Yes | Total number of steps in the progress sequence | +| **currentStep** | `number` | Yes | Current step in the progress sequence | +| **className** | `string` | No | Additional CSS class name for the progress bar container | +| **label** | `string` | Yes | Accessible label describing the progress bar's purpose | +| **cta** | `React.ComponentType \| null` | No | Component to render as the progress bar's CTA | ## RadioGroupProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **isDisabled** | `boolean` | No | Disables all radio options in the group | -| **options** | [RadioGroupOption](#radiogroupoption)[] | Yes | Array of radio options to display | -| **value** | `string` | No | Currently selected value | -| **defaultValue** | `string` | No | Initially selected value | -| **onChange** | `(value: string) => void` | No | Callback when selection changes | -| **inputRef** | `Ref` | No | React ref for the first radio input element | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **label** | `React.ReactNode` | Yes | Label text for the field | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | +| Prop | Type | Required | Description | +| --------------------------- | --------------------------------------- | -------- | ---------------------------------------------------------------------- | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **isDisabled** | `boolean` | No | Disables all radio options in the group | +| **options** | [RadioGroupOption](#radiogroupoption)[] | Yes | Array of radio options to display | +| **value** | `string` | No | Currently selected value | +| **defaultValue** | `string` | No | Initially selected value | +| **onChange** | `(value: string) => void` | No | Callback when selection changes | +| **inputRef** | `Ref` | No | React ref for the first radio input element | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **label** | `React.ReactNode` | Yes | Label text for the field | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | ### RadioGroupOption -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **label** | `React.ReactNode` | Yes | Label text or content for the radio option | -| **value** | `string` | Yes | Value of the option that will be passed to onChange | -| **isDisabled** | `boolean` | No | Disables this specific radio option | -| **description** | `React.ReactNode` | No | Optional description text for the radio option | +| Prop | Type | Required | Description | +| --------------- | ----------------- | -------- | --------------------------------------------------- | +| **label** | `React.ReactNode` | Yes | Label text or content for the radio option | +| **value** | `string` | Yes | Value of the option that will be passed to onChange | +| **isDisabled** | `boolean` | No | Disables this specific radio option | +| **description** | `React.ReactNode` | No | Optional description text for the radio option | ## RadioProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **value** | `boolean` | No | Current checked state of the radio button | -| **onChange** | `(checked: boolean) => void` | No | Callback when radio button state changes | -| **inputRef** | `Ref` | No | React ref for the radio input element | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **isDisabled** | `boolean` | No | Disables the radio button and prevents interaction | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **label** | `React.ReactNode` | Yes | Label text for the field | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | -| **onBlur** | `React.FocusEventHandler` | No | - | +| Prop | Type | Required | Description | +| --------------------------- | ------------------------------------------- | -------- | ---------------------------------------------------------------------- | +| **value** | `boolean` | No | Current checked state of the radio button | +| **onChange** | `(checked: boolean) => void` | No | Callback when radio button state changes | +| **inputRef** | `Ref` | No | React ref for the radio input element | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **isDisabled** | `boolean` | No | Disables the radio button and prevents interaction | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **label** | `React.ReactNode` | Yes | Label text for the field | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | +| **onBlur** | `React.FocusEventHandler` | No | - | ## SelectProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **isDisabled** | `boolean` | No | Disables the select and prevents interaction | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **label** | `string` | Yes | Label text for the select field | -| **onChange** | `(value: string) => void` | No | Callback when selection changes | -| **onBlur** | `() => void` | No | Handler for blur events | -| **options** | [SelectOption](#selectoption)[] | Yes | Array of options to display in the select dropdown | -| **placeholder** | `string` | No | Placeholder text when no option is selected | -| **value** | `string` | No | Currently selected value | -| **inputRef** | `Ref` | No | React ref for the select button element | -| **portalContainer** | `HTMLElement` | No | Element to use as the portal container | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | +| Prop | Type | Required | Description | +| --------------------------- | -------------------------------- | -------- | ---------------------------------------------------------------------- | +| **isDisabled** | `boolean` | No | Disables the select and prevents interaction | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **label** | `string` | Yes | Label text for the select field | +| **onChange** | `(value: string) => void` | No | Callback when selection changes | +| **onBlur** | `() => void` | No | Handler for blur events | +| **options** | [SelectOption](#selectoption)[] | Yes | Array of options to display in the select dropdown | +| **placeholder** | `string` | No | Placeholder text when no option is selected | +| **value** | `string` | No | Currently selected value | +| **inputRef** | `Ref` | No | React ref for the select button element | +| **portalContainer** | `HTMLElement` | No | Element to use as the portal container | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | ### SelectOption -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **value** | `string` | Yes | Value of the option that will be passed to onChange | -| **label** | `string` | Yes | Display text for the option | +| Prop | Type | Required | Description | +| --------- | -------- | -------- | --------------------------------------------------- | +| **value** | `string` | Yes | Value of the option that will be passed to onChange | +| **label** | `string` | Yes | Display text for the option | ## SwitchProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **onBlur** | `() => void` | No | Handler for blur events | -| **onChange** | `(checked: boolean) => void` | No | Callback when switch state changes | -| **value** | `boolean` | No | Current checked state of the switch | -| **inputRef** | `Ref` | No | React ref for the switch input element | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **isDisabled** | `boolean` | No | Disables the switch and prevents interaction | -| **className** | `string` | No | Additional CSS class name for the switch container | -| **label** | `string` | Yes | Label text for the switch | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **id** | `string` | No | - | -| **name** | `string` | No | - | +| Prop | Type | Required | Description | +| --------------------------- | ------------------------------- | -------- | ---------------------------------------------------------------------- | +| **onBlur** | `() => void` | No | Handler for blur events | +| **onChange** | `(checked: boolean) => void` | No | Callback when switch state changes | +| **value** | `boolean` | No | Current checked state of the switch | +| **inputRef** | `Ref` | No | React ref for the switch input element | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **isDisabled** | `boolean` | No | Disables the switch and prevents interaction | +| **className** | `string` | No | Additional CSS class name for the switch container | +| **label** | `string` | Yes | Label text for the switch | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **id** | `string` | No | - | +| **name** | `string` | No | - | ## TableProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **headers** | [TableData](#tabledata)[] | Yes | Array of header cells for the table | -| **rows** | [TableRow](#tablerow)[] | Yes | Array of rows to be displayed in the table | -| **footer** | [TableData](#tabledata)[] | No | Array of footer cells for the table | -| **emptyState** | `React.ReactNode` | No | Content to display when the table has no rows | -| **variant** | `"default" \| "minimal"` | No | Visual style variant of the table | -| **hasCheckboxColumn** | `boolean` | No | Whether the first column contains checkboxes (affects which column gets leading variant) | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **aria-label** | `string` | No | Defines a string value that labels the current element. | -| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | -| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | -| **role** | `"form" \| "button" \| "alert" \| "alertdialog" \| "application" \| "article" \| "banner" \| "cell" \| "checkbox" \| "columnheader" \| "combobox" \| "complementary" \| "contentinfo" \| "definition" \| "dialog" \| "directory" \| "document" \| "feed" \| "figure" \| "grid" \| "gridcell" \| "group" \| "heading" \| "img" \| "link" \| "list" \| "listbox" \| "listitem" \| "log" \| "main" \| "marquee" \| "math" \| "menu" \| "menubar" \| "menuitem" \| "menuitemcheckbox" \| "menuitemradio" \| "navigation" \| "none" \| "note" \| "option" \| "presentation" \| "progressbar" \| "radio" \| "radiogroup" \| "region" \| "row" \| "rowgroup" \| "rowheader" \| "scrollbar" \| "search" \| "searchbox" \| "separator" \| "slider" \| "spinbutton" \| "status" \| "switch" \| "tab" \| "table" \| "tablist" \| "tabpanel" \| "term" \| "textbox" \| "timer" \| "toolbar" \| "tooltip" \| "tree" \| "treegrid" \| "treeitem" \| string` | No | - | +| Prop | Type | Required | Description | +| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------------- | +| **headers** | [TableData](#tabledata)[] | Yes | Array of header cells for the table | +| **rows** | [TableRow](#tablerow)[] | Yes | Array of rows to be displayed in the table | +| **footer** | [TableData](#tabledata)[] | No | Array of footer cells for the table | +| **emptyState** | `React.ReactNode` | No | Content to display when the table has no rows | +| **variant** | `"default" \| "minimal"` | No | Visual style variant of the table | +| **hasCheckboxColumn** | `boolean` | No | Whether the first column contains checkboxes (affects which column gets leading variant) | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **aria-label** | `string` | No | Defines a string value that labels the current element. | +| **aria-labelledby** | `string` | No | Identifies the element (or elements) that labels the current element. | +| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | +| **role** | `"form" \| "button" \| "alert" \| "alertdialog" \| "application" \| "article" \| "banner" \| "cell" \| "checkbox" \| "columnheader" \| "combobox" \| "complementary" \| "contentinfo" \| "definition" \| "dialog" \| "directory" \| "document" \| "feed" \| "figure" \| "grid" \| "gridcell" \| "group" \| "heading" \| "img" \| "link" \| "list" \| "listbox" \| "listitem" \| "log" \| "main" \| "marquee" \| "math" \| "menu" \| "menubar" \| "menuitem" \| "menuitemcheckbox" \| "menuitemradio" \| "navigation" \| "none" \| "note" \| "option" \| "presentation" \| "progressbar" \| "radio" \| "radiogroup" \| "region" \| "row" \| "rowgroup" \| "rowheader" \| "scrollbar" \| "search" \| "searchbox" \| "separator" \| "slider" \| "spinbutton" \| "status" \| "switch" \| "tab" \| "table" \| "tablist" \| "tabpanel" \| "term" \| "textbox" \| "timer" \| "toolbar" \| "tooltip" \| "tree" \| "treegrid" \| "treeitem" \| string` | No | - | ### TableData -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **key** | `string` | Yes | Unique identifier for the table cell | -| **content** | `React.ReactNode` | Yes | Content to be displayed in the table cell | +| Prop | Type | Required | Description | +| ----------- | ----------------- | -------- | ----------------------------------------- | +| **key** | `string` | Yes | Unique identifier for the table cell | +| **content** | `React.ReactNode` | Yes | Content to be displayed in the table cell | ### TableRow -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **key** | `string` | Yes | Unique identifier for the table row | -| **data** | [TableData](#tabledata)[] | Yes | Array of cells to be displayed in the row | +| Prop | Type | Required | Description | +| -------- | ------------------------- | -------- | ----------------------------------------- | +| **key** | `string` | Yes | Unique identifier for the table row | +| **data** | [TableData](#tabledata)[] | Yes | Array of cells to be displayed in the row | ## TabsProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **tabs** | [TabProps](#tabprops)[] | Yes | Array of tab configuration objects | -| **selectedId** | `string` | No | Currently selected tab id | -| **onSelectionChange** | `(id: string) => void` | Yes | Callback when tab selection changes | -| **aria-label** | `string` | No | Accessible label for the tabs | -| **aria-labelledby** | `string` | No | ID of element that labels the tabs | -| **className** | `string` | No | Additional CSS class name | +| Prop | Type | Required | Description | +| --------------------- | ----------------------- | -------- | ----------------------------------- | +| **tabs** | [TabProps](#tabprops)[] | Yes | Array of tab configuration objects | +| **selectedId** | `string` | No | Currently selected tab id | +| **onSelectionChange** | `(id: string) => void` | Yes | Callback when tab selection changes | +| **aria-label** | `string` | No | Accessible label for the tabs | +| **aria-labelledby** | `string` | No | ID of element that labels the tabs | +| **className** | `string` | No | Additional CSS class name | ### TabProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **id** | `string` | Yes | Unique identifier for the tab | -| **label** | `React.ReactNode` | Yes | Label to display in the tab button | -| **content** | `React.ReactNode` | Yes | Content to display in the tab panel | -| **isDisabled** | `boolean` | No | Whether the tab is disabled | +| Prop | Type | Required | Description | +| -------------- | ----------------- | -------- | ----------------------------------- | +| **id** | `string` | Yes | Unique identifier for the tab | +| **label** | `React.ReactNode` | Yes | Label to display in the tab button | +| **content** | `React.ReactNode` | Yes | Content to display in the tab panel | +| **isDisabled** | `boolean` | No | Whether the tab is disabled | ## TextAreaProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **inputRef** | `Ref` | No | React ref for the textarea element | -| **value** | `string` | No | Current value of the textarea | -| **onChange** | `(value: string) => void` | No | Callback when textarea value changes | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **isDisabled** | `boolean` | No | Disables the textarea and prevents interaction | -| **onBlur** | `() => void` | No | Handler for blur events | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **label** | `React.ReactNode` | Yes | Label text for the field | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | -| **placeholder** | `string` | No | - | -| **rows** | `number` | No | - | -| **cols** | `number` | No | - | -| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | +| Prop | Type | Required | Description | +| --------------------------- | ---------------------------------- | -------- | ---------------------------------------------------------------------- | +| **inputRef** | `Ref` | No | React ref for the textarea element | +| **value** | `string` | No | Current value of the textarea | +| **onChange** | `(value: string) => void` | No | Callback when textarea value changes | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **isDisabled** | `boolean` | No | Disables the textarea and prevents interaction | +| **onBlur** | `() => void` | No | Handler for blur events | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **label** | `React.ReactNode` | Yes | Label text for the field | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | +| **placeholder** | `string` | No | - | +| **rows** | `number` | No | - | +| **cols** | `number` | No | - | +| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | ## TextInputProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **inputRef** | `Ref` | No | React ref for the input element | -| **value** | `string` | No | Current value of the input | -| **onChange** | `(value: string) => void` | No | Callback when input value changes | -| **isInvalid** | `boolean` | No | Indicates that the field has an error | -| **isDisabled** | `boolean` | No | Disables the input and prevents interaction | -| **onBlur** | `() => void` | No | Handler for blur events | -| **adornmentStart** | `React.ReactNode` | No | Element to display at the start of the input | -| **adornmentEnd** | `React.ReactNode` | No | Element to display at the end of the input | -| **description** | `React.ReactNode` | No | Optional description text for the field | -| **errorMessage** | `string` | No | Error message to display when the field is invalid | -| **isRequired** | `boolean` | No | Indicates if the field is required | -| **label** | `React.ReactNode` | Yes | Label text for the field | -| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | -| **className** | `string` | No | - | -| **id** | `string` | No | - | -| **name** | `string` | No | - | -| **type** | `"number" \| "submit" \| "reset" \| "button" \| "checkbox" \| "radio" \| "search" \| "color" \| "date" \| "datetime-local" \| "email" \| "file" \| "hidden" \| "image" \| "month" \| "password" \| "range" \| "tel" \| "text" \| "time" \| "url" \| "week" \| string` | No | - | -| **placeholder** | `string` | No | - | -| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | +| Prop | Type | Required | Description | +| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------- | +| **inputRef** | `Ref` | No | React ref for the input element | +| **value** | `string` | No | Current value of the input | +| **onChange** | `(value: string) => void` | No | Callback when input value changes | +| **isInvalid** | `boolean` | No | Indicates that the field has an error | +| **isDisabled** | `boolean` | No | Disables the input and prevents interaction | +| **onBlur** | `() => void` | No | Handler for blur events | +| **adornmentStart** | `React.ReactNode` | No | Element to display at the start of the input | +| **adornmentEnd** | `React.ReactNode` | No | Element to display at the end of the input | +| **description** | `React.ReactNode` | No | Optional description text for the field | +| **errorMessage** | `string` | No | Error message to display when the field is invalid | +| **isRequired** | `boolean` | No | Indicates if the field is required | +| **label** | `React.ReactNode` | Yes | Label text for the field | +| **shouldVisuallyHideLabel** | `boolean` | No | Hides the label visually while keeping it accessible to screen readers | +| **className** | `string` | No | - | +| **id** | `string` | No | - | +| **name** | `string` | No | - | +| **type** | `"number" \| "submit" \| "reset" \| "button" \| "checkbox" \| "radio" \| "search" \| "color" \| "date" \| "datetime-local" \| "email" \| "file" \| "hidden" \| "image" \| "month" \| "password" \| "range" \| "tel" \| "text" \| "time" \| "url" \| "week" \| string` | No | - | +| **placeholder** | `string` | No | - | +| **aria-describedby** | `string` | No | Identifies the element (or elements) that describes the object. | ## TextProps -| Prop | Type | Required | Description | -|------|------|----------|-------------| -| **as** | `"p" \| "span" \| "div" \| "pre"` | No | HTML element to render the text as | -| **size** | `"lg" \| "sm" \| "xs" \| "md"` | No | Size variant of the text | -| **textAlign** | `"start" \| "center" \| "end"` | No | Text alignment within the container | -| **weight** | `"regular" \| "medium" \| "semibold" \| "bold"` | No | Font weight of the text | -| **children** | `React.ReactNode` | No | Content to be displayed | -| **variant** | `"supporting" \| "leading"` | No | Visual style variant of the text | -| **className** | `string` | No | - | -| **id** | `string` | No | - | +| Prop | Type | Required | Description | +| ------------- | ----------------------------------------------- | -------- | ----------------------------------- | +| **as** | `"p" \| "span" \| "div" \| "pre"` | No | HTML element to render the text as | +| **size** | `"lg" \| "sm" \| "xs" \| "md"` | No | Size variant of the text | +| **textAlign** | `"start" \| "center" \| "end"` | No | Text alignment within the container | +| **weight** | `"regular" \| "medium" \| "semibold" \| "bold"` | No | Font weight of the text | +| **children** | `React.ReactNode` | No | Content to be displayed | +| **variant** | `"supporting" \| "leading"` | No | Visual style variant of the text | +| **className** | `string` | No | - | +| **id** | `string` | No | - | ## UnorderedListProps -The props for this component are defined in [BaseListProps](#baselistprops). \ No newline at end of file +The props for this component are defined in [BaseListProps](#baselistprops). diff --git a/package-lock.json b/package-lock.json index 78efc36d5..d88b1c33f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -154,7 +154,6 @@ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -458,6 +457,7 @@ "integrity": "sha512-7e8SScMocHxcAb8YhtkbMhGG+EKLRIficb1F5sjvhSYsWTZGxvg4KIDp8kgxnV2PUJ3ddPe6J9QESjKvBWRDkg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@cacheable/utils": "^2.3.2", "@keyv/bigmap": "^1.3.0", @@ -471,6 +471,7 @@ "integrity": "sha512-KT01GjzV6AQD5+IYrcpoYLkCu1Jod3nau1Z7EsEuViO3TZGRacSbO9MfHmbJ1WaOXFtWLxPVj169cn2WNKPkIg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "hashery": "^1.2.0", "hookified": "^1.13.0" @@ -499,6 +500,7 @@ "integrity": "sha512-8kGE2P+HjfY8FglaOiW+y8qxcaQAfAhVML+i66XJR3YX5FtyDqn6Txctr3K2FrbxLKixRRYYBWMbuGciOhYNDg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "hashery": "^1.2.0", "keyv": "^5.5.4" @@ -510,6 +512,7 @@ "integrity": "sha512-FA5LmZVF1VziNc0bIdCSA1IoSVnDCqE8HJIZZv2/W8YmoAM50+tnUgJR/gQZwEeIMleuIOnRnHA/UaZRNeV4iQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@keyv/serialize": "^1.1.1" } @@ -859,7 +862,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" }, @@ -883,6 +885,7 @@ } ], "license": "MIT-0", + "peer": true, "engines": { "node": ">=18" } @@ -903,7 +906,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" } @@ -924,6 +926,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" }, @@ -948,6 +951,7 @@ } ], "license": "MIT-0", + "peer": true, "engines": { "node": ">=18" }, @@ -961,6 +965,7 @@ "integrity": "sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==", "dev": true, "license": "MIT", + "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/JounQin" @@ -2247,7 +2252,8 @@ "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz", "integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@ladle/react": { "version": "5.1.1", @@ -5820,6 +5826,7 @@ "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.90.12.tgz", "integrity": "sha512-T1/8t5DhV/SisWjDnaiU2drl6ySvsHj1bHBCWNXd+/T+Hh1cf6JodyEYMd5sgwm+b/mETT4EV3H+zCVczCU5hg==", "license": "MIT", + "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" @@ -5972,7 +5979,8 @@ "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/babel__core": { "version": "7.20.5", @@ -6229,7 +6237,6 @@ "integrity": "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~7.16.0" } @@ -6247,7 +6254,6 @@ "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "csstype": "^3.2.2" } @@ -6342,7 +6348,6 @@ "integrity": "sha512-6/cmF2piao+f6wSxUsJLZjck7OQsYyRtcOZS02k7XINSNlz93v6emM8WutDQSXnroG2xwYlEVHJI+cPA7CPM3Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.50.0", "@typescript-eslint/types": "8.50.0", @@ -6908,7 +6913,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -7157,6 +7161,7 @@ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -7323,6 +7328,7 @@ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -7503,7 +7509,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -7571,6 +7576,7 @@ "integrity": "sha512-yr+FSHWn1ZUou5LkULX/S+jhfgfnLbuKQjE40tyEd4fxGZVMbBL5ifno0J0OauykS8UiCSgHi+DV/YD+rjFxFg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@cacheable/memory": "^2.0.6", "@cacheable/utils": "^2.3.2", @@ -7585,6 +7591,7 @@ "integrity": "sha512-FA5LmZVF1VziNc0bIdCSA1IoSVnDCqE8HJIZZv2/W8YmoAM50+tnUgJR/gQZwEeIMleuIOnRnHA/UaZRNeV4iQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@keyv/serialize": "^1.1.1" } @@ -8069,7 +8076,8 @@ "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/colorette": { "version": "2.0.20", @@ -8260,7 +8268,6 @@ "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -8321,6 +8328,7 @@ "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12 || >=16" } @@ -8355,6 +8363,7 @@ "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "mdn-data": "2.12.2", "source-map-js": "^1.0.1" @@ -8376,6 +8385,7 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "cssesc": "bin/cssesc" }, @@ -8751,6 +8761,7 @@ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "path-type": "^4.0.0" }, @@ -8764,6 +8775,7 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -8812,7 +8824,8 @@ "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/dompurify": { "version": "3.3.1", @@ -9255,7 +9268,6 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -10024,6 +10036,7 @@ "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 4.9.1" } @@ -10487,6 +10500,7 @@ "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "global-prefix": "^3.0.0" }, @@ -10500,6 +10514,7 @@ "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", @@ -10514,7 +10529,8 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true, - "license": "ISC" + "license": "ISC", + "peer": true }, "node_modules/global-prefix/node_modules/which": { "version": "1.3.1", @@ -10522,6 +10538,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "isexe": "^2.0.0" }, @@ -10608,7 +10625,8 @@ "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/globrex": { "version": "0.1.2", @@ -10734,6 +10752,7 @@ "integrity": "sha512-fWltioiy5zsSAs9ouEnvhsVJeAXRybGCNNv0lvzpzNOSDbULXRy7ivFWwCCv4I5Am6kSo75hmbsCduOoc2/K4w==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "hookified": "^1.13.0" }, @@ -11044,7 +11063,8 @@ "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.14.0.tgz", "integrity": "sha512-pi1ynXIMFx/uIIwpWJ/5CEtOHLGtnUB0WhGeeYT+fKcQ+WCQbm3/rrkAXnpfph++PgepNqPdTC2WTj8A6k6zoQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/hosted-git-info": { "version": "2.8.9", @@ -11088,6 +11108,7 @@ "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" }, @@ -11210,7 +11231,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.4" }, @@ -11761,6 +11781,7 @@ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -12690,7 +12711,6 @@ "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", @@ -12886,6 +12906,7 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -12895,7 +12916,8 @@ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/koa": { "version": "2.16.3", @@ -13179,7 +13201,8 @@ "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash.uniq": { "version": "4.5.0", @@ -13272,6 +13295,7 @@ "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true, "license": "MIT", + "peer": true, "bin": { "lz-string": "bin/bin.js" } @@ -13354,6 +13378,7 @@ "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", "dev": true, "license": "MIT", + "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -13680,7 +13705,8 @@ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", "dev": true, - "license": "CC0-1.0" + "license": "CC0-1.0", + "peer": true }, "node_modules/media-typer": { "version": "0.3.0", @@ -14854,6 +14880,7 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -15602,7 +15629,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -15617,7 +15643,8 @@ "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/postcss-safe-parser": { "version": "7.0.1", @@ -15639,6 +15666,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18.0" }, @@ -15666,7 +15694,8 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/prelude-ls": { "version": "1.2.1", @@ -15700,6 +15729,7 @@ "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -15715,6 +15745,7 @@ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=10" }, @@ -15782,6 +15813,7 @@ "integrity": "sha512-kXuQdQTB6oN3KhI6V4acnBSZx8D2I4xzZvn9+wFLLFCoBNQY/sFnCW6c43OL7pOQ2HvGV4lnWIXNmgfp7cTWhQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "hookified": "^1.13.0" }, @@ -16021,7 +16053,6 @@ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.68.0.tgz", "integrity": "sha512-oNN3fjrZ/Xo40SWlHf1yCjlMK417JxoSJVUXQjGdvdRCU07NTFei1i1f8ApUAts+IVh14e4EdakeLEA+BEAs/Q==", "license": "MIT", - "peer": true, "engines": { "node": ">=18.0.0" }, @@ -16076,7 +16107,8 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/react-refresh": { "version": "0.17.0", @@ -16565,8 +16597,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/robot3/-/robot3-1.2.0.tgz", "integrity": "sha512-Xin8KHqCKrD9Rqk1ZzZQYjsb6S9DRggcfwBqnVPeM3DLtNCJLxWWTrPJDYm3E+ZiTO7H3VMdgyPSkIbuYnYP2Q==", - "license": "BSD-2-Clause", - "peer": true + "license": "BSD-2-Clause" }, "node_modules/rollup": { "version": "4.53.5", @@ -16574,7 +16605,6 @@ "integrity": "sha512-iTNAbFSlRpcHeeWu73ywU/8KuU/LZmNCSxp6fjQkJBD3ivUb8tpDrXhIxEzA05HlYMEwmtaUnb3RP+YNv162OQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -17152,7 +17182,8 @@ "version": "0.27.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/semver": { "version": "7.7.3", @@ -17991,14 +18022,16 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/stylelint/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/stylelint/node_modules/file-entry-cache": { "version": "11.1.1", @@ -18006,6 +18039,7 @@ "integrity": "sha512-TPVFSDE7q91Dlk1xpFLvFllf8r0HyOMOlnWy7Z2HBku5H3KhIeOGInexrIeg2D64DosVB/JXkrrk6N/7Wriq4A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "flat-cache": "^6.1.19" } @@ -18016,6 +18050,7 @@ "integrity": "sha512-l/K33newPTZMTGAnnzaiqSl6NnH7Namh8jBNjrgjprWxGmZUuxx/sJNIRaijOh3n7q7ESbhNZC+pvVZMFdeU4A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "cacheable": "^2.2.0", "flatted": "^3.3.3", @@ -18028,6 +18063,7 @@ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -18049,6 +18085,7 @@ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 4" } @@ -18059,6 +18096,7 @@ "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 4" } @@ -18069,6 +18107,7 @@ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -18079,6 +18118,7 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -18089,6 +18129,7 @@ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -18104,6 +18145,7 @@ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -18130,6 +18172,7 @@ "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -18165,7 +18208,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", - "dev": true + "dev": true, + "peer": true }, "node_modules/symbol-tree": { "version": "3.2.4", @@ -18203,6 +18247,7 @@ "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "ajv": "^8.0.1", "lodash.truncate": "^4.4.2", @@ -18220,6 +18265,7 @@ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -18236,6 +18282,7 @@ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -18248,14 +18295,16 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/table/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/table/node_modules/is-fullwidth-code-point": { "version": "3.0.0", @@ -18263,6 +18312,7 @@ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -18273,6 +18323,7 @@ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -18291,6 +18342,7 @@ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -18306,6 +18358,7 @@ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -18642,7 +18695,6 @@ "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "~0.27.0", "get-tsconfig": "^4.7.5" @@ -19041,7 +19093,8 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/validate-npm-package-license": { "version": "3.0.4", @@ -19122,7 +19175,6 @@ "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -19941,7 +19993,6 @@ "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/chai": "^5.2.2", "@vitest/expect": "3.2.4", @@ -20388,6 +20439,7 @@ "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^4.0.1" @@ -20599,7 +20651,6 @@ "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/src/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.tsx b/src/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.tsx index 595470eb4..f09085b10 100644 --- a/src/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.tsx +++ b/src/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.tsx @@ -64,7 +64,6 @@ function Root({ companyId, wireInId, onEvent }: ConfirmWireDetailsProps) { const [current, send] = useMachine(confirmWireDetailsMachineInstance) function handleEvent(type: EventType, data?: unknown) { - // eslint-disable-next-line @typescript-eslint/no-unsafe-call send({ type, payload: data }) if (type === payrollWireEvents.PAYROLL_WIRE_START_TRANSFER) {