refactor(forms): Enhance MultiSelect with controlled state and styling
This commit overhauls the `MultiSelect` component to improve its functionality, flexibility, and integration with form libraries. The component is now a controlled component, accepting a `value` prop and using the `onChange` handler to propagate updates. This allows for seamless integration with libraries like React Hook Form. Key changes include: - Added `value`, `disabled`, `active`, and `height` props for more granular control over the component's state and appearance. - Refactored styling logic to use the `cn` utility for cleaner conditional class management. - Simplified the internal JSX structure and SVGs for better readability and maintenance. - Updated the component's state management to correctly reflect the incoming `value` prop.
This commit is contained in:
@@ -22,7 +22,7 @@ export interface IContactPerson {
|
||||
|
||||
export interface ITags {
|
||||
keywords: string[];
|
||||
categories: string[];
|
||||
categories: any[];
|
||||
specializations: string[];
|
||||
certifications: string[];
|
||||
cpv_codes: string[];
|
||||
@@ -87,7 +87,7 @@ export const companySchema = z.object({
|
||||
.optional(),
|
||||
tags: z.object({
|
||||
keywords: z.array(z.string()).or(z.null()).optional(),
|
||||
categories: z.array(z.string()).or(z.null()).optional(),
|
||||
categories: z.array(z.any()).or(z.null()).optional(),
|
||||
specializations: z.array(z.string()).or(z.null()).optional(),
|
||||
certifications: z.array(z.string()).or(z.null()).optional(),
|
||||
cpv_codes: z.array(z.string()).or(z.null()).optional(),
|
||||
|
||||
Reference in New Issue
Block a user