@synerise/ds-list-item 1.4.8 → 1.4.10
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/CHANGELOG.md +8 -0
- package/README.md +27 -9
- package/dist/ListItem.const.d.ts +1 -1
- package/dist/ListItem.const.js +6 -3
- package/dist/ListItem.d.ts +14 -14
- package/dist/ListItem.js +33 -50
- package/dist/ListItem.styles.js +1 -0
- package/dist/ListItem.types.d.ts +5 -5
- package/dist/ListItem.types.js +13 -14
- package/dist/components/Danger/Danger.d.ts +4 -4
- package/dist/components/Danger/Danger.js +11 -12
- package/dist/components/Danger/Danger.styles.d.ts +3 -3
- package/dist/components/Danger/Danger.styles.js +23 -18
- package/dist/components/Divider/Divider.d.ts +2 -2
- package/dist/components/Divider/Divider.js +8 -9
- package/dist/components/Divider/Divider.styles.d.ts +2 -2
- package/dist/components/Divider/Divider.styles.js +7 -8
- package/dist/components/Divider/Divider.types.d.ts +1 -1
- package/dist/components/Divider/Divider.types.js +1 -1
- package/dist/components/GroupItem/GroupItem.d.ts +2 -2
- package/dist/components/GroupItem/GroupItem.js +17 -9
- package/dist/components/GroupItem/GroupItem.styles.d.ts +1 -1
- package/dist/components/GroupItem/GroupItem.styles.js +6 -5
- package/dist/components/Header/Header.d.ts +2 -2
- package/dist/components/Header/Header.js +19 -22
- package/dist/components/Header/Header.styles.d.ts +2 -2
- package/dist/components/Header/Header.styles.js +9 -9
- package/dist/components/Header/Header.types.d.ts +2 -2
- package/dist/components/Header/Header.types.js +1 -1
- package/dist/components/HoverTooltip/HoverTooltip.const.d.ts +1 -1
- package/dist/components/HoverTooltip/HoverTooltip.const.js +13 -6
- package/dist/components/HoverTooltip/HoverTooltip.d.ts +2 -2
- package/dist/components/HoverTooltip/HoverTooltip.js +26 -44
- package/dist/components/HoverTooltip/HoverTooltip.styles.d.ts +1 -1
- package/dist/components/HoverTooltip/HoverTooltip.styles.js +6 -3
- package/dist/components/HoverTooltip/HoverTooltip.types.d.ts +2 -2
- package/dist/components/HoverTooltip/HoverTooltip.types.js +1 -1
- package/dist/components/ListContext/ListContext.d.ts +3 -3
- package/dist/components/ListContext/ListContext.js +8 -4
- package/dist/components/ListContext/ListContextProvider.d.ts +2 -2
- package/dist/components/ListContext/ListContextProvider.js +16 -19
- package/dist/components/ListWrapper/ListWrapper.d.ts +3 -3
- package/dist/components/ListWrapper/ListWrapper.js +13 -13
- package/dist/components/ListWrapper/ListWrapper.styles.d.ts +1 -1
- package/dist/components/ListWrapper/ListWrapper.styles.js +6 -5
- package/dist/components/Select/Select.d.ts +4 -5
- package/dist/components/Select/Select.js +12 -16
- package/dist/components/Select/Select.styles.d.ts +3 -3
- package/dist/components/Select/Select.styles.js +8 -7
- package/dist/components/SubMenu/SubMenu.d.ts +2 -2
- package/dist/components/SubMenu/SubMenu.js +16 -22
- package/dist/components/SubMenu/SubMenu.styles.d.ts +2 -2
- package/dist/components/SubMenu/SubMenu.styles.js +9 -7
- package/dist/components/Text/DynamicLabel.d.ts +1 -1
- package/dist/components/Text/DynamicLabel.js +15 -10
- package/dist/components/Text/ItemLabel.const.js +4 -1
- package/dist/components/Text/ItemLabel.d.ts +3 -3
- package/dist/components/Text/ItemLabel.js +81 -82
- package/dist/components/Text/Text.d.ts +4 -4
- package/dist/components/Text/Text.js +119 -159
- package/dist/components/Text/Text.styles.d.ts +14 -14
- package/dist/components/Text/Text.styles.js +49 -85
- package/dist/components/Text/utils.d.ts +2 -2
- package/dist/components/Text/utils.js +27 -27
- package/dist/components/index.js +12 -5
- package/dist/hooks/useTemporaryLabel.d.ts +1 -1
- package/dist/hooks/useTemporaryLabel.js +12 -13
- package/dist/index.js +22 -7
- package/dist/modules.d.js +1 -1
- package/dist/modules.d.ts +0 -0
- package/package.json +9 -9
|
@@ -1,82 +1,81 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
});
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import classnames from "classnames";
|
|
3
|
+
import { forwardRef } from "react";
|
|
4
|
+
import { useTheme } from "@synerise/ds-core";
|
|
5
|
+
import Icon, { AngleRightS, CheckS, AngleUpS, AngleDownS } from "@synerise/ds-icon";
|
|
6
|
+
import { Wrapper, Inner, PrefixWrapper, Content, Description, ArrowRight, SuffixWrapper } from "./Text.styles.js";
|
|
7
|
+
const ItemLabel = forwardRef(({
|
|
8
|
+
onClick,
|
|
9
|
+
onFocus,
|
|
10
|
+
onBlur,
|
|
11
|
+
onKeyDown,
|
|
12
|
+
onMouseOver,
|
|
13
|
+
onMouseLeave,
|
|
14
|
+
onMouseDown,
|
|
15
|
+
checked,
|
|
16
|
+
noHover,
|
|
17
|
+
disabled,
|
|
18
|
+
ordered,
|
|
19
|
+
className,
|
|
20
|
+
hasHighlight,
|
|
21
|
+
prefixElement,
|
|
22
|
+
prefixVisible,
|
|
23
|
+
suffixElement,
|
|
24
|
+
suffixVisible,
|
|
25
|
+
hasSubMenu,
|
|
26
|
+
subMenuOpen,
|
|
27
|
+
content,
|
|
28
|
+
inTooltip,
|
|
29
|
+
parent,
|
|
30
|
+
description,
|
|
31
|
+
size,
|
|
32
|
+
indentLevel,
|
|
33
|
+
featured,
|
|
34
|
+
...rest
|
|
35
|
+
}, ref) => {
|
|
36
|
+
const theme = useTheme();
|
|
37
|
+
return /* @__PURE__ */ jsx(
|
|
38
|
+
Wrapper,
|
|
39
|
+
{
|
|
40
|
+
role: "menuitem",
|
|
41
|
+
"data-testid": "ds-list-item",
|
|
42
|
+
className: classnames("ds-list-item", className, {
|
|
43
|
+
"ds-list-item-selected": checked
|
|
44
|
+
}),
|
|
45
|
+
tabIndex: disabled ? -1 : 0,
|
|
46
|
+
onClick,
|
|
47
|
+
onKeyDown,
|
|
48
|
+
onMouseOver,
|
|
49
|
+
onMouseLeave,
|
|
50
|
+
onFocus,
|
|
51
|
+
onBlur,
|
|
52
|
+
onMouseDown,
|
|
53
|
+
ordered,
|
|
54
|
+
disabled,
|
|
55
|
+
noHover,
|
|
56
|
+
highlight: hasHighlight,
|
|
57
|
+
size,
|
|
58
|
+
inTooltip,
|
|
59
|
+
ref,
|
|
60
|
+
indentLevel,
|
|
61
|
+
featured,
|
|
62
|
+
...rest,
|
|
63
|
+
children: /* @__PURE__ */ jsxs(Inner, { children: [
|
|
64
|
+
prefixElement && /* @__PURE__ */ jsx(PrefixWrapper, { "data-testid": "list-item-prefix", visible: prefixVisible, disabled, children: prefixElement }),
|
|
65
|
+
/* @__PURE__ */ jsxs(Content, { className: "ds-list-item-content", children: [
|
|
66
|
+
content,
|
|
67
|
+
description && size === "large" && /* @__PURE__ */ jsx(Description, { children: description })
|
|
68
|
+
] }),
|
|
69
|
+
parent && /* @__PURE__ */ jsx(ArrowRight, { children: /* @__PURE__ */ jsx(Icon, { component: /* @__PURE__ */ jsx(AngleRightS, {}), color: theme.palette["grey-600"] }) }),
|
|
70
|
+
(!!suffixElement || !!checked || hasSubMenu) && /* @__PURE__ */ jsxs(SuffixWrapper, { "data-testid": "list-item-suffix", visible: suffixVisible || hasSubMenu, disabled, children: [
|
|
71
|
+
!!checked && /* @__PURE__ */ jsx(Icon, { component: /* @__PURE__ */ jsx(CheckS, {}), color: theme.palette[`green-600`] }),
|
|
72
|
+
hasSubMenu && /* @__PURE__ */ jsx(Icon, { component: subMenuOpen ? /* @__PURE__ */ jsx(AngleUpS, {}) : /* @__PURE__ */ jsx(AngleDownS, {}) }),
|
|
73
|
+
suffixElement
|
|
74
|
+
] })
|
|
75
|
+
] })
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
});
|
|
79
|
+
export {
|
|
80
|
+
ItemLabel
|
|
81
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
declare const Text: React.ForwardRefExoticComponent<Omit<import(
|
|
4
|
-
ItemComponent: React.ComponentType<import(
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { NestedItemProps } from '../../ListItem.types';
|
|
3
|
+
declare const Text: React.ForwardRefExoticComponent<Omit<import('../../ListItem.types').ListItemProps, "level" | "higher" | "text" | "type"> & {
|
|
4
|
+
ItemComponent: React.ComponentType<import('../../ListItem.types').ListItemProps>;
|
|
5
5
|
} & NestedItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
6
6
|
export default Text;
|
|
@@ -1,129 +1,126 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
ref
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}, [suffixel, hovered]);
|
|
81
|
-
var prefixElement = useMemo(function () {
|
|
82
|
-
return renderAddon(prefixel, hovered);
|
|
83
|
-
}, [prefixel, hovered]);
|
|
84
|
-
var shouldRenderSuffix = useMemo(function () {
|
|
1
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import copy from "copy-to-clipboard";
|
|
3
|
+
import { forwardRef, useState, useMemo } from "react";
|
|
4
|
+
import { useListItem, useMergeRefs } from "@floating-ui/react";
|
|
5
|
+
import { useStableId, renderWithHighlight } from "@synerise/ds-utils";
|
|
6
|
+
import { useTemporaryLabel } from "../../hooks/useTemporaryLabel.js";
|
|
7
|
+
import HoverTooltip from "../HoverTooltip/HoverTooltip.js";
|
|
8
|
+
import { SubMenu } from "../SubMenu/SubMenu.js";
|
|
9
|
+
import { DynamicLabel } from "./DynamicLabel.js";
|
|
10
|
+
import { ItemLabel } from "./ItemLabel.js";
|
|
11
|
+
import { getCopyConfig, renderAddon, removeHandlerProps } from "./utils.js";
|
|
12
|
+
const Text = forwardRef((props, forwardedRef) => {
|
|
13
|
+
const {
|
|
14
|
+
checked,
|
|
15
|
+
className,
|
|
16
|
+
children,
|
|
17
|
+
itemKey: menuItemKey,
|
|
18
|
+
noHover,
|
|
19
|
+
size,
|
|
20
|
+
prefixel,
|
|
21
|
+
suffixel,
|
|
22
|
+
copyable,
|
|
23
|
+
copyHint,
|
|
24
|
+
copyValue,
|
|
25
|
+
copyTooltip,
|
|
26
|
+
timeToHideTooltip,
|
|
27
|
+
tooltipProps,
|
|
28
|
+
disabled,
|
|
29
|
+
description,
|
|
30
|
+
parent,
|
|
31
|
+
ordered,
|
|
32
|
+
indentLevel,
|
|
33
|
+
onClick,
|
|
34
|
+
onMouseOver,
|
|
35
|
+
onMouseDown,
|
|
36
|
+
onMouseLeave,
|
|
37
|
+
onBlur,
|
|
38
|
+
onFocus,
|
|
39
|
+
onItemHover,
|
|
40
|
+
onKeyDown,
|
|
41
|
+
prefixVisibilityTrigger,
|
|
42
|
+
suffixVisibilityTrigger,
|
|
43
|
+
highlight,
|
|
44
|
+
style,
|
|
45
|
+
popoverProps,
|
|
46
|
+
renderHoverTooltip,
|
|
47
|
+
subMenu,
|
|
48
|
+
featured,
|
|
49
|
+
ItemComponent,
|
|
50
|
+
...rest
|
|
51
|
+
} = props;
|
|
52
|
+
const {
|
|
53
|
+
ref
|
|
54
|
+
} = useListItem();
|
|
55
|
+
const mergedRef = useMergeRefs([forwardedRef, ref]);
|
|
56
|
+
const stableId = useStableId();
|
|
57
|
+
const itemKey = menuItemKey ?? stableId;
|
|
58
|
+
const [subMenuOpen, setSubMenuOpen] = useState(false);
|
|
59
|
+
const [hovered, setHovered] = useState(false);
|
|
60
|
+
const {
|
|
61
|
+
enabled: canCopyToClipboard,
|
|
62
|
+
valueToCopy,
|
|
63
|
+
copiedLabel,
|
|
64
|
+
labelTimerReset,
|
|
65
|
+
delayClickEvent
|
|
66
|
+
} = getCopyConfig({
|
|
67
|
+
copyable,
|
|
68
|
+
copyValue,
|
|
69
|
+
disabled
|
|
70
|
+
});
|
|
71
|
+
const {
|
|
72
|
+
temporaryLabel,
|
|
73
|
+
setTemporaryLabel
|
|
74
|
+
} = useTemporaryLabel(labelTimerReset);
|
|
75
|
+
const showSuffixOnHover = suffixVisibilityTrigger === "hover";
|
|
76
|
+
const showPrefixOnHover = prefixVisibilityTrigger === "hover";
|
|
77
|
+
const suffixElement = useMemo(() => renderAddon(suffixel, hovered), [suffixel, hovered]);
|
|
78
|
+
const prefixElement = useMemo(() => renderAddon(prefixel, hovered), [prefixel, hovered]);
|
|
79
|
+
const shouldRenderSuffix = useMemo(() => {
|
|
85
80
|
if (showSuffixOnHover) {
|
|
86
81
|
return (!!suffixElement || !!checked) && hovered;
|
|
87
82
|
}
|
|
88
83
|
return !!suffixElement || !!checked;
|
|
89
84
|
}, [showSuffixOnHover, suffixElement, checked, hovered]);
|
|
90
|
-
|
|
85
|
+
const shouldRenderPrefix = useMemo(() => {
|
|
91
86
|
if (showPrefixOnHover) {
|
|
92
87
|
return !!prefixElement && hovered;
|
|
93
88
|
}
|
|
94
89
|
return !!prefixElement;
|
|
95
90
|
}, [showPrefixOnHover, prefixElement, hovered]);
|
|
96
|
-
|
|
97
|
-
if (highlight && typeof children ===
|
|
98
|
-
return renderWithHighlight(children, highlight,
|
|
91
|
+
const childrenWithHighlight = useMemo(() => {
|
|
92
|
+
if (highlight && typeof children === "string") {
|
|
93
|
+
return renderWithHighlight(children, highlight, "ds-list-item-highlight", "ds-list-item-highlight");
|
|
99
94
|
}
|
|
100
95
|
return children;
|
|
101
96
|
}, [children, highlight]);
|
|
102
|
-
|
|
97
|
+
const itemData = {
|
|
103
98
|
key: itemKey,
|
|
104
99
|
item: removeHandlerProps(props)
|
|
105
100
|
};
|
|
106
|
-
|
|
101
|
+
const handleClick = (event) => {
|
|
107
102
|
if (!disabled) {
|
|
108
103
|
if (subMenu) {
|
|
109
104
|
setSubMenuOpen(!subMenuOpen);
|
|
110
105
|
} else {
|
|
111
106
|
if (delayClickEvent) {
|
|
112
|
-
setTimeout(
|
|
113
|
-
onClick && onClick(
|
|
107
|
+
setTimeout(() => {
|
|
108
|
+
onClick && onClick({
|
|
109
|
+
...itemData,
|
|
114
110
|
domEvent: event
|
|
115
|
-
})
|
|
111
|
+
});
|
|
116
112
|
}, delayClickEvent);
|
|
117
113
|
return;
|
|
118
114
|
}
|
|
119
|
-
onClick && onClick(
|
|
115
|
+
onClick && onClick({
|
|
116
|
+
...itemData,
|
|
120
117
|
domEvent: event
|
|
121
|
-
})
|
|
118
|
+
});
|
|
122
119
|
}
|
|
123
120
|
}
|
|
124
121
|
};
|
|
125
|
-
|
|
126
|
-
if (!disabled && event.key ===
|
|
122
|
+
const handleKeyDown = (event) => {
|
|
123
|
+
if (!disabled && event.key === "Enter") {
|
|
127
124
|
if (subMenu) {
|
|
128
125
|
setSubMenuOpen(!subMenuOpen);
|
|
129
126
|
} else {
|
|
@@ -132,41 +129,44 @@ var Text = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
|
|
|
132
129
|
copy(valueToCopy);
|
|
133
130
|
setTemporaryLabel(true);
|
|
134
131
|
if (delayClickEvent) {
|
|
135
|
-
setTimeout(
|
|
136
|
-
onClick && onClick(
|
|
132
|
+
setTimeout(() => {
|
|
133
|
+
onClick && onClick({
|
|
134
|
+
...itemData,
|
|
137
135
|
domEvent: event
|
|
138
|
-
})
|
|
136
|
+
});
|
|
139
137
|
}, delayClickEvent);
|
|
140
138
|
return;
|
|
141
139
|
}
|
|
142
140
|
}
|
|
143
|
-
onClick && onClick(
|
|
141
|
+
onClick && onClick({
|
|
142
|
+
...itemData,
|
|
144
143
|
domEvent: event
|
|
145
|
-
})
|
|
144
|
+
});
|
|
146
145
|
}
|
|
147
146
|
}
|
|
148
147
|
onKeyDown && onKeyDown(event);
|
|
149
148
|
};
|
|
150
|
-
|
|
149
|
+
const handleMouseOver = (event) => {
|
|
151
150
|
setHovered(true);
|
|
152
|
-
onItemHover && onItemHover(
|
|
151
|
+
onItemHover && onItemHover({
|
|
152
|
+
...itemData,
|
|
153
153
|
domEvent: event
|
|
154
|
-
})
|
|
154
|
+
});
|
|
155
155
|
onMouseOver && onMouseOver(event);
|
|
156
156
|
};
|
|
157
|
-
|
|
157
|
+
const handleMouseLeave = (event) => {
|
|
158
158
|
setHovered(false);
|
|
159
159
|
onMouseLeave && onMouseLeave(event);
|
|
160
160
|
};
|
|
161
|
-
|
|
161
|
+
const handleFocus = (event) => {
|
|
162
162
|
setHovered(true);
|
|
163
163
|
onFocus && onFocus(event);
|
|
164
164
|
};
|
|
165
|
-
|
|
165
|
+
const handleBlur = (event) => {
|
|
166
166
|
setHovered(false);
|
|
167
167
|
onBlur && onBlur(event);
|
|
168
168
|
};
|
|
169
|
-
|
|
169
|
+
const handleMouseDown = (event) => {
|
|
170
170
|
setHovered(true);
|
|
171
171
|
if (canCopyToClipboard && valueToCopy) {
|
|
172
172
|
copy(valueToCopy);
|
|
@@ -174,59 +174,19 @@ var Text = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
|
|
|
174
174
|
}
|
|
175
175
|
onMouseDown && onMouseDown(event);
|
|
176
176
|
};
|
|
177
|
-
|
|
178
|
-
role: "menuitem",
|
|
179
|
-
"data-testid": "ds-list-item",
|
|
180
|
-
className: className,
|
|
181
|
-
onClick: handleClick,
|
|
182
|
-
onKeyDown: handleKeyDown,
|
|
183
|
-
onMouseOver: handleMouseOver,
|
|
184
|
-
onMouseLeave: handleMouseLeave,
|
|
185
|
-
onFocus: handleFocus,
|
|
186
|
-
onBlur: handleBlur,
|
|
187
|
-
onMouseDown: handleMouseDown,
|
|
188
|
-
ordered: ordered,
|
|
189
|
-
disabled: disabled,
|
|
190
|
-
noHover: noHover,
|
|
191
|
-
hasHighlight: !!highlight,
|
|
192
|
-
size: size,
|
|
193
|
-
featured: featured,
|
|
194
|
-
style: renderHoverTooltip ? undefined : style,
|
|
195
|
-
inTooltip: !!renderHoverTooltip,
|
|
196
|
-
ref: mergedRef,
|
|
197
|
-
parent: parent,
|
|
198
|
-
hasSubMenu: !!(subMenu && subMenu.length),
|
|
199
|
-
subMenuOpen: subMenuOpen,
|
|
200
|
-
prefixElement: prefixElement,
|
|
201
|
-
prefixVisible: shouldRenderPrefix,
|
|
202
|
-
description: description,
|
|
203
|
-
checked: checked,
|
|
204
|
-
suffixElement: suffixElement,
|
|
205
|
-
suffixVisible: shouldRenderSuffix,
|
|
206
|
-
indentLevel: indentLevel,
|
|
207
|
-
content: /*#__PURE__*/React.createElement(DynamicLabel, {
|
|
208
|
-
showAlternative: temporaryLabel,
|
|
209
|
-
content: childrenWithHighlight,
|
|
210
|
-
alternativeContent: canCopyToClipboard ? copiedLabel : undefined
|
|
211
|
-
})
|
|
212
|
-
}, rest));
|
|
177
|
+
const TextNode = /* @__PURE__ */ jsx(ItemLabel, { role: "menuitem", "data-testid": "ds-list-item", className, onClick: handleClick, onKeyDown: handleKeyDown, onMouseOver: handleMouseOver, onMouseLeave: handleMouseLeave, onFocus: handleFocus, onBlur: handleBlur, onMouseDown: handleMouseDown, ordered, disabled, noHover, hasHighlight: !!highlight, size, featured, style: renderHoverTooltip ? void 0 : style, inTooltip: !!renderHoverTooltip, ref: mergedRef, parent, hasSubMenu: !!(subMenu && subMenu.length), subMenuOpen, prefixElement, prefixVisible: shouldRenderPrefix, description, checked, suffixElement, suffixVisible: shouldRenderSuffix, indentLevel, content: /* @__PURE__ */ jsx(DynamicLabel, { showAlternative: temporaryLabel, content: childrenWithHighlight, alternativeContent: canCopyToClipboard ? copiedLabel : void 0 }), ...rest });
|
|
213
178
|
if (renderHoverTooltip) {
|
|
214
|
-
return
|
|
215
|
-
popoverProps: popoverProps,
|
|
216
|
-
renderHoverTooltip: renderHoverTooltip,
|
|
217
|
-
style: style
|
|
218
|
-
}, TextNode);
|
|
179
|
+
return /* @__PURE__ */ jsx(HoverTooltip, { popoverProps, renderHoverTooltip, style, children: TextNode });
|
|
219
180
|
}
|
|
220
181
|
if (subMenu && subMenu.length) {
|
|
221
|
-
|
|
222
|
-
return
|
|
223
|
-
|
|
224
|
-
indentLevel: nextIndentLevel,
|
|
225
|
-
|
|
226
|
-
isOpen: subMenuOpen,
|
|
227
|
-
ItemComponent: ItemComponent
|
|
228
|
-
}));
|
|
182
|
+
const nextIndentLevel = indentLevel ? indentLevel + 1 : 1;
|
|
183
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
184
|
+
TextNode,
|
|
185
|
+
/* @__PURE__ */ jsx(SubMenu, { onClick, indentLevel: nextIndentLevel, dataSource: subMenu, isOpen: subMenuOpen, ItemComponent })
|
|
186
|
+
] });
|
|
229
187
|
}
|
|
230
188
|
return TextNode;
|
|
231
189
|
});
|
|
232
|
-
export
|
|
190
|
+
export {
|
|
191
|
+
Text as default
|
|
192
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ItemSize } from '../../ListItem.types';
|
|
3
3
|
type StyledListItemProps = {
|
|
4
4
|
disabled?: boolean;
|
|
5
5
|
selected?: boolean;
|
|
@@ -15,24 +15,24 @@ type StyledListItemProps = {
|
|
|
15
15
|
size?: ItemSize;
|
|
16
16
|
featured?: boolean;
|
|
17
17
|
};
|
|
18
|
-
export declare const SuffixWrapper: import(
|
|
18
|
+
export declare const SuffixWrapper: import('styled-components').StyledComponent<"div", any, {
|
|
19
19
|
visible?: boolean;
|
|
20
20
|
disabled?: boolean;
|
|
21
21
|
}, never>;
|
|
22
|
-
export declare const PrefixWrapper: import(
|
|
22
|
+
export declare const PrefixWrapper: import('styled-components').StyledComponent<"div", any, {
|
|
23
23
|
visible?: boolean;
|
|
24
24
|
disabled?: boolean;
|
|
25
25
|
}, never>;
|
|
26
|
-
export declare const Highlight: import(
|
|
27
|
-
export declare const ArrowRight: import(
|
|
28
|
-
export declare const Inner: import(
|
|
29
|
-
export declare const Content: import(
|
|
30
|
-
export declare const Wrapper: import(
|
|
31
|
-
export declare const Divider: import(
|
|
32
|
-
export declare const DynamicLabelMain: import(
|
|
33
|
-
export declare const DynamicLabelAlternate: import(
|
|
34
|
-
export declare const DynamicLabelWrapper: import(
|
|
26
|
+
export declare const Highlight: import('styled-components').StyledComponent<"span", any, {}, never>;
|
|
27
|
+
export declare const ArrowRight: import('styled-components').StyledComponent<"div", any, {}, never>;
|
|
28
|
+
export declare const Inner: import('styled-components').StyledComponent<"div", any, {}, never>;
|
|
29
|
+
export declare const Content: import('styled-components').StyledComponent<"div", any, {}, never>;
|
|
30
|
+
export declare const Wrapper: import('styled-components').StyledComponent<"div", any, StyledListItemProps, never>;
|
|
31
|
+
export declare const Divider: import('styled-components').StyledComponent<"div", any, {}, never>;
|
|
32
|
+
export declare const DynamicLabelMain: import('styled-components').StyledComponent<"div", any, {}, never>;
|
|
33
|
+
export declare const DynamicLabelAlternate: import('styled-components').StyledComponent<"div", any, {}, never>;
|
|
34
|
+
export declare const DynamicLabelWrapper: import('styled-components').StyledComponent<"div", any, {
|
|
35
35
|
showAlternative?: boolean;
|
|
36
36
|
}, never>;
|
|
37
|
-
export declare const Description: import(
|
|
37
|
+
export declare const Description: import('styled-components').StyledComponent<"div", any, {}, never>;
|
|
38
38
|
export {};
|