@stenajs-webui/modal 15.4.0 → 15.5.1

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/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ # v15.4.1 (Tue Apr 05 2022)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - Task 90903: Drawer slide from top and bottom (AB#90903) [#446](https://github.com/StenaIT/stenajs-webui/pull/446) ([@mattias800](https://github.com/mattias800))
6
+
7
+ #### Authors: 1
8
+
9
+ - Mattias Andersson ([@mattias800](https://github.com/mattias800))
10
+
11
+ ---
12
+
1
13
  # v15.0.1 (Thu Feb 17 2022)
2
14
 
3
15
  #### ⚠️ Pushed to `master`
@@ -1,20 +1,35 @@
1
1
  import * as React from "react";
2
2
  import 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"> {
3
+ export declare type SlideFrom = SlideFromLeftRight | SlideFromTopBottom;
4
+ export declare type SlideFromLeftRight = "left" | "right";
5
+ export declare type SlideFromTopBottom = "top" | "bottom";
6
+ export declare type DrawerProps = DrawerBaseLeftRight | DrawerBaseTopBottom;
7
+ interface DrawerBaseLeftRight extends DrawerBaseProps {
5
8
  width?: string;
6
- background?: string;
7
- zIndex?: number;
8
- onRequestClose?: () => void;
9
9
  /**
10
10
  * Which direction the drawer will appear from.
11
11
  * @default left
12
12
  * @param {String('left'|'right')}
13
13
  */
14
- slideFrom?: SlideFrom;
14
+ slideFrom?: SlideFromLeftRight;
15
+ }
16
+ interface DrawerBaseTopBottom extends DrawerBaseProps {
17
+ height?: string;
18
+ /**
19
+ * Which direction the drawer will appear from.
20
+ * @default left
21
+ * @param {String('top'|'bottom')}
22
+ */
23
+ slideFrom?: SlideFromTopBottom;
24
+ }
25
+ interface DrawerBaseProps extends Omit<ReactModal.Props, "closeTimeoutMS" | "portalClassName" | "overlayClassName" | "className" | "style" | "parentSelector"> {
26
+ background?: string;
27
+ zIndex?: number;
28
+ onRequestClose?: () => void;
15
29
  /**
16
30
  * Portal target, HTML element. If not set, portal is not used.
17
31
  */
18
32
  portalTarget?: HTMLElement | null;
19
33
  }
20
34
  export declare const Drawer: React.FC<DrawerProps>;
35
+ export {};
@@ -8,4 +8,7 @@ export declare const Standard: () => JSX.Element;
8
8
  export declare const CustomWidth: () => JSX.Element;
9
9
  export declare const CustomBackground: () => JSX.Element;
10
10
  export declare const FromRight: () => JSX.Element;
11
+ export declare const FromTop: () => JSX.Element;
12
+ export declare const FromBottom: () => JSX.Element;
13
+ export declare const CustomHeight: () => JSX.Element;
11
14
  export declare const WithScroll: () => JSX.Element;
package/dist/index.es.js CHANGED
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import ReactModal from 'react-modal';
3
3
  import Draggable from 'react-draggable';
4
4
  import cx from 'classnames';
5
- import { Column, Box, Spacing, Row, Indent, Heading, Txt } from '@stenajs-webui/core';
5
+ import { exhaustSwitchCase, Column, Box, Spacing, Row, Indent, Heading, Txt } from '@stenajs-webui/core';
6
6
  import { Spinner, Icon, FlatButton } from '@stenajs-webui/elements';
7
7
  import { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes';
8
8
 
@@ -87,21 +87,36 @@ 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 overflow-y: auto;\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"};
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 background: white;\n position: absolute;\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 }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromLeft__3w1LJ,\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromRight__V_rl4 {\n -webkit-transform: translateX(var(--translate-x-outside-screen, 0));\n transform: translateX(var(--translate-x-outside-screen, 0));\n overflow-y: auto;\n top: 0;\n bottom: 0;\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromLeft__3w1LJ.Drawer-module_afterOpen__2zpe_, .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromRight__V_rl4.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_slideFromLeft__3w1LJ.Drawer-module_beforeClose__1ub2d, .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromRight__V_rl4.Drawer-module_beforeClose__1ub2d {\n -webkit-transform: translateX(var(--translate-x-outside-screen));\n transform: translateX(var(--translate-x-outside-screen));\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromTop__2mdnr,\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromBottom__1ryrr {\n -webkit-transform: translateY(var(--translate-y-outside-screen, 0));\n transform: translateY(var(--translate-y-outside-screen, 0));\n overflow-x: auto;\n left: 0;\n right: 0;\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromTop__2mdnr.Drawer-module_afterOpen__2zpe_, .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromBottom__1ryrr.Drawer-module_afterOpen__2zpe_ {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromTop__2mdnr.Drawer-module_beforeClose__1ub2d, .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromBottom__1ryrr.Drawer-module_beforeClose__1ub2d {\n -webkit-transform: translateY(var(--translate-y-outside-screen));\n transform: translateY(var(--translate-y-outside-screen));\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromLeft__3w1LJ {\n --translate-x-outside-screen: -100%;\n width: 370px;\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 width: 370px;\n right: 0;\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromTop__2mdnr {\n --translate-y-outside-screen: -100%;\n height: 370px;\n top: 0;\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromBottom__1ryrr {\n --translate-y-outside-screen: 100%;\n height: 370px;\n bottom: 0;\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","slideFromTop":"Drawer-module_slideFromTop__2mdnr","slideFromBottom":"Drawer-module_slideFromBottom__1ryrr"};
92
92
  styleInject(css_248z$1);
93
93
 
94
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"]);
95
+ var background = _a.background, zIndex = _a.zIndex, children = _a.children, _b = _a.slideFrom, slideFrom = _b === void 0 ? "left" : _b, portalTarget = _a.portalTarget, reactModalProps = __rest(_a, ["background", "zIndex", "children", "slideFrom", "portalTarget"]);
96
+ var _c = reactModalProps, height = _c.height, width = _c.width;
96
97
  return (React.createElement(ReactModal, __assign({ closeTimeoutMS: 250, portalClassName: styles$1.portal, overlayClassName: {
97
98
  base: styles$1.overlay,
98
99
  afterOpen: styles$1.afterOpen,
99
100
  beforeClose: styles$1.beforeClose,
100
101
  }, className: {
101
- base: cx(styles$1.content, slideFrom === "left" ? styles$1.slideFromLeft : styles$1.slideFromRight),
102
+ base: cx(styles$1.content, getClassNameForSlide(slideFrom)),
102
103
  afterOpen: styles$1.afterOpen,
103
104
  beforeClose: styles$1.beforeClose,
104
- }, style: { content: { width: width, background: background }, overlay: { zIndex: zIndex } }, parentSelector: portalTarget ? function () { return portalTarget; } : undefined }, reactModalProps), children));
105
+ }, style: { content: { width: width, height: height, background: background }, overlay: { zIndex: zIndex } }, parentSelector: portalTarget ? function () { return portalTarget; } : undefined }, reactModalProps), children));
106
+ };
107
+ var getClassNameForSlide = function (slideFrom) {
108
+ switch (slideFrom) {
109
+ case "left":
110
+ return styles$1.slideFromLeft;
111
+ case "right":
112
+ return styles$1.slideFromRight;
113
+ case "top":
114
+ return styles$1.slideFromTop;
115
+ case "bottom":
116
+ return styles$1.slideFromBottom;
117
+ default:
118
+ return exhaustSwitchCase(slideFrom, styles$1.slideFromLeft);
119
+ }
105
120
  };
106
121
 
107
122
  var style = { overlay: { justifyContent: "center" } };
@@ -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/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","../src/components/modal/ModalFooter.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 ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\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 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 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 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\";\nimport cx from \"classnames\";\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends BaseModalProps, ModalHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: 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 footer,\n disableStickyFooter = false,\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 {footer && (\n <Box\n className={cx(styles.footer, {\n [styles.stickyFooter]: !disableStickyFooter,\n })}\n >\n {footer}\n </Box>\n )}\n </BaseModal>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\n\nexport const ModalFooter: React.FC = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n"],"names":["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","../src/components/modal/ModalFooter.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 ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\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 ReactModal from \"react-modal\";\nimport cx from \"classnames\";\nimport styles from \"./Drawer.module.css\";\nimport { exhaustSwitchCase, FlattenUnion } from \"@stenajs-webui/core\";\n\nexport type SlideFrom = SlideFromLeftRight | SlideFromTopBottom;\nexport type SlideFromLeftRight = \"left\" | \"right\";\nexport type SlideFromTopBottom = \"top\" | \"bottom\";\n\nexport type DrawerProps = DrawerBaseLeftRight | DrawerBaseTopBottom;\n\ninterface DrawerBaseLeftRight extends DrawerBaseProps {\n width?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('left'|'right')}\n */\n slideFrom?: SlideFromLeftRight;\n}\n\ninterface DrawerBaseTopBottom extends DrawerBaseProps {\n height?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('top'|'bottom')}\n */\n slideFrom?: SlideFromTopBottom;\n}\n\ninterface DrawerBaseProps\n extends Omit<\n ReactModal.Props,\n | \"closeTimeoutMS\"\n | \"portalClassName\"\n | \"overlayClassName\"\n | \"className\"\n | \"style\"\n | \"parentSelector\"\n > {\n background?: string;\n zIndex?: number;\n onRequestClose?: () => void;\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 background,\n zIndex,\n children,\n slideFrom = \"left\",\n portalTarget,\n ...reactModalProps\n}) => {\n const { height, width } = reactModalProps as FlattenUnion<DrawerProps>;\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(styles.content, getClassNameForSlide(slideFrom)),\n afterOpen: styles.afterOpen,\n beforeClose: styles.beforeClose,\n }}\n style={{ content: { width, height, background }, overlay: { zIndex } }}\n parentSelector={portalTarget ? () => portalTarget : undefined}\n {...reactModalProps}\n >\n {children}\n </ReactModal>\n );\n};\n\nconst getClassNameForSlide = (slideFrom: SlideFrom): string => {\n switch (slideFrom) {\n case \"left\":\n return styles.slideFromLeft;\n case \"right\":\n return styles.slideFromRight;\n case \"top\":\n return styles.slideFromTop;\n case \"bottom\":\n return styles.slideFromBottom;\n default:\n return exhaustSwitchCase(slideFrom, styles.slideFromLeft);\n }\n};\n","import * as React from \"react\";\nimport 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 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\";\nimport cx from \"classnames\";\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends BaseModalProps, ModalHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: 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 footer,\n disableStickyFooter = false,\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 {footer && (\n <Box\n className={cx(styles.footer, {\n [styles.stickyFooter]: !disableStickyFooter,\n })}\n >\n {footer}\n </Box>\n )}\n </BaseModal>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\n\nexport const ModalFooter: React.FC = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n"],"names":["styles"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -116,21 +116,36 @@ var BaseModal = function (_a) {
116
116
  _c)) }, children))));
