@elliemae/ds-popover 3.5.0-rc.9 → 3.5.1-next.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/Arrow.js +19 -13
- package/dist/cjs/Arrow.js.map +2 -2
- package/dist/cjs/DSPopover.js +41 -32
- package/dist/cjs/DSPopover.js.map +2 -2
- package/dist/cjs/Popover.js +12 -8
- package/dist/cjs/Popover.js.map +2 -2
- package/dist/cjs/PopoverTrigger.js +2 -2
- package/dist/cjs/PopoverTrigger.js.map +2 -2
- package/dist/esm/Arrow.js +19 -13
- package/dist/esm/Arrow.js.map +2 -2
- package/dist/esm/DSPopover.js +41 -32
- package/dist/esm/DSPopover.js.map +2 -2
- package/dist/esm/Popover.js +12 -8
- package/dist/esm/Popover.js.map +2 -2
- package/dist/esm/PopoverTrigger.js +2 -2
- package/dist/esm/PopoverTrigger.js.map +2 -2
- package/package.json +7 -7
package/dist/cjs/Arrow.js
CHANGED
|
@@ -28,12 +28,13 @@ __export(Arrow_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(Arrow_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_react = require("react");
|
|
32
33
|
var import_ds_classnames = require("@elliemae/ds-classnames");
|
|
33
34
|
var import_ds_popper = require("@elliemae/ds-popper");
|
|
34
35
|
const ArrowWrapper = (0, import_ds_classnames.aggregatedClasses)("span")("popover", "arrow");
|
|
35
36
|
function Arrow({ style, className, innerRef, blockName = "popover", placement, ...otherProps }) {
|
|
36
|
-
return /* @__PURE__ */
|
|
37
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ArrowWrapper, {
|
|
37
38
|
className,
|
|
38
39
|
"data-placement": placement,
|
|
39
40
|
...otherProps,
|
|
@@ -41,18 +42,23 @@ function Arrow({ style, className, innerRef, blockName = "popover", placement, .
|
|
|
41
42
|
style: {
|
|
42
43
|
...style,
|
|
43
44
|
...(0, import_ds_popper.getArrowStylesBySize)(placement, 25)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
},
|
|
46
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", {
|
|
47
|
+
viewBox: "0 0 30 30",
|
|
48
|
+
children: [
|
|
49
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", {
|
|
50
|
+
className: "stroke",
|
|
51
|
+
d: "M23.7,27.1L17,19.9C16.5,19.3,15.8,19,15,19s-1.6,0.3-2.1,0.9l-6.6,7.2C5.3,28.1,3.4,29,2,29h26\n C26.7,29,24.6,28.1,23.7,27.1z"
|
|
52
|
+
}),
|
|
53
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", {
|
|
54
|
+
className: "fill",
|
|
55
|
+
d: "M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z"
|
|
56
|
+
})
|
|
57
|
+
]
|
|
58
|
+
})
|
|
59
|
+
});
|
|
54
60
|
}
|
|
55
|
-
var Arrow_default = (0, import_react.forwardRef)((props, ref) => /* @__PURE__ */
|
|
61
|
+
var Arrow_default = (0, import_react.forwardRef)((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Arrow, {
|
|
56
62
|
...props,
|
|
57
63
|
innerRef: ref || props.innerRef
|
|
58
64
|
}));
|
package/dist/cjs/Arrow.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Arrow.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React, { forwardRef } from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { getArrowStylesBySize } from '@elliemae/ds-popper';\n\nconst ArrowWrapper = aggregatedClasses('span')('popover', 'arrow');\nfunction Arrow({ style, className, innerRef, blockName = 'popover', placement, ...otherProps }) {\n return (\n <ArrowWrapper\n className={className}\n data-placement={placement}\n {...otherProps}\n innerRef={innerRef}\n style={{\n ...style,\n ...getArrowStylesBySize(placement, 25),\n }}\n >\n <svg viewBox=\"0 0 30 30\">\n <path\n className=\"stroke\"\n d=\"M23.7,27.1L17,19.9C16.5,19.3,15.8,19,15,19s-1.6,0.3-2.1,0.9l-6.6,7.2C5.3,28.1,3.4,29,2,29h26\n C26.7,29,24.6,28.1,23.7,27.1z\"\n />\n <path\n className=\"fill\"\n d=\"M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z\"\n />\n </svg>\n </ArrowWrapper>\n );\n}\n\nexport default forwardRef((props, ref) => <Arrow {...props} innerRef={ref || props.innerRef} />);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkC;AAClC,2BAAkC;AAClC,uBAAqC;AAErC,MAAM,mBAAe,wCAAkB,MAAM,EAAE,WAAW,OAAO;AACjE,SAAS,MAAM,EAAE,OAAO,WAAW,UAAU,YAAY,WAAW,cAAc,WAAW,GAAG;AAC9F,SACE,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAAkC;AAClC,2BAAkC;AAClC,uBAAqC;AAErC,MAAM,mBAAe,wCAAkB,MAAM,EAAE,WAAW,OAAO;AACjE,SAAS,MAAM,EAAE,OAAO,WAAW,UAAU,YAAY,WAAW,cAAc,WAAW,GAAG;AAC9F,SACE,4CAAC;AAAA,IACC;AAAA,IACA,kBAAgB;AAAA,IACf,GAAG;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,MACL,GAAG;AAAA,MACH,OAAG,uCAAqB,WAAW,EAAE;AAAA,IACvC;AAAA,IAEA,uDAAC;AAAA,MAAI,SAAQ;AAAA,MACX;AAAA,oDAAC;AAAA,UACC,WAAU;AAAA,UACV,GAAE;AAAA,SAEJ;AAAA,QACA,4CAAC;AAAA,UACC,WAAU;AAAA,UACV,GAAE;AAAA,SACJ;AAAA;AAAA,KACF;AAAA,GACF;AAEJ;AAEA,IAAO,oBAAQ,yBAAW,CAAC,OAAO,QAAQ,4CAAC;AAAA,EAAO,GAAG;AAAA,EAAO,UAAU,OAAO,MAAM;AAAA,CAAU,CAAE;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
package/dist/cjs/DSPopover.js
CHANGED
|
@@ -34,7 +34,7 @@ __export(DSPopover_exports, {
|
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(DSPopover_exports);
|
|
36
36
|
var React = __toESM(require("react"));
|
|
37
|
-
var
|
|
37
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
38
38
|
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
39
39
|
var import_ds_hidden = require("@elliemae/ds-hidden");
|
|
40
40
|
var import_Popover = __toESM(require("./Popover"));
|
|
@@ -80,37 +80,46 @@ const DSPopover = ({
|
|
|
80
80
|
onMouseLeave: onHide
|
|
81
81
|
});
|
|
82
82
|
const isPopoverVisible = visible || isOpen;
|
|
83
|
-
return /* @__PURE__ */
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
83
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
|
|
84
|
+
children: [
|
|
85
|
+
renderTrigger({
|
|
86
|
+
...reference,
|
|
87
|
+
handlers: interactionType === "click" ? { onClick: onToggle } : hoverHandlers,
|
|
88
|
+
onShow,
|
|
89
|
+
onToggle,
|
|
90
|
+
onHide,
|
|
91
|
+
"aria-haspopup": true,
|
|
92
|
+
"aria-expanded": visible
|
|
93
|
+
}),
|
|
94
|
+
isPopoverVisible && reference.ref && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Popover.default, {
|
|
95
|
+
containerProps,
|
|
96
|
+
destroyOnHidden,
|
|
97
|
+
interactionType,
|
|
98
|
+
isOpen,
|
|
99
|
+
onClickOutside: (...args) => {
|
|
100
|
+
onClickOutside(...args);
|
|
101
|
+
if (interactionType === "click")
|
|
102
|
+
onHide();
|
|
103
|
+
},
|
|
104
|
+
popperProps: popper,
|
|
105
|
+
renderer: renderer && ((props) => renderer({
|
|
106
|
+
...props,
|
|
107
|
+
onShow,
|
|
108
|
+
onToggle,
|
|
109
|
+
onHide
|
|
110
|
+
})),
|
|
111
|
+
style,
|
|
112
|
+
visible: isPopoverVisible,
|
|
113
|
+
children: [
|
|
114
|
+
showArrow && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Arrow.default, {
|
|
115
|
+
...arrow,
|
|
116
|
+
placement: popperData.placement
|
|
117
|
+
}),
|
|
118
|
+
isPopoverVisible && content
|
|
119
|
+
]
|
|
120
|
+
})
|
|
121
|
+
]
|
|
122
|
+
});
|
|
114
123
|
};
|
|
115
124
|
DSPopover.defaultProps = {
|
|
116
125
|
containerProps: {},
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/DSPopover.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport { PropTypes, describe, useHoverHandlersDelay } from '@elliemae/ds-utilities';\nimport { useHiddenController } from '@elliemae/ds-hidden';\nimport Popover from './Popover';\nimport usePopper from './usePopper';\nimport Arrow from './Arrow';\nimport usePopoverProviderState from './usePopoverProviderState';\n\nexport * from '@elliemae/ds-popper';\nexport const Interaction = {\n CLICK: 'click',\n HOVER: 'hover',\n};\n\n/* Unstable Popover, not yet fully working */\nconst DSPopover = ({\n containerProps,\n content, // react component inside the popover to render its content\n renderer, // function to render the popover component, ex: (popoverProps) => (<div {...popoverProps}></div>)\n visible: visibleProp,\n offset,\n showArrow,\n // popper props options\n placement,\n boundaries, // scrollParent | window | viewport\n modifiers,\n referenceEl,\n renderTrigger,\n onClickOutside,\n destroyOnHidden,\n interactionType,\n isOpen,\n style,\n}) => {\n const { visible, onShow, onHide, onToggle } = useHiddenController(visibleProp);\n\n const { reference, popper, arrow, popperData } = usePopper({\n placement,\n showArrow,\n boundaries,\n modifiers,\n offset,\n referenceEl,\n eventsEnabled: visible,\n isOpen,\n });\n\n const hoverHandlers = useHoverHandlersDelay({\n onMouseOver: onShow,\n onMouseLeave: onHide,\n });\n const isPopoverVisible = visible || isOpen;\n return (\n <>\n {renderTrigger({\n ...reference,\n handlers: interactionType === 'click' ? { onClick: onToggle } : hoverHandlers,\n onShow,\n onToggle,\n onHide,\n 'aria-haspopup': true,\n 'aria-expanded': visible,\n })}\n {isPopoverVisible && reference.ref && (\n <Popover\n containerProps={containerProps}\n destroyOnHidden={destroyOnHidden}\n interactionType={interactionType}\n isOpen={isOpen}\n onClickOutside={(...args) => {\n onClickOutside(...args);\n if (interactionType === 'click') onHide();\n }}\n popperProps={popper}\n renderer={\n renderer &&\n ((props) =>\n renderer({\n ...props,\n onShow,\n onToggle,\n onHide,\n }))\n }\n style={style}\n visible={isPopoverVisible}\n >\n {showArrow && <Arrow {...arrow} placement={popperData.placement} />}\n {isPopoverVisible && content}\n </Popover>\n )}\n </>\n );\n};\n\nDSPopover.defaultProps = {\n containerProps: {},\n renderer: undefined,\n visible: undefined,\n offset: undefined,\n showArrow: false,\n placement: 'top',\n modifiers: {},\n renderTrigger: () => null,\n onClickOutside: () => null,\n destroyOnHidden: true,\n isOpen: undefined,\n};\n\nconst popoverProps = {\n containerProps: PropTypes.shape({}).description('Set of Properties attached to the main container'),\n destroyOnHidden: PropTypes.bool.description('destroy popover on hidden or not').defaultValue(true),\n renderer: PropTypes.func.description('custom renderer'),\n popperProps: PropTypes.object.description('Popper props attached to container'),\n visible: PropTypes.bool.description('is visible or not').defaultValue(false),\n content: PropTypes.oneOfType([PropTypes.element, PropTypes.string]).description('popover content'),\n onClickOutside: PropTypes.func.description('function called on click outside'),\n interaction: PropTypes.string.description('interaction type: hover, click'),\n offset: PropTypes.object.description('offset'),\n showArrow: PropTypes.bool.description('show tooltip arrow or not'),\n placement: PropTypes.string.description('popover placement: top, bottom, right, left'),\n boundaries: PropTypes.string.description('popover boundaries'),\n modifiers: PropTypes.object.description('modifiers'),\n style: PropTypes.object.description('css style object'),\n referenceEl: PropTypes.element.description('reference element'),\n renderTrigger: PropTypes.func.description('render trigger element'),\n interactionType: PropTypes.string.description('interaction type'),\n isOpen: PropTypes.bool.description('open or not').defaultValue(false),\n};\n\nDSPopover.propTypes = popoverProps;\nDSPopover.displayName = 'DSPopover';\nconst PopoverWithSchema = describe(DSPopover);\nPopoverWithSchema.propTypes = popoverProps;\n\nexport { DSPopover, usePopper, usePopoverProviderState, PopoverWithSchema };\n\nexport default DSPopover;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gEAAAA;AAAA,EAAA,kCAAAC;AAAA;AAAA;ACAA,YAAuB;
|
|
6
|
-
"names": ["usePopoverProviderState", "usePopper", "usePopper", "
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["usePopoverProviderState", "usePopper", "usePopper", "Popover", "Arrow"]
|
|
7
7
|
}
|
package/dist/cjs/Popover.js
CHANGED
|
@@ -28,7 +28,8 @@ __export(Popover_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(Popover_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_react = require("react");
|
|
32
33
|
var import_lodash = require("lodash");
|
|
33
34
|
var import_ds_classnames = require("@elliemae/ds-classnames");
|
|
34
35
|
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
@@ -60,13 +61,16 @@ function Popover({
|
|
|
60
61
|
(0, import_ds_utilities.useOnClickOutside)(popoverRef, onClickOutside);
|
|
61
62
|
const theme = (0, import_react.useContext)(import_ds_system.ThemeContext);
|
|
62
63
|
const wrapStyle = (0, import_lodash.omit)(style, "zIndex") || {};
|
|
63
|
-
return destroyOnHidden && !hiddenTransitionProps.destroyed && /* @__PURE__ */
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
return destroyOnHidden && !hiddenTransitionProps.destroyed && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_portal.default, {
|
|
65
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
66
|
+
...popperProps,
|
|
67
|
+
style: { zIndex: theme.zIndex.popper, ...style, ...popperProps.style },
|
|
68
|
+
children: (0, import_ds_utilities.isFunction)(renderer) ? renderer(popoverProps) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverComponent, {
|
|
69
|
+
...popoverProps,
|
|
70
|
+
style: wrapStyle
|
|
71
|
+
})
|
|
72
|
+
})
|
|
73
|
+
});
|
|
70
74
|
}
|
|
71
75
|
var Popover_default = Popover;
|
|
72
76
|
//# sourceMappingURL=Popover.js.map
|
package/dist/cjs/Popover.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Popover.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React, { useRef, useContext } from 'react';\nimport { omit } from 'lodash';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { isFunction, removeUndefinedProperties, useOnClickOutside } from '@elliemae/ds-utilities';\nimport { useHiddenTransition } from '@elliemae/ds-hidden';\nimport DSPortal from '@elliemae/ds-portal';\nimport { ThemeContext } from '@elliemae/ds-system';\n\nconst blockName = 'popover';\nconst PopoverComponent = aggregatedClasses('div')(blockName);\n\nfunction Popover({\n containerProps,\n destroyOnHidden = true,\n renderer = undefined,\n popperProps = {},\n visible = false,\n content = undefined,\n onClickOutside = () => null,\n style,\n ...otherProps\n}) {\n const popoverRef = useRef();\n const hiddenTransitionProps = useHiddenTransition({ visible });\n const popoverProps = removeUndefinedProperties({\n containerprops: containerProps,\n content,\n ref: popoverRef,\n ...otherProps,\n ...hiddenTransitionProps,\n });\n\n useOnClickOutside(popoverRef, onClickOutside);\n\n const theme = useContext(ThemeContext);\n\n const wrapStyle = omit(style, 'zIndex') || {};\n return (\n destroyOnHidden &&\n !hiddenTransitionProps.destroyed && (\n <DSPortal>\n <div {...popperProps} style={{ zIndex: theme.zIndex.popper, ...style, ...popperProps.style }}>\n {isFunction(renderer) ? renderer(popoverProps) : <PopoverComponent {...popoverProps} style={wrapStyle} />}\n </div>\n </DSPortal>\n )\n );\n}\n\nexport default Popover;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA0C;AAC1C,oBAAqB;AACrB,2BAAkC;AAClC,0BAAyE;AACzE,uBAAoC;AACpC,uBAAqB;AACrB,uBAA6B;AAE7B,MAAM,YAAY;AAClB,MAAM,uBAAmB,wCAAkB,KAAK,EAAE,SAAS;AAE3D,SAAS,QAAQ;AAAA,EACf;AAAA,EACA,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,cAAc,CAAC;AAAA,EACf,UAAU;AAAA,EACV,UAAU;AAAA,EACV,iBAAiB,MAAM;AAAA,EACvB;AAAA,KACG;AACL,GAAG;AACD,QAAM,iBAAa,qBAAO;AAC1B,QAAM,4BAAwB,sCAAoB,EAAE,QAAQ,CAAC;AAC7D,QAAM,mBAAe,+CAA0B;AAAA,IAC7C,gBAAgB;AAAA,IAChB;AAAA,IACA,KAAK;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,EACL,CAAC;AAED,6CAAkB,YAAY,cAAc;AAE5C,QAAM,YAAQ,yBAAW,6BAAY;AAErC,QAAM,gBAAY,oBAAK,OAAO,QAAQ,KAAK,CAAC;AAC5C,SACE,mBACA,CAAC,sBAAsB,aACrB,
|
|
6
|
-
"names": ["
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAA0C;AAC1C,oBAAqB;AACrB,2BAAkC;AAClC,0BAAyE;AACzE,uBAAoC;AACpC,uBAAqB;AACrB,uBAA6B;AAE7B,MAAM,YAAY;AAClB,MAAM,uBAAmB,wCAAkB,KAAK,EAAE,SAAS;AAE3D,SAAS,QAAQ;AAAA,EACf;AAAA,EACA,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,cAAc,CAAC;AAAA,EACf,UAAU;AAAA,EACV,UAAU;AAAA,EACV,iBAAiB,MAAM;AAAA,EACvB;AAAA,KACG;AACL,GAAG;AACD,QAAM,iBAAa,qBAAO;AAC1B,QAAM,4BAAwB,sCAAoB,EAAE,QAAQ,CAAC;AAC7D,QAAM,mBAAe,+CAA0B;AAAA,IAC7C,gBAAgB;AAAA,IAChB;AAAA,IACA,KAAK;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,EACL,CAAC;AAED,6CAAkB,YAAY,cAAc;AAE5C,QAAM,YAAQ,yBAAW,6BAAY;AAErC,QAAM,gBAAY,oBAAK,OAAO,QAAQ,KAAK,CAAC;AAC5C,SACE,mBACA,CAAC,sBAAsB,aACrB,4CAAC,iBAAAA,SAAA;AAAA,IACC,sDAAC;AAAA,MAAK,GAAG;AAAA,MAAa,OAAO,EAAE,QAAQ,MAAM,OAAO,QAAQ,GAAG,OAAO,GAAG,YAAY,MAAM;AAAA,MACxF,8CAAW,QAAQ,IAAI,SAAS,YAAY,IAAI,4CAAC;AAAA,QAAkB,GAAG;AAAA,QAAc,OAAO;AAAA,OAAW;AAAA,KACzG;AAAA,GACF;AAGN;AAEA,IAAO,kBAAQ;",
|
|
6
|
+
"names": ["DSPortal"]
|
|
7
7
|
}
|
|
@@ -29,7 +29,7 @@ __export(PopoverTrigger_exports, {
|
|
|
29
29
|
});
|
|
30
30
|
module.exports = __toCommonJS(PopoverTrigger_exports);
|
|
31
31
|
var React = __toESM(require("react"));
|
|
32
|
-
var
|
|
32
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
33
33
|
const Interaction = {
|
|
34
34
|
CLICK: "click",
|
|
35
35
|
HOVER: "hover"
|
|
@@ -61,7 +61,7 @@ function useHiddenTrigger({
|
|
|
61
61
|
}
|
|
62
62
|
function PopoverTrigger({ as: Component, ...props }) {
|
|
63
63
|
const hiddenTriggerProps = useHiddenTrigger(props);
|
|
64
|
-
return /* @__PURE__ */
|
|
64
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, {
|
|
65
65
|
...hiddenTriggerProps
|
|
66
66
|
});
|
|
67
67
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/PopoverTrigger.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React from 'react';\n\nexport const Interaction = {\n CLICK: 'click',\n HOVER: 'hover',\n};\n\nconst noop = () => {};\n\nfunction useHiddenTrigger({\n hiddenId,\n visible = false,\n interaction = 'click',\n onToggle = noop,\n onShow = noop,\n onHide = noop,\n}) {\n const handlers = {\n [Interaction.CLICK]: {\n onClick: onToggle,\n },\n [Interaction.HOVER]: {\n onMouseEnter: onShow,\n onMouseLeave: onHide,\n },\n };\n return {\n 'aria-expanded': visible,\n ...handlers[interaction],\n 'aria-controls': hiddenId,\n };\n}\n\nfunction PopoverTrigger({ as: Component, ...props }) {\n const hiddenTriggerProps = useHiddenTrigger(props);\n\n return <Component {...hiddenTriggerProps} />;\n}\n\nexport default PopoverTrigger;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAEO,MAAM,cAAc;AAAA,EACzB,OAAO;AAAA,EACP,OAAO;AACT;AAEA,MAAM,OAAO,MAAM;AAAC;AAEpB,SAAS,iBAAiB;AAAA,EACxB;AAAA,EACA,UAAU;AAAA,EACV,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AACX,GAAG;AACD,QAAM,WAAW;AAAA,IACf,CAAC,YAAY,QAAQ;AAAA,MACnB,SAAS;AAAA,IACX;AAAA,IACA,CAAC,YAAY,QAAQ;AAAA,MACnB,cAAc;AAAA,MACd,cAAc;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AAAA,IACL,iBAAiB;AAAA,IACjB,GAAG,SAAS;AAAA,IACZ,iBAAiB;AAAA,EACnB;AACF;AAEA,SAAS,eAAe,EAAE,IAAI,cAAc,MAAM,GAAG;AACnD,QAAM,qBAAqB,iBAAiB,KAAK;AAEjD,SAAO,4CAAC;AAAA,IAAW,GAAG;AAAA,GAAoB;AAC5C;AAEA,IAAO,yBAAQ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
package/dist/esm/Arrow.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef } from "react";
|
|
3
4
|
import { aggregatedClasses } from "@elliemae/ds-classnames";
|
|
4
5
|
import { getArrowStylesBySize } from "@elliemae/ds-popper";
|
|
5
6
|
const ArrowWrapper = aggregatedClasses("span")("popover", "arrow");
|
|
6
7
|
function Arrow({ style, className, innerRef, blockName = "popover", placement, ...otherProps }) {
|
|
7
|
-
return /* @__PURE__ */
|
|
8
|
+
return /* @__PURE__ */ jsx(ArrowWrapper, {
|
|
8
9
|
className,
|
|
9
10
|
"data-placement": placement,
|
|
10
11
|
...otherProps,
|
|
@@ -12,18 +13,23 @@ function Arrow({ style, className, innerRef, blockName = "popover", placement, .
|
|
|
12
13
|
style: {
|
|
13
14
|
...style,
|
|
14
15
|
...getArrowStylesBySize(placement, 25)
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
},
|
|
17
|
+
children: /* @__PURE__ */ jsxs("svg", {
|
|
18
|
+
viewBox: "0 0 30 30",
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ jsx("path", {
|
|
21
|
+
className: "stroke",
|
|
22
|
+
d: "M23.7,27.1L17,19.9C16.5,19.3,15.8,19,15,19s-1.6,0.3-2.1,0.9l-6.6,7.2C5.3,28.1,3.4,29,2,29h26\n C26.7,29,24.6,28.1,23.7,27.1z"
|
|
23
|
+
}),
|
|
24
|
+
/* @__PURE__ */ jsx("path", {
|
|
25
|
+
className: "fill",
|
|
26
|
+
d: "M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z"
|
|
27
|
+
})
|
|
28
|
+
]
|
|
29
|
+
})
|
|
30
|
+
});
|
|
25
31
|
}
|
|
26
|
-
var Arrow_default = forwardRef((props, ref) => /* @__PURE__ */
|
|
32
|
+
var Arrow_default = forwardRef((props, ref) => /* @__PURE__ */ jsx(Arrow, {
|
|
27
33
|
...props,
|
|
28
34
|
innerRef: ref || props.innerRef
|
|
29
35
|
}));
|
package/dist/esm/Arrow.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/Arrow.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { forwardRef } from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { getArrowStylesBySize } from '@elliemae/ds-popper';\n\nconst ArrowWrapper = aggregatedClasses('span')('popover', 'arrow');\nfunction Arrow({ style, className, innerRef, blockName = 'popover', placement, ...otherProps }) {\n return (\n <ArrowWrapper\n className={className}\n data-placement={placement}\n {...otherProps}\n innerRef={innerRef}\n style={{\n ...style,\n ...getArrowStylesBySize(placement, 25),\n }}\n >\n <svg viewBox=\"0 0 30 30\">\n <path\n className=\"stroke\"\n d=\"M23.7,27.1L17,19.9C16.5,19.3,15.8,19,15,19s-1.6,0.3-2.1,0.9l-6.6,7.2C5.3,28.1,3.4,29,2,29h26\n C26.7,29,24.6,28.1,23.7,27.1z\"\n />\n <path\n className=\"fill\"\n d=\"M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z\"\n />\n </svg>\n </ArrowWrapper>\n );\n}\n\nexport default forwardRef((props, ref) => <Arrow {...props} innerRef={ref || props.innerRef} />);\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,kBAAkB;AAClC,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AAErC,MAAM,eAAe,kBAAkB,MAAM,EAAE,WAAW,OAAO;AACjE,SAAS,MAAM,EAAE,OAAO,WAAW,UAAU,YAAY,WAAW,cAAc,WAAW,GAAG;AAC9F,SACE,oBAAC;AAAA,IACC;AAAA,IACA,kBAAgB;AAAA,IACf,GAAG;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAG,qBAAqB,WAAW,EAAE;AAAA,IACvC;AAAA,IAEA,+BAAC;AAAA,MAAI,SAAQ;AAAA,MACX;AAAA,4BAAC;AAAA,UACC,WAAU;AAAA,UACV,GAAE;AAAA,SAEJ;AAAA,QACA,oBAAC;AAAA,UACC,WAAU;AAAA,UACV,GAAE;AAAA,SACJ;AAAA;AAAA,KACF;AAAA,GACF;AAEJ;AAEA,IAAO,gBAAQ,WAAW,CAAC,OAAO,QAAQ,oBAAC;AAAA,EAAO,GAAG;AAAA,EAAO,UAAU,OAAO,MAAM;AAAA,CAAU,CAAE;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
package/dist/esm/DSPopover.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { PropTypes, describe, useHoverHandlersDelay } from "@elliemae/ds-utilities";
|
|
4
4
|
import { useHiddenController } from "@elliemae/ds-hidden";
|
|
5
5
|
import Popover from "./Popover";
|
|
@@ -45,37 +45,46 @@ const DSPopover = ({
|
|
|
45
45
|
onMouseLeave: onHide
|
|
46
46
|
});
|
|
47
47
|
const isPopoverVisible = visible || isOpen;
|
|
48
|
-
return /* @__PURE__ */
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
48
|
+
return /* @__PURE__ */ jsxs(Fragment, {
|
|
49
|
+
children: [
|
|
50
|
+
renderTrigger({
|
|
51
|
+
...reference,
|
|
52
|
+
handlers: interactionType === "click" ? { onClick: onToggle } : hoverHandlers,
|
|
53
|
+
onShow,
|
|
54
|
+
onToggle,
|
|
55
|
+
onHide,
|
|
56
|
+
"aria-haspopup": true,
|
|
57
|
+
"aria-expanded": visible
|
|
58
|
+
}),
|
|
59
|
+
isPopoverVisible && reference.ref && /* @__PURE__ */ jsxs(Popover, {
|
|
60
|
+
containerProps,
|
|
61
|
+
destroyOnHidden,
|
|
62
|
+
interactionType,
|
|
63
|
+
isOpen,
|
|
64
|
+
onClickOutside: (...args) => {
|
|
65
|
+
onClickOutside(...args);
|
|
66
|
+
if (interactionType === "click")
|
|
67
|
+
onHide();
|
|
68
|
+
},
|
|
69
|
+
popperProps: popper,
|
|
70
|
+
renderer: renderer && ((props) => renderer({
|
|
71
|
+
...props,
|
|
72
|
+
onShow,
|
|
73
|
+
onToggle,
|
|
74
|
+
onHide
|
|
75
|
+
})),
|
|
76
|
+
style,
|
|
77
|
+
visible: isPopoverVisible,
|
|
78
|
+
children: [
|
|
79
|
+
showArrow && /* @__PURE__ */ jsx(Arrow, {
|
|
80
|
+
...arrow,
|
|
81
|
+
placement: popperData.placement
|
|
82
|
+
}),
|
|
83
|
+
isPopoverVisible && content
|
|
84
|
+
]
|
|
85
|
+
})
|
|
86
|
+
]
|
|
87
|
+
});
|
|
79
88
|
};
|
|
80
89
|
DSPopover.defaultProps = {
|
|
81
90
|
containerProps: {},
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSPopover.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { PropTypes, describe, useHoverHandlersDelay } from '@elliemae/ds-utilities';\nimport { useHiddenController } from '@elliemae/ds-hidden';\nimport Popover from './Popover';\nimport usePopper from './usePopper';\nimport Arrow from './Arrow';\nimport usePopoverProviderState from './usePopoverProviderState';\n\nexport * from '@elliemae/ds-popper';\nexport const Interaction = {\n CLICK: 'click',\n HOVER: 'hover',\n};\n\n/* Unstable Popover, not yet fully working */\nconst DSPopover = ({\n containerProps,\n content, // react component inside the popover to render its content\n renderer, // function to render the popover component, ex: (popoverProps) => (<div {...popoverProps}></div>)\n visible: visibleProp,\n offset,\n showArrow,\n // popper props options\n placement,\n boundaries, // scrollParent | window | viewport\n modifiers,\n referenceEl,\n renderTrigger,\n onClickOutside,\n destroyOnHidden,\n interactionType,\n isOpen,\n style,\n}) => {\n const { visible, onShow, onHide, onToggle } = useHiddenController(visibleProp);\n\n const { reference, popper, arrow, popperData } = usePopper({\n placement,\n showArrow,\n boundaries,\n modifiers,\n offset,\n referenceEl,\n eventsEnabled: visible,\n isOpen,\n });\n\n const hoverHandlers = useHoverHandlersDelay({\n onMouseOver: onShow,\n onMouseLeave: onHide,\n });\n const isPopoverVisible = visible || isOpen;\n return (\n <>\n {renderTrigger({\n ...reference,\n handlers: interactionType === 'click' ? { onClick: onToggle } : hoverHandlers,\n onShow,\n onToggle,\n onHide,\n 'aria-haspopup': true,\n 'aria-expanded': visible,\n })}\n {isPopoverVisible && reference.ref && (\n <Popover\n containerProps={containerProps}\n destroyOnHidden={destroyOnHidden}\n interactionType={interactionType}\n isOpen={isOpen}\n onClickOutside={(...args) => {\n onClickOutside(...args);\n if (interactionType === 'click') onHide();\n }}\n popperProps={popper}\n renderer={\n renderer &&\n ((props) =>\n renderer({\n ...props,\n onShow,\n onToggle,\n onHide,\n }))\n }\n style={style}\n visible={isPopoverVisible}\n >\n {showArrow && <Arrow {...arrow} placement={popperData.placement} />}\n {isPopoverVisible && content}\n </Popover>\n )}\n </>\n );\n};\n\nDSPopover.defaultProps = {\n containerProps: {},\n renderer: undefined,\n visible: undefined,\n offset: undefined,\n showArrow: false,\n placement: 'top',\n modifiers: {},\n renderTrigger: () => null,\n onClickOutside: () => null,\n destroyOnHidden: true,\n isOpen: undefined,\n};\n\nconst popoverProps = {\n containerProps: PropTypes.shape({}).description('Set of Properties attached to the main container'),\n destroyOnHidden: PropTypes.bool.description('destroy popover on hidden or not').defaultValue(true),\n renderer: PropTypes.func.description('custom renderer'),\n popperProps: PropTypes.object.description('Popper props attached to container'),\n visible: PropTypes.bool.description('is visible or not').defaultValue(false),\n content: PropTypes.oneOfType([PropTypes.element, PropTypes.string]).description('popover content'),\n onClickOutside: PropTypes.func.description('function called on click outside'),\n interaction: PropTypes.string.description('interaction type: hover, click'),\n offset: PropTypes.object.description('offset'),\n showArrow: PropTypes.bool.description('show tooltip arrow or not'),\n placement: PropTypes.string.description('popover placement: top, bottom, right, left'),\n boundaries: PropTypes.string.description('popover boundaries'),\n modifiers: PropTypes.object.description('modifiers'),\n style: PropTypes.object.description('css style object'),\n referenceEl: PropTypes.element.description('reference element'),\n renderTrigger: PropTypes.func.description('render trigger element'),\n interactionType: PropTypes.string.description('interaction type'),\n isOpen: PropTypes.bool.description('open or not').defaultValue(false),\n};\n\nDSPopover.propTypes = popoverProps;\nDSPopover.displayName = 'DSPopover';\nconst PopoverWithSchema = describe(DSPopover);\nPopoverWithSchema.propTypes = popoverProps;\n\nexport { DSPopover, usePopper, usePopoverProviderState, PopoverWithSchema };\n\nexport default DSPopover;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAEA,SAAS,WAAW,UAAU,6BAA6B;AAC3D,SAAS,2BAA2B;AACpC,OAAO,aAAa;AACpB,OAAO,eAAe;AACtB,OAAO,WAAW;AAClB,OAAO,6BAA6B;AAEpC,cAAc;AACP,MAAM,cAAc;AAAA,EACzB,OAAO;AAAA,EACP,OAAO;AACT;AAGA,MAAM,YAAY,CAAC;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,EAAE,SAAS,QAAQ,QAAQ,SAAS,IAAI,oBAAoB,WAAW;AAE7E,QAAM,EAAE,WAAW,QAAQ,OAAO,WAAW,IAAI,UAAU;AAAA,IACzD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,EACF,CAAC;AAED,QAAM,gBAAgB,sBAAsB;AAAA,IAC1C,aAAa;AAAA,IACb,cAAc;AAAA,EAChB,CAAC;AACD,QAAM,mBAAmB,WAAW;AACpC,SACE;AAAA,IACG;AAAA,oBAAc;AAAA,QACb,GAAG;AAAA,QACH,UAAU,oBAAoB,UAAU,EAAE,SAAS,SAAS,IAAI;AAAA,QAChE;AAAA,QACA;AAAA,QACA;AAAA,QACA,iBAAiB;AAAA,QACjB,iBAAiB;AAAA,MACnB,CAAC;AAAA,MACA,oBAAoB,UAAU,OAC7B,qBAAC;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,gBAAgB,IAAI,SAAS;AAC3B,yBAAe,GAAG,IAAI;AACtB,cAAI,oBAAoB;AAAS,mBAAO;AAAA,QAC1C;AAAA,QACA,aAAa;AAAA,QACb,UACE,aACC,CAAC,UACA,SAAS;AAAA,UACP,GAAG;AAAA,UACH;AAAA,UACA;AAAA,UACA;AAAA,QACF,CAAC;AAAA,QAEL;AAAA,QACA,SAAS;AAAA,QAER;AAAA,uBAAa,oBAAC;AAAA,YAAO,GAAG;AAAA,YAAO,WAAW,WAAW;AAAA,WAAW;AAAA,UAChE,oBAAoB;AAAA;AAAA,OACvB;AAAA;AAAA,GAEJ;AAEJ;AAEA,UAAU,eAAe;AAAA,EACvB,gBAAgB,CAAC;AAAA,EACjB,UAAU;AAAA,EACV,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW,CAAC;AAAA,EACZ,eAAe,MAAM;AAAA,EACrB,gBAAgB,MAAM;AAAA,EACtB,iBAAiB;AAAA,EACjB,QAAQ;AACV;AAEA,MAAM,eAAe;AAAA,EACnB,gBAAgB,UAAU,MAAM,CAAC,CAAC,EAAE,YAAY,kDAAkD;AAAA,EAClG,iBAAiB,UAAU,KAAK,YAAY,kCAAkC,EAAE,aAAa,IAAI;AAAA,EACjG,UAAU,UAAU,KAAK,YAAY,iBAAiB;AAAA,EACtD,aAAa,UAAU,OAAO,YAAY,oCAAoC;AAAA,EAC9E,SAAS,UAAU,KAAK,YAAY,mBAAmB,EAAE,aAAa,KAAK;AAAA,EAC3E,SAAS,UAAU,UAAU,CAAC,UAAU,SAAS,UAAU,MAAM,CAAC,EAAE,YAAY,iBAAiB;AAAA,EACjG,gBAAgB,UAAU,KAAK,YAAY,kCAAkC;AAAA,EAC7E,aAAa,UAAU,OAAO,YAAY,gCAAgC;AAAA,EAC1E,QAAQ,UAAU,OAAO,YAAY,QAAQ;AAAA,EAC7C,WAAW,UAAU,KAAK,YAAY,2BAA2B;AAAA,EACjE,WAAW,UAAU,OAAO,YAAY,6CAA6C;AAAA,EACrF,YAAY,UAAU,OAAO,YAAY,oBAAoB;AAAA,EAC7D,WAAW,UAAU,OAAO,YAAY,WAAW;AAAA,EACnD,OAAO,UAAU,OAAO,YAAY,kBAAkB;AAAA,EACtD,aAAa,UAAU,QAAQ,YAAY,mBAAmB;AAAA,EAC9D,eAAe,UAAU,KAAK,YAAY,wBAAwB;AAAA,EAClE,iBAAiB,UAAU,OAAO,YAAY,kBAAkB;AAAA,EAChE,QAAQ,UAAU,KAAK,YAAY,aAAa,EAAE,aAAa,KAAK;AACtE;AAEA,UAAU,YAAY;AACtB,UAAU,cAAc;AACxB,MAAM,oBAAoB,SAAS,SAAS;AAC5C,kBAAkB,YAAY;AAI9B,IAAO,oBAAQ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
package/dist/esm/Popover.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useRef, useContext } from "react";
|
|
3
4
|
import { omit } from "lodash";
|
|
4
5
|
import { aggregatedClasses } from "@elliemae/ds-classnames";
|
|
5
6
|
import { isFunction, removeUndefinedProperties, useOnClickOutside } from "@elliemae/ds-utilities";
|
|
@@ -31,13 +32,16 @@ function Popover({
|
|
|
31
32
|
useOnClickOutside(popoverRef, onClickOutside);
|
|
32
33
|
const theme = useContext(ThemeContext);
|
|
33
34
|
const wrapStyle = omit(style, "zIndex") || {};
|
|
34
|
-
return destroyOnHidden && !hiddenTransitionProps.destroyed && /* @__PURE__ */
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
return destroyOnHidden && !hiddenTransitionProps.destroyed && /* @__PURE__ */ jsx(DSPortal, {
|
|
36
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
37
|
+
...popperProps,
|
|
38
|
+
style: { zIndex: theme.zIndex.popper, ...style, ...popperProps.style },
|
|
39
|
+
children: isFunction(renderer) ? renderer(popoverProps) : /* @__PURE__ */ jsx(PopoverComponent, {
|
|
40
|
+
...popoverProps,
|
|
41
|
+
style: wrapStyle
|
|
42
|
+
})
|
|
43
|
+
})
|
|
44
|
+
});
|
|
41
45
|
}
|
|
42
46
|
var Popover_default = Popover;
|
|
43
47
|
export {
|
package/dist/esm/Popover.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/Popover.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useRef, useContext } from 'react';\nimport { omit } from 'lodash';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { isFunction, removeUndefinedProperties, useOnClickOutside } from '@elliemae/ds-utilities';\nimport { useHiddenTransition } from '@elliemae/ds-hidden';\nimport DSPortal from '@elliemae/ds-portal';\nimport { ThemeContext } from '@elliemae/ds-system';\n\nconst blockName = 'popover';\nconst PopoverComponent = aggregatedClasses('div')(blockName);\n\nfunction Popover({\n containerProps,\n destroyOnHidden = true,\n renderer = undefined,\n popperProps = {},\n visible = false,\n content = undefined,\n onClickOutside = () => null,\n style,\n ...otherProps\n}) {\n const popoverRef = useRef();\n const hiddenTransitionProps = useHiddenTransition({ visible });\n const popoverProps = removeUndefinedProperties({\n containerprops: containerProps,\n content,\n ref: popoverRef,\n ...otherProps,\n ...hiddenTransitionProps,\n });\n\n useOnClickOutside(popoverRef, onClickOutside);\n\n const theme = useContext(ThemeContext);\n\n const wrapStyle = omit(style, 'zIndex') || {};\n return (\n destroyOnHidden &&\n !hiddenTransitionProps.destroyed && (\n <DSPortal>\n <div {...popperProps} style={{ zIndex: theme.zIndex.popper, ...style, ...popperProps.style }}>\n {isFunction(renderer) ? renderer(popoverProps) : <PopoverComponent {...popoverProps} style={wrapStyle} />}\n </div>\n </DSPortal>\n )\n );\n}\n\nexport default Popover;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,QAAQ,kBAAkB;AAC1C,SAAS,YAAY;AACrB,SAAS,yBAAyB;AAClC,SAAS,YAAY,2BAA2B,yBAAyB;AACzE,SAAS,2BAA2B;AACpC,OAAO,cAAc;AACrB,SAAS,oBAAoB;AAE7B,MAAM,YAAY;AAClB,MAAM,mBAAmB,kBAAkB,KAAK,EAAE,SAAS;AAE3D,SAAS,QAAQ;AAAA,EACf;AAAA,EACA,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,cAAc,CAAC;AAAA,EACf,UAAU;AAAA,EACV,UAAU;AAAA,EACV,iBAAiB,MAAM;AAAA,EACvB;AAAA,KACG;AACL,GAAG;AACD,QAAM,aAAa,OAAO;AAC1B,QAAM,wBAAwB,oBAAoB,EAAE,QAAQ,CAAC;AAC7D,QAAM,eAAe,0BAA0B;AAAA,IAC7C,gBAAgB;AAAA,IAChB;AAAA,IACA,KAAK;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,EACL,CAAC;AAED,oBAAkB,YAAY,cAAc;AAE5C,QAAM,QAAQ,WAAW,YAAY;AAErC,QAAM,YAAY,KAAK,OAAO,QAAQ,KAAK,CAAC;AAC5C,SACE,mBACA,CAAC,sBAAsB,aACrB,oBAAC;AAAA,IACC,8BAAC;AAAA,MAAK,GAAG;AAAA,MAAa,OAAO,EAAE,QAAQ,MAAM,OAAO,QAAQ,GAAG,OAAO,GAAG,YAAY,MAAM;AAAA,MACxF,qBAAW,QAAQ,IAAI,SAAS,YAAY,IAAI,oBAAC;AAAA,QAAkB,GAAG;AAAA,QAAc,OAAO;AAAA,OAAW;AAAA,KACzG;AAAA,GACF;AAGN;AAEA,IAAO,kBAAQ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
const Interaction = {
|
|
4
4
|
CLICK: "click",
|
|
5
5
|
HOVER: "hover"
|
|
@@ -31,7 +31,7 @@ function useHiddenTrigger({
|
|
|
31
31
|
}
|
|
32
32
|
function PopoverTrigger({ as: Component, ...props }) {
|
|
33
33
|
const hiddenTriggerProps = useHiddenTrigger(props);
|
|
34
|
-
return /* @__PURE__ */
|
|
34
|
+
return /* @__PURE__ */ jsx(Component, {
|
|
35
35
|
...hiddenTriggerProps
|
|
36
36
|
});
|
|
37
37
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/PopoverTrigger.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\n\nexport const Interaction = {\n CLICK: 'click',\n HOVER: 'hover',\n};\n\nconst noop = () => {};\n\nfunction useHiddenTrigger({\n hiddenId,\n visible = false,\n interaction = 'click',\n onToggle = noop,\n onShow = noop,\n onHide = noop,\n}) {\n const handlers = {\n [Interaction.CLICK]: {\n onClick: onToggle,\n },\n [Interaction.HOVER]: {\n onMouseEnter: onShow,\n onMouseLeave: onHide,\n },\n };\n return {\n 'aria-expanded': visible,\n ...handlers[interaction],\n 'aria-controls': hiddenId,\n };\n}\n\nfunction PopoverTrigger({ as: Component, ...props }) {\n const hiddenTriggerProps = useHiddenTrigger(props);\n\n return <Component {...hiddenTriggerProps} />;\n}\n\nexport default PopoverTrigger;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAEO,MAAM,cAAc;AAAA,EACzB,OAAO;AAAA,EACP,OAAO;AACT;AAEA,MAAM,OAAO,MAAM;AAAC;AAEpB,SAAS,iBAAiB;AAAA,EACxB;AAAA,EACA,UAAU;AAAA,EACV,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AACX,GAAG;AACD,QAAM,WAAW;AAAA,IACf,CAAC,YAAY,QAAQ;AAAA,MACnB,SAAS;AAAA,IACX;AAAA,IACA,CAAC,YAAY,QAAQ;AAAA,MACnB,cAAc;AAAA,MACd,cAAc;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AAAA,IACL,iBAAiB;AAAA,IACjB,GAAG,SAAS;AAAA,IACZ,iBAAiB;AAAA,EACnB;AACF;AAEA,SAAS,eAAe,EAAE,IAAI,cAAc,MAAM,GAAG;AACnD,QAAM,qBAAqB,iBAAiB,KAAK;AAEjD,SAAO,oBAAC;AAAA,IAAW,GAAG;AAAA,GAAoB;AAC5C;AAEA,IAAO,yBAAQ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-popover",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.1-next.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Popover",
|
|
6
6
|
"files": [
|
|
@@ -63,12 +63,12 @@
|
|
|
63
63
|
"indent": 4
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@elliemae/ds-classnames": "3.5.
|
|
67
|
-
"@elliemae/ds-hidden": "3.5.
|
|
68
|
-
"@elliemae/ds-popper": "3.5.
|
|
69
|
-
"@elliemae/ds-portal": "3.5.
|
|
70
|
-
"@elliemae/ds-system": "3.5.
|
|
71
|
-
"@elliemae/ds-utilities": "3.5.
|
|
66
|
+
"@elliemae/ds-classnames": "3.5.1-next.0",
|
|
67
|
+
"@elliemae/ds-hidden": "3.5.1-next.0",
|
|
68
|
+
"@elliemae/ds-popper": "3.5.1-next.0",
|
|
69
|
+
"@elliemae/ds-portal": "3.5.1-next.0",
|
|
70
|
+
"@elliemae/ds-system": "3.5.1-next.0",
|
|
71
|
+
"@elliemae/ds-utilities": "3.5.1-next.0",
|
|
72
72
|
"popper.js": "~1.16.1",
|
|
73
73
|
"styled-components": "~5.3.5"
|
|
74
74
|
},
|