@spscommerce/ds-react 5.2.4 → 5.2.5
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/lib/index.cjs.js +68 -68
- package/lib/index.es.js +12 -1
- package/lib/multi-select/SpsMultiSelect.d.ts +2 -1
- package/package.json +9 -9
package/lib/index.es.js
CHANGED
|
@@ -1277,6 +1277,12 @@ const LETTER_KEYS = [
|
|
|
1277
1277
|
function compareOptions(optionA, optionB, comparisonKey) {
|
|
1278
1278
|
return comparisonKey ? (optionA && optionA[comparisonKey]) === (optionB && optionB[comparisonKey]) : optionA === optionB;
|
|
1279
1279
|
}
|
|
1280
|
+
function isOptionDisabled(disabledOptions, comparisonKey, option) {
|
|
1281
|
+
return comparisonKey ? !!(disabledOptions == null ? void 0 : disabledOptions.find((opt) => {
|
|
1282
|
+
var _a;
|
|
1283
|
+
return opt[comparisonKey] && opt[comparisonKey] === ((_a = option.value) == null ? void 0 : _a[comparisonKey]);
|
|
1284
|
+
})) : false;
|
|
1285
|
+
}
|
|
1280
1286
|
const SpsOptionList = React.forwardRef((props2, ref2) => {
|
|
1281
1287
|
const _a = props2, {
|
|
1282
1288
|
captionKey,
|
|
@@ -1583,7 +1589,7 @@ const SpsOptionList = React.forwardRef((props2, ref2) => {
|
|
|
1583
1589
|
role: optionRole,
|
|
1584
1590
|
"aria-selected": compareOptions(option.value, selectedOption, comparisonKey),
|
|
1585
1591
|
href: option.href,
|
|
1586
|
-
className: clsx("sps-option-list__option", option.caption && "sps-option-list__option--has-caption", option.disabled && "sps-option-list__option--disabled", option.bold && "sps-option-list__option--bold", compareOptions(option.value, selectedOption, comparisonKey) && "sps-option-list__option--selected", highlightedOptionIndex === i2 && "sps-option-list__option--highlighted"),
|
|
1592
|
+
className: clsx("sps-option-list__option", option.caption && "sps-option-list__option--has-caption", option.disabled && "sps-option-list__option--disabled", option.bold && "sps-option-list__option--bold", (compareOptions(option.value, selectedOption, comparisonKey) || isOptionDisabled(disabledOptions, comparisonKey, option)) && "sps-option-list__option--selected", highlightedOptionIndex === i2 && "sps-option-list__option--highlighted"),
|
|
1587
1593
|
onClick: (event) => handleOptionClick(event, option),
|
|
1588
1594
|
onMouseOver: () => setHighlightedOptionIndex(i2),
|
|
1589
1595
|
tabIndex: -1,
|
|
@@ -28805,6 +28811,7 @@ const propsDoc$Q = {
|
|
|
28805
28811
|
debounce: "number",
|
|
28806
28812
|
disabled: "boolean",
|
|
28807
28813
|
disableSelected: "boolean",
|
|
28814
|
+
comparisonKey: "string",
|
|
28808
28815
|
formMeta: "SpsFormFieldMeta<any[]>",
|
|
28809
28816
|
hideSelected: "boolean",
|
|
28810
28817
|
icon: "SpsIcon",
|
|
@@ -28823,6 +28830,7 @@ const propTypes$S = __spreadProps(__spreadValues({}, spsGlobalPropTypes), {
|
|
|
28823
28830
|
debounce: propTypes$1L.exports.number,
|
|
28824
28831
|
disabled: propTypes$1L.exports.bool,
|
|
28825
28832
|
disableSelected: propTypes$1L.exports.bool,
|
|
28833
|
+
comparisonKey: propTypes$1L.exports.string,
|
|
28826
28834
|
formControl: impl(),
|
|
28827
28835
|
formMeta: impl(),
|
|
28828
28836
|
hideSelected: propTypes$1L.exports.bool,
|
|
@@ -28848,6 +28856,7 @@ function SpsMultiSelect(_w) {
|
|
|
28848
28856
|
debounce: debounce2,
|
|
28849
28857
|
disabled,
|
|
28850
28858
|
disableSelected = false,
|
|
28859
|
+
comparisonKey,
|
|
28851
28860
|
formControl: formControl2,
|
|
28852
28861
|
formMeta,
|
|
28853
28862
|
hideSelected,
|
|
@@ -28869,6 +28878,7 @@ function SpsMultiSelect(_w) {
|
|
|
28869
28878
|
"debounce",
|
|
28870
28879
|
"disabled",
|
|
28871
28880
|
"disableSelected",
|
|
28881
|
+
"comparisonKey",
|
|
28872
28882
|
"formControl",
|
|
28873
28883
|
"formMeta",
|
|
28874
28884
|
"hideSelected",
|
|
@@ -29063,6 +29073,7 @@ function SpsMultiSelect(_w) {
|
|
|
29063
29073
|
captionKey,
|
|
29064
29074
|
disabledOptions: disableSelected ? value : null,
|
|
29065
29075
|
isOpen: showPopup,
|
|
29076
|
+
comparisonKey,
|
|
29066
29077
|
keepOpen: true,
|
|
29067
29078
|
keyDown: state.keyDown,
|
|
29068
29079
|
options,
|
|
@@ -11,6 +11,7 @@ declare const propTypes: {
|
|
|
11
11
|
debounce: PropTypes.Requireable<number>;
|
|
12
12
|
disabled: PropTypes.Requireable<boolean>;
|
|
13
13
|
disableSelected: PropTypes.Requireable<boolean>;
|
|
14
|
+
comparisonKey: PropTypes.Requireable<string>;
|
|
14
15
|
formControl: PropTypes.Requireable<SpsFormControl<any[]>>;
|
|
15
16
|
formMeta: PropTypes.Requireable<SpsFormFieldMeta<any[]>>;
|
|
16
17
|
hideSelected: PropTypes.Requireable<boolean>;
|
|
@@ -29,5 +30,5 @@ declare const propTypes: {
|
|
|
29
30
|
unsafelyReplaceClassName: PropTypes.Requireable<string>;
|
|
30
31
|
};
|
|
31
32
|
export declare type SpsMultiSelectProps = PropTypes.InferTS<typeof propTypes, HTMLInputElement>;
|
|
32
|
-
export declare function SpsMultiSelect({ action, captionKey, className, debounce, disabled, disableSelected, formControl, formMeta, hideSelected, id, onChange, options, placeholder, tallOptionList, textKey, unsafelyReplaceClassName, value, zeroState, loading, icon, ...rest }: SpsMultiSelectProps): JSX.Element;
|
|
33
|
+
export declare function SpsMultiSelect({ action, captionKey, className, debounce, disabled, disableSelected, comparisonKey, formControl, formMeta, hideSelected, id, onChange, options, placeholder, tallOptionList, textKey, unsafelyReplaceClassName, value, zeroState, loading, icon, ...rest }: SpsMultiSelectProps): JSX.Element;
|
|
33
34
|
export {};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spscommerce/ds-react",
|
|
3
3
|
"description": "SPS Design System React components",
|
|
4
|
-
"version": "5.2.
|
|
4
|
+
"version": "5.2.5",
|
|
5
5
|
"author": "SPS Commerce",
|
|
6
6
|
"license": "UNLICENSED",
|
|
7
7
|
"repository": "https://github.com/spscommerce/design-system/tree/main/packages/@spscommerce/ds-react",
|
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"@react-stately/collections": "^3.3.3",
|
|
31
|
-
"@spscommerce/ds-colors": "5.2.
|
|
32
|
-
"@spscommerce/ds-shared": "5.2.
|
|
33
|
-
"@spscommerce/positioning": "5.2.
|
|
34
|
-
"@spscommerce/utils": "5.2.
|
|
31
|
+
"@spscommerce/ds-colors": "5.2.5",
|
|
32
|
+
"@spscommerce/ds-shared": "5.2.5",
|
|
33
|
+
"@spscommerce/positioning": "5.2.5",
|
|
34
|
+
"@spscommerce/utils": "5.2.5",
|
|
35
35
|
"moment": "^2.25.3",
|
|
36
36
|
"moment-timezone": "^0.5.28",
|
|
37
37
|
"react": "^16.9.0",
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@react-stately/collections": "^3.3.3",
|
|
42
|
-
"@spscommerce/ds-colors": "5.2.
|
|
43
|
-
"@spscommerce/ds-shared": "5.2.
|
|
44
|
-
"@spscommerce/positioning": "5.2.
|
|
45
|
-
"@spscommerce/utils": "5.2.
|
|
42
|
+
"@spscommerce/ds-colors": "5.2.5",
|
|
43
|
+
"@spscommerce/ds-shared": "5.2.5",
|
|
44
|
+
"@spscommerce/positioning": "5.2.5",
|
|
45
|
+
"@spscommerce/utils": "5.2.5",
|
|
46
46
|
"@testing-library/jest-dom": "^4.2.4",
|
|
47
47
|
"@testing-library/react": "^9.3.2",
|
|
48
48
|
"@types/prop-types": "^15.7.1",
|