@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 isIncluded: (items: Item[], currentItem: Item) => boolean;
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 isIncluded = (items, currentItem) => items.some(({ value }) => value === currentItem.value);
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 && options.filter(option => !isIncluded(values, option));
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,UAAU,GAAG,CAAC,KAAa,EAAE,WAAiB,EAAE,EAAE,CAC7D,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAC,CAAA;AAExD,MAAM,WAAW,GAAG,CAAC,IAAiB,EAAE,EAAE,CACxC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAA;AAkE1C,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CACnC,SAAS,WAAW,CAAC,KAAK,EAAE,GAAG;IAC7B,MAAM,EACJ,QAAQ,EACR,cAAc,EACd,eAAe,GAAG,WAAW,EAC7B,MAAM,EAAE,YAAY,EACpB,UAAU,GAAG,EAAE,EACf,OAAO,EACP,aAAa,EACb,MAAM,EACN,QAAQ,GAAG,IAAI,EACf,OAAO,EACP,aAAa,GAAG,IAAI,EACpB,mBAAmB,GAAG,IAAI,EAC1B,OAAO,GAAG,EAAE,EACZ,gBAAgB,EAChB,WAAW,EACX,WAAW,EAAE,iBAAiB,EAC9B,YAAY,EACZ,eAAe,EACf,KAAK,EAAE,MAAM,GAAG,EAAE,EAClB,KAAK,EACL,eAAe,EACf,aAAa,EACb,KAAK,EACL,MAAM,EACN,OAAO,KAEL,KAAK,EADJ,IAAI,UACL,KAAK,EA3BH,kWA2BL,CAAQ,CAAA;IAET,yBAAyB,CAAC;QACxB,KAAK;QACL,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,aAAa;QAC5B,WAAW,EACT,qGAAqG;KACxG,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,CAAC,KAAW,EAAE,EAAE;QACnC,IAAI,QAAQ,EAAE;YACZ,OAAM;SACP;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAEnC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,CACpB,KAAsC,EACtC,aAAqB,EACrB,EAAE;QACF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAA;QAClC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,KAAK,WAAW,CAAA;QAE5C,IAAI,YAAY,IAAI,CAAC,aAAa,IAAI,UAAU,EAAE;YAChD,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;SACxC;IACH,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,CAAC,gBAAkC,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,gBAAwB,CAAA;QAErC,QAAQ,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;QAC3B,aAAa,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC,CAAA;IAED,MAAM,uBAAuB,GAAG,CAAC,KAAa,EAAE,EAAE;QAChD,aAAa,CAAC,EAAE,CAAC,CAAA;QACjB,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,CAAC,IAAU,EAAU,EAAE;QACpC,IAAI,YAAY,EAAE;YAChB,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;SAC1B;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC5B,OAAO,IAAI,CAAC,KAAK,CAAA;SAClB;QAED,cAAc,CACZ,8EAA8E,CAC/E,CAAA;QAED,OAAO,EAAE,CAAA;IACX,CAAC,CAAA;IAED,MAAM,mBAAmB,GACvB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAElE,MAAM,WAAW,GAAG,CAAC,IAAU,EAAE,EAAE;QACjC,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAEjD,IAAI,iBAAiB,EAAE;YACrB,OAAO,iBAAiB,CAAC;gBACvB,QAAQ;gBACR,IAAI;gBACJ,YAAY;gBACZ,QAAQ,EAAE,gBAAgB;aAC3B,CAAC,CAAA;SACH;QAED,OAAO,CACL,oBAAC,gBAAgB,IAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,IAC7D,YAAY,CACI,CACpB,CAAA;IACH,CAAC,CAAA;IAED,OAAO,CACL,oBAAC,YAAY,oBACP,IAAI,IACR,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAChC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAC1D,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,YAAY,EACtB,mBAAmB,EAAE,uBAAuB,EAC5C,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACjC,oBAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAG,WAAW,CAAC,IAAI,CAAC,CAAY,CAC5D,CAAC,EACF,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,gBAA6C,EAC7D,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,gBAAgB,EACjC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,KAAK,EAClB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,IAChB,CACH,CAAA;AACH,CAAC,CACF,CAAA;AAED,WAAW,CAAC,YAAY,GAAG;IACzB,cAAc,EAAE,KAAK;IACrB,eAAe,EAAE,WAAW;IAC5B,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,IAAI;IACd,aAAa,EAAE,IAAI;IACnB,mBAAmB,EAAE,IAAI;IACzB,OAAO,EAAE,EAAE;IACX,gBAAgB,EAAE,kBAAkB;IACpC,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,EAAE;IACf,eAAe,EAAE,KAAK;IACtB,MAAM,EAAE,SAAS;CAClB,CAAA;AAED,WAAW,CAAC,WAAW,GAAG,aAAa,CAAA;AAEvC,eAAe,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;IACxC,KAAK,EAAE,gBAAgB;CACxB,CAAC,CAAA"}
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.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": "^1.2.0",
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",