@elliemae/ds-truncated-tooltip-text 1.60.0 → 2.0.0-alpha.12

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.
@@ -2,78 +2,74 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _extends = require('@babel/runtime/helpers/extends');
6
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
+ require('core-js/modules/web.dom-collections.iterator.js');
7
+ require('core-js/modules/esnext.async-iterator.filter.js');
8
+ require('core-js/modules/esnext.iterator.constructor.js');
9
+ require('core-js/modules/esnext.iterator.filter.js');
10
+ require('core-js/modules/esnext.async-iterator.for-each.js');
11
+ require('core-js/modules/esnext.iterator.for-each.js');
7
12
  var React = require('react');
8
13
  var dsTooltip = require('@elliemae/ds-tooltip');
9
14
  var styled = require('styled-components');
15
+ var jsxRuntime = require('react/jsx-runtime');
10
16
 
11
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
18
 
13
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
14
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
15
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
19
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
16
20
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
17
21
 
18
- var Text = /*#__PURE__*/styled__default['default'].span.withConfig({
19
- componentId: "sc-1w57q5j-0"
20
- })(["text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:inline-block;max-width:100%;:focus{border:none;outline:none;background:", ";}"], function (props) {
21
- return props.theme.colors.brand['200'];
22
- });
23
- var DSTruncateTextWithTooltipDatatestId = 'DS-TruncateTextWithTooltip';
24
- var DSTruncateTextWithTooltip = function DSTruncateTextWithTooltip(_ref) {
25
- var text = _ref.text,
26
- _ref$tooltipProps = _ref.tooltipProps,
27
- tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps;
28
-
29
- var _useState = React.useState(),
30
- _useState2 = _slicedToArray__default['default'](_useState, 2),
31
- textWrapperEl = _useState2[0],
32
- setTextWrapperEl = _useState2[1]; // const textWrapperEl = useRef<HTMLSpanElement>();
33
-
34
-
35
- var _useState3 = React.useState(false),
36
- _useState4 = _slicedToArray__default['default'](_useState3, 2),
37
- isShowingEllipsis = _useState4[0],
38
- setIsShowingEllipsis = _useState4[1]; // const isShowingEllipsis = textWrapperEl?.scrollWidth > textWrapperEl?.clientWidth;
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
39
23
 
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
25
+ const Text = /*#__PURE__*/styled__default["default"].span.withConfig({
26
+ componentId: "sc-1w57q5j-0"
27
+ })(["text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:inline-block;max-width:100%;:focus{border:none;outline:none;background:", ";}"], props => props.theme.colors.brand['200']);
28
+ const DSTruncateTextWithTooltipDatatestId = 'DS-TruncateTextWithTooltip';
29
+ const DSTruncateTextWithTooltip = _ref => {
30
+ let {
31
+ text,
32
+ tooltipProps = {}
33
+ } = _ref;
34
+ const [textWrapperEl, setTextWrapperEl] = React.useState(); // const textWrapperEl = useRef<HTMLSpanElement>();
40
35
 
41
- var resizeObserver = React.useMemo(function () {
42
- return new ResizeObserver(function (entries) {
43
- if (entries.length) {
44
- var _entries = _slicedToArray__default['default'](entries, 1),
45
- textWrapperEntry = _entries[0];
36
+ const [isShowingEllipsis, setIsShowingEllipsis] = React.useState(false); // const isShowingEllipsis = textWrapperEl?.scrollWidth > textWrapperEl?.clientWidth;
46
37
 
47
- var el = textWrapperEntry.target;
48
- setIsShowingEllipsis((el === null || el === void 0 ? void 0 : el.scrollWidth) > (el === null || el === void 0 ? void 0 : el.clientWidth));
49
- }
50
- });
51
- }, []);
52
- React.useEffect(function () {
38
+ const resizeObserver = React.useMemo(() => new ResizeObserver(entries => {
39
+ if (entries.length) {
40
+ const [textWrapperEntry] = entries;
41
+ const el = textWrapperEntry.target;
42
+ setIsShowingEllipsis((el === null || el === void 0 ? void 0 : el.scrollWidth) > (el === null || el === void 0 ? void 0 : el.clientWidth));
43
+ }
44
+ }), []);
45
+ React.useEffect(() => {
53
46
  if (textWrapperEl) {
54
47
  setIsShowingEllipsis((textWrapperEl === null || textWrapperEl === void 0 ? void 0 : textWrapperEl.scrollWidth) > (textWrapperEl === null || textWrapperEl === void 0 ? void 0 : textWrapperEl.clientWidth));
55
48
  resizeObserver.observe(textWrapperEl);
56
49
  }
57
50
 
58
- return function () {
51
+ return () => {
59
52
  if (textWrapperEl) {
60
53
  resizeObserver.unobserve(textWrapperEl);
61
54
  }
62
55
  };
63
56
  }, [resizeObserver, textWrapperEl]);
64
- if (isShowingEllipsis) return /*#__PURE__*/React__default['default'].createElement(dsTooltip.DSTooltipV3, _extends__default['default']({
57
+ if (isShowingEllipsis) return /*#__PURE__*/jsxRuntime.jsx(dsTooltip.DSTooltipV3, _objectSpread(_objectSpread({
65
58
  text: text
66
- }, tooltipProps), /*#__PURE__*/React__default['default'].createElement(Text, {
67
- ref: setTextWrapperEl,
68
- tabIndex: 0,
69
- "data-testid": DSTruncateTextWithTooltipDatatestId
70
- }, text));
71
- return /*#__PURE__*/React__default['default'].createElement(Text, {
59
+ }, tooltipProps), {}, {
60
+ children: /*#__PURE__*/jsxRuntime.jsx(Text, {
61
+ ref: setTextWrapperEl,
62
+ tabIndex: 0,
63
+ "data-testid": DSTruncateTextWithTooltipDatatestId,
64
+ children: text
65
+ })
66
+ }));
67
+ return /*#__PURE__*/jsxRuntime.jsx(Text, {
72
68
  ref: setTextWrapperEl,
73
- "data-testid": DSTruncateTextWithTooltipDatatestId
74
- }, text);
69
+ "data-testid": DSTruncateTextWithTooltipDatatestId,
70
+ children: text
71
+ });
75
72
  };
76
73
 
77
74
  exports.DSTruncateTextWithTooltip = DSTruncateTextWithTooltip;
78
75
  exports.DSTruncateTextWithTooltipDatatestId = DSTruncateTextWithTooltipDatatestId;
79
- //# sourceMappingURL=DSTruncateTextWithTooltip.js.map
@@ -2,82 +2,96 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _extends = require('@babel/runtime/helpers/extends');
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
10
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
11
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
7
12
  var React = require('react');
8
13
  var reactDesc = require('react-desc');
9
14
  var styled = require('styled-components');
10
15
  var dsPopper = require('@elliemae/ds-popper');
11
16
  var TooltipTextProvider = require('./TooltipTextProvider.js');
12
- require('@babel/runtime/helpers/slicedToArray');
13
- require('@elliemae/ds-popover');
17
+ var jsxRuntime = require('react/jsx-runtime');
14
18
 
15
19
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
20
 
17
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
21
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
18
22
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
19
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
23
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
21
24
 
22
- var _excluded = ["containerProps", "value", "zIndex"];
25
+ const _excluded = ["containerProps", "value", "zIndex"];
23
26
 
24
- var isEllipsisActive = function isEllipsisActive(_ref) {
25
- var offsetWidth = _ref.offsetWidth,
26
- scrollWidth = _ref.scrollWidth;
27
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
28
+
29
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
30
+
31
+ const isEllipsisActive = _ref => {
32
+ let {
33
+ offsetWidth,
34
+ scrollWidth
35
+ } = _ref;
27
36
  return offsetWidth < scrollWidth;
28
37
  }; // reduce the possibility of error showing the tooltip (text-overflow: ellipsis) https://jira.elliemae.io/browse/PUI-1755
29
38
 
30
39
 
31
- var Text = /*#__PURE__*/styled__default['default'].span.withConfig({
40
+ const Text = /*#__PURE__*/styled__default["default"].span.withConfig({
32
41
  componentId: "sc-1olo1o7-0"
33
42
  })(["text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:inline-block;max-width:100%;"]);
34
43
 
35
- var DSTruncatedTooltipText = function DSTruncatedTooltipText(_ref2) {
36
- var _ref2$containerProps = _ref2.containerProps,
37
- containerProps = _ref2$containerProps === void 0 ? {} : _ref2$containerProps,
38
- _ref2$value = _ref2.value,
39
- value = _ref2$value === void 0 ? '' : _ref2$value,
40
- _ref2$zIndex = _ref2.zIndex,
41
- zIndex = _ref2$zIndex === void 0 ? 110 : _ref2$zIndex,
42
- otherTextProps = _objectWithoutProperties__default['default'](_ref2, _excluded);
43
-
44
- var tooltipContext = React.useContext(TooltipTextProvider.TruncatedTooltipContext);
45
- React.useEffect(function () {
44
+ const DSTruncatedTooltipText = _ref2 => {
45
+ let {
46
+ containerProps = {},
47
+ value = '',
48
+ zIndex = 110
49
+ } = _ref2,
50
+ otherTextProps = _objectWithoutProperties__default["default"](_ref2, _excluded);
51
+
52
+ const tooltipContext = React.useContext(TooltipTextProvider.TruncatedTooltipContext);
53
+ React.useEffect(() => {
46
54
  if (zIndex && tooltipContext) tooltipContext.setZIndex(zIndex);
47
55
  }, [zIndex]);
48
56
  if (!tooltipContext) return value;
49
- var showTooltip = tooltipContext.showTooltip,
50
- hideTooltip = tooltipContext.hideTooltip;
57
+ const {
58
+ showTooltip,
59
+ hideTooltip
60
+ } = tooltipContext;
51
61
 
52
- var handleMouseEnter = function handleMouseEnter(e) {
53
- var target = e.target;
62
+ const handleMouseEnter = e => {
63
+ const {
64
+ target
65
+ } = e;
54
66
 
55
67
  if (target && isEllipsisActive(target, target.getBoundingClientRect())) {
56
68
  showTooltip({
57
- value: value,
69
+ value,
58
70
  reference: target
59
71
  }, e);
60
72
  }
61
73
  };
62
74
 
63
- var handleMouseLeave = function handleMouseLeave(e) {
75
+ const handleMouseLeave = e => {
64
76
  hideTooltip({
65
77
  reference: e.target
66
78
  });
67
79
  };
68
80
 
69
- var handlers = showTooltip ? {
81
+ const handlers = showTooltip ? {
70
82
  onMouseEnter: handleMouseEnter,
71
83
  onMouseLeave: handleMouseLeave
72
84
  } : {};
73
- return /*#__PURE__*/React__default['default'].createElement(Text, _extends__default['default']({}, containerProps, otherTextProps, handlers), value);
85
+ return /*#__PURE__*/jsxRuntime.jsx(Text, _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, containerProps), otherTextProps), handlers), {}, {
86
+ children: value
87
+ }));
74
88
  };
75
89
 
76
90
  DSTruncatedTooltipText.defaultProps = {
77
91
  value: '',
78
92
  zIndex: 110
79
93
  };
80
- var truncatedTooltipTextProps = {
94
+ const truncatedTooltipTextProps = {
81
95
  containerProps: reactDesc.PropTypes.object.description('Set of Properties attached to the main container'),
82
96
  value: reactDesc.PropTypes.oneOfType([reactDesc.PropTypes.string, reactDesc.PropTypes.number]).description('Text that when truncated will trigger the tooltip interaction'),
83
97
  tooltipPlacement: reactDesc.PropTypes.oneOf([dsPopper.PopperPositions.AUTO_START, dsPopper.PopperPositions.AUTO_END, dsPopper.PopperPositions.AUTO, dsPopper.PopperPositions.TOP_START, dsPopper.PopperPositions.TOP, dsPopper.PopperPositions.TOP_END, dsPopper.PopperPositions.RIGHT_START, dsPopper.PopperPositions.RIGHT, dsPopper.PopperPositions.RIGHT_END, dsPopper.PopperPositions.BOTTOM_START, dsPopper.PopperPositions.BOTTOM, dsPopper.PopperPositions.BOTTOM_END, dsPopper.PopperPositions.LEFT_START, dsPopper.PopperPositions.LEFT, dsPopper.PopperPositions.LEFT_END]).description('Position of the tooltip'),
@@ -90,11 +104,9 @@ DSTruncatedTooltipText.defaultProps = {
90
104
  tooltipPlacement: undefined,
91
105
  tooltipDelay: undefined
92
106
  };
93
- DSTruncatedTooltipText.propTypes = truncatedTooltipTextProps;
94
- var TruncatedTooltipTextWithSchema = reactDesc.describe(DSTruncatedTooltipText);
107
+ const TruncatedTooltipTextWithSchema = reactDesc.describe(DSTruncatedTooltipText);
95
108
  TruncatedTooltipTextWithSchema.propTypes = truncatedTooltipTextProps;
96
109
 
97
110
  exports.DSTruncatedTooltipText = DSTruncatedTooltipText;
98
111
  exports.TruncatedTooltipTextWithSchema = TruncatedTooltipTextWithSchema;
99
- exports['default'] = DSTruncatedTooltipText;
100
- //# sourceMappingURL=DSTruncatedTooltipText.js.map
112
+ exports["default"] = DSTruncatedTooltipText;
@@ -2,155 +2,138 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _extends = require('@babel/runtime/helpers/extends');
5
+ var _jsx2 = require('@babel/runtime/helpers/jsx');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
7
+ require('core-js/modules/web.dom-collections.iterator.js');
8
+ require('core-js/modules/esnext.async-iterator.filter.js');
9
+ require('core-js/modules/esnext.iterator.constructor.js');
10
+ require('core-js/modules/esnext.iterator.filter.js');
11
+ require('core-js/modules/esnext.async-iterator.for-each.js');
12
+ require('core-js/modules/esnext.iterator.for-each.js');
8
13
  var React = require('react');
9
14
  var dsUtilities = require('@elliemae/ds-utilities');
10
- var PropTypes = require('prop-types');
11
15
  var styled = require('styled-components');
12
16
  var DSPopover = require('@elliemae/ds-popover');
17
+ var jsxRuntime = require('react/jsx-runtime');
13
18
 
14
19
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
20
 
16
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
21
+ var _jsx2__default = /*#__PURE__*/_interopDefaultLegacy(_jsx2);
17
22
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
18
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
19
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
- var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
21
23
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
22
24
  var DSPopover__default = /*#__PURE__*/_interopDefaultLegacy(DSPopover);
23
25
 
24
26
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
25
27
 
26
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
27
- var dsTestId = 'DS-SimpleTruncateText';
28
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
29
+ const dsTestId = 'DS-SimpleTruncateText';
28
30
 
29
- var isEllipsisActive = function isEllipsisActive(_ref) {
30
- var offsetWidth = _ref.offsetWidth,
31
- scrollWidth = _ref.scrollWidth;
31
+ const isEllipsisActive = _ref => {
32
+ let {
33
+ offsetWidth,
34
+ scrollWidth
35
+ } = _ref;
32
36
  return offsetWidth < scrollWidth;
33
37
  };
34
38
 
35
- var initialTooltipState = function initialTooltipState() {
36
- var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
37
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
39
+ const initialTooltipState = function () {
40
+ let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
41
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
38
42
  return {
39
43
  reference: null,
40
44
  visible: false,
41
- value: value,
42
- options: options
45
+ value,
46
+ options
43
47
  };
44
48
  }; // reduce the possibility of error showing the tooltip(text-overflow: ellipsis) https://jira.elliemae.io/browse/PUI-1755
45
49
 
46
50
 
47
- var Text = /*#__PURE__*/styled__default['default'].span.withConfig({
51
+ const Text = /*#__PURE__*/styled__default["default"].span.withConfig({
48
52
  componentId: "sc-2f4vtq-0"
49
53
  })(["text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:inline-block;max-width:100%;"]);
50
54
 
51
- var SimpleTruncatedTooltipText = function SimpleTruncatedTooltipText(props) {
52
- var containerProps = props.containerProps,
53
- tooltipDelay = props.tooltipDelay,
54
- placement = props.placement,
55
- value = props.value,
56
- zIndex = props.zIndex,
57
- tooltipOptions = props.tooltipOptions,
58
- textOptions = props.textOptions; // not using "usePopoverProviderState" because usePopoverState has memory leak issues
59
-
60
- var _useState = React.useState(initialTooltipState(value, tooltipOptions)),
61
- _useState2 = _slicedToArray__default['default'](_useState, 2),
62
- tooltipState = _useState2[0],
63
- setTooltipState = _useState2[1];
64
-
65
- var show = React.useCallback(function (newState) {
55
+ const SimpleTruncatedTooltipText = props => {
56
+ const {
57
+ containerProps,
58
+ tooltipDelay,
59
+ placement,
60
+ value,
61
+ zIndex,
62
+ tooltipOptions,
63
+ textOptions
64
+ } = props; // not using "usePopoverProviderState" because usePopoverState has memory leak issues
65
+
66
+ const [tooltipState, setTooltipState] = React.useState(initialTooltipState(value, tooltipOptions));
67
+ const show = React.useCallback(newState => {
66
68
  setTooltipState(_objectSpread(_objectSpread(_objectSpread({}, tooltipState), newState), {}, {
67
69
  visible: true
68
70
  }));
69
71
  }, [tooltipState]);
70
- var hideTooltip = React.useCallback(function (newState) {
72
+ const hideTooltip = React.useCallback(newState => {
71
73
  setTooltipState(_objectSpread(_objectSpread(_objectSpread({}, tooltipState), newState), {}, {
72
74
  visible: false
73
75
  }));
74
76
  }, [tooltipState]);
75
-
76
- var _useCancellableDelaye = dsUtilities.useCancellableDelayedCallback(show, tooltipDelay),
77
- _useCancellableDelaye2 = _slicedToArray__default['default'](_useCancellableDelaye, 2),
78
- showTooltip = _useCancellableDelaye2[0],
79
- cancelShowTooltip = _useCancellableDelaye2[1];
80
-
81
- var handleMouseEnter = React.useCallback(function (e) {
82
- var target = e.target; // we search for the closest parent with data-testid matching this component
77
+ const [showTooltip, cancelShowTooltip] = dsUtilities.useCancellableDelayedCallback(show, tooltipDelay);
78
+ const handleMouseEnter = React.useCallback(e => {
79
+ const {
80
+ target
81
+ } = e; // we search for the closest parent with data-testid matching this component
83
82
  // this is required because the target may not be this component itself
84
83
  // when the user gives JSX as a value.
85
84
  // JSX as a value is required for features like text highlight during research
86
85
  // wich would still allow the truncation behaviour (see tree view for example)
87
86
  // when the target has the test-id itself target===SimpleTruncatedTextEl
88
87
 
89
- var SimpleTruncatedTextEl = target.closest("[data-testid=\"".concat(dsTestId, "\"]"));
88
+ const SimpleTruncatedTextEl = target.closest("[data-testid=\"".concat(dsTestId, "\"]"));
90
89
 
91
90
  if (SimpleTruncatedTextEl && isEllipsisActive(SimpleTruncatedTextEl)) {
92
91
  showTooltip({
93
- value: value,
92
+ value,
94
93
  reference: SimpleTruncatedTextEl
95
94
  });
96
95
  }
97
96
  }, [showTooltip, value]);
98
- var handleMouseLeave = React.useCallback(function () {
97
+ const handleMouseLeave = React.useCallback(() => {
99
98
  cancelShowTooltip();
100
99
  hideTooltip({
101
100
  reference: null
102
101
  });
103
102
  }, [hideTooltip, cancelShowTooltip]);
104
- var handlers = React.useMemo(function () {
103
+ const handlers = React.useMemo(() => {
105
104
  if (!showTooltip) return {};
106
105
  return {
107
106
  onMouseEnter: handleMouseEnter,
108
107
  onMouseLeave: handleMouseLeave
109
108
  };
110
109
  }, [showTooltip, handleMouseEnter, handleMouseLeave]);
111
- var PurePopover = React.useMemo(function () {
112
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, tooltipState.visible ? /*#__PURE__*/React__default['default'].createElement(DSPopover__default['default'], {
110
+ const PurePopover = React.useMemo(() => /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
111
+ children: tooltipState.visible ? /*#__PURE__*/_jsx2__default["default"](DSPopover__default["default"], {
113
112
  boundaries: "window",
114
113
  style: {
115
114
  pointerEvents: 'none',
116
- zIndex: zIndex
115
+ zIndex
117
116
  },
118
117
  placement: placement,
119
118
  content: tooltipState.value,
120
119
  referenceEl: tooltipState.reference,
121
120
  visible: tooltipState.visible,
122
121
  showArrow: true
123
- }) : null);
124
- }, [tooltipState, placement, zIndex]);
125
- var PureText = React.useMemo(function () {
126
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(Text, _extends__default['default']({}, containerProps && _objectSpread({}, containerProps), textOptions && _objectSpread({}, textOptions), handlers && _objectSpread({}, handlers), {
122
+ }) : null
123
+ }), [tooltipState, placement, zIndex]);
124
+ const PureText = React.useMemo(() => /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
125
+ children: /*#__PURE__*/jsxRuntime.jsx(Text, _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, containerProps && _objectSpread({}, containerProps)), textOptions && _objectSpread({}, textOptions)), handlers && _objectSpread({}, handlers)), {}, {
127
126
  "data-testid": dsTestId // this is used by mouse enter too. required to support value as JSX
128
-
129
- }), value));
130
- }, [containerProps, textOptions, handlers, value]);
131
- var PureSimpleTruncatedTooltipText = React.useMemo(function () {
132
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, PureText, PurePopover);
133
- }, [PureText, PurePopover]);
127
+ ,
128
+ children: value
129
+ }))
130
+ }), [containerProps, textOptions, handlers, value]);
131
+ const PureSimpleTruncatedTooltipText = React.useMemo(() => /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
132
+ children: [PureText, PurePopover]
133
+ }), [PureText, PurePopover]);
134
134
  return PureSimpleTruncatedTooltipText;
135
135
  };
136
136
 
137
- SimpleTruncatedTooltipText.propTypes = {
138
- containerProps: PropTypes__default['default'].object,
139
- tooltipOptions: PropTypes__default['default'].object,
140
- textOptions: PropTypes__default['default'].object,
141
-
142
- /** Text that when truncated will trigger the tooltip interaction */
143
- value: PropTypes__default['default'].oneOfType([PropTypes__default['default'].string, PropTypes__default['default'].number, PropTypes__default['default'].node]),
144
-
145
- /** Position of the tooltip */
146
- placement: PropTypes__default['default'].oneOf([DSPopover.PopperPositions.AUTO_START, DSPopover.PopperPositions.AUTO_END, DSPopover.PopperPositions.AUTO, DSPopover.PopperPositions.TOP_START, DSPopover.PopperPositions.TOP, DSPopover.PopperPositions.TOP_END, DSPopover.PopperPositions.RIGHT_START, DSPopover.PopperPositions.RIGHT, DSPopover.PopperPositions.RIGHT_END, DSPopover.PopperPositions.BOTTOM_START, DSPopover.PopperPositions.BOTTOM, DSPopover.PopperPositions.BOTTOM_END, DSPopover.PopperPositions.LEFT_START, DSPopover.PopperPositions.LEFT, DSPopover.PopperPositions.LEFT_END]),
147
-
148
- /** Delay to show the tooltip */
149
- tooltipDelay: PropTypes__default['default'].number,
150
-
151
- /** override default zIndex */
152
- zIndex: PropTypes__default['default'].number
153
- };
154
137
  SimpleTruncatedTooltipText.defaultProps = {
155
138
  containerProps: {},
156
139
  tooltipOptions: {},
@@ -162,5 +145,4 @@ SimpleTruncatedTooltipText.defaultProps = {
162
145
  };
163
146
 
164
147
  exports.SimpleTruncatedTooltipText = SimpleTruncatedTooltipText;
165
- exports['default'] = SimpleTruncatedTooltipText;
166
- //# sourceMappingURL=SimpleTruncatedTooltipText.js.map
148
+ exports["default"] = SimpleTruncatedTooltipText;
@@ -2,72 +2,77 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _extends = require('@babel/runtime/helpers/extends');
6
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
+ var _jsx2 = require('@babel/runtime/helpers/jsx');
6
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
7
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
8
+ require('core-js/modules/web.dom-collections.iterator.js');
9
+ require('core-js/modules/esnext.async-iterator.filter.js');
10
+ require('core-js/modules/esnext.iterator.constructor.js');
11
+ require('core-js/modules/esnext.iterator.filter.js');
12
+ require('core-js/modules/esnext.async-iterator.for-each.js');
13
+ require('core-js/modules/esnext.iterator.for-each.js');
8
14
  var React = require('react');
9
15
  var DSPopover = require('@elliemae/ds-popover');
16
+ var jsxRuntime = require('react/jsx-runtime');
10
17
 
11
18
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
19
 
13
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
14
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
20
+ var _jsx2__default = /*#__PURE__*/_interopDefaultLegacy(_jsx2);
21
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
15
22
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
16
23
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
24
  var DSPopover__default = /*#__PURE__*/_interopDefaultLegacy(DSPopover);
18
25
 
19
- var _excluded = ["children", "tooltipDelay", "placement"];
20
- var TruncatedTooltipContext = /*#__PURE__*/React__default['default'].createContext();
21
- var Provider = TruncatedTooltipContext.Provider;
26
+ const _excluded = ["children", "tooltipDelay", "placement"];
22
27
 
23
- function TooltipTextProvider(_ref) {
24
- var children = _ref.children,
25
- _ref$tooltipDelay = _ref.tooltipDelay,
26
- tooltipDelay = _ref$tooltipDelay === void 0 ? 200 : _ref$tooltipDelay,
27
- _ref$placement = _ref.placement,
28
- placement = _ref$placement === void 0 ? 'top' : _ref$placement,
29
- tooltipOptions = _objectWithoutProperties__default['default'](_ref, _excluded);
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
30
29
 
31
- var _usePopoverProviderSt = DSPopover.usePopoverProviderState({
32
- delay: tooltipDelay
33
- }),
34
- showTooltip = _usePopoverProviderSt.show,
35
- hideTooltip = _usePopoverProviderSt.hide,
36
- tooltipState = _usePopoverProviderSt.state;
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
31
+ const TruncatedTooltipContext = /*#__PURE__*/React__default["default"].createContext();
32
+ const {
33
+ Provider
34
+ } = TruncatedTooltipContext;
37
35
 
38
- var _useState = React.useState(110),
39
- _useState2 = _slicedToArray__default['default'](_useState, 2),
40
- zIndex = _useState2[0],
41
- setZIndex = _useState2[1];
36
+ function TooltipTextProvider(_ref) {
37
+ let {
38
+ children,
39
+ tooltipDelay = 200,
40
+ placement = 'top'
41
+ } = _ref,
42
+ tooltipOptions = _objectWithoutProperties__default["default"](_ref, _excluded);
42
43
 
43
- var value = React.useMemo(function () {
44
- return {
45
- showTooltip: showTooltip,
46
- hideTooltip: hideTooltip,
47
- setZIndex: setZIndex
48
- };
49
- }, []);
50
- return /*#__PURE__*/React__default['default'].createElement(Provider, {
44
+ const {
45
+ show: showTooltip,
46
+ hide: hideTooltip,
47
+ state: tooltipState
48
+ } = DSPopover.usePopoverProviderState({
49
+ delay: tooltipDelay
50
+ });
51
+ const [zIndex, setZIndex] = React.useState(110);
52
+ const value = React.useMemo(() => ({
53
+ showTooltip,
54
+ hideTooltip,
55
+ setZIndex
56
+ }), []);
57
+ return /*#__PURE__*/_jsx2__default["default"](Provider, {
51
58
  value: value
52
- }, children, tooltipState.visible ? /*#__PURE__*/React__default['default'].createElement(DSPopover__default['default'], _extends__default['default']({
59
+ }, void 0, children, tooltipState.visible ? /*#__PURE__*/jsxRuntime.jsx(DSPopover__default["default"], _objectSpread(_objectSpread(_objectSpread({
53
60
  boundaries: "window",
54
61
  placement: placement,
55
62
  showArrow: true
56
- }, tooltipOptions, tooltipState.options || {}, {
63
+ }, tooltipOptions), tooltipState.options || {}), {}, {
57
64
  content: tooltipState.value,
58
65
  referenceEl: tooltipState.reference,
59
66
  style: {
60
67
  pointerEvents: 'none',
61
- zIndex: zIndex
68
+ zIndex
62
69
  },
63
70
  visible: tooltipState.visible
64
71
  })) : null);
65
72
  }
66
73
 
67
- TooltipTextProvider.propTypes = {};
68
74
  TooltipTextProvider.defaultProps = {};
69
75
 
70
76
  exports.TooltipTextProvider = TooltipTextProvider;
71
77
  exports.TruncatedTooltipContext = TruncatedTooltipContext;
72
- exports['default'] = TooltipTextProvider;
73
- //# sourceMappingURL=TooltipTextProvider.js.map
78
+ exports["default"] = TooltipTextProvider;
package/cjs/index.js CHANGED
@@ -6,18 +6,6 @@ var TooltipTextProvider = require('./TooltipTextProvider.js');
6
6
  var SimpleTruncatedTooltipText = require('./SimpleTruncatedTooltipText.js');
7
7
  var DSTruncatedTooltipText = require('./DSTruncatedTooltipText.js');
8
8
  var DSTruncateTextWithTooltip = require('./DSTruncateTextWithTooltip.js');
9
- require('@babel/runtime/helpers/extends');
10
- require('@babel/runtime/helpers/slicedToArray');
11
- require('@babel/runtime/helpers/objectWithoutProperties');
12
- require('react');
13
- require('@elliemae/ds-popover');
14
- require('@babel/runtime/helpers/defineProperty');
15
- require('@elliemae/ds-utilities');
16
- require('prop-types');
17
- require('styled-components');
18
- require('react-desc');
19
- require('@elliemae/ds-popper');
20
- require('@elliemae/ds-tooltip');
21
9
 
22
10
 
23
11
 
@@ -26,7 +14,6 @@ exports.TruncatedTooltipContext = TooltipTextProvider.TruncatedTooltipContext;
26
14
  exports.SimpleTruncatedTooltipText = SimpleTruncatedTooltipText.SimpleTruncatedTooltipText;
27
15
  exports.DSTruncatedTooltipText = DSTruncatedTooltipText.DSTruncatedTooltipText;
28
16
  exports.TruncatedTooltipTextWithSchema = DSTruncatedTooltipText.TruncatedTooltipTextWithSchema;
29
- exports.default = DSTruncatedTooltipText.DSTruncatedTooltipText;
17
+ exports["default"] = DSTruncatedTooltipText.DSTruncatedTooltipText;
30
18
  exports.DSTruncateTextWithTooltip = DSTruncateTextWithTooltip.DSTruncateTextWithTooltip;
31
19
  exports.DSTruncateTextWithTooltipDatatestId = DSTruncateTextWithTooltip.DSTruncateTextWithTooltipDatatestId;
32
- //# sourceMappingURL=index.js.map