@elliemae/ds-modal-slide 3.4.3-rc.0 → 3.4.4-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/DSModalSlide.js +68 -45
- package/dist/cjs/DSModalSlide.js.map +2 -2
- package/dist/cjs/components/Footer.js +27 -17
- package/dist/cjs/components/Footer.js.map +2 -2
- package/dist/cjs/components/Header.js +33 -17
- package/dist/cjs/components/Header.js.map +2 -2
- package/dist/cjs/components/blocks.js +49 -18
- package/dist/cjs/components/blocks.js.map +1 -1
- package/dist/cjs/index.js +4 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/DSModalSlide.js +64 -44
- package/dist/esm/DSModalSlide.js.map +2 -2
- package/dist/esm/components/Footer.js +23 -16
- package/dist/esm/components/Footer.js.map +1 -1
- package/dist/esm/components/Header.js +29 -16
- package/dist/esm/components/Header.js.map +2 -2
- package/dist/esm/components/blocks.js +45 -17
- package/dist/esm/components/blocks.js.map +1 -1
- package/dist/esm/index.js.map +2 -2
- package/package.json +8 -8
package/dist/cjs/DSModalSlide.js
CHANGED
|
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
}
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
21
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
25
|
var DSModalSlide_exports = {};
|
|
23
26
|
__export(DSModalSlide_exports, {
|
|
@@ -29,6 +32,7 @@ __export(DSModalSlide_exports, {
|
|
|
29
32
|
});
|
|
30
33
|
module.exports = __toCommonJS(DSModalSlide_exports);
|
|
31
34
|
var React = __toESM(require("react"));
|
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
36
|
var import_react = __toESM(require("react"));
|
|
33
37
|
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
34
38
|
var import_react_dom = __toESM(require("react-dom"));
|
|
@@ -85,54 +89,73 @@ const DSModalSlide = ({
|
|
|
85
89
|
if (!container.style.position) {
|
|
86
90
|
container.style.position = "relative";
|
|
87
91
|
}
|
|
88
|
-
return import_react_dom.default.createPortal(
|
|
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
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
92
|
+
return import_react_dom.default.createPortal(
|
|
93
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_blocks.Wrapper, {
|
|
94
|
+
classProps: {
|
|
95
|
+
show: isOpen,
|
|
96
|
+
centered
|
|
97
|
+
},
|
|
98
|
+
style: {
|
|
99
|
+
"--height": height,
|
|
100
|
+
"--fade-in": fadeIn,
|
|
101
|
+
"--fade-out": fadeOut,
|
|
102
|
+
"--width": width
|
|
103
|
+
},
|
|
104
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_blocks.Overlay, {
|
|
105
|
+
classProps: {
|
|
106
|
+
show: isOpen
|
|
107
|
+
},
|
|
108
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_blocks.Content, {
|
|
109
|
+
onAnimationEnd: handleAnimationEnd,
|
|
110
|
+
classProps: {
|
|
111
|
+
show: isOpen
|
|
112
|
+
},
|
|
113
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.Grid, {
|
|
114
|
+
style: {
|
|
115
|
+
height: "100%",
|
|
116
|
+
width: "100%",
|
|
117
|
+
maxHeight: "100%",
|
|
118
|
+
overflow: "hidden",
|
|
119
|
+
"-webkit-backface-visibility": "hidden",
|
|
120
|
+
"backface-visibility": "hidden",
|
|
121
|
+
"-webkit-transform-style": "preserve-3d"
|
|
122
|
+
},
|
|
123
|
+
rows: contentRows,
|
|
124
|
+
"data-testid": "ds-modal-slide",
|
|
125
|
+
children: [
|
|
126
|
+
header && import_react.default.cloneElement(header, { fullWidth }),
|
|
127
|
+
header && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_separator.default, {
|
|
128
|
+
position: "initial",
|
|
129
|
+
type: "non-form"
|
|
130
|
+
}),
|
|
131
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, {
|
|
132
|
+
style: { overflow: "hidden" },
|
|
133
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, {
|
|
134
|
+
style: { overflow: "auto" },
|
|
135
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_blocks.ActualContent, {
|
|
136
|
+
children
|
|
137
|
+
})
|
|
138
|
+
})
|
|
139
|
+
}),
|
|
140
|
+
footer && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_separator.default, {
|
|
141
|
+
position: "initial",
|
|
142
|
+
type: "non-form"
|
|
143
|
+
}),
|
|
144
|
+
footer
|
|
145
|
+
]
|
|
146
|
+
})
|
|
147
|
+
})
|
|
148
|
+
})
|
|
149
|
+
}),
|
|
150
|
+
container
|
|
151
|
+
);
|
|
131
152
|
};
|
|
132
153
|
const props = {
|
|
133
154
|
centered: import_ds_utilities.PropTypes.bool.description("If the modal slide is centered or not"),
|
|
134
155
|
isOpen: import_ds_utilities.PropTypes.bool.description("If the modal slide is visible or not"),
|
|
135
|
-
children: import_ds_utilities.PropTypes.oneOfType([import_ds_utilities.PropTypes.element, import_ds_utilities.PropTypes.string, import_ds_utilities.PropTypes.any]).isRequired.description(
|
|
156
|
+
children: import_ds_utilities.PropTypes.oneOfType([import_ds_utilities.PropTypes.element, import_ds_utilities.PropTypes.string, import_ds_utilities.PropTypes.any]).isRequired.description(
|
|
157
|
+
"Main content of the modal"
|
|
158
|
+
),
|
|
136
159
|
fullWidth: import_ds_utilities.PropTypes.bool.description("If the modal slide takes the full width or not"),
|
|
137
160
|
header: import_ds_utilities.PropTypes.element.description("If the modal slide has a header, only available for full width option"),
|
|
138
161
|
fadeOut: import_ds_utilities.PropTypes.number.description("Ratio of fade out"),
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/DSModalSlide.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useState, useEffect, useCallback } from 'react';\nimport { PropTypes, describe } from '@elliemae/ds-utilities';\nimport ReactDOM from 'react-dom';\nimport { useTheme } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport DSSeparator from '@elliemae/ds-separator';\nimport { Wrapper, Overlay, Content, ActualContent } from './components/blocks';\nimport ModalHeader from './components/Header';\nimport ModalFooter from './components/Footer';\n\n// eslint-disable-next-line complexity\nconst DSModalSlide = ({\n isOpen = false,\n children,\n getContainer,\n centered = false,\n fullWidth = false,\n header = null,\n footer = null,\n fadeOut = 1500,\n fadeIn = 1500,\n overrideHeight = false,\n}) => {\n const [isMoving, setMoving] = useState(false);\n const [show, setShow] = useState(isOpen);\n const [width, setWidth] = useState(50);\n const theme = useTheme();\n const contentRows = [...(header ? ['auto', '1px'] : []), '1fr', ...(footer ? ['1px', theme.space.m] : [])];\n\n const updateShow = useCallback(() => {\n if (fullWidth) setWidth(100);\n else setWidth(50);\n if (isOpen !== show) {\n setMoving(true);\n if (isOpen) {\n setShow(isOpen);\n }\n }\n }, [isOpen, fullWidth, isMoving]);\n\n useEffect(updateShow, [isOpen, fullWidth]);\n\n if (!show) return null;\n\n const container = getContainer();\n if (!container) return null;\n\n const handleAnimationEnd = () => {\n setMoving(false);\n if (!isOpen) setShow(isOpen);\n };\n\n let { height } = container.getBoundingClientRect();\n if (overrideHeight && container.scrollHeight > height) {\n height = container.scrollHeight;\n }\n if (!container.style.position) {\n container.style.position = 'relative';\n }\n\n return ReactDOM.createPortal(\n <Wrapper\n classProps={{\n show: isOpen,\n centered,\n }}\n style={{\n '--height': height,\n '--fade-in': fadeIn,\n '--fade-out': fadeOut,\n '--width': width,\n }}\n >\n <Overlay\n classProps={{\n show: isOpen,\n }}\n >\n <Content\n onAnimationEnd={handleAnimationEnd}\n classProps={{\n show: isOpen,\n }}\n >\n <Grid\n style={{\n height: '100%',\n width: '100%',\n maxHeight: '100%',\n overflow: 'hidden',\n '-webkit-backface-visibility': 'hidden',\n 'backface-visibility': 'hidden',\n '-webkit-transform-style': 'preserve-3d',\n }}\n rows={contentRows}\n data-testid=\"ds-modal-slide\"\n >\n {header && React.cloneElement(header, { fullWidth })}\n {header && <DSSeparator position=\"initial\" type=\"non-form\" />}\n <Grid style={{ overflow: 'hidden' }}>\n <Grid style={{ overflow: 'auto' }}>\n <ActualContent>{children}</ActualContent>\n </Grid>\n </Grid>\n {footer && <DSSeparator position=\"initial\" type=\"non-form\" />}\n {footer}\n </Grid>\n </Content>\n </Overlay>\n </Wrapper>,\n container,\n );\n};\n\nconst props = {\n /**\n * If the modal slide is centered or not\n */\n centered: PropTypes.bool.description('If the modal slide is centered or not'),\n /**\n * If the modal slide is visible or not\n */\n isOpen: PropTypes.bool.description('If the modal slide is visible or not'),\n /**\n * Main content of the modal\n */\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.string, PropTypes.any]).isRequired.description(\n 'Main content of the modal',\n ),\n /**\n * If the modal slide takes the full width or not\n */\n fullWidth: PropTypes.bool.description('If the modal slide takes the full width or not'),\n /**\n * If the modal slide has a header, only available for full width option\n */\n header: PropTypes.element.description('If the modal slide has a header, only available for full width option'),\n /**\n * Ratio of fade out\n */\n fadeOut: PropTypes.number.description('Ratio of fade out'),\n /**\n * Ratio of fade in\n */\n fadeIn: PropTypes.number.description('Ratio of fade in'),\n /**\n * Override the panel height to scroll height of the container\n */\n overrideHeight: PropTypes.bool.description('Override the panel height to scroll height of the container'),\n};\n\nDSModalSlide.propTypes = props;\nDSModalSlide.displayName = 'DSModalSlide';\nconst DSModalSlideWithSchema = describe(DSModalSlide);\nDSModalSlideWithSchema.propTypes = props;\n\nexport { ModalHeader, ModalFooter, DSModalSlide, DSModalSlideWithSchema };\n\nexport default DSModalSlide;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["ModalFooter", "ModalHeader", "ReactDOM", "React", "DSSeparator"]
|
|
7
7
|
}
|
|
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
}
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
21
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
25
|
var Footer_exports = {};
|
|
23
26
|
__export(Footer_exports, {
|
|
@@ -26,7 +29,7 @@ __export(Footer_exports, {
|
|
|
26
29
|
});
|
|
27
30
|
module.exports = __toCommonJS(Footer_exports);
|
|
28
31
|
var React = __toESM(require("react"));
|
|
29
|
-
var
|
|
32
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
30
33
|
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
31
34
|
var import_ds_button = __toESM(require("@elliemae/ds-button"));
|
|
32
35
|
var import_blocks = require("./blocks");
|
|
@@ -41,21 +44,28 @@ const ModalFooter = ({
|
|
|
41
44
|
rejectProps = {
|
|
42
45
|
disabled: false
|
|
43
46
|
}
|
|
44
|
-
}) => /* @__PURE__ */
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
47
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
|
|
48
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_blocks.FooterWrapper, {
|
|
49
|
+
children: [
|
|
50
|
+
!!onReject && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_button.default, {
|
|
51
|
+
buttonType: "secondary",
|
|
52
|
+
className: "action-reject",
|
|
53
|
+
containerProps: { "data-testid": "modal-footer-reject-btn" },
|
|
54
|
+
labelText: rejectLabel,
|
|
55
|
+
onClick: onReject,
|
|
56
|
+
...rejectProps
|
|
57
|
+
}),
|
|
58
|
+
!!onConfirm && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_button.default, {
|
|
59
|
+
buttonType: "primary",
|
|
60
|
+
className: "action-confirm",
|
|
61
|
+
containerProps: { "data-testid": "modal-footer-confirm-btn" },
|
|
62
|
+
labelText: confirmLabel,
|
|
63
|
+
onClick: onConfirm,
|
|
64
|
+
...confirmProps
|
|
65
|
+
})
|
|
66
|
+
]
|
|
67
|
+
})
|
|
68
|
+
});
|
|
59
69
|
const props = {
|
|
60
70
|
confirmLabel: import_ds_utilities.PropTypes.string.description("Confirm Label"),
|
|
61
71
|
rejectLabel: import_ds_utilities.PropTypes.string.description("Reject Label"),
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/Footer.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React from 'react';\nimport { PropTypes, describe } from '@elliemae/ds-utilities';\nimport DSButton from '@elliemae/ds-button';\nimport { FooterWrapper } from './blocks';\n\nconst ModalFooter = ({\n confirmLabel = 'Confirm',\n rejectLabel = 'Cancel',\n onConfirm,\n onReject,\n confirmProps = {\n disabled: false,\n },\n rejectProps = {\n disabled: false,\n },\n}) => (\n <>\n <FooterWrapper>\n {!!onReject && (\n <DSButton\n buttonType=\"secondary\"\n className=\"action-reject\"\n containerProps={{ 'data-testid': 'modal-footer-reject-btn' }}\n labelText={rejectLabel}\n onClick={onReject}\n {...rejectProps}\n />\n )}\n {!!onConfirm && (\n <DSButton\n buttonType=\"primary\"\n className=\"action-confirm\"\n containerProps={{ 'data-testid': 'modal-footer-confirm-btn' }}\n labelText={confirmLabel}\n onClick={onConfirm}\n {...confirmProps}\n />\n )}\n </FooterWrapper>\n </>\n);\n\nconst props = {\n /**\n * Confirm Label\n */\n confirmLabel: PropTypes.string.description('Confirm Label'),\n /**\n * Reject Label\n */\n rejectLabel: PropTypes.string.description('Reject Label'),\n /**\n * Callback\n */\n onConfirm: PropTypes.func.description('Callback'),\n /**\n * Callback\n */\n onReject: PropTypes.func.description('Callback'),\n /**\n * Extra DSButton props for confirm btn.\n */\n confirmProps: PropTypes.shape({\n disabled: PropTypes.bool,\n }).description('Extra DSButton props for confirm btn.'),\n /**\n * Extra DSButton props for reject btn.\n */\n rejectProps: PropTypes.shape({\n disabled: PropTypes.bool,\n }).description('Extra DSButton props for reject btn.'),\n};\n\nModalFooter.propTypes = props;\nModalFooter.displayName = 'ModalFooter';\nconst DSModalSlideFooterWithSchema = describe(ModalFooter);\nDSModalSlideFooterWithSchema.propTypes = props;\n\nexport { DSModalSlideFooterWithSchema };\n\nexport default ModalFooter;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AACA,0BAAoC;AACpC,uBAAqB;AACrB,oBAA8B;AAE9B,MAAM,cAAc,CAAC;AAAA,EACnB,eAAe;AAAA,EACf,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,EACZ;AAAA,EACA,cAAc;AAAA,IACZ,UAAU;AAAA,EACZ;AACF,MACE;AAAA,EACE,uDAAC;AAAA,IACE;AAAA,OAAC,CAAC,YACD,4CAAC,iBAAAA,SAAA;AAAA,QACC,YAAW;AAAA,QACX,WAAU;AAAA,QACV,gBAAgB,EAAE,eAAe,0BAA0B;AAAA,QAC3D,WAAW;AAAA,QACX,SAAS;AAAA,QACR,GAAG;AAAA,OACN;AAAA,MAED,CAAC,CAAC,aACD,4CAAC,iBAAAA,SAAA;AAAA,QACC,YAAW;AAAA,QACX,WAAU;AAAA,QACV,gBAAgB,EAAE,eAAe,2BAA2B;AAAA,QAC5D,WAAW;AAAA,QACX,SAAS;AAAA,QACR,GAAG;AAAA,OACN;AAAA;AAAA,GAEJ;AAAA,CACF;AAGF,MAAM,QAAQ;AAAA,EAIZ,cAAc,8BAAU,OAAO,YAAY,eAAe;AAAA,EAI1D,aAAa,8BAAU,OAAO,YAAY,cAAc;AAAA,EAIxD,WAAW,8BAAU,KAAK,YAAY,UAAU;AAAA,EAIhD,UAAU,8BAAU,KAAK,YAAY,UAAU;AAAA,EAI/C,cAAc,8BAAU,MAAM;AAAA,IAC5B,UAAU,8BAAU;AAAA,EACtB,CAAC,EAAE,YAAY,uCAAuC;AAAA,EAItD,aAAa,8BAAU,MAAM;AAAA,IAC3B,UAAU,8BAAU;AAAA,EACtB,CAAC,EAAE,YAAY,sCAAsC;AACvD;AAEA,YAAY,YAAY;AACxB,YAAY,cAAc;AAC1B,MAAM,mCAA+B,8BAAS,WAAW;AACzD,6BAA6B,YAAY;AAIzC,IAAO,iBAAQ;",
|
|
6
|
+
"names": ["DSButton"]
|
|
7
7
|
}
|
|
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
}
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
21
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
25
|
var Header_exports = {};
|
|
23
26
|
__export(Header_exports, {
|
|
@@ -26,28 +29,41 @@ __export(Header_exports, {
|
|
|
26
29
|
});
|
|
27
30
|
module.exports = __toCommonJS(Header_exports);
|
|
28
31
|
var React = __toESM(require("react"));
|
|
29
|
-
var
|
|
32
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
30
33
|
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
31
34
|
var import_ds_system = require("@elliemae/ds-system");
|
|
32
35
|
var import_ds_separator = __toESM(require("@elliemae/ds-separator"));
|
|
33
36
|
var import_ds_icons = require("@elliemae/ds-icons");
|
|
34
37
|
var import_ds_button = __toESM(require("@elliemae/ds-button"));
|
|
35
38
|
var import_blocks = require("./blocks");
|
|
36
|
-
const ModalHeader = ({ title: headerTitle = "", onClose = () => null, toolbar = null }) => /* @__PURE__ */
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
39
|
+
const ModalHeader = ({ title: headerTitle = "", onClose = () => null, toolbar = null }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(HeaderWrapper, {
|
|
40
|
+
children: [
|
|
41
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_blocks.HeaderLeftSide, {
|
|
42
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_blocks.Header, {
|
|
43
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_blocks.Title, {
|
|
44
|
+
children: headerTitle
|
|
45
|
+
})
|
|
46
|
+
})
|
|
47
|
+
}),
|
|
48
|
+
toolbar,
|
|
49
|
+
toolbar && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledSeparator, {
|
|
50
|
+
position: "initial",
|
|
51
|
+
margin: "none",
|
|
52
|
+
orientation: "vertical",
|
|
53
|
+
type: "non-form"
|
|
54
|
+
}),
|
|
55
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledCloseButton, {
|
|
56
|
+
"data-testid": "modal-slider-header-close",
|
|
57
|
+
"aria-label": "Close modal slide",
|
|
58
|
+
buttonType: "text",
|
|
59
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.Close, {
|
|
60
|
+
"aria-label": "Close modal slide",
|
|
61
|
+
size: "s"
|
|
62
|
+
}),
|
|
63
|
+
onClick: onClose
|
|
64
|
+
})
|
|
65
|
+
]
|
|
66
|
+
});
|
|
51
67
|
const HeaderWrapper = import_ds_system.styled.div`
|
|
52
68
|
display: flex;
|
|
53
69
|
justify-content: space-between;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/Header.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React from 'react';\nimport { PropTypes, describe } from '@elliemae/ds-utilities';\nimport { styled } from '@elliemae/ds-system';\nimport DSSeparator from '@elliemae/ds-separator';\nimport { Close } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport { Header, HeaderLeftSide, Title } from './blocks';\n\nconst ModalHeader = ({ title: headerTitle = '', onClose = () => null, toolbar = null }) => (\n <HeaderWrapper>\n <HeaderLeftSide>\n <Header>\n <Title>{headerTitle}</Title>\n </Header>\n </HeaderLeftSide>\n {toolbar}\n {toolbar && <StyledSeparator position=\"initial\" margin=\"none\" orientation=\"vertical\" type=\"non-form\" />}\n <StyledCloseButton\n data-testid=\"modal-slider-header-close\"\n aria-label=\"Close modal slide\"\n buttonType=\"text\"\n icon={<Close aria-label=\"Close modal slide\" size=\"s\" />}\n onClick={onClose}\n />\n </HeaderWrapper>\n);\n\nconst HeaderWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n width: 100%;\n align-items: center;\n height: 48px;\n overflow: hidden;\n`;\n\nconst StyledSeparator = styled(DSSeparator)`\n padding: ${(props) => props.theme.space.xs} 0;\n`;\n\nconst StyledCloseButton = styled(DSButton)`\n margin: ${(props) => props.theme.space.xs};\n`;\n\nconst props = {\n /** on modal close callback */\n onClose: PropTypes.func.description('on modal close callback'),\n /** modal toolbar component */\n toolbar: PropTypes.node.description('modal toolbar comoponent'),\n /** modal title */\n title: PropTypes.string.description('modal title'),\n};\n\nModalHeader.propTypes = props;\nModalHeader.displayName = 'ModalHeader';\nconst DSModalSlideHeaderWithSchema = describe(ModalHeader);\nDSModalSlideHeaderWithSchema.propTypes = props;\n\nexport { DSModalSlideHeaderWithSchema };\n\nexport default ModalHeader;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AACA,0BAAoC;AACpC,uBAAuB;AACvB,0BAAwB;AACxB,sBAAsB;AACtB,uBAAqB;AACrB,oBAA8C;AAE9C,MAAM,cAAc,CAAC,EAAE,OAAO,cAAc,IAAI,UAAU,MAAM,MAAM,UAAU,KAAK,MACnF,6CAAC;AAAA,EACC;AAAA,gDAAC;AAAA,MACC,sDAAC;AAAA,QACC,sDAAC;AAAA,UAAO;AAAA,SAAY;AAAA,OACtB;AAAA,KACF;AAAA,IACC;AAAA,IACA,WAAW,4CAAC;AAAA,MAAgB,UAAS;AAAA,MAAU,QAAO;AAAA,MAAO,aAAY;AAAA,MAAW,MAAK;AAAA,KAAW;AAAA,IACrG,4CAAC;AAAA,MACC,eAAY;AAAA,MACZ,cAAW;AAAA,MACX,YAAW;AAAA,MACX,MAAM,4CAAC;AAAA,QAAM,cAAW;AAAA,QAAoB,MAAK;AAAA,OAAI;AAAA,MACrD,SAAS;AAAA,KACX;AAAA;AAAA,CACF;AAGF,MAAM,gBAAgB,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS7B,MAAM,sBAAkB,yBAAO,oBAAAA,OAAW;AAAA,aAC7B,CAACC,WAAUA,OAAM,MAAM,MAAM;AAAA;AAG1C,MAAM,wBAAoB,yBAAO,iBAAAC,OAAQ;AAAA,YAC7B,CAACD,WAAUA,OAAM,MAAM,MAAM;AAAA;AAGzC,MAAM,QAAQ;AAAA,EAEZ,SAAS,8BAAU,KAAK,YAAY,yBAAyB;AAAA,EAE7D,SAAS,8BAAU,KAAK,YAAY,0BAA0B;AAAA,EAE9D,OAAO,8BAAU,OAAO,YAAY,aAAa;AACnD;AAEA,YAAY,YAAY;AACxB,YAAY,cAAc;AAC1B,MAAM,mCAA+B,8BAAS,WAAW;AACzD,6BAA6B,YAAY;AAIzC,IAAO,iBAAQ;",
|
|
6
|
+
"names": ["DSSeparator", "props", "DSButton"]
|
|
7
7
|
}
|
|
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
}
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
21
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
25
|
var blocks_exports = {};
|
|
23
26
|
__export(blocks_exports, {
|
|
@@ -36,24 +39,52 @@ module.exports = __toCommonJS(blocks_exports);
|
|
|
36
39
|
var React = __toESM(require("react"));
|
|
37
40
|
var import_ds_classnames = require("@elliemae/ds-classnames");
|
|
38
41
|
const blockName = "modal-slide";
|
|
39
|
-
const Wrapper = (0, import_ds_classnames.aggregatedClasses)("div")(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
centered
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
})
|
|
42
|
+
const Wrapper = (0, import_ds_classnames.aggregatedClasses)("div")(
|
|
43
|
+
blockName,
|
|
44
|
+
"wrapper",
|
|
45
|
+
({ show, centered }) => ({
|
|
46
|
+
showing: show,
|
|
47
|
+
disappearing: !show,
|
|
48
|
+
centered
|
|
49
|
+
})
|
|
50
|
+
);
|
|
51
|
+
const Overlay = (0, import_ds_classnames.aggregatedClasses)("div")(
|
|
52
|
+
blockName,
|
|
53
|
+
"overlay",
|
|
54
|
+
({ show }) => ({
|
|
55
|
+
showing: show,
|
|
56
|
+
disappearing: !show
|
|
57
|
+
})
|
|
58
|
+
);
|
|
59
|
+
const Content = (0, import_ds_classnames.aggregatedClasses)("div")(
|
|
60
|
+
blockName,
|
|
61
|
+
"content",
|
|
62
|
+
({ show }) => ({
|
|
63
|
+
showing: show,
|
|
64
|
+
disappearing: !show
|
|
65
|
+
})
|
|
66
|
+
);
|
|
52
67
|
const Title = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "title", () => ({}));
|
|
53
|
-
const BreadcrumTitle = (0, import_ds_classnames.aggregatedClasses)("div")(
|
|
54
|
-
|
|
55
|
-
|
|
68
|
+
const BreadcrumTitle = (0, import_ds_classnames.aggregatedClasses)("div")(
|
|
69
|
+
blockName,
|
|
70
|
+
"breadcrum-title",
|
|
71
|
+
() => ({})
|
|
72
|
+
);
|
|
73
|
+
const HeaderLeftSide = (0, import_ds_classnames.aggregatedClasses)("div")(
|
|
74
|
+
blockName,
|
|
75
|
+
"header-left-side",
|
|
76
|
+
() => ({})
|
|
77
|
+
);
|
|
78
|
+
const ActualContent = (0, import_ds_classnames.aggregatedClasses)("div")(
|
|
79
|
+
blockName,
|
|
80
|
+
"actual-content",
|
|
81
|
+
() => ({})
|
|
82
|
+
);
|
|
56
83
|
const Header = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "header", () => ({}));
|
|
57
84
|
const Footer = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "footer", () => ({}));
|
|
58
|
-
const FooterWrapper = (0, import_ds_classnames.aggregatedClasses)("div")(
|
|
85
|
+
const FooterWrapper = (0, import_ds_classnames.aggregatedClasses)("div")(
|
|
86
|
+
blockName,
|
|
87
|
+
"footer-wrapper",
|
|
88
|
+
() => ({})
|
|
89
|
+
);
|
|
59
90
|
//# sourceMappingURL=blocks.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/blocks.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import { aggregatedClasses } from '@elliemae/ds-classnames';\n\nconst blockName = 'modal-slide';\n\nexport const Wrapper = aggregatedClasses('div')(\n blockName,\n 'wrapper',\n ({ show, centered }) => ({\n showing: show,\n disappearing: !show,\n centered,\n }),\n);\n\nexport const Overlay = aggregatedClasses('div')(\n blockName,\n 'overlay',\n ({ show }) => ({\n showing: show,\n disappearing: !show,\n }),\n);\n\nexport const Content = aggregatedClasses('div')(\n blockName,\n 'content',\n ({ show }) => ({\n showing: show,\n disappearing: !show,\n }),\n);\n\nexport const Title = aggregatedClasses('div')(blockName, 'title', () => ({}));\n\nexport const BreadcrumTitle = aggregatedClasses('div')(\n blockName,\n 'breadcrum-title',\n () => ({}),\n);\n\nexport const HeaderLeftSide = aggregatedClasses('div')(\n blockName,\n 'header-left-side',\n () => ({}),\n);\n\nexport const ActualContent = aggregatedClasses('div')(\n blockName,\n 'actual-content',\n () => ({}),\n);\nexport const Header = aggregatedClasses('div')(blockName, 'header', () => ({}));\nexport const Footer = aggregatedClasses('div')(blockName, 'footer', () => ({}));\n\nexport const FooterWrapper = aggregatedClasses('div')(\n blockName,\n 'footer-wrapper',\n () => ({}),\n);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,2BAAkC;AAElC,MAAM,YAAY;AAEX,MAAM,cAAU,wCAAkB,KAAK;AAAA,EAC5C;AAAA,EACA;AAAA,EACA,CAAC,EAAE,MAAM,SAAS,OAAO;AAAA,IACvB,SAAS;AAAA,IACT,cAAc,CAAC;AAAA,IACf;AAAA,EACF;AACF;AAEO,MAAM,cAAU,wCAAkB,KAAK;AAAA,EAC5C;AAAA,EACA;AAAA,EACA,CAAC,EAAE,KAAK,OAAO;AAAA,IACb,SAAS;AAAA,IACT,cAAc,CAAC;AAAA,EACjB;AACF;AAEO,MAAM,cAAU,wCAAkB,KAAK;AAAA,EAC5C;AAAA,EACA;AAAA,EACA,CAAC,EAAE,KAAK,OAAO;AAAA,IACb,SAAS;AAAA,IACT,cAAc,CAAC;AAAA,EACjB;AACF;AAEO,MAAM,YAAQ,wCAAkB,KAAK,EAAE,WAAW,SAAS,OAAO,CAAC,EAAE;AAErE,MAAM,qBAAiB,wCAAkB,KAAK;AAAA,EACnD;AAAA,EACA;AAAA,EACA,OAAO,CAAC;AACV;AAEO,MAAM,qBAAiB,wCAAkB,KAAK;AAAA,EACnD;AAAA,EACA;AAAA,EACA,OAAO,CAAC;AACV;AAEO,MAAM,oBAAgB,wCAAkB,KAAK;AAAA,EAClD;AAAA,EACA;AAAA,EACA,OAAO,CAAC;AACV;AACO,MAAM,aAAS,wCAAkB,KAAK,EAAE,WAAW,UAAU,OAAO,CAAC,EAAE;AACvE,MAAM,aAAS,wCAAkB,KAAK,EAAE,WAAW,UAAU,OAAO,CAAC,EAAE;AAEvE,MAAM,oBAAgB,wCAAkB,KAAK;AAAA,EAClD;AAAA,EACA;AAAA,EACA,OAAO,CAAC;AACV;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -18,7 +18,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
20
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
21
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
23
|
+
mod
|
|
24
|
+
));
|
|
22
25
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
26
|
var src_exports = {};
|
|
24
27
|
__export(src_exports, {
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["export * from './DSModalSlide';\nexport { default } from './DSModalSlide';\nexport { DSModalSlideHeaderWithSchema } from './components/Header';\nexport { DSModalSlideFooterWithSchema } from './components/Footer';", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAc,2BAAd;AACA,0BAAwB;AACxB,oBAA6C;AAC7C,oBAA6C;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/DSModalSlide.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, { useState, useEffect, useCallback } from "react";
|
|
3
4
|
import { PropTypes, describe } from "@elliemae/ds-utilities";
|
|
4
5
|
import ReactDOM from "react-dom";
|
|
@@ -55,54 +56,73 @@ const DSModalSlide = ({
|
|
|
55
56
|
if (!container.style.position) {
|
|
56
57
|
container.style.position = "relative";
|
|
57
58
|
}
|
|
58
|
-
return ReactDOM.createPortal(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
59
|
+
return ReactDOM.createPortal(
|
|
60
|
+
/* @__PURE__ */ jsx(Wrapper, {
|
|
61
|
+
classProps: {
|
|
62
|
+
show: isOpen,
|
|
63
|
+
centered
|
|
64
|
+
},
|
|
65
|
+
style: {
|
|
66
|
+
"--height": height,
|
|
67
|
+
"--fade-in": fadeIn,
|
|
68
|
+
"--fade-out": fadeOut,
|
|
69
|
+
"--width": width
|
|
70
|
+
},
|
|
71
|
+
children: /* @__PURE__ */ jsx(Overlay, {
|
|
72
|
+
classProps: {
|
|
73
|
+
show: isOpen
|
|
74
|
+
},
|
|
75
|
+
children: /* @__PURE__ */ jsx(Content, {
|
|
76
|
+
onAnimationEnd: handleAnimationEnd,
|
|
77
|
+
classProps: {
|
|
78
|
+
show: isOpen
|
|
79
|
+
},
|
|
80
|
+
children: /* @__PURE__ */ jsxs(Grid, {
|
|
81
|
+
style: {
|
|
82
|
+
height: "100%",
|
|
83
|
+
width: "100%",
|
|
84
|
+
maxHeight: "100%",
|
|
85
|
+
overflow: "hidden",
|
|
86
|
+
"-webkit-backface-visibility": "hidden",
|
|
87
|
+
"backface-visibility": "hidden",
|
|
88
|
+
"-webkit-transform-style": "preserve-3d"
|
|
89
|
+
},
|
|
90
|
+
rows: contentRows,
|
|
91
|
+
"data-testid": "ds-modal-slide",
|
|
92
|
+
children: [
|
|
93
|
+
header && React2.cloneElement(header, { fullWidth }),
|
|
94
|
+
header && /* @__PURE__ */ jsx(DSSeparator, {
|
|
95
|
+
position: "initial",
|
|
96
|
+
type: "non-form"
|
|
97
|
+
}),
|
|
98
|
+
/* @__PURE__ */ jsx(Grid, {
|
|
99
|
+
style: { overflow: "hidden" },
|
|
100
|
+
children: /* @__PURE__ */ jsx(Grid, {
|
|
101
|
+
style: { overflow: "auto" },
|
|
102
|
+
children: /* @__PURE__ */ jsx(ActualContent, {
|
|
103
|
+
children
|
|
104
|
+
})
|
|
105
|
+
})
|
|
106
|
+
}),
|
|
107
|
+
footer && /* @__PURE__ */ jsx(DSSeparator, {
|
|
108
|
+
position: "initial",
|
|
109
|
+
type: "non-form"
|
|
110
|
+
}),
|
|
111
|
+
footer
|
|
112
|
+
]
|
|
113
|
+
})
|
|
114
|
+
})
|
|
115
|
+
})
|
|
116
|
+
}),
|
|
117
|
+
container
|
|
118
|
+
);
|
|
101
119
|
};
|
|
102
120
|
const props = {
|
|
103
121
|
centered: PropTypes.bool.description("If the modal slide is centered or not"),
|
|
104
122
|
isOpen: PropTypes.bool.description("If the modal slide is visible or not"),
|
|
105
|
-
children: PropTypes.oneOfType([PropTypes.element, PropTypes.string, PropTypes.any]).isRequired.description(
|
|
123
|
+
children: PropTypes.oneOfType([PropTypes.element, PropTypes.string, PropTypes.any]).isRequired.description(
|
|
124
|
+
"Main content of the modal"
|
|
125
|
+
),
|
|
106
126
|
fullWidth: PropTypes.bool.description("If the modal slide takes the full width or not"),
|
|
107
127
|
header: PropTypes.element.description("If the modal slide has a header, only available for full width option"),
|
|
108
128
|
fadeOut: PropTypes.number.description("Ratio of fade out"),
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSModalSlide.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useState, useEffect, useCallback } from 'react';\nimport { PropTypes, describe } from '@elliemae/ds-utilities';\nimport ReactDOM from 'react-dom';\nimport { useTheme } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport DSSeparator from '@elliemae/ds-separator';\nimport { Wrapper, Overlay, Content, ActualContent } from './components/blocks';\nimport ModalHeader from './components/Header';\nimport ModalFooter from './components/Footer';\n\n// eslint-disable-next-line complexity\nconst DSModalSlide = ({\n isOpen = false,\n children,\n getContainer,\n centered = false,\n fullWidth = false,\n header = null,\n footer = null,\n fadeOut = 1500,\n fadeIn = 1500,\n overrideHeight = false,\n}) => {\n const [isMoving, setMoving] = useState(false);\n const [show, setShow] = useState(isOpen);\n const [width, setWidth] = useState(50);\n const theme = useTheme();\n const contentRows = [...(header ? ['auto', '1px'] : []), '1fr', ...(footer ? ['1px', theme.space.m] : [])];\n\n const updateShow = useCallback(() => {\n if (fullWidth) setWidth(100);\n else setWidth(50);\n if (isOpen !== show) {\n setMoving(true);\n if (isOpen) {\n setShow(isOpen);\n }\n }\n }, [isOpen, fullWidth, isMoving]);\n\n useEffect(updateShow, [isOpen, fullWidth]);\n\n if (!show) return null;\n\n const container = getContainer();\n if (!container) return null;\n\n const handleAnimationEnd = () => {\n setMoving(false);\n if (!isOpen) setShow(isOpen);\n };\n\n let { height } = container.getBoundingClientRect();\n if (overrideHeight && container.scrollHeight > height) {\n height = container.scrollHeight;\n }\n if (!container.style.position) {\n container.style.position = 'relative';\n }\n\n return ReactDOM.createPortal(\n <Wrapper\n classProps={{\n show: isOpen,\n centered,\n }}\n style={{\n '--height': height,\n '--fade-in': fadeIn,\n '--fade-out': fadeOut,\n '--width': width,\n }}\n >\n <Overlay\n classProps={{\n show: isOpen,\n }}\n >\n <Content\n onAnimationEnd={handleAnimationEnd}\n classProps={{\n show: isOpen,\n }}\n >\n <Grid\n style={{\n height: '100%',\n width: '100%',\n maxHeight: '100%',\n overflow: 'hidden',\n '-webkit-backface-visibility': 'hidden',\n 'backface-visibility': 'hidden',\n '-webkit-transform-style': 'preserve-3d',\n }}\n rows={contentRows}\n data-testid=\"ds-modal-slide\"\n >\n {header && React.cloneElement(header, { fullWidth })}\n {header && <DSSeparator position=\"initial\" type=\"non-form\" />}\n <Grid style={{ overflow: 'hidden' }}>\n <Grid style={{ overflow: 'auto' }}>\n <ActualContent>{children}</ActualContent>\n </Grid>\n </Grid>\n {footer && <DSSeparator position=\"initial\" type=\"non-form\" />}\n {footer}\n </Grid>\n </Content>\n </Overlay>\n </Wrapper>,\n container,\n );\n};\n\nconst props = {\n /**\n * If the modal slide is centered or not\n */\n centered: PropTypes.bool.description('If the modal slide is centered or not'),\n /**\n * If the modal slide is visible or not\n */\n isOpen: PropTypes.bool.description('If the modal slide is visible or not'),\n /**\n * Main content of the modal\n */\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.string, PropTypes.any]).isRequired.description(\n 'Main content of the modal',\n ),\n /**\n * If the modal slide takes the full width or not\n */\n fullWidth: PropTypes.bool.description('If the modal slide takes the full width or not'),\n /**\n * If the modal slide has a header, only available for full width option\n */\n header: PropTypes.element.description('If the modal slide has a header, only available for full width option'),\n /**\n * Ratio of fade out\n */\n fadeOut: PropTypes.number.description('Ratio of fade out'),\n /**\n * Ratio of fade in\n */\n fadeIn: PropTypes.number.description('Ratio of fade in'),\n /**\n * Override the panel height to scroll height of the container\n */\n overrideHeight: PropTypes.bool.description('Override the panel height to scroll height of the container'),\n};\n\nDSModalSlide.propTypes = props;\nDSModalSlide.displayName = 'DSModalSlide';\nconst DSModalSlideWithSchema = describe(DSModalSlide);\nDSModalSlideWithSchema.propTypes = props;\n\nexport { ModalHeader, ModalFooter, DSModalSlide, DSModalSlideWithSchema };\n\nexport default DSModalSlide;\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -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 } from "@elliemae/ds-utilities";
|
|
4
4
|
import DSButton from "@elliemae/ds-button";
|
|
5
5
|
import { FooterWrapper } from "./blocks";
|
|
@@ -14,21 +14,28 @@ const ModalFooter = ({
|
|
|
14
14
|
rejectProps = {
|
|
15
15
|
disabled: false
|
|
16
16
|
}
|
|
17
|
-
}) => /* @__PURE__ */
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
17
|
+
}) => /* @__PURE__ */ jsx(Fragment, {
|
|
18
|
+
children: /* @__PURE__ */ jsxs(FooterWrapper, {
|
|
19
|
+
children: [
|
|
20
|
+
!!onReject && /* @__PURE__ */ jsx(DSButton, {
|
|
21
|
+
buttonType: "secondary",
|
|
22
|
+
className: "action-reject",
|
|
23
|
+
containerProps: { "data-testid": "modal-footer-reject-btn" },
|
|
24
|
+
labelText: rejectLabel,
|
|
25
|
+
onClick: onReject,
|
|
26
|
+
...rejectProps
|
|
27
|
+
}),
|
|
28
|
+
!!onConfirm && /* @__PURE__ */ jsx(DSButton, {
|
|
29
|
+
buttonType: "primary",
|
|
30
|
+
className: "action-confirm",
|
|
31
|
+
containerProps: { "data-testid": "modal-footer-confirm-btn" },
|
|
32
|
+
labelText: confirmLabel,
|
|
33
|
+
onClick: onConfirm,
|
|
34
|
+
...confirmProps
|
|
35
|
+
})
|
|
36
|
+
]
|
|
37
|
+
})
|
|
38
|
+
});
|
|
32
39
|
const props = {
|
|
33
40
|
confirmLabel: PropTypes.string.description("Confirm Label"),
|
|
34
41
|
rejectLabel: PropTypes.string.description("Reject Label"),
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/Footer.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { PropTypes, describe } from '@elliemae/ds-utilities';\nimport DSButton from '@elliemae/ds-button';\nimport { FooterWrapper } from './blocks';\n\nconst ModalFooter = ({\n confirmLabel = 'Confirm',\n rejectLabel = 'Cancel',\n onConfirm,\n onReject,\n confirmProps = {\n disabled: false,\n },\n rejectProps = {\n disabled: false,\n },\n}) => (\n <>\n <FooterWrapper>\n {!!onReject && (\n <DSButton\n buttonType=\"secondary\"\n className=\"action-reject\"\n containerProps={{ 'data-testid': 'modal-footer-reject-btn' }}\n labelText={rejectLabel}\n onClick={onReject}\n {...rejectProps}\n />\n )}\n {!!onConfirm && (\n <DSButton\n buttonType=\"primary\"\n className=\"action-confirm\"\n containerProps={{ 'data-testid': 'modal-footer-confirm-btn' }}\n labelText={confirmLabel}\n onClick={onConfirm}\n {...confirmProps}\n />\n )}\n </FooterWrapper>\n </>\n);\n\nconst props = {\n /**\n * Confirm Label\n */\n confirmLabel: PropTypes.string.description('Confirm Label'),\n /**\n * Reject Label\n */\n rejectLabel: PropTypes.string.description('Reject Label'),\n /**\n * Callback\n */\n onConfirm: PropTypes.func.description('Callback'),\n /**\n * Callback\n */\n onReject: PropTypes.func.description('Callback'),\n /**\n * Extra DSButton props for confirm btn.\n */\n confirmProps: PropTypes.shape({\n disabled: PropTypes.bool,\n }).description('Extra DSButton props for confirm btn.'),\n /**\n * Extra DSButton props for reject btn.\n */\n rejectProps: PropTypes.shape({\n disabled: PropTypes.bool,\n }).description('Extra DSButton props for reject btn.'),\n};\n\nModalFooter.propTypes = props;\nModalFooter.displayName = 'ModalFooter';\nconst DSModalSlideFooterWithSchema = describe(ModalFooter);\nDSModalSlideFooterWithSchema.propTypes = props;\n\nexport { DSModalSlideFooterWithSchema };\n\nexport default ModalFooter;\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAS,WAAW,gBAAgB;AACpC,OAAO,cAAc;AACrB,SAAS,qBAAqB;AAE9B,MAAM,cAAc,CAAC;AAAA,EACnB,eAAe;AAAA,EACf,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,EACZ;AAAA,EACA,cAAc;AAAA,IACZ,UAAU;AAAA,EACZ;AACF,MACE;AAAA,EACE,+BAAC;AAAA,IACE;AAAA,OAAC,CAAC,YACD,oBAAC;AAAA,QACC,YAAW;AAAA,QACX,WAAU;AAAA,QACV,gBAAgB,EAAE,eAAe,0BAA0B;AAAA,QAC3D,WAAW;AAAA,QACX,SAAS;AAAA,QACR,GAAG;AAAA,OACN;AAAA,MAED,CAAC,CAAC,aACD,oBAAC;AAAA,QACC,YAAW;AAAA,QACX,WAAU;AAAA,QACV,gBAAgB,EAAE,eAAe,2BAA2B;AAAA,QAC5D,WAAW;AAAA,QACX,SAAS;AAAA,QACR,GAAG;AAAA,OACN;AAAA;AAAA,GAEJ;AAAA,CACF;AAGF,MAAM,QAAQ;AAAA,EAIZ,cAAc,UAAU,OAAO,YAAY,eAAe;AAAA,EAI1D,aAAa,UAAU,OAAO,YAAY,cAAc;AAAA,EAIxD,WAAW,UAAU,KAAK,YAAY,UAAU;AAAA,EAIhD,UAAU,UAAU,KAAK,YAAY,UAAU;AAAA,EAI/C,cAAc,UAAU,MAAM;AAAA,IAC5B,UAAU,UAAU;AAAA,EACtB,CAAC,EAAE,YAAY,uCAAuC;AAAA,EAItD,aAAa,UAAU,MAAM;AAAA,IAC3B,UAAU,UAAU;AAAA,EACtB,CAAC,EAAE,YAAY,sCAAsC;AACvD;AAEA,YAAY,YAAY;AACxB,YAAY,cAAc;AAC1B,MAAM,+BAA+B,SAAS,WAAW;AACzD,6BAA6B,YAAY;AAIzC,IAAO,iBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,26 +1,39 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { PropTypes, describe } from "@elliemae/ds-utilities";
|
|
4
4
|
import { styled } from "@elliemae/ds-system";
|
|
5
5
|
import DSSeparator from "@elliemae/ds-separator";
|
|
6
6
|
import { Close } from "@elliemae/ds-icons";
|
|
7
7
|
import DSButton from "@elliemae/ds-button";
|
|
8
8
|
import { Header, HeaderLeftSide, Title } from "./blocks";
|
|
9
|
-
const ModalHeader = ({ title: headerTitle = "", onClose = () => null, toolbar = null }) => /* @__PURE__ */
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
9
|
+
const ModalHeader = ({ title: headerTitle = "", onClose = () => null, toolbar = null }) => /* @__PURE__ */ jsxs(HeaderWrapper, {
|
|
10
|
+
children: [
|
|
11
|
+
/* @__PURE__ */ jsx(HeaderLeftSide, {
|
|
12
|
+
children: /* @__PURE__ */ jsx(Header, {
|
|
13
|
+
children: /* @__PURE__ */ jsx(Title, {
|
|
14
|
+
children: headerTitle
|
|
15
|
+
})
|
|
16
|
+
})
|
|
17
|
+
}),
|
|
18
|
+
toolbar,
|
|
19
|
+
toolbar && /* @__PURE__ */ jsx(StyledSeparator, {
|
|
20
|
+
position: "initial",
|
|
21
|
+
margin: "none",
|
|
22
|
+
orientation: "vertical",
|
|
23
|
+
type: "non-form"
|
|
24
|
+
}),
|
|
25
|
+
/* @__PURE__ */ jsx(StyledCloseButton, {
|
|
26
|
+
"data-testid": "modal-slider-header-close",
|
|
27
|
+
"aria-label": "Close modal slide",
|
|
28
|
+
buttonType: "text",
|
|
29
|
+
icon: /* @__PURE__ */ jsx(Close, {
|
|
30
|
+
"aria-label": "Close modal slide",
|
|
31
|
+
size: "s"
|
|
32
|
+
}),
|
|
33
|
+
onClick: onClose
|
|
34
|
+
})
|
|
35
|
+
]
|
|
36
|
+
});
|
|
24
37
|
const HeaderWrapper = styled.div`
|
|
25
38
|
display: flex;
|
|
26
39
|
justify-content: space-between;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/Header.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { PropTypes, describe } from '@elliemae/ds-utilities';\nimport { styled } from '@elliemae/ds-system';\nimport DSSeparator from '@elliemae/ds-separator';\nimport { Close } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport { Header, HeaderLeftSide, Title } from './blocks';\n\nconst ModalHeader = ({ title: headerTitle = '', onClose = () => null, toolbar = null }) => (\n <HeaderWrapper>\n <HeaderLeftSide>\n <Header>\n <Title>{headerTitle}</Title>\n </Header>\n </HeaderLeftSide>\n {toolbar}\n {toolbar && <StyledSeparator position=\"initial\" margin=\"none\" orientation=\"vertical\" type=\"non-form\" />}\n <StyledCloseButton\n data-testid=\"modal-slider-header-close\"\n aria-label=\"Close modal slide\"\n buttonType=\"text\"\n icon={<Close aria-label=\"Close modal slide\" size=\"s\" />}\n onClick={onClose}\n />\n </HeaderWrapper>\n);\n\nconst HeaderWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n width: 100%;\n align-items: center;\n height: 48px;\n overflow: hidden;\n`;\n\nconst StyledSeparator = styled(DSSeparator)`\n padding: ${(props) => props.theme.space.xs} 0;\n`;\n\nconst StyledCloseButton = styled(DSButton)`\n margin: ${(props) => props.theme.space.xs};\n`;\n\nconst props = {\n /** on modal close callback */\n onClose: PropTypes.func.description('on modal close callback'),\n /** modal toolbar component */\n toolbar: PropTypes.node.description('modal toolbar comoponent'),\n /** modal title */\n title: PropTypes.string.description('modal title'),\n};\n\nModalHeader.propTypes = props;\nModalHeader.displayName = 'ModalHeader';\nconst DSModalSlideHeaderWithSchema = describe(ModalHeader);\nDSModalSlideHeaderWithSchema.propTypes = props;\n\nexport { DSModalSlideHeaderWithSchema };\n\nexport default ModalHeader;\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAS,WAAW,gBAAgB;AACpC,SAAS,cAAc;AACvB,OAAO,iBAAiB;AACxB,SAAS,aAAa;AACtB,OAAO,cAAc;AACrB,SAAS,QAAQ,gBAAgB,aAAa;AAE9C,MAAM,cAAc,CAAC,EAAE,OAAO,cAAc,IAAI,UAAU,MAAM,MAAM,UAAU,KAAK,MACnF,qBAAC;AAAA,EACC;AAAA,wBAAC;AAAA,MACC,8BAAC;AAAA,QACC,8BAAC;AAAA,UAAO;AAAA,SAAY;AAAA,OACtB;AAAA,KACF;AAAA,IACC;AAAA,IACA,WAAW,oBAAC;AAAA,MAAgB,UAAS;AAAA,MAAU,QAAO;AAAA,MAAO,aAAY;AAAA,MAAW,MAAK;AAAA,KAAW;AAAA,IACrG,oBAAC;AAAA,MACC,eAAY;AAAA,MACZ,cAAW;AAAA,MACX,YAAW;AAAA,MACX,MAAM,oBAAC;AAAA,QAAM,cAAW;AAAA,QAAoB,MAAK;AAAA,OAAI;AAAA,MACrD,SAAS;AAAA,KACX;AAAA;AAAA,CACF;AAGF,MAAM,gBAAgB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS7B,MAAM,kBAAkB,OAAO,WAAW;AAAA,aAC7B,CAACA,WAAUA,OAAM,MAAM,MAAM;AAAA;AAG1C,MAAM,oBAAoB,OAAO,QAAQ;AAAA,YAC7B,CAACA,WAAUA,OAAM,MAAM,MAAM;AAAA;AAGzC,MAAM,QAAQ;AAAA,EAEZ,SAAS,UAAU,KAAK,YAAY,yBAAyB;AAAA,EAE7D,SAAS,UAAU,KAAK,YAAY,0BAA0B;AAAA,EAE9D,OAAO,UAAU,OAAO,YAAY,aAAa;AACnD;AAEA,YAAY,YAAY;AACxB,YAAY,cAAc;AAC1B,MAAM,+BAA+B,SAAS,WAAW;AACzD,6BAA6B,YAAY;AAIzC,IAAO,iBAAQ;",
|
|
6
|
+
"names": ["props"]
|
|
7
7
|
}
|
|
@@ -1,26 +1,54 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { aggregatedClasses } from "@elliemae/ds-classnames";
|
|
3
3
|
const blockName = "modal-slide";
|
|
4
|
-
const Wrapper = aggregatedClasses("div")(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
centered
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
})
|
|
4
|
+
const Wrapper = aggregatedClasses("div")(
|
|
5
|
+
blockName,
|
|
6
|
+
"wrapper",
|
|
7
|
+
({ show, centered }) => ({
|
|
8
|
+
showing: show,
|
|
9
|
+
disappearing: !show,
|
|
10
|
+
centered
|
|
11
|
+
})
|
|
12
|
+
);
|
|
13
|
+
const Overlay = aggregatedClasses("div")(
|
|
14
|
+
blockName,
|
|
15
|
+
"overlay",
|
|
16
|
+
({ show }) => ({
|
|
17
|
+
showing: show,
|
|
18
|
+
disappearing: !show
|
|
19
|
+
})
|
|
20
|
+
);
|
|
21
|
+
const Content = aggregatedClasses("div")(
|
|
22
|
+
blockName,
|
|
23
|
+
"content",
|
|
24
|
+
({ show }) => ({
|
|
25
|
+
showing: show,
|
|
26
|
+
disappearing: !show
|
|
27
|
+
})
|
|
28
|
+
);
|
|
17
29
|
const Title = aggregatedClasses("div")(blockName, "title", () => ({}));
|
|
18
|
-
const BreadcrumTitle = aggregatedClasses("div")(
|
|
19
|
-
|
|
20
|
-
|
|
30
|
+
const BreadcrumTitle = aggregatedClasses("div")(
|
|
31
|
+
blockName,
|
|
32
|
+
"breadcrum-title",
|
|
33
|
+
() => ({})
|
|
34
|
+
);
|
|
35
|
+
const HeaderLeftSide = aggregatedClasses("div")(
|
|
36
|
+
blockName,
|
|
37
|
+
"header-left-side",
|
|
38
|
+
() => ({})
|
|
39
|
+
);
|
|
40
|
+
const ActualContent = aggregatedClasses("div")(
|
|
41
|
+
blockName,
|
|
42
|
+
"actual-content",
|
|
43
|
+
() => ({})
|
|
44
|
+
);
|
|
21
45
|
const Header = aggregatedClasses("div")(blockName, "header", () => ({}));
|
|
22
46
|
const Footer = aggregatedClasses("div")(blockName, "footer", () => ({}));
|
|
23
|
-
const FooterWrapper = aggregatedClasses("div")(
|
|
47
|
+
const FooterWrapper = aggregatedClasses("div")(
|
|
48
|
+
blockName,
|
|
49
|
+
"footer-wrapper",
|
|
50
|
+
() => ({})
|
|
51
|
+
);
|
|
24
52
|
export {
|
|
25
53
|
ActualContent,
|
|
26
54
|
BreadcrumTitle,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/blocks.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { aggregatedClasses } from '@elliemae/ds-classnames';\n\nconst blockName = 'modal-slide';\n\nexport const Wrapper = aggregatedClasses('div')(\n blockName,\n 'wrapper',\n ({ show, centered }) => ({\n showing: show,\n disappearing: !show,\n centered,\n }),\n);\n\nexport const Overlay = aggregatedClasses('div')(\n blockName,\n 'overlay',\n ({ show }) => ({\n showing: show,\n disappearing: !show,\n }),\n);\n\nexport const Content = aggregatedClasses('div')(\n blockName,\n 'content',\n ({ show }) => ({\n showing: show,\n disappearing: !show,\n }),\n);\n\nexport const Title = aggregatedClasses('div')(blockName, 'title', () => ({}));\n\nexport const BreadcrumTitle = aggregatedClasses('div')(\n blockName,\n 'breadcrum-title',\n () => ({}),\n);\n\nexport const HeaderLeftSide = aggregatedClasses('div')(\n blockName,\n 'header-left-side',\n () => ({}),\n);\n\nexport const ActualContent = aggregatedClasses('div')(\n blockName,\n 'actual-content',\n () => ({}),\n);\nexport const Header = aggregatedClasses('div')(blockName, 'header', () => ({}));\nexport const Footer = aggregatedClasses('div')(blockName, 'footer', () => ({}));\n\nexport const FooterWrapper = aggregatedClasses('div')(\n blockName,\n 'footer-wrapper',\n () => ({}),\n);\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,yBAAyB;AAElC,MAAM,YAAY;AAEX,MAAM,UAAU,kBAAkB,KAAK;AAAA,EAC5C;AAAA,EACA;AAAA,EACA,CAAC,EAAE,MAAM,SAAS,OAAO;AAAA,IACvB,SAAS;AAAA,IACT,cAAc,CAAC;AAAA,IACf;AAAA,EACF;AACF;AAEO,MAAM,UAAU,kBAAkB,KAAK;AAAA,EAC5C;AAAA,EACA;AAAA,EACA,CAAC,EAAE,KAAK,OAAO;AAAA,IACb,SAAS;AAAA,IACT,cAAc,CAAC;AAAA,EACjB;AACF;AAEO,MAAM,UAAU,kBAAkB,KAAK;AAAA,EAC5C;AAAA,EACA;AAAA,EACA,CAAC,EAAE,KAAK,OAAO;AAAA,IACb,SAAS;AAAA,IACT,cAAc,CAAC;AAAA,EACjB;AACF;AAEO,MAAM,QAAQ,kBAAkB,KAAK,EAAE,WAAW,SAAS,OAAO,CAAC,EAAE;AAErE,MAAM,iBAAiB,kBAAkB,KAAK;AAAA,EACnD;AAAA,EACA;AAAA,EACA,OAAO,CAAC;AACV;AAEO,MAAM,iBAAiB,kBAAkB,KAAK;AAAA,EACnD;AAAA,EACA;AAAA,EACA,OAAO,CAAC;AACV;AAEO,MAAM,gBAAgB,kBAAkB,KAAK;AAAA,EAClD;AAAA,EACA;AAAA,EACA,OAAO,CAAC;AACV;AACO,MAAM,SAAS,kBAAkB,KAAK,EAAE,WAAW,UAAU,OAAO,CAAC,EAAE;AACvE,MAAM,SAAS,kBAAkB,KAAK,EAAE,WAAW,UAAU,OAAO,CAAC,EAAE;AAEvE,MAAM,gBAAgB,kBAAkB,KAAK;AAAA,EAClD;AAAA,EACA;AAAA,EACA,OAAO,CAAC;AACV;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/index.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './DSModalSlide';\nexport { default } from './DSModalSlide';\nexport { DSModalSlideHeaderWithSchema } from './components/Header';\nexport { DSModalSlideFooterWithSchema } from './components/Footer';"],
|
|
5
|
-
"mappings": "AAAA;
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,cAAc;AACd,SAAS,WAAAA,gBAAe;AACxB,SAAS,oCAAoC;AAC7C,SAAS,oCAAoC;",
|
|
6
|
+
"names": ["default"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-modal-slide",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.4-next.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Modal Slide",
|
|
6
6
|
"files": [
|
|
@@ -51,13 +51,13 @@
|
|
|
51
51
|
"indent": 4
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@elliemae/ds-button": "3.4.
|
|
55
|
-
"@elliemae/ds-classnames": "3.4.
|
|
56
|
-
"@elliemae/ds-grid": "3.4.
|
|
57
|
-
"@elliemae/ds-icons": "3.4.
|
|
58
|
-
"@elliemae/ds-separator": "3.4.
|
|
59
|
-
"@elliemae/ds-system": "3.4.
|
|
60
|
-
"@elliemae/ds-utilities": "3.4.
|
|
54
|
+
"@elliemae/ds-button": "3.4.4-next.0",
|
|
55
|
+
"@elliemae/ds-classnames": "3.4.4-next.0",
|
|
56
|
+
"@elliemae/ds-grid": "3.4.4-next.0",
|
|
57
|
+
"@elliemae/ds-icons": "3.4.4-next.0",
|
|
58
|
+
"@elliemae/ds-separator": "3.4.4-next.0",
|
|
59
|
+
"@elliemae/ds-system": "3.4.4-next.0",
|
|
60
|
+
"@elliemae/ds-utilities": "3.4.4-next.0"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
63
|
"@testing-library/react": "~12.1.3",
|