@elliemae/ds-modal-slide 3.0.0-next.2 → 3.0.0-next.6

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.
Files changed (37) hide show
  1. package/dist/cjs/DSModalSlide.js +152 -0
  2. package/dist/cjs/DSModalSlide.js.map +7 -0
  3. package/dist/cjs/components/Footer.js +93 -0
  4. package/dist/cjs/components/Footer.js.map +7 -0
  5. package/dist/cjs/components/Header.js +78 -0
  6. package/dist/cjs/components/Header.js.map +7 -0
  7. package/dist/cjs/components/blocks.js +65 -0
  8. package/dist/cjs/components/blocks.js.map +7 -0
  9. package/dist/cjs/index.js +40 -0
  10. package/dist/cjs/index.js.map +7 -0
  11. package/dist/esm/DSModalSlide.js +123 -0
  12. package/dist/esm/DSModalSlide.js.map +7 -0
  13. package/dist/esm/components/Footer.js +66 -0
  14. package/dist/esm/components/Footer.js.map +7 -0
  15. package/dist/esm/components/Header.js +49 -0
  16. package/dist/esm/components/Header.js.map +7 -0
  17. package/dist/esm/components/blocks.js +36 -0
  18. package/dist/esm/components/blocks.js.map +7 -0
  19. package/dist/esm/index.js +11 -0
  20. package/dist/esm/index.js.map +7 -0
  21. package/package.json +38 -29
  22. package/cjs/DSModalSlide.js +0 -176
  23. package/cjs/components/Footer.js +0 -101
  24. package/cjs/components/Header.js +0 -69
  25. package/cjs/components/blocks.js +0 -54
  26. package/cjs/index.js +0 -17
  27. package/esm/DSModalSlide.js +0 -161
  28. package/esm/components/Footer.js +0 -90
  29. package/esm/components/Header.js +0 -57
  30. package/esm/components/blocks.js +0 -41
  31. package/esm/index.js +0 -3
  32. package/types/DSModalSlide.d.ts +0 -105
  33. package/types/components/Footer.d.ts +0 -90
  34. package/types/components/Header.d.ts +0 -43
  35. package/types/components/blocks.d.ts +0 -11
  36. package/types/index.d.ts +0 -4
  37. package/types/tests/DSModalSlide.test.d.ts +0 -1
