@elliemae/ds-overlay 3.5.0-rc.9 → 3.6.0-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/DSOverlay.js +13 -6
- package/dist/cjs/DSOverlay.js.map +1 -1
- package/dist/esm/DSOverlay.js +13 -6
- package/dist/esm/DSOverlay.js.map +1 -1
- package/package.json +5 -5
package/dist/cjs/DSOverlay.js
CHANGED
|
@@ -29,6 +29,7 @@ __export(DSOverlay_exports, {
|
|
|
29
29
|
});
|
|
30
30
|
module.exports = __toCommonJS(DSOverlay_exports);
|
|
31
31
|
var React = __toESM(require("react"));
|
|
32
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
33
|
var import_react = __toESM(require("react"));
|
|
33
34
|
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
34
35
|
var import_ds_classnames = require("@elliemae/ds-classnames");
|
|
@@ -92,18 +93,24 @@ const _DSOverlay = class extends import_react.Component {
|
|
|
92
93
|
const { usePortal, isOpen, hasBackdrop, children, backDropZIndex, style = {} } = this.props;
|
|
93
94
|
if (!isOpen)
|
|
94
95
|
return null;
|
|
95
|
-
const overlay = /* @__PURE__ */
|
|
96
|
+
const overlay = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(OverlayContainer, {
|
|
96
97
|
style: {
|
|
97
98
|
zIndex: 3e3,
|
|
98
99
|
...style
|
|
99
100
|
},
|
|
100
101
|
classProps: { usePortal, isOpen },
|
|
101
|
-
innerRef: this.overlayRef
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
innerRef: this.overlayRef,
|
|
103
|
+
children: [
|
|
104
|
+
hasBackdrop && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_backdrop.default, {
|
|
105
|
+
zIndex: backDropZIndex
|
|
106
|
+
}),
|
|
107
|
+
children
|
|
108
|
+
]
|
|
109
|
+
});
|
|
105
110
|
if (usePortal) {
|
|
106
|
-
return /* @__PURE__ */
|
|
111
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_portal.default, {
|
|
112
|
+
children: overlay
|
|
113
|
+
});
|
|
107
114
|
}
|
|
108
115
|
return overlay;
|
|
109
116
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/DSOverlay.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable max-lines */\nimport React, { Component } from 'react';\nimport { PropTypes } from '@elliemae/ds-utilities';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport DSBackdrop from '@elliemae/ds-backdrop';\nimport DSPortal from '@elliemae/ds-portal';\n\nconst blockName = 'overlay';\n\nconst events = ['mousedown', 'touchstart'];\n\nconst OverlayContainer = aggregatedClasses('div')(blockName, null, ({ usePortal, isOpen }) => ({\n inline: !usePortal,\n opened: isOpen,\n}));\n\nclass DSOverlay extends Component {\n static overlayStack = [];\n\n static defaultProps = {\n isOpen: false,\n usePortal: true,\n hasBackdrop: false,\n backDropZIndex: 2, // https://jira.elliemae.io/browse/PUI-1712\n onClickOutside: () => null,\n };\n\n constructor(props) {\n super(props);\n this.overlayRef = React.createRef();\n\n this.handleDocumentClick = this.handleDocumentClick.bind(this);\n }\n\n componentDidUpdate(prevProps) {\n const { isOpen } = this.props;\n if (isOpen !== prevProps.isOpen) {\n if (isOpen) {\n this.openOverlay();\n } else {\n this.closeOverlay();\n }\n }\n }\n\n addClickOutsideListeners() {\n events.forEach((event) => {\n document.addEventListener(event, this.handleDocumentClick);\n });\n }\n\n removeClickOutsideListeners() {\n events.forEach((event) => {\n document.removeEventListener(event, this.handleDocumentClick);\n });\n }\n\n handleDocumentClick(e) {\n const { onClickOutside, isOpen } = this.props;\n const { overlayStack } = DSOverlay;\n const overlayIndex = overlayStack.indexOf(this);\n const hasClickedOverlay = overlayStack.slice(overlayIndex).some(({ overlayRef }) => {\n const elem = overlayRef.current;\n return elem && elem.contains(e.target) && !elem.isSameNode(e.target);\n });\n\n if (isOpen && !hasClickedOverlay) {\n onClickOutside(e); // giving opportunity for callers to operate on the event.\n }\n }\n\n openOverlay() {\n this.addClickOutsideListeners();\n DSOverlay.overlayStack.push(this);\n }\n\n closeOverlay() {\n const { overlayStack } = DSOverlay;\n const overlayIndex = overlayStack.indexOf(this);\n this.removeClickOutsideListeners();\n overlayStack.splice(overlayIndex, 1);\n }\n\n render() {\n const { usePortal, isOpen, hasBackdrop, children, backDropZIndex, style = {} } = this.props;\n\n if (!isOpen) return null;\n\n const overlay = (\n <OverlayContainer\n style={{\n zIndex: 3000,\n ...style,\n }}\n classProps={{ usePortal, isOpen }}\n innerRef={this.overlayRef}\n >\n {hasBackdrop && <DSBackdrop zIndex={backDropZIndex} />}\n {children}\n </OverlayContainer>\n );\n\n if (usePortal) {\n return <DSPortal>{overlay}</DSPortal>;\n }\n\n return overlay;\n }\n}\n\nDSOverlay.propTypes = {\n backDropZIndex: PropTypes.number,\n children: PropTypes.element,\n hasBackdrop: PropTypes.bool,\n isOpen: PropTypes.bool,\n onClickOutside: PropTypes.func,\n usePortal: PropTypes.bool,\n};\n\nexport { DSOverlay };\nexport default DSOverlay;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["React", "DSBackdrop", "DSPortal"]
|
|
7
7
|
}
|
package/dist/esm/DSOverlay.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
3
|
import React2, { Component } from "react";
|
|
3
4
|
import { PropTypes } from "@elliemae/ds-utilities";
|
|
4
5
|
import { aggregatedClasses } from "@elliemae/ds-classnames";
|
|
@@ -62,18 +63,24 @@ const _DSOverlay = class extends Component {
|
|
|
62
63
|
const { usePortal, isOpen, hasBackdrop, children, backDropZIndex, style = {} } = this.props;
|
|
63
64
|
if (!isOpen)
|
|
64
65
|
return null;
|
|
65
|
-
const overlay = /* @__PURE__ */
|
|
66
|
+
const overlay = /* @__PURE__ */ jsxs(OverlayContainer, {
|
|
66
67
|
style: {
|
|
67
68
|
zIndex: 3e3,
|
|
68
69
|
...style
|
|
69
70
|
},
|
|
70
71
|
classProps: { usePortal, isOpen },
|
|
71
|
-
innerRef: this.overlayRef
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
innerRef: this.overlayRef,
|
|
73
|
+
children: [
|
|
74
|
+
hasBackdrop && /* @__PURE__ */ jsx(DSBackdrop, {
|
|
75
|
+
zIndex: backDropZIndex
|
|
76
|
+
}),
|
|
77
|
+
children
|
|
78
|
+
]
|
|
79
|
+
});
|
|
75
80
|
if (usePortal) {
|
|
76
|
-
return /* @__PURE__ */
|
|
81
|
+
return /* @__PURE__ */ jsx(DSPortal, {
|
|
82
|
+
children: overlay
|
|
83
|
+
});
|
|
77
84
|
}
|
|
78
85
|
return overlay;
|
|
79
86
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSOverlay.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { Component } from 'react';\nimport { PropTypes } from '@elliemae/ds-utilities';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport DSBackdrop from '@elliemae/ds-backdrop';\nimport DSPortal from '@elliemae/ds-portal';\n\nconst blockName = 'overlay';\n\nconst events = ['mousedown', 'touchstart'];\n\nconst OverlayContainer = aggregatedClasses('div')(blockName, null, ({ usePortal, isOpen }) => ({\n inline: !usePortal,\n opened: isOpen,\n}));\n\nclass DSOverlay extends Component {\n static overlayStack = [];\n\n static defaultProps = {\n isOpen: false,\n usePortal: true,\n hasBackdrop: false,\n backDropZIndex: 2, // https://jira.elliemae.io/browse/PUI-1712\n onClickOutside: () => null,\n };\n\n constructor(props) {\n super(props);\n this.overlayRef = React.createRef();\n\n this.handleDocumentClick = this.handleDocumentClick.bind(this);\n }\n\n componentDidUpdate(prevProps) {\n const { isOpen } = this.props;\n if (isOpen !== prevProps.isOpen) {\n if (isOpen) {\n this.openOverlay();\n } else {\n this.closeOverlay();\n }\n }\n }\n\n addClickOutsideListeners() {\n events.forEach((event) => {\n document.addEventListener(event, this.handleDocumentClick);\n });\n }\n\n removeClickOutsideListeners() {\n events.forEach((event) => {\n document.removeEventListener(event, this.handleDocumentClick);\n });\n }\n\n handleDocumentClick(e) {\n const { onClickOutside, isOpen } = this.props;\n const { overlayStack } = DSOverlay;\n const overlayIndex = overlayStack.indexOf(this);\n const hasClickedOverlay = overlayStack.slice(overlayIndex).some(({ overlayRef }) => {\n const elem = overlayRef.current;\n return elem && elem.contains(e.target) && !elem.isSameNode(e.target);\n });\n\n if (isOpen && !hasClickedOverlay) {\n onClickOutside(e); // giving opportunity for callers to operate on the event.\n }\n }\n\n openOverlay() {\n this.addClickOutsideListeners();\n DSOverlay.overlayStack.push(this);\n }\n\n closeOverlay() {\n const { overlayStack } = DSOverlay;\n const overlayIndex = overlayStack.indexOf(this);\n this.removeClickOutsideListeners();\n overlayStack.splice(overlayIndex, 1);\n }\n\n render() {\n const { usePortal, isOpen, hasBackdrop, children, backDropZIndex, style = {} } = this.props;\n\n if (!isOpen) return null;\n\n const overlay = (\n <OverlayContainer\n style={{\n zIndex: 3000,\n ...style,\n }}\n classProps={{ usePortal, isOpen }}\n innerRef={this.overlayRef}\n >\n {hasBackdrop && <DSBackdrop zIndex={backDropZIndex} />}\n {children}\n </OverlayContainer>\n );\n\n if (usePortal) {\n return <DSPortal>{overlay}</DSPortal>;\n }\n\n return overlay;\n }\n}\n\nDSOverlay.propTypes = {\n backDropZIndex: PropTypes.number,\n children: PropTypes.element,\n hasBackdrop: PropTypes.bool,\n isOpen: PropTypes.bool,\n onClickOutside: PropTypes.func,\n usePortal: PropTypes.bool,\n};\n\nexport { DSOverlay };\nexport default DSOverlay;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-overlay",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.0-next.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Overlay",
|
|
6
6
|
"files": [
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
"indent": 4
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@elliemae/ds-backdrop": "3.
|
|
43
|
-
"@elliemae/ds-classnames": "3.
|
|
44
|
-
"@elliemae/ds-portal": "3.
|
|
45
|
-
"@elliemae/ds-utilities": "3.
|
|
42
|
+
"@elliemae/ds-backdrop": "3.6.0-next.0",
|
|
43
|
+
"@elliemae/ds-classnames": "3.6.0-next.0",
|
|
44
|
+
"@elliemae/ds-portal": "3.6.0-next.0",
|
|
45
|
+
"@elliemae/ds-utilities": "3.6.0-next.0"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"react": "^17.0.2",
|