@stenajs-webui/modal 13.4.0 → 14.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/drawer/Drawer.d.ts +20 -0
- package/dist/components/drawer/Drawer.stories.d.ts +10 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.es.js +22 -5
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +22 -4
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as ReactModal from "react-modal";
|
|
3
|
+
export declare type SlideFrom = "left" | "right";
|
|
4
|
+
export interface DrawerProps extends Omit<ReactModal.Props, "closeTimeoutMS" | "portalClassName" | "overlayClassName" | "className" | "style" | "parentSelector"> {
|
|
5
|
+
width?: string;
|
|
6
|
+
background?: string;
|
|
7
|
+
zIndex?: number;
|
|
8
|
+
onRequestClose?: () => void;
|
|
9
|
+
/**
|
|
10
|
+
* Which direction the drawer will appear from.
|
|
11
|
+
* @default left
|
|
12
|
+
* @param {String('left'|'right')}
|
|
13
|
+
*/
|
|
14
|
+
slideFrom?: SlideFrom;
|
|
15
|
+
/**
|
|
16
|
+
* Portal target, HTML element. If not set, portal is not used.
|
|
17
|
+
*/
|
|
18
|
+
portalTarget?: HTMLElement | null;
|
|
19
|
+
}
|
|
20
|
+
export declare const Drawer: React.FC<DrawerProps>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare const _default: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: React.FC<import("./Drawer").DrawerProps>;
|
|
5
|
+
};
|
|
6
|
+
export default _default;
|
|
7
|
+
export declare const Standard: () => JSX.Element;
|
|
8
|
+
export declare const CustomWidth: () => JSX.Element;
|
|
9
|
+
export declare const CustomBackground: () => JSX.Element;
|
|
10
|
+
export declare const FromRight: () => JSX.Element;
|
package/dist/index.d.ts
CHANGED
package/dist/index.es.js
CHANGED
|
@@ -87,6 +87,23 @@ var BaseModal = function (_a) {
|
|
|
87
87
|
_c)) }, children))));
|
|
88
88
|
};
|
|
89
89
|
|
|
90
|
+
var css_248z$1 = ".Drawer-module_portal__3qRVU .Drawer-module_overlay__1eTzQ {\n position: fixed;\n inset: 0;\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM {\n box-shadow: var(--swui-shadow-modal);\n position: absolute;\n bottom: 0;\n top: 0;\n transition: -webkit-transform var(--swui-animation-time-medium) ease-in-out;\n transition: transform var(--swui-animation-time-medium) ease-in-out;\n transition: transform var(--swui-animation-time-medium) ease-in-out, -webkit-transform var(--swui-animation-time-medium) ease-in-out;\n -webkit-transform: translateX(var(--translate-x-outside-screen, 0));\n transform: translateX(var(--translate-x-outside-screen, 0));\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromLeft__3w1LJ {\n --translate-x-outside-screen: -100%;\n left: 0;\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromRight__V_rl4 {\n --translate-x-outside-screen: 100%;\n right: 0;\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_afterOpen__2zpe_ {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_beforeClose__1ub2d {\n -webkit-transform: translateX(var(--translate-x-outside-screen));\n transform: translateX(var(--translate-x-outside-screen));\n }\n";
|
|
91
|
+
var styles$1 = {"portal":"Drawer-module_portal__3qRVU","overlay":"Drawer-module_overlay__1eTzQ","content":"Drawer-module_content__2humM","slideFromLeft":"Drawer-module_slideFromLeft__3w1LJ","slideFromRight":"Drawer-module_slideFromRight__V_rl4","afterOpen":"Drawer-module_afterOpen__2zpe_","beforeClose":"Drawer-module_beforeClose__1ub2d"};
|
|
92
|
+
styleInject(css_248z$1);
|
|
93
|
+
|
|
94
|
+
var Drawer = function (_a) {
|
|
95
|
+
var _b = _a.width, width = _b === void 0 ? "370px" : _b, background = _a.background, zIndex = _a.zIndex, children = _a.children, _c = _a.slideFrom, slideFrom = _c === void 0 ? "left" : _c, portalTarget = _a.portalTarget, reactModalProps = __rest(_a, ["width", "background", "zIndex", "children", "slideFrom", "portalTarget"]);
|
|
96
|
+
return (createElement(ReactModal, __assign({ closeTimeoutMS: 250, portalClassName: styles$1.portal, overlayClassName: {
|
|
97
|
+
base: styles$1.overlay,
|
|
98
|
+
afterOpen: styles$1.afterOpen,
|
|
99
|
+
beforeClose: styles$1.beforeClose,
|
|
100
|
+
}, className: {
|
|
101
|
+
base: cx(styles$1.content, slideFrom === "left" ? styles$1.slideFromLeft : styles$1.slideFromRight),
|
|
102
|
+
afterOpen: styles$1.afterOpen,
|
|
103
|
+
beforeClose: styles$1.beforeClose,
|
|
104
|
+
}, style: { content: { width: width, background: background }, overlay: { zIndex: zIndex } }, parentSelector: portalTarget ? function () { return portalTarget; } : undefined }, reactModalProps), children));
|
|
105
|
+
};
|
|
106
|
+
|
|
90
107
|
var style = { overlay: { justifyContent: "center" } };
|
|
91
108
|
var CenterModal = function (_a) {
|
|
92
109
|
var _b;
|
|
@@ -95,13 +112,13 @@ var CenterModal = function (_a) {
|
|
|
95
112
|
createElement("div", { className: styles.content, style: (_b = {}, _b["--swui-modal-width"] = "fit-content", _b) }, children)));
|
|
96
113
|
};
|
|
97
114
|
|
|
98
|
-
var css_248z$
|
|
99
|
-
var styles$
|
|
100
|
-
styleInject(css_248z$
|
|
115
|
+
var css_248z$2 = ".LoadingModal-module_modal__1gDTX {\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n justify-content: center;\n -webkit-align-items: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: transparent;\n}\n\n.LoadingModal-module_overlay__2YRgt {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: var(--swui-overlay-bg-color);\n}\n";
|
|
116
|
+
var styles$2 = {"modal":"LoadingModal-module_modal__1gDTX","overlay":"LoadingModal-module_overlay__2YRgt"};
|
|
117
|
+
styleInject(css_248z$2);
|
|
101
118
|
|
|
102
119
|
var LoadingModal = function (_a) {
|
|
103
120
|
var headerIconLeft = _a.headerIconLeft, headerText = _a.headerText, modalProps = __rest(_a, ["headerIconLeft", "headerText"]);
|
|
104
|
-
return (createElement(ReactModal, __assign({}, modalProps, { isOpen: true, className: styles$
|
|
121
|
+
return (createElement(ReactModal, __assign({}, modalProps, { isOpen: true, className: styles$2.modal, overlayClassName: styles$2.overlay }),
|
|
105
122
|
createElement(Column, { spacing: 2, alignItems: "center" },
|
|
106
123
|
createElement(Box, { alignItems: "center", justifyContent: "center", width: "64px", height: "64px", borderRadius: "50%", background: "white", shadow: "modal" },
|
|
107
124
|
createElement(Spinner, { size: "small" })),
|
|
@@ -133,5 +150,5 @@ var Modal = function (_a) {
|
|
|
133
150
|
createElement(Box, { spacing: activeSpacing, indent: activeIndent }, children)));
|
|
134
151
|
};
|
|
135
152
|
|
|
136
|
-
export { BaseModal, CenterModal, DRAGGABLE_CANCEL_CLASSNAME, DRAGGABLE_HANDLE_CLASSNAME, LoadingModal, Modal, ModalHeader };
|
|
153
|
+
export { BaseModal, CenterModal, DRAGGABLE_CANCEL_CLASSNAME, DRAGGABLE_HANDLE_CLASSNAME, Drawer, LoadingModal, Modal, ModalHeader };
|
|
137
154
|
//# sourceMappingURL=index.es.js.map
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/modal/BaseModal.tsx","../src/components/center-modal/CenterModal.tsx","../src/components/loading-modal/LoadingModal.tsx","../src/components/modal/ModalHeader.tsx","../src/components/modal/Modal.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import * as React from \"react\";\nimport * as ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\n\nimport styles from \"./Modal.module.css\";\n\nexport interface BaseModalProps extends ReactModal.Props {\n width?: string;\n onRequestClose?: () => void;\n draggable?: boolean;\n}\n\nexport const DRAGGABLE_HANDLE_CLASSNAME = \"draggable-modal-handle\";\nexport const DRAGGABLE_CANCEL_CLASSNAME = \"draggable-modal-cancel\";\n\nexport const BaseModal: React.FC<BaseModalProps> = ({\n width,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n {...reactModalProps}\n >\n <Draggable\n handle={`.${DRAGGABLE_HANDLE_CLASSNAME}`}\n cancel={`.${DRAGGABLE_CANCEL_CLASSNAME}, button, [role=\"tooltip\"]`}\n bounds=\".ReactModal__Overlay\"\n disabled={!draggable}\n >\n <div\n style={{ [\"--swui-modal-width\" as string]: width }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n >\n {children}\n </div>\n </Draggable>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport * as ReactModal from \"react-modal\";\n\nimport styles from \"../modal/Modal.module.css\";\n\nexport interface CenterModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const CenterModal: React.FC<CenterModalProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n Box,\n Column,\n Heading,\n Indent,\n Row,\n Spacing,\n} from \"@stenajs-webui/core\";\nimport { Icon, Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport * as ReactModal from \"react-modal\";\nimport styles from \"./LoadingModal.module.css\";\n\nexport interface LoadingModalProps extends Omit<ReactModal.Props, \"isOpen\"> {\n headerText?: string;\n headerIconLeft?: IconDefinition;\n}\n\nexport const LoadingModal: React.FC<LoadingModalProps> = ({\n headerIconLeft,\n headerText,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\n className={styles.modal}\n overlayClassName={styles.overlay}\n >\n <Column spacing={2} alignItems={\"center\"}>\n <Box\n alignItems={\"center\"}\n justifyContent={\"center\"}\n width={\"64px\"}\n height={\"64px\"}\n borderRadius={\"50%\"}\n background={\"white\"}\n shadow={\"modal\"}\n >\n <Spinner size={\"small\"} />\n </Box>\n {(headerIconLeft || headerText) && (\n <>\n <Spacing />\n <Row indent={2}>\n {headerIconLeft && (\n <>\n <Icon size={14} icon={headerIconLeft} color={\"white\"} />\n <Indent />\n </>\n )}\n {headerText && (\n <Heading variant={\"h4\"} color={\"white\"}>\n {headerText}\n </Heading>\n )}\n </Row>\n </>\n )}\n </Column>\n </ReactModal>\n );\n};\n","import { faTimes } from \"@fortawesome/free-solid-svg-icons/faTimes\";\nimport { FlatButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseModal\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface ModalHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--swui-modal-header-border-color)\"}\n className={DRAGGABLE_HANDLE_CLASSNAME}\n >\n <Row flex={1} indent alignItems={\"center\"}>\n {headerText && (\n <Txt className={DRAGGABLE_CANCEL_CLASSNAME} size={\"large\"}>\n {headerText}\n </Txt>\n )}\n {header}\n </Row>\n <Box alignSelf={\"flex-start\"}>\n <FlatButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n aria-label={\"Close\"}\n leftIcon={faTimes}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseModal, BaseModalProps } from \"./BaseModal\";\nimport { ModalHeader, ModalHeaderProps } from \"./ModalHeader\";\n\nexport interface ModalProps extends BaseModalProps, ModalHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n}\n\nexport const Modal: React.FC<ModalProps> = ({\n header,\n headerText,\n children,\n spacing,\n indent,\n draggable = false,\n onRequestClose,\n closeButtonClassName,\n ...props\n}) => {\n const activeSpacing = typeof spacing === \"number\" ? spacing : 1;\n const activeIndent = typeof indent === \"number\" ? indent : 1;\n\n return (\n <BaseModal {...props} onRequestClose={onRequestClose} draggable={draggable}>\n <ModalHeader\n onRequestClose={onRequestClose}\n header={header}\n headerText={headerText}\n closeButtonClassName={closeButtonClassName}\n />\n <Box spacing={activeSpacing} indent={activeIndent}>\n {children}\n </Box>\n </BaseModal>\n );\n};\n"],"names":["React.createElement","styles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/modal/BaseModal.tsx","../src/components/drawer/Drawer.tsx","../src/components/center-modal/CenterModal.tsx","../src/components/loading-modal/LoadingModal.tsx","../src/components/modal/ModalHeader.tsx","../src/components/modal/Modal.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import * as React from \"react\";\nimport * as ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\n\nimport styles from \"./Modal.module.css\";\n\nexport interface BaseModalProps extends ReactModal.Props {\n width?: string;\n onRequestClose?: () => void;\n draggable?: boolean;\n}\n\nexport const DRAGGABLE_HANDLE_CLASSNAME = \"draggable-modal-handle\";\nexport const DRAGGABLE_CANCEL_CLASSNAME = \"draggable-modal-cancel\";\n\nexport const BaseModal: React.FC<BaseModalProps> = ({\n width,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n {...reactModalProps}\n >\n <Draggable\n handle={`.${DRAGGABLE_HANDLE_CLASSNAME}`}\n cancel={`.${DRAGGABLE_CANCEL_CLASSNAME}, button, [role=\"tooltip\"]`}\n bounds=\".ReactModal__Overlay\"\n disabled={!draggable}\n >\n <div\n style={{ [\"--swui-modal-width\" as string]: width }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n >\n {children}\n </div>\n </Draggable>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport * as ReactModal from \"react-modal\";\nimport cx from \"classnames\";\n\nimport styles from \"./Drawer.module.css\";\n\nexport type SlideFrom = \"left\" | \"right\";\n\nexport interface DrawerProps\n extends Omit<\n ReactModal.Props,\n | \"closeTimeoutMS\"\n | \"portalClassName\"\n | \"overlayClassName\"\n | \"className\"\n | \"style\"\n | \"parentSelector\"\n > {\n width?: string;\n background?: string;\n zIndex?: number;\n onRequestClose?: () => void;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('left'|'right')}\n */\n slideFrom?: SlideFrom;\n /**\n * Portal target, HTML element. If not set, portal is not used.\n */\n portalTarget?: HTMLElement | null;\n}\n\nexport const Drawer: React.FC<DrawerProps> = ({\n width = \"370px\",\n background,\n zIndex,\n children,\n slideFrom = \"left\",\n portalTarget,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n closeTimeoutMS={250}\n portalClassName={styles.portal}\n overlayClassName={{\n base: styles.overlay,\n afterOpen: styles.afterOpen,\n beforeClose: styles.beforeClose,\n }}\n className={{\n base: cx(\n styles.content,\n slideFrom === \"left\" ? styles.slideFromLeft : styles.slideFromRight\n ),\n afterOpen: styles.afterOpen,\n beforeClose: styles.beforeClose,\n }}\n style={{ content: { width, background }, overlay: { zIndex } }}\n parentSelector={portalTarget ? () => portalTarget : undefined}\n {...reactModalProps}\n >\n {children}\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport * as ReactModal from \"react-modal\";\n\nimport styles from \"../modal/Modal.module.css\";\n\nexport interface CenterModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const CenterModal: React.FC<CenterModalProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n Box,\n Column,\n Heading,\n Indent,\n Row,\n Spacing,\n} from \"@stenajs-webui/core\";\nimport { Icon, Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport * as ReactModal from \"react-modal\";\nimport styles from \"./LoadingModal.module.css\";\n\nexport interface LoadingModalProps extends Omit<ReactModal.Props, \"isOpen\"> {\n headerText?: string;\n headerIconLeft?: IconDefinition;\n}\n\nexport const LoadingModal: React.FC<LoadingModalProps> = ({\n headerIconLeft,\n headerText,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\n className={styles.modal}\n overlayClassName={styles.overlay}\n >\n <Column spacing={2} alignItems={\"center\"}>\n <Box\n alignItems={\"center\"}\n justifyContent={\"center\"}\n width={\"64px\"}\n height={\"64px\"}\n borderRadius={\"50%\"}\n background={\"white\"}\n shadow={\"modal\"}\n >\n <Spinner size={\"small\"} />\n </Box>\n {(headerIconLeft || headerText) && (\n <>\n <Spacing />\n <Row indent={2}>\n {headerIconLeft && (\n <>\n <Icon size={14} icon={headerIconLeft} color={\"white\"} />\n <Indent />\n </>\n )}\n {headerText && (\n <Heading variant={\"h4\"} color={\"white\"}>\n {headerText}\n </Heading>\n )}\n </Row>\n </>\n )}\n </Column>\n </ReactModal>\n );\n};\n","import { faTimes } from \"@fortawesome/free-solid-svg-icons/faTimes\";\nimport { FlatButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseModal\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface ModalHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--swui-modal-header-border-color)\"}\n className={DRAGGABLE_HANDLE_CLASSNAME}\n >\n <Row flex={1} indent alignItems={\"center\"}>\n {headerText && (\n <Txt className={DRAGGABLE_CANCEL_CLASSNAME} size={\"large\"}>\n {headerText}\n </Txt>\n )}\n {header}\n </Row>\n <Box alignSelf={\"flex-start\"}>\n <FlatButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n aria-label={\"Close\"}\n leftIcon={faTimes}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseModal, BaseModalProps } from \"./BaseModal\";\nimport { ModalHeader, ModalHeaderProps } from \"./ModalHeader\";\n\nexport interface ModalProps extends BaseModalProps, ModalHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n}\n\nexport const Modal: React.FC<ModalProps> = ({\n header,\n headerText,\n children,\n spacing,\n indent,\n draggable = false,\n onRequestClose,\n closeButtonClassName,\n ...props\n}) => {\n const activeSpacing = typeof spacing === \"number\" ? spacing : 1;\n const activeIndent = typeof indent === \"number\" ? indent : 1;\n\n return (\n <BaseModal {...props} onRequestClose={onRequestClose} draggable={draggable}>\n <ModalHeader\n onRequestClose={onRequestClose}\n header={header}\n headerText={headerText}\n closeButtonClassName={closeButtonClassName}\n />\n <Box spacing={activeSpacing} indent={activeIndent}>\n {children}\n </Box>\n </BaseModal>\n );\n};\n"],"names":["React.createElement","styles"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -117,6 +117,23 @@ var BaseModal = function (_a) {
|
|
|
117
117
|
_c)) }, children))));
|
|
118
118
|
};
|
|
119
119
|
|
|
120
|
+
var css_248z$1 = ".Drawer-module_portal__3qRVU .Drawer-module_overlay__1eTzQ {\n position: fixed;\n inset: 0;\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM {\n box-shadow: var(--swui-shadow-modal);\n position: absolute;\n bottom: 0;\n top: 0;\n transition: -webkit-transform var(--swui-animation-time-medium) ease-in-out;\n transition: transform var(--swui-animation-time-medium) ease-in-out;\n transition: transform var(--swui-animation-time-medium) ease-in-out, -webkit-transform var(--swui-animation-time-medium) ease-in-out;\n -webkit-transform: translateX(var(--translate-x-outside-screen, 0));\n transform: translateX(var(--translate-x-outside-screen, 0));\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromLeft__3w1LJ {\n --translate-x-outside-screen: -100%;\n left: 0;\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromRight__V_rl4 {\n --translate-x-outside-screen: 100%;\n right: 0;\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_afterOpen__2zpe_ {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_beforeClose__1ub2d {\n -webkit-transform: translateX(var(--translate-x-outside-screen));\n transform: translateX(var(--translate-x-outside-screen));\n }\n";
|
|
121
|
+
var styles$1 = {"portal":"Drawer-module_portal__3qRVU","overlay":"Drawer-module_overlay__1eTzQ","content":"Drawer-module_content__2humM","slideFromLeft":"Drawer-module_slideFromLeft__3w1LJ","slideFromRight":"Drawer-module_slideFromRight__V_rl4","afterOpen":"Drawer-module_afterOpen__2zpe_","beforeClose":"Drawer-module_beforeClose__1ub2d"};
|
|
122
|
+
styleInject(css_248z$1);
|
|
123
|
+
|
|
124
|
+
var Drawer = function (_a) {
|
|
125
|
+
var _b = _a.width, width = _b === void 0 ? "370px" : _b, background = _a.background, zIndex = _a.zIndex, children = _a.children, _c = _a.slideFrom, slideFrom = _c === void 0 ? "left" : _c, portalTarget = _a.portalTarget, reactModalProps = __rest(_a, ["width", "background", "zIndex", "children", "slideFrom", "portalTarget"]);
|
|
126
|
+
return (React.createElement(ReactModal__namespace, __assign({ closeTimeoutMS: 250, portalClassName: styles$1.portal, overlayClassName: {
|
|
127
|
+
base: styles$1.overlay,
|
|
128
|
+
afterOpen: styles$1.afterOpen,
|
|
129
|
+
beforeClose: styles$1.beforeClose,
|
|
130
|
+
}, className: {
|
|
131
|
+
base: cx__default['default'](styles$1.content, slideFrom === "left" ? styles$1.slideFromLeft : styles$1.slideFromRight),
|
|
132
|
+
afterOpen: styles$1.afterOpen,
|
|
133
|
+
beforeClose: styles$1.beforeClose,
|
|
134
|
+
}, style: { content: { width: width, background: background }, overlay: { zIndex: zIndex } }, parentSelector: portalTarget ? function () { return portalTarget; } : undefined }, reactModalProps), children));
|
|
135
|
+
};
|
|
136
|
+
|
|
120
137
|
var style = { overlay: { justifyContent: "center" } };
|
|
121
138
|
var CenterModal = function (_a) {
|
|
122
139
|
var _b;
|
|
@@ -125,13 +142,13 @@ var CenterModal = function (_a) {
|
|
|
125
142
|
React.createElement("div", { className: styles.content, style: (_b = {}, _b["--swui-modal-width"] = "fit-content", _b) }, children)));
|
|
126
143
|
};
|
|
127
144
|
|
|
128
|
-
var css_248z$
|
|
129
|
-
var styles$
|
|
130
|
-
styleInject(css_248z$
|
|
145
|
+
var css_248z$2 = ".LoadingModal-module_modal__1gDTX {\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n justify-content: center;\n -webkit-align-items: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: transparent;\n}\n\n.LoadingModal-module_overlay__2YRgt {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: var(--swui-overlay-bg-color);\n}\n";
|
|
146
|
+
var styles$2 = {"modal":"LoadingModal-module_modal__1gDTX","overlay":"LoadingModal-module_overlay__2YRgt"};
|
|
147
|
+
styleInject(css_248z$2);
|
|
131
148
|
|
|
132
149
|
var LoadingModal = function (_a) {
|
|
133
150
|
var headerIconLeft = _a.headerIconLeft, headerText = _a.headerText, modalProps = __rest(_a, ["headerIconLeft", "headerText"]);
|
|
134
|
-
return (React.createElement(ReactModal__namespace, __assign({}, modalProps, { isOpen: true, className: styles$
|
|
151
|
+
return (React.createElement(ReactModal__namespace, __assign({}, modalProps, { isOpen: true, className: styles$2.modal, overlayClassName: styles$2.overlay }),
|
|
135
152
|
React.createElement(core.Column, { spacing: 2, alignItems: "center" },
|
|
136
153
|
React.createElement(core.Box, { alignItems: "center", justifyContent: "center", width: "64px", height: "64px", borderRadius: "50%", background: "white", shadow: "modal" },
|
|
137
154
|
React.createElement(elements.Spinner, { size: "small" })),
|
|
@@ -167,6 +184,7 @@ exports.BaseModal = BaseModal;
|
|
|
167
184
|
exports.CenterModal = CenterModal;
|
|
168
185
|
exports.DRAGGABLE_CANCEL_CLASSNAME = DRAGGABLE_CANCEL_CLASSNAME;
|
|
169
186
|
exports.DRAGGABLE_HANDLE_CLASSNAME = DRAGGABLE_HANDLE_CLASSNAME;
|
|
187
|
+
exports.Drawer = Drawer;
|
|
170
188
|
exports.LoadingModal = LoadingModal;
|
|
171
189
|
exports.Modal = Modal;
|
|
172
190
|
exports.ModalHeader = ModalHeader;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/modal/BaseModal.tsx","../src/components/center-modal/CenterModal.tsx","../src/components/loading-modal/LoadingModal.tsx","../src/components/modal/ModalHeader.tsx","../src/components/modal/Modal.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import * as React from \"react\";\nimport * as ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\n\nimport styles from \"./Modal.module.css\";\n\nexport interface BaseModalProps extends ReactModal.Props {\n width?: string;\n onRequestClose?: () => void;\n draggable?: boolean;\n}\n\nexport const DRAGGABLE_HANDLE_CLASSNAME = \"draggable-modal-handle\";\nexport const DRAGGABLE_CANCEL_CLASSNAME = \"draggable-modal-cancel\";\n\nexport const BaseModal: React.FC<BaseModalProps> = ({\n width,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n {...reactModalProps}\n >\n <Draggable\n handle={`.${DRAGGABLE_HANDLE_CLASSNAME}`}\n cancel={`.${DRAGGABLE_CANCEL_CLASSNAME}, button, [role=\"tooltip\"]`}\n bounds=\".ReactModal__Overlay\"\n disabled={!draggable}\n >\n <div\n style={{ [\"--swui-modal-width\" as string]: width }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n >\n {children}\n </div>\n </Draggable>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport * as ReactModal from \"react-modal\";\n\nimport styles from \"../modal/Modal.module.css\";\n\nexport interface CenterModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const CenterModal: React.FC<CenterModalProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n Box,\n Column,\n Heading,\n Indent,\n Row,\n Spacing,\n} from \"@stenajs-webui/core\";\nimport { Icon, Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport * as ReactModal from \"react-modal\";\nimport styles from \"./LoadingModal.module.css\";\n\nexport interface LoadingModalProps extends Omit<ReactModal.Props, \"isOpen\"> {\n headerText?: string;\n headerIconLeft?: IconDefinition;\n}\n\nexport const LoadingModal: React.FC<LoadingModalProps> = ({\n headerIconLeft,\n headerText,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\n className={styles.modal}\n overlayClassName={styles.overlay}\n >\n <Column spacing={2} alignItems={\"center\"}>\n <Box\n alignItems={\"center\"}\n justifyContent={\"center\"}\n width={\"64px\"}\n height={\"64px\"}\n borderRadius={\"50%\"}\n background={\"white\"}\n shadow={\"modal\"}\n >\n <Spinner size={\"small\"} />\n </Box>\n {(headerIconLeft || headerText) && (\n <>\n <Spacing />\n <Row indent={2}>\n {headerIconLeft && (\n <>\n <Icon size={14} icon={headerIconLeft} color={\"white\"} />\n <Indent />\n </>\n )}\n {headerText && (\n <Heading variant={\"h4\"} color={\"white\"}>\n {headerText}\n </Heading>\n )}\n </Row>\n </>\n )}\n </Column>\n </ReactModal>\n );\n};\n","import { faTimes } from \"@fortawesome/free-solid-svg-icons/faTimes\";\nimport { FlatButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseModal\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface ModalHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--swui-modal-header-border-color)\"}\n className={DRAGGABLE_HANDLE_CLASSNAME}\n >\n <Row flex={1} indent alignItems={\"center\"}>\n {headerText && (\n <Txt className={DRAGGABLE_CANCEL_CLASSNAME} size={\"large\"}>\n {headerText}\n </Txt>\n )}\n {header}\n </Row>\n <Box alignSelf={\"flex-start\"}>\n <FlatButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n aria-label={\"Close\"}\n leftIcon={faTimes}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseModal, BaseModalProps } from \"./BaseModal\";\nimport { ModalHeader, ModalHeaderProps } from \"./ModalHeader\";\n\nexport interface ModalProps extends BaseModalProps, ModalHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n}\n\nexport const Modal: React.FC<ModalProps> = ({\n header,\n headerText,\n children,\n spacing,\n indent,\n draggable = false,\n onRequestClose,\n closeButtonClassName,\n ...props\n}) => {\n const activeSpacing = typeof spacing === \"number\" ? spacing : 1;\n const activeIndent = typeof indent === \"number\" ? indent : 1;\n\n return (\n <BaseModal {...props} onRequestClose={onRequestClose} draggable={draggable}>\n <ModalHeader\n onRequestClose={onRequestClose}\n header={header}\n headerText={headerText}\n closeButtonClassName={closeButtonClassName}\n />\n <Box spacing={activeSpacing} indent={activeIndent}>\n {children}\n </Box>\n </BaseModal>\n );\n};\n"],"names":["React.createElement","ReactModal","Draggable","cx","styles","Column","Box","Spinner","Spacing","Row","Icon","Indent","Heading","Txt","FlatButton","faTimes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;AAC/B,EAAE,KAAK,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACjC,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC9B;AACA,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,EAAE,OAAO,EAAE;AAC1D;AACA,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,EAAE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9C,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;AAC1B;AACA,EAAE,IAAI,QAAQ,KAAK,KAAK,EAAE;AAC1B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAChD,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE;AACxB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;AACnC,GAAG,MAAM;AACT,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,GAAG;AACH;;;;;;ICZa,0BAA0B,GAAG,yBAAyB;IACtD,0BAA0B,GAAG,yBAAyB;IAEtD,SAAS,GAA6B,UAAC,EAKnD;;IAJC,IAAA,KAAK,WAAA,EACL,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,QAAQ,cAAA,EACL,eAAe,cAJgC,kCAKnD,CADmB;IAElB,QACEA,oBAACC,qBAAU,aACT,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAChC,SAAS,EAAE,MAAM,CAAC,KAAK,IACnB,eAAe;QAEnBD,oBAACE,6BAAS,IACR,MAAM,EAAE,MAAI,0BAA4B,EACxC,MAAM,EAAE,MAAI,0BAA0B,iCAA4B,EAClE,MAAM,EAAC,sBAAsB,EAC7B,QAAQ,EAAE,CAAC,SAAS;YAEpBF,6BACE,KAAK,YAAI,GAAC,oBAA8B,IAAG,KAAK,OAChD,SAAS,EAAEG,sBAAE,CAAC,MAAM,CAAC,OAAO;oBAC1B,GAAC,MAAM,CAAC,WAAW,IAAG,SAAS;wBAC/B,IAED,QAAQ,CACL,CACI,CACD,EACb;AACJ;;ACpCA,IAAM,KAAK,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,CAAC;IAE3C,WAAW,GAA+B,UAAC,EAGvD;;IAFC,IAAA,QAAQ,cAAA,EACL,eAAe,cAFoC,YAGvD,CADmB;IAElB,QACEH,oBAACC,qBAAU,aACT,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAChC,SAAS,EAAE,MAAM,CAAC,KAAK,EACvB,KAAK,EAAE,KAAK,IACR,eAAe;QAEnBD,6BACE,SAAS,EAAE,MAAM,CAAC,OAAO,EACzB,KAAK,YAAI,GAAC,oBAA8B,IAAG,aAAa,SAEvD,QAAQ,CACL,CACK,EACb;AACJ;;;;;;ICXa,YAAY,GAAgC,UAAC,EAIzD;IAHC,IAAA,cAAc,oBAAA,EACd,UAAU,gBAAA,EACP,UAAU,cAH2C,gCAIzD,CADc;IAEb,QACEA,oBAACC,qBAAU,eACL,UAAU,IACd,MAAM,QACN,SAAS,EAAEG,QAAM,CAAC,KAAK,EACvB,gBAAgB,EAAEA,QAAM,CAAC,OAAO;QAEhCJ,oBAACK,WAAM,IAAC,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ;YACtCL,oBAACM,QAAG,IACF,UAAU,EAAE,QAAQ,EACpB,cAAc,EAAE,QAAQ,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,KAAK,EACnB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,OAAO;gBAEfN,oBAACO,gBAAO,IAAC,IAAI,EAAE,OAAO,GAAI,CACtB;YACL,CAAC,cAAc,IAAI,UAAU,MAC5BP;gBACEA,oBAACQ,YAAO,OAAG;gBACXR,oBAACS,QAAG,IAAC,MAAM,EAAE,CAAC;oBACX,cAAc,KACbT;wBACEA,oBAACU,aAAI,IAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAI;wBACxDV,oBAACW,WAAM,OAAG,CACT,CACJ;oBACA,UAAU,KACTX,oBAACY,YAAO,IAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,IACnC,UAAU,CACH,CACX,CACG,CACL,CACJ,CACM,CACE,EACb;AACJ;;IC/Ca,WAAW,GAA+B,UAAC,EAKvD;QAJC,cAAc,oBAAA,EACd,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,oBAAoB,0BAAA;IAEpB,QACEZ,oBAACS,QAAG,IACF,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,iDAAiD,EAC/D,SAAS,EAAE,0BAA0B;QAErCT,oBAACS,QAAG,IAAC,IAAI,EAAE,CAAC,EAAE,MAAM,QAAC,UAAU,EAAE,QAAQ;YACtC,UAAU,KACTT,oBAACa,QAAG,IAAC,SAAS,EAAE,0BAA0B,EAAE,IAAI,EAAE,OAAO,IACtD,UAAU,CACP,CACP;YACA,MAAM,CACH;QACNb,oBAACM,QAAG,IAAC,SAAS,EAAE,YAAY;YAC1BN,oBAACc,mBAAU,IACT,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,cAAc,gBACX,OAAO,EACnB,QAAQ,EAAEC,eAAO,GACjB,CACE,CACF,EACN;AACJ;;ICrCa,KAAK,GAAyB,UAAC,EAU3C;IATC,IAAA,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,MAAM,YAAA,EACN,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,cAAc,oBAAA,EACd,oBAAoB,0BAAA,EACjB,KAAK,cATkC,gHAU3C,CADS;IAER,IAAM,aAAa,GAAG,OAAO,OAAO,KAAK,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC;IAChE,IAAM,YAAY,GAAG,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC;IAE7D,QACEf,oBAAC,SAAS,eAAK,KAAK,IAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS;QACxEA,oBAAC,WAAW,IACV,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,GAC1C;QACFA,oBAACM,QAAG,IAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,IAC9C,QAAQ,CACL,CACI,EACZ;AACJ;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/modal/BaseModal.tsx","../src/components/drawer/Drawer.tsx","../src/components/center-modal/CenterModal.tsx","../src/components/loading-modal/LoadingModal.tsx","../src/components/modal/ModalHeader.tsx","../src/components/modal/Modal.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import * as React from \"react\";\nimport * as ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\n\nimport styles from \"./Modal.module.css\";\n\nexport interface BaseModalProps extends ReactModal.Props {\n width?: string;\n onRequestClose?: () => void;\n draggable?: boolean;\n}\n\nexport const DRAGGABLE_HANDLE_CLASSNAME = \"draggable-modal-handle\";\nexport const DRAGGABLE_CANCEL_CLASSNAME = \"draggable-modal-cancel\";\n\nexport const BaseModal: React.FC<BaseModalProps> = ({\n width,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n {...reactModalProps}\n >\n <Draggable\n handle={`.${DRAGGABLE_HANDLE_CLASSNAME}`}\n cancel={`.${DRAGGABLE_CANCEL_CLASSNAME}, button, [role=\"tooltip\"]`}\n bounds=\".ReactModal__Overlay\"\n disabled={!draggable}\n >\n <div\n style={{ [\"--swui-modal-width\" as string]: width }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n >\n {children}\n </div>\n </Draggable>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport * as ReactModal from \"react-modal\";\nimport cx from \"classnames\";\n\nimport styles from \"./Drawer.module.css\";\n\nexport type SlideFrom = \"left\" | \"right\";\n\nexport interface DrawerProps\n extends Omit<\n ReactModal.Props,\n | \"closeTimeoutMS\"\n | \"portalClassName\"\n | \"overlayClassName\"\n | \"className\"\n | \"style\"\n | \"parentSelector\"\n > {\n width?: string;\n background?: string;\n zIndex?: number;\n onRequestClose?: () => void;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('left'|'right')}\n */\n slideFrom?: SlideFrom;\n /**\n * Portal target, HTML element. If not set, portal is not used.\n */\n portalTarget?: HTMLElement | null;\n}\n\nexport const Drawer: React.FC<DrawerProps> = ({\n width = \"370px\",\n background,\n zIndex,\n children,\n slideFrom = \"left\",\n portalTarget,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n closeTimeoutMS={250}\n portalClassName={styles.portal}\n overlayClassName={{\n base: styles.overlay,\n afterOpen: styles.afterOpen,\n beforeClose: styles.beforeClose,\n }}\n className={{\n base: cx(\n styles.content,\n slideFrom === \"left\" ? styles.slideFromLeft : styles.slideFromRight\n ),\n afterOpen: styles.afterOpen,\n beforeClose: styles.beforeClose,\n }}\n style={{ content: { width, background }, overlay: { zIndex } }}\n parentSelector={portalTarget ? () => portalTarget : undefined}\n {...reactModalProps}\n >\n {children}\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport * as ReactModal from \"react-modal\";\n\nimport styles from \"../modal/Modal.module.css\";\n\nexport interface CenterModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const CenterModal: React.FC<CenterModalProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n Box,\n Column,\n Heading,\n Indent,\n Row,\n Spacing,\n} from \"@stenajs-webui/core\";\nimport { Icon, Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport * as ReactModal from \"react-modal\";\nimport styles from \"./LoadingModal.module.css\";\n\nexport interface LoadingModalProps extends Omit<ReactModal.Props, \"isOpen\"> {\n headerText?: string;\n headerIconLeft?: IconDefinition;\n}\n\nexport const LoadingModal: React.FC<LoadingModalProps> = ({\n headerIconLeft,\n headerText,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\n className={styles.modal}\n overlayClassName={styles.overlay}\n >\n <Column spacing={2} alignItems={\"center\"}>\n <Box\n alignItems={\"center\"}\n justifyContent={\"center\"}\n width={\"64px\"}\n height={\"64px\"}\n borderRadius={\"50%\"}\n background={\"white\"}\n shadow={\"modal\"}\n >\n <Spinner size={\"small\"} />\n </Box>\n {(headerIconLeft || headerText) && (\n <>\n <Spacing />\n <Row indent={2}>\n {headerIconLeft && (\n <>\n <Icon size={14} icon={headerIconLeft} color={\"white\"} />\n <Indent />\n </>\n )}\n {headerText && (\n <Heading variant={\"h4\"} color={\"white\"}>\n {headerText}\n </Heading>\n )}\n </Row>\n </>\n )}\n </Column>\n </ReactModal>\n );\n};\n","import { faTimes } from \"@fortawesome/free-solid-svg-icons/faTimes\";\nimport { FlatButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseModal\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface ModalHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--swui-modal-header-border-color)\"}\n className={DRAGGABLE_HANDLE_CLASSNAME}\n >\n <Row flex={1} indent alignItems={\"center\"}>\n {headerText && (\n <Txt className={DRAGGABLE_CANCEL_CLASSNAME} size={\"large\"}>\n {headerText}\n </Txt>\n )}\n {header}\n </Row>\n <Box alignSelf={\"flex-start\"}>\n <FlatButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n aria-label={\"Close\"}\n leftIcon={faTimes}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseModal, BaseModalProps } from \"./BaseModal\";\nimport { ModalHeader, ModalHeaderProps } from \"./ModalHeader\";\n\nexport interface ModalProps extends BaseModalProps, ModalHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n}\n\nexport const Modal: React.FC<ModalProps> = ({\n header,\n headerText,\n children,\n spacing,\n indent,\n draggable = false,\n onRequestClose,\n closeButtonClassName,\n ...props\n}) => {\n const activeSpacing = typeof spacing === \"number\" ? spacing : 1;\n const activeIndent = typeof indent === \"number\" ? indent : 1;\n\n return (\n <BaseModal {...props} onRequestClose={onRequestClose} draggable={draggable}>\n <ModalHeader\n onRequestClose={onRequestClose}\n header={header}\n headerText={headerText}\n closeButtonClassName={closeButtonClassName}\n />\n <Box spacing={activeSpacing} indent={activeIndent}>\n {children}\n </Box>\n </BaseModal>\n );\n};\n"],"names":["React.createElement","ReactModal","Draggable","cx","styles","Column","Box","Spinner","Spacing","Row","Icon","Indent","Heading","Txt","FlatButton","faTimes"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stenajs-webui/modal",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "14.1.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "mattias800",
|
|
6
6
|
"license": "MIT",
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
"deploy": "gh-pages -d example/build"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@stenajs-webui/core": "
|
|
32
|
-
"@stenajs-webui/elements": "
|
|
33
|
-
"@stenajs-webui/theme": "
|
|
31
|
+
"@stenajs-webui/core": "14.1.0",
|
|
32
|
+
"@stenajs-webui/elements": "14.1.0",
|
|
33
|
+
"@stenajs-webui/theme": "14.1.0",
|
|
34
34
|
"@types/react-modal": "^3.10.6",
|
|
35
35
|
"classnames": "^2.2.6",
|
|
36
36
|
"react-draggable": "^4.4.2",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"files": [
|
|
62
62
|
"dist"
|
|
63
63
|
],
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "35702812ebbf593695ee62720ec14f815f72381e"
|
|
65
65
|
}
|