@cloudflare/component-tooltip 4.5.1 → 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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # Change Log
2
2
 
3
+ ## 4.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 7823cdd34e: Update react-tooltip version and allow more customization
8
+
3
9
  ## 4.5.1
4
10
 
5
11
  ### Patch Changes
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
- type: type,
125
- effect: anchored ? 'solid' : 'float',
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
- getContent: [() => message || getContent()],
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 = _interopRequireDefault(require("react-tooltip"));
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.default.hide(this.tooltipElement);
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.default.hide(this.tooltipElement);
132
+ _reactTooltip.Tooltip.hide(this.tooltipElement);
133
133
 
134
134
  setTimeout(function () {
135
- return _reactTooltip.default.show(_this2.tooltipElement);
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.default, {
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
- type: type,
183
- effect: anchored ? 'solid' : 'float',
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
- getContent: [function () {
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.default.show(_this3.tooltipElement);
222
+ return _reactTooltip.Tooltip.show(_this3.tooltipElement);
216
223
  },
217
224
  onBlur: function onBlur() {
218
- return _reactTooltip.default.hide(_this3.tooltipElement);
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.default.show(_this3.tooltipElement);
232
+ return _reactTooltip.Tooltip.show(_this3.tooltipElement);
226
233
  },
227
234
  onMouseOut: function onMouseOut() {
228
- return _reactTooltip.default.hide(_this3.tooltipElement);
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.5.1",
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>",
@@ -15,7 +15,7 @@
15
15
  "@cloudflare/elements": "^3.0.5",
16
16
  "lodash.uniqueid": "^4.0.1",
17
17
  "prop-types": "^15.6.0",
18
- "react-tooltip": "^3.11.6"
18
+ "react-tooltip": "^5.26.3"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "@cloudflare/style-const": "^5.7.2",