@elliemae/ds-popper 2.3.1 → 3.0.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/dist/cjs/DSPopper.js +117 -0
- package/dist/cjs/DSPopper.js.map +7 -0
- package/dist/cjs/PopperContent.js +158 -0
- package/dist/cjs/PopperContent.js.map +7 -0
- package/dist/cjs/PopperImpl.js +281 -0
- package/dist/cjs/PopperImpl.js.map +7 -0
- package/dist/cjs/getArrowStylesBySize.js +73 -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 +131 -0
- package/dist/esm/PopperContent.js.map +7 -0
- package/{esm → dist/esm}/PopperImpl.js +75 -143
- package/dist/esm/PopperImpl.js.map +7 -0
- package/dist/esm/getArrowStylesBySize.js +46 -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/package.json +41 -32
- 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
- package/types/DSPopper.d.ts +0 -156
- package/types/PopperContent.d.ts +0 -21
- package/types/PopperImpl.d.ts +0 -52
- package/types/getArrowStylesBySize.d.ts +0 -2
- package/types/index.d.ts +0 -3
- package/types/interaction.d.ts +0 -5
- package/types/positions.d.ts +0 -18
- package/types/props.d.ts +0 -119
|
@@ -1,39 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
import * as React from "react";
|
|
21
|
+
import React2, { Component } from "react";
|
|
22
|
+
import { isFunction, get, isDOMTypeElement, getComponentFromProps, mergeRefs } from "@elliemae/ds-utilities";
|
|
23
|
+
import { Manager, Reference } from "@elliemae/react-popper";
|
|
24
|
+
import memoizeOne from "memoize-one";
|
|
25
|
+
import PopperContent from "./PopperContent";
|
|
26
|
+
import { Interaction } from "./interaction";
|
|
21
27
|
class PopperImpl extends Component {
|
|
22
|
-
// we use safeIsMounted because isMounted is not allowed by React.
|
|
23
28
|
constructor(props) {
|
|
24
29
|
super(props);
|
|
25
30
|
this.safeIsMounted = false;
|
|
26
|
-
this.handlePopperPlacementChange = memoizeOne(placement => {
|
|
27
|
-
const {
|
|
28
|
-
onPlacementChange
|
|
29
|
-
} = this.props;
|
|
31
|
+
this.handlePopperPlacementChange = memoizeOne((placement) => {
|
|
32
|
+
const { onPlacementChange } = this.props;
|
|
30
33
|
onPlacementChange(placement);
|
|
31
34
|
});
|
|
32
35
|
this.state = {
|
|
33
36
|
isOpen: false,
|
|
34
37
|
destroyed: true
|
|
35
|
-
};
|
|
36
|
-
|
|
38
|
+
};
|
|
37
39
|
this.handleMouseEnter = this.handleMouseEnter.bind(this);
|
|
38
40
|
this.handleMouseLeave = this.handleMouseLeave.bind(this);
|
|
39
41
|
this.handleTriggerClick = this.handleTriggerClick.bind(this);
|
|
@@ -43,55 +45,34 @@ class PopperImpl extends Component {
|
|
|
43
45
|
this.handleDestroyContent = this.handleDestroyContent.bind(this);
|
|
44
46
|
this.handleContentMouseEnter = this.handleContentMouseEnter.bind(this);
|
|
45
47
|
this.handleContentMouseLeave = this.handleContentMouseLeave.bind(this);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
}
|
|
49
49
|
componentDidMount() {
|
|
50
50
|
this.safeIsMounted = true;
|
|
51
51
|
}
|
|
52
|
-
|
|
53
52
|
componentDidUpdate() {
|
|
54
|
-
const {
|
|
55
|
-
isOpen,
|
|
56
|
-
destroyed
|
|
57
|
-
} = this.state;
|
|
58
|
-
|
|
53
|
+
const { isOpen, destroyed } = this.state;
|
|
59
54
|
if (isOpen === true && destroyed === true) {
|
|
60
|
-
|
|
61
|
-
this.setState({
|
|
62
|
-
destroyed: false
|
|
63
|
-
});
|
|
55
|
+
this.setState({ destroyed: false });
|
|
64
56
|
}
|
|
65
57
|
}
|
|
66
|
-
|
|
67
58
|
componentWillUnmount() {
|
|
68
59
|
this.safeIsMounted = false;
|
|
69
60
|
}
|
|
70
|
-
|
|
71
61
|
static getDerivedStateFromProps(nextProps, prevState) {
|
|
72
|
-
const {
|
|
73
|
-
|
|
74
|
-
} = nextProps;
|
|
75
|
-
const {
|
|
76
|
-
prevPropIsOpen
|
|
77
|
-
} = prevState; // todo: this causes multiple rerenders
|
|
78
|
-
|
|
62
|
+
const { isOpen } = nextProps;
|
|
63
|
+
const { prevPropIsOpen } = prevState;
|
|
79
64
|
if (isOpen !== prevPropIsOpen) {
|
|
80
65
|
return {
|
|
81
66
|
isOpen,
|
|
82
67
|
prevPropIsOpen: isOpen
|
|
83
68
|
};
|
|
84
69
|
}
|
|
85
|
-
|
|
86
70
|
return null;
|
|
87
71
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
isOpen
|
|
93
|
-
} = this.props;
|
|
94
|
-
if (isOpen !== undefined) return {};
|
|
72
|
+
getInteractionObject(interaction, referenceProps = {}) {
|
|
73
|
+
const { isOpen } = this.props;
|
|
74
|
+
if (isOpen !== void 0)
|
|
75
|
+
return {};
|
|
95
76
|
return {
|
|
96
77
|
[Interaction.CLICK]: {
|
|
97
78
|
handlers: {
|
|
@@ -114,66 +95,45 @@ class PopperImpl extends Component {
|
|
|
114
95
|
canClose: () => true
|
|
115
96
|
};
|
|
116
97
|
}
|
|
117
|
-
|
|
118
98
|
setOpen(opening) {
|
|
119
|
-
const {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
} = this.state;
|
|
125
|
-
if (!this.safeIsMounted) return;
|
|
126
|
-
|
|
127
|
-
if (prevPropIsOpen === undefined) {
|
|
99
|
+
const { onOpen } = this.props;
|
|
100
|
+
const { prevPropIsOpen } = this.state;
|
|
101
|
+
if (!this.safeIsMounted)
|
|
102
|
+
return;
|
|
103
|
+
if (prevPropIsOpen === void 0) {
|
|
128
104
|
this.setState({
|
|
129
105
|
isOpen: opening,
|
|
130
106
|
destroyed: false
|
|
131
107
|
});
|
|
132
108
|
}
|
|
133
|
-
|
|
134
109
|
onOpen(opening);
|
|
135
110
|
}
|
|
136
|
-
|
|
137
111
|
open() {
|
|
138
112
|
clearTimeout(this.closeTimer);
|
|
139
|
-
const {
|
|
140
|
-
delayOpen
|
|
141
|
-
} = this.props;
|
|
113
|
+
const { delayOpen } = this.props;
|
|
142
114
|
this.openTimer = setTimeout(() => this.setOpen(true), delayOpen);
|
|
143
115
|
}
|
|
144
|
-
|
|
145
116
|
close() {
|
|
146
117
|
clearTimeout(this.openTimer);
|
|
147
|
-
const {
|
|
148
|
-
delayClose,
|
|
149
|
-
onClose = () => null
|
|
150
|
-
} = this.props;
|
|
118
|
+
const { delayClose, onClose = () => null } = this.props;
|
|
151
119
|
this.closeTimer = setTimeout(() => {
|
|
152
120
|
this.setOpen(false);
|
|
153
121
|
onClose();
|
|
154
122
|
}, delayClose);
|
|
155
123
|
}
|
|
156
|
-
|
|
157
124
|
handleTriggerClick(e) {
|
|
158
|
-
const {
|
|
159
|
-
|
|
160
|
-
} = this.props;
|
|
161
|
-
const {
|
|
162
|
-
onClick
|
|
163
|
-
} = get(triggerComponent, 'props') || {};
|
|
125
|
+
const { triggerComponent } = this.props;
|
|
126
|
+
const { onClick } = get(triggerComponent, "props") || {};
|
|
164
127
|
this.open();
|
|
165
|
-
if (isFunction(onClick))
|
|
128
|
+
if (isFunction(onClick))
|
|
129
|
+
onClick(e);
|
|
166
130
|
}
|
|
167
|
-
|
|
168
131
|
handleContentMouseEnter() {
|
|
169
132
|
this.isMouseOverContent = true;
|
|
170
133
|
}
|
|
171
|
-
|
|
172
134
|
handleContentMouseLeave() {
|
|
173
135
|
this.isMouseOverContent = false;
|
|
174
|
-
const {
|
|
175
|
-
onClose = () => null
|
|
176
|
-
} = this.props;
|
|
136
|
+
const { onClose = () => null } = this.props;
|
|
177
137
|
setTimeout(() => {
|
|
178
138
|
if (!this.isMouseOverTarget) {
|
|
179
139
|
this.setOpen(false);
|
|
@@ -181,12 +141,10 @@ class PopperImpl extends Component {
|
|
|
181
141
|
}
|
|
182
142
|
}, 10);
|
|
183
143
|
}
|
|
184
|
-
|
|
185
144
|
handleMouseEnter() {
|
|
186
145
|
this.isMouseOverTarget = true;
|
|
187
146
|
this.open();
|
|
188
147
|
}
|
|
189
|
-
|
|
190
148
|
handleMouseLeave() {
|
|
191
149
|
this.isMouseOverTarget = false;
|
|
192
150
|
setTimeout(() => {
|
|
@@ -195,57 +153,32 @@ class PopperImpl extends Component {
|
|
|
195
153
|
}
|
|
196
154
|
}, 10);
|
|
197
155
|
}
|
|
198
|
-
|
|
199
156
|
updatePopoverState(popperData) {
|
|
200
157
|
this.handlePopperPlacementChange(popperData.placement);
|
|
201
158
|
return popperData;
|
|
202
159
|
}
|
|
203
|
-
|
|
204
160
|
handleDestroyContent() {
|
|
205
|
-
this.setState({
|
|
206
|
-
destroyed: true
|
|
207
|
-
});
|
|
161
|
+
this.setState({ destroyed: true });
|
|
208
162
|
}
|
|
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
|
-
};
|
|
163
|
+
renderTarget({ ref }) {
|
|
164
|
+
const { isOpen } = this.state;
|
|
165
|
+
const { triggerComponent, interactionType, renderReference } = this.props;
|
|
166
|
+
const componentInnerRef = get(triggerComponent, ["props", "innerRef"], () => null);
|
|
167
|
+
const compRef = isDOMTypeElement(triggerComponent) ? { ref } : { innerRef: mergeRefs(ref, componentInnerRef) };
|
|
228
168
|
const triggerHandler = this.getInteractionObject(interactionType, triggerComponent.props).handlers;
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
'aria-expanded': isOpen
|
|
169
|
+
const targetProps = __spreadProps(__spreadValues(__spreadValues({}, triggerHandler), compRef), {
|
|
170
|
+
"aria-haspopup": true,
|
|
171
|
+
"aria-expanded": isOpen
|
|
233
172
|
});
|
|
234
|
-
|
|
235
173
|
if (renderReference) {
|
|
236
|
-
return renderReference(
|
|
174
|
+
return renderReference(__spreadValues({
|
|
237
175
|
ref
|
|
238
176
|
}, targetProps));
|
|
239
177
|
}
|
|
240
|
-
|
|
241
178
|
return getComponentFromProps(triggerComponent, targetProps);
|
|
242
179
|
}
|
|
243
|
-
|
|
244
180
|
render() {
|
|
245
|
-
const {
|
|
246
|
-
isOpen,
|
|
247
|
-
destroyed
|
|
248
|
-
} = this.state;
|
|
181
|
+
const { isOpen, destroyed } = this.state;
|
|
249
182
|
const {
|
|
250
183
|
placement,
|
|
251
184
|
interactionType,
|
|
@@ -265,11 +198,10 @@ class PopperImpl extends Component {
|
|
|
265
198
|
zIndex,
|
|
266
199
|
hideIfNotVisible
|
|
267
200
|
} = this.props;
|
|
268
|
-
|
|
269
|
-
const allModifiers = _objectSpread({
|
|
201
|
+
const allModifiers = __spreadValues({
|
|
270
202
|
offset: {
|
|
271
203
|
enabled: showArrow,
|
|
272
|
-
offset:
|
|
204
|
+
offset: `0, ${arrowSize + arrowGap}`
|
|
273
205
|
},
|
|
274
206
|
preventOverflow: {
|
|
275
207
|
enabled: true,
|
|
@@ -282,7 +214,6 @@ class PopperImpl extends Component {
|
|
|
282
214
|
order: 900
|
|
283
215
|
}
|
|
284
216
|
}, modifiers);
|
|
285
|
-
|
|
286
217
|
const triggerHandler = this.getInteractionObject(interactionType).handlers;
|
|
287
218
|
const popperContentProps = {
|
|
288
219
|
hideIfNotVisible,
|
|
@@ -300,23 +231,24 @@ class PopperImpl extends Component {
|
|
|
300
231
|
usePortal,
|
|
301
232
|
openAnimationConfig,
|
|
302
233
|
closeAnimationConfig,
|
|
303
|
-
onMouseEnter: interactionType === Interaction.HOVER ? this.handleContentMouseEnter :
|
|
304
|
-
onMouseLeave: interactionType === Interaction.HOVER ? this.handleContentMouseLeave :
|
|
234
|
+
onMouseEnter: interactionType === Interaction.HOVER ? this.handleContentMouseEnter : void 0,
|
|
235
|
+
onMouseLeave: interactionType === Interaction.HOVER ? this.handleContentMouseLeave : void 0,
|
|
305
236
|
referenceNode,
|
|
306
237
|
zIndex
|
|
307
238
|
};
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
return /*#__PURE__*/_jsx(Manager, {}, void 0, customPopper({
|
|
239
|
+
if (customPopper && typeof customPopper === "function") {
|
|
240
|
+
return /* @__PURE__ */ React2.createElement(Manager, null, customPopper({
|
|
311
241
|
Reference,
|
|
312
242
|
triggerHandler,
|
|
313
|
-
content:
|
|
243
|
+
content: /* @__PURE__ */ React2.createElement(PopperContent, __spreadValues({}, popperContentProps))
|
|
314
244
|
}));
|
|
315
245
|
}
|
|
316
|
-
|
|
317
|
-
return /*#__PURE__*/_jsx(Manager, {}, void 0, /*#__PURE__*/_jsx(Reference, {}, void 0, this.renderTarget), /*#__PURE__*/jsx(PopperContent, _objectSpread({}, popperContentProps)));
|
|
246
|
+
return /* @__PURE__ */ React2.createElement(Manager, null, /* @__PURE__ */ React2.createElement(Reference, null, this.renderTarget), /* @__PURE__ */ React2.createElement(PopperContent, __spreadValues({}, popperContentProps)));
|
|
318
247
|
}
|
|
319
|
-
|
|
320
248
|
}
|
|
321
|
-
|
|
322
|
-
|
|
249
|
+
export {
|
|
250
|
+
PopperContent,
|
|
251
|
+
Reference,
|
|
252
|
+
PopperImpl as default
|
|
253
|
+
};
|
|
254
|
+
//# 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 '@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(\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,46 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __spreadValues = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
import * as React from "react";
|
|
18
|
+
const getArrowStylesBySize = (position, size = 30) => {
|
|
19
|
+
const basePosition = position && position.split("-")[0];
|
|
20
|
+
return __spreadValues({
|
|
21
|
+
borderWidth: size
|
|
22
|
+
}, {
|
|
23
|
+
top: {
|
|
24
|
+
top: "100% !important",
|
|
25
|
+
transform: `rotateZ(${180}deg)`
|
|
26
|
+
},
|
|
27
|
+
right: {
|
|
28
|
+
right: "100%",
|
|
29
|
+
transform: `rotateZ(${-90}deg)`
|
|
30
|
+
},
|
|
31
|
+
bottom: {
|
|
32
|
+
bottom: "100%",
|
|
33
|
+
transform: `rotateZ(${0}deg)`
|
|
34
|
+
},
|
|
35
|
+
left: {
|
|
36
|
+
left: "100%",
|
|
37
|
+
transform: `rotateZ(${90}deg)`
|
|
38
|
+
}
|
|
39
|
+
}[basePosition]);
|
|
40
|
+
};
|
|
41
|
+
var getArrowStylesBySize_default = getArrowStylesBySize;
|
|
42
|
+
export {
|
|
43
|
+
getArrowStylesBySize_default as default,
|
|
44
|
+
getArrowStylesBySize
|
|
45
|
+
};
|
|
46
|
+
//# 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,KACV;AAAA,IACD,KAAK;AAAA,MACH,KAAK;AAAA,MACL,WAAW,WAAW;AAAA;AAAA,IAExB,OAAO;AAAA,MACL,OAAO;AAAA,MACP,WAAW,WAAW;AAAA;AAAA,IAExB,QAAQ;AAAA,MACN,QAAQ;AAAA,MACR,WAAW,WAAW;AAAA;AAAA,IAExB,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW,WAAW;AAAA;AAAA,IAExB;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
|
+
}
|