From d89cced0ffa3040e8e3d118f3daefeff4e4dba12 Mon Sep 17 00:00:00 2001 From: Carson Full Date: Wed, 28 Dec 2016 10:40:29 -0600 Subject: [PATCH] [Material UI] Fix AutoComplete props (#13506) * [Material UI] Fix AutoComplete errorText and hintText props and BottomNavigationItem icon and label props to be react nodes. * [Material UI] Loosen AutoComplete data item to any as dataSourceConfig allows it to be configurable. --- material-ui/index.d.ts | 24 +++++++++++------------- material-ui/material-ui-tests.tsx | 9 +++++++-- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/material-ui/index.d.ts b/material-ui/index.d.ts index fd586cf2f7..6f219152ac 100644 --- a/material-ui/index.d.ts +++ b/material-ui/index.d.ts @@ -528,21 +528,19 @@ declare namespace __MaterialUI { type cornersAndCenter = 'bottom-center' | 'bottom-left' | 'bottom-right' | 'top-center' | 'top-left' | 'top-right'; } - type AutoCompleteDataItem = { text: string, value: React.ReactNode } | string; - type AutoCompleteDataSource = { text: string, value: React.ReactNode }[] | string[]; - interface AutoCompleteProps { + interface AutoCompleteProps { anchorOrigin?: propTypes.origin; animated?: boolean; animation?: React.ComponentClass; - dataSource: AutoCompleteDataSource; + dataSource: DataItem[]; dataSourceConfig?: { text: string; value: string; }; disableFocusRipple?: boolean; errorStyle?: React.CSSProperties; - errorText?: string; - filter?: (searchText: string, key: string, item: AutoCompleteDataItem) => boolean; + errorText?: React.ReactNode; + filter?: (searchText: string, key: string, item: DataItem) => boolean; floatingLabelText?: React.ReactNode; fullWidth?: boolean; - hintText?: string; + hintText?: React.ReactNode; listStyle?: React.CSSProperties; maxSearchResults?: number; menuCloseDelay?: number; @@ -551,8 +549,8 @@ declare namespace __MaterialUI { onBlur?: React.FocusEventHandler<{}>; onFocus?: React.FocusEventHandler<{}>; onKeyDown?: React.KeyboardEventHandler<{}>; - onNewRequest?: (chosenRequest: string, index: number) => void; - onUpdateInput?: (searchText: string, dataSource: AutoCompleteDataSource) => void; + onNewRequest?: (chosenRequest: DataItem, index: number) => void; + onUpdateInput?: (searchText: string, dataSource: DataItem[]) => void; open?: boolean; openOnFocus?: boolean; popoverProps?: Popover.PopoverProps; @@ -561,7 +559,7 @@ declare namespace __MaterialUI { targetOrigin?: propTypes.origin; textFieldStyle?: React.CSSProperties; } - export class AutoComplete extends React.Component { + export class AutoComplete extends React.Component, {}> { static noFilter: () => boolean; static defaultFilter: (searchText: string, key: string) => boolean; static caseSensitiveFilter: (searchText: string, key: string) => boolean; @@ -739,17 +737,17 @@ declare namespace __MaterialUI { namespace BottomNavigation { interface BottomNavigationProps { - selectedIndex?: number; className?: string; + selectedIndex?: number; style?: React.CSSProperties; } export class BottomNavigation extends React.Component { } interface BottomNavigationItemProps extends SharedEnhancedButtonProps { - label?: string; - icon?: any; className?: string; + icon?: React.ReactNode; + label?: React.ReactNode; } export class BottomNavigationItem extends React.Component { } diff --git a/material-ui/material-ui-tests.tsx b/material-ui/material-ui-tests.tsx index 0ce251b06f..04b8f0ec32 100644 --- a/material-ui/material-ui-tests.tsx +++ b/material-ui/material-ui-tests.tsx @@ -422,7 +422,12 @@ export class AutoCompleteExampleSimple extends React.Component<{}, {dataSource: /> @@ -4966,4 +4971,4 @@ class MaterialUiTests extends React.Component<{}, MaterialUiTestsState> { ReactDOM.render( , document.getElementById('app') -); \ No newline at end of file +);