@elliemae/ds-tooltip 3.1.0-next.0 → 3.1.0-next.11
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/dist/cjs/v1/DSTooltip.js +16 -17
- package/dist/cjs/v1/DSTooltip.js.map +2 -2
- package/dist/cjs/v2/DSTooltip.js +4 -4
- package/dist/cjs/v2/DSTooltip.js.map +2 -2
- package/dist/cjs/v2/propTypes.js +15 -15
- package/dist/cjs/v2/propTypes.js.map +2 -2
- package/dist/cjs/v2/styles.js +9 -9
- package/dist/cjs/v2/styles.js.map +2 -2
- package/dist/cjs/v3/DSTooltipV3.js +2 -2
- package/dist/cjs/v3/DSTooltipV3.js.map +2 -2
- package/dist/cjs/v3/styles.js +5 -5
- package/dist/cjs/v3/styles.js.map +2 -2
- package/dist/esm/v1/DSTooltip.js +1 -2
- package/dist/esm/v1/DSTooltip.js.map +2 -2
- package/dist/esm/v2/DSTooltip.js +2 -2
- package/dist/esm/v2/DSTooltip.js.map +2 -2
- package/dist/esm/v2/propTypes.js +1 -1
- package/dist/esm/v2/propTypes.js.map +1 -1
- package/dist/esm/v2/styles.js +1 -1
- package/dist/esm/v2/styles.js.map +1 -1
- package/dist/esm/v3/DSTooltipV3.js +1 -1
- package/dist/esm/v3/DSTooltipV3.js.map +1 -1
- package/dist/esm/v3/styles.js +1 -1
- package/dist/esm/v3/styles.js.map +1 -1
- package/package.json +18 -18
package/dist/cjs/v1/DSTooltip.js
CHANGED
|
@@ -58,7 +58,6 @@ __export(DSTooltip_exports, {
|
|
|
58
58
|
module.exports = __toCommonJS(DSTooltip_exports);
|
|
59
59
|
var React = __toESM(require("react"));
|
|
60
60
|
var import_react = __toESM(require("react"));
|
|
61
|
-
var import_react_desc = require("react-desc");
|
|
62
61
|
var import_ds_classnames = require("@elliemae/ds-classnames");
|
|
63
62
|
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
64
63
|
var import_ds_shared = require("@elliemae/ds-shared");
|
|
@@ -129,27 +128,27 @@ const DSTooltip = (_a) => {
|
|
|
129
128
|
});
|
|
130
129
|
};
|
|
131
130
|
const tooltipProps = {
|
|
132
|
-
containerProps:
|
|
133
|
-
placement:
|
|
134
|
-
title:
|
|
135
|
-
delayClose:
|
|
136
|
-
delayOpen:
|
|
137
|
-
interactionType:
|
|
138
|
-
triggerComponent:
|
|
131
|
+
containerProps: import_ds_utilities.PropTypes.object.description("Set of Properties attached to the main container"),
|
|
132
|
+
placement: import_ds_utilities.PropTypes.oneOf(import_ds_popper.positions).description("Tooltip position").defaultValue(import_ds_popper.PopperPositions.TOP),
|
|
133
|
+
title: import_ds_utilities.PropTypes.oneOfType([import_ds_utilities.PropTypes.string, import_ds_utilities.PropTypes.element]).description("Tooltip content").isRequired,
|
|
134
|
+
delayClose: import_ds_utilities.PropTypes.string.description("Delay to close the tooltip").defaultValue(import_ds_shared.DEFAULT_DELAY_CLOSE),
|
|
135
|
+
delayOpen: import_ds_utilities.PropTypes.string.description("Delay to open the tooltip ").defaultValue(import_ds_shared.DEFAULT_DELAY_OPEN),
|
|
136
|
+
interactionType: import_ds_utilities.PropTypes.oneOf(import_ds_popper.interactions).description("A type indicating how to open/close the tooltip").defaultValue(import_ds_popper.PopperInteractions.HOVER),
|
|
137
|
+
triggerComponent: import_ds_utilities.PropTypes.element.description(`The component that will open/close the tooltip.
|
|
139
138
|
Cannot be used with disabled elements.
|
|
140
139
|
https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`).isRequired,
|
|
141
|
-
isOpen:
|
|
142
|
-
onOpen:
|
|
143
|
-
springAnimationComponent:
|
|
144
|
-
showArrow:
|
|
145
|
-
className:
|
|
146
|
-
tooltipType:
|
|
147
|
-
zIndex:
|
|
148
|
-
innerRef:
|
|
140
|
+
isOpen: import_ds_utilities.PropTypes.bool.description("Whether the tooltip is visible or not").defaultValue(void 0),
|
|
141
|
+
onOpen: import_ds_utilities.PropTypes.func.description("Handler when the tooltip opens"),
|
|
142
|
+
springAnimationComponent: import_ds_utilities.PropTypes.element.description("Spring animation component"),
|
|
143
|
+
showArrow: import_ds_utilities.PropTypes.bool.description("Whether to show an arrow or not").defaultValue(true),
|
|
144
|
+
className: import_ds_utilities.PropTypes.string.description("css class"),
|
|
145
|
+
tooltipType: import_ds_utilities.PropTypes.oneOf(["tooltip", "toolbar"]).description("Type of tooltip").defaultValue(import_TooltipType.TooltipType.TOOLTIP),
|
|
146
|
+
zIndex: import_ds_utilities.PropTypes.number.description("z-index value assigned to the tooltip").defaultValue(void 0),
|
|
147
|
+
innerRef: import_ds_utilities.PropTypes.oneOfType([import_ds_utilities.PropTypes.func, import_ds_utilities.PropTypes.object]).description("Ref to the tooltip container element")
|
|
149
148
|
};
|
|
150
149
|
DSTooltip.propTypes = tooltipProps;
|
|
151
150
|
DSTooltip.displayName = "DSTooltip";
|
|
152
|
-
const TooltipWithSchema = (0,
|
|
151
|
+
const TooltipWithSchema = (0, import_ds_utilities.describe)(DSTooltip);
|
|
153
152
|
TooltipWithSchema.propTypes = tooltipProps;
|
|
154
153
|
var DSTooltip_default = DSTooltip;
|
|
155
154
|
//# sourceMappingURL=DSTooltip.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/v1/DSTooltip.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAkB;AAClB,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { describe, PropTypes, getComponentFromProps } from '@elliemae/ds-utilities';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared';\nimport { DSPopper, PopperPositions, PopperInteractions, interactions, positions } from '@elliemae/ds-popper';\nimport { TooltipType } from './TooltipType';\n\nconst blockName = 'tooltip';\n\nconst TooltipContainer = aggregatedClasses('div')(blockName, false, false, {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\nconst TooltipText = aggregatedClasses('span')(blockName, 'text', false, {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\n\nconst DSTooltip = ({\n containerProps = {},\n innerRef,\n placement = PopperPositions.TOP,\n title = '',\n delayClose = DEFAULT_DELAY_CLOSE,\n delayOpen = DEFAULT_DELAY_OPEN,\n interactionType = PopperInteractions.HOVER,\n triggerComponent = null,\n className = '',\n isOpen = undefined,\n onOpen = () => null,\n springAnimationComponent = undefined,\n tooltipType = TooltipType.TOOLTIP,\n showArrow = true,\n zIndex,\n ...otherTooltipProps\n}) => {\n const { cssClassName: tooltipBlockName } = convertPropToCssClassName(blockName);\n\n let Content = title;\n if (typeof title === 'string') {\n Content = <TooltipText>{title}</TooltipText>;\n }\n return (\n <DSPopper\n blockName={tooltipBlockName}\n contentComponent={\n <TooltipContainer\n {...containerProps}\n {...otherTooltipProps}\n className={`tooltip-container--${tooltipType} ${className}`}\n innerRef={innerRef}\n >\n {Content}\n </TooltipContainer>\n }\n delayClose={delayClose}\n delayOpen={delayOpen}\n interactionType={interactionType}\n isOpen={isOpen}\n onOpen={onOpen}\n placement={placement}\n showArrow={tooltipType === TooltipType.TOOLTIP ? showArrow : false}\n springAnimationComponent={springAnimationComponent}\n triggerComponent={getComponentFromProps(triggerComponent)}\n zIndex={zIndex}\n />\n );\n};\n\nconst tooltipProps = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n placement: PropTypes.oneOf(positions).description('Tooltip position').defaultValue(PopperPositions.TOP),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).description('Tooltip content').isRequired,\n delayClose: PropTypes.string.description('Delay to close the tooltip').defaultValue(DEFAULT_DELAY_CLOSE),\n delayOpen: PropTypes.string.description('Delay to open the tooltip ').defaultValue(DEFAULT_DELAY_OPEN),\n interactionType: PropTypes.oneOf(interactions)\n .description('A type indicating how to open/close the tooltip')\n .defaultValue(PopperInteractions.HOVER),\n triggerComponent: PropTypes.element.description(\n `The component that will open/close the tooltip. \n Cannot be used with disabled elements. \n https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`,\n ).isRequired,\n isOpen: PropTypes.bool.description('Whether the tooltip is visible or not').defaultValue(undefined),\n onOpen: PropTypes.func.description('Handler when the tooltip opens'),\n springAnimationComponent: PropTypes.element.description('Spring animation component'),\n showArrow: PropTypes.bool.description('Whether to show an arrow or not').defaultValue(true),\n className: PropTypes.string.description('css class'),\n tooltipType: PropTypes.oneOf(['tooltip', 'toolbar']).description('Type of tooltip').defaultValue(TooltipType.TOOLTIP),\n zIndex: PropTypes.number.description('z-index value assigned to the tooltip').defaultValue(undefined),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the tooltip container element'),\n};\n\nDSTooltip.propTypes = tooltipProps;\nDSTooltip.displayName = 'DSTooltip';\nconst TooltipWithSchema = describe(DSTooltip);\nTooltipWithSchema.propTypes = tooltipProps;\n\nexport { DSTooltip, TooltipContainer, TooltipText, TooltipWithSchema };\nexport default DSTooltip;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/v2/DSTooltip.js
CHANGED
|
@@ -43,17 +43,17 @@ __export(DSTooltip_exports, {
|
|
|
43
43
|
module.exports = __toCommonJS(DSTooltip_exports);
|
|
44
44
|
var React = __toESM(require("react"));
|
|
45
45
|
var import_react = __toESM(require("react"));
|
|
46
|
-
var
|
|
46
|
+
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
47
47
|
var import_ds_portal = require("@elliemae/ds-portal");
|
|
48
48
|
var import_ds_shared = require("@elliemae/ds-shared");
|
|
49
49
|
var import_react_popper = require("react-popper");
|
|
50
|
+
var import_ds_system = require("@elliemae/ds-system");
|
|
50
51
|
var import_tooltipPositions = require("./utils/tooltipPositions");
|
|
51
52
|
var import_TooltipType = require("./TooltipType");
|
|
52
53
|
var import_styles = require("./styles");
|
|
53
54
|
var import_DSTooltipArrow = require("./DSTooltipArrow");
|
|
54
55
|
var import_propTypes = require("./propTypes");
|
|
55
56
|
var import_setMultipleRefs = require("./utils/setMultipleRefs");
|
|
56
|
-
var import_styled_components = require("styled-components");
|
|
57
57
|
const DSTooltipV2 = ({
|
|
58
58
|
containerProps = {},
|
|
59
59
|
innerRef,
|
|
@@ -122,7 +122,7 @@ const DSTooltipV2 = ({
|
|
|
122
122
|
clearTimeout(timerClosed.current);
|
|
123
123
|
clearTimeout(timerOpen.current);
|
|
124
124
|
}, []);
|
|
125
|
-
const theme = (0, import_react.useContext)(
|
|
125
|
+
const theme = (0, import_react.useContext)(import_ds_system.ThemeContext);
|
|
126
126
|
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledTriggerComponentContainer, {
|
|
127
127
|
ref: setReferenceElement,
|
|
128
128
|
onMouseEnter: handleShowTooltipOn,
|
|
@@ -149,6 +149,6 @@ const DSTooltipV2 = ({
|
|
|
149
149
|
};
|
|
150
150
|
DSTooltipV2.propTypes = import_propTypes.tooltipV2Props;
|
|
151
151
|
DSTooltipV2.displayName = "DSTooltipV2";
|
|
152
|
-
const TooltipV2WithSchema = (0,
|
|
152
|
+
const TooltipV2WithSchema = (0, import_ds_utilities.describe)(DSTooltipV2);
|
|
153
153
|
TooltipV2WithSchema.propTypes = import_propTypes.tooltipV2Props;
|
|
154
154
|
//# sourceMappingURL=DSTooltip.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/v2/DSTooltip.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useState, useCallback, useEffect, useRef, useContext } from 'react';\nimport { describe } from '
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAA4E;AAC5E,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useState, useCallback, useEffect, useRef, useContext } from 'react';\nimport { describe } from '@elliemae/ds-utilities';\nimport { DSPortal } from '@elliemae/ds-portal';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared';\nimport { usePopper } from 'react-popper';\nimport { ThemeContext } from '@elliemae/ds-system';\nimport { tooltipPositions } from './utils/tooltipPositions';\nimport { TooltipType } from './TooltipType';\nimport {\n StyledTooltipContainer,\n StyledTriggerComponentContainer,\n StyledTooltipText,\n StyledAnimatedTooltip,\n} from './styles';\nimport { DSTooltipArrow } from './DSTooltipArrow';\nimport { DSTooltipT } from '.';\nimport { tooltipV2Props } from './propTypes';\nimport { setMultipleRefs } from './utils/setMultipleRefs';\n\nconst DSTooltipV2 = ({\n containerProps = {},\n innerRef,\n placement = tooltipPositions.BOTTOM,\n title = '',\n delayClose = DEFAULT_DELAY_CLOSE,\n delayOpen = DEFAULT_DELAY_OPEN,\n triggerComponent = null,\n className = '',\n getIsOpen = () => null,\n onOpen = () => null,\n tooltipType = TooltipType.TOOLTIP,\n showArrow = true,\n offset = [0, 14],\n zIndex,\n extraModifiers = {},\n}: DSTooltipT): React.ReactElement => {\n const [showTooltip, setShowTooltip] = useState<boolean>(false);\n const [isAnimating, setIsAnimating] = useState<boolean>(false);\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(triggerComponent);\n const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);\n const [arrowElement, setArrowElement] = useState<HTMLDivElement | null>(null);\n const timerOpen = useRef(null);\n const timerClosed = useRef(null);\n\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n placement,\n modifiers: [\n { name: 'hide', enabled: true },\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: tooltipType === TooltipType.TOOLBAR ? [0, 0] : offset,\n },\n },\n { name: 'arrow', options: { element: arrowElement } },\n { ...extraModifiers },\n ],\n });\n\n const handleShowTooltipOn = useCallback(() => {\n timerOpen.current = setTimeout(() => {\n setShowTooltip(true);\n setIsAnimating(true);\n getIsOpen(true);\n onOpen();\n }, delayOpen);\n }, [delayOpen, getIsOpen, onOpen]);\n\n const handleShowTooltipOff = useCallback(() => {\n timerClosed.current = setTimeout(() => {\n setShowTooltip(false);\n setIsAnimating(true);\n getIsOpen(false);\n }, delayClose);\n }, [delayClose, getIsOpen]);\n\n const handleKeyDown = useCallback((e) => {\n if (e.key === 'Escape') {\n e.target.blur();\n }\n }, []);\n\n const checkAnimationStatus = useCallback(() => {\n if (!showTooltip) {\n setIsAnimating(false);\n }\n }, [showTooltip]);\n\n useEffect(\n () => () => {\n clearTimeout(timerClosed.current);\n clearTimeout(timerOpen.current);\n },\n [],\n );\n\n const theme = useContext(ThemeContext);\n\n return (\n <>\n <StyledTriggerComponentContainer\n ref={setReferenceElement}\n onMouseEnter={handleShowTooltipOn}\n onMouseLeave={handleShowTooltipOff}\n onFocus={handleShowTooltipOn}\n onBlur={handleShowTooltipOff}\n onKeyDown={handleKeyDown}\n >\n {triggerComponent}\n </StyledTriggerComponentContainer>\n {isAnimating || showTooltip ? (\n <DSPortal>\n <StyledTooltipContainer\n className={className}\n showTooltip={showTooltip}\n tooltipType={tooltipType}\n data-testid=\"ds-tooltip-container\"\n ref={(ref) => setMultipleRefs(setPopperElement, innerRef)(ref)}\n style={{ ...styles.popper, zIndex: zIndex ?? theme.zIndex.tooltip }}\n {...containerProps}\n {...attributes.popper}\n >\n <StyledAnimatedTooltip\n showTooltip={showTooltip}\n data-testid=\"ds-tooltip\"\n onAnimationEnd={checkAnimationStatus}\n >\n <StyledTooltipText>{title}</StyledTooltipText>\n {tooltipType === TooltipType.TOOLTIP && showArrow ? (\n <DSTooltipArrow\n arrowElementRef={setArrowElement}\n style={styles.arrow}\n placement={attributes.popper ? attributes.popper['data-popper-placement'] : 'bottom'}\n />\n ) : null}\n </StyledAnimatedTooltip>\n </StyledTooltipContainer>\n </DSPortal>\n ) : null}\n </>\n );\n};\n\nDSTooltipV2.propTypes = tooltipV2Props;\nDSTooltipV2.displayName = 'DSTooltipV2';\nconst TooltipV2WithSchema = describe(DSTooltipV2);\nTooltipV2WithSchema.propTypes = tooltipV2Props;\n\nexport { DSTooltipV2, TooltipV2WithSchema };\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/v2/propTypes.js
CHANGED
|
@@ -24,26 +24,26 @@ __export(propTypes_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(propTypes_exports);
|
|
26
26
|
var React = __toESM(require("react"));
|
|
27
|
-
var
|
|
27
|
+
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
28
28
|
var import_ds_shared = require("@elliemae/ds-shared");
|
|
29
29
|
var import_TooltipType = require("./TooltipType");
|
|
30
30
|
var import_tooltipPositions = require("./utils/tooltipPositions");
|
|
31
31
|
const tooltipV2Props = {
|
|
32
|
-
containerProps:
|
|
33
|
-
placement:
|
|
34
|
-
title:
|
|
35
|
-
delayClose:
|
|
36
|
-
delayOpen:
|
|
37
|
-
triggerComponent:
|
|
32
|
+
containerProps: import_ds_utilities.PropTypes.object.description("Set of Properties attached to the main container"),
|
|
33
|
+
placement: import_ds_utilities.PropTypes.oneOf(Object.values(import_tooltipPositions.tooltipPositions)).description("Tooltip position").defaultValue(import_tooltipPositions.tooltipPositions.TOP),
|
|
34
|
+
title: import_ds_utilities.PropTypes.oneOfType([import_ds_utilities.PropTypes.string, import_ds_utilities.PropTypes.element]).description("Tooltip content").isRequired,
|
|
35
|
+
delayClose: import_ds_utilities.PropTypes.number.description("Delay to close the tooltip").defaultValue(import_ds_shared.DEFAULT_DELAY_CLOSE),
|
|
36
|
+
delayOpen: import_ds_utilities.PropTypes.number.description("Delay to open the tooltip ").defaultValue(import_ds_shared.DEFAULT_DELAY_OPEN),
|
|
37
|
+
triggerComponent: import_ds_utilities.PropTypes.element.description(`The component that will open/close the tooltip.
|
|
38
38
|
Cannot be used with disabled elements.
|
|
39
39
|
https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`).isRequired,
|
|
40
|
-
getIsOpen:
|
|
41
|
-
onOpen:
|
|
42
|
-
showArrow:
|
|
43
|
-
className:
|
|
44
|
-
tooltipType:
|
|
45
|
-
zIndex:
|
|
46
|
-
innerRef:
|
|
47
|
-
offset:
|
|
40
|
+
getIsOpen: import_ds_utilities.PropTypes.func.description("Whether the tooltip is visible or not"),
|
|
41
|
+
onOpen: import_ds_utilities.PropTypes.func.description("Callback when the tooltip opens"),
|
|
42
|
+
showArrow: import_ds_utilities.PropTypes.bool.description("Whether to show an arrow or not").defaultValue(true),
|
|
43
|
+
className: import_ds_utilities.PropTypes.string.description("css class"),
|
|
44
|
+
tooltipType: import_ds_utilities.PropTypes.oneOf(["tooltip", "toolbar"]).description("Type of tooltip").defaultValue(import_TooltipType.TooltipType.TOOLTIP),
|
|
45
|
+
zIndex: import_ds_utilities.PropTypes.number.description("z-index value assigned to the tooltip").defaultValue(void 0),
|
|
46
|
+
innerRef: import_ds_utilities.PropTypes.oneOfType([import_ds_utilities.PropTypes.func, import_ds_utilities.PropTypes.object]).description("Ref to the tooltip container element"),
|
|
47
|
+
offset: import_ds_utilities.PropTypes.arrayOf(import_ds_utilities.PropTypes.number).description("Custom Offset for the tooltip [x, y]")
|
|
48
48
|
};
|
|
49
49
|
//# sourceMappingURL=propTypes.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/v2/propTypes.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import { PropTypes } from '
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,
|
|
4
|
+
"sourcesContent": ["import { PropTypes } from '@elliemae/ds-utilities';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared';\nimport { TooltipType } from './TooltipType';\nimport { tooltipPositions } from './utils/tooltipPositions';\n\nconst tooltipV2Props = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n placement: PropTypes.oneOf(Object.values(tooltipPositions))\n .description('Tooltip position')\n .defaultValue(tooltipPositions.TOP),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).description('Tooltip content').isRequired,\n delayClose: PropTypes.number.description('Delay to close the tooltip').defaultValue(DEFAULT_DELAY_CLOSE),\n delayOpen: PropTypes.number.description('Delay to open the tooltip ').defaultValue(DEFAULT_DELAY_OPEN),\n triggerComponent: PropTypes.element.description(\n `The component that will open/close the tooltip. \n Cannot be used with disabled elements. \n https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`,\n ).isRequired,\n getIsOpen: PropTypes.func.description('Whether the tooltip is visible or not'),\n onOpen: PropTypes.func.description('Callback when the tooltip opens'),\n showArrow: PropTypes.bool.description('Whether to show an arrow or not').defaultValue(true),\n className: PropTypes.string.description('css class'),\n tooltipType: PropTypes.oneOf(['tooltip', 'toolbar']).description('Type of tooltip').defaultValue(TooltipType.TOOLTIP),\n zIndex: PropTypes.number.description('z-index value assigned to the tooltip').defaultValue(undefined),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the tooltip container element'),\n offset: PropTypes.arrayOf(PropTypes.number).description('Custom Offset for the tooltip [x, y]'),\n};\n\nexport { tooltipV2Props };\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,0BAA0B;AAC1B,uBAAwD;AACxD,yBAA4B;AAC5B,8BAAiC;AAEjC,MAAM,iBAAiB;AAAA,EACrB,gBAAgB,8BAAU,OAAO,YAAY,kDAAkD;AAAA,EAC/F,WAAW,8BAAU,MAAM,OAAO,OAAO,wCAAgB,CAAC,EACvD,YAAY,kBAAkB,EAC9B,aAAa,yCAAiB,GAAG;AAAA,EACpC,OAAO,8BAAU,UAAU,CAAC,8BAAU,QAAQ,8BAAU,OAAO,CAAC,EAAE,YAAY,iBAAiB,EAAE;AAAA,EACjG,YAAY,8BAAU,OAAO,YAAY,4BAA4B,EAAE,aAAa,oCAAmB;AAAA,EACvG,WAAW,8BAAU,OAAO,YAAY,4BAA4B,EAAE,aAAa,mCAAkB;AAAA,EACrG,kBAAkB,8BAAU,QAAQ,YAClC;AAAA;AAAA,4EAGF,EAAE;AAAA,EACF,WAAW,8BAAU,KAAK,YAAY,uCAAuC;AAAA,EAC7E,QAAQ,8BAAU,KAAK,YAAY,iCAAiC;AAAA,EACpE,WAAW,8BAAU,KAAK,YAAY,iCAAiC,EAAE,aAAa,IAAI;AAAA,EAC1F,WAAW,8BAAU,OAAO,YAAY,WAAW;AAAA,EACnD,aAAa,8BAAU,MAAM,CAAC,WAAW,SAAS,CAAC,EAAE,YAAY,iBAAiB,EAAE,aAAa,+BAAY,OAAO;AAAA,EACpH,QAAQ,8BAAU,OAAO,YAAY,uCAAuC,EAAE,aAAa,MAAS;AAAA,EACpG,UAAU,8BAAU,UAAU,CAAC,8BAAU,MAAM,8BAAU,MAAM,CAAC,EAAE,YAAY,sCAAsC;AAAA,EACpH,QAAQ,8BAAU,QAAQ,8BAAU,MAAM,EAAE,YAAY,sCAAsC;AAChG;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/v2/styles.js
CHANGED
|
@@ -28,9 +28,9 @@ __export(styles_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(styles_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var import_styled_components = __toESM(require("styled-components"));
|
|
32
31
|
var import_ds_system = require("@elliemae/ds-system");
|
|
33
|
-
|
|
32
|
+
var import_ds_system2 = require("@elliemae/ds-system");
|
|
33
|
+
const showAnimation = import_ds_system2.kfrm`
|
|
34
34
|
from {
|
|
35
35
|
opacity: 0;
|
|
36
36
|
transform: scale(0.8);
|
|
@@ -42,7 +42,7 @@ const showAnimation = import_ds_system.kfrm`
|
|
|
42
42
|
visibility: visible;
|
|
43
43
|
}
|
|
44
44
|
`;
|
|
45
|
-
const hideAnimation =
|
|
45
|
+
const hideAnimation = import_ds_system2.kfrm`
|
|
46
46
|
0% {
|
|
47
47
|
opacity: 1;
|
|
48
48
|
transform: scale(1);
|
|
@@ -53,13 +53,13 @@ const hideAnimation = import_ds_system.kfrm`
|
|
|
53
53
|
transform: scale(0.8);
|
|
54
54
|
}
|
|
55
55
|
`;
|
|
56
|
-
const StyledTooltipContainer =
|
|
56
|
+
const StyledTooltipContainer = import_ds_system.styled.div`
|
|
57
57
|
&[data-popper-reference-hidden='true'] {
|
|
58
58
|
display: none;
|
|
59
59
|
pointer-events: none;
|
|
60
60
|
}
|
|
61
61
|
`;
|
|
62
|
-
const StyledAnimatedTooltip =
|
|
62
|
+
const StyledAnimatedTooltip = import_ds_system.styled.div`
|
|
63
63
|
text-align: center;
|
|
64
64
|
min-width: ${({ theme }) => theme.space.l};
|
|
65
65
|
max-width: 250px;
|
|
@@ -73,20 +73,20 @@ const StyledAnimatedTooltip = import_styled_components.default.div`
|
|
|
73
73
|
box-shadow: 0 1px 5px 0 rgb(0 0 0 / 13%), 0 2px 4px 0 rgb(0 0 0 / 20%);
|
|
74
74
|
filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
|
|
75
75
|
visibility: ${({ showTooltip }) => showTooltip ? "visible" : "hidden"};
|
|
76
|
-
${({ showTooltip }) =>
|
|
76
|
+
${({ showTooltip }) => import_ds_system2.css`
|
|
77
77
|
animation: ${showTooltip ? showAnimation : hideAnimation} 0.1s ease-in;
|
|
78
78
|
`}
|
|
79
79
|
transition: visibility 0.1s ease-in;
|
|
80
80
|
`;
|
|
81
|
-
const StyledTriggerComponentContainer =
|
|
81
|
+
const StyledTriggerComponentContainer = import_ds_system.styled.div`
|
|
82
82
|
display: inline-block;
|
|
83
83
|
`;
|
|
84
|
-
const StyledTooltipText =
|
|
84
|
+
const StyledTooltipText = import_ds_system.styled.div`
|
|
85
85
|
white-space: normal;
|
|
86
86
|
word-wrap: break-word;
|
|
87
87
|
display: inline-block;
|
|
88
88
|
`;
|
|
89
|
-
const StyledTooltipArrow =
|
|
89
|
+
const StyledTooltipArrow = import_ds_system.styled.div`
|
|
90
90
|
position: absolute;
|
|
91
91
|
width: 18px;
|
|
92
92
|
height: 18px;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/v2/styles.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import styled from '
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB
|
|
4
|
+
"sourcesContent": ["import { styled } from '@elliemae/ds-system';\nimport { kfrm, css } from '@elliemae/ds-system';\nimport { TooltipAnimationT, TooltipContainerT } from './index.d';\n\nconst showAnimation = kfrm`\n from {\n opacity: 0;\n transform: scale(0.8);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n visibility: visible;\n }\n`;\n\nconst hideAnimation = kfrm`\n 0% {\n opacity: 1;\n transform: scale(1);\n }\n\n 100% {\n opacity: 0;\n transform: scale(0.8);\n }\n`;\n\nconst StyledTooltipContainer = styled.div<TooltipContainerT>`\n &[data-popper-reference-hidden='true'] {\n display: none;\n pointer-events: none;\n }\n`;\n\nconst StyledAnimatedTooltip = styled.div<TooltipAnimationT>`\n text-align: center;\n min-width: ${({ theme }) => theme.space.l};\n max-width: 250px;\n min-height: 24px;\n padding: ${({ theme }) => `${theme.space.xxxs} ${theme.space.xs}`};\n position: relative;\n background-color: white;\n border-radius: 2px;\n font-size: 13px;\n color: ${({ theme }) => theme.colors.neutral[600]};\n box-shadow: 0 1px 5px 0 rgb(0 0 0 / 13%), 0 2px 4px 0 rgb(0 0 0 / 20%);\n filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));\n visibility: ${({ showTooltip }) => (showTooltip ? 'visible' : 'hidden')};\n ${({ showTooltip }) =>\n css`\n animation: ${showTooltip ? showAnimation : hideAnimation} 0.1s ease-in;\n `}\n transition: visibility 0.1s ease-in;\n`;\n\nconst StyledTriggerComponentContainer = styled.div`\n display: inline-block;\n`;\n\nconst StyledTooltipText = styled.div`\n white-space: normal;\n word-wrap: break-word;\n display: inline-block;\n`;\n\nconst StyledTooltipArrow = styled.div`\n position: absolute;\n width: 18px;\n height: 18px;\n pointer-events: none;\n background-color: transparent;\n & .stroke {\n fill: white;\n }\n & .fill {\n fill: white;\n }\n\n &[data-placement^='top'] {\n svg {\n transform: rotateZ(180deg);\n }\n top: 98%;\n }\n &[data-placement^='right'] {\n svg {\n transform: rotateZ(-90deg);\n }\n right: 99.5%;\n }\n &[data-placement^='bottom'] {\n bottom: 97%;\n }\n &[data-placement^='left'] {\n svg {\n transform: rotateZ(90deg);\n }\n left: 99.5%;\n }\n`;\n\nexport {\n StyledTooltipContainer,\n StyledTriggerComponentContainer,\n StyledTooltipText,\n StyledTooltipArrow,\n StyledAnimatedTooltip,\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAuB;AACvB,wBAA0B;AAG1B,MAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAatB,MAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYtB,MAAM,yBAAyB,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOtC,MAAM,wBAAwB,wBAAO;AAAA;AAAA,eAEtB,CAAC,EAAE,YAAY,MAAM,MAAM;AAAA;AAAA;AAAA,aAG7B,CAAC,EAAE,YAAY,GAAG,MAAM,MAAM,QAAQ,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,WAKpD,CAAC,EAAE,YAAY,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,gBAG/B,CAAC,EAAE,kBAAmB,cAAc,YAAY;AAAA,IAC5D,CAAC,EAAE,kBACH;AAAA,mBACe,cAAc,gBAAgB;AAAA;AAAA;AAAA;AAKjD,MAAM,kCAAkC,wBAAO;AAAA;AAAA;AAI/C,MAAM,oBAAoB,wBAAO;AAAA;AAAA;AAAA;AAAA;AAMjC,MAAM,qBAAqB,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -55,7 +55,7 @@ var React = __toESM(require("react"));
|
|
|
55
55
|
var import_react = __toESM(require("react"));
|
|
56
56
|
var import_ds_popperjs = require("@elliemae/ds-popperjs");
|
|
57
57
|
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
58
|
-
var
|
|
58
|
+
var import_ds_system = require("@elliemae/ds-system");
|
|
59
59
|
var import_propTypes = require("./propTypes");
|
|
60
60
|
var import_TooltipV3DatatestId = require("./TooltipV3DatatestId");
|
|
61
61
|
var import_defaultProps = require("./defaultProps");
|
|
@@ -63,7 +63,7 @@ var import_styles = require("./styles");
|
|
|
63
63
|
var import_utils = require("./utils");
|
|
64
64
|
const DSTooltipV3 = (props) => {
|
|
65
65
|
const _a = (0, import_ds_utilities.useMemoMergePropsWithDefault)(props, import_defaultProps.defaultProps), { text, children, onOpen, onClose, id, textAlign, wrapWords } = _a, extraPopperJsProps = __objRest(_a, ["text", "children", "onOpen", "onClose", "id", "textAlign", "wrapWords"]);
|
|
66
|
-
const theme = (0, import_react.useContext)(
|
|
66
|
+
const theme = (0, import_react.useContext)(import_ds_system.ThemeContext);
|
|
67
67
|
const [isFocused, setIsFocused] = (0, import_react.useState)(false);
|
|
68
68
|
const [isHover, setIsHover] = (0, import_react.useState)(false);
|
|
69
69
|
const [latestOpenInteraction, setLatestOpenInteraction] = (0, import_react.useState)("");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/v3/DSTooltipV3.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useState, useCallback, useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { useMemoMergePropsWithDefault, describe } from '@elliemae/ds-utilities';\nimport { ThemeContext } from '
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAyD;AACzD,yBAA2B;AAC3B,0BAAuD;AACvD
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useState, useCallback, useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { useMemoMergePropsWithDefault, describe } from '@elliemae/ds-utilities';\nimport { ThemeContext } from '@elliemae/ds-system';\nimport { propTypes } from './propTypes';\nimport { TooltipV3DatatestId } from './TooltipV3DatatestId';\nimport { defaultProps } from './defaultProps';\nimport { StyledTooltipContainer, StyledTooltipText, StyledMouseOverDetectionBox, StyledTriggerWrapper } from './styles';\nimport { useGlobalKeyboardListener } from './utils';\nimport type { DSTooltipV3T } from './propTypes';\n\nconst DSTooltipV3: React.ComponentType<DSTooltipV3T.Props> = (props) => {\n const { text, children, onOpen, onClose, id, textAlign, wrapWords, ...extraPopperJsProps } =\n useMemoMergePropsWithDefault<DSTooltipV3T.InternalProps>(props, defaultProps);\n\n const theme = useContext(ThemeContext);\n\n const [isFocused, setIsFocused] = useState<boolean>(false);\n const [isHover, setIsHover] = useState<boolean>(false);\n const [latestOpenInteraction, setLatestOpenInteraction] = useState<string>('');\n const [referenceElement, setReferenceElement] = useState<HTMLSpanElement | null>();\n const [showPopover, setShowPopover] = useState<boolean>(false);\n\n const showTooltip = useCallback(() => {\n setShowPopover(true);\n onOpen();\n }, [onOpen]);\n\n const hideTooltip = useCallback(() => {\n setShowPopover(false);\n onClose();\n }, [onClose]);\n\n const onFocus = useCallback(() => {\n setIsFocused(true);\n if (!showPopover) {\n showTooltip();\n setLatestOpenInteraction('onFocus');\n }\n }, [showPopover, showTooltip]);\n\n const onBlur = useCallback(() => {\n setIsFocused(false);\n if (!isHover || latestOpenInteraction === 'onFocus') hideTooltip();\n }, [hideTooltip, isHover, latestOpenInteraction]);\n\n const onMouseEnter = useCallback(() => {\n setIsHover(true);\n if (!showPopover) {\n showTooltip();\n setLatestOpenInteraction('onMouseEnter');\n }\n }, [showPopover, showTooltip]);\n\n const onMouseLeave = useCallback(() => {\n setIsHover(false);\n if (!isFocused || latestOpenInteraction === 'onMouseEnter') hideTooltip();\n }, [hideTooltip, isFocused, latestOpenInteraction]);\n\n const handleEscKey = useCallback(\n ({ key }: { key: string }) => {\n if (key === 'Escape') hideTooltip();\n },\n [hideTooltip],\n );\n\n useGlobalKeyboardListener(handleEscKey);\n return (\n <StyledTriggerWrapper\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onPointerEnter={onMouseEnter}\n onPointerLeave={onMouseLeave}\n onFocus={onFocus}\n onBlur={onBlur}\n ref={setReferenceElement}\n data-testid={`${TooltipV3DatatestId.TRIGGER_WRAPPER}${id !== '' ? `_${id}` : ''}`}\n >\n <DSPopperJS\n referenceElement={referenceElement}\n showPopover={showPopover}\n zIndex={theme.zIndex.tooltip}\n {...extraPopperJsProps}\n >\n <div data-testid={`${TooltipV3DatatestId.TOOLTIP_TEXT_WRAPPER}${id !== '' ? `_${id}` : ''}`}>\n <StyledTooltipContainer>\n <StyledTooltipText textAlign={textAlign} wrapWords={wrapWords}>\n {text}\n </StyledTooltipText>\n <StyledMouseOverDetectionBox />\n </StyledTooltipContainer>\n </div>\n </DSPopperJS>\n\n {children}\n </StyledTriggerWrapper>\n );\n};\n\nDSTooltipV3.propTypes = propTypes;\nDSTooltipV3.displayName = 'DSTooltipV3';\nconst DSTooltipV3WithSchema = describe(DSTooltipV3);\nDSTooltipV3WithSchema.propTypes = propTypes;\n\nexport { DSTooltipV3, DSTooltipV3WithSchema };\n\nexport default DSTooltipV3;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAyD;AACzD,yBAA2B;AAC3B,0BAAuD;AACvD,uBAA6B;AAC7B,uBAA0B;AAC1B,iCAAoC;AACpC,0BAA6B;AAC7B,oBAA6G;AAC7G,mBAA0C;AAG1C,MAAM,cAAuD,CAAC,UAAU;AACtE,QACE,2DAAyD,OAAO,gCAAY,GADtE,QAAM,UAAU,QAAQ,SAAS,IAAI,WAAW,cACtD,IADoE,+BACpE,IADoE,CAA9D,QAAM,YAAU,UAAQ,WAAS,MAAI,aAAW;AAGxD,QAAM,QAAQ,6BAAW,6BAAY;AAErC,QAAM,CAAC,WAAW,gBAAgB,2BAAkB,KAAK;AACzD,QAAM,CAAC,SAAS,cAAc,2BAAkB,KAAK;AACrD,QAAM,CAAC,uBAAuB,4BAA4B,2BAAiB,EAAE;AAC7E,QAAM,CAAC,kBAAkB,uBAAuB,2BAAiC;AACjF,QAAM,CAAC,aAAa,kBAAkB,2BAAkB,KAAK;AAE7D,QAAM,cAAc,8BAAY,MAAM;AACpC,mBAAe,IAAI;AACnB,WAAO;AAAA,EACT,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,cAAc,8BAAY,MAAM;AACpC,mBAAe,KAAK;AACpB,YAAQ;AAAA,EACV,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,UAAU,8BAAY,MAAM;AAChC,iBAAa,IAAI;AACjB,QAAI,CAAC,aAAa;AAChB,kBAAY;AACZ,+BAAyB,SAAS;AAAA,IACpC;AAAA,EACF,GAAG,CAAC,aAAa,WAAW,CAAC;AAE7B,QAAM,SAAS,8BAAY,MAAM;AAC/B,iBAAa,KAAK;AAClB,QAAI,CAAC,WAAW,0BAA0B;AAAW,kBAAY;AAAA,EACnE,GAAG,CAAC,aAAa,SAAS,qBAAqB,CAAC;AAEhD,QAAM,eAAe,8BAAY,MAAM;AACrC,eAAW,IAAI;AACf,QAAI,CAAC,aAAa;AAChB,kBAAY;AACZ,+BAAyB,cAAc;AAAA,IACzC;AAAA,EACF,GAAG,CAAC,aAAa,WAAW,CAAC;AAE7B,QAAM,eAAe,8BAAY,MAAM;AACrC,eAAW,KAAK;AAChB,QAAI,CAAC,aAAa,0BAA0B;AAAgB,kBAAY;AAAA,EAC1E,GAAG,CAAC,aAAa,WAAW,qBAAqB,CAAC;AAElD,QAAM,eAAe,8BACnB,CAAC,EAAE,UAA2B;AAC5B,QAAI,QAAQ;AAAU,kBAAY;AAAA,EACpC,GACA,CAAC,WAAW,CACd;AAEA,8CAA0B,YAAY;AACtC,SACE,mDAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL,eAAa,GAAG,+CAAoB,kBAAkB,OAAO,KAAK,IAAI,OAAO;AAAA,KAE7E,mDAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA,QAAQ,MAAM,OAAO;AAAA,KACjB,qBAEJ,mDAAC;AAAA,IAAI,eAAa,GAAG,+CAAoB,uBAAuB,OAAO,KAAK,IAAI,OAAO;AAAA,KACrF,mDAAC,4CACC,mDAAC;AAAA,IAAkB;AAAA,IAAsB;AAAA,KACtC,IACH,GACA,mDAAC,+CAA4B,CAC/B,CACF,CACF,GAEC,QACH;AAEJ;AAEA,YAAY,YAAY;AACxB,YAAY,cAAc;AAC1B,MAAM,wBAAwB,kCAAS,WAAW;AAClD,sBAAsB,YAAY;AAIlC,IAAO,sBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/v3/styles.js
CHANGED
|
@@ -27,8 +27,8 @@ __export(styles_exports, {
|
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(styles_exports);
|
|
29
29
|
var React = __toESM(require("react"));
|
|
30
|
-
var
|
|
31
|
-
const StyledTooltipContainer =
|
|
30
|
+
var import_ds_system = require("@elliemae/ds-system");
|
|
31
|
+
const StyledTooltipContainer = import_ds_system.styled.div`
|
|
32
32
|
text-align: center;
|
|
33
33
|
min-width: ${({ theme }) => theme.space.l};
|
|
34
34
|
max-width: 250px;
|
|
@@ -42,13 +42,13 @@ const StyledTooltipContainer = import_styled_components.default.div`
|
|
|
42
42
|
font-size: 13px;
|
|
43
43
|
color: ${({ theme }) => theme.colors.neutral[600]};
|
|
44
44
|
`;
|
|
45
|
-
const StyledTooltipText =
|
|
45
|
+
const StyledTooltipText = import_ds_system.styled.div`
|
|
46
46
|
display: inline-block;
|
|
47
47
|
text-align: ${({ textAlign }) => textAlign};
|
|
48
48
|
word-wrap: break-word;
|
|
49
49
|
${({ wrapWords }) => wrapWords ? `word-break: break-all;` : `white-space: normal;`}
|
|
50
50
|
`;
|
|
51
|
-
const StyledMouseOverDetectionBox =
|
|
51
|
+
const StyledMouseOverDetectionBox = import_ds_system.styled.div`
|
|
52
52
|
position: absolute;
|
|
53
53
|
top: -15px;
|
|
54
54
|
right: -15px;
|
|
@@ -56,7 +56,7 @@ const StyledMouseOverDetectionBox = import_styled_components.default.div`
|
|
|
56
56
|
height: calc(100% + 30px);
|
|
57
57
|
z-index: -1;
|
|
58
58
|
`;
|
|
59
|
-
const StyledTriggerWrapper =
|
|
59
|
+
const StyledTriggerWrapper = import_ds_system.styled.div`
|
|
60
60
|
display: inline-flex;
|
|
61
61
|
width: 100%;
|
|
62
62
|
`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/v3/styles.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import styled from '
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB
|
|
4
|
+
"sourcesContent": ["import { styled } from '@elliemae/ds-system';\nimport type { DSTooltipV3T } from './propTypes';\n\ninterface StyledTooltipTextT {\n wrapWords: boolean;\n textAlign: DSTooltipV3T.TextAlignment;\n}\n\nexport const StyledTooltipContainer = styled.div`\n text-align: center;\n min-width: ${({ theme }) => theme.space.l};\n max-width: 250px;\n min-height: 30px;\n display: grid;\n align-items: center;\n padding: ${({ theme }) => `${theme.space.xxxs} ${theme.space.xs}`};\n position: relative;\n background-color: white;\n border-radius: 2px;\n font-size: 13px;\n color: ${({ theme }) => theme.colors.neutral[600]};\n`;\n\nexport const StyledTooltipText = styled.div<StyledTooltipTextT>`\n display: inline-block;\n text-align: ${({ textAlign }) => textAlign};\n word-wrap: break-word;\n ${({ wrapWords }) => (wrapWords ? `word-break: break-all;` : `white-space: normal;`)}\n`;\n\nexport const StyledMouseOverDetectionBox = styled.div`\n position: absolute;\n top: -15px;\n right: -15px;\n width: calc(100% + 30px);\n height: calc(100% + 30px);\n z-index: -1;\n`;\n\nexport const StyledTriggerWrapper = styled.div`\n display: inline-flex;\n width: 100%;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAuB;AAQhB,MAAM,yBAAyB,wBAAO;AAAA;AAAA,eAE9B,CAAC,EAAE,YAAY,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,aAK7B,CAAC,EAAE,YAAY,GAAG,MAAM,MAAM,QAAQ,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,WAKpD,CAAC,EAAE,YAAY,MAAM,OAAO,QAAQ;AAAA;AAGxC,MAAM,oBAAoB,wBAAO;AAAA;AAAA,gBAExB,CAAC,EAAE,gBAAgB;AAAA;AAAA,IAE/B,CAAC,EAAE,gBAAiB,YAAY,2BAA2B;AAAA;AAGxD,MAAM,8BAA8B,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS3C,MAAM,uBAAuB,wBAAO;AAAA;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/v1/DSTooltip.js
CHANGED
|
@@ -31,9 +31,8 @@ var __objRest = (source, exclude) => {
|
|
|
31
31
|
};
|
|
32
32
|
import * as React from "react";
|
|
33
33
|
import React2 from "react";
|
|
34
|
-
import { describe, PropTypes } from "react-desc";
|
|
35
34
|
import { aggregatedClasses, convertPropToCssClassName } from "@elliemae/ds-classnames";
|
|
36
|
-
import { getComponentFromProps } from "@elliemae/ds-utilities";
|
|
35
|
+
import { describe, PropTypes, getComponentFromProps } from "@elliemae/ds-utilities";
|
|
37
36
|
import { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from "@elliemae/ds-shared";
|
|
38
37
|
import { DSPopper, PopperPositions, PopperInteractions, interactions, positions } from "@elliemae/ds-popper";
|
|
39
38
|
import { TooltipType } from "./TooltipType";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/v1/DSTooltip.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { describe, PropTypes, getComponentFromProps } from '@elliemae/ds-utilities';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared';\nimport { DSPopper, PopperPositions, PopperInteractions, interactions, positions } from '@elliemae/ds-popper';\nimport { TooltipType } from './TooltipType';\n\nconst blockName = 'tooltip';\n\nconst TooltipContainer = aggregatedClasses('div')(blockName, false, false, {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\nconst TooltipText = aggregatedClasses('span')(blockName, 'text', false, {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\n\nconst DSTooltip = ({\n containerProps = {},\n innerRef,\n placement = PopperPositions.TOP,\n title = '',\n delayClose = DEFAULT_DELAY_CLOSE,\n delayOpen = DEFAULT_DELAY_OPEN,\n interactionType = PopperInteractions.HOVER,\n triggerComponent = null,\n className = '',\n isOpen = undefined,\n onOpen = () => null,\n springAnimationComponent = undefined,\n tooltipType = TooltipType.TOOLTIP,\n showArrow = true,\n zIndex,\n ...otherTooltipProps\n}) => {\n const { cssClassName: tooltipBlockName } = convertPropToCssClassName(blockName);\n\n let Content = title;\n if (typeof title === 'string') {\n Content = <TooltipText>{title}</TooltipText>;\n }\n return (\n <DSPopper\n blockName={tooltipBlockName}\n contentComponent={\n <TooltipContainer\n {...containerProps}\n {...otherTooltipProps}\n className={`tooltip-container--${tooltipType} ${className}`}\n innerRef={innerRef}\n >\n {Content}\n </TooltipContainer>\n }\n delayClose={delayClose}\n delayOpen={delayOpen}\n interactionType={interactionType}\n isOpen={isOpen}\n onOpen={onOpen}\n placement={placement}\n showArrow={tooltipType === TooltipType.TOOLTIP ? showArrow : false}\n springAnimationComponent={springAnimationComponent}\n triggerComponent={getComponentFromProps(triggerComponent)}\n zIndex={zIndex}\n />\n );\n};\n\nconst tooltipProps = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n placement: PropTypes.oneOf(positions).description('Tooltip position').defaultValue(PopperPositions.TOP),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).description('Tooltip content').isRequired,\n delayClose: PropTypes.string.description('Delay to close the tooltip').defaultValue(DEFAULT_DELAY_CLOSE),\n delayOpen: PropTypes.string.description('Delay to open the tooltip ').defaultValue(DEFAULT_DELAY_OPEN),\n interactionType: PropTypes.oneOf(interactions)\n .description('A type indicating how to open/close the tooltip')\n .defaultValue(PopperInteractions.HOVER),\n triggerComponent: PropTypes.element.description(\n `The component that will open/close the tooltip. \n Cannot be used with disabled elements. \n https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`,\n ).isRequired,\n isOpen: PropTypes.bool.description('Whether the tooltip is visible or not').defaultValue(undefined),\n onOpen: PropTypes.func.description('Handler when the tooltip opens'),\n springAnimationComponent: PropTypes.element.description('Spring animation component'),\n showArrow: PropTypes.bool.description('Whether to show an arrow or not').defaultValue(true),\n className: PropTypes.string.description('css class'),\n tooltipType: PropTypes.oneOf(['tooltip', 'toolbar']).description('Type of tooltip').defaultValue(TooltipType.TOOLTIP),\n zIndex: PropTypes.number.description('z-index value assigned to the tooltip').defaultValue(undefined),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the tooltip container element'),\n};\n\nDSTooltip.propTypes = tooltipProps;\nDSTooltip.displayName = 'DSTooltip';\nconst TooltipWithSchema = describe(DSTooltip);\nTooltipWithSchema.propTypes = tooltipProps;\n\nexport { DSTooltip, TooltipContainer, TooltipText, TooltipWithSchema };\nexport default DSTooltip;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/v2/DSTooltip.js
CHANGED
|
@@ -19,10 +19,11 @@ var __spreadValues = (a, b) => {
|
|
|
19
19
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
20
|
import * as React from "react";
|
|
21
21
|
import React2, { useState, useCallback, useEffect, useRef, useContext } from "react";
|
|
22
|
-
import { describe } from "
|
|
22
|
+
import { describe } from "@elliemae/ds-utilities";
|
|
23
23
|
import { DSPortal } from "@elliemae/ds-portal";
|
|
24
24
|
import { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from "@elliemae/ds-shared";
|
|
25
25
|
import { usePopper } from "react-popper";
|
|
26
|
+
import { ThemeContext } from "@elliemae/ds-system";
|
|
26
27
|
import { tooltipPositions } from "./utils/tooltipPositions";
|
|
27
28
|
import { TooltipType } from "./TooltipType";
|
|
28
29
|
import {
|
|
@@ -34,7 +35,6 @@ import {
|
|
|
34
35
|
import { DSTooltipArrow } from "./DSTooltipArrow";
|
|
35
36
|
import { tooltipV2Props } from "./propTypes";
|
|
36
37
|
import { setMultipleRefs } from "./utils/setMultipleRefs";
|
|
37
|
-
import { ThemeContext } from "styled-components";
|
|
38
38
|
const DSTooltipV2 = ({
|
|
39
39
|
containerProps = {},
|
|
40
40
|
innerRef,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/v2/DSTooltip.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useState, useCallback, useEffect, useRef, useContext } from 'react';\nimport { describe } from '
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAEA;AACA;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useState, useCallback, useEffect, useRef, useContext } from 'react';\nimport { describe } from '@elliemae/ds-utilities';\nimport { DSPortal } from '@elliemae/ds-portal';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared';\nimport { usePopper } from 'react-popper';\nimport { ThemeContext } from '@elliemae/ds-system';\nimport { tooltipPositions } from './utils/tooltipPositions';\nimport { TooltipType } from './TooltipType';\nimport {\n StyledTooltipContainer,\n StyledTriggerComponentContainer,\n StyledTooltipText,\n StyledAnimatedTooltip,\n} from './styles';\nimport { DSTooltipArrow } from './DSTooltipArrow';\nimport { DSTooltipT } from '.';\nimport { tooltipV2Props } from './propTypes';\nimport { setMultipleRefs } from './utils/setMultipleRefs';\n\nconst DSTooltipV2 = ({\n containerProps = {},\n innerRef,\n placement = tooltipPositions.BOTTOM,\n title = '',\n delayClose = DEFAULT_DELAY_CLOSE,\n delayOpen = DEFAULT_DELAY_OPEN,\n triggerComponent = null,\n className = '',\n getIsOpen = () => null,\n onOpen = () => null,\n tooltipType = TooltipType.TOOLTIP,\n showArrow = true,\n offset = [0, 14],\n zIndex,\n extraModifiers = {},\n}: DSTooltipT): React.ReactElement => {\n const [showTooltip, setShowTooltip] = useState<boolean>(false);\n const [isAnimating, setIsAnimating] = useState<boolean>(false);\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(triggerComponent);\n const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);\n const [arrowElement, setArrowElement] = useState<HTMLDivElement | null>(null);\n const timerOpen = useRef(null);\n const timerClosed = useRef(null);\n\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n placement,\n modifiers: [\n { name: 'hide', enabled: true },\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: tooltipType === TooltipType.TOOLBAR ? [0, 0] : offset,\n },\n },\n { name: 'arrow', options: { element: arrowElement } },\n { ...extraModifiers },\n ],\n });\n\n const handleShowTooltipOn = useCallback(() => {\n timerOpen.current = setTimeout(() => {\n setShowTooltip(true);\n setIsAnimating(true);\n getIsOpen(true);\n onOpen();\n }, delayOpen);\n }, [delayOpen, getIsOpen, onOpen]);\n\n const handleShowTooltipOff = useCallback(() => {\n timerClosed.current = setTimeout(() => {\n setShowTooltip(false);\n setIsAnimating(true);\n getIsOpen(false);\n }, delayClose);\n }, [delayClose, getIsOpen]);\n\n const handleKeyDown = useCallback((e) => {\n if (e.key === 'Escape') {\n e.target.blur();\n }\n }, []);\n\n const checkAnimationStatus = useCallback(() => {\n if (!showTooltip) {\n setIsAnimating(false);\n }\n }, [showTooltip]);\n\n useEffect(\n () => () => {\n clearTimeout(timerClosed.current);\n clearTimeout(timerOpen.current);\n },\n [],\n );\n\n const theme = useContext(ThemeContext);\n\n return (\n <>\n <StyledTriggerComponentContainer\n ref={setReferenceElement}\n onMouseEnter={handleShowTooltipOn}\n onMouseLeave={handleShowTooltipOff}\n onFocus={handleShowTooltipOn}\n onBlur={handleShowTooltipOff}\n onKeyDown={handleKeyDown}\n >\n {triggerComponent}\n </StyledTriggerComponentContainer>\n {isAnimating || showTooltip ? (\n <DSPortal>\n <StyledTooltipContainer\n className={className}\n showTooltip={showTooltip}\n tooltipType={tooltipType}\n data-testid=\"ds-tooltip-container\"\n ref={(ref) => setMultipleRefs(setPopperElement, innerRef)(ref)}\n style={{ ...styles.popper, zIndex: zIndex ?? theme.zIndex.tooltip }}\n {...containerProps}\n {...attributes.popper}\n >\n <StyledAnimatedTooltip\n showTooltip={showTooltip}\n data-testid=\"ds-tooltip\"\n onAnimationEnd={checkAnimationStatus}\n >\n <StyledTooltipText>{title}</StyledTooltipText>\n {tooltipType === TooltipType.TOOLTIP && showArrow ? (\n <DSTooltipArrow\n arrowElementRef={setArrowElement}\n style={styles.arrow}\n placement={attributes.popper ? attributes.popper['data-popper-placement'] : 'bottom'}\n />\n ) : null}\n </StyledAnimatedTooltip>\n </StyledTooltipContainer>\n </DSPortal>\n ) : null}\n </>\n );\n};\n\nDSTooltipV2.propTypes = tooltipV2Props;\nDSTooltipV2.displayName = 'DSTooltipV2';\nconst TooltipV2WithSchema = describe(DSTooltipV2);\nTooltipV2WithSchema.propTypes = tooltipV2Props;\n\nexport { DSTooltipV2, TooltipV2WithSchema };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/v2/propTypes.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { PropTypes } from "
|
|
2
|
+
import { PropTypes } from "@elliemae/ds-utilities";
|
|
3
3
|
import { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from "@elliemae/ds-shared";
|
|
4
4
|
import { TooltipType } from "./TooltipType";
|
|
5
5
|
import { tooltipPositions } from "./utils/tooltipPositions";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/v2/propTypes.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { PropTypes } from '
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { PropTypes } from '@elliemae/ds-utilities';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared';\nimport { TooltipType } from './TooltipType';\nimport { tooltipPositions } from './utils/tooltipPositions';\n\nconst tooltipV2Props = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n placement: PropTypes.oneOf(Object.values(tooltipPositions))\n .description('Tooltip position')\n .defaultValue(tooltipPositions.TOP),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).description('Tooltip content').isRequired,\n delayClose: PropTypes.number.description('Delay to close the tooltip').defaultValue(DEFAULT_DELAY_CLOSE),\n delayOpen: PropTypes.number.description('Delay to open the tooltip ').defaultValue(DEFAULT_DELAY_OPEN),\n triggerComponent: PropTypes.element.description(\n `The component that will open/close the tooltip. \n Cannot be used with disabled elements. \n https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`,\n ).isRequired,\n getIsOpen: PropTypes.func.description('Whether the tooltip is visible or not'),\n onOpen: PropTypes.func.description('Callback when the tooltip opens'),\n showArrow: PropTypes.bool.description('Whether to show an arrow or not').defaultValue(true),\n className: PropTypes.string.description('css class'),\n tooltipType: PropTypes.oneOf(['tooltip', 'toolbar']).description('Type of tooltip').defaultValue(TooltipType.TOOLTIP),\n zIndex: PropTypes.number.description('z-index value assigned to the tooltip').defaultValue(undefined),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the tooltip container element'),\n offset: PropTypes.arrayOf(PropTypes.number).description('Custom Offset for the tooltip [x, y]'),\n};\n\nexport { tooltipV2Props };\n"],
|
|
5
5
|
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AAEA,MAAM,iBAAiB;AAAA,EACrB,gBAAgB,UAAU,OAAO,YAAY,kDAAkD;AAAA,EAC/F,WAAW,UAAU,MAAM,OAAO,OAAO,gBAAgB,CAAC,EACvD,YAAY,kBAAkB,EAC9B,aAAa,iBAAiB,GAAG;AAAA,EACpC,OAAO,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,OAAO,CAAC,EAAE,YAAY,iBAAiB,EAAE;AAAA,EACjG,YAAY,UAAU,OAAO,YAAY,4BAA4B,EAAE,aAAa,mBAAmB;AAAA,EACvG,WAAW,UAAU,OAAO,YAAY,4BAA4B,EAAE,aAAa,kBAAkB;AAAA,EACrG,kBAAkB,UAAU,QAAQ,YAClC;AAAA;AAAA,4EAGF,EAAE;AAAA,EACF,WAAW,UAAU,KAAK,YAAY,uCAAuC;AAAA,EAC7E,QAAQ,UAAU,KAAK,YAAY,iCAAiC;AAAA,EACpE,WAAW,UAAU,KAAK,YAAY,iCAAiC,EAAE,aAAa,IAAI;AAAA,EAC1F,WAAW,UAAU,OAAO,YAAY,WAAW;AAAA,EACnD,aAAa,UAAU,MAAM,CAAC,WAAW,SAAS,CAAC,EAAE,YAAY,iBAAiB,EAAE,aAAa,YAAY,OAAO;AAAA,EACpH,QAAQ,UAAU,OAAO,YAAY,uCAAuC,EAAE,aAAa,MAAS;AAAA,EACpG,UAAU,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,MAAM,CAAC,EAAE,YAAY,sCAAsC;AAAA,EACpH,QAAQ,UAAU,QAAQ,UAAU,MAAM,EAAE,YAAY,sCAAsC;AAChG;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/v2/styles.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/v2/styles.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import styled from '
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { styled } from '@elliemae/ds-system';\nimport { kfrm, css } from '@elliemae/ds-system';\nimport { TooltipAnimationT, TooltipContainerT } from './index.d';\n\nconst showAnimation = kfrm`\n from {\n opacity: 0;\n transform: scale(0.8);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n visibility: visible;\n }\n`;\n\nconst hideAnimation = kfrm`\n 0% {\n opacity: 1;\n transform: scale(1);\n }\n\n 100% {\n opacity: 0;\n transform: scale(0.8);\n }\n`;\n\nconst StyledTooltipContainer = styled.div<TooltipContainerT>`\n &[data-popper-reference-hidden='true'] {\n display: none;\n pointer-events: none;\n }\n`;\n\nconst StyledAnimatedTooltip = styled.div<TooltipAnimationT>`\n text-align: center;\n min-width: ${({ theme }) => theme.space.l};\n max-width: 250px;\n min-height: 24px;\n padding: ${({ theme }) => `${theme.space.xxxs} ${theme.space.xs}`};\n position: relative;\n background-color: white;\n border-radius: 2px;\n font-size: 13px;\n color: ${({ theme }) => theme.colors.neutral[600]};\n box-shadow: 0 1px 5px 0 rgb(0 0 0 / 13%), 0 2px 4px 0 rgb(0 0 0 / 20%);\n filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));\n visibility: ${({ showTooltip }) => (showTooltip ? 'visible' : 'hidden')};\n ${({ showTooltip }) =>\n css`\n animation: ${showTooltip ? showAnimation : hideAnimation} 0.1s ease-in;\n `}\n transition: visibility 0.1s ease-in;\n`;\n\nconst StyledTriggerComponentContainer = styled.div`\n display: inline-block;\n`;\n\nconst StyledTooltipText = styled.div`\n white-space: normal;\n word-wrap: break-word;\n display: inline-block;\n`;\n\nconst StyledTooltipArrow = styled.div`\n position: absolute;\n width: 18px;\n height: 18px;\n pointer-events: none;\n background-color: transparent;\n & .stroke {\n fill: white;\n }\n & .fill {\n fill: white;\n }\n\n &[data-placement^='top'] {\n svg {\n transform: rotateZ(180deg);\n }\n top: 98%;\n }\n &[data-placement^='right'] {\n svg {\n transform: rotateZ(-90deg);\n }\n right: 99.5%;\n }\n &[data-placement^='bottom'] {\n bottom: 97%;\n }\n &[data-placement^='left'] {\n svg {\n transform: rotateZ(90deg);\n }\n left: 99.5%;\n }\n`;\n\nexport {\n StyledTooltipContainer,\n StyledTriggerComponentContainer,\n StyledTooltipText,\n StyledTooltipArrow,\n StyledAnimatedTooltip,\n};\n"],
|
|
5
5
|
"mappings": "AAAA;ACAA;AACA;AAGA,MAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAatB,MAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYtB,MAAM,yBAAyB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOtC,MAAM,wBAAwB,OAAO;AAAA;AAAA,eAEtB,CAAC,EAAE,YAAY,MAAM,MAAM;AAAA;AAAA;AAAA,aAG7B,CAAC,EAAE,YAAY,GAAG,MAAM,MAAM,QAAQ,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,WAKpD,CAAC,EAAE,YAAY,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,gBAG/B,CAAC,EAAE,kBAAmB,cAAc,YAAY;AAAA,IAC5D,CAAC,EAAE,kBACH;AAAA,mBACe,cAAc,gBAAgB;AAAA;AAAA;AAAA;AAKjD,MAAM,kCAAkC,OAAO;AAAA;AAAA;AAI/C,MAAM,oBAAoB,OAAO;AAAA;AAAA;AAAA;AAAA;AAMjC,MAAM,qBAAqB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -30,7 +30,7 @@ import * as React from "react";
|
|
|
30
30
|
import React2, { useState, useCallback, useContext } from "react";
|
|
31
31
|
import { DSPopperJS } from "@elliemae/ds-popperjs";
|
|
32
32
|
import { useMemoMergePropsWithDefault, describe } from "@elliemae/ds-utilities";
|
|
33
|
-
import { ThemeContext } from "
|
|
33
|
+
import { ThemeContext } from "@elliemae/ds-system";
|
|
34
34
|
import { propTypes } from "./propTypes";
|
|
35
35
|
import { TooltipV3DatatestId } from "./TooltipV3DatatestId";
|
|
36
36
|
import { defaultProps } from "./defaultProps";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/v3/DSTooltipV3.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useState, useCallback, useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { useMemoMergePropsWithDefault, describe } from '@elliemae/ds-utilities';\nimport { ThemeContext } from '
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useState, useCallback, useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { useMemoMergePropsWithDefault, describe } from '@elliemae/ds-utilities';\nimport { ThemeContext } from '@elliemae/ds-system';\nimport { propTypes } from './propTypes';\nimport { TooltipV3DatatestId } from './TooltipV3DatatestId';\nimport { defaultProps } from './defaultProps';\nimport { StyledTooltipContainer, StyledTooltipText, StyledMouseOverDetectionBox, StyledTriggerWrapper } from './styles';\nimport { useGlobalKeyboardListener } from './utils';\nimport type { DSTooltipV3T } from './propTypes';\n\nconst DSTooltipV3: React.ComponentType<DSTooltipV3T.Props> = (props) => {\n const { text, children, onOpen, onClose, id, textAlign, wrapWords, ...extraPopperJsProps } =\n useMemoMergePropsWithDefault<DSTooltipV3T.InternalProps>(props, defaultProps);\n\n const theme = useContext(ThemeContext);\n\n const [isFocused, setIsFocused] = useState<boolean>(false);\n const [isHover, setIsHover] = useState<boolean>(false);\n const [latestOpenInteraction, setLatestOpenInteraction] = useState<string>('');\n const [referenceElement, setReferenceElement] = useState<HTMLSpanElement | null>();\n const [showPopover, setShowPopover] = useState<boolean>(false);\n\n const showTooltip = useCallback(() => {\n setShowPopover(true);\n onOpen();\n }, [onOpen]);\n\n const hideTooltip = useCallback(() => {\n setShowPopover(false);\n onClose();\n }, [onClose]);\n\n const onFocus = useCallback(() => {\n setIsFocused(true);\n if (!showPopover) {\n showTooltip();\n setLatestOpenInteraction('onFocus');\n }\n }, [showPopover, showTooltip]);\n\n const onBlur = useCallback(() => {\n setIsFocused(false);\n if (!isHover || latestOpenInteraction === 'onFocus') hideTooltip();\n }, [hideTooltip, isHover, latestOpenInteraction]);\n\n const onMouseEnter = useCallback(() => {\n setIsHover(true);\n if (!showPopover) {\n showTooltip();\n setLatestOpenInteraction('onMouseEnter');\n }\n }, [showPopover, showTooltip]);\n\n const onMouseLeave = useCallback(() => {\n setIsHover(false);\n if (!isFocused || latestOpenInteraction === 'onMouseEnter') hideTooltip();\n }, [hideTooltip, isFocused, latestOpenInteraction]);\n\n const handleEscKey = useCallback(\n ({ key }: { key: string }) => {\n if (key === 'Escape') hideTooltip();\n },\n [hideTooltip],\n );\n\n useGlobalKeyboardListener(handleEscKey);\n return (\n <StyledTriggerWrapper\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onPointerEnter={onMouseEnter}\n onPointerLeave={onMouseLeave}\n onFocus={onFocus}\n onBlur={onBlur}\n ref={setReferenceElement}\n data-testid={`${TooltipV3DatatestId.TRIGGER_WRAPPER}${id !== '' ? `_${id}` : ''}`}\n >\n <DSPopperJS\n referenceElement={referenceElement}\n showPopover={showPopover}\n zIndex={theme.zIndex.tooltip}\n {...extraPopperJsProps}\n >\n <div data-testid={`${TooltipV3DatatestId.TOOLTIP_TEXT_WRAPPER}${id !== '' ? `_${id}` : ''}`}>\n <StyledTooltipContainer>\n <StyledTooltipText textAlign={textAlign} wrapWords={wrapWords}>\n {text}\n </StyledTooltipText>\n <StyledMouseOverDetectionBox />\n </StyledTooltipContainer>\n </div>\n </DSPopperJS>\n\n {children}\n </StyledTriggerWrapper>\n );\n};\n\nDSTooltipV3.propTypes = propTypes;\nDSTooltipV3.displayName = 'DSTooltipV3';\nconst DSTooltipV3WithSchema = describe(DSTooltipV3);\nDSTooltipV3WithSchema.propTypes = propTypes;\n\nexport { DSTooltipV3, DSTooltipV3WithSchema };\n\nexport default DSTooltipV3;\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,MAAM,cAAuD,CAAC,UAAU;AACtE,QACE,kCAAyD,OAAO,YAAY,GADtE,QAAM,UAAU,QAAQ,SAAS,IAAI,WAAW,cACtD,IADoE,+BACpE,IADoE,CAA9D,QAAM,YAAU,UAAQ,WAAS,MAAI,aAAW;AAGxD,QAAM,QAAQ,WAAW,YAAY;AAErC,QAAM,CAAC,WAAW,gBAAgB,SAAkB,KAAK;AACzD,QAAM,CAAC,SAAS,cAAc,SAAkB,KAAK;AACrD,QAAM,CAAC,uBAAuB,4BAA4B,SAAiB,EAAE;AAC7E,QAAM,CAAC,kBAAkB,uBAAuB,SAAiC;AACjF,QAAM,CAAC,aAAa,kBAAkB,SAAkB,KAAK;AAE7D,QAAM,cAAc,YAAY,MAAM;AACpC,mBAAe,IAAI;AACnB,WAAO;AAAA,EACT,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,cAAc,YAAY,MAAM;AACpC,mBAAe,KAAK;AACpB,YAAQ;AAAA,EACV,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,UAAU,YAAY,MAAM;AAChC,iBAAa,IAAI;AACjB,QAAI,CAAC,aAAa;AAChB,kBAAY;AACZ,+BAAyB,SAAS;AAAA,IACpC;AAAA,EACF,GAAG,CAAC,aAAa,WAAW,CAAC;AAE7B,QAAM,SAAS,YAAY,MAAM;AAC/B,iBAAa,KAAK;AAClB,QAAI,CAAC,WAAW,0BAA0B;AAAW,kBAAY;AAAA,EACnE,GAAG,CAAC,aAAa,SAAS,qBAAqB,CAAC;AAEhD,QAAM,eAAe,YAAY,MAAM;AACrC,eAAW,IAAI;AACf,QAAI,CAAC,aAAa;AAChB,kBAAY;AACZ,+BAAyB,cAAc;AAAA,IACzC;AAAA,EACF,GAAG,CAAC,aAAa,WAAW,CAAC;AAE7B,QAAM,eAAe,YAAY,MAAM;AACrC,eAAW,KAAK;AAChB,QAAI,CAAC,aAAa,0BAA0B;AAAgB,kBAAY;AAAA,EAC1E,GAAG,CAAC,aAAa,WAAW,qBAAqB,CAAC;AAElD,QAAM,eAAe,YACnB,CAAC,EAAE,UAA2B;AAC5B,QAAI,QAAQ;AAAU,kBAAY;AAAA,EACpC,GACA,CAAC,WAAW,CACd;AAEA,4BAA0B,YAAY;AACtC,SACE,qCAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL,eAAa,GAAG,oBAAoB,kBAAkB,OAAO,KAAK,IAAI,OAAO;AAAA,KAE7E,qCAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA,QAAQ,MAAM,OAAO;AAAA,KACjB,qBAEJ,qCAAC;AAAA,IAAI,eAAa,GAAG,oBAAoB,uBAAuB,OAAO,KAAK,IAAI,OAAO;AAAA,KACrF,qCAAC,8BACC,qCAAC;AAAA,IAAkB;AAAA,IAAsB;AAAA,KACtC,IACH,GACA,qCAAC,iCAA4B,CAC/B,CACF,CACF,GAEC,QACH;AAEJ;AAEA,YAAY,YAAY;AACxB,YAAY,cAAc;AAC1B,MAAM,wBAAwB,SAAS,WAAW;AAClD,sBAAsB,YAAY;AAIlC,IAAO,sBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/v3/styles.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/v3/styles.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import styled from '
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { styled } from '@elliemae/ds-system';\nimport type { DSTooltipV3T } from './propTypes';\n\ninterface StyledTooltipTextT {\n wrapWords: boolean;\n textAlign: DSTooltipV3T.TextAlignment;\n}\n\nexport const StyledTooltipContainer = styled.div`\n text-align: center;\n min-width: ${({ theme }) => theme.space.l};\n max-width: 250px;\n min-height: 30px;\n display: grid;\n align-items: center;\n padding: ${({ theme }) => `${theme.space.xxxs} ${theme.space.xs}`};\n position: relative;\n background-color: white;\n border-radius: 2px;\n font-size: 13px;\n color: ${({ theme }) => theme.colors.neutral[600]};\n`;\n\nexport const StyledTooltipText = styled.div<StyledTooltipTextT>`\n display: inline-block;\n text-align: ${({ textAlign }) => textAlign};\n word-wrap: break-word;\n ${({ wrapWords }) => (wrapWords ? `word-break: break-all;` : `white-space: normal;`)}\n`;\n\nexport const StyledMouseOverDetectionBox = styled.div`\n position: absolute;\n top: -15px;\n right: -15px;\n width: calc(100% + 30px);\n height: calc(100% + 30px);\n z-index: -1;\n`;\n\nexport const StyledTriggerWrapper = styled.div`\n display: inline-flex;\n width: 100%;\n`;\n"],
|
|
5
5
|
"mappings": "AAAA;ACAA;AAQO,MAAM,yBAAyB,OAAO;AAAA;AAAA,eAE9B,CAAC,EAAE,YAAY,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,aAK7B,CAAC,EAAE,YAAY,GAAG,MAAM,MAAM,QAAQ,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,WAKpD,CAAC,EAAE,YAAY,MAAM,OAAO,QAAQ;AAAA;AAGxC,MAAM,oBAAoB,OAAO;AAAA;AAAA,gBAExB,CAAC,EAAE,gBAAgB;AAAA;AAAA,IAE/B,CAAC,EAAE,gBAAiB,YAAY,2BAA2B;AAAA;AAGxD,MAAM,8BAA8B,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS3C,MAAM,uBAAuB,OAAO;AAAA;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-tooltip",
|
|
3
|
-
"version": "3.1.0-next.
|
|
3
|
+
"version": "3.1.0-next.11",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Tooltip",
|
|
6
6
|
"files": [
|
|
@@ -94,24 +94,16 @@
|
|
|
94
94
|
"reportFile": "tests.xml",
|
|
95
95
|
"indent": 4
|
|
96
96
|
},
|
|
97
|
-
"scripts": {
|
|
98
|
-
"dev": "cross-env NODE_ENV=development node ../../scripts/build/build.mjs --watch",
|
|
99
|
-
"test": "node ../../scripts/testing/test.mjs",
|
|
100
|
-
"lint": "node ../../scripts/lint.mjs",
|
|
101
|
-
"dts": "node ../../scripts/dts.mjs",
|
|
102
|
-
"build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs"
|
|
103
|
-
},
|
|
104
97
|
"dependencies": {
|
|
105
|
-
"@elliemae/ds-button": "3.1.0-next.
|
|
106
|
-
"@elliemae/ds-classnames": "3.1.0-next.
|
|
107
|
-
"@elliemae/ds-popper": "3.1.0-next.
|
|
108
|
-
"@elliemae/ds-popperjs": "3.1.0-next.
|
|
109
|
-
"@elliemae/ds-portal": "3.1.0-next.
|
|
110
|
-
"@elliemae/ds-shared": "3.1.0-next.
|
|
111
|
-
"@elliemae/ds-system": "3.1.0-next.
|
|
112
|
-
"@elliemae/ds-utilities": "3.1.0-next.
|
|
98
|
+
"@elliemae/ds-button": "3.1.0-next.11",
|
|
99
|
+
"@elliemae/ds-classnames": "3.1.0-next.11",
|
|
100
|
+
"@elliemae/ds-popper": "3.1.0-next.11",
|
|
101
|
+
"@elliemae/ds-popperjs": "3.1.0-next.11",
|
|
102
|
+
"@elliemae/ds-portal": "3.1.0-next.11",
|
|
103
|
+
"@elliemae/ds-shared": "3.1.0-next.11",
|
|
104
|
+
"@elliemae/ds-system": "3.1.0-next.11",
|
|
105
|
+
"@elliemae/ds-utilities": "3.1.0-next.11",
|
|
113
106
|
"@popperjs/core": "~2.9.3",
|
|
114
|
-
"react-desc": "~4.1.3",
|
|
115
107
|
"react-popper": "~2.2.5"
|
|
116
108
|
},
|
|
117
109
|
"devDependencies": {
|
|
@@ -130,5 +122,13 @@
|
|
|
130
122
|
"publishConfig": {
|
|
131
123
|
"access": "public",
|
|
132
124
|
"typeSafety": false
|
|
125
|
+
},
|
|
126
|
+
"scripts": {
|
|
127
|
+
"dev": "cross-env NODE_ENV=development node ../../scripts/build/build.mjs --watch",
|
|
128
|
+
"test": "node ../../scripts/testing/test.mjs",
|
|
129
|
+
"lint": "node ../../scripts/lint.mjs",
|
|
130
|
+
"dts": "node ../../scripts/dts.mjs",
|
|
131
|
+
"build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs",
|
|
132
|
+
"checkDeps": "npx -yes ../ds-codemods check-missing-packages --projectFolderPath=\"./\" --ignorePackagesGlobPattern=\"\" --ignoreFilesGlobPattern=\"**/test-ables/*,**/tests/*\""
|
|
133
133
|
}
|
|
134
|
-
}
|
|
134
|
+
}
|