@elliemae/ds-popper 3.16.0 → 3.16.1

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.
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -36,12 +40,12 @@ module.exports = __toCommonJS(DSPopper_exports);
36
40
  var React = __toESM(require("react"));
37
41
  var import_jsx_runtime = require("react/jsx-runtime");
38
42
  var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
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");
43
+ var import_PopperImpl = __toESM(require("./PopperImpl.js"));
44
+ var import_positions = require("./positions.js");
45
+ var import_interaction = require("./interaction.js");
46
+ var import_props = require("./props.js");
47
+ var import_interaction2 = require("./interaction.js");
48
+ var import_positions2 = require("./positions.js");
45
49
  const DSPopper = ({
46
50
  containerProps,
47
51
  arrowGap,
@@ -54,6 +58,7 @@ const DSPopper = ({
54
58
  delayOpen,
55
59
  interactionType,
56
60
  isOpen,
61
+ // if this is set DSPopper would be a controlled component if not, an uncontrolled one
57
62
  onOpen,
58
63
  onClose,
59
64
  onPlacementChange,
@@ -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-props-helpers';\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,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;",
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;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
  }
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -35,7 +39,7 @@ var import_react_popper = require("@elliemae/react-popper");
35
39
  var import_renderprops = require("react-spring/renderprops");
36
40
  var import_getComponentFromProps = __toESM(require("@elliemae/ds-utilities/getComponentFromProps"));
37
41
  var import_ds_overlay = __toESM(require("@elliemae/ds-overlay"));
38
- var import_getArrowStylesBySize = require("./getArrowStylesBySize");
42
+ var import_getArrowStylesBySize = require("./getArrowStylesBySize.js");
39
43
  const Content = import_renderprops.Keyframes.Spring({});
40
44
  const StyledDiv = import_ds_system.styled.div`
41
45
  z-index: ${({ zIndex, theme }) => zIndex ?? theme.zIndex.popper};
@@ -145,5 +149,6 @@ class PopperContent extends import_react.PureComponent {
145
149
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_overlay.default, { isOpen: !destroyed, onClickOutside, usePortal, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_popper.Popper, { modifiers, placement, referenceElement: referenceNode, children: this.renderContent }) });
146
150
  }
147
151
  }
152
+ // eslint-disable-next-line react/static-property-placement
148
153
  PopperContent.defaultProps = { onContentDestroyed: () => null };
149
154
  //# sourceMappingURL=PopperContent.js.map
@@ -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"],
5
- "mappings": "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",
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
+ "mappings": "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",
6
6
  "names": ["getComponentFromProps", "DSOverlay"]
7
7
  }
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -35,11 +39,12 @@ var import_react = require("react");
35
39
  var import_ds_utilities = require("@elliemae/ds-utilities");
36
40
  var import_react_popper = require("@elliemae/react-popper");
37
41
  var import_memoize_one = __toESM(require("memoize-one"));
38
- var import_PopperContent = __toESM(require("./PopperContent"));
39
- var import_interaction = require("./interaction");
42
+ var import_PopperContent = __toESM(require("./PopperContent.js"));
43
+ var import_interaction = require("./interaction.js");
40
44
  class PopperImpl extends import_react.Component {
41
45
  constructor(props) {
42
46
  super(props);
47
+ // we use safeIsMounted because isMounted is not allowed by React.
43
48
  this.safeIsMounted = false;
44
49
  this.handlePopperPlacementChange = (0, import_memoize_one.default)((placement) => {
45
50
  const { onPlacementChange } = this.props;
@@ -63,6 +68,7 @@ class PopperImpl extends import_react.Component {
63
68
  this.open = this.open.bind(this);
64
69
  this.close = this.close.bind(this);
65
70
  }
71
+ // this is needed to prevent setState on unmounted components
66
72
  componentDidMount() {
67
73
  this.safeIsMounted = true;
68
74
  }
@@ -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"],
5
- "mappings": "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",
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
+ "mappings": "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",
6
6
  "names": ["PopperContent", "memoizeOne", "PopperContent"]
7
7
  }
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/getArrowStylesBySize.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["export const getArrowStylesBySize = (position, size = 30) => {\n const basePosition = position && position.split('-')[0];\n return {\n borderWidth: size,\n ...{\n top: {\n top: '100% !important',\n transform: `rotateZ(${180}deg)`,\n },\n right: {\n right: '100%',\n transform: `rotateZ(${-90}deg)`,\n },\n bottom: {\n bottom: '100%',\n transform: `rotateZ(${0}deg)`,\n },\n left: {\n left: '100%',\n transform: `rotateZ(${90}deg)`,\n },\n }[basePosition],\n };\n};\n\nexport default getArrowStylesBySize;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,uBAAuB,CAAC,UAAU,OAAO,OAAO;AAC3D,QAAM,eAAe,YAAY,SAAS,MAAM,GAAG,EAAE;AACrD,SAAO;AAAA,IACL,aAAa;AAAA,IACb,GAAG;AAAA,MACD,KAAK;AAAA,QACH,KAAK;AAAA,QACL,WAAW,WAAW;AAAA,MACxB;AAAA,MACA,OAAO;AAAA,QACL,OAAO;AAAA,QACP,WAAW,WAAW;AAAA,MACxB;AAAA,MACA,QAAQ;AAAA,QACN,QAAQ;AAAA,QACR,WAAW,WAAW;AAAA,MACxB;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,WAAW,WAAW;AAAA,MACxB;AAAA,IACF,EAAE;AAAA,EACJ;AACF;AAEA,IAAO,+BAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,uBAAuB,CAAC,UAAU,OAAO,OAAO;AAC3D,QAAM,eAAe,YAAY,SAAS,MAAM,GAAG,EAAE,CAAC;AACtD,SAAO;AAAA,IACL,aAAa;AAAA,IACb,GAAG;AAAA,MACD,KAAK;AAAA,QACH,KAAK;AAAA,QACL,WAAW,WAAW;AAAA,MACxB;AAAA,MACA,OAAO;AAAA,QACL,OAAO;AAAA,QACP,WAAW,WAAW;AAAA,MACxB;AAAA,MACA,QAAQ;AAAA,QACN,QAAQ;AAAA,QACR,WAAW,WAAW;AAAA,MACxB;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,WAAW,WAAW;AAAA,MACxB;AAAA,IACF,EAAE,YAAY;AAAA,EAChB;AACF;AAEA,IAAO,+BAAQ;",
6
6
  "names": []
7
7
  }
package/dist/cjs/index.js CHANGED
@@ -19,6 +19,10 @@ var __copyProps = (to, from, except, desc) => {
19
19
  };
20
20
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
21
21
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
22
26
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
23
27
  mod
24
28
  ));
@@ -29,7 +33,7 @@ __export(src_exports, {
29
33
  });
30
34
  module.exports = __toCommonJS(src_exports);
31
35
  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"));
36
+ __reExport(src_exports, require("./DSPopper.js"), module.exports);
37
+ __reExport(src_exports, require("./getArrowStylesBySize.js"), module.exports);
38
+ var import_DSPopper = __toESM(require("./DSPopper.js"));
35
39
  //# 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
  }
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/interaction.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["export const Interaction = {\n CLICK: 'click',\n HOVER: 'hover',\n};\n\nexport const interactions = [Interaction.CLICK, Interaction.HOVER];\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,cAAc;AAAA,EACzB,OAAO;AAAA,EACP,OAAO;AACT;AAEO,MAAM,eAAe,CAAC,YAAY,OAAO,YAAY,KAAK;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,cAAc;AAAA,EACzB,OAAO;AAAA,EACP,OAAO;AACT;AAEO,MAAM,eAAe,CAAC,YAAY,OAAO,YAAY,KAAK;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "commonjs",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/positions.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["export const Position = {\n AUTO: 'auto',\n AUTO_START: 'auto-start',\n AUTO_END: 'auto-end',\n BOTTOM: 'bottom',\n BOTTOM_START: 'bottom-start',\n BOTTOM_END: 'bottom-end',\n LEFT: 'left',\n LEFT_END: 'left-end',\n LEFT_START: 'left-start',\n RIGHT: 'right',\n RIGHT_END: 'right-end',\n RIGHT_START: 'right-start',\n TOP: 'top',\n TOP_START: 'top-start',\n TOP_END: 'top-end',\n};\n\nexport const positions = [\n Position.AUTO_START,\n Position.AUTO_END,\n Position.AUTO,\n Position.TOP_START,\n Position.TOP,\n Position.TOP_END,\n Position.RIGHT_START,\n Position.RIGHT,\n Position.RIGHT_END,\n Position.BOTTOM_START,\n Position.BOTTOM,\n Position.BOTTOM_END,\n Position.LEFT_START,\n Position.LEFT,\n Position.LEFT_END,\n];\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,WAAW;AAAA,EACtB,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,aAAa;AAAA,EACb,KAAK;AAAA,EACL,WAAW;AAAA,EACX,SAAS;AACX;AAEO,MAAM,YAAY;AAAA,EACvB,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AACX;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,WAAW;AAAA,EACtB,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,aAAa;AAAA,EACb,KAAK;AAAA,EACL,WAAW;AAAA,EACX,SAAS;AACX;AAEO,MAAM,YAAY;AAAA,EACvB,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AACX;",
6
6
  "names": []
7
7
  }
package/dist/cjs/props.js CHANGED
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -30,18 +34,28 @@ __export(props_exports, {
30
34
  module.exports = __toCommonJS(props_exports);
31
35
  var React = __toESM(require("react"));
32
36
  var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
33
- var import_positions = require("./positions");
34
- var import_interaction = require("./interaction");
37
+ var import_positions = require("./positions.js");
38
+ var import_interaction = require("./interaction.js");
35
39
  const popperProps = {
40
+ /** Hide menu component if trigger component is not visible/scrolled away */
36
41
  hideIfNotVisible: import_ds_props_helpers.PropTypes.bool.description("Hide menu component if trigger component is not visible/scrolled away"),
42
+ /** props to inject to popper wrapper */
37
43
  containerProps: import_ds_props_helpers.PropTypes.object.description("props to inject to popper wrapper"),
44
+ /** Space between the arrow and the popup */
38
45
  arrowGap: import_ds_props_helpers.PropTypes.number.description("Space between the arrow and the popup"),
46
+ /** callback for when menu changes from close to open */
39
47
  onOpen: import_ds_props_helpers.PropTypes.func.description("callback for when menu changes from close to open"),
48
+ /** callback for when menu changes from open to close */
40
49
  onClose: import_ds_props_helpers.PropTypes.func.description("callback for when menu changes from open to close"),
50
+ /** Time in ms to delay close of menu */
41
51
  delayClose: import_ds_props_helpers.PropTypes.number.description("Time in ms to delay close of menu"),
52
+ /** Time in ms to delay open of menu */
42
53
  delayOpen: import_ds_props_helpers.PropTypes.number.description("Time in ms to delay open of menu"),
54
+ /** callback for when menu changes placement */
43
55
  onPlacementChange: import_ds_props_helpers.PropTypes.func.description("callback for when menu changes placement"),
56
+ /** Arrow size */
44
57
  arrowSize: import_ds_props_helpers.PropTypes.number.description("Arrow size"),
58
+ /** Bem blockname for the popper */
45
59
  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
60
  triggerComponent: import_ds_props_helpers.PropTypes.element.description(
47
61
  `The component that will open/close the tooltip.
@@ -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-props-helpers';\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,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;",
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;AAAA,EAEzB,kBAAkB,kCAAU,KAAK,YAAY,uEAAuE;AAAA;AAAA,EAEpH,gBAAgB,kCAAU,OAAO,YAAY,mCAAmC;AAAA;AAAA,EAEhF,UAAU,kCAAU,OAAO,YAAY,uCAAuC;AAAA;AAAA,EAE9E,QAAQ,kCAAU,KAAK,YAAY,mDAAmD;AAAA;AAAA,EAEtF,SAAS,kCAAU,KAAK,YAAY,mDAAmD;AAAA;AAAA,EAEvF,YAAY,kCAAU,OAAO,YAAY,mCAAmC;AAAA;AAAA,EAE5E,WAAW,kCAAU,OAAO,YAAY,kCAAkC;AAAA;AAAA,EAE1E,mBAAmB,kCAAU,KAAK,YAAY,0CAA0C;AAAA;AAAA,EAExF,WAAW,kCAAU,OAAO,YAAY,YAAY;AAAA;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
3
  import { describe } from "@elliemae/ds-props-helpers";
4
- import PopperImpl from "./PopperImpl";
5
- import { Position } from "./positions";
6
- import { Interaction } from "./interaction";
7
- import { popperProps, defaultProps } from "./props";
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,
@@ -17,6 +17,7 @@ const DSPopper = ({
17
17
  delayOpen,
18
18
  interactionType,
19
19
  isOpen,
20
+ // if this is set DSPopper would be a controlled component if not, an uncontrolled one
20
21
  onOpen,
21
22
  onClose,
22
23
  onPlacementChange,
@@ -78,8 +79,8 @@ DSPopper.defaultProps = defaultProps;
78
79
  DSPopper.displayName = "DSPopper";
79
80
  const DSPopperWithSchema = describe(DSPopper);
80
81
  DSPopperWithSchema.propTypes = popperProps;
81
- import { interactions } from "./interaction";
82
- import { positions } from "./positions";
82
+ import { interactions } from "./interaction.js";
83
+ import { positions } from "./positions.js";
83
84
  var DSPopper_default = DSPopper;
84
85
  export {
85
86
  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-props-helpers';\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"],
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;",
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
+ "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;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};
@@ -116,6 +116,7 @@ class PopperContent extends PureComponent {
116
116
  return /* @__PURE__ */ jsx(DSOverlay, { isOpen: !destroyed, onClickOutside, usePortal, children: /* @__PURE__ */ jsx(Popper, { modifiers, placement, referenceElement: referenceNode, children: this.renderContent }) });
117
117
  }
118
118
  }
119
+ // eslint-disable-next-line react/static-property-placement
119
120
  PopperContent.defaultProps = { onContentDestroyed: () => null };
120
121
  export {
121
122
  PopperContent as default
@@ -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"],
5
- "mappings": "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",
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
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -4,11 +4,12 @@ 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);
12
+ // we use safeIsMounted because isMounted is not allowed by React.
12
13
  this.safeIsMounted = false;
13
14
  this.handlePopperPlacementChange = memoizeOne((placement) => {
14
15
  const { onPlacementChange } = this.props;
@@ -32,6 +33,7 @@ class PopperImpl extends Component {
32
33
  this.open = this.open.bind(this);
33
34
  this.close = this.close.bind(this);
34
35
  }
36
+ // this is needed to prevent setState on unmounted components
35
37
  componentDidMount() {
36
38
  this.safeIsMounted = true;
37
39
  }
@@ -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"],
5
- "mappings": "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",
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
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/getArrowStylesBySize.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const getArrowStylesBySize = (position, size = 30) => {\n const basePosition = position && position.split('-')[0];\n return {\n borderWidth: size,\n ...{\n top: {\n top: '100% !important',\n transform: `rotateZ(${180}deg)`,\n },\n right: {\n right: '100%',\n transform: `rotateZ(${-90}deg)`,\n },\n bottom: {\n bottom: '100%',\n transform: `rotateZ(${0}deg)`,\n },\n left: {\n left: '100%',\n transform: `rotateZ(${90}deg)`,\n },\n }[basePosition],\n };\n};\n\nexport default getArrowStylesBySize;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,uBAAuB,CAAC,UAAU,OAAO,OAAO;AAC3D,QAAM,eAAe,YAAY,SAAS,MAAM,GAAG,EAAE;AACrD,SAAO;AAAA,IACL,aAAa;AAAA,IACb,GAAG;AAAA,MACD,KAAK;AAAA,QACH,KAAK;AAAA,QACL,WAAW,WAAW;AAAA,MACxB;AAAA,MACA,OAAO;AAAA,QACL,OAAO;AAAA,QACP,WAAW,WAAW;AAAA,MACxB;AAAA,MACA,QAAQ;AAAA,QACN,QAAQ;AAAA,QACR,WAAW,WAAW;AAAA,MACxB;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,WAAW,WAAW;AAAA,MACxB;AAAA,IACF,EAAE;AAAA,EACJ;AACF;AAEA,IAAO,+BAAQ;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,uBAAuB,CAAC,UAAU,OAAO,OAAO;AAC3D,QAAM,eAAe,YAAY,SAAS,MAAM,GAAG,EAAE,CAAC;AACtD,SAAO;AAAA,IACL,aAAa;AAAA,IACb,GAAG;AAAA,MACD,KAAK;AAAA,QACH,KAAK;AAAA,QACL,WAAW,WAAW;AAAA,MACxB;AAAA,MACA,OAAO;AAAA,QACL,OAAO;AAAA,QACP,WAAW,WAAW;AAAA,MACxB;AAAA,MACA,QAAQ;AAAA,QACN,QAAQ;AAAA,QACR,WAAW,WAAW;AAAA,MACxB;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,WAAW,WAAW;AAAA,MACxB;AAAA,IACF,EAAE,YAAY;AAAA,EAChB;AACF;AAEA,IAAO,+BAAQ;",
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,17 +1,27 @@
1
1
  import * as React from "react";
2
2
  import { PropTypes } from "@elliemae/ds-props-helpers";
3
- import { Position } from "./positions";
4
- import { Interaction } from "./interaction";
3
+ import { Position } from "./positions.js";
4
+ import { Interaction } from "./interaction.js";
5
5
  const popperProps = {
6
+ /** Hide menu component if trigger component is not visible/scrolled away */
6
7
  hideIfNotVisible: PropTypes.bool.description("Hide menu component if trigger component is not visible/scrolled away"),
8
+ /** props to inject to popper wrapper */
7
9
  containerProps: PropTypes.object.description("props to inject to popper wrapper"),
10
+ /** Space between the arrow and the popup */
8
11
  arrowGap: PropTypes.number.description("Space between the arrow and the popup"),
12
+ /** callback for when menu changes from close to open */
9
13
  onOpen: PropTypes.func.description("callback for when menu changes from close to open"),
14
+ /** callback for when menu changes from open to close */
10
15
  onClose: PropTypes.func.description("callback for when menu changes from open to close"),
16
+ /** Time in ms to delay close of menu */
11
17
  delayClose: PropTypes.number.description("Time in ms to delay close of menu"),
18
+ /** Time in ms to delay open of menu */
12
19
  delayOpen: PropTypes.number.description("Time in ms to delay open of menu"),
20
+ /** callback for when menu changes placement */
13
21
  onPlacementChange: PropTypes.func.description("callback for when menu changes placement"),
22
+ /** Arrow size */
14
23
  arrowSize: PropTypes.number.description("Arrow size"),
24
+ /** Bem blockname for the popper */
15
25
  blockName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).description("Bem blockname for the popper"),
16
26
  triggerComponent: PropTypes.element.description(
17
27
  `The component that will open/close the tooltip.
@@ -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-props-helpers';\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"],
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;",
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
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,iBAAiB;AAC1B,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAErB,MAAM,cAAc;AAAA;AAAA,EAEzB,kBAAkB,UAAU,KAAK,YAAY,uEAAuE;AAAA;AAAA,EAEpH,gBAAgB,UAAU,OAAO,YAAY,mCAAmC;AAAA;AAAA,EAEhF,UAAU,UAAU,OAAO,YAAY,uCAAuC;AAAA;AAAA,EAE9E,QAAQ,UAAU,KAAK,YAAY,mDAAmD;AAAA;AAAA,EAEtF,SAAS,UAAU,KAAK,YAAY,mDAAmD;AAAA;AAAA,EAEvF,YAAY,UAAU,OAAO,YAAY,mCAAmC;AAAA;AAAA,EAE5E,WAAW,UAAU,OAAO,YAAY,kCAAkC;AAAA;AAAA,EAE1E,mBAAmB,UAAU,KAAK,YAAY,0CAA0C;AAAA;AAAA,EAExF,WAAW,UAAU,OAAO,YAAY,YAAY;AAAA;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,6 @@
1
- import { Position } from './positions';
2
- import { Interaction } from './interaction';
1
+ /// <reference types="react" />
2
+ import { Position } from './positions.js';
3
+ import { Interaction } from './interaction.js';
3
4
  declare const DSPopper: {
4
5
  ({ 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
6
  containerProps: any;
@@ -35,17 +36,17 @@ declare const DSPopper: {
35
36
  hideIfNotVisible: any;
36
37
  }): JSX.Element;
37
38
  propTypes: {
38
- hideIfNotVisible: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
39
- containerProps: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
40
- arrowGap: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
41
- onOpen: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
42
- onClose: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
43
- delayClose: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
44
- delayOpen: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
45
- onPlacementChange: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
46
- arrowSize: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
47
- blockName: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
48
- triggerComponent: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
39
+ hideIfNotVisible: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
40
+ containerProps: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
41
+ arrowGap: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
42
+ onOpen: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
43
+ onClose: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
44
+ delayClose: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
45
+ delayOpen: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
46
+ onPlacementChange: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
47
+ arrowSize: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
48
+ blockName: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
49
+ triggerComponent: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
49
50
  };
50
51
  defaultProps: {
51
52
  containerProps: {};
@@ -94,7 +95,7 @@ declare const DSPopper: {
94
95
  };
95
96
  displayName: string;
96
97
  };
97
- declare const DSPopperWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").DocumentedReactComponent<{
98
+ declare const DSPopperWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").DocumentedReactComponent<{
98
99
  containerProps: any;
99
100
  arrowGap: any;
100
101
  arrowSize: any;
@@ -128,6 +129,6 @@ declare const DSPopperWithSchema: import("@elliemae/ds-props-helpers/dist/types/
128
129
  hideIfNotVisible: any;
129
130
  }>;
130
131
  export { Interaction as PopperInteractions, Position as PopperPositions, DSPopperWithSchema, DSPopper };
131
- export { interactions } from './interaction';
132
- export { positions } from './positions';
132
+ export { interactions } from './interaction.js';
133
+ export { positions } from './positions.js';
133
134
  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-props-helpers/dist/types/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-props-helpers/dist/types/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-props-helpers/dist/types/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-props-helpers/dist/types/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-props-helpers/dist/types/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-props-helpers/dist/types/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-props-helpers/dist/types/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-props-helpers/dist/types/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-props-helpers/dist/types/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-props-helpers/dist/types/propTypes/types").ReactDescT;
22
- triggerComponent: import("@elliemae/ds-props-helpers/dist/types/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.16.0",
3
+ "version": "3.16.1",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Popper",
6
6
  "files": [
@@ -66,11 +66,11 @@
66
66
  "@elliemae/react-popper": "~1.0.2",
67
67
  "memoize-one": "~6.0.0",
68
68
  "react-spring": "~8.0.27",
69
- "styled-components": "~5.3.6",
70
- "@elliemae/ds-overlay": "3.16.0",
71
- "@elliemae/ds-props-helpers": "3.16.0",
72
- "@elliemae/ds-system": "3.16.0",
73
- "@elliemae/ds-utilities": "3.16.0"
69
+ "styled-components": "~5.3.9",
70
+ "@elliemae/ds-overlay": "3.16.1",
71
+ "@elliemae/ds-props-helpers": "3.16.1",
72
+ "@elliemae/ds-system": "3.16.1",
73
+ "@elliemae/ds-utilities": "3.16.1"
74
74
  },
75
75
  "peerDependencies": {
76
76
  "react": "^17.0.2",