From dc677b6a54b1bfbab6ca64dedbef480b5f829cf8 Mon Sep 17 00:00:00 2001 From: Kevin Coughlin Date: Sat, 23 Mar 2019 16:49:20 -0700 Subject: [PATCH 1/8] Parameterize List item type --- .../src/components/List/List.tsx | 61 ++++++++++--------- .../src/components/List/List.types.ts | 28 ++++----- 2 files changed, 45 insertions(+), 44 deletions(-) diff --git a/packages/office-ui-fabric-react/src/components/List/List.tsx b/packages/office-ui-fabric-react/src/components/List/List.tsx index d93b443991e05..c09699fba061a 100644 --- a/packages/office-ui-fabric-react/src/components/List/List.tsx +++ b/packages/office-ui-fabric-react/src/components/List/List.tsx @@ -25,21 +25,21 @@ const DEFAULT_RENDERED_WINDOWS_AHEAD = 2; const PAGE_KEY_PREFIX = 'page-'; const SPACER_KEY_PREFIX = 'spacer-'; -export interface IListState { - pages?: IPage[]; +export interface IListState { + pages?: IPage[]; /** The last versionstamp for */ measureVersion?: number; isScrolling?: boolean; } -interface IPageCacheItem { - page: IPage; +interface IPageCacheItem { + page: IPage; pageElement?: JSX.Element; } -interface IPageCache { - [key: string]: IPageCacheItem; +interface IPageCache { + [key: string]: IPageCacheItem; } const EMPTY_RECT = { @@ -79,7 +79,7 @@ const _measureScrollRect = _measurePageRect; * or forcing an update change cause pages to shrink/grow. When these operations occur, we increment a measureVersion * number, which we associate with cached measurements and use to determine if a remeasure should occur. */ -export class List extends BaseComponent implements IList { +export class List extends BaseComponent, IListState> implements IList { public static defaultProps = { startIndex: 0, onRenderCell: (item: any, index: number, containsFocus: boolean) => <>{(item && item.name) || ''}, @@ -124,9 +124,9 @@ export class List extends BaseComponent implements IList private _measureVersion: number; private _scrollHeight: number; private _scrollTop: number; - private _pageCache: IPageCache; + private _pageCache: IPageCache; - constructor(props: IListProps) { + constructor(props: IListProps) { super(props); this.state = { @@ -304,7 +304,7 @@ export class List extends BaseComponent implements IList } } - public componentWillReceiveProps(newProps: IListProps): void { + public componentWillReceiveProps(newProps: IListProps): void { if ( newProps.items !== this.props.items || newProps.renderCount !== this.props.renderCount || @@ -321,7 +321,7 @@ export class List extends BaseComponent implements IList } } - public shouldComponentUpdate(newProps: IListProps, newState: IListState): boolean { + public shouldComponentUpdate(newProps: IListProps, newState: IListState): boolean { const { pages: oldPages } = this.state; const { pages: newPages } = newState; let shouldComponentUpdate = false; @@ -377,7 +377,7 @@ export class List extends BaseComponent implements IList ); } - private _shouldVirtualize(props: IListProps = this.props): boolean { + private _shouldVirtualize(props: IListProps = this.props): boolean { const { onShouldVirtualize } = props; return !onShouldVirtualize || onShouldVirtualize(props); } @@ -389,7 +389,7 @@ export class List extends BaseComponent implements IList this._pageCache = {}; } - private _renderPage(page: IPage): JSX.Element { + private _renderPage(page: IPage): JSX.Element { const { usePageCache } = this.props; let cachedPage; // if usePageCache is set and cached page element can be found, just return cached page @@ -430,7 +430,7 @@ export class List extends BaseComponent implements IList } /** Generate the style object for the page. */ - private _getPageStyle(page: IPage): React.StyleHTMLAttributes { + private _getPageStyle(page: IPage): React.StyleHTMLAttributes { const { getPageStyle } = this.props; return { @@ -443,7 +443,7 @@ export class List extends BaseComponent implements IList }; } - private _onRenderPage = (pageProps: IPageProps, defaultRender?: IRenderFunction): any => { + private _onRenderPage = (pageProps: IPageProps, defaultRender?: IRenderFunction>): any => { const { onRenderCell, role } = this.props; const { @@ -459,7 +459,7 @@ export class List extends BaseComponent implements IList const index = startIndex + i; const item = items[i]; - let itemKey = this.props.getKey ? this.props.getKey(item, index) : item && item.key; + let itemKey = this.props.getKey ? this.props.getKey(item, index) : item && (item as any).key; if (itemKey === null || itemKey === undefined) { itemKey = index; @@ -559,7 +559,7 @@ export class List extends BaseComponent implements IList this.forceUpdate(); } - private _updatePages(props: IListProps = this.props): void { + private _updatePages(props: IListProps = this.props): void { // console.log('updating pages'); if (!this._requiredRect) { @@ -597,7 +597,7 @@ export class List extends BaseComponent implements IList // Notify the caller that rendering the new pages has completed if (props.onPagesUpdated) { - props.onPagesUpdated(this.state.pages as IPage[]); + props.onPagesUpdated(this.state.pages as IPage[]); } }); } @@ -608,12 +608,12 @@ export class List extends BaseComponent implements IList * @param newPages - The new pages * @param props - The props to use */ - private _notifyPageChanges(oldPages: IPage[], newPages: IPage[], props: IListProps = this.props): void { + private _notifyPageChanges(oldPages: IPage[], newPages: IPage[], props: IListProps = this.props): void { const { onPageAdded, onPageRemoved } = props; if (onPageAdded || onPageRemoved) { const renderedIndexes: { - [index: number]: IPage; + [index: number]: IPage; } = {}; for (const page of oldPages) { @@ -640,7 +640,7 @@ export class List extends BaseComponent implements IList } } - private _updatePageMeasurements(pages: IPage[]): boolean { + private _updatePageMeasurements(pages: IPage[]): boolean { let heightChanged = false; // when not in virtualize mode, we render all the items without page measurement @@ -663,7 +663,7 @@ export class List extends BaseComponent implements IList * Given a page, measure its dimensions, update cache. * @returns True if the height has changed. */ - private _measurePage(page: IPage): boolean { + private _measurePage(page: IPage): boolean { let hasChangedHeight = false; const pageElement = this.refs[page.key] as HTMLElement; const cachedHeight = this._cachedPageHeights[page.startIndex]; @@ -700,7 +700,7 @@ export class List extends BaseComponent implements IList } /** Called when a page has been added to the DOM. */ - private _onPageAdded(page: IPage): void { + private _onPageAdded(page: IPage): void { const { onPageAdded } = this.props; // console.log('page added', page.startIndex, this.state.pages.map(page => page.key).join(', ')); @@ -711,7 +711,7 @@ export class List extends BaseComponent implements IList } /** Called when a page has been removed from the DOM. */ - private _onPageRemoved(page: IPage): void { + private _onPageRemoved(page: IPage): void { const { onPageRemoved } = this.props; // console.log(' --- page removed', page.startIndex, this.state.pages.map(page => page.key).join(', ')); @@ -722,14 +722,14 @@ export class List extends BaseComponent implements IList } /** Build up the pages that should be rendered. */ - private _buildPages(props: IListProps): IListState { + private _buildPages(props: IListProps): IListState { let { renderCount } = props; const { items, startIndex, getPageHeight } = props; renderCount = this._getRenderCount(props); const materializedRect = { ...EMPTY_RECT }; - const pages: IPage[] = []; + const pages: IPage[] = []; let itemsPerPage = 1; let pageTop = 0; @@ -755,7 +755,8 @@ export class List extends BaseComponent implements IList const pageBottom = pageTop + pageHeight - 1; - const isPageRendered = findIndex(this.state.pages as IPage[], (page: IPage) => !!page.items && page.startIndex === itemIndex) > -1; + const isPageRendered = + findIndex(this.state.pages as IPage[], (page: IPage) => !!page.items && page.startIndex === itemIndex) > -1; const isPageInAllowedRange = !allowedRect || (pageBottom >= allowedRect.top && pageTop <= allowedRect.bottom!); const isPageInRequiredRange = !this._requiredRect || (pageBottom >= this._requiredRect.top && pageTop <= this._requiredRect.bottom!); const isPageVisible = (!isFirstRender && (isPageInRequiredRange || (isPageInAllowedRange && isPageRendered))) || !shouldVirtualize; @@ -883,7 +884,7 @@ export class List extends BaseComponent implements IList style: React.CSSProperties = {}, data?: any, isSpacer?: boolean - ): IPage { + ): IPage { pageKey = pageKey || PAGE_KEY_PREFIX + startIndex; const cachedPage = this._pageCache[pageKey]; if (cachedPage && cachedPage.page) { @@ -903,14 +904,14 @@ export class List extends BaseComponent implements IList }; } - private _getRenderCount(props?: IListProps): number { + private _getRenderCount(props?: IListProps): number { const { items, startIndex, renderCount } = props || this.props; return renderCount === undefined ? (items ? items.length - startIndex! : 0) : renderCount; } /** Calculate the visible rect within the list where top: 0 and left: 0 is the top/left of the list. */ - private _updateRenderRects(props?: IListProps, forceUpdate?: boolean): void { + private _updateRenderRects(props?: IListProps, forceUpdate?: boolean): void { props = props || this.props; const { renderedWindowsAhead, renderedWindowsBehind } = props; const { pages } = this.state; diff --git a/packages/office-ui-fabric-react/src/components/List/List.types.ts b/packages/office-ui-fabric-react/src/components/List/List.types.ts index 9b1a4244062a5..8d2f20f08c8c3 100644 --- a/packages/office-ui-fabric-react/src/components/List/List.types.ts +++ b/packages/office-ui-fabric-react/src/components/List/List.types.ts @@ -49,7 +49,7 @@ export interface IList { getStartItemIndexInView: () => number; } -export interface IListProps extends React.HTMLAttributes { +export interface IListProps extends React.HTMLAttributes | HTMLDivElement> { /** * Optional callback to access the IList interface. Use this instead of ref for accessing * the public methods and properties of the component. @@ -60,7 +60,7 @@ export interface IListProps extends React.HTMLAttributes className?: string; /** Items to render. */ - items?: any[]; + items?: T[]; /** * Method to call when trying to render an item. @@ -68,7 +68,7 @@ export interface IListProps extends React.HTMLAttributes * @param index - The index of the cell being rendered. * @param isScrolling - True if the list is being scrolled. May be useful for rendering a placeholder if your cells are complex. */ - onRenderCell?: (item?: any, index?: number, isScrolling?: boolean) => React.ReactNode; + onRenderCell?: (item?: T, index?: number, isScrolling?: boolean) => React.ReactNode; /** * Optional callback invoked when List rendering completed. @@ -78,16 +78,16 @@ export interface IListProps extends React.HTMLAttributes * To track individual page Add / Remove use onPageAdded / onPageRemoved instead. * @param pages - The current array of pages in the List. */ - onPagesUpdated?: (pages: IPage[]) => void; + onPagesUpdated?: (pages: IPage[]) => void; /** Optional callback for monitoring when a page is added. */ - onPageAdded?: (page: IPage) => void; + onPageAdded?: (page: IPage) => void; /** Optional callback for monitoring when a page is removed. */ - onPageRemoved?: (page: IPage) => void; + onPageRemoved?: (page: IPage) => void; /** Optional callback to get the item key, to be used on render. */ - getKey?: (item: any, index?: number) => string; + getKey?: (item: T, index?: number) => string; /** * Called by the list to get the specification for a page. @@ -116,7 +116,7 @@ export interface IListProps extends React.HTMLAttributes * Method called by the list to derive the page style object. For spacer pages, the list will derive * the height and passed in heights will be ignored. */ - getPageStyle?: (page: IPage) => any; + getPageStyle?: (page: IPage) => any; /** * In addition to the visible window, how many windowHeights should we render ahead. @@ -149,7 +149,7 @@ export interface IListProps extends React.HTMLAttributes * This benefits larger list scenarios by reducing the DOM on the screen, but can negatively affect performance for smaller lists. * The default implementation will virtualize when this callback is not provided. */ - onShouldVirtualize?: (props: IListProps) => boolean; + onShouldVirtualize?: (props: IListProps) => boolean; /** * The role to assign to the list root element. @@ -161,12 +161,12 @@ export interface IListProps extends React.HTMLAttributes * Called when the List will render a page. * Override this to control how cells are rendered within a page. */ - onRenderPage?: (pageProps: IPageProps, defaultRender?: IRenderFunction) => React.ReactNode; + onRenderPage?: (pageProps: IPageProps, defaultRender?: IRenderFunction>) => React.ReactNode; } -export interface IPage { +export interface IPage { key: string; - items: any[] | undefined; + items: T[] | undefined; startIndex: number; itemCount: number; style: React.CSSProperties; @@ -176,7 +176,7 @@ export interface IPage { isSpacer?: boolean; } -export interface IPageProps extends React.HTMLAttributes, React.ClassAttributes { +export interface IPageProps extends React.HTMLAttributes, React.ClassAttributes { /** * The role being assigned to the rendered page element by the list. */ @@ -184,7 +184,7 @@ export interface IPageProps extends React.HTMLAttributes, React. /** * The allocation data for the page. */ - page: IPage; + page: IPage; } export interface IPageSpecification { From 3bb4270999d375a5226cdd76e1e5b71987d2a42f Mon Sep 17 00:00:00 2001 From: Kevin Coughlin Date: Sat, 23 Mar 2019 16:56:27 -0700 Subject: [PATCH 2/8] Default List T to any for backwards compat --- packages/office-ui-fabric-react/src/components/List/List.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/office-ui-fabric-react/src/components/List/List.tsx b/packages/office-ui-fabric-react/src/components/List/List.tsx index c09699fba061a..a8d54c4d1b46d 100644 --- a/packages/office-ui-fabric-react/src/components/List/List.tsx +++ b/packages/office-ui-fabric-react/src/components/List/List.tsx @@ -25,7 +25,7 @@ const DEFAULT_RENDERED_WINDOWS_AHEAD = 2; const PAGE_KEY_PREFIX = 'page-'; const SPACER_KEY_PREFIX = 'spacer-'; -export interface IListState { +export interface IListState { pages?: IPage[]; /** The last versionstamp for */ @@ -79,7 +79,7 @@ const _measureScrollRect = _measurePageRect; * or forcing an update change cause pages to shrink/grow. When these operations occur, we increment a measureVersion * number, which we associate with cached measurements and use to determine if a remeasure should occur. */ -export class List extends BaseComponent, IListState> implements IList { +export class List extends BaseComponent, IListState> implements IList { public static defaultProps = { startIndex: 0, onRenderCell: (item: any, index: number, containsFocus: boolean) => <>{(item && item.name) || ''}, From 78a32a9bf54186c35056f89f19d3511aab97f883 Mon Sep 17 00:00:00 2001 From: Kevin Coughlin Date: Sat, 23 Mar 2019 16:57:34 -0700 Subject: [PATCH 3/8] Update API file --- .../etc/office-ui-fabric-react.api.ts | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/office-ui-fabric-react/etc/office-ui-fabric-react.api.ts b/packages/office-ui-fabric-react/etc/office-ui-fabric-react.api.ts index 79540b0a13853..2902af23cf533 100644 --- a/packages/office-ui-fabric-react/etc/office-ui-fabric-react.api.ts +++ b/packages/office-ui-fabric-react/etc/office-ui-fabric-react.api.ts @@ -8799,21 +8799,21 @@ interface IList { } // @public (undocumented) -interface IListProps extends React.HTMLAttributes { +interface IListProps extends React.HTMLAttributes | HTMLDivElement> { className?: string; componentRef?: IRefObject; getItemCountForPage?: (itemIndex?: number, visibleRect?: IRectangle) => number; - getKey?: (item: any, index?: number) => string; + getKey?: (item: T, index?: number) => string; getPageHeight?: (itemIndex?: number, visibleRect?: IRectangle) => number; getPageSpecification?: (itemIndex?: number, visibleRect?: IRectangle) => IPageSpecification; - getPageStyle?: (page: IPage) => any; - items?: any[]; - onPageAdded?: (page: IPage) => void; - onPageRemoved?: (page: IPage) => void; - onPagesUpdated?: (pages: IPage[]) => void; - onRenderCell?: (item?: any, index?: number, isScrolling?: boolean) => React.ReactNode; - onRenderPage?: (pageProps: IPageProps, defaultRender?: IRenderFunction) => React.ReactNode; - onShouldVirtualize?: (props: IListProps) => boolean; + getPageStyle?: (page: IPage) => any; + items?: T[]; + onPageAdded?: (page: IPage) => void; + onPageRemoved?: (page: IPage) => void; + onPagesUpdated?: (pages: IPage[]) => void; + onRenderCell?: (item?: T, index?: number, isScrolling?: boolean) => React.ReactNode; + onRenderPage?: (pageProps: IPageProps, defaultRender?: IRenderFunction>) => React.ReactNode; + onShouldVirtualize?: (props: IListProps) => boolean; renderCount?: number; renderedWindowsAhead?: number; renderedWindowsBehind?: number; @@ -8823,12 +8823,12 @@ interface IListProps extends React.HTMLAttributes { } // @public (undocumented) -interface IListState { +interface IListState { // (undocumented) isScrolling?: boolean; measureVersion?: number; // (undocumented) - pages?: IPage[]; + pages?: IPage[]; } // @public (undocumented) @@ -9213,7 +9213,7 @@ interface IOverlayStyles { } // @public (undocumented) -interface IPage { +interface IPage { // (undocumented) data?: any; // (undocumented) @@ -9223,7 +9223,7 @@ interface IPage { // (undocumented) itemCount: number; // (undocumented) - items: any[] | undefined; + items: T[] | undefined; // (undocumented) key: string; // (undocumented) @@ -9235,8 +9235,8 @@ interface IPage { } // @public (undocumented) -interface IPageProps extends React.HTMLAttributes, React.ClassAttributes { - page: IPage; +interface IPageProps extends React.HTMLAttributes, React.ClassAttributes { + page: IPage; role?: string; } @@ -11624,12 +11624,12 @@ class LinkBase extends BaseComponent, implements ILink { } // @public -class List extends BaseComponent, implements IList { - constructor(props: IListProps); +class List extends BaseComponent, IListState>, implements IList { + constructor(props: IListProps); // (undocumented) componentDidMount(): void; // (undocumented) - componentWillReceiveProps(newProps: IListProps): void; + componentWillReceiveProps(newProps: IListProps): void; // (undocumented) static defaultProps: { onRenderCell: (item: any, index: number, containsFocus: boolean) => JSX.Element; @@ -11649,7 +11649,7 @@ class List extends BaseComponent, implements IList { render(): JSX.Element; scrollToIndex(index: number, measureItem?: (itemIndex: number) => number, scrollToMode?: ScrollToMode): void; // (undocumented) - shouldComponentUpdate(newProps: IListProps, newState: IListState): boolean; + shouldComponentUpdate(newProps: IListProps, newState: IListState): boolean; } // @public From 1db099254854b1f775b6105c92d58653b759b326 Mon Sep 17 00:00:00 2001 From: Kevin Coughlin Date: Sat, 23 Mar 2019 16:59:38 -0700 Subject: [PATCH 4/8] Update ListScrollingExample typing --- .../src/components/List/examples/List.Scrolling.Example.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/office-ui-fabric-react/src/components/List/examples/List.Scrolling.Example.tsx b/packages/office-ui-fabric-react/src/components/List/examples/List.Scrolling.Example.tsx index 5e12175195f91..092673d973dcf 100644 --- a/packages/office-ui-fabric-react/src/components/List/examples/List.Scrolling.Example.tsx +++ b/packages/office-ui-fabric-react/src/components/List/examples/List.Scrolling.Example.tsx @@ -25,7 +25,7 @@ const oddItemHeight = 50; const numberOfItemsOnPage = 10; export class ListScrollingExample extends React.Component { - private _list: List; + private _list: List; constructor(props: IListScrollingExampleProps) { super(props); @@ -157,7 +157,7 @@ export class ListScrollingExample extends React.Component { + private _resolveList = (list: List): void => { this._list = list; }; From 3684a8968c01e42a3e201cbe1043c7ae8f39d852 Mon Sep 17 00:00:00 2001 From: Kevin Coughlin Date: Mon, 25 Mar 2019 14:25:57 -0700 Subject: [PATCH 5/8] Fix ToDoTabs typing List.onRenderCell --- apps/todo-app/src/components/TodoTabs.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/todo-app/src/components/TodoTabs.tsx b/apps/todo-app/src/components/TodoTabs.tsx index 66ce07a2a1e0c..1b97a7ef36a38 100644 --- a/apps/todo-app/src/components/TodoTabs.tsx +++ b/apps/todo-app/src/components/TodoTabs.tsx @@ -61,7 +61,10 @@ export default class TodoTabs extends React.Component { return ev.which === KeyCodes.right; }; - private _onRenderTodoItem(item: ITodoItem): React.ReactElement { - return ; + private _onRenderTodoItem(item?: ITodoItem): React.ReactElement | null { + if (item) { + return ; + } + return null; } } From 89259cb5de9b539ea7878b17fc99157d3c30d1a0 Mon Sep 17 00:00:00 2001 From: Kevin Coughlin Date: Mon, 25 Mar 2019 14:58:35 -0700 Subject: [PATCH 6/8] Add change file --- .../keco-make-list-generic_2019-03-25-21-58.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 common/changes/office-ui-fabric-react/keco-make-list-generic_2019-03-25-21-58.json diff --git a/common/changes/office-ui-fabric-react/keco-make-list-generic_2019-03-25-21-58.json b/common/changes/office-ui-fabric-react/keco-make-list-generic_2019-03-25-21-58.json new file mode 100644 index 0000000000000..a0232cba3f6e3 --- /dev/null +++ b/common/changes/office-ui-fabric-react/keco-make-list-generic_2019-03-25-21-58.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "office-ui-fabric-react", + "comment": "List: Parameterize generic T for item type with default type any", + "type": "minor" + } + ], + "packageName": "office-ui-fabric-react", + "email": "keco@microsoft.com" +} \ No newline at end of file From 6e33359df0d551c772396c0905cef7e8fd8a9ef6 Mon Sep 17 00:00:00 2001 From: Kevin Coughlin Date: Tue, 26 Mar 2019 15:04:17 -0700 Subject: [PATCH 7/8] Update API file --- .../etc/office-ui-fabric-react.api.md | 112 ++++-------------- 1 file changed, 22 insertions(+), 90 deletions(-) diff --git a/packages/office-ui-fabric-react/etc/office-ui-fabric-react.api.md b/packages/office-ui-fabric-react/etc/office-ui-fabric-react.api.md index c98313563c53e..ddb9453b88cf6 100644 --- a/packages/office-ui-fabric-react/etc/office-ui-fabric-react.api.md +++ b/packages/office-ui-fabric-react/etc/office-ui-fabric-react.api.md @@ -41,7 +41,6 @@ export class ActionButton extends BaseComponent { // @public (undocumented) export class ActivityItem extends BaseComponent { - // (undocumented) constructor(props: IActivityItemProps); // (undocumented) render(): JSX.Element; @@ -65,7 +64,6 @@ export class AnnouncedBase extends React.Component { // @public (undocumented) export class Autofill extends BaseComponent implements IAutofill { - // (undocumented) constructor(props: IAutofillProps); // (undocumented) clear(): void; @@ -101,7 +99,6 @@ export class BaseAutoFill extends Autofill { // @public (undocumented) export class BaseButton extends BaseComponent implements IButton { - // (undocumented) constructor(props: IBaseButtonProps, rootClassName: string); // (undocumented) componentDidMount(): void; @@ -125,7 +122,6 @@ export class BaseExtendedPeoplePicker extends BaseExtendedPicker> extends BaseComponent> implements IBaseExtendedPicker { - // (undocumented) constructor(basePickerProps: P); // (undocumented) protected canAddItems(): boolean; @@ -189,7 +185,6 @@ export class BaseFloatingPeoplePicker extends BaseFloatingPicker> extends BaseComponent implements IBaseFloatingPicker { - // (undocumented) constructor(basePickerProps: P); // (undocumented) completeSuggestion: () => void; @@ -263,7 +258,6 @@ export class BasePeopleSelectedItemsList extends BaseSelectedItemsList> extends BaseComponent implements IBasePicker { - // (undocumented) constructor(basePickerProps: P); // (undocumented) protected addItem: (item: T) => void; @@ -375,7 +369,6 @@ export class BasePickerListBelow> extends BaseP // @public (undocumented) export class BaseSelectedItemsList> extends BaseComponent> implements IBaseSelectedItemsList { - // (undocumented) constructor(basePickerProps: P); // (undocumented) addItems: (items: T[]) => void; @@ -439,7 +432,6 @@ export const Breadcrumb: React.StatelessComponent; // @public (undocumented) export class BreadcrumbBase extends BaseComponent { - // (undocumented) constructor(props: IBreadcrumbProps); // (undocumented) componentWillReceiveProps(nextProps: IBreadcrumbProps): void; @@ -455,7 +447,6 @@ export function buildColumns(items: any[], canResizeColumns?: boolean, onColumnC // @public @deprecated export class Button extends BaseComponent { - // (undocumented) constructor(props: IButtonProps); // (undocumented) render(): JSX.Element; @@ -482,7 +473,6 @@ export enum ButtonType { // @public (undocumented) export class Calendar extends BaseComponent implements ICalendar { - // (undocumented) constructor(props: ICalendarProps); // (undocumented) componentDidUpdate(): void; @@ -500,7 +490,6 @@ export class Calendar extends BaseComponent impl // // @public (undocumented) export class Callout extends BaseComponent { - // (undocumented) constructor(props: ICalloutProps); // (undocumented) render(): JSX.Element; @@ -551,7 +540,6 @@ export const ChoiceGroup: React_2.StatelessComponent; // @public (undocumented) export class ChoiceGroupBase extends BaseComponent implements IChoiceGroup { - // (undocumented) constructor(props: IChoiceGroupProps); readonly checkedOption: IChoiceGroupOption | undefined; // (undocumented) @@ -578,7 +566,6 @@ export const COACHMARK_ATTRIBUTE_NAME = "data-coachmarkid"; // @public (undocumented) export class CoachmarkBase extends BaseComponent implements ICoachmark { - // (undocumented) constructor(props: ICoachmarkProps); // (undocumented) componentDidMount(): void; @@ -609,7 +596,6 @@ export const ColorPicker: React_2.StatelessComponent; // @public (undocumented) export class ColorPickerBase extends BaseComponent implements IColorPicker { - // (undocumented) constructor(props: IColorPickerProps); // (undocumented) readonly color: IColor; @@ -654,7 +640,6 @@ export enum ColumnDragEndLocation { // @public (undocumented) export class ComboBox extends BaseComponent { - // (undocumented) constructor(props: IComboBoxProps); // (undocumented) componentDidMount(): void; @@ -667,6 +652,8 @@ export class ComboBox extends BaseComponent { // (undocumented) static defaultProps: IComboBoxProps; dismissMenu: () => void; + // Warning: (ae-unresolved-inheritdoc-base) The `@inheritDoc` tag needs a TSDoc declaration reference; signature matching is not supported yet + // // (undocumented) focus: (shouldOpenOnFocus?: boolean | undefined, useFocusAsync?: boolean | undefined) => void; // (undocumented) @@ -728,7 +715,6 @@ export const ContextualMenu: React_2.StatelessComponent; // @public (undocumented) export class ContextualMenuBase extends BaseComponent { - // (undocumented) constructor(props: IContextualMenuProps); // (undocumented) componentDidMount(): void; @@ -795,7 +781,6 @@ export const DatePicker: React_2.StatelessComponent; // @public (undocumented) export class DatePickerBase extends BaseComponent implements IDatePicker { - // (undocumented) constructor(props: IDatePickerProps); // (undocumented) componentDidUpdate(prevProps: IDatePickerProps, prevState: IDatePickerState): void; @@ -859,7 +844,6 @@ export const DetailsList: React_2.StatelessComponent; // @public (undocumented) export class DetailsListBase extends BaseComponent implements IDetailsList { - // (undocumented) constructor(props: IDetailsListProps); // (undocumented) componentDidUpdate(prevProps: IDetailsListProps, prevState: IDetailsListState): void; @@ -904,7 +888,6 @@ export const DetailsRow: React_2.StatelessComponent; // @public (undocumented) export class DetailsRowBase extends BaseComponent { - // (undocumented) constructor(props: IDetailsRowBaseProps); // (undocumented) componentDidMount(): void; @@ -933,7 +916,6 @@ export const Dialog: React_2.StatelessComponent; // @public (undocumented) export class DialogBase extends BaseComponent { - // (undocumented) constructor(props: IDialogProps); // (undocumented) static defaultProps: IDialogProps; @@ -946,7 +928,6 @@ export const DialogContent: React_2.StatelessComponent; // @public (undocumented) export class DialogContentBase extends BaseComponent { - // (undocumented) constructor(props: IDialogContentProps); // (undocumented) static defaultProps: IDialogContentProps; @@ -1032,7 +1013,6 @@ export const Dropdown: React_2.StatelessComponent; // @public (undocumented) export class DropdownBase extends BaseComponent { - // (undocumented) constructor(props: IDropdownProps); // (undocumented) componentDidUpdate(prevProps: IDropdownProps, prevState: IDropdownState): void; @@ -1061,7 +1041,6 @@ export const ExpandingCard: React_2.StatelessComponent; // @public (undocumented) export class ExpandingCardBase extends BaseComponent { - // (undocumented) constructor(props: IExpandingCardProps); // (undocumented) componentDidMount(): void; @@ -1089,7 +1068,6 @@ export class ExtendedPeoplePicker extends BaseExtendedPeoplePicker { // @public (undocumented) export class ExtendedSelectedItem extends BaseComponent { - // (undocumented) constructor(props: ISelectedPeopleItemProps); // (undocumented) protected persona: React.RefObject; @@ -1104,7 +1082,6 @@ export const Fabric: React_2.StatelessComponent; export class FabricBase extends BaseComponent { - // (undocumented) constructor(props: IFabricProps); // (undocumented) componentDidMount(): void; @@ -1165,7 +1142,6 @@ export const Facepile: React_2.StatelessComponent; // @public export class FacepileBase extends BaseComponent { - // (undocumented) constructor(props: IFacepileProps); // (undocumented) static defaultProps: IFacepileProps; @@ -1212,7 +1188,6 @@ export class FocusTrapZone extends BaseComponent implem // @public (undocumented) export class FocusZone extends React.Component implements IFocusZone { - // (undocumented) constructor(props: IFocusZoneProps); // (undocumented) componentDidMount(): void; @@ -1304,7 +1279,6 @@ export const GroupedList: React_2.StatelessComponent; // @public (undocumented) export class GroupedListBase extends BaseComponent implements IGroupedList { - // (undocumented) constructor(props: IGroupedListProps); // (undocumented) componentWillReceiveProps(newProps: IGroupedListProps): void; @@ -1354,7 +1328,6 @@ export const HoverCard: React_2.StatelessComponent; // @public (undocumented) export class HoverCardBase extends BaseComponent { - // (undocumented) constructor(props: IHoverCardProps); // (undocumented) componentDidMount(): void; @@ -2765,7 +2738,6 @@ export const Icon: React_2.StatelessComponent; // @public (undocumented) export class IconBase extends React.PureComponent { - // (undocumented) constructor(props: IIconProps); // (undocumented) render(): JSX.Element; @@ -4958,21 +4930,21 @@ export interface IList { } // @public (undocumented) -export interface IListProps extends React.HTMLAttributes { +export interface IListProps extends React.HTMLAttributes | HTMLDivElement> { className?: string; componentRef?: IRefObject; getItemCountForPage?: (itemIndex?: number, visibleRect?: IRectangle) => number; - getKey?: (item: any, index?: number) => string; + getKey?: (item: T, index?: number) => string; getPageHeight?: (itemIndex?: number, visibleRect?: IRectangle) => number; getPageSpecification?: (itemIndex?: number, visibleRect?: IRectangle) => IPageSpecification; - getPageStyle?: (page: IPage) => any; - items?: any[]; - onPageAdded?: (page: IPage) => void; - onPageRemoved?: (page: IPage) => void; - onPagesUpdated?: (pages: IPage[]) => void; - onRenderCell?: (item?: any, index?: number, isScrolling?: boolean) => React.ReactNode; - onRenderPage?: (pageProps: IPageProps, defaultRender?: IRenderFunction) => React.ReactNode; - onShouldVirtualize?: (props: IListProps) => boolean; + getPageStyle?: (page: IPage) => any; + items?: T[]; + onPageAdded?: (page: IPage) => void; + onPageRemoved?: (page: IPage) => void; + onPagesUpdated?: (pages: IPage[]) => void; + onRenderCell?: (item?: T, index?: number, isScrolling?: boolean) => React.ReactNode; + onRenderPage?: (pageProps: IPageProps, defaultRender?: IRenderFunction>) => React.ReactNode; + onShouldVirtualize?: (props: IListProps) => boolean; renderCount?: number; renderedWindowsAhead?: number; renderedWindowsBehind?: number; @@ -4982,12 +4954,12 @@ export interface IListProps extends React.HTMLAttributes } // @public (undocumented) -export interface IListState { +export interface IListState { // (undocumented) isScrolling?: boolean; measureVersion?: number; // (undocumented) - pages?: IPage[]; + pages?: IPage[]; } // @public (undocumented) @@ -4995,7 +4967,6 @@ export const Image: React_2.StatelessComponent; // @public (undocumented) export class ImageBase extends React.Component { - // (undocumented) constructor(props: IImageProps); // (undocumented) componentDidUpdate(prevProps: IImageProps, prevState: IImageState): void; @@ -5376,7 +5347,7 @@ export interface IOverlayStyles { } // @public (undocumented) -export interface IPage { +export interface IPage { // (undocumented) data?: any; // (undocumented) @@ -5386,7 +5357,7 @@ export interface IPage { // (undocumented) itemCount: number; // (undocumented) - items: any[] | undefined; + items: T[] | undefined; // (undocumented) key: string; // (undocumented) @@ -5398,8 +5369,8 @@ export interface IPage { } // @public (undocumented) -export interface IPageProps extends React.HTMLAttributes, React.ClassAttributes { - page: IPage; +export interface IPageProps extends React.HTMLAttributes, React.ClassAttributes { + page: IPage; role?: string; } @@ -7497,7 +7468,6 @@ export const KeytipLayer: React_2.StatelessComponent; // @public export class KeytipLayerBase extends BaseComponent { - // (undocumented) constructor(props: IKeytipLayerProps, context: any); // (undocumented) componentDidMount(): void; @@ -7532,7 +7502,6 @@ export const Layer: React_2.StatelessComponent; // @public (undocumented) export class LayerBase extends BaseComponent { - // (undocumented) constructor(props: ILayerProps); // (undocumented) componentDidMount(): void; @@ -7576,13 +7545,12 @@ export class LinkBase extends BaseComponent implements ILink { } // @public -export class List extends BaseComponent implements IList { - // (undocumented) - constructor(props: IListProps); +export class List extends BaseComponent, IListState> implements IList { + constructor(props: IListProps); // (undocumented) componentDidMount(): void; // (undocumented) - componentWillReceiveProps(newProps: IListProps): void; + componentWillReceiveProps(newProps: IListProps): void; // (undocumented) static defaultProps: { startIndex: number; @@ -7602,7 +7570,7 @@ export class List extends BaseComponent implements IList render(): JSX.Element; scrollToIndex(index: number, measureItem?: (itemIndex: number) => number, scrollToMode?: ScrollToMode): void; // (undocumented) - shouldComponentUpdate(newProps: IListProps, newState: IListState): boolean; + shouldComponentUpdate(newProps: IListProps, newState: IListState): boolean; } // @public (undocumented) @@ -7622,7 +7590,6 @@ export const MarqueeSelection: React_2.StatelessComponent implements ITextField { - // (undocumented) constructor(props: ITextFieldProps); // (undocumented) blur(): void; @@ -7682,7 +7649,6 @@ export const MessageBar: React_2.StatelessComponent; // @public (undocumented) export class MessageBarBase extends BaseComponent { - // (undocumented) constructor(props: IMessageBarProps); // (undocumented) static defaultProps: IMessageBarProps; @@ -7713,7 +7679,6 @@ export const Modal: React_2.StatelessComponent; // @public (undocumented) export class ModalBase extends BaseComponent implements IModal { - // (undocumented) constructor(props: IModalProps); // (undocumented) componentDidUpdate(prevProps: IModalProps, prevState: IDialogState): void; @@ -7735,7 +7700,6 @@ export const Nav: React_2.StatelessComponent; // @public (undocumented) export class NavBase extends BaseComponent implements INav { - // (undocumented) constructor(props: INavProps); // (undocumented) componentWillReceiveProps(newProps: INavProps): void; @@ -7784,7 +7748,6 @@ export const OverflowSet: React_2.StatelessComponent; // @public (undocumented) export class OverflowSetBase extends BaseComponent implements IOverflowSet { - // (undocumented) constructor(props: IOverflowSetProps); // (undocumented) componentDidMount(): void; @@ -7853,7 +7816,6 @@ export const Persona: React_2.StatelessComponent; // @public export class PersonaBase extends BaseComponent { - // (undocumented) constructor(props: IPersonaProps); // (undocumented) static defaultProps: IPersonaProps; @@ -7866,7 +7828,6 @@ export const PersonaCoin: React_2.StatelessComponent; // @public export class PersonaCoinBase extends BaseComponent { - // (undocumented) constructor(props: IPersonaCoinProps); // (undocumented) componentWillReceiveProps(nextProps: IPersonaCoinProps): void; @@ -8008,7 +7969,6 @@ export const Pivot: React_2.StatelessComponent; // @public export class PivotBase extends BaseComponent { - // (undocumented) constructor(props: IPivotProps); focus(): void; // (undocumented) @@ -8017,7 +7977,6 @@ export class PivotBase extends BaseComponent { // @public (undocumented) export class PivotItem extends BaseComponent { - // (undocumented) constructor(props: IPivotItemProps); // (undocumented) render(): JSX.Element; @@ -8046,7 +8005,6 @@ export class PlainCardBase extends BaseComponent { // @public export class Popup extends BaseComponent { - // (undocumented) constructor(props: IPopupProps); // (undocumented) componentDidMount(): void; @@ -8066,7 +8024,6 @@ export class Popup extends BaseComponent { // @public (undocumented) export class PositioningContainer extends BaseComponent implements PositioningContainer { - // (undocumented) constructor(props: IPositioningContainerProps); // (undocumented) componentDidMount(): void; @@ -8131,7 +8088,6 @@ export const Rating: React_2.StatelessComponent; // @public (undocumented) export class RatingBase extends BaseComponent { - // (undocumented) constructor(props: IRatingProps); // (undocumented) componentWillReceiveProps(nextProps: IRatingProps): void; @@ -8154,7 +8110,6 @@ export const ResizeGroup: typeof ResizeGroupBase; // @public (undocumented) export class ResizeGroupBase extends BaseComponent { - // (undocumented) constructor(props: IResizeGroupProps); // (undocumented) componentDidMount(): void; @@ -8179,7 +8134,6 @@ export const ScrollablePane: React_2.StatelessComponent; // @public (undocumented) export class ScrollablePaneBase extends BaseComponent implements IScrollablePane { - // (undocumented) constructor(props: IScrollablePaneProps); // (undocumented) addSticky: (sticky: Sticky) => void; @@ -8252,7 +8206,6 @@ export const SearchBox: React_2.StatelessComponent; // @public (undocumented) export class SearchBoxBase extends BaseComponent { - // (undocumented) constructor(props: ISearchBoxProps); // (undocumented) componentWillReceiveProps(newProps: ISearchBoxProps): void; @@ -8288,7 +8241,6 @@ export class SelectedPeopleList extends BasePeopleSelectedItemsList { // @public (undocumented) export class Selection implements ISelection { - // (undocumented) constructor(options?: ISelectionOptions); // (undocumented) canSelectItem(item: IObjectWithKey, index?: number): boolean; @@ -8416,7 +8368,6 @@ export const Shimmer: React_2.StatelessComponent; // @public (undocumented) export class ShimmerBase extends BaseComponent { - // (undocumented) constructor(props: IShimmerProps); // (undocumented) componentWillReceiveProps(nextProps: IShimmerProps): void; @@ -8431,7 +8382,6 @@ export const ShimmerCircle: React_2.StatelessComponent; // @public (undocumented) export class ShimmerCircleBase extends BaseComponent { - // (undocumented) constructor(props: IShimmerCircleProps); // (undocumented) render(): JSX.Element; @@ -8444,7 +8394,6 @@ export const ShimmeredDetailsList: React_2.StatelessComponent { - // (undocumented) constructor(props: IShimmeredDetailsListProps); // (undocumented) render(): JSX.Element; @@ -8462,7 +8411,6 @@ export const ShimmerElementsGroup: React_2.StatelessComponent { - // (undocumented) constructor(props: IShimmerElementsGroupProps); // (undocumented) static defaultProps: IShimmerElementsGroupProps; @@ -8482,7 +8430,6 @@ export const ShimmerGap: React_2.StatelessComponent; // @public (undocumented) export class ShimmerGapBase extends BaseComponent { - // (undocumented) constructor(props: IShimmerGapProps); // (undocumented) render(): JSX.Element; @@ -8493,7 +8440,6 @@ export const ShimmerLine: React_2.StatelessComponent; // @public (undocumented) export class ShimmerLineBase extends BaseComponent { - // (undocumented) constructor(props: IShimmerLineProps); // (undocumented) render(): JSX.Element; @@ -8522,7 +8468,6 @@ export const Slider: React_2.StatelessComponent; // @public (undocumented) export class SliderBase extends BaseComponent implements ISlider { - // (undocumented) constructor(props: ISliderProps); componentWillReceiveProps(newProps: ISliderProps): void; // (undocumented) @@ -8537,7 +8482,6 @@ export class SliderBase extends BaseComponent implem // @public (undocumented) export class SpinButton extends BaseComponent implements ISpinButton { - // (undocumented) constructor(props: ISpinButtonProps); componentWillReceiveProps(newProps: ISpinButtonProps): void; // (undocumented) @@ -8589,7 +8533,6 @@ export const StackItem: React.StatelessComponent; // @public (undocumented) export class Sticky extends BaseComponent { - // (undocumented) constructor(props: IStickyProps); // (undocumented) addSticky(stickyContent: HTMLDivElement): void; @@ -8662,7 +8605,6 @@ export enum SuggestionItemType { // @public (undocumented) export class Suggestions extends BaseComponent, ISuggestionsState> { - // (undocumented) constructor(suggestionsProps: ISuggestionsProps); // (undocumented) componentDidMount(): void; @@ -8695,7 +8637,6 @@ export class Suggestions extends BaseComponent, ISuggest // @public export class SuggestionsControl extends BaseComponent, ISuggestionsControlState> { - // (undocumented) constructor(suggestionsProps: ISuggestionsControlProps); // (undocumented) componentDidMount(): void; @@ -8747,7 +8688,6 @@ export class SuggestionsControl extends BaseComponent { - // (undocumented) constructor(); // (undocumented) convertSuggestionsToSuggestionItems(suggestions: Array | T>): ISuggestionModel[]; @@ -8781,7 +8721,6 @@ export class SuggestionsController { // @public export class SuggestionsCore extends BaseComponent, {}> { - // (undocumented) constructor(suggestionsProps: ISuggestionsCoreProps); // (undocumented) componentDidUpdate(): void; @@ -8827,7 +8766,6 @@ export class SuggestionsItem extends BaseComponent, { // @public (undocumented) export class SuggestionsStore { - // (undocumented) constructor(); // (undocumented) convertSuggestionsToSuggestionItems(suggestions: Array | T>): ISuggestionModel[]; @@ -8848,7 +8786,6 @@ export const SwatchColorPicker: React_2.StatelessComponent implements ISwatchColorPicker { - // (undocumented) constructor(props: ISwatchColorPickerProps); // (undocumented) componentWillReceiveProps(newProps: ISwatchColorPickerProps): void; @@ -8889,7 +8826,6 @@ export const TeachingBubble: React_2.StatelessComponent; // @public (undocumented) export class TeachingBubbleBase extends BaseComponent { - // (undocumented) constructor(props: ITeachingBubbleProps); // (undocumented) static defaultProps: { @@ -8914,7 +8850,6 @@ export const TeachingBubbleContent: React_2.StatelessComponent { - // (undocumented) constructor(props: ITeachingBubbleProps); // (undocumented) componentDidMount(): void; @@ -8945,7 +8880,6 @@ export const TextField: React_2.StatelessComponent; // @public (undocumented) export class TextFieldBase extends BaseComponent implements ITextField { - // (undocumented) constructor(props: ITextFieldProps); blur(): void; // (undocumented) @@ -9000,7 +8934,6 @@ export const Toggle: React.StatelessComponent; // @public (undocumented) export class ToggleBase extends BaseComponent implements IToggle { - // (undocumented) constructor(props: IToggleProps); readonly checked: boolean; // (undocumented) @@ -9037,7 +8970,6 @@ export const TooltipHost: React_2.StatelessComponent; // @public (undocumented) export class TooltipHostBase extends BaseComponent implements ITooltipHost { - // (undocumented) constructor(props: ITooltipHostProps); // (undocumented) componentWillUnmount(): void; From b0a27a41d234755ef51ba100ae062e1e3280d9ba Mon Sep 17 00:00:00 2001 From: Kevin Coughlin Date: Tue, 26 Mar 2019 15:42:03 -0700 Subject: [PATCH 8/8] Update API file --- .../etc/office-ui-fabric-react.api.md | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/packages/office-ui-fabric-react/etc/office-ui-fabric-react.api.md b/packages/office-ui-fabric-react/etc/office-ui-fabric-react.api.md index 54b502a74abe4..ddb9453b88cf6 100644 --- a/packages/office-ui-fabric-react/etc/office-ui-fabric-react.api.md +++ b/packages/office-ui-fabric-react/etc/office-ui-fabric-react.api.md @@ -50,7 +50,7 @@ export class ActivityItem extends BaseComponent { export type Alignment = 'start' | 'end' | 'center' | 'space-between' | 'space-around' | 'space-evenly' | 'baseline' | 'stretch'; // Warning: (ae-forgotten-export) The symbol "React" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export const Announced: React_2.StatelessComponent; @@ -487,7 +487,7 @@ export class Calendar extends BaseComponent impl } // Warning: (ae-forgotten-export) The symbol "ICalloutState" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export class Callout extends BaseComponent { constructor(props: ICalloutProps); @@ -653,7 +653,7 @@ export class ComboBox extends BaseComponent { static defaultProps: IComboBoxProps; dismissMenu: () => void; // Warning: (ae-unresolved-inheritdoc-base) The `@inheritDoc` tag needs a TSDoc declaration reference; signature matching is not supported yet - // + // // (undocumented) focus: (shouldOpenOnFocus?: boolean | undefined, useFocusAsync?: boolean | undefined) => void; // (undocumented) @@ -2766,7 +2766,7 @@ export interface IContextualMenuItem { data?: any; disabled?: boolean; // Warning: (ae-forgotten-export) The symbol "IMenuItemClassNames" needs to be exported by the entry point index.d.ts - // + // // @deprecated getItemClassNames?: (theme: ITheme, disabled: boolean, expanded: boolean, checked: boolean, isAnchorLink: boolean, knownIcon: boolean, itemClassName?: string, dividerClassName?: string, iconClassName?: string, subMenuClassName?: string, primaryDisabled?: boolean) => IMenuItemClassNames; getSplitButtonVerticalDividerClassNames?: (theme: ITheme) => IVerticalDividerClassNames; @@ -2866,7 +2866,7 @@ export interface IContextualMenuListProps { } // Warning: (ae-forgotten-export) The symbol "IWithResponsiveModeState" needs to be exported by the entry point index.d.ts -// +// // @public export interface IContextualMenuProps extends IBaseProps, IWithResponsiveModeState { alignTargetEdge?: boolean; @@ -2886,7 +2886,7 @@ export interface IContextualMenuProps extends IBaseProps, IWith focusZoneProps?: IFocusZoneProps; gapSpace?: number; // Warning: (ae-forgotten-export) The symbol "IContextualMenuClassNames" needs to be exported by the entry point index.d.ts - // + // // @deprecated getMenuClassNames?: (theme: ITheme, className?: string) => IContextualMenuClassNames; hidden?: boolean; @@ -3108,7 +3108,7 @@ export interface IDetailsGroupRenderProps extends IGroupRenderProps { } // Warning: (ae-forgotten-export) The symbol "DetailsHeaderBase" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export interface IDetailsHeaderBaseProps extends React.ClassAttributes, IDetailsItemProps { ariaLabel?: string; @@ -3168,7 +3168,7 @@ export interface IDetailsList extends IList { } // Warning: (ae-forgotten-export) The symbol "IWithViewportProps" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export interface IDetailsListProps extends IBaseProps, IWithViewportProps { ariaLabel?: string; @@ -3510,7 +3510,7 @@ export interface IDialogFooterStyles { } // Warning: (ae-forgotten-export) The symbol "IAccessiblePopupProps" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export interface IDialogProps extends React.ClassAttributes, IWithResponsiveModeState, IAccessiblePopupProps { // @deprecated @@ -3605,7 +3605,7 @@ export interface IDocumentCardActions { } // Warning: (ae-forgotten-export) The symbol "DocumentCardActionsBase" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export interface IDocumentCardActionsProps extends React_2.ClassAttributes { actions: IButtonProps[]; @@ -3648,7 +3648,7 @@ export interface IDocumentCardActivityPerson { } // Warning: (ae-forgotten-export) The symbol "DocumentCardActivityBase" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export interface IDocumentCardActivityProps extends React_2.ClassAttributes { activity: string; @@ -3687,7 +3687,7 @@ export interface IDocumentCardDetails { } // Warning: (ae-forgotten-export) The symbol "DocumentCardDetailsBase" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export interface IDocumentCardDetailsProps extends React_2.Props { className?: string; @@ -3746,7 +3746,7 @@ export interface IDocumentCardLocation { } // Warning: (ae-forgotten-export) The symbol "DocumentCardLocationBase" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export interface IDocumentCardLocationProps extends React_2.ClassAttributes { ariaLabel?: string; @@ -3776,7 +3776,7 @@ export interface IDocumentCardLogo { } // Warning: (ae-forgotten-export) The symbol "DocumentCardLogoBase" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export interface IDocumentCardLogoProps extends React_2.ClassAttributes { className?: string; @@ -3876,7 +3876,7 @@ export interface IDocumentCardStatus { } // Warning: (ae-forgotten-export) The symbol "DocumentCardStatusBase" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export interface IDocumentCardStatusProps extends React_2.Props { className?: string; @@ -3918,7 +3918,7 @@ export interface IDocumentCardTitle { } // Warning: (ae-forgotten-export) The symbol "DocumentCardTitleBase" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export interface IDocumentCardTitleProps extends React_2.ClassAttributes { className?: string; @@ -4048,7 +4048,7 @@ export interface IExpandingCard { } // Warning: (ae-forgotten-export) The symbol "IBaseCardProps" needs to be exported by the entry point index.d.ts -// +// // @public export interface IExpandingCardProps extends IBaseCardProps { compactCardHeight?: number; @@ -4067,7 +4067,7 @@ export interface IExpandingCardState { } // Warning: (ae-forgotten-export) The symbol "IBaseCardStyleProps" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export interface IExpandingCardStyleProps extends IBaseCardStyleProps { compactCardHeight?: number; @@ -4077,7 +4077,7 @@ export interface IExpandingCardStyleProps extends IBaseCardStyleProps { } // Warning: (ae-forgotten-export) The symbol "IBaseCardStyles" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export interface IExpandingCardStyles extends IBaseCardStyles { compactCard?: IStyle; @@ -5395,7 +5395,7 @@ export interface IPanelHeaderRenderer extends IRenderFunction { } // Warning: (ae-forgotten-export) The symbol "PanelBase" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export interface IPanelProps extends React.HTMLAttributes { className?: string; @@ -6588,7 +6588,7 @@ export interface ISpinButtonProps { keytipProps?: IKeytipProps; label?: string; // Warning: (ae-forgotten-export) The symbol "Position" needs to be exported by the entry point index.d.ts - // + // // (undocumented) labelPosition?: Position; max?: number; @@ -7450,7 +7450,7 @@ export class Keytip extends BaseComponent implements IKeytip { } // Warning: (ae-forgotten-export) The symbol "IKeytipDataProps" needs to be exported by the entry point index.d.ts -// +// // @public export class KeytipData extends BaseComponent, {}> { // (undocumented) @@ -7478,7 +7478,7 @@ export class KeytipLayerBase extends BaseComponent): void; @@ -7520,7 +7520,7 @@ export class LayerBase extends BaseComponent { } // Warning: (ae-forgotten-export) The symbol "ILayerHostProps" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export class LayerHost extends BaseComponent { // (undocumented) @@ -7545,8 +7545,8 @@ export class LinkBase extends BaseComponent implements ILink { } // @public -export class List extends BaseComponent implements IList { - constructor(props: IListProps); +export class List extends BaseComponent, IListState> implements IList { + constructor(props: IListProps); // (undocumented) componentDidMount(): void; // (undocumented) @@ -8388,7 +8388,7 @@ export class ShimmerCircleBase extends BaseComponent { } // Warning: (ae-forgotten-export) The symbol "IShimmeredDetailsListProps" needs to be exported by the entry point index.d.ts -// +// // @public (undocumented) export const ShimmeredDetailsList: React_2.StatelessComponent; @@ -9042,7 +9042,7 @@ export * from "@uifabric/styling"; export * from "@uifabric/utilities"; // Warnings were encountered during analysis: -// +// // lib/components/DetailsList/DetailsList.types.d.ts:104:9 - (ae-forgotten-export) The symbol "IDragDropContext" needs to be exported by the entry point index.d.ts // (No @packageDocumentation comment for this package)