@peculiar/react-components 0.0.2-alpha.264 → 0.0.2-alpha.270
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.
- package/dist/cjs/Autocomplete/autocomplete.js +258 -0
- package/dist/cjs/Autocomplete/autocomplete.js.map +1 -0
- package/dist/cjs/Autocomplete/index.js +6 -0
- package/dist/cjs/Autocomplete/index.js.map +1 -0
- package/dist/cjs/Chip/chip.js +41 -12
- package/dist/cjs/Chip/chip.js.map +1 -1
- package/dist/cjs/Modal/modal.js +3 -3
- package/dist/cjs/Modal/modal.js.map +1 -1
- package/dist/cjs/Popover/popover.js +23 -2
- package/dist/cjs/Popover/popover.js.map +1 -1
- package/dist/cjs/Popper/popper.js +23 -2
- package/dist/cjs/Popper/popper.js.map +1 -1
- package/dist/cjs/Tabs/tabs.js.map +1 -1
- package/dist/cjs/hooks/index.js +5 -1
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/use_autocomplete.js +345 -0
- package/dist/cjs/hooks/use_autocomplete.js.map +1 -0
- package/dist/cjs/hooks/use_event_callback.js +44 -0
- package/dist/cjs/hooks/use_event_callback.js.map +1 -0
- package/dist/cjs/index.js +1 -1
- package/dist/esm/Autocomplete/autocomplete.js +251 -0
- package/dist/esm/Autocomplete/autocomplete.js.map +1 -0
- package/dist/esm/Autocomplete/index.js +2 -0
- package/dist/esm/Autocomplete/index.js.map +1 -0
- package/dist/esm/Chip/chip.js +41 -12
- package/dist/esm/Chip/chip.js.map +1 -1
- package/dist/esm/Modal/modal.js +3 -3
- package/dist/esm/Modal/modal.js.map +1 -1
- package/dist/esm/Popover/popover.js +23 -2
- package/dist/esm/Popover/popover.js.map +1 -1
- package/dist/esm/Popper/popper.js +23 -2
- package/dist/esm/Popper/popper.js.map +1 -1
- package/dist/esm/Tabs/tabs.js.map +1 -1
- package/dist/esm/hooks/index.js +2 -0
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/use_autocomplete.js +338 -0
- package/dist/esm/hooks/use_autocomplete.js.map +1 -0
- package/dist/esm/hooks/use_event_callback.js +21 -0
- package/dist/esm/hooks/use_event_callback.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esnext/Autocomplete/autocomplete.js +255 -0
- package/dist/esnext/Autocomplete/autocomplete.js.map +1 -0
- package/dist/esnext/Autocomplete/index.js +2 -0
- package/dist/esnext/Autocomplete/index.js.map +1 -0
- package/dist/esnext/Chip/chip.js +54 -5
- package/dist/esnext/Chip/chip.js.map +1 -1
- package/dist/esnext/Modal/modal.js +3 -3
- package/dist/esnext/Modal/modal.js.map +1 -1
- package/dist/esnext/Popover/popover.js +21 -2
- package/dist/esnext/Popover/popover.js.map +1 -1
- package/dist/esnext/Popper/popper.js +21 -2
- package/dist/esnext/Popper/popper.js.map +1 -1
- package/dist/esnext/Tabs/tabs.js.map +1 -1
- package/dist/esnext/hooks/index.js +2 -0
- package/dist/esnext/hooks/index.js.map +1 -1
- package/dist/esnext/hooks/use_autocomplete.js +333 -0
- package/dist/esnext/hooks/use_autocomplete.js.map +1 -0
- package/dist/esnext/hooks/use_event_callback.js +16 -0
- package/dist/esnext/hooks/use_event_callback.js.map +1 -0
- package/dist/esnext/index.js +1 -1
- package/dist/types/Autocomplete/autocomplete.d.ts +86 -0
- package/dist/types/Autocomplete/index.d.ts +1 -0
- package/dist/types/Chip/chip.d.ts +1 -1
- package/dist/types/Modal/modal.d.ts +1 -1
- package/dist/types/Popover/popover.d.ts +7 -3
- package/dist/types/Popper/popper.d.ts +6 -2
- package/dist/types/hooks/index.d.ts +2 -0
- package/dist/types/hooks/use_autocomplete.d.ts +91 -0
- package/dist/types/hooks/use_event_callback.d.ts +4 -0
- package/dist/types/index.d.ts +1 -1
- package/package.json +16 -16
- package/dist/cjs/ComboBox/combo_box.js +0 -262
- package/dist/cjs/ComboBox/combo_box.js.map +0 -1
- package/dist/cjs/ComboBox/index.js +0 -6
- package/dist/cjs/ComboBox/index.js.map +0 -1
- package/dist/cjs/SelectPicker/index.js +0 -6
- package/dist/cjs/SelectPicker/index.js.map +0 -1
- package/dist/cjs/SelectPicker/select_picker.js +0 -445
- package/dist/cjs/SelectPicker/select_picker.js.map +0 -1
- package/dist/esm/ComboBox/combo_box.js +0 -240
- package/dist/esm/ComboBox/combo_box.js.map +0 -1
- package/dist/esm/ComboBox/index.js +0 -2
- package/dist/esm/ComboBox/index.js.map +0 -1
- package/dist/esm/SelectPicker/index.js +0 -2
- package/dist/esm/SelectPicker/index.js.map +0 -1
- package/dist/esm/SelectPicker/select_picker.js +0 -422
- package/dist/esm/SelectPicker/select_picker.js.map +0 -1
- package/dist/esnext/ComboBox/combo_box.js +0 -214
- package/dist/esnext/ComboBox/combo_box.js.map +0 -1
- package/dist/esnext/ComboBox/index.js +0 -2
- package/dist/esnext/ComboBox/index.js.map +0 -1
- package/dist/esnext/SelectPicker/index.js +0 -2
- package/dist/esnext/SelectPicker/index.js.map +0 -1
- package/dist/esnext/SelectPicker/select_picker.js +0 -418
- package/dist/esnext/SelectPicker/select_picker.js.map +0 -1
- package/dist/types/ComboBox/combo_box.d.ts +0 -19
- package/dist/types/ComboBox/index.d.ts +0 -1
- package/dist/types/SelectPicker/index.d.ts +0 -1
- package/dist/types/SelectPicker/select_picker.d.ts +0 -89
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* https://github.com/facebook/react/issues/14099#issuecomment-440013892
|
|
4
|
+
*/
|
|
5
|
+
export function useEventCallback(fn) {
|
|
6
|
+
const ref = React.useRef(fn);
|
|
7
|
+
React.useLayoutEffect(() => {
|
|
8
|
+
ref.current = fn;
|
|
9
|
+
});
|
|
10
|
+
return React.useCallback((...args) =>
|
|
11
|
+
// @ts-expect-error hide `this`
|
|
12
|
+
// tslint:disable-next-line:ban-comma-operator
|
|
13
|
+
// eslint-disable-next-line implicit-arrow-linebreak
|
|
14
|
+
(0, ref.current)(...args), []);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=use_event_callback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use_event_callback.js","sourceRoot":"","sources":["../../../src/hooks/use_event_callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,EAA6B;IAE7B,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAE7B,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;QACzB,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,WAAW,CACtB,CAAC,GAAG,IAAU,EAAE,EAAE;IAChB,+BAA+B;IAC/B,8CAA8C;IAC9C,oDAAoD;IACpD,CAAC,CAAC,EAAE,GAAG,CAAC,OAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,EAC5B,EAAE,CACH,CAAC;AACJ,CAAC"}
|
package/dist/esnext/index.js
CHANGED
|
@@ -19,7 +19,7 @@ export * from './Popover';
|
|
|
19
19
|
export * from './Portal';
|
|
20
20
|
export * from './Radio';
|
|
21
21
|
export * from './Select';
|
|
22
|
-
export * from './
|
|
22
|
+
export * from './Autocomplete';
|
|
23
23
|
export * from './Slide';
|
|
24
24
|
export * from './Slider';
|
|
25
25
|
export * from './Tabs';
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { UseAutocompleteProps, AutocompleteValue } from '../hooks';
|
|
3
|
+
/**
|
|
4
|
+
* Types.
|
|
5
|
+
*/
|
|
6
|
+
export declare type AutocompleteRenderGroupParams = {
|
|
7
|
+
key: string | number;
|
|
8
|
+
group: string;
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
};
|
|
11
|
+
export declare type AutocompleteProps<T, Multiple extends boolean | undefined = undefined> = UseAutocompleteProps<T, Multiple> & {
|
|
12
|
+
/**
|
|
13
|
+
* The short hint displayed in the `input` before the user enters a value.
|
|
14
|
+
*/
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Text to display when there are no options.
|
|
18
|
+
*/
|
|
19
|
+
noOptionsText?: React.ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* If `true`, the component is in a loading state.
|
|
22
|
+
* This shows the `loadingText` in place of suggestions (only if there are no
|
|
23
|
+
* suggestions to show, e.g. `options` are empty).
|
|
24
|
+
*/
|
|
25
|
+
loading?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Text to display when in a loading state.
|
|
28
|
+
*/
|
|
29
|
+
loadingText?: React.ReactNode;
|
|
30
|
+
/**
|
|
31
|
+
* The maximum number of tags that will be visible when not focused.
|
|
32
|
+
*/
|
|
33
|
+
limitTags?: number;
|
|
34
|
+
/**
|
|
35
|
+
* If `true`, the popup search input will be hidden.
|
|
36
|
+
*/
|
|
37
|
+
disableSearch?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Name attribute of the `input` element.
|
|
40
|
+
*/
|
|
41
|
+
name?: string;
|
|
42
|
+
/**
|
|
43
|
+
* If `true`, the `input` element is required.
|
|
44
|
+
*/
|
|
45
|
+
required?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Text to display when in the create button element.
|
|
48
|
+
*/
|
|
49
|
+
createOptionText?: string;
|
|
50
|
+
/**
|
|
51
|
+
* If `true`, the create button element will be shown.
|
|
52
|
+
*/
|
|
53
|
+
allowCreateOption?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Render the root element.
|
|
56
|
+
*/
|
|
57
|
+
renderRoot?: (props: object, value: AutocompleteValue<T, Multiple>) => React.ReactNode;
|
|
58
|
+
/**
|
|
59
|
+
* Render the option, use `getOptionLabel` by default.
|
|
60
|
+
*/
|
|
61
|
+
renderOption?: (props: object, option: T) => React.ReactNode;
|
|
62
|
+
/**
|
|
63
|
+
* The label to display when the tags are truncated (`limitTags`).
|
|
64
|
+
*/
|
|
65
|
+
getLimitTagsText?: (more: number) => string;
|
|
66
|
+
/**
|
|
67
|
+
* Callback fired when the create button clicked.
|
|
68
|
+
*/
|
|
69
|
+
onCreate?: (event: React.SyntheticEvent, value: string) => void;
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
*
|
|
73
|
+
*/
|
|
74
|
+
export declare function Autocomplete<T, Multiple extends boolean | undefined = undefined>(props: AutocompleteProps<T, Multiple>): JSX.Element;
|
|
75
|
+
export declare namespace Autocomplete {
|
|
76
|
+
var defaultProps: {
|
|
77
|
+
disableSearch: boolean;
|
|
78
|
+
noOptionsText: string;
|
|
79
|
+
loading: boolean;
|
|
80
|
+
loadingText: string;
|
|
81
|
+
limitTags: number;
|
|
82
|
+
required: boolean;
|
|
83
|
+
allowCreateOption: boolean;
|
|
84
|
+
createOptionText: string;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Autocomplete } from './autocomplete';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
2
|
+
import { PopperProps } from 'react-popper';
|
|
3
3
|
import { ModalProps } from '../Modal';
|
|
4
4
|
declare type BaseProps = {
|
|
5
5
|
/**
|
|
@@ -17,15 +17,19 @@ declare type BaseProps = {
|
|
|
17
17
|
/**
|
|
18
18
|
* Popover placement.
|
|
19
19
|
*/
|
|
20
|
-
placement?:
|
|
20
|
+
placement?: PopperProps<unknown>['placement'];
|
|
21
21
|
/**
|
|
22
22
|
* Callback fired when the component requests to be closed.
|
|
23
23
|
*/
|
|
24
|
-
onClose?: () => void;
|
|
24
|
+
onClose?: (event: React.SyntheticEvent) => void;
|
|
25
25
|
/**
|
|
26
26
|
* Props applied to the `Modal` element.
|
|
27
27
|
*/
|
|
28
28
|
modalProps?: Partial<ModalProps>;
|
|
29
|
+
/**
|
|
30
|
+
* Make your popover the same width as the reference.
|
|
31
|
+
*/
|
|
32
|
+
allowUseSameWidth?: boolean;
|
|
29
33
|
};
|
|
30
34
|
export declare type PopoverProps = BaseProps & Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>;
|
|
31
35
|
export declare const Popover: React.ForwardRefExoticComponent<BaseProps & Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
2
|
+
import { PopperProps as PopperReactProps } from 'react-popper';
|
|
3
3
|
declare type BaseProps = {
|
|
4
4
|
/**
|
|
5
5
|
* If `true`, the popper is visible.
|
|
@@ -16,11 +16,15 @@ declare type BaseProps = {
|
|
|
16
16
|
/**
|
|
17
17
|
* Popper placement.
|
|
18
18
|
*/
|
|
19
|
-
placement?:
|
|
19
|
+
placement?: PopperReactProps<unknown>['placement'];
|
|
20
20
|
/**
|
|
21
21
|
* Disable the portal behavior. The children stay within it's parent DOM hierarchy.
|
|
22
22
|
*/
|
|
23
23
|
disablePortal?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Make your popper the same width as the reference.
|
|
26
|
+
*/
|
|
27
|
+
allowUseSameWidth?: boolean;
|
|
24
28
|
};
|
|
25
29
|
declare type PopperProps = BaseProps & React.HTMLAttributes<HTMLDivElement>;
|
|
26
30
|
export declare const Popper: React.FC<PopperProps>;
|
|
@@ -5,3 +5,5 @@ export { useControllableState, UseControllableStateProps } from './use_controlla
|
|
|
5
5
|
export { useId } from './use_id';
|
|
6
6
|
export { useImage } from './use_image';
|
|
7
7
|
export { useWindowEventListener } from './use_window_event_listener';
|
|
8
|
+
export { useAutocomplete, UseAutocompleteProps, UseAutocompleteReturnType, AutocompleteValue, AutocompleteGroupedOption, } from './use_autocomplete';
|
|
9
|
+
export { useEventCallback } from './use_event_callback';
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PopoverProps } from '../Popover';
|
|
3
|
+
/**
|
|
4
|
+
* Types.
|
|
5
|
+
*/
|
|
6
|
+
export declare type AutocompleteHighlightChangeReason = ('auto' | 'mouse' | 'keyboard');
|
|
7
|
+
export declare type AutocompleteHighlightChangeDirectionType = ('next' | 'previous');
|
|
8
|
+
export declare type AutocompleteHighlightChangeDiffType = (number | 'reset' | 'start' | 'end');
|
|
9
|
+
export declare type FilterOptionsType = <T>(options: ReadonlyArray<T>, value: string, getOptionLabel: (option: T) => string) => T[];
|
|
10
|
+
export declare type AutocompleteValue<T, Multiple> = Multiple extends undefined | false ? T : T[];
|
|
11
|
+
export declare type AutocompleteGroupedOption<T> = {
|
|
12
|
+
key: number;
|
|
13
|
+
index: number;
|
|
14
|
+
group: string;
|
|
15
|
+
options: T[];
|
|
16
|
+
};
|
|
17
|
+
export declare type UseAutocompleteProps<T, Multiple extends boolean | undefined = undefined> = {
|
|
18
|
+
/**
|
|
19
|
+
* This prop is used to help implement the accessibility logic.
|
|
20
|
+
* If you don't provide an id it will fall back to a randomly generated one.
|
|
21
|
+
*/
|
|
22
|
+
id?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Array of options.
|
|
25
|
+
*/
|
|
26
|
+
options: ReadonlyArray<T>;
|
|
27
|
+
/**
|
|
28
|
+
* The default value. Use when the component is not controlled.
|
|
29
|
+
*/
|
|
30
|
+
defaultValue?: AutocompleteValue<T, Multiple>;
|
|
31
|
+
/**
|
|
32
|
+
* The value of the select.
|
|
33
|
+
*/
|
|
34
|
+
value?: AutocompleteValue<T, Multiple>;
|
|
35
|
+
/**
|
|
36
|
+
* If `true`, the popup won't close when a value is selected.
|
|
37
|
+
*/
|
|
38
|
+
disableCloseOnSelect?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* If `true`, `value` must be an array and the menu will support multiple selections.
|
|
41
|
+
*/
|
|
42
|
+
multiple?: Multiple;
|
|
43
|
+
/**
|
|
44
|
+
* If provided, the options will be grouped under the returned string.
|
|
45
|
+
*/
|
|
46
|
+
groupBy?: (option: T) => string;
|
|
47
|
+
/**
|
|
48
|
+
* Used to determine the string value for a given option. It's used to fill the input.
|
|
49
|
+
*/
|
|
50
|
+
getOptionLabel?: (option: T) => string;
|
|
51
|
+
/**
|
|
52
|
+
* A filter function that determines the options that are eligible.
|
|
53
|
+
*/
|
|
54
|
+
filterOptions?: FilterOptionsType;
|
|
55
|
+
/**
|
|
56
|
+
* Callback fired when the popup requests to be closed.
|
|
57
|
+
*/
|
|
58
|
+
onClose?: (event: React.SyntheticEvent) => void;
|
|
59
|
+
/**
|
|
60
|
+
* Callback fired when the popup requests to be opened.
|
|
61
|
+
*/
|
|
62
|
+
onOpen?: (event: React.SyntheticEvent) => void;
|
|
63
|
+
/**
|
|
64
|
+
* Callback fired when the value changes.
|
|
65
|
+
*/
|
|
66
|
+
onChange?: (event: React.SyntheticEvent, value: AutocompleteValue<T, Multiple>) => void;
|
|
67
|
+
/**
|
|
68
|
+
* Callback fired when the input value changes.
|
|
69
|
+
*/
|
|
70
|
+
onInputChange?: (event: React.SyntheticEvent, value: string) => void;
|
|
71
|
+
};
|
|
72
|
+
export declare type UseAutocompleteReturnType<T, Multiple extends boolean | undefined = undefined> = {
|
|
73
|
+
groupedOptions: T[] | AutocompleteGroupedOption<T>[];
|
|
74
|
+
value: AutocompleteValue<T, Multiple>;
|
|
75
|
+
searchValue: string;
|
|
76
|
+
popupOpen: boolean;
|
|
77
|
+
id: string;
|
|
78
|
+
getOptionProps: (option: T, index: number) => React.HTMLAttributes<HTMLLIElement>;
|
|
79
|
+
getListboxProps: () => React.HTMLAttributes<HTMLUListElement>;
|
|
80
|
+
getRootProps: () => React.HTMLAttributes<HTMLDivElement>;
|
|
81
|
+
getInputProps: () => React.HTMLAttributes<HTMLInputElement>;
|
|
82
|
+
getPopoverProps: () => Pick<Required<PopoverProps>, 'open' | 'anchorEl' | 'onClose' | 'onKeyDown'>;
|
|
83
|
+
getTagProps: (option: T, index: number) => {
|
|
84
|
+
key: number;
|
|
85
|
+
'data-tag-index': number;
|
|
86
|
+
tabIndex: -1;
|
|
87
|
+
onDelete: (event: React.SyntheticEvent) => void;
|
|
88
|
+
};
|
|
89
|
+
getOptionLabel?: (option: T) => string;
|
|
90
|
+
};
|
|
91
|
+
export declare function useAutocomplete<T, Multiple extends boolean | undefined = undefined>(props: UseAutocompleteProps<T, Multiple>): UseAutocompleteReturnType<T, Multiple>;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export * from './Popover';
|
|
|
19
19
|
export * from './Portal';
|
|
20
20
|
export * from './Radio';
|
|
21
21
|
export * from './Select';
|
|
22
|
-
export * from './
|
|
22
|
+
export * from './Autocomplete';
|
|
23
23
|
export * from './Slide';
|
|
24
24
|
export * from './Slider';
|
|
25
25
|
export * from './Tabs';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peculiar/react-components",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.0.2-alpha.
|
|
4
|
+
"version": "0.0.2-alpha.270+3d51d70",
|
|
5
5
|
"author": "PeculiarVentures Team",
|
|
6
6
|
"description": "A simple and customizable component library to build faster, beautiful, and more accessible React applications.",
|
|
7
7
|
"keywords": [
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"directory": "packages/react-components"
|
|
23
23
|
},
|
|
24
24
|
"scripts": {
|
|
25
|
-
"
|
|
25
|
+
"start": "start-storybook -p 3000 -s ./.storybook/static",
|
|
26
26
|
"prebuild": "yarn clean",
|
|
27
27
|
"build": "yarn build:esm && yarn build:cjs && yarn build:esnext",
|
|
28
28
|
"build:esm": "tsc -p tsconfig.build.json",
|
|
@@ -41,32 +41,32 @@
|
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@emotion/core": "^10.1.1",
|
|
43
43
|
"@emotion/css": "^11.7.1",
|
|
44
|
-
"@peculiar/color": "^0.0.2-alpha.
|
|
44
|
+
"@peculiar/color": "^0.0.2-alpha.270+3d51d70",
|
|
45
45
|
"@popperjs/core": "^2.11.2",
|
|
46
46
|
"@types/flat": "^5.0.2",
|
|
47
47
|
"@types/react-transition-group": "^4.4.4",
|
|
48
48
|
"copy-to-clipboard": "^3.3.1",
|
|
49
49
|
"deepmerge": "^4.2.2",
|
|
50
50
|
"flat": "^5.0.2",
|
|
51
|
-
"focus-trap": "^6.7.
|
|
52
|
-
"nanoid": "^3.
|
|
51
|
+
"focus-trap": "^6.7.3",
|
|
52
|
+
"nanoid": "^3.3.1",
|
|
53
53
|
"react-popper": "^2.2.5",
|
|
54
54
|
"react-transition-group": "^4.4.2"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@storybook/addon-a11y": "^6.4.
|
|
58
|
-
"@storybook/addon-actions": "^6.4.
|
|
59
|
-
"@storybook/addon-controls": "^6.4.
|
|
60
|
-
"@storybook/addon-docs": "^6.4.
|
|
61
|
-
"@storybook/addon-viewport": "^6.4.
|
|
62
|
-
"@storybook/react": "^6.4.
|
|
63
|
-
"@storybook/theming": "^6.4.
|
|
57
|
+
"@storybook/addon-a11y": "^6.4.19",
|
|
58
|
+
"@storybook/addon-actions": "^6.4.19",
|
|
59
|
+
"@storybook/addon-controls": "^6.4.19",
|
|
60
|
+
"@storybook/addon-docs": "^6.4.19",
|
|
61
|
+
"@storybook/addon-viewport": "^6.4.19",
|
|
62
|
+
"@storybook/react": "^6.4.19",
|
|
63
|
+
"@storybook/theming": "^6.4.19",
|
|
64
64
|
"@testing-library/jest-dom": "^5.16.2",
|
|
65
65
|
"@testing-library/react": "^11.2.7",
|
|
66
66
|
"@testing-library/user-event": "^13.5.0",
|
|
67
|
-
"@types/jest": "^27.4.
|
|
68
|
-
"@types/react": "^17.0.
|
|
69
|
-
"@types/react-dom": "^17.0.
|
|
67
|
+
"@types/jest": "^27.4.1",
|
|
68
|
+
"@types/react": "^17.0.39",
|
|
69
|
+
"@types/react-dom": "^17.0.13",
|
|
70
70
|
"awesome-typescript-loader": "^5.2.1",
|
|
71
71
|
"jest": "^27.4.7",
|
|
72
72
|
"jest-watch-typeahead": "^1.0.0",
|
|
@@ -84,5 +84,5 @@
|
|
|
84
84
|
"node": ">=12.x"
|
|
85
85
|
},
|
|
86
86
|
"license": "MIT",
|
|
87
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "3d51d709039c9a75df75d4b11cbc03a25febc2fb"
|
|
88
88
|
}
|
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
16
|
-
}) : (function(o, m, k, k2) {
|
|
17
|
-
if (k2 === undefined) k2 = k;
|
|
18
|
-
o[k2] = m[k];
|
|
19
|
-
}));
|
|
20
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
-
}) : function(o, v) {
|
|
23
|
-
o["default"] = v;
|
|
24
|
-
});
|
|
25
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
-
if (mod && mod.__esModule) return mod;
|
|
27
|
-
var result = {};
|
|
28
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
-
__setModuleDefault(result, mod);
|
|
30
|
-
return result;
|
|
31
|
-
};
|
|
32
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
33
|
-
var t = {};
|
|
34
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
35
|
-
t[p] = s[p];
|
|
36
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
37
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
38
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
39
|
-
t[p[i]] = s[p[i]];
|
|
40
|
-
}
|
|
41
|
-
return t;
|
|
42
|
-
};
|
|
43
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
44
|
-
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
45
|
-
to[j] = from[i];
|
|
46
|
-
return to;
|
|
47
|
-
};
|
|
48
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
-
exports.ComboBox = void 0;
|
|
50
|
-
var React = __importStar(require("react"));
|
|
51
|
-
var Popover_1 = require("../Popover");
|
|
52
|
-
var Typography_1 = require("../Typography");
|
|
53
|
-
var Chip_1 = require("../Chip");
|
|
54
|
-
var icons_1 = require("../icons");
|
|
55
|
-
var hooks_1 = require("../hooks");
|
|
56
|
-
var styles_1 = require("../styles");
|
|
57
|
-
var stylesInputBase = function () { return styles_1.css({
|
|
58
|
-
label: 'ComboBox-input',
|
|
59
|
-
fontFamily: 'inherit',
|
|
60
|
-
outline: 'none',
|
|
61
|
-
boxSizing: 'border-box',
|
|
62
|
-
width: '100%',
|
|
63
|
-
borderRadius: '4px',
|
|
64
|
-
color: 'var(--pv-color-black)',
|
|
65
|
-
backgroundColor: 'var(--pv-color-gray-1)',
|
|
66
|
-
borderStyle: 'solid',
|
|
67
|
-
borderWidth: '1px',
|
|
68
|
-
borderColor: 'var(--pv-color-gray-8)',
|
|
69
|
-
transition: 'background-color 200ms, color 200ms, border-color 200ms',
|
|
70
|
-
display: 'block',
|
|
71
|
-
appearance: 'none',
|
|
72
|
-
height: 'auto',
|
|
73
|
-
overflow: 'hidden',
|
|
74
|
-
whiteSpace: 'nowrap',
|
|
75
|
-
textOverflow: 'ellipsis',
|
|
76
|
-
cursor: 'pointer',
|
|
77
|
-
userSelect: 'none',
|
|
78
|
-
position: 'relative',
|
|
79
|
-
minHeight: 'var(--pv-size-base-8)',
|
|
80
|
-
padding: 'var(--pv-size-base-half) calc(var(--pv-size-base-2) + 24px) var(--pv-size-base-half) var(--pv-size-base-half)',
|
|
81
|
-
'&::placeholder': {
|
|
82
|
-
color: 'var(--pv-color-gray-9)',
|
|
83
|
-
},
|
|
84
|
-
'&:hover': {
|
|
85
|
-
backgroundColor: 'var(--pv-color-gray-3)',
|
|
86
|
-
borderColor: 'var(--pv-color-gray-7)',
|
|
87
|
-
},
|
|
88
|
-
'&:disabled': {
|
|
89
|
-
cursor: 'not-allowed',
|
|
90
|
-
backgroundColor: 'var(--pv-color-gray-1)',
|
|
91
|
-
borderColor: 'var(--pv-color-gray-5)',
|
|
92
|
-
color: 'var(--pv-color-gray-7)',
|
|
93
|
-
},
|
|
94
|
-
'&:not(:disabled)': {
|
|
95
|
-
'&[aria-invalid]': {
|
|
96
|
-
backgroundColor: 'var(--pv-color-wrong-tint-5)',
|
|
97
|
-
borderColor: 'var(--pv-color-wrong-tint-3)',
|
|
98
|
-
},
|
|
99
|
-
'&:focus': {
|
|
100
|
-
backgroundColor: 'var(--pv-color-secondary-tint-5)',
|
|
101
|
-
borderColor: 'var(--pv-color-secondary-tint-3)',
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
|
-
}, {
|
|
105
|
-
fontWeight: 'var(--pv-text-c1-weight)',
|
|
106
|
-
fontSize: 'var(--pv-text-c1-size)',
|
|
107
|
-
lineHeight: 'var(--pv-text-c1-height)',
|
|
108
|
-
letterSpacing: 'var(--pv-text-c1-spacing)',
|
|
109
|
-
}); };
|
|
110
|
-
var stylesChipsContainer = function () { return styles_1.css({
|
|
111
|
-
label: 'ComboBox-chips-container',
|
|
112
|
-
display: 'flex',
|
|
113
|
-
flexWrap: 'wrap',
|
|
114
|
-
}); };
|
|
115
|
-
var stylesChip = function () { return styles_1.css({
|
|
116
|
-
label: 'ComboBox-chip',
|
|
117
|
-
margin: '2px',
|
|
118
|
-
}); };
|
|
119
|
-
var stylesMenuList = function () { return styles_1.css({
|
|
120
|
-
label: 'ComboBox-menu-list',
|
|
121
|
-
padding: 'var(--pv-size-base-2) 0px',
|
|
122
|
-
outline: 'none',
|
|
123
|
-
minWidth: '220px',
|
|
124
|
-
}); };
|
|
125
|
-
var stylesMenuItem = function () { return styles_1.css({
|
|
126
|
-
label: 'ComboBox-menu-item',
|
|
127
|
-
padding: '0px var(--pv-size-base-2)',
|
|
128
|
-
fontFamily: 'inherit',
|
|
129
|
-
outline: 'none',
|
|
130
|
-
width: '100%',
|
|
131
|
-
height: 'var(--pv-size-base-7)',
|
|
132
|
-
display: 'flex',
|
|
133
|
-
textAlign: 'left',
|
|
134
|
-
alignItems: 'center',
|
|
135
|
-
justifyContent: 'flex-start',
|
|
136
|
-
textDecoration: 'none',
|
|
137
|
-
userSelect: 'none',
|
|
138
|
-
cursor: 'pointer',
|
|
139
|
-
transition: 'background-color 200ms',
|
|
140
|
-
backgroundColor: 'transparent',
|
|
141
|
-
border: 'none',
|
|
142
|
-
color: 'var(--pv-color-black)',
|
|
143
|
-
'&:not(:disabled)': {
|
|
144
|
-
'&:hover': {
|
|
145
|
-
backgroundColor: 'var(--pv-color-gray-3)',
|
|
146
|
-
},
|
|
147
|
-
'&:focus': {
|
|
148
|
-
backgroundColor: 'var(--pv-color-gray-4)',
|
|
149
|
-
},
|
|
150
|
-
'&:active': {
|
|
151
|
-
backgroundColor: 'var(--pv-color-gray-5)',
|
|
152
|
-
},
|
|
153
|
-
},
|
|
154
|
-
'&:disabled': {
|
|
155
|
-
color: 'var(--pv-color-gray-7)',
|
|
156
|
-
cursor: 'not-allowed',
|
|
157
|
-
},
|
|
158
|
-
}); };
|
|
159
|
-
var stylesLabel = function () { return styles_1.css({
|
|
160
|
-
label: 'ComboBox-label',
|
|
161
|
-
marginBottom: '2px',
|
|
162
|
-
display: 'inline-block',
|
|
163
|
-
}); };
|
|
164
|
-
var stylesCheckbox = function () { return styles_1.css({
|
|
165
|
-
label: 'ComboBox-checkbox',
|
|
166
|
-
width: 'var(--pv-size-base-4)',
|
|
167
|
-
height: 'var(--pv-size-base-4)',
|
|
168
|
-
margin: '0px var(--pv-size-base-2) 0 var(--pv-size-base)',
|
|
169
|
-
}); };
|
|
170
|
-
var stylesInputArrowIcon = function () { return styles_1.css({
|
|
171
|
-
label: 'ComboBox-arrow-icon',
|
|
172
|
-
position: 'absolute',
|
|
173
|
-
right: '0px',
|
|
174
|
-
top: 'calc(50% - 12px)',
|
|
175
|
-
pointerEvents: 'none',
|
|
176
|
-
margin: '0px var(--pv-size-base)',
|
|
177
|
-
color: 'var(--pv-color-gray-10)',
|
|
178
|
-
}); };
|
|
179
|
-
exports.ComboBox = React.forwardRef(function (props, ref) {
|
|
180
|
-
var options = props.options, name = props.name, defaultValue = props.defaultValue, className = props.className, labelProp = props.label, onChange = props.onChange, other = __rest(props, ["options", "name", "defaultValue", "className", "label", "onChange"]);
|
|
181
|
-
var _a = React.useState(false), open = _a[0], setOpen = _a[1];
|
|
182
|
-
var _b = React.useState(defaultValue || []), selected = _b[0], setSelected = _b[1];
|
|
183
|
-
var rootRef = React.useRef(null);
|
|
184
|
-
var multiRef = hooks_1.useMergedRef(ref, rootRef);
|
|
185
|
-
var handleRootClick = function () {
|
|
186
|
-
setOpen(true);
|
|
187
|
-
};
|
|
188
|
-
var handleRootKeyDown = function (event) {
|
|
189
|
-
if (event.key === 'Enter') {
|
|
190
|
-
setOpen(true);
|
|
191
|
-
}
|
|
192
|
-
};
|
|
193
|
-
var handlePopoverClose = function () {
|
|
194
|
-
setOpen(false);
|
|
195
|
-
};
|
|
196
|
-
var handleMenuItemClick = function (option) { return function () {
|
|
197
|
-
var newSelected = [];
|
|
198
|
-
if (selected.includes(option.value)) {
|
|
199
|
-
newSelected = selected.filter(function (value) { return value !== option.value; });
|
|
200
|
-
}
|
|
201
|
-
else {
|
|
202
|
-
newSelected = __spreadArray(__spreadArray([], selected), [
|
|
203
|
-
option.value,
|
|
204
|
-
]);
|
|
205
|
-
}
|
|
206
|
-
setSelected(newSelected);
|
|
207
|
-
if (onChange) {
|
|
208
|
-
var event_1 = new Event('change');
|
|
209
|
-
Object.defineProperty(event_1, 'target', {
|
|
210
|
-
writable: true,
|
|
211
|
-
value: {
|
|
212
|
-
name: name,
|
|
213
|
-
value: newSelected,
|
|
214
|
-
},
|
|
215
|
-
});
|
|
216
|
-
onChange(event_1);
|
|
217
|
-
}
|
|
218
|
-
}; };
|
|
219
|
-
var renderOption = function (option) {
|
|
220
|
-
var value = option.value, label = option.label, disabled = option.disabled;
|
|
221
|
-
var isSelected = selected.includes(value);
|
|
222
|
-
return (React.createElement("button", { key: value, type: "button",
|
|
223
|
-
// eslint-disable-next-line jsx-a11y/role-has-required-aria-props
|
|
224
|
-
role: "option", onClick: handleMenuItemClick(option), disabled: disabled, "data-value": value, "aria-selected": isSelected, className: styles_1.cx(stylesMenuItem()) },
|
|
225
|
-
React.createElement("input", { type: "checkbox", checked: isSelected, tabIndex: -1, readOnly: true, className: styles_1.cx(stylesCheckbox()) }),
|
|
226
|
-
React.createElement(Typography_1.Typography, { variant: "b3" }, label)));
|
|
227
|
-
};
|
|
228
|
-
var renderHiddenInputs = function () { return (React.createElement("div", null,
|
|
229
|
-
React.createElement("input", { type: "hidden", value: selected.join(','), name: name }))); };
|
|
230
|
-
var renderSelectedValue = function (option) {
|
|
231
|
-
var value = option.value, label = option.label;
|
|
232
|
-
return (React.createElement(Chip_1.Chip, { key: value, className: styles_1.cx(stylesChip()), onDelete: handleMenuItemClick(option) }, label));
|
|
233
|
-
};
|
|
234
|
-
var renderSelectedValues = function () {
|
|
235
|
-
if (!selected.length) {
|
|
236
|
-
return null;
|
|
237
|
-
}
|
|
238
|
-
return (React.createElement("div", { className: styles_1.cx(stylesChipsContainer()) }, options.map(function (option) {
|
|
239
|
-
if (selected.includes(option.value)) {
|
|
240
|
-
return renderSelectedValue(option);
|
|
241
|
-
}
|
|
242
|
-
return null;
|
|
243
|
-
})));
|
|
244
|
-
};
|
|
245
|
-
return (React.createElement(React.Fragment, null,
|
|
246
|
-
React.createElement("div", __assign({}, other, { ref: multiRef, className: className }),
|
|
247
|
-
labelProp && (
|
|
248
|
-
// eslint-disable-next-line jsx-a11y/label-has-associated-control
|
|
249
|
-
React.createElement("label", { className: styles_1.cx(stylesLabel()) },
|
|
250
|
-
React.createElement(Typography_1.Typography, { component: "span", variant: "c2", color: "gray-10" }, labelProp))),
|
|
251
|
-
React.createElement("div", { tabIndex: 0, role: "button", "aria-haspopup": "listbox", onClick: handleRootClick, onKeyDown: handleRootKeyDown, className: styles_1.cx(stylesInputBase()) },
|
|
252
|
-
renderSelectedValues(),
|
|
253
|
-
React.createElement(icons_1.ArrowDropDownIcon, { className: styles_1.cx(stylesInputArrowIcon()), "aria-hidden": true })),
|
|
254
|
-
renderHiddenInputs()),
|
|
255
|
-
React.createElement(Popover_1.Popover, { modalProps: {
|
|
256
|
-
disableAutoFocus: true,
|
|
257
|
-
}, ref: ref, open: open, anchorEl: rootRef.current, onClose: handlePopoverClose, placement: "bottom-start" },
|
|
258
|
-
React.createElement("div", { role: "listbox", tabIndex: -1, className: styles_1.cx(stylesMenuList()) }, options.map(function (option) { return renderOption(option); })))));
|
|
259
|
-
});
|
|
260
|
-
exports.ComboBox.displayName = 'ComboBox';
|
|
261
|
-
exports.ComboBox.defaultProps = {};
|
|
262
|
-
//# sourceMappingURL=combo_box.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"combo_box.js","sourceRoot":"","sources":["../../../src/ComboBox/combo_box.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ComboBox = void 0;
|
|
4
|
-
var combo_box_1 = require("./combo_box");
|
|
5
|
-
Object.defineProperty(exports, "ComboBox", { enumerable: true, get: function () { return combo_box_1.ComboBox; } });
|
|
6
|
-
//# sourceMappingURL=index.js.map
|