@@ -0,0 +1,152 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var DSModalSlide_exports = {};
29
+ __export(DSModalSlide_exports, {
30
+ DSModalSlide: () => DSModalSlide,
31
+ DSModalSlideWithSchema: () => DSModalSlideWithSchema,
32
+ ModalFooter: () => import_Footer.default,
33
+ ModalHeader: () => import_Header.default,
34
+ default: () => DSModalSlide_default
35
+ });
36
+ var React = __toESM(require("react"));
37
+ var import_react = __toESM(require("react"));
38
+ var import_react_desc = require("react-desc");
39
+ var import_react_dom = __toESM(require("react-dom"));
40
+ var import_ds_system = require("@elliemae/ds-system");
41
+ var import_ds_grid = require("@elliemae/ds-grid");
42
+ var import_ds_separator = __toESM(require("@elliemae/ds-separator"));
43
+ var import_blocks = require("./components/blocks");
44
+ var import_Header = __toESM(require("./components/Header"));
45
+ var import_Footer = __toESM(require("./components/Footer"));
46
+ const DSModalSlide = ({
47
+ isOpen = false,
48
+ children,
49
+ getContainer,
50
+ centered = false,
51
+ fullWidth = false,
52
+ header = null,
53
+ footer = null,
54
+ fadeOut = 1500,
55
+ fadeIn = 1500,
56
+ overrideHeight = false
57
+ }) => {
58
+ const [isMoving, setMoving] = (0, import_react.useState)(false);
59
+ const [show, setShow] = (0, import_react.useState)(isOpen);
60
+ const [width, setWidth] = (0, import_react.useState)(50);
61
+ const theme = (0, import_ds_system.useTheme)();
62
+ const contentRows = [...header ? [theme.space.m] : [], "0px", "auto", "0px", ...footer ? [theme.space.m] : []];
63
+ const updateShow = (0, import_react.useCallback)(() => {
64
+ if (fullWidth)
65
+ setWidth(100);
66
+ else
67
+ setWidth(50);
68
+ if (isOpen !== show) {
69
+ setMoving(true);
70
+ if (isOpen) {
71
+ setShow(isOpen);
72
+ }
73
+ }
74
+ }, [isOpen, fullWidth, isMoving]);
75
+ (0, import_react.useEffect)(updateShow, [isOpen, fullWidth]);
76
+ if (!show)
77
+ return null;
78
+ const container = getContainer();
79
+ if (!container)
80
+ return null;
81
+ const handleAnimationEnd = () => {
82
+ setMoving(false);
83
+ if (!isOpen)
84
+ setShow(isOpen);
85
+ };
86
+ let { height } = container.getBoundingClientRect();
87
+ if (overrideHeight && container.scrollHeight > height) {
88
+ height = container.scrollHeight;
89
+ }
90
+ if (!container.style.position) {
91
+ container.style.position = "relative";
92
+ }
93
+ return import_react_dom.default.createPortal(/* @__PURE__ */ import_react.default.createElement(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
+ }, /* @__PURE__ */ import_react.default.createElement(import_blocks.Overlay, {
105
+ classProps: {
106
+ show: isOpen
107
+ }
108
+ }, /* @__PURE__ */ import_react.default.createElement(import_blocks.Content, {
109
+ onAnimationEnd: handleAnimationEnd,
110
+ classProps: {
111
+ show: isOpen
112
+ }
113
+ }, /* @__PURE__ */ import_react.default.createElement(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
+ }, header && import_react.default.cloneElement(header, { fullWidth }), header && /* @__PURE__ */ import_react.default.createElement(import_ds_separator.default, {
126
+ position: "initial",
127
+ type: "non-form"
128
+ }), /* @__PURE__ */ import_react.default.createElement(import_ds_grid.Grid, {
129
+ style: { overflow: "hidden" }
130
+ }, /* @__PURE__ */ import_react.default.createElement(import_ds_grid.Grid, {
131
+ style: { overflow: "auto" }
132
+ }, /* @__PURE__ */ import_react.default.createElement(import_blocks.ActualContent, null, children))), footer && /* @__PURE__ */ import_react.default.createElement(import_ds_separator.default, {
133
+ position: "initial",
134
+ type: "non-form"
135
+ }), footer)))), container);
136
+ };
137
+ const props = {
138
+ centered: import_react_desc.PropTypes.bool.description("If the modal slide is centered or not"),
139
+ isOpen: import_react_desc.PropTypes.bool.description("If the modal slide is visible or not"),
140
+ children: import_react_desc.PropTypes.oneOfType([import_react_desc.PropTypes.element, import_react_desc.PropTypes.string, import_react_desc.PropTypes.any]).isRequired.description("Main content of the modal"),
141
+ fullWidth: import_react_desc.PropTypes.bool.description("If the modal slide takes the full width or not"),
142
+ header: import_react_desc.PropTypes.element.description("If the modal slide has a header, only available for full width option"),
143
+ fadeOut: import_react_desc.PropTypes.number.description("Ratio of fade out"),
144
+ fadeIn: import_react_desc.PropTypes.number.description("Ratio of fade in"),
145
+ overrideHeight: import_react_desc.PropTypes.bool.description("Override the panel height to scroll height of the container")
146
+ };
147
+ DSModalSlide.propTypes = props;
148
+ const DSModalSlideWithSchema = (0, import_react_desc.describe)(DSModalSlide);
149
+ DSModalSlideWithSchema.propTypes = props;
150
+ var DSModalSlide_default = DSModalSlide;
151
+ module.exports = __toCommonJS(DSModalSlide_exports);
152
+ //# sourceMappingURL=DSModalSlide.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/DSModalSlide.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useState, useEffect, useCallback } from 'react';\nimport { PropTypes, describe } from 'react-desc';\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 ? [theme.space.m] : []), '0px', 'auto', '0px', ...(footer ? [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;\n\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": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,93 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
22
+ var __export = (target, all) => {
23
+ for (var name in all)
24
+ __defProp(target, name, { get: all[name], enumerable: true });
25
+ };
26
+ var __reExport = (target, module2, copyDefault, desc) => {
27
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
28
+ for (let key of __getOwnPropNames(module2))
29
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
30
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
31
+ }
32
+ return target;
33
+ };
34
+ var __toESM = (module2, isNodeMode) => {
35
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
36
+ };
37
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
38
+ return (module2, temp) => {
39
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
40
+ };
41
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
42
+ var Footer_exports = {};
43
+ __export(Footer_exports, {
44
+ DSModalSlideFooterWithSchema: () => DSModalSlideFooterWithSchema,
45
+ default: () => Footer_default
46
+ });
47
+ var React = __toESM(require("react"));
48
+ var import_react = __toESM(require("react"));
49
+ var import_react_desc = require("react-desc");
50
+ var import_ds_button = __toESM(require("@elliemae/ds-button"));
51
+ var import_blocks = require("./blocks");
52
+ const ModalFooter = ({
53
+ confirmLabel = "Confirm",
54
+ rejectLabel = "Cancel",
55
+ onConfirm,
56
+ onReject,
57
+ confirmProps = {
58
+ disabled: false
59
+ },
60
+ rejectProps = {
61
+ disabled: false
62
+ }
63
+ }) => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_blocks.FooterWrapper, null, !!onReject && /* @__PURE__ */ import_react.default.createElement(import_ds_button.default, __spreadValues({
64
+ buttonType: "secondary",
65
+ className: "action-reject",
66
+ containerProps: { "data-testid": "modal-footer-reject-btn" },
67
+ labelText: rejectLabel,
68
+ onClick: onReject
69
+ }, rejectProps)), !!onConfirm && /* @__PURE__ */ import_react.default.createElement(import_ds_button.default, __spreadValues({
70
+ buttonType: "primary",
71
+ className: "action-confirm",
72
+ containerProps: { "data-testid": "modal-footer-confirm-btn" },
73
+ labelText: confirmLabel,
74
+ onClick: onConfirm
75
+ }, confirmProps))));
76
+ const props = {
77
+ confirmLabel: import_react_desc.PropTypes.string.description("Confirm Label"),
78
+ rejectLabel: import_react_desc.PropTypes.string.description("Reject Label"),
79
+ onConfirm: import_react_desc.PropTypes.func.description("Callback"),
80
+ onReject: import_react_desc.PropTypes.func.description("Callback"),
81
+ confirmProps: import_react_desc.PropTypes.shape({
82
+ disabled: import_react_desc.PropTypes.bool
83
+ }).description("Extra DSButton props for confirm btn."),
84
+ rejectProps: import_react_desc.PropTypes.shape({
85
+ disabled: import_react_desc.PropTypes.bool
86
+ }).description("Extra DSButton props for reject btn.")
87
+ };
88
+ ModalFooter.propTypes = props;
89
+ const DSModalSlideFooterWithSchema = (0, import_react_desc.describe)(ModalFooter);
90
+ DSModalSlideFooterWithSchema.propTypes = props;
91
+ var Footer_default = ModalFooter;
92
+ module.exports = __toCommonJS(Footer_exports);
93
+ //# sourceMappingURL=Footer.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/Footer.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React from 'react';\nimport { PropTypes, describe } from 'react-desc';\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;\n\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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAClB,wBAAoC;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;AAAA,EAEZ,cAAc;AAAA,IACZ,UAAU;AAAA;AAAA,MAGZ,wFACE,mDAAC,6BAAD,MACG,CAAC,CAAC,YACD,mDAAC,0BAAD;AAAA,EACE,YAAW;AAAA,EACX,WAAU;AAAA,EACV,gBAAgB,EAAE,eAAe;AAAA,EACjC,WAAW;AAAA,EACX,SAAS;AAAA,GACL,eAGP,CAAC,CAAC,aACD,mDAAC,0BAAD;AAAA,EACE,YAAW;AAAA,EACX,WAAU;AAAA,EACV,gBAAgB,EAAE,eAAe;AAAA,EACjC,WAAW;AAAA,EACX,SAAS;AAAA,GACL;AAOd,MAAM,QAAQ;AAAA,EAIZ,cAAc,4BAAU,OAAO,YAAY;AAAA,EAI3C,aAAa,4BAAU,OAAO,YAAY;AAAA,EAI1C,WAAW,4BAAU,KAAK,YAAY;AAAA,EAItC,UAAU,4BAAU,KAAK,YAAY;AAAA,EAIrC,cAAc,4BAAU,MAAM;AAAA,IAC5B,UAAU,4BAAU;AAAA,KACnB,YAAY;AAAA,EAIf,aAAa,4BAAU,MAAM;AAAA,IAC3B,UAAU,4BAAU;AAAA,KACnB,YAAY;AAAA;AAGjB,YAAY,YAAY;AAExB,MAAM,+BAA+B,gCAAS;AAC9C,6BAA6B,YAAY;AAIzC,IAAO,iBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,78 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var Header_exports = {};
29
+ __export(Header_exports, {
30
+ DSModalSlideHeaderWithSchema: () => DSModalSlideHeaderWithSchema,
31
+ default: () => Header_default
32
+ });
33
+ var React = __toESM(require("react"));
34
+ var import_react = __toESM(require("react"));
35
+ var import_react_desc = require("react-desc");
36
+ var import_styled_components = __toESM(require("styled-components"));
37
+ var import_ds_separator = __toESM(require("@elliemae/ds-separator"));
38
+ var import_ds_icons = require("@elliemae/ds-icons");
39
+ var import_ds_button = __toESM(require("@elliemae/ds-button"));
40
+ var import_blocks = require("./blocks");
41
+ const ModalHeader = ({ title: headerTitle = "", onClose = () => null, toolbar = null }) => /* @__PURE__ */ import_react.default.createElement(HeaderWrapper, null, /* @__PURE__ */ import_react.default.createElement(import_blocks.HeaderLeftSide, null, /* @__PURE__ */ import_react.default.createElement(import_blocks.Header, null, /* @__PURE__ */ import_react.default.createElement(import_blocks.Title, null, headerTitle))), toolbar, toolbar && /* @__PURE__ */ import_react.default.createElement(StyledSeparator, {
42
+ position: "initial",
43
+ margin: "none",
44
+ orientation: "vertical",
45
+ type: "non-form"
46
+ }), /* @__PURE__ */ import_react.default.createElement(StyledCloseButton, {
47
+ "data-testid": "modal-slider-header-close",
48
+ "aria-label": "Close modal slide",
49
+ buttonType: "text",
50
+ icon: /* @__PURE__ */ import_react.default.createElement(import_ds_icons.Close, {
51
+ "aria-label": "Close modal slide",
52
+ size: "s"
53
+ }),
54
+ onClick: onClose
55
+ }));
56
+ const HeaderWrapper = import_styled_components.default.div`
57
+ display: flex;
58
+ justify-content: space-between;
59
+ width: 100%;
60
+ align-items: center;
61
+ `;
62
+ const StyledSeparator = (0, import_styled_components.default)(import_ds_separator.default)`
63
+ padding: ${(props2) => props2.theme.space.xs} 0;
64
+ `;
65
+ const StyledCloseButton = (0, import_styled_components.default)(import_ds_button.default)`
66
+ margin: ${(props2) => props2.theme.space.xs};
67
+ `;
68
+ const props = {
69
+ onClose: import_react_desc.PropTypes.func.description("on modal close callback"),
70
+ toolbar: import_react_desc.PropTypes.node.description("modal toolbar comoponent"),
71
+ title: import_react_desc.PropTypes.string.description("modal title")
72
+ };
73
+ ModalHeader.propTypes = props;
74
+ const DSModalSlideHeaderWithSchema = (0, import_react_desc.describe)(ModalHeader);
75
+ DSModalSlideHeaderWithSchema.propTypes = props;
76
+ var Header_default = ModalHeader;
77
+ module.exports = __toCommonJS(Header_exports);
78
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/Header.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React from 'react';\nimport { PropTypes, describe } from 'react-desc';\nimport styled from 'styled-components';\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`;\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;\n\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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAClB,wBAAoC;AACpC,+BAAmB;AACnB,0BAAwB;AACxB,sBAAsB;AACtB,uBAAqB;AACrB,oBAA8C;AAE9C,MAAM,cAAc,CAAC,EAAE,OAAO,cAAc,IAAI,UAAU,MAAM,MAAM,UAAU,WAC9E,mDAAC,eAAD,MACE,mDAAC,8BAAD,MACE,mDAAC,sBAAD,MACE,mDAAC,qBAAD,MAAQ,gBAGX,SACA,WAAW,mDAAC,iBAAD;AAAA,EAAiB,UAAS;AAAA,EAAU,QAAO;AAAA,EAAO,aAAY;AAAA,EAAW,MAAK;AAAA,IAC1F,mDAAC,mBAAD;AAAA,EACE,eAAY;AAAA,EACZ,cAAW;AAAA,EACX,YAAW;AAAA,EACX,MAAM,mDAAC,uBAAD;AAAA,IAAO,cAAW;AAAA,IAAoB,MAAK;AAAA;AAAA,EACjD,SAAS;AAAA;AAKf,MAAM,gBAAgB,iCAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAO7B,MAAM,kBAAkB,sCAAO;AAAA,aAClB,CAAC,WAAU,OAAM,MAAM,MAAM;AAAA;AAG1C,MAAM,oBAAoB,sCAAO;AAAA,YACrB,CAAC,WAAU,OAAM,MAAM,MAAM;AAAA;AAGzC,MAAM,QAAQ;AAAA,EAEZ,SAAS,4BAAU,KAAK,YAAY;AAAA,EAEpC,SAAS,4BAAU,KAAK,YAAY;AAAA,EAEpC,OAAO,4BAAU,OAAO,YAAY;AAAA;AAGtC,YAAY,YAAY;AAExB,MAAM,+BAA+B,gCAAS;AAC9C,6BAA6B,YAAY;AAIzC,IAAO,iBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,65 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var blocks_exports = {};
29
+ __export(blocks_exports, {
30
+ ActualContent: () => ActualContent,
31
+ BreadcrumTitle: () => BreadcrumTitle,
32
+ Content: () => Content,
33
+ Footer: () => Footer,
34
+ FooterWrapper: () => FooterWrapper,
35
+ Header: () => Header,
36
+ HeaderLeftSide: () => HeaderLeftSide,
37
+ Overlay: () => Overlay,
38
+ Title: () => Title,
39
+ Wrapper: () => Wrapper
40
+ });
41
+ var React = __toESM(require("react"));
42
+ var import_ds_classnames = require("@elliemae/ds-classnames");
43
+ const blockName = "modal-slide";
44
+ const Wrapper = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "wrapper", ({ show, centered }) => ({
45
+ showing: show,
46
+ disappearing: !show,
47
+ centered
48
+ }));
49
+ const Overlay = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "overlay", ({ show }) => ({
50
+ showing: show,
51
+ disappearing: !show
52
+ }));
53
+ const Content = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "content", ({ show }) => ({
54
+ showing: show,
55
+ disappearing: !show
56
+ }));
57
+ const Title = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "title", () => ({}));
58
+ const BreadcrumTitle = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "breadcrum-title", () => ({}));
59
+ const HeaderLeftSide = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "header-left-side", () => ({}));
60
+ const ActualContent = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "actual-content", () => ({}));
61
+ const Header = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "header", () => ({}));
62
+ const Footer = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "footer", () => ({}));
63
+ const FooterWrapper = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "footer-wrapper", () => ({}));
64
+ module.exports = __toCommonJS(blocks_exports);
65
+ //# sourceMappingURL=blocks.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/blocks.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,2BAAkC;AAElC,MAAM,YAAY;AAEX,MAAM,UAAU,4CAAkB,OACvC,WACA,WACA,CAAC,EAAE,MAAM,eAAgB;AAAA,EACvB,SAAS;AAAA,EACT,cAAc,CAAC;AAAA,EACf;AAAA;AAIG,MAAM,UAAU,4CAAkB,OACvC,WACA,WACA,CAAC,EAAE,WAAY;AAAA,EACb,SAAS;AAAA,EACT,cAAc,CAAC;AAAA;AAIZ,MAAM,UAAU,4CAAkB,OACvC,WACA,WACA,CAAC,EAAE,WAAY;AAAA,EACb,SAAS;AAAA,EACT,cAAc,CAAC;AAAA;AAIZ,MAAM,QAAQ,4CAAkB,OAAO,WAAW,SAAS,MAAO;AAElE,MAAM,iBAAiB,4CAAkB,OAC9C,WACA,mBACA,MAAO;AAGF,MAAM,iBAAiB,4CAAkB,OAC9C,WACA,oBACA,MAAO;AAGF,MAAM,gBAAgB,4CAAkB,OAC7C,WACA,kBACA,MAAO;AAEF,MAAM,SAAS,4CAAkB,OAAO,WAAW,UAAU,MAAO;AACpE,MAAM,SAAS,4CAAkB,OAAO,WAAW,UAAU,MAAO;AAEpE,MAAM,gBAAgB,4CAAkB,OAC7C,WACA,kBACA,MAAO;",
6
+ "names": []
7
+ }
@@ -0,0 +1,40 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var src_exports = {};
29
+ __export(src_exports, {
30
+ DSModalSlideFooterWithSchema: () => import_Footer.DSModalSlideFooterWithSchema,
31
+ DSModalSlideHeaderWithSchema: () => import_Header.DSModalSlideHeaderWithSchema,
32
+ default: () => import_DSModalSlide.default
33
+ });
34
+ var React = __toESM(require("react"));
35
+ __reExport(src_exports, require("./DSModalSlide"));
36
+ var import_DSModalSlide = __toESM(require("./DSModalSlide"));
37
+ var import_Header = require("./components/Header");
38
+ var import_Footer = require("./components/Footer");
39
+ module.exports = __toCommonJS(src_exports);
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAc;AACd,0BAAwB;AACxB,oBAA6C;AAC7C,oBAA6C;",
6
+ "names": []
7
+ }
@@ -0,0 +1,123 @@
1
+ import * as React from "react";
2
+ import React2, { useState, useEffect, useCallback } from "react";
3
+ import { PropTypes, describe } from "react-desc";
4
+ import ReactDOM from "react-dom";
5
+ import { useTheme } from "@elliemae/ds-system";
6
+ import { Grid } from "@elliemae/ds-grid";
7
+ import DSSeparator from "@elliemae/ds-separator";
8
+ import { Wrapper, Overlay, Content, ActualContent } from "./components/blocks";
9
+ import ModalHeader from "./components/Header";
10
+ import ModalFooter from "./components/Footer";
11
+ const DSModalSlide = ({
12
+ isOpen = false,
13
+ children,
14
+ getContainer,
15
+ centered = false,
16
+ fullWidth = false,
17
+ header = null,
18
+ footer = null,
19
+ fadeOut = 1500,
20
+ fadeIn = 1500,
21
+ overrideHeight = false
22
+ }) => {
23
+ const [isMoving, setMoving] = useState(false);
24
+ const [show, setShow] = useState(isOpen);
25
+ const [width, setWidth] = useState(50);
26
+ const theme = useTheme();
27
+ const contentRows = [...header ? [theme.space.m] : [], "0px", "auto", "0px", ...footer ? [theme.space.m] : []];
28
+ const updateShow = useCallback(() => {
29
+ if (fullWidth)
30
+ setWidth(100);
31
+ else
32
+ setWidth(50);
33
+ if (isOpen !== show) {
34
+ setMoving(true);
35
+ if (isOpen) {
36
+ setShow(isOpen);
37
+ }
38
+ }
39
+ }, [isOpen, fullWidth, isMoving]);
40
+ useEffect(updateShow, [isOpen, fullWidth]);
41
+ if (!show)
42
+ return null;
43
+ const container = getContainer();
44
+ if (!container)
45
+ return null;
46
+ const handleAnimationEnd = () => {
47
+ setMoving(false);
48
+ if (!isOpen)
49
+ setShow(isOpen);
50
+ };
51
+ let { height } = container.getBoundingClientRect();
52
+ if (overrideHeight && container.scrollHeight > height) {
53
+ height = container.scrollHeight;
54
+ }
55
+ if (!container.style.position) {
56
+ container.style.position = "relative";
57
+ }
58
+ return ReactDOM.createPortal(/* @__PURE__ */ React2.createElement(Wrapper, {
59
+ classProps: {
60
+ show: isOpen,
61
+ centered
62
+ },
63
+ style: {
64
+ "--height": height,
65
+ "--fade-in": fadeIn,
66
+ "--fade-out": fadeOut,
67
+ "--width": width
68
+ }
69
+ }, /* @__PURE__ */ React2.createElement(Overlay, {
70
+ classProps: {
71
+ show: isOpen
72
+ }
73
+ }, /* @__PURE__ */ React2.createElement(Content, {
74
+ onAnimationEnd: handleAnimationEnd,
75
+ classProps: {
76
+ show: isOpen
77
+ }
78
+ }, /* @__PURE__ */ React2.createElement(Grid, {
79
+ style: {
80
+ height: "100%",
81
+ width: "100%",
82
+ maxHeight: "100%",
83
+ overflow: "hidden",
84
+ "-webkit-backface-visibility": "hidden",
85
+ "backface-visibility": "hidden",
86
+ "-webkit-transform-style": "preserve-3d"
87
+ },
88
+ rows: contentRows,
89
+ "data-testid": "ds-modal-slide"
90
+ }, header && React2.cloneElement(header, { fullWidth }), header && /* @__PURE__ */ React2.createElement(DSSeparator, {
91
+ position: "initial",
92
+ type: "non-form"
93
+ }), /* @__PURE__ */ React2.createElement(Grid, {
94
+ style: { overflow: "hidden" }
95
+ }, /* @__PURE__ */ React2.createElement(Grid, {
96
+ style: { overflow: "auto" }
97
+ }, /* @__PURE__ */ React2.createElement(ActualContent, null, children))), footer && /* @__PURE__ */ React2.createElement(DSSeparator, {
98
+ position: "initial",
99
+ type: "non-form"
100
+ }), footer)))), container);
101
+ };
102
+ const props = {
103
+ centered: PropTypes.bool.description("If the modal slide is centered or not"),
104
+ isOpen: PropTypes.bool.description("If the modal slide is visible or not"),
105
+ children: PropTypes.oneOfType([PropTypes.element, PropTypes.string, PropTypes.any]).isRequired.description("Main content of the modal"),
106
+ fullWidth: PropTypes.bool.description("If the modal slide takes the full width or not"),
107
+ header: PropTypes.element.description("If the modal slide has a header, only available for full width option"),
108
+ fadeOut: PropTypes.number.description("Ratio of fade out"),
109
+ fadeIn: PropTypes.number.description("Ratio of fade in"),
110
+ overrideHeight: PropTypes.bool.description("Override the panel height to scroll height of the container")
111
+ };
112
+ DSModalSlide.propTypes = props;
113
+ const DSModalSlideWithSchema = describe(DSModalSlide);
114
+ DSModalSlideWithSchema.propTypes = props;
115
+ var DSModalSlide_default = DSModalSlide;
116
+ export {
117
+ DSModalSlide,
118
+ DSModalSlideWithSchema,
119
+ ModalFooter,
120
+ ModalHeader,
121
+ DSModalSlide_default as default
122
+ };
123
+ //# sourceMappingURL=DSModalSlide.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSModalSlide.tsx"],
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 'react-desc';\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 ? [theme.space.m] : []), '0px', 'auto', '0px', ...(footer ? [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;\n\nconst DSModalSlideWithSchema = describe(DSModalSlide);\nDSModalSlideWithSchema.propTypes = props;\n\nexport { ModalHeader, ModalFooter, DSModalSlide, DSModalSlideWithSchema };\n\nexport default DSModalSlide;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }