@toptal/picasso 26.0.0 → 26.0.1
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.
|
@@ -6,7 +6,7 @@ import { Status } from '../OutlinedInput';
|
|
|
6
6
|
export interface Item extends AutocompleteItem {
|
|
7
7
|
value?: string;
|
|
8
8
|
}
|
|
9
|
-
export declare const
|
|
9
|
+
export declare const filterOutSelectedOptions: (options: Item[] | null, values: Item[], getKey?: (item: Item) => string | undefined) => AutocompleteItem[] | null;
|
|
10
10
|
export interface Props extends BaseProps, Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value'> {
|
|
11
11
|
/** Placeholder for value */
|
|
12
12
|
placeholder?: string;
|
|
@@ -17,7 +17,13 @@ import unsafeErrorLog from '../utils/unsafe-error-log';
|
|
|
17
17
|
import noop from '../utils/noop';
|
|
18
18
|
import { usePropDeprecationWarning } from '../utils/use-deprecation-warnings';
|
|
19
19
|
const EMPTY_INPUT_VALUE = '';
|
|
20
|
-
export const
|
|
20
|
+
export const filterOutSelectedOptions = (options, values, getKey = (item) => item.value) => {
|
|
21
|
+
if (!options) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
const valuesKeySet = values.reduce((acc, item) => acc.add(getKey(item)), new Set());
|
|
25
|
+
return options.filter(option => !valuesKeySet.has(getKey(option)));
|
|
26
|
+
};
|
|
21
27
|
const getItemText = (item) => (item && item.text) || EMPTY_INPUT_VALUE;
|
|
22
28
|
export const TagSelector = forwardRef(function TagSelector(props, ref) {
|
|
23
29
|
const { disabled, enableAutofill, getDisplayValue = getItemText, getKey: customGetKey, inputValue = '', loading, noOptionsText, onBlur, onChange = noop, onFocus, onInputChange = noop, onOtherOptionSelect = noop, options = [], otherOptionLabel, placeholder, renderLabel: customRenderLabel, renderOption, showOtherOption, value: values = [], width, popperContainer, popperOptions, error, status, testIds } = props, rest = __rest(props, ["disabled", "enableAutofill", "getDisplayValue", "getKey", "inputValue", "loading", "noOptionsText", "onBlur", "onChange", "onFocus", "onInputChange", "onOtherOptionSelect", "options", "otherOptionLabel", "placeholder", "renderLabel", "renderOption", "showOtherOption", "value", "width", "popperContainer", "popperOptions", "error", "status", "testIds"]);
|
|
@@ -60,7 +66,8 @@ export const TagSelector = forwardRef(function TagSelector(props, ref) {
|
|
|
60
66
|
unsafeErrorLog('TagSelector expects you to provide key prop value with getKey or Item.value!');
|
|
61
67
|
return '';
|
|
62
68
|
};
|
|
63
|
-
const autocompleteOptions = options
|
|
69
|
+
const autocompleteOptions = filterOutSelectedOptions(options, values, getKey);
|
|
70
|
+
console.log(values, autocompleteOptions);
|
|
64
71
|
const renderLabel = (item) => {
|
|
65
72
|
const displayValue = getDisplayValue(item);
|
|
66
73
|
const handleItemDelete = () => handleDelete(item);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagSelector.js","sourceRoot":"","sources":["../../src/TagSelector/TagSelector.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAEZ,UAAU,EAKV,QAAQ,GACT,MAAM,OAAO,CAAA;AAId,OAAO,YAA0C,MAAM,iBAAiB,CAAA;AACxE,OAAO,gBAAgB,MAAM,qBAAqB,CAAA;AAElD,OAAO,gBAAgB,MAAM,qBAAqB,CAAA;AAClD,OAAO,cAAc,MAAM,2BAA2B,CAAA;AACtD,OAAO,IAAI,MAAM,eAAe,CAAA;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAO7E,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAE5B,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"TagSelector.js","sourceRoot":"","sources":["../../src/TagSelector/TagSelector.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toptal/picasso",
|
|
3
|
-
"version": "26.0.
|
|
3
|
+
"version": "26.0.1",
|
|
4
4
|
"description": "Toptal UI components library",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@babel/types": "^7.15.0",
|
|
61
|
-
"@toptal/picasso-provider": "
|
|
61
|
+
"@toptal/picasso-provider": "1.2.0",
|
|
62
62
|
"@testing-library/jest-dom": "^5.16.4",
|
|
63
63
|
"@testing-library/react": "^13.0.0",
|
|
64
64
|
"@testing-library/react-hooks": "^7.0.2",
|