@elliemae/ds-tooltip 3.37.0-rc.4 → 3.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/v1/DSTooltip.js +24 -4
- package/dist/cjs/v1/DSTooltip.js.map +3 -3
- package/dist/cjs/v2/DSTooltip.js +9 -3
- package/dist/cjs/v2/DSTooltip.js.map +2 -2
- package/dist/cjs/v3/DSTooltipV3.js +5 -4
- package/dist/cjs/v3/DSTooltipV3.js.map +2 -2
- package/dist/cjs/v3/react-desc-prop-types.js.map +2 -2
- package/dist/esm/v1/DSTooltip.js +22 -2
- package/dist/esm/v1/DSTooltip.js.map +3 -3
- package/dist/esm/v2/DSTooltip.js +8 -2
- package/dist/esm/v2/DSTooltip.js.map +2 -2
- package/dist/esm/v3/DSTooltipV3.js +2 -1
- package/dist/esm/v3/DSTooltipV3.js.map +2 -2
- package/dist/esm/v3/react-desc-prop-types.js.map +2 -2
- package/dist/types/v1/DSTooltip.d.ts +5 -0
- package/dist/types/v2/DSTooltip.d.ts +5 -0
- package/package.json +12 -12
package/dist/cjs/v1/DSTooltip.js
CHANGED
|
@@ -32,17 +32,31 @@ __export(DSTooltip_exports, {
|
|
|
32
32
|
TooltipContainer: () => TooltipContainer,
|
|
33
33
|
TooltipText: () => TooltipText,
|
|
34
34
|
TooltipWithSchema: () => TooltipWithSchema,
|
|
35
|
-
default: () => DSTooltip_default
|
|
35
|
+
default: () => DSTooltip_default,
|
|
36
|
+
useDeprecateComponent: () => useDeprecateComponent
|
|
36
37
|
});
|
|
37
38
|
module.exports = __toCommonJS(DSTooltip_exports);
|
|
38
39
|
var React = __toESM(require("react"));
|
|
39
40
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
41
|
+
var import_react = __toESM(require("react"));
|
|
40
42
|
var import_ds_classnames = require("@elliemae/ds-classnames");
|
|
41
|
-
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
42
43
|
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
43
44
|
var import_ds_shared = require("@elliemae/ds-shared");
|
|
44
45
|
var import_ds_popper = require("@elliemae/ds-popper");
|
|
45
46
|
var import_TooltipType = require("./TooltipType.js");
|
|
47
|
+
const getComponentFromProps = (Component, props, children = []) => {
|
|
48
|
+
if (!Component) return null;
|
|
49
|
+
const componentChildren = typeof Component !== "function" && Component.props ? Array.isArray(Component.props.children) ? Component.props.children : [Component.props.children] : null;
|
|
50
|
+
return typeof Component === "function" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, { ...props, children }) : import_react.default.cloneElement(
|
|
51
|
+
Component,
|
|
52
|
+
{
|
|
53
|
+
...Component.props,
|
|
54
|
+
...props
|
|
55
|
+
},
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
57
|
+
componentChildren ? [...componentChildren, ...children] : [...children]
|
|
58
|
+
);
|
|
59
|
+
};
|
|
46
60
|
const blockName = "tooltip";
|
|
47
61
|
const TooltipContainer = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, null, {
|
|
48
62
|
propsToRemoveFromFinalElement: ["isHovered", "isDragged"]
|
|
@@ -50,6 +64,12 @@ const TooltipContainer = (0, import_ds_classnames.aggregatedClasses)("div")(bloc
|
|
|
50
64
|
const TooltipText = (0, import_ds_classnames.aggregatedClasses)("span")(blockName, "text", {
|
|
51
65
|
propsToRemoveFromFinalElement: ["isHovered", "isDragged"]
|
|
52
66
|
});
|
|
67
|
+
const useDeprecateComponent = ({ componentName, version }) => {
|
|
68
|
+
(0, import_react.useEffect)(() => {
|
|
69
|
+
if (true)
|
|
70
|
+
console.error(`Warning: ${componentName}:: this component will be deprecated in version: ${version}.`);
|
|
71
|
+
}, [componentName, version]);
|
|
72
|
+
};
|
|
53
73
|
const DSTooltip = ({
|
|
54
74
|
containerProps = {},
|
|
55
75
|
innerRef,
|
|
@@ -67,7 +87,7 @@ const DSTooltip = ({
|
|
|
67
87
|
zIndex,
|
|
68
88
|
...otherTooltipProps
|
|
69
89
|
}) => {
|
|
70
|
-
|
|
90
|
+
useDeprecateComponent({ componentName: "ds-tooltip", version: "TBD Date: 2023 Q3" });
|
|
71
91
|
const { cssClassName: tooltipBlockName } = (0, import_ds_classnames.convertPropToCssClassName)(blockName);
|
|
72
92
|
let Content = title;
|
|
73
93
|
if (typeof title === "string") {
|
|
@@ -94,7 +114,7 @@ const DSTooltip = ({
|
|
|
94
114
|
onOpen,
|
|
95
115
|
placement,
|
|
96
116
|
showArrow: tooltipType === import_TooltipType.TooltipType.TOOLTIP ? showArrow : false,
|
|
97
|
-
triggerComponent:
|
|
117
|
+
triggerComponent: getComponentFromProps(triggerComponent, {}),
|
|
98
118
|
zIndex,
|
|
99
119
|
wrapExtraComponent: void 0,
|
|
100
120
|
children: void 0,
|
|
@@ -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 */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport React from 'react';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
6
|
-
"names": []
|
|
4
|
+
"sourcesContent": ["/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport React, { useEffect } from 'react';\nimport type { PropsWithChildren } from 'react';\n\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { describe, PropTypes } from '@elliemae/ds-props-helpers';\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.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 <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\nexport const useDeprecateComponent = ({ componentName, version }: Props) => {\n useEffect(() => {\n if (process.env.NODE_ENV !== 'production')\n console.error(`Warning: ${componentName}:: this component will be deprecated in version: ${version}.`);\n }, [componentName, version]);\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
|
+
"names": ["React"]
|
|
7
7
|
}
|
package/dist/cjs/v2/DSTooltip.js
CHANGED
|
@@ -29,13 +29,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
29
29
|
var DSTooltip_exports = {};
|
|
30
30
|
__export(DSTooltip_exports, {
|
|
31
31
|
DSTooltipV2: () => DSTooltipV2,
|
|
32
|
-
TooltipV2WithSchema: () => TooltipV2WithSchema
|
|
32
|
+
TooltipV2WithSchema: () => TooltipV2WithSchema,
|
|
33
|
+
useDeprecateComponent: () => useDeprecateComponent
|
|
33
34
|
});
|
|
34
35
|
module.exports = __toCommonJS(DSTooltip_exports);
|
|
35
36
|
var React = __toESM(require("react"));
|
|
36
37
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
37
38
|
var import_react = require("react");
|
|
38
|
-
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
39
39
|
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
40
40
|
var import_ds_portal = require("@elliemae/ds-portal");
|
|
41
41
|
var import_ds_shared = require("@elliemae/ds-shared");
|
|
@@ -47,6 +47,12 @@ var import_styles = require("./styles.js");
|
|
|
47
47
|
var import_DSTooltipArrow = require("./DSTooltipArrow.js");
|
|
48
48
|
var import_propTypes = require("./propTypes.js");
|
|
49
49
|
var import_setMultipleRefs = require("./utils/setMultipleRefs.js");
|
|
50
|
+
const useDeprecateComponent = ({ componentName, version }) => {
|
|
51
|
+
(0, import_react.useEffect)(() => {
|
|
52
|
+
if (true)
|
|
53
|
+
console.error(`Warning: ${componentName}:: this component will be deprecated in version: ${version}.`);
|
|
54
|
+
}, [componentName, version]);
|
|
55
|
+
};
|
|
50
56
|
const DSTooltipV2 = ({
|
|
51
57
|
containerProps = {},
|
|
52
58
|
innerRef,
|
|
@@ -64,7 +70,7 @@ const DSTooltipV2 = ({
|
|
|
64
70
|
zIndex,
|
|
65
71
|
extraModifiers = {}
|
|
66
72
|
}) => {
|
|
67
|
-
|
|
73
|
+
useDeprecateComponent({ componentName: "ds-tooltip-v2", version: "TBD Date: 2023 Q3" });
|
|
68
74
|
const [showTooltip, setShowTooltip] = (0, import_react.useState)(false);
|
|
69
75
|
const [isAnimating, setIsAnimating] = (0, import_react.useState)(false);
|
|
70
76
|
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 */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport React, { useState, useCallback, useEffect, useRef, useContext } from 'react';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport React, { useState, useCallback, useEffect, useRef, useContext } from 'react';\nimport { describe } from '@elliemae/ds-props-helpers';\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.js';\nimport { TooltipType } from './TooltipType.js';\nimport {\n StyledTooltipContainer,\n StyledTriggerComponentContainer,\n StyledTooltipText,\n StyledAnimatedTooltip,\n} from './styles.js';\nimport { DSTooltipArrow } from './DSTooltipArrow.js';\nimport type { DSTooltipT } from './index.js';\nimport { tooltipV2Props } from './propTypes.js';\nimport { setMultipleRefs } from './utils/setMultipleRefs.js';\n\ninterface Props {\n componentName: string;\n version: string;\n}\n\nexport const useDeprecateComponent = ({ componentName, version }: Props) => {\n useEffect(() => {\n if (process.env.NODE_ENV !== 'production')\n console.error(`Warning: ${componentName}:: this component will be deprecated in version: ${version}.`);\n }, [componentName, version]);\n};\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
|
}
|
|
@@ -37,17 +37,18 @@ var React = __toESM(require("react"));
|
|
|
37
37
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
38
38
|
var import_react = __toESM(require("react"));
|
|
39
39
|
var import_ds_popperjs = require("@elliemae/ds-popperjs");
|
|
40
|
-
var
|
|
40
|
+
var import_ds_hooks_headless_tooltip = require("@elliemae/ds-hooks-headless-tooltip");
|
|
41
|
+
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
41
42
|
var import_ds_system = require("@elliemae/ds-system");
|
|
42
43
|
var import_react_desc_prop_types = require("./react-desc-prop-types.js");
|
|
43
44
|
var import_TooltipV3DatatestId = require("./TooltipV3DatatestId.js");
|
|
44
45
|
var import_defaultProps = require("./defaultProps.js");
|
|
45
46
|
var import_styles = require("./styles.js");
|
|
46
47
|
const DSTooltipV3 = (props) => {
|
|
47
|
-
const { text, children, onOpen, onClose, id, textAlign, wrapWords, ...extraPopperJsProps } = (0,
|
|
48
|
+
const { text, children, onOpen, onClose, id, textAlign, wrapWords, ...extraPopperJsProps } = (0, import_ds_props_helpers.useMemoMergePropsWithDefault)(props, import_defaultProps.defaultProps);
|
|
48
49
|
const theme = (0, import_react.useContext)(import_ds_system.ThemeContext);
|
|
49
50
|
const config = import_react.default.useMemo(() => ({ onOpen, onClose }), [onOpen, onClose]);
|
|
50
|
-
const tooltipHelpers = (0,
|
|
51
|
+
const tooltipHelpers = (0, import_ds_hooks_headless_tooltip.useHeadlessTooltip)(config);
|
|
51
52
|
import_react.default.useEffect(() => {
|
|
52
53
|
if (extraPopperJsProps.showPopover === false) {
|
|
53
54
|
tooltipHelpers.hideTooltip();
|
|
@@ -84,7 +85,7 @@ const DSTooltipV3 = (props) => {
|
|
|
84
85
|
);
|
|
85
86
|
};
|
|
86
87
|
DSTooltipV3.displayName = "DSTooltipV3";
|
|
87
|
-
const DSTooltipV3WithSchema = (0,
|
|
88
|
+
const DSTooltipV3WithSchema = (0, import_ds_props_helpers.describe)(DSTooltipV3);
|
|
88
89
|
DSTooltipV3WithSchema.propTypes = import_react_desc_prop_types.propTypes;
|
|
89
90
|
var DSTooltipV3_default = DSTooltipV3;
|
|
90
91
|
//# sourceMappingURL=DSTooltipV3.js.map
|
|
@@ -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, { useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { useMemoMergePropsWithDefault, describe
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { useHeadlessTooltip } from '@elliemae/ds-hooks-headless-tooltip';\nimport { useMemoMergePropsWithDefault, describe } from '@elliemae/ds-props-helpers';\nimport { ThemeContext } from '@elliemae/ds-system';\nimport { propTypes } from './react-desc-prop-types.js';\nimport { TooltipV3DatatestId } from './TooltipV3DatatestId.js';\nimport { defaultProps } from './defaultProps.js';\nimport {\n StyledTooltipContainer,\n StyledTooltipText,\n StyledMouseOverDetectionBox,\n StyledTriggerWrapper,\n} from './styles.js';\nimport type { DSTooltipV3T } from './react-desc-prop-types.js';\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 const config = React.useMemo(() => ({ onOpen, onClose }), [onOpen, onClose]);\n const tooltipHelpers = useHeadlessTooltip(config);\n\n React.useEffect(() => {\n if (extraPopperJsProps.showPopover === false) {\n tooltipHelpers.hideTooltip();\n }\n }, [extraPopperJsProps.showPopover, tooltipHelpers]);\n return (\n <StyledTriggerWrapper\n onMouseEnter={tooltipHelpers.onMouseEnter}\n onMouseLeave={tooltipHelpers.onMouseLeave}\n onPointerEnter={tooltipHelpers.onMouseEnter}\n onPointerLeave={tooltipHelpers.onMouseLeave}\n onFocus={tooltipHelpers.onFocus}\n onBlur={tooltipHelpers.onBlur}\n innerRef={tooltipHelpers.setReferenceElement}\n data-testid={`${TooltipV3DatatestId.TRIGGER_WRAPPER}${id !== '' ? `_${id}` : ''}`}\n >\n <DSPopperJS\n referenceElement={tooltipHelpers.referenceElement}\n showPopover={tooltipHelpers.shouldShowPopover}\n zIndex={theme.zIndex.tooltip}\n {...extraPopperJsProps}\n >\n <div data-testid={`${TooltipV3DatatestId.TOOLTIP_TEXT_WRAPPER}${id !== '' ? `_${id}` : ''}`}>\n <StyledTooltipContainer>\n <StyledTooltipText aria-label={text} 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.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;ADgDb;AA/CV,mBAAkC;AAClC,yBAA2B;AAC3B,uCAAmC;AACnC,8BAAuD;AACvD,uBAA6B;AAC7B,mCAA0B;AAC1B,iCAAoC;AACpC,0BAA6B;AAC7B,oBAKO;AAGP,MAAM,cAAuD,CAAC,UAAU;AACtE,QAAM,EAAE,MAAM,UAAU,QAAQ,SAAS,IAAI,WAAW,WAAW,GAAG,mBAAmB,QACvF,sDAAyD,OAAO,gCAAY;AAE9E,QAAM,YAAQ,yBAAW,6BAAY;AACrC,QAAM,SAAS,aAAAA,QAAM,QAAQ,OAAO,EAAE,QAAQ,QAAQ,IAAI,CAAC,QAAQ,OAAO,CAAC;AAC3E,QAAM,qBAAiB,qDAAmB,MAAM;AAEhD,eAAAA,QAAM,UAAU,MAAM;AACpB,QAAI,mBAAmB,gBAAgB,OAAO;AAC5C,qBAAe,YAAY;AAAA,IAC7B;AAAA,EACF,GAAG,CAAC,mBAAmB,aAAa,cAAc,CAAC;AACnD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAc,eAAe;AAAA,MAC7B,cAAc,eAAe;AAAA,MAC7B,gBAAgB,eAAe;AAAA,MAC/B,gBAAgB,eAAe;AAAA,MAC/B,SAAS,eAAe;AAAA,MACxB,QAAQ,eAAe;AAAA,MACvB,UAAU,eAAe;AAAA,MACzB,eAAa,GAAG,+CAAoB,eAAe,GAAG,OAAO,KAAK,IAAI,EAAE,KAAK,EAAE;AAAA,MAE/E;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,kBAAkB,eAAe;AAAA,YACjC,aAAa,eAAe;AAAA,YAC5B,QAAQ,MAAM,OAAO;AAAA,YACpB,GAAG;AAAA,YAEJ,sDAAC,SAAI,eAAa,GAAG,+CAAoB,oBAAoB,GAAG,OAAO,KAAK,IAAI,EAAE,KAAK,EAAE,IACvF,uDAAC,wCACC;AAAA,0DAAC,mCAAkB,cAAY,MAAM,WAAsB,WACxD,gBACH;AAAA,cACA,4CAAC,6CAA4B;AAAA,eAC/B,GACF;AAAA;AAAA,QACF;AAAA,QAEC;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,YAAY,cAAc;AAC1B,MAAM,4BAAwB,kCAAS,WAAW;AAClD,sBAAsB,YAAY;AAIlC,IAAO,sBAAQ;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/v3/react-desc-prop-types.ts", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import type { WeakValidationMap } from 'react';\nimport type {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["import type { WeakValidationMap } from 'react';\nimport type { GlobalAttributesT } from '@elliemae/ds-props-helpers';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { PLACEMENT, TEXT_ALIGNMENT } from './constants.js';\n\nexport declare namespace DSTooltipV3T {\n export type Placement =\n | 'top-start'\n | 'top'\n | 'top-end'\n | 'right-start'\n | 'right'\n | 'right-end'\n | 'bottom-end'\n | 'bottom'\n | 'bottom-start'\n | 'left-end'\n | 'left'\n | 'left-start';\n export type TextAlignment = 'left' | 'right' | 'center' | 'justify' | 'initial' | 'inherit';\n\n export interface DefaultProps {\n onOpen: () => void;\n onClose: () => void;\n id: string;\n textAlign: TextAlignment;\n wrapWords: boolean;\n }\n\n export interface OptionalProps {\n zIndex?: number;\n ariaLabel?: string;\n withoutPortal?: boolean;\n withoutArrow?: boolean;\n withoutAnimation?: boolean;\n boundaryElement?: HTMLElement;\n animationDuration?: number;\n portalDOMContainer?: HTMLElement;\n startPlacementPreference?: Placement;\n placementOrderPreference?: Placement[];\n customOffset?: [number, number];\n modifiers?: Record<string, unknown>[];\n showPopover?: boolean;\n }\n\n export interface RequiredProps {\n children: React.ReactNode;\n text: string;\n }\n export interface InternalProps\n extends DefaultProps,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof RequiredProps>,\n // XstyledProps,\n RequiredProps {}\n\n export interface Props\n extends Partial<DefaultProps>,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof RequiredProps>,\n // XstyledProps,\n RequiredProps {}\n}\n\nexport const propTypes = {\n text: PropTypes.string.description('Tooltip text to be displayed on hover/focus').isRequired,\n textAlign: PropTypes.oneOf(TEXT_ALIGNMENT as unknown as unknown[])\n .description('Tooltip text alignment')\n .defaultValue('left'),\n wrapWords: PropTypes.bool\n .description('Break words into a new line. Useful when words exceed tooltip max-lenght.')\n .defaultValue(false),\n children: PropTypes.node.description('Element to tie the tooltip to, must be a single node').isRequired,\n withoutPortal: PropTypes.bool\n .description('Whether or not the tooltip content should appear in a DOM portal or not')\n .defaultValue(true),\n withoutArrow: PropTypes.bool.description('Whether or not the tooltip should use the arrow').defaultValue(false),\n boundaryElement: PropTypes.element\n .description(\n 'Bounding element to calculate upon, defaults to \"clippingParents\",' +\n 'which are the scrolling containers that may cause element to be partially or fully cut off',\n )\n .defaultValue(undefined),\n withoutAnimation: PropTypes.bool\n .description('Whether or not the popper context menu should be animated')\n .defaultValue(false),\n animationDuration: PropTypes.number.description('Popper context menus Animation duration in ms').defaultValue(100),\n portalDOMContainer: PropTypes.oneOfType([PropTypes.node, PropTypes.oneOf([null])])\n .description('When using portal, the container in which to append the DOM content, defaults to document body')\n .defaultValue(undefined),\n startPlacementPreference: PropTypes.oneOf(PLACEMENT)\n .description('start placement preferences, as per popperjs placement option')\n .defaultValue(\"'top'\"),\n placementOrderPreference: PropTypes.arrayOf(PropTypes.oneOf(PLACEMENT))\n .description('Array of placement preferences, as per popperjs \"flip\" placement option')\n .defaultValue(\"['top', 'bottom', 'left', 'right']\"),\n zIndex: PropTypes.number.description('popperjs content z-index').defaultValue(1),\n customOffset: PropTypes.arrayOf(PropTypes.number).description('placement offset array').defaultValue([0, 14]),\n modifiers: PropTypes.array\n .description('modifiers array for full-custom tooltip-js override, https://popper.js.org/docs/v2/modifiers/')\n .defaultValue(1),\n id: PropTypes.string.description('Optional id appended to data-testid').defaultValue(''),\n onOpen: PropTypes.func.description('Optional callback to be invoked when the tooltip opens').defaultValue('() => {}'),\n onClose: PropTypes.func\n .description('Optional callback to be invoked when the tooltip closes')\n .defaultValue('() => {}'),\n} as WeakValidationMap<unknown>;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,8BAA0B;AAC1B,uBAA0C;AA6DnC,MAAM,YAAY;AAAA,EACvB,MAAM,kCAAU,OAAO,YAAY,6CAA6C,EAAE;AAAA,EAClF,WAAW,kCAAU,MAAM,+BAAsC,EAC9D,YAAY,wBAAwB,EACpC,aAAa,MAAM;AAAA,EACtB,WAAW,kCAAU,KAClB,YAAY,2EAA2E,EACvF,aAAa,KAAK;AAAA,EACrB,UAAU,kCAAU,KAAK,YAAY,sDAAsD,EAAE;AAAA,EAC7F,eAAe,kCAAU,KACtB,YAAY,yEAAyE,EACrF,aAAa,IAAI;AAAA,EACpB,cAAc,kCAAU,KAAK,YAAY,iDAAiD,EAAE,aAAa,KAAK;AAAA,EAC9G,iBAAiB,kCAAU,QACxB;AAAA,IACC;AAAA,EAEF,EACC,aAAa,MAAS;AAAA,EACzB,kBAAkB,kCAAU,KACzB,YAAY,2DAA2D,EACvE,aAAa,KAAK;AAAA,EACrB,mBAAmB,kCAAU,OAAO,YAAY,+CAA+C,EAAE,aAAa,GAAG;AAAA,EACjH,oBAAoB,kCAAU,UAAU,CAAC,kCAAU,MAAM,kCAAU,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAC9E,YAAY,gGAAgG,EAC5G,aAAa,MAAS;AAAA,EACzB,0BAA0B,kCAAU,MAAM,0BAAS,EAChD,YAAY,+DAA+D,EAC3E,aAAa,OAAO;AAAA,EACvB,0BAA0B,kCAAU,QAAQ,kCAAU,MAAM,0BAAS,CAAC,EACnE,YAAY,yEAAyE,EACrF,aAAa,oCAAoC;AAAA,EACpD,QAAQ,kCAAU,OAAO,YAAY,0BAA0B,EAAE,aAAa,CAAC;AAAA,EAC/E,cAAc,kCAAU,QAAQ,kCAAU,MAAM,EAAE,YAAY,wBAAwB,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC;AAAA,EAC5G,WAAW,kCAAU,MAClB,YAAY,+FAA+F,EAC3G,aAAa,CAAC;AAAA,EACjB,IAAI,kCAAU,OAAO,YAAY,qCAAqC,EAAE,aAAa,EAAE;AAAA,EACvF,QAAQ,kCAAU,KAAK,YAAY,wDAAwD,EAAE,aAAa,UAAU;AAAA,EACpH,SAAS,kCAAU,KAChB,YAAY,yDAAyD,EACrE,aAAa,UAAU;AAC5B;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/v1/DSTooltip.js
CHANGED
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import React2, { useEffect } from "react";
|
|
3
4
|
import { aggregatedClasses, convertPropToCssClassName } from "@elliemae/ds-classnames";
|
|
4
|
-
import { getComponentFromProps, useDeprecateComponent } from "@elliemae/ds-utilities";
|
|
5
5
|
import { describe, PropTypes } from "@elliemae/ds-props-helpers";
|
|
6
6
|
import { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from "@elliemae/ds-shared";
|
|
7
7
|
import { DSPopper, PopperPositions, PopperInteractions, interactions, positions } from "@elliemae/ds-popper";
|
|
8
8
|
import { TooltipType } from "./TooltipType.js";
|
|
9
|
+
const getComponentFromProps = (Component, props, children = []) => {
|
|
10
|
+
if (!Component) return null;
|
|
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" ? /* @__PURE__ */ jsx(Component, { ...props, children }) : React2.cloneElement(
|
|
13
|
+
Component,
|
|
14
|
+
{
|
|
15
|
+
...Component.props,
|
|
16
|
+
...props
|
|
17
|
+
},
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
19
|
+
componentChildren ? [...componentChildren, ...children] : [...children]
|
|
20
|
+
);
|
|
21
|
+
};
|
|
9
22
|
const blockName = "tooltip";
|
|
10
23
|
const TooltipContainer = aggregatedClasses("div")(blockName, null, {
|
|
11
24
|
propsToRemoveFromFinalElement: ["isHovered", "isDragged"]
|
|
@@ -13,6 +26,12 @@ const TooltipContainer = aggregatedClasses("div")(blockName, null, {
|
|
|
13
26
|
const TooltipText = aggregatedClasses("span")(blockName, "text", {
|
|
14
27
|
propsToRemoveFromFinalElement: ["isHovered", "isDragged"]
|
|
15
28
|
});
|
|
29
|
+
const useDeprecateComponent = ({ componentName, version }) => {
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
if (true)
|
|
32
|
+
console.error(`Warning: ${componentName}:: this component will be deprecated in version: ${version}.`);
|
|
33
|
+
}, [componentName, version]);
|
|
34
|
+
};
|
|
16
35
|
const DSTooltip = ({
|
|
17
36
|
containerProps = {},
|
|
18
37
|
innerRef,
|
|
@@ -96,6 +115,7 @@ export {
|
|
|
96
115
|
TooltipContainer,
|
|
97
116
|
TooltipText,
|
|
98
117
|
TooltipWithSchema,
|
|
99
|
-
DSTooltip_default as default
|
|
118
|
+
DSTooltip_default as default,
|
|
119
|
+
useDeprecateComponent
|
|
100
120
|
};
|
|
101
121
|
//# sourceMappingURL=DSTooltip.js.map
|
|
@@ -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 */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport React from 'react';\nimport {
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
6
|
-
"names": []
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport React, { useEffect } from 'react';\nimport type { PropsWithChildren } from 'react';\n\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { describe, PropTypes } from '@elliemae/ds-props-helpers';\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.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 <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\nexport const useDeprecateComponent = ({ componentName, version }: Props) => {\n useEffect(() => {\n if (process.env.NODE_ENV !== 'production')\n console.error(`Warning: ${componentName}:: this component will be deprecated in version: ${version}.`);\n }, [componentName, version]);\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
|
+
"names": ["React"]
|
|
7
7
|
}
|
package/dist/esm/v2/DSTooltip.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useState, useCallback, useEffect, useRef, useContext } from "react";
|
|
4
|
-
import { useDeprecateComponent } from "@elliemae/ds-utilities";
|
|
5
4
|
import { describe } from "@elliemae/ds-props-helpers";
|
|
6
5
|
import { DSPortal } from "@elliemae/ds-portal";
|
|
7
6
|
import { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from "@elliemae/ds-shared";
|
|
@@ -18,6 +17,12 @@ import {
|
|
|
18
17
|
import { DSTooltipArrow } from "./DSTooltipArrow.js";
|
|
19
18
|
import { tooltipV2Props } from "./propTypes.js";
|
|
20
19
|
import { setMultipleRefs } from "./utils/setMultipleRefs.js";
|
|
20
|
+
const useDeprecateComponent = ({ componentName, version }) => {
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
if (true)
|
|
23
|
+
console.error(`Warning: ${componentName}:: this component will be deprecated in version: ${version}.`);
|
|
24
|
+
}, [componentName, version]);
|
|
25
|
+
};
|
|
21
26
|
const DSTooltipV2 = ({
|
|
22
27
|
containerProps = {},
|
|
23
28
|
innerRef,
|
|
@@ -143,6 +148,7 @@ const TooltipV2WithSchema = describe(DSTooltipV2);
|
|
|
143
148
|
TooltipV2WithSchema.propTypes = tooltipV2Props;
|
|
144
149
|
export {
|
|
145
150
|
DSTooltipV2,
|
|
146
|
-
TooltipV2WithSchema
|
|
151
|
+
TooltipV2WithSchema,
|
|
152
|
+
useDeprecateComponent
|
|
147
153
|
};
|
|
148
154
|
//# sourceMappingURL=DSTooltip.js.map
|
|
@@ -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 */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport React, { useState, useCallback, useEffect, useRef, useContext } from 'react';\nimport {
|
|
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 */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport React, { useState, useCallback, useEffect, useRef, useContext } from 'react';\nimport { describe } from '@elliemae/ds-props-helpers';\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.js';\nimport { TooltipType } from './TooltipType.js';\nimport {\n StyledTooltipContainer,\n StyledTriggerComponentContainer,\n StyledTooltipText,\n StyledAnimatedTooltip,\n} from './styles.js';\nimport { DSTooltipArrow } from './DSTooltipArrow.js';\nimport type { DSTooltipT } from './index.js';\nimport { tooltipV2Props } from './propTypes.js';\nimport { setMultipleRefs } from './utils/setMultipleRefs.js';\n\ninterface Props {\n componentName: string;\n version: string;\n}\n\nexport const useDeprecateComponent = ({ componentName, version }: Props) => {\n useEffect(() => {\n if (process.env.NODE_ENV !== 'production')\n console.error(`Warning: ${componentName}:: this component will be deprecated in version: ${version}.`);\n }, [componentName, version]);\n};\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
|
}
|
|
@@ -2,7 +2,8 @@ import * as React from "react";
|
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import React2, { useContext } from "react";
|
|
4
4
|
import { DSPopperJS } from "@elliemae/ds-popperjs";
|
|
5
|
-
import {
|
|
5
|
+
import { useHeadlessTooltip } from "@elliemae/ds-hooks-headless-tooltip";
|
|
6
|
+
import { useMemoMergePropsWithDefault, describe } from "@elliemae/ds-props-helpers";
|
|
6
7
|
import { ThemeContext } from "@elliemae/ds-system";
|
|
7
8
|
import { propTypes } from "./react-desc-prop-types.js";
|
|
8
9
|
import { TooltipV3DatatestId } from "./TooltipV3DatatestId.js";
|
|
@@ -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, { useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { useMemoMergePropsWithDefault, describe
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { useHeadlessTooltip } from '@elliemae/ds-hooks-headless-tooltip';\nimport { useMemoMergePropsWithDefault, describe } from '@elliemae/ds-props-helpers';\nimport { ThemeContext } from '@elliemae/ds-system';\nimport { propTypes } from './react-desc-prop-types.js';\nimport { TooltipV3DatatestId } from './TooltipV3DatatestId.js';\nimport { defaultProps } from './defaultProps.js';\nimport {\n StyledTooltipContainer,\n StyledTooltipText,\n StyledMouseOverDetectionBox,\n StyledTriggerWrapper,\n} from './styles.js';\nimport type { DSTooltipV3T } from './react-desc-prop-types.js';\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 const config = React.useMemo(() => ({ onOpen, onClose }), [onOpen, onClose]);\n const tooltipHelpers = useHeadlessTooltip(config);\n\n React.useEffect(() => {\n if (extraPopperJsProps.showPopover === false) {\n tooltipHelpers.hideTooltip();\n }\n }, [extraPopperJsProps.showPopover, tooltipHelpers]);\n return (\n <StyledTriggerWrapper\n onMouseEnter={tooltipHelpers.onMouseEnter}\n onMouseLeave={tooltipHelpers.onMouseLeave}\n onPointerEnter={tooltipHelpers.onMouseEnter}\n onPointerLeave={tooltipHelpers.onMouseLeave}\n onFocus={tooltipHelpers.onFocus}\n onBlur={tooltipHelpers.onBlur}\n innerRef={tooltipHelpers.setReferenceElement}\n data-testid={`${TooltipV3DatatestId.TRIGGER_WRAPPER}${id !== '' ? `_${id}` : ''}`}\n >\n <DSPopperJS\n referenceElement={tooltipHelpers.referenceElement}\n showPopover={tooltipHelpers.shouldShowPopover}\n zIndex={theme.zIndex.tooltip}\n {...extraPopperJsProps}\n >\n <div data-testid={`${TooltipV3DatatestId.TOOLTIP_TEXT_WRAPPER}${id !== '' ? `_${id}` : ''}`}>\n <StyledTooltipContainer>\n <StyledTooltipText aria-label={text} 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.displayName = 'DSTooltipV3';\nconst DSTooltipV3WithSchema = describe(DSTooltipV3);\nDSTooltipV3WithSchema.propTypes = propTypes;\n\nexport { DSTooltipV3, DSTooltipV3WithSchema };\n\nexport default DSTooltipV3;\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACgDb,SACE,KADF;AA/CV,OAAOA,UAAS,kBAAkB;AAClC,SAAS,kBAAkB;AAC3B,SAAS,0BAA0B;AACnC,SAAS,8BAA8B,gBAAgB;AACvD,SAAS,oBAAoB;AAC7B,SAAS,iBAAiB;AAC1B,SAAS,2BAA2B;AACpC,SAAS,oBAAoB;AAC7B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP,MAAM,cAAuD,CAAC,UAAU;AACtE,QAAM,EAAE,MAAM,UAAU,QAAQ,SAAS,IAAI,WAAW,WAAW,GAAG,mBAAmB,IACvF,6BAAyD,OAAO,YAAY;AAE9E,QAAM,QAAQ,WAAW,YAAY;AACrC,QAAM,SAASA,OAAM,QAAQ,OAAO,EAAE,QAAQ,QAAQ,IAAI,CAAC,QAAQ,OAAO,CAAC;AAC3E,QAAM,iBAAiB,mBAAmB,MAAM;AAEhD,EAAAA,OAAM,UAAU,MAAM;AACpB,QAAI,mBAAmB,gBAAgB,OAAO;AAC5C,qBAAe,YAAY;AAAA,IAC7B;AAAA,EACF,GAAG,CAAC,mBAAmB,aAAa,cAAc,CAAC;AACnD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAc,eAAe;AAAA,MAC7B,cAAc,eAAe;AAAA,MAC7B,gBAAgB,eAAe;AAAA,MAC/B,gBAAgB,eAAe;AAAA,MAC/B,SAAS,eAAe;AAAA,MACxB,QAAQ,eAAe;AAAA,MACvB,UAAU,eAAe;AAAA,MACzB,eAAa,GAAG,oBAAoB,eAAe,GAAG,OAAO,KAAK,IAAI,EAAE,KAAK,EAAE;AAAA,MAE/E;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,kBAAkB,eAAe;AAAA,YACjC,aAAa,eAAe;AAAA,YAC5B,QAAQ,MAAM,OAAO;AAAA,YACpB,GAAG;AAAA,YAEJ,8BAAC,SAAI,eAAa,GAAG,oBAAoB,oBAAoB,GAAG,OAAO,KAAK,IAAI,EAAE,KAAK,EAAE,IACvF,+BAAC,0BACC;AAAA,kCAAC,qBAAkB,cAAY,MAAM,WAAsB,WACxD,gBACH;AAAA,cACA,oBAAC,+BAA4B;AAAA,eAC/B,GACF;AAAA;AAAA,QACF;AAAA,QAEC;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,YAAY,cAAc;AAC1B,MAAM,wBAAwB,SAAS,WAAW;AAClD,sBAAsB,YAAY;AAIlC,IAAO,sBAAQ;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/v3/react-desc-prop-types.ts"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import type { WeakValidationMap } from 'react';\nimport type {
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import type { WeakValidationMap } from 'react';\nimport type { GlobalAttributesT } from '@elliemae/ds-props-helpers';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { PLACEMENT, TEXT_ALIGNMENT } from './constants.js';\n\nexport declare namespace DSTooltipV3T {\n export type Placement =\n | 'top-start'\n | 'top'\n | 'top-end'\n | 'right-start'\n | 'right'\n | 'right-end'\n | 'bottom-end'\n | 'bottom'\n | 'bottom-start'\n | 'left-end'\n | 'left'\n | 'left-start';\n export type TextAlignment = 'left' | 'right' | 'center' | 'justify' | 'initial' | 'inherit';\n\n export interface DefaultProps {\n onOpen: () => void;\n onClose: () => void;\n id: string;\n textAlign: TextAlignment;\n wrapWords: boolean;\n }\n\n export interface OptionalProps {\n zIndex?: number;\n ariaLabel?: string;\n withoutPortal?: boolean;\n withoutArrow?: boolean;\n withoutAnimation?: boolean;\n boundaryElement?: HTMLElement;\n animationDuration?: number;\n portalDOMContainer?: HTMLElement;\n startPlacementPreference?: Placement;\n placementOrderPreference?: Placement[];\n customOffset?: [number, number];\n modifiers?: Record<string, unknown>[];\n showPopover?: boolean;\n }\n\n export interface RequiredProps {\n children: React.ReactNode;\n text: string;\n }\n export interface InternalProps\n extends DefaultProps,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof RequiredProps>,\n // XstyledProps,\n RequiredProps {}\n\n export interface Props\n extends Partial<DefaultProps>,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof RequiredProps>,\n // XstyledProps,\n RequiredProps {}\n}\n\nexport const propTypes = {\n text: PropTypes.string.description('Tooltip text to be displayed on hover/focus').isRequired,\n textAlign: PropTypes.oneOf(TEXT_ALIGNMENT as unknown as unknown[])\n .description('Tooltip text alignment')\n .defaultValue('left'),\n wrapWords: PropTypes.bool\n .description('Break words into a new line. Useful when words exceed tooltip max-lenght.')\n .defaultValue(false),\n children: PropTypes.node.description('Element to tie the tooltip to, must be a single node').isRequired,\n withoutPortal: PropTypes.bool\n .description('Whether or not the tooltip content should appear in a DOM portal or not')\n .defaultValue(true),\n withoutArrow: PropTypes.bool.description('Whether or not the tooltip should use the arrow').defaultValue(false),\n boundaryElement: PropTypes.element\n .description(\n 'Bounding element to calculate upon, defaults to \"clippingParents\",' +\n 'which are the scrolling containers that may cause element to be partially or fully cut off',\n )\n .defaultValue(undefined),\n withoutAnimation: PropTypes.bool\n .description('Whether or not the popper context menu should be animated')\n .defaultValue(false),\n animationDuration: PropTypes.number.description('Popper context menus Animation duration in ms').defaultValue(100),\n portalDOMContainer: PropTypes.oneOfType([PropTypes.node, PropTypes.oneOf([null])])\n .description('When using portal, the container in which to append the DOM content, defaults to document body')\n .defaultValue(undefined),\n startPlacementPreference: PropTypes.oneOf(PLACEMENT)\n .description('start placement preferences, as per popperjs placement option')\n .defaultValue(\"'top'\"),\n placementOrderPreference: PropTypes.arrayOf(PropTypes.oneOf(PLACEMENT))\n .description('Array of placement preferences, as per popperjs \"flip\" placement option')\n .defaultValue(\"['top', 'bottom', 'left', 'right']\"),\n zIndex: PropTypes.number.description('popperjs content z-index').defaultValue(1),\n customOffset: PropTypes.arrayOf(PropTypes.number).description('placement offset array').defaultValue([0, 14]),\n modifiers: PropTypes.array\n .description('modifiers array for full-custom tooltip-js override, https://popper.js.org/docs/v2/modifiers/')\n .defaultValue(1),\n id: PropTypes.string.description('Optional id appended to data-testid').defaultValue(''),\n onOpen: PropTypes.func.description('Optional callback to be invoked when the tooltip opens').defaultValue('() => {}'),\n onClose: PropTypes.func\n .description('Optional callback to be invoked when the tooltip closes')\n .defaultValue('() => {}'),\n} as WeakValidationMap<unknown>;\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACEvB,SAAS,iBAAiB;AAC1B,SAAS,WAAW,sBAAsB;AA6DnC,MAAM,YAAY;AAAA,EACvB,MAAM,UAAU,OAAO,YAAY,6CAA6C,EAAE;AAAA,EAClF,WAAW,UAAU,MAAM,cAAsC,EAC9D,YAAY,wBAAwB,EACpC,aAAa,MAAM;AAAA,EACtB,WAAW,UAAU,KAClB,YAAY,2EAA2E,EACvF,aAAa,KAAK;AAAA,EACrB,UAAU,UAAU,KAAK,YAAY,sDAAsD,EAAE;AAAA,EAC7F,eAAe,UAAU,KACtB,YAAY,yEAAyE,EACrF,aAAa,IAAI;AAAA,EACpB,cAAc,UAAU,KAAK,YAAY,iDAAiD,EAAE,aAAa,KAAK;AAAA,EAC9G,iBAAiB,UAAU,QACxB;AAAA,IACC;AAAA,EAEF,EACC,aAAa,MAAS;AAAA,EACzB,kBAAkB,UAAU,KACzB,YAAY,2DAA2D,EACvE,aAAa,KAAK;AAAA,EACrB,mBAAmB,UAAU,OAAO,YAAY,+CAA+C,EAAE,aAAa,GAAG;AAAA,EACjH,oBAAoB,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAC9E,YAAY,gGAAgG,EAC5G,aAAa,MAAS;AAAA,EACzB,0BAA0B,UAAU,MAAM,SAAS,EAChD,YAAY,+DAA+D,EAC3E,aAAa,OAAO;AAAA,EACvB,0BAA0B,UAAU,QAAQ,UAAU,MAAM,SAAS,CAAC,EACnE,YAAY,yEAAyE,EACrF,aAAa,oCAAoC;AAAA,EACpD,QAAQ,UAAU,OAAO,YAAY,0BAA0B,EAAE,aAAa,CAAC;AAAA,EAC/E,cAAc,UAAU,QAAQ,UAAU,MAAM,EAAE,YAAY,wBAAwB,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC;AAAA,EAC5G,WAAW,UAAU,MAClB,YAAY,+FAA+F,EAC3G,aAAa,CAAC;AAAA,EACjB,IAAI,UAAU,OAAO,YAAY,qCAAqC,EAAE,aAAa,EAAE;AAAA,EACvF,QAAQ,UAAU,KAAK,YAAY,wDAAwD,EAAE,aAAa,UAAU;AAAA,EACpH,SAAS,UAAU,KAChB,YAAY,yDAAyD,EACrE,aAAa,UAAU;AAC5B;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -23,6 +23,11 @@ type DSTooltipProps = {
|
|
|
23
23
|
showArrow: boolean;
|
|
24
24
|
zIndex: number;
|
|
25
25
|
};
|
|
26
|
+
interface Props {
|
|
27
|
+
componentName: string;
|
|
28
|
+
version: string;
|
|
29
|
+
}
|
|
30
|
+
export declare const useDeprecateComponent: ({ componentName, version }: Props) => void;
|
|
26
31
|
declare const DSTooltip: {
|
|
27
32
|
({ containerProps, innerRef, placement, title, delayClose, delayOpen, interactionType, triggerComponent, className, isOpen, onOpen, tooltipType, showArrow, zIndex, ...otherTooltipProps }: DSTooltipProps): import("react/jsx-runtime.js").JSX.Element;
|
|
28
33
|
displayName: string;
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { DSTooltipT } from './index.js';
|
|
3
|
+
interface Props {
|
|
4
|
+
componentName: string;
|
|
5
|
+
version: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const useDeprecateComponent: ({ componentName, version }: Props) => void;
|
|
3
8
|
declare const DSTooltipV2: {
|
|
4
9
|
({ containerProps, innerRef, placement, title, delayClose, delayOpen, triggerComponent, className, getIsOpen, onOpen, tooltipType, showArrow, offset, zIndex, extraModifiers, }: DSTooltipT): React.ReactElement;
|
|
5
10
|
displayName: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-tooltip",
|
|
3
|
-
"version": "3.37.0
|
|
3
|
+
"version": "3.37.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Tooltip",
|
|
6
6
|
"files": [
|
|
@@ -98,23 +98,23 @@
|
|
|
98
98
|
"dependencies": {
|
|
99
99
|
"@popperjs/core": "~2.11.7",
|
|
100
100
|
"react-popper": "~2.3.0",
|
|
101
|
-
"@elliemae/ds-button": "3.37.0
|
|
102
|
-
"@elliemae/ds-
|
|
103
|
-
"@elliemae/ds-
|
|
104
|
-
"@elliemae/ds-
|
|
105
|
-
"@elliemae/ds-
|
|
106
|
-
"@elliemae/ds-
|
|
107
|
-
"@elliemae/ds-
|
|
108
|
-
"@elliemae/ds-
|
|
109
|
-
"@elliemae/ds-
|
|
101
|
+
"@elliemae/ds-button": "3.37.0",
|
|
102
|
+
"@elliemae/ds-popperjs": "3.37.0",
|
|
103
|
+
"@elliemae/ds-portal": "3.37.0",
|
|
104
|
+
"@elliemae/ds-classnames": "3.37.0",
|
|
105
|
+
"@elliemae/ds-hooks-headless-tooltip": "3.37.0",
|
|
106
|
+
"@elliemae/ds-popper": "3.37.0",
|
|
107
|
+
"@elliemae/ds-props-helpers": "3.37.0",
|
|
108
|
+
"@elliemae/ds-shared": "3.37.0",
|
|
109
|
+
"@elliemae/ds-system": "3.37.0"
|
|
110
110
|
},
|
|
111
111
|
"devDependencies": {
|
|
112
112
|
"@elliemae/pui-cli": "9.0.0-next.50",
|
|
113
113
|
"react": "^17.0.2",
|
|
114
114
|
"react-dom": "^17.0.2",
|
|
115
115
|
"styled-components": "~5.3.9",
|
|
116
|
-
"@elliemae/ds-
|
|
117
|
-
"@elliemae/ds-
|
|
116
|
+
"@elliemae/ds-grid": "3.37.0",
|
|
117
|
+
"@elliemae/ds-monorepo-devops": "3.37.0"
|
|
118
118
|
},
|
|
119
119
|
"peerDependencies": {
|
|
120
120
|
"react": "^17.0.2",
|