@elliemae/ds-tooltip 2.3.0-alpha.9 → 2.3.0-next.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/cjs/index.js +23 -0
- package/cjs/v1/DSTooltip.js +115 -0
- package/cjs/v1/TooltipType.js +10 -0
- package/cjs/v2/DSTooltip.js +147 -0
- package/cjs/v2/DSTooltipArrow.js +39 -0
- package/cjs/v2/TooltipType.js +10 -0
- package/cjs/v2/index.d.js +2 -0
- package/cjs/v2/propTypes.js +27 -0
- package/cjs/v2/styles.js +62 -0
- package/cjs/v2/utils/setMultipleRefs.js +30 -0
- package/cjs/v2/utils/tooltipPositions.js +20 -0
- package/cjs/v3/TooltipV3DatatestId.js +10 -0
- package/cjs/v3/config/useWithDefaultProps.js +18 -0
- package/cjs/v3/index.d.js +2 -0
- package/cjs/v3/index.js +128 -0
- package/cjs/v3/propsTypes.js +96 -0
- package/cjs/v3/styleds.js +47 -0
- package/esm/index.js +5 -0
- package/esm/v1/DSTooltip.js +100 -0
- package/esm/v1/TooltipType.js +6 -0
- package/esm/v2/DSTooltip.js +136 -0
- package/esm/v2/DSTooltipArrow.js +31 -0
- package/esm/v2/TooltipType.js +6 -0
- package/esm/v2/index.d.js +1 -0
- package/esm/v2/propTypes.js +23 -0
- package/esm/v2/styles.js +49 -0
- package/esm/v2/utils/setMultipleRefs.js +26 -0
- package/esm/v2/utils/tooltipPositions.js +16 -0
- package/esm/v3/TooltipV3DatatestId.js +6 -0
- package/esm/v3/config/useWithDefaultProps.js +14 -0
- package/esm/v3/index.d.js +1 -0
- package/esm/v3/index.js +116 -0
- package/esm/v3/propsTypes.js +92 -0
- package/esm/v3/styleds.js +36 -0
- package/package.json +57 -59
- package/{dist/types → types}/index.d.ts +1 -1
- package/{dist/types → types}/v1/DSTooltip.d.ts +0 -0
- package/{dist/types → types}/v1/TooltipType.d.ts +0 -0
- package/{dist/types → types}/v2/DSTooltip.d.ts +0 -0
- package/{dist/types → types}/v2/DSTooltipArrow.d.ts +0 -0
- package/{dist/types → types}/v2/TooltipType.d.ts +0 -0
- package/{dist/types → types}/v2/propTypes.d.ts +0 -0
- package/{dist/types → types}/v2/styles.d.ts +0 -0
- package/{dist/types → types}/v2/tests/DSTooltipV2.test.d.ts +0 -0
- package/{dist/types → types}/v2/utils/setMultipleRefs.d.ts +0 -0
- package/{dist/types → types}/v2/utils/tooltipPositions.d.ts +0 -0
- package/{dist/types → types}/v3/TooltipV3DatatestId.d.ts +0 -0
- package/{dist/types → types}/v3/config/useWithDefaultProps.d.ts +0 -0
- package/{dist/types → types}/v3/index.d.ts +0 -0
- package/{dist/types → types}/v3/propsTypes.d.ts +0 -0
- package/{dist/types → types}/v3/styleds.d.ts +0 -0
- package/dist/cjs/index.js +0 -41
- package/dist/cjs/index.js.map +0 -7
- package/dist/cjs/v1/DSTooltip.js +0 -118
- package/dist/cjs/v1/DSTooltip.js.map +0 -7
- package/dist/cjs/v1/TooltipType.js +0 -38
- package/dist/cjs/v1/TooltipType.js.map +0 -7
- package/dist/cjs/v2/DSTooltip.js +0 -143
- package/dist/cjs/v2/DSTooltip.js.map +0 -7
- package/dist/cjs/v2/DSTooltipArrow.js +0 -51
- package/dist/cjs/v2/DSTooltipArrow.js.map +0 -7
- package/dist/cjs/v2/TooltipType.js +0 -38
- package/dist/cjs/v2/TooltipType.js.map +0 -7
- package/dist/cjs/v2/index.d.js +0 -27
- package/dist/cjs/v2/index.d.js.map +0 -7
- package/dist/cjs/v2/propTypes.js +0 -56
- package/dist/cjs/v2/propTypes.js.map +0 -7
- package/dist/cjs/v2/styles.js +0 -131
- package/dist/cjs/v2/styles.js.map +0 -7
- package/dist/cjs/v2/utils/setMultipleRefs.js +0 -50
- package/dist/cjs/v2/utils/setMultipleRefs.js.map +0 -7
- package/dist/cjs/v2/utils/tooltipPositions.js +0 -48
- package/dist/cjs/v2/utils/tooltipPositions.js.map +0 -7
- package/dist/cjs/v3/TooltipV3DatatestId.js +0 -38
- package/dist/cjs/v3/TooltipV3DatatestId.js.map +0 -7
- package/dist/cjs/v3/config/useWithDefaultProps.js +0 -44
- package/dist/cjs/v3/config/useWithDefaultProps.js.map +0 -7
- package/dist/cjs/v3/index.d.js +0 -27
- package/dist/cjs/v3/index.d.js.map +0 -7
- package/dist/cjs/v3/index.js +0 -115
- package/dist/cjs/v3/index.js.map +0 -7
- package/dist/cjs/v3/propsTypes.js +0 -80
- package/dist/cjs/v3/propsTypes.js.map +0 -7
- package/dist/cjs/v3/styleds.js +0 -70
- package/dist/cjs/v3/styleds.js.map +0 -7
- package/dist/esm/index.js +0 -12
- package/dist/esm/index.js.map +0 -7
- package/dist/esm/v1/DSTooltip.js +0 -101
- package/dist/esm/v1/DSTooltip.js.map +0 -7
- package/dist/esm/v1/TooltipType.js +0 -9
- package/dist/esm/v1/TooltipType.js.map +0 -7
- package/dist/esm/v2/DSTooltip.js +0 -119
- package/dist/esm/v2/DSTooltip.js.map +0 -7
- package/dist/esm/v2/DSTooltipArrow.js +0 -22
- package/dist/esm/v2/DSTooltipArrow.js.map +0 -7
- package/dist/esm/v2/TooltipType.js +0 -9
- package/dist/esm/v2/TooltipType.js.map +0 -7
- package/dist/esm/v2/index.d.js +0 -2
- package/dist/esm/v2/index.d.js.map +0 -7
- package/dist/esm/v2/propTypes.js +0 -27
- package/dist/esm/v2/propTypes.js.map +0 -7
- package/dist/esm/v2/styles.js +0 -102
- package/dist/esm/v2/styles.js.map +0 -7
- package/dist/esm/v2/utils/setMultipleRefs.js +0 -21
- package/dist/esm/v2/utils/setMultipleRefs.js.map +0 -7
- package/dist/esm/v2/utils/tooltipPositions.js +0 -19
- package/dist/esm/v2/utils/tooltipPositions.js.map +0 -7
- package/dist/esm/v3/TooltipV3DatatestId.js +0 -9
- package/dist/esm/v3/TooltipV3DatatestId.js.map +0 -7
- package/dist/esm/v3/config/useWithDefaultProps.js +0 -15
- package/dist/esm/v3/config/useWithDefaultProps.js.map +0 -7
- package/dist/esm/v3/index.d.js +0 -2
- package/dist/esm/v3/index.d.js.map +0 -7
- package/dist/esm/v3/index.js +0 -91
- package/dist/esm/v3/index.js.map +0 -7
- package/dist/esm/v3/propsTypes.js +0 -51
- package/dist/esm/v3/propsTypes.js.map +0 -7
- package/dist/esm/v3/styleds.js +0 -41
- package/dist/esm/v3/styleds.js.map +0 -7
package/esm/v3/index.js
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
|
+
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
3
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
4
|
+
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
5
|
+
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
6
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
7
|
+
import 'core-js/modules/esnext.iterator.filter.js';
|
|
8
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
9
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
10
|
+
import { useState, useCallback, useEffect } from 'react';
|
|
11
|
+
import { DSPopperJS } from '@elliemae/ds-popperjs';
|
|
12
|
+
import { describe } from 'react-desc';
|
|
13
|
+
import { dsTooltipPropTypes } from './propsTypes.js';
|
|
14
|
+
import { useWithDefaultProps } from './config/useWithDefaultProps.js';
|
|
15
|
+
import { TooltipV3DatatestId } from './TooltipV3DatatestId.js';
|
|
16
|
+
import { StyledTriggerWrapper, StyledTooltipContainer, StyledTooltipText, StyledMouseOverDetectionBox } from './styleds.js';
|
|
17
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
18
|
+
|
|
19
|
+
var _StyledMouseOverDetec;
|
|
20
|
+
|
|
21
|
+
const _excluded = ["text", "children", "onOpen", "onClose", "id", "textAlign"];
|
|
22
|
+
|
|
23
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
24
|
+
|
|
25
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
26
|
+
|
|
27
|
+
const useGlobalKeyboardListener = func => {
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
document.addEventListener('keydown', func);
|
|
30
|
+
return () => document.removeEventListener('keydown', func);
|
|
31
|
+
}, [func]);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const DSTooltipV3 = props => {
|
|
35
|
+
const _useWithDefaultProps = useWithDefaultProps(props),
|
|
36
|
+
{
|
|
37
|
+
text,
|
|
38
|
+
children,
|
|
39
|
+
onOpen,
|
|
40
|
+
onClose,
|
|
41
|
+
id,
|
|
42
|
+
textAlign
|
|
43
|
+
} = _useWithDefaultProps,
|
|
44
|
+
extraPopperJsProps = _objectWithoutProperties(_useWithDefaultProps, _excluded);
|
|
45
|
+
|
|
46
|
+
const [isFocused, setIsFocused] = useState(false);
|
|
47
|
+
const [isHover, setIsHover] = useState(false);
|
|
48
|
+
const [latestOpenInteraction, setLatestOpenInteraction] = useState('');
|
|
49
|
+
const [referenceElement, setReferenceElement] = useState();
|
|
50
|
+
const [showPopover, setShowPopover] = useState(false);
|
|
51
|
+
const showTooltip = useCallback(() => {
|
|
52
|
+
setShowPopover(true);
|
|
53
|
+
onOpen();
|
|
54
|
+
}, [onOpen]);
|
|
55
|
+
const hideTooltip = useCallback(() => {
|
|
56
|
+
setShowPopover(false);
|
|
57
|
+
onClose();
|
|
58
|
+
}, [onClose]);
|
|
59
|
+
const onFocus = useCallback(() => {
|
|
60
|
+
setIsFocused(true);
|
|
61
|
+
|
|
62
|
+
if (!showPopover) {
|
|
63
|
+
showTooltip();
|
|
64
|
+
setLatestOpenInteraction('onFocus');
|
|
65
|
+
}
|
|
66
|
+
}, [showPopover, showTooltip]);
|
|
67
|
+
const onBlur = useCallback(() => {
|
|
68
|
+
setIsFocused(false);
|
|
69
|
+
if (!isHover || latestOpenInteraction === 'onFocus') hideTooltip();
|
|
70
|
+
}, [hideTooltip, isHover, latestOpenInteraction]);
|
|
71
|
+
const onMouseEnter = useCallback(() => {
|
|
72
|
+
setIsHover(true);
|
|
73
|
+
|
|
74
|
+
if (!showPopover) {
|
|
75
|
+
showTooltip();
|
|
76
|
+
setLatestOpenInteraction('onMouseEnter');
|
|
77
|
+
}
|
|
78
|
+
}, [showPopover, showTooltip]);
|
|
79
|
+
const onMouseLeave = useCallback(() => {
|
|
80
|
+
setIsHover(false);
|
|
81
|
+
if (!isFocused || latestOpenInteraction === 'onMouseEnter') hideTooltip();
|
|
82
|
+
}, [hideTooltip, isFocused, latestOpenInteraction]);
|
|
83
|
+
const handleEscKey = useCallback(_ref => {
|
|
84
|
+
let {
|
|
85
|
+
key
|
|
86
|
+
} = _ref;
|
|
87
|
+
if (key === 'Escape') hideTooltip();
|
|
88
|
+
}, [hideTooltip]);
|
|
89
|
+
useGlobalKeyboardListener(handleEscKey);
|
|
90
|
+
return /*#__PURE__*/jsx(Fragment, {
|
|
91
|
+
children: /*#__PURE__*/jsxs(StyledTriggerWrapper, {
|
|
92
|
+
onMouseEnter: onMouseEnter,
|
|
93
|
+
onMouseLeave: onMouseLeave,
|
|
94
|
+
onFocus: onFocus,
|
|
95
|
+
onBlur: onBlur,
|
|
96
|
+
ref: setReferenceElement,
|
|
97
|
+
"data-testid": "".concat(TooltipV3DatatestId.TRIGGER_WRAPPER).concat(id !== '' ? "_".concat(id) : ''),
|
|
98
|
+
children: [/*#__PURE__*/jsx(DSPopperJS, _objectSpread(_objectSpread({
|
|
99
|
+
referenceElement: referenceElement,
|
|
100
|
+
showPopover: showPopover,
|
|
101
|
+
withoutPortal: true
|
|
102
|
+
}, extraPopperJsProps), {}, {
|
|
103
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
104
|
+
"data-testid": "".concat(TooltipV3DatatestId.TOOLTIP_TEXT_WRAPPER).concat(id !== '' ? "_".concat(id) : '')
|
|
105
|
+
}, void 0, /*#__PURE__*/_jsx(StyledTooltipContainer, {}, void 0, /*#__PURE__*/_jsx(StyledTooltipText, {
|
|
106
|
+
textAlign: textAlign
|
|
107
|
+
}, void 0, text), _StyledMouseOverDetec || (_StyledMouseOverDetec = /*#__PURE__*/_jsx(StyledMouseOverDetectionBox, {}))))
|
|
108
|
+
})), children]
|
|
109
|
+
})
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
const DSTooltipV3WithSchema = describe(DSTooltipV3).description('A tooltip component');
|
|
114
|
+
DSTooltipV3WithSchema.propTypes = dsTooltipPropTypes;
|
|
115
|
+
|
|
116
|
+
export { DSTooltipV3, DSTooltipV3WithSchema, DSTooltipV3 as default };
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { PropTypes } from 'react-desc';
|
|
2
|
+
|
|
3
|
+
const dsTooltipPropTypes = {
|
|
4
|
+
/**
|
|
5
|
+
* Tooltip text to be displayed on hover/focus
|
|
6
|
+
*/
|
|
7
|
+
text: PropTypes.string.description('Tooltip text to be displayed on hover/focus').isRequired,
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Tooltip text alignment
|
|
11
|
+
*/
|
|
12
|
+
textAlign: PropTypes.oneOf(['left', 'right', 'center', 'justify', 'initial', 'inherit']).description('Tooltip text alignment').defaultValue('left'),
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Element to tie the tooltip to, must be a single node
|
|
16
|
+
*/
|
|
17
|
+
children: PropTypes.node.description('Element to tie the tooltip to, must be a single node').isRequired,
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Wheter or not the tooltip content should appear in a DOM portal or not
|
|
21
|
+
*/
|
|
22
|
+
withoutPortal: PropTypes.bool.description('Whether or not the tooltip content should appear in a DOM portal or not').defaultValue(true),
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Wheter or not the tooltip should use the arrow
|
|
26
|
+
*/
|
|
27
|
+
withoutArrow: PropTypes.bool.description('Whether or not the tooltip should use the arrow').defaultValue(false),
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Bounding element to calculate upon, defaults to it is "clippingParents",
|
|
31
|
+
* which are the scrolling containers that may cause the element to be partially or fully cut off.
|
|
32
|
+
*/
|
|
33
|
+
boundaryElement: PropTypes.element.description('Bounding element to calculate upon, defaults to "clippingParents",' + 'which are the scrolling containers that may cause element to be partially or fully cut off').defaultValue(undefined),
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Whether or not the popper context menu should be animated
|
|
37
|
+
*/
|
|
38
|
+
withoutAnimation: PropTypes.bool.description('Whether or not the popper context menu should be animated').defaultValue(false),
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Popper context menus Animation duration in ms
|
|
42
|
+
*/
|
|
43
|
+
animationDuration: PropTypes.number.description('Popper context menus Animation duration in ms').defaultValue(100),
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* When using portal, the container in which to append the DOM content, defaults to document body
|
|
47
|
+
*/
|
|
48
|
+
portalDOMContainer: PropTypes.element.description('When using portal, the container in which to append the DOM content, defaults to document body').defaultValue(undefined),
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* start placement preferences, as per popperjs placement option
|
|
52
|
+
*/
|
|
53
|
+
startPlacementPreference: PropTypes.oneOf(['top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']).description('start placement preferences, as per popperjs placement option').defaultValue("'top'"),
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Array of placement preferences, as per popperjs "flip" placement option
|
|
57
|
+
*/
|
|
58
|
+
placementOrderPreference: PropTypes.arrayOf(PropTypes.oneOf(['top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'])).description('Array of placement preferences, as per popperjs "flip" placement option').defaultValue("['top', 'bottom', 'left', 'right']"),
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* tooltip wrapper z-index
|
|
62
|
+
*/
|
|
63
|
+
zIndex: PropTypes.number.description('popperjs content z-index').defaultValue(1),
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* placement offset array
|
|
67
|
+
*/
|
|
68
|
+
customOffset: PropTypes.arrayOf(PropTypes.number).description('placement offset array').defaultValue([0, 14]),
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* modifiers array for full-custom tooltip-js override
|
|
72
|
+
* https://tooltip.js.org/docs/v2/modifiers/
|
|
73
|
+
*/
|
|
74
|
+
modifiers: PropTypes.array.description('modifiers array for full-custom tooltip-js override, https://tooltip.js.org/docs/v2/modifiers/').defaultValue(1),
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Optional id appended to data-testid
|
|
78
|
+
*/
|
|
79
|
+
id: PropTypes.string.description('Optional id appended to data-testid').defaultValue(''),
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Optional callback to be invoked when the tooltip opens
|
|
83
|
+
*/
|
|
84
|
+
onOpen: PropTypes.func.description('Optional callback to be invoked when the tooltip opens').defaultValue('() => {}'),
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* 'Optional callback to be invoked when the tooltip closes
|
|
88
|
+
*/
|
|
89
|
+
onClose: PropTypes.func.description('Optional callback to be invoked when the tooltip closes').defaultValue('() => {}')
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export { dsTooltipPropTypes };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
|
|
3
|
+
const StyledTooltipContainer = /*#__PURE__*/styled.div.withConfig({
|
|
4
|
+
componentId: "sc-18a4gem-0"
|
|
5
|
+
})(["text-align:center;min-width:", ";max-width:250px;min-height:30px;display:grid;align-items:center;padding:", ";position:relative;background-color:white;border-radius:2px;font-size:13px;color:", ";"], _ref => {
|
|
6
|
+
let {
|
|
7
|
+
theme
|
|
8
|
+
} = _ref;
|
|
9
|
+
return theme.space.l;
|
|
10
|
+
}, _ref2 => {
|
|
11
|
+
let {
|
|
12
|
+
theme
|
|
13
|
+
} = _ref2;
|
|
14
|
+
return "".concat(theme.space.xxxs, " ").concat(theme.space.xs);
|
|
15
|
+
}, _ref3 => {
|
|
16
|
+
let {
|
|
17
|
+
theme
|
|
18
|
+
} = _ref3;
|
|
19
|
+
return theme.colors.neutral[600];
|
|
20
|
+
});
|
|
21
|
+
const StyledTooltipText = /*#__PURE__*/styled.div.withConfig({
|
|
22
|
+
componentId: "sc-18a4gem-1"
|
|
23
|
+
})(["white-space:normal;word-wrap:break-word;display:inline-block;text-align:", ";"], _ref4 => {
|
|
24
|
+
let {
|
|
25
|
+
textAlign
|
|
26
|
+
} = _ref4;
|
|
27
|
+
return textAlign;
|
|
28
|
+
});
|
|
29
|
+
const StyledMouseOverDetectionBox = /*#__PURE__*/styled.div.withConfig({
|
|
30
|
+
componentId: "sc-18a4gem-2"
|
|
31
|
+
})(["position:absolute;top:-15px;right:-15px;width:calc(100% + 30px);height:calc(100% + 30px);z-index:-1;"]);
|
|
32
|
+
const StyledTriggerWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
33
|
+
componentId: "sc-18a4gem-3"
|
|
34
|
+
})(["display:inline-flex;width:100%;"]);
|
|
35
|
+
|
|
36
|
+
export { StyledMouseOverDetectionBox, StyledTooltipContainer, StyledTooltipText, StyledTriggerWrapper };
|
package/package.json
CHANGED
|
@@ -1,78 +1,75 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-tooltip",
|
|
3
|
-
"version": "2.3.0-
|
|
3
|
+
"version": "2.3.0-next.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Tooltip",
|
|
6
|
-
"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"module": "./dist/esm/index.js",
|
|
10
|
-
"main": "./dist/cjs/index.js",
|
|
11
|
-
"types": "./dist/types/index.d.ts",
|
|
6
|
+
"module": "./esm/index.js",
|
|
7
|
+
"main": "./cjs/index.js",
|
|
8
|
+
"types": "./types/index.d.ts",
|
|
12
9
|
"exports": {
|
|
13
10
|
".": {
|
|
14
|
-
"import": "./
|
|
15
|
-
"require": "./
|
|
11
|
+
"import": "./esm/index.js",
|
|
12
|
+
"require": "./cjs/index.js"
|
|
16
13
|
},
|
|
17
14
|
"./v3/TooltipV3DatatestId": {
|
|
18
|
-
"import": "./
|
|
19
|
-
"require": "./
|
|
15
|
+
"import": "./esm/v3/TooltipV3DatatestId.js",
|
|
16
|
+
"require": "./cjs/v3/TooltipV3DatatestId.js"
|
|
20
17
|
},
|
|
21
18
|
"./v3/styleds": {
|
|
22
|
-
"import": "./
|
|
23
|
-
"require": "./
|
|
19
|
+
"import": "./esm/v3/styleds.js",
|
|
20
|
+
"require": "./cjs/v3/styleds.js"
|
|
24
21
|
},
|
|
25
22
|
"./v3/propsTypes": {
|
|
26
|
-
"import": "./
|
|
27
|
-
"require": "./
|
|
23
|
+
"import": "./esm/v3/propsTypes.js",
|
|
24
|
+
"require": "./cjs/v3/propsTypes.js"
|
|
28
25
|
},
|
|
29
26
|
"./v3": {
|
|
30
|
-
"import": "./
|
|
31
|
-
"require": "./
|
|
27
|
+
"import": "./esm/v3/index.js",
|
|
28
|
+
"require": "./cjs/v3/index.js"
|
|
32
29
|
},
|
|
33
30
|
"./v3/config/useWithDefaultProps": {
|
|
34
|
-
"import": "./
|
|
35
|
-
"require": "./
|
|
31
|
+
"import": "./esm/v3/config/useWithDefaultProps.js",
|
|
32
|
+
"require": "./cjs/v3/config/useWithDefaultProps.js"
|
|
36
33
|
},
|
|
37
34
|
"./v2/utils/tooltipPositions": {
|
|
38
|
-
"import": "./
|
|
39
|
-
"require": "./
|
|
35
|
+
"import": "./esm/v2/utils/tooltipPositions.js",
|
|
36
|
+
"require": "./cjs/v2/utils/tooltipPositions.js"
|
|
40
37
|
},
|
|
41
38
|
"./v2/utils/setMultipleRefs": {
|
|
42
|
-
"import": "./
|
|
43
|
-
"require": "./
|
|
39
|
+
"import": "./esm/v2/utils/setMultipleRefs.js",
|
|
40
|
+
"require": "./cjs/v2/utils/setMultipleRefs.js"
|
|
44
41
|
},
|
|
45
42
|
"./v2/TooltipType": {
|
|
46
|
-
"import": "./
|
|
47
|
-
"require": "./
|
|
43
|
+
"import": "./esm/v2/TooltipType.js",
|
|
44
|
+
"require": "./cjs/v2/TooltipType.js"
|
|
48
45
|
},
|
|
49
46
|
"./v2/styles": {
|
|
50
|
-
"import": "./
|
|
51
|
-
"require": "./
|
|
47
|
+
"import": "./esm/v2/styles.js",
|
|
48
|
+
"require": "./cjs/v2/styles.js"
|
|
52
49
|
},
|
|
53
50
|
"./v2/propTypes": {
|
|
54
|
-
"import": "./
|
|
55
|
-
"require": "./
|
|
51
|
+
"import": "./esm/v2/propTypes.js",
|
|
52
|
+
"require": "./cjs/v2/propTypes.js"
|
|
56
53
|
},
|
|
57
54
|
"./v2": {
|
|
58
|
-
"import": "./
|
|
59
|
-
"require": "./
|
|
55
|
+
"import": "./esm/v2/index.d.js",
|
|
56
|
+
"require": "./cjs/v2/index.d.js"
|
|
60
57
|
},
|
|
61
58
|
"./v2/DSTooltipArrow": {
|
|
62
|
-
"import": "./
|
|
63
|
-
"require": "./
|
|
59
|
+
"import": "./esm/v2/DSTooltipArrow.js",
|
|
60
|
+
"require": "./cjs/v2/DSTooltipArrow.js"
|
|
64
61
|
},
|
|
65
62
|
"./v2/DSTooltip": {
|
|
66
|
-
"import": "./
|
|
67
|
-
"require": "./
|
|
63
|
+
"import": "./esm/v2/DSTooltip.js",
|
|
64
|
+
"require": "./cjs/v2/DSTooltip.js"
|
|
68
65
|
},
|
|
69
66
|
"./v1/TooltipType": {
|
|
70
|
-
"import": "./
|
|
71
|
-
"require": "./
|
|
67
|
+
"import": "./esm/v1/TooltipType.js",
|
|
68
|
+
"require": "./cjs/v1/TooltipType.js"
|
|
72
69
|
},
|
|
73
70
|
"./v1/DSTooltip": {
|
|
74
|
-
"import": "./
|
|
75
|
-
"require": "./
|
|
71
|
+
"import": "./esm/v1/DSTooltip.js",
|
|
72
|
+
"require": "./cjs/v1/DSTooltip.js"
|
|
76
73
|
}
|
|
77
74
|
},
|
|
78
75
|
"sideEffects": [
|
|
@@ -84,26 +81,32 @@
|
|
|
84
81
|
"url": "https://git.elliemae.io/platform-ui/dimsum.git"
|
|
85
82
|
},
|
|
86
83
|
"engines": {
|
|
87
|
-
"
|
|
88
|
-
"node": ">=
|
|
84
|
+
"npm": ">=7",
|
|
85
|
+
"node": ">=14"
|
|
89
86
|
},
|
|
90
87
|
"author": "ICE MT",
|
|
88
|
+
"scripts": {
|
|
89
|
+
"dev": "cross-env NODE_ENV=development && node ../../scripts/build/build.js -w",
|
|
90
|
+
"prebuild": "exit 0",
|
|
91
|
+
"predev": "exit 0",
|
|
92
|
+
"build": "node ../../scripts/build/build.js"
|
|
93
|
+
},
|
|
91
94
|
"dependencies": {
|
|
92
|
-
"@elliemae/ds-button": "2.3.0-
|
|
93
|
-
"@elliemae/ds-classnames": "2.3.0-
|
|
94
|
-
"@elliemae/ds-popper": "2.3.0-
|
|
95
|
-
"@elliemae/ds-popperjs": "2.3.0-
|
|
96
|
-
"@elliemae/ds-portal": "2.3.0-
|
|
97
|
-
"@elliemae/ds-props-helpers": "2.3.0-
|
|
98
|
-
"@elliemae/ds-shared": "2.3.0-
|
|
99
|
-
"@elliemae/ds-system": "2.3.0-
|
|
100
|
-
"@elliemae/ds-utilities": "2.3.0-
|
|
101
|
-
"@popperjs/core": "~2.9.
|
|
95
|
+
"@elliemae/ds-button": "2.3.0-next.0",
|
|
96
|
+
"@elliemae/ds-classnames": "2.3.0-next.0",
|
|
97
|
+
"@elliemae/ds-popper": "2.3.0-next.0",
|
|
98
|
+
"@elliemae/ds-popperjs": "2.3.0-next.0",
|
|
99
|
+
"@elliemae/ds-portal": "2.3.0-next.0",
|
|
100
|
+
"@elliemae/ds-props-helpers": "2.3.0-next.0",
|
|
101
|
+
"@elliemae/ds-shared": "2.3.0-next.0",
|
|
102
|
+
"@elliemae/ds-system": "2.3.0-next.0",
|
|
103
|
+
"@elliemae/ds-utilities": "2.3.0-next.0",
|
|
104
|
+
"@popperjs/core": "~2.9.2",
|
|
102
105
|
"react-desc": "~4.1.3",
|
|
103
106
|
"react-popper": "~2.2.5"
|
|
104
107
|
},
|
|
105
108
|
"devDependencies": {
|
|
106
|
-
"@testing-library/jest-dom": "~5.15.
|
|
109
|
+
"@testing-library/jest-dom": "~5.15.0",
|
|
107
110
|
"@testing-library/react": "~12.1.2",
|
|
108
111
|
"@testing-library/user-event": "~13.5.0",
|
|
109
112
|
"react": "^17.0.2",
|
|
@@ -117,12 +120,7 @@
|
|
|
117
120
|
},
|
|
118
121
|
"publishConfig": {
|
|
119
122
|
"access": "public",
|
|
120
|
-
"
|
|
121
|
-
|
|
122
|
-
"scripts": {
|
|
123
|
-
"dev": "cross-env NODE_ENV=development && node ../../scripts/build/build.js -w",
|
|
124
|
-
"prebuild": "exit 0",
|
|
125
|
-
"predev": "exit 0",
|
|
126
|
-
"build": "node ../../scripts/build/build.js"
|
|
123
|
+
"directory": "dist",
|
|
124
|
+
"generateSubmodules": true
|
|
127
125
|
}
|
|
128
126
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './v1/DSTooltip';
|
|
2
|
+
export { default } from './v1/DSTooltip';
|
|
2
3
|
export * from './v2/DSTooltip';
|
|
3
4
|
export { tooltipPositions } from './v2/utils/tooltipPositions';
|
|
4
5
|
export * from './v2/TooltipType';
|
|
5
6
|
export * from './v3';
|
|
6
|
-
export { default } from './v1/DSTooltip';
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/cjs/index.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __reExport = (target, module2, copyDefault, desc) => {
|
|
13
|
-
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(module2))
|
|
15
|
-
if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
|
|
16
|
-
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return target;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (module2, isNodeMode) => {
|
|
21
|
-
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
22
|
-
};
|
|
23
|
-
var __toCommonJS = /* @__PURE__ */ ((cache) => {
|
|
24
|
-
return (module2, temp) => {
|
|
25
|
-
return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
|
|
26
|
-
};
|
|
27
|
-
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
|
28
|
-
var src_exports = {};
|
|
29
|
-
__export(src_exports, {
|
|
30
|
-
default: () => import_DSTooltip.default,
|
|
31
|
-
tooltipPositions: () => import_tooltipPositions.tooltipPositions
|
|
32
|
-
});
|
|
33
|
-
var React = __toESM(require("react"));
|
|
34
|
-
__reExport(src_exports, require("./v1/DSTooltip"));
|
|
35
|
-
__reExport(src_exports, require("./v2/DSTooltip"));
|
|
36
|
-
var import_tooltipPositions = require("./v2/utils/tooltipPositions");
|
|
37
|
-
__reExport(src_exports, require("./v2/TooltipType"));
|
|
38
|
-
__reExport(src_exports, require("./v3"));
|
|
39
|
-
var import_DSTooltip = __toESM(require("./v1/DSTooltip"));
|
|
40
|
-
module.exports = __toCommonJS(src_exports);
|
|
41
|
-
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["export * from './v1/DSTooltip';\nexport * from './v2/DSTooltip';\nexport { tooltipPositions } from './v2/utils/tooltipPositions';\nexport * from './v2/TooltipType';\nexport * from './v3';\nexport { default } from './v1/DSTooltip';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAc;AACd,wBAAc;AACd,8BAAiC;AACjC,wBAAc;AACd,wBAAc;AACd,uBAAwB;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/cjs/v1/DSTooltip.js
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __reExport = (target, module2, copyDefault, desc) => {
|
|
13
|
-
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(module2))
|
|
15
|
-
if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
|
|
16
|
-
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return target;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (module2, isNodeMode) => {
|
|
21
|
-
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
22
|
-
};
|
|
23
|
-
var __toCommonJS = /* @__PURE__ */ ((cache) => {
|
|
24
|
-
return (module2, temp) => {
|
|
25
|
-
return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
|
|
26
|
-
};
|
|
27
|
-
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
|
28
|
-
var DSTooltip_exports = {};
|
|
29
|
-
__export(DSTooltip_exports, {
|
|
30
|
-
DSTooltip: () => DSTooltip,
|
|
31
|
-
TooltipContainer: () => TooltipContainer,
|
|
32
|
-
TooltipText: () => TooltipText,
|
|
33
|
-
TooltipWithSchema: () => TooltipWithSchema,
|
|
34
|
-
default: () => DSTooltip_default
|
|
35
|
-
});
|
|
36
|
-
var React = __toESM(require("react"));
|
|
37
|
-
var import_react = __toESM(require("react"));
|
|
38
|
-
var import_react_desc = require("react-desc");
|
|
39
|
-
var import_ds_classnames = require("@elliemae/ds-classnames");
|
|
40
|
-
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
41
|
-
var import_constants = require("@elliemae/ds-shared/constants");
|
|
42
|
-
var import_ds_popper = require("@elliemae/ds-popper");
|
|
43
|
-
var import_TooltipType = require("./TooltipType");
|
|
44
|
-
const blockName = "tooltip";
|
|
45
|
-
const TooltipContainer = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, false, false, {
|
|
46
|
-
propsToRemoveFromFinalElement: ["isHovered", "isDragged"]
|
|
47
|
-
});
|
|
48
|
-
const TooltipText = (0, import_ds_classnames.aggregatedClasses)("span")(blockName, "text", false, {
|
|
49
|
-
propsToRemoveFromFinalElement: ["isHovered", "isDragged"]
|
|
50
|
-
});
|
|
51
|
-
const DSTooltip = ({
|
|
52
|
-
containerProps = {},
|
|
53
|
-
innerRef,
|
|
54
|
-
placement = import_ds_popper.PopperPositions.TOP,
|
|
55
|
-
title = "",
|
|
56
|
-
delayClose = import_constants.DEFAULT_DELAY_CLOSE,
|
|
57
|
-
delayOpen = import_constants.DEFAULT_DELAY_OPEN,
|
|
58
|
-
interactionType = import_ds_popper.PopperInteractions.HOVER,
|
|
59
|
-
triggerComponent = null,
|
|
60
|
-
className = "",
|
|
61
|
-
isOpen = void 0,
|
|
62
|
-
onOpen = () => null,
|
|
63
|
-
springAnimationComponent = void 0,
|
|
64
|
-
tooltipType = import_TooltipType.TooltipType.TOOLTIP,
|
|
65
|
-
showArrow = true,
|
|
66
|
-
zIndex,
|
|
67
|
-
...otherTooltipProps
|
|
68
|
-
}) => {
|
|
69
|
-
const { cssClassName: tooltipBlockName } = (0, import_ds_classnames.convertPropToCssClassName)(blockName);
|
|
70
|
-
let Content = title;
|
|
71
|
-
if (typeof title === "string") {
|
|
72
|
-
Content = /* @__PURE__ */ import_react.default.createElement(TooltipText, null, title);
|
|
73
|
-
}
|
|
74
|
-
return /* @__PURE__ */ import_react.default.createElement(import_ds_popper.DSPopper, {
|
|
75
|
-
blockName: tooltipBlockName,
|
|
76
|
-
contentComponent: /* @__PURE__ */ import_react.default.createElement(TooltipContainer, {
|
|
77
|
-
...containerProps,
|
|
78
|
-
...otherTooltipProps,
|
|
79
|
-
className: `tooltip-container--${tooltipType} ${className}`,
|
|
80
|
-
innerRef
|
|
81
|
-
}, Content),
|
|
82
|
-
delayClose,
|
|
83
|
-
delayOpen,
|
|
84
|
-
interactionType,
|
|
85
|
-
isOpen,
|
|
86
|
-
onOpen,
|
|
87
|
-
placement,
|
|
88
|
-
showArrow: tooltipType === import_TooltipType.TooltipType.TOOLTIP ? showArrow : false,
|
|
89
|
-
springAnimationComponent,
|
|
90
|
-
triggerComponent: (0, import_ds_utilities.getComponentFromProps)(triggerComponent),
|
|
91
|
-
zIndex
|
|
92
|
-
});
|
|
93
|
-
};
|
|
94
|
-
const tooltipProps = {
|
|
95
|
-
containerProps: import_react_desc.PropTypes.object.description("Set of Properties attached to the main container"),
|
|
96
|
-
placement: import_react_desc.PropTypes.oneOf(import_ds_popper.positions).description("Tooltip position").defaultValue(import_ds_popper.PopperPositions.TOP),
|
|
97
|
-
title: import_react_desc.PropTypes.oneOfType([import_react_desc.PropTypes.string, import_react_desc.PropTypes.element]).description("Tooltip content").isRequired,
|
|
98
|
-
delayClose: import_react_desc.PropTypes.string.description("Delay to close the tooltip").defaultValue(import_constants.DEFAULT_DELAY_CLOSE),
|
|
99
|
-
delayOpen: import_react_desc.PropTypes.string.description("Delay to open the tooltip ").defaultValue(import_constants.DEFAULT_DELAY_OPEN),
|
|
100
|
-
interactionType: import_react_desc.PropTypes.oneOf(import_ds_popper.interactions).description("A type indicating how to open/close the tooltip").defaultValue(import_ds_popper.PopperInteractions.HOVER),
|
|
101
|
-
triggerComponent: import_react_desc.PropTypes.element.description(`The component that will open/close the tooltip.
|
|
102
|
-
Cannot be used with disabled elements.
|
|
103
|
-
https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`).isRequired,
|
|
104
|
-
isOpen: import_react_desc.PropTypes.bool.description("Whether the tooltip is visible or not").defaultValue(void 0),
|
|
105
|
-
onOpen: import_react_desc.PropTypes.func.description("Handler when the tooltip opens"),
|
|
106
|
-
springAnimationComponent: import_react_desc.PropTypes.element.description("Spring animation component"),
|
|
107
|
-
showArrow: import_react_desc.PropTypes.bool.description("Whether to show an arrow or not").defaultValue(true),
|
|
108
|
-
className: import_react_desc.PropTypes.string.description("css class"),
|
|
109
|
-
tooltipType: import_react_desc.PropTypes.oneOf(["tooltip", "toolbar"]).description("Type of tooltip").defaultValue(import_TooltipType.TooltipType.TOOLTIP),
|
|
110
|
-
zIndex: import_react_desc.PropTypes.number.description("z-index value assigned to the tooltip").defaultValue(void 0),
|
|
111
|
-
innerRef: import_react_desc.PropTypes.oneOfType([import_react_desc.PropTypes.func, import_react_desc.PropTypes.object]).description("Ref to the tooltip container element")
|
|
112
|
-
};
|
|
113
|
-
DSTooltip.propTypes = tooltipProps;
|
|
114
|
-
const TooltipWithSchema = (0, import_react_desc.describe)(DSTooltip);
|
|
115
|
-
TooltipWithSchema.propTypes = tooltipProps;
|
|
116
|
-
var DSTooltip_default = DSTooltip;
|
|
117
|
-
module.exports = __toCommonJS(DSTooltip_exports);
|
|
118
|
-
//# sourceMappingURL=DSTooltip.js.map
|