@bothub-chat/ui 2.61.1-feat-generics-in-select-b6b6cf11-a2ed-403a-b1b1-247607966754 → 2.61.1-feat-generics-in-select-12c70ac8-6974-4fa6-990a-fe8ced493714
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { SelectFieldDataItem, SelectFieldSize } from '
|
|
2
|
+
import { SelectFieldDataItem, SelectFieldDataItemLiteral, SelectFieldSize } from '../types';
|
|
3
3
|
export type SelectFieldOptionClickEventHandler<DataItem extends SelectFieldDataItem<any>> = (item: DataItem) => unknown;
|
|
4
4
|
export type SelectFieldGroupCheckboxClickEventHandler<DataItem extends SelectFieldDataItem<any>> = (item: DataItem) => unknown;
|
|
5
5
|
export interface SelectFieldOptionsProps<DataItem extends SelectFieldDataItem<any>> extends React.ComponentProps<'div'> {
|
|
6
|
-
value: DataItem | DataItem[] | null;
|
|
6
|
+
value: DataItem | SelectFieldDataItemLiteral<DataItem> | DataItem[] | null;
|
|
7
7
|
data: DataItem[];
|
|
8
8
|
size: SelectFieldSize;
|
|
9
9
|
disableSelect?: boolean;
|
|
@@ -40,5 +40,6 @@ export type SelectFieldPlacement = 'bottom-left' | 'bottom-center' | 'top-left'
|
|
|
40
40
|
export type SelectFieldInputType = 'text' | 'search';
|
|
41
41
|
export type ResetStyleStateType = string | number | boolean | null;
|
|
42
42
|
export type SelectedItem<DataItem extends SelectFieldDataItem<any>> = DataItem | null;
|
|
43
|
-
export type
|
|
43
|
+
export type SelectFieldDataItemLiteral<DataItem extends SelectFieldDataItem<any>> = DataItem extends string ? DataItem : DataItem extends SelectFieldDataItemComplex<DataItem> ? DataItem['value'] : never;
|
|
44
|
+
export type ValueType<DataItem extends SelectFieldDataItem<any>> = DataItem | SelectFieldDataItemLiteral<DataItem> | DataItem[] | null;
|
|
44
45
|
export type ValueSetter<DataItem extends SelectFieldDataItem<any>> = (value: ValueType<DataItem>) => void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { SelectFieldChangeEventHandler, SelectFieldDataItem, SelectFieldMultiChangeEventHandler, SelectFieldMultiValueChangeEventHandler, SelectFieldPlacement, SelectFieldValueChangeEventHandler } from './types';
|
|
1
|
+
import { SelectFieldChangeEventHandler, SelectFieldDataItem, SelectFieldDataItemLiteral, SelectFieldMultiChangeEventHandler, SelectFieldMultiValueChangeEventHandler, SelectFieldPlacement, SelectFieldValueChangeEventHandler } from './types';
|
|
2
2
|
export interface UseSelectFieldDefaultProps<DataItem extends SelectFieldDataItem<any>> {
|
|
3
3
|
multiple?: false;
|
|
4
|
-
value?: DataItem | null;
|
|
4
|
+
value?: DataItem | SelectFieldDataItemLiteral<DataItem> | null;
|
|
5
5
|
onChange?: SelectFieldChangeEventHandler<DataItem>;
|
|
6
6
|
onValueChange?: SelectFieldValueChangeEventHandler<DataItem>;
|
|
7
7
|
}
|
|
@@ -28,7 +28,7 @@ export type UseSelectFieldHook<DataItem extends SelectFieldDataItem<any>, Trigge
|
|
|
28
28
|
selectModalRef: React.RefObject<HTMLDivElement | null>;
|
|
29
29
|
placement: SelectFieldPlacement;
|
|
30
30
|
isKeyboardOpen: React.RefObject<boolean>;
|
|
31
|
-
value: DataItem | DataItem[] | null;
|
|
31
|
+
value: DataItem | SelectFieldDataItemLiteral<DataItem> | DataItem[] | null;
|
|
32
32
|
disabled: boolean;
|
|
33
33
|
multiple: boolean;
|
|
34
34
|
contentHeight?: number | string;
|
|
@@ -46,7 +46,7 @@ export declare const useSelectField: <DataItem extends SelectFieldDataItem<any>,
|
|
|
46
46
|
selectModalRef: import("react").RefObject<HTMLDivElement | null>;
|
|
47
47
|
placement: "top-left" | "top-right" | "bottom-left" | "bottom-center";
|
|
48
48
|
isKeyboardOpen: import("react").RefObject<boolean>;
|
|
49
|
-
value: DataItem | DataItem[] | null;
|
|
49
|
+
value: DataItem | DataItem[] | SelectFieldDataItemLiteral<DataItem> | null;
|
|
50
50
|
disabled: boolean;
|
|
51
51
|
multiple: boolean;
|
|
52
52
|
contentHeight: string | number | undefined;
|
package/package.json
CHANGED