@elliemae/ds-tooltip 3.56.0-rc.1 → 3.57.0-next.10
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 +6 -9
- package/dist/cjs/v1/DSTooltip.js.map +2 -2
- package/dist/cjs/v2/DSTooltip.js +7 -13
- package/dist/cjs/v2/DSTooltip.js.map +2 -2
- package/dist/esm/v1/DSTooltip.js +8 -11
- package/dist/esm/v1/DSTooltip.js.map +2 -2
- package/dist/esm/v2/DSTooltip.js +9 -15
- package/dist/esm/v2/DSTooltip.js.map +2 -2
- package/package.json +13 -13
package/dist/cjs/v1/DSTooltip.js
CHANGED
|
@@ -36,12 +36,15 @@ __export(DSTooltip_exports, {
|
|
|
36
36
|
});
|
|
37
37
|
module.exports = __toCommonJS(DSTooltip_exports);
|
|
38
38
|
var React = __toESM(require("react"));
|
|
39
|
-
var import_jsx_runtime =
|
|
39
|
+
var import_jsx_runtime = (
|
|
40
|
+
// @ts-ignore
|
|
41
|
+
require("react/jsx-runtime")
|
|
42
|
+
);
|
|
40
43
|
var import_react = __toESM(require("react"));
|
|
41
44
|
var import_ds_classnames = require("@elliemae/ds-classnames");
|
|
45
|
+
var import_ds_popper = require("@elliemae/ds-popper");
|
|
42
46
|
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
43
47
|
var import_ds_shared = require("@elliemae/ds-shared");
|
|
44
|
-
var import_ds_popper = require("@elliemae/ds-popper");
|
|
45
48
|
var import_TooltipType = require("./TooltipType.js");
|
|
46
49
|
const getComponentFromProps = (Component, props, children = []) => {
|
|
47
50
|
if (!Component) return null;
|
|
@@ -63,12 +66,6 @@ const TooltipContainer = (0, import_ds_classnames.aggregatedClasses)("div")(bloc
|
|
|
63
66
|
const TooltipText = (0, import_ds_classnames.aggregatedClasses)("span")(blockName, "text", {
|
|
64
67
|
propsToRemoveFromFinalElement: ["isHovered", "isDragged"]
|
|
65
68
|
});
|
|
66
|
-
const useDeprecateComponent = ({ componentName, version }) => {
|
|
67
|
-
(0, import_react.useEffect)(() => {
|
|
68
|
-
if (true)
|
|
69
|
-
console.warn(`Warning: ${componentName}:: this component will be deprecated in version: ${version}.`);
|
|
70
|
-
}, [componentName, version]);
|
|
71
|
-
};
|
|
72
69
|
const DSTooltip = ({
|
|
73
70
|
containerProps = {},
|
|
74
71
|
innerRef,
|
|
@@ -86,7 +83,7 @@ const DSTooltip = ({
|
|
|
86
83
|
zIndex,
|
|
87
84
|
...otherTooltipProps
|
|
88
85
|
}) => {
|
|
89
|
-
useDeprecateComponent({ componentName: "ds-tooltip", version: "TBD Date: 2023 Q3" });
|
|
86
|
+
(0, import_ds_props_helpers.useDeprecateComponent)({ componentName: "ds-tooltip", version: "TBD Date: 2023 Q3" });
|
|
90
87
|
const { cssClassName: tooltipBlockName } = (0, import_ds_classnames.convertPropToCssClassName)(blockName);
|
|
91
88
|
let Content = title;
|
|
92
89
|
if (typeof title === "string") {
|
|
@@ -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 eslint-comments/no-unlimited-disable */\n/* eslint-disable */\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\nimport type { PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { DSPopper, interactions, PopperInteractions, PopperPositions, positions } from '@elliemae/ds-popper';\nimport { describe, PropTypes, useDeprecateComponent } from '@elliemae/ds-props-helpers';\nimport { DEFAULT_DELAY_CLOSE, DEFAULT_DELAY_OPEN } from '@elliemae/ds-shared';\nimport { TooltipType } from './TooltipType.js';\n\nconst getComponentFromProps = <T,>(\n Component: React.ReactElement<PropsWithChildren<unknown>> | React.ComponentType<unknown>,\n props: T,\n children: React.ReactNode[] = [],\n) => {\n if (!Component) return null;\n const componentChildren =\n typeof Component !== 'function' && Component.props\n ? Array.isArray(Component.props.children)\n ? Component.props.children\n : [Component.props.children]\n : null;\n return typeof Component === 'function' ? (\n // @ts-ignore\n <Component {...props}>{children}</Component>\n ) : (\n React.cloneElement(\n Component,\n {\n ...Component.props,\n ...props,\n },\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n componentChildren ? [...componentChildren, ...children] : [...children],\n )\n );\n};\n\nconst blockName = 'tooltip';\n\nconst TooltipContainer: React.ForwardRefExoticComponent<\n React.RefAttributes<unknown> & {\n children: React.ReactNode;\n className?: string;\n innerRef: React.MutableRefObject<HTMLDivElement>;\n }\n> = aggregatedClasses('div')(blockName, null, {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\n\nconst TooltipText: React.ForwardRefExoticComponent<\n React.RefAttributes<unknown> & {\n children: React.ReactNode;\n }\n> = aggregatedClasses('span')(blockName, 'text', {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\n\ntype DSTooltipProps = {\n containerProps: object;\n innerRef: React.MutableRefObject<HTMLDivElement>;\n placement: string;\n title: string;\n delayClose: number;\n delayOpen: number;\n interactionType: string;\n triggerComponent: React.ReactElement;\n className: string;\n isOpen?: boolean;\n onOpen: () => null;\n tooltipType: string;\n showArrow: boolean;\n zIndex: number;\n};\n\ninterface Props {\n componentName: string;\n version: string;\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,\n className = '',\n isOpen = undefined,\n onOpen = () => null,\n tooltipType = TooltipType.TOOLTIP,\n showArrow = true,\n zIndex,\n ...otherTooltipProps\n}: DSTooltipProps) => {\n useDeprecateComponent({ componentName: 'ds-tooltip', version: 'TBD Date: 2023 Q3' });\n\n const { cssClassName: tooltipBlockName } = convertPropToCssClassName(blockName);\n\n let Content: React.ReactNode = 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 triggerComponent={getComponentFromProps(triggerComponent, {})}\n zIndex={zIndex}\n wrapExtraComponent={undefined}\n children={undefined}\n renderReference={undefined}\n referenceNode={undefined}\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} as React.WeakValidationMap<unknown>;\n\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": ["React"]
|
|
7
7
|
}
|
package/dist/cjs/v2/DSTooltip.js
CHANGED
|
@@ -34,24 +34,18 @@ __export(DSTooltip_exports, {
|
|
|
34
34
|
module.exports = __toCommonJS(DSTooltip_exports);
|
|
35
35
|
var React = __toESM(require("react"));
|
|
36
36
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
37
|
-
var import_react = require("react");
|
|
38
|
-
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
39
37
|
var import_ds_portal = require("@elliemae/ds-portal");
|
|
38
|
+
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
40
39
|
var import_ds_shared = require("@elliemae/ds-shared");
|
|
41
|
-
var import_react_popper = require("react-popper");
|
|
42
40
|
var import_ds_system = require("@elliemae/ds-system");
|
|
43
|
-
var
|
|
44
|
-
var
|
|
45
|
-
var import_styles = require("./styles.js");
|
|
41
|
+
var import_react = require("react");
|
|
42
|
+
var import_react_popper = require("react-popper");
|
|
46
43
|
var import_DSTooltipArrow = require("./DSTooltipArrow.js");
|
|
44
|
+
var import_TooltipType = require("./TooltipType.js");
|
|
47
45
|
var import_propTypes = require("./propTypes.js");
|
|
46
|
+
var import_styles = require("./styles.js");
|
|
48
47
|
var import_setMultipleRefs = require("./utils/setMultipleRefs.js");
|
|
49
|
-
|
|
50
|
-
(0, import_react.useEffect)(() => {
|
|
51
|
-
if (true)
|
|
52
|
-
console.warn(`Warning: ${componentName}:: this component will be deprecated in version: ${version}.`);
|
|
53
|
-
}, [componentName, version]);
|
|
54
|
-
};
|
|
48
|
+
var import_tooltipPositions = require("./utils/tooltipPositions.js");
|
|
55
49
|
const DSTooltipV2 = ({
|
|
56
50
|
containerProps = {},
|
|
57
51
|
innerRef,
|
|
@@ -69,7 +63,7 @@ const DSTooltipV2 = ({
|
|
|
69
63
|
zIndex,
|
|
70
64
|
extraModifiers = {}
|
|
71
65
|
}) => {
|
|
72
|
-
useDeprecateComponent({ componentName: "ds-tooltip-v2", version: "TBD Date: 2023 Q3" });
|
|
66
|
+
(0, import_ds_props_helpers.useDeprecateComponent)({ componentName: "ds-tooltip-v2", version: "TBD Date: 2023 Q3" });
|
|
73
67
|
const [showTooltip, setShowTooltip] = (0, import_react.useState)(false);
|
|
74
68
|
const [isAnimating, setIsAnimating] = (0, import_react.useState)(false);
|
|
75
69
|
const [referenceElement, setReferenceElement] = (0, import_react.useState)(triggerComponent);
|
|
@@ -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 eslint-comments/no-unlimited-disable */\n/* eslint-disable */\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\nimport { DSPortal } from '@elliemae/ds-portal';\nimport { describe, useDeprecateComponent } from '@elliemae/ds-props-helpers';\nimport { DEFAULT_DELAY_CLOSE, DEFAULT_DELAY_OPEN } from '@elliemae/ds-shared';\nimport { ThemeContext } from '@elliemae/ds-system';\nimport React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { usePopper } from 'react-popper';\nimport { DSTooltipArrow } from './DSTooltipArrow.js';\nimport { TooltipType } from './TooltipType.js';\nimport type { DSTooltipT } from './index.js';\nimport { tooltipV2Props } from './propTypes.js';\nimport {\n StyledAnimatedTooltip,\n StyledTooltipContainer,\n StyledTooltipText,\n StyledTriggerComponentContainer,\n} from './styles.js';\nimport { setMultipleRefs } from './utils/setMultipleRefs.js';\nimport { tooltipPositions } from './utils/tooltipPositions.js';\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 useDeprecateComponent({ componentName: 'ds-tooltip-v2', version: 'TBD Date: 2023 Q3' });\n\n const [showTooltip, setShowTooltip] = useState<boolean>(false);\n const [isAnimating, setIsAnimating] = useState<boolean>(false);\n const [referenceElement, setReferenceElement] = useState(triggerComponent);\n const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);\n const [arrowElement, setArrowElement] = useState<HTMLDivElement | null>(null);\n const timerOpen = useRef<NodeJS.Timeout>();\n const timerClosed = useRef<NodeJS.Timeout>();\n\n const { styles, attributes } = usePopper(referenceElement as HTMLElement | null, 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: React.KeyboardEvent) => {\n if (e.key === 'Escape') {\n (e.target as HTMLElement).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 innerRef={setReferenceElement as unknown as React.RefObject<HTMLDivElement>}\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 innerRef={(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.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/esm/v1/DSTooltip.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import React2
|
|
3
|
+
import React2 from "react";
|
|
4
4
|
import { aggregatedClasses, convertPropToCssClassName } from "@elliemae/ds-classnames";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { DSPopper, interactions, PopperInteractions, PopperPositions, positions } from "@elliemae/ds-popper";
|
|
6
|
+
import { describe, PropTypes, useDeprecateComponent } from "@elliemae/ds-props-helpers";
|
|
7
|
+
import { DEFAULT_DELAY_CLOSE, DEFAULT_DELAY_OPEN } from "@elliemae/ds-shared";
|
|
8
8
|
import { TooltipType } from "./TooltipType.js";
|
|
9
9
|
const getComponentFromProps = (Component, props, children = []) => {
|
|
10
10
|
if (!Component) return null;
|
|
11
11
|
const componentChildren = typeof Component !== "function" && Component.props ? Array.isArray(Component.props.children) ? Component.props.children : [Component.props.children] : null;
|
|
12
|
-
return typeof Component === "function" ?
|
|
12
|
+
return typeof Component === "function" ? (
|
|
13
|
+
// @ts-ignore
|
|
14
|
+
/* @__PURE__ */ jsx(Component, { ...props, children })
|
|
15
|
+
) : React2.cloneElement(
|
|
13
16
|
Component,
|
|
14
17
|
{
|
|
15
18
|
...Component.props,
|
|
@@ -26,12 +29,6 @@ const TooltipContainer = aggregatedClasses("div")(blockName, null, {
|
|
|
26
29
|
const TooltipText = aggregatedClasses("span")(blockName, "text", {
|
|
27
30
|
propsToRemoveFromFinalElement: ["isHovered", "isDragged"]
|
|
28
31
|
});
|
|
29
|
-
const useDeprecateComponent = ({ componentName, version }) => {
|
|
30
|
-
useEffect(() => {
|
|
31
|
-
if (true)
|
|
32
|
-
console.warn(`Warning: ${componentName}:: this component will be deprecated in version: ${version}.`);
|
|
33
|
-
}, [componentName, version]);
|
|
34
|
-
};
|
|
35
32
|
const DSTooltip = ({
|
|
36
33
|
containerProps = {},
|
|
37
34
|
innerRef,
|
|
@@ -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 eslint-comments/no-unlimited-disable */\n/* eslint-disable */\
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\nimport type { PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { DSPopper, interactions, PopperInteractions, PopperPositions, positions } from '@elliemae/ds-popper';\nimport { describe, PropTypes, useDeprecateComponent } from '@elliemae/ds-props-helpers';\nimport { DEFAULT_DELAY_CLOSE, DEFAULT_DELAY_OPEN } from '@elliemae/ds-shared';\nimport { TooltipType } from './TooltipType.js';\n\nconst getComponentFromProps = <T,>(\n Component: React.ReactElement<PropsWithChildren<unknown>> | React.ComponentType<unknown>,\n props: T,\n children: React.ReactNode[] = [],\n) => {\n if (!Component) return null;\n const componentChildren =\n typeof Component !== 'function' && Component.props\n ? Array.isArray(Component.props.children)\n ? Component.props.children\n : [Component.props.children]\n : null;\n return typeof Component === 'function' ? (\n // @ts-ignore\n <Component {...props}>{children}</Component>\n ) : (\n React.cloneElement(\n Component,\n {\n ...Component.props,\n ...props,\n },\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n componentChildren ? [...componentChildren, ...children] : [...children],\n )\n );\n};\n\nconst blockName = 'tooltip';\n\nconst TooltipContainer: React.ForwardRefExoticComponent<\n React.RefAttributes<unknown> & {\n children: React.ReactNode;\n className?: string;\n innerRef: React.MutableRefObject<HTMLDivElement>;\n }\n> = aggregatedClasses('div')(blockName, null, {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\n\nconst TooltipText: React.ForwardRefExoticComponent<\n React.RefAttributes<unknown> & {\n children: React.ReactNode;\n }\n> = aggregatedClasses('span')(blockName, 'text', {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\n\ntype DSTooltipProps = {\n containerProps: object;\n innerRef: React.MutableRefObject<HTMLDivElement>;\n placement: string;\n title: string;\n delayClose: number;\n delayOpen: number;\n interactionType: string;\n triggerComponent: React.ReactElement;\n className: string;\n isOpen?: boolean;\n onOpen: () => null;\n tooltipType: string;\n showArrow: boolean;\n zIndex: number;\n};\n\ninterface Props {\n componentName: string;\n version: string;\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,\n className = '',\n isOpen = undefined,\n onOpen = () => null,\n tooltipType = TooltipType.TOOLTIP,\n showArrow = true,\n zIndex,\n ...otherTooltipProps\n}: DSTooltipProps) => {\n useDeprecateComponent({ componentName: 'ds-tooltip', version: 'TBD Date: 2023 Q3' });\n\n const { cssClassName: tooltipBlockName } = convertPropToCssClassName(blockName);\n\n let Content: React.ReactNode = 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 triggerComponent={getComponentFromProps(triggerComponent, {})}\n zIndex={zIndex}\n wrapExtraComponent={undefined}\n children={undefined}\n renderReference={undefined}\n referenceNode={undefined}\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} as React.WeakValidationMap<unknown>;\n\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": ["React"]
|
|
7
7
|
}
|
package/dist/esm/v2/DSTooltip.js
CHANGED
|
@@ -1,28 +1,22 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useState, useCallback, useEffect, useRef, useContext } from "react";
|
|
4
|
-
import { describe } from "@elliemae/ds-props-helpers";
|
|
5
3
|
import { DSPortal } from "@elliemae/ds-portal";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { describe, useDeprecateComponent } from "@elliemae/ds-props-helpers";
|
|
5
|
+
import { DEFAULT_DELAY_CLOSE, DEFAULT_DELAY_OPEN } from "@elliemae/ds-shared";
|
|
8
6
|
import { ThemeContext } from "@elliemae/ds-system";
|
|
9
|
-
import {
|
|
7
|
+
import { useCallback, useContext, useEffect, useRef, useState } from "react";
|
|
8
|
+
import { usePopper } from "react-popper";
|
|
9
|
+
import { DSTooltipArrow } from "./DSTooltipArrow.js";
|
|
10
10
|
import { TooltipType } from "./TooltipType.js";
|
|
11
|
+
import { tooltipV2Props } from "./propTypes.js";
|
|
11
12
|
import {
|
|
13
|
+
StyledAnimatedTooltip,
|
|
12
14
|
StyledTooltipContainer,
|
|
13
|
-
StyledTriggerComponentContainer,
|
|
14
15
|
StyledTooltipText,
|
|
15
|
-
|
|
16
|
+
StyledTriggerComponentContainer
|
|
16
17
|
} from "./styles.js";
|
|
17
|
-
import { DSTooltipArrow } from "./DSTooltipArrow.js";
|
|
18
|
-
import { tooltipV2Props } from "./propTypes.js";
|
|
19
18
|
import { setMultipleRefs } from "./utils/setMultipleRefs.js";
|
|
20
|
-
|
|
21
|
-
useEffect(() => {
|
|
22
|
-
if (true)
|
|
23
|
-
console.warn(`Warning: ${componentName}:: this component will be deprecated in version: ${version}.`);
|
|
24
|
-
}, [componentName, version]);
|
|
25
|
-
};
|
|
19
|
+
import { tooltipPositions } from "./utils/tooltipPositions.js";
|
|
26
20
|
const DSTooltipV2 = ({
|
|
27
21
|
containerProps = {},
|
|
28
22
|
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 eslint-comments/no-unlimited-disable */\n/* eslint-disable */\
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\nimport { DSPortal } from '@elliemae/ds-portal';\nimport { describe, useDeprecateComponent } from '@elliemae/ds-props-helpers';\nimport { DEFAULT_DELAY_CLOSE, DEFAULT_DELAY_OPEN } from '@elliemae/ds-shared';\nimport { ThemeContext } from '@elliemae/ds-system';\nimport React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { usePopper } from 'react-popper';\nimport { DSTooltipArrow } from './DSTooltipArrow.js';\nimport { TooltipType } from './TooltipType.js';\nimport type { DSTooltipT } from './index.js';\nimport { tooltipV2Props } from './propTypes.js';\nimport {\n StyledAnimatedTooltip,\n StyledTooltipContainer,\n StyledTooltipText,\n StyledTriggerComponentContainer,\n} from './styles.js';\nimport { setMultipleRefs } from './utils/setMultipleRefs.js';\nimport { tooltipPositions } from './utils/tooltipPositions.js';\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 useDeprecateComponent({ componentName: 'ds-tooltip-v2', version: 'TBD Date: 2023 Q3' });\n\n const [showTooltip, setShowTooltip] = useState<boolean>(false);\n const [isAnimating, setIsAnimating] = useState<boolean>(false);\n const [referenceElement, setReferenceElement] = useState(triggerComponent);\n const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);\n const [arrowElement, setArrowElement] = useState<HTMLDivElement | null>(null);\n const timerOpen = useRef<NodeJS.Timeout>();\n const timerClosed = useRef<NodeJS.Timeout>();\n\n const { styles, attributes } = usePopper(referenceElement as HTMLElement | null, 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: React.KeyboardEvent) => {\n if (e.key === 'Escape') {\n (e.target as HTMLElement).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 innerRef={setReferenceElement as unknown as React.RefObject<HTMLDivElement>}\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 innerRef={(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.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-tooltip",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.57.0-next.10",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Tooltip",
|
|
6
6
|
"files": [
|
|
@@ -38,15 +38,15 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@popperjs/core": "~2.11.7",
|
|
40
40
|
"react-popper": "~2.3.0",
|
|
41
|
-
"@elliemae/ds-
|
|
42
|
-
"@elliemae/ds-
|
|
43
|
-
"@elliemae/ds-
|
|
44
|
-
"@elliemae/ds-
|
|
45
|
-
"@elliemae/ds-portal": "3.
|
|
46
|
-
"@elliemae/ds-props-helpers": "3.
|
|
47
|
-
"@elliemae/ds-shared": "3.
|
|
48
|
-
"@elliemae/ds-system": "3.
|
|
49
|
-
"@elliemae/ds-tooltip-v3": "3.
|
|
41
|
+
"@elliemae/ds-button": "3.57.0-next.10",
|
|
42
|
+
"@elliemae/ds-classnames": "3.57.0-next.10",
|
|
43
|
+
"@elliemae/ds-popperjs": "3.57.0-next.10",
|
|
44
|
+
"@elliemae/ds-popper": "3.57.0-next.10",
|
|
45
|
+
"@elliemae/ds-portal": "3.57.0-next.10",
|
|
46
|
+
"@elliemae/ds-props-helpers": "3.57.0-next.10",
|
|
47
|
+
"@elliemae/ds-shared": "3.57.0-next.10",
|
|
48
|
+
"@elliemae/ds-system": "3.57.0-next.10",
|
|
49
|
+
"@elliemae/ds-tooltip-v3": "3.57.0-next.10"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@elliemae/pui-cli": "9.0.0-next.65",
|
|
@@ -55,9 +55,9 @@
|
|
|
55
55
|
"react": "^18.3.1",
|
|
56
56
|
"react-dom": "^18.3.1",
|
|
57
57
|
"styled-components": "~5.3.9",
|
|
58
|
-
"@elliemae/ds-grid": "3.
|
|
59
|
-
"@elliemae/ds-monorepo-devops": "3.
|
|
60
|
-
"@elliemae/ds-test-utils": "3.
|
|
58
|
+
"@elliemae/ds-grid": "3.57.0-next.10",
|
|
59
|
+
"@elliemae/ds-monorepo-devops": "3.57.0-next.10",
|
|
60
|
+
"@elliemae/ds-test-utils": "3.57.0-next.10"
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"react": "^18.3.1",
|