@bodynarf/react.components 1.3.5 → 1.3.7
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.
|
@@ -15,6 +15,6 @@ const DropdownLabel = ({ caption, selectedItem, onClick, deselectable }) => {
|
|
|
15
15
|
"button"
|
|
16
16
|
]);
|
|
17
17
|
return (_jsxs("label", { className: className, onClick: onClick, children: [deselectVisible &&
|
|
18
|
-
_jsx(Icon, { name: "plus-lg" }), _jsx("span", { className: deselectVisible ? "mx-2" : "mr-2", title: itemSelected ? text : undefined, children: text }), _jsx(Icon, { name: "arrow-
|
|
18
|
+
_jsx(Icon, { name: "plus-lg" }), _jsx("span", { className: deselectVisible ? "mx-2" : "mr-2", title: itemSelected ? text : undefined, children: text }), _jsx(Icon, { name: "arrow-down" })] }));
|
|
19
19
|
};
|
|
20
20
|
export default DropdownLabel;
|
|
@@ -11,19 +11,21 @@ export declare type DropdownProps = BaseElementProps & {
|
|
|
11
11
|
value?: SelectableItem;
|
|
12
12
|
/**
|
|
13
13
|
* Action to update selected value, which stored outside
|
|
14
|
-
|
|
14
|
+
*/
|
|
15
15
|
onSelect: (item?: SelectableItem) => void;
|
|
16
16
|
/**
|
|
17
17
|
* Caption.
|
|
18
18
|
* Appears only no element selected
|
|
19
|
-
|
|
19
|
+
*/
|
|
20
20
|
caption: string;
|
|
21
21
|
/** Hide dropdown list when its opened and user click outside */
|
|
22
22
|
hideOnOuterClick: boolean;
|
|
23
23
|
/** Can user deselect */
|
|
24
24
|
deselectable?: boolean;
|
|
25
|
+
/** Custom dropdown list height property */
|
|
26
|
+
listHeight?: string;
|
|
25
27
|
};
|
|
26
28
|
/** Dropdown component */
|
|
27
|
-
declare const Dropdown: ({ value, items, onSelect, caption, deselectable, className, hideOnOuterClick }: DropdownProps) => JSX.Element;
|
|
29
|
+
declare const Dropdown: ({ value, items, onSelect, caption, deselectable, className, hideOnOuterClick, listHeight }: DropdownProps) => JSX.Element;
|
|
28
30
|
export default Dropdown;
|
|
29
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/index.tsx"],"names":[],"mappings":"AAIA,OAAO,iBAAiB,CAAC;AAIzB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAK5C,oBAAY,aAAa,GAAG,gBAAgB,GAAG;IAC3C,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAE7B;;;MAGE;IACF,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/index.tsx"],"names":[],"mappings":"AAIA,OAAO,iBAAiB,CAAC;AAIzB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAK5C,oBAAY,aAAa,GAAG,gBAAgB,GAAG;IAC3C,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAE7B;;;MAGE;IACF,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;MAEE;IACF,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAE1C;;;MAGE;IACF,OAAO,EAAE,MAAM,CAAC;IAEhB,gEAAgE;IAChE,gBAAgB,EAAE,OAAO,CAAC;IAE1B,wBAAwB;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAA;AAED,yBAAyB;AACzB,QAAA,MAAM,QAAQ,+FAAgG,aAAa,KAAG,WA4F7H,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { useComponentOutsideClick } from '../../hooks/useComponentOutsideClick';
|
|
|
6
6
|
import DropdownItem from './components/dropdownItem';
|
|
7
7
|
import DropdownLabel from './components/dropdownLabel';
|
|
8
8
|
/** Dropdown component */
|
|
9
|
-
const Dropdown = ({ value, items, onSelect, caption, deselectable, className, hideOnOuterClick }) => {
|
|
9
|
+
const Dropdown = ({ value, items, onSelect, caption, deselectable, className, hideOnOuterClick, listHeight }) => {
|
|
10
10
|
const id = useId();
|
|
11
11
|
const [isListVisible, setListVisible] = useState(false);
|
|
12
12
|
const onItemClick = useCallback((event) => {
|
|
@@ -45,11 +45,12 @@ const Dropdown = ({ value, items, onSelect, caption, deselectable, className, hi
|
|
|
45
45
|
const classNames = getClassName([
|
|
46
46
|
"app-dropdown",
|
|
47
47
|
isListVisible ? "is-active" : "",
|
|
48
|
+
isNullOrEmpty(listHeight) ? "app-dropdown--height-default" : "",
|
|
48
49
|
className,
|
|
49
50
|
"dropdown"
|
|
50
51
|
]);
|
|
51
52
|
return (_jsxs("div", { className: classNames, "data-dropdown-id": id, children: [_jsx(DropdownLabel, { caption: caption, deselectable: deselectable === true, selectedItem: value, onClick: onLabelClick }), _jsx("div", { className: "dropdown-menu", children: items.length > 0
|
|
52
|
-
? _jsx("ul", { className: "dropdown-content", children: items.map(item => _jsx(DropdownItem, { item: item, selected: value?.value === item.value, onClick: onItemClick }, item.id)) })
|
|
53
|
+
? _jsx("ul", { className: "dropdown-content", style: { height: listHeight }, children: items.map(item => _jsx(DropdownItem, { item: item, selected: value?.value === item.value, onClick: onItemClick }, item.id)) })
|
|
53
54
|
: _jsx("span", { className: "dropdown-content dropdown-item", children: "No items found" }) })] }, id));
|
|
54
55
|
};
|
|
55
56
|
export default Dropdown;
|