@elliemae/ds-popper 2.2.0 → 2.3.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/DSPopper.js +117 -97
- package/cjs/DSPopper.js.map +7 -0
- package/cjs/PopperContent.js +106 -114
- package/cjs/PopperContent.js.map +7 -0
- package/cjs/PopperImpl.js +104 -167
- package/cjs/PopperImpl.js.map +7 -0
- package/cjs/getArrowStylesBySize.js +59 -45
- package/cjs/getArrowStylesBySize.js.map +7 -0
- package/cjs/index.js +37 -19
- package/cjs/index.js.map +7 -0
- package/cjs/interaction.js +37 -9
- package/cjs/interaction.js.map +7 -0
- package/cjs/positions.js +67 -23
- package/cjs/positions.js.map +7 -0
- package/cjs/props.js +62 -61
- package/cjs/props.js.map +7 -0
- package/esm/DSPopper.js +85 -80
- package/esm/DSPopper.js.map +7 -0
- package/esm/PopperContent.js +74 -102
- package/esm/PopperContent.js.map +7 -0
- package/esm/PopperImpl.js +69 -148
- package/esm/PopperImpl.js.map +7 -0
- package/esm/getArrowStylesBySize.js +30 -36
- package/esm/getArrowStylesBySize.js.map +7 -0
- package/esm/index.js +8 -4
- package/esm/index.js.map +7 -0
- package/esm/interaction.js +8 -4
- package/esm/interaction.js.map +7 -0
- package/esm/positions.js +38 -18
- package/esm/positions.js.map +7 -0
- package/esm/props.js +31 -54
- package/esm/props.js.map +7 -0
- package/package.json +3 -3
package/esm/PopperContent.js
CHANGED
|
@@ -1,81 +1,55 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import { PureComponent } from 'react';
|
|
9
|
-
import { Popper } from 'react-popper';
|
|
10
|
-
import { Keyframes, animated } from 'react-spring/renderprops';
|
|
11
|
-
import getComponentFromProps from '@elliemae/ds-utilities/getComponentFromProps';
|
|
12
|
-
import DSOverlay from '@elliemae/ds-overlay';
|
|
13
|
-
import { getArrowStylesBySize } from './getArrowStylesBySize.js';
|
|
14
|
-
import { jsx } from 'react/jsx-runtime';
|
|
15
|
-
|
|
16
|
-
var _svg;
|
|
17
|
-
|
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
-
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2, { PureComponent } from "react";
|
|
3
|
+
import { Popper } from "react-popper";
|
|
4
|
+
import { Keyframes, animated } from "react-spring/renderprops";
|
|
5
|
+
import getComponentFromProps from "@elliemae/ds-utilities/getComponentFromProps";
|
|
6
|
+
import DSOverlay from "@elliemae/ds-overlay";
|
|
7
|
+
import { getArrowStylesBySize } from "./getArrowStylesBySize";
|
|
21
8
|
const Content = Keyframes.Spring({});
|
|
22
9
|
class PopperContent extends PureComponent {
|
|
23
|
-
// eslint-disable-next-line react/static-property-placement
|
|
24
10
|
constructor(props) {
|
|
25
11
|
super(props);
|
|
26
12
|
this.renderContent = this.renderContent.bind(this);
|
|
27
13
|
this.renderArrow = this.renderArrow.bind(this);
|
|
28
14
|
this.handleRestAnimation = this.handleRestAnimation.bind(this);
|
|
29
|
-
this.handleRestAnimation = this.handleRestAnimation.bind(this);
|
|
30
15
|
}
|
|
31
|
-
|
|
32
16
|
handleRestAnimation() {
|
|
33
|
-
const {
|
|
34
|
-
isOpen,
|
|
35
|
-
onContentDestroyed
|
|
36
|
-
} = this.props;
|
|
37
|
-
|
|
17
|
+
const { isOpen, onContentDestroyed } = this.props;
|
|
38
18
|
if (!isOpen) {
|
|
39
19
|
onContentDestroyed();
|
|
40
20
|
}
|
|
41
21
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
22
|
+
renderArrow({ ref, style }, placement) {
|
|
23
|
+
const { blockName, showArrow } = this.props;
|
|
24
|
+
if (!showArrow)
|
|
25
|
+
return null;
|
|
26
|
+
return /* @__PURE__ */ React2.createElement("div", {
|
|
27
|
+
key: "popper-arrow",
|
|
45
28
|
ref,
|
|
46
|
-
|
|
47
|
-
} = _ref;
|
|
48
|
-
const {
|
|
49
|
-
blockName,
|
|
50
|
-
showArrow
|
|
51
|
-
} = this.props;
|
|
52
|
-
if (!showArrow) return null;
|
|
53
|
-
return /*#__PURE__*/jsx("div", {
|
|
54
|
-
ref: ref,
|
|
55
|
-
className: "".concat(blockName || 'popper', "__arrow"),
|
|
29
|
+
className: `${blockName || "popper"}__arrow`,
|
|
56
30
|
"data-placement": placement,
|
|
57
|
-
style:
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
31
|
+
style: {
|
|
32
|
+
...style,
|
|
33
|
+
...getArrowStylesBySize(placement, 25)
|
|
34
|
+
}
|
|
35
|
+
}, /* @__PURE__ */ React2.createElement("svg", {
|
|
36
|
+
viewBox: "0 0 30 30"
|
|
37
|
+
}, /* @__PURE__ */ React2.createElement("path", {
|
|
38
|
+
className: "stroke",
|
|
39
|
+
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"
|
|
40
|
+
}), /* @__PURE__ */ React2.createElement("path", {
|
|
41
|
+
className: "fill",
|
|
42
|
+
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"
|
|
43
|
+
})));
|
|
68
44
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
outOfBoundaries
|
|
78
|
-
} = _ref2;
|
|
45
|
+
renderContent({
|
|
46
|
+
ref,
|
|
47
|
+
style,
|
|
48
|
+
placement,
|
|
49
|
+
arrowProps,
|
|
50
|
+
scheduleUpdate,
|
|
51
|
+
outOfBoundaries
|
|
52
|
+
}) {
|
|
79
53
|
const {
|
|
80
54
|
contentComponent,
|
|
81
55
|
contentStyle,
|
|
@@ -88,60 +62,58 @@ class PopperContent extends PureComponent {
|
|
|
88
62
|
zIndex,
|
|
89
63
|
hideIfNotVisible
|
|
90
64
|
} = this.props;
|
|
91
|
-
|
|
92
|
-
|
|
65
|
+
const computedStyle = {
|
|
66
|
+
...style,
|
|
67
|
+
...contentStyle,
|
|
93
68
|
zIndex
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
|
|
69
|
+
};
|
|
70
|
+
return /* @__PURE__ */ React2.createElement("div", {
|
|
71
|
+
...containerProps,
|
|
97
72
|
"data-placement": placement,
|
|
98
|
-
onMouseEnter
|
|
99
|
-
onMouseLeave
|
|
73
|
+
onMouseEnter,
|
|
74
|
+
onMouseLeave,
|
|
100
75
|
style: computedStyle,
|
|
101
|
-
"data-testid": "popper-container"
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}));
|
|
76
|
+
"data-testid": "popper-container"
|
|
77
|
+
}, /* @__PURE__ */ React2.createElement(Content, {
|
|
78
|
+
native: true,
|
|
79
|
+
onRest: this.handleRestAnimation,
|
|
80
|
+
state: isOpen && (!outOfBoundaries || !hideIfNotVisible) ? "open" : "close",
|
|
81
|
+
states: {
|
|
82
|
+
open: {
|
|
83
|
+
...openAnimationConfig,
|
|
84
|
+
from: closeAnimationConfig.to
|
|
85
|
+
},
|
|
86
|
+
close: closeAnimationConfig
|
|
87
|
+
}
|
|
88
|
+
}, (animationStyle) => /* @__PURE__ */ React2.createElement(animated.div, {
|
|
89
|
+
ref,
|
|
90
|
+
style: animationStyle
|
|
91
|
+
}, getComponentFromProps(contentComponent, { scheduleUpdate }, [
|
|
92
|
+
this.renderArrow(arrowProps, placement)
|
|
93
|
+
]))));
|
|
120
94
|
}
|
|
121
|
-
|
|
122
95
|
render() {
|
|
123
96
|
const {
|
|
124
97
|
destroyed = false,
|
|
125
98
|
onClickOutside = () => null,
|
|
126
|
-
placement =
|
|
99
|
+
placement = "bottom-start",
|
|
127
100
|
modifiers = {},
|
|
128
101
|
referenceNode,
|
|
129
102
|
usePortal = true
|
|
130
103
|
} = this.props;
|
|
131
|
-
return
|
|
104
|
+
return /* @__PURE__ */ React2.createElement(DSOverlay, {
|
|
132
105
|
isOpen: !destroyed,
|
|
133
|
-
onClickOutside
|
|
134
|
-
usePortal
|
|
135
|
-
},
|
|
136
|
-
modifiers
|
|
137
|
-
placement
|
|
106
|
+
onClickOutside,
|
|
107
|
+
usePortal
|
|
108
|
+
}, /* @__PURE__ */ React2.createElement(Popper, {
|
|
109
|
+
modifiers,
|
|
110
|
+
placement,
|
|
138
111
|
referenceElement: referenceNode
|
|
139
|
-
},
|
|
112
|
+
}, this.renderContent));
|
|
140
113
|
}
|
|
141
|
-
|
|
142
114
|
}
|
|
143
|
-
PopperContent.defaultProps = {
|
|
144
|
-
|
|
115
|
+
PopperContent.defaultProps = { onContentDestroyed: () => null };
|
|
116
|
+
export {
|
|
117
|
+
PopperContent as default
|
|
145
118
|
};
|
|
146
|
-
|
|
147
|
-
export { PopperContent as default };
|
|
119
|
+
//# sourceMappingURL=PopperContent.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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 { Popper } from '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({});\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\">\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({\n ref,\n style,\n placement,\n arrowProps,\n scheduleUpdate,\n outOfBoundaries,\n }) {\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 zIndex,\n };\n return (\n <div\n {...containerProps}\n data-placement={placement}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n style={computedStyle}\n data-testid=\"popper-container\"\n >\n <Content\n native\n onRest={this.handleRestAnimation}\n state={\n isOpen && (!outOfBoundaries || !hideIfNotVisible) ? 'open' : 'close'\n }\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 }, [\n this.renderArrow(arrowProps, placement),\n ])}\n </animated.div>\n )}\n </Content>\n </div>\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\n isOpen={!destroyed}\n onClickOutside={onClickOutside}\n usePortal={usePortal}\n >\n <Popper\n modifiers={modifiers}\n placement={placement}\n referenceElement={referenceNode}\n >\n {this.renderContent}\n </Popper>\n </DSOverlay>\n );\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,UAAU,UAAU,OAAO;AAEjC,4BAA2C,cAAc;AAAA,EAIvD,YAAY,OAAO;AACjB,UAAM;AACN,SAAK,gBAAgB,KAAK,cAAc,KAAK;AAC7C,SAAK,cAAc,KAAK,YAAY,KAAK;AACzC,SAAK,sBAAsB,KAAK,oBAAoB,KAAK;AAAA;AAAA,EAG3D,sBAAsB;AACpB,UAAM,EAAE,QAAQ,uBAAuB,KAAK;AAC5C,QAAI,CAAC,QAAQ;AACX;AAAA;AAAA;AAAA,EAIJ,YAAY,EAAE,KAAK,SAAS,WAAW;AACrC,UAAM,EAAE,WAAW,cAAc,KAAK;AACtC,QAAI,CAAC;AAAW,aAAO;AACvB,WACE,qCAAC,OAAD;AAAA,MACE,KAAI;AAAA,MACJ;AAAA,MACA,WAAW,GAAG,aAAa;AAAA,MAC3B,kBAAgB;AAAA,MAChB,OAAO;AAAA,WACF;AAAA,WACA,qBAAqB,WAAW;AAAA;AAAA,OAGrC,qCAAC,OAAD;AAAA,MAAK,SAAQ;AAAA,OACX,qCAAC,QAAD;AAAA,MACE,WAAU;AAAA,MACV,GAAE;AAAA,QAGJ,qCAAC,QAAD;AAAA,MACE,WAAU;AAAA,MACV,GAAE;AAAA;AAAA;AAAA,EAOZ,cAAc;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,KACC;AACD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,KAAK;AAET,UAAM,gBAAgB;AAAA,SACjB;AAAA,SACA;AAAA,MACH;AAAA;AAEF,WACE,qCAAC,OAAD;AAAA,SACM;AAAA,MACJ,kBAAgB;AAAA,MAChB;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,eAAY;AAAA,OAEZ,qCAAC,SAAD;AAAA,MACE,QAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,OACE,UAAW,EAAC,mBAAmB,CAAC,oBAAoB,SAAS;AAAA,MAE/D,QAAQ;AAAA,QACN,MAAM;AAAA,aACD;AAAA,UACH,MAAM,qBAAqB;AAAA;AAAA,QAE7B,OAAO;AAAA;AAAA,OAGR,CAAC,mBACA,qCAAC,SAAS,KAAV;AAAA,MAAc;AAAA,MAAU,OAAO;AAAA,OAC5B,sBAAsB,kBAAkB,EAAE,kBAAkB;AAAA,MAC3D,KAAK,YAAY,YAAY;AAAA;AAAA;AAAA,EAS3C,SAAS;AACP,UAAM;AAAA,MACJ,YAAY;AAAA,MACZ,iBAAiB,MAAM;AAAA,MACvB,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ;AAAA,MACA,YAAY;AAAA,QACV,KAAK;AACT,WACE,qCAAC,WAAD;AAAA,MACE,QAAQ,CAAC;AAAA,MACT;AAAA,MACA;AAAA,OAEA,qCAAC,QAAD;AAAA,MACE;AAAA,MACA;AAAA,MACA,kBAAkB;AAAA,OAEjB,KAAK;AAAA;AAAA;AA9HP,AAFT,cAES,eAAe,EAAE,oBAAoB,MAAM;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/esm/PopperImpl.js
CHANGED
|
@@ -1,39 +1,22 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import { Component } from 'react';
|
|
9
|
-
import { get, isFunction, isDOMTypeElement, mergeRefs, getComponentFromProps } from '@elliemae/ds-utilities';
|
|
10
|
-
import { Manager, Reference } from 'react-popper';
|
|
11
|
-
export { Reference } from 'react-popper';
|
|
12
|
-
import memoizeOne from 'memoize-one';
|
|
13
|
-
import PopperContent from './PopperContent.js';
|
|
14
|
-
export { default as PopperContent } from './PopperContent.js';
|
|
15
|
-
import { Interaction } from './interaction.js';
|
|
16
|
-
import { jsx } from 'react/jsx-runtime';
|
|
17
|
-
|
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
-
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2, { Component } from "react";
|
|
3
|
+
import { isFunction, get, isDOMTypeElement, getComponentFromProps, mergeRefs } from "@elliemae/ds-utilities";
|
|
4
|
+
import { Manager, Reference } from "react-popper";
|
|
5
|
+
import memoizeOne from "memoize-one";
|
|
6
|
+
import PopperContent from "./PopperContent";
|
|
7
|
+
import { Interaction } from "./interaction";
|
|
21
8
|
class PopperImpl extends Component {
|
|
22
|
-
// we use safeIsMounted because isMounted is not allowed by React.
|
|
23
9
|
constructor(props) {
|
|
24
10
|
super(props);
|
|
25
11
|
this.safeIsMounted = false;
|
|
26
|
-
this.handlePopperPlacementChange = memoizeOne(placement => {
|
|
27
|
-
const {
|
|
28
|
-
onPlacementChange
|
|
29
|
-
} = this.props;
|
|
12
|
+
this.handlePopperPlacementChange = memoizeOne((placement) => {
|
|
13
|
+
const { onPlacementChange } = this.props;
|
|
30
14
|
onPlacementChange(placement);
|
|
31
15
|
});
|
|
32
16
|
this.state = {
|
|
33
17
|
isOpen: false,
|
|
34
18
|
destroyed: true
|
|
35
|
-
};
|
|
36
|
-
|
|
19
|
+
};
|
|
37
20
|
this.handleMouseEnter = this.handleMouseEnter.bind(this);
|
|
38
21
|
this.handleMouseLeave = this.handleMouseLeave.bind(this);
|
|
39
22
|
this.handleTriggerClick = this.handleTriggerClick.bind(this);
|
|
@@ -43,55 +26,34 @@ class PopperImpl extends Component {
|
|
|
43
26
|
this.handleDestroyContent = this.handleDestroyContent.bind(this);
|
|
44
27
|
this.handleContentMouseEnter = this.handleContentMouseEnter.bind(this);
|
|
45
28
|
this.handleContentMouseLeave = this.handleContentMouseLeave.bind(this);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
29
|
+
}
|
|
49
30
|
componentDidMount() {
|
|
50
31
|
this.safeIsMounted = true;
|
|
51
32
|
}
|
|
52
|
-
|
|
53
33
|
componentDidUpdate() {
|
|
54
|
-
const {
|
|
55
|
-
isOpen,
|
|
56
|
-
destroyed
|
|
57
|
-
} = this.state;
|
|
58
|
-
|
|
34
|
+
const { isOpen, destroyed } = this.state;
|
|
59
35
|
if (isOpen === true && destroyed === true) {
|
|
60
|
-
|
|
61
|
-
this.setState({
|
|
62
|
-
destroyed: false
|
|
63
|
-
});
|
|
36
|
+
this.setState({ destroyed: false });
|
|
64
37
|
}
|
|
65
38
|
}
|
|
66
|
-
|
|
67
39
|
componentWillUnmount() {
|
|
68
40
|
this.safeIsMounted = false;
|
|
69
41
|
}
|
|
70
|
-
|
|
71
42
|
static getDerivedStateFromProps(nextProps, prevState) {
|
|
72
|
-
const {
|
|
73
|
-
|
|
74
|
-
} = nextProps;
|
|
75
|
-
const {
|
|
76
|
-
prevPropIsOpen
|
|
77
|
-
} = prevState; // todo: this causes multiple rerenders
|
|
78
|
-
|
|
43
|
+
const { isOpen } = nextProps;
|
|
44
|
+
const { prevPropIsOpen } = prevState;
|
|
79
45
|
if (isOpen !== prevPropIsOpen) {
|
|
80
46
|
return {
|
|
81
47
|
isOpen,
|
|
82
48
|
prevPropIsOpen: isOpen
|
|
83
49
|
};
|
|
84
50
|
}
|
|
85
|
-
|
|
86
51
|
return null;
|
|
87
52
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
isOpen
|
|
93
|
-
} = this.props;
|
|
94
|
-
if (isOpen !== undefined) return {};
|
|
53
|
+
getInteractionObject(interaction, referenceProps = {}) {
|
|
54
|
+
const { isOpen } = this.props;
|
|
55
|
+
if (isOpen !== void 0)
|
|
56
|
+
return {};
|
|
95
57
|
return {
|
|
96
58
|
[Interaction.CLICK]: {
|
|
97
59
|
handlers: {
|
|
@@ -114,66 +76,45 @@ class PopperImpl extends Component {
|
|
|
114
76
|
canClose: () => true
|
|
115
77
|
};
|
|
116
78
|
}
|
|
117
|
-
|
|
118
79
|
setOpen(opening) {
|
|
119
|
-
const {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
} = this.state;
|
|
125
|
-
if (!this.safeIsMounted) return;
|
|
126
|
-
|
|
127
|
-
if (prevPropIsOpen === undefined) {
|
|
80
|
+
const { onOpen } = this.props;
|
|
81
|
+
const { prevPropIsOpen } = this.state;
|
|
82
|
+
if (!this.safeIsMounted)
|
|
83
|
+
return;
|
|
84
|
+
if (prevPropIsOpen === void 0) {
|
|
128
85
|
this.setState({
|
|
129
86
|
isOpen: opening,
|
|
130
87
|
destroyed: false
|
|
131
88
|
});
|
|
132
89
|
}
|
|
133
|
-
|
|
134
90
|
onOpen(opening);
|
|
135
91
|
}
|
|
136
|
-
|
|
137
92
|
open() {
|
|
138
93
|
clearTimeout(this.closeTimer);
|
|
139
|
-
const {
|
|
140
|
-
delayOpen
|
|
141
|
-
} = this.props;
|
|
94
|
+
const { delayOpen } = this.props;
|
|
142
95
|
this.openTimer = setTimeout(() => this.setOpen(true), delayOpen);
|
|
143
96
|
}
|
|
144
|
-
|
|
145
97
|
close() {
|
|
146
98
|
clearTimeout(this.openTimer);
|
|
147
|
-
const {
|
|
148
|
-
delayClose,
|
|
149
|
-
onClose = () => null
|
|
150
|
-
} = this.props;
|
|
99
|
+
const { delayClose, onClose = () => null } = this.props;
|
|
151
100
|
this.closeTimer = setTimeout(() => {
|
|
152
101
|
this.setOpen(false);
|
|
153
102
|
onClose();
|
|
154
103
|
}, delayClose);
|
|
155
104
|
}
|
|
156
|
-
|
|
157
105
|
handleTriggerClick(e) {
|
|
158
|
-
const {
|
|
159
|
-
|
|
160
|
-
} = this.props;
|
|
161
|
-
const {
|
|
162
|
-
onClick
|
|
163
|
-
} = get(triggerComponent, 'props') || {};
|
|
106
|
+
const { triggerComponent } = this.props;
|
|
107
|
+
const { onClick } = get(triggerComponent, "props") || {};
|
|
164
108
|
this.open();
|
|
165
|
-
if (isFunction(onClick))
|
|
109
|
+
if (isFunction(onClick))
|
|
110
|
+
onClick(e);
|
|
166
111
|
}
|
|
167
|
-
|
|
168
112
|
handleContentMouseEnter() {
|
|
169
113
|
this.isMouseOverContent = true;
|
|
170
114
|
}
|
|
171
|
-
|
|
172
115
|
handleContentMouseLeave() {
|
|
173
116
|
this.isMouseOverContent = false;
|
|
174
|
-
const {
|
|
175
|
-
onClose = () => null
|
|
176
|
-
} = this.props;
|
|
117
|
+
const { onClose = () => null } = this.props;
|
|
177
118
|
setTimeout(() => {
|
|
178
119
|
if (!this.isMouseOverTarget) {
|
|
179
120
|
this.setOpen(false);
|
|
@@ -181,12 +122,10 @@ class PopperImpl extends Component {
|
|
|
181
122
|
}
|
|
182
123
|
}, 10);
|
|
183
124
|
}
|
|
184
|
-
|
|
185
125
|
handleMouseEnter() {
|
|
186
126
|
this.isMouseOverTarget = true;
|
|
187
127
|
this.open();
|
|
188
128
|
}
|
|
189
|
-
|
|
190
129
|
handleMouseLeave() {
|
|
191
130
|
this.isMouseOverTarget = false;
|
|
192
131
|
setTimeout(() => {
|
|
@@ -195,57 +134,35 @@ class PopperImpl extends Component {
|
|
|
195
134
|
}
|
|
196
135
|
}, 10);
|
|
197
136
|
}
|
|
198
|
-
|
|
199
137
|
updatePopoverState(popperData) {
|
|
200
138
|
this.handlePopperPlacementChange(popperData.placement);
|
|
201
139
|
return popperData;
|
|
202
140
|
}
|
|
203
|
-
|
|
204
141
|
handleDestroyContent() {
|
|
205
|
-
this.setState({
|
|
206
|
-
destroyed: true
|
|
207
|
-
});
|
|
142
|
+
this.setState({ destroyed: true });
|
|
208
143
|
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
const {
|
|
215
|
-
isOpen
|
|
216
|
-
} = this.state;
|
|
217
|
-
const {
|
|
218
|
-
triggerComponent,
|
|
219
|
-
interactionType,
|
|
220
|
-
renderReference
|
|
221
|
-
} = this.props;
|
|
222
|
-
const componentInnerRef = get(triggerComponent, ['props', 'innerRef'], () => null);
|
|
223
|
-
const compRef = isDOMTypeElement(triggerComponent) ? {
|
|
224
|
-
ref
|
|
225
|
-
} : {
|
|
226
|
-
innerRef: mergeRefs(ref, componentInnerRef)
|
|
227
|
-
};
|
|
144
|
+
renderTarget({ ref }) {
|
|
145
|
+
const { isOpen } = this.state;
|
|
146
|
+
const { triggerComponent, interactionType, renderReference } = this.props;
|
|
147
|
+
const componentInnerRef = get(triggerComponent, ["props", "innerRef"], () => null);
|
|
148
|
+
const compRef = isDOMTypeElement(triggerComponent) ? { ref } : { innerRef: mergeRefs(ref, componentInnerRef) };
|
|
228
149
|
const triggerHandler = this.getInteractionObject(interactionType, triggerComponent.props).handlers;
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
150
|
+
const targetProps = {
|
|
151
|
+
...triggerHandler,
|
|
152
|
+
...compRef,
|
|
153
|
+
"aria-haspopup": true,
|
|
154
|
+
"aria-expanded": isOpen
|
|
155
|
+
};
|
|
235
156
|
if (renderReference) {
|
|
236
|
-
return renderReference(
|
|
237
|
-
ref
|
|
238
|
-
|
|
157
|
+
return renderReference({
|
|
158
|
+
ref,
|
|
159
|
+
...targetProps
|
|
160
|
+
});
|
|
239
161
|
}
|
|
240
|
-
|
|
241
162
|
return getComponentFromProps(triggerComponent, targetProps);
|
|
242
163
|
}
|
|
243
|
-
|
|
244
164
|
render() {
|
|
245
|
-
const {
|
|
246
|
-
isOpen,
|
|
247
|
-
destroyed
|
|
248
|
-
} = this.state;
|
|
165
|
+
const { isOpen, destroyed } = this.state;
|
|
249
166
|
const {
|
|
250
167
|
placement,
|
|
251
168
|
interactionType,
|
|
@@ -265,11 +182,10 @@ class PopperImpl extends Component {
|
|
|
265
182
|
zIndex,
|
|
266
183
|
hideIfNotVisible
|
|
267
184
|
} = this.props;
|
|
268
|
-
|
|
269
|
-
const allModifiers = _objectSpread({
|
|
185
|
+
const allModifiers = {
|
|
270
186
|
offset: {
|
|
271
187
|
enabled: showArrow,
|
|
272
|
-
offset:
|
|
188
|
+
offset: `0, ${arrowSize + arrowGap}`
|
|
273
189
|
},
|
|
274
190
|
preventOverflow: {
|
|
275
191
|
enabled: true,
|
|
@@ -280,9 +196,9 @@ class PopperImpl extends Component {
|
|
|
280
196
|
enabled: true,
|
|
281
197
|
fn: this.updatePopoverState,
|
|
282
198
|
order: 900
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
|
|
199
|
+
},
|
|
200
|
+
...modifiers
|
|
201
|
+
};
|
|
286
202
|
const triggerHandler = this.getInteractionObject(interactionType).handlers;
|
|
287
203
|
const popperContentProps = {
|
|
288
204
|
hideIfNotVisible,
|
|
@@ -300,23 +216,28 @@ class PopperImpl extends Component {
|
|
|
300
216
|
usePortal,
|
|
301
217
|
openAnimationConfig,
|
|
302
218
|
closeAnimationConfig,
|
|
303
|
-
onMouseEnter: interactionType === Interaction.HOVER ? this.handleContentMouseEnter :
|
|
304
|
-
onMouseLeave: interactionType === Interaction.HOVER ? this.handleContentMouseLeave :
|
|
219
|
+
onMouseEnter: interactionType === Interaction.HOVER ? this.handleContentMouseEnter : void 0,
|
|
220
|
+
onMouseLeave: interactionType === Interaction.HOVER ? this.handleContentMouseLeave : void 0,
|
|
305
221
|
referenceNode,
|
|
306
222
|
zIndex
|
|
307
223
|
};
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
return /*#__PURE__*/_jsx(Manager, {}, void 0, customPopper({
|
|
224
|
+
if (customPopper && typeof customPopper === "function") {
|
|
225
|
+
return /* @__PURE__ */ React2.createElement(Manager, null, customPopper({
|
|
311
226
|
Reference,
|
|
312
227
|
triggerHandler,
|
|
313
|
-
content:
|
|
228
|
+
content: /* @__PURE__ */ React2.createElement(PopperContent, {
|
|
229
|
+
...popperContentProps
|
|
230
|
+
})
|
|
314
231
|
}));
|
|
315
232
|
}
|
|
316
|
-
|
|
317
|
-
|
|
233
|
+
return /* @__PURE__ */ React2.createElement(Manager, null, /* @__PURE__ */ React2.createElement(Reference, null, this.renderTarget), /* @__PURE__ */ React2.createElement(PopperContent, {
|
|
234
|
+
...popperContentProps
|
|
235
|
+
}));
|
|
318
236
|
}
|
|
319
|
-
|
|
320
237
|
}
|
|
321
|
-
|
|
322
|
-
|
|
238
|
+
export {
|
|
239
|
+
PopperContent,
|
|
240
|
+
Reference,
|
|
241
|
+
PopperImpl as default
|
|
242
|
+
};
|
|
243
|
+
//# sourceMappingURL=PopperImpl.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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 '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(\n this,\n );\n this.handleDestroyContent = this.handleDestroyContent.bind(this);\n this.handleContentMouseEnter = this.handleContentMouseEnter.bind(this);\n this.handleContentMouseLeave = this.handleContentMouseLeave.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(\n triggerComponent,\n ['props', 'innerRef'],\n () => null,\n );\n const compRef = isDOMTypeElement(triggerComponent)\n ? { ref }\n : { innerRef: mergeRefs(ref, componentInnerRef) };\n\n const triggerHandler = this.getInteractionObject(\n interactionType,\n triggerComponent.props,\n ).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:\n interactionType === Interaction.HOVER\n ? this.handleContentMouseEnter\n : undefined,\n onMouseLeave:\n interactionType === Interaction.HOVER\n ? this.handleContentMouseLeave\n : 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
|
+
"names": []
|
|
7
|
+
}
|