@elliemae/ds-tooltip 3.0.0-next.14 → 3.0.0-next.18

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.
@@ -67,7 +67,7 @@ var import_react = __toESM(require("react"));
67
67
  var import_react_desc = require("react-desc");
68
68
  var import_ds_classnames = require("@elliemae/ds-classnames");
69
69
  var import_ds_utilities = require("@elliemae/ds-utilities");
70
- var import_constants = require("@elliemae/ds-shared/constants");
70
+ var import_ds_shared = require("@elliemae/ds-shared");
71
71
  var import_ds_popper = require("@elliemae/ds-popper");
72
72
  var import_TooltipType = require("./TooltipType");
73
73
  const blockName = "tooltip";
@@ -83,8 +83,8 @@ const DSTooltip = (_a) => {
83
83
  innerRef,
84
84
  placement = import_ds_popper.PopperPositions.TOP,
85
85
  title = "",
86
- delayClose = import_constants.DEFAULT_DELAY_CLOSE,
87
- delayOpen = import_constants.DEFAULT_DELAY_OPEN,
86
+ delayClose = import_ds_shared.DEFAULT_DELAY_CLOSE,
87
+ delayOpen = import_ds_shared.DEFAULT_DELAY_OPEN,
88
88
  interactionType = import_ds_popper.PopperInteractions.HOVER,
89
89
  triggerComponent = null,
90
90
  className = "",
@@ -138,8 +138,8 @@ const tooltipProps = {
138
138
  containerProps: import_react_desc.PropTypes.object.description("Set of Properties attached to the main container"),
139
139
  placement: import_react_desc.PropTypes.oneOf(import_ds_popper.positions).description("Tooltip position").defaultValue(import_ds_popper.PopperPositions.TOP),
140
140
  title: import_react_desc.PropTypes.oneOfType([import_react_desc.PropTypes.string, import_react_desc.PropTypes.element]).description("Tooltip content").isRequired,
141
- delayClose: import_react_desc.PropTypes.string.description("Delay to close the tooltip").defaultValue(import_constants.DEFAULT_DELAY_CLOSE),
142
- delayOpen: import_react_desc.PropTypes.string.description("Delay to open the tooltip ").defaultValue(import_constants.DEFAULT_DELAY_OPEN),
141
+ delayClose: import_react_desc.PropTypes.string.description("Delay to close the tooltip").defaultValue(import_ds_shared.DEFAULT_DELAY_CLOSE),
142
+ delayOpen: import_react_desc.PropTypes.string.description("Delay to open the tooltip ").defaultValue(import_ds_shared.DEFAULT_DELAY_OPEN),
143
143
  interactionType: import_react_desc.PropTypes.oneOf(import_ds_popper.interactions).description("A type indicating how to open/close the tooltip").defaultValue(import_ds_popper.PopperInteractions.HOVER),
144
144
  triggerComponent: import_react_desc.PropTypes.element.description(`The component that will open/close the tooltip.
145
145
  Cannot be used with disabled elements.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/v1/DSTooltip.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport {\n aggregatedClasses,\n convertPropToCssClassName,\n} from '@elliemae/ds-classnames';\nimport { getComponentFromProps } from '@elliemae/ds-utilities';\nimport {\n DEFAULT_DELAY_OPEN,\n DEFAULT_DELAY_CLOSE,\n} from '@elliemae/ds-shared/constants';\nimport { DSPopper,\n PopperPositions,\n PopperInteractions,\n interactions,\n positions\n} from '@elliemae/ds-popper';\nimport { TooltipType } from './TooltipType';\n\nconst blockName = 'tooltip';\n\nconst TooltipContainer = aggregatedClasses('div')(blockName, false, false, {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\nconst TooltipText = aggregatedClasses('span')(blockName, 'text', false, {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\n\nconst DSTooltip = ({\n containerProps = {},\n innerRef,\n placement = PopperPositions.TOP,\n title = '',\n delayClose = DEFAULT_DELAY_CLOSE,\n delayOpen = DEFAULT_DELAY_OPEN,\n interactionType = PopperInteractions.HOVER,\n triggerComponent = null,\n className = '',\n isOpen = undefined,\n onOpen = () => null,\n springAnimationComponent = undefined,\n tooltipType = TooltipType.TOOLTIP,\n showArrow = true,\n zIndex,\n ...otherTooltipProps\n}) => {\n const { cssClassName: tooltipBlockName } = convertPropToCssClassName(\n blockName,\n );\n\n let Content = title;\n if (typeof title === 'string') {\n Content = <TooltipText>{title}</TooltipText>;\n }\n return (\n <DSPopper\n blockName={tooltipBlockName}\n contentComponent={\n <TooltipContainer\n {...containerProps}\n {...otherTooltipProps}\n className={`tooltip-container--${tooltipType} ${className}`}\n innerRef={innerRef}\n >\n {Content}\n </TooltipContainer>\n }\n delayClose={delayClose}\n delayOpen={delayOpen}\n interactionType={interactionType}\n isOpen={isOpen}\n onOpen={onOpen}\n placement={placement}\n showArrow={tooltipType === TooltipType.TOOLTIP ? showArrow : false}\n springAnimationComponent={springAnimationComponent}\n triggerComponent={getComponentFromProps(triggerComponent)}\n zIndex={zIndex}\n />\n );\n};\n\nconst tooltipProps = {\n containerProps: PropTypes.object.description(\n 'Set of Properties attached to the main container',\n ),\n placement: PropTypes.oneOf(positions)\n .description('Tooltip position')\n .defaultValue(PopperPositions.TOP),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).description(\n 'Tooltip content',\n ).isRequired,\n delayClose: PropTypes.string\n .description('Delay to close the tooltip')\n .defaultValue(DEFAULT_DELAY_CLOSE),\n delayOpen: PropTypes.string\n .description('Delay to open the tooltip ')\n .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\n .description('Whether the tooltip is visible or not')\n .defaultValue(undefined),\n onOpen: PropTypes.func.description('Handler when the tooltip opens'),\n springAnimationComponent: PropTypes.element.description(\n 'Spring animation component',\n ),\n showArrow: PropTypes.bool\n .description('Whether to show an arrow or not')\n .defaultValue(true),\n className: PropTypes.string.description('css class'),\n tooltipType: PropTypes.oneOf(['tooltip', 'toolbar'])\n .description('Type of tooltip')\n .defaultValue(TooltipType.TOOLTIP),\n zIndex: PropTypes.number\n .description('z-index value assigned to the tooltip')\n .defaultValue(undefined),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description(\n 'Ref to the tooltip container element',\n ),\n};\n\nDSTooltip.propTypes = tooltipProps;\n\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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",
4
+ "sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { getComponentFromProps } from '@elliemae/ds-utilities';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared';\nimport { DSPopper, PopperPositions, PopperInteractions, interactions, positions } from '@elliemae/ds-popper';\nimport { TooltipType } from './TooltipType';\n\nconst blockName = 'tooltip';\n\nconst TooltipContainer = aggregatedClasses('div')(blockName, false, false, {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\nconst TooltipText = aggregatedClasses('span')(blockName, 'text', false, {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\n\nconst DSTooltip = ({\n containerProps = {},\n innerRef,\n placement = PopperPositions.TOP,\n title = '',\n delayClose = DEFAULT_DELAY_CLOSE,\n delayOpen = DEFAULT_DELAY_OPEN,\n interactionType = PopperInteractions.HOVER,\n triggerComponent = null,\n className = '',\n isOpen = undefined,\n onOpen = () => null,\n springAnimationComponent = undefined,\n tooltipType = TooltipType.TOOLTIP,\n showArrow = true,\n zIndex,\n ...otherTooltipProps\n}) => {\n const { cssClassName: tooltipBlockName } = convertPropToCssClassName(blockName);\n\n let Content = title;\n if (typeof title === 'string') {\n Content = <TooltipText>{title}</TooltipText>;\n }\n return (\n <DSPopper\n blockName={tooltipBlockName}\n contentComponent={\n <TooltipContainer\n {...containerProps}\n {...otherTooltipProps}\n className={`tooltip-container--${tooltipType} ${className}`}\n innerRef={innerRef}\n >\n {Content}\n </TooltipContainer>\n }\n delayClose={delayClose}\n delayOpen={delayOpen}\n interactionType={interactionType}\n isOpen={isOpen}\n onOpen={onOpen}\n placement={placement}\n showArrow={tooltipType === TooltipType.TOOLTIP ? showArrow : false}\n springAnimationComponent={springAnimationComponent}\n triggerComponent={getComponentFromProps(triggerComponent)}\n zIndex={zIndex}\n />\n );\n};\n\nconst tooltipProps = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n placement: PropTypes.oneOf(positions).description('Tooltip position').defaultValue(PopperPositions.TOP),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).description('Tooltip content').isRequired,\n delayClose: PropTypes.string.description('Delay to close the tooltip').defaultValue(DEFAULT_DELAY_CLOSE),\n delayOpen: PropTypes.string.description('Delay to open the tooltip ').defaultValue(DEFAULT_DELAY_OPEN),\n interactionType: PropTypes.oneOf(interactions)\n .description('A type indicating how to open/close the tooltip')\n .defaultValue(PopperInteractions.HOVER),\n triggerComponent: PropTypes.element.description(\n `The component that will open/close the tooltip. \n Cannot be used with disabled elements. \n https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`,\n ).isRequired,\n isOpen: PropTypes.bool.description('Whether the tooltip is visible or not').defaultValue(undefined),\n onOpen: PropTypes.func.description('Handler when the tooltip opens'),\n springAnimationComponent: PropTypes.element.description('Spring animation component'),\n showArrow: PropTypes.bool.description('Whether to show an arrow or not').defaultValue(true),\n className: PropTypes.string.description('css class'),\n tooltipType: PropTypes.oneOf(['tooltip', 'toolbar']).description('Type of tooltip').defaultValue(TooltipType.TOOLTIP),\n zIndex: PropTypes.number.description('z-index value assigned to the tooltip').defaultValue(undefined),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the tooltip container element'),\n};\n\nDSTooltip.propTypes = tooltipProps;\n\nconst TooltipWithSchema = describe(DSTooltip);\nTooltipWithSchema.propTypes = tooltipProps;\n\nexport { DSTooltip, TooltipContainer, TooltipText, TooltipWithSchema };\nexport default DSTooltip;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -51,7 +51,7 @@ var React = __toESM(require("react"));
51
51
  var import_react = __toESM(require("react"));
52
52
  var import_react_desc = require("react-desc");
53
53
  var import_ds_portal = require("@elliemae/ds-portal");
54
- var import_constants = require("@elliemae/ds-shared/constants");
54
+ var import_ds_shared = require("@elliemae/ds-shared");
55
55
  var import_react_popper = require("react-popper");
56
56
  var import_tooltipPositions = require("./utils/tooltipPositions");
57
57
  var import_TooltipType = require("./TooltipType");
@@ -64,8 +64,8 @@ const DSTooltipV2 = ({
64
64
  innerRef,
65
65
  placement = import_tooltipPositions.tooltipPositions.BOTTOM,
66
66
  title = "",
67
- delayClose = import_constants.DEFAULT_DELAY_CLOSE,
68
- delayOpen = import_constants.DEFAULT_DELAY_OPEN,
67
+ delayClose = import_ds_shared.DEFAULT_DELAY_CLOSE,
68
+ delayOpen = import_ds_shared.DEFAULT_DELAY_OPEN,
69
69
  triggerComponent = null,
70
70
  className = "",
71
71
  getIsOpen = () => null,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/v2/DSTooltip.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useState, useCallback, useEffect, useRef } from 'react';\nimport { describe } from 'react-desc';\nimport { DSPortal } from '@elliemae/ds-portal';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared/constants';\nimport { usePopper } from 'react-popper';\nimport { tooltipPositions } from './utils/tooltipPositions';\nimport { TooltipType } from './TooltipType';\nimport {\n StyledTooltipContainer,\n StyledTriggerComponentContainer,\n StyledTooltipText,\n StyledAnimatedTooltip,\n} from './styles';\nimport { DSTooltipArrow } from './DSTooltipArrow';\nimport { DSTooltipT } from '.';\nimport { tooltipV2Props } from './propTypes';\nimport { setMultipleRefs } from './utils/setMultipleRefs';\n\nconst DSTooltipV2 = ({\n containerProps = {},\n innerRef,\n placement = tooltipPositions.BOTTOM,\n title = '',\n delayClose = DEFAULT_DELAY_CLOSE,\n delayOpen = DEFAULT_DELAY_OPEN,\n triggerComponent = null,\n className = '',\n getIsOpen = () => null,\n onOpen = () => null,\n tooltipType = TooltipType.TOOLTIP,\n showArrow = true,\n offset = [0, 14],\n zIndex = 10,\n extraModifiers = {},\n}: DSTooltipT): React.ReactElement => {\n const [showTooltip, setShowTooltip] = useState<boolean>(false);\n const [isAnimating, setIsAnimating] = useState<boolean>(false);\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(triggerComponent);\n const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);\n const [arrowElement, setArrowElement] = useState<HTMLDivElement | null>(null);\n const timerOpen = useRef(null);\n const timerClosed = useRef(null);\n\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n placement,\n modifiers: [\n { name: 'hide', enabled: true },\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: tooltipType === TooltipType.TOOLBAR ? [0, 0] : offset,\n },\n },\n { name: 'arrow', options: { element: arrowElement } },\n { ...extraModifiers },\n ],\n });\n\n const handleShowTooltipOn = useCallback(() => {\n timerOpen.current = setTimeout(() => {\n setShowTooltip(true);\n setIsAnimating(true);\n getIsOpen(true);\n onOpen();\n }, delayOpen);\n }, [delayOpen, getIsOpen, onOpen]);\n\n const handleShowTooltipOff = useCallback(() => {\n timerClosed.current = setTimeout(() => {\n setShowTooltip(false);\n setIsAnimating(true);\n getIsOpen(false);\n }, delayClose);\n }, [delayClose, getIsOpen]);\n\n const handleKeyDown = useCallback((e) => {\n if (e.key === 'Escape') {\n e.target.blur();\n }\n }, []);\n\n const checkAnimationStatus = useCallback(() => {\n if (!showTooltip) {\n setIsAnimating(false);\n }\n }, [showTooltip]);\n\n useEffect(\n () => () => {\n clearTimeout(timerClosed.current);\n clearTimeout(timerOpen.current);\n },\n [],\n );\n\n return (\n <>\n <StyledTriggerComponentContainer\n ref={setReferenceElement}\n onMouseEnter={handleShowTooltipOn}\n onMouseLeave={handleShowTooltipOff}\n onFocus={handleShowTooltipOn}\n onBlur={handleShowTooltipOff}\n onKeyDown={handleKeyDown}\n >\n {triggerComponent}\n </StyledTriggerComponentContainer>\n {isAnimating || showTooltip ? (\n <DSPortal>\n <StyledTooltipContainer\n className={className}\n showTooltip={showTooltip}\n tooltipType={tooltipType}\n data-testid=\"ds-tooltip-container\"\n ref={(ref) => setMultipleRefs(setPopperElement, innerRef)(ref)}\n style={{ ...styles.popper, zIndex }}\n {...containerProps}\n {...attributes.popper}\n >\n <StyledAnimatedTooltip\n showTooltip={showTooltip}\n data-testid=\"ds-tooltip\"\n onAnimationEnd={checkAnimationStatus}\n >\n <StyledTooltipText>{title}</StyledTooltipText>\n {tooltipType === TooltipType.TOOLTIP && showArrow ? (\n <DSTooltipArrow\n arrowElementRef={setArrowElement}\n style={styles.arrow}\n placement={attributes.popper ? attributes.popper['data-popper-placement'] : 'bottom'}\n />\n ) : null}\n </StyledAnimatedTooltip>\n </StyledTooltipContainer>\n </DSPortal>\n ) : null}\n </>\n );\n};\n\nDSTooltipV2.propTypes = tooltipV2Props;\n\nconst TooltipV2WithSchema = describe(DSTooltipV2);\nTooltipV2WithSchema.propTypes = tooltipV2Props;\n\nexport { DSTooltipV2, TooltipV2WithSchema };\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useState, useCallback, useEffect, useRef } from 'react';\nimport { describe } from 'react-desc';\nimport { DSPortal } from '@elliemae/ds-portal';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared';\nimport { usePopper } from 'react-popper';\nimport { tooltipPositions } from './utils/tooltipPositions';\nimport { TooltipType } from './TooltipType';\nimport {\n StyledTooltipContainer,\n StyledTriggerComponentContainer,\n StyledTooltipText,\n StyledAnimatedTooltip,\n} from './styles';\nimport { DSTooltipArrow } from './DSTooltipArrow';\nimport { DSTooltipT } from '.';\nimport { tooltipV2Props } from './propTypes';\nimport { setMultipleRefs } from './utils/setMultipleRefs';\n\nconst DSTooltipV2 = ({\n containerProps = {},\n innerRef,\n placement = tooltipPositions.BOTTOM,\n title = '',\n delayClose = DEFAULT_DELAY_CLOSE,\n delayOpen = DEFAULT_DELAY_OPEN,\n triggerComponent = null,\n className = '',\n getIsOpen = () => null,\n onOpen = () => null,\n tooltipType = TooltipType.TOOLTIP,\n showArrow = true,\n offset = [0, 14],\n zIndex = 10,\n extraModifiers = {},\n}: DSTooltipT): React.ReactElement => {\n const [showTooltip, setShowTooltip] = useState<boolean>(false);\n const [isAnimating, setIsAnimating] = useState<boolean>(false);\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(triggerComponent);\n const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);\n const [arrowElement, setArrowElement] = useState<HTMLDivElement | null>(null);\n const timerOpen = useRef(null);\n const timerClosed = useRef(null);\n\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n placement,\n modifiers: [\n { name: 'hide', enabled: true },\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: tooltipType === TooltipType.TOOLBAR ? [0, 0] : offset,\n },\n },\n { name: 'arrow', options: { element: arrowElement } },\n { ...extraModifiers },\n ],\n });\n\n const handleShowTooltipOn = useCallback(() => {\n timerOpen.current = setTimeout(() => {\n setShowTooltip(true);\n setIsAnimating(true);\n getIsOpen(true);\n onOpen();\n }, delayOpen);\n }, [delayOpen, getIsOpen, onOpen]);\n\n const handleShowTooltipOff = useCallback(() => {\n timerClosed.current = setTimeout(() => {\n setShowTooltip(false);\n setIsAnimating(true);\n getIsOpen(false);\n }, delayClose);\n }, [delayClose, getIsOpen]);\n\n const handleKeyDown = useCallback((e) => {\n if (e.key === 'Escape') {\n e.target.blur();\n }\n }, []);\n\n const checkAnimationStatus = useCallback(() => {\n if (!showTooltip) {\n setIsAnimating(false);\n }\n }, [showTooltip]);\n\n useEffect(\n () => () => {\n clearTimeout(timerClosed.current);\n clearTimeout(timerOpen.current);\n },\n [],\n );\n\n return (\n <>\n <StyledTriggerComponentContainer\n ref={setReferenceElement}\n onMouseEnter={handleShowTooltipOn}\n onMouseLeave={handleShowTooltipOff}\n onFocus={handleShowTooltipOn}\n onBlur={handleShowTooltipOff}\n onKeyDown={handleKeyDown}\n >\n {triggerComponent}\n </StyledTriggerComponentContainer>\n {isAnimating || showTooltip ? (\n <DSPortal>\n <StyledTooltipContainer\n className={className}\n showTooltip={showTooltip}\n tooltipType={tooltipType}\n data-testid=\"ds-tooltip-container\"\n ref={(ref) => setMultipleRefs(setPopperElement, innerRef)(ref)}\n style={{ ...styles.popper, zIndex }}\n {...containerProps}\n {...attributes.popper}\n >\n <StyledAnimatedTooltip\n showTooltip={showTooltip}\n data-testid=\"ds-tooltip\"\n onAnimationEnd={checkAnimationStatus}\n >\n <StyledTooltipText>{title}</StyledTooltipText>\n {tooltipType === TooltipType.TOOLTIP && showArrow ? (\n <DSTooltipArrow\n arrowElementRef={setArrowElement}\n style={styles.arrow}\n placement={attributes.popper ? attributes.popper['data-popper-placement'] : 'bottom'}\n />\n ) : null}\n </StyledAnimatedTooltip>\n </StyledTooltipContainer>\n </DSPortal>\n ) : null}\n </>\n );\n};\n\nDSTooltipV2.propTypes = tooltipV2Props;\n\nconst TooltipV2WithSchema = describe(DSTooltipV2);\nTooltipV2WithSchema.propTypes = tooltipV2Props;\n\nexport { DSTooltipV2, TooltipV2WithSchema };\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -31,15 +31,15 @@ __export(propTypes_exports, {
31
31
  });
32
32
  var React = __toESM(require("react"));
33
33
  var import_react_desc = require("react-desc");
34
- var import_constants = require("@elliemae/ds-shared/constants");
34
+ var import_ds_shared = require("@elliemae/ds-shared");
35
35
  var import_TooltipType = require("./TooltipType");
36
36
  var import_tooltipPositions = require("./utils/tooltipPositions");
37
37
  const tooltipV2Props = {
38
38
  containerProps: import_react_desc.PropTypes.object.description("Set of Properties attached to the main container"),
39
39
  placement: import_react_desc.PropTypes.oneOf(Object.values(import_tooltipPositions.tooltipPositions)).description("Tooltip position").defaultValue(import_tooltipPositions.tooltipPositions.TOP),
40
40
  title: import_react_desc.PropTypes.oneOfType([import_react_desc.PropTypes.string, import_react_desc.PropTypes.element]).description("Tooltip content").isRequired,
41
- delayClose: import_react_desc.PropTypes.number.description("Delay to close the tooltip").defaultValue(import_constants.DEFAULT_DELAY_CLOSE),
42
- delayOpen: import_react_desc.PropTypes.number.description("Delay to open the tooltip ").defaultValue(import_constants.DEFAULT_DELAY_OPEN),
41
+ delayClose: import_react_desc.PropTypes.number.description("Delay to close the tooltip").defaultValue(import_ds_shared.DEFAULT_DELAY_CLOSE),
42
+ delayOpen: import_react_desc.PropTypes.number.description("Delay to open the tooltip ").defaultValue(import_ds_shared.DEFAULT_DELAY_OPEN),
43
43
  triggerComponent: import_react_desc.PropTypes.element.description(`The component that will open/close the tooltip.
44
44
  Cannot be used with disabled elements.
45
45
  https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`).isRequired,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/v2/propTypes.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import { PropTypes } from 'react-desc';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared/constants';\nimport { TooltipType } from './TooltipType';\nimport { tooltipPositions } from './utils/tooltipPositions';\n\nconst tooltipV2Props = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n placement: PropTypes.oneOf(Object.values(tooltipPositions))\n .description('Tooltip position')\n .defaultValue(tooltipPositions.TOP),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).description('Tooltip content').isRequired,\n delayClose: PropTypes.number.description('Delay to close the tooltip').defaultValue(DEFAULT_DELAY_CLOSE),\n delayOpen: PropTypes.number.description('Delay to open the tooltip ').defaultValue(DEFAULT_DELAY_OPEN),\n triggerComponent: PropTypes.element.description(\n `The component that will open/close the tooltip. \n Cannot be used with disabled elements. \n https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`,\n ).isRequired,\n getIsOpen: PropTypes.func.description('Whether the tooltip is visible or not'),\n onOpen: PropTypes.func.description('Callback when the tooltip opens'),\n showArrow: PropTypes.bool.description('Whether to show an arrow or not').defaultValue(true),\n className: PropTypes.string.description('css class'),\n tooltipType: PropTypes.oneOf(['tooltip', 'toolbar']).description('Type of tooltip').defaultValue(TooltipType.TOOLTIP),\n zIndex: PropTypes.number.description('z-index value assigned to the tooltip').defaultValue(undefined),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the tooltip container element'),\n offset: PropTypes.arrayOf(PropTypes.number).description('Custom Offset for the tooltip [x, y]'),\n};\n\nexport { tooltipV2Props };\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "sourcesContent": ["import { PropTypes } from 'react-desc';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared';\nimport { TooltipType } from './TooltipType';\nimport { tooltipPositions } from './utils/tooltipPositions';\n\nconst tooltipV2Props = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n placement: PropTypes.oneOf(Object.values(tooltipPositions))\n .description('Tooltip position')\n .defaultValue(tooltipPositions.TOP),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).description('Tooltip content').isRequired,\n delayClose: PropTypes.number.description('Delay to close the tooltip').defaultValue(DEFAULT_DELAY_CLOSE),\n delayOpen: PropTypes.number.description('Delay to open the tooltip ').defaultValue(DEFAULT_DELAY_OPEN),\n triggerComponent: PropTypes.element.description(\n `The component that will open/close the tooltip. \n Cannot be used with disabled elements. \n https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`,\n ).isRequired,\n getIsOpen: PropTypes.func.description('Whether the tooltip is visible or not'),\n onOpen: PropTypes.func.description('Callback when the tooltip opens'),\n showArrow: PropTypes.bool.description('Whether to show an arrow or not').defaultValue(true),\n className: PropTypes.string.description('css class'),\n tooltipType: PropTypes.oneOf(['tooltip', 'toolbar']).description('Type of tooltip').defaultValue(TooltipType.TOOLTIP),\n zIndex: PropTypes.number.description('z-index value assigned to the tooltip').defaultValue(undefined),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the tooltip container element'),\n offset: PropTypes.arrayOf(PropTypes.number).description('Custom Offset for the tooltip [x, y]'),\n};\n\nexport { tooltipV2Props };\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAA0B;AAC1B,uBAAwD;AACxD,yBAA4B;AAC5B,8BAAiC;AAEjC,MAAM,iBAAiB;AAAA,EACrB,gBAAgB,4BAAU,OAAO,YAAY;AAAA,EAC7C,WAAW,4BAAU,MAAM,OAAO,OAAO,2CACtC,YAAY,oBACZ,aAAa,yCAAiB;AAAA,EACjC,OAAO,4BAAU,UAAU,CAAC,4BAAU,QAAQ,4BAAU,UAAU,YAAY,mBAAmB;AAAA,EACjG,YAAY,4BAAU,OAAO,YAAY,8BAA8B,aAAa;AAAA,EACpF,WAAW,4BAAU,OAAO,YAAY,8BAA8B,aAAa;AAAA,EACnF,kBAAkB,4BAAU,QAAQ,YAClC;AAAA;AAAA,8EAGA;AAAA,EACF,WAAW,4BAAU,KAAK,YAAY;AAAA,EACtC,QAAQ,4BAAU,KAAK,YAAY;AAAA,EACnC,WAAW,4BAAU,KAAK,YAAY,mCAAmC,aAAa;AAAA,EACtF,WAAW,4BAAU,OAAO,YAAY;AAAA,EACxC,aAAa,4BAAU,MAAM,CAAC,WAAW,YAAY,YAAY,mBAAmB,aAAa,+BAAY;AAAA,EAC7G,QAAQ,4BAAU,OAAO,YAAY,yCAAyC,aAAa;AAAA,EAC3F,UAAU,4BAAU,UAAU,CAAC,4BAAU,MAAM,4BAAU,SAAS,YAAY;AAAA,EAC9E,QAAQ,4BAAU,QAAQ,4BAAU,QAAQ,YAAY;AAAA;",
6
6
  "names": []
7
7
  }
@@ -32,22 +32,10 @@ var __objRest = (source, exclude) => {
32
32
  import * as React from "react";
33
33
  import React2 from "react";
34
34
  import { describe, PropTypes } from "react-desc";
35
- import {
36
- aggregatedClasses,
37
- convertPropToCssClassName
38
- } from "@elliemae/ds-classnames";
35
+ import { aggregatedClasses, convertPropToCssClassName } from "@elliemae/ds-classnames";
39
36
  import { getComponentFromProps } from "@elliemae/ds-utilities";
40
- import {
41
- DEFAULT_DELAY_OPEN,
42
- DEFAULT_DELAY_CLOSE
43
- } from "@elliemae/ds-shared/constants";
44
- import {
45
- DSPopper,
46
- PopperPositions,
47
- PopperInteractions,
48
- interactions,
49
- positions
50
- } from "@elliemae/ds-popper";
37
+ import { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from "@elliemae/ds-shared";
38
+ import { DSPopper, PopperPositions, PopperInteractions, interactions, positions } from "@elliemae/ds-popper";
51
39
  import { TooltipType } from "./TooltipType";
52
40
  const blockName = "tooltip";
53
41
  const TooltipContainer = aggregatedClasses("div")(blockName, false, false, {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/v1/DSTooltip.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport {\n aggregatedClasses,\n convertPropToCssClassName,\n} from '@elliemae/ds-classnames';\nimport { getComponentFromProps } from '@elliemae/ds-utilities';\nimport {\n DEFAULT_DELAY_OPEN,\n DEFAULT_DELAY_CLOSE,\n} from '@elliemae/ds-shared/constants';\nimport { DSPopper,\n PopperPositions,\n PopperInteractions,\n interactions,\n positions\n} from '@elliemae/ds-popper';\nimport { TooltipType } from './TooltipType';\n\nconst blockName = 'tooltip';\n\nconst TooltipContainer = aggregatedClasses('div')(blockName, false, false, {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\nconst TooltipText = aggregatedClasses('span')(blockName, 'text', false, {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\n\nconst DSTooltip = ({\n containerProps = {},\n innerRef,\n placement = PopperPositions.TOP,\n title = '',\n delayClose = DEFAULT_DELAY_CLOSE,\n delayOpen = DEFAULT_DELAY_OPEN,\n interactionType = PopperInteractions.HOVER,\n triggerComponent = null,\n className = '',\n isOpen = undefined,\n onOpen = () => null,\n springAnimationComponent = undefined,\n tooltipType = TooltipType.TOOLTIP,\n showArrow = true,\n zIndex,\n ...otherTooltipProps\n}) => {\n const { cssClassName: tooltipBlockName } = convertPropToCssClassName(\n blockName,\n );\n\n let Content = title;\n if (typeof title === 'string') {\n Content = <TooltipText>{title}</TooltipText>;\n }\n return (\n <DSPopper\n blockName={tooltipBlockName}\n contentComponent={\n <TooltipContainer\n {...containerProps}\n {...otherTooltipProps}\n className={`tooltip-container--${tooltipType} ${className}`}\n innerRef={innerRef}\n >\n {Content}\n </TooltipContainer>\n }\n delayClose={delayClose}\n delayOpen={delayOpen}\n interactionType={interactionType}\n isOpen={isOpen}\n onOpen={onOpen}\n placement={placement}\n showArrow={tooltipType === TooltipType.TOOLTIP ? showArrow : false}\n springAnimationComponent={springAnimationComponent}\n triggerComponent={getComponentFromProps(triggerComponent)}\n zIndex={zIndex}\n />\n );\n};\n\nconst tooltipProps = {\n containerProps: PropTypes.object.description(\n 'Set of Properties attached to the main container',\n ),\n placement: PropTypes.oneOf(positions)\n .description('Tooltip position')\n .defaultValue(PopperPositions.TOP),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).description(\n 'Tooltip content',\n ).isRequired,\n delayClose: PropTypes.string\n .description('Delay to close the tooltip')\n .defaultValue(DEFAULT_DELAY_CLOSE),\n delayOpen: PropTypes.string\n .description('Delay to open the tooltip ')\n .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\n .description('Whether the tooltip is visible or not')\n .defaultValue(undefined),\n onOpen: PropTypes.func.description('Handler when the tooltip opens'),\n springAnimationComponent: PropTypes.element.description(\n 'Spring animation component',\n ),\n showArrow: PropTypes.bool\n .description('Whether to show an arrow or not')\n .defaultValue(true),\n className: PropTypes.string.description('css class'),\n tooltipType: PropTypes.oneOf(['tooltip', 'toolbar'])\n .description('Type of tooltip')\n .defaultValue(TooltipType.TOOLTIP),\n zIndex: PropTypes.number\n .description('z-index value assigned to the tooltip')\n .defaultValue(undefined),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description(\n 'Ref to the tooltip container element',\n ),\n};\n\nDSTooltip.propTypes = tooltipProps;\n\nconst TooltipWithSchema = describe(DSTooltip);\nTooltipWithSchema.propTypes = tooltipProps;\n\nexport { DSTooltip, TooltipContainer, TooltipText, TooltipWithSchema };\nexport default DSTooltip;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACCA;AACA;AACA;AAAA;AAAA;AAAA;AAIA;AACA;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAEA,MAAM,YAAY;AAElB,MAAM,mBAAmB,kBAAkB,OAAO,WAAW,OAAO,OAAO;AAAA,EACzE,+BAA+B,CAAC,aAAa;AAAA;AAE/C,MAAM,cAAc,kBAAkB,QAAQ,WAAW,QAAQ,OAAO;AAAA,EACtE,+BAA+B,CAAC,aAAa;AAAA;AAG/C,MAAM,YAAY,CAAC,OAiBb;AAjBa,eACjB;AAAA,qBAAiB;AAAA,IACjB;AAAA,IACA,YAAY,gBAAgB;AAAA,IAC5B,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,kBAAkB,mBAAmB;AAAA,IACrC,mBAAmB;AAAA,IACnB,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,SAAS,MAAM;AAAA,IACf,2BAA2B;AAAA,IAC3B,cAAc,YAAY;AAAA,IAC1B,YAAY;AAAA,IACZ;AAAA,MAfiB,IAgBd,8BAhBc,IAgBd;AAAA,IAfH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,EAAE,cAAc,qBAAqB,0BACzC;AAGF,MAAI,UAAU;AACd,MAAI,OAAO,UAAU,UAAU;AAC7B,cAAU,qCAAC,aAAD,MAAc;AAAA;AAE1B,SACE,qCAAC,UAAD;AAAA,IACE,WAAW;AAAA,IACX,kBACE,qCAAC,kBAAD,gDACM,iBACA,oBAFN;AAAA,MAGE,WAAW,sBAAsB,eAAe;AAAA,MAChD;AAAA,QAEC;AAAA,IAGL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,gBAAgB,YAAY,UAAU,YAAY;AAAA,IAC7D;AAAA,IACA,kBAAkB,sBAAsB;AAAA,IACxC;AAAA;AAAA;AAKN,MAAM,eAAe;AAAA,EACnB,gBAAgB,UAAU,OAAO,YAC/B;AAAA,EAEF,WAAW,UAAU,MAAM,WACxB,YAAY,oBACZ,aAAa,gBAAgB;AAAA,EAChC,OAAO,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,UAAU,YAChE,mBACA;AAAA,EACF,YAAY,UAAU,OACnB,YAAY,8BACZ,aAAa;AAAA,EAChB,WAAW,UAAU,OAClB,YAAY,8BACZ,aAAa;AAAA,EAChB,iBAAiB,UAAU,MAAM,cAC9B,YAAY,mDACZ,aAAa,mBAAmB;AAAA,EACnC,kBAAkB,UAAU,QAAQ,YAClC;AAAA;AAAA,4EAGA;AAAA,EACF,QAAQ,UAAU,KACf,YAAY,yCACZ,aAAa;AAAA,EAChB,QAAQ,UAAU,KAAK,YAAY;AAAA,EACnC,0BAA0B,UAAU,QAAQ,YAC1C;AAAA,EAEF,WAAW,UAAU,KAClB,YAAY,mCACZ,aAAa;AAAA,EAChB,WAAW,UAAU,OAAO,YAAY;AAAA,EACxC,aAAa,UAAU,MAAM,CAAC,WAAW,YACtC,YAAY,mBACZ,aAAa,YAAY;AAAA,EAC5B,QAAQ,UAAU,OACf,YAAY,yCACZ,aAAa;AAAA,EAChB,UAAU,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,SAAS,YAChE;AAAA;AAIJ,UAAU,YAAY;AAEtB,MAAM,oBAAoB,SAAS;AACnC,kBAAkB,YAAY;AAG9B,IAAO,oBAAQ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { getComponentFromProps } from '@elliemae/ds-utilities';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared';\nimport { DSPopper, PopperPositions, PopperInteractions, interactions, positions } from '@elliemae/ds-popper';\nimport { TooltipType } from './TooltipType';\n\nconst blockName = 'tooltip';\n\nconst TooltipContainer = aggregatedClasses('div')(blockName, false, false, {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\nconst TooltipText = aggregatedClasses('span')(blockName, 'text', false, {\n propsToRemoveFromFinalElement: ['isHovered', 'isDragged'],\n});\n\nconst DSTooltip = ({\n containerProps = {},\n innerRef,\n placement = PopperPositions.TOP,\n title = '',\n delayClose = DEFAULT_DELAY_CLOSE,\n delayOpen = DEFAULT_DELAY_OPEN,\n interactionType = PopperInteractions.HOVER,\n triggerComponent = null,\n className = '',\n isOpen = undefined,\n onOpen = () => null,\n springAnimationComponent = undefined,\n tooltipType = TooltipType.TOOLTIP,\n showArrow = true,\n zIndex,\n ...otherTooltipProps\n}) => {\n const { cssClassName: tooltipBlockName } = convertPropToCssClassName(blockName);\n\n let Content = title;\n if (typeof title === 'string') {\n Content = <TooltipText>{title}</TooltipText>;\n }\n return (\n <DSPopper\n blockName={tooltipBlockName}\n contentComponent={\n <TooltipContainer\n {...containerProps}\n {...otherTooltipProps}\n className={`tooltip-container--${tooltipType} ${className}`}\n innerRef={innerRef}\n >\n {Content}\n </TooltipContainer>\n }\n delayClose={delayClose}\n delayOpen={delayOpen}\n interactionType={interactionType}\n isOpen={isOpen}\n onOpen={onOpen}\n placement={placement}\n showArrow={tooltipType === TooltipType.TOOLTIP ? showArrow : false}\n springAnimationComponent={springAnimationComponent}\n triggerComponent={getComponentFromProps(triggerComponent)}\n zIndex={zIndex}\n />\n );\n};\n\nconst tooltipProps = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n placement: PropTypes.oneOf(positions).description('Tooltip position').defaultValue(PopperPositions.TOP),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).description('Tooltip content').isRequired,\n delayClose: PropTypes.string.description('Delay to close the tooltip').defaultValue(DEFAULT_DELAY_CLOSE),\n delayOpen: PropTypes.string.description('Delay to open the tooltip ').defaultValue(DEFAULT_DELAY_OPEN),\n interactionType: PropTypes.oneOf(interactions)\n .description('A type indicating how to open/close the tooltip')\n .defaultValue(PopperInteractions.HOVER),\n triggerComponent: PropTypes.element.description(\n `The component that will open/close the tooltip. \n Cannot be used with disabled elements. \n https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`,\n ).isRequired,\n isOpen: PropTypes.bool.description('Whether the tooltip is visible or not').defaultValue(undefined),\n onOpen: PropTypes.func.description('Handler when the tooltip opens'),\n springAnimationComponent: PropTypes.element.description('Spring animation component'),\n showArrow: PropTypes.bool.description('Whether to show an arrow or not').defaultValue(true),\n className: PropTypes.string.description('css class'),\n tooltipType: PropTypes.oneOf(['tooltip', 'toolbar']).description('Type of tooltip').defaultValue(TooltipType.TOOLTIP),\n zIndex: PropTypes.number.description('z-index value assigned to the tooltip').defaultValue(undefined),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the tooltip container element'),\n};\n\nDSTooltip.propTypes = tooltipProps;\n\nconst TooltipWithSchema = describe(DSTooltip);\nTooltipWithSchema.propTypes = tooltipProps;\n\nexport { DSTooltip, TooltipContainer, TooltipText, TooltipWithSchema };\nexport default DSTooltip;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,YAAY;AAElB,MAAM,mBAAmB,kBAAkB,OAAO,WAAW,OAAO,OAAO;AAAA,EACzE,+BAA+B,CAAC,aAAa;AAAA;AAE/C,MAAM,cAAc,kBAAkB,QAAQ,WAAW,QAAQ,OAAO;AAAA,EACtE,+BAA+B,CAAC,aAAa;AAAA;AAG/C,MAAM,YAAY,CAAC,OAiBb;AAjBa,eACjB;AAAA,qBAAiB;AAAA,IACjB;AAAA,IACA,YAAY,gBAAgB;AAAA,IAC5B,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,kBAAkB,mBAAmB;AAAA,IACrC,mBAAmB;AAAA,IACnB,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,SAAS,MAAM;AAAA,IACf,2BAA2B;AAAA,IAC3B,cAAc,YAAY;AAAA,IAC1B,YAAY;AAAA,IACZ;AAAA,MAfiB,IAgBd,8BAhBc,IAgBd;AAAA,IAfH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,EAAE,cAAc,qBAAqB,0BAA0B;AAErE,MAAI,UAAU;AACd,MAAI,OAAO,UAAU,UAAU;AAC7B,cAAU,qCAAC,aAAD,MAAc;AAAA;AAE1B,SACE,qCAAC,UAAD;AAAA,IACE,WAAW;AAAA,IACX,kBACE,qCAAC,kBAAD,gDACM,iBACA,oBAFN;AAAA,MAGE,WAAW,sBAAsB,eAAe;AAAA,MAChD;AAAA,QAEC;AAAA,IAGL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,gBAAgB,YAAY,UAAU,YAAY;AAAA,IAC7D;AAAA,IACA,kBAAkB,sBAAsB;AAAA,IACxC;AAAA;AAAA;AAKN,MAAM,eAAe;AAAA,EACnB,gBAAgB,UAAU,OAAO,YAAY;AAAA,EAC7C,WAAW,UAAU,MAAM,WAAW,YAAY,oBAAoB,aAAa,gBAAgB;AAAA,EACnG,OAAO,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,UAAU,YAAY,mBAAmB;AAAA,EACjG,YAAY,UAAU,OAAO,YAAY,8BAA8B,aAAa;AAAA,EACpF,WAAW,UAAU,OAAO,YAAY,8BAA8B,aAAa;AAAA,EACnF,iBAAiB,UAAU,MAAM,cAC9B,YAAY,mDACZ,aAAa,mBAAmB;AAAA,EACnC,kBAAkB,UAAU,QAAQ,YAClC;AAAA;AAAA,4EAGA;AAAA,EACF,QAAQ,UAAU,KAAK,YAAY,yCAAyC,aAAa;AAAA,EACzF,QAAQ,UAAU,KAAK,YAAY;AAAA,EACnC,0BAA0B,UAAU,QAAQ,YAAY;AAAA,EACxD,WAAW,UAAU,KAAK,YAAY,mCAAmC,aAAa;AAAA,EACtF,WAAW,UAAU,OAAO,YAAY;AAAA,EACxC,aAAa,UAAU,MAAM,CAAC,WAAW,YAAY,YAAY,mBAAmB,aAAa,YAAY;AAAA,EAC7G,QAAQ,UAAU,OAAO,YAAY,yCAAyC,aAAa;AAAA,EAC3F,UAAU,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,SAAS,YAAY;AAAA;AAGhF,UAAU,YAAY;AAEtB,MAAM,oBAAoB,SAAS;AACnC,kBAAkB,YAAY;AAG9B,IAAO,oBAAQ;",
6
6
  "names": []
7
7
  }
@@ -21,7 +21,7 @@ import * as React from "react";
21
21
  import React2, { useState, useCallback, useEffect, useRef } from "react";
22
22
  import { describe } from "react-desc";
23
23
  import { DSPortal } from "@elliemae/ds-portal";
24
- import { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from "@elliemae/ds-shared/constants";
24
+ import { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from "@elliemae/ds-shared";
25
25
  import { usePopper } from "react-popper";
26
26
  import { tooltipPositions } from "./utils/tooltipPositions";
27
27
  import { TooltipType } from "./TooltipType";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/v2/DSTooltip.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useState, useCallback, useEffect, useRef } from 'react';\nimport { describe } from 'react-desc';\nimport { DSPortal } from '@elliemae/ds-portal';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared/constants';\nimport { usePopper } from 'react-popper';\nimport { tooltipPositions } from './utils/tooltipPositions';\nimport { TooltipType } from './TooltipType';\nimport {\n StyledTooltipContainer,\n StyledTriggerComponentContainer,\n StyledTooltipText,\n StyledAnimatedTooltip,\n} from './styles';\nimport { DSTooltipArrow } from './DSTooltipArrow';\nimport { DSTooltipT } from '.';\nimport { tooltipV2Props } from './propTypes';\nimport { setMultipleRefs } from './utils/setMultipleRefs';\n\nconst DSTooltipV2 = ({\n containerProps = {},\n innerRef,\n placement = tooltipPositions.BOTTOM,\n title = '',\n delayClose = DEFAULT_DELAY_CLOSE,\n delayOpen = DEFAULT_DELAY_OPEN,\n triggerComponent = null,\n className = '',\n getIsOpen = () => null,\n onOpen = () => null,\n tooltipType = TooltipType.TOOLTIP,\n showArrow = true,\n offset = [0, 14],\n zIndex = 10,\n extraModifiers = {},\n}: DSTooltipT): React.ReactElement => {\n const [showTooltip, setShowTooltip] = useState<boolean>(false);\n const [isAnimating, setIsAnimating] = useState<boolean>(false);\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(triggerComponent);\n const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);\n const [arrowElement, setArrowElement] = useState<HTMLDivElement | null>(null);\n const timerOpen = useRef(null);\n const timerClosed = useRef(null);\n\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n placement,\n modifiers: [\n { name: 'hide', enabled: true },\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: tooltipType === TooltipType.TOOLBAR ? [0, 0] : offset,\n },\n },\n { name: 'arrow', options: { element: arrowElement } },\n { ...extraModifiers },\n ],\n });\n\n const handleShowTooltipOn = useCallback(() => {\n timerOpen.current = setTimeout(() => {\n setShowTooltip(true);\n setIsAnimating(true);\n getIsOpen(true);\n onOpen();\n }, delayOpen);\n }, [delayOpen, getIsOpen, onOpen]);\n\n const handleShowTooltipOff = useCallback(() => {\n timerClosed.current = setTimeout(() => {\n setShowTooltip(false);\n setIsAnimating(true);\n getIsOpen(false);\n }, delayClose);\n }, [delayClose, getIsOpen]);\n\n const handleKeyDown = useCallback((e) => {\n if (e.key === 'Escape') {\n e.target.blur();\n }\n }, []);\n\n const checkAnimationStatus = useCallback(() => {\n if (!showTooltip) {\n setIsAnimating(false);\n }\n }, [showTooltip]);\n\n useEffect(\n () => () => {\n clearTimeout(timerClosed.current);\n clearTimeout(timerOpen.current);\n },\n [],\n );\n\n return (\n <>\n <StyledTriggerComponentContainer\n ref={setReferenceElement}\n onMouseEnter={handleShowTooltipOn}\n onMouseLeave={handleShowTooltipOff}\n onFocus={handleShowTooltipOn}\n onBlur={handleShowTooltipOff}\n onKeyDown={handleKeyDown}\n >\n {triggerComponent}\n </StyledTriggerComponentContainer>\n {isAnimating || showTooltip ? (\n <DSPortal>\n <StyledTooltipContainer\n className={className}\n showTooltip={showTooltip}\n tooltipType={tooltipType}\n data-testid=\"ds-tooltip-container\"\n ref={(ref) => setMultipleRefs(setPopperElement, innerRef)(ref)}\n style={{ ...styles.popper, zIndex }}\n {...containerProps}\n {...attributes.popper}\n >\n <StyledAnimatedTooltip\n showTooltip={showTooltip}\n data-testid=\"ds-tooltip\"\n onAnimationEnd={checkAnimationStatus}\n >\n <StyledTooltipText>{title}</StyledTooltipText>\n {tooltipType === TooltipType.TOOLTIP && showArrow ? (\n <DSTooltipArrow\n arrowElementRef={setArrowElement}\n style={styles.arrow}\n placement={attributes.popper ? attributes.popper['data-popper-placement'] : 'bottom'}\n />\n ) : null}\n </StyledAnimatedTooltip>\n </StyledTooltipContainer>\n </DSPortal>\n ) : null}\n </>\n );\n};\n\nDSTooltipV2.propTypes = tooltipV2Props;\n\nconst TooltipV2WithSchema = describe(DSTooltipV2);\nTooltipV2WithSchema.propTypes = tooltipV2Props;\n\nexport { DSTooltipV2, TooltipV2WithSchema };\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useState, useCallback, useEffect, useRef } from 'react';\nimport { describe } from 'react-desc';\nimport { DSPortal } from '@elliemae/ds-portal';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared';\nimport { usePopper } from 'react-popper';\nimport { tooltipPositions } from './utils/tooltipPositions';\nimport { TooltipType } from './TooltipType';\nimport {\n StyledTooltipContainer,\n StyledTriggerComponentContainer,\n StyledTooltipText,\n StyledAnimatedTooltip,\n} from './styles';\nimport { DSTooltipArrow } from './DSTooltipArrow';\nimport { DSTooltipT } from '.';\nimport { tooltipV2Props } from './propTypes';\nimport { setMultipleRefs } from './utils/setMultipleRefs';\n\nconst DSTooltipV2 = ({\n containerProps = {},\n innerRef,\n placement = tooltipPositions.BOTTOM,\n title = '',\n delayClose = DEFAULT_DELAY_CLOSE,\n delayOpen = DEFAULT_DELAY_OPEN,\n triggerComponent = null,\n className = '',\n getIsOpen = () => null,\n onOpen = () => null,\n tooltipType = TooltipType.TOOLTIP,\n showArrow = true,\n offset = [0, 14],\n zIndex = 10,\n extraModifiers = {},\n}: DSTooltipT): React.ReactElement => {\n const [showTooltip, setShowTooltip] = useState<boolean>(false);\n const [isAnimating, setIsAnimating] = useState<boolean>(false);\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(triggerComponent);\n const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);\n const [arrowElement, setArrowElement] = useState<HTMLDivElement | null>(null);\n const timerOpen = useRef(null);\n const timerClosed = useRef(null);\n\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n placement,\n modifiers: [\n { name: 'hide', enabled: true },\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: tooltipType === TooltipType.TOOLBAR ? [0, 0] : offset,\n },\n },\n { name: 'arrow', options: { element: arrowElement } },\n { ...extraModifiers },\n ],\n });\n\n const handleShowTooltipOn = useCallback(() => {\n timerOpen.current = setTimeout(() => {\n setShowTooltip(true);\n setIsAnimating(true);\n getIsOpen(true);\n onOpen();\n }, delayOpen);\n }, [delayOpen, getIsOpen, onOpen]);\n\n const handleShowTooltipOff = useCallback(() => {\n timerClosed.current = setTimeout(() => {\n setShowTooltip(false);\n setIsAnimating(true);\n getIsOpen(false);\n }, delayClose);\n }, [delayClose, getIsOpen]);\n\n const handleKeyDown = useCallback((e) => {\n if (e.key === 'Escape') {\n e.target.blur();\n }\n }, []);\n\n const checkAnimationStatus = useCallback(() => {\n if (!showTooltip) {\n setIsAnimating(false);\n }\n }, [showTooltip]);\n\n useEffect(\n () => () => {\n clearTimeout(timerClosed.current);\n clearTimeout(timerOpen.current);\n },\n [],\n );\n\n return (\n <>\n <StyledTriggerComponentContainer\n ref={setReferenceElement}\n onMouseEnter={handleShowTooltipOn}\n onMouseLeave={handleShowTooltipOff}\n onFocus={handleShowTooltipOn}\n onBlur={handleShowTooltipOff}\n onKeyDown={handleKeyDown}\n >\n {triggerComponent}\n </StyledTriggerComponentContainer>\n {isAnimating || showTooltip ? (\n <DSPortal>\n <StyledTooltipContainer\n className={className}\n showTooltip={showTooltip}\n tooltipType={tooltipType}\n data-testid=\"ds-tooltip-container\"\n ref={(ref) => setMultipleRefs(setPopperElement, innerRef)(ref)}\n style={{ ...styles.popper, zIndex }}\n {...containerProps}\n {...attributes.popper}\n >\n <StyledAnimatedTooltip\n showTooltip={showTooltip}\n data-testid=\"ds-tooltip\"\n onAnimationEnd={checkAnimationStatus}\n >\n <StyledTooltipText>{title}</StyledTooltipText>\n {tooltipType === TooltipType.TOOLTIP && showArrow ? (\n <DSTooltipArrow\n arrowElementRef={setArrowElement}\n style={styles.arrow}\n placement={attributes.popper ? attributes.popper['data-popper-placement'] : 'bottom'}\n />\n ) : null}\n </StyledAnimatedTooltip>\n </StyledTooltipContainer>\n </DSPortal>\n ) : null}\n </>\n );\n};\n\nDSTooltipV2.propTypes = tooltipV2Props;\n\nconst TooltipV2WithSchema = describe(DSTooltipV2);\nTooltipV2WithSchema.propTypes = tooltipV2Props;\n\nexport { DSTooltipV2, TooltipV2WithSchema };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAEA;AACA;AAEA,MAAM,cAAc,CAAC;AAAA,EACnB,iBAAiB;AAAA,EACjB;AAAA,EACA,YAAY,iBAAiB;AAAA,EAC7B,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,YAAY,MAAM;AAAA,EAClB,SAAS,MAAM;AAAA,EACf,cAAc,YAAY;AAAA,EAC1B,YAAY;AAAA,EACZ,SAAS,CAAC,GAAG;AAAA,EACb,SAAS;AAAA,EACT,iBAAiB;AAAA,MACmB;AACpC,QAAM,CAAC,aAAa,kBAAkB,SAAkB;AACxD,QAAM,CAAC,aAAa,kBAAkB,SAAkB;AACxD,QAAM,CAAC,kBAAkB,uBAAuB,SAA6B;AAC7E,QAAM,CAAC,eAAe,oBAAoB,SAAgC;AAC1E,QAAM,CAAC,cAAc,mBAAmB,SAAgC;AACxE,QAAM,YAAY,OAAO;AACzB,QAAM,cAAc,OAAO;AAE3B,QAAM,EAAE,QAAQ,eAAe,UAAU,kBAAkB,eAAe;AAAA,IACxE;AAAA,IACA,WAAW;AAAA,MACT,EAAE,MAAM,QAAQ,SAAS;AAAA,MACzB;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS;AAAA,UACP,QAAQ,gBAAgB,YAAY,UAAU,CAAC,GAAG,KAAK;AAAA;AAAA;AAAA,MAG3D,EAAE,MAAM,SAAS,SAAS,EAAE,SAAS;AAAA,MACrC,mBAAK;AAAA;AAAA;AAIT,QAAM,sBAAsB,YAAY,MAAM;AAC5C,cAAU,UAAU,WAAW,MAAM;AACnC,qBAAe;AACf,qBAAe;AACf,gBAAU;AACV;AAAA,OACC;AAAA,KACF,CAAC,WAAW,WAAW;AAE1B,QAAM,uBAAuB,YAAY,MAAM;AAC7C,gBAAY,UAAU,WAAW,MAAM;AACrC,qBAAe;AACf,qBAAe;AACf,gBAAU;AAAA,OACT;AAAA,KACF,CAAC,YAAY;AAEhB,QAAM,gBAAgB,YAAY,CAAC,MAAM;AACvC,QAAI,EAAE,QAAQ,UAAU;AACtB,QAAE,OAAO;AAAA;AAAA,KAEV;AAEH,QAAM,uBAAuB,YAAY,MAAM;AAC7C,QAAI,CAAC,aAAa;AAChB,qBAAe;AAAA;AAAA,KAEhB,CAAC;AAEJ,YACE,MAAM,MAAM;AACV,iBAAa,YAAY;AACzB,iBAAa,UAAU;AAAA,KAEzB;AAGF,SACE,4DACE,qCAAC,iCAAD;AAAA,IACE,KAAK;AAAA,IACL,cAAc;AAAA,IACd,cAAc;AAAA,IACd,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,WAAW;AAAA,KAEV,mBAEF,eAAe,cACd,qCAAC,UAAD,MACE,qCAAC,wBAAD;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAY;AAAA,IACZ,KAAK,CAAC,QAAQ,gBAAgB,kBAAkB,UAAU;AAAA,IAC1D,OAAO,iCAAK,OAAO,SAAZ,EAAoB;AAAA,KACvB,iBACA,WAAW,SAEf,qCAAC,uBAAD;AAAA,IACE;AAAA,IACA,eAAY;AAAA,IACZ,gBAAgB;AAAA,KAEhB,qCAAC,mBAAD,MAAoB,QACnB,gBAAgB,YAAY,WAAW,YACtC,qCAAC,gBAAD;AAAA,IACE,iBAAiB;AAAA,IACjB,OAAO,OAAO;AAAA,IACd,WAAW,WAAW,SAAS,WAAW,OAAO,2BAA2B;AAAA,OAE5E,UAIR;AAAA;AAKV,YAAY,YAAY;AAExB,MAAM,sBAAsB,SAAS;AACrC,oBAAoB,YAAY;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { PropTypes } from "react-desc";
3
- import { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from "@elliemae/ds-shared/constants";
3
+ import { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from "@elliemae/ds-shared";
4
4
  import { TooltipType } from "./TooltipType";
5
5
  import { tooltipPositions } from "./utils/tooltipPositions";
6
6
  const tooltipV2Props = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/v2/propTypes.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { PropTypes } from 'react-desc';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared/constants';\nimport { TooltipType } from './TooltipType';\nimport { tooltipPositions } from './utils/tooltipPositions';\n\nconst tooltipV2Props = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n placement: PropTypes.oneOf(Object.values(tooltipPositions))\n .description('Tooltip position')\n .defaultValue(tooltipPositions.TOP),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).description('Tooltip content').isRequired,\n delayClose: PropTypes.number.description('Delay to close the tooltip').defaultValue(DEFAULT_DELAY_CLOSE),\n delayOpen: PropTypes.number.description('Delay to open the tooltip ').defaultValue(DEFAULT_DELAY_OPEN),\n triggerComponent: PropTypes.element.description(\n `The component that will open/close the tooltip. \n Cannot be used with disabled elements. \n https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`,\n ).isRequired,\n getIsOpen: PropTypes.func.description('Whether the tooltip is visible or not'),\n onOpen: PropTypes.func.description('Callback when the tooltip opens'),\n showArrow: PropTypes.bool.description('Whether to show an arrow or not').defaultValue(true),\n className: PropTypes.string.description('css class'),\n tooltipType: PropTypes.oneOf(['tooltip', 'toolbar']).description('Type of tooltip').defaultValue(TooltipType.TOOLTIP),\n zIndex: PropTypes.number.description('z-index value assigned to the tooltip').defaultValue(undefined),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the tooltip container element'),\n offset: PropTypes.arrayOf(PropTypes.number).description('Custom Offset for the tooltip [x, y]'),\n};\n\nexport { tooltipV2Props };\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { PropTypes } from 'react-desc';\nimport { DEFAULT_DELAY_OPEN, DEFAULT_DELAY_CLOSE } from '@elliemae/ds-shared';\nimport { TooltipType } from './TooltipType';\nimport { tooltipPositions } from './utils/tooltipPositions';\n\nconst tooltipV2Props = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n placement: PropTypes.oneOf(Object.values(tooltipPositions))\n .description('Tooltip position')\n .defaultValue(tooltipPositions.TOP),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).description('Tooltip content').isRequired,\n delayClose: PropTypes.number.description('Delay to close the tooltip').defaultValue(DEFAULT_DELAY_CLOSE),\n delayOpen: PropTypes.number.description('Delay to open the tooltip ').defaultValue(DEFAULT_DELAY_OPEN),\n triggerComponent: PropTypes.element.description(\n `The component that will open/close the tooltip. \n Cannot be used with disabled elements. \n https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`,\n ).isRequired,\n getIsOpen: PropTypes.func.description('Whether the tooltip is visible or not'),\n onOpen: PropTypes.func.description('Callback when the tooltip opens'),\n showArrow: PropTypes.bool.description('Whether to show an arrow or not').defaultValue(true),\n className: PropTypes.string.description('css class'),\n tooltipType: PropTypes.oneOf(['tooltip', 'toolbar']).description('Type of tooltip').defaultValue(TooltipType.TOOLTIP),\n zIndex: PropTypes.number.description('z-index value assigned to the tooltip').defaultValue(undefined),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the tooltip container element'),\n offset: PropTypes.arrayOf(PropTypes.number).description('Custom Offset for the tooltip [x, y]'),\n};\n\nexport { tooltipV2Props };\n"],
5
5
  "mappings": "AAAA;ACAA;AACA;AACA;AACA;AAEA,MAAM,iBAAiB;AAAA,EACrB,gBAAgB,UAAU,OAAO,YAAY;AAAA,EAC7C,WAAW,UAAU,MAAM,OAAO,OAAO,mBACtC,YAAY,oBACZ,aAAa,iBAAiB;AAAA,EACjC,OAAO,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,UAAU,YAAY,mBAAmB;AAAA,EACjG,YAAY,UAAU,OAAO,YAAY,8BAA8B,aAAa;AAAA,EACpF,WAAW,UAAU,OAAO,YAAY,8BAA8B,aAAa;AAAA,EACnF,kBAAkB,UAAU,QAAQ,YAClC;AAAA;AAAA,8EAGA;AAAA,EACF,WAAW,UAAU,KAAK,YAAY;AAAA,EACtC,QAAQ,UAAU,KAAK,YAAY;AAAA,EACnC,WAAW,UAAU,KAAK,YAAY,mCAAmC,aAAa;AAAA,EACtF,WAAW,UAAU,OAAO,YAAY;AAAA,EACxC,aAAa,UAAU,MAAM,CAAC,WAAW,YAAY,YAAY,mBAAmB,aAAa,YAAY;AAAA,EAC7G,QAAQ,UAAU,OAAO,YAAY,yCAAyC,aAAa;AAAA,EAC3F,UAAU,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,SAAS,YAAY;AAAA,EAC9E,QAAQ,UAAU,QAAQ,UAAU,QAAQ,YAAY;AAAA;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-tooltip",
3
- "version": "3.0.0-next.14",
3
+ "version": "3.0.0-next.18",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Tooltip",
6
6
  "files": [
@@ -95,15 +95,15 @@
95
95
  "indent": 4
96
96
  },
97
97
  "dependencies": {
98
- "@elliemae/ds-button": "3.0.0-next.14",
99
- "@elliemae/ds-classnames": "3.0.0-next.14",
100
- "@elliemae/ds-popper": "3.0.0-next.14",
101
- "@elliemae/ds-popperjs": "3.0.0-next.14",
102
- "@elliemae/ds-portal": "3.0.0-next.14",
103
- "@elliemae/ds-props-helpers": "3.0.0-next.14",
104
- "@elliemae/ds-shared": "3.0.0-next.14",
105
- "@elliemae/ds-system": "3.0.0-next.14",
106
- "@elliemae/ds-utilities": "3.0.0-next.14",
98
+ "@elliemae/ds-button": "3.0.0-next.18",
99
+ "@elliemae/ds-classnames": "3.0.0-next.18",
100
+ "@elliemae/ds-popper": "3.0.0-next.18",
101
+ "@elliemae/ds-popperjs": "3.0.0-next.18",
102
+ "@elliemae/ds-portal": "3.0.0-next.18",
103
+ "@elliemae/ds-props-helpers": "3.0.0-next.18",
104
+ "@elliemae/ds-shared": "3.0.0-next.18",
105
+ "@elliemae/ds-system": "3.0.0-next.18",
106
+ "@elliemae/ds-utilities": "3.0.0-next.18",
107
107
  "@popperjs/core": "~2.9.3",
108
108
  "react-desc": "~4.1.3",
109
109
  "react-popper": "~2.2.5"