@elliemae/ds-popper 3.15.0 → 3.16.0-next.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,13 +35,13 @@ __export(DSPopper_exports, {
35
35
  module.exports = __toCommonJS(DSPopper_exports);
36
36
  var React = __toESM(require("react"));
37
37
  var import_jsx_runtime = require("react/jsx-runtime");
38
- var import_ds_utilities = require("@elliemae/ds-utilities");
39
- var import_PopperImpl = __toESM(require("./PopperImpl"));
40
- var import_positions = require("./positions");
41
- var import_interaction = require("./interaction");
42
- var import_props = require("./props");
43
- var import_interaction2 = require("./interaction");
44
- var import_positions2 = require("./positions");
38
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
39
+ var import_PopperImpl = __toESM(require("./PopperImpl.js"));
40
+ var import_positions = require("./positions.js");
41
+ var import_interaction = require("./interaction.js");
42
+ var import_props = require("./props.js");
43
+ var import_interaction2 = require("./interaction.js");
44
+ var import_positions2 = require("./positions.js");
45
45
  const DSPopper = ({
46
46
  containerProps,
47
47
  arrowGap,
@@ -113,7 +113,7 @@ const DSPopper = ({
113
113
  DSPopper.propTypes = import_props.popperProps;
114
114
  DSPopper.defaultProps = import_props.defaultProps;
115
115
  DSPopper.displayName = "DSPopper";
116
- const DSPopperWithSchema = (0, import_ds_utilities.describe)(DSPopper);
116
+ const DSPopperWithSchema = (0, import_ds_props_helpers.describe)(DSPopper);
117
117
  DSPopperWithSchema.propTypes = import_props.popperProps;
118
118
  var DSPopper_default = DSPopper;
119
119
  //# sourceMappingURL=DSPopper.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/DSPopper.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React from 'react';\nimport { describe } from '@elliemae/ds-utilities';\nimport PopperImpl from './PopperImpl';\nimport { Position } from './positions';\nimport { Interaction } from './interaction';\nimport { popperProps, defaultProps } from './props';\n\nconst DSPopper = ({\n containerProps,\n arrowGap,\n arrowSize,\n blockName,\n contentOffset,\n contentStyle,\n contentComponent,\n delayClose,\n delayOpen,\n interactionType,\n isOpen, // if this is set DSPopper would be a controlled component if not, an uncontrolled one\n onOpen,\n onClose,\n onPlacementChange,\n placement,\n preventOverflow,\n showArrow,\n closeAnimationConfig,\n openAnimationConfig,\n usePortal,\n triggerComponent,\n wrapExtraComponent,\n getTargetFromChildren,\n getContentFromChildren,\n modifiers,\n triggerRef,\n children: customPopper,\n renderReference,\n referenceNode,\n zIndex,\n hideIfNotVisible,\n}): JSX.Element => (\n <PopperImpl\n arrowGap={arrowGap}\n arrowSize={arrowSize}\n blockName={blockName}\n closeAnimationConfig={closeAnimationConfig}\n containerProps={containerProps}\n contentComponent={contentComponent}\n contentOffset={contentOffset}\n contentStyle={contentStyle}\n delayClose={delayClose}\n delayOpen={delayOpen}\n getContentFromChildren={getContentFromChildren}\n getTargetFromChildren={getTargetFromChildren}\n interactionType={interactionType}\n isOpen={isOpen}\n modifiers={modifiers}\n onOpen={onOpen}\n onClose={onClose}\n onPlacementChange={onPlacementChange}\n openAnimationConfig={openAnimationConfig}\n placement={placement}\n preventOverflow={preventOverflow}\n referenceNode={referenceNode}\n renderReference={renderReference}\n showArrow={showArrow}\n triggerComponent={triggerComponent}\n triggerRef={triggerRef}\n usePortal={usePortal}\n wrapExtraComponent={wrapExtraComponent}\n zIndex={zIndex}\n hideIfNotVisible={hideIfNotVisible}\n >\n {customPopper}\n </PopperImpl>\n);\n\n// @deprecated: There's the NEW (not finished) popover that uses its own popper implementation.\nDSPopper.propTypes = popperProps;\nDSPopper.defaultProps = defaultProps;\nDSPopper.displayName = 'DSPopper';\nconst DSPopperWithSchema = describe(DSPopper);\nDSPopperWithSchema.propTypes = popperProps;\n\nexport { Interaction as PopperInteractions, Position as PopperPositions, DSPopperWithSchema, DSPopper };\n\nexport { interactions } from './interaction';\nexport { positions } from './positions';\n\nexport default DSPopper;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADwCrB;AAvCF,0BAAyB;AACzB,wBAAuB;AACvB,uBAAyB;AACzB,yBAA4B;AAC5B,mBAA0C;AAgF1C,IAAAA,sBAA6B;AAC7B,IAAAC,oBAA0B;AA/E1B,MAAM,WAAW,CAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE;AAAA,EAAC,kBAAAC;AAAA,EAAA;AAAA,IACC;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,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,IACA;AAAA,IAEC;AAAA;AACH;AAIF,SAAS,YAAY;AACrB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,MAAM,yBAAqB,8BAAS,QAAQ;AAC5C,mBAAmB,YAAY;AAO/B,IAAO,mBAAQ;",
4
+ "sourcesContent": ["import React from 'react';\nimport { describe } from '@elliemae/ds-props-helpers';\nimport PopperImpl from './PopperImpl.js';\nimport { Position } from './positions.js';\nimport { Interaction } from './interaction.js';\nimport { popperProps, defaultProps } from './props.js';\n\nconst DSPopper = ({\n containerProps,\n arrowGap,\n arrowSize,\n blockName,\n contentOffset,\n contentStyle,\n contentComponent,\n delayClose,\n delayOpen,\n interactionType,\n isOpen, // if this is set DSPopper would be a controlled component if not, an uncontrolled one\n onOpen,\n onClose,\n onPlacementChange,\n placement,\n preventOverflow,\n showArrow,\n closeAnimationConfig,\n openAnimationConfig,\n usePortal,\n triggerComponent,\n wrapExtraComponent,\n getTargetFromChildren,\n getContentFromChildren,\n modifiers,\n triggerRef,\n children: customPopper,\n renderReference,\n referenceNode,\n zIndex,\n hideIfNotVisible,\n}): JSX.Element => (\n <PopperImpl\n arrowGap={arrowGap}\n arrowSize={arrowSize}\n blockName={blockName}\n closeAnimationConfig={closeAnimationConfig}\n containerProps={containerProps}\n contentComponent={contentComponent}\n contentOffset={contentOffset}\n contentStyle={contentStyle}\n delayClose={delayClose}\n delayOpen={delayOpen}\n getContentFromChildren={getContentFromChildren}\n getTargetFromChildren={getTargetFromChildren}\n interactionType={interactionType}\n isOpen={isOpen}\n modifiers={modifiers}\n onOpen={onOpen}\n onClose={onClose}\n onPlacementChange={onPlacementChange}\n openAnimationConfig={openAnimationConfig}\n placement={placement}\n preventOverflow={preventOverflow}\n referenceNode={referenceNode}\n renderReference={renderReference}\n showArrow={showArrow}\n triggerComponent={triggerComponent}\n triggerRef={triggerRef}\n usePortal={usePortal}\n wrapExtraComponent={wrapExtraComponent}\n zIndex={zIndex}\n hideIfNotVisible={hideIfNotVisible}\n >\n {customPopper}\n </PopperImpl>\n);\n\n// @deprecated: There's the NEW (not finished) popover that uses its own popper implementation.\nDSPopper.propTypes = popperProps;\nDSPopper.defaultProps = defaultProps;\nDSPopper.displayName = 'DSPopper';\nconst DSPopperWithSchema = describe(DSPopper);\nDSPopperWithSchema.propTypes = popperProps;\n\nexport { Interaction as PopperInteractions, Position as PopperPositions, DSPopperWithSchema, DSPopper };\n\nexport { interactions } from './interaction.js';\nexport { positions } from './positions.js';\n\nexport default DSPopper;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADwCrB;AAvCF,8BAAyB;AACzB,wBAAuB;AACvB,uBAAyB;AACzB,yBAA4B;AAC5B,mBAA0C;AAgF1C,IAAAA,sBAA6B;AAC7B,IAAAC,oBAA0B;AA/E1B,MAAM,WAAW,CAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE;AAAA,EAAC,kBAAAC;AAAA,EAAA;AAAA,IACC;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,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,IACA;AAAA,IAEC;AAAA;AACH;AAIF,SAAS,YAAY;AACrB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,MAAM,yBAAqB,kCAAS,QAAQ;AAC5C,mBAAmB,YAAY;AAO/B,IAAO,mBAAQ;",
6
6
  "names": ["import_interaction", "import_positions", "PopperImpl"]
7
7
  }
@@ -35,7 +35,7 @@ var import_react_popper = require("@elliemae/react-popper");
35
35
  var import_renderprops = require("react-spring/renderprops");
36
36
  var import_getComponentFromProps = __toESM(require("@elliemae/ds-utilities/getComponentFromProps"));
37
37
  var import_ds_overlay = __toESM(require("@elliemae/ds-overlay"));
38
- var import_getArrowStylesBySize = require("./getArrowStylesBySize");
38
+ var import_getArrowStylesBySize = require("./getArrowStylesBySize.js");
39
39
  const Content = import_renderprops.Keyframes.Spring({});
40
40
  const StyledDiv = import_ds_system.styled.div`
41
41
  z-index: ${({ zIndex, theme }) => zIndex ?? theme.zIndex.popper};
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/PopperContent.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable react/prop-types */\nimport React, { PureComponent } from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Popper } from '@elliemae/react-popper';\nimport { Keyframes, animated } from 'react-spring/renderprops';\nimport getComponentFromProps from '@elliemae/ds-utilities/getComponentFromProps';\nimport DSOverlay from '@elliemae/ds-overlay';\nimport { getArrowStylesBySize } from './getArrowStylesBySize';\n\nconst Content = Keyframes.Spring({});\nconst StyledDiv = styled.div`\n z-index: ${({ zIndex, theme }) => zIndex ?? theme.zIndex.popper};\n`;\n\nexport default class PopperContent extends PureComponent {\n // eslint-disable-next-line react/static-property-placement\n static defaultProps = { onContentDestroyed: () => null };\n\n constructor(props) {\n super(props);\n this.renderContent = this.renderContent.bind(this);\n this.renderArrow = this.renderArrow.bind(this);\n this.handleRestAnimation = this.handleRestAnimation.bind(this);\n }\n\n handleRestAnimation() {\n const { isOpen, onContentDestroyed } = this.props;\n if (!isOpen) {\n onContentDestroyed();\n }\n }\n\n renderArrow({ ref, style }, placement) {\n const { blockName, showArrow } = this.props;\n if (!showArrow) return null;\n return (\n <div\n key=\"popper-arrow\"\n ref={ref}\n className={`${blockName || 'popper'}__arrow`}\n data-placement={placement}\n style={{\n ...style,\n ...getArrowStylesBySize(placement, 25),\n }}\n >\n <svg viewBox=\"0 0 30 30\" style={{ verticalAlign: 'initial' }}>\n <path\n className=\"stroke\"\n d=\"M23.7,27.1L17,19.9C16.5,19.3,15.8,19,15,19s-1.6,0.3-2.1,0.9l-6.6,7.2C5.3,28.1,3.4,29,2,29h26\n C26.7,29,24.6,28.1,23.7,27.1z\"\n />\n <path\n className=\"fill\"\n d=\"M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z\"\n />\n </svg>\n </div>\n );\n }\n\n renderContent({ ref, style, placement, arrowProps, scheduleUpdate, outOfBoundaries }) {\n const {\n contentComponent,\n contentStyle,\n isOpen,\n closeAnimationConfig,\n openAnimationConfig,\n onMouseEnter,\n onMouseLeave,\n containerProps,\n zIndex,\n hideIfNotVisible,\n } = this.props;\n\n const computedStyle = {\n ...style,\n ...contentStyle,\n };\n return (\n <StyledDiv\n {...containerProps}\n data-placement={placement}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n style={computedStyle}\n data-testid=\"popper-container\"\n zIndex={zIndex}\n >\n <Content\n native\n onRest={this.handleRestAnimation}\n state={isOpen && (!outOfBoundaries || !hideIfNotVisible) ? 'open' : 'close'}\n states={{\n open: {\n ...openAnimationConfig,\n from: closeAnimationConfig.to,\n },\n close: closeAnimationConfig,\n }}\n >\n {(animationStyle) => (\n <animated.div ref={ref} style={animationStyle}>\n {getComponentFromProps(contentComponent, { scheduleUpdate }, [this.renderArrow(arrowProps, placement)])}\n </animated.div>\n )}\n </Content>\n </StyledDiv>\n );\n }\n\n render() {\n const {\n destroyed = false,\n onClickOutside = () => null,\n placement = 'bottom-start',\n modifiers = {},\n referenceNode,\n usePortal = true,\n } = this.props;\n return (\n <DSOverlay isOpen={!destroyed} onClickOutside={onClickOutside} usePortal={usePortal}>\n <Popper modifiers={modifiers} placement={placement} referenceElement={referenceNode}>\n {this.renderContent}\n </Popper>\n </DSOverlay>\n );\n }\n}\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "sourcesContent": ["/* eslint-disable react/prop-types */\nimport React, { PureComponent } from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Popper } from '@elliemae/react-popper';\nimport { Keyframes, animated } from 'react-spring/renderprops';\nimport getComponentFromProps from '@elliemae/ds-utilities/getComponentFromProps';\nimport DSOverlay from '@elliemae/ds-overlay';\nimport { getArrowStylesBySize } from './getArrowStylesBySize.js';\n\nconst Content = Keyframes.Spring({});\nconst StyledDiv = styled.div`\n z-index: ${({ zIndex, theme }) => zIndex ?? theme.zIndex.popper};\n`;\n\nexport default class PopperContent extends PureComponent {\n // eslint-disable-next-line react/static-property-placement\n static defaultProps = { onContentDestroyed: () => null };\n\n constructor(props) {\n super(props);\n this.renderContent = this.renderContent.bind(this);\n this.renderArrow = this.renderArrow.bind(this);\n this.handleRestAnimation = this.handleRestAnimation.bind(this);\n }\n\n handleRestAnimation() {\n const { isOpen, onContentDestroyed } = this.props;\n if (!isOpen) {\n onContentDestroyed();\n }\n }\n\n renderArrow({ ref, style }, placement) {\n const { blockName, showArrow } = this.props;\n if (!showArrow) return null;\n return (\n <div\n key=\"popper-arrow\"\n ref={ref}\n className={`${blockName || 'popper'}__arrow`}\n data-placement={placement}\n style={{\n ...style,\n ...getArrowStylesBySize(placement, 25),\n }}\n >\n <svg viewBox=\"0 0 30 30\" style={{ verticalAlign: 'initial' }}>\n <path\n className=\"stroke\"\n d=\"M23.7,27.1L17,19.9C16.5,19.3,15.8,19,15,19s-1.6,0.3-2.1,0.9l-6.6,7.2C5.3,28.1,3.4,29,2,29h26\n C26.7,29,24.6,28.1,23.7,27.1z\"\n />\n <path\n className=\"fill\"\n d=\"M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z\"\n />\n </svg>\n </div>\n );\n }\n\n renderContent({ ref, style, placement, arrowProps, scheduleUpdate, outOfBoundaries }) {\n const {\n contentComponent,\n contentStyle,\n isOpen,\n closeAnimationConfig,\n openAnimationConfig,\n onMouseEnter,\n onMouseLeave,\n containerProps,\n zIndex,\n hideIfNotVisible,\n } = this.props;\n\n const computedStyle = {\n ...style,\n ...contentStyle,\n };\n return (\n <StyledDiv\n {...containerProps}\n data-placement={placement}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n style={computedStyle}\n data-testid=\"popper-container\"\n zIndex={zIndex}\n >\n <Content\n native\n onRest={this.handleRestAnimation}\n state={isOpen && (!outOfBoundaries || !hideIfNotVisible) ? 'open' : 'close'}\n states={{\n open: {\n ...openAnimationConfig,\n from: closeAnimationConfig.to,\n },\n close: closeAnimationConfig,\n }}\n >\n {(animationStyle) => (\n <animated.div ref={ref} style={animationStyle}>\n {getComponentFromProps(contentComponent, { scheduleUpdate }, [this.renderArrow(arrowProps, placement)])}\n </animated.div>\n )}\n </Content>\n </StyledDiv>\n );\n }\n\n render() {\n const {\n destroyed = false,\n onClickOutside = () => null,\n placement = 'bottom-start',\n modifiers = {},\n referenceNode,\n usePortal = true,\n } = this.props;\n return (\n <DSOverlay isOpen={!destroyed} onClickOutside={onClickOutside} usePortal={usePortal}>\n <Popper modifiers={modifiers} placement={placement} referenceElement={referenceNode}>\n {this.renderContent}\n </Popper>\n </DSOverlay>\n );\n }\n}\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": "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",
6
6
  "names": ["getComponentFromProps", "DSOverlay"]
7
7
  }
@@ -35,8 +35,8 @@ var import_react = require("react");
35
35
  var import_ds_utilities = require("@elliemae/ds-utilities");
36
36
  var import_react_popper = require("@elliemae/react-popper");
37
37
  var import_memoize_one = __toESM(require("memoize-one"));
38
- var import_PopperContent = __toESM(require("./PopperContent"));
39
- var import_interaction = require("./interaction");
38
+ var import_PopperContent = __toESM(require("./PopperContent.js"));
39
+ var import_interaction = require("./interaction.js");
40
40
  class PopperImpl extends import_react.Component {
41
41
  constructor(props) {
42
42
  super(props);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/PopperImpl.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-lines */\nimport React, { Component } from 'react';\nimport { isFunction, get, isDOMTypeElement, getComponentFromProps, mergeRefs } from '@elliemae/ds-utilities';\nimport { Manager, Reference } from '@elliemae/react-popper';\nimport memoizeOne from 'memoize-one';\nimport PopperContent from './PopperContent';\nimport { Interaction } from './interaction';\n\nexport default class PopperImpl extends Component<any, any> {\n // we use safeIsMounted because isMounted is not allowed by React.\n safeIsMounted = false;\n\n handlePopperPlacementChange = memoizeOne((placement) => {\n const { onPlacementChange } = this.props;\n onPlacementChange(placement);\n });\n\n constructor(props) {\n super(props);\n this.state = {\n isOpen: false,\n destroyed: true,\n };\n // TODO: Fix the autobinding to remove this!!\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleTriggerClick = this.handleTriggerClick.bind(this);\n this.renderTarget = this.renderTarget.bind(this);\n this.updatePopoverState = this.updatePopoverState.bind(this);\n this.handlePopperPlacementChange = this.handlePopperPlacementChange.bind(this);\n this.handleDestroyContent = this.handleDestroyContent.bind(this);\n this.handleContentMouseEnter = this.handleContentMouseEnter.bind(this);\n this.handleContentMouseLeave = this.handleContentMouseLeave.bind(this);\n this.getInteractionObject = this.getInteractionObject.bind(this);\n this.setOpen = this.setOpen.bind(this);\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n }\n\n // this is needed to prevent setState on unmounted components\n componentDidMount() {\n this.safeIsMounted = true;\n }\n\n componentDidUpdate() {\n const { isOpen, destroyed } = this.state;\n if (isOpen === true && destroyed === true) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ destroyed: false });\n }\n }\n\n componentWillUnmount() {\n this.safeIsMounted = false;\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const { isOpen } = nextProps;\n const { prevPropIsOpen } = prevState;\n // todo: this causes multiple rerenders\n if (isOpen !== prevPropIsOpen) {\n return {\n isOpen,\n prevPropIsOpen: isOpen,\n };\n }\n return null;\n }\n\n getInteractionObject(interaction, referenceProps = {}) {\n const { isOpen } = this.props;\n if (isOpen !== undefined) return {};\n return (\n {\n [Interaction.CLICK]: {\n handlers: {\n onClick: this.handleTriggerClick,\n },\n canClose: () => true,\n },\n [Interaction.HOVER]: {\n handlers: {\n onMouseEnter: referenceProps.onMouseEnter || this.handleMouseEnter,\n onPointerEnter: referenceProps.onMouseEnter || this.handleMouseEnter,\n onMouseLeave: referenceProps.onMouseLeave || this.handleMouseLeave,\n onPointerLeave: referenceProps.onMouseLeave || this.handleMouseLeave,\n onClick: this.handleTriggerClick,\n },\n canClose: (isOnTrigger, isOnPopper) => !isOnTrigger && !isOnPopper,\n },\n }[interaction] || {\n handlers: {},\n canClose: () => true,\n }\n );\n }\n\n setOpen(opening) {\n const { onOpen } = this.props;\n const { prevPropIsOpen } = this.state;\n if (!this.safeIsMounted) return;\n\n if (prevPropIsOpen === undefined) {\n this.setState({\n isOpen: opening,\n destroyed: false,\n });\n }\n onOpen(opening);\n }\n\n open() {\n clearTimeout(this.closeTimer);\n const { delayOpen } = this.props;\n this.openTimer = setTimeout(() => this.setOpen(true), delayOpen);\n }\n\n close() {\n clearTimeout(this.openTimer);\n const { delayClose, onClose = () => null } = this.props;\n this.closeTimer = setTimeout(() => {\n this.setOpen(false);\n onClose();\n }, delayClose);\n }\n\n handleTriggerClick(e) {\n const { triggerComponent } = this.props;\n const { onClick } = get(triggerComponent, 'props') || {};\n\n this.open();\n\n if (isFunction(onClick)) onClick(e);\n }\n\n handleContentMouseEnter() {\n this.isMouseOverContent = true;\n }\n\n handleContentMouseLeave() {\n this.isMouseOverContent = false;\n const { onClose = () => null } = this.props;\n setTimeout(() => {\n if (!this.isMouseOverTarget) {\n this.setOpen(false);\n onClose();\n }\n }, 10);\n }\n\n handleMouseEnter() {\n this.isMouseOverTarget = true;\n this.open();\n }\n\n handleMouseLeave() {\n this.isMouseOverTarget = false;\n setTimeout(() => {\n if (!this.isMouseOverContent) {\n this.close();\n }\n }, 10);\n }\n\n updatePopoverState(popperData) {\n this.handlePopperPlacementChange(popperData.placement);\n return popperData;\n }\n\n handleDestroyContent() {\n this.setState({ destroyed: true });\n }\n\n renderTarget({ ref }) {\n const { isOpen } = this.state;\n const { triggerComponent, interactionType, renderReference } = this.props;\n\n const componentInnerRef = get(triggerComponent, ['props', 'innerRef'], () => null);\n const compRef = isDOMTypeElement(triggerComponent) ? { ref } : { innerRef: mergeRefs(ref, componentInnerRef) };\n\n const triggerHandler = this.getInteractionObject(interactionType, triggerComponent.props).handlers;\n\n const targetProps = {\n ...triggerHandler,\n ...compRef,\n 'aria-haspopup': true,\n 'aria-expanded': isOpen,\n };\n\n if (renderReference) {\n return renderReference({\n ref,\n ...targetProps,\n });\n }\n\n return getComponentFromProps(triggerComponent, targetProps);\n }\n\n render() {\n const { isOpen, destroyed } = this.state;\n\n const {\n placement,\n interactionType,\n showArrow,\n arrowSize,\n arrowGap,\n preventOverflow,\n children: customPopper,\n usePortal,\n blockName,\n contentComponent,\n openAnimationConfig,\n closeAnimationConfig,\n modifiers,\n referenceNode,\n containerProps,\n zIndex,\n hideIfNotVisible,\n } = this.props;\n\n const allModifiers = {\n offset: {\n enabled: showArrow,\n offset: `0, ${arrowSize + arrowGap}`,\n },\n preventOverflow: {\n enabled: true,\n padding: 0,\n boundariesElement: preventOverflow,\n },\n updatePopoverState: {\n enabled: true,\n fn: this.updatePopoverState,\n order: 900,\n },\n ...modifiers,\n };\n const triggerHandler = this.getInteractionObject(interactionType).handlers;\n\n const popperContentProps = {\n hideIfNotVisible,\n containerProps,\n isOpen,\n destroyed: isOpen ? false : destroyed,\n arrowSize,\n blockName,\n showArrow,\n modifiers: allModifiers,\n contentComponent,\n onContentDestroyed: this.handleDestroyContent,\n onClickOutside: () => this.close(),\n placement,\n usePortal,\n openAnimationConfig,\n closeAnimationConfig,\n onMouseEnter: interactionType === Interaction.HOVER ? this.handleContentMouseEnter : undefined,\n onMouseLeave: interactionType === Interaction.HOVER ? this.handleContentMouseLeave : undefined,\n referenceNode,\n zIndex,\n };\n\n if (customPopper && typeof customPopper === 'function') {\n return (\n <Manager>\n {customPopper({\n Reference,\n triggerHandler,\n content: <PopperContent {...popperContentProps} />,\n })}\n </Manager>\n );\n }\n\n return (\n <Manager>\n <Reference>{this.renderTarget}</Reference>\n <PopperContent {...popperContentProps} />\n </Manager>\n );\n }\n}\n\nexport { Reference, PopperContent };\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "sourcesContent": ["/* eslint-disable max-lines */\nimport React, { Component } from 'react';\nimport { isFunction, get, isDOMTypeElement, getComponentFromProps, mergeRefs } from '@elliemae/ds-utilities';\nimport { Manager, Reference } from '@elliemae/react-popper';\nimport memoizeOne from 'memoize-one';\nimport PopperContent from './PopperContent.js';\nimport { Interaction } from './interaction.js';\n\nexport default class PopperImpl extends Component<any, any> {\n // we use safeIsMounted because isMounted is not allowed by React.\n safeIsMounted = false;\n\n handlePopperPlacementChange = memoizeOne((placement) => {\n const { onPlacementChange } = this.props;\n onPlacementChange(placement);\n });\n\n constructor(props) {\n super(props);\n this.state = {\n isOpen: false,\n destroyed: true,\n };\n // TODO: Fix the autobinding to remove this!!\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleTriggerClick = this.handleTriggerClick.bind(this);\n this.renderTarget = this.renderTarget.bind(this);\n this.updatePopoverState = this.updatePopoverState.bind(this);\n this.handlePopperPlacementChange = this.handlePopperPlacementChange.bind(this);\n this.handleDestroyContent = this.handleDestroyContent.bind(this);\n this.handleContentMouseEnter = this.handleContentMouseEnter.bind(this);\n this.handleContentMouseLeave = this.handleContentMouseLeave.bind(this);\n this.getInteractionObject = this.getInteractionObject.bind(this);\n this.setOpen = this.setOpen.bind(this);\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n }\n\n // this is needed to prevent setState on unmounted components\n componentDidMount() {\n this.safeIsMounted = true;\n }\n\n componentDidUpdate() {\n const { isOpen, destroyed } = this.state;\n if (isOpen === true && destroyed === true) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ destroyed: false });\n }\n }\n\n componentWillUnmount() {\n this.safeIsMounted = false;\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const { isOpen } = nextProps;\n const { prevPropIsOpen } = prevState;\n // todo: this causes multiple rerenders\n if (isOpen !== prevPropIsOpen) {\n return {\n isOpen,\n prevPropIsOpen: isOpen,\n };\n }\n return null;\n }\n\n getInteractionObject(interaction, referenceProps = {}) {\n const { isOpen } = this.props;\n if (isOpen !== undefined) return {};\n return (\n {\n [Interaction.CLICK]: {\n handlers: {\n onClick: this.handleTriggerClick,\n },\n canClose: () => true,\n },\n [Interaction.HOVER]: {\n handlers: {\n onMouseEnter: referenceProps.onMouseEnter || this.handleMouseEnter,\n onPointerEnter: referenceProps.onMouseEnter || this.handleMouseEnter,\n onMouseLeave: referenceProps.onMouseLeave || this.handleMouseLeave,\n onPointerLeave: referenceProps.onMouseLeave || this.handleMouseLeave,\n onClick: this.handleTriggerClick,\n },\n canClose: (isOnTrigger, isOnPopper) => !isOnTrigger && !isOnPopper,\n },\n }[interaction] || {\n handlers: {},\n canClose: () => true,\n }\n );\n }\n\n setOpen(opening) {\n const { onOpen } = this.props;\n const { prevPropIsOpen } = this.state;\n if (!this.safeIsMounted) return;\n\n if (prevPropIsOpen === undefined) {\n this.setState({\n isOpen: opening,\n destroyed: false,\n });\n }\n onOpen(opening);\n }\n\n open() {\n clearTimeout(this.closeTimer);\n const { delayOpen } = this.props;\n this.openTimer = setTimeout(() => this.setOpen(true), delayOpen);\n }\n\n close() {\n clearTimeout(this.openTimer);\n const { delayClose, onClose = () => null } = this.props;\n this.closeTimer = setTimeout(() => {\n this.setOpen(false);\n onClose();\n }, delayClose);\n }\n\n handleTriggerClick(e) {\n const { triggerComponent } = this.props;\n const { onClick } = get(triggerComponent, 'props') || {};\n\n this.open();\n\n if (isFunction(onClick)) onClick(e);\n }\n\n handleContentMouseEnter() {\n this.isMouseOverContent = true;\n }\n\n handleContentMouseLeave() {\n this.isMouseOverContent = false;\n const { onClose = () => null } = this.props;\n setTimeout(() => {\n if (!this.isMouseOverTarget) {\n this.setOpen(false);\n onClose();\n }\n }, 10);\n }\n\n handleMouseEnter() {\n this.isMouseOverTarget = true;\n this.open();\n }\n\n handleMouseLeave() {\n this.isMouseOverTarget = false;\n setTimeout(() => {\n if (!this.isMouseOverContent) {\n this.close();\n }\n }, 10);\n }\n\n updatePopoverState(popperData) {\n this.handlePopperPlacementChange(popperData.placement);\n return popperData;\n }\n\n handleDestroyContent() {\n this.setState({ destroyed: true });\n }\n\n renderTarget({ ref }) {\n const { isOpen } = this.state;\n const { triggerComponent, interactionType, renderReference } = this.props;\n\n const componentInnerRef = get(triggerComponent, ['props', 'innerRef'], () => null);\n const compRef = isDOMTypeElement(triggerComponent) ? { ref } : { innerRef: mergeRefs(ref, componentInnerRef) };\n\n const triggerHandler = this.getInteractionObject(interactionType, triggerComponent.props).handlers;\n\n const targetProps = {\n ...triggerHandler,\n ...compRef,\n 'aria-haspopup': true,\n 'aria-expanded': isOpen,\n };\n\n if (renderReference) {\n return renderReference({\n ref,\n ...targetProps,\n });\n }\n\n return getComponentFromProps(triggerComponent, targetProps);\n }\n\n render() {\n const { isOpen, destroyed } = this.state;\n\n const {\n placement,\n interactionType,\n showArrow,\n arrowSize,\n arrowGap,\n preventOverflow,\n children: customPopper,\n usePortal,\n blockName,\n contentComponent,\n openAnimationConfig,\n closeAnimationConfig,\n modifiers,\n referenceNode,\n containerProps,\n zIndex,\n hideIfNotVisible,\n } = this.props;\n\n const allModifiers = {\n offset: {\n enabled: showArrow,\n offset: `0, ${arrowSize + arrowGap}`,\n },\n preventOverflow: {\n enabled: true,\n padding: 0,\n boundariesElement: preventOverflow,\n },\n updatePopoverState: {\n enabled: true,\n fn: this.updatePopoverState,\n order: 900,\n },\n ...modifiers,\n };\n const triggerHandler = this.getInteractionObject(interactionType).handlers;\n\n const popperContentProps = {\n hideIfNotVisible,\n containerProps,\n isOpen,\n destroyed: isOpen ? false : destroyed,\n arrowSize,\n blockName,\n showArrow,\n modifiers: allModifiers,\n contentComponent,\n onContentDestroyed: this.handleDestroyContent,\n onClickOutside: () => this.close(),\n placement,\n usePortal,\n openAnimationConfig,\n closeAnimationConfig,\n onMouseEnter: interactionType === Interaction.HOVER ? this.handleContentMouseEnter : undefined,\n onMouseLeave: interactionType === Interaction.HOVER ? this.handleContentMouseLeave : undefined,\n referenceNode,\n zIndex,\n };\n\n if (customPopper && typeof customPopper === 'function') {\n return (\n <Manager>\n {customPopper({\n Reference,\n triggerHandler,\n content: <PopperContent {...popperContentProps} />,\n })}\n </Manager>\n );\n }\n\n return (\n <Manager>\n <Reference>{this.renderTarget}</Reference>\n <PopperContent {...popperContentProps} />\n </Manager>\n );\n }\n}\n\nexport { Reference, PopperContent };\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": "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",
6
6
  "names": ["PopperContent", "memoizeOne", "PopperContent"]
7
7
  }
package/dist/cjs/index.js CHANGED
@@ -29,7 +29,7 @@ __export(src_exports, {
29
29
  });
30
30
  module.exports = __toCommonJS(src_exports);
31
31
  var React = __toESM(require("react"));
32
- __reExport(src_exports, require("./DSPopper"), module.exports);
33
- __reExport(src_exports, require("./getArrowStylesBySize"), module.exports);
34
- var import_DSPopper = __toESM(require("./DSPopper"));
32
+ __reExport(src_exports, require("./DSPopper.js"), module.exports);
33
+ __reExport(src_exports, require("./getArrowStylesBySize.js"), module.exports);
34
+ var import_DSPopper = __toESM(require("./DSPopper.js"));
35
35
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["export * from './DSPopper';\nexport * from './getArrowStylesBySize';\nexport { default } from './DSPopper';\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAc,uBAAd;AACA,wBAAc,mCADd;AAEA,sBAAwB;",
4
+ "sourcesContent": ["export * from './DSPopper.js';\nexport * from './getArrowStylesBySize.js';\nexport { default } from './DSPopper.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAc,0BAAd;AACA,wBAAc,sCADd;AAEA,sBAAwB;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "commonjs",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }
package/dist/cjs/props.js CHANGED
@@ -29,21 +29,21 @@ __export(props_exports, {
29
29
  });
30
30
  module.exports = __toCommonJS(props_exports);
31
31
  var React = __toESM(require("react"));
32
- var import_ds_utilities = require("@elliemae/ds-utilities");
33
- var import_positions = require("./positions");
34
- var import_interaction = require("./interaction");
32
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
33
+ var import_positions = require("./positions.js");
34
+ var import_interaction = require("./interaction.js");
35
35
  const popperProps = {
36
- hideIfNotVisible: import_ds_utilities.PropTypes.bool.description("Hide menu component if trigger component is not visible/scrolled away"),
37
- containerProps: import_ds_utilities.PropTypes.object.description("props to inject to popper wrapper"),
38
- arrowGap: import_ds_utilities.PropTypes.number.description("Space between the arrow and the popup"),
39
- onOpen: import_ds_utilities.PropTypes.func.description("callback for when menu changes from close to open"),
40
- onClose: import_ds_utilities.PropTypes.func.description("callback for when menu changes from open to close"),
41
- delayClose: import_ds_utilities.PropTypes.number.description("Time in ms to delay close of menu"),
42
- delayOpen: import_ds_utilities.PropTypes.number.description("Time in ms to delay open of menu"),
43
- onPlacementChange: import_ds_utilities.PropTypes.func.description("callback for when menu changes placement"),
44
- arrowSize: import_ds_utilities.PropTypes.number.description("Arrow size"),
45
- blockName: import_ds_utilities.PropTypes.oneOfType([import_ds_utilities.PropTypes.string, import_ds_utilities.PropTypes.object]).description("Bem blockname for the popper"),
46
- triggerComponent: import_ds_utilities.PropTypes.element.description(
36
+ hideIfNotVisible: import_ds_props_helpers.PropTypes.bool.description("Hide menu component if trigger component is not visible/scrolled away"),
37
+ containerProps: import_ds_props_helpers.PropTypes.object.description("props to inject to popper wrapper"),
38
+ arrowGap: import_ds_props_helpers.PropTypes.number.description("Space between the arrow and the popup"),
39
+ onOpen: import_ds_props_helpers.PropTypes.func.description("callback for when menu changes from close to open"),
40
+ onClose: import_ds_props_helpers.PropTypes.func.description("callback for when menu changes from open to close"),
41
+ delayClose: import_ds_props_helpers.PropTypes.number.description("Time in ms to delay close of menu"),
42
+ delayOpen: import_ds_props_helpers.PropTypes.number.description("Time in ms to delay open of menu"),
43
+ onPlacementChange: import_ds_props_helpers.PropTypes.func.description("callback for when menu changes placement"),
44
+ arrowSize: import_ds_props_helpers.PropTypes.number.description("Arrow size"),
45
+ blockName: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.string, import_ds_props_helpers.PropTypes.object]).description("Bem blockname for the popper"),
46
+ triggerComponent: import_ds_props_helpers.PropTypes.element.description(
47
47
  `The component that will open/close the tooltip.
48
48
  Cannot be used with disabled elements.
49
49
  https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/props.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import { PropTypes } from '@elliemae/ds-utilities';\nimport { Position } from './positions';\nimport { Interaction } from './interaction';\n\nexport const popperProps = {\n /** Hide menu component if trigger component is not visible/scrolled away */\n hideIfNotVisible: PropTypes.bool.description('Hide menu component if trigger component is not visible/scrolled away'),\n /** props to inject to popper wrapper */\n containerProps: PropTypes.object.description('props to inject to popper wrapper'),\n /** Space between the arrow and the popup */\n arrowGap: PropTypes.number.description('Space between the arrow and the popup'),\n /** callback for when menu changes from close to open */\n onOpen: PropTypes.func.description('callback for when menu changes from close to open'),\n /** callback for when menu changes from open to close */\n onClose: PropTypes.func.description('callback for when menu changes from open to close'),\n /** Time in ms to delay close of menu */\n delayClose: PropTypes.number.description('Time in ms to delay close of menu'),\n /** Time in ms to delay open of menu */\n delayOpen: PropTypes.number.description('Time in ms to delay open of menu'),\n /** callback for when menu changes placement */\n onPlacementChange: PropTypes.func.description('callback for when menu changes placement'),\n /** Arrow size */\n arrowSize: PropTypes.number.description('Arrow size'),\n /** Bem blockname for the popper */\n blockName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).description('Bem blockname for the popper'),\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};\n\nexport const defaultProps = {\n containerProps: {},\n arrowGap: 8,\n arrowSize: 6,\n blockName: '',\n contentOffset: null,\n contentStyle: null,\n contentComponent: () => null,\n delayClose: 300,\n delayOpen: 200,\n interactionType: Interaction.CLICK,\n onOpen: () => null,\n onClose: () => null,\n onPlacementChange: () => null,\n placement: Position.BOTTOM,\n preventOverflow: 'window',\n showArrow: true,\n closeAnimationConfig: {\n to: { transform: 'scale(0.8)', opacity: '0' },\n config: { delay: 80, duration: 80 },\n },\n openAnimationConfig: {\n to: { transform: 'scale(1)', opacity: '1' },\n config: { delay: 80, duration: 80 },\n },\n usePortal: true,\n triggerComponent: () => null,\n getTargetFromChildren: () => null,\n getContentFromChildren: () => null,\n modifiers: {},\n triggerRef: () => null,\n hideIfNotVisible: false,\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,0BAA0B;AAC1B,uBAAyB;AACzB,yBAA4B;AAErB,MAAM,cAAc;AAAA,EAEzB,kBAAkB,8BAAU,KAAK,YAAY,uEAAuE;AAAA,EAEpH,gBAAgB,8BAAU,OAAO,YAAY,mCAAmC;AAAA,EAEhF,UAAU,8BAAU,OAAO,YAAY,uCAAuC;AAAA,EAE9E,QAAQ,8BAAU,KAAK,YAAY,mDAAmD;AAAA,EAEtF,SAAS,8BAAU,KAAK,YAAY,mDAAmD;AAAA,EAEvF,YAAY,8BAAU,OAAO,YAAY,mCAAmC;AAAA,EAE5E,WAAW,8BAAU,OAAO,YAAY,kCAAkC;AAAA,EAE1E,mBAAmB,8BAAU,KAAK,YAAY,0CAA0C;AAAA,EAExF,WAAW,8BAAU,OAAO,YAAY,YAAY;AAAA,EAEpD,WAAW,8BAAU,UAAU,CAAC,8BAAU,QAAQ,8BAAU,MAAM,CAAC,EAAE,YAAY,8BAA8B;AAAA,EAC/G,kBAAkB,8BAAU,QAAQ;AAAA,IAClC;AAAA;AAAA;AAAA,EAGF,EAAE;AACJ;AAEO,MAAM,eAAe;AAAA,EAC1B,gBAAgB,CAAC;AAAA,EACjB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,eAAe;AAAA,EACf,cAAc;AAAA,EACd,kBAAkB,MAAM;AAAA,EACxB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,iBAAiB,+BAAY;AAAA,EAC7B,QAAQ,MAAM;AAAA,EACd,SAAS,MAAM;AAAA,EACf,mBAAmB,MAAM;AAAA,EACzB,WAAW,0BAAS;AAAA,EACpB,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,sBAAsB;AAAA,IACpB,IAAI,EAAE,WAAW,cAAc,SAAS,IAAI;AAAA,IAC5C,QAAQ,EAAE,OAAO,IAAI,UAAU,GAAG;AAAA,EACpC;AAAA,EACA,qBAAqB;AAAA,IACnB,IAAI,EAAE,WAAW,YAAY,SAAS,IAAI;AAAA,IAC1C,QAAQ,EAAE,OAAO,IAAI,UAAU,GAAG;AAAA,EACpC;AAAA,EACA,WAAW;AAAA,EACX,kBAAkB,MAAM;AAAA,EACxB,uBAAuB,MAAM;AAAA,EAC7B,wBAAwB,MAAM;AAAA,EAC9B,WAAW,CAAC;AAAA,EACZ,YAAY,MAAM;AAAA,EAClB,kBAAkB;AACpB;",
4
+ "sourcesContent": ["import { PropTypes } from '@elliemae/ds-props-helpers';\nimport { Position } from './positions.js';\nimport { Interaction } from './interaction.js';\n\nexport const popperProps = {\n /** Hide menu component if trigger component is not visible/scrolled away */\n hideIfNotVisible: PropTypes.bool.description('Hide menu component if trigger component is not visible/scrolled away'),\n /** props to inject to popper wrapper */\n containerProps: PropTypes.object.description('props to inject to popper wrapper'),\n /** Space between the arrow and the popup */\n arrowGap: PropTypes.number.description('Space between the arrow and the popup'),\n /** callback for when menu changes from close to open */\n onOpen: PropTypes.func.description('callback for when menu changes from close to open'),\n /** callback for when menu changes from open to close */\n onClose: PropTypes.func.description('callback for when menu changes from open to close'),\n /** Time in ms to delay close of menu */\n delayClose: PropTypes.number.description('Time in ms to delay close of menu'),\n /** Time in ms to delay open of menu */\n delayOpen: PropTypes.number.description('Time in ms to delay open of menu'),\n /** callback for when menu changes placement */\n onPlacementChange: PropTypes.func.description('callback for when menu changes placement'),\n /** Arrow size */\n arrowSize: PropTypes.number.description('Arrow size'),\n /** Bem blockname for the popper */\n blockName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).description('Bem blockname for the popper'),\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};\n\nexport const defaultProps = {\n containerProps: {},\n arrowGap: 8,\n arrowSize: 6,\n blockName: '',\n contentOffset: null,\n contentStyle: null,\n contentComponent: () => null,\n delayClose: 300,\n delayOpen: 200,\n interactionType: Interaction.CLICK,\n onOpen: () => null,\n onClose: () => null,\n onPlacementChange: () => null,\n placement: Position.BOTTOM,\n preventOverflow: 'window',\n showArrow: true,\n closeAnimationConfig: {\n to: { transform: 'scale(0.8)', opacity: '0' },\n config: { delay: 80, duration: 80 },\n },\n openAnimationConfig: {\n to: { transform: 'scale(1)', opacity: '1' },\n config: { delay: 80, duration: 80 },\n },\n usePortal: true,\n triggerComponent: () => null,\n getTargetFromChildren: () => null,\n getContentFromChildren: () => null,\n modifiers: {},\n triggerRef: () => null,\n hideIfNotVisible: false,\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,8BAA0B;AAC1B,uBAAyB;AACzB,yBAA4B;AAErB,MAAM,cAAc;AAAA,EAEzB,kBAAkB,kCAAU,KAAK,YAAY,uEAAuE;AAAA,EAEpH,gBAAgB,kCAAU,OAAO,YAAY,mCAAmC;AAAA,EAEhF,UAAU,kCAAU,OAAO,YAAY,uCAAuC;AAAA,EAE9E,QAAQ,kCAAU,KAAK,YAAY,mDAAmD;AAAA,EAEtF,SAAS,kCAAU,KAAK,YAAY,mDAAmD;AAAA,EAEvF,YAAY,kCAAU,OAAO,YAAY,mCAAmC;AAAA,EAE5E,WAAW,kCAAU,OAAO,YAAY,kCAAkC;AAAA,EAE1E,mBAAmB,kCAAU,KAAK,YAAY,0CAA0C;AAAA,EAExF,WAAW,kCAAU,OAAO,YAAY,YAAY;AAAA,EAEpD,WAAW,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,MAAM,CAAC,EAAE,YAAY,8BAA8B;AAAA,EAC/G,kBAAkB,kCAAU,QAAQ;AAAA,IAClC;AAAA;AAAA;AAAA,EAGF,EAAE;AACJ;AAEO,MAAM,eAAe;AAAA,EAC1B,gBAAgB,CAAC;AAAA,EACjB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,eAAe;AAAA,EACf,cAAc;AAAA,EACd,kBAAkB,MAAM;AAAA,EACxB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,iBAAiB,+BAAY;AAAA,EAC7B,QAAQ,MAAM;AAAA,EACd,SAAS,MAAM;AAAA,EACf,mBAAmB,MAAM;AAAA,EACzB,WAAW,0BAAS;AAAA,EACpB,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,sBAAsB;AAAA,IACpB,IAAI,EAAE,WAAW,cAAc,SAAS,IAAI;AAAA,IAC5C,QAAQ,EAAE,OAAO,IAAI,UAAU,GAAG;AAAA,EACpC;AAAA,EACA,qBAAqB;AAAA,IACnB,IAAI,EAAE,WAAW,YAAY,SAAS,IAAI;AAAA,IAC1C,QAAQ,EAAE,OAAO,IAAI,UAAU,GAAG;AAAA,EACpC;AAAA,EACA,WAAW;AAAA,EACX,kBAAkB,MAAM;AAAA,EACxB,uBAAuB,MAAM;AAAA,EAC7B,wBAAwB,MAAM;AAAA,EAC9B,WAAW,CAAC;AAAA,EACZ,YAAY,MAAM;AAAA,EAClB,kBAAkB;AACpB;",
6
6
  "names": []
7
7
  }
@@ -1,10 +1,10 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import { describe } from "@elliemae/ds-utilities";
4
- import PopperImpl from "./PopperImpl";
5
- import { Position } from "./positions";
6
- import { Interaction } from "./interaction";
7
- import { popperProps, defaultProps } from "./props";
3
+ import { describe } from "@elliemae/ds-props-helpers";
4
+ import PopperImpl from "./PopperImpl.js";
5
+ import { Position } from "./positions.js";
6
+ import { Interaction } from "./interaction.js";
7
+ import { popperProps, defaultProps } from "./props.js";
8
8
  const DSPopper = ({
9
9
  containerProps,
10
10
  arrowGap,
@@ -78,8 +78,8 @@ DSPopper.defaultProps = defaultProps;
78
78
  DSPopper.displayName = "DSPopper";
79
79
  const DSPopperWithSchema = describe(DSPopper);
80
80
  DSPopperWithSchema.propTypes = popperProps;
81
- import { interactions } from "./interaction";
82
- import { positions } from "./positions";
81
+ import { interactions } from "./interaction.js";
82
+ import { positions } from "./positions.js";
83
83
  var DSPopper_default = DSPopper;
84
84
  export {
85
85
  DSPopper,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSPopper.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { describe } from '@elliemae/ds-utilities';\nimport PopperImpl from './PopperImpl';\nimport { Position } from './positions';\nimport { Interaction } from './interaction';\nimport { popperProps, defaultProps } from './props';\n\nconst DSPopper = ({\n containerProps,\n arrowGap,\n arrowSize,\n blockName,\n contentOffset,\n contentStyle,\n contentComponent,\n delayClose,\n delayOpen,\n interactionType,\n isOpen, // if this is set DSPopper would be a controlled component if not, an uncontrolled one\n onOpen,\n onClose,\n onPlacementChange,\n placement,\n preventOverflow,\n showArrow,\n closeAnimationConfig,\n openAnimationConfig,\n usePortal,\n triggerComponent,\n wrapExtraComponent,\n getTargetFromChildren,\n getContentFromChildren,\n modifiers,\n triggerRef,\n children: customPopper,\n renderReference,\n referenceNode,\n zIndex,\n hideIfNotVisible,\n}): JSX.Element => (\n <PopperImpl\n arrowGap={arrowGap}\n arrowSize={arrowSize}\n blockName={blockName}\n closeAnimationConfig={closeAnimationConfig}\n containerProps={containerProps}\n contentComponent={contentComponent}\n contentOffset={contentOffset}\n contentStyle={contentStyle}\n delayClose={delayClose}\n delayOpen={delayOpen}\n getContentFromChildren={getContentFromChildren}\n getTargetFromChildren={getTargetFromChildren}\n interactionType={interactionType}\n isOpen={isOpen}\n modifiers={modifiers}\n onOpen={onOpen}\n onClose={onClose}\n onPlacementChange={onPlacementChange}\n openAnimationConfig={openAnimationConfig}\n placement={placement}\n preventOverflow={preventOverflow}\n referenceNode={referenceNode}\n renderReference={renderReference}\n showArrow={showArrow}\n triggerComponent={triggerComponent}\n triggerRef={triggerRef}\n usePortal={usePortal}\n wrapExtraComponent={wrapExtraComponent}\n zIndex={zIndex}\n hideIfNotVisible={hideIfNotVisible}\n >\n {customPopper}\n </PopperImpl>\n);\n\n// @deprecated: There's the NEW (not finished) popover that uses its own popper implementation.\nDSPopper.propTypes = popperProps;\nDSPopper.defaultProps = defaultProps;\nDSPopper.displayName = 'DSPopper';\nconst DSPopperWithSchema = describe(DSPopper);\nDSPopperWithSchema.propTypes = popperProps;\n\nexport { Interaction as PopperInteractions, Position as PopperPositions, DSPopperWithSchema, DSPopper };\n\nexport { interactions } from './interaction';\nexport { positions } from './positions';\n\nexport default DSPopper;\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { describe } from '@elliemae/ds-props-helpers';\nimport PopperImpl from './PopperImpl.js';\nimport { Position } from './positions.js';\nimport { Interaction } from './interaction.js';\nimport { popperProps, defaultProps } from './props.js';\n\nconst DSPopper = ({\n containerProps,\n arrowGap,\n arrowSize,\n blockName,\n contentOffset,\n contentStyle,\n contentComponent,\n delayClose,\n delayOpen,\n interactionType,\n isOpen, // if this is set DSPopper would be a controlled component if not, an uncontrolled one\n onOpen,\n onClose,\n onPlacementChange,\n placement,\n preventOverflow,\n showArrow,\n closeAnimationConfig,\n openAnimationConfig,\n usePortal,\n triggerComponent,\n wrapExtraComponent,\n getTargetFromChildren,\n getContentFromChildren,\n modifiers,\n triggerRef,\n children: customPopper,\n renderReference,\n referenceNode,\n zIndex,\n hideIfNotVisible,\n}): JSX.Element => (\n <PopperImpl\n arrowGap={arrowGap}\n arrowSize={arrowSize}\n blockName={blockName}\n closeAnimationConfig={closeAnimationConfig}\n containerProps={containerProps}\n contentComponent={contentComponent}\n contentOffset={contentOffset}\n contentStyle={contentStyle}\n delayClose={delayClose}\n delayOpen={delayOpen}\n getContentFromChildren={getContentFromChildren}\n getTargetFromChildren={getTargetFromChildren}\n interactionType={interactionType}\n isOpen={isOpen}\n modifiers={modifiers}\n onOpen={onOpen}\n onClose={onClose}\n onPlacementChange={onPlacementChange}\n openAnimationConfig={openAnimationConfig}\n placement={placement}\n preventOverflow={preventOverflow}\n referenceNode={referenceNode}\n renderReference={renderReference}\n showArrow={showArrow}\n triggerComponent={triggerComponent}\n triggerRef={triggerRef}\n usePortal={usePortal}\n wrapExtraComponent={wrapExtraComponent}\n zIndex={zIndex}\n hideIfNotVisible={hideIfNotVisible}\n >\n {customPopper}\n </PopperImpl>\n);\n\n// @deprecated: There's the NEW (not finished) popover that uses its own popper implementation.\nDSPopper.propTypes = popperProps;\nDSPopper.defaultProps = defaultProps;\nDSPopper.displayName = 'DSPopper';\nconst DSPopperWithSchema = describe(DSPopper);\nDSPopperWithSchema.propTypes = popperProps;\n\nexport { Interaction as PopperInteractions, Position as PopperPositions, DSPopperWithSchema, DSPopper };\n\nexport { interactions } from './interaction.js';\nexport { positions } from './positions.js';\n\nexport default DSPopper;\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACwCrB;AAvCF,SAAS,gBAAgB;AACzB,OAAO,gBAAgB;AACvB,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAC5B,SAAS,aAAa,oBAAoB;AAE1C,MAAM,WAAW,CAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE;AAAA,EAAC;AAAA;AAAA,IACC;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,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,IACA;AAAA,IAEC;AAAA;AACH;AAIF,SAAS,YAAY;AACrB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,MAAM,qBAAqB,SAAS,QAAQ;AAC5C,mBAAmB,YAAY;AAI/B,SAAS,oBAAoB;AAC7B,SAAS,iBAAiB;AAE1B,IAAO,mBAAQ;",
6
6
  "names": []
7
7
  }
@@ -6,7 +6,7 @@ import { Popper } from "@elliemae/react-popper";
6
6
  import { Keyframes, animated } from "react-spring/renderprops";
7
7
  import getComponentFromProps from "@elliemae/ds-utilities/getComponentFromProps";
8
8
  import DSOverlay from "@elliemae/ds-overlay";
9
- import { getArrowStylesBySize } from "./getArrowStylesBySize";
9
+ import { getArrowStylesBySize } from "./getArrowStylesBySize.js";
10
10
  const Content = Keyframes.Spring({});
11
11
  const StyledDiv = styled.div`
12
12
  z-index: ${({ zIndex, theme }) => zIndex ?? theme.zIndex.popper};
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/PopperContent.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\nimport React, { PureComponent } from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Popper } from '@elliemae/react-popper';\nimport { Keyframes, animated } from 'react-spring/renderprops';\nimport getComponentFromProps from '@elliemae/ds-utilities/getComponentFromProps';\nimport DSOverlay from '@elliemae/ds-overlay';\nimport { getArrowStylesBySize } from './getArrowStylesBySize';\n\nconst Content = Keyframes.Spring({});\nconst StyledDiv = styled.div`\n z-index: ${({ zIndex, theme }) => zIndex ?? theme.zIndex.popper};\n`;\n\nexport default class PopperContent extends PureComponent {\n // eslint-disable-next-line react/static-property-placement\n static defaultProps = { onContentDestroyed: () => null };\n\n constructor(props) {\n super(props);\n this.renderContent = this.renderContent.bind(this);\n this.renderArrow = this.renderArrow.bind(this);\n this.handleRestAnimation = this.handleRestAnimation.bind(this);\n }\n\n handleRestAnimation() {\n const { isOpen, onContentDestroyed } = this.props;\n if (!isOpen) {\n onContentDestroyed();\n }\n }\n\n renderArrow({ ref, style }, placement) {\n const { blockName, showArrow } = this.props;\n if (!showArrow) return null;\n return (\n <div\n key=\"popper-arrow\"\n ref={ref}\n className={`${blockName || 'popper'}__arrow`}\n data-placement={placement}\n style={{\n ...style,\n ...getArrowStylesBySize(placement, 25),\n }}\n >\n <svg viewBox=\"0 0 30 30\" style={{ verticalAlign: 'initial' }}>\n <path\n className=\"stroke\"\n d=\"M23.7,27.1L17,19.9C16.5,19.3,15.8,19,15,19s-1.6,0.3-2.1,0.9l-6.6,7.2C5.3,28.1,3.4,29,2,29h26\n C26.7,29,24.6,28.1,23.7,27.1z\"\n />\n <path\n className=\"fill\"\n d=\"M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z\"\n />\n </svg>\n </div>\n );\n }\n\n renderContent({ ref, style, placement, arrowProps, scheduleUpdate, outOfBoundaries }) {\n const {\n contentComponent,\n contentStyle,\n isOpen,\n closeAnimationConfig,\n openAnimationConfig,\n onMouseEnter,\n onMouseLeave,\n containerProps,\n zIndex,\n hideIfNotVisible,\n } = this.props;\n\n const computedStyle = {\n ...style,\n ...contentStyle,\n };\n return (\n <StyledDiv\n {...containerProps}\n data-placement={placement}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n style={computedStyle}\n data-testid=\"popper-container\"\n zIndex={zIndex}\n >\n <Content\n native\n onRest={this.handleRestAnimation}\n state={isOpen && (!outOfBoundaries || !hideIfNotVisible) ? 'open' : 'close'}\n states={{\n open: {\n ...openAnimationConfig,\n from: closeAnimationConfig.to,\n },\n close: closeAnimationConfig,\n }}\n >\n {(animationStyle) => (\n <animated.div ref={ref} style={animationStyle}>\n {getComponentFromProps(contentComponent, { scheduleUpdate }, [this.renderArrow(arrowProps, placement)])}\n </animated.div>\n )}\n </Content>\n </StyledDiv>\n );\n }\n\n render() {\n const {\n destroyed = false,\n onClickOutside = () => null,\n placement = 'bottom-start',\n modifiers = {},\n referenceNode,\n usePortal = true,\n } = this.props;\n return (\n <DSOverlay isOpen={!destroyed} onClickOutside={onClickOutside} usePortal={usePortal}>\n <Popper modifiers={modifiers} placement={placement} referenceElement={referenceNode}>\n {this.renderContent}\n </Popper>\n </DSOverlay>\n );\n }\n}\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\nimport React, { PureComponent } from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Popper } from '@elliemae/react-popper';\nimport { Keyframes, animated } from 'react-spring/renderprops';\nimport getComponentFromProps from '@elliemae/ds-utilities/getComponentFromProps';\nimport DSOverlay from '@elliemae/ds-overlay';\nimport { getArrowStylesBySize } from './getArrowStylesBySize.js';\n\nconst Content = Keyframes.Spring({});\nconst StyledDiv = styled.div`\n z-index: ${({ zIndex, theme }) => zIndex ?? theme.zIndex.popper};\n`;\n\nexport default class PopperContent extends PureComponent {\n // eslint-disable-next-line react/static-property-placement\n static defaultProps = { onContentDestroyed: () => null };\n\n constructor(props) {\n super(props);\n this.renderContent = this.renderContent.bind(this);\n this.renderArrow = this.renderArrow.bind(this);\n this.handleRestAnimation = this.handleRestAnimation.bind(this);\n }\n\n handleRestAnimation() {\n const { isOpen, onContentDestroyed } = this.props;\n if (!isOpen) {\n onContentDestroyed();\n }\n }\n\n renderArrow({ ref, style }, placement) {\n const { blockName, showArrow } = this.props;\n if (!showArrow) return null;\n return (\n <div\n key=\"popper-arrow\"\n ref={ref}\n className={`${blockName || 'popper'}__arrow`}\n data-placement={placement}\n style={{\n ...style,\n ...getArrowStylesBySize(placement, 25),\n }}\n >\n <svg viewBox=\"0 0 30 30\" style={{ verticalAlign: 'initial' }}>\n <path\n className=\"stroke\"\n d=\"M23.7,27.1L17,19.9C16.5,19.3,15.8,19,15,19s-1.6,0.3-2.1,0.9l-6.6,7.2C5.3,28.1,3.4,29,2,29h26\n C26.7,29,24.6,28.1,23.7,27.1z\"\n />\n <path\n className=\"fill\"\n d=\"M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z\"\n />\n </svg>\n </div>\n );\n }\n\n renderContent({ ref, style, placement, arrowProps, scheduleUpdate, outOfBoundaries }) {\n const {\n contentComponent,\n contentStyle,\n isOpen,\n closeAnimationConfig,\n openAnimationConfig,\n onMouseEnter,\n onMouseLeave,\n containerProps,\n zIndex,\n hideIfNotVisible,\n } = this.props;\n\n const computedStyle = {\n ...style,\n ...contentStyle,\n };\n return (\n <StyledDiv\n {...containerProps}\n data-placement={placement}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n style={computedStyle}\n data-testid=\"popper-container\"\n zIndex={zIndex}\n >\n <Content\n native\n onRest={this.handleRestAnimation}\n state={isOpen && (!outOfBoundaries || !hideIfNotVisible) ? 'open' : 'close'}\n states={{\n open: {\n ...openAnimationConfig,\n from: closeAnimationConfig.to,\n },\n close: closeAnimationConfig,\n }}\n >\n {(animationStyle) => (\n <animated.div ref={ref} style={animationStyle}>\n {getComponentFromProps(contentComponent, { scheduleUpdate }, [this.renderArrow(arrowProps, placement)])}\n </animated.div>\n )}\n </Content>\n </StyledDiv>\n );\n }\n\n render() {\n const {\n destroyed = false,\n onClickOutside = () => null,\n placement = 'bottom-start',\n modifiers = {},\n referenceNode,\n usePortal = true,\n } = this.props;\n return (\n <DSOverlay isOpen={!destroyed} onClickOutside={onClickOutside} usePortal={usePortal}>\n <Popper modifiers={modifiers} placement={placement} referenceElement={referenceNode}>\n {this.renderContent}\n </Popper>\n </DSOverlay>\n );\n }\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -4,8 +4,8 @@ import { Component } from "react";
4
4
  import { isFunction, get, isDOMTypeElement, getComponentFromProps, mergeRefs } from "@elliemae/ds-utilities";
5
5
  import { Manager, Reference } from "@elliemae/react-popper";
6
6
  import memoizeOne from "memoize-one";
7
- import PopperContent from "./PopperContent";
8
- import { Interaction } from "./interaction";
7
+ import PopperContent from "./PopperContent.js";
8
+ import { Interaction } from "./interaction.js";
9
9
  class PopperImpl extends Component {
10
10
  constructor(props) {
11
11
  super(props);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/PopperImpl.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { Component } from 'react';\nimport { isFunction, get, isDOMTypeElement, getComponentFromProps, mergeRefs } from '@elliemae/ds-utilities';\nimport { Manager, Reference } from '@elliemae/react-popper';\nimport memoizeOne from 'memoize-one';\nimport PopperContent from './PopperContent';\nimport { Interaction } from './interaction';\n\nexport default class PopperImpl extends Component<any, any> {\n // we use safeIsMounted because isMounted is not allowed by React.\n safeIsMounted = false;\n\n handlePopperPlacementChange = memoizeOne((placement) => {\n const { onPlacementChange } = this.props;\n onPlacementChange(placement);\n });\n\n constructor(props) {\n super(props);\n this.state = {\n isOpen: false,\n destroyed: true,\n };\n // TODO: Fix the autobinding to remove this!!\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleTriggerClick = this.handleTriggerClick.bind(this);\n this.renderTarget = this.renderTarget.bind(this);\n this.updatePopoverState = this.updatePopoverState.bind(this);\n this.handlePopperPlacementChange = this.handlePopperPlacementChange.bind(this);\n this.handleDestroyContent = this.handleDestroyContent.bind(this);\n this.handleContentMouseEnter = this.handleContentMouseEnter.bind(this);\n this.handleContentMouseLeave = this.handleContentMouseLeave.bind(this);\n this.getInteractionObject = this.getInteractionObject.bind(this);\n this.setOpen = this.setOpen.bind(this);\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n }\n\n // this is needed to prevent setState on unmounted components\n componentDidMount() {\n this.safeIsMounted = true;\n }\n\n componentDidUpdate() {\n const { isOpen, destroyed } = this.state;\n if (isOpen === true && destroyed === true) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ destroyed: false });\n }\n }\n\n componentWillUnmount() {\n this.safeIsMounted = false;\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const { isOpen } = nextProps;\n const { prevPropIsOpen } = prevState;\n // todo: this causes multiple rerenders\n if (isOpen !== prevPropIsOpen) {\n return {\n isOpen,\n prevPropIsOpen: isOpen,\n };\n }\n return null;\n }\n\n getInteractionObject(interaction, referenceProps = {}) {\n const { isOpen } = this.props;\n if (isOpen !== undefined) return {};\n return (\n {\n [Interaction.CLICK]: {\n handlers: {\n onClick: this.handleTriggerClick,\n },\n canClose: () => true,\n },\n [Interaction.HOVER]: {\n handlers: {\n onMouseEnter: referenceProps.onMouseEnter || this.handleMouseEnter,\n onPointerEnter: referenceProps.onMouseEnter || this.handleMouseEnter,\n onMouseLeave: referenceProps.onMouseLeave || this.handleMouseLeave,\n onPointerLeave: referenceProps.onMouseLeave || this.handleMouseLeave,\n onClick: this.handleTriggerClick,\n },\n canClose: (isOnTrigger, isOnPopper) => !isOnTrigger && !isOnPopper,\n },\n }[interaction] || {\n handlers: {},\n canClose: () => true,\n }\n );\n }\n\n setOpen(opening) {\n const { onOpen } = this.props;\n const { prevPropIsOpen } = this.state;\n if (!this.safeIsMounted) return;\n\n if (prevPropIsOpen === undefined) {\n this.setState({\n isOpen: opening,\n destroyed: false,\n });\n }\n onOpen(opening);\n }\n\n open() {\n clearTimeout(this.closeTimer);\n const { delayOpen } = this.props;\n this.openTimer = setTimeout(() => this.setOpen(true), delayOpen);\n }\n\n close() {\n clearTimeout(this.openTimer);\n const { delayClose, onClose = () => null } = this.props;\n this.closeTimer = setTimeout(() => {\n this.setOpen(false);\n onClose();\n }, delayClose);\n }\n\n handleTriggerClick(e) {\n const { triggerComponent } = this.props;\n const { onClick } = get(triggerComponent, 'props') || {};\n\n this.open();\n\n if (isFunction(onClick)) onClick(e);\n }\n\n handleContentMouseEnter() {\n this.isMouseOverContent = true;\n }\n\n handleContentMouseLeave() {\n this.isMouseOverContent = false;\n const { onClose = () => null } = this.props;\n setTimeout(() => {\n if (!this.isMouseOverTarget) {\n this.setOpen(false);\n onClose();\n }\n }, 10);\n }\n\n handleMouseEnter() {\n this.isMouseOverTarget = true;\n this.open();\n }\n\n handleMouseLeave() {\n this.isMouseOverTarget = false;\n setTimeout(() => {\n if (!this.isMouseOverContent) {\n this.close();\n }\n }, 10);\n }\n\n updatePopoverState(popperData) {\n this.handlePopperPlacementChange(popperData.placement);\n return popperData;\n }\n\n handleDestroyContent() {\n this.setState({ destroyed: true });\n }\n\n renderTarget({ ref }) {\n const { isOpen } = this.state;\n const { triggerComponent, interactionType, renderReference } = this.props;\n\n const componentInnerRef = get(triggerComponent, ['props', 'innerRef'], () => null);\n const compRef = isDOMTypeElement(triggerComponent) ? { ref } : { innerRef: mergeRefs(ref, componentInnerRef) };\n\n const triggerHandler = this.getInteractionObject(interactionType, triggerComponent.props).handlers;\n\n const targetProps = {\n ...triggerHandler,\n ...compRef,\n 'aria-haspopup': true,\n 'aria-expanded': isOpen,\n };\n\n if (renderReference) {\n return renderReference({\n ref,\n ...targetProps,\n });\n }\n\n return getComponentFromProps(triggerComponent, targetProps);\n }\n\n render() {\n const { isOpen, destroyed } = this.state;\n\n const {\n placement,\n interactionType,\n showArrow,\n arrowSize,\n arrowGap,\n preventOverflow,\n children: customPopper,\n usePortal,\n blockName,\n contentComponent,\n openAnimationConfig,\n closeAnimationConfig,\n modifiers,\n referenceNode,\n containerProps,\n zIndex,\n hideIfNotVisible,\n } = this.props;\n\n const allModifiers = {\n offset: {\n enabled: showArrow,\n offset: `0, ${arrowSize + arrowGap}`,\n },\n preventOverflow: {\n enabled: true,\n padding: 0,\n boundariesElement: preventOverflow,\n },\n updatePopoverState: {\n enabled: true,\n fn: this.updatePopoverState,\n order: 900,\n },\n ...modifiers,\n };\n const triggerHandler = this.getInteractionObject(interactionType).handlers;\n\n const popperContentProps = {\n hideIfNotVisible,\n containerProps,\n isOpen,\n destroyed: isOpen ? false : destroyed,\n arrowSize,\n blockName,\n showArrow,\n modifiers: allModifiers,\n contentComponent,\n onContentDestroyed: this.handleDestroyContent,\n onClickOutside: () => this.close(),\n placement,\n usePortal,\n openAnimationConfig,\n closeAnimationConfig,\n onMouseEnter: interactionType === Interaction.HOVER ? this.handleContentMouseEnter : undefined,\n onMouseLeave: interactionType === Interaction.HOVER ? this.handleContentMouseLeave : undefined,\n referenceNode,\n zIndex,\n };\n\n if (customPopper && typeof customPopper === 'function') {\n return (\n <Manager>\n {customPopper({\n Reference,\n triggerHandler,\n content: <PopperContent {...popperContentProps} />,\n })}\n </Manager>\n );\n }\n\n return (\n <Manager>\n <Reference>{this.renderTarget}</Reference>\n <PopperContent {...popperContentProps} />\n </Manager>\n );\n }\n}\n\nexport { Reference, PopperContent };\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { Component } from 'react';\nimport { isFunction, get, isDOMTypeElement, getComponentFromProps, mergeRefs } from '@elliemae/ds-utilities';\nimport { Manager, Reference } from '@elliemae/react-popper';\nimport memoizeOne from 'memoize-one';\nimport PopperContent from './PopperContent.js';\nimport { Interaction } from './interaction.js';\n\nexport default class PopperImpl extends Component<any, any> {\n // we use safeIsMounted because isMounted is not allowed by React.\n safeIsMounted = false;\n\n handlePopperPlacementChange = memoizeOne((placement) => {\n const { onPlacementChange } = this.props;\n onPlacementChange(placement);\n });\n\n constructor(props) {\n super(props);\n this.state = {\n isOpen: false,\n destroyed: true,\n };\n // TODO: Fix the autobinding to remove this!!\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleTriggerClick = this.handleTriggerClick.bind(this);\n this.renderTarget = this.renderTarget.bind(this);\n this.updatePopoverState = this.updatePopoverState.bind(this);\n this.handlePopperPlacementChange = this.handlePopperPlacementChange.bind(this);\n this.handleDestroyContent = this.handleDestroyContent.bind(this);\n this.handleContentMouseEnter = this.handleContentMouseEnter.bind(this);\n this.handleContentMouseLeave = this.handleContentMouseLeave.bind(this);\n this.getInteractionObject = this.getInteractionObject.bind(this);\n this.setOpen = this.setOpen.bind(this);\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n }\n\n // this is needed to prevent setState on unmounted components\n componentDidMount() {\n this.safeIsMounted = true;\n }\n\n componentDidUpdate() {\n const { isOpen, destroyed } = this.state;\n if (isOpen === true && destroyed === true) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ destroyed: false });\n }\n }\n\n componentWillUnmount() {\n this.safeIsMounted = false;\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const { isOpen } = nextProps;\n const { prevPropIsOpen } = prevState;\n // todo: this causes multiple rerenders\n if (isOpen !== prevPropIsOpen) {\n return {\n isOpen,\n prevPropIsOpen: isOpen,\n };\n }\n return null;\n }\n\n getInteractionObject(interaction, referenceProps = {}) {\n const { isOpen } = this.props;\n if (isOpen !== undefined) return {};\n return (\n {\n [Interaction.CLICK]: {\n handlers: {\n onClick: this.handleTriggerClick,\n },\n canClose: () => true,\n },\n [Interaction.HOVER]: {\n handlers: {\n onMouseEnter: referenceProps.onMouseEnter || this.handleMouseEnter,\n onPointerEnter: referenceProps.onMouseEnter || this.handleMouseEnter,\n onMouseLeave: referenceProps.onMouseLeave || this.handleMouseLeave,\n onPointerLeave: referenceProps.onMouseLeave || this.handleMouseLeave,\n onClick: this.handleTriggerClick,\n },\n canClose: (isOnTrigger, isOnPopper) => !isOnTrigger && !isOnPopper,\n },\n }[interaction] || {\n handlers: {},\n canClose: () => true,\n }\n );\n }\n\n setOpen(opening) {\n const { onOpen } = this.props;\n const { prevPropIsOpen } = this.state;\n if (!this.safeIsMounted) return;\n\n if (prevPropIsOpen === undefined) {\n this.setState({\n isOpen: opening,\n destroyed: false,\n });\n }\n onOpen(opening);\n }\n\n open() {\n clearTimeout(this.closeTimer);\n const { delayOpen } = this.props;\n this.openTimer = setTimeout(() => this.setOpen(true), delayOpen);\n }\n\n close() {\n clearTimeout(this.openTimer);\n const { delayClose, onClose = () => null } = this.props;\n this.closeTimer = setTimeout(() => {\n this.setOpen(false);\n onClose();\n }, delayClose);\n }\n\n handleTriggerClick(e) {\n const { triggerComponent } = this.props;\n const { onClick } = get(triggerComponent, 'props') || {};\n\n this.open();\n\n if (isFunction(onClick)) onClick(e);\n }\n\n handleContentMouseEnter() {\n this.isMouseOverContent = true;\n }\n\n handleContentMouseLeave() {\n this.isMouseOverContent = false;\n const { onClose = () => null } = this.props;\n setTimeout(() => {\n if (!this.isMouseOverTarget) {\n this.setOpen(false);\n onClose();\n }\n }, 10);\n }\n\n handleMouseEnter() {\n this.isMouseOverTarget = true;\n this.open();\n }\n\n handleMouseLeave() {\n this.isMouseOverTarget = false;\n setTimeout(() => {\n if (!this.isMouseOverContent) {\n this.close();\n }\n }, 10);\n }\n\n updatePopoverState(popperData) {\n this.handlePopperPlacementChange(popperData.placement);\n return popperData;\n }\n\n handleDestroyContent() {\n this.setState({ destroyed: true });\n }\n\n renderTarget({ ref }) {\n const { isOpen } = this.state;\n const { triggerComponent, interactionType, renderReference } = this.props;\n\n const componentInnerRef = get(triggerComponent, ['props', 'innerRef'], () => null);\n const compRef = isDOMTypeElement(triggerComponent) ? { ref } : { innerRef: mergeRefs(ref, componentInnerRef) };\n\n const triggerHandler = this.getInteractionObject(interactionType, triggerComponent.props).handlers;\n\n const targetProps = {\n ...triggerHandler,\n ...compRef,\n 'aria-haspopup': true,\n 'aria-expanded': isOpen,\n };\n\n if (renderReference) {\n return renderReference({\n ref,\n ...targetProps,\n });\n }\n\n return getComponentFromProps(triggerComponent, targetProps);\n }\n\n render() {\n const { isOpen, destroyed } = this.state;\n\n const {\n placement,\n interactionType,\n showArrow,\n arrowSize,\n arrowGap,\n preventOverflow,\n children: customPopper,\n usePortal,\n blockName,\n contentComponent,\n openAnimationConfig,\n closeAnimationConfig,\n modifiers,\n referenceNode,\n containerProps,\n zIndex,\n hideIfNotVisible,\n } = this.props;\n\n const allModifiers = {\n offset: {\n enabled: showArrow,\n offset: `0, ${arrowSize + arrowGap}`,\n },\n preventOverflow: {\n enabled: true,\n padding: 0,\n boundariesElement: preventOverflow,\n },\n updatePopoverState: {\n enabled: true,\n fn: this.updatePopoverState,\n order: 900,\n },\n ...modifiers,\n };\n const triggerHandler = this.getInteractionObject(interactionType).handlers;\n\n const popperContentProps = {\n hideIfNotVisible,\n containerProps,\n isOpen,\n destroyed: isOpen ? false : destroyed,\n arrowSize,\n blockName,\n showArrow,\n modifiers: allModifiers,\n contentComponent,\n onContentDestroyed: this.handleDestroyContent,\n onClickOutside: () => this.close(),\n placement,\n usePortal,\n openAnimationConfig,\n closeAnimationConfig,\n onMouseEnter: interactionType === Interaction.HOVER ? this.handleContentMouseEnter : undefined,\n onMouseLeave: interactionType === Interaction.HOVER ? this.handleContentMouseLeave : undefined,\n referenceNode,\n zIndex,\n };\n\n if (customPopper && typeof customPopper === 'function') {\n return (\n <Manager>\n {customPopper({\n Reference,\n triggerHandler,\n content: <PopperContent {...popperContentProps} />,\n })}\n </Manager>\n );\n }\n\n return (\n <Manager>\n <Reference>{this.renderTarget}</Reference>\n <PopperContent {...popperContentProps} />\n </Manager>\n );\n }\n}\n\nexport { Reference, PopperContent };\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
package/dist/esm/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
- export * from "./DSPopper";
3
- export * from "./getArrowStylesBySize";
4
- import { default as default2 } from "./DSPopper";
2
+ export * from "./DSPopper.js";
3
+ export * from "./getArrowStylesBySize.js";
4
+ import { default as default2 } from "./DSPopper.js";
5
5
  export {
6
6
  default2 as default
7
7
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './DSPopper';\nexport * from './getArrowStylesBySize';\nexport { default } from './DSPopper';\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './DSPopper.js';\nexport * from './getArrowStylesBySize.js';\nexport { default } from './DSPopper.js';\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACAvB,cAAc;AACd,cAAc;AACd,SAAS,WAAAA,gBAAe;",
6
6
  "names": ["default"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "module",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }
package/dist/esm/props.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
- import { PropTypes } from "@elliemae/ds-utilities";
3
- import { Position } from "./positions";
4
- import { Interaction } from "./interaction";
2
+ import { PropTypes } from "@elliemae/ds-props-helpers";
3
+ import { Position } from "./positions.js";
4
+ import { Interaction } from "./interaction.js";
5
5
  const popperProps = {
6
6
  hideIfNotVisible: PropTypes.bool.description("Hide menu component if trigger component is not visible/scrolled away"),
7
7
  containerProps: PropTypes.object.description("props to inject to popper wrapper"),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/props.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { PropTypes } from '@elliemae/ds-utilities';\nimport { Position } from './positions';\nimport { Interaction } from './interaction';\n\nexport const popperProps = {\n /** Hide menu component if trigger component is not visible/scrolled away */\n hideIfNotVisible: PropTypes.bool.description('Hide menu component if trigger component is not visible/scrolled away'),\n /** props to inject to popper wrapper */\n containerProps: PropTypes.object.description('props to inject to popper wrapper'),\n /** Space between the arrow and the popup */\n arrowGap: PropTypes.number.description('Space between the arrow and the popup'),\n /** callback for when menu changes from close to open */\n onOpen: PropTypes.func.description('callback for when menu changes from close to open'),\n /** callback for when menu changes from open to close */\n onClose: PropTypes.func.description('callback for when menu changes from open to close'),\n /** Time in ms to delay close of menu */\n delayClose: PropTypes.number.description('Time in ms to delay close of menu'),\n /** Time in ms to delay open of menu */\n delayOpen: PropTypes.number.description('Time in ms to delay open of menu'),\n /** callback for when menu changes placement */\n onPlacementChange: PropTypes.func.description('callback for when menu changes placement'),\n /** Arrow size */\n arrowSize: PropTypes.number.description('Arrow size'),\n /** Bem blockname for the popper */\n blockName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).description('Bem blockname for the popper'),\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};\n\nexport const defaultProps = {\n containerProps: {},\n arrowGap: 8,\n arrowSize: 6,\n blockName: '',\n contentOffset: null,\n contentStyle: null,\n contentComponent: () => null,\n delayClose: 300,\n delayOpen: 200,\n interactionType: Interaction.CLICK,\n onOpen: () => null,\n onClose: () => null,\n onPlacementChange: () => null,\n placement: Position.BOTTOM,\n preventOverflow: 'window',\n showArrow: true,\n closeAnimationConfig: {\n to: { transform: 'scale(0.8)', opacity: '0' },\n config: { delay: 80, duration: 80 },\n },\n openAnimationConfig: {\n to: { transform: 'scale(1)', opacity: '1' },\n config: { delay: 80, duration: 80 },\n },\n usePortal: true,\n triggerComponent: () => null,\n getTargetFromChildren: () => null,\n getContentFromChildren: () => null,\n modifiers: {},\n triggerRef: () => null,\n hideIfNotVisible: false,\n};\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { PropTypes } from '@elliemae/ds-props-helpers';\nimport { Position } from './positions.js';\nimport { Interaction } from './interaction.js';\n\nexport const popperProps = {\n /** Hide menu component if trigger component is not visible/scrolled away */\n hideIfNotVisible: PropTypes.bool.description('Hide menu component if trigger component is not visible/scrolled away'),\n /** props to inject to popper wrapper */\n containerProps: PropTypes.object.description('props to inject to popper wrapper'),\n /** Space between the arrow and the popup */\n arrowGap: PropTypes.number.description('Space between the arrow and the popup'),\n /** callback for when menu changes from close to open */\n onOpen: PropTypes.func.description('callback for when menu changes from close to open'),\n /** callback for when menu changes from open to close */\n onClose: PropTypes.func.description('callback for when menu changes from open to close'),\n /** Time in ms to delay close of menu */\n delayClose: PropTypes.number.description('Time in ms to delay close of menu'),\n /** Time in ms to delay open of menu */\n delayOpen: PropTypes.number.description('Time in ms to delay open of menu'),\n /** callback for when menu changes placement */\n onPlacementChange: PropTypes.func.description('callback for when menu changes placement'),\n /** Arrow size */\n arrowSize: PropTypes.number.description('Arrow size'),\n /** Bem blockname for the popper */\n blockName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).description('Bem blockname for the popper'),\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};\n\nexport const defaultProps = {\n containerProps: {},\n arrowGap: 8,\n arrowSize: 6,\n blockName: '',\n contentOffset: null,\n contentStyle: null,\n contentComponent: () => null,\n delayClose: 300,\n delayOpen: 200,\n interactionType: Interaction.CLICK,\n onOpen: () => null,\n onClose: () => null,\n onPlacementChange: () => null,\n placement: Position.BOTTOM,\n preventOverflow: 'window',\n showArrow: true,\n closeAnimationConfig: {\n to: { transform: 'scale(0.8)', opacity: '0' },\n config: { delay: 80, duration: 80 },\n },\n openAnimationConfig: {\n to: { transform: 'scale(1)', opacity: '1' },\n config: { delay: 80, duration: 80 },\n },\n usePortal: true,\n triggerComponent: () => null,\n getTargetFromChildren: () => null,\n getContentFromChildren: () => null,\n modifiers: {},\n triggerRef: () => null,\n hideIfNotVisible: false,\n};\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,iBAAiB;AAC1B,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAErB,MAAM,cAAc;AAAA,EAEzB,kBAAkB,UAAU,KAAK,YAAY,uEAAuE;AAAA,EAEpH,gBAAgB,UAAU,OAAO,YAAY,mCAAmC;AAAA,EAEhF,UAAU,UAAU,OAAO,YAAY,uCAAuC;AAAA,EAE9E,QAAQ,UAAU,KAAK,YAAY,mDAAmD;AAAA,EAEtF,SAAS,UAAU,KAAK,YAAY,mDAAmD;AAAA,EAEvF,YAAY,UAAU,OAAO,YAAY,mCAAmC;AAAA,EAE5E,WAAW,UAAU,OAAO,YAAY,kCAAkC;AAAA,EAE1E,mBAAmB,UAAU,KAAK,YAAY,0CAA0C;AAAA,EAExF,WAAW,UAAU,OAAO,YAAY,YAAY;AAAA,EAEpD,WAAW,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC,EAAE,YAAY,8BAA8B;AAAA,EAC/G,kBAAkB,UAAU,QAAQ;AAAA,IAClC;AAAA;AAAA;AAAA,EAGF,EAAE;AACJ;AAEO,MAAM,eAAe;AAAA,EAC1B,gBAAgB,CAAC;AAAA,EACjB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,eAAe;AAAA,EACf,cAAc;AAAA,EACd,kBAAkB,MAAM;AAAA,EACxB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,iBAAiB,YAAY;AAAA,EAC7B,QAAQ,MAAM;AAAA,EACd,SAAS,MAAM;AAAA,EACf,mBAAmB,MAAM;AAAA,EACzB,WAAW,SAAS;AAAA,EACpB,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,sBAAsB;AAAA,IACpB,IAAI,EAAE,WAAW,cAAc,SAAS,IAAI;AAAA,IAC5C,QAAQ,EAAE,OAAO,IAAI,UAAU,GAAG;AAAA,EACpC;AAAA,EACA,qBAAqB;AAAA,IACnB,IAAI,EAAE,WAAW,YAAY,SAAS,IAAI;AAAA,IAC1C,QAAQ,EAAE,OAAO,IAAI,UAAU,GAAG;AAAA,EACpC;AAAA,EACA,WAAW;AAAA,EACX,kBAAkB,MAAM;AAAA,EACxB,uBAAuB,MAAM;AAAA,EAC7B,wBAAwB,MAAM;AAAA,EAC9B,WAAW,CAAC;AAAA,EACZ,YAAY,MAAM;AAAA,EAClB,kBAAkB;AACpB;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,5 @@
1
- import { Position } from './positions';
2
- import { Interaction } from './interaction';
1
+ import { Position } from './positions.js';
2
+ import { Interaction } from './interaction.js';
3
3
  declare const DSPopper: {
4
4
  ({ containerProps, arrowGap, arrowSize, blockName, contentOffset, contentStyle, contentComponent, delayClose, delayOpen, interactionType, isOpen, onOpen, onClose, onPlacementChange, placement, preventOverflow, showArrow, closeAnimationConfig, openAnimationConfig, usePortal, triggerComponent, wrapExtraComponent, getTargetFromChildren, getContentFromChildren, modifiers, triggerRef, children: customPopper, renderReference, referenceNode, zIndex, hideIfNotVisible, }: {
5
5
  containerProps: any;
@@ -35,17 +35,17 @@ declare const DSPopper: {
35
35
  hideIfNotVisible: any;
36
36
  }): JSX.Element;
37
37
  propTypes: {
38
- hideIfNotVisible: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
39
- containerProps: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
40
- arrowGap: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
41
- onOpen: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
42
- onClose: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
43
- delayClose: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
44
- delayOpen: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
45
- onPlacementChange: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
46
- arrowSize: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
47
- blockName: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
48
- triggerComponent: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
38
+ hideIfNotVisible: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
39
+ containerProps: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
40
+ arrowGap: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
41
+ onOpen: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
42
+ onClose: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
43
+ delayClose: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
44
+ delayOpen: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
45
+ onPlacementChange: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
46
+ arrowSize: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
47
+ blockName: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
48
+ triggerComponent: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
49
49
  };
50
50
  defaultProps: {
51
51
  containerProps: {};
@@ -94,7 +94,7 @@ declare const DSPopper: {
94
94
  };
95
95
  displayName: string;
96
96
  };
97
- declare const DSPopperWithSchema: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").DocumentedReactComponent<{
97
+ declare const DSPopperWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").DocumentedReactComponent<{
98
98
  containerProps: any;
99
99
  arrowGap: any;
100
100
  arrowSize: any;
@@ -128,6 +128,6 @@ declare const DSPopperWithSchema: import("@elliemae/ds-utilities/dist/types/prop
128
128
  hideIfNotVisible: any;
129
129
  }>;
130
130
  export { Interaction as PopperInteractions, Position as PopperPositions, DSPopperWithSchema, DSPopper };
131
- export { interactions } from './interaction';
132
- export { positions } from './positions';
131
+ export { interactions } from './interaction.js';
132
+ export { positions } from './positions.js';
133
133
  export default DSPopper;
@@ -1,6 +1,6 @@
1
1
  import { Component } from 'react';
2
2
  import { Reference } from '@elliemae/react-popper';
3
- import PopperContent from './PopperContent';
3
+ import PopperContent from './PopperContent.js';
4
4
  export default class PopperImpl extends Component<any, any> {
5
5
  safeIsMounted: boolean;
6
6
  handlePopperPlacementChange: import("memoize-one").MemoizedFn<(this: any, placement: any) => void>;
@@ -1,3 +1,3 @@
1
- export * from './DSPopper';
2
- export * from './getArrowStylesBySize';
3
- export { default } from './DSPopper';
1
+ export * from './DSPopper.js';
2
+ export * from './getArrowStylesBySize.js';
3
+ export { default } from './DSPopper.js';
@@ -1,25 +1,25 @@
1
1
  export declare const popperProps: {
2
2
  /** Hide menu component if trigger component is not visible/scrolled away */
3
- hideIfNotVisible: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
3
+ hideIfNotVisible: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
4
4
  /** props to inject to popper wrapper */
5
- containerProps: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
5
+ containerProps: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
6
6
  /** Space between the arrow and the popup */
7
- arrowGap: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
7
+ arrowGap: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
8
8
  /** callback for when menu changes from close to open */
9
- onOpen: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
9
+ onOpen: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
10
10
  /** callback for when menu changes from open to close */
11
- onClose: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
11
+ onClose: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
12
12
  /** Time in ms to delay close of menu */
13
- delayClose: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
13
+ delayClose: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
14
14
  /** Time in ms to delay open of menu */
15
- delayOpen: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
15
+ delayOpen: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
16
16
  /** callback for when menu changes placement */
17
- onPlacementChange: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
17
+ onPlacementChange: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
18
18
  /** Arrow size */
19
- arrowSize: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
19
+ arrowSize: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
20
20
  /** Bem blockname for the popper */
21
- blockName: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
22
- triggerComponent: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
21
+ blockName: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
22
+ triggerComponent: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
23
23
  };
24
24
  export declare const defaultProps: {
25
25
  containerProps: {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-popper",
3
- "version": "3.15.0",
3
+ "version": "3.16.0-next.10",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Popper",
6
6
  "files": [
@@ -67,9 +67,10 @@
67
67
  "memoize-one": "~6.0.0",
68
68
  "react-spring": "~8.0.27",
69
69
  "styled-components": "~5.3.6",
70
- "@elliemae/ds-overlay": "3.15.0",
71
- "@elliemae/ds-system": "3.15.0",
72
- "@elliemae/ds-utilities": "3.15.0"
70
+ "@elliemae/ds-overlay": "3.16.0-next.10",
71
+ "@elliemae/ds-system": "3.16.0-next.10",
72
+ "@elliemae/ds-props-helpers": "3.16.0-next.10",
73
+ "@elliemae/ds-utilities": "3.16.0-next.10"
73
74
  },
74
75
  "peerDependencies": {
75
76
  "react": "^17.0.2",
@@ -86,7 +87,7 @@
86
87
  "eslint:fix": "eslint --ext='.js,.jsx,.test.js,.ts,.tsx' --fix --config='../../.eslintrc.js' src/",
87
88
  "dts": "node ../../scripts/dts.mjs",
88
89
  "build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs",
89
- "dev:build": "pnpm --filter {.}... build && pnpm --filter {.}... dts",
90
+ "dev:build": "pnpm --filter {.}... build",
90
91
  "dev:install": "pnpm --filter {.}... i --no-lockfile && pnpm run dev:build",
91
92
  "checkDeps": "npx -yes ../ds-codemods check-missing-packages --projectFolderPath=\"./\" --ignorePackagesGlobPattern=\"\" --ignoreFilesGlobPattern=\"**/test-ables/*,**/tests/*\""
92
93
  }