@pixum/combobox 5.1.2 → 5.1.3
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/ComboboxOptions/Options.d.ts +1 -0
- package/lib/ComboboxOptions/Options.js +9 -12
- package/lib/ComboboxOptions/Options.js.map +1 -1
- package/lib/ComboboxOptions/OptionsGroup.d.ts +1 -0
- package/lib/ComboboxOptions/OptionsGroup.js +2 -2
- package/lib/ComboboxOptions/OptionsGroup.js.map +1 -1
- package/lib/ComboboxOptions/index.js +7 -4
- package/lib/ComboboxOptions/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
import MenuItem from '@pixum/menu-item';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
3
|
import React from 'react';
|
|
4
|
-
const Options = ({ items, selectedOption, onClick, leadingType, }) => (React.createElement(React.Fragment, null, items.map((item) => {
|
|
4
|
+
const Options = ({ items, selectedOption, onClick, onKeyDown, leadingType, }) => (React.createElement(React.Fragment, null, items.map((item) => {
|
|
5
5
|
var _a;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
: undefined, selected: selectedOption === itemText, text: itemText, subtext: item.subtext, subItemProps: {
|
|
15
|
-
text: (_a = item.subItemProps) === null || _a === void 0 ? void 0 : _a.text,
|
|
16
|
-
} })));
|
|
6
|
+
return (React.createElement(MenuItem, { key: `combobox-item-${item.text}`, tabIndex: 0, className: clsx(selectedOption === item.text && 'selected'), onClick: () => onClick === null || onClick === void 0 ? void 0 : onClick(item.text), onKeyDown: e => onKeyDown(e, item.text), onMouseEnter: item.onMouseEnter, leadingProps: leadingType
|
|
7
|
+
? {
|
|
8
|
+
name: item.text,
|
|
9
|
+
type: leadingType,
|
|
10
|
+
}
|
|
11
|
+
: undefined, selected: selectedOption === item.text, text: item.text, subtext: item.subtext, subItemProps: {
|
|
12
|
+
text: (_a = item.subItemProps) === null || _a === void 0 ? void 0 : _a.text,
|
|
13
|
+
} }));
|
|
17
14
|
})));
|
|
18
15
|
export default Options;
|
|
19
16
|
//# sourceMappingURL=Options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Options.js","sourceRoot":"","sources":["../../src/ComboboxOptions/Options.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAwC,MAAM,kBAAkB,CAAA;AACvE,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Options.js","sourceRoot":"","sources":["../../src/ComboboxOptions/Options.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAwC,MAAM,kBAAkB,CAAA;AACvE,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,KAAK,MAAM,OAAO,CAAA;AAWzB,MAAM,OAAO,GAA2B,CAAC,EACvC,KAAK,EACL,cAAc,EACd,OAAO,EACP,SAAS,EACT,WAAW,GACZ,EAAE,EAAE,CAAC,CACJ,0CACG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAmB,EAAE,EAAE;;IAAC,OAAA,CAClC,oBAAC,QAAQ,IACP,GAAG,EAAE,iBAAiB,IAAI,CAAC,IAAI,EAAE,EACjC,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,EAC3D,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,IAAI,CAAC,EACnC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EACvC,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,YAAY,EACV,WAAW;YACT,CAAC,CAAC;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,WAAW;aAClB;YACH,CAAC,CAAC,SAAS,EAEf,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC,IAAI,EACtC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,YAAY,EAAE;YACZ,IAAI,EAAE,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI;SAC9B,GACD,CACH,CAAA;CAAA,CAAC,CACD,CACJ,CAAA;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -6,6 +6,7 @@ interface OptionsGroupProps {
|
|
|
6
6
|
items: ComboBoxOptionProps[];
|
|
7
7
|
selectedOption?: string;
|
|
8
8
|
onClick?: (value: string) => void;
|
|
9
|
+
onKeyDown: (e: React.KeyboardEvent, value: string) => void;
|
|
9
10
|
leadingType?: LeadingType;
|
|
10
11
|
}
|
|
11
12
|
declare const OptionsGroup: React.FC<OptionsGroupProps>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import Text, { TextVariant } from '@pixum/text';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import Options from './Options';
|
|
4
|
-
const OptionsGroup = ({ group, items, selectedOption, onClick, leadingType, }) => (React.createElement("div", { className: "combobox__options-group", key: `combobox__options-group-${group}` },
|
|
4
|
+
const OptionsGroup = ({ group, items, selectedOption, onClick, onKeyDown, leadingType, }) => (React.createElement("div", { className: "combobox__options-group", key: `combobox__options-group-${group}` },
|
|
5
5
|
React.createElement(Text, { variant: TextVariant.HEADLINE, className: "combobox__sticky-header" }, group),
|
|
6
|
-
React.createElement(Options, { items: items, selectedOption: selectedOption, onClick: onClick, leadingType: leadingType })));
|
|
6
|
+
React.createElement(Options, { items: items, selectedOption: selectedOption, onClick: onClick, onKeyDown: onKeyDown, leadingType: leadingType })));
|
|
7
7
|
export default OptionsGroup;
|
|
8
8
|
//# sourceMappingURL=OptionsGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionsGroup.js","sourceRoot":"","sources":["../../src/ComboboxOptions/OptionsGroup.tsx"],"names":[],"mappings":"AACA,OAAO,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,OAAO,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"OptionsGroup.js","sourceRoot":"","sources":["../../src/ComboboxOptions/OptionsGroup.tsx"],"names":[],"mappings":"AACA,OAAO,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,OAAO,MAAM,WAAW,CAAA;AAY/B,MAAM,YAAY,GAAgC,CAAC,EACjD,KAAK,EACL,KAAK,EACL,cAAc,EACd,OAAO,EACP,SAAS,EACT,WAAW,GACZ,EAAE,EAAE,CAAC,CACJ,6BACE,SAAS,EAAC,yBAAyB,EACnC,GAAG,EAAE,2BAA2B,KAAK,EAAE;IAEvC,oBAAC,IAAI,IAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAC,yBAAyB,IACrE,KAAK,CACD;IACP,oBAAC,OAAO,IACN,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,GACxB,CACE,CACP,CAAA;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -6,13 +6,16 @@ import Options from './Options';
|
|
|
6
6
|
import useIsDesktopScreenWidth from '../helper/useIsDesktopScreenWidth';
|
|
7
7
|
const ComboBoxOptions = ({ options, onClick, selectedOption, leadingType, optionDetails, }) => {
|
|
8
8
|
const isDesktop = useIsDesktopScreenWidth();
|
|
9
|
-
const
|
|
10
|
-
|
|
9
|
+
const handleOnKeyDown = (e, value) => {
|
|
10
|
+
if (e.key === 'Enter') {
|
|
11
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(value);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
11
14
|
useEffect(() => {
|
|
12
15
|
scrollOptionToViewport(isDesktop);
|
|
13
16
|
}, [isDesktop]);
|
|
14
|
-
return (React.createElement(Menu, { className: "combobox__options
|
|
15
|
-
|
|
17
|
+
return (React.createElement(Menu, { className: "combobox__options" },
|
|
18
|
+
Array.isArray(options) ? (React.createElement(Options, { items: options, selectedOption: selectedOption, onClick: onClick, onKeyDown: handleOnKeyDown, leadingType: leadingType })) : (React.createElement(React.Fragment, null, Object.entries(options).map(([group, items]) => (React.createElement(OptionsGroup, { group: group, items: items, selectedOption: selectedOption, onClick: onClick, onKeyDown: handleOnKeyDown, leadingType: leadingType }))))),
|
|
16
19
|
optionDetails && (React.createElement("div", { className: "combobox__option-details text--caption" }, optionDetails))));
|
|
17
20
|
};
|
|
18
21
|
export default ComboBoxOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ComboboxOptions/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ComboboxOptions/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAW,MAAM,OAAO,CAAA;AACjD,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAEzE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,uBAAuB,MAAM,mCAAmC,CAAA;AAEvE,MAAM,eAAe,GAAmC,CAAC,EACvD,OAAO,EACP,OAAO,EACP,cAAc,EACd,WAAW,EACX,aAAa,GACd,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAA;IAE3C,MAAM,eAAe,GAAG,CAAC,CAAsB,EAAE,KAAa,EAAE,EAAE;QAChE,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACtB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,KAAK,CAAC,CAAA;QAClB,CAAC;IACH,CAAC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,sBAAsB,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAEf,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS,EAAC,mBAAmB;QAChC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACxB,oBAAC,OAAO,IACN,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,WAAW,GACxB,CACH,CAAC,CAAC,CAAC,CACF,0CACG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAC/C,oBAAC,YAAY,IACX,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,WAAW,GACxB,CACH,CAAC,CACD,CACJ;QACA,aAAa,IAAI,CAChB,6BAAK,SAAS,EAAC,wCAAwC,IACpD,aAAa,CACV,CACP,CACI,CACR,CAAA;AACH,CAAC,CAAA;AAED,eAAe,eAAe,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pixum/combobox",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.3",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"module": "lib/index.js",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -18,5 +18,5 @@
|
|
|
18
18
|
"sideEffects": [
|
|
19
19
|
"*.css"
|
|
20
20
|
],
|
|
21
|
-
"gitHead": "
|
|
21
|
+
"gitHead": "1c4a814fee8dff4467f533151f88d777c7c4ea24"
|
|
22
22
|
}
|