carbon-react 109.1.0 → 109.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/esm/__internal__/label/label.component.d.ts +1 -1
- package/esm/__internal__/label/label.component.js +2 -2
- package/esm/components/checkbox/checkbox-group.component.js +0 -5
- package/esm/components/checkbox/checkbox-group.d.ts +0 -2
- package/esm/components/checkbox/checkbox.component.js +1 -3
- package/esm/components/date/date.component.js +4 -7
- package/esm/components/flat-table/sort/sort.component.js +2 -1
- package/esm/components/flat-table/sort/sort.style.js +0 -1
- package/esm/components/help/help.component.d.ts +43 -0
- package/esm/components/help/help.component.js +194 -84
- package/esm/components/help/help.config.d.ts +1 -0
- package/esm/components/help/help.style.d.ts +4 -1
- package/esm/components/help/index.d.ts +2 -1
- package/esm/components/menu/__internal__/submenu/submenu.component.js +4 -6
- package/esm/components/multi-action-button/multi-action-button.component.js +4 -13
- package/esm/components/popover-container/popover-container.component.d.ts +1 -1
- package/esm/components/popover-container/popover-container.component.js +29 -12
- package/esm/components/popover-container/popover-container.style.d.ts +0 -2
- package/esm/components/popover-container/popover-container.style.js +0 -8
- package/esm/components/split-button/split-button.component.js +4 -11
- package/esm/hooks/__internal__/useClickAwayListener/index.d.ts +1 -0
- package/esm/hooks/__internal__/useClickAwayListener/index.js +1 -0
- package/esm/hooks/__internal__/useClickAwayListener/useClickAwayListener.d.ts +3 -0
- package/esm/hooks/__internal__/useClickAwayListener/useClickAwayListener.js +23 -0
- package/lib/__internal__/label/label.component.d.ts +1 -1
- package/lib/__internal__/label/label.component.js +2 -2
- package/lib/components/checkbox/checkbox-group.component.js +0 -5
- package/lib/components/checkbox/checkbox-group.d.ts +0 -2
- package/lib/components/checkbox/checkbox.component.js +1 -3
- package/lib/components/date/date.component.js +4 -7
- package/lib/components/flat-table/sort/sort.component.js +2 -1
- package/lib/components/flat-table/sort/sort.style.js +0 -1
- package/lib/components/help/help.component.d.ts +43 -0
- package/lib/components/help/help.component.js +194 -87
- package/lib/components/help/help.config.d.ts +1 -0
- package/lib/components/help/help.style.d.ts +4 -1
- package/lib/components/help/index.d.ts +2 -1
- package/lib/components/menu/__internal__/submenu/submenu.component.js +4 -6
- package/lib/components/multi-action-button/multi-action-button.component.js +5 -13
- package/lib/components/popover-container/popover-container.component.d.ts +1 -1
- package/lib/components/popover-container/popover-container.component.js +30 -12
- package/lib/components/popover-container/popover-container.style.d.ts +0 -2
- package/lib/components/popover-container/popover-container.style.js +0 -8
- package/lib/components/split-button/split-button.component.js +5 -11
- package/lib/hooks/__internal__/useClickAwayListener/index.d.ts +1 -0
- package/lib/{__internal__/click-away-wrapper → hooks/__internal__/useClickAwayListener}/index.js +2 -2
- package/lib/hooks/__internal__/useClickAwayListener/package.json +6 -0
- package/lib/hooks/__internal__/useClickAwayListener/useClickAwayListener.d.ts +3 -0
- package/lib/hooks/__internal__/useClickAwayListener/useClickAwayListener.js +33 -0
- package/package.json +1 -1
- package/esm/__internal__/click-away-wrapper/click-away-wrapper.component.d.ts +0 -12
- package/esm/__internal__/click-away-wrapper/click-away-wrapper.component.js +0 -43
- package/esm/__internal__/click-away-wrapper/index.d.ts +0 -2
- package/esm/__internal__/click-away-wrapper/index.js +0 -1
- package/esm/components/help/help.d.ts +0 -41
- package/lib/__internal__/click-away-wrapper/click-away-wrapper.component.d.ts +0 -12
- package/lib/__internal__/click-away-wrapper/click-away-wrapper.component.js +0 -59
- package/lib/__internal__/click-away-wrapper/index.d.ts +0 -2
- package/lib/__internal__/click-away-wrapper/package.json +0 -6
- package/lib/components/help/help.d.ts +0 -41
|
@@ -3,14 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = void 0;
|
|
6
|
+
exports.default = exports.Help = void 0;
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
12
|
-
var _propTypes2 = _interopRequireDefault(require("@styled-system/prop-types"));
|
|
13
|
-
|
|
14
12
|
var _icon = _interopRequireDefault(require("../icon"));
|
|
15
13
|
|
|
16
14
|
var _tags = _interopRequireDefault(require("../../__internal__/utils/helpers/tags/tags"));
|
|
@@ -23,8 +21,6 @@ var _tooltipProvider = require("../../__internal__/tooltip-provider");
|
|
|
23
21
|
|
|
24
22
|
var _utils = require("../../style/utils");
|
|
25
23
|
|
|
26
|
-
var _help2 = require("./help.config");
|
|
27
|
-
|
|
28
24
|
var _guid = _interopRequireDefault(require("../../__internal__/utils/helpers/guid"));
|
|
29
25
|
|
|
30
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -35,23 +31,21 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
|
|
|
35
31
|
|
|
36
32
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
37
33
|
|
|
38
|
-
const marginPropTypes = (0, _utils.filterStyledSystemMarginProps)(_propTypes2.default.space);
|
|
39
|
-
|
|
40
34
|
const Help = ({
|
|
35
|
+
as,
|
|
36
|
+
ariaLabel = "help",
|
|
37
|
+
children,
|
|
41
38
|
className,
|
|
42
39
|
href,
|
|
43
40
|
helpId,
|
|
44
|
-
children,
|
|
45
|
-
tabIndex,
|
|
46
|
-
as,
|
|
47
|
-
tooltipPosition,
|
|
48
41
|
isFocused,
|
|
49
|
-
|
|
50
|
-
tooltipId,
|
|
42
|
+
tabIndex = 0,
|
|
51
43
|
tooltipBgColor,
|
|
52
44
|
tooltipFontColor,
|
|
53
45
|
tooltipFlipOverrides,
|
|
54
|
-
|
|
46
|
+
tooltipId,
|
|
47
|
+
tooltipPosition = "top",
|
|
48
|
+
type = "help",
|
|
55
49
|
...rest
|
|
56
50
|
}) => {
|
|
57
51
|
const defaultTooltipId = (0, _react.useRef)((0, _guid.default)());
|
|
@@ -61,23 +55,25 @@ const Help = ({
|
|
|
61
55
|
helpAriaLabel
|
|
62
56
|
} = (0, _react.useContext)(_tooltipProvider.TooltipContext);
|
|
63
57
|
(0, _react.useEffect)(() => {
|
|
58
|
+
function handleKeyPress(ev) {
|
|
59
|
+
if (_events.default.isEscKey(ev)) {
|
|
60
|
+
var _helpElement$current;
|
|
61
|
+
|
|
62
|
+
helpElement === null || helpElement === void 0 ? void 0 : (_helpElement$current = helpElement.current) === null || _helpElement$current === void 0 ? void 0 : _helpElement$current.blur();
|
|
63
|
+
updateTooltipVisible(false);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
64
67
|
document.addEventListener("keydown", handleKeyPress);
|
|
65
68
|
return function cleanup() {
|
|
66
69
|
document.removeEventListener("keydown", handleKeyPress);
|
|
67
70
|
};
|
|
68
71
|
});
|
|
69
|
-
const tagType = as || href && "a";
|
|
72
|
+
const tagType = as || href && "a" || "div";
|
|
70
73
|
|
|
71
|
-
function
|
|
72
|
-
if (_events.default.isEscKey(ev)) {
|
|
73
|
-
helpElement.current.blur();
|
|
74
|
-
updateTooltipVisible(false);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
function handleFocusBlur(bool) {
|
|
74
|
+
function handleFocusBlur(isVisible) {
|
|
79
75
|
return () => {
|
|
80
|
-
updateTooltipVisible(
|
|
76
|
+
updateTooltipVisible(isVisible);
|
|
81
77
|
};
|
|
82
78
|
}
|
|
83
79
|
|
|
@@ -90,7 +86,9 @@ const Help = ({
|
|
|
90
86
|
id: helpId,
|
|
91
87
|
ref: helpElement,
|
|
92
88
|
onClick: () => {
|
|
93
|
-
|
|
89
|
+
var _helpElement$current2;
|
|
90
|
+
|
|
91
|
+
helpElement === null || helpElement === void 0 ? void 0 : (_helpElement$current2 = helpElement.current) === null || _helpElement$current2 === void 0 ? void 0 : _helpElement$current2.focus();
|
|
94
92
|
},
|
|
95
93
|
onFocus: handleFocusBlur(true),
|
|
96
94
|
onBlur: handleFocusBlur(false),
|
|
@@ -117,68 +115,177 @@ const Help = ({
|
|
|
117
115
|
}));
|
|
118
116
|
};
|
|
119
117
|
|
|
120
|
-
Help
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
118
|
+
exports.Help = Help;
|
|
119
|
+
Help.propTypes = {
|
|
120
|
+
"ariaLabel": _propTypes.default.string,
|
|
121
|
+
"as": _propTypes.default.oneOf(["a", "abbr", "address", "animate", "animateMotion", "animateTransform", "area", "article", "aside", "audio", "b", "base", "bdi", "bdo", "big", "blockquote", "body", "br", "button", "canvas", "caption", "circle", "cite", "clipPath", "code", "col", "colgroup", "data", "datalist", "dd", "defs", "del", "desc", "details", "dfn", "dialog", "div", "dl", "dt", "ellipse", "em", "embed", "feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence", "fieldset", "figcaption", "figure", "filter", "footer", "foreignObject", "form", "g", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "iframe", "image", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "line", "linearGradient", "link", "main", "map", "mark", "marker", "mask", "menu", "menuitem", "meta", "metadata", "meter", "mpath", "nav", "noindex", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "path", "pattern", "picture", "polygon", "polyline", "pre", "progress", "q", "radialGradient", "rect", "rp", "rt", "ruby", "s", "samp", "script", "section", "select", "slot", "small", "source", "span", "stop", "strong", "style", "sub", "summary", "sup", "svg", "switch", "symbol", "table", "tbody", "td", "template", "text", "textarea", "textPath", "tfoot", "th", "thead", "time", "title", "tr", "track", "tspan", "u", "ul", "use", "var", "video", "view", "wbr", "webview"]),
|
|
122
|
+
"children": _propTypes.default.node,
|
|
123
|
+
"className": _propTypes.default.string,
|
|
124
|
+
"helpId": _propTypes.default.string,
|
|
125
|
+
"href": _propTypes.default.string,
|
|
126
|
+
"isFocused": _propTypes.default.bool,
|
|
127
|
+
"m": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
128
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
129
|
+
"description": _propTypes.default.string,
|
|
130
|
+
"toString": _propTypes.default.func.isRequired,
|
|
131
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
132
|
+
}), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
|
|
133
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
134
|
+
"description": _propTypes.default.string,
|
|
135
|
+
"toString": _propTypes.default.func.isRequired,
|
|
136
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
137
|
+
}), _propTypes.default.string]),
|
|
138
|
+
"margin": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
139
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
140
|
+
"description": _propTypes.default.string,
|
|
141
|
+
"toString": _propTypes.default.func.isRequired,
|
|
142
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
143
|
+
}), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
|
|
144
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
145
|
+
"description": _propTypes.default.string,
|
|
146
|
+
"toString": _propTypes.default.func.isRequired,
|
|
147
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
148
|
+
}), _propTypes.default.string]),
|
|
149
|
+
"marginBottom": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
150
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
151
|
+
"description": _propTypes.default.string,
|
|
152
|
+
"toString": _propTypes.default.func.isRequired,
|
|
153
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
154
|
+
}), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
|
|
155
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
156
|
+
"description": _propTypes.default.string,
|
|
157
|
+
"toString": _propTypes.default.func.isRequired,
|
|
158
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
159
|
+
}), _propTypes.default.string]),
|
|
160
|
+
"marginLeft": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
161
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
162
|
+
"description": _propTypes.default.string,
|
|
163
|
+
"toString": _propTypes.default.func.isRequired,
|
|
164
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
165
|
+
}), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
|
|
166
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
167
|
+
"description": _propTypes.default.string,
|
|
168
|
+
"toString": _propTypes.default.func.isRequired,
|
|
169
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
170
|
+
}), _propTypes.default.string]),
|
|
171
|
+
"marginRight": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
172
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
173
|
+
"description": _propTypes.default.string,
|
|
174
|
+
"toString": _propTypes.default.func.isRequired,
|
|
175
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
176
|
+
}), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
|
|
177
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
178
|
+
"description": _propTypes.default.string,
|
|
179
|
+
"toString": _propTypes.default.func.isRequired,
|
|
180
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
181
|
+
}), _propTypes.default.string]),
|
|
182
|
+
"marginTop": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
183
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
184
|
+
"description": _propTypes.default.string,
|
|
185
|
+
"toString": _propTypes.default.func.isRequired,
|
|
186
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
187
|
+
}), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
|
|
188
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
189
|
+
"description": _propTypes.default.string,
|
|
190
|
+
"toString": _propTypes.default.func.isRequired,
|
|
191
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
192
|
+
}), _propTypes.default.string]),
|
|
193
|
+
"marginX": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
194
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
195
|
+
"description": _propTypes.default.string,
|
|
196
|
+
"toString": _propTypes.default.func.isRequired,
|
|
197
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
198
|
+
}), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
|
|
199
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
200
|
+
"description": _propTypes.default.string,
|
|
201
|
+
"toString": _propTypes.default.func.isRequired,
|
|
202
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
203
|
+
}), _propTypes.default.string]),
|
|
204
|
+
"marginY": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
205
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
206
|
+
"description": _propTypes.default.string,
|
|
207
|
+
"toString": _propTypes.default.func.isRequired,
|
|
208
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
209
|
+
}), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
|
|
210
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
211
|
+
"description": _propTypes.default.string,
|
|
212
|
+
"toString": _propTypes.default.func.isRequired,
|
|
213
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
214
|
+
}), _propTypes.default.string]),
|
|
215
|
+
"mb": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
216
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
217
|
+
"description": _propTypes.default.string,
|
|
218
|
+
"toString": _propTypes.default.func.isRequired,
|
|
219
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
220
|
+
}), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
|
|
221
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
222
|
+
"description": _propTypes.default.string,
|
|
223
|
+
"toString": _propTypes.default.func.isRequired,
|
|
224
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
225
|
+
}), _propTypes.default.string]),
|
|
226
|
+
"ml": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
227
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
228
|
+
"description": _propTypes.default.string,
|
|
229
|
+
"toString": _propTypes.default.func.isRequired,
|
|
230
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
231
|
+
}), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
|
|
232
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
233
|
+
"description": _propTypes.default.string,
|
|
234
|
+
"toString": _propTypes.default.func.isRequired,
|
|
235
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
236
|
+
}), _propTypes.default.string]),
|
|
237
|
+
"mr": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
238
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
239
|
+
"description": _propTypes.default.string,
|
|
240
|
+
"toString": _propTypes.default.func.isRequired,
|
|
241
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
242
|
+
}), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
|
|
243
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
244
|
+
"description": _propTypes.default.string,
|
|
245
|
+
"toString": _propTypes.default.func.isRequired,
|
|
246
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
247
|
+
}), _propTypes.default.string]),
|
|
248
|
+
"mt": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
249
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
250
|
+
"description": _propTypes.default.string,
|
|
251
|
+
"toString": _propTypes.default.func.isRequired,
|
|
252
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
253
|
+
}), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
|
|
254
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
255
|
+
"description": _propTypes.default.string,
|
|
256
|
+
"toString": _propTypes.default.func.isRequired,
|
|
257
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
258
|
+
}), _propTypes.default.string]),
|
|
259
|
+
"mx": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
260
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
261
|
+
"description": _propTypes.default.string,
|
|
262
|
+
"toString": _propTypes.default.func.isRequired,
|
|
263
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
264
|
+
}), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
|
|
265
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
266
|
+
"description": _propTypes.default.string,
|
|
267
|
+
"toString": _propTypes.default.func.isRequired,
|
|
268
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
269
|
+
}), _propTypes.default.string]),
|
|
270
|
+
"my": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
271
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
272
|
+
"description": _propTypes.default.string,
|
|
273
|
+
"toString": _propTypes.default.func.isRequired,
|
|
274
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
275
|
+
}), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
|
|
276
|
+
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
277
|
+
"description": _propTypes.default.string,
|
|
278
|
+
"toString": _propTypes.default.func.isRequired,
|
|
279
|
+
"valueOf": _propTypes.default.func.isRequired
|
|
280
|
+
}), _propTypes.default.string]),
|
|
281
|
+
"tabIndex": _propTypes.default.number,
|
|
282
|
+
"tooltipBgColor": _propTypes.default.string,
|
|
283
|
+
"tooltipFlipOverrides": _propTypes.default.arrayOf(_propTypes.default.oneOf(["bottom", "left", "right", "top"])),
|
|
284
|
+
"tooltipFontColor": _propTypes.default.string,
|
|
285
|
+
"tooltipId": _propTypes.default.string,
|
|
286
|
+
"tooltipPosition": _propTypes.default.oneOf(["bottom", "left", "right", "top"]),
|
|
287
|
+
"type": _propTypes.default.oneOf(["add", "admin", "alert", "analysis", "arrow_down", "arrow_left_boxed", "arrow_left_right_small", "arrow_left_small", "arrow_left", "arrow_right_small", "arrow_right", "arrow_up", "arrow", "attach", "bank", "basket_with_squares", "basket", "bin", "block_arrow_right", "blocked_square", "blocked", "bold", "boxed_shapes", "bulk_destroy", "bullet_list_dotted", "bullet_list_numbers", "bullet_list", "business", "calendar_today", "calendar", "call", "camera", "card_view", "caret_down", "caret_large_down", "caret_large_left", "caret_large_right", "caret_large_up", "caret_left", "caret_right", "caret_up", "cart", "chart_bar", "chart_line", "chart_pie", "chat_notes", "chat", "chevron_down_thick", "chevron_down", "chevron_left_thick", "chevron_left", "chevron_right_thick", "chevron_right", "chevron_up_thick", "chevron_up", "circle_with_dots", "circles_connection", "clock", "close", "coins", "collaborate", "computer_clock", "connect", "contacts", "copy", "create", "credit_card_slash", "credit_card", "cross_circle", "cross", "csv", "delete", "delivery", "disconnect", "disputed", "document_right_align", "document_tick", "document_vertical_lines", "download", "draft", "drag_vertical", "drag", "dropdown", "duplicate", "edit", "edited", "ellipsis_horizontal", "ellipsis_vertical", "email_switch", "email", "entry", "envelope_dollar", "envelope_euro", "error_square", "error", "euro", "expand", "factory", "favourite_lined", "favourite", "fax", "feedback", "file_excel", "file_generic", "file_image", "file_pdf", "file_word", "files_leaning", "filter_new", "filter", "fit_height", "fit_width", "flag", "folder", "gift", "go", "graph", "grid", "help", "hide", "home", "image", "in_progress", "in_transit", "individual", "info", "italic", "key", "ledger_arrow_left", "ledger_arrow_right", "ledger", "lightbulb_off", "lightbulb_on", "link", "list_view", "location", "locked", "logout", "lookup", "marker", "message", "minus_large", "minus", "mobile", "money_bag", "none", "old_warning", "pause_circle", "pause", "pdf", "people_switch", "people", "person_info", "person_tick", "person", "phone", "piggy_bank", "play_circle", "play", "plus_large", "plus", "pound", "print", "progress", "progressed", "question_hollow", "question_mark", "question", "refresh_clock", "refresh", "remove", "sage_coin", "save", "scan", "search", "services", "settings_old", "settings", "share", "shop", "sort_down", "sort_up", "spanner", "split_container", "split", "square_dot", "squares_nine", "stacked_boxes", "stacked_squares", "submitted", "sync", "tag", "talk", "three_boxes", "tick_circle", "tick", "true_tick", "undo", "unlocked", "upload", "uploaded", "video", "view", "warning"])
|
|
182
288
|
};
|
|
289
|
+
Help.displayName = "Help";
|
|
183
290
|
var _default = Help;
|
|
184
291
|
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const HELP_POSITIONS: string[];
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
+
interface StyledHelpProps {
|
|
2
|
+
href?: string;
|
|
3
|
+
}
|
|
4
|
+
declare const StyledHelp: import("styled-components").StyledComponent<"div", any, StyledHelpProps, never>;
|
|
1
5
|
export default StyledHelp;
|
|
2
|
-
declare const StyledHelp: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export { default } from "./help";
|
|
1
|
+
export { default } from "./help.component";
|
|
2
|
+
export type { HelpProps } from "./help.component";
|
|
@@ -27,7 +27,7 @@ var _scrollableBlock = _interopRequireDefault(require("../../scrollable-block"))
|
|
|
27
27
|
|
|
28
28
|
var _submenu2 = _interopRequireDefault(require("./submenu.context"));
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _useClickAwayListener = _interopRequireDefault(require("../../../../hooks/__internal__/useClickAwayListener"));
|
|
31
31
|
|
|
32
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
33
33
|
|
|
@@ -232,6 +232,7 @@ const Submenu = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
232
232
|
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
233
233
|
|
|
234
234
|
}, [characterString]);
|
|
235
|
+
(0, _useClickAwayListener.default)([submenuRef], handleClickAway);
|
|
235
236
|
|
|
236
237
|
if (inFullscreenView) {
|
|
237
238
|
return /*#__PURE__*/_react.default.createElement(_submenu.StyledSubmenuWrapper, {
|
|
@@ -265,10 +266,7 @@ const Submenu = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
265
266
|
}, child))));
|
|
266
267
|
}
|
|
267
268
|
|
|
268
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
269
|
-
handleClickAway: handleClickAway,
|
|
270
|
-
targets: [submenuRef]
|
|
271
|
-
}, /*#__PURE__*/_react.default.createElement(_submenu.StyledSubmenuWrapper, {
|
|
269
|
+
return /*#__PURE__*/_react.default.createElement(_submenu.StyledSubmenuWrapper, {
|
|
272
270
|
"data-component": "submenu-wrapper",
|
|
273
271
|
onMouseOver: !clickToOpen ? () => openSubmenu() : undefined,
|
|
274
272
|
onMouseLeave: () => closeSubmenu(),
|
|
@@ -306,7 +304,7 @@ const Submenu = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
306
304
|
updateFocusIndex: setSubmenuFocusIndex,
|
|
307
305
|
itemIndex: child.type === _menuItem2.default ? index : undefined
|
|
308
306
|
}
|
|
309
|
-
}, child))))
|
|
307
|
+
}, child))));
|
|
310
308
|
});
|
|
311
309
|
|
|
312
310
|
Submenu.propTypes = {
|
|
@@ -9,6 +9,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
12
|
+
var _useClickAwayListener = _interopRequireDefault(require("../../hooks/__internal__/useClickAwayListener"));
|
|
13
|
+
|
|
12
14
|
var _multiActionButton = require("./multi-action-button.style");
|
|
13
15
|
|
|
14
16
|
var _button = _interopRequireWildcard(require("../button"));
|
|
@@ -125,31 +127,20 @@ const MultiActionButton = ({
|
|
|
125
127
|
(_additionalButtons$cu = additionalButtons.current[nextIndex].current) === null || _additionalButtons$cu === void 0 ? void 0 : _additionalButtons$cu.focus();
|
|
126
128
|
}
|
|
127
129
|
}, [buttonChildren, hideButtons]);
|
|
128
|
-
const handleClickOutside = (0, _react.useCallback)(({
|
|
129
|
-
target
|
|
130
|
-
}) => {
|
|
131
|
-
var _ref$current, _buttonContainer$curr;
|
|
132
|
-
|
|
133
|
-
if (!((_ref$current = ref.current) !== null && _ref$current !== void 0 && _ref$current.contains(target)) && !((_buttonContainer$curr = buttonContainer.current) !== null && _buttonContainer$curr !== void 0 && _buttonContainer$curr.contains(target))) {
|
|
134
|
-
hideButtons();
|
|
135
|
-
}
|
|
136
|
-
}, [hideButtons]);
|
|
137
130
|
const addListeners = (0, _react.useCallback)(() => {
|
|
138
131
|
/* istanbul ignore else */
|
|
139
132
|
if (!listening.current) {
|
|
140
|
-
document.addEventListener("click", handleClickOutside);
|
|
141
133
|
document.addEventListener("keydown", handleKeyDown);
|
|
142
134
|
listening.current = true;
|
|
143
135
|
}
|
|
144
|
-
}, [handleKeyDown
|
|
136
|
+
}, [handleKeyDown]);
|
|
145
137
|
const removeListeners = (0, _react.useCallback)(() => {
|
|
146
138
|
/* istanbul ignore else */
|
|
147
139
|
if (listening.current) {
|
|
148
|
-
document.removeEventListener("click", handleClickOutside);
|
|
149
140
|
document.removeEventListener("keydown", handleKeyDown);
|
|
150
141
|
listening.current = false;
|
|
151
142
|
}
|
|
152
|
-
}, [handleKeyDown
|
|
143
|
+
}, [handleKeyDown]);
|
|
153
144
|
(0, _react.useEffect)(() => {
|
|
154
145
|
if (showAdditionalButtons) {
|
|
155
146
|
addListeners();
|
|
@@ -220,6 +211,7 @@ const MultiActionButton = ({
|
|
|
220
211
|
ref: buttonContainer
|
|
221
212
|
}, childrenWithProps()));
|
|
222
213
|
|
|
214
|
+
(0, _useClickAwayListener.default)([ref], hideButtons);
|
|
223
215
|
return /*#__PURE__*/_react.default.createElement(_multiActionButton.StyledMultiActionButton, _extends({
|
|
224
216
|
"aria-haspopup": "true",
|
|
225
217
|
onMouseLeave: hideButtons,
|
|
@@ -36,7 +36,7 @@ export interface PopoverContainerProps extends PaddingProps {
|
|
|
36
36
|
/** Sets the popover container dialog header name */
|
|
37
37
|
title?: string;
|
|
38
38
|
/** Callback fires when close icon clicked */
|
|
39
|
-
onClose?: (ev: React.MouseEvent<HTMLElement>) => void;
|
|
39
|
+
onClose?: (ev: React.MouseEvent<HTMLElement> | Event) => void;
|
|
40
40
|
/** if `true` the popover-container is open */
|
|
41
41
|
open?: boolean;
|
|
42
42
|
/** Callback fires when open component is clicked */
|
|
@@ -15,11 +15,13 @@ var _popoverContainer = require("./popover-container.style");
|
|
|
15
15
|
|
|
16
16
|
var _icon = _interopRequireDefault(require("../icon"));
|
|
17
17
|
|
|
18
|
+
var _popover = _interopRequireDefault(require("../../__internal__/popover"));
|
|
19
|
+
|
|
18
20
|
var _guid = _interopRequireDefault(require("../../__internal__/utils/helpers/guid"));
|
|
19
21
|
|
|
20
22
|
var _utils = require("../../style/utils");
|
|
21
23
|
|
|
22
|
-
var
|
|
24
|
+
var _useClickAwayListener = _interopRequireDefault(require("../../hooks/__internal__/useClickAwayListener"));
|
|
23
25
|
|
|
24
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
27
|
|
|
@@ -80,6 +82,19 @@ renderClose.propTypes = {
|
|
|
80
82
|
"tabIndex": _propTypes.default.number.isRequired
|
|
81
83
|
};
|
|
82
84
|
|
|
85
|
+
const offset = ({
|
|
86
|
+
reference
|
|
87
|
+
}) => {
|
|
88
|
+
return [0, -reference.height];
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
const popperModifiers = [{
|
|
92
|
+
name: "offset",
|
|
93
|
+
options: {
|
|
94
|
+
offset
|
|
95
|
+
}
|
|
96
|
+
}];
|
|
97
|
+
|
|
83
98
|
const PopoverContainer = ({
|
|
84
99
|
children,
|
|
85
100
|
title,
|
|
@@ -106,7 +121,11 @@ const PopoverContainer = ({
|
|
|
106
121
|
const popoverContainerId = title ? `PopoverContainer_${guid.current}` : undefined;
|
|
107
122
|
const isOpen = isControlled ? open : isOpenInternal;
|
|
108
123
|
(0, _react.useEffect)(() => {
|
|
109
|
-
if (isOpen && closeButtonRef.current)
|
|
124
|
+
if (isOpen && closeButtonRef.current) setTimeout(() => {
|
|
125
|
+
var _closeButtonRef$curre;
|
|
126
|
+
|
|
127
|
+
return (_closeButtonRef$curre = closeButtonRef.current) === null || _closeButtonRef$curre === void 0 ? void 0 : _closeButtonRef$curre.focus();
|
|
128
|
+
}, 0);
|
|
110
129
|
}, [isOpen]);
|
|
111
130
|
|
|
112
131
|
const handleOpenButtonClick = e => {
|
|
@@ -138,19 +157,15 @@ const PopoverContainer = ({
|
|
|
138
157
|
onClick: handleCloseButtonClick,
|
|
139
158
|
ref: closeButtonRef,
|
|
140
159
|
"aria-label": closeButtonAriaLabel
|
|
141
|
-
};
|
|
142
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
160
|
+
};
|
|
143
161
|
|
|
144
162
|
const handleClickAway = e => {
|
|
145
163
|
if (!isControlled) setIsOpenInternal(false);
|
|
146
164
|
if (onClose) onClose(e);
|
|
147
165
|
};
|
|
148
166
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
handleClickAway: handleClickAway,
|
|
152
|
-
eventTypeId: "mousedown"
|
|
153
|
-
}, /*#__PURE__*/_react.default.createElement(_popoverContainer.PopoverContainerWrapperStyle, {
|
|
167
|
+
(0, _useClickAwayListener.default)([ref], handleClickAway, "mousedown");
|
|
168
|
+
return /*#__PURE__*/_react.default.createElement(_popoverContainer.PopoverContainerWrapperStyle, {
|
|
154
169
|
"data-component": "popover-container",
|
|
155
170
|
role: "region",
|
|
156
171
|
"aria-labelledby": popoverContainerId,
|
|
@@ -164,12 +179,15 @@ const PopoverContainer = ({
|
|
|
164
179
|
mountOnEnter: true,
|
|
165
180
|
unmountOnExit: true,
|
|
166
181
|
nodeRef: popoverContentNodeRef
|
|
167
|
-
}, state => /*#__PURE__*/_react.default.createElement(
|
|
182
|
+
}, state => isOpen && /*#__PURE__*/_react.default.createElement(_popover.default, _extends({
|
|
183
|
+
reference: openButtonRef,
|
|
184
|
+
placement: position === "right" ? "bottom-start" : "bottom-end"
|
|
185
|
+
}, shouldCoverButton && {
|
|
186
|
+
modifiers: popperModifiers
|
|
187
|
+
}), /*#__PURE__*/_react.default.createElement(_popoverContainer.PopoverContainerContentStyle, _extends({
|
|
168
188
|
"data-element": "popover-container-content",
|
|
169
189
|
role: "dialog",
|
|
170
190
|
animationState: state,
|
|
171
|
-
position: position,
|
|
172
|
-
shouldCoverButton: shouldCoverButton,
|
|
173
191
|
"aria-labelledby": popoverContainerId,
|
|
174
192
|
"aria-label": containerAriaLabel,
|
|
175
193
|
"aria-describedby": ariaDescribedBy,
|
|
@@ -3,8 +3,6 @@ import IconButton from "../icon-button";
|
|
|
3
3
|
declare const PopoverContainerWrapperStyle: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
4
4
|
declare const PopoverContainerHeaderStyle: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
5
5
|
declare type PopoverContainerContentStyleProps = {
|
|
6
|
-
shouldCoverButton?: boolean;
|
|
7
|
-
position?: "left" | "right";
|
|
8
6
|
animationState?: TransitionStatus;
|
|
9
7
|
};
|
|
10
8
|
declare const PopoverContainerContentStyle: import("styled-components").StyledComponent<"div", any, PopoverContainerContentStyleProps, never>;
|
|
@@ -40,14 +40,6 @@ const PopoverContainerContentStyle = _styledComponents.default.div`
|
|
|
40
40
|
theme
|
|
41
41
|
}) => theme.zIndex.popover};
|
|
42
42
|
|
|
43
|
-
${({
|
|
44
|
-
shouldCoverButton
|
|
45
|
-
}) => shouldCoverButton && "top: 0"}
|
|
46
|
-
|
|
47
|
-
${({
|
|
48
|
-
position
|
|
49
|
-
}) => position === "left" ? "right: 0" : "left: 0"};
|
|
50
|
-
|
|
51
43
|
${({
|
|
52
44
|
animationState
|
|
53
45
|
}) => {
|
|
@@ -13,6 +13,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
13
13
|
|
|
14
14
|
var _propTypes2 = _interopRequireDefault(require("@styled-system/prop-types"));
|
|
15
15
|
|
|
16
|
+
var _useClickAwayListener = _interopRequireDefault(require("../../hooks/__internal__/useClickAwayListener"));
|
|
17
|
+
|
|
16
18
|
var _icon = _interopRequireDefault(require("../icon"));
|
|
17
19
|
|
|
18
20
|
var _button = _interopRequireWildcard(require("../button"));
|
|
@@ -80,13 +82,6 @@ const SplitButton = ({
|
|
|
80
82
|
if (isToggleButtonFocused.current) return;
|
|
81
83
|
setShowAdditionalButtons(false);
|
|
82
84
|
}, []);
|
|
83
|
-
const handleClickOutside = (0, _react.useCallback)(({
|
|
84
|
-
target
|
|
85
|
-
}) => {
|
|
86
|
-
if (!splitButtonNode.current.contains(target) && buttonContainer.current && !buttonContainer.current.contains(target)) {
|
|
87
|
-
hideButtons();
|
|
88
|
-
}
|
|
89
|
-
}, [hideButtons]);
|
|
90
85
|
const handleKeyDown = (0, _react.useCallback)(ev => {
|
|
91
86
|
const numOfChildren = children.length - 1;
|
|
92
87
|
const currentIndex = additionalButtons.current.findIndex(node => node.current === document.activeElement);
|
|
@@ -119,19 +114,17 @@ const SplitButton = ({
|
|
|
119
114
|
const addListeners = (0, _react.useCallback)(() => {
|
|
120
115
|
/* istanbul ignore else */
|
|
121
116
|
if (!listening.current) {
|
|
122
|
-
document.addEventListener("click", handleClickOutside);
|
|
123
117
|
document.addEventListener("keydown", handleKeyDown);
|
|
124
118
|
listening.current = true;
|
|
125
119
|
}
|
|
126
|
-
}, [handleKeyDown
|
|
120
|
+
}, [handleKeyDown]);
|
|
127
121
|
const removeListeners = (0, _react.useCallback)(() => {
|
|
128
122
|
/* istanbul ignore else */
|
|
129
123
|
if (listening.current) {
|
|
130
|
-
document.removeEventListener("click", handleClickOutside);
|
|
131
124
|
document.removeEventListener("keydown", handleKeyDown);
|
|
132
125
|
listening.current = false;
|
|
133
126
|
}
|
|
134
|
-
}, [handleKeyDown
|
|
127
|
+
}, [handleKeyDown]);
|
|
135
128
|
(0, _react.useEffect)(() => {
|
|
136
129
|
if (showAdditionalButtons) {
|
|
137
130
|
addListeners();
|
|
@@ -291,6 +284,7 @@ const SplitButton = ({
|
|
|
291
284
|
}, childrenWithProps()));
|
|
292
285
|
}
|
|
293
286
|
|
|
287
|
+
(0, _useClickAwayListener.default)([splitButtonNode], hideButtons);
|
|
294
288
|
return /*#__PURE__*/_react.default.createElement(_splitButton.default, _extends({
|
|
295
289
|
"aria-haspopup": "true",
|
|
296
290
|
onMouseLeave: hideButtons,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./useClickAwayListener";
|