117
117
  };
118
118
 
119
- 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 overflow-y: auto;\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";
120
- 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"};
119
+ 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 background: white;\n position: absolute;\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 }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromLeft__3w1LJ,\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromRight__V_rl4 {\n -webkit-transform: translateX(var(--translate-x-outside-screen, 0));\n transform: translateX(var(--translate-x-outside-screen, 0));\n overflow-y: auto;\n top: 0;\n bottom: 0;\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromLeft__3w1LJ.Drawer-module_afterOpen__2zpe_, .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromRight__V_rl4.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_slideFromLeft__3w1LJ.Drawer-module_beforeClose__1ub2d, .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromRight__V_rl4.Drawer-module_beforeClose__1ub2d {\n -webkit-transform: translateX(var(--translate-x-outside-screen));\n transform: translateX(var(--translate-x-outside-screen));\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromTop__2mdnr,\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromBottom__1ryrr {\n -webkit-transform: translateY(var(--translate-y-outside-screen, 0));\n transform: translateY(var(--translate-y-outside-screen, 0));\n overflow-x: auto;\n left: 0;\n right: 0;\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromTop__2mdnr.Drawer-module_afterOpen__2zpe_, .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromBottom__1ryrr.Drawer-module_afterOpen__2zpe_ {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromTop__2mdnr.Drawer-module_beforeClose__1ub2d, .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromBottom__1ryrr.Drawer-module_beforeClose__1ub2d {\n -webkit-transform: translateY(var(--translate-y-outside-screen));\n transform: translateY(var(--translate-y-outside-screen));\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromLeft__3w1LJ {\n --translate-x-outside-screen: -100%;\n width: 370px;\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 width: 370px;\n right: 0;\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromTop__2mdnr {\n --translate-y-outside-screen: -100%;\n height: 370px;\n top: 0;\n }\n .Drawer-module_portal__3qRVU .Drawer-module_content__2humM.Drawer-module_slideFromBottom__1ryrr {\n --translate-y-outside-screen: 100%;\n height: 370px;\n bottom: 0;\n }\n";
120
+ 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","slideFromTop":"Drawer-module_slideFromTop__2mdnr","slideFromBottom":"Drawer-module_slideFromBottom__1ryrr"};
121
121
  styleInject(css_248z$1);
122
122
 
123
123
  var Drawer = function (_a) {
124
- 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"]);
124
+ var background = _a.background, zIndex = _a.zIndex, children = _a.children, _b = _a.slideFrom, slideFrom = _b === void 0 ? "left" : _b, portalTarget = _a.portalTarget, reactModalProps = __rest(_a, ["background", "zIndex", "children", "slideFrom", "portalTarget"]);
125
+ var _c = reactModalProps, height = _c.height, width = _c.width;
125
126
  return (React__namespace.createElement(ReactModal__default["default"], __assign({ closeTimeoutMS: 250, portalClassName: styles$1.portal, overlayClassName: {
126
127
  base: styles$1.overlay,
127
128
  afterOpen: styles$1.afterOpen,
128
129
  beforeClose: styles$1.beforeClose,
129
130
  }, className: {
130
- base: cx__default["default"](styles$1.content, slideFrom === "left" ? styles$1.slideFromLeft : styles$1.slideFromRight),
131
+ base: cx__default["default"](styles$1.content, getClassNameForSlide(slideFrom)),
131
132
  afterOpen: styles$1.afterOpen,
132
133
  beforeClose: styles$1.beforeClose,
133
- }, style: { content: { width: width, background: background }, overlay: { zIndex: zIndex } }, parentSelector: portalTarget ? function () { return portalTarget; } : undefined }, reactModalProps), children));
134
+ }, style: { content: { width: width, height: height, background: background }, overlay: { zIndex: zIndex } }, parentSelector: portalTarget ? function () { return portalTarget; } : undefined }, reactModalProps), children));
135
+ };
136
+ var getClassNameForSlide = function (slideFrom) {
137
+ switch (slideFrom) {
138
+ case "left":
139
+ return styles$1.slideFromLeft;
140
+ case "right":
141
+ return styles$1.slideFromRight;
142
+ case "top":
143
+ return styles$1.slideFromTop;
144
+ case "bottom":
145
+ return styles$1.slideFromBottom;
146
+ default:
147
+ return core.exhaustSwitchCase(slideFrom, styles$1.slideFromLeft);
148
+ }
134
149
  };
135
150
 
136
151
  var style = { overlay: { justifyContent: "center" } };
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/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","../src/components/modal/ModalFooter.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 ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\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 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 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 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\";\nimport cx from \"classnames\";\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends BaseModalProps, ModalHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: 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 footer,\n disableStickyFooter = false,\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 {footer && (\n <Box\n className={cx(styles.footer, {\n [styles.stickyFooter]: !disableStickyFooter,\n })}\n >\n {footer}\n </Box>\n )}\n </BaseModal>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\n\nexport const ModalFooter: React.FC = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n"],"names":["React","ReactModal","styles","Draggable","cx","Column","Box","Spinner","Spacing","Row","Icon","Indent","Heading","Txt","FlatButton","faTimes"],"mappings":"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"}
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","../src/components/modal/ModalFooter.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 ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\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 ReactModal from \"react-modal\";\nimport cx from \"classnames\";\nimport styles from \"./Drawer.module.css\";\nimport { exhaustSwitchCase, FlattenUnion } from \"@stenajs-webui/core\";\n\nexport type SlideFrom = SlideFromLeftRight | SlideFromTopBottom;\nexport type SlideFromLeftRight = \"left\" | \"right\";\nexport type SlideFromTopBottom = \"top\" | \"bottom\";\n\nexport type DrawerProps = DrawerBaseLeftRight | DrawerBaseTopBottom;\n\ninterface DrawerBaseLeftRight extends DrawerBaseProps {\n width?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('left'|'right')}\n */\n slideFrom?: SlideFromLeftRight;\n}\n\ninterface DrawerBaseTopBottom extends DrawerBaseProps {\n height?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('top'|'bottom')}\n */\n slideFrom?: SlideFromTopBottom;\n}\n\ninterface DrawerBaseProps\n extends Omit<\n ReactModal.Props,\n | \"closeTimeoutMS\"\n | \"portalClassName\"\n | \"overlayClassName\"\n | \"className\"\n | \"style\"\n | \"parentSelector\"\n > {\n background?: string;\n zIndex?: number;\n onRequestClose?: () => void;\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 background,\n zIndex,\n children,\n slideFrom = \"left\",\n portalTarget,\n ...reactModalProps\n}) => {\n const { height, width } = reactModalProps as FlattenUnion<DrawerProps>;\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(styles.content, getClassNameForSlide(slideFrom)),\n afterOpen: styles.afterOpen,\n beforeClose: styles.beforeClose,\n }}\n style={{ content: { width, height, background }, overlay: { zIndex } }}\n parentSelector={portalTarget ? () => portalTarget : undefined}\n {...reactModalProps}\n >\n {children}\n </ReactModal>\n );\n};\n\nconst getClassNameForSlide = (slideFrom: SlideFrom): string => {\n switch (slideFrom) {\n case \"left\":\n return styles.slideFromLeft;\n case \"right\":\n return styles.slideFromRight;\n case \"top\":\n return styles.slideFromTop;\n case \"bottom\":\n return styles.slideFromBottom;\n default:\n return exhaustSwitchCase(slideFrom, styles.slideFromLeft);\n }\n};\n","import * as React from \"react\";\nimport 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 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\";\nimport cx from \"classnames\";\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends BaseModalProps, ModalHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: 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 footer,\n disableStickyFooter = false,\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 {footer && (\n <Box\n className={cx(styles.footer, {\n [styles.stickyFooter]: !disableStickyFooter,\n })}\n >\n {footer}\n </Box>\n )}\n </BaseModal>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\n\nexport const ModalFooter: React.FC = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n"],"names":["React","ReactModal","styles","Draggable","cx","exhaustSwitchCase","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": "15.4.0",
3
+ "version": "15.5.1",
4
4
  "description": "",
5
5
  "author": "mattias800",
6
6
  "license": "MIT",
@@ -27,9 +27,9 @@
27
27
  "deploy": "gh-pages -d example/build"
28
28
  },
29
29
  "dependencies": {
30
- "@stenajs-webui/core": "15.4.0",
31
- "@stenajs-webui/elements": "15.4.0",
32
- "@stenajs-webui/theme": "15.4.0",
30
+ "@stenajs-webui/core": "15.5.1",
31
+ "@stenajs-webui/elements": "15.5.1",
32
+ "@stenajs-webui/theme": "15.5.1",
33
33
  "@types/react-modal": "^3.13.1",
34
34
  "classnames": "^2.3.1",
35
35
  "react-draggable": "^4.4.2",
@@ -59,5 +59,5 @@
59
59
  "files": [
60
60
  "dist"
61
61
  ],
62
- "gitHead": "3e4955c1bfbcf6ea141174e0b478282e72cd92dd"
62
+ "gitHead": "534b0a55248dbeaaf593667cdc659d806b758e4f"
63
63
  }