@cloudflare/component-tooltip 5.1.1 → 5.1.2
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 +6 -0
- package/es/Tooltip.js +23 -4
- package/index.d.ts +1 -0
- package/lib/Tooltip.js +27 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/es/Tooltip.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
|
+
import { createPortal } from 'react-dom';
|
|
4
5
|
import PropTypes from 'prop-types';
|
|
5
6
|
import { Button } from '@cloudflare/elements';
|
|
6
7
|
import { createComponent } from '@cloudflare/style-container';
|
|
@@ -118,10 +119,26 @@ class Tooltip extends React.PureComponent {
|
|
|
118
119
|
display,
|
|
119
120
|
ariaLabel,
|
|
120
121
|
Component = Button,
|
|
121
|
-
componentRef
|
|
122
|
+
componentRef,
|
|
123
|
+
portal = false
|
|
122
124
|
} = this.props;
|
|
123
125
|
var id = this.props.id ? this.props.id : this.id;
|
|
124
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ReactTooltip, {
|
|
126
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, portal ? /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(ReactTooltip, {
|
|
127
|
+
id: id,
|
|
128
|
+
disable: disable,
|
|
129
|
+
place: place,
|
|
130
|
+
type: type,
|
|
131
|
+
effect: anchored ? 'solid' : 'float',
|
|
132
|
+
className: className,
|
|
133
|
+
isCapture: isCapture,
|
|
134
|
+
delayHide: delayHide ? delayHide : null,
|
|
135
|
+
afterShow: afterShow,
|
|
136
|
+
afterHide: afterHide,
|
|
137
|
+
getContent: [() => message || getContent()],
|
|
138
|
+
onClick: this.props.onClick,
|
|
139
|
+
event: "click",
|
|
140
|
+
role: "status"
|
|
141
|
+
}), document.body) : /*#__PURE__*/React.createElement(ReactTooltip, {
|
|
125
142
|
id: id,
|
|
126
143
|
disable: disable,
|
|
127
144
|
place: place,
|
|
@@ -205,7 +222,8 @@ Tooltip.propTypes = {
|
|
|
205
222
|
Component: PropTypes.func,
|
|
206
223
|
// Allow the Component element to be referenced from a parent. innerRef
|
|
207
224
|
// is swallowed by createComponent.
|
|
208
|
-
componentRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
225
|
+
componentRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
226
|
+
portal: PropTypes.bool
|
|
209
227
|
};
|
|
210
228
|
Tooltip.defaultProps = {
|
|
211
229
|
disable: false,
|
|
@@ -214,7 +232,8 @@ Tooltip.defaultProps = {
|
|
|
214
232
|
anchored: true,
|
|
215
233
|
isCapture: true,
|
|
216
234
|
forceRebuild: false,
|
|
217
|
-
delayShow: true
|
|
235
|
+
delayShow: true,
|
|
236
|
+
portal: false
|
|
218
237
|
};
|
|
219
238
|
Tooltip.displayName = 'Tooltip';
|
|
220
239
|
export default createComponent(tooltipStyles, Tooltip);
|
package/index.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ interface TooltipProps extends React.CSSProperties, TfelaMProps {
|
|
|
21
21
|
buttonProps?: React.ComponentProps<typeof Button>;
|
|
22
22
|
Component?: React.ComponentType<any>;
|
|
23
23
|
componentRef?: React.Ref<HTMLElement>;
|
|
24
|
+
portal?: boolean;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
export const Tooltip: React.FC<TooltipProps>;
|
package/lib/Tooltip.js
CHANGED
|
@@ -9,6 +9,8 @@ exports.tooltipStyles = exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
12
|
+
var _reactDom = require("react-dom");
|
|
13
|
+
|
|
12
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
15
|
|
|
14
16
|
var _elements = require("@cloudflare/elements");
|
|
@@ -178,9 +180,28 @@ var Tooltip = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
178
180
|
ariaLabel = _this$props.ariaLabel,
|
|
179
181
|
_this$props$Component = _this$props.Component,
|
|
180
182
|
Component = _this$props$Component === void 0 ? _elements.Button : _this$props$Component,
|
|
181
|
-
componentRef = _this$props.componentRef
|
|
183
|
+
componentRef = _this$props.componentRef,
|
|
184
|
+
_this$props$portal = _this$props.portal,
|
|
185
|
+
portal = _this$props$portal === void 0 ? false : _this$props$portal;
|
|
182
186
|
var id = this.props.id ? this.props.id : this.id;
|
|
183
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactTooltip.default, {
|
|
187
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, portal ? /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/_react.default.createElement(_reactTooltip.default, {
|
|
188
|
+
id: id,
|
|
189
|
+
disable: disable,
|
|
190
|
+
place: place,
|
|
191
|
+
type: type,
|
|
192
|
+
effect: anchored ? 'solid' : 'float',
|
|
193
|
+
className: className,
|
|
194
|
+
isCapture: isCapture,
|
|
195
|
+
delayHide: delayHide ? delayHide : null,
|
|
196
|
+
afterShow: afterShow,
|
|
197
|
+
afterHide: afterHide,
|
|
198
|
+
getContent: [function () {
|
|
199
|
+
return message || getContent();
|
|
200
|
+
}],
|
|
201
|
+
onClick: this.props.onClick,
|
|
202
|
+
event: "click",
|
|
203
|
+
role: "status"
|
|
204
|
+
}), document.body) : /*#__PURE__*/_react.default.createElement(_reactTooltip.default, {
|
|
184
205
|
id: id,
|
|
185
206
|
disable: disable,
|
|
186
207
|
place: place,
|
|
@@ -273,7 +294,8 @@ Tooltip.propTypes = {
|
|
|
273
294
|
Component: _propTypes.default.func,
|
|
274
295
|
// Allow the Component element to be referenced from a parent. innerRef
|
|
275
296
|
// is swallowed by createComponent.
|
|
276
|
-
componentRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
|
|
297
|
+
componentRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
298
|
+
portal: _propTypes.default.bool
|
|
277
299
|
};
|
|
278
300
|
Tooltip.defaultProps = {
|
|
279
301
|
disable: false,
|
|
@@ -282,7 +304,8 @@ Tooltip.defaultProps = {
|
|
|
282
304
|
anchored: true,
|
|
283
305
|
isCapture: true,
|
|
284
306
|
forceRebuild: false,
|
|
285
|
-
delayShow: true
|
|
307
|
+
delayShow: true,
|
|
308
|
+
portal: false
|
|
286
309
|
};
|
|
287
310
|
Tooltip.displayName = 'Tooltip';
|
|
288
311
|
|
package/package.json
CHANGED