/// /*! * Copyright (c) Microsoft. All rights reserved. * Licensed under the MIT license. See LICENSE file in the project. */ import type { Field } from '@datashaper/schema'; import type { TableMetadata } from '@datashaper/tables'; import type { EnumDropdownProps } from '@essex/components'; import type { IDropdownStyles, ITextFieldProps, ITextFieldStyles } from '@fluentui/react'; import type { CodebookNameStyles } from './CodebookNameField/index.js'; import type { CodebookStatsStyles } from './CodebookStatsField/index.js'; import type { CodebookMappingStyles } from './MappingFields/index.js'; export interface CodebookStyles { root?: React.CSSProperties; mapping?: CodebookMappingStyles; name?: CodebookNameStyles; statsWrapper?: CodebookStatsStyles; displayName?: Partial; description?: Partial; units?: Partial; dataType?: Partial; dataNature?: Partial; } export interface CodebookPropsBase { field: Field; metadata?: TableMetadata; onChangeField?: (field: Field) => void; } export interface CodebookTextFieldProps extends CodebookPropsBase, ITextFieldProps { } export interface CodebookEnumDropdownFieldProps extends CodebookPropsBase, EnumDropdownProps { } export interface FieldHeights { get: (key: string) => number | undefined; set: (key: string, value: number) => void; updateAllMapping: (newFields: Field[]) => void; }