@elliemae/ds-modal-slide 3.60.0-next.2 → 3.60.0-next.21
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 +6 -3
- package/dist/cjs/DSModalSlide.js.map +3 -3
- package/dist/cjs/DSModalSlideDefinitions.js +3 -1
- package/dist/cjs/DSModalSlideDefinitions.js.map +2 -2
- package/dist/cjs/components/Footer.js +7 -3
- package/dist/cjs/components/Footer.js.map +2 -2
- package/dist/cjs/components/Header.js +2 -2
- package/dist/cjs/components/Header.js.map +2 -2
- package/dist/cjs/react-desc-prop-types.js +6 -2
- package/dist/cjs/react-desc-prop-types.js.map +2 -2
- package/dist/cjs/styled.js +24 -10
- package/dist/cjs/styled.js.map +2 -2
- package/dist/esm/DSModalSlide.js +7 -4
- package/dist/esm/DSModalSlide.js.map +2 -2
- package/dist/esm/DSModalSlideDefinitions.js +3 -1
- package/dist/esm/DSModalSlideDefinitions.js.map +2 -2
- package/dist/esm/components/Footer.js +9 -5
- package/dist/esm/components/Footer.js.map +2 -2
- package/dist/esm/components/Header.js +2 -2
- package/dist/esm/components/Header.js.map +2 -2
- package/dist/esm/react-desc-prop-types.js +6 -2
- package/dist/esm/react-desc-prop-types.js.map +2 -2
- package/dist/esm/styled.js +24 -10
- package/dist/esm/styled.js.map +2 -2
- package/dist/types/DSModalSlideDefinitions.d.ts +4 -0
- package/dist/types/react-desc-prop-types.d.ts +3 -0
- package/dist/types/styled.d.ts +3 -1
- package/package.json +25 -28
package/dist/cjs/DSModalSlide.js
CHANGED
|
@@ -40,6 +40,7 @@ var import_jsx_runtime = require("react/jsx-runtime");
|
|
|
40
40
|
var import_react = __toESM(require("react"));
|
|
41
41
|
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
42
42
|
var import_lodash_es = require("lodash-es");
|
|
43
|
+
var import_uid = require("uid");
|
|
43
44
|
var import_react_dom = __toESM(require("react-dom"));
|
|
44
45
|
var import_ds_system = require("@elliemae/ds-system");
|
|
45
46
|
var import_ds_grid = require("@elliemae/ds-grid");
|
|
@@ -74,8 +75,8 @@ const DSModalSlide = (props) => {
|
|
|
74
75
|
const [show, setShow] = (0, import_react.useState)(isOpen);
|
|
75
76
|
const [width, setWidth] = (0, import_react.useState)(50);
|
|
76
77
|
const [height, setHeight] = (0, import_react.useState)("100%");
|
|
77
|
-
const
|
|
78
|
-
const
|
|
78
|
+
const contentRows = [...header ? ["auto", "1px"] : [], "1fr", ...footer ? ["1px", "auto"] : []];
|
|
79
|
+
const modalTitleId = import_react.default.useMemo(() => `ds-modal-slide-title-${(0, import_uid.uid)(5)}`, []);
|
|
79
80
|
const handleOnKeyDown = (0, import_react.useCallback)(
|
|
80
81
|
(e) => {
|
|
81
82
|
if (e.key === "Escape") onClose();
|
|
@@ -149,10 +150,12 @@ const DSModalSlide = (props) => {
|
|
|
149
150
|
fadeIn,
|
|
150
151
|
fadeOut,
|
|
151
152
|
disappearing: !isOpen,
|
|
153
|
+
role: "dialog",
|
|
154
|
+
"aria-labelledby": modalTitleId,
|
|
152
155
|
getOwnerProps,
|
|
153
156
|
getOwnerPropsArguments,
|
|
154
157
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledGridContent, { rows: contentRows, "data-testid": "ds-modal-slide", children: [
|
|
155
|
-
header && import_react.default.cloneElement(header, { fullWidth }),
|
|
158
|
+
header && import_react.default.cloneElement(header, { fullWidth, modalTitleId }),
|
|
156
159
|
header && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_separator.DSSeparator, { position: "initial", type: "non-form" }),
|
|
157
160
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, { style: { overflow: "hidden" }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
158
161
|
import_styled.StyledContentWrapper,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/DSModalSlide.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-statements */\nimport React, { useState, useEffect, useCallback, useMemo } from 'react';\nimport {\n describe,\n useGetGlobalAttributes,\n useMemoMergePropsWithDefault,\n useOwnerProps,\n} from '@elliemae/ds-props-helpers';\nimport { debounce } from 'lodash-es';\nimport ReactDOM from 'react-dom';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA,mCAAAA;AAAA,EAAA,iCAAAC;AAAA,EAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
6
|
-
"names": ["ModalFooter", "ModalHeader", "
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-statements */\nimport React, { useState, useEffect, useCallback, useMemo } from 'react';\nimport {\n describe,\n useGetGlobalAttributes,\n useMemoMergePropsWithDefault,\n useOwnerProps,\n} from '@elliemae/ds-props-helpers';\nimport { debounce } from 'lodash-es';\nimport { uid } from 'uid';\nimport ReactDOM from 'react-dom';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSSeparator } from '@elliemae/ds-separator';\nimport ModalHeader from './components/Header.js';\nimport ModalFooter from './components/Footer.js';\nimport { defaultProps, DSModalSlidePropTypesSchema, type DSModalSlideT } from './react-desc-prop-types.js';\nimport {\n StyledActualContent,\n StyledContent,\n StyledModalWrapper,\n StyledOverlay,\n StyledContentWrapper,\n StyledGridContent,\n} from './styled.js';\nimport { DSModalSlideName } from './DSModalSlideDefinitions.js';\n\n// js engine and css engine can't be guaranteed to be in sync due to how they run on different threads in the browsers\n// this means that in some edge-cases react may have \"out-dated\" information like \"isMoving\" in this case\n// this can cause some animation frame to have the animation \"after\" end but before react has updated the state\n// if the css animation is not configured to stay in the end state,\n// in those edge-cases,\n// the animation will \"jump\" back to the start and cause a flicker\n// this is the fix for that, it's an hack because the component is still css classname based\n// when we re-do the modal slide, we should integrate this as the styled component css itself instead of this extra wrapper\nconst ModalSlideAnimationFix = styled.div`\n .em-ds-modal-slide__overlay--disappearing,\n .em-ds-modal-slide__content--disappearing {\n animation-fill-mode: forwards;\n }\n`;\nconst DSModalSlide: React.FC<DSModalSlideT.Props> = (props) => {\n const propsWithDefault = useMemoMergePropsWithDefault<DSModalSlideT.InternalProps>(props, defaultProps);\n const {\n isOpen,\n children,\n getContainer,\n fullWidth,\n header,\n footer,\n fadeOut,\n fadeIn,\n overrideHeight,\n innerRef,\n onClose,\n } = propsWithDefault;\n const [, setMoving] = useState(false);\n const [show, setShow] = useState(isOpen);\n const [width, setWidth] = useState(50);\n const [height, setHeight] = useState<string | number>('100%');\n const contentRows = [...(header ? ['auto', '1px'] : []), '1fr', ...(footer ? ['1px', 'auto'] : [])];\n const modalTitleId = React.useMemo(() => `ds-modal-slide-title-${uid(5)}`, []);\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n },\n [onClose],\n );\n\n const globalAttrs = useGetGlobalAttributes(props, { onKeyDown: handleOnKeyDown });\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 }, [fullWidth, isOpen, show]);\n const { getOwnerProps, getOwnerPropsArguments } = useOwnerProps(propsWithDefault);\n\n useEffect(updateShow, [updateShow]);\n\n const container = getContainer();\n\n const handleHeight = useCallback(() => {\n const newHeight =\n overrideHeight && container.scrollHeight > container.getBoundingClientRect().height\n ? container.scrollHeight\n : container.getBoundingClientRect().height;\n setHeight(newHeight);\n }, [container, overrideHeight]);\n\n const onChangeParent = useMemo(() => debounce(handleHeight, 300, { leading: true }), [handleHeight]);\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver(() => onChangeParent());\n if (container) {\n resizeObserver.observe(container);\n if (!container.style.position) {\n container.style.position = 'relative';\n }\n onChangeParent();\n }\n return () => {\n if (container) resizeObserver.unobserve(container);\n };\n }, [container, onChangeParent]);\n\n if (!show) return null;\n if (!container) return null;\n\n const handleAnimationEnd = () => {\n setMoving(false);\n if (!isOpen) setShow(isOpen);\n };\n\n return ReactDOM.createPortal(\n <ModalSlideAnimationFix>\n <StyledModalWrapper\n className=\"em-ds-modal-slide__wrapper\"\n {...globalAttrs}\n height={height}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledOverlay\n className={`em-ds-modal-slide__overlay ${\n !isOpen ? 'em-ds-modal-slide__overlay--disappearing' : 'em-ds-modal-slide__overlay--showing'\n }`}\n fadeIn={fadeIn}\n fadeOut={fadeOut}\n showing={isOpen}\n disappearing={!isOpen}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledContent\n className={`em-ds-modal-slide__content ${\n !isOpen ? 'em-ds-modal-slide__content--disappearing' : 'em-ds-modal-slide__content--showing'\n }`}\n onAnimationEnd={handleAnimationEnd}\n width={width}\n height={height}\n fadeIn={fadeIn}\n fadeOut={fadeOut}\n disappearing={!isOpen}\n role=\"dialog\"\n aria-labelledby={modalTitleId}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledGridContent rows={contentRows} data-testid=\"ds-modal-slide\">\n {header && React.cloneElement(header, { fullWidth, modalTitleId })}\n {header && <DSSeparator position=\"initial\" type=\"non-form\" />}\n <Grid style={{ overflow: 'hidden' }}>\n <StyledContentWrapper\n innerRef={innerRef}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledActualContent\n className=\"em-ds-modal-slide__actual-content\"\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {children}\n </StyledActualContent>\n </StyledContentWrapper>\n </Grid>\n {footer && <DSSeparator position=\"initial\" type=\"non-form\" />}\n {footer}\n </StyledGridContent>\n </StyledContent>\n </StyledOverlay>\n </StyledModalWrapper>\n </ModalSlideAnimationFix>,\n container,\n );\n};\n\nDSModalSlide.displayName = DSModalSlideName;\nconst DSModalSlideWithSchema = describe(DSModalSlide);\nDSModalSlideWithSchema.propTypes = DSModalSlidePropTypesSchema;\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": ["ModalFooter", "ModalHeader", "React", "ReactDOM"]
|
|
7
7
|
}
|
|
@@ -49,7 +49,9 @@ const DSModalSlideSlots = {
|
|
|
49
49
|
HEADER_WRAPPER: "header-wrapper",
|
|
50
50
|
SEPARATOR: "separator",
|
|
51
51
|
CLOSE_BUTTON: "close-button",
|
|
52
|
-
CONTENT_WRAPPER: "content-wrapper"
|
|
52
|
+
CONTENT_WRAPPER: "content-wrapper",
|
|
53
|
+
REJECT_BUTTON: "reject-button",
|
|
54
|
+
CONFIRM_BUTTON: "confirm-button"
|
|
53
55
|
};
|
|
54
56
|
const DSModalSlideDataTestIds = {
|
|
55
57
|
...(0, import_ds_system.slotObjectToDataTestIds)(DSModalSlideName, DSModalSlideSlots),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/DSModalSlideDefinitions.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSModalSlideName = 'DSModalslide';\n\nexport const DSModalSlideSlots = {\n ROOT: 'root',\n OVERLAY: 'overlay',\n CONTENT: 'content',\n TITLE: 'title',\n HEADER_LEFT_SIDE: 'header-left-side',\n ACTUAL_CONTENT: 'actual-content',\n HEADER: 'header',\n FOOTER: 'footer',\n FOOTER_WRAPPER: 'footer-wrapper',\n HEADER_WRAPPER: 'header-wrapper',\n SEPARATOR: 'separator',\n CLOSE_BUTTON: 'close-button',\n CONTENT_WRAPPER: 'content-wrapper',\n};\n\nexport const DSModalSlideDataTestIds = {\n ...slotObjectToDataTestIds(DSModalSlideName, DSModalSlideSlots),\n CLOSE_BUTTON: 'modal-slider-header-close',\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAwC;AAEjC,MAAM,mBAAmB;AAEzB,MAAM,oBAAoB;AAAA,EAC/B,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EACP,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,cAAc;AAAA,EACd,iBAAiB;
|
|
4
|
+
"sourcesContent": ["import { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSModalSlideName = 'DSModalslide';\n\nexport const DSModalSlideSlots = {\n ROOT: 'root',\n OVERLAY: 'overlay',\n CONTENT: 'content',\n TITLE: 'title',\n HEADER_LEFT_SIDE: 'header-left-side',\n ACTUAL_CONTENT: 'actual-content',\n HEADER: 'header',\n FOOTER: 'footer',\n FOOTER_WRAPPER: 'footer-wrapper',\n HEADER_WRAPPER: 'header-wrapper',\n SEPARATOR: 'separator',\n CLOSE_BUTTON: 'close-button',\n CONTENT_WRAPPER: 'content-wrapper',\n REJECT_BUTTON: 'reject-button',\n CONFIRM_BUTTON: 'confirm-button',\n};\n\nexport const DSModalSlideDataTestIds = {\n ...slotObjectToDataTestIds(DSModalSlideName, DSModalSlideSlots),\n CLOSE_BUTTON: 'modal-slider-header-close',\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAwC;AAEjC,MAAM,mBAAmB;AAEzB,MAAM,oBAAoB;AAAA,EAC/B,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EACP,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,gBAAgB;AAClB;AAEO,MAAM,0BAA0B;AAAA,EACrC,OAAG,0CAAwB,kBAAkB,iBAAiB;AAAA,EAC9D,cAAc;AAChB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -35,15 +35,15 @@ module.exports = __toCommonJS(Footer_exports);
|
|
|
35
35
|
var React = __toESM(require("react"));
|
|
36
36
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
37
37
|
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
38
|
-
var import_ds_button_v2 = require("@elliemae/ds-button-v2");
|
|
39
38
|
var import_react_desc_prop_types = require("../react-desc-prop-types.js");
|
|
40
39
|
var import_styled = require("../styled.js");
|
|
41
40
|
const ModalFooter = (props) => {
|
|
42
41
|
const propsWithDefault = (0, import_ds_props_helpers.useMemoMergePropsWithDefault)(props, import_react_desc_prop_types.footerDefaultProps);
|
|
43
42
|
const { confirmLabel, rejectLabel, onConfirm, onReject, confirmProps, rejectProps } = propsWithDefault;
|
|
43
|
+
const { getOwnerProps, getOwnerPropsArguments } = (0, import_ds_props_helpers.useOwnerProps)(propsWithDefault);
|
|
44
44
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledFooterWrapper, { className: "em-ds-modal-slide__footer-wrapper", children: [
|
|
45
45
|
!!onReject && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
46
|
-
|
|
46
|
+
import_styled.StyledRejectButton,
|
|
47
47
|
{
|
|
48
48
|
buttonType: "outline",
|
|
49
49
|
className: "action-reject",
|
|
@@ -51,11 +51,13 @@ const ModalFooter = (props) => {
|
|
|
51
51
|
onClick: onReject,
|
|
52
52
|
...rejectProps,
|
|
53
53
|
ml: "xs",
|
|
54
|
+
getOwnerProps,
|
|
55
|
+
getOwnerPropsArguments,
|
|
54
56
|
children: rejectLabel
|
|
55
57
|
}
|
|
56
58
|
),
|
|
57
59
|
!!onConfirm && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
58
|
-
|
|
60
|
+
import_styled.StyledConfirmButton,
|
|
59
61
|
{
|
|
60
62
|
buttonType: "filled",
|
|
61
63
|
className: "action-confirm",
|
|
@@ -63,6 +65,8 @@ const ModalFooter = (props) => {
|
|
|
63
65
|
onClick: onConfirm,
|
|
64
66
|
...confirmProps,
|
|
65
67
|
ml: "xs",
|
|
68
|
+
getOwnerProps,
|
|
69
|
+
getOwnerPropsArguments,
|
|
66
70
|
children: confirmLabel
|
|
67
71
|
}
|
|
68
72
|
)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/Footer.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport { describe, useMemoMergePropsWithDefault } from '@elliemae/ds-props-helpers';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADUnB;AATJ,
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { describe, useMemoMergePropsWithDefault, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport { type DSModalSlideT, footerDefaultProps, DSModalSlideFooterPropTypesSchema } from '../react-desc-prop-types.js';\nimport { StyledFooterWrapper, StyledRejectButton, StyledConfirmButton } from '../styled.js';\n\nconst ModalFooter = (props: DSModalSlideT.FooterProps) => {\n const propsWithDefault = useMemoMergePropsWithDefault<DSModalSlideT.FooterInternalProps>(props, footerDefaultProps);\n const { confirmLabel, rejectLabel, onConfirm, onReject, confirmProps, rejectProps } = propsWithDefault;\n const { getOwnerProps, getOwnerPropsArguments } = useOwnerProps(propsWithDefault);\n return (\n <StyledFooterWrapper className=\"em-ds-modal-slide__footer-wrapper\">\n {!!onReject && (\n <StyledRejectButton\n buttonType=\"outline\"\n className=\"action-reject\"\n data-testid=\"modal-footer-reject-btn\"\n onClick={onReject}\n {...rejectProps}\n ml=\"xs\"\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {rejectLabel}\n </StyledRejectButton>\n )}\n {!!onConfirm && (\n <StyledConfirmButton\n buttonType=\"filled\"\n className=\"action-confirm\"\n data-testid=\"modal-footer-confirm-btn\"\n onClick={onConfirm}\n {...confirmProps}\n ml=\"xs\"\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {confirmLabel}\n </StyledConfirmButton>\n )}\n </StyledFooterWrapper>\n );\n};\n\nModalFooter.displayName = 'ModalFooter';\nconst DSModalSlideFooterWithSchema = describe(ModalFooter);\nDSModalSlideFooterWithSchema.propTypes = DSModalSlideFooterPropTypesSchema;\n\nexport { DSModalSlideFooterWithSchema };\n\nexport default ModalFooter;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADUnB;AATJ,8BAAsE;AACtE,mCAA0F;AAC1F,oBAA6E;AAE7E,MAAM,cAAc,CAAC,UAAqC;AACxD,QAAM,uBAAmB,sDAAgE,OAAO,+CAAkB;AAClH,QAAM,EAAE,cAAc,aAAa,WAAW,UAAU,cAAc,YAAY,IAAI;AACtF,QAAM,EAAE,eAAe,uBAAuB,QAAI,uCAAc,gBAAgB;AAChF,SACE,6CAAC,qCAAoB,WAAU,qCAC5B;AAAA,KAAC,CAAC,YACD;AAAA,MAAC;AAAA;AAAA,QACC,YAAW;AAAA,QACX,WAAU;AAAA,QACV,eAAY;AAAA,QACZ,SAAS;AAAA,QACR,GAAG;AAAA,QACJ,IAAG;AAAA,QACH;AAAA,QACA;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,IAED,CAAC,CAAC,aACD;AAAA,MAAC;AAAA;AAAA,QACC,YAAW;AAAA,QACX,WAAU;AAAA,QACV,eAAY;AAAA,QACZ,SAAS;AAAA,QACR,GAAG;AAAA,QACJ,IAAG;AAAA,QACH;AAAA,QACA;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,KAEJ;AAEJ;AAEA,YAAY,cAAc;AAC1B,MAAM,mCAA+B,kCAAS,WAAW;AACzD,6BAA6B,YAAY;AAIzC,IAAO,iBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -41,9 +41,9 @@ var import_styled = require("../styled.js");
|
|
|
41
41
|
var import_DSModalSlideDefinitions = require("../DSModalSlideDefinitions.js");
|
|
42
42
|
const ModalHeader = (props) => {
|
|
43
43
|
const propsWithDefault = (0, import_ds_props_helpers.useMemoMergePropsWithDefault)(props, import_react_desc_prop_types.headerDefaultProps);
|
|
44
|
-
const { innerRef, title: headerTitle, onClose, toolbar } = propsWithDefault;
|
|
44
|
+
const { innerRef, title: headerTitle, onClose, toolbar, headingLevel, modalTitleId } = propsWithDefault;
|
|
45
45
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.HeaderWrapper, { children: [
|
|
46
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledHeaderLeftSide, { className: "em-ds-modal-slide__header-left-side", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledHeader, { className: "em-ds-modal-slide__header", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledTitle, { className: "em-ds-modal-slide__title", children: headerTitle }) }) }),
|
|
46
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledHeaderLeftSide, { className: "em-ds-modal-slide__header-left-side", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledHeader, { className: "em-ds-modal-slide__header", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledTitle, { id: modalTitleId, variant: headingLevel, className: "em-ds-modal-slide__title", children: headerTitle }) }) }),
|
|
47
47
|
toolbar,
|
|
48
48
|
toolbar && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledSeparator, { isVertical: true }),
|
|
49
49
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/Header.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport { describe, useMemoMergePropsWithDefault } from '@elliemae/ds-props-helpers';\nimport { Close } from '@elliemae/ds-icons';\nimport { type DSModalSlideT, headerDefaultProps, DSModalSlideHeaderPropTypesSchema } from '../react-desc-prop-types.js';\nimport {\n StyledHeader,\n StyledHeaderLeftSide,\n StyledTitle,\n HeaderWrapper,\n StyledSeparator,\n StyledCloseButton,\n} from '../styled.js';\nimport { DSModalSlideDataTestIds } from '../DSModalSlideDefinitions.js';\n\nconst ModalHeader = (props: DSModalSlideT.HeaderProps) => {\n const propsWithDefault = useMemoMergePropsWithDefault<DSModalSlideT.HeaderInternalProps>(props, headerDefaultProps);\n const { innerRef, title: headerTitle, onClose, toolbar } = propsWithDefault;\n return (\n <HeaderWrapper>\n <StyledHeaderLeftSide className=\"em-ds-modal-slide__header-left-side\">\n <StyledHeader className=\"em-ds-modal-slide__header\">\n <StyledTitle className=\"em-ds-modal-slide__title\"
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADkBnB;AAjBJ,8BAAuD;AACvD,sBAAsB;AACtB,mCAA0F;AAC1F,oBAOO;AACP,qCAAwC;AAExC,MAAM,cAAc,CAAC,UAAqC;AACxD,QAAM,uBAAmB,sDAAgE,OAAO,+CAAkB;AAClH,QAAM,EAAE,UAAU,OAAO,aAAa,SAAS,
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { describe, useMemoMergePropsWithDefault } from '@elliemae/ds-props-helpers';\nimport { Close } from '@elliemae/ds-icons';\nimport { type DSModalSlideT, headerDefaultProps, DSModalSlideHeaderPropTypesSchema } from '../react-desc-prop-types.js';\nimport {\n StyledHeader,\n StyledHeaderLeftSide,\n StyledTitle,\n HeaderWrapper,\n StyledSeparator,\n StyledCloseButton,\n} from '../styled.js';\nimport { DSModalSlideDataTestIds } from '../DSModalSlideDefinitions.js';\n\nconst ModalHeader = (props: DSModalSlideT.HeaderProps) => {\n const propsWithDefault = useMemoMergePropsWithDefault<DSModalSlideT.HeaderInternalProps>(props, headerDefaultProps);\n const { innerRef, title: headerTitle, onClose, toolbar, headingLevel, modalTitleId } = propsWithDefault;\n return (\n <HeaderWrapper>\n <StyledHeaderLeftSide className=\"em-ds-modal-slide__header-left-side\">\n <StyledHeader className=\"em-ds-modal-slide__header\">\n <StyledTitle id={modalTitleId} variant={headingLevel} className=\"em-ds-modal-slide__title\">\n {headerTitle}\n </StyledTitle>\n </StyledHeader>\n </StyledHeaderLeftSide>\n {toolbar}\n {toolbar && <StyledSeparator isVertical />}\n <StyledCloseButton\n data-testid={DSModalSlideDataTestIds.CLOSE_BUTTON}\n aria-label=\"Close modal slide\"\n buttonType=\"icon\"\n onClick={onClose}\n innerRef={innerRef}\n >\n <Close aria-label=\"Close modal slide\" size=\"s\" />\n </StyledCloseButton>\n </HeaderWrapper>\n );\n};\n\nModalHeader.displayName = 'ModalHeader';\nconst DSModalSlideHeaderWithSchema = describe(ModalHeader);\nDSModalSlideHeaderWithSchema.propTypes = DSModalSlideHeaderPropTypesSchema;\n\nexport { DSModalSlideHeaderWithSchema };\n\nexport default ModalHeader;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADkBnB;AAjBJ,8BAAuD;AACvD,sBAAsB;AACtB,mCAA0F;AAC1F,oBAOO;AACP,qCAAwC;AAExC,MAAM,cAAc,CAAC,UAAqC;AACxD,QAAM,uBAAmB,sDAAgE,OAAO,+CAAkB;AAClH,QAAM,EAAE,UAAU,OAAO,aAAa,SAAS,SAAS,cAAc,aAAa,IAAI;AACvF,SACE,6CAAC,+BACC;AAAA,gDAAC,sCAAqB,WAAU,uCAC9B,sDAAC,8BAAa,WAAU,6BACtB,sDAAC,6BAAY,IAAI,cAAc,SAAS,cAAc,WAAU,4BAC7D,uBACH,GACF,GACF;AAAA,IACC;AAAA,IACA,WAAW,4CAAC,iCAAgB,YAAU,MAAC;AAAA,IACxC;AAAA,MAAC;AAAA;AAAA,QACC,eAAa,uDAAwB;AAAA,QACrC,cAAW;AAAA,QACX,YAAW;AAAA,QACX,SAAS;AAAA,QACT;AAAA,QAEA,sDAAC,yBAAM,cAAW,qBAAoB,MAAK,KAAI;AAAA;AAAA,IACjD;AAAA,KACF;AAEJ;AAEA,YAAY,cAAc;AAC1B,MAAM,mCAA+B,kCAAS,WAAW;AACzD,6BAA6B,YAAY;AAIzC,IAAO,iBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -54,7 +54,9 @@ const defaultProps = {
|
|
|
54
54
|
};
|
|
55
55
|
const headerDefaultProps = {
|
|
56
56
|
title: "",
|
|
57
|
-
onClose: () => null
|
|
57
|
+
onClose: () => null,
|
|
58
|
+
headingLevel: "h3",
|
|
59
|
+
modalTitleId: '"ds-modal-slide-title"'
|
|
58
60
|
};
|
|
59
61
|
const footerDefaultProps = {
|
|
60
62
|
confirmLabel: "Confirm",
|
|
@@ -112,7 +114,9 @@ const DSModalSlideHeaderPropTypes = {
|
|
|
112
114
|
title: import_ds_props_helpers.PropTypes.string.description("modal title"),
|
|
113
115
|
onClose: import_ds_props_helpers.PropTypes.func.description("on modal close callback"),
|
|
114
116
|
toolbar: import_ds_props_helpers.PropTypes.node.description("modal toolbar comoponent"),
|
|
115
|
-
innerRef: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.func, import_ds_props_helpers.PropTypes.object]).description("Ref to the modal slide")
|
|
117
|
+
innerRef: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.func, import_ds_props_helpers.PropTypes.object]).description("Ref to the modal slide"),
|
|
118
|
+
headingLevel: import_ds_props_helpers.PropTypes.string.description("heading level for modal title"),
|
|
119
|
+
modalTitleId: import_ds_props_helpers.PropTypes.string.description("id of the modal title")
|
|
116
120
|
};
|
|
117
121
|
const DSModalSlideHeaderPropTypesSchema = DSModalSlideHeaderPropTypes;
|
|
118
122
|
const DSModalSlideFooterPropTypes = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/react-desc-prop-types.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\n/* eslint-disable @typescript-eslint/no-empty-interface */\nimport type { GlobalAttributesT, XstyledProps, DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';\nimport {\n PropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n getPropsPerDatatestIdPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { DSModalSlideDataTestIds } from './DSModalSlideDefinitions.js';\n\nexport declare namespace DSModalSlideT {\n type PropsT<D, R, O, E> = Partial<D> & R & O & Omit<GlobalAttributesT<E>, keyof D | keyof R | keyof O> & XstyledProps;\n type InternalPropsT<D, R, O, E> = D & R & O & Omit<GlobalAttributesT<E>, keyof D | keyof R | keyof O> & XstyledProps;\n\n export interface RequiredProps {\n getContainer: () => HTMLElement;\n }\n\n export interface DefaultProps {\n isOpen: boolean;\n centered: boolean;\n fullWidth: boolean;\n fadeOut: number;\n fadeIn: number;\n overrideHeight: boolean;\n onClose: () => void;\n }\n\n export interface OptionalProps {\n header?: JSX.Element;\n footer?: React.ReactNode;\n children?: React.ReactNode;\n innerRef?: React.MutableRefObject<HTMLDivElement | null> | React.RefCallback<HTMLDivElement>;\n }\n\n export interface FooterRequiredProps {}\n\n export interface FooterDefaultProps {\n confirmLabel: string;\n rejectLabel: string;\n confirmProps: {\n disabled: boolean;\n innerRef?: React.MutableRefObject<HTMLButtonElement | null> | React.RefCallback<HTMLButtonElement>;\n };\n rejectProps: { disabled: boolean };\n }\n\n export interface FooterOptionalProps {\n onConfirm: () => void;\n onReject: () => void;\n }\n\n export interface HeaderRequiredProps {}\n\n export interface HeaderDefaultProps {\n title: string;\n onClose: () => void;\n }\n\n export interface HeaderOptionalProps {\n toolbar?: React.ReactNode;\n innerRef?: React.MutableRefObject<HTMLButtonElement | null> | React.RefCallback<HTMLButtonElement>;\n }\n\n export type Props = PropsT<DefaultProps, RequiredProps, OptionalProps, HTMLElement>;\n\n export type InternalProps = InternalPropsT<DefaultProps, RequiredProps, OptionalProps, HTMLElement>;\n\n export type HeaderProps = PropsT<HeaderDefaultProps, HeaderRequiredProps, HeaderOptionalProps, HTMLButtonElement>;\n\n export type HeaderInternalProps = InternalPropsT<\n HeaderDefaultProps,\n HeaderRequiredProps,\n HeaderOptionalProps,\n HTMLButtonElement\n >;\n\n export type FooterProps = PropsT<FooterDefaultProps, FooterRequiredProps, FooterOptionalProps, HTMLDivElement>;\n\n export type FooterInternalProps = InternalPropsT<\n FooterDefaultProps,\n FooterRequiredProps,\n FooterOptionalProps,\n HTMLDivElement\n >;\n}\n\nexport const defaultProps: DSModalSlideT.DefaultProps = {\n isOpen: false,\n centered: false,\n fullWidth: false,\n fadeOut: 1500,\n fadeIn: 1500,\n overrideHeight: false,\n onClose: () => {},\n};\n\nexport const headerDefaultProps: DSModalSlideT.HeaderDefaultProps = {\n title: '',\n onClose: () => null,\n};\n\nexport const footerDefaultProps: DSModalSlideT.FooterDefaultProps = {\n confirmLabel: 'Confirm',\n rejectLabel: 'Cancel',\n confirmProps: { disabled: false },\n rejectProps: { disabled: false },\n};\n\nexport const DSModalSlidePropTypes: DSPropTypesSchema<DSModalSlideT.Props> = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\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.node]).isRequired.description('Main content of the modal'),\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 * If the modal slide has a footer\n */\n footer: PropTypes.element.description('If the modal slide has a footer'),\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 getContainer: PropTypes.func.description('Should return the container of the modal slide').isRequired,\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the modal slide'),\n onClose: PropTypes.func.description('On modal slide close callback'),\n};\n\nexport const DSModalSlidePropTypesSchema =\n DSModalSlidePropTypes as unknown as React.WeakValidationMap<DSModalSlideT.Props>;\n\nexport const DSModalSlideHeaderPropTypes: DSPropTypesSchema<DSModalSlideT.HeaderProps> = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n title: PropTypes.string.description('modal title'),\n onClose: PropTypes.func.description('on modal close callback'),\n toolbar: PropTypes.node.description('modal toolbar comoponent'),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the modal slide'),\n};\n\nexport const DSModalSlideHeaderPropTypesSchema =\n DSModalSlideHeaderPropTypes as unknown as React.WeakValidationMap<DSModalSlideT.HeaderProps>;\n\nexport const DSModalSlideFooterPropTypes: DSPropTypesSchema<DSModalSlideT.FooterProps> = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\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 ...getPropsPerDatatestIdPropTypes(DSModalSlideDataTestIds),\n};\n\nexport const DSModalSlideFooterPropTypesSchema =\n DSModalSlideFooterPropTypes as unknown as ValidationMap<DSModalSlideT.FooterProps>;\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;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\n/* eslint-disable @typescript-eslint/no-empty-interface */\nimport type { GlobalAttributesT, XstyledProps, DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';\nimport type { DSTypographyT } from '@elliemae/ds-typography';\nimport {\n PropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n getPropsPerDatatestIdPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { DSModalSlideDataTestIds } from './DSModalSlideDefinitions.js';\n\nexport declare namespace DSModalSlideT {\n type PropsT<D, R, O, E> = Partial<D> & R & O & Omit<GlobalAttributesT<E>, keyof D | keyof R | keyof O> & XstyledProps;\n type InternalPropsT<D, R, O, E> = D & R & O & Omit<GlobalAttributesT<E>, keyof D | keyof R | keyof O> & XstyledProps;\n\n export interface RequiredProps {\n getContainer: () => HTMLElement;\n }\n\n export interface DefaultProps {\n isOpen: boolean;\n centered: boolean;\n fullWidth: boolean;\n fadeOut: number;\n fadeIn: number;\n overrideHeight: boolean;\n onClose: () => void;\n }\n\n export interface OptionalProps {\n header?: JSX.Element;\n footer?: React.ReactNode;\n children?: React.ReactNode;\n innerRef?: React.MutableRefObject<HTMLDivElement | null> | React.RefCallback<HTMLDivElement>;\n }\n\n export interface FooterRequiredProps {}\n\n export interface FooterDefaultProps {\n confirmLabel: string;\n rejectLabel: string;\n confirmProps: {\n disabled: boolean;\n innerRef?: React.MutableRefObject<HTMLButtonElement | null> | React.RefCallback<HTMLButtonElement>;\n };\n rejectProps: { disabled: boolean };\n }\n\n export interface FooterOptionalProps {\n onConfirm: () => void;\n onReject: () => void;\n }\n\n export interface HeaderRequiredProps {}\n\n export interface HeaderDefaultProps {\n title: string;\n onClose: () => void;\n headingLevel: DSTypographyT.HeadingVariants;\n modalTitleId: string;\n }\n\n export interface HeaderOptionalProps {\n toolbar?: React.ReactNode;\n innerRef?: React.MutableRefObject<HTMLButtonElement | null> | React.RefCallback<HTMLButtonElement>;\n }\n\n export type Props = PropsT<DefaultProps, RequiredProps, OptionalProps, HTMLElement>;\n\n export type InternalProps = InternalPropsT<DefaultProps, RequiredProps, OptionalProps, HTMLElement>;\n\n export type HeaderProps = PropsT<HeaderDefaultProps, HeaderRequiredProps, HeaderOptionalProps, HTMLButtonElement>;\n\n export type HeaderInternalProps = InternalPropsT<\n HeaderDefaultProps,\n HeaderRequiredProps,\n HeaderOptionalProps,\n HTMLButtonElement\n >;\n\n export type FooterProps = PropsT<FooterDefaultProps, FooterRequiredProps, FooterOptionalProps, HTMLDivElement>;\n\n export type FooterInternalProps = InternalPropsT<\n FooterDefaultProps,\n FooterRequiredProps,\n FooterOptionalProps,\n HTMLDivElement\n >;\n}\n\nexport const defaultProps: DSModalSlideT.DefaultProps = {\n isOpen: false,\n centered: false,\n fullWidth: false,\n fadeOut: 1500,\n fadeIn: 1500,\n overrideHeight: false,\n onClose: () => {},\n};\n\nexport const headerDefaultProps: DSModalSlideT.HeaderDefaultProps = {\n title: '',\n onClose: () => null,\n headingLevel: 'h3',\n modalTitleId: '\"ds-modal-slide-title\"',\n};\n\nexport const footerDefaultProps: DSModalSlideT.FooterDefaultProps = {\n confirmLabel: 'Confirm',\n rejectLabel: 'Cancel',\n confirmProps: { disabled: false },\n rejectProps: { disabled: false },\n};\n\nexport const DSModalSlidePropTypes: DSPropTypesSchema<DSModalSlideT.Props> = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\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.node]).isRequired.description('Main content of the modal'),\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 * If the modal slide has a footer\n */\n footer: PropTypes.element.description('If the modal slide has a footer'),\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 getContainer: PropTypes.func.description('Should return the container of the modal slide').isRequired,\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the modal slide'),\n onClose: PropTypes.func.description('On modal slide close callback'),\n};\n\nexport const DSModalSlidePropTypesSchema =\n DSModalSlidePropTypes as unknown as React.WeakValidationMap<DSModalSlideT.Props>;\n\nexport const DSModalSlideHeaderPropTypes: DSPropTypesSchema<DSModalSlideT.HeaderProps> = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n title: PropTypes.string.description('modal title'),\n onClose: PropTypes.func.description('on modal close callback'),\n toolbar: PropTypes.node.description('modal toolbar comoponent'),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the modal slide'),\n headingLevel: PropTypes.string.description('heading level for modal title'),\n modalTitleId: PropTypes.string.description('id of the modal title'),\n};\n\nexport const DSModalSlideHeaderPropTypesSchema =\n DSModalSlideHeaderPropTypes as unknown as React.WeakValidationMap<DSModalSlideT.HeaderProps>;\n\nexport const DSModalSlideFooterPropTypes: DSPropTypesSchema<DSModalSlideT.FooterProps> = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\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 ...getPropsPerDatatestIdPropTypes(DSModalSlideDataTestIds),\n};\n\nexport const DSModalSlideFooterPropTypesSchema =\n DSModalSlideFooterPropTypes as unknown as ValidationMap<DSModalSlideT.FooterProps>;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/styled.js
CHANGED
|
@@ -31,6 +31,7 @@ __export(styled_exports, {
|
|
|
31
31
|
HeaderWrapper: () => HeaderWrapper,
|
|
32
32
|
StyledActualContent: () => StyledActualContent,
|
|
33
33
|
StyledCloseButton: () => StyledCloseButton,
|
|
34
|
+
StyledConfirmButton: () => StyledConfirmButton,
|
|
34
35
|
StyledContent: () => StyledContent,
|
|
35
36
|
StyledContentWrapper: () => StyledContentWrapper,
|
|
36
37
|
StyledFooter: () => StyledFooter,
|
|
@@ -40,6 +41,7 @@ __export(styled_exports, {
|
|
|
40
41
|
StyledHeaderLeftSide: () => StyledHeaderLeftSide,
|
|
41
42
|
StyledModalWrapper: () => StyledModalWrapper,
|
|
42
43
|
StyledOverlay: () => StyledOverlay,
|
|
44
|
+
StyledRejectButton: () => StyledRejectButton,
|
|
43
45
|
StyledSeparator: () => StyledSeparator,
|
|
44
46
|
StyledTitle: () => StyledTitle
|
|
45
47
|
});
|
|
@@ -49,6 +51,7 @@ var import_ds_button_v2 = require("@elliemae/ds-button-v2");
|
|
|
49
51
|
var import_ds_grid = require("@elliemae/ds-grid");
|
|
50
52
|
var import_ds_separator = require("@elliemae/ds-separator");
|
|
51
53
|
var import_ds_system = require("@elliemae/ds-system");
|
|
54
|
+
var import_ds_typography = require("@elliemae/ds-typography");
|
|
52
55
|
var import_DSModalSlideDefinitions = require("./DSModalSlideDefinitions.js");
|
|
53
56
|
const overlayAnimation = import_ds_system.kfrm`{
|
|
54
57
|
0% {
|
|
@@ -90,7 +93,6 @@ const StyledModalWrapper = (0, import_ds_system.styled)("div", {
|
|
|
90
93
|
display: flex;
|
|
91
94
|
height: calc(${(props) => props.height} * 1px);
|
|
92
95
|
width: 100%;
|
|
93
|
-
overflow: hidden;
|
|
94
96
|
top: 0;
|
|
95
97
|
left: 0;
|
|
96
98
|
z-index: 10;
|
|
@@ -149,9 +151,11 @@ const StyledGridContent = (0, import_ds_system.styled)(import_ds_grid.Grid)`
|
|
|
149
151
|
-webkit-transform-style: preserve-3d;
|
|
150
152
|
transform-style: preserve-3d;
|
|
151
153
|
`;
|
|
152
|
-
const StyledTitle = (0, import_ds_system.styled)(
|
|
154
|
+
const StyledTitle = (0, import_ds_system.styled)(import_ds_typography.DSTypography, { name: import_DSModalSlideDefinitions.DSModalSlideName, slot: import_DSModalSlideDefinitions.DSModalSlideSlots.TITLE })`
|
|
153
155
|
font-size: 1.3846rem;
|
|
154
156
|
color: neutral-700;
|
|
157
|
+
white-space: normal;
|
|
158
|
+
word-break: break-word;
|
|
155
159
|
`;
|
|
156
160
|
const StyledHeaderLeftSide = (0, import_ds_system.styled)("div", { name: import_DSModalSlideDefinitions.DSModalSlideName, slot: import_DSModalSlideDefinitions.DSModalSlideSlots.HEADER_LEFT_SIDE })`
|
|
157
161
|
width: 100%;
|
|
@@ -159,7 +163,8 @@ const StyledHeaderLeftSide = (0, import_ds_system.styled)("div", { name: import_
|
|
|
159
163
|
flex-direction: row;
|
|
160
164
|
text-align: left;
|
|
161
165
|
padding: 0.61538rem 1.23077rem 0.61538rem 0;
|
|
162
|
-
height: 3.69231rem;
|
|
166
|
+
min-height: 3.69231rem;
|
|
167
|
+
height: auto;
|
|
163
168
|
|
|
164
169
|
.em-ds-button {
|
|
165
170
|
.em-ds-icon {
|
|
@@ -175,7 +180,6 @@ const StyledActualContent = (0, import_ds_system.styled)("div", { name: import_D
|
|
|
175
180
|
flex-direction: column;
|
|
176
181
|
`;
|
|
177
182
|
const StyledHeader = (0, import_ds_system.styled)("div", { name: import_DSModalSlideDefinitions.DSModalSlideName, slot: import_DSModalSlideDefinitions.DSModalSlideSlots.HEADER })`
|
|
178
|
-
padding: 0 1.23077rem;
|
|
179
183
|
display: flex;
|
|
180
184
|
flex-direction: column;
|
|
181
185
|
justify-content: center;
|
|
@@ -183,13 +187,13 @@ const StyledHeader = (0, import_ds_system.styled)("div", { name: import_DSModalS
|
|
|
183
187
|
const StyledFooter = (0, import_ds_system.styled)("div", { name: import_DSModalSlideDefinitions.DSModalSlideName, slot: import_DSModalSlideDefinitions.DSModalSlideSlots.FOOTER })``;
|
|
184
188
|
const StyledFooterWrapper = (0, import_ds_system.styled)("div", { name: import_DSModalSlideDefinitions.DSModalSlideName, slot: import_DSModalSlideDefinitions.DSModalSlideSlots.FOOTER_WRAPPER })`
|
|
185
189
|
width: 100%;
|
|
190
|
+
height: auto;
|
|
186
191
|
display: flex;
|
|
187
|
-
flex-
|
|
192
|
+
flex-wrap: wrap;
|
|
188
193
|
text-align: left;
|
|
189
194
|
align-items: center;
|
|
190
195
|
justify-content: flex-end;
|
|
191
|
-
padding: 0.61538rem 1.23077rem 0
|
|
192
|
-
height: 3.69231rem;
|
|
196
|
+
padding: 0.61538rem 1.23077rem 0 0;
|
|
193
197
|
.em-ds-button {
|
|
194
198
|
margin-left: 1.23077rem;
|
|
195
199
|
}
|
|
@@ -198,8 +202,9 @@ const HeaderWrapper = (0, import_ds_system.styled)("div", { name: import_DSModal
|
|
|
198
202
|
display: flex;
|
|
199
203
|
justify-content: space-between;
|
|
200
204
|
width: 100%;
|
|
201
|
-
align-items:
|
|
202
|
-
height: 48px;
|
|
205
|
+
align-items: flex-start;
|
|
206
|
+
min-height: 48px;
|
|
207
|
+
height: auto;
|
|
203
208
|
overflow: hidden;
|
|
204
209
|
`;
|
|
205
210
|
const StyledSeparator = (0, import_ds_system.styled)(import_ds_separator.DSSeparatorV2, { name: import_DSModalSlideDefinitions.DSModalSlideName, slot: import_DSModalSlideDefinitions.DSModalSlideSlots.SEPARATOR })`
|
|
@@ -207,7 +212,7 @@ const StyledSeparator = (0, import_ds_system.styled)(import_ds_separator.DSSepar
|
|
|
207
212
|
background: ${(props) => props.theme.colors.neutral["300"]};
|
|
208
213
|
`;
|
|
209
214
|
const StyledCloseButton = (0, import_ds_system.styled)(import_ds_button_v2.DSButtonV2, { name: import_DSModalSlideDefinitions.DSModalSlideName, slot: import_DSModalSlideDefinitions.DSModalSlideSlots.CLOSE_BUTTON })`
|
|
210
|
-
margin: ${(props) => props.theme.space.xs};
|
|
215
|
+
margin: 0.61538rem ${(props) => props.theme.space.xs};
|
|
211
216
|
`;
|
|
212
217
|
const StyledContentWrapper = (0, import_ds_system.styled)(import_ds_grid.Grid, { name: import_DSModalSlideDefinitions.DSModalSlideName, slot: import_DSModalSlideDefinitions.DSModalSlideSlots.CONTENT_WRAPPER })`
|
|
213
218
|
overflow: auto;
|
|
@@ -217,4 +222,13 @@ const StyledContentWrapper = (0, import_ds_system.styled)(import_ds_grid.Grid, {
|
|
|
217
222
|
outline-offset: -1px;
|
|
218
223
|
}
|
|
219
224
|
`;
|
|
225
|
+
const StyledRejectButton = (0, import_ds_system.styled)(import_ds_button_v2.DSButtonV2, { name: import_DSModalSlideDefinitions.DSModalSlideName, slot: import_DSModalSlideDefinitions.DSModalSlideSlots.REJECT_BUTTON })`
|
|
226
|
+
margin-bottom: 0.61538rem;
|
|
227
|
+
`;
|
|
228
|
+
const StyledConfirmButton = (0, import_ds_system.styled)(import_ds_button_v2.DSButtonV2, {
|
|
229
|
+
name: import_DSModalSlideDefinitions.DSModalSlideName,
|
|
230
|
+
slot: import_DSModalSlideDefinitions.DSModalSlideSlots.CONFIRM_BUTTON
|
|
231
|
+
})`
|
|
232
|
+
margin-bottom: 0.61538rem;
|
|
233
|
+
`;
|
|
220
234
|
//# sourceMappingURL=styled.js.map
|
package/dist/cjs/styled.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/styled.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-lines */\nimport { DSButtonV2 } from '@elliemae/ds-button-v2';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSSeparatorV2 } from '@elliemae/ds-separator';\nimport { styled, kfrm } from '@elliemae/ds-system';\nimport { DSModalSlideName, DSModalSlideSlots } from './DSModalSlideDefinitions.js';\n\nconst overlayAnimation = kfrm`{\n 0% {\n background: rgba(37, 41, 47, 0);\n }\n 100% {\n background: rgba(37, 41, 47, 0.25);\n }\n}`;\n\nconst overlayAnimationOut = kfrm`{\n 0% {\n background: rgba(37, 41, 47, 0.25);\n }\n 100% {\n background: rgba(37, 41, 47, 0);\n }\n}`;\n\nconst contentAnimationOut = kfrm`{\n 0% {\n transform: translateX(0);\n }\n 100% {\n transform: translateX(100%);\n }\n}`;\n\nconst contentAnimationIn = kfrm`{\n 0% {\n transform: translateX(100%);\n }\n 100% {\n transform: translateX(0);\n }\n}`;\n\nexport const StyledModalWrapper = styled('div', {\n name: DSModalSlideName,\n slot: DSModalSlideSlots.ROOT,\n})<{ height: string | number }>`\n position: absolute;\n display: flex;\n height: calc(${(props) => props.height} * 1px);\n width: 100%;\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,0BAA2B;AAC3B,qBAAqB;AACrB,0BAA8B;AAC9B,uBAA6B;AAC7B,qCAAoD;AAEpD,MAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASzB,MAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5B,MAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5B,MAAM,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASpB,MAAM,yBAAqB,yBAAO,OAAO;AAAA,EAC9C,MAAM;AAAA,EACN,MAAM,iDAAkB;AAC1B,CAAC;AAAA;AAAA;AAAA,iBAGgB,CAAC,UAAU,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\nimport { DSButtonV2 } from '@elliemae/ds-button-v2';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSSeparatorV2 } from '@elliemae/ds-separator';\nimport { styled, kfrm } from '@elliemae/ds-system';\nimport { DSTypography } from '@elliemae/ds-typography';\nimport { DSModalSlideName, DSModalSlideSlots } from './DSModalSlideDefinitions.js';\n\nconst overlayAnimation = kfrm`{\n 0% {\n background: rgba(37, 41, 47, 0);\n }\n 100% {\n background: rgba(37, 41, 47, 0.25);\n }\n}`;\n\nconst overlayAnimationOut = kfrm`{\n 0% {\n background: rgba(37, 41, 47, 0.25);\n }\n 100% {\n background: rgba(37, 41, 47, 0);\n }\n}`;\n\nconst contentAnimationOut = kfrm`{\n 0% {\n transform: translateX(0);\n }\n 100% {\n transform: translateX(100%);\n }\n}`;\n\nconst contentAnimationIn = kfrm`{\n 0% {\n transform: translateX(100%);\n }\n 100% {\n transform: translateX(0);\n }\n}`;\n\nexport const StyledModalWrapper = styled('div', {\n name: DSModalSlideName,\n slot: DSModalSlideSlots.ROOT,\n})<{ height: string | number }>`\n position: absolute;\n display: flex;\n height: calc(${(props) => props.height} * 1px);\n width: 100%;\n top: 0;\n left: 0;\n z-index: 10;\n\n .em-ds-modal-v2__modal-wrapper {\n flex: 1;\n padding: 2.46rem 0;\n }\n\n .em-ds-modal-v2__modal-title {\n max-width: 80%;\n margin: 0 auto;\n }\n`;\n\nexport const StyledOverlay = styled('div', {\n name: DSModalSlideName,\n slot: DSModalSlideSlots.OVERLAY,\n})<{ disappearing: boolean; showing: boolean; fadeIn: number; fadeOut: number }>`\n height: 100%;\n width: 100%;\n background: rgba(37, 41, 47, 0.25);\n display: flex;\n animation: ${(props) => (props.disappearing ? overlayAnimationOut : overlayAnimation)}\n calc(${(props) => (props.disappearing ? props.fadeOut : props.fadeIn)} * 1ms) linear;\n\n ${(props) =>\n props.showing &&\n `display: flex;\n height: 100%;`}\n`;\n\nexport const StyledContent = styled('div', { name: DSModalSlideName, slot: DSModalSlideSlots.CONTENT })<{\n height: number | string;\n width: number | string;\n disappearing: boolean;\n fadeIn: number;\n fadeOut: number;\n}>`\n height: calc(${(props) => props.height} * 1px);\n background: neutral-000;\n box-shadow:\n 0 6px 20px 0 rgba(0, 0, 0, 0.24),\n 0 8px 17px 0 rgba(0, 0, 0, 0.19);\n width: calc(${(props) => props.width} * 1%);\n margin-left: auto;\n align-items: center;\n flex-direction: column;\n display: flex;\n overflow-y: auto;\n border: 1px solid neutral-300;\n border-left: 2px solid neutral-300;\n animation: ${(props) => (props.disappearing ? contentAnimationOut : contentAnimationIn)}\n calc(${(props) => (props.disappearing ? props.fadeOut / 2 : props.fadeIn / 2)} * 1ms) linear;\n .em-ds-separator-wrapper {\n margin-top: unset;\n }\n`;\n\nexport const StyledGridContent = styled(Grid)`\n height: 100%;\n width: 100%;\n max-height: 100%;\n overflow: hidden;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-transform-style: preserve-3d;\n transform-style: preserve-3d;\n`;\n\nexport const StyledTitle = styled(DSTypography, { name: DSModalSlideName, slot: DSModalSlideSlots.TITLE })`\n font-size: 1.3846rem;\n color: neutral-700;\n white-space: normal;\n word-break: break-word;\n`;\n\nexport const StyledHeaderLeftSide = styled('div', { name: DSModalSlideName, slot: DSModalSlideSlots.HEADER_LEFT_SIDE })`\n width: 100%;\n display: flex;\n flex-direction: row;\n text-align: left;\n padding: 0.61538rem 1.23077rem 0.61538rem 0;\n min-height: 3.69231rem;\n height: auto;\n\n .em-ds-button {\n .em-ds-icon {\n fill: brand-primary-600;\n }\n }\n .close-button {\n padding-left: 18px;\n }\n`;\n\nexport const StyledActualContent = styled('div', { name: DSModalSlideName, slot: DSModalSlideSlots.ACTUAL_CONTENT })`\n display: flex;\n flex-direction: column;\n`;\n\nexport const StyledHeader = styled('div', { name: DSModalSlideName, slot: DSModalSlideSlots.HEADER })`\n display: flex;\n flex-direction: column;\n justify-content: center;\n`;\n\nexport const StyledFooter = styled('div', { name: DSModalSlideName, slot: DSModalSlideSlots.FOOTER })``;\n\nexport const StyledFooterWrapper = styled('div', { name: DSModalSlideName, slot: DSModalSlideSlots.FOOTER_WRAPPER })`\n width: 100%;\n height: auto;\n display: flex;\n flex-wrap: wrap;\n text-align: left;\n align-items: center;\n justify-content: flex-end;\n padding: 0.61538rem 1.23077rem 0 0;\n .em-ds-button {\n margin-left: 1.23077rem;\n }\n`;\n\nexport const HeaderWrapper = styled('div', { name: DSModalSlideName, slot: DSModalSlideSlots.HEADER_WRAPPER })`\n display: flex;\n justify-content: space-between;\n width: 100%;\n align-items: flex-start;\n min-height: 48px;\n height: auto;\n overflow: hidden;\n`;\n\nexport const StyledSeparator = styled(DSSeparatorV2, { name: DSModalSlideName, slot: DSModalSlideSlots.SEPARATOR })`\n height: 33%;\n background: ${(props) => props.theme.colors.neutral['300']};\n`;\n\nexport const StyledCloseButton = styled(DSButtonV2, { name: DSModalSlideName, slot: DSModalSlideSlots.CLOSE_BUTTON })`\n margin: 0.61538rem ${(props) => props.theme.space.xs};\n`;\n\nexport const StyledContentWrapper = styled(Grid, { name: DSModalSlideName, slot: DSModalSlideSlots.CONTENT_WRAPPER })`\n overflow: auto;\n &:focus,\n &:focus-visible {\n outline: 1px solid ${({ theme }) => theme.colors.brand['600']};\n outline-offset: -1px;\n }\n`;\n\nexport const StyledRejectButton = styled(DSButtonV2, { name: DSModalSlideName, slot: DSModalSlideSlots.REJECT_BUTTON })`\n margin-bottom: 0.61538rem;\n`;\n\nexport const StyledConfirmButton = styled(DSButtonV2, {\n name: DSModalSlideName,\n slot: DSModalSlideSlots.CONFIRM_BUTTON,\n})`\n margin-bottom: 0.61538rem;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/DSModalSlide.js
CHANGED
|
@@ -8,8 +8,9 @@ import {
|
|
|
8
8
|
useOwnerProps
|
|
9
9
|
} from "@elliemae/ds-props-helpers";
|
|
10
10
|
import { debounce } from "lodash-es";
|
|
11
|
+
import { uid } from "uid";
|
|
11
12
|
import ReactDOM from "react-dom";
|
|
12
|
-
import {
|
|
13
|
+
import { styled } from "@elliemae/ds-system";
|
|
13
14
|
import { Grid } from "@elliemae/ds-grid";
|
|
14
15
|
import { DSSeparator } from "@elliemae/ds-separator";
|
|
15
16
|
import ModalHeader from "./components/Header.js";
|
|
@@ -49,8 +50,8 @@ const DSModalSlide = (props) => {
|
|
|
49
50
|
const [show, setShow] = useState(isOpen);
|
|
50
51
|
const [width, setWidth] = useState(50);
|
|
51
52
|
const [height, setHeight] = useState("100%");
|
|
52
|
-
const
|
|
53
|
-
const
|
|
53
|
+
const contentRows = [...header ? ["auto", "1px"] : [], "1fr", ...footer ? ["1px", "auto"] : []];
|
|
54
|
+
const modalTitleId = React2.useMemo(() => `ds-modal-slide-title-${uid(5)}`, []);
|
|
54
55
|
const handleOnKeyDown = useCallback(
|
|
55
56
|
(e) => {
|
|
56
57
|
if (e.key === "Escape") onClose();
|
|
@@ -124,10 +125,12 @@ const DSModalSlide = (props) => {
|
|
|
124
125
|
fadeIn,
|
|
125
126
|
fadeOut,
|
|
126
127
|
disappearing: !isOpen,
|
|
128
|
+
role: "dialog",
|
|
129
|
+
"aria-labelledby": modalTitleId,
|
|
127
130
|
getOwnerProps,
|
|
128
131
|
getOwnerPropsArguments,
|
|
129
132
|
children: /* @__PURE__ */ jsxs(StyledGridContent, { rows: contentRows, "data-testid": "ds-modal-slide", children: [
|
|
130
|
-
header && React2.cloneElement(header, { fullWidth }),
|
|
133
|
+
header && React2.cloneElement(header, { fullWidth, modalTitleId }),
|
|
131
134
|
header && /* @__PURE__ */ jsx(DSSeparator, { position: "initial", type: "non-form" }),
|
|
132
135
|
/* @__PURE__ */ jsx(Grid, { style: { overflow: "hidden" }, children: /* @__PURE__ */ jsx(
|
|
133
136
|
StyledContentWrapper,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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-statements */\nimport React, { useState, useEffect, useCallback, useMemo } from 'react';\nimport {\n describe,\n useGetGlobalAttributes,\n useMemoMergePropsWithDefault,\n useOwnerProps,\n} from '@elliemae/ds-props-helpers';\nimport { debounce } from 'lodash-es';\nimport ReactDOM from 'react-dom';\nimport {
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-statements */\nimport React, { useState, useEffect, useCallback, useMemo } from 'react';\nimport {\n describe,\n useGetGlobalAttributes,\n useMemoMergePropsWithDefault,\n useOwnerProps,\n} from '@elliemae/ds-props-helpers';\nimport { debounce } from 'lodash-es';\nimport { uid } from 'uid';\nimport ReactDOM from 'react-dom';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSSeparator } from '@elliemae/ds-separator';\nimport ModalHeader from './components/Header.js';\nimport ModalFooter from './components/Footer.js';\nimport { defaultProps, DSModalSlidePropTypesSchema, type DSModalSlideT } from './react-desc-prop-types.js';\nimport {\n StyledActualContent,\n StyledContent,\n StyledModalWrapper,\n StyledOverlay,\n StyledContentWrapper,\n StyledGridContent,\n} from './styled.js';\nimport { DSModalSlideName } from './DSModalSlideDefinitions.js';\n\n// js engine and css engine can't be guaranteed to be in sync due to how they run on different threads in the browsers\n// this means that in some edge-cases react may have \"out-dated\" information like \"isMoving\" in this case\n// this can cause some animation frame to have the animation \"after\" end but before react has updated the state\n// if the css animation is not configured to stay in the end state,\n// in those edge-cases,\n// the animation will \"jump\" back to the start and cause a flicker\n// this is the fix for that, it's an hack because the component is still css classname based\n// when we re-do the modal slide, we should integrate this as the styled component css itself instead of this extra wrapper\nconst ModalSlideAnimationFix = styled.div`\n .em-ds-modal-slide__overlay--disappearing,\n .em-ds-modal-slide__content--disappearing {\n animation-fill-mode: forwards;\n }\n`;\nconst DSModalSlide: React.FC<DSModalSlideT.Props> = (props) => {\n const propsWithDefault = useMemoMergePropsWithDefault<DSModalSlideT.InternalProps>(props, defaultProps);\n const {\n isOpen,\n children,\n getContainer,\n fullWidth,\n header,\n footer,\n fadeOut,\n fadeIn,\n overrideHeight,\n innerRef,\n onClose,\n } = propsWithDefault;\n const [, setMoving] = useState(false);\n const [show, setShow] = useState(isOpen);\n const [width, setWidth] = useState(50);\n const [height, setHeight] = useState<string | number>('100%');\n const contentRows = [...(header ? ['auto', '1px'] : []), '1fr', ...(footer ? ['1px', 'auto'] : [])];\n const modalTitleId = React.useMemo(() => `ds-modal-slide-title-${uid(5)}`, []);\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n },\n [onClose],\n );\n\n const globalAttrs = useGetGlobalAttributes(props, { onKeyDown: handleOnKeyDown });\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 }, [fullWidth, isOpen, show]);\n const { getOwnerProps, getOwnerPropsArguments } = useOwnerProps(propsWithDefault);\n\n useEffect(updateShow, [updateShow]);\n\n const container = getContainer();\n\n const handleHeight = useCallback(() => {\n const newHeight =\n overrideHeight && container.scrollHeight > container.getBoundingClientRect().height\n ? container.scrollHeight\n : container.getBoundingClientRect().height;\n setHeight(newHeight);\n }, [container, overrideHeight]);\n\n const onChangeParent = useMemo(() => debounce(handleHeight, 300, { leading: true }), [handleHeight]);\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver(() => onChangeParent());\n if (container) {\n resizeObserver.observe(container);\n if (!container.style.position) {\n container.style.position = 'relative';\n }\n onChangeParent();\n }\n return () => {\n if (container) resizeObserver.unobserve(container);\n };\n }, [container, onChangeParent]);\n\n if (!show) return null;\n if (!container) return null;\n\n const handleAnimationEnd = () => {\n setMoving(false);\n if (!isOpen) setShow(isOpen);\n };\n\n return ReactDOM.createPortal(\n <ModalSlideAnimationFix>\n <StyledModalWrapper\n className=\"em-ds-modal-slide__wrapper\"\n {...globalAttrs}\n height={height}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledOverlay\n className={`em-ds-modal-slide__overlay ${\n !isOpen ? 'em-ds-modal-slide__overlay--disappearing' : 'em-ds-modal-slide__overlay--showing'\n }`}\n fadeIn={fadeIn}\n fadeOut={fadeOut}\n showing={isOpen}\n disappearing={!isOpen}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledContent\n className={`em-ds-modal-slide__content ${\n !isOpen ? 'em-ds-modal-slide__content--disappearing' : 'em-ds-modal-slide__content--showing'\n }`}\n onAnimationEnd={handleAnimationEnd}\n width={width}\n height={height}\n fadeIn={fadeIn}\n fadeOut={fadeOut}\n disappearing={!isOpen}\n role=\"dialog\"\n aria-labelledby={modalTitleId}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledGridContent rows={contentRows} data-testid=\"ds-modal-slide\">\n {header && React.cloneElement(header, { fullWidth, modalTitleId })}\n {header && <DSSeparator position=\"initial\" type=\"non-form\" />}\n <Grid style={{ overflow: 'hidden' }}>\n <StyledContentWrapper\n innerRef={innerRef}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledActualContent\n className=\"em-ds-modal-slide__actual-content\"\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {children}\n </StyledActualContent>\n </StyledContentWrapper>\n </Grid>\n {footer && <DSSeparator position=\"initial\" type=\"non-form\" />}\n {footer}\n </StyledGridContent>\n </StyledContent>\n </StyledOverlay>\n </StyledModalWrapper>\n </ModalSlideAnimationFix>,\n container,\n );\n};\n\nDSModalSlide.displayName = DSModalSlideName;\nconst DSModalSlideWithSchema = describe(DSModalSlide);\nDSModalSlideWithSchema.propTypes = DSModalSlidePropTypesSchema;\n\nexport { ModalHeader, ModalFooter, DSModalSlide, DSModalSlideWithSchema };\n\nexport default DSModalSlide;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -14,7 +14,9 @@ const DSModalSlideSlots = {
|
|
|
14
14
|
HEADER_WRAPPER: "header-wrapper",
|
|
15
15
|
SEPARATOR: "separator",
|
|
16
16
|
CLOSE_BUTTON: "close-button",
|
|
17
|
-
CONTENT_WRAPPER: "content-wrapper"
|
|
17
|
+
CONTENT_WRAPPER: "content-wrapper",
|
|
18
|
+
REJECT_BUTTON: "reject-button",
|
|
19
|
+
CONFIRM_BUTTON: "confirm-button"
|
|
18
20
|
};
|
|
19
21
|
const DSModalSlideDataTestIds = {
|
|
20
22
|
...slotObjectToDataTestIds(DSModalSlideName, DSModalSlideSlots),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/DSModalSlideDefinitions.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSModalSlideName = 'DSModalslide';\n\nexport const DSModalSlideSlots = {\n ROOT: 'root',\n OVERLAY: 'overlay',\n CONTENT: 'content',\n TITLE: 'title',\n HEADER_LEFT_SIDE: 'header-left-side',\n ACTUAL_CONTENT: 'actual-content',\n HEADER: 'header',\n FOOTER: 'footer',\n FOOTER_WRAPPER: 'footer-wrapper',\n HEADER_WRAPPER: 'header-wrapper',\n SEPARATOR: 'separator',\n CLOSE_BUTTON: 'close-button',\n CONTENT_WRAPPER: 'content-wrapper',\n};\n\nexport const DSModalSlideDataTestIds = {\n ...slotObjectToDataTestIds(DSModalSlideName, DSModalSlideSlots),\n CLOSE_BUTTON: 'modal-slider-header-close',\n};\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,+BAA+B;AAEjC,MAAM,mBAAmB;AAEzB,MAAM,oBAAoB;AAAA,EAC/B,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EACP,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,cAAc;AAAA,EACd,iBAAiB;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSModalSlideName = 'DSModalslide';\n\nexport const DSModalSlideSlots = {\n ROOT: 'root',\n OVERLAY: 'overlay',\n CONTENT: 'content',\n TITLE: 'title',\n HEADER_LEFT_SIDE: 'header-left-side',\n ACTUAL_CONTENT: 'actual-content',\n HEADER: 'header',\n FOOTER: 'footer',\n FOOTER_WRAPPER: 'footer-wrapper',\n HEADER_WRAPPER: 'header-wrapper',\n SEPARATOR: 'separator',\n CLOSE_BUTTON: 'close-button',\n CONTENT_WRAPPER: 'content-wrapper',\n REJECT_BUTTON: 'reject-button',\n CONFIRM_BUTTON: 'confirm-button',\n};\n\nexport const DSModalSlideDataTestIds = {\n ...slotObjectToDataTestIds(DSModalSlideName, DSModalSlideSlots),\n CLOSE_BUTTON: 'modal-slider-header-close',\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,+BAA+B;AAEjC,MAAM,mBAAmB;AAEzB,MAAM,oBAAoB;AAAA,EAC/B,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EACP,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,gBAAgB;AAClB;AAEO,MAAM,0BAA0B;AAAA,EACrC,GAAG,wBAAwB,kBAAkB,iBAAiB;AAAA,EAC9D,cAAc;AAChB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { describe, useMemoMergePropsWithDefault } from "@elliemae/ds-props-helpers";
|
|
4
|
-
import { DSButtonV2 } from "@elliemae/ds-button-v2";
|
|
3
|
+
import { describe, useMemoMergePropsWithDefault, useOwnerProps } from "@elliemae/ds-props-helpers";
|
|
5
4
|
import { footerDefaultProps, DSModalSlideFooterPropTypesSchema } from "../react-desc-prop-types.js";
|
|
6
|
-
import { StyledFooterWrapper } from "../styled.js";
|
|
5
|
+
import { StyledFooterWrapper, StyledRejectButton, StyledConfirmButton } from "../styled.js";
|
|
7
6
|
const ModalFooter = (props) => {
|
|
8
7
|
const propsWithDefault = useMemoMergePropsWithDefault(props, footerDefaultProps);
|
|
9
8
|
const { confirmLabel, rejectLabel, onConfirm, onReject, confirmProps, rejectProps } = propsWithDefault;
|
|
9
|
+
const { getOwnerProps, getOwnerPropsArguments } = useOwnerProps(propsWithDefault);
|
|
10
10
|
return /* @__PURE__ */ jsxs(StyledFooterWrapper, { className: "em-ds-modal-slide__footer-wrapper", children: [
|
|
11
11
|
!!onReject && /* @__PURE__ */ jsx(
|
|
12
|
-
|
|
12
|
+
StyledRejectButton,
|
|
13
13
|
{
|
|
14
14
|
buttonType: "outline",
|
|
15
15
|
className: "action-reject",
|
|
@@ -17,11 +17,13 @@ const ModalFooter = (props) => {
|
|
|
17
17
|
onClick: onReject,
|
|
18
18
|
...rejectProps,
|
|
19
19
|
ml: "xs",
|
|
20
|
+
getOwnerProps,
|
|
21
|
+
getOwnerPropsArguments,
|
|
20
22
|
children: rejectLabel
|
|
21
23
|
}
|
|
22
24
|
),
|
|
23
25
|
!!onConfirm && /* @__PURE__ */ jsx(
|
|
24
|
-
|
|
26
|
+
StyledConfirmButton,
|
|
25
27
|
{
|
|
26
28
|
buttonType: "filled",
|
|
27
29
|
className: "action-confirm",
|
|
@@ -29,6 +31,8 @@ const ModalFooter = (props) => {
|
|
|
29
31
|
onClick: onConfirm,
|
|
30
32
|
...confirmProps,
|
|
31
33
|
ml: "xs",
|
|
34
|
+
getOwnerProps,
|
|
35
|
+
getOwnerPropsArguments,
|
|
32
36
|
children: confirmLabel
|
|
33
37
|
}
|
|
34
38
|
)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/Footer.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { describe, useMemoMergePropsWithDefault } from '@elliemae/ds-props-helpers';\nimport {
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACUnB,SAEI,KAFJ;AATJ,SAAS,UAAU,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { describe, useMemoMergePropsWithDefault, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport { type DSModalSlideT, footerDefaultProps, DSModalSlideFooterPropTypesSchema } from '../react-desc-prop-types.js';\nimport { StyledFooterWrapper, StyledRejectButton, StyledConfirmButton } from '../styled.js';\n\nconst ModalFooter = (props: DSModalSlideT.FooterProps) => {\n const propsWithDefault = useMemoMergePropsWithDefault<DSModalSlideT.FooterInternalProps>(props, footerDefaultProps);\n const { confirmLabel, rejectLabel, onConfirm, onReject, confirmProps, rejectProps } = propsWithDefault;\n const { getOwnerProps, getOwnerPropsArguments } = useOwnerProps(propsWithDefault);\n return (\n <StyledFooterWrapper className=\"em-ds-modal-slide__footer-wrapper\">\n {!!onReject && (\n <StyledRejectButton\n buttonType=\"outline\"\n className=\"action-reject\"\n data-testid=\"modal-footer-reject-btn\"\n onClick={onReject}\n {...rejectProps}\n ml=\"xs\"\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {rejectLabel}\n </StyledRejectButton>\n )}\n {!!onConfirm && (\n <StyledConfirmButton\n buttonType=\"filled\"\n className=\"action-confirm\"\n data-testid=\"modal-footer-confirm-btn\"\n onClick={onConfirm}\n {...confirmProps}\n ml=\"xs\"\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {confirmLabel}\n </StyledConfirmButton>\n )}\n </StyledFooterWrapper>\n );\n};\n\nModalFooter.displayName = 'ModalFooter';\nconst DSModalSlideFooterWithSchema = describe(ModalFooter);\nDSModalSlideFooterWithSchema.propTypes = DSModalSlideFooterPropTypesSchema;\n\nexport { DSModalSlideFooterWithSchema };\n\nexport default ModalFooter;\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACUnB,SAEI,KAFJ;AATJ,SAAS,UAAU,8BAA8B,qBAAqB;AACtE,SAA6B,oBAAoB,yCAAyC;AAC1F,SAAS,qBAAqB,oBAAoB,2BAA2B;AAE7E,MAAM,cAAc,CAAC,UAAqC;AACxD,QAAM,mBAAmB,6BAAgE,OAAO,kBAAkB;AAClH,QAAM,EAAE,cAAc,aAAa,WAAW,UAAU,cAAc,YAAY,IAAI;AACtF,QAAM,EAAE,eAAe,uBAAuB,IAAI,cAAc,gBAAgB;AAChF,SACE,qBAAC,uBAAoB,WAAU,qCAC5B;AAAA,KAAC,CAAC,YACD;AAAA,MAAC;AAAA;AAAA,QACC,YAAW;AAAA,QACX,WAAU;AAAA,QACV,eAAY;AAAA,QACZ,SAAS;AAAA,QACR,GAAG;AAAA,QACJ,IAAG;AAAA,QACH;AAAA,QACA;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,IAED,CAAC,CAAC,aACD;AAAA,MAAC;AAAA;AAAA,QACC,YAAW;AAAA,QACX,WAAU;AAAA,QACV,eAAY;AAAA,QACZ,SAAS;AAAA,QACR,GAAG;AAAA,QACJ,IAAG;AAAA,QACH;AAAA,QACA;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,KAEJ;AAEJ;AAEA,YAAY,cAAc;AAC1B,MAAM,+BAA+B,SAAS,WAAW;AACzD,6BAA6B,YAAY;AAIzC,IAAO,iBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -14,9 +14,9 @@ import {
|
|
|
14
14
|
import { DSModalSlideDataTestIds } from "../DSModalSlideDefinitions.js";
|
|
15
15
|
const ModalHeader = (props) => {
|
|
16
16
|
const propsWithDefault = useMemoMergePropsWithDefault(props, headerDefaultProps);
|
|
17
|
-
const { innerRef, title: headerTitle, onClose, toolbar } = propsWithDefault;
|
|
17
|
+
const { innerRef, title: headerTitle, onClose, toolbar, headingLevel, modalTitleId } = propsWithDefault;
|
|
18
18
|
return /* @__PURE__ */ jsxs(HeaderWrapper, { children: [
|
|
19
|
-
/* @__PURE__ */ jsx(StyledHeaderLeftSide, { className: "em-ds-modal-slide__header-left-side", children: /* @__PURE__ */ jsx(StyledHeader, { className: "em-ds-modal-slide__header", children: /* @__PURE__ */ jsx(StyledTitle, { className: "em-ds-modal-slide__title", children: headerTitle }) }) }),
|
|
19
|
+
/* @__PURE__ */ jsx(StyledHeaderLeftSide, { className: "em-ds-modal-slide__header-left-side", children: /* @__PURE__ */ jsx(StyledHeader, { className: "em-ds-modal-slide__header", children: /* @__PURE__ */ jsx(StyledTitle, { id: modalTitleId, variant: headingLevel, className: "em-ds-modal-slide__title", children: headerTitle }) }) }),
|
|
20
20
|
toolbar,
|
|
21
21
|
toolbar && /* @__PURE__ */ jsx(StyledSeparator, { isVertical: true }),
|
|
22
22
|
/* @__PURE__ */ jsx(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/Header.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { describe, useMemoMergePropsWithDefault } from '@elliemae/ds-props-helpers';\nimport { Close } from '@elliemae/ds-icons';\nimport { type DSModalSlideT, headerDefaultProps, DSModalSlideHeaderPropTypesSchema } from '../react-desc-prop-types.js';\nimport {\n StyledHeader,\n StyledHeaderLeftSide,\n StyledTitle,\n HeaderWrapper,\n StyledSeparator,\n StyledCloseButton,\n} from '../styled.js';\nimport { DSModalSlideDataTestIds } from '../DSModalSlideDefinitions.js';\n\nconst ModalHeader = (props: DSModalSlideT.HeaderProps) => {\n const propsWithDefault = useMemoMergePropsWithDefault<DSModalSlideT.HeaderInternalProps>(props, headerDefaultProps);\n const { innerRef, title: headerTitle, onClose, toolbar } = propsWithDefault;\n return (\n <HeaderWrapper>\n <StyledHeaderLeftSide className=\"em-ds-modal-slide__header-left-side\">\n <StyledHeader className=\"em-ds-modal-slide__header\">\n <StyledTitle className=\"em-ds-modal-slide__title\"
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACkBnB,SAGM,KAHN;AAjBJ,SAAS,UAAU,oCAAoC;AACvD,SAAS,aAAa;AACtB,SAA6B,oBAAoB,yCAAyC;AAC1F;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,+BAA+B;AAExC,MAAM,cAAc,CAAC,UAAqC;AACxD,QAAM,mBAAmB,6BAAgE,OAAO,kBAAkB;AAClH,QAAM,EAAE,UAAU,OAAO,aAAa,SAAS,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { describe, useMemoMergePropsWithDefault } from '@elliemae/ds-props-helpers';\nimport { Close } from '@elliemae/ds-icons';\nimport { type DSModalSlideT, headerDefaultProps, DSModalSlideHeaderPropTypesSchema } from '../react-desc-prop-types.js';\nimport {\n StyledHeader,\n StyledHeaderLeftSide,\n StyledTitle,\n HeaderWrapper,\n StyledSeparator,\n StyledCloseButton,\n} from '../styled.js';\nimport { DSModalSlideDataTestIds } from '../DSModalSlideDefinitions.js';\n\nconst ModalHeader = (props: DSModalSlideT.HeaderProps) => {\n const propsWithDefault = useMemoMergePropsWithDefault<DSModalSlideT.HeaderInternalProps>(props, headerDefaultProps);\n const { innerRef, title: headerTitle, onClose, toolbar, headingLevel, modalTitleId } = propsWithDefault;\n return (\n <HeaderWrapper>\n <StyledHeaderLeftSide className=\"em-ds-modal-slide__header-left-side\">\n <StyledHeader className=\"em-ds-modal-slide__header\">\n <StyledTitle id={modalTitleId} variant={headingLevel} className=\"em-ds-modal-slide__title\">\n {headerTitle}\n </StyledTitle>\n </StyledHeader>\n </StyledHeaderLeftSide>\n {toolbar}\n {toolbar && <StyledSeparator isVertical />}\n <StyledCloseButton\n data-testid={DSModalSlideDataTestIds.CLOSE_BUTTON}\n aria-label=\"Close modal slide\"\n buttonType=\"icon\"\n onClick={onClose}\n innerRef={innerRef}\n >\n <Close aria-label=\"Close modal slide\" size=\"s\" />\n </StyledCloseButton>\n </HeaderWrapper>\n );\n};\n\nModalHeader.displayName = 'ModalHeader';\nconst DSModalSlideHeaderWithSchema = describe(ModalHeader);\nDSModalSlideHeaderWithSchema.propTypes = DSModalSlideHeaderPropTypesSchema;\n\nexport { DSModalSlideHeaderWithSchema };\n\nexport default ModalHeader;\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACkBnB,SAGM,KAHN;AAjBJ,SAAS,UAAU,oCAAoC;AACvD,SAAS,aAAa;AACtB,SAA6B,oBAAoB,yCAAyC;AAC1F;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,+BAA+B;AAExC,MAAM,cAAc,CAAC,UAAqC;AACxD,QAAM,mBAAmB,6BAAgE,OAAO,kBAAkB;AAClH,QAAM,EAAE,UAAU,OAAO,aAAa,SAAS,SAAS,cAAc,aAAa,IAAI;AACvF,SACE,qBAAC,iBACC;AAAA,wBAAC,wBAAqB,WAAU,uCAC9B,8BAAC,gBAAa,WAAU,6BACtB,8BAAC,eAAY,IAAI,cAAc,SAAS,cAAc,WAAU,4BAC7D,uBACH,GACF,GACF;AAAA,IACC;AAAA,IACA,WAAW,oBAAC,mBAAgB,YAAU,MAAC;AAAA,IACxC;AAAA,MAAC;AAAA;AAAA,QACC,eAAa,wBAAwB;AAAA,QACrC,cAAW;AAAA,QACX,YAAW;AAAA,QACX,SAAS;AAAA,QACT;AAAA,QAEA,8BAAC,SAAM,cAAW,qBAAoB,MAAK,KAAI;AAAA;AAAA,IACjD;AAAA,KACF;AAEJ;AAEA,YAAY,cAAc;AAC1B,MAAM,+BAA+B,SAAS,WAAW;AACzD,6BAA6B,YAAY;AAIzC,IAAO,iBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -18,7 +18,9 @@ const defaultProps = {
|
|
|
18
18
|
};
|
|
19
19
|
const headerDefaultProps = {
|
|
20
20
|
title: "",
|
|
21
|
-
onClose: () => null
|
|
21
|
+
onClose: () => null,
|
|
22
|
+
headingLevel: "h3",
|
|
23
|
+
modalTitleId: '"ds-modal-slide-title"'
|
|
22
24
|
};
|
|
23
25
|
const footerDefaultProps = {
|
|
24
26
|
confirmLabel: "Confirm",
|
|
@@ -76,7 +78,9 @@ const DSModalSlideHeaderPropTypes = {
|
|
|
76
78
|
title: PropTypes.string.description("modal title"),
|
|
77
79
|
onClose: PropTypes.func.description("on modal close callback"),
|
|
78
80
|
toolbar: PropTypes.node.description("modal toolbar comoponent"),
|
|
79
|
-
innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description("Ref to the modal slide")
|
|
81
|
+
innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description("Ref to the modal slide"),
|
|
82
|
+
headingLevel: PropTypes.string.description("heading level for modal title"),
|
|
83
|
+
modalTitleId: PropTypes.string.description("id of the modal title")
|
|
80
84
|
};
|
|
81
85
|
const DSModalSlideHeaderPropTypesSchema = DSModalSlideHeaderPropTypes;
|
|
82
86
|
const DSModalSlideFooterPropTypes = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/react-desc-prop-types.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\n/* eslint-disable @typescript-eslint/no-empty-interface */\nimport type { GlobalAttributesT, XstyledProps, DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';\nimport {\n PropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n getPropsPerDatatestIdPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { DSModalSlideDataTestIds } from './DSModalSlideDefinitions.js';\n\nexport declare namespace DSModalSlideT {\n type PropsT<D, R, O, E> = Partial<D> & R & O & Omit<GlobalAttributesT<E>, keyof D | keyof R | keyof O> & XstyledProps;\n type InternalPropsT<D, R, O, E> = D & R & O & Omit<GlobalAttributesT<E>, keyof D | keyof R | keyof O> & XstyledProps;\n\n export interface RequiredProps {\n getContainer: () => HTMLElement;\n }\n\n export interface DefaultProps {\n isOpen: boolean;\n centered: boolean;\n fullWidth: boolean;\n fadeOut: number;\n fadeIn: number;\n overrideHeight: boolean;\n onClose: () => void;\n }\n\n export interface OptionalProps {\n header?: JSX.Element;\n footer?: React.ReactNode;\n children?: React.ReactNode;\n innerRef?: React.MutableRefObject<HTMLDivElement | null> | React.RefCallback<HTMLDivElement>;\n }\n\n export interface FooterRequiredProps {}\n\n export interface FooterDefaultProps {\n confirmLabel: string;\n rejectLabel: string;\n confirmProps: {\n disabled: boolean;\n innerRef?: React.MutableRefObject<HTMLButtonElement | null> | React.RefCallback<HTMLButtonElement>;\n };\n rejectProps: { disabled: boolean };\n }\n\n export interface FooterOptionalProps {\n onConfirm: () => void;\n onReject: () => void;\n }\n\n export interface HeaderRequiredProps {}\n\n export interface HeaderDefaultProps {\n title: string;\n onClose: () => void;\n }\n\n export interface HeaderOptionalProps {\n toolbar?: React.ReactNode;\n innerRef?: React.MutableRefObject<HTMLButtonElement | null> | React.RefCallback<HTMLButtonElement>;\n }\n\n export type Props = PropsT<DefaultProps, RequiredProps, OptionalProps, HTMLElement>;\n\n export type InternalProps = InternalPropsT<DefaultProps, RequiredProps, OptionalProps, HTMLElement>;\n\n export type HeaderProps = PropsT<HeaderDefaultProps, HeaderRequiredProps, HeaderOptionalProps, HTMLButtonElement>;\n\n export type HeaderInternalProps = InternalPropsT<\n HeaderDefaultProps,\n HeaderRequiredProps,\n HeaderOptionalProps,\n HTMLButtonElement\n >;\n\n export type FooterProps = PropsT<FooterDefaultProps, FooterRequiredProps, FooterOptionalProps, HTMLDivElement>;\n\n export type FooterInternalProps = InternalPropsT<\n FooterDefaultProps,\n FooterRequiredProps,\n FooterOptionalProps,\n HTMLDivElement\n >;\n}\n\nexport const defaultProps: DSModalSlideT.DefaultProps = {\n isOpen: false,\n centered: false,\n fullWidth: false,\n fadeOut: 1500,\n fadeIn: 1500,\n overrideHeight: false,\n onClose: () => {},\n};\n\nexport const headerDefaultProps: DSModalSlideT.HeaderDefaultProps = {\n title: '',\n onClose: () => null,\n};\n\nexport const footerDefaultProps: DSModalSlideT.FooterDefaultProps = {\n confirmLabel: 'Confirm',\n rejectLabel: 'Cancel',\n confirmProps: { disabled: false },\n rejectProps: { disabled: false },\n};\n\nexport const DSModalSlidePropTypes: DSPropTypesSchema<DSModalSlideT.Props> = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\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.node]).isRequired.description('Main content of the modal'),\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 * If the modal slide has a footer\n */\n footer: PropTypes.element.description('If the modal slide has a footer'),\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 getContainer: PropTypes.func.description('Should return the container of the modal slide').isRequired,\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the modal slide'),\n onClose: PropTypes.func.description('On modal slide close callback'),\n};\n\nexport const DSModalSlidePropTypesSchema =\n DSModalSlidePropTypes as unknown as React.WeakValidationMap<DSModalSlideT.Props>;\n\nexport const DSModalSlideHeaderPropTypes: DSPropTypesSchema<DSModalSlideT.HeaderProps> = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n title: PropTypes.string.description('modal title'),\n onClose: PropTypes.func.description('on modal close callback'),\n toolbar: PropTypes.node.description('modal toolbar comoponent'),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the modal slide'),\n};\n\nexport const DSModalSlideHeaderPropTypesSchema =\n DSModalSlideHeaderPropTypes as unknown as React.WeakValidationMap<DSModalSlideT.HeaderProps>;\n\nexport const DSModalSlideFooterPropTypes: DSPropTypesSchema<DSModalSlideT.FooterProps> = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\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 ...getPropsPerDatatestIdPropTypes(DSModalSlideDataTestIds),\n};\n\nexport const DSModalSlideFooterPropTypesSchema =\n DSModalSlideFooterPropTypes as unknown as ValidationMap<DSModalSlideT.FooterProps>;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\n/* eslint-disable @typescript-eslint/no-empty-interface */\nimport type { GlobalAttributesT, XstyledProps, DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';\nimport type { DSTypographyT } from '@elliemae/ds-typography';\nimport {\n PropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n getPropsPerDatatestIdPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { DSModalSlideDataTestIds } from './DSModalSlideDefinitions.js';\n\nexport declare namespace DSModalSlideT {\n type PropsT<D, R, O, E> = Partial<D> & R & O & Omit<GlobalAttributesT<E>, keyof D | keyof R | keyof O> & XstyledProps;\n type InternalPropsT<D, R, O, E> = D & R & O & Omit<GlobalAttributesT<E>, keyof D | keyof R | keyof O> & XstyledProps;\n\n export interface RequiredProps {\n getContainer: () => HTMLElement;\n }\n\n export interface DefaultProps {\n isOpen: boolean;\n centered: boolean;\n fullWidth: boolean;\n fadeOut: number;\n fadeIn: number;\n overrideHeight: boolean;\n onClose: () => void;\n }\n\n export interface OptionalProps {\n header?: JSX.Element;\n footer?: React.ReactNode;\n children?: React.ReactNode;\n innerRef?: React.MutableRefObject<HTMLDivElement | null> | React.RefCallback<HTMLDivElement>;\n }\n\n export interface FooterRequiredProps {}\n\n export interface FooterDefaultProps {\n confirmLabel: string;\n rejectLabel: string;\n confirmProps: {\n disabled: boolean;\n innerRef?: React.MutableRefObject<HTMLButtonElement | null> | React.RefCallback<HTMLButtonElement>;\n };\n rejectProps: { disabled: boolean };\n }\n\n export interface FooterOptionalProps {\n onConfirm: () => void;\n onReject: () => void;\n }\n\n export interface HeaderRequiredProps {}\n\n export interface HeaderDefaultProps {\n title: string;\n onClose: () => void;\n headingLevel: DSTypographyT.HeadingVariants;\n modalTitleId: string;\n }\n\n export interface HeaderOptionalProps {\n toolbar?: React.ReactNode;\n innerRef?: React.MutableRefObject<HTMLButtonElement | null> | React.RefCallback<HTMLButtonElement>;\n }\n\n export type Props = PropsT<DefaultProps, RequiredProps, OptionalProps, HTMLElement>;\n\n export type InternalProps = InternalPropsT<DefaultProps, RequiredProps, OptionalProps, HTMLElement>;\n\n export type HeaderProps = PropsT<HeaderDefaultProps, HeaderRequiredProps, HeaderOptionalProps, HTMLButtonElement>;\n\n export type HeaderInternalProps = InternalPropsT<\n HeaderDefaultProps,\n HeaderRequiredProps,\n HeaderOptionalProps,\n HTMLButtonElement\n >;\n\n export type FooterProps = PropsT<FooterDefaultProps, FooterRequiredProps, FooterOptionalProps, HTMLDivElement>;\n\n export type FooterInternalProps = InternalPropsT<\n FooterDefaultProps,\n FooterRequiredProps,\n FooterOptionalProps,\n HTMLDivElement\n >;\n}\n\nexport const defaultProps: DSModalSlideT.DefaultProps = {\n isOpen: false,\n centered: false,\n fullWidth: false,\n fadeOut: 1500,\n fadeIn: 1500,\n overrideHeight: false,\n onClose: () => {},\n};\n\nexport const headerDefaultProps: DSModalSlideT.HeaderDefaultProps = {\n title: '',\n onClose: () => null,\n headingLevel: 'h3',\n modalTitleId: '\"ds-modal-slide-title\"',\n};\n\nexport const footerDefaultProps: DSModalSlideT.FooterDefaultProps = {\n confirmLabel: 'Confirm',\n rejectLabel: 'Cancel',\n confirmProps: { disabled: false },\n rejectProps: { disabled: false },\n};\n\nexport const DSModalSlidePropTypes: DSPropTypesSchema<DSModalSlideT.Props> = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\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.node]).isRequired.description('Main content of the modal'),\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 * If the modal slide has a footer\n */\n footer: PropTypes.element.description('If the modal slide has a footer'),\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 getContainer: PropTypes.func.description('Should return the container of the modal slide').isRequired,\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the modal slide'),\n onClose: PropTypes.func.description('On modal slide close callback'),\n};\n\nexport const DSModalSlidePropTypesSchema =\n DSModalSlidePropTypes as unknown as React.WeakValidationMap<DSModalSlideT.Props>;\n\nexport const DSModalSlideHeaderPropTypes: DSPropTypesSchema<DSModalSlideT.HeaderProps> = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n title: PropTypes.string.description('modal title'),\n onClose: PropTypes.func.description('on modal close callback'),\n toolbar: PropTypes.node.description('modal toolbar comoponent'),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description('Ref to the modal slide'),\n headingLevel: PropTypes.string.description('heading level for modal title'),\n modalTitleId: PropTypes.string.description('id of the modal title'),\n};\n\nexport const DSModalSlideHeaderPropTypesSchema =\n DSModalSlideHeaderPropTypes as unknown as React.WeakValidationMap<DSModalSlideT.HeaderProps>;\n\nexport const DSModalSlideFooterPropTypes: DSPropTypesSchema<DSModalSlideT.FooterProps> = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\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 ...getPropsPerDatatestIdPropTypes(DSModalSlideDataTestIds),\n};\n\nexport const DSModalSlideFooterPropTypesSchema =\n DSModalSlideFooterPropTypes as unknown as ValidationMap<DSModalSlideT.FooterProps>;\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACIvB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,+BAA+B;AAiFjC,MAAM,eAA2C;AAAA,EACtD,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,WAAW;AAAA,EACX,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,SAAS,MAAM;AAAA,EAAC;AAClB;AAEO,MAAM,qBAAuD;AAAA,EAClE,OAAO;AAAA,EACP,SAAS,MAAM;AAAA,EACf,cAAc;AAAA,EACd,cAAc;AAChB;AAEO,MAAM,qBAAuD;AAAA,EAClE,cAAc;AAAA,EACd,aAAa;AAAA,EACb,cAAc,EAAE,UAAU,MAAM;AAAA,EAChC,aAAa,EAAE,UAAU,MAAM;AACjC;AAEO,MAAM,wBAAgE;AAAA,EAC3E,GAAG;AAAA,EACH,GAAG;AAAA;AAAA;AAAA;AAAA,EAIH,UAAU,UAAU,KAAK,YAAY,uCAAuC;AAAA;AAAA;AAAA;AAAA,EAI5E,QAAQ,UAAU,KAAK,YAAY,sCAAsC;AAAA;AAAA;AAAA;AAAA,EAIzE,UAAU,UAAU,UAAU,CAAC,UAAU,IAAI,CAAC,EAAE,WAAW,YAAY,2BAA2B;AAAA;AAAA;AAAA;AAAA,EAIlG,WAAW,UAAU,KAAK,YAAY,gDAAgD;AAAA;AAAA;AAAA;AAAA,EAItF,QAAQ,UAAU,QAAQ,YAAY,uEAAuE;AAAA;AAAA;AAAA;AAAA,EAI7G,QAAQ,UAAU,QAAQ,YAAY,iCAAiC;AAAA;AAAA;AAAA;AAAA,EAIvE,SAAS,UAAU,OAAO,YAAY,mBAAmB;AAAA;AAAA;AAAA;AAAA,EAIzD,QAAQ,UAAU,OAAO,YAAY,kBAAkB;AAAA;AAAA;AAAA;AAAA,EAIvD,gBAAgB,UAAU,KAAK,YAAY,6DAA6D;AAAA,EACxG,cAAc,UAAU,KAAK,YAAY,gDAAgD,EAAE;AAAA,EAC3F,UAAU,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,MAAM,CAAC,EAAE,YAAY,wBAAwB;AAAA,EACtG,SAAS,UAAU,KAAK,YAAY,+BAA+B;AACrE;AAEO,MAAM,8BACX;AAEK,MAAM,8BAA4E;AAAA,EACvF,GAAG;AAAA,EACH,GAAG;AAAA,EACH,OAAO,UAAU,OAAO,YAAY,aAAa;AAAA,EACjD,SAAS,UAAU,KAAK,YAAY,yBAAyB;AAAA,EAC7D,SAAS,UAAU,KAAK,YAAY,0BAA0B;AAAA,EAC9D,UAAU,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,MAAM,CAAC,EAAE,YAAY,wBAAwB;AAAA,EACtG,cAAc,UAAU,OAAO,YAAY,+BAA+B;AAAA,EAC1E,cAAc,UAAU,OAAO,YAAY,uBAAuB;AACpE;AAEO,MAAM,oCACX;AAEK,MAAM,8BAA4E;AAAA,EACvF,GAAG;AAAA,EACH,GAAG;AAAA;AAAA;AAAA;AAAA,EAIH,cAAc,UAAU,OAAO,YAAY,eAAe;AAAA;AAAA;AAAA;AAAA,EAI1D,aAAa,UAAU,OAAO,YAAY,cAAc;AAAA;AAAA;AAAA;AAAA,EAIxD,WAAW,UAAU,KAAK,YAAY,UAAU;AAAA;AAAA;AAAA;AAAA,EAIhD,UAAU,UAAU,KAAK,YAAY,UAAU;AAAA;AAAA;AAAA;AAAA,EAI/C,cAAc,UAAU,MAAM;AAAA,IAC5B,UAAU,UAAU;AAAA,EACtB,CAAC,EAAE,YAAY,uCAAuC;AAAA;AAAA;AAAA;AAAA,EAItD,aAAa,UAAU,MAAM;AAAA,IAC3B,UAAU,UAAU;AAAA,EACtB,CAAC,EAAE,YAAY,sCAAsC;AAAA,EACrD,GAAG,+BAA+B,uBAAuB;AAC3D;AAEO,MAAM,oCACX;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/styled.js
CHANGED
|
@@ -3,6 +3,7 @@ import { DSButtonV2 } from "@elliemae/ds-button-v2";
|
|
|
3
3
|
import { Grid } from "@elliemae/ds-grid";
|
|
4
4
|
import { DSSeparatorV2 } from "@elliemae/ds-separator";
|
|
5
5
|
import { styled, kfrm } from "@elliemae/ds-system";
|
|
6
|
+
import { DSTypography } from "@elliemae/ds-typography";
|
|
6
7
|
import { DSModalSlideName, DSModalSlideSlots } from "./DSModalSlideDefinitions.js";
|
|
7
8
|
const overlayAnimation = kfrm`{
|
|
8
9
|
0% {
|
|
@@ -44,7 +45,6 @@ const StyledModalWrapper = styled("div", {
|
|
|
44
45
|
display: flex;
|
|
45
46
|
height: calc(${(props) => props.height} * 1px);
|
|
46
47
|
width: 100%;
|
|
47
|
-
overflow: hidden;
|
|
48
48
|
top: 0;
|
|
49
49
|
left: 0;
|
|
50
50
|
z-index: 10;
|
|
@@ -103,9 +103,11 @@ const StyledGridContent = styled(Grid)`
|
|
|
103
103
|
-webkit-transform-style: preserve-3d;
|
|
104
104
|
transform-style: preserve-3d;
|
|
105
105
|
`;
|
|
106
|
-
const StyledTitle = styled(
|
|
106
|
+
const StyledTitle = styled(DSTypography, { name: DSModalSlideName, slot: DSModalSlideSlots.TITLE })`
|
|
107
107
|
font-size: 1.3846rem;
|
|
108
108
|
color: neutral-700;
|
|
109
|
+
white-space: normal;
|
|
110
|
+
word-break: break-word;
|
|
109
111
|
`;
|
|
110
112
|
const StyledHeaderLeftSide = styled("div", { name: DSModalSlideName, slot: DSModalSlideSlots.HEADER_LEFT_SIDE })`
|
|
111
113
|
width: 100%;
|
|
@@ -113,7 +115,8 @@ const StyledHeaderLeftSide = styled("div", { name: DSModalSlideName, slot: DSMod
|
|
|
113
115
|
flex-direction: row;
|
|
114
116
|
text-align: left;
|
|
115
117
|
padding: 0.61538rem 1.23077rem 0.61538rem 0;
|
|
116
|
-
height: 3.69231rem;
|
|
118
|
+
min-height: 3.69231rem;
|
|
119
|
+
height: auto;
|
|
117
120
|
|
|
118
121
|
.em-ds-button {
|
|
119
122
|
.em-ds-icon {
|
|
@@ -129,7 +132,6 @@ const StyledActualContent = styled("div", { name: DSModalSlideName, slot: DSModa
|
|
|
129
132
|
flex-direction: column;
|
|
130
133
|
`;
|
|
131
134
|
const StyledHeader = styled("div", { name: DSModalSlideName, slot: DSModalSlideSlots.HEADER })`
|
|
132
|
-
padding: 0 1.23077rem;
|
|
133
135
|
display: flex;
|
|
134
136
|
flex-direction: column;
|
|
135
137
|
justify-content: center;
|
|
@@ -137,13 +139,13 @@ const StyledHeader = styled("div", { name: DSModalSlideName, slot: DSModalSlideS
|
|
|
137
139
|
const StyledFooter = styled("div", { name: DSModalSlideName, slot: DSModalSlideSlots.FOOTER })``;
|
|
138
140
|
const StyledFooterWrapper = styled("div", { name: DSModalSlideName, slot: DSModalSlideSlots.FOOTER_WRAPPER })`
|
|
139
141
|
width: 100%;
|
|
142
|
+
height: auto;
|
|
140
143
|
display: flex;
|
|
141
|
-
flex-
|
|
144
|
+
flex-wrap: wrap;
|
|
142
145
|
text-align: left;
|
|
143
146
|
align-items: center;
|
|
144
147
|
justify-content: flex-end;
|
|
145
|
-
padding: 0.61538rem 1.23077rem 0
|
|
146
|
-
height: 3.69231rem;
|
|
148
|
+
padding: 0.61538rem 1.23077rem 0 0;
|
|
147
149
|
.em-ds-button {
|
|
148
150
|
margin-left: 1.23077rem;
|
|
149
151
|
}
|
|
@@ -152,8 +154,9 @@ const HeaderWrapper = styled("div", { name: DSModalSlideName, slot: DSModalSlide
|
|
|
152
154
|
display: flex;
|
|
153
155
|
justify-content: space-between;
|
|
154
156
|
width: 100%;
|
|
155
|
-
align-items:
|
|
156
|
-
height: 48px;
|
|
157
|
+
align-items: flex-start;
|
|
158
|
+
min-height: 48px;
|
|
159
|
+
height: auto;
|
|
157
160
|
overflow: hidden;
|
|
158
161
|
`;
|
|
159
162
|
const StyledSeparator = styled(DSSeparatorV2, { name: DSModalSlideName, slot: DSModalSlideSlots.SEPARATOR })`
|
|
@@ -161,7 +164,7 @@ const StyledSeparator = styled(DSSeparatorV2, { name: DSModalSlideName, slot: DS
|
|
|
161
164
|
background: ${(props) => props.theme.colors.neutral["300"]};
|
|
162
165
|
`;
|
|
163
166
|
const StyledCloseButton = styled(DSButtonV2, { name: DSModalSlideName, slot: DSModalSlideSlots.CLOSE_BUTTON })`
|
|
164
|
-
margin: ${(props) => props.theme.space.xs};
|
|
167
|
+
margin: 0.61538rem ${(props) => props.theme.space.xs};
|
|
165
168
|
`;
|
|
166
169
|
const StyledContentWrapper = styled(Grid, { name: DSModalSlideName, slot: DSModalSlideSlots.CONTENT_WRAPPER })`
|
|
167
170
|
overflow: auto;
|
|
@@ -171,10 +174,20 @@ const StyledContentWrapper = styled(Grid, { name: DSModalSlideName, slot: DSModa
|
|
|
171
174
|
outline-offset: -1px;
|
|
172
175
|
}
|
|
173
176
|
`;
|
|
177
|
+
const StyledRejectButton = styled(DSButtonV2, { name: DSModalSlideName, slot: DSModalSlideSlots.REJECT_BUTTON })`
|
|
178
|
+
margin-bottom: 0.61538rem;
|
|
179
|
+
`;
|
|
180
|
+
const StyledConfirmButton = styled(DSButtonV2, {
|
|
181
|
+
name: DSModalSlideName,
|
|
182
|
+
slot: DSModalSlideSlots.CONFIRM_BUTTON
|
|
183
|
+
})`
|
|
184
|
+
margin-bottom: 0.61538rem;
|
|
185
|
+
`;
|
|
174
186
|
export {
|
|
175
187
|
HeaderWrapper,
|
|
176
188
|
StyledActualContent,
|
|
177
189
|
StyledCloseButton,
|
|
190
|
+
StyledConfirmButton,
|
|
178
191
|
StyledContent,
|
|
179
192
|
StyledContentWrapper,
|
|
180
193
|
StyledFooter,
|
|
@@ -184,6 +197,7 @@ export {
|
|
|
184
197
|
StyledHeaderLeftSide,
|
|
185
198
|
StyledModalWrapper,
|
|
186
199
|
StyledOverlay,
|
|
200
|
+
StyledRejectButton,
|
|
187
201
|
StyledSeparator,
|
|
188
202
|
StyledTitle
|
|
189
203
|
};
|
package/dist/esm/styled.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/styled.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport { DSButtonV2 } from '@elliemae/ds-button-v2';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSSeparatorV2 } from '@elliemae/ds-separator';\nimport { styled, kfrm } from '@elliemae/ds-system';\nimport { DSModalSlideName, DSModalSlideSlots } from './DSModalSlideDefinitions.js';\n\nconst overlayAnimation = kfrm`{\n 0% {\n background: rgba(37, 41, 47, 0);\n }\n 100% {\n background: rgba(37, 41, 47, 0.25);\n }\n}`;\n\nconst overlayAnimationOut = kfrm`{\n 0% {\n background: rgba(37, 41, 47, 0.25);\n }\n 100% {\n background: rgba(37, 41, 47, 0);\n }\n}`;\n\nconst contentAnimationOut = kfrm`{\n 0% {\n transform: translateX(0);\n }\n 100% {\n transform: translateX(100%);\n }\n}`;\n\nconst contentAnimationIn = kfrm`{\n 0% {\n transform: translateX(100%);\n }\n 100% {\n transform: translateX(0);\n }\n}`;\n\nexport const StyledModalWrapper = styled('div', {\n name: DSModalSlideName,\n slot: DSModalSlideSlots.ROOT,\n})<{ height: string | number }>`\n position: absolute;\n display: flex;\n height: calc(${(props) => props.height} * 1px);\n width: 100%;\n
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,kBAAkB;AAC3B,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAC9B,SAAS,QAAQ,YAAY;AAC7B,SAAS,kBAAkB,yBAAyB;AAEpD,MAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASzB,MAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5B,MAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5B,MAAM,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASpB,MAAM,qBAAqB,OAAO,OAAO;AAAA,EAC9C,MAAM;AAAA,EACN,MAAM,kBAAkB;AAC1B,CAAC;AAAA;AAAA;AAAA,iBAGgB,CAAC,UAAU,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport { DSButtonV2 } from '@elliemae/ds-button-v2';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSSeparatorV2 } from '@elliemae/ds-separator';\nimport { styled, kfrm } from '@elliemae/ds-system';\nimport { DSTypography } from '@elliemae/ds-typography';\nimport { DSModalSlideName, DSModalSlideSlots } from './DSModalSlideDefinitions.js';\n\nconst overlayAnimation = kfrm`{\n 0% {\n background: rgba(37, 41, 47, 0);\n }\n 100% {\n background: rgba(37, 41, 47, 0.25);\n }\n}`;\n\nconst overlayAnimationOut = kfrm`{\n 0% {\n background: rgba(37, 41, 47, 0.25);\n }\n 100% {\n background: rgba(37, 41, 47, 0);\n }\n}`;\n\nconst contentAnimationOut = kfrm`{\n 0% {\n transform: translateX(0);\n }\n 100% {\n transform: translateX(100%);\n }\n}`;\n\nconst contentAnimationIn = kfrm`{\n 0% {\n transform: translateX(100%);\n }\n 100% {\n transform: translateX(0);\n }\n}`;\n\nexport const StyledModalWrapper = styled('div', {\n name: DSModalSlideName,\n slot: DSModalSlideSlots.ROOT,\n})<{ height: string | number }>`\n position: absolute;\n display: flex;\n height: calc(${(props) => props.height} * 1px);\n width: 100%;\n top: 0;\n left: 0;\n z-index: 10;\n\n .em-ds-modal-v2__modal-wrapper {\n flex: 1;\n padding: 2.46rem 0;\n }\n\n .em-ds-modal-v2__modal-title {\n max-width: 80%;\n margin: 0 auto;\n }\n`;\n\nexport const StyledOverlay = styled('div', {\n name: DSModalSlideName,\n slot: DSModalSlideSlots.OVERLAY,\n})<{ disappearing: boolean; showing: boolean; fadeIn: number; fadeOut: number }>`\n height: 100%;\n width: 100%;\n background: rgba(37, 41, 47, 0.25);\n display: flex;\n animation: ${(props) => (props.disappearing ? overlayAnimationOut : overlayAnimation)}\n calc(${(props) => (props.disappearing ? props.fadeOut : props.fadeIn)} * 1ms) linear;\n\n ${(props) =>\n props.showing &&\n `display: flex;\n height: 100%;`}\n`;\n\nexport const StyledContent = styled('div', { name: DSModalSlideName, slot: DSModalSlideSlots.CONTENT })<{\n height: number | string;\n width: number | string;\n disappearing: boolean;\n fadeIn: number;\n fadeOut: number;\n}>`\n height: calc(${(props) => props.height} * 1px);\n background: neutral-000;\n box-shadow:\n 0 6px 20px 0 rgba(0, 0, 0, 0.24),\n 0 8px 17px 0 rgba(0, 0, 0, 0.19);\n width: calc(${(props) => props.width} * 1%);\n margin-left: auto;\n align-items: center;\n flex-direction: column;\n display: flex;\n overflow-y: auto;\n border: 1px solid neutral-300;\n border-left: 2px solid neutral-300;\n animation: ${(props) => (props.disappearing ? contentAnimationOut : contentAnimationIn)}\n calc(${(props) => (props.disappearing ? props.fadeOut / 2 : props.fadeIn / 2)} * 1ms) linear;\n .em-ds-separator-wrapper {\n margin-top: unset;\n }\n`;\n\nexport const StyledGridContent = styled(Grid)`\n height: 100%;\n width: 100%;\n max-height: 100%;\n overflow: hidden;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-transform-style: preserve-3d;\n transform-style: preserve-3d;\n`;\n\nexport const StyledTitle = styled(DSTypography, { name: DSModalSlideName, slot: DSModalSlideSlots.TITLE })`\n font-size: 1.3846rem;\n color: neutral-700;\n white-space: normal;\n word-break: break-word;\n`;\n\nexport const StyledHeaderLeftSide = styled('div', { name: DSModalSlideName, slot: DSModalSlideSlots.HEADER_LEFT_SIDE })`\n width: 100%;\n display: flex;\n flex-direction: row;\n text-align: left;\n padding: 0.61538rem 1.23077rem 0.61538rem 0;\n min-height: 3.69231rem;\n height: auto;\n\n .em-ds-button {\n .em-ds-icon {\n fill: brand-primary-600;\n }\n }\n .close-button {\n padding-left: 18px;\n }\n`;\n\nexport const StyledActualContent = styled('div', { name: DSModalSlideName, slot: DSModalSlideSlots.ACTUAL_CONTENT })`\n display: flex;\n flex-direction: column;\n`;\n\nexport const StyledHeader = styled('div', { name: DSModalSlideName, slot: DSModalSlideSlots.HEADER })`\n display: flex;\n flex-direction: column;\n justify-content: center;\n`;\n\nexport const StyledFooter = styled('div', { name: DSModalSlideName, slot: DSModalSlideSlots.FOOTER })``;\n\nexport const StyledFooterWrapper = styled('div', { name: DSModalSlideName, slot: DSModalSlideSlots.FOOTER_WRAPPER })`\n width: 100%;\n height: auto;\n display: flex;\n flex-wrap: wrap;\n text-align: left;\n align-items: center;\n justify-content: flex-end;\n padding: 0.61538rem 1.23077rem 0 0;\n .em-ds-button {\n margin-left: 1.23077rem;\n }\n`;\n\nexport const HeaderWrapper = styled('div', { name: DSModalSlideName, slot: DSModalSlideSlots.HEADER_WRAPPER })`\n display: flex;\n justify-content: space-between;\n width: 100%;\n align-items: flex-start;\n min-height: 48px;\n height: auto;\n overflow: hidden;\n`;\n\nexport const StyledSeparator = styled(DSSeparatorV2, { name: DSModalSlideName, slot: DSModalSlideSlots.SEPARATOR })`\n height: 33%;\n background: ${(props) => props.theme.colors.neutral['300']};\n`;\n\nexport const StyledCloseButton = styled(DSButtonV2, { name: DSModalSlideName, slot: DSModalSlideSlots.CLOSE_BUTTON })`\n margin: 0.61538rem ${(props) => props.theme.space.xs};\n`;\n\nexport const StyledContentWrapper = styled(Grid, { name: DSModalSlideName, slot: DSModalSlideSlots.CONTENT_WRAPPER })`\n overflow: auto;\n &:focus,\n &:focus-visible {\n outline: 1px solid ${({ theme }) => theme.colors.brand['600']};\n outline-offset: -1px;\n }\n`;\n\nexport const StyledRejectButton = styled(DSButtonV2, { name: DSModalSlideName, slot: DSModalSlideSlots.REJECT_BUTTON })`\n margin-bottom: 0.61538rem;\n`;\n\nexport const StyledConfirmButton = styled(DSButtonV2, {\n name: DSModalSlideName,\n slot: DSModalSlideSlots.CONFIRM_BUTTON,\n})`\n margin-bottom: 0.61538rem;\n`;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -13,6 +13,8 @@ export declare const DSModalSlideSlots: {
|
|
|
13
13
|
SEPARATOR: string;
|
|
14
14
|
CLOSE_BUTTON: string;
|
|
15
15
|
CONTENT_WRAPPER: string;
|
|
16
|
+
REJECT_BUTTON: string;
|
|
17
|
+
CONFIRM_BUTTON: string;
|
|
16
18
|
};
|
|
17
19
|
export declare const DSModalSlideDataTestIds: {
|
|
18
20
|
CLOSE_BUTTON: string;
|
|
@@ -28,4 +30,6 @@ export declare const DSModalSlideDataTestIds: {
|
|
|
28
30
|
HEADER_WRAPPER: `ds-modalslide-${string}`;
|
|
29
31
|
SEPARATOR: `ds-modalslide-${string}`;
|
|
30
32
|
CONTENT_WRAPPER: `ds-modalslide-${string}`;
|
|
33
|
+
REJECT_BUTTON: `ds-modalslide-${string}`;
|
|
34
|
+
CONFIRM_BUTTON: `ds-modalslide-${string}`;
|
|
31
35
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { GlobalAttributesT, XstyledProps, DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';
|
|
2
|
+
import type { DSTypographyT } from '@elliemae/ds-typography';
|
|
2
3
|
export declare namespace DSModalSlideT {
|
|
3
4
|
type PropsT<D, R, O, E> = Partial<D> & R & O & Omit<GlobalAttributesT<E>, keyof D | keyof R | keyof O> & XstyledProps;
|
|
4
5
|
type InternalPropsT<D, R, O, E> = D & R & O & Omit<GlobalAttributesT<E>, keyof D | keyof R | keyof O> & XstyledProps;
|
|
@@ -42,6 +43,8 @@ export declare namespace DSModalSlideT {
|
|
|
42
43
|
interface HeaderDefaultProps {
|
|
43
44
|
title: string;
|
|
44
45
|
onClose: () => void;
|
|
46
|
+
headingLevel: DSTypographyT.HeadingVariants;
|
|
47
|
+
modalTitleId: string;
|
|
45
48
|
}
|
|
46
49
|
interface HeaderOptionalProps {
|
|
47
50
|
toolbar?: React.ReactNode;
|
package/dist/types/styled.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export declare const StyledContent: import("styled-components").StyledComponent<
|
|
|
15
15
|
fadeOut: number;
|
|
16
16
|
} & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
|
|
17
17
|
export declare const StyledGridContent: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>>, never>;
|
|
18
|
-
export declare const StyledTitle: import("styled-components").StyledComponent<"
|
|
18
|
+
export declare const StyledTitle: import("styled-components").StyledComponent<import("react").FC<import("@elliemae/ds-typography").DSTypographyT.Props>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<import("react").FC<import("@elliemae/ds-typography").DSTypographyT.Props>>, never>;
|
|
19
19
|
export declare const StyledHeaderLeftSide: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
|
|
20
20
|
export declare const StyledActualContent: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
|
|
21
21
|
export declare const StyledHeader: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
|
|
@@ -31,3 +31,5 @@ export declare const StyledSeparator: import("styled-components").StyledComponen
|
|
|
31
31
|
}>, never>;
|
|
32
32
|
export declare const StyledCloseButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button-v2").DSButtonV2T.Props>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<import("react").ComponentType<import("@elliemae/ds-button-v2").DSButtonV2T.Props>>, never>;
|
|
33
33
|
export declare const StyledContentWrapper: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>>, never>;
|
|
34
|
+
export declare const StyledRejectButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button-v2").DSButtonV2T.Props>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<import("react").ComponentType<import("@elliemae/ds-button-v2").DSButtonV2T.Props>>, never>;
|
|
35
|
+
export declare const StyledConfirmButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button-v2").DSButtonV2T.Props>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<import("react").ComponentType<import("@elliemae/ds-button-v2").DSButtonV2T.Props>>, never>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-modal-slide",
|
|
3
|
-
"version": "3.60.0-next.
|
|
3
|
+
"version": "3.60.0-next.21",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Modal Slide",
|
|
6
6
|
"files": [
|
|
@@ -35,40 +35,37 @@
|
|
|
35
35
|
"reportFile": "tests.xml",
|
|
36
36
|
"indent": 4
|
|
37
37
|
},
|
|
38
|
-
"scripts": {
|
|
39
|
-
"dev": "cross-env NODE_ENV=development node ../../../scripts/build/build.mjs --watch",
|
|
40
|
-
"test": "pui-cli test --passWithNoTests --coverage=\"false\"",
|
|
41
|
-
"lint": "node ../../../scripts/lint.mjs --fix",
|
|
42
|
-
"lint:strict": "node ../../../scripts/lint-strict.mjs",
|
|
43
|
-
"dts": "node ../../../scripts/dts.mjs",
|
|
44
|
-
"build": "cross-env NODE_ENV=production node ../../../scripts/build/build.mjs",
|
|
45
|
-
"checkDeps": "npm exec ../../util/ds-codemods -- check-missing-packages --projectFolderPath=\"./\" --ignorePackagesGlobPattern=\"\" --ignoreFilesGlobPattern=\"**/test-ables/*,**/tests/*\""
|
|
46
|
-
},
|
|
47
38
|
"dependencies": {
|
|
48
|
-
"@elliemae/ds-button-v2": "3.60.0-next.
|
|
49
|
-
"@elliemae/ds-
|
|
50
|
-
"@elliemae/ds-
|
|
51
|
-
"@elliemae/ds-icons": "3.60.0-next.
|
|
52
|
-
"@elliemae/ds-
|
|
53
|
-
"@elliemae/ds-
|
|
54
|
-
"@elliemae/ds-system": "3.60.0-next.2"
|
|
39
|
+
"@elliemae/ds-button-v2": "3.60.0-next.21",
|
|
40
|
+
"@elliemae/ds-grid": "3.60.0-next.21",
|
|
41
|
+
"@elliemae/ds-props-helpers": "3.60.0-next.21",
|
|
42
|
+
"@elliemae/ds-icons": "3.60.0-next.21",
|
|
43
|
+
"@elliemae/ds-separator": "3.60.0-next.21",
|
|
44
|
+
"@elliemae/ds-system": "3.60.0-next.21"
|
|
55
45
|
},
|
|
56
46
|
"devDependencies": {
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"@elliemae/
|
|
60
|
-
"
|
|
61
|
-
"styled-components": "catalog:"
|
|
47
|
+
"jest": "^30.0.0",
|
|
48
|
+
"styled-components": "~5.3.9",
|
|
49
|
+
"@elliemae/ds-monorepo-devops": "3.60.0-next.21",
|
|
50
|
+
"@elliemae/ds-test-utils": "3.60.0-next.21"
|
|
62
51
|
},
|
|
63
52
|
"peerDependencies": {
|
|
64
|
-
"lodash-es": "
|
|
65
|
-
"react": "
|
|
66
|
-
"react-dom": "
|
|
67
|
-
"styled-components": "
|
|
53
|
+
"lodash-es": "^4.17.21",
|
|
54
|
+
"react": "^18.3.1",
|
|
55
|
+
"react-dom": "^18.3.1",
|
|
56
|
+
"styled-components": "~5.3.9"
|
|
68
57
|
},
|
|
69
58
|
"publishConfig": {
|
|
70
59
|
"access": "public",
|
|
71
60
|
"typeSafety": true
|
|
72
61
|
},
|
|
73
|
-
"
|
|
74
|
-
|
|
62
|
+
"scripts": {
|
|
63
|
+
"dev": "cross-env NODE_ENV=development node ../../../scripts/build/build.mjs --watch",
|
|
64
|
+
"test": "ds-monorepo-devops test --passWithNoTests --coverage=\"false\"",
|
|
65
|
+
"lint": "node ../../../scripts/lint.mjs --fix",
|
|
66
|
+
"lint:strict": "node ../../../scripts/lint-strict.mjs",
|
|
67
|
+
"dts": "node ../../../scripts/dts.mjs",
|
|
68
|
+
"build": "cross-env NODE_ENV=production node ../../../scripts/build/build.mjs",
|
|
69
|
+
"checkDeps": "npx -yes ../../util/ds-codemods check-missing-packages --projectFolderPath=\"./\" --ignorePackagesGlobPattern=\"\" --ignoreFilesGlobPattern=\"**/test-ables/*,**/tests/*\""
|
|
70
|
+
}
|
|
71
|
+
}
|