@elliemae/ds-popper 2.3.0-next.0 → 3.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/DSPopper.js +117 -0
- package/dist/cjs/DSPopper.js.map +7 -0
- package/dist/cjs/PopperContent.js +148 -0
- package/dist/cjs/PopperContent.js.map +7 -0
- package/dist/cjs/PopperImpl.js +272 -0
- package/dist/cjs/PopperImpl.js.map +7 -0
- package/dist/cjs/getArrowStylesBySize.js +60 -0
- package/dist/cjs/getArrowStylesBySize.js.map +7 -0
- package/dist/cjs/index.js +37 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/interaction.js +40 -0
- package/dist/cjs/interaction.js.map +7 -0
- package/dist/cjs/positions.js +69 -0
- package/dist/cjs/positions.js.map +7 -0
- package/dist/cjs/props.js +89 -0
- package/dist/cjs/props.js.map +7 -0
- package/dist/esm/DSPopper.js +88 -0
- package/dist/esm/DSPopper.js.map +7 -0
- package/dist/esm/PopperContent.js +119 -0
- package/dist/esm/PopperContent.js.map +7 -0
- package/{esm → dist/esm}/PopperImpl.js +69 -148
- package/dist/esm/PopperImpl.js.map +7 -0
- package/dist/esm/getArrowStylesBySize.js +31 -0
- package/dist/esm/getArrowStylesBySize.js.map +7 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/interaction.js +11 -0
- package/dist/esm/interaction.js.map +7 -0
- package/dist/esm/positions.js +40 -0
- package/dist/esm/positions.js.map +7 -0
- package/dist/esm/props.js +60 -0
- package/dist/esm/props.js.map +7 -0
- package/{types → dist/types}/DSPopper.d.ts +0 -0
- package/{types → dist/types}/PopperContent.d.ts +0 -0
- package/{types → dist/types}/PopperImpl.d.ts +0 -0
- package/{types → dist/types}/getArrowStylesBySize.d.ts +0 -0
- package/{types → dist/types}/index.d.ts +0 -0
- package/{types → dist/types}/interaction.d.ts +0 -0
- package/{types → dist/types}/positions.d.ts +0 -0
- package/{types → dist/types}/props.d.ts +0 -0
- package/package.json +39 -31
- package/cjs/DSPopper.js +0 -97
- package/cjs/PopperContent.js +0 -156
- package/cjs/PopperImpl.js +0 -335
- package/cjs/getArrowStylesBySize.js +0 -46
- package/cjs/index.js +0 -19
- package/cjs/interaction.js +0 -12
- package/cjs/positions.js +0 -25
- package/cjs/props.js +0 -88
- package/esm/DSPopper.js +0 -83
- package/esm/PopperContent.js +0 -147
- package/esm/getArrowStylesBySize.js +0 -37
- package/esm/index.js +0 -4
- package/esm/interaction.js +0 -7
- package/esm/positions.js +0 -20
- package/esm/props.js +0 -83
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
const getArrowStylesBySize = (position, size = 30) => {
|
|
3
|
+
const basePosition = position && position.split("-")[0];
|
|
4
|
+
return {
|
|
5
|
+
borderWidth: size,
|
|
6
|
+
...{
|
|
7
|
+
top: {
|
|
8
|
+
top: "100% !important",
|
|
9
|
+
transform: `rotateZ(${180}deg)`
|
|
10
|
+
},
|
|
11
|
+
right: {
|
|
12
|
+
right: "100%",
|
|
13
|
+
transform: `rotateZ(${-90}deg)`
|
|
14
|
+
},
|
|
15
|
+
bottom: {
|
|
16
|
+
bottom: "100%",
|
|
17
|
+
transform: `rotateZ(${0}deg)`
|
|
18
|
+
},
|
|
19
|
+
left: {
|
|
20
|
+
left: "100%",
|
|
21
|
+
transform: `rotateZ(${90}deg)`
|
|
22
|
+
}
|
|
23
|
+
}[basePosition]
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
var getArrowStylesBySize_default = getArrowStylesBySize;
|
|
27
|
+
export {
|
|
28
|
+
getArrowStylesBySize_default as default,
|
|
29
|
+
getArrowStylesBySize
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=getArrowStylesBySize.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/getArrowStylesBySize.tsx"],
|
|
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;ACAO,MAAM,uBAAuB,CAAC,UAAU,OAAO,OAAO;AAC3D,QAAM,eAAe,YAAY,SAAS,MAAM,KAAK;AACrD,SAAO;AAAA,IACL,aAAa;AAAA,OACV;AAAA,MACD,KAAK;AAAA,QACH,KAAK;AAAA,QACL,WAAW,WAAW;AAAA;AAAA,MAExB,OAAO;AAAA,QACL,OAAO;AAAA,QACP,WAAW,WAAW;AAAA;AAAA,MAExB,QAAQ;AAAA,QACN,QAAQ;AAAA,QACR,WAAW,WAAW;AAAA;AAAA,MAExB,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,WAAW,WAAW;AAAA;AAAA,MAExB;AAAA;AAAA;AAIN,IAAO,+BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/interaction.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const Interaction = {\n CLICK: 'click',\n HOVER: 'hover',\n};\n\nexport const interactions = [Interaction.CLICK, Interaction.HOVER];\n"],
|
|
5
|
+
"mappings": "AAAA;ACAO,MAAM,cAAc;AAAA,EACzB,OAAO;AAAA,EACP,OAAO;AAAA;AAGF,MAAM,eAAe,CAAC,YAAY,OAAO,YAAY;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
const Position = {
|
|
3
|
+
AUTO: "auto",
|
|
4
|
+
AUTO_START: "auto-start",
|
|
5
|
+
AUTO_END: "auto-end",
|
|
6
|
+
BOTTOM: "bottom",
|
|
7
|
+
BOTTOM_START: "bottom-start",
|
|
8
|
+
BOTTOM_END: "bottom-end",
|
|
9
|
+
LEFT: "left",
|
|
10
|
+
LEFT_END: "left-end",
|
|
11
|
+
LEFT_START: "left-start",
|
|
12
|
+
RIGHT: "right",
|
|
13
|
+
RIGHT_END: "right-end",
|
|
14
|
+
RIGHT_START: "right-start",
|
|
15
|
+
TOP: "top",
|
|
16
|
+
TOP_START: "top-start",
|
|
17
|
+
TOP_END: "top-end"
|
|
18
|
+
};
|
|
19
|
+
const positions = [
|
|
20
|
+
Position.AUTO_START,
|
|
21
|
+
Position.AUTO_END,
|
|
22
|
+
Position.AUTO,
|
|
23
|
+
Position.TOP_START,
|
|
24
|
+
Position.TOP,
|
|
25
|
+
Position.TOP_END,
|
|
26
|
+
Position.RIGHT_START,
|
|
27
|
+
Position.RIGHT,
|
|
28
|
+
Position.RIGHT_END,
|
|
29
|
+
Position.BOTTOM_START,
|
|
30
|
+
Position.BOTTOM,
|
|
31
|
+
Position.BOTTOM_END,
|
|
32
|
+
Position.LEFT_START,
|
|
33
|
+
Position.LEFT,
|
|
34
|
+
Position.LEFT_END
|
|
35
|
+
];
|
|
36
|
+
export {
|
|
37
|
+
Position,
|
|
38
|
+
positions
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=positions.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/positions.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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"],
|
|
5
|
+
"mappings": "AAAA;ACAO,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;AAAA;AAGJ,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;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { PropTypes } from "react-desc";
|
|
3
|
+
import { Position } from "./positions";
|
|
4
|
+
import { Interaction } from "./interaction";
|
|
5
|
+
const popperProps = {
|
|
6
|
+
hideIfNotVisible: PropTypes.bool.description("Hide menu component if trigger component is not visible/scrolled away"),
|
|
7
|
+
containerProps: PropTypes.object.description("props to inject to popper wrapper"),
|
|
8
|
+
arrowGap: PropTypes.number.description("Space between the arrow and the popup"),
|
|
9
|
+
onOpen: PropTypes.func.description("callback for when menu changes from close to open"),
|
|
10
|
+
onClose: PropTypes.func.description("callback for when menu changes from open to close"),
|
|
11
|
+
delayClose: PropTypes.number.description("Time in ms to delay close of menu"),
|
|
12
|
+
delayOpen: PropTypes.number.description("Time in ms to delay open of menu"),
|
|
13
|
+
onPlacementChange: PropTypes.func.description("callback for when menu changes placement"),
|
|
14
|
+
arrowSize: PropTypes.number.description("Arrow size"),
|
|
15
|
+
blockName: PropTypes.oneOfType([
|
|
16
|
+
PropTypes.string,
|
|
17
|
+
PropTypes.object
|
|
18
|
+
]).description("Bem blockname for the popper"),
|
|
19
|
+
triggerComponent: PropTypes.element.description(`The component that will open/close the tooltip.
|
|
20
|
+
Cannot be used with disabled elements.
|
|
21
|
+
https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled`).isRequired
|
|
22
|
+
};
|
|
23
|
+
const defaultProps = {
|
|
24
|
+
containerProps: {},
|
|
25
|
+
arrowGap: 8,
|
|
26
|
+
arrowSize: 6,
|
|
27
|
+
blockName: "",
|
|
28
|
+
contentOffset: null,
|
|
29
|
+
contentStyle: null,
|
|
30
|
+
contentComponent: () => null,
|
|
31
|
+
delayClose: 300,
|
|
32
|
+
delayOpen: 200,
|
|
33
|
+
interactionType: Interaction.CLICK,
|
|
34
|
+
onOpen: () => null,
|
|
35
|
+
onClose: () => null,
|
|
36
|
+
onPlacementChange: () => null,
|
|
37
|
+
placement: Position.BOTTOM,
|
|
38
|
+
preventOverflow: "window",
|
|
39
|
+
showArrow: true,
|
|
40
|
+
closeAnimationConfig: {
|
|
41
|
+
to: { transform: "scale(0.8)", opacity: "0" },
|
|
42
|
+
config: { delay: 80, duration: 80 }
|
|
43
|
+
},
|
|
44
|
+
openAnimationConfig: {
|
|
45
|
+
to: { transform: "scale(1)", opacity: "1" },
|
|
46
|
+
config: { delay: 80, duration: 80 }
|
|
47
|
+
},
|
|
48
|
+
usePortal: true,
|
|
49
|
+
triggerComponent: () => null,
|
|
50
|
+
getTargetFromChildren: () => null,
|
|
51
|
+
getContentFromChildren: () => null,
|
|
52
|
+
modifiers: {},
|
|
53
|
+
triggerRef: () => null,
|
|
54
|
+
hideIfNotVisible: false
|
|
55
|
+
};
|
|
56
|
+
export {
|
|
57
|
+
defaultProps,
|
|
58
|
+
popperProps
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=props.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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 'react-desc';\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(\n 'Hide menu component if trigger component is not visible/scrolled away',\n ),\n /** props to inject to popper wrapper */\n containerProps: PropTypes.object.description(\n 'props to inject to popper wrapper',\n ),\n /** Space between the arrow and the popup */\n arrowGap: PropTypes.number.description(\n 'Space between the arrow and the popup',\n ),\n /** callback for when menu changes from close to open */\n onOpen: PropTypes.func.description(\n 'callback for when menu changes from close to open',\n ),\n /** callback for when menu changes from open to close */\n onClose: PropTypes.func.description(\n 'callback for when menu changes from open to close',\n ),\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(\n 'callback for when menu changes placement',\n ),\n /** Arrow size */\n arrowSize: PropTypes.number.description('Arrow size'),\n /** Bem blockname for the popper */\n blockName: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]).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;ACAA;AACA;AACA;AAEO,MAAM,cAAc;AAAA,EAEzB,kBAAkB,UAAU,KAAK,YAC/B;AAAA,EAGF,gBAAgB,UAAU,OAAO,YAC/B;AAAA,EAGF,UAAU,UAAU,OAAO,YACzB;AAAA,EAGF,QAAQ,UAAU,KAAK,YACrB;AAAA,EAGF,SAAS,UAAU,KAAK,YACtB;AAAA,EAGF,YAAY,UAAU,OAAO,YAAY;AAAA,EAEzC,WAAW,UAAU,OAAO,YAAY;AAAA,EAExC,mBAAmB,UAAU,KAAK,YAChC;AAAA,EAGF,WAAW,UAAU,OAAO,YAAY;AAAA,EAExC,WAAW,UAAU,UAAU;AAAA,IAC7B,UAAU;AAAA,IACV,UAAU;AAAA,KACT,YAAY;AAAA,EACf,kBAAkB,UAAU,QAAQ,YAClC;AAAA;AAAA,4EAGA;AAAA;AAGG,MAAM,eAAe;AAAA,EAC1B,gBAAgB;AAAA,EAChB,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;AAAA,IACxC,QAAQ,EAAE,OAAO,IAAI,UAAU;AAAA;AAAA,EAEjC,qBAAqB;AAAA,IACnB,IAAI,EAAE,WAAW,YAAY,SAAS;AAAA,IACtC,QAAQ,EAAE,OAAO,IAAI,UAAU;AAAA;AAAA,EAEjC,WAAW;AAAA,EACX,kBAAkB,MAAM;AAAA,EACxB,uBAAuB,MAAM;AAAA,EAC7B,wBAAwB,MAAM;AAAA,EAC9B,WAAW;AAAA,EACX,YAAY,MAAM;AAAA,EAClB,kBAAkB;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|