@cloudflare/component-tooltip 4.5.0 → 4.6.0
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 +12 -0
- package/es/Tooltip.js +23 -8
- package/index.d.ts +4 -0
- package/lib/Tooltip.js +31 -18
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
package/es/Tooltip.js
CHANGED
|
@@ -4,7 +4,7 @@ import React from 'react';
|
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import { Button } from '@cloudflare/elements';
|
|
6
6
|
import { createComponent } from '@cloudflare/style-container';
|
|
7
|
-
import ReactTooltip from 'react-tooltip';
|
|
7
|
+
import { Tooltip as ReactTooltip } from 'react-tooltip';
|
|
8
8
|
import uniqueId from 'lodash.uniqueid';
|
|
9
9
|
|
|
10
10
|
var getBackgroundColor = (theme, type) => {
|
|
@@ -114,24 +114,32 @@ class Tooltip extends React.PureComponent {
|
|
|
114
114
|
display,
|
|
115
115
|
ariaLabel,
|
|
116
116
|
Component = Button,
|
|
117
|
-
componentRef
|
|
117
|
+
componentRef,
|
|
118
|
+
clickable,
|
|
119
|
+
noArrow,
|
|
120
|
+
border,
|
|
121
|
+
style
|
|
118
122
|
} = this.props;
|
|
119
123
|
var id = this.props.id ? this.props.id : this.id;
|
|
120
124
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ReactTooltip, {
|
|
121
125
|
id: id,
|
|
122
126
|
disable: disable,
|
|
123
127
|
place: place,
|
|
124
|
-
|
|
125
|
-
|
|
128
|
+
variant: type,
|
|
129
|
+
float: !anchored,
|
|
126
130
|
className: className,
|
|
131
|
+
border: border,
|
|
132
|
+
style: style,
|
|
127
133
|
isCapture: isCapture,
|
|
128
134
|
delayHide: delayHide ? delayHide : null,
|
|
129
135
|
afterShow: afterShow,
|
|
130
136
|
afterHide: afterHide,
|
|
131
|
-
|
|
137
|
+
content: message || getContent(),
|
|
132
138
|
onClick: this.props.onClick,
|
|
133
139
|
event: "click",
|
|
134
|
-
role: "status"
|
|
140
|
+
role: "status",
|
|
141
|
+
clickable: clickable,
|
|
142
|
+
noArrow: noArrow
|
|
135
143
|
}), /*#__PURE__*/React.createElement(Component, _extends({
|
|
136
144
|
innerRef: ref => {
|
|
137
145
|
this.tooltipElement = ref;
|
|
@@ -150,6 +158,7 @@ class Tooltip extends React.PureComponent {
|
|
|
150
158
|
borderWidth: 0,
|
|
151
159
|
"data-tip": true,
|
|
152
160
|
"data-for": id,
|
|
161
|
+
"data-tooltip-id": id,
|
|
153
162
|
type: "button",
|
|
154
163
|
onFocus: () => ReactTooltip.show(this.tooltipElement),
|
|
155
164
|
onBlur: () => ReactTooltip.hide(this.tooltipElement),
|
|
@@ -188,7 +197,11 @@ Tooltip.propTypes = {
|
|
|
188
197
|
Component: PropTypes.func,
|
|
189
198
|
// Allow the Component element to be referenced from a parent. innerRef
|
|
190
199
|
// is swallowed by createComponent.
|
|
191
|
-
componentRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
200
|
+
componentRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
201
|
+
clickable: PropTypes.bool,
|
|
202
|
+
noArrow: PropTypes.bool,
|
|
203
|
+
border: PropTypes.string,
|
|
204
|
+
style: PropTypes.any
|
|
192
205
|
};
|
|
193
206
|
Tooltip.defaultProps = {
|
|
194
207
|
disable: false,
|
|
@@ -196,7 +209,9 @@ Tooltip.defaultProps = {
|
|
|
196
209
|
type: 'dark',
|
|
197
210
|
anchored: true,
|
|
198
211
|
isCapture: true,
|
|
199
|
-
forceRebuild: false
|
|
212
|
+
forceRebuild: false,
|
|
213
|
+
clickable: true,
|
|
214
|
+
noArrow: false
|
|
200
215
|
};
|
|
201
216
|
Tooltip.displayName = 'Tooltip';
|
|
202
217
|
export default createComponent(tooltipStyles, Tooltip);
|
package/index.d.ts
CHANGED
|
@@ -20,6 +20,10 @@ interface TooltipProps extends React.CSSProperties, TfelaMProps {
|
|
|
20
20
|
buttonProps?: React.ComponentProps<typeof Button>;
|
|
21
21
|
Component?: React.ComponentType<any>;
|
|
22
22
|
componentRef?: React.Ref<HTMLElement>;
|
|
23
|
+
clickable?: boolean;
|
|
24
|
+
noArrow?: boolean;
|
|
25
|
+
border?: string;
|
|
26
|
+
style?: any;
|
|
23
27
|
}
|
|
24
28
|
|
|
25
29
|
export const Tooltip: React.FC<TooltipProps>;
|
package/lib/Tooltip.js
CHANGED
|
@@ -15,7 +15,7 @@ var _elements = require("@cloudflare/elements");
|
|
|
15
15
|
|
|
16
16
|
var _styleContainer = require("@cloudflare/style-container");
|
|
17
17
|
|
|
18
|
-
var _reactTooltip =
|
|
18
|
+
var _reactTooltip = require("react-tooltip");
|
|
19
19
|
|
|
20
20
|
var _lodash = _interopRequireDefault(require("lodash.uniqueid"));
|
|
21
21
|
|
|
@@ -118,7 +118,7 @@ var Tooltip = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
118
118
|
key: "escFunction",
|
|
119
119
|
value: function escFunction(event) {
|
|
120
120
|
if (event.key === 'Escape') {
|
|
121
|
-
_reactTooltip.
|
|
121
|
+
_reactTooltip.Tooltip.hide(this.tooltipElement);
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
}, {
|
|
@@ -129,10 +129,10 @@ var Tooltip = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
129
129
|
// full rebuild is required when tooltip is already displayed
|
|
130
130
|
// but we changed type of position of the tooltip
|
|
131
131
|
if (this.props.forceRebuild) {
|
|
132
|
-
_reactTooltip.
|
|
132
|
+
_reactTooltip.Tooltip.hide(this.tooltipElement);
|
|
133
133
|
|
|
134
134
|
setTimeout(function () {
|
|
135
|
-
return _reactTooltip.
|
|
135
|
+
return _reactTooltip.Tooltip.show(_this2.tooltipElement);
|
|
136
136
|
}, 0);
|
|
137
137
|
}
|
|
138
138
|
}
|
|
@@ -173,25 +173,31 @@ var Tooltip = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
173
173
|
ariaLabel = _this$props.ariaLabel,
|
|
174
174
|
_this$props$Component = _this$props.Component,
|
|
175
175
|
Component = _this$props$Component === void 0 ? _elements.Button : _this$props$Component,
|
|
176
|
-
componentRef = _this$props.componentRef
|
|
176
|
+
componentRef = _this$props.componentRef,
|
|
177
|
+
clickable = _this$props.clickable,
|
|
178
|
+
noArrow = _this$props.noArrow,
|
|
179
|
+
border = _this$props.border,
|
|
180
|
+
style = _this$props.style;
|
|
177
181
|
var id = this.props.id ? this.props.id : this.id;
|
|
178
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactTooltip.
|
|
182
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactTooltip.Tooltip, {
|
|
179
183
|
id: id,
|
|
180
184
|
disable: disable,
|
|
181
185
|
place: place,
|
|
182
|
-
|
|
183
|
-
|
|
186
|
+
variant: type,
|
|
187
|
+
float: !anchored,
|
|
184
188
|
className: className,
|
|
189
|
+
border: border,
|
|
190
|
+
style: style,
|
|
185
191
|
isCapture: isCapture,
|
|
186
192
|
delayHide: delayHide ? delayHide : null,
|
|
187
193
|
afterShow: afterShow,
|
|
188
194
|
afterHide: afterHide,
|
|
189
|
-
|
|
190
|
-
return message || getContent();
|
|
191
|
-
}],
|
|
195
|
+
content: message || getContent(),
|
|
192
196
|
onClick: this.props.onClick,
|
|
193
197
|
event: "click",
|
|
194
|
-
role: "status"
|
|
198
|
+
role: "status",
|
|
199
|
+
clickable: clickable,
|
|
200
|
+
noArrow: noArrow
|
|
195
201
|
}), /*#__PURE__*/_react.default.createElement(Component, _extends({
|
|
196
202
|
innerRef: function innerRef(ref) {
|
|
197
203
|
_this3.tooltipElement = ref;
|
|
@@ -210,22 +216,23 @@ var Tooltip = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
210
216
|
borderWidth: 0,
|
|
211
217
|
"data-tip": true,
|
|
212
218
|
"data-for": id,
|
|
219
|
+
"data-tooltip-id": id,
|
|
213
220
|
type: "button",
|
|
214
221
|
onFocus: function onFocus() {
|
|
215
|
-
return _reactTooltip.
|
|
222
|
+
return _reactTooltip.Tooltip.show(_this3.tooltipElement);
|
|
216
223
|
},
|
|
217
224
|
onBlur: function onBlur() {
|
|
218
|
-
return _reactTooltip.
|
|
225
|
+
return _reactTooltip.Tooltip.hide(_this3.tooltipElement);
|
|
219
226
|
},
|
|
220
227
|
color: "gray.1",
|
|
221
228
|
onClick: function onClick(e) {
|
|
222
229
|
e.stopPropagation();
|
|
223
230
|
},
|
|
224
231
|
onMouseOver: function onMouseOver() {
|
|
225
|
-
return _reactTooltip.
|
|
232
|
+
return _reactTooltip.Tooltip.show(_this3.tooltipElement);
|
|
226
233
|
},
|
|
227
234
|
onMouseOut: function onMouseOut() {
|
|
228
|
-
return _reactTooltip.
|
|
235
|
+
return _reactTooltip.Tooltip.hide(_this3.tooltipElement);
|
|
229
236
|
},
|
|
230
237
|
"aria-controls": id,
|
|
231
238
|
"aria-label": ariaLabel
|
|
@@ -258,7 +265,11 @@ Tooltip.propTypes = {
|
|
|
258
265
|
Component: _propTypes.default.func,
|
|
259
266
|
// Allow the Component element to be referenced from a parent. innerRef
|
|
260
267
|
// is swallowed by createComponent.
|
|
261
|
-
componentRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
|
|
268
|
+
componentRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
269
|
+
clickable: _propTypes.default.bool,
|
|
270
|
+
noArrow: _propTypes.default.bool,
|
|
271
|
+
border: _propTypes.default.string,
|
|
272
|
+
style: _propTypes.default.any
|
|
262
273
|
};
|
|
263
274
|
Tooltip.defaultProps = {
|
|
264
275
|
disable: false,
|
|
@@ -266,7 +277,9 @@ Tooltip.defaultProps = {
|
|
|
266
277
|
type: 'dark',
|
|
267
278
|
anchored: true,
|
|
268
279
|
isCapture: true,
|
|
269
|
-
forceRebuild: false
|
|
280
|
+
forceRebuild: false,
|
|
281
|
+
clickable: true,
|
|
282
|
+
noArrow: false
|
|
270
283
|
};
|
|
271
284
|
Tooltip.displayName = 'Tooltip';
|
|
272
285
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudflare/component-tooltip",
|
|
3
3
|
"description": "Cloudflare Tooltip Component",
|
|
4
|
-
"version": "4.
|
|
4
|
+
"version": "4.6.0",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
7
7
|
"author": "James Kyle <jkyle@cloudflare.com>",
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
"module": "es/index.js"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@cloudflare/elements": "^3.0.
|
|
15
|
+
"@cloudflare/elements": "^3.0.5",
|
|
16
16
|
"lodash.uniqueid": "^4.0.1",
|
|
17
17
|
"prop-types": "^15.6.0",
|
|
18
|
-
"react-tooltip": "^
|
|
18
|
+
"react-tooltip": "^5.26.3"
|
|
19
19
|
},
|
|
20
20
|
"peerDependencies": {
|
|
21
21
|
"@cloudflare/style-const": "^5.7.2",
|