@toptal/picasso-select 1.0.30 → 2.0.0
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-package/src/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/dist-package/src/NativeSelect/NativeSelect.js +18 -23
- package/dist-package/src/NativeSelect/NativeSelect.js.map +1 -1
- package/dist-package/src/NativeSelect/NativeSelectInput.d.ts +9 -0
- package/dist-package/src/NativeSelect/NativeSelectInput.d.ts.map +1 -0
- package/dist-package/src/NativeSelect/NativeSelectInput.js +27 -0
- package/dist-package/src/NativeSelect/NativeSelectInput.js.map +1 -0
- package/dist-package/src/NonNativeSelect/NonNativeSelect.d.ts.map +1 -1
- package/dist-package/src/NonNativeSelect/NonNativeSelect.js +12 -18
- package/dist-package/src/NonNativeSelect/NonNativeSelect.js.map +1 -1
- package/dist-package/src/NonNativeSelectLimitFooter/NonNativeSelectLimitFooter.d.ts.map +1 -1
- package/dist-package/src/NonNativeSelectLimitFooter/NonNativeSelectLimitFooter.js +1 -5
- package/dist-package/src/NonNativeSelectLimitFooter/NonNativeSelectLimitFooter.js.map +1 -1
- package/dist-package/src/NonNativeSelectOptions/NonNativeSelectOptions.d.ts.map +1 -1
- package/dist-package/src/NonNativeSelectOptions/NonNativeSelectOptions.js +1 -5
- package/dist-package/src/NonNativeSelectOptions/NonNativeSelectOptions.js.map +1 -1
- package/dist-package/src/ScrollMenu/ScrollMenu.d.ts.map +1 -1
- package/dist-package/src/ScrollMenu/ScrollMenu.js +3 -9
- package/dist-package/src/ScrollMenu/ScrollMenu.js.map +1 -1
- package/dist-package/src/SelectCaret/SelectCaret.d.ts.map +1 -1
- package/dist-package/src/SelectCaret/SelectCaret.js +11 -8
- package/dist-package/src/SelectCaret/SelectCaret.js.map +1 -1
- package/dist-package/src/SelectOptions/SelectOptions.d.ts.map +1 -1
- package/dist-package/src/SelectOptions/SelectOptions.js +2 -11
- package/dist-package/src/SelectOptions/SelectOptions.js.map +1 -1
- package/package.json +14 -12
- package/src/NativeSelect/NativeSelect.tsx +54 -56
- package/src/NativeSelect/NativeSelectInput.tsx +51 -0
- package/src/NativeSelect/__snapshots__/test.tsx.snap +10 -36
- package/src/NonNativeSelect/NonNativeSelect.tsx +21 -23
- package/src/NonNativeSelect/__snapshots__/test.tsx.snap +45 -62
- package/src/NonNativeSelectLimitFooter/NonNativeSelectLimitFooter.tsx +1 -9
- package/src/NonNativeSelectLimitFooter/__snapshots__/test.tsx.snap +5 -5
- package/src/NonNativeSelectLoader/__snapshots__/test.tsx.snap +11 -9
- package/src/NonNativeSelectOption/__snapshots__/test.tsx.snap +14 -16
- package/src/NonNativeSelectOptions/NonNativeSelectOptions.tsx +1 -7
- package/src/NonNativeSelectOptions/__snapshots__/test.tsx.snap +51 -51
- package/src/ScrollMenu/ScrollMenu.tsx +8 -12
- package/src/ScrollMenu/__snapshots__/test.tsx.snap +17 -17
- package/src/Select/story/index.jsx +1 -1
- package/src/SelectCaret/SelectCaret.tsx +10 -12
- package/src/SelectCaret/__snapshots__/test.tsx.snap +2 -2
- package/src/SelectOptions/SelectOptions.tsx +5 -15
- package/dist-package/src/NativeSelect/styles.d.ts +0 -6
- package/dist-package/src/NativeSelect/styles.d.ts.map +0 -1
- package/dist-package/src/NativeSelect/styles.js +0 -54
- package/dist-package/src/NativeSelect/styles.js.map +0 -1
- package/dist-package/src/NonNativeSelect/styles.d.ts +0 -7
- package/dist-package/src/NonNativeSelect/styles.d.ts.map +0 -1
- package/dist-package/src/NonNativeSelect/styles.js +0 -56
- package/dist-package/src/NonNativeSelect/styles.js.map +0 -1
- package/dist-package/src/NonNativeSelectLimitFooter/styles.d.ts +0 -4
- package/dist-package/src/NonNativeSelectLimitFooter/styles.d.ts.map +0 -1
- package/dist-package/src/NonNativeSelectLimitFooter/styles.js +0 -10
- package/dist-package/src/NonNativeSelectLimitFooter/styles.js.map +0 -1
- package/dist-package/src/NonNativeSelectOptions/styles.d.ts +0 -3
- package/dist-package/src/NonNativeSelectOptions/styles.d.ts.map +0 -1
- package/dist-package/src/NonNativeSelectOptions/styles.js +0 -7
- package/dist-package/src/NonNativeSelectOptions/styles.js.map +0 -1
- package/dist-package/src/ScrollMenu/styles.d.ts +0 -4
- package/dist-package/src/ScrollMenu/styles.d.ts.map +0 -1
- package/dist-package/src/ScrollMenu/styles.js +0 -19
- package/dist-package/src/ScrollMenu/styles.js.map +0 -1
- package/dist-package/src/Select/styles.d.ts +0 -7
- package/dist-package/src/Select/styles.d.ts.map +0 -1
- package/dist-package/src/Select/styles.js +0 -49
- package/dist-package/src/Select/styles.js.map +0 -1
- package/dist-package/src/SelectCaret/styles.d.ts +0 -4
- package/dist-package/src/SelectCaret/styles.d.ts.map +0 -1
- package/dist-package/src/SelectCaret/styles.js +0 -21
- package/dist-package/src/SelectCaret/styles.js.map +0 -1
- package/dist-package/src/SelectOptions/styles.d.ts +0 -4
- package/dist-package/src/SelectOptions/styles.d.ts.map +0 -1
- package/dist-package/src/SelectOptions/styles.js +0 -19
- package/dist-package/src/SelectOptions/styles.js.map +0 -1
- package/src/NativeSelect/styles.ts +0 -57
- package/src/NonNativeSelect/styles.ts +0 -59
- package/src/NonNativeSelectLimitFooter/styles.ts +0 -12
- package/src/NonNativeSelectOptions/styles.ts +0 -8
- package/src/ScrollMenu/styles.ts +0 -23
- package/src/Select/styles.ts +0 -52
- package/src/SelectCaret/styles.ts +0 -23
- package/src/SelectOptions/styles.ts +0 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeSelect.d.ts","sourceRoot":"","sources":["../../../src/NativeSelect/NativeSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"NativeSelect.d.ts","sourceRoot":"","sources":["../../../src/NativeSelect/NativeSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAA;AAWrC,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAuB3D,eAAO,MAAM,YAAY;;0FAkJxB,CAAA;AAqBD,eAAe,YAAY,CAAA"}
|
|
@@ -10,19 +10,20 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import React, { useRef } from 'react';
|
|
13
|
-
import cx from 'classnames';
|
|
14
|
-
import { NativeSelect as MUINativeSelect } from '@material-ui/core';
|
|
15
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
16
|
-
import capitalize from '@material-ui/core/utils/capitalize';
|
|
17
13
|
import { OutlinedInput } from '@toptal/picasso-outlined-input';
|
|
18
14
|
import { documentable, forwardRef, noop, useCombinedRefs, } from '@toptal/picasso-utils';
|
|
15
|
+
import { twJoin, twMerge } from '@toptal/picasso-tailwind-merge';
|
|
19
16
|
import { SelectCaret } from '../SelectCaret';
|
|
20
17
|
import { getOptionText, useAdornments, useSelectState, useSelectProps, renderOption as defaultRenderOption, } from '../SelectBase';
|
|
21
18
|
import NativeSelectOptions from '../NativeSelectOptions';
|
|
22
19
|
import NativeSelectPlaceholder from '../NativeSelectPlaceholder';
|
|
23
|
-
import
|
|
24
|
-
const useStyles = makeStyles(styles);
|
|
20
|
+
import { NativeSelectInput } from './NativeSelectInput';
|
|
25
21
|
const DEFAULT_EMPTY_ARRAY_VALUE = [];
|
|
22
|
+
const classesByWidth = {
|
|
23
|
+
full: 'w-full',
|
|
24
|
+
shrink: 'w-auto',
|
|
25
|
+
auto: '',
|
|
26
|
+
};
|
|
26
27
|
export const NativeSelect = documentable(forwardRef((props, ref) => {
|
|
27
28
|
const { className, style, width = 'full', loading, id, icon, iconPosition = 'start', name, renderOption = defaultRenderOption, placeholder, disabled, error, status, multiple, value = multiple ? DEFAULT_EMPTY_ARRAY_VALUE : '', size, enableReset, onChange, options, getDisplayValue = getOptionText,
|
|
28
29
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
@@ -31,7 +32,6 @@ export const NativeSelect = documentable(forwardRef((props, ref) => {
|
|
|
31
32
|
enableResetSearch } = props,
|
|
32
33
|
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
33
34
|
rest = __rest(props, ["className", "style", "width", "loading", "id", "icon", "iconPosition", "name", "renderOption", "placeholder", "disabled", "error", "status", "multiple", "value", "size", "enableReset", "onChange", "options", "getDisplayValue", "menuWidth", "noOptionsText", "popperContainer", "enableAutofill", "autoComplete", "searchPlaceholder", "searchThreshold", "limit", "native", "testIds", "highlight", "enableResetSearch"]);
|
|
34
|
-
const classes = useStyles();
|
|
35
35
|
const selectRef = useCombinedRefs(ref, useRef(null));
|
|
36
36
|
const inputWrapperRef = useRef(null);
|
|
37
37
|
const selectState = useSelectState({
|
|
@@ -54,24 +54,19 @@ export const NativeSelect = documentable(forwardRef((props, ref) => {
|
|
|
54
54
|
loading,
|
|
55
55
|
disabled,
|
|
56
56
|
});
|
|
57
|
-
const startAdornment = selectStartAdornment && (React.createElement("div", { className:
|
|
58
|
-
const endAdornment = selectEndAdornment && (React.createElement("div", { className:
|
|
59
|
-
const
|
|
60
|
-
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
61
|
-
, Object.assign({}, rest, { ref: selectRef, disabled: disabled, name: name, id: id, startAdornment: startAdornment, endAdornment: endAdornment, input: React.createElement(OutlinedInput, Object.assign({ width: width, inputProps: { multiple }, size: size, className: classes.nativeInput, testIds: testIds, status: error ? 'error' : status, highlight: highlight }, getInputProps())), value: value, onChange: onChange, IconComponent: () => React.createElement(SelectCaret, { disabled: disabled }), classes: {
|
|
62
|
-
root: cx(classes.select, {
|
|
63
|
-
[classes.placeholder]: !selection.isSelected(),
|
|
64
|
-
}),
|
|
65
|
-
select: cx({
|
|
66
|
-
[classes.startAdornmentPadding]: React.isValidElement(startAdornment),
|
|
67
|
-
[classes.endAdornmentPadding]: React.isValidElement(endAdornment),
|
|
68
|
-
}),
|
|
69
|
-
} }),
|
|
57
|
+
const startAdornment = selectStartAdornment && (React.createElement("div", { className: 'absolute left-[0.625rem]' }, selectStartAdornment));
|
|
58
|
+
const endAdornment = selectEndAdornment && (React.createElement("div", { className: 'absolute right-[1.625rem]' }, selectEndAdornment));
|
|
59
|
+
const children = (React.createElement(React.Fragment, null,
|
|
70
60
|
React.createElement(NativeSelectPlaceholder, { emptySelectValue: emptySelectValue, disabled: !enableReset }, placeholder),
|
|
71
61
|
React.createElement(NativeSelectOptions, { options: options, selection: selection, renderOption: renderOption, getItemProps: getItemProps })));
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
62
|
+
const nativeSelectComponent = (React.createElement(OutlinedInput, Object.assign({ width: width, size: size, className: 'p-0 bg-white', testIds: testIds, status: error ? 'error' : status, highlight: highlight }, getInputProps(), rest, { ref: selectRef, disabled: disabled, name: name, id: id, startAdornment: startAdornment, endAdornment: endAdornment, value: value, onChange: onChange, inputComponent: NativeSelectInput, inputProps: {
|
|
63
|
+
multiple,
|
|
64
|
+
children,
|
|
65
|
+
type: undefined,
|
|
66
|
+
IconComponent: () => React.createElement(SelectCaret, { disabled: disabled }),
|
|
67
|
+
className: twJoin('w-full p-2 focus:bg-inheritColor', !selection.isSelected() && 'text-gray-600', React.isValidElement(startAdornment) && 'pl-[2.5625rem]', React.isValidElement(endAdornment) && 'pr-[3.5625rem]'),
|
|
68
|
+
} })));
|
|
69
|
+
return (React.createElement("div", { className: twMerge('relative inline-flex text-[1rem] cursor-pointer', className, classesByWidth[width], disabled && 'cursor-default'), style: style, ref: inputWrapperRef }, nativeSelectComponent));
|
|
75
70
|
}));
|
|
76
71
|
NativeSelect.defaultProps = {
|
|
77
72
|
disabled: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeSelect.js","sourceRoot":"","sources":["../../../src/NativeSelect/NativeSelect.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"NativeSelect.js","sourceRoot":"","sources":["../../../src/NativeSelect/NativeSelect.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EACL,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,eAAe,GAChB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,YAAY,IAAI,mBAAmB,GACpC,MAAM,eAAe,CAAA;AACtB,OAAO,mBAAmB,MAAM,wBAAwB,CAAA;AACxD,OAAO,uBAAuB,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,yBAAyB,GAAgB,EAAE,CAAA;AAEjD,MAAM,cAAc,GAGhB;IACF,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,EAAE;CACT,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CACtC,UAAU,CACR,CACE,KAAwB,EACxB,GAAuC,EACvC,EAAE;IACF,MAAM,EACJ,SAAS,EACT,KAAK,EACL,KAAK,GAAG,MAAM,EACd,OAAO,EACP,EAAE,EACF,IAAI,EACJ,YAAY,GAAG,OAAO,EACtB,IAAI,EACJ,YAAY,GAAG,mBAAmB,EAClC,WAAW,EACX,QAAQ,EACR,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EACjD,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,OAAO,EACP,eAAe,GAAG,aAAa;IAC/B,sDAAsD;IACtD,SAAS,EACT,aAAa,EACb,eAAe,EACf,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,KAAK,EACL,MAAM,EACN,OAAO,EACP,SAAS;IACT,sDAAsD;IACtD,iBAAiB,KAGf,KAAK;IAFP,qDAAqD;IAClD,IAAI,UACL,KAAK,EArCH,+ZAqCL,CAAQ,CAAA;IAET,MAAM,SAAS,GAAG,eAAe,CAC/B,GAAG,EACH,MAAM,CAAmB,IAAI,CAAC,CAC/B,CAAA;IACD,MAAM,eAAe,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAEpD,MAAM,WAAW,GAAG,cAAc,CAAC;QACjC,eAAe;QACf,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,KAAK;QACL,KAAK;KACN,CAAC,CAAA;IACF,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAA;IACnD,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,cAAc,CAAC;QACrD,SAAS;QACT,WAAW,EAAE,KAAK;QAClB,WAAW;KACZ,CAAC,CAAA;IACF,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,GAAG,aAAa,CAAC;QAC/D,QAAQ,EAAE,YAAY;QACtB,IAAI;QACJ,OAAO;QACP,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,oBAAoB,IAAI,CAC7C,6BAAK,SAAS,EAAC,0BAA0B,IAAE,oBAAoB,CAAO,CACvE,CAAA;IACD,MAAM,YAAY,GAAG,kBAAkB,IAAI,CACzC,6BAAK,SAAS,EAAC,2BAA2B,IAAE,kBAAkB,CAAO,CACtE,CAAA;IAED,MAAM,QAAQ,GAAG,CACf;QACE,oBAAC,uBAAuB,IACtB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,CAAC,WAAW,IAErB,WAAW,CACY;QAC1B,oBAAC,mBAAmB,IAClB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAmB,EACjC,YAAY,EAAE,YAAY,GAC1B,CACD,CACJ,CAAA;IAED,MAAM,qBAAqB,GAAG,CAC5B,oBAAC,aAAa,kBACZ,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,cAAc,EACxB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAChC,SAAS,EAAE,SAAS,IAChB,aAAa,EAAE,EACf,IAAI,IACR,GAAG,EAAE,SAAS,EACd,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,EAAE,EACN,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAe,EACzB,cAAc,EAAE,iBAAwB,EACxC,UAAU,EAAE;YACV,QAAQ;YACR,QAAQ;YACR,IAAI,EAAE,SAAS;YACf,aAAa,EAAE,GAAG,EAAE,CAAC,oBAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,GAAI;YACxD,SAAS,EAAE,MAAM,CACf,kCAAkC,EAClC,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,eAAe,EAC1C,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,gBAAgB,EACxD,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,gBAAgB,CACvD;SACF,IACD,CACH,CAAA;IAED,OAAO,CACL,6BACE,SAAS,EAAE,OAAO,CAChB,iDAAiD,EACjD,SAAS,EACT,cAAc,CAAC,KAAK,CAAC,EACrB,QAAQ,IAAI,gBAAgB,CAC7B,EACD,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,eAAe,IAEnB,qBAAqB,CAClB,CACP,CAAA;AACH,CAAC,CACF,CACF,CAAA;AAED,YAAY,CAAC,YAAY,GAAG;IAC1B,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,aAAa;IAC9B,YAAY,EAAE,OAAO;IACrB,OAAO,EAAE,KAAK;IACd,aAAa,EAAE,kBAAkB;IACjC,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,mBAAmB;IACjC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,MAAM;IACb,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,KAAK;IACrB,iBAAiB,EAAE,QAAQ;IAC3B,MAAM,EAAE,SAAS;CAClB,CAAA;AAED,YAAY,CAAC,WAAW,GAAG,cAAc,CAAA;AAEzC,eAAe,YAAY,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const NativeSelectInput: React.ForwardRefExoticComponent<{
|
|
3
|
+
className?: string | undefined;
|
|
4
|
+
disabled?: boolean | undefined;
|
|
5
|
+
IconComponent?: React.ElementType<any> | undefined;
|
|
6
|
+
multiple?: boolean | undefined;
|
|
7
|
+
ownerState?: {} | undefined;
|
|
8
|
+
} & React.HTMLAttributes<HTMLSelectElement> & React.RefAttributes<HTMLSelectElement>>;
|
|
9
|
+
//# sourceMappingURL=NativeSelectInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeSelectInput.d.ts","sourceRoot":"","sources":["../../../src/NativeSelect/NativeSelectInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAWzC,eAAO,MAAM,iBAAiB;;;;;;qFAqC5B,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import React, { forwardRef } from 'react';
|
|
13
|
+
import { twMerge, twJoin } from '@toptal/picasso-tailwind-merge';
|
|
14
|
+
export const NativeSelectInput = forwardRef((props, ref) => {
|
|
15
|
+
// omit ownerState from the props
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
17
|
+
const { ownerState, className, disabled, multiple, IconComponent } = props, other = __rest(props, ["ownerState", "className", "disabled", "multiple", "IconComponent"]);
|
|
18
|
+
return (React.createElement(React.Fragment, null,
|
|
19
|
+
React.createElement("select", Object.assign({ className: twMerge(`appearance-none select-none rounded-none min-w-4 cursor-pointer
|
|
20
|
+
focus:bg-black/[.05] focus:rounded-none`, disabled && 'cursor-default', multiple ? 'h-auto' : '[&_option]:bg-white [&_optgroup]:bg-white', className, 'pr-6' // From MUI, this rule is more specific and should override classname
|
|
21
|
+
), disabled: disabled, multiple: multiple, ref: ref }, other)),
|
|
22
|
+
multiple
|
|
23
|
+
? null
|
|
24
|
+
: IconComponent && (React.createElement(IconComponent, { className: twJoin('absolute right-0 top-[calc(50%-12px)] pointer-events-none', disabled ? 'text-black/[.26]' : 'text-black/[.54]') }))));
|
|
25
|
+
});
|
|
26
|
+
NativeSelectInput.displayName = 'NativeSelectInput';
|
|
27
|
+
//# sourceMappingURL=NativeSelectInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeSelectInput.js","sourceRoot":"","sources":["../../../src/NativeSelect/NativeSelectInput.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AAUhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAGzC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,iCAAiC;IACjC,6DAA6D;IAC7D,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,KAC9D,KAAK,EAD8D,KAAK,UACxE,KAAK,EADD,oEAAsE,CACrE,CAAA;IAEP,OAAO,CACL;QACE,8CACE,SAAS,EAAE,OAAO,CAChB;mDACyC,EACzC,QAAQ,IAAI,gBAAgB,EAC5B,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,2CAA2C,EACjE,SAAS,EACT,MAAM,CAAC,qEAAqE;aAC7E,EACD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,IACJ,KAAK,EACT;QACD,QAAQ;YACP,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,aAAa,IAAI,CACf,oBAAC,aAAa,IACZ,SAAS,EAAE,MAAM,CACf,2DAA2D,EAC3D,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CACnD,GACD,CACH,CACJ,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,iBAAiB,CAAC,WAAW,GAAG,mBAAmB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NonNativeSelect.d.ts","sourceRoot":"","sources":["../../../src/NonNativeSelect/NonNativeSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"NonNativeSelect.d.ts","sourceRoot":"","sources":["../../../src/NonNativeSelect/NonNativeSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAA;AAkBrC,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AA0B3D,eAAO,MAAM,eAAe;;0FAgO3B,CAAA;AAuBD,eAAe,eAAe,CAAA"}
|
|
@@ -10,9 +10,6 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import React, { useRef } from 'react';
|
|
13
|
-
import cx from 'classnames';
|
|
14
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
15
|
-
import capitalize from '@material-ui/core/utils/capitalize';
|
|
16
13
|
import { Search16 } from '@toptal/picasso-icons';
|
|
17
14
|
import { OutlinedInput } from '@toptal/picasso-outlined-input';
|
|
18
15
|
import { Popper } from '@toptal/picasso-popper';
|
|
@@ -20,21 +17,24 @@ import { MenuItem } from '@toptal/picasso-menu';
|
|
|
20
17
|
import { documentable, forwardRef, noop, useCombinedRefs, } from '@toptal/picasso-utils';
|
|
21
18
|
import { InputAdornment } from '@toptal/picasso-input-adornment';
|
|
22
19
|
import { useFieldsLayoutContext } from '@toptal/picasso-form';
|
|
20
|
+
import { twMerge, twJoin } from '@toptal/picasso-tailwind-merge';
|
|
23
21
|
import { SelectCaret } from '../SelectCaret';
|
|
24
22
|
import { NonNativeSelectLoader } from '../NonNativeSelectLoader';
|
|
25
23
|
import { useAdornments, useSelectState, useSelectProps, renderOption as defaultRenderOption, getOptionText, DEFAULT_LIMIT, DEFAULT_SEARCH_THRESHOLD, countOptions, filterFlatOptions as defaultFilterOptions, } from '../SelectBase';
|
|
26
24
|
import { NonNativeSelectOptions } from '../NonNativeSelectOptions';
|
|
27
|
-
import styles from './styles';
|
|
28
25
|
import { NonNativeSelectLimitFooter } from '../NonNativeSelectLimitFooter';
|
|
29
|
-
const useStyles = makeStyles(styles);
|
|
30
26
|
const DEFAULT_EMPTY_ARRAY_VALUE = [];
|
|
27
|
+
const classesByWidth = {
|
|
28
|
+
auto: '',
|
|
29
|
+
full: 'w-full',
|
|
30
|
+
shrink: 'w-auto',
|
|
31
|
+
};
|
|
31
32
|
export const NonNativeSelect = documentable(forwardRef(
|
|
32
33
|
// eslint-disable-next-line max-lines-per-function, complexity
|
|
33
34
|
(props, ref) => {
|
|
34
35
|
const { className, style, width = 'full', menuWidth, loading, id, icon, iconPosition = 'start', name, noOptionsText, renderOption = defaultRenderOption, placeholder, disabled, disablePortal, error, status, multiple, value = multiple ? DEFAULT_EMPTY_ARRAY_VALUE : '', size, enableReset, popperContainer, enableAutofill, enableResetSearch, autoComplete, searchPlaceholder, searchThreshold = DEFAULT_SEARCH_THRESHOLD, limit = DEFAULT_LIMIT, getDisplayValue = getOptionText, options, onChange, filterOptions = defaultFilterOptions,
|
|
35
36
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
36
37
|
native, testIds, highlight } = props, rest = __rest(props, ["className", "style", "width", "menuWidth", "loading", "id", "icon", "iconPosition", "name", "noOptionsText", "renderOption", "placeholder", "disabled", "disablePortal", "error", "status", "multiple", "value", "size", "enableReset", "popperContainer", "enableAutofill", "enableResetSearch", "autoComplete", "searchPlaceholder", "searchThreshold", "limit", "getDisplayValue", "options", "onChange", "filterOptions", "native", "testIds", "highlight"]);
|
|
37
|
-
const classes = useStyles();
|
|
38
38
|
const selectRef = useCombinedRefs(ref, useRef(null));
|
|
39
39
|
const searchInputRef = useRef(null);
|
|
40
40
|
const popperRef = useRef(null);
|
|
@@ -58,8 +58,8 @@ export const NonNativeSelect = documentable(forwardRef(
|
|
|
58
58
|
selectState,
|
|
59
59
|
});
|
|
60
60
|
const { layout } = useFieldsLayoutContext();
|
|
61
|
-
const searchInput = showSearch ? (React.createElement(MenuItem, { as: 'div', nonSelectable: true,
|
|
62
|
-
React.createElement(OutlinedInput, Object.assign({ inputRef: searchInputRef, className:
|
|
61
|
+
const searchInput = showSearch ? (React.createElement(MenuItem, { as: 'div', nonSelectable: true, className: 'pt-[0.375rem] pl-2 pb-2 pr-2' },
|
|
62
|
+
React.createElement(OutlinedInput, Object.assign({ inputRef: searchInputRef, className: 'w-full', startAdornment: React.createElement(InputAdornment, { position: 'start', disablePointerEvents: true },
|
|
63
63
|
React.createElement(Search16, null)), placeholder: searchPlaceholder, enableReset: enableResetSearch, size: size, value: filterOptionsValue, testIds: testIds, "aria-autocomplete": 'list', "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.searchInput }, getSearchInputProps())))) : null;
|
|
64
64
|
const rootProps = getRootProps();
|
|
65
65
|
const [startAdornment, endAdornment] = useAdornments({
|
|
@@ -68,26 +68,20 @@ export const NonNativeSelect = documentable(forwardRef(
|
|
|
68
68
|
disabled,
|
|
69
69
|
});
|
|
70
70
|
const selectComponent = (React.createElement(React.Fragment, null,
|
|
71
|
-
React.createElement("div", Object.assign({}, rootProps, { className:
|
|
72
|
-
[classes.horizontalLayout]: layout === 'horizontal',
|
|
73
|
-
}) }),
|
|
71
|
+
React.createElement("div", Object.assign({}, rootProps, { className: twJoin('w-[inherit] outline-0', layout === 'horizontal' && 'w-full') }),
|
|
74
72
|
!enableAutofill && name && (React.createElement("input", { type: 'hidden', value: displayValue, name: name })),
|
|
75
73
|
React.createElement(OutlinedInput
|
|
76
74
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
77
75
|
, Object.assign({}, rest, { onChange: onChange, inputRef: selectRef, status: error ? 'error' : status, disabled: disabled, id: id, startAdornment: startAdornment, endAdornment: endAdornment,
|
|
78
76
|
// Input specific props
|
|
79
|
-
value: displayValue }, getInputProps(), { placeholder: placeholder, width: width, readOnly: true, defaultValue: undefined, className:
|
|
77
|
+
value: displayValue }, getInputProps(), { placeholder: placeholder, width: width, readOnly: true, defaultValue: undefined, className: 'pr-[1.625rem]', highlight: highlight, inputProps: {
|
|
80
78
|
size: 1, // let input to have smallest width by default for width:'shrink'
|
|
81
79
|
}, size: size, role: 'textbox', enableReset: enableReset ? selection.isSelected() : false, autoComplete: enableAutofill ? autoComplete : autoComplete || 'off', name: enableAutofill ? name : undefined, testIds: testIds })),
|
|
82
80
|
React.createElement(SelectCaret, { disabled: disabled })),
|
|
83
|
-
!disabled && isOpen && (React.createElement(Popper, { ref: popperRef, autoWidth: true, width: menuWidth, placement: 'bottom-start', open: true, anchorEl: inputWrapperRef.current, container: popperContainer, disablePortal: disablePortal }, loading ? (React.createElement(NonNativeSelectLoader, { "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.loader })) : (React.createElement(NonNativeSelectOptions, { options: filteredOptions, renderOption: renderOption, highlightedIndex: highlightedIndex, getItemProps: getItemProps,
|
|
84
|
-
// eslint-disable-next-line react/jsx-handler-names
|
|
85
|
-
onBlur: rootProps.onBlur, selection: selection, filterOptionsValue: filterOptionsValue, multiple: multiple, noOptionsText: noOptionsText, fixedHeader: searchInput, fixedFooter: limit < countOptions(options) ? (React.createElement(NonNativeSelectLimitFooter, { totalCount: countOptions(options), limit: limit, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.limitFooter })) : null, testIds: {
|
|
81
|
+
!disabled && isOpen && (React.createElement(Popper, { ref: popperRef, autoWidth: true, width: menuWidth, placement: 'bottom-start', open: true, anchorEl: inputWrapperRef.current, container: popperContainer, disablePortal: disablePortal }, loading ? (React.createElement(NonNativeSelectLoader, { "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.loader })) : (React.createElement(NonNativeSelectOptions, { options: filteredOptions, renderOption: renderOption, highlightedIndex: highlightedIndex, getItemProps: getItemProps, onBlur: rootProps.onBlur, selection: selection, filterOptionsValue: filterOptionsValue, multiple: multiple, noOptionsText: noOptionsText, fixedHeader: searchInput, fixedFooter: limit < countOptions(options) ? (React.createElement(NonNativeSelectLimitFooter, { totalCount: countOptions(options), limit: limit, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.limitFooter })) : null, testIds: {
|
|
86
82
|
noOptions: testIds === null || testIds === void 0 ? void 0 : testIds.noOptions,
|
|
87
83
|
} }))))));
|
|
88
|
-
return (React.createElement("div", { className:
|
|
89
|
-
[classes.rootDisabled]: disabled,
|
|
90
|
-
}), style: style, ref: inputWrapperRef }, selectComponent));
|
|
84
|
+
return (React.createElement("div", { className: twMerge('relative inline-flex text-[1rem] cursor-pointer', className, classesByWidth[width], disabled && 'cursor-default'), style: style, ref: inputWrapperRef }, selectComponent));
|
|
91
85
|
}));
|
|
92
86
|
NonNativeSelect.defaultProps = {
|
|
93
87
|
disabled: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NonNativeSelect.js","sourceRoot":"","sources":["../../../src/NonNativeSelect/NonNativeSelect.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"NonNativeSelect.js","sourceRoot":"","sources":["../../../src/NonNativeSelect/NonNativeSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NonNativeSelectLimitFooter.d.ts","sourceRoot":"","sources":["../../../src/NonNativeSelectLimitFooter/NonNativeSelectLimitFooter.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"NonNativeSelectLimitFooter.d.ts","sourceRoot":"","sources":["../../../src/NonNativeSelectLimitFooter/NonNativeSelectLimitFooter.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAGvD,UAAU,KAAM,SAAQ,SAAS;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,0BAA0B,sDAIpC,KAAK,uBAWP,CAAA;AAED,eAAe,0BAA0B,CAAA"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { makeStyles } from '@material-ui/core';
|
|
3
2
|
import { MenuItem } from '@toptal/picasso-menu';
|
|
4
|
-
import styles from './styles';
|
|
5
|
-
const useStyles = makeStyles(styles);
|
|
6
3
|
export const NonNativeSelectLimitFooter = ({ totalCount, limit, 'data-testid': dataTestId, }) => {
|
|
7
|
-
|
|
8
|
-
return limit < totalCount ? (React.createElement(MenuItem, { "data-testid": dataTestId, titleCase: false, className: classes.root, disabled: true },
|
|
4
|
+
return limit < totalCount ? (React.createElement(MenuItem, { "data-testid": dataTestId, titleCase: false, className: 'text-graphite-700 py-3 px-4 border border-solid border-gray-300 text-[0.6875rem]', disabled: true },
|
|
9
5
|
"Showing only first ",
|
|
10
6
|
limit,
|
|
11
7
|
" of ",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NonNativeSelectLimitFooter.js","sourceRoot":"","sources":["../../../src/NonNativeSelectLimitFooter/NonNativeSelectLimitFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"NonNativeSelectLimitFooter.js","sourceRoot":"","sources":["../../../src/NonNativeSelectLimitFooter/NonNativeSelectLimitFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAO/C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,UAAU,EACV,KAAK,EACL,aAAa,EAAE,UAAU,GACnB,EAAE,EAAE;IACV,OAAO,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAC1B,oBAAC,QAAQ,mBACM,UAAU,EACvB,SAAS,EAAE,KAAK,EAChB,SAAS,EAAC,kFAAkF,EAC5F,QAAQ;;QAEY,KAAK;;QAAM,UAAU;iBAChC,CACZ,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAA;AAED,eAAe,0BAA0B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NonNativeSelectOptions.d.ts","sourceRoot":"","sources":["../../../src/NonNativeSelectOptions/NonNativeSelectOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"NonNativeSelectOptions.d.ts","sourceRoot":"","sources":["../../../src/NonNativeSelectOptions/NonNativeSelectOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAQtC,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,MAAM,EACN,YAAY,EACZ,WAAW,EACX,SAAS,EACV,MAAM,eAAe,CAAA;AAkCtB,oBAAY,KAAK,GAAG,IAAI,CACtB,WAAW,EACX,UAAU,GAAG,eAAe,GAAG,cAAc,CAC9C,GAAG;IACF,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,CAAA;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAA;IAC1D,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;CACF,CAAA;AAkFD,QAAA,MAAM,sBAAsB;0JAYzB,KAAK;;CAiDP,CAAA;AAID,eAAe,sBAAsB,CAAA"}
|
|
@@ -10,19 +10,15 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import React, { useMemo } from 'react';
|
|
13
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
14
13
|
import { MenuItem } from '@toptal/picasso-menu';
|
|
15
14
|
import { Typography } from '@toptal/picasso-typography';
|
|
16
15
|
import { NonNativeSelectOption } from '../NonNativeSelectOption';
|
|
17
16
|
import { SelectOptions } from '../SelectOptions';
|
|
18
17
|
import { flattenOptions, isOptionsType } from '../SelectBase';
|
|
19
|
-
import styles from './styles';
|
|
20
|
-
const useStyles = makeStyles(styles);
|
|
21
18
|
const MenuGroup = (props) => {
|
|
22
19
|
const { group, children } = props, rest = __rest(props, ["group", "children"]);
|
|
23
|
-
const classes = useStyles();
|
|
24
20
|
return (React.createElement(React.Fragment, null,
|
|
25
|
-
React.createElement(MenuItem, Object.assign({ role: 'option', titleCase: false, nonSelectable: true, className:
|
|
21
|
+
React.createElement(MenuItem, Object.assign({ role: 'option', titleCase: false, nonSelectable: true, className: 'pt-4 px-4 pb-[10px]' }, rest),
|
|
26
22
|
React.createElement(Typography, { size: 'xsmall', weight: 'semibold', color: 'dark-grey' }, group)),
|
|
27
23
|
children));
|
|
28
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NonNativeSelectOptions.js","sourceRoot":"","sources":["../../../src/NonNativeSelectOptions/NonNativeSelectOptions.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"NonNativeSelectOptions.js","sourceRoot":"","sources":["../../../src/NonNativeSelectOptions/NonNativeSelectOptions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollMenu.d.ts","sourceRoot":"","sources":["../../../src/ScrollMenu/ScrollMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjD,OAAO,KAAiB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ScrollMenu.d.ts","sourceRoot":"","sources":["../../../src/ScrollMenu/ScrollMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjD,OAAO,KAAiB,MAAM,OAAO,CAAA;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAKvD,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IAC5D,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IACzB,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAUD,eAAO,MAAM,iBAAiB,YACnB,UAAU,cAAc,CAAC,kBAClB,MAAM,GAAG,IAAI,SAiB9B,CAAA;AAQD,QAAA,MAAM,UAAU;YAAW,KAAK;;;;;CAgD/B,CAAA;AAQD,eAAe,UAAU,CAAA"}
|
|
@@ -10,14 +10,9 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import React, { useRef } from 'react';
|
|
13
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
14
|
-
import cx from 'classnames';
|
|
15
13
|
import { useIsomorphicLayoutEffect } from '@toptal/picasso-utils';
|
|
16
14
|
import { Menu } from '@toptal/picasso-menu';
|
|
17
|
-
import
|
|
18
|
-
const useStyles = makeStyles(styles, {
|
|
19
|
-
name: 'PicassoScrollMenu',
|
|
20
|
-
});
|
|
15
|
+
import { twJoin, twMerge } from '@toptal/picasso-tailwind-merge';
|
|
21
16
|
const getMenuSelectedNode = (menuRef, selectedIndex) => {
|
|
22
17
|
var _a;
|
|
23
18
|
return typeof selectedIndex === 'number'
|
|
@@ -46,13 +41,12 @@ const preventClick = (e) => {
|
|
|
46
41
|
};
|
|
47
42
|
const ScrollMenu = (props) => {
|
|
48
43
|
const { selectedIndex, onBlur, children, style, fixedHeader, fixedFooter, className, role, testIds, 'data-testid': dataTestId } = props, rest = __rest(props, ["selectedIndex", "onBlur", "children", "style", "fixedHeader", "fixedFooter", "className", "role", "testIds", 'data-testid']);
|
|
49
|
-
const classes = useStyles();
|
|
50
44
|
const menuRef = useRef(null);
|
|
51
45
|
useIsomorphicLayoutEffect(() => scrollToSelection(menuRef, selectedIndex), [selectedIndex]);
|
|
52
|
-
return (React.createElement(Menu, Object.assign({ className:
|
|
46
|
+
return (React.createElement(Menu, Object.assign({ className: twMerge('bg-white', className), style: style, role: role, "data-testid": dataTestId || (testIds === null || testIds === void 0 ? void 0 : testIds.root) }, rest),
|
|
53
47
|
fixedHeader,
|
|
54
48
|
React.createElement("div", { onMouseDown: preventClick },
|
|
55
|
-
React.createElement("div", { "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.list, ref: menuRef, className:
|
|
49
|
+
React.createElement("div", { "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.list, ref: menuRef, className: twJoin('overflow-y-auto', 'max-h-[26.875rem]', '[@media(max-height:585px)]:max-h-[calc(50vh-4.3125rem)]', '[@media(max-height:585px)]:md:max-h-[calc(50vh-4.8125rem)]'), onBlur: onBlur }, children),
|
|
56
50
|
fixedFooter)));
|
|
57
51
|
};
|
|
58
52
|
ScrollMenu.defaultProps = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollMenu.js","sourceRoot":"","sources":["../../../src/ScrollMenu/ScrollMenu.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ScrollMenu.js","sourceRoot":"","sources":["../../../src/ScrollMenu/ScrollMenu.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAehE,MAAM,mBAAmB,GAAG,CAC1B,OAAkC,EAClC,aAA6B,EAC7B,EAAE;;IACF,OAAA,OAAO,aAAa,KAAK,QAAQ;QAC/B,CAAC,CAAC,MAAA,OAAO,CAAC,OAAO,0CAAE,QAAQ,CAAC,aAAa,CAAC;QAC1C,CAAC,CAAC,SAAS,CAAA;CAAA,CAAA;AAEf,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAkC,EAClC,aAA6B,EAC7B,EAAE;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAA;IAChC,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAEhE,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE;QAC9B,OAAM;KACP;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAA;IACjD,MAAM,YAAY,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAA;IAEzD,IAAI,YAAY,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE;QACnC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAA;KACtD;SAAM,IAAI,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE;QAChD,QAAQ,CAAC,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;KAC5D;AACH,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,CAAmB,EAAE,EAAE;IAC3C,mCAAmC;IACnC,kEAAkE;IAClE,CAAC,CAAC,cAAc,EAAE,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,KAAY,EAAE,EAAE;IAClC,MAAM,EACJ,aAAa,EACb,MAAM,EACN,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,IAAI,EACJ,OAAO,EACP,aAAa,EAAE,UAAU,KAEvB,KAAK,EADJ,IAAI,UACL,KAAK,EAZH,6HAYL,CAAQ,CAAA;IACT,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAE5C,yBAAyB,CACvB,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,EAC/C,CAAC,aAAa,CAAC,CAChB,CAAA;IAED,OAAO,CACL,oBAAC,IAAI,kBACH,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,EACzC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,iBACG,UAAU,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAA,IACpC,IAAI;QAEP,WAAW;QACZ,6BAAK,WAAW,EAAE,YAAY;YAC5B,4CACe,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAC1B,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,MAAM,CACf,iBAAiB,EACjB,mBAAmB,EACnB,yDAAyD,EACzD,4DAA4D,CAC7D,EACD,MAAM,EAAE,MAAM,IAEb,QAAQ,CACL;YACL,WAAW,CACR,CACD,CACR,CAAA;AACH,CAAC,CAAA;AAED,UAAU,CAAC,YAAY,GAAG;IACxB,IAAI,EAAE,MAAM;CACb,CAAA;AAED,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,eAAe,UAAU,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectCaret.d.ts","sourceRoot":"","sources":["../../../src/SelectCaret/SelectCaret.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"SelectCaret.d.ts","sourceRoot":"","sources":["../../../src/SelectCaret/SelectCaret.tsx"],"names":[],"mappings":";AAIA,UAAU,KAAK;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,QAAA,MAAM,WAAW,iBAAkB,KAAK,gBAcvC,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
3
|
-
import cx from 'classnames';
|
|
4
2
|
import { DropdownArrows16 } from '@toptal/picasso-icons';
|
|
5
|
-
import
|
|
6
|
-
const useStyles = makeStyles(styles);
|
|
3
|
+
import { twJoin } from '@toptal/picasso-tailwind-merge';
|
|
7
4
|
const SelectCaret = ({ disabled }) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
return (React.createElement(DropdownArrows16
|
|
6
|
+
// className={twJoin(classes.caret, disabled && classes.caretDisabled)}
|
|
7
|
+
, {
|
|
8
|
+
// className={twJoin(classes.caret, disabled && classes.caretDisabled)}
|
|
9
|
+
className: twJoin(
|
|
10
|
+
// in specs right spacing is defined relative to 6px icon width, while we use 16px
|
|
11
|
+
// so 5px are left instead of 10px when we use wider icon.
|
|
12
|
+
`absolute top-[calc(50%-0.5rem)] right-[0.3125rem]
|
|
13
|
+
text-graphite-700 text-[1rem]
|
|
14
|
+
cursor-inherit pointer-events-none`, disabled && 'text-graphite-700/[.48] z-[1]') }));
|
|
12
15
|
};
|
|
13
16
|
export default SelectCaret;
|
|
14
17
|
//# sourceMappingURL=SelectCaret.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectCaret.js","sourceRoot":"","sources":["../../../src/SelectCaret/SelectCaret.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"SelectCaret.js","sourceRoot":"","sources":["../../../src/SelectCaret/SelectCaret.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AAMvD,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAS,EAAE,EAAE;IAC1C,OAAO,CACL,oBAAC,gBAAgB;IACf,uEAAuE;;QAAvE,uEAAuE;QACvE,SAAS,EAAE,MAAM;QACf,kFAAkF;QAClF,0DAA0D;QAC1D;;2CAEmC,EACnC,QAAQ,IAAI,+BAA+B,CAC5C,GACD,CACH,CAAA;AACH,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectOptions.d.ts","sourceRoot":"","sources":["../../../src/SelectOptions/SelectOptions.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"SelectOptions.d.ts","sourceRoot":"","sources":["../../../src/SelectOptions/SelectOptions.tsx"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAGpD,MAAM,WAAW,KAAM,SAAQ,eAAe;CAAG;AAEjD,QAAA,MAAM,aAAa;YAAW,KAAK;;;;;CAgClC,CAAA;AAQD,eAAe,aAAa,CAAA"}
|
|
@@ -9,21 +9,12 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
9
9
|
}
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
13
12
|
import React from 'react';
|
|
14
|
-
import
|
|
13
|
+
import { twJoin } from '@toptal/picasso-tailwind-merge';
|
|
15
14
|
import { ScrollMenu } from '../ScrollMenu';
|
|
16
|
-
import styles from './styles';
|
|
17
|
-
const useStyles = makeStyles(styles, {
|
|
18
|
-
name: 'PicassoSelectOptions',
|
|
19
|
-
});
|
|
20
15
|
const SelectOptions = (props) => {
|
|
21
16
|
const { selectedIndex, onBlur, children, style, fixedHeader, fixedFooter, className, role } = props, rest = __rest(props, ["selectedIndex", "onBlur", "children", "style", "fixedHeader", "fixedFooter", "className", "role"]);
|
|
22
|
-
|
|
23
|
-
return (React.createElement(ScrollMenu, Object.assign({ className: cx(classes.menu, {
|
|
24
|
-
[classes.withHeader]: Boolean(fixedHeader),
|
|
25
|
-
[classes.withFooter]: Boolean(fixedFooter),
|
|
26
|
-
}, className), style: style, selectedIndex: selectedIndex, fixedFooter: fixedFooter, fixedHeader: fixedHeader, onBlur: onBlur, role: role }, rest), children));
|
|
17
|
+
return (React.createElement(ScrollMenu, Object.assign({ className: twJoin('shadow-5', Boolean(fixedHeader) && 'pt-[0.125rem] [&>div:first-child]:pb-2', Boolean(fixedFooter) && 'pb-0', className), style: style, selectedIndex: selectedIndex, fixedFooter: fixedFooter, fixedHeader: fixedHeader, onBlur: onBlur, role: role }, rest), children));
|
|
27
18
|
};
|
|
28
19
|
SelectOptions.defaultProps = {
|
|
29
20
|
role: 'menu',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectOptions.js","sourceRoot":"","sources":["../../../src/SelectOptions/SelectOptions.tsx"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SelectOptions.js","sourceRoot":"","sources":["../../../src/SelectOptions/SelectOptions.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI1C,MAAM,aAAa,GAAG,CAAC,KAAY,EAAE,EAAE;IACrC,MAAM,EACJ,aAAa,EACb,MAAM,EACN,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,IAAI,KAEF,KAAK,EADJ,IAAI,UACL,KAAK,EAVH,mGAUL,CAAQ,CAAA;IAET,OAAO,CACL,oBAAC,UAAU,kBACT,SAAS,EAAE,MAAM,CACf,UAAU,EACV,OAAO,CAAC,WAAW,CAAC,IAAI,wCAAwC,EAChE,OAAO,CAAC,WAAW,CAAC,IAAI,MAAM,EAC9B,SAAS,CACV,EACD,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,IACN,IAAI,GAEP,QAAQ,CACE,CACd,CAAA;AACH,CAAC,CAAA;AAED,aAAa,CAAC,YAAY,GAAG;IAC3B,IAAI,EAAE,MAAM;CACb,CAAA;AAED,aAAa,CAAC,WAAW,GAAG,eAAe,CAAA;AAE3C,eAAe,aAAa,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toptal/picasso-select",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Toptal UI components library - Select",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -22,30 +22,32 @@
|
|
|
22
22
|
},
|
|
23
23
|
"homepage": "https://github.com/toptal/picasso/tree/master/packages/picasso#readme",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@toptal/picasso-container": "
|
|
26
|
-
"@toptal/picasso-form": "
|
|
25
|
+
"@toptal/picasso-container": "2.0.0",
|
|
26
|
+
"@toptal/picasso-form": "4.0.0",
|
|
27
27
|
"@toptal/picasso-icons": "1.5.0",
|
|
28
|
-
"@toptal/picasso-input": "
|
|
29
|
-
"@toptal/picasso-input-adornment": "
|
|
30
|
-
"@toptal/picasso-loader": "
|
|
31
|
-
"@toptal/picasso-menu": "
|
|
32
|
-
"@toptal/picasso-outlined-input": "
|
|
28
|
+
"@toptal/picasso-input": "3.0.0",
|
|
29
|
+
"@toptal/picasso-input-adornment": "2.0.0",
|
|
30
|
+
"@toptal/picasso-loader": "2.0.0",
|
|
31
|
+
"@toptal/picasso-menu": "2.0.0",
|
|
32
|
+
"@toptal/picasso-outlined-input": "2.0.0",
|
|
33
33
|
"@toptal/picasso-popper": "1.0.3",
|
|
34
34
|
"@toptal/picasso-shared": "15.0.0",
|
|
35
|
-
"@toptal/picasso-typography": "
|
|
35
|
+
"@toptal/picasso-typography": "3.0.0",
|
|
36
36
|
"@toptal/picasso-utils": "1.0.3",
|
|
37
|
-
"ap-style-title-case": "^1.1.2"
|
|
38
|
-
"classnames": "^2.5.1"
|
|
37
|
+
"ap-style-title-case": "^1.1.2"
|
|
39
38
|
},
|
|
40
39
|
"sideEffects": [
|
|
41
40
|
"**/styles.ts",
|
|
42
41
|
"**/styles.js"
|
|
43
42
|
],
|
|
44
43
|
"peerDependencies": {
|
|
45
|
-
"@
|
|
44
|
+
"@toptal/picasso-tailwind-merge": "^1.0.1",
|
|
45
|
+
"@toptal/picasso-tailwind": ">=2.7",
|
|
46
46
|
"react": ">=16.12.0 < 19.0.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
+
"@toptal/picasso-tailwind": "2.7.0",
|
|
50
|
+
"@toptal/picasso-tailwind-merge": "1.2.0",
|
|
49
51
|
"@toptal/picasso-test-utils": "1.1.1",
|
|
50
52
|
"popper.js": "^1.16.1"
|
|
51
53
|
},
|