Skip to content

Commit 704412f

Browse files
committed
fix: more typings
1 parent b61ed86 commit 704412f

1 file changed

Lines changed: 33 additions & 39 deletions

File tree

index.d.ts

Lines changed: 33 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
import * as React from 'react'
22
import * as ReactNative from 'react-native'
33

4+
type IconProps = {
5+
name: string
6+
size?: number
7+
[x: string]: any
8+
}
9+
410
export interface Styles {
511
container?: ReactNative.StyleProp<ReactNative.ViewStyle>
612
modalWrapper?: ReactNative.StyleProp<ReactNative.ViewStyle>
@@ -64,8 +70,8 @@ export interface SectionedMultiSelectProps<ItemType> {
6470
disabled?: string
6571
}
6672
searchPlaceholderText?: string
67-
noResultsComponent?: (() => void) | JSX.Element
68-
loadingComponent?: (() => void) | JSX.Element
73+
noResultsComponent?: React.ReactNode
74+
loadingComponent?: React.ReactNode
6975
loading?: boolean
7076
subItemFontFamily?: object
7177
itemFontFamily?: object
@@ -78,16 +84,16 @@ export interface SectionedMultiSelectProps<ItemType> {
7884
modalWithSafeAreaView?: boolean
7985
modalWithTouchable?: boolean
8086
hideSearch?: boolean
81-
footerComponent?: (() => void) | JSX.Element
82-
stickyFooterComponent?: (() => void) | JSX.Element
83-
selectToggleIconComponent?: (() => void) | JSX.Element
84-
cancelIconComponent?: (() => void) | JSX.Element
85-
searchIconComponent?: (() => void) | JSX.Element
86-
selectedIconComponent?: (() => void) | JSX.Element
87-
unselectedIconComponent?: (() => void) | JSX.Element
88-
dropDownToggleIconUpComponent?: (() => void) | JSX.Element
89-
dropDownToggleIconDownComponent?: (() => void) | JSX.Element
90-
chipRemoveIconComponent?: (() => void) | JSX.Element
87+
footerComponent?: React.ReactNode
88+
stickyFooterComponent?: React.ReactNode
89+
selectToggleIconComponent?: React.ReactNode
90+
cancelIconComponent?: React.ReactNode
91+
searchIconComponent?: React.ReactNode
92+
selectedIconComponent?: React.ReactNode
93+
unselectedIconComponent?: React.ReactNode
94+
dropDownToggleIconUpComponent?: React.ReactNode
95+
dropDownToggleIconDownComponent?: React.ReactNode
96+
chipRemoveIconComponent?: React.ReactNode
9197
selectChildren?: boolean
9298
highlightChildren?: boolean
9399
onSelectedItemObjectsChange?: (items: ItemType[]) => void
@@ -97,7 +103,7 @@ export interface SectionedMultiSelectProps<ItemType> {
97103
hideSelect?: boolean
98104
onConfirm?: () => void
99105
onCancel?: () => void
100-
headerComponent?: (() => void) | JSX.Element
106+
headerComponent?: React.ReactNode
101107
alwaysShowSelectText?: boolean
102108
searchAdornment?: (searchText: string) => void
103109
expandDropDowns?: boolean
@@ -106,50 +112,38 @@ export interface SectionedMultiSelectProps<ItemType> {
106112
onChangeSearchText?: (searchTerm: string) => void
107113
filterItems?: (searchTerm: string) => void
108114
onToggleSelector?: (selected: boolean) => void
109-
noItemsComponent?: (() => void) | JSX.Element
115+
noItemsComponent?: React.ReactNode
110116
customChipsRenderer?: (chipProperties: object) => void
111117
chipsPosition?: 'top' | 'bottom'
112118
autoFocus?: boolean
113119
iconKey?: string
114120
disabled?: boolean
115121
selectedIconOnLeft?: boolean
116122
parentChipsRemoveChildren?: boolean
117-
IconRenderer?: (() => void) | JSX.Element | React.ReactNode
123+
hideChipRemove?: boolean
124+
IconRenderer?: React.ReactNode
118125
itemsFlatListProps?: Omit<ReactNative.FlatListProps<T>, 'data' | 'renderItem'>
119126
subItemsFlatListProps?: Omit<
120127
ReactNative.FlatListProps<T>,
121128
'data' | 'renderItem'
122129
>
123130

124131
icons?: Partial<{
125-
search: {
126-
name: string
127-
size: number
128-
}
129-
arrowUp: {
130-
name: string
131-
size: number
132-
}
133-
arrowDown: {
134-
name: string
135-
size: number
136-
}
137-
close: {
138-
name: string
139-
size: number
140-
}
141-
check: {
142-
name: string
143-
size: number
144-
}
145-
cancel: {
146-
name: string
147-
size: number
148-
}
132+
search: IconProps
133+
arrowUp: IconProps
134+
arrowDown: IconProps
135+
close: IconProps
136+
check: IconProps
137+
cancel: IconProps
149138
}>
150139
}
151140
export default class SectionedMultiSelect<ItemType> extends React.Component<
152141
SectionedMultiSelectProps<ItemType>
153142
> {
154143
_toggleSelector: () => void
144+
_removeAllItems: () => void
145+
_removeItem: (item: ItemType) => void
146+
_selectAllItems: () => void
147+
_findItem: (id: string | number) => ItemType | object | undefined
148+
_itemSelected: (item: ItemType) => boolean
155149
}

0 commit comments

Comments
 (0)