@elliemae/ds-popover 2.0.0-alpha.10 → 2.0.0-alpha.14
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/Arrow.js +7 -2
- package/cjs/DSPopover.js +33 -27
- package/cjs/Popover.js +9 -5
- package/cjs/PopoverTrigger.js +17 -11
- package/cjs/usePopover.js +5 -0
- package/cjs/usePopoverProviderState.js +18 -11
- package/cjs/usePopper.js +24 -16
- package/esm/Arrow.js +6 -1
- package/esm/DSPopover.js +32 -25
- package/esm/Popover.js +6 -2
- package/esm/PopoverTrigger.js +17 -11
- package/esm/usePopover.js +5 -0
- package/esm/usePopoverProviderState.js +17 -10
- package/esm/usePopper.js +24 -16
- package/package.json +7 -7
- package/types/DSPopover.d.ts +111 -8
- package/cjs/package.json +0 -7
- package/esm/package.json +0 -7
package/cjs/Arrow.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
4
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
3
8
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
9
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
10
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
6
11
|
var react = require('react');
|
|
7
12
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
8
|
-
var
|
|
13
|
+
var dsPopper = require('@elliemae/ds-popper');
|
|
9
14
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
15
|
|
|
11
16
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -38,7 +43,7 @@ function Arrow(_ref) {
|
|
|
38
43
|
"data-placement": placement
|
|
39
44
|
}, otherProps), {}, {
|
|
40
45
|
innerRef: innerRef,
|
|
41
|
-
style: _objectSpread(_objectSpread({}, style),
|
|
46
|
+
style: _objectSpread(_objectSpread({}, style), dsPopper.getArrowStylesBySize(placement, 25)),
|
|
42
47
|
children: _svg || (_svg = /*#__PURE__*/_jsx__default["default"]("svg", {
|
|
43
48
|
viewBox: "0 0 30 30"
|
|
44
49
|
}, void 0, /*#__PURE__*/_jsx__default["default"]("path", {
|
package/cjs/DSPopover.js
CHANGED
|
@@ -4,9 +4,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
11
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
12
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
7
13
|
require('react');
|
|
8
14
|
var reactDesc = require('react-desc');
|
|
9
|
-
var
|
|
15
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
10
16
|
var dsHidden = require('@elliemae/ds-hidden');
|
|
11
17
|
var Popover = require('./Popover.js');
|
|
12
18
|
var usePopper = require('./usePopper.js');
|
|
@@ -19,7 +25,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
19
25
|
|
|
20
26
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
21
27
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
22
|
-
var useHoverHandlersDelay__default = /*#__PURE__*/_interopDefaultLegacy(useHoverHandlersDelay);
|
|
23
28
|
|
|
24
29
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
25
30
|
|
|
@@ -30,28 +35,29 @@ const Interaction = {
|
|
|
30
35
|
};
|
|
31
36
|
/* Unstable Popover, not yet fully working */
|
|
32
37
|
|
|
33
|
-
const DSPopover =
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
38
|
+
const DSPopover = _ref => {
|
|
39
|
+
let {
|
|
40
|
+
containerProps,
|
|
41
|
+
content,
|
|
42
|
+
// react component inside the popover to render its content
|
|
43
|
+
renderer,
|
|
44
|
+
// function to render the popover component, ex: (popoverProps) => (<div {...popoverProps}></div>)
|
|
45
|
+
visible: visibleProp,
|
|
46
|
+
offset,
|
|
47
|
+
showArrow,
|
|
48
|
+
// popper props options
|
|
49
|
+
placement,
|
|
50
|
+
boundaries,
|
|
51
|
+
// scrollParent | window | viewport
|
|
52
|
+
modifiers,
|
|
53
|
+
referenceEl,
|
|
54
|
+
renderTrigger,
|
|
55
|
+
onClickOutside,
|
|
56
|
+
destroyOnHidden,
|
|
57
|
+
interactionType,
|
|
58
|
+
isOpen,
|
|
59
|
+
style
|
|
60
|
+
} = _ref;
|
|
55
61
|
const {
|
|
56
62
|
visible,
|
|
57
63
|
onShow,
|
|
@@ -73,7 +79,7 @@ const DSPopover = ({
|
|
|
73
79
|
eventsEnabled: visible,
|
|
74
80
|
isOpen
|
|
75
81
|
});
|
|
76
|
-
const hoverHandlers =
|
|
82
|
+
const hoverHandlers = dsUtilities.useHoverHandlersDelay({
|
|
77
83
|
onMouseOver: onShow,
|
|
78
84
|
onMouseLeave: onHide
|
|
79
85
|
});
|
|
@@ -93,8 +99,8 @@ const DSPopover = ({
|
|
|
93
99
|
destroyOnHidden: destroyOnHidden,
|
|
94
100
|
interactionType: interactionType,
|
|
95
101
|
isOpen: isOpen,
|
|
96
|
-
onClickOutside: (
|
|
97
|
-
onClickOutside(...
|
|
102
|
+
onClickOutside: function () {
|
|
103
|
+
onClickOutside(...arguments);
|
|
98
104
|
if (interactionType === 'click') onHide();
|
|
99
105
|
},
|
|
100
106
|
popperProps: popper,
|
package/cjs/Popover.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
4
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
3
8
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
9
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
10
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
6
11
|
var react = require('react');
|
|
7
12
|
var lodash = require('lodash');
|
|
8
13
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
9
|
-
var
|
|
10
|
-
var hooks = require('@elliemae/ds-utilities/hooks');
|
|
14
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
11
15
|
var dsHidden = require('@elliemae/ds-hidden');
|
|
12
16
|
var DSPortal = require('@elliemae/ds-portal');
|
|
13
17
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -44,16 +48,16 @@ function Popover(_ref) {
|
|
|
44
48
|
const hiddenTransitionProps = dsHidden.useHiddenTransition({
|
|
45
49
|
visible
|
|
46
50
|
});
|
|
47
|
-
const popoverProps =
|
|
51
|
+
const popoverProps = dsUtilities.removeUndefinedProperties(_objectSpread(_objectSpread({
|
|
48
52
|
containerprops: containerProps,
|
|
49
53
|
content,
|
|
50
54
|
ref: popoverRef
|
|
51
55
|
}, otherProps), hiddenTransitionProps));
|
|
52
|
-
|
|
56
|
+
dsUtilities.useOnClickOutside(popoverRef, onClickOutside);
|
|
53
57
|
const wrapStyle = lodash.omit(style, 'zIndex') || {};
|
|
54
58
|
return destroyOnHidden && !hiddenTransitionProps.destroyed && /*#__PURE__*/_jsx__default["default"](DSPortal__default["default"], {}, void 0, /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({}, popperProps), {}, {
|
|
55
59
|
style: _objectSpread(_objectSpread({}, style), popperProps.style),
|
|
56
|
-
children:
|
|
60
|
+
children: dsUtilities.isFunction(renderer) ? renderer(popoverProps) : /*#__PURE__*/jsxRuntime.jsx(PopoverComponent, _objectSpread(_objectSpread({}, popoverProps), {}, {
|
|
57
61
|
style: wrapStyle
|
|
58
62
|
}))
|
|
59
63
|
})));
|
package/cjs/PopoverTrigger.js
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
5
10
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
6
11
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
12
|
require('react');
|
|
@@ -24,14 +29,15 @@ const Interaction = {
|
|
|
24
29
|
|
|
25
30
|
const noop = () => {};
|
|
26
31
|
|
|
27
|
-
function useHiddenTrigger({
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
function useHiddenTrigger(_ref) {
|
|
33
|
+
let {
|
|
34
|
+
hiddenId,
|
|
35
|
+
visible = false,
|
|
36
|
+
interaction = 'click',
|
|
37
|
+
onToggle = noop,
|
|
38
|
+
onShow = noop,
|
|
39
|
+
onHide = noop
|
|
40
|
+
} = _ref;
|
|
35
41
|
const handlers = {
|
|
36
42
|
[Interaction.CLICK]: {
|
|
37
43
|
onClick: onToggle
|
|
@@ -48,11 +54,11 @@ function useHiddenTrigger({
|
|
|
48
54
|
});
|
|
49
55
|
}
|
|
50
56
|
|
|
51
|
-
function PopoverTrigger(
|
|
57
|
+
function PopoverTrigger(_ref2) {
|
|
52
58
|
let {
|
|
53
59
|
as: Component
|
|
54
|
-
} =
|
|
55
|
-
props = _objectWithoutProperties__default["default"](
|
|
60
|
+
} = _ref2,
|
|
61
|
+
props = _objectWithoutProperties__default["default"](_ref2, _excluded);
|
|
56
62
|
|
|
57
63
|
const hiddenTriggerProps = useHiddenTrigger(props);
|
|
58
64
|
return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, hiddenTriggerProps));
|
package/cjs/usePopover.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
4
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
3
8
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
9
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
5
10
|
var usePopper = require('./usePopper.js');
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
4
10
|
var react = require('react');
|
|
5
11
|
var lodash = require('lodash');
|
|
6
|
-
var
|
|
12
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
7
13
|
|
|
8
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
15
|
|
|
@@ -13,15 +19,16 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
13
19
|
|
|
14
20
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
15
21
|
|
|
16
|
-
function usePopoverProviderState({
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
function usePopoverProviderState(_ref) {
|
|
23
|
+
let {
|
|
24
|
+
initialState = {
|
|
25
|
+
reference: null,
|
|
26
|
+
visible: false,
|
|
27
|
+
value: '',
|
|
28
|
+
options: {}
|
|
29
|
+
},
|
|
30
|
+
delay
|
|
31
|
+
} = _ref;
|
|
25
32
|
const triggerRef = react.useRef();
|
|
26
33
|
const [tooltipState, setTooltipState] = react.useState(initialState);
|
|
27
34
|
|
|
@@ -37,7 +44,7 @@ function usePopoverProviderState({
|
|
|
37
44
|
}));
|
|
38
45
|
};
|
|
39
46
|
|
|
40
|
-
const [showTooltip, hideTooltip] =
|
|
47
|
+
const [showTooltip, hideTooltip] = dsUtilities.useExecutionTimer(show, hide, delay);
|
|
41
48
|
|
|
42
49
|
const handleShowTooltip = (state, e) => {
|
|
43
50
|
triggerRef.current = e.target;
|
package/cjs/usePopper.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
4
10
|
var Popper = require('popper.js');
|
|
5
11
|
var react = require('react');
|
|
6
12
|
|
|
@@ -13,29 +19,31 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
13
19
|
|
|
14
20
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
15
21
|
|
|
16
|
-
function calculateOffset({
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
22
|
+
function calculateOffset(_ref) {
|
|
23
|
+
let {
|
|
24
|
+
offset,
|
|
25
|
+
showArrow
|
|
26
|
+
} = _ref;
|
|
20
27
|
const arrowSize = 10;
|
|
21
28
|
const defaultPadding = 3;
|
|
22
29
|
return {
|
|
23
30
|
enabled: showArrow || offset,
|
|
24
|
-
offset: Array.isArray(offset) ?
|
|
31
|
+
offset: Array.isArray(offset) ? "".concat(offset[0], ", ").concat((offset[1] || offset[0]) + arrowSize + defaultPadding) : "0, ".concat(arrowSize + defaultPadding)
|
|
25
32
|
};
|
|
26
33
|
}
|
|
27
34
|
|
|
28
|
-
function usePopper({
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
function usePopper(_ref2) {
|
|
36
|
+
let {
|
|
37
|
+
offset,
|
|
38
|
+
showArrow,
|
|
39
|
+
placement,
|
|
40
|
+
isOpen,
|
|
41
|
+
modifiers,
|
|
42
|
+
eventsEnabled = true,
|
|
43
|
+
positionFixed,
|
|
44
|
+
boundaries = 'scrollParent',
|
|
45
|
+
referenceEl: refEl
|
|
46
|
+
} = _ref2;
|
|
39
47
|
const [popperData, setPopperData] = react.useState({}); // this is util for deferred rendering like with portals
|
|
40
48
|
|
|
41
49
|
const [dynamicPopperNode, setPopperNode] = react.useState(null);
|
package/esm/Arrow.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
|
+
import 'core-js/modules/esnext.iterator.filter.js';
|
|
4
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
5
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
1
6
|
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
2
7
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
3
8
|
import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
4
9
|
import { forwardRef } from 'react';
|
|
5
10
|
import { aggregatedClasses } from '@elliemae/ds-classnames';
|
|
6
|
-
import { getArrowStylesBySize } from '@elliemae/ds-popper
|
|
11
|
+
import { getArrowStylesBySize } from '@elliemae/ds-popper';
|
|
7
12
|
import { jsx } from 'react/jsx-runtime';
|
|
8
13
|
|
|
9
14
|
var _svg;
|
package/esm/DSPopover.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
|
+
import 'core-js/modules/esnext.iterator.filter.js';
|
|
4
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
5
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
1
6
|
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
2
7
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
8
|
+
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
3
9
|
import 'react';
|
|
4
10
|
import { PropTypes, describe } from 'react-desc';
|
|
5
|
-
import useHoverHandlersDelay from '@elliemae/ds-utilities
|
|
11
|
+
import { useHoverHandlersDelay } from '@elliemae/ds-utilities';
|
|
6
12
|
import { useHiddenController } from '@elliemae/ds-hidden';
|
|
7
13
|
import Popover from './Popover.js';
|
|
8
14
|
import usePopper from './usePopper.js';
|
|
@@ -21,28 +27,29 @@ const Interaction = {
|
|
|
21
27
|
};
|
|
22
28
|
/* Unstable Popover, not yet fully working */
|
|
23
29
|
|
|
24
|
-
const DSPopover =
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
30
|
+
const DSPopover = _ref => {
|
|
31
|
+
let {
|
|
32
|
+
containerProps,
|
|
33
|
+
content,
|
|
34
|
+
// react component inside the popover to render its content
|
|
35
|
+
renderer,
|
|
36
|
+
// function to render the popover component, ex: (popoverProps) => (<div {...popoverProps}></div>)
|
|
37
|
+
visible: visibleProp,
|
|
38
|
+
offset,
|
|
39
|
+
showArrow,
|
|
40
|
+
// popper props options
|
|
41
|
+
placement,
|
|
42
|
+
boundaries,
|
|
43
|
+
// scrollParent | window | viewport
|
|
44
|
+
modifiers,
|
|
45
|
+
referenceEl,
|
|
46
|
+
renderTrigger,
|
|
47
|
+
onClickOutside,
|
|
48
|
+
destroyOnHidden,
|
|
49
|
+
interactionType,
|
|
50
|
+
isOpen,
|
|
51
|
+
style
|
|
52
|
+
} = _ref;
|
|
46
53
|
const {
|
|
47
54
|
visible,
|
|
48
55
|
onShow,
|
|
@@ -84,8 +91,8 @@ const DSPopover = ({
|
|
|
84
91
|
destroyOnHidden: destroyOnHidden,
|
|
85
92
|
interactionType: interactionType,
|
|
86
93
|
isOpen: isOpen,
|
|
87
|
-
onClickOutside: (
|
|
88
|
-
onClickOutside(...
|
|
94
|
+
onClickOutside: function () {
|
|
95
|
+
onClickOutside(...arguments);
|
|
89
96
|
if (interactionType === 'click') onHide();
|
|
90
97
|
},
|
|
91
98
|
popperProps: popper,
|
package/esm/Popover.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
|
+
import 'core-js/modules/esnext.iterator.filter.js';
|
|
4
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
5
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
1
6
|
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
2
7
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
3
8
|
import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
4
9
|
import { useRef } from 'react';
|
|
5
10
|
import { omit } from 'lodash';
|
|
6
11
|
import { aggregatedClasses } from '@elliemae/ds-classnames';
|
|
7
|
-
import { removeUndefinedProperties, isFunction } from '@elliemae/ds-utilities
|
|
8
|
-
import { useOnClickOutside } from '@elliemae/ds-utilities/hooks';
|
|
12
|
+
import { removeUndefinedProperties, useOnClickOutside, isFunction } from '@elliemae/ds-utilities';
|
|
9
13
|
import { useHiddenTransition } from '@elliemae/ds-hidden';
|
|
10
14
|
import DSPortal from '@elliemae/ds-portal';
|
|
11
15
|
import { jsx } from 'react/jsx-runtime';
|
package/esm/PopoverTrigger.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
|
+
import 'core-js/modules/esnext.iterator.filter.js';
|
|
4
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
5
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
1
6
|
import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
2
7
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
3
8
|
import 'react';
|
|
@@ -15,14 +20,15 @@ const Interaction = {
|
|
|
15
20
|
|
|
16
21
|
const noop = () => {};
|
|
17
22
|
|
|
18
|
-
function useHiddenTrigger({
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
function useHiddenTrigger(_ref) {
|
|
24
|
+
let {
|
|
25
|
+
hiddenId,
|
|
26
|
+
visible = false,
|
|
27
|
+
interaction = 'click',
|
|
28
|
+
onToggle = noop,
|
|
29
|
+
onShow = noop,
|
|
30
|
+
onHide = noop
|
|
31
|
+
} = _ref;
|
|
26
32
|
const handlers = {
|
|
27
33
|
[Interaction.CLICK]: {
|
|
28
34
|
onClick: onToggle
|
|
@@ -39,11 +45,11 @@ function useHiddenTrigger({
|
|
|
39
45
|
});
|
|
40
46
|
}
|
|
41
47
|
|
|
42
|
-
function PopoverTrigger(
|
|
48
|
+
function PopoverTrigger(_ref2) {
|
|
43
49
|
let {
|
|
44
50
|
as: Component
|
|
45
|
-
} =
|
|
46
|
-
props = _objectWithoutProperties(
|
|
51
|
+
} = _ref2,
|
|
52
|
+
props = _objectWithoutProperties(_ref2, _excluded);
|
|
47
53
|
|
|
48
54
|
const hiddenTriggerProps = useHiddenTrigger(props);
|
|
49
55
|
return /*#__PURE__*/jsx(Component, _objectSpread({}, hiddenTriggerProps));
|
package/esm/usePopover.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
|
+
import 'core-js/modules/esnext.iterator.filter.js';
|
|
4
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
5
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
1
6
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
7
|
import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
3
8
|
import usePopper from './usePopper.js';
|
|
@@ -1,21 +1,28 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
|
+
import 'core-js/modules/esnext.iterator.filter.js';
|
|
4
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
5
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
1
6
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
7
|
+
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
2
8
|
import { useRef, useState, useEffect } from 'react';
|
|
3
9
|
import { throttle } from 'lodash';
|
|
4
|
-
import { useExecutionTimer } from '@elliemae/ds-utilities
|
|
10
|
+
import { useExecutionTimer } from '@elliemae/ds-utilities';
|
|
5
11
|
|
|
6
12
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
7
13
|
|
|
8
14
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
9
15
|
|
|
10
|
-
function usePopoverProviderState({
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
function usePopoverProviderState(_ref) {
|
|
17
|
+
let {
|
|
18
|
+
initialState = {
|
|
19
|
+
reference: null,
|
|
20
|
+
visible: false,
|
|
21
|
+
value: '',
|
|
22
|
+
options: {}
|
|
23
|
+
},
|
|
24
|
+
delay
|
|
25
|
+
} = _ref;
|
|
19
26
|
const triggerRef = useRef();
|
|
20
27
|
const [tooltipState, setTooltipState] = useState(initialState);
|
|
21
28
|
|
package/esm/usePopper.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
|
+
import 'core-js/modules/esnext.iterator.filter.js';
|
|
4
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
5
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
1
6
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
7
|
+
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
2
8
|
import Popper from 'popper.js';
|
|
3
9
|
import { useState, useRef, useEffect } from 'react';
|
|
4
10
|
|
|
@@ -6,29 +12,31 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
6
12
|
|
|
7
13
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
8
14
|
|
|
9
|
-
function calculateOffset({
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
function calculateOffset(_ref) {
|
|
16
|
+
let {
|
|
17
|
+
offset,
|
|
18
|
+
showArrow
|
|
19
|
+
} = _ref;
|
|
13
20
|
const arrowSize = 10;
|
|
14
21
|
const defaultPadding = 3;
|
|
15
22
|
return {
|
|
16
23
|
enabled: showArrow || offset,
|
|
17
|
-
offset: Array.isArray(offset) ?
|
|
24
|
+
offset: Array.isArray(offset) ? "".concat(offset[0], ", ").concat((offset[1] || offset[0]) + arrowSize + defaultPadding) : "0, ".concat(arrowSize + defaultPadding)
|
|
18
25
|
};
|
|
19
26
|
}
|
|
20
27
|
|
|
21
|
-
function usePopper({
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
function usePopper(_ref2) {
|
|
29
|
+
let {
|
|
30
|
+
offset,
|
|
31
|
+
showArrow,
|
|
32
|
+
placement,
|
|
33
|
+
isOpen,
|
|
34
|
+
modifiers,
|
|
35
|
+
eventsEnabled = true,
|
|
36
|
+
positionFixed,
|
|
37
|
+
boundaries = 'scrollParent',
|
|
38
|
+
referenceEl: refEl
|
|
39
|
+
} = _ref2;
|
|
32
40
|
const [popperData, setPopperData] = useState({}); // this is util for deferred rendering like with portals
|
|
33
41
|
|
|
34
42
|
const [dynamicPopperNode, setPopperNode] = useState(null);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-popover",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.14",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Popover",
|
|
6
6
|
"module": "./esm/index.js",
|
|
@@ -60,13 +60,13 @@
|
|
|
60
60
|
"build": "node ../../scripts/build/build.js"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@elliemae/ds-classnames": "2.0.0-alpha.
|
|
64
|
-
"@elliemae/ds-hidden": "2.0.0-alpha.
|
|
65
|
-
"@elliemae/ds-popper": "2.0.0-alpha.
|
|
66
|
-
"@elliemae/ds-portal": "2.0.0-alpha.
|
|
67
|
-
"@elliemae/ds-utilities": "2.0.0-alpha.
|
|
63
|
+
"@elliemae/ds-classnames": "2.0.0-alpha.14",
|
|
64
|
+
"@elliemae/ds-hidden": "2.0.0-alpha.14",
|
|
65
|
+
"@elliemae/ds-popper": "2.0.0-alpha.14",
|
|
66
|
+
"@elliemae/ds-portal": "2.0.0-alpha.14",
|
|
67
|
+
"@elliemae/ds-utilities": "2.0.0-alpha.14",
|
|
68
68
|
"popper.js": "~1.16.1",
|
|
69
|
-
"react-desc": "
|
|
69
|
+
"react-desc": "~4.1.3"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
72
|
"lodash": "^4.17.21",
|
package/types/DSPopover.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference path="../../../../shared/typings/react-desc.d.ts" />
|
|
1
2
|
/// <reference types="react" />
|
|
2
3
|
import usePopper from './usePopper';
|
|
3
4
|
import usePopoverProviderState from './usePopoverProviderState';
|
|
@@ -39,26 +40,128 @@ declare const DSPopover: {
|
|
|
39
40
|
isOpen: undefined;
|
|
40
41
|
};
|
|
41
42
|
propTypes: {
|
|
43
|
+
containerProps: {
|
|
44
|
+
defaultValue<T = unknown>(arg: T): {
|
|
45
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
46
|
+
};
|
|
47
|
+
isRequired: import("react-desc").PropTypesDescValidator;
|
|
48
|
+
};
|
|
49
|
+
destroyOnHidden: {
|
|
50
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
51
|
+
};
|
|
52
|
+
renderer: {
|
|
53
|
+
defaultValue<T = unknown>(arg: T): {
|
|
54
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
55
|
+
};
|
|
56
|
+
isRequired: import("react-desc").PropTypesDescValidator;
|
|
57
|
+
};
|
|
58
|
+
popperProps: {
|
|
59
|
+
defaultValue<T = unknown>(arg: T): {
|
|
60
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
61
|
+
};
|
|
62
|
+
isRequired: import("react-desc").PropTypesDescValidator;
|
|
63
|
+
};
|
|
64
|
+
visible: {
|
|
65
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
66
|
+
};
|
|
67
|
+
content: {
|
|
68
|
+
defaultValue<T = unknown>(arg: T): {
|
|
69
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
70
|
+
};
|
|
71
|
+
isRequired: import("react-desc").PropTypesDescValidator;
|
|
72
|
+
};
|
|
73
|
+
onClickOutside: {
|
|
74
|
+
defaultValue<T = unknown>(arg: T): {
|
|
75
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
76
|
+
};
|
|
77
|
+
isRequired: import("react-desc").PropTypesDescValidator;
|
|
78
|
+
};
|
|
79
|
+
interaction: {
|
|
80
|
+
defaultValue<T = unknown>(arg: T): {
|
|
81
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
82
|
+
};
|
|
83
|
+
isRequired: import("react-desc").PropTypesDescValidator;
|
|
84
|
+
};
|
|
85
|
+
offset: {
|
|
86
|
+
defaultValue<T = unknown>(arg: T): {
|
|
87
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
88
|
+
};
|
|
89
|
+
isRequired: import("react-desc").PropTypesDescValidator;
|
|
90
|
+
};
|
|
91
|
+
showArrow: {
|
|
92
|
+
defaultValue<T = unknown>(arg: T): {
|
|
93
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
94
|
+
};
|
|
95
|
+
isRequired: import("react-desc").PropTypesDescValidator;
|
|
96
|
+
};
|
|
97
|
+
placement: {
|
|
98
|
+
defaultValue<T = unknown>(arg: T): {
|
|
99
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
100
|
+
};
|
|
101
|
+
isRequired: import("react-desc").PropTypesDescValidator;
|
|
102
|
+
};
|
|
103
|
+
boundaries: {
|
|
104
|
+
defaultValue<T = unknown>(arg: T): {
|
|
105
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
106
|
+
};
|
|
107
|
+
isRequired: import("react-desc").PropTypesDescValidator;
|
|
108
|
+
};
|
|
109
|
+
modifiers: {
|
|
110
|
+
defaultValue<T = unknown>(arg: T): {
|
|
111
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
112
|
+
};
|
|
113
|
+
isRequired: import("react-desc").PropTypesDescValidator;
|
|
114
|
+
};
|
|
115
|
+
style: {
|
|
116
|
+
defaultValue<T = unknown>(arg: T): {
|
|
117
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
118
|
+
};
|
|
119
|
+
isRequired: import("react-desc").PropTypesDescValidator;
|
|
120
|
+
};
|
|
121
|
+
referenceEl: {
|
|
122
|
+
defaultValue<T = unknown>(arg: T): {
|
|
123
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
124
|
+
};
|
|
125
|
+
isRequired: import("react-desc").PropTypesDescValidator;
|
|
126
|
+
};
|
|
127
|
+
renderTrigger: {
|
|
128
|
+
defaultValue<T = unknown>(arg: T): {
|
|
129
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
130
|
+
};
|
|
131
|
+
isRequired: import("react-desc").PropTypesDescValidator;
|
|
132
|
+
};
|
|
133
|
+
interactionType: {
|
|
134
|
+
defaultValue<T = unknown>(arg: T): {
|
|
135
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
136
|
+
};
|
|
137
|
+
isRequired: import("react-desc").PropTypesDescValidator;
|
|
138
|
+
};
|
|
139
|
+
isOpen: {
|
|
140
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
declare const PopoverWithSchema: {
|
|
145
|
+
(props?: {
|
|
42
146
|
containerProps: any;
|
|
43
|
-
|
|
147
|
+
content: any;
|
|
44
148
|
renderer: any;
|
|
45
|
-
popperProps: any;
|
|
46
149
|
visible: any;
|
|
47
|
-
content: any;
|
|
48
|
-
onClickOutside: any;
|
|
49
|
-
interaction: any;
|
|
50
150
|
offset: any;
|
|
51
151
|
showArrow: any;
|
|
52
152
|
placement: any;
|
|
53
153
|
boundaries: any;
|
|
54
154
|
modifiers: any;
|
|
55
|
-
style: any;
|
|
56
155
|
referenceEl: any;
|
|
57
156
|
renderTrigger: any;
|
|
157
|
+
onClickOutside: any;
|
|
158
|
+
destroyOnHidden: any;
|
|
58
159
|
interactionType: any;
|
|
59
160
|
isOpen: any;
|
|
60
|
-
|
|
161
|
+
style: any;
|
|
162
|
+
} | undefined): JSX.Element;
|
|
163
|
+
propTypes: unknown;
|
|
164
|
+
toTypescript: () => import("react-desc").TypescriptSchema;
|
|
61
165
|
};
|
|
62
|
-
declare const PopoverWithSchema: any;
|
|
63
166
|
export { DSPopover, usePopper, usePopoverProviderState, PopoverWithSchema };
|
|
64
167
|
export default DSPopover;
|
package/cjs/package.json
DELETED