import type { ControllerProps, FieldValues } from 'react-hook-form'; import type { FormatFieldProps } from '../../../elements/FormatField.js'; import { FormatField } from '../../../elements/FormatField.js'; import type { NucleusGroupProps } from './NucleusGroup.js'; import { NucleusGroup } from './NucleusGroup.js'; export type NucleusPreferenceField = Omit & { id: string | number; }; interface NucleusPreferencesProps< TFieldValues extends FieldValues = FieldValues, > extends NucleusGroupProps, Pick, 'control'> { fields: NucleusPreferenceField[]; nucleusTitle?: string; } export function NucleusPreferences(props: NucleusPreferencesProps) { const { nucleus, nucleusTitle = nucleus, fields, renderTop, renderBottom, control, } = props; return ( {fields.map((field) => { const { id, label, checkFieldName, formatFieldName, hideCheckField, hideFormatField, disableFormat, } = field; return ( ); })} ); }