/*! * 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 }