import type { IPropertyPaneField } from '../propertyPaneField/IPropertyPaneField'; import type { DynamicDataProvider, DynamicProperty } from '@microsoft/sp-component-base'; import type { IDynamicDataWidgetEntry } from '../../propertyPaneDynamicData/dynamicDataWidgetEntry/IDynamicDataWidgetEntry'; import type { IDynamicDataSharedSourceFilters, IDynamicDataSharedPropertyFilters } from '../../propertyPaneDynamicData/IPropertyPaneDynamicDataFilters'; /** * Property pane dynamic field filters which is an intersection of both * source and property filters. * * @public */ export type IPropertyPaneDynamicFieldFilters = IDynamicDataSharedSourceFilters & IDynamicDataSharedPropertyFilters; /** * PropertyPaneDynamicField props. * @public */ export interface IPropertyPaneDynamicFieldProps { /** * User-friendly, localized label to identify the field. */ label: string; /** * User-friendly, localized label for the sources dropdown. * * default value - 'Connect to source' */ sourcesLabel?: string; /** * Filters for the property pane dynamic field. */ filters?: IPropertyPaneDynamicFieldFilters; /** * Indicates to what depth of property values are shown on the * property pane dynamic data widget. * * If not specified, then max of 2 levels of property value will be shown. * * @remarks * It takes following values - * - 0: Indicates that no property value will be shown i.e., the widget * will display only source and property for this field. * - 1: Indicates that a depth of one level of property value will be shown i.e., * the widget will display one level after the source and property for this field. * - 2: Indicates that a depth of two levels of property value will be shown i.e., * the widget will display two levels after the source and property for this field. */ propertyValueDepth?: number; } /** * @internal */ export interface IPropertyPaneDynamicFieldComponentBaseProps { /** * A unique key of the property pane group field, in which the widget is rendered. */ parentKey: string; /** * Dynamic field object. */ groupField: IPropertyPaneField; /** * Data provider of the component. */ dataProvider: DynamicDataProvider; /** * Callback when the dynamic data changes are applied for the field on the widget. */ onApplyClick: (targetProperty: string, dynamicProperty: DynamicProperty) => void; } /** * @internal */ export interface IPropertyPaneDynamicFieldComponentProps extends IPropertyPaneDynamicFieldComponentBaseProps { /** * Entry associated with the dynamic Field */ entry: IDynamicDataWidgetEntry; } //# sourceMappingURL=IPropertyPaneDynamicField.d.ts.map